Method to analyze an analog circuit design with a verification program
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-017/50
G01R-031/28
출원번호
UP-0334063
(2006-01-17)
등록번호
US-7643979
(2010-02-11)
발명자
/ 주소
Hong, Qiang
Jones, Kevin D.
Wong, Paul
출원인 / 주소
Rambus Inc.
대리인 / 주소
Hickman Palermo Truong & Becker LLP
인용정보
피인용 횟수 :
4인용 특허 :
11
초록▼
Data structures and algorithms are provided to automatically generate an analog stimulus to apply to a simulation of the analog DUT. A constraint solver is provided to determine suitable values to use in the stimulus generation. The suitable values are random values within a range of allowed values.
Data structures and algorithms are provided to automatically generate an analog stimulus to apply to a simulation of the analog DUT. A constraint solver is provided to determine suitable values to use in the stimulus generation. The suitable values are random values within a range of allowed values. For example, a number of different stimuli are generated for successive application to the analog DUT, each with a different magnitude within a range of allowed magnitudes. Data structures and algorithms are provided to monitor analog electrical properties at nodes of the analog DUT. Data structures and algorithms are provided to define constraints on the analog electrical properties and determine whether the constraints were violated. Data structures and algorithms are provided to define simulation coverage conditions in the analog domain and determine whether the defined analog domain coverage conditions have been satisfied.
대표청구항▼
What is claimed is: 1. A method comprising performing a machine-executed operation involving instructions, wherein the machine-executed operation is at least one of: A) sending the instructions over transmission media; B) receiving the instructions over transmission media; C) storing the instructio
What is claimed is: 1. A method comprising performing a machine-executed operation involving instructions, wherein the machine-executed operation is at least one of: A) sending the instructions over transmission media; B) receiving the instructions over transmission media; C) storing the instructions onto a machine-readable storage medium; and D) executing the instructions; wherein the instructions are instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of: executing a verification program; wherein the verification program includes a definition of an analog source; wherein execution of the verification program generates a stimulus that represents a signal of the analog source; applying the stimulus to a simulation of at least a portion of an electronic circuit to generate at least one simulation result; providing the at least one simulation result to the verification program; and the verification program performing at least one of: checking whether the simulation result complies with an expected simulation result; checking whether an electrical property, based on the simulation result, has a value that violates a constraint on the electrical property specified in the verification program; and determining whether the simulation resulted in occurrence of a specified simulation condition specified in the verification program. 2. The method of claim 1 wherein: the step of generating a stimulus includes generating a stimulus that has the one or more attributes. 3. The method of claim 2 wherein: one of the attributes is a range; and the step of generating a stimulus includes generating a value within the range. 4. The method of claim 3 wherein: the step of generating a stimulus is repeatedly performed for a series of simulations; and for each simulation in the series of simulations, a different value within the range is generated for the stimulus. 5. The method of claim 4 wherein the different values are different magnitudes for the stimulus. 6. The method of claim 5 wherein the different values are randomly distributed within the range. 7. The method of claim 2 wherein the analog source is a first analog source and the stimulus is a first stimulus; and wherein: one of the attributes defines a relationship between the first analog source and a second analog source that is defined in the verification program; and wherein execution of the verification program generates a second stimulus that represents a signal of the second analog source, wherein the first stimulus and the second stimulus are related to one another as specified by the defined relationship between the first analog source and the second analog source. 8. The method of claim 2 wherein: one of the attributes identifies a noise; and the step of generating a stimulus includes generating noise values representing the identified noise and incorporating the noise values into the stimulus. 9. The method of claim 2 wherein: one of the attributes is at least one bounding constraint; and the step of generating a stimulus includes solving a constraint problem to determine values to assign to the stimulus. 10. The method of claim 2, wherein: the set of one or more attributes comprises an attribute that specifies a waveform shape. 11. The method of claim 1 wherein execution of the verification program solves a constraint problem to determine values to assign to the stimulus. 12. The method of claim 1 wherein the execution of the verification program solves a constraint problem based on a plurality of constraints. 13. A method as recited in claim 1, further comprising: applying the stimulus to a model of at least a portion of the electronic circuit to generate the expected simulation result. 14. A method as recited in claim 1, wherein the expected simulation result comprises a range of values. 15. A method as recited in claim 14, wherein the checking whether the simulation complies with an expected simulation result comprises determining if the at least one simulation result falls within the range of values. 16. A method as recited in claim 1: wherein the stimulus that represents a signal of an analog source is an analog stimulus and the simulation of at least a portion of the electronic circuit is an analog simulation; wherein execution of the verification program generates a digital stimulus that represents a signal of a digital source that is defined in the verification program using the high level verification language; and wherein the instructions cause the one or more processors to perform the further step of applying the digital stimulus to a digital simulation of at least a portion of the electronic circuit to generate at least one simulation result. 17. The method of claim 1, wherein the analog source is a voltage source. 18. The method of claim 1, wherein the analog source is a current source. 19. The method of claim 1, wherein the specified simulation condition is defined in the verification program as a range of values. 20. The method of claim 1, wherein the specified simulation condition is defined in the verification program as a coverage space. 21. The method of claim 1, wherein the specified simulation condition is based on a plurality of parameters. 22. The method of claim 1, wherein the verification program is written in a high level verification language. 23. The method of claim 22, wherein the high level verification language is adapted to: generate a variety of stimuli to successively apply to a series of simulations of an analog device under test; monitor simulation results of the series of simulations; and track what simulation conditions were covered when the variety of stimuli are applied to the series of simulations. 24. A method of simulating a circuit that includes an analog portion, the method including: executing a verification program; wherein the verification program includes a definition of a data object; wherein the definition specifies one or more attributes of the data object; wherein execution of the verification program causes instantiation of a data structure based on the definition; wherein the data structure has fields that correspond to the attributes specified by the definition; during simulation of the circuit, determining a value of an electrical property associated with the analog portion of the circuit; and performing at least one of: a) assigning the value of the electrical property to a field of the data structure; b) reading a value from a field of the data structure to determine a constraint on the value of the electrical property; and generating an indication of a violation if the value of the electrical property associated with the analog portion violates the constraint; and c) reading a value from a field of the data structure to determine a set of one or more coverage conditions; detecting whether the value of the electrical property associated with the analog portion corresponds to a coverage condition within the set of one or more coverage conditions; and storing an indication that the coverage condition has been satisfied. 25. A method as recited in claim 24, wherein the constraint comprises a range of values and wherein the generating an indication of a violation comprises determining if the value of the electrical property is within the range of values. 26. A method as recited in claim 24, wherein the coverage condition comprises a coverage space and wherein the detecting whether the value of the electrical property of the circuit corresponds to a coverage condition comprises determining if the value of the electrical property is within the coverage space. 27. A method as recited in claim 24, further comprising: detecting whether the value of the electrical property and another property corresponds to a particular coverage condition within the set of one or more coverage conditions; and storing an indication that the particular coverage condition has been satisfied. 28. A method as recited in claim 24, wherein the electrical property includes one of: an output voltage swing, output impedance, a rise time, a fall time, a voltage ringing, a phase margin, a voltage gain, a current gain, a power dissipation, a jitter, and a delay. 29. The method of claim 24, wherein the verification program is written in a high level verification language. 30. The method of claim 29, wherein the high level verification language is adapted to: generate a variety of stimuli to successively apply to a series of simulations of an analog device under test; monitor simulation results of the series of simulations; and track what simulation conditions were covered when the variety of stimuli are applied to the series of simulations. 31. A method as recited in claim 24, wherein the data object is a monitoring data object. 32. A method as recited in claim 24, wherein the data object is one of a monitoring data object, an event detection data object, and a coverage data object.
Won Sub Kim ; Valeria Maria Bertacco ; Daniel Marcos Chapiro ; Sandro Hermann Pintz, Method and apparatus for determining expected values during circuit design verification.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.