US7325092B2 - Apparatus and methods for a static mux-based priority encoder - Google Patents
Apparatus and methods for a static mux-based priority encoder Download PDFInfo
- Publication number
- US7325092B2 US7325092B2 US11/192,580 US19258005A US7325092B2 US 7325092 B2 US7325092 B2 US 7325092B2 US 19258005 A US19258005 A US 19258005A US 7325092 B2 US7325092 B2 US 7325092B2
- Authority
- US
- United States
- Prior art keywords
- input signal
- signal path
- bit
- coupled
- priority
- 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 - Fee Related, expires
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C15/00—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90339—Query processing by using parallel associative memories or content-addressable memories
-
- 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/74—Selecting or encoding within a word the position of one or more bits having a specified value, e.g. most or least significant one or zero detection, priority encoders
Definitions
- the invention relates to circuits and methods for priority encoding. More specifically, the invention relates to a priority encoder implemented exclusively with static circuits devoid of ROM or other memory circuit components.
- a wide variety of electronic systems utilize bus structures in which multiple devices communicate via a shared bus.
- the bus may comprise a plurality of signal paths for exchanging discrete signals and/or may comprise serial communication pass in which multiple signals are transmitted sequentially over the serial signal paths.
- the multiple devices generally arbitrate for temporary exclusive control of the shared bus structure.
- one device (often referred to as a master device) may initiate communications with one or more other devices coupled to the shared bus structure.
- a device referred to as an arbiter or arbitrator may determine which of multiple master devices may be granted requested temporary control of the shared bus structure.
- a common approach for designing such an arbiter includes a priority encoder that receives multiple request or hitlines signal paths often from a content addressable memory (“CAM”) or other signal sources. Each signal, regardless of the source, may represent one of multiple master devices sharing the common bus structure and requesting temporary exclusive access. The priority encoder then determines from the multiple request signal paths which device is to be granted the requested temporary exclusive control.
- CAM content addressable memory
- Such an arbiter in a shared bus structure is but one exemplary application of such a priority encoder circuit. Those of ordinary skill in the art will recognize a wide variety of other applications and systems that may beneficially apply a priority encoder circuit.
- a common application using such priority encoder circuits utilizes a content addressable memory (CAM).
- a CAM is used to compare a multiple bit input word signal to all multiple bit words stored in the CAM.
- the output of the CAM indicates the location of the matching word or words—i.e., one “hitline” per matching word of the CAM.
- the output of the CAM device is applied to a prioritizer that selects the highest priority hitline that is presently active in the output bits of the CAM.
- the highest priority bit is then applied to a ROM the output of which indicates the encoded index value of the identified highest priority active hitline.
- the prioritizer and ROM thereby translate the CAM output into a corresponding encoded address for the highest priority hitline—e.g., the highest priority device presently requesting temporary exclusive access to the shared bus.
- the present invention solves the above and other problems, thereby advancing the state of the useful arts, by providing priority encoder circuits utilizing only static logic to implement a priority encoder.
- features and aspects hereof implement a priority encoder without reliance on a ROM structure or other lookup table memory structures.
- features and aspects hereof utilize simpler static, combinatorial logic circuits plus standard multiplexer devices to provide a simple priority encoder less susceptible to channel leakage as compared to ROM or other memory structures relied on previously for priority encoders.
- a first feature hereof provides a priority encoder circuit comprising: a plurality of hitline input signal paths where the number (N) of hitline input signal paths is a non-zero integer greater than 1 and wherein the plurality of hitline input signal paths have a priority sequence associated therewith; a HIT output signal path on which a hit signal is applied indicating that at least one of the plurality of hitline input signal paths has received an active hitline input signal; an encoded address output signal path comprising a number (M) of output signals on which an encoded address is applied representing a binary encoded index value indicative of which of the N hitline input signal paths has received an active hitline input signal; and logic circuits coupled to receive the plurality of hitline input signal paths and coupled to generate the encoded address and coupled to apply the generated encoded address to the encoded address output signal path, wherein the logic circuits consist essentially of multiplexers and combinatorial logic.
- Another aspect hereof further provides that the number (N) of hitline input signal paths is a non-zero, integral power of 2.
- Another aspect hereof further provides that the number (M) of encoded address signals is log2 (N).
- Another aspect hereof further provides that the logic circuits are configured such that when multiple hitline input signals are presently active on the plurality of hitline input signal paths the logic circuits generate the encoded address of the highest priority signal of the multiple hitline input signals.
- Another aspect hereof further provides that the logic circuits are arranged as a plurality of hierarchical layers.
- a first layer circuit of the plurality of hierarchical layers further comprises: a NOR logic gate having a first input signal path coupled to a higher priority hitline input signal path (HL 0 ) and having a second input signal path coupled to a lower priority hitline input signal path (HL 1 ) and having an output signal path on which is applied the inverted Boolean logical OR of signals on the two input signal paths as a negated hit signal (HITN) indicative that at least one of the first and second input signal paths has a corresponding active hitline signal applied thereto; and an output signal path (ENCAN) coupled to HL 0 to generate an inverted 1-bit encoded address signal indicating the binary encoded index value of the highest priority hitline input signal path from among HL 0 and HL 1 that is presently active.
- a NOR logic gate having a first input signal path coupled to a higher priority hitline input signal path (HL 0 ) and having a second input signal path coupled to a lower priority hitline input signal path (HL 1 ) and having an
- the plurality of hierarchical layers further comprises: a pair of first layer circuits wherein the first circuit of the pair of first layer circuits has a higher priority hitline input signal path (HL 0 ) and a lower priority hitline input signal path (HL 1 ) and wherein the second circuit of the pair has a higher priority hitline input signal path (HL 2 ) and a lower priority hitline input signal path (HL 3 ) and wherein both HL 2 and HL 3 are lower in priority than HL 1 ; and a second layer circuit coupled to the logic circuits of each of the pair of first layer circuits and configured to generate a 2-bit encoded address indicating the binary encoded index value of the highest priority hitline input signal path from among HL 0 , HL 1 , HL 2 , and HL 3 that is presently active, wherein the second layer circuit further comprises: a first multiplexer having a first input signal path coupled to a constant logic high signal and having a second input signal path coupled to a constant logic low signal and
- the plurality of hierarchical layers further comprises: a pair of second layer circuits wherein the first circuit of the pair of second layer circuits has a highest priority hitline input signal path (HL 0 ) and a next lower priority hitline input signal path (HL 1 ) and a next lower priority hitline input signal path (HL 2 ) and a next lower priority hitline input signal path (HL 3 ) and wherein the second circuit of the pair of second layer circuits has a highest priority hitline input signal path (HL 4 ) and a next lower priority hitline input signal path (HL 5 ) and a next lower priority hitline input signal path (HL 6 ) and a next lower priority hitline input signal path (HL 7 ) and wherein HL 4 , HL 5 , HL 6 , and HL 7 are all lower in priority than HL 3 ; and a third layer circuit coupled to the logic circuits of each of the pair of second layer circuits and configured to generate a 3-bit encoded address indicating the binary encoded index value of
- the plurality of hierarchical layers further comprises: a pair of third layer circuits wherein the first circuit of the pair of third layer circuits has hitline input signal paths HL 0 through HL 7 ordered from highest to lower priority and wherein the second circuit of the pair of third layer circuits has hitline input signal paths HL 8 through HL 15 ordered from higher to lower priority wherein HL 8 through HL 15 are all lower in priority than HL 7 ; and a fourth layer circuit coupled to the logic circuits of each of the pair of third layer circuits and configured to generate a 4-bit encoded address indicating the binary encoded index value of the highest priority hitline input signal path from among HL 0 through HL 15 that is presently active, wherein the fourth layer circuit further comprises: a first multiplexer having a first input signal path coupled to a constant logic high signal and having a second input signal path coupled to a constant logic low signal and having a selection input signal path coupled to the HITN of the first circuit of the pair of third layer circuits and having an output signal
- a circuit comprising: a 2-bit priority encoder circuit comprising: a low priority hitline input signal path adapted to receive a corresponding low priority hitline signal (HL 1 ) from an external source; a high priority hitline input signal path adapted to receive a corresponding high priority hitline signal (HL 0 ) from an external source; an output signal path coupled to HL 1 as an inverted encoded address value (ENCAN); and a NOR gate having a first input signal path coupled to HL 1 and having a second input signal path coupled to HL 0 and having an output signal path (HITN) on which the Boolean inverted logical OR of the two input signals is applied as an inverted hit signal indicating a valid encoded address is applied to ENCAN.
- a 2-bit priority encoder circuit comprising: a low priority hitline input signal path adapted to receive a corresponding low priority hitline signal (HL 1 ) from an external source; a high priority hitline input signal path adapted to receive a corresponding high priority hitline signal (HL
- Another aspect hereof further provides a second 2-bit priority encoder circuit having identical structure to that of the first 2-bit priority encoder circuit wherein the low priority hitline input signal path of the second 2-bit priority encoder circuit is coupled to a next lower priority hitline signal (HL 2 ) having a priority lower than HL 0 and HL 1 and wherein the high priority hitline input signal path is coupled to a next lower priority hitline signal (HL 3 ) having a priority lower than HL 0 , HL 1 , and HL 2 ; a first multiplexer having a first input signal path coupled to a constant logic high signal and having a second input signal path coupled to a constant logic low signal and having a selection input signal path coupled to the HITN of the first 2-bit priority encoder circuit and having an output signal path on which is applied the selected input signal as a high order bit (ENCA 1 ) of a 2-bit encoded address; a second multiplexer having a first input signal path coupled to receive the ENCAN signal of the first 2-bit priority encoder circuit and having
- the combination of the first and second 2-bit priority encoder circuits comprises a first 4-bit priority encoder circuit configured to receive HL 0 through HL 3 as input signals and configured for generating ENCA 0 -ENCA 1 as a 2-bit encoded address therefrom and configured for generating HIT asserted logical high when a valid 2-bit address is applied to ENCA 0 -ENCA 1 , and further provides that the circuit further comprises: a second 4-bit priority encoder circuit having identical structure to that of the first 4-bit priority encoder circuit wherein the hitline input signal paths of the second 4-bit priority encoder circuit are each coupled to a corresponding hitline of a plurality of hitlines (HL 4 . . .
- a first multiplexer having a first input signal path coupled to a constant logic high signal and having a second input signal path coupled to a constant logic low signal and having a selection input signal path coupled to the HIT signal of the first 4-bit priority encoder circuit and having an output signal path on which is applied the selected input signal as a high order bit (ENCAN 2 ) of a 3-bit encoded address;
- a second multiplexer array having a first input signal bus path coupled to receive the ENCA 0 and ENCA 1 signals of the first 4-bit priority encoder circuit and having a second input signal bus path coupled to receive the ENCA 0 and ENCA 1 signals of the second 4-bit priority encoder circuit and having a selection input signal path coupled to the HIT signal of the first 4-bit priority encoder circuit and having an output signal path on which the selected input signals are applied as low order bits (ENCAN 0 and ENCAN 1 ) of the 3-bit encoded address; and a NOR gate having
- the combination of the first and second 4-bit priority encoder circuits comprises a first 8-bit priority encoder circuit configured to receive HL 0 through HL 7 as input signals and configured for generating ENCAN 0 -ENCAN 2 as a 3-bit encoded address therefrom and configured for generating HITN asserted logical high when a valid 3-bit address is applied to ENCAN 0 -ENCAN 2 , and provides that the circuit further comprises: a second 8-bit priority encoder circuit having identical structure to that of the first 8-bit priority encoder circuit wherein the hitline input signal paths of the second 8-bit priority encoder circuit are each coupled to a corresponding hitline of a plurality of hitlines (HL 8 . . .
- HL 15 ordered from higher priority to lower priority and each having lower priority than the HL 8 input signal; a first multiplexer having a first input signal path coupled to a constant logic high signal and having a second input signal path coupled to a constant logic low signal and having a selection input signal path coupled to the HITN signal of the first 8-bit priority encoder circuit and having an output signal path on which is applied the selected input signal as a high order bit (ENCA 3 ) of a 4-bit encoded address; a second multiplexer array having a first input signal bus path coupled to receive the ENCAN 0 -ENCAN 2 signals of the first 8-bit priority encoder circuit and having a second input signal bus path coupled to receive the ENCAN 0 through ENCAN 2 signals of the second 8-bit priority encoder circuit and having a selection input signal path coupled to the HITN signal of the first 8-bit priority encoder circuit and having an output signal path on which the selected input signals are applied as low order bits (ENCA 0 .
- a NAND gate having a first input signal path coupled to the HITN signal of the first 8-bit priority encoder circuit and a having a second input signal path coupled to the HITN signal of the second 8-bit priority encoder circuit and having an output signal path (HIT) on which the Boolean inverted logical AND of the two input signals is applied as a hit signal indicating a valid encoded address is applied to ENCA 0 through ENCA 3 .
- Another feature hereof provides a system comprising: a content addressable memory adapted to generate signals applied to a plurality of hitline signal paths each configured to indicate a hit for a corresponding location of the content addressable memory; and priority encoder means coupled to receive the plurality of hitline signal paths for generating an encoded address representing an index value of a presently active hitline signal applied to the plurality of hitline signal paths.
- priority encoder means further comprises a plurality of layered logic means.
- the plurality of layered logic means includes a first logic layer means comprising: first layer encoding means coupled to a pair of hitlines of the plurality of hitline signal paths for generating a 1-bit encoded address value wherein the pair of hitlines include a higher priority hitline and a lower priority hitline and wherein the 1-bit encoded address value is indicative of the highest priority of the pair of hitlines that is presently active; and first layer hit signal means coupled to the pair of hitlines for generating a signal indicative that at least one of the pair of hitlines is presently active.
- the plurality of logic layer means further includes a second logic layer means comprising: second layer encoding means coupled to a pair of first layer logic means for generating a 2-bit encoded address value wherein the pair of first logic layer means includes a higher priority first logic layer means and a lower priority first logic layer means and wherein the 2-bit encoded address value is indicative of the highest priority hitline of the hitlines associated with the pair of first logic layer means that is presently active; and second layer hit signal means coupled to the pair of first logic layer means for generating a signal indicative that at least one of the hitlines associated with the pair of first logic layer means is presently active.
- the plurality of logic layer means further includes a third logic layer means comprising: third layer encoding means coupled to a pair of second layer logic means for generating a 3-bit encoded address value wherein the pair of second logic layer means includes a higher priority second logic layer means and a lower priority second logic layer means and wherein the 3-bit encoded address value is indicative of the highest priority hitline of the hitlines associated with the pair of second logic layer means that is presently active; and third layer hit signal means coupled to the pair of second logic layer means for generating a signal indicative that at least one of the hitlines associated with the pair of second logic layer means is presently active.
- the plurality of logic layer means further includes a fourth logic layer means comprising: fourth layer encoding means coupled to a pair of third layer logic means for generating a 3-bit encoded address value wherein the pair of third logic layer means includes a higher priority third logic layer means and a lower priority third logic layer means and wherein the 3-bit encoded address value is indicative of the highest priority hitline of the hitlines associated with the pair of third logic layer means that is presently active; and fourth layer hit signal means coupled to the pair of third logic layer means for generating a signal indicative that at least one of the hitlines associated with the pair of third logic layer means is presently active.
- the plurality of logic layer means further includes a plurality of higher logic layer means wherein each higher layer logic means is coupled elements of a next lower logic layer of the plurality of higher layer logic means and wherein each higher layer logic means comprises: encoding means coupled to a pair of the next lower layer logic means for generating a multi-bit encoded address value wherein the pair of next lower logic layer means includes a higher priority next lower logic layer means and a lower priority next lower logic layer means and wherein the multi-bit encoded address value is indicative of the highest priority hitline of the hitlines associated with the pair of next lower logic layer means that is presently active; and hit signal means coupled to the pair of next lower logic layer means for generating a signal indicative that at least one of the hitlines associated with the pair of next lower logic layer means is presently active.
- FIG. 1 is a block diagram of a priority encoder relying on ROM structures as presently practiced in the art.
- FIG. 2 is a block diagram of an exemplary embodiment of a priority encoder devoid of ROM or other memory structures in accordance with features and aspects hereof.
- FIGS. 3-6 are circuit diagrams depicting exemplary hierarchically layered logic circuits providing an exemplary embodiment of features and aspects hereof.
- FIG. 1 is a block diagram of a priority encoder 100 as presently practiced in the art.
- An N-entry content addressable memory array 102 produces a plurality of hitlines generated by an output word (comprising N bits) applied to path 150 and corresponding to an input applied to the CAM array 102 .
- the N hitline signals on path 150 are applied to priority encoder 100 to produce an M-bit encoded address 108 applied as an output on path 154 .
- a prioritizer 104 receives the N hitline bits via path 150 and applies N signals via path 152 to an N-entry ROM 106 .
- Prioritizer 104 receives the hitline signals output from the CAM array 102 and produces a prioritized set of equivalent hitline signals with only the highest priority presently active hitline asserted as output from the prioritizer 104 .
- These prioritized hitline signals on path 152 are applied as a word line input to the N-entry ROM 106 .
- ROM 106 then generates as its output the corresponding memory value representing the encoded address of the asserted word line.
- the encoded word address typically represents a binary encoded index value identifying which of the N prioritized hitlines on path 152 is presently asserted.
- the prioritizer 104 is typically implemented using simple static, combinatorial logic components.
- ROM 106 presents difficulties as discussed above as technology advancements reduce circuit sizes and trace spacing. Circuit leakage problems may preclude practical, simple implementations of such known priority encoder architectures.
- FIG. 2 is a block diagram describing an exemplary improved priority encoder 200 in accordance with features and aspects hereof.
- Priority encoder 200 may be implemented utilizing exclusively static, combinatorial logic and associated multiplexers—devoid of any memory component such as ROM 106 of FIG. 1 .
- Priority encoder 200 of FIG. 2 is therefore substantially immune from the problems discussed above with high density circuit channel leakage and ROM or other memory structure designs associated with previous priority encoders.
- Priority encoder 200 therefore provides a simple priority encoder architecture that permits implementation utilizing high density semiconductor architectures and fabrication techniques. More specifically, priority encoder 200 receives an N-bit word on path 150 generated by, for example, an N-entry CAM array 102 and produces an M-bit encoded address 108 applied to path 154 for further utilization.
- the M-bit encoded address 108 may be a binary encoded index value indicating the highest priority presently active bit of the N-bit word on path 150 .
- CAM 102 is but one exemplary device or system that may generate a plurality of hitlines to be applied to priority encoder 200 . A variety of other signal sources will be readily apparent to those of ordinary skill in the art.
- priority encoder 200 may comprise a plurality of hierarchically arranged layers of logic circuits.
- the logic circuits may comprise static, combinatorial circuits and multiplexing circuits but is substantially devoid of any ROM or other memory structures that give rise to problems of prior techniques.
- An exemplary first or lowest hierarchical layer of the exemplary embodiment is shown in FIG. 3 .
- Second, third, and forth exemplary hierarchical layers representing higher order structures are shown in FIGS. 4-6 , respectively, each building on lower layers of logic.
- the collection of FIGS. describes at the highest layer ( FIG. 6 ) a 16-bit priority encoder.
- the exemplary 16-bit priority encoder of FIG. 6 receives 6teen hitline signals from an external source (e.g., from CAM array 102 of FIG. 2 ) and generates a corresponding 4-bit binary encoded address value representing the index value (0 through 15) of the highest priority hitline received as input.
- an external source e.g., from CAM array 102 of FIG. 2
- FIGS. 3 through 6 describe the lowest layers of the exemplary hierarchy up to higher layers of the hierarchy.
- a priority encoder that receives a plurality (N) of hitlines as input signals and generates an M-bit encoded address value.
- FIG. 3 is a circuit diagram of an exemplary 2-bit priority encoder in accordance with features and aspects hereof.
- 2-bit priority encoder 300 receives two input signals: namely, HL 0 representing a higher priority hitline input signal and HL 1 representing a lower priority hitline.
- One or both of the input signal paths may receive an active hitline signal from the external source (e.g., a CAM array as depicted in FIG. 2 above).
- the higher priority hitline signal HL 0 and lower priority hitline signal HL 1 are both applied as inputs to NOR gate 302 .
- NOR gate 302 generates the inverted Boolean logical or of the two input signals and applies the generated signal as an output signal (HITN) indicating that at least one of the hitline input signals has a presently active signal applied thereto.
- HITN output signal
- 2-bit priority encoder 300 also generates an inverted 1-bit encoded address (ENCAN) representing the binary encoded index value of the hitline input signal on which the higher priority input signal has been sensed.
- the inverted encoded address (ENCAN) may be generated simply as the non-inverted HL 0 input signal.
- 2-bit priority encoder 300 therefore simply operates by asserting the HITN signal and applies the binary encoded value index value ENCAN indicating which of the two input signal paths has the higher priority hitline signal presently asserted thereon.
- FIG. 4 represents a second layer circuit comprising a pair of first layer circuits (such as the exemplary 2-bit encoder 300 of FIG. 3 ) combined to form a 4-bit priority encoder.
- a 4-bit priority encoder 400 may be implemented with the addition of one more logic gate and two multiplexer circuits.
- 4-bit encoder 400 receives four hitline signals (HL 0 , HL 1 , HL 2 , and HL 3 ) and generates a 2-bit binary encoded address value (non-inverted signals ENCA 0 and ENCA 1 ) as well as a non-inverted hit signal (HIT) indicating that a properly encoded address is presently applied to the non-inverted encoded address.
- 4-bit priority encoder 400 includes two structurally identical 2-bit priority encoders 300 .
- a first 2-bit priority encoder 300 receives 2 hitline input signals HL 0 and HL 1 applied to its corresponding hitline input signal pads HL 0 and HL 1 thus producing a 1-bit encoded address signal ENCAN and output signal HITN.
- the second 2-bit priority encoder 300 receives two line input signals HL 2 and HL 3 on its input signal paths HL 0 and HL 1 , respectively. This second 2-bit encoder 300 then produces its encoded address as ENCAN and its hit signal as HITN.
- the inverted hit signals of each of the first layer logic 2-bit encoders 300 are applied as inputs to NAND gate 402 which, in turn, generates the inverted Boolean AND of its two inputs and applies the generated signal as an output signal HIT.
- the HIT signal is indicative that at least one of the four hitline inputs (HL 0 through HL 3 ) has a presently active signal asserted thereon.
- a first multiplexer 404 receives a constant logic level 1 and a constant logic level 0 as its two inputs and applies a selected one of the two inputs as an inverted highest order bit of a 2-bit encoded address value (ENCA 1 ).
- the HITN output signal of the first 2-bit priority encoder 300 of the pair is also applied as a selection input signal for multiplexer 404 .
- a second multiplexer 406 utilizes the same HITN signal of the first 2-bit priority encoder 300 of the pair as its selection input.
- the second multiplexer 406 receives the inverted 1-bit encoded address (ENCAN) of each of the pair of first layer circuits and applies the selected input as a non-inverted low order bit of the 2-bit encoded address (ENCA 0 ).
- a second layer 4-bit priority encoder 400 generates a 2-bit encoded address derived from the four hitline signals applied to thereto.
- FIG. 5 is a circuit diagram of an exemplary third layer circuit (8-bit priority encoder) that comprises a pair of second layer circuits (e.g., a pair of 4-bit encoders 300 as described above with respect to FIG. 4 ). Similar to the structure described above, the 8-bit priority encoder 500 of FIG. 5 has a first 4-bit priority encoder 400 receiving higher priority hitlines HL 0 through HL 3 and generating a non-inverted 2-bit encoded address value ENCA 0 and ENCA 1 along with a corresponding non-inverted HIT signal. Further, similar to the structure of FIG.
- a second circuit of the pair of second layer logic circuits provides another 4-bit priority encoder 400 receiving four lower priority input hitline signals HL 4 through HL 7 applied to its corresponding HL 0 through HL 3 input signal paths, respectively. It likewise generates non-inverted 2-bit encoded address signals ENCA 0 and ENCA 1 plus its corresponding HIT signal value.
- the non-inverted HIT signals from each of the pair of second layer 4-bit priority encoders 400 are applied as inputs to NOR gate 502 .
- NOR gate 502 then generates the inverted Boolean logical OR of its two input signals to generate an inverted HITN signal for the 8-bit priority encoder 500 .
- the inverted HITN signal indicates that any one of the eight hitline input signal paths (HL 0 through HL 7 ) has a presently active signal applied thereto.
- a first multiplexer 504 receives a constant logic level 1 and a constant logic level 0 as its two inputs and applies a selected input as an inverted high order bit of a 3-bit encoded address (ENCAN 2 ).
- the HIT signal of the first 4-bit priority encoder 400 is used as a selection input for the first multiplexer 504 . Further, as above and FIG.
- a second multiplexer array 506 selects the lower order encoded address bits (e.g., an array of multiplexers operable in parallel to select between alternate signals for a multi-bit bus signal).
- a first input to multiplexer 506 is the 2-bit, non-inverted encoded address ENCA 0 and ENCA 1 of the first 4-bit encoder 400 .
- a second input to multiplexer 506 is the 2-bit encoded address ENCA 0 and ENCA 1 of the second 4-bit priority encoder 400 .
- the HIT signal of the first 4-bit encoder 400 is also used as the selection input for all multiplexers of multiplexer array 506 .
- Multiplexer array 506 then applies the selected input signals as inverted lower order bits of the 3-bit encoded address, namely, ENCAN 0 and ENCAN 1 .
- Multiplexer array 506 and similar multiplexer array structures described herein may also be referred to simply as “multiplexer”.
- multiplexer Those of ordinary skill in the art will readily recognize that a multiplexer array adapted to select a plurality of signals in parallel may be more easily drawn and described a single multiplexer device.
- “multiplexer” and “multiplexer array” may be considered synonymous in reference to selection of multi-bit signals being selected for application to a multi-bit output signal path.
- FIG. 5 therefore represents an exemplary third layer 8-bit priority encoder implemented utilizing only combinatorial logic circuits and simple multiplexing devices devoid of ROM or other memory structures. More specifically, the third layer logic structure of FIG. 5 utilizes a pair of 4-bit priority encoders such as that of FIG. 4 to generate a 3-bit encoded address indicative of an index value for the highest priority input signal path from among HL 0 through HL 7 applied as input signals to the 8-bit priority encoder 500 .
- FIG. 6 is a circuit diagram of an exemplary 16-bit priority encoder implemented as a fourth layer logic device utilizing a pair of 8-bit priority encoders as described above for example in FIG. 5 .
- 16-bit priority encoder 600 implemented as a fourth layer logic device may include a pair of third layer logic devices that comprise that each comprises an 8-bit priority encoder 500 .
- the first 8-bit priority encoder 500 receives higher priority hitline input signals HL 0 through HL 7 and generates an inverted 3-bit, inverted encoded address as ENCAN 0 through ENCAN 2 .
- the first 8-bit priority encoder 500 also generates an inverted hit signal (HITN) indicative of one of the higher priority hitlines HL 0 through HL 7 having a presently active signal applied thereto.
- HITN inverted hit signal
- the second 8-bit priority encoder 500 receives lower priority hitline signals HL 8 through HL 15 applied to its HL 0 through HL 7 input signal paths, respectively.
- the second 8-bit priority encoder 500 then generates a corresponding 3-bit, inverted encoded address signal has ENCAN 0 through ENCAN 2 .
- the second 8-bit priority encoder 500 generates an inverted hit signal (HITN) indicating that at least one of its hitline input signal paths HL 0 through HL 7 has a presently active signal applied thereto.
- the inverted hit signals (HITN) of both third layer logic 8-bit priority encoders 500 are applied as inputs to NAND gate 602 .
- NAND gate 602 then generates the inverted Boolean logical AND of its two input signals to generate the non-inverted HIT signal for the 16-bit priority encoder 600 .
- a first multiplexer 604 receives a constant logic 1 and a constant logic 0 on its two input signal paths and applies a selected input signal to its output signal path as an inverted high order bit of a 4-bit, non-inverted encoded address (ENCA 3 ).
- Multiplexer 606 represents a second multiplexing device for receiving either of two 3-bit encoded address values (ENCAN 0 through ENCAN 2 ), a first from first 8-bit priority encoder 500 and a second from the second 8-bit priority encoder 500 .
- the HITN signal of the first 8-bit priority encoder 500 is also used as a selection input to the multiplexers that comprise multiplexer array 606 .
- Multiplexer 606 is then operable to apply the selected 3-bit, inverted encoded address as non-inverted low order three bits (ENCA 0 through ENCA 2 ) of the 4-bit encoded address of the 16-bit priority encoder 600 .
- 16-bit priority encoder 600 implements a priority encoder devoid of ROM or other memory structures that give rise to problems in present high density integrated circuits.
- the index value of the highest priority of the hitline input signal pads HL 0 through HL 15 is encoded as a 4-bit encoded address on ENCA 0 through ENCA 15 and the generated HIT signal indicates that a valid encoded address is presently applied to the encoded address.
- a priority encoder may also include three or more lower layers of logic to produce still other configurations of priority encoders. Still further, lower layer logic from various layers may be combined to form a higher layer with minor modifications to the logic.
- FIGS. 3 through 6 are therefore intended merely as exemplary of one possible implementation for a priority encoder utilizing combinatorial logic and simple multiplexing circuits devoid of ROM and other memory structures.
- Other hierarchical logic structures will be readily apparent to those of ordinary skill in the art for providing features and aspects hereof devoid of ROM and other memory structures.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
Claims (3)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/192,580 US7325092B2 (en) | 2005-07-30 | 2005-07-30 | Apparatus and methods for a static mux-based priority encoder |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/192,580 US7325092B2 (en) | 2005-07-30 | 2005-07-30 | Apparatus and methods for a static mux-based priority encoder |
Publications (2)
Publication Number | Publication Date |
---|---|
US20070028022A1 US20070028022A1 (en) | 2007-02-01 |
US7325092B2 true US7325092B2 (en) | 2008-01-29 |
Family
ID=37695690
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/192,580 Expired - Fee Related US7325092B2 (en) | 2005-07-30 | 2005-07-30 | Apparatus and methods for a static mux-based priority encoder |
Country Status (1)
Country | Link |
---|---|
US (1) | US7325092B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103077331B (en) * | 2013-02-04 | 2016-03-02 | 快车科技有限公司 | A kind of digital resource protection method and relevant apparatus |
US20160065594A1 (en) * | 2014-08-29 | 2016-03-03 | Verizon Patent And Licensing Inc. | Intrusion detection platform |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4586036A (en) * | 1983-02-28 | 1986-04-29 | Advanced Computer Concepts, Inc. | Graphics display systems |
US4875180A (en) * | 1988-05-09 | 1989-10-17 | Unisys Corporation | Multi-function scaler for normalization of numbers |
US7043601B2 (en) * | 2000-09-29 | 2006-05-09 | Mosaid Technologies Incorporated | Priority encoder circuit and method |
-
2005
- 2005-07-30 US US11/192,580 patent/US7325092B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4586036A (en) * | 1983-02-28 | 1986-04-29 | Advanced Computer Concepts, Inc. | Graphics display systems |
US4875180A (en) * | 1988-05-09 | 1989-10-17 | Unisys Corporation | Multi-function scaler for normalization of numbers |
US7043601B2 (en) * | 2000-09-29 | 2006-05-09 | Mosaid Technologies Incorporated | Priority encoder circuit and method |
Non-Patent Citations (2)
Title |
---|
Nave, Carl, "NAND gate", Georgia State University, 2001, 4 pp. * |
Philips Semiconductor, "74F148 8-input priority encoder", Data Sheet, 1990,10 pp. (http://www.standardics.nxp.com/products/fast/pdf/74f148.pdf, last accessed Mar. 19, 2007). * |
Also Published As
Publication number | Publication date |
---|---|
US20070028022A1 (en) | 2007-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6661355B2 (en) | Methods and apparatus for constant-weight encoding & decoding | |
Sridhara et al. | Area and energy-efficient crosstalk avoidance codes for on-chip buses | |
EP2850616B1 (en) | Methods and apparatuses for low-power multi-level encoded signals | |
US6647449B1 (en) | System, method and circuit for performing round robin arbitration | |
US7765457B2 (en) | Parallel convolutional encoder | |
US20090237279A1 (en) | System and method for signaling on a bus using forbidden pattern free codes | |
Wille et al. | Synthesis of approximate coders for on-chip interconnects using reversible logic | |
US8964879B2 (en) | Crosstalk reduction coding schemes | |
Zou et al. | 3DLAT: TSV-based 3D ICs crosstalk minimization utilizing less adjacent transition code | |
US10657094B2 (en) | Relaxed 433 encoding to reduce coupling and power noise on PAM-4 data buses | |
US9117022B1 (en) | Hierarchical arbitration | |
US7325092B2 (en) | Apparatus and methods for a static mux-based priority encoder | |
US20170031853A1 (en) | Communication device with selective encoding | |
WO2007010503A2 (en) | 4-level logic decoder | |
US7471219B1 (en) | Low latency constrained coding for parallel busses | |
JP2007502458A (en) | Decoder circuit | |
US11755511B2 (en) | Data bus inversion using multiple transforms | |
Chintaiah et al. | FPGA implementation of coding for minimizing delay and power in soc interconnects | |
US20160087763A1 (en) | Data transmission apparatus and method for transmitting data in delay-insensitive data transmission method supporting handshake protocol | |
KR20140004432A (en) | Bus encoding device to minimize the switching and crosstalk delay | |
US20230131938A1 (en) | Techniques For Accessing Memory Circuits | |
US20210286549A1 (en) | Variable width column read operations in 3d storage devices with programmable error correction code strength | |
US8710891B2 (en) | Semiconductor IC including pulse generation logic circuit | |
Phadke et al. | A Novel Bus Controller For Advanced Microcontroller Bus Architecture | |
KR20230046884A (en) | Method and device of arbitrating multi-cores |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: LSI LOGIC CORP., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:STEPHANI, RICHARD J.;REEL/FRAME:016832/0800 Effective date: 20050729 |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
AS | Assignment |
Owner name: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AG Free format text: PATENT SECURITY AGREEMENT;ASSIGNORS:LSI CORPORATION;AGERE SYSTEMS LLC;REEL/FRAME:032856/0031 Effective date: 20140506 |
|
AS | Assignment |
Owner name: LSI CORPORATION, CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:LSI LOGIC CORPORATION;REEL/FRAME:033102/0270 Effective date: 20070406 |
|
AS | Assignment |
Owner name: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:LSI CORPORATION;REEL/FRAME:035390/0388 Effective date: 20140814 |
|
REMI | Maintenance fee reminder mailed | ||
LAPS | Lapse for failure to pay maintenance fees | ||
AS | Assignment |
Owner name: AGERE SYSTEMS LLC, PENNSYLVANIA Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031);ASSIGNOR:DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT;REEL/FRAME:037684/0039 Effective date: 20160201 Owner name: LSI CORPORATION, CALIFORNIA Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031);ASSIGNOR:DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT;REEL/FRAME:037684/0039 Effective date: 20160201 |
|
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20160129 |