Claims
- 1. A buffer circuit for receiving an input signal and for providing an output signal, the buffer comprising:
a first pulse generator coupled to receive the input signal and configured to generate a first pulse responsive to a first transition edge of the input signal; a first pulse loop generator coupled to receive the first pulse from the first pulse generator and configured to generate a first pulse loop signal to deactivate the first pulse generator responsive to the first pulse; a second pulse generator coupled to receive the input signal and configured to generate a second pulse responsive to a second transition edge of the input signal; a second pulse loop generator coupled to receive the second pulse from the second pulse generator and configured to generate a second pulse loop signal to deactivate the second pulse generator responsive to the second pulse; and an output stage coupled to receive the first and second pulses and configured to produce an output of first logic value for the duration of the first pulse, and of second logic value for the duration of the second pulse as the output signal from the buffer circuit.
- 2. The buffer circuit of claim 1, further comprising:
a first loop keeper circuit coupled to intercept the first pulse loop signal between the first pulse loop generator and the first pulse generator and configured to deactivate the first pulse generator responsive to receiving the first pulse loop signal, thereby blocking subsequent pulse loop signals from reaching the first pulse generator; a reset generator coupled to receive the input signal and to output a first reset signal responsive to a falling edge of the input signal; and a first pulse reset coupled to receive the first reset signal from the reset generator and responsive to the reset signal configured to deactivate the first loop keeper circuit and to reset the first pulse generator to respond to a subsequent rising edge in the input signal.
- 3. The buffer circuit of claim 1, further comprising:
a second loop keeper circuit coupled to receive the second pulse loop signal from second pulse loop generator and configured to deactivate the second pulse generator responsive to receiving the second pulse loop signal, thereby blocking subsequent pulse loop from reaching the second pulse generator; a reset generator coupled to receive the input signal and to output a second reset signal responsive to a rising edge of the input signal; and a second pulse reset coupled to receive the second reset signal from the reset generator and responsive to the reset signal, configured to deactivate the second loop keeper circuit and to reset the second pulse generator to respond to a subsequent falling edge in the input signal.
- 4. The buffer circuit of claim 1, wherein the output stage comprises a keeper circuit configured to hold the output signal constant between first and second pulses.
- 5. The buffer circuit of claim 1, wherein the first and second pulse generators and the output stage are configured to be large devices.
- 6. The buffer circuit of claim 1, wherein the width of the first pulse is determined by the amount of delay between the first pulse generator producing the first pulse and the first pulse loop generator producing the first pulse loop signal.
- 7. The buffer circuit of claim 1, wherein the width of the second pulse is determined by the amount of delay between the second pulse generator producing the second pulse and the second pulse loop generator producing the second pulse loop signal.
- 8. The buffer circuit of claim 1, wherein the first and second pulse generators are configured to receive a level signal from the input signal, and the output stage is configured to generate a level signal as the output signal.
- 9. The buffer circuit of claim 1, wherein:
the input signal comprises a positive pulse input and a negative pulse input; the first pulse generator is configured to receive the positive pulse input; the second pulse generator is configured to receive the negative pulse input; and the output stage is configured to generate a level signal as the output signal.
- 10. The buffer circuit of claim 1, wherein:
the input signal comprises a positive pulse input and a negative pulse input; the first pulse generator is configured to receive the positive pulse input, the second pulse generator is configured to receive the negative pulse input; and the output stage is configured to generate a positive pulse output responsive to the positive pulse input and to generate a negative pulse output responsive to the negative pulse input.
- 11. The buffer circuit of claim 1, wherein:
the first and second pulse generators are configured to receive a level signal from the input signal; and the output stage is configured to generate a positive pulse output responsive to a rising edge in the input signal and to generate a negative pulse output responsive to a falling edge in the input signal.
- 12. The buffer circuit of claim 1, wherein the buffer receives the input signal from a first a data distribution circuit and provides the output signal to a second data distribution circuit.
- 13. The buffer circuit of claim 12, wherein the first data distribution system comprises a level-signal clock distribution system, and the input signal is a level input.
- 14. The buffer circuit of claim 12 wherein the second data distribution system comprises a level-signal clock distribution system, and the output signal is a level input.
- 15. The buffer circuit of claim 12, wherein the first data distribution system comprises a pulse-signal clock distribution system, and the input signal is a pulse input.
- 16. The buffer circuit of claim 12 wherein the second data distribution system comprises a pulse-signal clock distribution system, and the output signal is a pulse input.
- 17. The buffer circuit of claim 12, wherein the data distribution system comprise a cache memory route.
- 18. The buffer circuit of 17 wherein the cache memory route consists of an Level 2 cache route or a Level 3 cache route.
- 19. In a buffer circuit, a method comprising the steps of:
receiving an input signal; turning on a pulse signal responsive to a transition in the input signal; generating a signal responsive to the pulse signal; delaying the pulse signal to generate a delayed pulse signal; and turning off the pulse signal responsive to the delayed pulse signal.
- 20. The method of claim 19, further comprising the step of resetting the buffer circuit for repeating performance of the method responsive to a complement transition in the input signal.
- 21. The method of claim 19, further comprising the steps of:
turning on a second pulse signal responsive to a complement transition in the input signal; generating a signal responsive to the second pulse signal; delaying the second pulse signal to generate a second delayed pulse signal; and turning off the second pulse signal responsive to the second delayed pulse signal.
- 22. The method claim 19, wherein the duration of the delaying step determines the width of the first pulse signal.
- 23. The method of claim 21, wherein the duration of the step delaying the second pulse signal determines the width of the second pulse signal.
- 24. A buffer circuit for receiving an input signal and for providing an output signal, the buffer circuit comprising:
a rising edge pulse generator coupled to receive the input signal and configured to generate a rising edge pulse responsive to a rising edge in the input signal, to receive a delayed version of the rising edge pulse and to terminate the rising edge pulse responsive to the delayed rising edge pulse; and a falling edge pulse generator coupled to receive the input signal and configured to generate a falling edge pulse responsive to a falling edge in the input signal, to receive a delayed version of the falling edge pulse and to terminate the falling edge pulse responsive to the delayed falling edge pulse; and an output stage coupled to receive the rising edge pulse and the falling edge pulse and configured to output a first logic value for the duration of the first pulse, and of second logic value for the duration of the second pulse as the output signal from the buffer circuit.
- 25. The buffer circuit of claim 24, further comprising a reset generator coupled to receive the input signal and configured to generate a rising edge reset signal to enable the rising edge pulse generator responsive to a falling edge in the input signal, and configured to generate a falling edge reset signal to enable the falling edge pulse generator responsive to a rising edge in the input signal.
- 26. The buffer of claim 25, further comprising:
a rising edge pulse loop generator coupled to receive the rising edge pulse from the rising edge pulse generator and configured to produce a delayed rising edge pulse; a rising edge loop keeper circuit coupled to receive the delayed rising edge pulse and configured to block the rising edge pulse and to disable the rising edge pulse generator; and a rising edge pulse reset coupled to receive the rising edge reset signal and configured to disable the rising edge loop keeper circuit and to re-enable the rising edge pulse generator responsive to the rising edge reset signal.
- 27. The buffer of claim 25, further comprising:
a falling edge pulse loop generator coupled to receive the falling edge pulse from the falling edge pulse generator and configured to produce a delayed falling edge pulse; and a falling edge loop keeper circuit coupled to receive the delayed falling edge pulse and configured to block the falling edge pulse and to disable the falling edge pulse generator; and a falling edge pulse reset coupled to receive the falling edge reset signal and configured to disable the falling edge loop keeper circuit and to re-enable the falling edge pulse generator responsive to the falling edge reset signal.
- 28. The buffer circuit of claim 24, wherein the output stage comprises a keeper circuit configured to hold the output signal constant between the rising edge pulse and falling edge pulse.
- 29. The buffer circuit of claim 24, wherein the rising edge pulse generator, the falling edge pulse generator, and the output stage are configured to be large devices.
- 30. The buffer circuit of claim 26, wherein the width of the rising edge pulse is determined by the amount of delay between the rising edge pulse generator producing the rising edge pulse and the rising edge pulse loop generator producing the delayed rising edge pulse signal.
- 31. The buffer circuit of claim 27, wherein the width of the second pulse is determined by the amount of delay between the falling edge pulse generator producing the falling edge pulse and the falling edge pulse loop generator producing the delayed falling edge pulse signal.
- 32. The buffer circuit of claim 24, wherein the rising edge pulse generator and the falling edge pulse generator are configured to receive a level signal from the input signal, and the output stage is configured to generate a level signal as the output signal.
- 33. The buffer circuit of claim 24, wherein:
the input signal comprises a positive pulse input and a negative pulse input; the rising edge pulse generator is configured to receive the positive pulse input; the falling edge pulse generator is configured to receive the negative pulse input; and the output stage is configured to generate a level signal as the output signal.
- 34. The buffer circuit of claim 24, wherein:
the input signal comprises a positive pulse input and a negative pulse input; the rising edge pulse generator is configured to receive the positive pulse input, the falling edge pulse generator is configured to receive the negative pulse input; and the output stage is configured to generate a positive pulse output responsive to the positive pulse input and to generate a negative pulse output responsive to the negative pulse input.
- 35. The buffer circuit of claim 24, wherein:
the rising edge pulse generator and the falling edge pulse generator are configured to receive a level signal from the input signal; and the output stage is configured to generate a positive pulse output responsive to a rising edge in the input signal and to generate a negative pulse output responsive to a falling edge in the input signal.
- 36. The buffer circuit of claim 24, wherein the buffer receives the input signal from a first a data distribution circuit and provides the output signal to a second data distribution circuit.
- 37. The buffer circuit of claim 36, wherein the first data distribution system comprises a level-signal clock distribution system, and the input signal is a level input.
- 38. The buffer circuit of claim 36 wherein the second data distribution system comprises a level-signal clock distribution system, and the output signal is a level input.
- 39. The buffer circuit of claim 36, wherein the first data distribution system comprises a pulse-signal clock distribution system, and the input signal is a pulse input.
- 40. The buffer circuit of claim 36 wherein the second data distribution system comprises a pulse-signal clock distribution system, and the output signal is a pulse input.
- 41. The buffer circuit of claim 36, wherein the data distribution system comprise a cache memory route.
- 42. The buffer circuit of 41 wherein the cache memory route consists of an Level 2 cache route or a Level 3 cache route.
- 43. A buffer circuit comprising:
an input means for receiving an input signal; a pulse generation means for turning on a pulse signal responsive to a transition in the input signal; an output means for outputting a signal responsive to the pulse signal; a delaying means for delaying the pulse signal to generate a delayed pulse signal; and a looping means for turning off the pulse generation means responsive to the delayed pulse signal.
- 44. The buffer circuit of claim 43, further comprising a reset means for resetting the buffer circuit to enable it to respond to a subsequent transition in the input signal, the reset means acting responsive to a complement transition in the input signal.
- 45. The buffer circuit of claim 43, wherein the duration of the delay generated by the delaying means determines the width of the first pulse signal.
- 46. The buffer circuit of claim 43, further comprising:
a second pulse generation means for turning on a second pulse signal responsive to a complement transition in the input signal; a second delaying means for delaying the second pulse signal to generate a second delayed pulse signal; and a second looping means for turning off the second pulse generation means responsive to the second delayed pulse signal; and the output means is further configured to generate a signal responsive to the second pulse signal.
- 47. The buffer circuit of 46, wherein the duration of the delay generated by the second delaying means determines the width of the second pulse signal.
- 48. A method for optimizing a complement reset buffer route comprising the steps of:
collecting buffer latency data associated with a set of device width and wire length parameters; selecting a subset of device width and wire length parameters corresponding to a desired buffer latency; and selecting a device width and wire length pair from the subset which minimizes the total area of the buffer route.
- 49. The method of claim 48, wherein the area is defined as the quotient of device width divided by wire length.
RELATED APPLICATIONS
[0001] This application is related to the U.S. patent application of Robert Paul Masleid and Christophe Giacomotto, entitled “Complement Reset Latch,” filed on even date herewith, the subject matter of which is incorporated by reference herein in its entirety.