US20080046228A1 - Emulation System - Google Patents
Emulation System Download PDFInfo
- Publication number
- US20080046228A1 US20080046228A1 US11/838,017 US83801707A US2008046228A1 US 20080046228 A1 US20080046228 A1 US 20080046228A1 US 83801707 A US83801707 A US 83801707A US 2008046228 A1 US2008046228 A1 US 2008046228A1
- Authority
- US
- United States
- Prior art keywords
- emulation
- data
- computers
- dut
- calculator
- 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
Links
- 238000012546 transfer Methods 0.000 claims abstract description 18
- 238000012360 testing method Methods 0.000 claims abstract description 6
- 238000004088 simulation Methods 0.000 claims description 14
- 238000000034 method Methods 0.000 claims description 9
- 239000000284 extract Substances 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 8
- 238000012795 verification Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 7
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000000700 radioactive tracer Substances 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/28—Error detection; Error correction; Monitoring by checking the correct order of processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3648—Software debugging using additional hardware
- G06F11/3652—Software debugging using additional hardware in-circuit-emulation [ICE] arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
Definitions
- the present disclosure relates to an emulation system, and more particularly, to an emulation system for distributed processing of emulation data.
- Verification is essential for completion of digital circuits.
- the verification determines whether a design circuit is normal. When the design circuit is abnormal, debugging is performed to correct the abnormal design circuit to be normal. Typically, the verification is performed using a software simulation or a hardware emulator.
- a simulation-based verification method is simple and inexpensive to perform, but needs a relatively large amount of time.
- an emulator-based verification method is complex and expensive to perform, but needs only a relatively small amount of time.
- FPGA field-programmable gate array
- the FPGA needs an additional circuit for extracting the state value of an important net or an important flip-flop in the design circuit.
- JTAG Joint Test Action Group
- an emulation system includes a controller, an emulation calculator including a user circuit and emulating the user circuit, an emulation storage unit storing emulation data of the user circuit emulated by the emulation calculator under the control of the controller, and an interface unit distributing and transferring the emulation data to a plurality of computers under the control of the controller.
- a computer readable medium embodying instructions executable by a processor performs a method for analyzing a device under test (DUT).
- the method includes storing emulation data of the DUT emulated by an emulation calculator under the control of a controller, and distributing and transferring the emulation data to a plurality of computers under the control of the controller, wherein the plurality of computers perform one of debugging and simulation.
- FIG. 1 is a block diagram of an emulation system according to an embodiment of the present invention
- FIG. 2 is a block diagram of an interface unit illustrated in FIG. 1 ;
- FIG. 3 is a block diagram of a DUT illustrated in FIG. 1 ;
- FIGS. 4 and 5 illustrate the structure and symbol of an NT illustrated in FIG. 3 ;
- FIG. 6 illustrates the format of emulation data illustrated in FIG. 1 ;
- FIG. 7 illustrates the segments of the DUT illustrated in FIG. 1 ;
- FIG. 8 is a flowchart illustrating an operation of the emulation system illustrated in FIG. 1 ;
- FIG. 9 is a block diagram of an emulation system according to another embodiment of the present invention.
- FIG. 1 is a block diagram of an emulation system according to an embodiment of the present invention.
- an emulation system 100 includes an emulation calculator 20 with a DUT 10 , a controller 30 , an emulation storage unit 40 , and an interface unit(s) 50 .
- Emulation result data is distributed across a plurality of computers 300 for storage.
- the computers 300 store data corresponding to the DUT 10 in a hardware description language (HDL) format. Accordingly, the computer 300 receives emulation result data and performs debugging or simulation.
- HDL hardware description language
- the emulation calculator 20 emulates the DUT 10 under the control of the controller 30 , and stores the emulation result data in the emulation storage unit 40 .
- the controller 30 transfers the emulation result data from the emulation storage unit 40 to the interface unit(s) 50 .
- the controller 30 transfers the emulation result data stored in the interface unit(s) 50 to the computer 300 .
- FIG. 2 is a block diagram of the interface unit 50 illustrated in FIG. 1 .
- the interface unit 50 includes a communication interface 41 and a data storage 42 .
- the emulation result data stored in the emulation storage unit 40 are temporarily stored in the data storage 42 and then transferred to the computer 300 through the communication interface 41 .
- FIG. 3 is a block diagram of the DUT 10 illustrated in FIG. 1 .
- the DUT 10 includes a plurality of combinational circuits and a plurality of flip-flops.
- the DUT 10 is segmented into spaces, e.g., a first segment Seg_ 1 , a second segment Seg_ 2 and a third segment Seg_ 3 .
- the first segment Seg_ 1 has no external connection, which is defined as a hard segment.
- the second segment Seg_ 2 and the third segment Seg_ 3 have a signal line crossing a boundary therebetween, which are defined as soft segments.
- the DUT is constructed in units of hard segments. Accordingly, a net tracer (NT) 5 is inserted in the signal line to make the soft segment into the hard segment.
- NT net tracer
- the DUT is constructed only with the hard segments.
- a multiplexed flip-flop may be used as the PFF.
- a multiplexer MUX
- MUX multiplexer
- the PFFs form a chain to extract a value inputted in the normal operation.
- FIGS. 4 and 5 illustrate the structure and symbol of the NT 5 illustrated in FIG. 3 , respectively.
- the NT 5 is used to extract the state value of a net of the DUT 10 , which is a data path except the flip-lops.
- the NT 5 is used to extract the state value of a net of a design circuit, to input a corrected state value into the net, or to input the previous state value of the net.
- the emulation calculator 20 activates a “Ten” signal and extracts the state value of the flip-flop through the TDo.
- the emulation calculator 20 activates the “Ten” signal and sets a “Ten_RB” signal to “1” to input the state value of the net through the TDi and to output the resulting value through an NDo.
- FIG. 6 illustrates the format of emulation data illustrated in FIG. 1 .
- emulation data 25 includes clock point data and emulation result data.
- the clock point data has information for reporting a clock frequency and a change in the clock frequency so that the DUT 10 is time-independent.
- the emulation result data includes the state values of the NT and the PFF so that the DUT 10 is space-independent.
- Emulation data 25 stored in each computer is one-to-one matched with the emulation storage unit 40 . Accordingly, the emulation data 25 need not to have the position information of the storage unit. If there is emulation data 25 generated by two or more other clocks, the emulation system 100 transfers the emulation data 25 to the computer 300 at every cycle.
- FIG. 7 illustrates the segments of a DUT 10 ′, similar to the DUT 10 illustrated in FIG. 1 .
- the emulation storage unit 40 stores emulation result data in units of segments. Because the computers 300 store emulation result data and clock-related information in units of segments, each computer 300 can perform debugging or simulation for a predetermined time in units of segments.
- the state value “1” of the NT and the PFF overlapping with the first segment Seg_ 1 and the second segment Seg_ 2 is stored in the first computer and the second computer. Accordingly, for time/space-dependent emulation, the first computer performs debugging and simulation on the first segment Seg_ 1 and the second computer performs debugging and simulation on the second segment Seg_ 2 .
- FIG. 8 is a flowchart illustrating an operation of the emulation system 100 illustrated in FIG. 1 .
- the computer 300 transfers the input data of the DUT 10 through the interface unit 50 to the emulation storage unit 40 in block S 100 .
- the controller 30 distributes input values corresponding to the segments of the DUT 10 .
- the emulation calculator 20 performs emulation on the DUT 10 .
- the emulation calculator 20 stores emulation data 25 in the emulation storage unit 40 under the control of the controller 30 .
- the controller 30 transfers the emulation data 25 in the emulation storage unit 40 through the interface unit 50 to the computer 300 .
- block S 150 the controller 30 determines if the transfer of the emulation data 25 to the computer 300 is completed. If the transfer of the emulation data 25 to the computer 300 is completed, the controller 30 proceeds to block S 160 ; and if the transfer of the emulation data 25 to the computer 300 is not completed, the controller 30 repeats block S 150 .
- the controller 30 determines if a new input value is transferred from the computer 300 to the emulation system 100 . If a new input value is transferred from the computer 300 to the emulation system 100 , the operation returns to block S 100 ; and if a new input value is not transferred from the computer 300 to the emulation system 100 , the operation is ended.
- the size of the emulation result data for every cycle of the emulation is typically about several tens of K bytes to several M bytes. Accordingly, when the state value data are to be transferred to the computer at every cycle, even though PCI2.0 is used for a high-speed interface with the computer, a data rate of 66 MHz is provided with 64 bits for each cycle. For example, an emulation speed of about 60.8 KHz needs to be provided for transfer of 32,000-bit data. Therefore, in the case of an emulation system that can start the next cycle only after completion of transfer of state value data to a computer for each cycle, a data transfer rate determines the speed of the emulation system.
- emulation data may be cumulatively stored in an internal memory of an emulator and the cumulatively stored emulation data may be simultaneously transferred to a computer. Because the internal memory of the emulator is limited in size, a large amount of emulation data cannot be stored in actual applications. Accordingly, the emulation data need to be transferred to the computer at every cycle or at every few cycles in order to reduce the size of the internal memory of the emulator. In order to efficiently use the small-size memory of the emulation system, it is preferable to substitute an emulation I/O distributor for the emulation storage unit.
- FIG. 9 is a block diagram of an emulation system according to another embodiment of the present invention.
- an emulation I/O distributor 140 is substituted for the emulation storage unit 40 illustrated in FIG. 1 .
- the emulation I/O distributor 140 includes a first-in-first-out (FIFO) memory and a time-driven module (TDM).
- FIFO first-in-first-out
- TDM time-driven module
- Emulation data stored in an emulation calculator 120 are stored in the FIFO memory under the control of a controller 130 .
- the emulation data stored in the FIFO memory are distributed by the TDM and transferred to an interface unit(s) 150 .
- the emulation data stored in the interface unit(s) 150 are transferred to a computer 300 under the control of the controller 130 .
- a user circuit (or a DUT) of the emulation system is divided into segments so that it is space-independent.
- emulation data contains clock-related information so that the user circuit is time-independent. Accordingly, the emulation system constructs emulation data to be time/space-independent, and distributes and transfers the time/space-independent emulation data to two or more computers distributedly. Therefore, the computer storing the distributed emulation data can perform debugging or simulation independently and also can increase the operation speed of the emulation system.
- the emulation I/O distributor makes it possible to transfer many emulation data from the emulation system to the external computer using the a small amount of memory in the emulation system.
- the present invention emulates the user circuit in a time/space independent manner and transfers the emulation result data to computers, thereby reducing the data transfer time and thus the operation speed of the emulation system. Accordingly, the debugging time and the verification time for the design circuit can be reduced effectively.
- distributed computers including the user circuit store the time/space-independent emulation data, thereby making it possible to perform debugging or simulation independently.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
Description
- This U.S. non-provisional patent application claims priority under 35 U.S.C. § 119 of Korean Patent Application No. 2006-77700, filed on Aug. 17, 2006, the entire contents of which are hereby incorporated by reference.
- 1. Technical Field
- The present disclosure relates to an emulation system, and more particularly, to an emulation system for distributed processing of emulation data.
- 2. Discussion of Related Art
- Verification is essential for completion of digital circuits. The verification determines whether a design circuit is normal. When the design circuit is abnormal, debugging is performed to correct the abnormal design circuit to be normal. Typically, the verification is performed using a software simulation or a hardware emulator.
- A simulation-based verification method is simple and inexpensive to perform, but needs a relatively large amount of time. On the other hand, an emulator-based verification method is complex and expensive to perform, but needs only a relatively small amount of time.
- Typically, commercial emulation methods use a field-programmable gate array (FPGA). For verification of a design circuit, the FPGA needs an additional circuit for extracting the state value of an important net or an important flip-flop in the design circuit. In an FPGA-based verification method, all the state values extracted by the additional circuit are stored in an internal memory and the data stored in the memory are read out using a Joint Test Action Group (JTAG), upon completion of emulation.
- In an emulation system, many simulation result data are transferred to a computer through only one high-speed computer interface. As the gate size of a device under test (DUT) increases, the amount of data needed for debugging increases. Therefore, in the emulation system, data transfer time increases with an increase in the data amount, which reduces an emulation speed.
- Therefore a need exists for an emulation system for distributed processing of emulation data.
- According to an embodiment of the present invention, an emulation system includes a controller, an emulation calculator including a user circuit and emulating the user circuit, an emulation storage unit storing emulation data of the user circuit emulated by the emulation calculator under the control of the controller, and an interface unit distributing and transferring the emulation data to a plurality of computers under the control of the controller.
- According to an embodiment of the present invention, a computer readable medium embodying instructions executable by a processor performs a method for analyzing a device under test (DUT). The method includes storing emulation data of the DUT emulated by an emulation calculator under the control of a controller, and distributing and transferring the emulation data to a plurality of computers under the control of the controller, wherein the plurality of computers perform one of debugging and simulation.
- The accompanying figures are included to provide a further understanding of the present invention, and are incorporated in and constitute a part of this specification. The drawings illustrate exemplary embodiments of the present invention and, together with the description, serve to explain the present invention. In the figures:
-
FIG. 1 is a block diagram of an emulation system according to an embodiment of the present invention; -
FIG. 2 is a block diagram of an interface unit illustrated inFIG. 1 ; -
FIG. 3 is a block diagram of a DUT illustrated inFIG. 1 ; -
FIGS. 4 and 5 illustrate the structure and symbol of an NT illustrated inFIG. 3 ; -
FIG. 6 illustrates the format of emulation data illustrated inFIG. 1 ; -
FIG. 7 illustrates the segments of the DUT illustrated inFIG. 1 ; -
FIG. 8 is a flowchart illustrating an operation of the emulation system illustrated inFIG. 1 ; and -
FIG. 9 is a block diagram of an emulation system according to another embodiment of the present invention. - Preferred embodiments of the present invention will be described below in more detail with reference to the accompanying drawings. The present invention may, however, be embodied in different forms and should not be constructed as limited to embodiments set forth herein. Rather, embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the present invention to those skilled in the art.
-
FIG. 1 is a block diagram of an emulation system according to an embodiment of the present invention. - Referring to
FIG. 1 , anemulation system 100 includes anemulation calculator 20 with aDUT 10, acontroller 30, anemulation storage unit 40, and an interface unit(s) 50. Emulation result data is distributed across a plurality ofcomputers 300 for storage. In addition, thecomputers 300 store data corresponding to theDUT 10 in a hardware description language (HDL) format. Accordingly, thecomputer 300 receives emulation result data and performs debugging or simulation. - The
emulation calculator 20 emulates theDUT 10 under the control of thecontroller 30, and stores the emulation result data in theemulation storage unit 40. Thecontroller 30 transfers the emulation result data from theemulation storage unit 40 to the interface unit(s) 50. In addition, thecontroller 30 transfers the emulation result data stored in the interface unit(s) 50 to thecomputer 300. -
FIG. 2 is a block diagram of theinterface unit 50 illustrated inFIG. 1 . - Referring to
FIG. 2 , theinterface unit 50 includes acommunication interface 41 and adata storage 42. The emulation result data stored in theemulation storage unit 40 are temporarily stored in thedata storage 42 and then transferred to thecomputer 300 through thecommunication interface 41. -
FIG. 3 is a block diagram of theDUT 10 illustrated inFIG. 1 . - Referring to
FIG. 3 , theDUT 10 includes a plurality of combinational circuits and a plurality of flip-flops. TheDUT 10 is segmented into spaces, e.g., a first segment Seg_1, a second segment Seg_2 and a third segment Seg_3. The first segment Seg_1 has no external connection, which is defined as a hard segment. The second segment Seg_2 and the third segment Seg_3 have a signal line crossing a boundary therebetween, which are defined as soft segments. For spatial segmentation, the DUT is constructed in units of hard segments. Accordingly, a net tracer (NT) 5 is inserted in the signal line to make the soft segment into the hard segment. - By adding virtual flip-flops (PFFs) with virtual input/output to the soft segments, the DUT is constructed only with the hard segments. A multiplexed flip-flop may be used as the PFF. For the PFF, a multiplexer (MUX) is used to form a path for discriminating between a normal operation and a debugging operation. In the debugging operation, the PFFs form a chain to extract a value inputted in the normal operation.
-
FIGS. 4 and 5 illustrate the structure and symbol of theNT 5 illustrated inFIG. 3 , respectively. - Referring to
FIG. 4 , theNT 5 is used to extract the state value of a net of theDUT 10, which is a data path except the flip-lops. TheNT 5 is used to extract the state value of a net of a design circuit, to input a corrected state value into the net, or to input the previous state value of the net. - For example, in order to extract the state value of a net in the
DUT 10, similar to a method of forming a chain connecting a TDi and a TDo in the JTAG to extract debugging data, theemulation calculator 20 activates a “Ten” signal and extracts the state value of the flip-flop through the TDo. - In order to correct and input the state value of a net in the
DUT 10 or to input the previous state value of the net in theDUT 10, theemulation calculator 20 activates the “Ten” signal and sets a “Ten_RB” signal to “1” to input the state value of the net through the TDi and to output the resulting value through an NDo. -
FIG. 6 illustrates the format of emulation data illustrated inFIG. 1 . - Referring to
FIGS. 1 and 6 ,emulation data 25 includes clock point data and emulation result data. The clock point data has information for reporting a clock frequency and a change in the clock frequency so that theDUT 10 is time-independent. The emulation result data includes the state values of the NT and the PFF so that theDUT 10 is space-independent. -
Emulation data 25 stored in each computer is one-to-one matched with theemulation storage unit 40. Accordingly, theemulation data 25 need not to have the position information of the storage unit. If there isemulation data 25 generated by two or more other clocks, theemulation system 100 transfers theemulation data 25 to thecomputer 300 at every cycle. -
FIG. 7 illustrates the segments of aDUT 10′, similar to theDUT 10 illustrated inFIG. 1 . - Referring to
FIGS. 1 and 7 , theemulation storage unit 40 stores emulation result data in units of segments. Because thecomputers 300 store emulation result data and clock-related information in units of segments, eachcomputer 300 can perform debugging or simulation for a predetermined time in units of segments. - If the emulation result data of a first segment Seg_1 and the emulation result data of a second segment Seg_2 are stored respectively in the first computer and the second computer, the state value “1” of the NT and the PFF overlapping with the first segment Seg_1 and the second segment Seg_2 is stored in the first computer and the second computer. Accordingly, for time/space-dependent emulation, the first computer performs debugging and simulation on the first segment Seg_1 and the second computer performs debugging and simulation on the second segment Seg_2.
- The above description can be similarly applied to the third computer storing the state value “2” of the PFF of a third segment Seg_3 and the fourth computer storing the state value “2” of the PFF of a fourth segment Seg_4, and thus their description will be omitted for conciseness.
-
FIG. 8 is a flowchart illustrating an operation of theemulation system 100 illustrated inFIG. 1 . - Referring to
FIGS. 1 and 8 , thecomputer 300 transfers the input data of theDUT 10 through theinterface unit 50 to theemulation storage unit 40 in block S100. In block S110, thecontroller 30 distributes input values corresponding to the segments of theDUT 10. - In block S120, the
emulation calculator 20 performs emulation on theDUT 10. In block S130, theemulation calculator 20 stores emulationdata 25 in theemulation storage unit 40 under the control of thecontroller 30. In block S140, thecontroller 30 transfers theemulation data 25 in theemulation storage unit 40 through theinterface unit 50 to thecomputer 300. - In block S150, the
controller 30 determines if the transfer of theemulation data 25 to thecomputer 300 is completed. If the transfer of theemulation data 25 to thecomputer 300 is completed, thecontroller 30 proceeds to block S160; and if the transfer of theemulation data 25 to thecomputer 300 is not completed, thecontroller 30 repeats block S150. - In block S160, the
controller 30 determines if a new input value is transferred from thecomputer 300 to theemulation system 100. If a new input value is transferred from thecomputer 300 to theemulation system 100, the operation returns to block S100; and if a new input value is not transferred from thecomputer 300 to theemulation system 100, the operation is ended. - When the state values of the NT and all the flip-flops of the DUT are extracted, the size of the emulation result data for every cycle of the emulation is typically about several tens of K bytes to several M bytes. Accordingly, when the state value data are to be transferred to the computer at every cycle, even though PCI2.0 is used for a high-speed interface with the computer, a data rate of 66 MHz is provided with 64 bits for each cycle. For example, an emulation speed of about 60.8 KHz needs to be provided for transfer of 32,000-bit data. Therefore, in the case of an emulation system that can start the next cycle only after completion of transfer of state value data to a computer for each cycle, a data transfer rate determines the speed of the emulation system.
- In order to increase an emulation speed, instead of transferring emulation data at every cycle, emulation data may be cumulatively stored in an internal memory of an emulator and the cumulatively stored emulation data may be simultaneously transferred to a computer. Because the internal memory of the emulator is limited in size, a large amount of emulation data cannot be stored in actual applications. Accordingly, the emulation data need to be transferred to the computer at every cycle or at every few cycles in order to reduce the size of the internal memory of the emulator. In order to efficiently use the small-size memory of the emulation system, it is preferable to substitute an emulation I/O distributor for the emulation storage unit.
-
FIG. 9 is a block diagram of an emulation system according to another embodiment of the present invention. - Referring to
FIG. 9 , an emulation I/O distributor 140 is substituted for theemulation storage unit 40 illustrated inFIG. 1 . The emulation I/O distributor 140 includes a first-in-first-out (FIFO) memory and a time-driven module (TDM). - Emulation data stored in an
emulation calculator 120 are stored in the FIFO memory under the control of acontroller 130. The emulation data stored in the FIFO memory are distributed by the TDM and transferred to an interface unit(s) 150. The emulation data stored in the interface unit(s) 150 are transferred to acomputer 300 under the control of thecontroller 130. - To this end, a user circuit (or a DUT) of the emulation system is divided into segments so that it is space-independent. In addition, emulation data contains clock-related information so that the user circuit is time-independent. Accordingly, the emulation system constructs emulation data to be time/space-independent, and distributes and transfers the time/space-independent emulation data to two or more computers distributedly. Therefore, the computer storing the distributed emulation data can perform debugging or simulation independently and also can increase the operation speed of the emulation system.
- In addition, the emulation I/O distributor makes it possible to transfer many emulation data from the emulation system to the external computer using the a small amount of memory in the emulation system.
- As described above, the present invention emulates the user circuit in a time/space independent manner and transfers the emulation result data to computers, thereby reducing the data transfer time and thus the operation speed of the emulation system. Accordingly, the debugging time and the verification time for the design circuit can be reduced effectively.
- In addition, distributed computers including the user circuit store the time/space-independent emulation data, thereby making it possible to perform debugging or simulation independently.
- The above-disclosed subject matter is to be considered illustrative, and not restrictive, and the appended claims are intended to cover all such modifications, enhancements, and other embodiments, which fall within the true spirit and scope of the present invention. Thus, to the maximum extent allowed by law, the scope of the present invention is to be determined by the broadest permissible interpretation of the following claims and their equivalents, and shall not be restricted or limited by the foregoing detailed description.
Claims (20)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2006-0077700 | 2006-08-17 | ||
KR1020060077700A KR100873956B1 (en) | 2006-08-17 | 2006-08-17 | Emulation system |
KR2006-77700 | 2006-08-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
US20080046228A1 true US20080046228A1 (en) | 2008-02-21 |
US8165866B2 US8165866B2 (en) | 2012-04-24 |
Family
ID=39102465
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/838,017 Expired - Fee Related US8165866B2 (en) | 2006-08-17 | 2007-08-13 | Emulation system |
Country Status (3)
Country | Link |
---|---|
US (1) | US8165866B2 (en) |
JP (1) | JP5236908B2 (en) |
KR (1) | KR100873956B1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140049265A1 (en) * | 2012-08-16 | 2014-02-20 | Unitest Inc | Device under test tester using redriver |
WO2015031172A1 (en) * | 2013-08-28 | 2015-03-05 | Qualcomm Incorporated | Corner-case emulation tool for thermal power testing |
US9684743B2 (en) | 2015-06-19 | 2017-06-20 | Synopsys, Inc. | Isolated debugging in an FPGA based emulation environment |
CN116594830A (en) * | 2023-03-17 | 2023-08-15 | 芯华章科技(北京)有限公司 | Hardware simulation tool, debugging method and storage medium |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN203117963U (en) * | 2012-12-17 | 2013-08-07 | 新唐科技股份有限公司 | Debugging system and device for providing graphical pin interface |
JP2013093041A (en) * | 2012-12-27 | 2013-05-16 | Nec Corp | Circuit verification device and circuit verification method |
KR102342623B1 (en) | 2014-10-01 | 2021-12-22 | 엑스브레인, 인크. | Voice and connection platform |
US9922648B2 (en) * | 2016-03-01 | 2018-03-20 | Google Llc | Developer voice actions system |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020128812A1 (en) * | 2001-03-12 | 2002-09-12 | International Business Machines Corporation | Time-multiplexing data between asynchronous clock domains within cycle simulation and emulation environments |
US20040078187A1 (en) * | 2001-10-30 | 2004-04-22 | Frederic Reblewski | Emulation components and system including distributed routing and configuration of emulation resources |
US20040210798A1 (en) * | 2003-03-31 | 2004-10-21 | Shinsaku Higashi | Test emulator, test module emulator, and record medium storing program therein |
US20050177331A1 (en) * | 2004-01-26 | 2005-08-11 | Elpida Memory, Inc | Timing calibration apparatus, timing calibration method, and device evaluation system |
US20060015313A1 (en) * | 2003-06-16 | 2006-01-19 | Wang Ming Y | Method of programming a co-verification system |
US7072825B2 (en) * | 2003-06-16 | 2006-07-04 | Fortelink, Inc. | Hierarchical, network-based emulation system |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10312369A (en) | 1997-05-14 | 1998-11-24 | Mitsubishi Electric Corp | Decentralized simulation system |
JPH1115797A (en) | 1997-06-26 | 1999-01-22 | Hitachi Ltd | Data transfer system |
US6947882B1 (en) | 1999-09-24 | 2005-09-20 | Mentor Graphics Corporation | Regionally time multiplexed emulation system |
US6678645B1 (en) * | 1999-10-28 | 2004-01-13 | Advantest Corp. | Method and apparatus for SoC design validation |
JP3860514B2 (en) | 2002-07-19 | 2006-12-20 | ソニー株式会社 | Circuit analysis system and analysis method thereof |
KR100497384B1 (en) | 2003-01-28 | 2005-06-23 | 삼성전자주식회사 | Distributed processing system using virtual machine, and method thereof |
JP3735636B2 (en) * | 2003-03-31 | 2006-01-18 | 株式会社アドバンテスト | Test emulation device, test module emulation device, and recording medium recording these programs |
JP2005050267A (en) | 2003-07-31 | 2005-02-24 | Nippon Telegraph & Telephone East Corp | Content distribution system, content distribution method, and content distribution program |
KR20050061268A (en) * | 2003-12-16 | 2005-06-22 | 양세양 | Performance improvement apparatus for hardware-assisted verification using massive memory and compilation avoidance and its verification method using the same |
JP4567400B2 (en) * | 2004-08-19 | 2010-10-20 | 富士通株式会社 | Semiconductor integrated circuit emulator |
KR20060066634A (en) * | 2004-12-13 | 2006-06-16 | 양세양 | Dynamic-verification-based verification apparatus achieving high verification performance and verification efficiency, and the verification methodology using the same |
JP2005285092A (en) | 2004-12-28 | 2005-10-13 | Advantest Corp | Test emulation apparatus |
-
2006
- 2006-08-17 KR KR1020060077700A patent/KR100873956B1/en not_active IP Right Cessation
-
2007
- 2007-08-13 US US11/838,017 patent/US8165866B2/en not_active Expired - Fee Related
- 2007-08-17 JP JP2007213063A patent/JP5236908B2/en not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020128812A1 (en) * | 2001-03-12 | 2002-09-12 | International Business Machines Corporation | Time-multiplexing data between asynchronous clock domains within cycle simulation and emulation environments |
US20040078187A1 (en) * | 2001-10-30 | 2004-04-22 | Frederic Reblewski | Emulation components and system including distributed routing and configuration of emulation resources |
US20040210798A1 (en) * | 2003-03-31 | 2004-10-21 | Shinsaku Higashi | Test emulator, test module emulator, and record medium storing program therein |
US20060015313A1 (en) * | 2003-06-16 | 2006-01-19 | Wang Ming Y | Method of programming a co-verification system |
US7072825B2 (en) * | 2003-06-16 | 2006-07-04 | Fortelink, Inc. | Hierarchical, network-based emulation system |
US20050177331A1 (en) * | 2004-01-26 | 2005-08-11 | Elpida Memory, Inc | Timing calibration apparatus, timing calibration method, and device evaluation system |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140049265A1 (en) * | 2012-08-16 | 2014-02-20 | Unitest Inc | Device under test tester using redriver |
US9459302B2 (en) * | 2012-08-16 | 2016-10-04 | Unitest Inc | Device under test tester using redriver |
WO2015031172A1 (en) * | 2013-08-28 | 2015-03-05 | Qualcomm Incorporated | Corner-case emulation tool for thermal power testing |
US9218011B2 (en) | 2013-08-28 | 2015-12-22 | Qualcomm Incorporated | Corner-case emulation tool for thermal power testing |
US9684743B2 (en) | 2015-06-19 | 2017-06-20 | Synopsys, Inc. | Isolated debugging in an FPGA based emulation environment |
US9959376B2 (en) | 2015-06-19 | 2018-05-01 | Synopsys, Inc. | Isolated debugging in an FPGA based emulation environment |
CN116594830A (en) * | 2023-03-17 | 2023-08-15 | 芯华章科技(北京)有限公司 | Hardware simulation tool, debugging method and storage medium |
Also Published As
Publication number | Publication date |
---|---|
KR100873956B1 (en) | 2008-12-15 |
JP5236908B2 (en) | 2013-07-17 |
JP2008047134A (en) | 2008-02-28 |
KR20080016081A (en) | 2008-02-21 |
US8165866B2 (en) | 2012-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8165866B2 (en) | Emulation system | |
US10180850B1 (en) | Emulating applications that use hardware acceleration | |
US7424416B1 (en) | Interfacing hardware emulation to distributed simulation environments | |
WO2019167081A1 (en) | System and method for emulation and simulation of rtl (design under test) using fpga | |
US9041431B1 (en) | Partial reconfiguration and in-system debugging | |
US9298865B1 (en) | Debugging an optimized design implemented in a device with a pre-optimized design simulation | |
US10678976B2 (en) | Generic protocol analyzer for circuit design verification | |
US9449131B2 (en) | Extracting system architecture in high level synthesis | |
WO2003042876A2 (en) | Synchronization of distributed simulation nodes by keeping timestep schedulers in lockstep | |
US7721036B2 (en) | System and method for providing flexible signal routing and timing | |
CN104200846A (en) | Embedded-type PROM test system and achieving method | |
US10664637B2 (en) | Testbench restoration based on capture and replay | |
US8566768B1 (en) | Best clock frequency search for FPGA-based design | |
US10546081B2 (en) | Full memory logical erase for circuit verification | |
US8983790B1 (en) | Method and system for gathering signal states for debugging a circuit | |
US7228513B2 (en) | Circuit operation verification device and method | |
US11775716B2 (en) | High speed, low hardware footprint waveform | |
US11176018B1 (en) | Inline hardware compression subsystem for emulation trace data | |
Chatterjee et al. | Verification and debugging of lc-3 test bench environment using system verilog | |
US9075639B1 (en) | Systems and methods for handling interrupts during software design simulation | |
KR101026678B1 (en) | Apparatus for interfacing emulator and method thereof | |
US20230060111A1 (en) | System and method for electronic circuit simulation | |
Shrivastava et al. | Design and simulation of 16 bit UART Serial Communication Module based on VHDL | |
Schulz et al. | Transmitting TLM transactions over analogue wire models | |
JP5043500B2 (en) | Circuit emulation with state recovery |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: SAMSUNG ELECTRONICS CO., LTD, KOREA, REPUBLIC OF Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CHA, CHI HO;JIN, HOON SANG;YUN, JAE GEUN;REEL/FRAME:019686/0914;SIGNING DATES FROM 20070720 TO 20070802 Owner name: SAMSUNG ELECTRONICS CO., LTD, KOREA, REPUBLIC OF Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CHA, CHI HO;JIN, HOON SANG;YUN, JAE GEUN;SIGNING DATES FROM 20070720 TO 20070802;REEL/FRAME:019686/0914 |
|
REMI | Maintenance fee reminder mailed | ||
LAPS | Lapse for failure to pay maintenance fees | ||
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20160424 |