US5896541A - Null convention register file - Google Patents
Null convention register file Download PDFInfo
- Publication number
- US5896541A US5896541A US08/458,139 US45813995A US5896541A US 5896541 A US5896541 A US 5896541A US 45813995 A US45813995 A US 45813995A US 5896541 A US5896541 A US 5896541A
- Authority
- US
- United States
- Prior art keywords
- null
- register
- data
- values
- storage
- 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.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/085—Error detection or correction by redundancy in data representation, e.g. by using checking codes using codes with inherent redundancy, e.g. n-out-of-m codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
- G06F5/08—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations, the intermediate ones not being accessible for either enqueue or dequeue operations, e.g. using a shift register
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/50—Adding; Subtracting
- G06F7/501—Half or full adders, i.e. basic adder cells for one denomination
- G06F7/502—Half adders; Full adders consisting of two cascaded half adders
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/50—Adding; Subtracting
- G06F7/505—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
- G06F7/5052—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination using carry completion detection, either over all stages or at sample stages only
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/08—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using semiconductor devices
- H03K19/0813—Threshold logic
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/20—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits
- H03K19/23—Majority or minority circuits, i.e. giving output having the state of the majority or the minority of the inputs
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M5/00—Conversion of the form of the representation of individual digits
- H03M5/02—Conversion to or from representation by pulses
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M5/00—Conversion of the form of the representation of individual digits
- H03M5/02—Conversion to or from representation by pulses
- H03M5/16—Conversion to or from representation by pulses the pulses having three levels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/48—Indexing scheme relating to groups G06F7/48 - G06F7/575
- G06F2207/4802—Special implementations
- G06F2207/4818—Threshold devices
- G06F2207/4822—Majority gates
Definitions
- An object of this invention is to provide a data bus for NULL convention logic circuits.
- a further object of this invention is to provide a register file for a NULL convention logic circuits.
- a NULL convention logic bus which includes: a plurality of bus transmission lines; a plurality of NULL convention transmitter ports; and a plurality of NULL convention receiver ports. Each NULL convention transmitter port propagates alternating wavefronts of data an NULL across the bus transmission lines to a NULL convention receiver port.
- a pipeline bus is also provided which includes NULL convention storage registers at the transmitter ports.
- a FIFO pipeline bus is also provided which includes NULL convention storage registers at the receiver ports.
- a NULL convention register file is also provided which includes: a NULL convention input register; and a plurality of NULL convention storage registers. The input register synchronously propagates alternating wavefronts of NULL and data to an addressed NULL convention storage register.
- FIG. 1 illustrates a NULL convention combinational circuit
- FIG. 2a illustrates a Boolean half-adder
- FIG. 2b illustrates a "two-wire" NULL convention half adder
- FIG. 3a illustrates a symbol for a NULL convention n-input threshold-m gate (m-of-n);
- FIG. 3b illustrates a symbol for a NULL convention inverting gate
- FIG. 4 illustrates an example of a combinational form of a NULL convention logic bus
- FIG. 5a-5h illustrate the sequence of the behavior of elements of the combinational bus of FIG. 4;
- FIG. 6 illustrates a NULL convention bus with locally-positioned watchers
- FIG. 7 illustrates a pipeline stage NULL convention logic bus
- FIGS. 8a-8h illustrate the sequence of behavior of elements of the pipeline bus of FIG. 7;
- FIG. 9 shows a FIFO-buffered NULL convention logic bus
- FIG. 10 illustrates a basic configuration of a register file
- FIGS. 11a-11i illustrate a write sequence for elements of the register file of FIG. 10
- FIGS. 12a-12c illustrate a read sequence for elements of the register file of FIG. 10
- FIG. 13 illustrates a multi-port register file
- FIG. 14 illustrates a NULL convention decoder
- NULL convention circuitry and system architectures described here use NULL convention logic. Theory of operation of NULL convention circuits, details for gate implementations, and operation of an asynchronous register are described in U.S. Pat. No. 5,305,463, co-pending U.S. patent application ser. No. 08/368,811 and co-pending U.S. patent application Ser. No. 08/318,508 which are incorporated here by reference. For convenience, certain aspects are repeated here.
- a NULL convention combinational circuit generates a result value set in response to an input value set.
- An important aspect of NULL convention circuits is that any particular input may have a meaningful (DATA) value or a NULL value which has no meaning. The very presence of a non-NULL value indicates that the value has meaning, and no external clock is required to indicate that a value is meaningful.
- NULL convention differs from traditional boolean logic where each signal line may have one of two meaningful states.
- a low voltage level on a signal line means “logic false” or the number "zero.”
- a high voltage level on the same line means “logic true” or the number "one.”
- a signal line may assume one of two values, both of which are meaningful.
- NULL convention has multiple implementations, all of which include a NULL state which has no meaning.
- two separate signal lines would be used to convey two meaningful values. For example, logic “false” would be conveyed by asserting a high voltage on the first line and a low voltage on the second line. Logic “true” would be conveyed by asserting a low voltage on the first line and a high voltage on the second line. NULL would be conveyed by low voltage levels on both lines. (Simultaneous high voltage levels on both lines is an unused combination.) In this example, meaning is expressed according to the signal line asserted, not by the choice of voltage level. A high voltage level "asserts" the meaning of the line. A low voltage level is meaningless.
- multiple voltages can be used on a single line to convey multiple meanings and NULL.
- each signal line may be allowed to assume three voltage levels. A positive voltage level asserts the meaning "true”, a negative voltage level asserts the meaning "false”, and the zero voltage level is NULL (meaningless).
- parameters other than voltage may be used, such as current levels, as long as the requisite number of states can be differentiated.
- each signal line may assume one of two voltage levels, with a high level asserting meaning (DATA) and the ground voltage level being NULL.
- DATA high level asserting meaning
- NULL ground voltage level
- FIG. 1 illustrates a NULL convention combinational circuit.
- logic gates are shown as circles and labeled with numerals 0-9.
- Input lines are labeled with letters A-G
- output lines are labeled with letters U, V
- internal connection lines are labeled with letters H-T.
- Signal lines are schematic, and may be individual conductors, multiple conductors, or another NULL convention configuration.
- a logic gate transitions from a NULL to a meaningful output value after all, or a predetermined set of inputs have assumed meaningful values. For example, as illustrated in FIG. 1, assume that input lines A and B initially have NULL values, and logic gate zero (0) initially has a NULL output. In the case that only input line A transitions to a meaningful value (while input line B remains at NULL), logic gate zero will maintain a NULL output value. In the case that only input line B transitions to a meaningful value (while input line A remains at NULL), logic gate zero still will maintain a NULL output. When both input lines A and B transition to meaningful values (either simultaneously or sequentially), then logic gate zero (0) will change its output to a meaningful value.
- the network outputs transition from NULL to meaningful values cleanly. That is, the outputs do not switch back and forth while partial results have propagated through the intermediate gates.
- the very presence of a meaningful value at the network output is sufficient to indicate that the network has conclusively resolved all intermediate logic operations.
- the very presence of a meaningful value is sufficient to indicate that the value is steady, complete, and may be used by downstream circuitry. Thus, no external clock is required to indicate that the network has completed its operations.
- NULL convention logic gates discussed here also exhibit a second characteristic; their outputs transition from a meaningful value to NULL only when all inputs have switched to NULL. In this way, NULL values also propagate through the network cleanly, and the transition to NULL values at the output is sufficient to indicate that all gates in the network have returned to NULL output states.
- FIG. 2a illustrates a conventional Boolean half-adder constructed of three AND gates 21, 23, 25 and an OR gate 27.
- the half adder has two input signal lines A and B, and two output line S (sum) and C (carry). Each input line may assume one of two meaningful values: “zero” and "one.” Each output line may assume one of two meaningful values: “zero” and "one.”
- the half adder implements a transfer function such that:
- FIG. 2b illustrates a "two-wire" NULL convention half adder. It is similar to the boolean half-adder of FIG. 2a in that there are two inputs A and B and two outputs S and C, and it implements the same transfer function. Unlike the Boolean circuit, the NULL convention half-adder-has a separate signal line for each meaning.
- the carry output for example, has two separate signal lines, each of which may assume one of two voltage levels. A first voltage level is meaningful and the other voltage level is NULL.
- the first signal line 32 (designated as having a meaning "zero” when asserted) is driven to its meaningful voltage level, while the second signal line is held at the NULL voltage level.
- the first signal line In order to assert a value "carry equals one,” the first signal line is held at the NULL voltage level, while the second signal line 34 (designated by design as having a meaning "one") is driven to the meaningful voltage level.
- the half-adder can also assert "carry has no meaning” by holding both carry signal lines at NULL. It is not permitted to have both carry lines at the meaningful voltage level.
- the remaining inputs and outputs (A, B, S) each have a pair of signal lines. Each pair of lines is a "mutually exclusive assertion group,” which means only one line of any group will be asserted at a time.
- the two carry lines form a group in which at most one line may be asserted (i.e., assume a meaningful value). Such a group is referred to has a "mutually exclusive assertion group.” In other design situations, mutually exclusive assertion groups may have more than two lines. A single line, by itself, can be considered a mutually exclusive assertion group.
- the NULL convention half adder is made of six threshold gates 31, 33, 35, 37, 39, 41, 43.
- Each threshold gate has a single signal line output which may be asserted (assume a meaningful voltage level) or NULL (assume a NULL voltage level). The signal line may fan out to several destinations.
- Four of the gates 31, 33, 35, 37 have two input signal lines and a threshold of two ("threshold-two gate”). The output of a threshold-two gate is asserted when two (both) of the input lines are asserted.
- One of the gates 39 has three input signal lines and threshold of one ("threshold-one gate"). The output of the threshold-one gate is asserted when any one of the three inputs is asserted.
- Two of the gates 41, 43 have two inputs and a threshold of one. As a drawing convention, a numeral inside a threshold gate symbol indicates the number of asserted input lines needed to cause the gate to assert its output.
- Each of the NULL convention gates of the half adder exhibits the characteristic that it switches to a meaningful value only when the requisite number of inputs becomes meaningful, and each threshold gate holds a meaningful output value until all of the inputs become NULL.
- threshold gates exhibit a hysteresis: as the number of inputs drops below the threshold, the output remains meaningful.
- the threshold-two gates 31, 33, 35, 37 will maintain meaningful output levels when the number of meaningful inputs drops from two to one. The threshold-two gates will switch to NULL when all inputs become NULL.
- a threshold gate forms a central building block of NULL convention logic circuits.
- the NULL convention threshold gates may be characterized by the number of inputs and the threshold value.
- NULL convention threshold gates have the unique operational requirement that some or all inputs will form mutually exclusive assertion groups. They further ensure completeness of the input set, in that they switch to a NULL output only when all inputs are NULL.
- FIG. 3a illustrates a symbol 51 for an n-input threshold-m gate (m-of-n).
- the output Z becomes asserted when at least m of the n inputs is asserted.
- the output Z returns to NULL only when all of the inputs becomes NULL. This symbol will be used in many forms throughout this description, with the threshold value placed inside the symbol. The number of input signal lines will be apparent from context.
- FIG. 3b illustrates a symbol 52 for an inverting gate.
- An inverting gate generates a NULL signal in response to an asserted signal, and asserts DATA signal in response to a NULL signal.
- a NULL convention system is implemented as a two-voltage system, with one voltage signifying data and a ground voltage signifying NULL, a conventional boolean inverting gate can be used as a NULL convention inverting gate.
- a bus is a system structure that connects other system structures together in a flexible way.
- the duty of a NULL convention logic bus is to pass a DATA and NULL wavefront pair from a selected transmission port on the bus to a selected receiver port on the bus.
- FIG. 4 shows an example of a combinational form of a NULL convention logic bus using tristate drivers to drive the bus.
- This particular example includes four conduction lines 59a, 59b, 59c, 59d pulled to the NULL logic level. It will be assumed that a first pair of transmission lines 59a, 59b form a first mutually exclusive assertion group such that at most one transmission line will be asserted at a time, and that a second pair of transmission lines 59c, 59d form a second mutually exclusive assertion group.
- the bus also includes: four transmitter ports 61a, 61b, 61c, 61d, and four receiver ports 63a, 63b, 63c, 63d; a transmit address decoder 71 and a receive address decoder 73.
- Transmitter port 61a includes: four tristate drivers 65a, 65b, 65c, 65d, a first threshold-two NULL convention logic gate (referred to here as a "watcher") 67a; and a second threshold-two gate 69a (referred to here as a "transmit enable” gate).
- Each of the tristate drivers 65a, 65b, 65c, 65d operates as a traditional, boolean "AND" tristate driver and receives one input from the transmit enable gate 69a, and a second data input from upstream circuitry (not shown). Data to be transmitted on the bus is received from upstream circuitry (not shown) on the second data inputs.
- Each of the tristate drivers 65a, 65b, 65c, 65d has an output connected to one of the bus transmission lines 59a, 59b, 59c, 59d.
- the watcher 67a is a two-of-four gate which receives four inputs, one from each of the bus transmission lines 59a, 59b, 59c, 59d.
- the watcher output is one input to the transmit enable gate 69a.
- the other two inputs to the transmit enable gate 69a are both connected to a single address line TA received from the transmitter address decoder 71.
- the other three transmission ports 61b, 61c and 61d have identical construction, except that each receives a distinct set of input data signals, and each receives a distinct address signal line TB, TC, TD from the transmit address decoder 71.
- Receiver port 63a includes four NULL convention two-of-two gates 75a, 75b, 75c, 75d (referred to here as "receiver gates”), each receiving a first input from a distinct bus transmission line 59a, 59b, 59c, 59d, and each receiving a second input RA from the receive address decoder 73.
- the outputs from the receiver gates are the data to be delivered to a downstream receiving circuit (not shown).
- Transmitter address decoder 71 is a NULL convention combinational circuit receiving at least two inputs 75a, 75b, each a mutually exclusive assertion group.
- the transmitter address decoder 71 also has four output signal lines TA, TB, TC, TD which collectively form a single mutually exclusive assertion group.
- the transmitter address decoder performs a two-to-four decode.
- Input lines 75a form a first bit of a binary number
- input lines 75b form a second bit of a binary number.
- the two-bit binary number has four possible pairs of values (0,0; 0,1; 1,0; 1,1).
- the transmitter address decoder asserts a single output line TA in response to the 0,0 input; asserts a single output line TB in response to the 0,1 input; etc.
- Receiver address decoder 73 is substantially the same as the transmission address decoder 71. Transmitter addresses and receiver addresses are received from a bus control circuit (not shown) which may be designed according to the specific requirements of an application.
- FIGS. 5a-5h illustrate the sequence of behavior of the elements of the combinational bus.
- Narrow lines indicate wires asserting NULL (0 volts).
- Wide (heavy) lines indicate wires asserting data (5 volts).
- Circuit elements that are identical to those illustrated in FIG. 4 will be given identical reference numerals.
- the bus is in a NULL state awaiting a DATA wavefront. All signal lines assert NULL.
- the DATA wavefront arrives in three parts; 1) as a data set presented to transmitter port 61b, with asserted input signal lines 81b and 81c; 2) as a transmitter address presented to the transmitter address decoder with asserted input lines 83b and 83c; and 3) as a receiver address presented to the receiver address decoder with asserted input lines 85a and 85c.
- the data wavefront and the transmitter address will be synchronized into a single data wavefront over the bus by the transmitter port 61b.
- the bus data wavefront will be synchronized with the receiver address into a single data wavefront exiting the bus by the receiver port.
- the transmitter address decoder 71 and the receiver address decoder 73 each decode their respective inputs into address strobes TB and RD, and the decoders 71, 73 present the strobes to the transmitter port 61b and the receiver port 63d.
- the transmit enable gate 87 of transmitter port 61b receives the address strobe TB. Because the address strobe provides two inputs, and because the transmit enable gate 87 has a threshold of two, transmit enable gate 87 asserts its output 89.
- the asserted output 89 provides one asserted input to all four tristate drivers 91a, 91b, 91c, 91d.
- the data wavefront will pass through the transmitter port 61b onto the bus transmission line 59a, 59b, 59c, 59d (as discussed below), but not until the data wavefront and the address strobe are both present. If the address strobe arrives at a transmitter port early, it will not create an erroneous data wavefront on the bus transmission lines. If the data arrives at the transmitter port early, it will not pass until the address strobe arrives. The two wavefronts are synchronized into a single data wavefront by the transmitter port. The transmitter port thus enforces the completeness of input criteria for data.
- the data wavefront passes through transmitter port 61b via the enabled tristate driver 91a, 91b, 91c, 91d and is presented on the bus transmission lines 59a, 59b, 59c, 59d.
- the watchers 67a, 67b, 67c, 67d of all transmission ports detect the data wavefront and assert DATA values to their respective transmit enable gates 69a, 69b, 69c, 69d. For all of the transmitter ports that are not addresses, this has no effect because the single asserted input does not rise above the threshold two level, and does not cause the non-selected transmit enable gate to become asserted. For those non-selected ports, any data that might be presented remains blocked.
- the asserted signal from the watcher 67b will maintain the enable gate 69b and the tristate drivers 91a, 91b, 91c, 91d enabled until after the address strobe TB becomes NULL, and until after the actual NULL wavefront passes through the tristate drivers 91a, 91b, 91c, 91d.
- the data wavefront passes through the selected receiver port 61b, and arrives at all receiver ports 63a, 63b, 63c, 63d. If the data wavefront arrives at the receiver gates 93a, 93b, 93c, 93d before the address strobe RD from the receiver address decoder 73, then the receiver gates 93a, 93b, 93c, 93d block the data (i.e., prevent it from passing downstream. If the address strobe RD arrives at the receiver port 63d before the data wavefront, then the bus is in a NULL state and a false data wavefront will not be generated. The bus data wavefront and the receiver address wavefront are synchronized into a single data wavefront exiting-the bus through the receiver port 63d. The receiver port enforces the completeness of input criteria for data.
- the data wavefront now has played through the bus with full delay insensitivity, and the bus is in a stable state awaiting the NULL wavefront.
- the receiver gates block the data from passing from the bus to unintended circuits.
- a NULL wavefront arrives at the transmitter port 61b and at the inputs of the address decoders 71, 73. All other previously asserted gates and drivers remain asserted.
- the NULL wavefront immediately passes through the tristate drivers 91a, 91b, 91c, 91d of the selected transmit port 61b to the bus.
- the transmitter decoder 71 and receiver address decoder 73 return the respective address lines TB, RD to NULL.
- the receiver gates 93a, 93b, 93c, 93d maintain their outputs (asserted or not according to the data), because the threshold-two receiver gates 93a, 93b, 93c, 93d do not return to NULL until all inputs return to NULL.
- the NULL wavefront is blocked. If the address strobe RD returns to NULL before the NULL wavefront (i.e., while the bus is in a DATA state), the receiver gates 93a, 93b, 93c, 93d maintain their outputs, and a false NULL wavefront will not be generated.
- the bus NULL wavefront and the receiver address strobe NULL wavefront are synchronized into a single NULL wavefront exiting the bus through the receiver. The receiver enforces the completeness of input criteria for NULL.
- the NULL wavefront on the bus is detected by all the watchers 67a, 67b, 67c, 67d, which return their outputs to NULL.
- the tristate drivers 91a, 91b, 91c, 91d of the selected transmitter port 61b are turned off, but only after the transmit address strobe TB has become NULL and the NULL wavefront has been detected on the bus. Detecting the NULL wavefront on the bus ensures that the bus has actually been driven to NULL (ground) before turning off the tristate drivers 91a, 91b, 91c, 91d. Detecting the NULL wavefront on the bus itself allows the tristate drivers to drive the bus to NULL quickly, after which weak pull down devices can maintain the bus at NULL when the tristates are turned off and the bus is isolated.
- the NULL wavefront has passed through the selected receiver port 63d, and the bus has returned to its initial all-NULL state awaiting another data wavefront as in FIG. 5a.
- each transmitter port had a separate watcher 67a, 67b, 67c, 67d watching the same set of wires on the bus. These four watchers can be reduced to a single watcher that fans out its acknowledge to all the transmitter ports. If the bus is sprawling, there can be a watcher for each locality of transmitters as shown in FIG. 6.
- transmitter ports 61a and 61b are local to each other, that transmitter ports 61c and 61d are local to each other, but that ports 61a and 61b are remote from 61c and 61d.
- ports 61a and 61b share a single watcher 95, while ports 61c and 61d share another watcher 97.
- a pipeline stage bus can be achieved by surrounding the combinational bus described above with synchronous registers as shown in FIG. 7.
- the pipeline bus of FIG. 7, like the combinational bus of FIG. 4, includes four conduction lines 59a, 59b, 59c, 59d pulled to the NULL logic level.
- a first pair of transmission lines 59a, 59b form a first mutually exclusive assertion group such that at most one transmission line will be asserted at a time, and a second pair of transmission lines 59c, 59d form a second mutually exclusive assertion group.
- the bus also includes: four pipeline transmitter ports 101a, 101b, 101c, 101d; four pipeline receiver ports 103a, 103b, 103c, 103d; a transmit address decoder 71; and a receive address decoder 73.
- Pipeline transmitter port 101a of the pipeline register bus further includes four threshold-two gates 105a, 105b, 105c, 105d, referred to here as input "register gates,” and a fifth threshold two-gate 119a. Each input register gate receives one data input from a circuit providing data for transmission over the bus (not shown).
- the outputs of the input register gates 105a, 105b, 105c, 105d become data inputs to respective tristate drivers 65a, 65b, 65c, 65d.
- the fifth threshold-two gate 119a receives a feedback signal 106 from receiver ports as well as an address signal TA, and generates an enable signal to the four input register gates.
- the other three pipeline transmitter ports 101b, 101c and 101d have substantially the same construction as pipeline transmission port 101a.
- a DACK/NACK watcher gate 104a and an associated inverter gate 104b monitor the four DACK/NACK signals 68a, 68b, 68c, 68d from the pipeline transmitter ports 101a, 101b, 101c, 101d and provide a composite feedback signal 102.
- Pipeline receiver port 103a like receiver port 63a of FIG. 4, includes four NULL convention gates 107a, 107b, 107c, 107d (referred to here as "pipeline receiver gates"), each receiving a first input from a distinct bus transmission line 59a, 59b, 59c, 59d, and each receiving a second input RA from the receive address decoder 73.
- NULL convention gates 107a, 107b, 107c, 107d referred to here as "pipeline receiver gates”
- the pipeline receiver port of FIG. 7 differs from the receiver port of FIG. 4 in that the port of FIG. 7 further includes a watcher gate 108a.
- the watcher gate 108a is a two-of-four gate which monitors the four outputs from the pipeline receiver gates and, when two are asserted, provides-a DACK/NACK feedback signal 112a.
- a one-of-four gate 117a and an associated inverter gate 117b monitor DACK/NACK signals 112a, 112b, 112c, 112d from all receiver ports and, when any one is asserted, generates a composite feedback signal 106 for use by transmitter ports.
- the pipeline receiver port of FIG. 7 also differs from the receiver port of FIG. 4 in that the pipeline receiver gates 107a, 107b, 107c, 107d are three-of-three gates which receive a feedback signal 121a from downstream circuitry (not shown).
- the addition of the watcher 108a and addition of the feedback signal 121a converts the pipeline register gates into an asynchronous storage register, which will be referred to here as a "receiver register" 120a.
- the operation of asynchronous registers is described in co-pending U.S. patent application Ser. No. 08/318,508, incorporated here by reference.
- the other three pipeline receiver ports 103b, 103c and 103d have substantially the same construction as pipeline receiver port 103a.
- the transmitter address decoder 71 of the pipeline bus of FIG. 7 is identical to the transmitter address decoder 71 of the combinational bus of FIG. 4.
- the pipeline bus additionally includes four NULL convention gates 115a, 115b, 115c, 115d, referred to here as transmit address register gates, and a DACK/NACK monitor 117a.
- the DACK/NACK monitor 117a is a one-of-four gate which monitors the outputs of the four transmitter register gates 115a, 115b, 115c, 115d and provides a feedback signal through gate 133 to upstream circuitry generating the data transmitted on the bus (not shown).
- the transmit register gates 115a, 115b, 115c, 115d and the DACK/NACK monitor 117a form an synchronous storage register which is referred to here as the transmit address register 123.
- the receiver address decoder 73 of the pipeline bus of FIG. 7 is identical to the address decoder 73 of the combinational bus of FIG. 4.
- the pipeline bus additionally includes four NULL convention gates 111a, 111b, 111c, 111d, referred to here as receive address register gates, and a DACK/NACK monitor 113a.
- the DACK/NACK monitor 113a is a one-of-four gate which monitors the outputs of the four receive address register gates 111a, 111b, 111c, 111d and provides a feedback signal through gate 133 to upstream circuitry generating the data transmitted on the bus (not shown).
- the receive address register gates 111a, 111b, 111c, 111d and the DACK/NACK monitor 113a form an asynchronous storage register which is referred to here as the receiver address register 125.
- the pipeline register bus further includes a number of additional NULL convention gates which will be described below while describing operation of the bus.
- FIGS. 8a-8h illustrate the sequence of the behavior of the elements of the pipeline bus.
- Narrow lines indicate wires asserting NULL (0V).
- Wide (heavy) lines indicate wires asserting data (5V). Circuit elements that are identical to those illustrated in FIG. 7 will be given identical reference numerals.
- the bus circuit begins in an all NULL state. Address inputs to the transmitter address decoder 71 and receiver address decoder 73 are NULL, and address outputs TA, TB, TC, TD, RA, RB, RC, RD from the transmit address register 123 and receive address register 125 are NULL. Input data lines to the pipeline transmitter ports 101a, 101b, 101c, 101d are NULL, bus transmission lines 59a, 59b, 59c, 59d are NULL, and output data lines from the pipeline receiver ports 103a, 103b, 103c, 103d are NULL.
- Watcher gates 108a, 108b, 108c, 108d of receiver ports 103a, 103b, 103c, 103d sense no asserted data, and they assert NULL on DACK/NACK signal lines 102a, 102b, 102c, 102d.
- Gates 117a, 117b sense no asserted DACK/NACK signals and (by operation of inverting gate 117b), assert DATA on signal line 106.
- the asserted signal line 106 has no effect on input register gates 119a, 119b, 119c, 119d, because the input register gates are threshold-two gates and now receive only one asserted data input.
- the asserted signal line 106 also has no effect on transmitter address register gates 115a, 115b, 115c, 115d or on receiver address register gates 111a, 111b, 111c, 111d because those are threshold-two gates and receive only one asserted data input.
- Watcher gates 117a, 117b of the transmitter address register 123 sense no asserted DATA address lines, and (by operation of the inverting gate 117b) assert DATA on output signal line 127.
- Watcher gates 113a and 113b of the receiver address register 125 sense no asserted address lines, and (by operation of inverting gate 113b) assert DATA on an output signal line 129.
- the four watcher gates 67a, 67b, 67c, 67d of the transmitter ports 101a, 101b, 101c, 101d sense no asserted data lines and assert NULL on DACK/NACK signal lines 131a, 131b, 131c, 131d.
- Watcher gates 104a, 104b sense no asserted DACK/NACK signal lines 131a, 131b, 131c, 131d and (by operation of inverting gate 104b) asserts DATA on signal line 102.
- Three-of-three gate 133 sense three asserted inputs (signal lines 102, 129 and 127), and asserts DATA on signal line 135, which is a request to upstream circuitry (not shown) that the bus is ready to accept data.
- a data wavefront arrives, which consists of: 1) data arriving at transmitter port 101b; 2) a transmitter address arriving at transmitter address decoder 71; and 3) a receiver address arriving at receiver address decoder 73.
- the data wavefront is blocked at the transmitter register gates 135a, 135b, 135c, 135d.
- the transmit address decoder 71 decodes the transmit address and presents the decoded address to the transmitter address register 123.
- Transmit address register gate 115b now receives two asserted data inputs, and asserts data on transmit address signal line TB.
- Gate 119b of transmitter port 101b now receives two asserted data inputs and asserts DATA on its output signal line.
- Gate 61b also now receives two asserted data inputs and asserts DATA on its output signal line.
- Watcher gates 117a, 117b of transmit address register 123 detect the presence of the address strobe on signal line TB and switch output line 127 to NULL.
- the receiver address decoder 73 decodes the receive address and presents the decoded address to receiver address register 125.
- Receive address register gate 111d now receives two asserted data inputs, and asserts data on receive address signal line RD.
- Receiver gates 139a, 139b, 139c, 139d of receiver port 103d now receive one asserted data input, but this is less than their threshold and they maintain NULL on their output signal lines.
- Watcher gates 113a, 113b of receive address register 125 detect the presence of the asserted -address strobe on signal line RD and switch output line 129 to NULL.
- Gate 133 (which receives the output from address register watcher gates 117b and 113b) now receives only one asserted data signal from gate; however, the hysteresis characteristic of NULL convention gates causes gate 133 to maintain an asserted DATA output.
- the transmitter port 101b is now enabled to pass data to the tristate drivers 137a, 137b, 137c, 137d, which are also enabled.
- the data wavefront is synchronized with the address strobe at the transmitter register gates 135a, 135b, 135c, 135d.
- the data wavefront passes through the transmit register gates 135a, 135b, 135c, 135d and through the tristate drivers 137a, 137b, 137c, 137d with full delay insensitivity, appears on the bus conductors 59a, 59b, 59c, 59d and is presented to the watchers 67a, 67b, 67c, 67d.
- Relative delays in the signals of the data wavefront arriving at the tristate gates do not cause hazards or races.
- the data wavefront is presented to the r103d but is 103d but is blocked by receiver gates 139a, 139b, 139c, 139d until they receive an asserted data request from downstream circuitry (not shown).
- the bus is now locked until the receiver port gets a data request from its next circuit and returns a request back to the transmitter on signal line 102d to the transmitter and address registers to advance to the next part of the DATA/NULL cycle.
- the watchers 67a, 67c, 67d for the non-addressed transmitter ports 101a, 101c, 101d have no effect on their registers or on the circuit as a whole. Data can be presented to the non addressed registers, and it is blocked until the transmitter register is addressed.
- the asserted DACK/NACK signal lines 131a, 131b, 131c, 131d from the transmitter watchers 67a, 67b, 67c, 67d provide sufficient asserted data inputs to cause gates 104a and 104b to switch and generate NULL on feedback line 135.
- This transmission on feedback line 135 signals the upstream circuit to present NULL, and thus advance to the NULL portion of the cycle.
- the circuit (not shown) downstream from the receiver port 103 requests data by asserting DATA on the "from next" signal line 141d.
- the receiver register synchronizes three signal sets: 1) the data wavefront from the bus, 2) the address strobe RD; and 3) the request for data from the next circuit.
- the receiver gates 139b, 139c now receive three asserted data inputs and pass the data on to the down stream circuit.
- the watcher gate 108d detects the data wavefront and asserts data on its DACK/NACK signal line 102d. This DATA signal triggers gates 117a, 117b to switch and assert NULL on feedback signal line 106.
- This NULL signal has no effect on the receiver address register gate 111d because of the gate's hysteresis property, i.e., gate 111d continues to assert DATA.
- transmitter register gate 115b continues to assert DATA on address line TB
- transmitter register gates 135b and 135c continue to assert DATA.
- the pipeline bus now is in a stable state awaiting the arrival of the NULL wavefront from upstream circuitry. If the NULL wavefront has already been presented, the transmitter register gates 135a, 135b, 135c, 135d will block it and continue to assert DATA as before. The NULL wavefront is blocked at the transmitter register. The NULL wave front will not pass through the transmitter register and the tristates until after downstream circuitry has requested NULL on line 141d as discussed below.
- the NULL wavefront arrives at: 1) the transmitter port 101b; 2) at the transmit address decoder 71; and 3) at the receive address decoder 73.
- the inputs to the address registers 123, 125 have returned to NULL but the NULL values have not propagated through to cause address strobe lines TB and RD to return to NULL.
- the transmitter register gates 135a, 135b, 135c, 135d block the NULL wavefront until the address strobe TB return to NULL.
- the NULL address lines TB and RD have returned to NULL.
- the output of transmitter port gate 119b returns to NULL, and all inputs to transmitter register gates 135a, 135b, 135c, 135d are NULL.
- the NULL wavefront has not yet passed through the tristate drivers 137a, 137b, 137c, 137d, and the downstream circuit continues to request data; therefore, receiver gates 139a, 139b, 139c, 139d continue to receive at least one asserted DATA input, and they maintain their previous output states.
- watcher gate 117a now receives all NULL inputs, and gate 117b asserts DATA on signal line 127.
- watcher gate 113a now receives all NULL inputs, and gate 113b asserts DATA on signal line 129. These two asserted DATA signals are not yet enough to cause gate 133 to assert DATA.
- the NULL wavefront passes through the transmitter register gates 135a, 135b, 135c, 135d, through the tristate drivers 137a, 137b, 137c, 137d, and onto the bus lines 59a, 59b, 59c, 59d.
- the bus watcher 67b detects the NULL wavefront and turns off the tristate drivers 137a, 137b, 137c, 137d for the port.
- the NULL wavefront is now blocked at the receiver register.
- the NULL wavefront is blocked at the receiver register gates, whose hysteresis characteristics cause them to maintain their outputs as long as the downstream circuit (not shown) requests data on "from next" signal line 141d.
- gate 104a On the transmitter side, gate 104a now receives all NULL inputs from watchers 67a, 67b, 67c, 67d, and gate 104b asserts DATA on its output.
- Gate 133 which has a threshold of three, now receives three asserted DATA inputs and asserts its output. This asserted output signals the upstream circuit (not shown) that a data wavefront may now be presented.
- the bus is prevented from accepting data, however, by operation of gates 117a and 117b, which will continue to lock the bus until the downstream circuit has cleared the receiver gates by signaling for a NULL wavefront.
- the downstream circuit (not shown) for port 103d requests a NULL wavefront by asserting NULL on "from next" signal line 141d.
- Receiver gates 139a, 139b, 139c, 139d now have all NULL inputs and assert NULL on their outputs.
- Watcher gate 108d now receives all NULL inputs and asserts NULL on signal line 102d.
- Gate 117a now receives all NULL inputs, and gate 117b asserts DATA on signal line 106, which returns the bus to its starting state as shown in FIG. 8a.
- the bus now may pass through a new cycle of data.
- the bus is tied up each cycle in the state shown in FIG. 8c or 8g until the downstream circuit requests a next data or NULL wavefront. If the downstream circuit is another synchronous register, the requested wavefront can be immediately accepted from the receive register, thereby freeing the bus to perform another cycle between two different ports. The actual downstream circuit can then request the NULL or data wavefront from the second register when it is ready without holding up other data transfer on the bus.
- the receive register and its following register form a FIFO. Two, three or more registers can be added to make this FIFO as long as desired. If the FIFO is full and the associated receive register is addressed, the bus will hang until there is a spot in the FIFO for the next wavefront from the bus. The FIFO depths can be adjusted to maximize the performance of the bus.
- FIG. 9 shows such a FIFO buffered bus. It includes all the elements of the pipeline bus described in FIGS. 7, 8a-8h.
- Receiver port 103a further includes four threshold-two gates 209a, 209b, 209c, 209d and a DACK/NACK monitor gate 210a, configured as an synchronous register and collectively referred to as an output FIFO register 220a.
- Each of the four threshold two-gates 209a, 209b, 209c, 209d are referred to here as output FIFO register gates.
- Each output FIFO register gate 209a, 209b, 209c, 209d receives one data input from a corresponding pipeline receiver gate 107a, 107b, 107c, 107d, and each FIFO register gate also receives a DACK/NACK input signal 121a received from downstream circuitry (not shown).
- the outputs of the output FIFO register gates 209a, 209b, 209c, 209d become data inputs to downstream circuitry (not shown).
- a DACK/NACK monitor 210a is a is two-of-four gate which monitors the outputs of the four output register gates 209a, 209b, 209c, 209d and provides a feedback signal to the receiver gates 107a, 107b, 107c, 107d. Operation of a pipeline of synchronous registers is described in co-pending U.S. patent application Ser. No. 08/318,508, incorporated here by reference.
- a register file is a system structure that addressably stores temporary data in a system. To deal with the alternating NULL-DATA wavefronts, a NULL convention register file must have an input register stage.
- FIG. 10 illustrates a basic configuration of a register file. It includes an input register 301, four storage registers shown generally as 303a, 303b, 303c, 303d; an output interface 305a, a write address decoder 307, and a read address decoder 309.
- the input register 301 includes four input gates 311a, 311b, 311c, 311d, a watcher 313a and an associated inverter 313b.
- Each input gate receives a data input from an upstream circuit (not shown) and an enable input from gate 312.
- the watcher 313a monitors the four outputs of the input gates 311a, 311b, 311c, 311d, and the inverter 313b provides a DACK/NACK feedback signal 314 to the upstream circuit (not shown).
- Storage register 303a includes four register gates 315a, 315b, 315c, 315d, four drivers 317a, 317b, 317c, 317d, two enable gates 319a, 321a, a watcher gate 323a and an associated inverter gate 325a.
- Each register gate 315a, 315b, 315c, 315d receives one input from a corresponding input gate 311a, 311b, 311c, 311d.
- Each register gate 315a, 315b, 315c, 315d also receives two enable inputs, one from enable gate 319a and one from enable gate 321a.
- Enable gate 321a is an inverting gate that asserts DATA when address line WA is NULL, and asserts NULL when address line WA is DATA.
- the watcher 323a monitors the four outputs of the register gates 315a, 315b, 315c, 315d, and the inverter 313b provides a DACK/NACK feedback signal 326a to enable gate 319a and to gate 319a.
- Both enable gates 319a, 321a receive an address input WA from address decoder 307.
- Each driver 317a, 317b, 317c, 317d receives a data input from a corresponding register gate 315a, 315b, 315c, 315d, and also receives an enable input RA from the read address decoder 309.
- the other three storage registers 303b, 303c, 303d are essentially the same as the first storage register 303a, except that each receives a distinct write address input WB, WC, WD and a distinct read address input RB, RC, RD.
- the read address decoder 307 and the write address decoder 309 both decode a binary address value (e.g., 00, 01, 10, 11) into one of four discrete address lines (e.g., WA for the write address decoder, or RA for the read address decoder).
- The are substantially identical to the port address decoders of the bus structures 305a described above with reference to FIG. 4.
- Output interface 305a includes four output gates 327a, 327b, 327c, 327d.
- Output gate 327a receives a first input from a driver 317a of storage register 303a, a second input from a driver 329a of storage register 303b, a third input from a driver 331a of storage register 303c, and a fourth input from a driver 333a of storage register 303d.
- the other three output gates 327b, 327c, 327d are similarly connected to respective drivers of the four storage registers.
- FIGS. 11a-11i illustrate a write sequence for the elements of the register file
- FIGS. 12a-12c illustrate a read sequence.
- Narrow lines indicate wires asserting NULL (0V).
- Wide (heavy) lines indicate wires asserting DATA (5V).
- Circuit elements that are identical to those illustrated in FIG. 10 will be given identical reference numerals.
- a read and write operation for storage register 303a will be described. Drawings will emphasize the input register and storage registers 303a and 303b.
- Storage registers 303c and 303d, which are not addressed, will operate similarly to storage register 303b (which also is not addressed). It should be understood that output interface 305 will pass through the data from the addressed storage register.
- the circuit is in a stable state awaiting a data wavefront.
- Write address decoder 307 and read address decoder 307 both receive NULL inputs, and all address lines WA, WB, WC, WD, RA, RB, RC, RD are NULL.
- Enable gate 321a (an inverting gate) receives NULL on address line WA and asserts DATA, thereby holding register gates 315a, 315b, 315c, 315d in their previous states, i.e., storing data as written in a previous cycle.
- Watcher gate 323a detects the presence of data, and it associated inverter 325a asserts NULL on DACK/NACK signal line 326a.
- Enable gate 319a receives two NULL inputs and asserts a NULL output.
- Gate 312 receives the NULL DACK/NACK signal on line 326a, and also receives NULL signals from lines 326b, 326c, 326d from the other storage registers 303b, 303c, 303d.
- Gate 312 generates a NULL output.
- Input gates 311a, 311b, 311c, 311d receive the NULL output from gate 312, and each receives a NULL signal from upstream circuitry (not shown). All four input gates 311a, 311b, 311c, 311d have NULL outputs.
- Drivers 317a, 317b, 317c, 317d receive NULL on signal line RA and assert NULL outputs to output interface 305a.
- the other three storage registers 303b, 303c, 303d are in essentially the same states, except that each may be storing unique data.
- a DATA wavefront arrives, which consists of: 1) data arriving at input register 301; and 2) a write address arriving at transmitter address decoder 307.
- the data wavefront will not pass though the input register 301, because enable gate 312 provides one NULL input to input gates 311a, 311b, 311c, 311d.
- the write address decoder asserts DATA on address line WA.
- inverting enable gate 321a In storage register 303a (the addressed register), inverting enable gate 321a generates a NULL signal. The data wavefront is still blocked at the input register 301, however, input gates are presenting NULL to the storage gates 315a, 315b, 315c, 315d. These NULL signals, in combination with the NULL output from inverting gate 321a will cause storage gates 315a, 315b, 315c, 315d to switch to NULL, thus clearing register 303a.
- FIG. 11d storage gates 315a, 315b, 315c, 315d have been cleared.
- the watcher gate 323a receives all NULL inputs, and its associated inverting gate 325a asserts DATA on signal line 326a.
- This DATA signal plays through gate 312, which will enable input gates 311a, 311b, 311c, 311d to store the data wavefront.
- the input register 301 stores the DATA wavefront and presents it to the data register 303a over the internal bus 335.
- Watcher gate 313a detects the presence of the data wavefront, and its associated inverting gate 313b generates a NULL output. This NULL output signals the upstream circuit (not shown) to present a NULL wavefront.
- None of the non-addressed storage registers 303b, 303c, 303d are affected by the data presented on the internal bus 335, because none of the thresholds of the other register gates are met.
- the circuit is in a stable state awaiting the arrival of the NULL wavefront.
- a NULL wavefront arrives from the upstream circuit (not shown) at the input register 301 and at the write address decoder 307.
- the input gates 311a, 311b, 311c, 311d maintain their outputs (DATA or NULL), because gate 312 continues to provide an asserted DATA input.
- write address decoder 307 returns write address line WA to NULL.
- enable gate 319a maintains its asserted DATA output, because DACK/NACK signal line 326a remains asserted.
- Inverting gate 321a asserts DATA to the four storage gates 315a, 315b, 315c, 315d which will enable them to store the data wavefront.
- storage gates 315a, 315b, 315c, 315d store the data wavefront.
- the watcher 323a detects the data at the outputs of the storage gates 315a, 315b, 315c, 315d, and its associated inverting gate 325a asserts NULL on feedback line 326a.
- This NULL signal passes through gate 312, which switches its output to NULL.
- Input register 301 will now be enabled to store the NULL wavefront previously received from upstream circuitry (not shown).
- the input register 301 stores the NULL wavefront an presents NULL to the internal bus 335.
- the watcher gate 313a detects the NULL wavefront, and its associated inverting gate 313b asserts DATA on DACK/NACK feedback line 314, thereby requesting a new DATA wavefront from the upstream circuit (not shown).
- the data values have been stored in the register selected by the write address in one DATA-NULL cycle.
- the circuit has returned to the stable state of FIG. 11a (except that new data has been stored) and the register file awaits the next DATA-NULL cycle.
- data may be stored in any of the register files in a similar manner by providing write address decoder 307 with the appropriate binary address. It should also be understood that the presence of data on the internal bus will have no effect on a storage register that is not addressed.
- FIGS. 12a-12c illustrate a read sequence for the register file. It will be assumed that the circuit begins in the stable state shown in FIG. 11i.
- data has already been stored in storage gates 337a, 337b, 337c, 337d of register 303b.
- Enable gate 321b asserts DATA, because it initially receives NULL on address line WB.
- Watcher gate 323b detects the presence of data, and its associated inverting gate 325b asserts NULL on signal line 326b.
- Enable gate 319b asserts NULL, because it receives all NULL inputs (NULL from address decoder line WB and NULL from watcher inverting gate 325b)
- Drivers 339a, 339b, 339c, 339d receive one NULL input from read address line RB, and their outputs are NULL.
- a binary address is presented to read address decoder 309.
- the example is an address for storage register 303b.
- the read address decoder 309 decodes the binary address and asserts DATA on read address line RB.
- Drivers 339a, 339b, 339c, 339d become enabled, and allow data from the storage gates 337a, 337b, 337c, 337d to pass to output interface 305 (FIG. 10).
- the data passing through the drivers may be thought of as a continuation of the data wavefront started with the binary write address.
- a downstream circuit will detect the data wavefront continuing from the selected register.
- a NULL wavefront is presented in the form of a NULL address presented to the read address decoder 309.
- Read address decoder 309 asserts NULL on read address line RB, and the drivers 339a, 339b, 339c, 339d again assert NULL and isolate the storage gates 337a, 337b, 337c, 337d from the output interface 305 (FIG. 10).
- This assertion of NULL may be thought of as a continuation of the NULL wavefront started with the NULL write address.
- any of the storage registers can be accessed by selecting the appropriate binary address. It should also be understood that write cycles and read cycles can occur simultaneously, but that a register that is being written cannot be read in the same cycle.
- a modification to the circuit of FIG. 10 provides dual output ports for the register file. It requires another address decoder 341 and another rank of drivers 343a, 343b, 343c, 343d connected in parallel with the first drivers (e.g., 317a-317d, 339a-339d) forming another output bus 345 as shown in FIG. 13.
- FIG. 14 illustrates a two-to-four NULL convention decoder suitable for use as an address decoder in the examples of logic busses and register files described above.
- the decoder 401 includes four threshold-two gates 403, 405, 407, 409.
- the output of gate 403 is a first address line
- the output of a second gate 405 is a second address line, etc.
- the inputs are selected from the binary input address to activate each line in response to the appropriate input signal pattern.
- decoders with higher numbers of inputs and outputs can be made by adding additional gates, wiring them appropriately to the input signals, and changing threshold values if necessary.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Power Engineering (AREA)
- Quality & Reliability (AREA)
- Bus Control (AREA)
Abstract
Description
Claims (22)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/458,139 US5896541A (en) | 1991-05-17 | 1995-06-02 | Null convention register file |
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US70201691A | 1991-05-11 | 1991-05-11 | |
US07/837,641 US5355496A (en) | 1992-02-14 | 1992-02-14 | Method and system for process expression and resolution including a generally and inherently concurrent computer language |
US08/074,288 US5305463A (en) | 1991-05-17 | 1993-06-08 | Null convention logic system |
US08/220,636 US5664212A (en) | 1991-05-17 | 1994-03-31 | NULL convention logic system |
US08/296,809 US5572732A (en) | 1992-02-14 | 1994-08-26 | Method and system for process expression and resolution including a general method of direct association |
US08/318,510 US5664211A (en) | 1993-06-08 | 1994-10-05 | Null convention threshold gate |
US36881195A | 1995-01-06 | 1995-01-06 | |
US08/424,865 US5796962A (en) | 1991-05-17 | 1995-04-18 | Null convention bus |
US08/458,139 US5896541A (en) | 1991-05-17 | 1995-06-02 | Null convention register file |
Related Parent Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US08/296,809 Continuation-In-Part US5572732A (en) | 1991-05-17 | 1994-08-26 | Method and system for process expression and resolution including a general method of direct association |
US08/424,865 Division US5796962A (en) | 1991-05-17 | 1995-04-18 | Null convention bus |
Publications (1)
Publication Number | Publication Date |
---|---|
US5896541A true US5896541A (en) | 1999-04-20 |
Family
ID=46251350
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US08/424,865 Expired - Lifetime US5796962A (en) | 1991-05-17 | 1995-04-18 | Null convention bus |
US08/458,139 Expired - Lifetime US5896541A (en) | 1991-05-17 | 1995-06-02 | Null convention register file |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US08/424,865 Expired - Lifetime US5796962A (en) | 1991-05-17 | 1995-04-18 | Null convention bus |
Country Status (1)
Country | Link |
---|---|
US (2) | US5796962A (en) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6791362B1 (en) | 2003-12-09 | 2004-09-14 | Honeywell International Inc. | System level hardening of asynchronous combinational logic |
US20040257108A1 (en) * | 2003-06-17 | 2004-12-23 | Honeywell International Inc. | Single event hardening of null convention logic circuits |
US20060033523A1 (en) * | 2004-07-15 | 2006-02-16 | Honeywell International Inc. | Error recovery in asynchronous combinational logic circuits |
US20080059773A1 (en) * | 2006-08-29 | 2008-03-06 | Karl Fant | Systems and methods using an invocation model of process expression |
US8952727B2 (en) | 2012-08-20 | 2015-02-10 | Wave Semiconductor, Inc. | Hum generation circuitry |
US8981812B2 (en) | 2012-02-21 | 2015-03-17 | Wave Semiconductor, Inc. | Self-ready flash null convention logic |
US9024655B2 (en) | 2012-02-21 | 2015-05-05 | Wave Semiconductor, Inc. | Multi-threshold flash NCL circuitry |
US9203406B2 (en) | 2012-02-21 | 2015-12-01 | Wave Semiconductor, Inc. | Implementation method for fast NCL data path |
US9692419B2 (en) | 2014-11-15 | 2017-06-27 | Wave Computing, Inc. | Compact logic evaluation gates using null convention |
US9960771B2 (en) | 2016-03-31 | 2018-05-01 | Wave Computing, Inc. | Hum generation using representative circuitry |
US10318691B2 (en) | 2016-06-22 | 2019-06-11 | Wave Computing, Inc. | Timing analysis and optimization of asynchronous circuit designs |
US10950299B1 (en) | 2014-03-11 | 2021-03-16 | SeeQC, Inc. | System and method for cryogenic hybrid technology computing and memory |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1064767B8 (en) | 1998-03-16 | 2007-06-27 | Jazio Inc. | High speed signaling for interfacing vlsi cmos circuits |
US6327205B1 (en) | 1998-03-16 | 2001-12-04 | Jazio, Inc. | Signal latching of high bandwidth DRAM arrays when skew between different components is higher than signal rate |
US6160423A (en) * | 1998-03-16 | 2000-12-12 | Jazio, Inc. | High speed source synchronous signaling for interfacing VLSI CMOS circuits to transmission lines |
US6889095B1 (en) * | 1998-06-11 | 2005-05-03 | Agilent Technologies, Inc. | Computer network adapted for industrial environments |
US7123660B2 (en) * | 2001-02-27 | 2006-10-17 | Jazio, Inc. | Method and system for deskewing parallel bus channels to increase data transfer rates |
US20100097131A1 (en) * | 2007-09-03 | 2010-04-22 | John Bainbridge | Hardening of self-timed circuits against glitches |
US9606948B2 (en) * | 2012-12-05 | 2017-03-28 | Texas Instruments Incorporated | CAN bus edge timing control for dominant-to-recessive transitions |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5777709A (en) * | 1995-02-03 | 1998-07-07 | Ois Optical Imaging Systems, Inc. | Liquid crystal display with two positive tilted retardation films and two negative retardant films |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3715603A (en) * | 1971-10-28 | 1973-02-06 | Rca Corp | Threshold gate circuits employing field-effect transistors |
US4310895A (en) * | 1979-11-02 | 1982-01-12 | International Business Machines Corporation | Plural null digital interconnections |
US4644569A (en) * | 1984-08-06 | 1987-02-17 | Teleplex Corporation | Coherent data word transfer by an asynchronous gateway data port |
US5241660A (en) * | 1986-10-30 | 1993-08-31 | National Semiconductor Corporation | Buffered asynchronous communications element with receive/transmit control and status reporting |
JP3122756B2 (en) * | 1991-01-12 | 2001-01-09 | 直 柴田 | Semiconductor device |
US5150359A (en) * | 1990-08-06 | 1992-09-22 | Motorola, Inc. | Multiplexed synchronous/asynchronous data bus |
US5121003A (en) * | 1990-10-10 | 1992-06-09 | Hal Computer Systems, Inc. | Zero overhead self-timed iterative logic |
EP0570584A1 (en) * | 1991-01-12 | 1993-11-24 | SHIBATA, Tadashi | Semiconductor device |
TW208086B (en) * | 1991-03-21 | 1993-06-21 | Shibata Naoru | |
DE4115081A1 (en) * | 1991-05-08 | 1992-11-12 | Siemens Ag | LOGIC CIRCUIT FOR ASYNCHRONOUS CIRCUITS WITH N-CHANNEL LOGIC BLOCK AND INVERSE P-CHANNEL LOGIC BLOCK |
WO1992021088A1 (en) * | 1991-05-17 | 1992-11-26 | Eastman Kodak Company | Novel electrical bus structure |
EP0574598A1 (en) * | 1992-06-13 | 1993-12-22 | International Business Machines Corporation | Data buffer |
JP3421365B2 (en) * | 1992-07-29 | 2003-06-30 | 直 柴田 | Semiconductor device |
-
1995
- 1995-04-18 US US08/424,865 patent/US5796962A/en not_active Expired - Lifetime
- 1995-06-02 US US08/458,139 patent/US5896541A/en not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5777709A (en) * | 1995-02-03 | 1998-07-07 | Ois Optical Imaging Systems, Inc. | Liquid crystal display with two positive tilted retardation films and two negative retardant films |
Non-Patent Citations (47)
Title |
---|
Anthony S. Wojcik & Kwang Ya Fang, On The Design Of Three Valued Asynchronous Modules, IEEE Transactions On Computers, Oct. 1980, vol. C 29, No. 10, pp. 889 989. * |
Anthony S. Wojcik & Kwang-Ya Fang, On The Design Of Three-Valued Asynchronous Modules, IEEE Transactions On Computers, Oct. 1980, vol. C-29, No. 10, pp. 889-989. |
Brunvand, "The NSP Processor," IEEE, 1993, pp. 428-435. |
Brunvand, The NSP Processor, IEEE, 1993, pp. 428 435. * |
Carver Mead & Lyn Conway, Introduction to VLSI Systems, 1980, pp. 242 262. * |
Carver Mead & Lyn Conway, Introduction to VLSI Systems, 1980, pp. 242-262. |
Daniel Hampel & Robert Winder, Threshold Logic, IEEE Spectrum, May 1971, pp. 32 39. * |
Daniel Hampel & Robert Winder, Threshold Logic, IEEE Spectrum, May 1971, pp. 32-39. |
David E. Muller, Asynchronous Logics and Application to Information Processing, Stanford University Press, Switching Theory In Space Technology, pp. 289 297, 1963. * |
David E. Muller, Asynchronous Logics and Application to Information Processing, Stanford University Press, Switching Theory In Space Technology, pp. 289-297, 1963. |
Ivan E. Sutherland, Micropipelines, Communications of the ACM, Dec. 1989, vol. 32, No. 6. * |
Janusz A. Brzozowski & Carl Johan H. Seger, Asynchronous Circuits Monographs in Computer Science, Springer Verlag New York, Inc., 1995, New York, NY. * |
Janusz A. Brzozowski & Carl-Johan H. Seger, Asynchronous Circuits--Monographs in Computer Science, Springer-Verlag New York, Inc., 1995, New York, NY. |
Jens Sparso and Jorgen Staunstrup, Delay insensitive multi ring structures, Integration, the VLSI Journal 15, 1993, Elsevier Science Publishers B.V., pp. 313 340. * |
Jens Sparso and Jorgen Staunstrup, Delay-insensitive multi-ring structures, Integration, the VLSI Journal 15, 1993, Elsevier Science Publishers B.V., pp. 313-340. |
Jens Sparso, et al., Design of Delay Insensitive Circuits Using Multi Ring Structures, European Design Automation Conference, IEEE 0 8186 2780, pp. 15 20, Aug. 1992. * |
Jens Sparso, et al., Design of Delay Insensitive Circuits Using Multi-Ring Structures, European Design Automation Conference, IEEE 0-8186-2780, pp. 15-20, Aug. 1992. |
Lars S. Nielsen and Jens Sparso, A Low Power Asynchronous Data Path For a FIR Filter Bank, IEEE 0 8186 7298 6/96, pp. 197 207, Jun. 1996. * |
Lars S. Nielsen and Jens Sparso, A Low-Power Asynchronous Data-Path For a FIR Filter Bank, IEEE 0-8186-7298-6/96, pp. 197-207, Jun. 1996. |
Lawrence G. Heller, et al., Cascode Voltage Switch Logic: A Different CMOS Logic Family, ISSCC 84 Digest of Technical Papers, IEEE, pp. 16 17, Feb. 1984. * |
Lawrence G. Heller, et al., Cascode Voltage Switch Logic: A Different CMOS Logic Family, ISSCC 84 Digest of Technical Papers, IEEE, pp. 16-17, Feb. 1984. |
M.R. Greenstreet, T.E. Williams, and J. Staunstrup, Self Timed Iteration, Elsevier Science Publishers B.V. (North Holland), IFIP, 1988, pp. 309 322. * |
M.R. Greenstreet, T.E. Williams, and J. Staunstrup, Self-Timed Iteration, Elsevier Science Publishers B.V. (North-Holland), IFIP, 1988, pp. 309-322. |
Marc Renaudin and Bachar El Hassan, The Design of Fast Asynchronous Adder Structures and Their Implementation Using D.C.V.S. Logic, Int l. Symposium on Circuits & Systems, vol. 4, 1994, pp. 291 294. * |
Marc Renaudin and Bachar El Hassan, The Design of Fast Asynchronous Adder Structures and Their Implementation Using D.C.V.S. Logic, Int'l. Symposium on Circuits & Systems, vol. 4, 1994, pp. 291-294. |
Mark Edward Dean, Strip: A Self Time Risc Processor, Stanford University Computer Systems Laboratory Technical Report No. CSL TR 92 543, Stanford, CA, Jul. 1992. * |
Mark Edward Dean, Strip: A Self-Time Risc Processor, Stanford University Computer Systems Laboratory Technical Report No. CSL-TR-92-543, Stanford, CA, Jul. 1992. |
Narinder Pal Singh, A Design Methodology For Self Timed Systems, Massachusetts Institute of Technology, MIT/LCS/TR 258, Feb. 1981. * |
Narinder Pal Singh, A Design Methodology For Self-Timed Systems, Massachusetts Institute of Technology, MIT/LCS/TR-258, Feb. 1981. |
Patel et al., "Evaluation of Self-Timed Systems for VLSI," Electronics Letters, Feb. 1989, pp. 215-217. |
Patel et al., Evaluation of Self Timed Systems for VLSI, Electronics Letters, Feb. 1989, pp. 215 217. * |
Richard G. Burford, Xingcha Fan and Neil W. Bergmann, An 180 Mhz 16 bit Multiplier Using Asynchronous Logic Design Techniques, IEEE 1994 Custom Integrated Circuits Conference, pp. 215 218. * |
Richard G. Burford, Xingcha Fan and Neil W. Bergmann, An 180 Mhz 16 bit Multiplier Using Asynchronous Logic Design Techniques, IEEE 1994 Custom Integrated Circuits Conference, pp. 215-218. |
Stephen H. Unger, Asynchronous Sequential Switching Circuits, 1969, pp. 221 229. * |
Stephen H. Unger, Asynchronous Sequential Switching Circuits, 1969, pp. 221-229. |
T.S. Anatharaman, A Delay Insensitive Regular Expression Recognizer, Dept. of Computer Science, Carnegie Mellon University, CMU CS 89 109, Jan. 1989. * |
T.S. Anatharaman, A Delay Insensitive Regular Expression Recognizer, Dept. of Computer Science, Carnegie-Mellon University, CMU-CS-89-109, Jan. 1989. |
Tadashi Shibata & Tadahiro Ohmi, A Functional MOS Transistor Featuring Gate Level Weighted Sum and Threshold Operations, IEEE Transactions On Electron Devices, Dec. 1992, vol. 39, No. 6, pp. 1444 1455. * |
Tadashi Shibata & Tadahiro Ohmi, A Functional MOS Transistor Featuring Gate-Level Weighted Sum and Threshold Operations, IEEE Transactions On Electron Devices, Dec. 1992, vol. 39, No. 6, pp. 1444-1455. |
Ted Williams, Latency and Throughput Tradeoffs in Self Timed Speed Independent Pipelines and Rings, Stanford University Technical Report No. CSL TR 91 482, May 1991. * |
Ted Williams, Latency and Throughput Tradeoffs in Self-Timed Speed-Independent Pipelines and Rings, Stanford University Technical Report No. CSL-TR-91-482, May 1991. |
Ted Williams, Self Timed Rings and Their Application to Division, Stanford University Technical Report No. CSL TR 91 482, May 1991. * |
Ted Williams, Self-Timed Rings and Their Application to Division, Stanford University Technical Report No. CSL-TR-91-482, May 1991. |
Teresa H. Y. Meng, Robert W. Brodersen, and David G. Messerschmitt, Automatic Synthesis of Asynchronous Circuits from High Level Specifications, IEEE Transactions on Computer Aided Design, vol. 8, No. 11, Nov. 1989, pp. 1185 1205. * |
Teresa H.-Y. Meng, Robert W. Brodersen, and David G. Messerschmitt, Automatic Synthesis of Asynchronous Circuits from High-Level Specifications, IEEE Transactions on Computer-Aided Design, vol. 8, No. 11, Nov. 1989, pp. 1185-1205. |
Tzyh Yung Wuu and Sarma B.K. Vrudhula, A Design of a Fast and Area Efficient Multi Input Muller C element, IEEE Transactions on VLSI Systems, vol. 1, No. 2, Jun. 1993, pp. 215 219. * |
Tzyh-Yung Wuu and Sarma B.K. Vrudhula, A Design of a Fast and Area Efficient Multi-Input Muller C-element, IEEE Transactions on VLSI Systems, vol. 1, No. 2, Jun. 1993, pp. 215-219. |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040257108A1 (en) * | 2003-06-17 | 2004-12-23 | Honeywell International Inc. | Single event hardening of null convention logic circuits |
US6937053B2 (en) | 2003-06-17 | 2005-08-30 | Honeywell International Inc. | Single event hardening of null convention logic circuits |
US6791362B1 (en) | 2003-12-09 | 2004-09-14 | Honeywell International Inc. | System level hardening of asynchronous combinational logic |
US20060033523A1 (en) * | 2004-07-15 | 2006-02-16 | Honeywell International Inc. | Error recovery in asynchronous combinational logic circuits |
US7451384B2 (en) | 2004-07-15 | 2008-11-11 | Honeywell International Inc. | Error recovery in asynchronous combinational logic circuits |
US20080059773A1 (en) * | 2006-08-29 | 2008-03-06 | Karl Fant | Systems and methods using an invocation model of process expression |
US8365137B2 (en) * | 2006-08-29 | 2013-01-29 | Wave Semiconductor, Inc. | Systems and methods using an invocation model of process expression |
US8981812B2 (en) | 2012-02-21 | 2015-03-17 | Wave Semiconductor, Inc. | Self-ready flash null convention logic |
US9024655B2 (en) | 2012-02-21 | 2015-05-05 | Wave Semiconductor, Inc. | Multi-threshold flash NCL circuitry |
US9203406B2 (en) | 2012-02-21 | 2015-12-01 | Wave Semiconductor, Inc. | Implementation method for fast NCL data path |
US9385715B2 (en) | 2012-02-21 | 2016-07-05 | Wave Computing, Inc. | Multi-threshold flash NCL logic circuitry with flash reset |
US8952727B2 (en) | 2012-08-20 | 2015-02-10 | Wave Semiconductor, Inc. | Hum generation circuitry |
US10950299B1 (en) | 2014-03-11 | 2021-03-16 | SeeQC, Inc. | System and method for cryogenic hybrid technology computing and memory |
US11406583B1 (en) | 2014-03-11 | 2022-08-09 | SeeQC, Inc. | System and method for cryogenic hybrid technology computing and memory |
US11717475B1 (en) | 2014-03-11 | 2023-08-08 | SeeQC, Inc. | System and method for cryogenic hybrid technology computing and memory |
US9692419B2 (en) | 2014-11-15 | 2017-06-27 | Wave Computing, Inc. | Compact logic evaluation gates using null convention |
US9960771B2 (en) | 2016-03-31 | 2018-05-01 | Wave Computing, Inc. | Hum generation using representative circuitry |
US10318691B2 (en) | 2016-06-22 | 2019-06-11 | Wave Computing, Inc. | Timing analysis and optimization of asynchronous circuit designs |
Also Published As
Publication number | Publication date |
---|---|
US5796962A (en) | 1998-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5896541A (en) | Null convention register file | |
US6070205A (en) | High-speed processor system having bus arbitration mechanism | |
JP2532135B2 (en) | High speed low pin count bus interface | |
US5948078A (en) | Assigned device numbers to units connected to a bus | |
US20060233006A1 (en) | Programmable pipeline array | |
Lazzaro et al. | A multi-sender asynchronous extension to the AER protocol | |
JPH10508716A (en) | Hierarchical crossbar switch | |
US5764081A (en) | Null convention interface circuits | |
US6031390A (en) | Asynchronous registers with embedded acknowledge collection | |
JPH0766363B2 (en) | Arbitration system | |
JPH061902B2 (en) | Programmed Logic Array | |
US5815023A (en) | Unbalanced multiplexer and arbiter combination | |
US5416918A (en) | Low skew system for interfacing asics by routing internal clock off-chip to external delay element then feeding back to on-chip drivers | |
JP3662233B2 (en) | Bus buffer circuit including logic circuit | |
Yasunaga et al. | A wafer scale integration neural network utilizing completely digital circuits | |
US5875339A (en) | Asynchronous arbiter using multiple arbiter elements to enhance speed | |
EP0312575A1 (en) | High performance low pin count bus interface. | |
JP2776390B2 (en) | Transmission and reception bus interface | |
KR970049482A (en) | State machine design for generating half-full and half-empty flags in asynchronous FIFOs | |
JPH08211976A (en) | Scsi bus drive circuit | |
KR960008323B1 (en) | Data port selection | |
JP3481445B2 (en) | Competition mediation method | |
KR840001406A (en) | Digital filter circuit | |
Furber | A Fascicle Impulse-Rate Encoded (FIRE) Neural Architecture | |
JPS63231665A (en) | System for effectively using bus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: THESEUS LOGIC, INC., MINNESOTA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:THESEUS RESEARCH, INC.;REEL/FRAME:009516/0749 Effective date: 19980818 |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
FEPP | Fee payment procedure |
Free format text: PAT HOLDER NO LONGER CLAIMS SMALL ENTITY STATUS, ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: STOL); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY |
|
REMI | Maintenance fee reminder mailed | ||
FEPP | Fee payment procedure |
Free format text: PETITION RELATED TO MAINTENANCE FEES FILED (ORIGINAL EVENT CODE: PMFP); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY |
|
FEPP | Fee payment procedure |
Free format text: PETITION RELATED TO MAINTENANCE FEES GRANTED (ORIGINAL EVENT CODE: PMFG); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY |
|
REIN | Reinstatement after maintenance fee payment confirmed | ||
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20030420 |
|
PRDP | Patent reinstated due to the acceptance of a late maintenance fee |
Effective date: 20030707 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY |
|
AS | Assignment |
Owner name: CAMGIAN NETWORKS, INC., MISSISSIPPI Free format text: MERGER;ASSIGNOR:THESEUS LOGIC, INC.;REEL/FRAME:023668/0202 Effective date: 20070511 |
|
FPAY | Fee payment |
Year of fee payment: 12 |
|
AS | Assignment |
Owner name: CAMGIAN MICROSYSTEMS CORPORATION, FLORIDA Free format text: CHANGE OF NAME;ASSIGNOR:CAMGIAN NETWORKS, INC.;REEL/FRAME:025525/0740 Effective date: 20080314 |
|
AS | Assignment |
Owner name: WAVE SEMICONDUCTOR, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CAMGIAN MICROSYSTEMS CORP.;REEL/FRAME:026682/0461 Effective date: 20110728 |
|
FEPP | Fee payment procedure |
Free format text: PAT HOLDER CLAIMS SMALL ENTITY STATUS, ENTITY STATUS SET TO SMALL (ORIGINAL EVENT CODE: LTOS); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY |