Processor Tool Generation via Unified Model and EDA Automation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The manual redesign and verification of processor programming and simulation tools are prone to errors and lack completeness due to human involvement, leading to inefficiencies and potential inaccuracies.
Innovation Solution
A method utilizing an Electronic Design Automation (EDA) tool to automatically generate processor programming and simulation tools from a unified single model of the processor, incorporating instruction set and micro-architecture descriptions, and verify their correctness using a verification environment and random program generator.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If manual redesign and verification of processor programming and simulation tools is performed by human designers, then the tools can be re-designed with new features and functionality, but the process is prone to errors and lacks completeness
Solution Approach 1:
The system enables self-service through automatic verification where the verification environment autonomously generates test cases, executes them on both the processor and simulation tools, and compares results without human intervention. This automated self-verification eliminates manual errors while maintaining the ability to incorporate new features and functionality into the programming and simulation tools.
2Reliability
If manual verification is performed by executing applications and comparing results with expected values, then verification can be performed, but the process is time-consuming and lacks completeness
Solution Approach 1:
The verification environment performs preliminary actions by automatically generating comprehensive test cases and expected results before execution. The system pre-configures the verification environment with all necessary test scenarios, ensuring complete coverage without manual intervention during the actual verification process, thus reducing verification time while maintaining accuracy.
Solution Approach 2:
The verification process operates continuously through automated execution of test cases and immediate comparison of results. The system maintains continuous verification action by automatically iterating through multiple test cases, generating new test scenarios based on previous results, and providing ongoing feedback without manual interruption, thereby reducing total verification time while ensuring completeness.
3Productivity
If automated generation of programming and simulation tools is implemented from a single processor model, then productivity and consistency are improved, but the complexity of creating and verifying the model increases
Solution Approach 1:
The single processor model serves multiple functions simultaneously: it acts as the source for generating programming tools, simulation tools, and verification environments. This universal model consolidates all necessary information about the processor architecture, enabling one model to drive the entire toolchain and verification process, thereby improving productivity without proportionally increasing complexity.
Solution Approach 2:
The system implements feedback loops where the verification environment continuously monitors the generated programming and simulation tools, comparing their output against expected results. This feedback mechanism automatically identifies discrepancies and guides model refinement, reducing the perceived complexity by providing systematic guidance rather than requiring manual analysis of model correctness.
Data Source
Figure 1
Figure 2a
Figure 2b
AI summary
A method for a design of a processor's programming and/or simulation tools, comprising developing a single model of a processor from a group consisting of: the processor: a hardware description of the processor; and a processor's specifications confirmed to represent the processor and/or the hardware description; and generating automatically by an Electronic Design Automation tool the processor's programming and/or the simulation tools from the single model of the processor and a set of design parameters. The method further comprises verifying the processor's programming and/or simulation tools using verification application(s) and a reference entity.