Claims
- 1. A method for designing an asynchronous pulse logic circuit comprising:
implementing circuitry for the send phase of the four-phase handshake mechanism in said circuit; implementing circuitry for the acknowledge phase of the four-phase handshake mechanism in said circuit; replacing circuitry for the data reset phase of the four-phase handshake mechanism in said circuit with a timing assumption; replacing circuitry for the acknowledge reset phase of the four-phase handshake mechanism in said circuit with said timing assumption; and using a pulse generating circuitry to regulate said timing assumption.
- 2. The method of claim 1 wherein said pulse generating circuitry has a maximum single-track hold time.
- 3. The method of claim 2 wherein said pulse generating circuitry has a minimum single-track setup time.
- 4. The method of claim 3 wherein said minimum single-track setup time is greater than or equal to said maximum single-track hold time.
- 5. The method of claim 4 wherein said minimum single-track setup time and said maximum single-track hold time are approximately equal to five-transition delay.
- 6. The method of claim 1 wherein said pulse generating circuitry comprises:
a first pulse generating component (196) for generating a sending pulse; and a second pulse generating component (192) for generating a resetting pulse.
- 7. The method of claim 6 wherein said pulse generating circuitry further comprises:
a first converting component (188) for converting pulses to a first level voltage connected to said first pulse generating component (196); a second converting component (194) for converting pulses to a second level voltage connected to said second pulse generating component (192); a checking component (190) for ensuring no old output is still pending; an N-input component (199) connected to said first pulse generating component (196); and an N-output component (198) connected to said first converting component (188).
- 8. An asynchronous pulse logic circuit comprising:
a first pulse generating component (196) for generating a sending pulse; and a first converting component (188) for converting pulses to a first level voltage connected to said first pulse generating component (196).
- 9. The asynchronous pulse logic circuit of claim 7, further comprising:
a second pulse generating component (192) for generating a resetting pulse; a second converting component (194) for converting pulses to a second level voltage connected to said second pulse generating component (192); a checking component (190) for ensuring no old output is still pending; an N-input component (199) connected to said first pulse generating component (196); and an N-output component (198) connected to said first converting component (188) whereby a STAPL left-right buffer (186) is formed.
- 10. The asynchronous pulse logic circuit of claim 8 further comprises:
a checking component (190) for ensuring no old output is still pending whereby said checking component (190) is connected to said first pulse generating component (196) and said first converting component (188) to form a first input-output block (200).
- 11. The asynchronous pulse logic circuit of claim 10 further comprises:
a plurality of said input-output blocks.
- 12. The asynchronous pulse logic circuit of claim 11 further comprises:
an input-clearing block (206) comprising a second converting component (194) for converting pulses.
- 13. The asynchronous pulse logic circuit of claim 12 further comprises:
an acknowledgment block (204) comprising a second pulse generating component (192) for generating a resetting pulse.
- 14. The asynchronous pulse logic circuit of claim 13 further comprises:
a conditions block (224) whereby said second pulse generating component (192) is controlled by said conditions block (224) to conditionally reset each of said plurality of input-output blocks and input clearing block (206).
- 15. The asynchronous pulse logic circuit of claim 14 wherein said conditions block further comprises:
a third pulse generating component (196) for generating a sending pulse; and a third converting component (188) for converting pulses to said first level voltage connected to said third pulse generating component (196).
- 16. The asynchronous pulse logic circuit of claim 8 wherein said first converting component (188) is modified to store states.
- 17. The asynchronous pulse logic circuit of claim 16 further comprises:
an updating component (502) comprising interlock component (504) wherein an updating pulse is generated to update the input state in said first pulse generating component (196), whereby a state-storing circuit (234) is formed.
- 18. The asynchronous pulse generating circuit of claim 8 further comprises:
an arbiter-filter (239); and a checking component (190) for ensuring no old output is still pending whereby said checking component (190) and said arbiter-filter (239) are connected to said first pulse generating component (196) and said first converting component (188) to form a STAPL arbiter (238).
- 19. The asynchronous pulse generating circuit of claim 18 wherein said first pulse generating component (196) generates a reset pulse for the input.
- 20. The asynchronous pulse generating circuit of claim 18 wherein said first pulse generating component (196) further comprises an interlock (504) component.
- 21. The asynchronous pulse generating circuit of claim 9 further comprises:
a QDI buffer (240) connected to said STAPL left-right buffer whereby an STAPL-to-QDI converter is formed.
- 22. The asynchronous pulse generating circuit of claim 9 further comprises:
a QDI buffer (246) connected to said STAPL left-right buffer whereby an QDI-to-STAPL converter is formed.
- 23. A microprocessor comprising:
a PCUNIT component for generating program counter values comprising a plurality of incrementers wherein at least one of said incrementers is a 32-bit incrementer; an instruction memory; an instruction decoder; a register file; an operands-generation unit; a instruction-execution unit; and a writeback unit wherein whereby said PCUNIT component, said instruction memory, said instruction decoder, said register file, said operands-generation unit; said instruction-execution unit and said writeback unit comprise asynchronous pulsed circuit running at 10 transitions per cycle.
- 24. The microprocessor of claim 22 wherein a byte-skewing data path control strategy is implemented in said microprocessor.
- 25. The microprocessor of claim 22 wherein said 32-bit incrementer comprises:
a bottom adder cell for adding the increment; a carry cell specialized for adding zero plus a carry; and a buffer for slack-matching wherein said incrementer carries across boundaries with a ripple carry and carries within boundaries with a carry forwarded to the next pipeline stage whereby the number of bits incremented is maximized and the number of carries done within bytes and the overall stages needed for increment are minimized.
- 26. A method of implementing data path control in a microprocessor, comprising:
using a linear tree data path control; starting with the main control node; making a first set of N-way copies of data path processes and a first control node from said main control node; making a new set N-way copies of data path processes and a new control node from said first control node; and repeating said steps of making a new set N-way copies of path processes and a new control node.
- 27. A method of incrementing microprocessor counter, comprising:
incrementing bytes by carrying across boundaries with a ripple carry and carrying within boundaries with a carry forwarded to the next pipeline stage whereby the number of bits incremented is maximized and the number of carries done within bytes and the overall stages needed for increment are minimized.
Parent Case Info
[0001] The applicant claims priority to U.S. Provisional Patent Application titled “Asynchronous Pulse Logic”, No. 60/328,647, filed on Oct. 11, 2001, and is hereby fully incorporated by reference.
Government Interests
[0002] The invention was made by an agency of the United States Government or under a contract with an agency of the United States Government. The name of the U.S. Government agency is DARPA and the Government contract numbers DAAH 04-94-G-0274 and F29601-00K-0184.
[0003] Portions of the disclosure of this patent document contain material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office file or records, but otherwise reserves all copyright rights whatsoever.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60328647 |
Oct 2001 |
US |