IP Library Granted Patent US 7,839,164
Granted Patent B1
US 7,839,164 · App. 12/465,810 · Granted Nov 23, 2010

Low depth programmable priority encoders

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,839,164
App. No.
12/465,810
Granted
Nov 23, 2010
Kind
B1
Abstract

An apparatus having a plurality of first circuits, second circuits, third circuits and fourth circuits is disclosed. The first circuits may be configured to generate a plurality of first signals in response to (i) a priority signal and (ii) a request signal. The second circuits may be configured to generate a plurality of second signals in response to the first signals. The third circuits may be configured to generate a plurality of enable signals in response to the second signals. The fourth circuits may be configured to generate collectively an output signal in response to (i) the enable signals and (ii) the request signal. A combination of the first circuits, the second circuits, the third circuits and the fourth circuits generally establishes a programmable priority encoder. The second signals may be generated independent of the enable signals.

Claims (36)

1. An apparatus comprising:

a plurality of first circuits configured to generate a plurality of first signals in response to (i) a priority signal and (ii) a request signal;

a plurality of second circuits configured to generate a plurality of second signals in response to said first signals;

a plurality of third circuits configured to generate a plurality of enable signals in response to said second signals; and

a plurality of fourth circuits configured to generate collectively an output signal in response to (i) said enable signals and (ii) said request signal, such that (a) a combination of said first circuits, said second circuits, said third circuits and said fourth circuits establishes a programmable priority encoder and (b) said second signals are generated independent of said enable signals.

2. The apparatus according to claim 1 , wherein (i) said request signal has N bits and (ii) a depth through said second circuits, said third circuits and said fourth circuits is at most approximately 2 log 2 N levels of two-input Boolean logic gates.

3. The apparatus according to claim 1 , wherein a subset of said third circuits receive a corresponding subset of said enable signals as inputs.

4. The apparatus according to claim 1 , wherein said enable signals are routed exclusively to said fourth circuits.

5. The apparatus according to claim 1 , wherein said second circuits are interconnected in a pattern forming a plurality of columns and a plurality of rows, each of said columns (i) receiving a plurality of said first signals and (ii) presenting one of said second signals.

6. The apparatus according to claim 5 , wherein each of said rows has a different number of said second circuits.

7. The apparatus according to claim 5 , wherein each of said rows has a common number of said second circuits.

8. The apparatus according to claim 1 , wherein each of said first circuits comprises an inverter configured to generate a corresponding one of said first signals by inverting a respective bit of said request signal.

9. The apparatus according to claim 1 , wherein each of said second circuits comprises a plurality of Boolean logic gates configured to generate (i) a first one of said second signals=A OR (B AND C) and (ii) a second one of said second signals=B AND D, where A, B, C and D are inputs.

10. The apparatus according to claim 1 , wherein each of said third circuits comprises a plurality of Boolean logic gates configured to generate one of said enable signals=A OR (B AND C), where A, B and C are inputs.

11. The apparatus according to claim 1 , wherein each of said fourth circuits comprises a Boolean AND logic gate.

12. The apparatus according to claim 1 , wherein said programmable priority encoder is configured to (i) divide said request signal into one or more subsets, one of said subsets corresponding to each given bit of said priority signal having a predetermined logical value and (ii) pass a highest priority bit in each respective one of said subsets from said request signal to said output signal.

13. The apparatus according to claim 1 , wherein said programmable priority encoder comprises a circular programmable priority encoder in which an initial state of said enable signals matches a final state of said enable signals.

14. The apparatus according to claim 1 , wherein (i) said request signal has 26 bits and (ii) a depth through said second circuits, said third circuits and said fourth circuits is at most nine levels of two-input Boolean logic gates.

15. A method of priority encoding, comprising the steps of:

(A) generating a plurality of first signals in response to (i) a priority signal and (ii) a request signal using a plurality of first circuits;

(B) generating a plurality of second signals in response to said first signals using a plurality of second circuits;

(C) generating a plurality of enable signals in response to of said second signals using a plurality of third circuits; and

(D) generating an output signal in response to (i) said enable signals and (ii) said request signal using a plurality of fourth circuits collectively, such that (a) a combination of said first circuits, said second circuits, said third circuits and said fourth circuits establishes a programmable priority encoder and (b) said second signals are generated independent of said enable signals.

16. The method according to claim 15 , wherein (i) said request signal has N bits and (ii) a depth through said second circuits, said third circuits and said fourth circuits is at most approximately 2 log 2 N levels of two-input Boolean logic gates.

17. The method according to claim 15 , further comprising the step of:

routing a subset of said enable signals to a corresponding subset of said third circuits as inputs.

18. The method according to claim 15 , further comprising the step of:

routing said enable signals exclusively to said fourth circuits.

19. The method according to claim 15 , wherein said second circuits are interconnected in a pattern forming a plurality of columns and a plurality of rows, the method further comprising the steps of:

routing a plurality of said first signals to each of said columns; and

presenting one of said second signals from a respective one of said columns.

20. An apparatus comprising:

means for generating a plurality of first signals in response to (i) a priority signal and (ii) a request signal;

means for generating a plurality of second signals in response to said first signals;

means for generating a plurality of enable signals in response to of said second signals; and

means for generating an output signal in response to (i) said enable signals and (ii) said request signal, such that (a) a combination of said means for generating said first signals, said second signals, said third signals and said fourth signals establishes a programmable priority encoder and (b) said second signals are generated independent of said enable signals.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 8, 2016
From: INTEL CORPORATION
To: BEIJING XIAOMI MOBILE SOFTWARE CO., LTD.
Reel/Frame 037733/0440 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031) Recorded Feb 2, 2016
From: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
To: LSI CORPORATION; AGERE SYSTEMS LLC
Reel/Frame 037684/0039 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS AT REEL/FRAME NO. 32856/0031 Recorded May 29, 2015
From: DEUTSCHE BANK AG NEW YORK BRANCH
To: LSI CORPORATION
Reel/Frame 035797/0943 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 24, 2015
From: LSI CORPORATION
To: INTEL CORPORATION
Reel/Frame 035090/0477 →
PATENT SECURITY AGREEMENT Recorded May 8, 2014
From: LSI CORPORATION; AGERE SYSTEMS LLC
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 032856/0031 →