Nothing Special   »   [go: up one dir, main page]

WO1994023388A1 - Method for solving asynchronisms in digital logic simulators - Google Patents

Method for solving asynchronisms in digital logic simulators Download PDF

Info

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
Application number
PCT/EP1994/000985
Other languages
French (fr)
Inventor
Jose Luis Merino Gonzalez
Fernando Ortiz Saenz
Maria Del Mar Gutierrez Serratosa
Rafael Sanz Gomez
Original Assignee
Alcatel N.V.
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 Alcatel N.V. filed Critical Alcatel N.V.
Priority to AU65372/94A priority Critical patent/AU6537294A/en
Publication of WO1994023388A1 publication Critical patent/WO1994023388A1/en

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

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.
PCT/EP1994/000985 1993-03-31 1994-03-29 Method for solving asynchronisms in digital logic simulators WO1994023388A1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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