Logic simulation machine
First Claim
1. A method for simulating logic operations comprising the steps of:
- simulating one or more time sequential logic functions in each of a plurality of basic processors operating in time unison, and determining a value of a simulated logic function output in each of said plurality of basic processors as a proposed output with a fixed constant delay for the logic function being simulated; and
delaying said proposed output from a final output for a delay time specific to said logic function being simulated.
1 Assignment
0 Petitions
Accused Products
Abstract
An improved logic simulation machine in which non-unitary delays of logic functions being simulated are permitted and in which the delay time can be made different for low-to-high and high-to-low transitions. A plurality of basic processors are interconnected with a control processor through an inter-processor switch. The logic functions being simulated are divided among the various basic processors. The control processor provides primary input data and communicates the results computed by the basic processors with other ones of the basic processors as needed. All of the basic processors and the control processor operate in variable length work cycles. The length of a work cycle is determined by a minimum work space value among all of the logic functions to be simulated, that is, a minimum time to a next successive transition in a simulated output among all of the simulated logic functions. Further, the presence of glitches in the simulated output is detected. The detected glitches are suppressed if their duration is less than the delay time of the logic function being simulated for a particular transition it is predicted to undergo.
-
Citations
21 Claims
-
1. A method for simulating logic operations comprising the steps of:
-
simulating one or more time sequential logic functions in each of a plurality of basic processors operating in time unison, and determining a value of a simulated logic function output in each of said plurality of basic processors as a proposed output with a fixed constant delay for the logic function being simulated; and delaying said proposed output from a final output for a delay time specific to said logic function being simulated. - View Dependent Claims (2, 3)
-
-
4. A method for simulating logic operations comprising the steps of:
-
simulating one or more time sequential logic functions in each of a plurality of basic processors, said logic functions in each of said basic processors being simulated in successive work cycles of logic operations; determining, in each of said basic processors in each of said work cycles, a minimum work space value as a minimum time to a next successive logic operation among all logic functions simulated by said basic processor for each said work cycle; determining a global minimum work space value among all said basic processors for each said work cycle as a minimum one of work space values among all of said basic processors; and advancing each of said basic processors in time sequence in each of said work cycles by said global minimum work space value. - View Dependent Claims (5, 6, 7, 8, 9)
-
-
10. A method for simulating logic operations in successive work cycles in a plurality of basic processors, comprising the steps of:
-
I. in each of a plurality of basic processors and for each logic function simulated in each of said basic processors; (a) determining a value LU IN of a simulated logic function output with a fixed constant minimum delay time; (b) reading an old data value OD (n), a saved data value SD (n), a status bit value SS (n) and a work space value WS(n) from a first signal value memory; (c) reading at least one of a low-to-high delay time value LH and a high-to-low delay time value HL from an instruction memory; (d) selecting one of said value WS(n), LH and HL in accordance with said values SD (n) and SS (n); (e) if said value WS(n) is selected in step (d), subtracting a global minimum work space value GWS(n) therefrom and storing the difference value this calculated as a value WS(n+1), and if one of said values LH and HL is selected in step (d), storing the selected value as said value WS(n+1); (f) performing a logic OR of individual bits of said value WS(n+1) to produce a signal WSO; (g) performing logic operations;
space="preserve" listing-type="equation">SO=S.sub.S (n)+[(LU IN)+S.sub.D (n)],
space="preserve" listing-type="equation">GD=S.sub.S (n)"[(LU IN)+S.sub.D (n)],and
space="preserve" listing-type="equation">S.sub.S (n+1)=WSO+SO+GD.(h) selecting one of LU IN and OD (n) as a final simulated logic function output in accordance with a state of SS (n+1); (i) storing said WS(n+1), SS (n+1), SD (n+1)=LU IN and OD (n+1) in a second signal value memory for a next successive work cycle; (j) repeating said steps (a) through (i) for each simulated logic function for each said work cycle alternating reading and storing in said first and second signal value memories; II. for each said work cycle for each said basic processor, determining a minimum value of WS(n+1); and III. for each said work cycle determining a global minimum work space value GWS(n+1) for a next successive work cycle as a minimum value of WS(n+1) among all of said basic processors. - View Dependent Claims (11, 12)
-
-
13. A logic function simulator comprising a plurality of basic processors, a control processor, and an interprocessor switch interconnecting said basic processors and said control processor, each of said basic processors comprising:
-
means for storing delay times for each logic function simulated by that basic processor; means operating in response to said storing means for determining a time to a next successive logic operation for each said simulated logic function in accordance with a corresponding delay time; means operating in response to said time determining means for determining a minimum work space value as a minimum time to a next successive logic operation among all said simulated logic functions; and means for advancing said basic processor in time sequence by a global minimum work space value, said global minimum work space value being a minimum one of minimum work space values among all said basic processors. - View Dependent Claims (14, 15, 16, 17)
-
- 18. A logic function simulator comprising a plurality of basic processors, a control processor, and an interprocessor switch interconnecting said basic processors and said control processor, said basic processors and said control processor comprising means for simultaneously advancing said basic processors and said control processor through logic operations to be simulated in each work cycle, at a time interval equivalent to a minimum time to a next successive logic operation, among all said basic processors, said minimum time being determined in each said work cycle.
-
21. A logic function simulator comprising:
-
I. a plurality of basic processors, each of said processors comprising; (a) means for determining a value of a simulated logic function output as a proposed output LU IN with a fixed constant delay for the logic function being simulated; (b) first and second signal value memories; (c) means for storing data received from said first and second signal value memories, said data received from said signal value memories including an old data value OD (n), a saved data value SD (n), a status bit value SS (n) and a work space value WS(n); (d) an instruction memory for storing a low-to-high delay time value LH and a high-to-low delay time value HL for each logic function simulated by the basic processor; (e) multiplexer means for selecting one of WS(n), LH and HL in accordance with SS (n) and SD (n); (f) subtractor means for subtracting a minimum work space value from WS(n) to obtain a value WS(n+1) if said WS(n) is selected and passing the selected of said LH and HL if one of said LH and HL is selected; (g) logic circuit means operating in response to an output of said subtracting means, said signals LU IN, OD (n), SD (n) and SS (n) for determining a next successive value SS (n+1) of SS (n) indicative of whether or not a change in said LU IN has occurred but is not yet to be propagated; (h) means for selecting as an output OD (n+1) one of LU IN and OD (n+1) in accordance with an output of said logic circuit means; and (i) switch means for loading into a selected one of said first and second signal value memories said SS (n+1), LU IN=SD (n+1), OD (n+1) and WS(n+1) to become OD (n), SS (n) and WS(n), respectively, for a next successive work cycle for a corresponding logic function; II. a control processor for providing primary signal inputs to said basic processors; and III. an inter-processor switch for interconnecting said basic processor and said control processor.
-
Specification