Processor Verification Using Overlapping Translation Tables

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Verifying the correct behavior of a target processor during context-switches and ensuring the usage of the correct translation table for address translation is challenging, especially in multi-core processors and pre-silicon verification where the processor is not yet available for operation.

Innovation Solution

A method involving the generation of a modified test template with overlapping translation tables to identify bugs in context changes, allowing for efficient verification of the Memory Management Unit (MMU) and Translation Lookup Buffer (TLB) without requiring a full-fledged Operating System, using a test template with directives for different contexts and translation tables.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional testing methods are used for processor verification, then the testing process is simple to implement, but the verification quality is insufficient and bugs may be missed

Engineering Contradiction:
Improveverification qualityVSAvoidtesting complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-defining multiple translation tables and context configurations in the test template before execution. The test template预先 specifies different contexts (e.g., user mode, kernel mode, interrupt context) and their corresponding translation tables, allowing the processor to be tested for context-switching behavior without requiring a full operating system environment. This preparatory structuring enables comprehensive verification while keeping the test harness relatively simple.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent utilizes parameter changes by systematically varying context parameters (CPU mode, privilege level, interrupt state) and translation table parameters (page tables, address space identifiers) during test execution. The test template defines multiple contexts with different parameter combinations, and the verification process dynamically switches between these parameter sets to test the processor's context-switching logic and translation table selection mechanisms.

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If comprehensive testing of context switches and translation tables is performed, then bug detection capability is improved, but the testing time increases significantly

Engineering Contradiction:
Improvebug detection capabilityVSAvoidtesting time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent applies partial action by focusing testing efforts on specific critical functions rather than exhaustive system-wide testing. The test template selectively tests context-switching behavior and translation table usage in key scenarios (mode transitions, interrupt handling, task switching) without requiring a complete operating system. This targeted approach achieves high bug detection capability for MMU and TLB operations while significantly reducing testing time compared to full-system verification.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

By pre-defining test cases and translation table configurations in the test template, the patent eliminates the time-consuming setup phase that would otherwise be required during actual testing. The contexts and translation tables are prepared in advance, allowing the verification process to directly execute comprehensive context-switching tests without dynamic configuration overhead.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If a full Operating System is used for processor verification, then the testing environment is realistic and comprehensive, but the setup complexity and resource requirements increase

Engineering Contradiction:
Improvetesting realismVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts and isolates the specific verification objectives (context-switching behavior and translation table usage) from the complete operating system environment. By creating a minimal test template that contains only the essential context definitions and translation table configurations needed to test MMU and TLB operations, the patent achieves realistic testing of these specific functions without the overhead and complexity of a full operating system kernel, drivers, and system services.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent segments the verification process into independent, modular test cases defined in the test template. Each context and translation table configuration is a separate, self-contained unit that can be independently verified. This segmentation allows comprehensive testing of context-switching logic by combining different context segments in various sequences, achieving operating-system-level realism for MMU verification while maintaining manageable system complexity through modular test structure.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11200126B2Utilizing translation tables for testing processors
Publication Date: 2021.12.14 MIPS HLDG INC
  • US11200126B2 patent drawing
  • US11200126B2 patent drawing
  • US11200126B2 patent drawing

AI summary

A method, apparatus and a product for utilizing translation tables for testing processors. The method is used for testing a target processor that utilizes different translation tables to translate virtual addresses to physical addresses. The method comprises obtaining a test template that comprises directives to be executed in different contexts, during each of which a different translation table is utilized to translate virtual addresses to physical addresses. The translation tables to be used by the target processor in the different contexts are determined, so that the translation tables overlap, at least in part.