Floating-Point to Fixed-Point Conversion for Formal Verification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing electronic design verification methods face challenges in handling floating-point hardware, as Boolean representations for formal engines like SAT and BDD are difficult to implement and debug, especially in mixed-signal environments where analog and digital variables interact.
Innovation Solution
Converting floating-point variables to fixed-point variables, allowing the use of formal engines like SAT and BDD engines to process the electronic design, and enabling user-configurable fixed-point implementations to handle both integer and real variables effectively.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If floating-point variables are used in electronic design verification, then the design can represent real-world analog signals and mixed-signal environments accurately, but the Boolean representations for formal engines become extremely difficult to implement and debug
Solution Approach 1:
The patent applies parameter changes by converting floating-point variables to fixed-point variables with specific precision and range parameters. This transformation maintains the essential behavior of floating-point numbers while expressing them in a format compatible with formal verification engines, thereby resolving the contradiction between representation accuracy and engine compatibility.
Solution Approach 2:
The patent introduces fixed-point representation as an intermediary between floating-point variables and formal engines. This intermediary layer translates the difficult-to-handle floating-point Boolean representations into simpler fixed-point forms that formal engines can process, while preserving the semantic meaning of the original floating-point values.
2Adaptability or versatility
If floating-point hardware is used, then mixed-signal environments can be modeled accurately, but the analogous Boolean representations for formal engines are extremely difficult to implement
Solution Approach 1:
The patent transforms floating-point parameters into fixed-point parameters, converting the continuous analog domain into a discrete digital domain that formal engines can handle. This parameter transformation enables mixed-signal environment modeling while making Boolean representations tractable and implementable.
Solution Approach 2:
The patent substitutes the complex Boolean mechanics of floating-point verification with a simplified fixed-point representation system. This replacement maintains the ability to verify mixed-signal designs while using formal engine mechanisms that are simpler to implement and debug.
3Productivity
If fixed-point implementation is used, then formal engines can process the electronic design efficiently, but the fixed-point implementation details must be configured and adjusted
Solution Approach 1:
The patent performs preliminary conversion of floating-point variables to fixed-point variables before formal verification. This preliminary action prepares the design in advance for efficient formal engine processing, establishing the fixed-point representation once and reusing it throughout the verification process to maintain high productivity.
Solution Approach 2:
The patent implements self-service through automatic or semi-automatic generation of fixed-point implementation details based on the original floating-point design. This reduces the manual configuration burden while maintaining the benefits of fixed-point processing efficiency.
Data Source
AI summary
The present disclosure relates to a computer-implemented method for electronic design verification. The method may include providing, using one or more processors, an electronic design having at least one floating point variable associated therewith. The method may further include converting the at least one floating point variable of the electronic design to a fixed point variable to generate a fixed point implementation of the electronic design. The method may also include processing, using a formal engine, the fixed point implementation of the electronic design.


