CA2516347A1 - Hdl co-simulation in a high-level modeling system - Google Patents

Hdl co-simulation in a high-level modeling system Download PDF

Info

Publication number
CA2516347A1
CA2516347A1 CA002516347A CA2516347A CA2516347A1 CA 2516347 A1 CA2516347 A1 CA 2516347A1 CA 002516347 A CA002516347 A CA 002516347A CA 2516347 A CA2516347 A CA 2516347A CA 2516347 A1 CA2516347 A1 CA 2516347A1
Authority
CA
Canada
Prior art keywords
hdl
states
hlms
components
data value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CA002516347A
Other languages
French (fr)
Other versions
CA2516347C (en
Inventor
Roger B. Milne
L. James Hwang
Jeffrey D. Stroomer
Nabeel Shirazi
Haibing Ma
Jonathan B. Ballagh
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xilinx Inc
Original Assignee
Xilinx, Inc.
Roger B. Milne
L. James Hwang
Jeffrey D. Stroomer
Nabeel Shirazi
Haibing Ma
Jonathan B. Ballagh
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xilinx, Inc., Roger B. Milne, L. James Hwang, Jeffrey D. Stroomer, Nabeel Shirazi, Haibing Ma, Jonathan B. Ballagh filed Critical Xilinx, Inc.
Publication of CA2516347A1 publication Critical patent/CA2516347A1/en
Application granted granted Critical
Publication of CA2516347C publication Critical patent/CA2516347C/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2117/00Details relating to the type or aim of the circuit design
    • G06F2117/08HW-SW co-design, e.g. HW-SW partitioning

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Method and apparatus for simulating operations of a circuit design that includes high-level components and HDL components. The high-level components of the design are simulated in a high-level modeling system (HLMS), and the HDL components of the design are simulated with an HDL simulator. Data values are converted from a data type of the HLMS to a logic vector compatible with the HDL simulator for each data value to be input to the HDL simulator, and a logic vector is converted from the HDL simulator to a data value of a data type compatible with the HLMS for each logic vector output from the HDL
simulator. Events are scheduled for input to the HDL simulator as a function of the time of HLMS events and a maximum response time of the HDL components.

Claims (13)

1. A method for simulating operations of a circuit design that includes high-level components and one or more HDL components, comprising:
simulating the high-level components of the design in a high-level modeling system (HLMS);
co-simulating the one or more HDL components of the design with an HDL simulator;
converting a data value from a data type of the HLMS
to a logic vector compatible with the HDL simulator for each data value to be input to the HDL simulator;
converting a logic vector from the HDL simulator to a data value of a data type compatible with the HLMS for each logic vector output from the HDL simulator; and scheduling an event for the HDL simulator as a function of a time of at least one HLMS event and a maximum response time of at least one HDL component.
2. The method of claim 1, wherein the HDL components support a set of signal states, the method further comprising:
implementing a set of states for each data type of the high-level components, one or more of the sets of states including a non-representable state;
for states of a set of output signals of the HDL
components that are representable as a data value in the high-level components, setting an output data value to a value corresponding to the states of the set of output signals;
for states of a set of output signals of the HDL
components that are not representable as a data value in the high-level components, setting the output data value to a non-representable state; and propagating non-representable states of data values in simulating the high-level components.
3. The method of claim 2, further comprising:
translating states of the output signals to a translated set of states according to a map of the set of HDL signal states to a set of intermediate states; and setting the output data value to a non-representable state if the state of at least one signal in the translated set of states is equal to a predetermined value.
4. The method of claim 2, further comprising:
translating states of the output signals to a translated set of states according to a map of the set of HDL signal states to a set of intermediate states; and signaling an error to the HLMS if the state of at least one signal in the translated set of states is equal to a predetermined value.
5. The method of claim 2, further comprising:
translating states of the output signals to a translated set of states according to a map of the set of HDL signal states to a set of intermediate states; and converting the translated set of states to an output value if the states of the signals in the translated set of states are representable as a data value in the HLMS.
6. The method of claim 2, further comprising if a data value to be input to the HDL simulator is in a non-representable state, setting states of elements in a logic vector to an analogous signal state.
7. The method of claim 1, further comprising:
maintaining an HLMS current time and an HDL
simulator current time; and selectively advancing the HDL simulator current time on a plurality of timescales, wherein at least a first one of the timescales is a function of the maximum response time of the HDL components, and at least a second one of the timescales is a function of the maximum response time and a maximum number of events queued to the HDL simulator during an HLMS timeslot.
8. The method of claim 1, further comprising:
maintaining an HLMS current time and an HDL
simulator current time, wherein each unit of HLMS time corresponds to K units of HDL simulator time, and K
satisfies the inequality K*.DELTA.Q > N*.DELTA.t MRT, where .DELTA.Q is a selected minimum period of time between HLMS events, N is an expected maximum number of events of the HDL simulator in any one HLMS timeslot, and .DELTA.t MRT is greater than the maximum response time;
advancing the HDL simulator current time by a period of time that is equal or greater than the maximum response time; and advancing the HLMS current time after processing all events scheduled in an HLMS timeslot and if the HDL
simulator current time is less than K times the HLMS
current time, then advancing the HDL simulator current time to K times the HLMS current time.
9. The method of claim 8, wherein the HDL components support a set of signal states, the method further comprising:
implementing a set of states for each data type of the high-level components, one or more of the sets of states including a non-representable state;
for states of a set of output signals of the HDL
components that are representable as a data value in the high-level components, setting an output data value to a value corresponding to the states of the set of output signals;
for states of a set of signals of the HDL components that are not representable as a data value in the high-level components, setting the output data value to a non-representable state; and propagating non-representable states of data values in simulating the high-level components.
10. An apparatus for simulating operations of a circuit design that includes high-level components and one or more HDL components, comprising:
means for simulating the high-level components of the design in a high-level modeling system (HLMS);
means for co-simulating the one or more HDL
components of the design with an HDL simulator;
means for converting a data value from a data type of the HLMS to a logic vector compatible with the HDL
simulator for each data value to be input to the HDL
simulator;
means for converting a logic vector from the HDL
simulator to a data value of a data type compatible with the HLMS for each logic vector output from the HDL
simulator; and means for scheduling events for input to the HDL
simulator as a function of a data rate of the HLMS and response time of the HDL components.
11. A high level modeling system (HLMS) adapted to co-simulate with an HDL simulator operations of a circuit design that includes high-level components and one or more HDL components, comprising:
a first type converter configured to convert a data value from a data type of the HLMS to a logic vector compatible with the HDL simulator for each data value to be input to the HDL simulator;
a second type converter configured to convert a logic vector from the HDL simulator to a data value of a data type compatible with the HLMS for each logic vector output from the HDL simulator; and a co-simulation event scheduler configured to schedule events for input to the HDL simulator as a function of a data rate of the HLMS and response time of the HDL components.
12. The system of claim 11, wherein the HDL components support a set of signal states, the system further comprising:
wherein the HLMS is configured to implement a set of states for each data type of the high-level components, one or more of the sets of states including a non-representable state;
the second type converter is further configured to, for states of a set of output signals of the HDL
components that are representable as a data value in the high-level components, set an output data value to a value corresponding to the states of the set of output signals;
the second type converter is further configured to, for states of a set of signals of the HDL components that are not representable as a data value in the high-level components, set the output data value to a non-representable state; and the HLMS is further configured to propagate non -representable states of data values in simulating the high-level components.
13. The system method of claim 12, wherein the first type converter is further configured to, if a data value to be input to the HDL simulator is in a non-representable state, set states of elements in a logic vector to an analogous signal state.
CA2516347A 2003-03-14 2004-03-12 Hdl co-simulation in a high-level modeling system Expired - Lifetime CA2516347C (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/389,161 US7203632B2 (en) 2003-03-14 2003-03-14 HDL co-simulation in a high-level modeling system
US10/389,161 2003-03-14
PCT/US2004/007824 WO2004084027A2 (en) 2003-03-14 2004-03-12 Mixed-level hdl/high-level co-simulation of a circuit design

Publications (2)

Publication Number Publication Date
CA2516347A1 true CA2516347A1 (en) 2004-09-30
CA2516347C CA2516347C (en) 2011-01-04

Family

ID=32962213

Family Applications (1)

Application Number Title Priority Date Filing Date
CA2516347A Expired - Lifetime CA2516347C (en) 2003-03-14 2004-03-12 Hdl co-simulation in a high-level modeling system

Country Status (4)

Country Link
US (1) US7203632B2 (en)
EP (1) EP1604312B1 (en)
CA (1) CA2516347C (en)
WO (1) WO2004084027A2 (en)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7065481B2 (en) * 1999-11-30 2006-06-20 Synplicity, Inc. Method and system for debugging an electronic system using instrumentation circuitry and a logic analyzer
US7072818B1 (en) 1999-11-30 2006-07-04 Synplicity, Inc. Method and system for debugging an electronic system
US7222315B2 (en) 2000-11-28 2007-05-22 Synplicity, Inc. Hardware-based HDL code coverage and design analysis
US7827510B1 (en) 2002-06-07 2010-11-02 Synopsys, Inc. Enhanced hardware debugging with embedded FPGAS in a hardware description language
US7184946B2 (en) * 2003-06-19 2007-02-27 Xilinx, Inc. Co-simulation via boundary scan interface
US7873506B2 (en) * 2003-06-30 2011-01-18 Agere Systems Inc. Simulation framework with support for multiple integrated circuits having potentially differing characteristics
US7840949B2 (en) * 2003-11-03 2010-11-23 Ramal Acquisition Corp. System and method for data transformation using dataflow graphs
US7207027B2 (en) * 2003-12-30 2007-04-17 Xilinx, Inc. Algorithmic and dataflow graphical representation of MATLAB
US7284225B1 (en) 2004-05-20 2007-10-16 Xilinx, Inc. Embedding a hardware object in an application system
US7433813B1 (en) 2004-05-20 2008-10-07 Xilinx, Inc. Embedding a co-simulated hardware object in an event-driven simulator
US7346481B1 (en) * 2004-08-31 2008-03-18 Xilinx, Inc. Hardware co-simulation breakpoints in a high-level modeling system
US7437280B1 (en) * 2004-12-16 2008-10-14 Xilinx, Inc. Hardware-based co-simulation on a PLD having an embedded processor
US7386814B1 (en) 2005-02-10 2008-06-10 Xilinx, Inc. Translation of high-level circuit design blocks into hardware description language
US8036873B2 (en) * 2005-02-28 2011-10-11 Synopsys, Inc. Efficient clock models and their use in simulation
US7346482B1 (en) * 2005-03-08 2008-03-18 Xilinx, Inc. Shared memory for co-simulation
US7493578B1 (en) * 2005-03-18 2009-02-17 Xilinx, Inc. Correlation of data from design analysis tools with design blocks in a high-level modeling system
US7343572B1 (en) 2005-03-31 2008-03-11 Xilinx, Inc. Vector interface to shared memory in simulating a circuit design
US7685554B1 (en) * 2005-07-20 2010-03-23 Xilinx, Inc. Determination of data rate and data type in a high-level electronic design
US7496869B1 (en) 2005-10-04 2009-02-24 Xilinx, Inc. Method and apparatus for implementing a program language description of a circuit design for an integrated circuit
US7363599B1 (en) 2005-10-04 2008-04-22 Xilinx, Inc. Method and system for matching a hierarchical identifier
US7895564B1 (en) * 2005-11-08 2011-02-22 Xilinx, Inc. Using XTables to communicate in a high level modeling system
US7797677B1 (en) * 2005-11-08 2010-09-14 Xilinx, Inc. Using scripts for netlisting in a high-level modeling system
US8402409B1 (en) 2006-03-10 2013-03-19 Xilinx, Inc. Method and apparatus for supporting run-time reconfiguration in a programmable logic integrated circuit
US7380232B1 (en) 2006-03-10 2008-05-27 Xilinx, Inc. Method and apparatus for designing a system for implementation in a programmable logic device
US7761272B1 (en) 2006-03-10 2010-07-20 Xilinx, Inc. Method and apparatus for processing a dataflow description of a digital processing system
GB0619537D0 (en) * 2006-10-04 2006-11-15 Mephisto Design Automation Nv Method and apparatus for the simultaneous multi-level and/or multi-simulator design optimization of electronic circuits
US8284772B1 (en) * 2007-05-03 2012-10-09 Xilinx, Inc. Method for scheduling a network packet processor
US8600722B1 (en) * 2007-05-22 2013-12-03 Xilinx, Inc. Method and apparatus for providing program-based hardware co-simulation of a circuit design
US7904850B2 (en) * 2007-11-30 2011-03-08 Cebatech System and method for converting software to a register transfer (RTL) design
US8239850B2 (en) * 2007-12-14 2012-08-07 GM Global Technology Operations LLC Computer-implemented method of releasing battery state estimation software
JP2009193165A (en) * 2008-02-12 2009-08-27 Toshiba Corp Debugging device and method
US8265917B1 (en) * 2008-02-25 2012-09-11 Xilinx, Inc. Co-simulation synchronization interface for IC modeling
US20090222253A1 (en) * 2008-03-03 2009-09-03 Thomas Jay Sheffler System and Method for Switch-Level Linear Simulation Using Verilog
US8079013B1 (en) * 2008-12-19 2011-12-13 Xilinx, Inc. Hardware description interface for a high-level modeling system
TW201301135A (en) * 2011-06-16 2013-01-01 Hon Hai Prec Ind Co Ltd System and method for converting component data
US10176276B2 (en) * 2012-09-05 2019-01-08 Cadence Design Systems, Inc. Determining an optimal global quantum for an event-driven simulation
US10191828B2 (en) * 2015-05-07 2019-01-29 Vmware, Inc. Methods and apparatus to control a monitoring agent in a computing environment
US10067854B2 (en) * 2016-10-25 2018-09-04 Xilinx, Inc. System and method for debugging software executed as a hardware simulation
US10409321B2 (en) 2017-02-03 2019-09-10 Raytheon Company Simulation system with clock and messaging synchronization
US10949586B1 (en) * 2020-07-01 2021-03-16 Xilinx, Inc. Post-synthesis insertion of debug cores

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5572437A (en) * 1990-04-06 1996-11-05 Lsi Logic Corporation Method and system for creating and verifying structural logic model of electronic design from behavioral description, including generation of logic and timing models
US5493508A (en) * 1994-06-01 1996-02-20 Lsi Logic Corporation Specification and design of complex digital systems
EP1059593A3 (en) 1999-06-07 2003-09-10 Easics N.V. Deterministic level model and method
US20020049576A1 (en) * 2000-07-05 2002-04-25 Meyer Steven J. Digital and analog mixed signal simulation using PLI API
US7260517B2 (en) * 2001-06-17 2007-08-21 Brian Bailey Synchronization of multiple simulation domains in an EDA simulation environment
US7110935B1 (en) 2001-10-16 2006-09-19 Xilinx, Inc. Method and system for modeling and automatically generating an electronic design from a system level environment

Also Published As

Publication number Publication date
EP1604312B1 (en) 2011-06-15
CA2516347C (en) 2011-01-04
US7203632B2 (en) 2007-04-10
US20040181385A1 (en) 2004-09-16
WO2004084027A3 (en) 2005-09-29
EP1604312A2 (en) 2005-12-14
WO2004084027A2 (en) 2004-09-30

Similar Documents

Publication Publication Date Title
CA2516347A1 (en) Hdl co-simulation in a high-level modeling system
US20150022236A1 (en) Apparatus and Methods for Time-Multiplex Field-Programmable Gate Arrays
EP3407145B1 (en) Fpga-based square-wave generator and square-wave generation method
US7973584B2 (en) Waveform generator
US20030018462A1 (en) Multi-clock system simulation
US8156452B1 (en) Method and apparatus for importing hardware description language into a system level design environment
Lipasti et al. End-to-end stochastic computing
BenSaleh et al. Field programmable gate array realization of microprogrammed controller based parallel digital FIR filter architecture
Grimm et al. Refinement of mixed-signal systems with SystemC
CN110764492B (en) Multichannel switching value signal generating device and SOE event simulator
Guillaud et al. From basic concept to real-time implementation: prototyping WCDMA downlink receiver algorithms-a case study
Note et al. Rapid prototyping of DSP systems: requirements and solutions
Karner et al. Heterogeneous co-simulation platform for the efficient analysis of FlexRay-based automotive distributed embedded systems
CN102004811A (en) Simulation test method and device of chip circuit
US8417505B1 (en) System and method for simulating a transmission gate network and a bi-directional connect module within an analog and mixed-signal circuit
Alecsa et al. An FPGA implementation of the time domain deadbeat algorithm for control applications
SU1543417A1 (en) Device for simulating of node of electric circuit
Brich et al. The digital signal processing using fpga
Schirner et al. Accurate yet fast modeling of real-time communication
Sobot et al. Behavioral modeling of continuous time/spl Delta//spl Sigma/modulators
Padma et al. Design & Development of micro-controlled system using VHDL with the help of UART Tx & Rx
JP2005165747A (en) Verification system
CN115549641A (en) Design method of full-rate symmetric multi-channel FIR filter
Ameur et al. FPGA-based design Δ–Σ audio D/A converter with a resolution clock generator enhancement circuit
Subramanian et al. Staying ahead of the game in silicon for digital mobile communications

Legal Events

Date Code Title Description
EEER Examination request