GB2138605A - System for verifying design of electronic component - Google Patents

System for verifying design of electronic component Download PDF

Info

Publication number
GB2138605A
GB2138605A GB08407795A GB8407795A GB2138605A GB 2138605 A GB2138605 A GB 2138605A GB 08407795 A GB08407795 A GB 08407795A GB 8407795 A GB8407795 A GB 8407795A GB 2138605 A GB2138605 A GB 2138605A
Authority
GB
United Kingdom
Prior art keywords
memory
response
stimulus
host system
responses
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
GB08407795A
Other versions
GB8407795D0 (en
GB2138605B (en
Inventor
Edward Smith
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.)
Fujitsu Services Ltd
Original Assignee
Fujitsu Services Ltd
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
Priority claimed from GB838309692A external-priority patent/GB8309692D0/en
Application filed by Fujitsu Services Ltd filed Critical Fujitsu Services Ltd
Priority to GB08407795A priority Critical patent/GB2138605B/en
Publication of GB8407795D0 publication Critical patent/GB8407795D0/en
Publication of GB2138605A publication Critical patent/GB2138605A/en
Application granted granted Critical
Publication of GB2138605B publication Critical patent/GB2138605B/en
Expired 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

Abstract

A method for verifying the design of a digital electronic component in which the component is replaced by a simulation unit 20-27 connected to the intended host system. The simulation unit has a memory 23 for holding responses to stimuli from the host system. If the required response is not in the memory, it is calculated and placed in the memory, and the operation of the host system is then re-started from the beginning. In this way, the required set of responses is built up incrementally in the memory until, eventually, the operation of the host system can run to completion. Another RAM 26 of the simulation unit has the same number of locations as the first RAM 23 and is also addressed by the counter 22. For each calculated response loaded into the first RAM the corresponding stimulus which initiated that response is loaded into the second RAM. Consequently, whenever a response is read out of the first RAM the corresponding stimulus is read from the second RAM and compared 27 with the actual stimulus input on path 20. If they do not compare true the simulation is halted. <IMAGE>

Description

SPECIFICATION Verifying design of digital electronic components This invention relates to a method of verifying the design of a digital electronic component and also to simulation apparatus suitable for use in such a method.
One method of verifying the design of a digital electronic component is to build a hardware model of the component and then to test it in situ in the intended host system. The hardware may then be modified to make the appropriate corrections as indicated by the results of the tests.
However, this approach has certain disadvantages when used for verifying the design of large or very large scale integrated circuit components.
An alternative approach is to use a software modelling technique to simulate the system. This cna be extremely time consuming, since it requires the provision of a software model of the host system as well as of the new component.
In view of these problems, it is proposed to use a mixed hardware/software approach to verification: the new component is simulated using a software model while the host system is implemented using real hardware.
A problem with this mixed hardware software approach is that the response time of the software model is usually slower than that of the real hardware, and this may prevent the system from operating correctly. For example, the real hardware may include a microprocessor which requires responses at set times which cannot be met directly by software simulation. In some cases it may be possible to overcome this problem by instructing the micro-processor to wait until the simulator has calculated the required response.
However, not all microprocessors have this facility.
Moreoever, the system may have some over-riding timing requirements which cannot be handled in this way. The object of the invention is to overcome this problem.
According to the invention, there is provided a method for verifying the design of a digital electronic component comprising the steps: (a) operating a host system to perform a predetermined sequence of operations in which it produces stimuli for the component and is required to receive responses from the component, (b) detecting stimuli from the host system and, for each detected stimulus, examining a memory to determine whether it holds a response to that stimulus, (c) if a response to the stimulus is held in the memory, returning that response to the host system directly from the memory, and (d) if a response to the stimulus is not held in the memory, calculating the required response and storing it in the memory, and then restarting the operation of the host system from a predetermined starting point.
It can be seen that, during successive runs of the system, a set of required responses is gradually built up in the memory, allowing the operation of the system to proceed further each time. Eventually, enough responses will have been accumulated in the memory to allow the operation to be completed.
The responses may be stored in the memory sequentially, in chronologival order. Alternatively, the responses may be stored in locations of the memory addressed directly or indirectly by the input stimuli.
BRIEF DESCRIPTION OF THE DRAWING One embodiment of the invention will now be described by way of example with reference to the accompanying drawings.
Figure 1 is a block diagram of an electronic digital system in which one component is simulated.
Figure 2 shows a simulation unit.
DESCRIPTION OF AN EMBODIMENT OF THE INVENTION It is assumed that it is desired to verify the design of a special custom-designed VLSI component, intended for use in a specific digital system, referred to as the host system.
Referring to Figure 1, this shows the host system 10, which comprises a plurality of circuit boards 1 1, 12 inter-connected by a system highway 13. Each board 1 1, 12 may carry a microprocessor chip (not shown) and has an internal highway. The construction of the host system 10 forms no part of the present invention and so will not be described in detail.
The circuit board 12 carries a socket 14 for receiving the VLSI component. For the purposes of design verification, this component is simulated by means of a simulation unit 15, connected to the socket 14 by means of an umbilical cable 1 6 having a probe head 17 with the same pin configuration as the simulated component.
Whenever the host system 10 produces a stimulus for the simulated component, this is picked up by the probe head 17 and passed to the simulation unit 1 5 over the cable 1 6. The simulation unit then generates a response, as will be described, and returns it to the host system.
The simulation unit 15 is also connected directly to the internal highway (not shown) within the board 12 by way of a cable 18, and to the main system highway 13 by way of a cable 19.
The purpose of these connections will be explained later.
Referring now to Figure 2, this shows the simulation unit 15 in detail. Stimuli received from the host system 10 appear on an input path 20 and are fed to a detector circuit 21. For each detected stimulus, the circuit 21 produces an output pulse which increments a counter 22. The output of the counter addresses a random access memory 23.
Each location in the memory 23 has a tag bit T which indicates whether or not that location contains a valid response to an input stimulus. If the tag bit indicates that the addressed location contains a valid response, the response is read out of the memory 23 and returned to the host system 10 by way of an output path 24.
If, on the other hand, the addressed location does not contain a valid response, the tag bit T triggers a simulator 25. The simulator then takes the input stimulus on path 20 and calculates the required response. This response is loaded into the currently addressed location of the memory 23, and the tag bit T of that location is set to indicate that it now contains a valid response. The counter 22 is then reset to zero, and the operation of the host system is restarted from its initial start point.
Details of the simulator 25 form no part of the present invention. It may, for example, comprise a digital computer, containing a suitable software model of the VLSI component to be simulated.
Both the computer and the software model may be standard commercially available items and so they will not be described in detail. However, it should be noted that in the present invention, the software model is used in an unconventional way.
In a conventional simulation system, the test data for the software model are loaded into the computer before the simulation commences; in contrast, in the present invention, the test data are provided by the stimuli derived from the real hardware components of the host system, and are generated in real-time.
The simulation unit 15 also contains another random access memory 26 which has the same number of locations as the memory 23 and is also addressed by the output of the counter 22.
Whenever a response is calculated and loaded into the memory 23, the stimulus which gave rise to that response is loaded from the path 20 into the corresponding location of the memory 26.
Whenever a response is read out of the memory 23, the corresponding stimulus is read out of the memory 26 and is compared, by means of a comparator circuit 27, with the actual stimulus on the path 20. If these two values are not equal, an error must have occurred, and the simulation must be halted.
OPERATION Before operation commences, the host system 10 is loaded with a suitable test program for testing out the system and in particular for testing the board 12 and the design of the new VLSI component.
In operation, the simulation unit 15 starts the operation of the system 10 by sending suitable control signals over the cables 18, 1 9. The system then runs the test program, at normal speed, until some input stimulus for the VLSI component is produced, requiring a response. This stimulus is picked up by the probe head 17 and passed to the simulation unit 15. The memory 23 is initially empty, and so the simulator 25 is activated. The simulator then calculates the required response of the VLSl chip to the stimulus, and stores it in the first location of the memory 23.
The simulation unit now causes the execution of the test program to be abandoned, and resets the system to the starting point of the program. If necessary, the test program is reloaded via the cables 18. 19.
The test program is then re-started from its starting point. As before, the program will run until it reaches the point at which the stimulus is produced for the VLSI component. This time, however, the appropriate response is immediately available from the memory 23 in the simulation unit. The test program then continues to run at normal speed until it reaches the next point at which a stimulus is produced for the VLSI component, whereupon the above process is repeated.
It can be seen that each time the test program runs, one more response is entered into the memory 23, so that a set of responses is built up incrementally in the memory. Each time the test program runs, it is able to proceed one or more steps further forward than the previous time.
Eventually, enough responses are accumulated in the memory to enable the test program (or at least a segment of it) to proceed to completion.
In the above embodiment of the invention, the responses are stored in the memory 23 sequentially, in chronological order.
Alternatively, the responses may be stored in a memory in locations addressed directly or indirectly by the stimuli. This memory acts as a look-up table for the responses. This may be achieved for example by using the input stimulus as a direct address for the memory, or by forming a hash code from the stimulus and using this to address the memory. In this case, it will be appreciated that the memory must have a fast access time, less than the required response time for the VLSI component being simulated. The provision of such a look-up table would be useful, for example, if the system is such that particular stimulus/response combinations are likely to be repeated several times during a run, since it would save simulation time.
The simulation model in the simulator 25 may also include timing information about the responses of the VLSI component. In this case, a timing run may be performed and the timing data for each set of responses calculated and stored.
These can then be stored in the memory 23 along with the coresponding responses. The test program can then be re-run, with the simulation unit 15 providing properly timed responses to all the input stimuli to the VLSI component.

Claims (6)

1. A method for verifying the design of a digital electronic component comprising the steps: (a) operating a host system to perform a predetermined sequence of operations in which it produces stimuli for the component and is required to receive responses from the component, (b) detecting stimuli from the host system and, for each detected stimulus, examining a memory to determine whether it holds a response to that stimulus, (c) if a response to the stimulus is held in the memory, returning that response to the host system directly from the memory, and (d) if a response to the stimulus is not held in the memory, calculating the required response and storing it in the memory, and then restarting the operation of the host system from a predetermined starting point.
2. A method according to Claim 1 wherein the responses are stored in the memory sequentially, in chronological order.
3. Apparatus for verifying the design of a digital electronic component, comprising: (a) a host system arranged to perform a predetermined sequence of operations in which it produces stimuli for the component and is required to receive responses from the component, (b) a memory for holding responses to said stimuli, (c) means for detecting a stimulus from the host system and for determining whether a response to the stimulus is already held in the memory and, if so, returning that response to the host system directly from the memory, (d) simulation means, operative in the event that a response to a stimulus is not held in the memory, for calculating the required response to the stimulus, and (e) means for storing the calculated response in the memory and then restarting the operation of the host system from a predetermined starting point.
4. Apparatus according to Claim 3 including a counter for addressing the memory, means for incrementing the counter each time a stimulus is detected, so that the responses are read out of the memory sequentially, and means for resetting the counter after a response is stored in the memory.
5. Apparatus for simulating a digital electronic component, comprising: (a) means for detecting input stimuli, (b) a memory, (c) means for determining, in respect of each detected stimulus, whether a response to that stimulus is already held in the memory and, if so, outputting that response directly from the memory, and (d) simulation means, operative in the event that a response to a stimulus is not held in the memory, for calculating the required response to the stimulus and then storing that response in the memory.
6. Apparatus substantially as hereinbefore described with reference to the accompanying drawings.
GB08407795A 1983-04-09 1984-03-26 System for verifying design of electronic component Expired GB2138605B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB08407795A GB2138605B (en) 1983-04-09 1984-03-26 System for verifying design of electronic component

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB838309692A GB8309692D0 (en) 1983-04-09 1983-04-09 Verifying design of digital electronic systems
GB08407795A GB2138605B (en) 1983-04-09 1984-03-26 System for verifying design of electronic component

Publications (3)

Publication Number Publication Date
GB8407795D0 GB8407795D0 (en) 1984-05-02
GB2138605A true GB2138605A (en) 1984-10-24
GB2138605B GB2138605B (en) 1987-03-11

Family

ID=26285778

Family Applications (1)

Application Number Title Priority Date Filing Date
GB08407795A Expired GB2138605B (en) 1983-04-09 1984-03-26 System for verifying design of electronic component

Country Status (1)

Country Link
GB (1) GB2138605B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0410502A2 (en) * 1989-07-27 1991-01-30 Lsi Logic Corporation Method and apparatus for emulating interaction between application specific integrated circuit (asic) under development and target system
GB2299185A (en) * 1995-03-20 1996-09-25 Fujitsu Ltd Simulation apparatus

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0410502A2 (en) * 1989-07-27 1991-01-30 Lsi Logic Corporation Method and apparatus for emulating interaction between application specific integrated circuit (asic) under development and target system
EP0410502A3 (en) * 1989-07-27 1993-10-20 Lsi Logic Corp Method and apparatus for emulating interaction between application specific integrated circuit (asic) under development and target system
GB2299185A (en) * 1995-03-20 1996-09-25 Fujitsu Ltd Simulation apparatus
US5838593A (en) * 1995-03-20 1998-11-17 Fujitsu Limited Simulation apparatus
GB2299185B (en) * 1995-03-20 1999-09-08 Fujitsu Ltd Simulation apparatus

Also Published As

Publication number Publication date
GB8407795D0 (en) 1984-05-02
GB2138605B (en) 1987-03-11

Similar Documents

Publication Publication Date Title
US4644487A (en) Method and apparatus for verifying the design of digital electronic components
US4590581A (en) Method and apparatus for modeling systems of complex circuits
EP0077736B1 (en) Test vector indexing method and apparatus
US5715433A (en) Dynamic software model for emulating hardware
US8521465B2 (en) General purpose protocol engine
CA1065062A (en) Non-logic printed wiring board test system
EP2264598A2 (en) Enhanced embedded logic analyzer
US4984239A (en) Automatic verification system for maintenance/diagnosis facility in computer system
KR880001169B1 (en) Digital tester local memory data storage system
KR20000029237A (en) Semiconductor integrated circuit evaluation system
US6707313B1 (en) Systems and methods for testing integrated circuits
US20060212768A1 (en) Verification circuitry for master-slave system
US7606694B1 (en) Framework for cycle accurate simulation
US5892779A (en) Scan test apparatus
JP4213306B2 (en) Program debugging device for semiconductor testing
GB2138605A (en) System for verifying design of electronic component
US6536020B2 (en) Efficient generation of optimum test data
US5870316A (en) Methods of using simultaneous test verification software
US7277840B2 (en) Method for detecting bus contention from RTL description
JP3162316B2 (en) Electronic circuit testing system
EP0150258A2 (en) Method for propagating unknown digital values in a hardware based complex circuit simulation system
CN112965868B (en) Automatic testing method and device for game controller and readable medium
EP0396310A2 (en) Signature analysis in physical modeling
RU2619531C1 (en) Method for generation of diagnostic tests
JP2957016B2 (en) Delay failure simulation method

Legal Events

Date Code Title Description
PE20 Patent expired after termination of 20 years

Effective date: 20040325