IP Library › Granted Patent US 6,949,954
Granted Patent B2
US 6,949,954 · App. 10/693,543 · Granted Sep 27, 2005

Method and apparatus for an asynchronous pulse logic circuit

Assignee: California Institute of Technology
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 6,949,954
App. No.
10/693,543
Granted
Sep 27, 2005
Kind
B2
Abstract

The present invention is a class of circuits named asynchronous pulse logic (APL) circuit and designing methods for such circuits. APL replaces two of the four-phase handshakes in QDI circuits with pulses, thus breaking the timing dependencies that cause performance problems in QDI circuits. Since the pulse length in APL varies so little, it can be assumed constant. This assumption frees designers from needing to consider the effects of the inputs and outputs on the pulse length, which means timing properties can be verified locally. One embodiment of the present invention is a class of circuit design called the single-track-handshake-asynchronous-pulse-logic (STAPL), which serves as a new target for the compilation of CHP (Communication Hardware Process) programs. In one embodiment, a five-stage pulse generator is used to create a 10 transition count cycle circuit. Advantages of STAPL include a simplified solution to the charge-sharing problem and less loading from p-transistors.

Claims (67)

1. An asynchronous pulse logic circuit comprising:

a first pulse generating component for generating a sending pulse;

a first converting component for catching and holding said sending pulse and converting said sending pulses to a first level voltage connected to said first pulse generating component;

a second pulse generating component for generating a resetting pulse;

a second converting component for converting said resetting pulse to a second level voltage connected to said second pulse generating component;

a checking component for ensuring no old output is still pending;

an N-input component connected to said first pulse generating component; and

an N-output component connected to said first converting component whereby a STAPL left-right buffer is formed.

2. An asynchronous pulse logic circuit comprising:

a first pulse generating component for generating a sending pulse;

a first converting component for catching and holding said sending pulse and converting said sending pulses to a first level voltage connected to said first pulse generating component; and

a checking component for ensuring no old output is still pending whereby said checking component is connected to said first pulse generating component and said first converting component to form a first input-output block.

3. The asynchronous pulse logic circuit of claim 2 further comprises:

a plurality of said input-output blocks.

4. The asynchronous pulse logic circuit of claim 3 further comprises:

an input-clearing block comprising a second converting component for converting pulses.

5. The asynchronous pulse logic circuit of claim 4 further comprises:

an acknowledgment block comprising a second pulse generating component for generating a resetting pulse.

6. The asynchronous pulse logic circuit of claim 5 further comprises:

a conditions block whereby said second pulse generating component is controlled by said conditions block to conditionally reset each of said plurality of input-output blocks and input clearing block.

7. The asynchronous pulse logic circuit of claim 6 wherein said conditions block further comprises:

a third pulse generating component for generating a sending pulse; and

a third converting component for converting said sending pulses to said first level voltage connected to said third pulse generating component.

8. The asynchronous pulse logic circuit of claim 1 wherein said first converting component is modified to store states.

9. The asynchronous pulse logic circuit of claim 8 further comprises:

an updating component comprising an interlock component wherein an updating pulse is generated to update the input state in said first pulse generating component, whereby a state-storing circuit is formed.

10. The asynchronous pulse generating circuit of claim 1 further comprises:

an arbiter-filter, wherein said checking component and said arbiter-filter are connected to said first pulse generating component and said first converting component to form a STAPL arbiter.

11. The asynchronous pulse generating circuit of claim 10 wherein said first pulse generating component generates a reset pulse for the input.

12. The asynchronous pulse generating circuit of claim 10 wherein said first pulse generating component further comprises an interlock component.

13. The asynchronous pulse generating circuit of claim 1 further comprises:

a QDI buffer connected to said STAPL left-right buffer whereby STAPL-to-QDI converter is formed.

14. The asynchronous pulse generating circuit of claim 1 further comprises:

a QDI buffer connected to said STAPL left-right buffer whereby QDI-to-STAPL converter is formed.

15. An asynchronous pulse logic circuit comprising:

a first pulse generating component for generating a sending pulse;

a first converting component for converting pulses to a first level voltage connected to said first pulse generating component;

a second pulse generating component for generating a resetting pulse;

a second converting component for converting pulses to a second level voltage connected to said second pulse generating component;

a checking component for ensuring no old output is still pending;

an N-input component connected to said first pulse generating component; and

an N-output component connected to said first converting component whereby a STAPL left-right buffer is formed.

16. The asynchronous pulse logic circuit of claim 15 wherein said checking component is connected to said first pulse generating component and said first converting component to form a first input-output block.

17. The asynchronous pulse logic circuit of claim 16 further comprises:

a plurality of said input-output blocks.

18. The asynchronous pulse logic circuit of claim 17 further comprises:

an input-clearing block comprising a second converting component for converting pulses.

19. The asynchronous pulse logic circuit of claim 18 further comprises:

an acknowledgment block comprising a second pulse generating component for generating a resetting pulse.

20. The asynchronous pulse logic circuit of claim 19 further comprises:

a conditions block whereby said second pulse generating component is controlled by said conditions block to conditionally reset each of said plurality of input-output blocks and input clearing block.

21. The asynchronous pulse logic circuit of claim 20 wherein said conditions block further comprises:

a third pulse generating component for generating a sending pulse; and

a third converting component for converting pulses to said first level voltage connected to said third pulse generating component.

22. An asynchronous pulse logic circuit comprising:

a first pulse generating component for generating a sending pulse;

a first converting component for converting pulses to a first level voltage connected to said first pulse generating component wherein said first converting component is modified to store states; and

an updating component comprising an interlock component wherein an updating pulse is generated to update the input state in said first pulse generating component, whereby a state storing circuit is formed.

23. The asynchronous pulse generating circuit of claim 22 further comprises:

an arbiter-filter and

a checking component for ensuring no old output is still pending whereby said checking component and said arbiter-filter are connected to said first pulse generating component and said first converting component to form a STAPL arbiter.

24. The asynchronous pulse generating circuit of claim 23 wherein said first pulse generating component generates a reset pulse for the input.

25. The asynchronous pulse generating circuit of claim 23 wherein said first pulse generating component further comprises an interlock component.

26. The asynchronous pulse generating circuit of claim 15 further comprises:

a QDI buffer connected to said STAPL left-right buffer whereby STAPL-to-QDI converter is formed.

27. The asynchronous pulse generating circuit of claim 15 further comprises:

a QDI buffer connected to said STAPL left-right buffer whereby QDI-to-STAPL converter is formed.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 18, 2011
From: NYSTROM, MIKA; MARTIN, ALAIN J.
To: CALIFORNIA INSTITUTE OF TECHNOLOGY
Reel/Frame 025978/0814 →
LICENSE Recorded Jan 19, 2009
From: CALIFORNIA INSTITUTE OF TECHNOLOGY
To: INTELLECTUAL VENTURES HOLDING 59 LLC
Reel/Frame 022117/0805 →
CONFIRMATORY LICENSE Recorded Jul 29, 2004
From: CALIFORNIA INSTITUTE OF TECHNOLOGY
To: UNITED STATES AIR FORCE
Reel/Frame 015609/0572 →
Continuity (3)
Division 1026925500 · Oct 11, 2002
Provisional Application 6032864700 · Oct 11, 2001
Related Publication 20050007151A1 · Jan 13, 2005