WO1994023388A1 - Method for solving asynchronisms in digital logic simulators - Google Patents
Method for solving asynchronisms in digital logic simulators Download PDFInfo
- Publication number
- WO1994023388A1 WO1994023388A1 PCT/EP1994/000985 EP9400985W WO9423388A1 WO 1994023388 A1 WO1994023388 A1 WO 1994023388A1 EP 9400985 W EP9400985 W EP 9400985W WO 9423388 A1 WO9423388 A1 WO 9423388A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- stage
- flip
- flop
- asynchronism
- indication
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
Definitions
- This invention refers to a method that solves the situations of uncertainty in the output state of flip- flops, due to asynchronisms, arising in digital system simulation.
- One such effect for consideration is that deriving from the requirements of input data transition set-up times in the flip-flops of the system being designed.
- metastability This effect arises when a transition appears in the input of a flip-flop inside the uncertainty zone of the active clock edge. This phenomenon is termed metastability.
- This region of uncertainty is defined by the duration of the set- up time (prior to the active clock edge) and the hold time (after the active clock edge). In these situations it is not possible to determine the state of the flip- flop, consequently the simulation of it cannot establish an output value for this flip-flop.
- the simulator sets an output termed "X", this meaning an undetermined value, which, in addition, can be propagated, as in fact occurs, to other gates and flip-flops that receive at their inputs the signal coming from the output of this flip-flop.
- the technical problem to be overcome consists in solving the states of asynchromism in digital logic simulators, avoiding the need to repeat lengthy simulations if these should arise.
- CHARACTERISATION OF THE INVENTION The method proposed for overcoming asynchronisms in digital logic simulators of the data received in asynchronous form by an input stage is characterised in that it comprises a first stage of evaluation of the output state of the first flip-flop generated by the digital logic simulator, as well as a second stage of asynchromism indication in which indication is given of whether there have been violations or not of the uncertainty times, comprising the set-up and hold times, in the incoming data transitions.
- a third stage comprises the reassignment of the same state to the flip-flop under examination.
- a fifth stage takes place which comprises the detection of the indication of the end of simulation whereby, in the event that this end-of- simulation indication is not found, the system returns to the first, initial stage of evaluation; if it is detected, the system proceeds to a sixth finalisation stage of the process.
- the digital logic simulator eliminates the possibility of undefined states appearing, which would oblige the repetition of the simulation after changing the signals that produced these situations of uncertainty.
- FIG. 1 shows the timing diagram of a flip-flop that produces asynchronisms, and a type D flip-flop on which the previous timing signals are defined
- - figure 2.1 shows the most commonly employed input stage for asynchronous digital systems, on the simulation of which the method according to the invention is applied
- - figures 2.2 and 2.3 show the timing diagrams of simulated signals present at various points in the circuit of figure 2.1 according to the invention
- FIG. 3 is a flowchart of the method according to the invention, for solving the problem explained above.
- the incoming digital signals do not behave according to the transitions of a system clock that would force the transitions of all present signals to occur in accordance with the active edges of this clock. Instead, the incoming signals to this system can switch at any moment, whereby it is not possible to ensure that, when an incoming signal to a flip-flop switches in coincidence with the active clock edge, this flip-flop has correctly recognised the new incoming signal, and even a state of metastability may arise, in which the output signal of a flip-flop in a situation like that described above, switches repeatedly between one state and the other for a considerable length of time before stabilising itself in one of the two possible states.
- Figure 1 shows the problem with simulation, in which the incoming data item DAT_I switches with the active edge of the clock CK_I within the unpermitted uncertainty interval Ti comprising the time needed for setting up te and the hold time tr.
- the flow chart of figure 3 shows the method according to the invention for solving the problem mentioned above; in it, a first stage of evaluation 1 of the simulated state of the first flip-flop 21 is carried out in each instant of simulation.
- the method performs a reassignment 3 of the first flip-flop 21 to the state it had before; if, however, asynchronism is indicated, an assignment 4 is made to a valid state of the flip-flop 21, solving the indetermined state indicated with an "X" by the digital logic simulator as shown in the figure 2.2, assigning a valid state SI, which is the opposite of the state established in the last asynchronism resolution made SO (not shown).
- SO a valid state
- Figure 2.3 shows a variant on the previous solution in which the stage of evaluation 1 takes place only on the not active edges of the clock CK_I and, in addition, the output state DAT NT of the first flip-flop 21 in the event of asynchronism is resolved by always assigning a value of "1" or "0" (previously defined); thus, at the output of the second flip-flop 22, and therefore of the input stage 20, the uncertainty disappears by assigning a fixed value each time this occurs.
- the transition of the output data is brought forward by one clock period when the previously defined fixed value is the same as the new input data value DAT_I with respect to when the previously defined fixed value is the opposite of the new value of the input data item DAT_I.
- It is also possible to solve the asynchronism by always assigning a previously determined fixed value, "1" or "0", in the case where the stage of evaluation 1 of the simulated state of the first flip-flop 21 takes place in each instant of simulation.
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)
- Logic Circuits (AREA)
Abstract
The method resolves situations of uncertainty produced by asynchronisms in digital logic simulators arising when a first flip-flop in an input stage receives an incoming signal that can switch inthe time of uncertainty defined by the set-up and hold times associated with an active clock edge. The method consists of a stage of evaluation (1) of the output state of the first flip-flop generated by the digital logic simulator itself; a stage of asynchronism indication (2), which indicates if there is asynchronism or not; a stage or reassignment (3) which, when there has been no asynchronism, assignes the flip-flop with the same state as it had in the previous clock cycle; a stage of assignment (4) of a valid output state when asynchronism has been recognised; and a stage of detection (5) indicating end of simulation in order to return to the first stage of evaluation (1) or to proceed to a finalisation stage (6) of the process.
Description
METHOD FOR SOLVING ASYNCHRONISMS IN DIGITAL LOGIC
SIMULATORS
OBTECT OF THE INVENTION
This invention, as stated in the title of this document, refers to a method that solves the situations of uncertainty in the output state of flip- flops, due to asynchronisms, arising in digital system simulation.
It is of special application in simulators of asynchronous systems for the design of digital integrated circuits. BACKGROUND TO THE INVENTION At present, digital circuits are designed according to the needs of the customer. For this reason, the integrated circuit manufacturers provide a series of design tools which, in addition, simulate the behaviour of the integrated circuit to be made in as faithful a manner possible, considering therefore the actual side effects of the design and manufacture of digital circuits.
One such effect for consideration is that deriving from the requirements of input data transition set-up times in the flip-flops of the system being designed.
This effect arises when a transition appears in the input of a flip-flop inside the uncertainty zone of the active clock edge. This phenomenon is termed metastability.
This region of uncertainty is defined by the duration of the set- up time (prior to the active clock edge) and the hold time (after the active clock edge). In these situations it is not possible to determine the state of the flip- flop, consequently the simulation of it cannot establish an output value for this flip-flop.
Normally, as happens with the LSI-Logic simulator, when this situation arises, the simulator sets an output termed "X", this meaning an undetermined value, which, in addition, can be propagated, as in fact occurs, to other gates and flip-flops that receive at their inputs the signal coming from the output of this flip-flop.
These problems may occur particularly in asynchronous systems and as yet no kind of solution is available for them though, to prevent them to arise, simulator designers indicate that the uncertainty zones already
mentioned must be respected by avoiding flip-flop input signal transitions in them, and, should such asynchronisms arise, the simulation must be repeated changing the instants of input data transition to avoid these situations. TECHNICAL PROBLEM TO OVERCOME
Consequently the technical problem to be overcome consists in solving the states of asynchromism in digital logic simulators, avoiding the need to repeat lengthy simulations if these should arise. CHARACTERISATION OF THE INVENTION The method proposed for overcoming asynchronisms in digital logic simulators of the data received in asynchronous form by an input stage is characterised in that it comprises a first stage of evaluation of the output state of the first flip-flop generated by the digital logic simulator, as well as a second stage of asynchromism indication in which indication is given of whether there have been violations or not of the uncertainty times, comprising the set-up and hold times, in the incoming data transitions.
If no asynchronism is indicated, a third stage comprises the reassignment of the same state to the flip-flop under examination.
If asynchronism is indicated, a fourth stage of assignment is made of a valid state to the flip-flop under examination in such a way that the state of ambiguity indicated by the digital logic simulator is solved.
In addition, a fifth stage takes place which comprises the detection of the indication of the end of simulation whereby, in the event that this end-of- simulation indication is not found, the system returns to the first, initial stage of evaluation; if it is detected, the system proceeds to a sixth finalisation stage of the process.
As a consequence of incorporating the method of the invention, the digital logic simulator eliminates the possibility of undefined states appearing, which would oblige the repetition of the simulation after changing the signals that produced these situations of uncertainty. BRIEF FOOTNOTES TO THE FIGURES
A more detailed explanation of the invention is made on a basis of the following figures, in which:
- figure 1 shows the timing diagram of a flip-flop that produces asynchronisms, and a type D flip-flop on which the previous timing signals
are defined,
- figure 2.1 shows the most commonly employed input stage for asynchronous digital systems, on the simulation of which the method according to the invention is applied, - figures 2.2 and 2.3 show the timing diagrams of simulated signals present at various points in the circuit of figure 2.1 according to the invention, and
- figure 3 is a flowchart of the method according to the invention, for solving the problem explained above. DESCRIPTION OF THE INVENTION
In asynchronous digital systems, the incoming digital signals do not behave according to the transitions of a system clock that would force the transitions of all present signals to occur in accordance with the active edges of this clock. Instead, the incoming signals to this system can switch at any moment, whereby it is not possible to ensure that, when an incoming signal to a flip-flop switches in coincidence with the active clock edge, this flip-flop has correctly recognised the new incoming signal, and even a state of metastability may arise, in which the output signal of a flip-flop in a situation like that described above, switches repeatedly between one state and the other for a considerable length of time before stabilising itself in one of the two possible states.
To avoid this occurrence it is normal practice to connect another flip- flop 22 in cascade with the first flip-flop 21 as is illustrated in figure 2.1, in such a way that, regardless of the result, the second flip-flop 22 makes the correct reading, but delayed by one clock cycle.
However, though the problem is usually resolved in practice in the input circuit 20, the same does not happen with digital logic simulators for the design of these digital circuits.
Figure 1 shows the problem with simulation, in which the incoming data item DAT_I switches with the active edge of the clock CK_I within the unpermitted uncertainty interval Ti comprising the time needed for setting up te and the hold time tr.
In this case the output data item from the flip-flop obtained by the simulator would be that indicated by DAT_0. The flow chart of figure 3 shows the method according to the
invention for solving the problem mentioned above; in it, a first stage of evaluation 1 of the simulated state of the first flip-flop 21 is carried out in each instant of simulation.
Subsequently there is a stage of asynchronism indication 2 in the simulation instant after the evaluation 1 of the preceding stage. The result of this is positive if a transition of the incoming data occurs during the uncertainty period of the active clock edge.
In the case of there being no asynchronism, the method performs a reassignment 3 of the first flip-flop 21 to the state it had before; if, however, asynchronism is indicated, an assignment 4 is made to a valid state of the flip-flop 21, solving the indetermined state indicated with an "X" by the digital logic simulator as shown in the figure 2.2, assigning a valid state SI, which is the opposite of the state established in the last asynchronism resolution made SO (not shown). Thus, at the next clock edge, the right input value is read which, in the case of figure 2.2, is a "1". In this way, at the output of the second flip-flop 22 of the input stage 20 that is being simulated, indicated as DAT_0, all uncertainty disappears; and the output data transition can be performed with a difference of one clock period, depending on whether SI corresponds to a logical "1" or a logical "0". Once all the foregoing has been done there is a stage of detection 5 of end-of-simulation indication, in order to return to the first stage in the next instant of simulation in the event of not detection of the end-of-simulation indication; if this indication is detected, finalisation 6 of the process takes place. Figure 2.3 shows a variant on the previous solution in which the stage of evaluation 1 takes place only on the not active edges of the clock CK_I and, in addition, the output state DAT NT of the first flip-flop 21 in the event of asynchronism is resolved by always assigning a value of "1" or "0" (previously defined); thus, at the output of the second flip-flop 22, and therefore of the input stage 20, the uncertainty disappears by assigning a fixed value each time this occurs. In this case the transition of the output data is brought forward by one clock period when the previously defined fixed value is the same as the new input data value DAT_I with respect to when the previously defined fixed value is the opposite of the new value of the input data item DAT_I.
It is also possible to solve the asynchronism by always assigning a previously determined fixed value, "1" or "0", in the case where the stage of evaluation 1 of the simulated state of the first flip-flop 21 takes place in each instant of simulation.
In the same way, it is possible to resolve the asynchronism by assigning a valid state SI, the opposite of that established in the previous resolution SO in the case where the stage of evaluation 1 of the simulated state of the first flip-flop 21 only works on the not active edges of the clock.
Claims
1.- METHOD FOR SOLVING ASYNCHRONISMS IN DIGITAL LOGIC SIMULATORS for the simulation of the data received by an input stage (20) characterised in that it comprises the following stages: - evaluation (1) of the output state of the first flip-flop (21),
- indication (2) of asynchronism in this first flip-flop (21) in the event that a transition occurs in the incoming data during the uncertainty period of the active clock edge,
- reassignment (3) of the state of the first flip-flop with the value detected at its output, in the case of no indication of asynchronism,
- assignment (4) of a valid state of the first flip-flop (21), in the case of indication of asynchronism,
- detection (5) of end-of-simulation indication, returning to the first stage of evaluation (1) in the case that this indication of end- of-simulation is not detected,
- finalisation (6) of the process in the case of detection of the end-of- simulation indication.
2.- METHOD according to claim 1, characterised in that the stage of evaluation (1) of the output state of the first flip-flop (21) takes place once for each simulation period of the digital logic simulator.
3.- METHOD according to claim 1, characterised in that the stage of evaluation (1) of the output state of the first flip-flop (21) takes place only during the not active clock edges (CK_I) of the digital logic simulator.
4.- METHOD according to claim 2 or 3, characterised in that in the case of asynchronism being indicated, the stage of assignment (4) of a valid state of the first flip-flop establishes as the valid state, the opposite of that established in the last asynchronism resolution carried out.
5.- METHOD according to claim 2 or 3, characterised in that in the case of asynchronism being indicated, the stage of assignment (4) of a valid state of the first flip-flop establishes as the valid state a fixed value, "1" or "0", which has been previously defined.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU65372/94A AU6537294A (en) | 1993-03-31 | 1994-03-29 | Method for solving asynchronisms in digital logic simulators |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
ES9300669 | 1993-03-31 | ||
ESP9300669 | 1993-03-31 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO1994023388A1 true WO1994023388A1 (en) | 1994-10-13 |
Family
ID=8281317
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/EP1994/000985 WO1994023388A1 (en) | 1993-03-31 | 1994-03-29 | Method for solving asynchronisms in digital logic simulators |
Country Status (2)
Country | Link |
---|---|
AU (1) | AU6537294A (en) |
WO (1) | WO1994023388A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999027472A1 (en) * | 1997-11-25 | 1999-06-03 | Virata Limited | Method and apparatus for automatically testing the design of a simulated integrated circuit |
FR2779887A1 (en) * | 1998-06-12 | 1999-12-17 | Sgs Thomson Microelectronics | Elementary memory circuit as emulation of flip flop |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4787062A (en) * | 1986-06-26 | 1988-11-22 | Ikos Systems, Inc. | Glitch detection by forcing the output of a simulated logic device to an undefined state |
EP0404444A1 (en) * | 1989-06-23 | 1990-12-27 | AT&T Corp. | Apparatus and method for performing spike analysis in a logic simulator |
-
1994
- 1994-03-29 AU AU65372/94A patent/AU6537294A/en not_active Abandoned
- 1994-03-29 WO PCT/EP1994/000985 patent/WO1994023388A1/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4787062A (en) * | 1986-06-26 | 1988-11-22 | Ikos Systems, Inc. | Glitch detection by forcing the output of a simulated logic device to an undefined state |
EP0404444A1 (en) * | 1989-06-23 | 1990-12-27 | AT&T Corp. | Apparatus and method for performing spike analysis in a logic simulator |
Non-Patent Citations (1)
Title |
---|
MAURER ET AL: "compiled unit-delay simulation for cyclic circuits", PROCEEDINGS IEEE SOUTHEASTCON, 12 April 1992 (1992-04-12), BIRMINGHAM ALABAMA US, pages 184 - 188 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999027472A1 (en) * | 1997-11-25 | 1999-06-03 | Virata Limited | Method and apparatus for automatically testing the design of a simulated integrated circuit |
FR2779887A1 (en) * | 1998-06-12 | 1999-12-17 | Sgs Thomson Microelectronics | Elementary memory circuit as emulation of flip flop |
US6091664A (en) * | 1998-06-12 | 2000-07-18 | Stmicroelectronics S.A. | Elementary storage circuits |
Also Published As
Publication number | Publication date |
---|---|
AU6537294A (en) | 1994-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4583008A (en) | Retriggerable edge detector for edge-actuated internally clocked parts | |
US6311148B1 (en) | Method for determining static flip-flop setup and hold times | |
JPH0220173B2 (en) | ||
US5826061A (en) | System and method for modeling metastable state machine behavior | |
US5426380A (en) | High speed processing flip-flop | |
US5128970A (en) | Non-return to zero synchronizer | |
EP0233221B1 (en) | Apparatus and method for detecting time-related faults | |
US5761097A (en) | Logic timing analysis for multiple-clock designs | |
US5157673A (en) | Comparison circuit for masking transient differences | |
KR100430609B1 (en) | A pulse signal generating circuit from a clock signal | |
US4317053A (en) | High speed synchronization circuit | |
US5047658A (en) | High frequency asynchronous data synchronizer | |
WO1994023388A1 (en) | Method for solving asynchronisms in digital logic simulators | |
US4082218A (en) | Potential failure detecting circuit having improved means for detecting transitions in short duration signals | |
EP0628913A1 (en) | Interrupt signal detection circuit | |
Van Campenhout et al. | Timing verification of sequential domino circuits | |
EP0030857A2 (en) | Programmable counter circuit | |
US4789959A (en) | Delay circuit for a real time clock | |
US4093851A (en) | Means and methods for detecting the possibility of a failure occurring in the operation of a digital circuit | |
US4741005A (en) | Counter circuit having flip-flops for synchronizing carry signals between stages | |
US5491438A (en) | Synchronized clock generating apparatus | |
US6041418A (en) | Race free and technology independent flag generating circuitry associated with two asynchronous clocks | |
US6150861A (en) | Flip-flop | |
KR970007763B1 (en) | Timing verification circuit | |
US6175257B1 (en) | Integrated circuit comprising a master circuit working at a first frequency to control slave circuits working at a second frequency |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AU BR CA CN FI JP KR RU US |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): AT BE CH DE DK ES FR GB GR IE IT LU MC NL PT SE |
|
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
122 | Ep: pct application non-entry in european phase | ||
NENP | Non-entry into the national phase |
Ref country code: CA |