IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0631952
(2003-07-30)
|
발명자
/ 주소 |
|
출원인 / 주소 |
|
대리인 / 주소 |
|
인용정보 |
피인용 횟수 :
3 인용 특허 :
15 |
초록
▼
A clock skew tolerant clocking scheme addresses both the max-time and min-time problems by using dual transparent pulsed latches operated by complementary phases of the clock signal. According to the present invention, the first pulsed latch is triggered by a first pulse derived by the leading edge
A clock skew tolerant clocking scheme addresses both the max-time and min-time problems by using dual transparent pulsed latches operated by complementary phases of the clock signal. According to the present invention, the first pulsed latch is triggered by a first pulse derived by the leading edge of a clock signal pulse and the second pulsed latch is triggered by a second pulse derived from the trailing edge of the clock signal. By employing transparent pulse latches, the clock skew tolerant clocking scheme of the invention provides max-time clock skew tolerance. In addition, unlike prior art solutions, according to the invention, the transparency periods of the dual complementary pulsed latches do not overlap so there is never a transparency period between two successive stages and, therefore, there is no opportunity to introduce the min-time, or racing condition, problem.
대표청구항
▼
1. A clock skew tolerant clocking scheme comprising:a data stream; a clock signal, said clock signal having a clock cycle, said clock signal comprising a plurality of clock pulses, each of said clock pulses of said plurality of clock pulses comprising a clock pulse rising edge and a clock pulse fall
1. A clock skew tolerant clocking scheme comprising:a data stream; a clock signal, said clock signal having a clock cycle, said clock signal comprising a plurality of clock pulses, each of said clock pulses of said plurality of clock pulses comprising a clock pulse rising edge and a clock pulse falling edge and a clock pulse width between said clock pulse rising edge and said clock pulse falling edge; a first pulse signal, said first pulse signal comprising a plurality of first pulses, each of said first pulses of said plurality of first pulses comprising a first pulse rising edge and a first pulse falling edge and a first pulse width between said first pulse rising edge and said first pulse falling edge, said first pulse signal being generated by a first local pulse generator, said first pulse signal being derived from said clock signal such that each of said first pulses of said plurality of first pulses corresponds to one of said clock pulses of said plurality of clock pulses and each of said first pulse rising edges of said first pulses are generated by a corresponding clock pulse rising edge of said corresponding one of said plurality of clock pulses, said first pulse width being less than fifty percent of said clock pulse width; a second pulse signal, said second pulse signal comprising a plurality of second pulses, each of said second pulses of said plurality of second pulses comprising a second pulse rising edge and a second pulse falling edge and a second pulse width between said second pulse rising edge and said second pulse falling edge, said second pulse signal being generated by a second local pulse generator, said second pulse signal being derived from said clock signal such that each of said second pulses of said plurality of second pulses corresponds to one of said clock pulses of said plurality of clock pulses and each of said second pulse rising edges of said second pulses are generated by a corresponding clock pulse falling edge of said corresponding one of said plurality of clock pulses, said second pulse width being less than fifty percent of said clock pulse width; a first transparent pulse latch, said first pulse signal being operatively coupled to said first transparent pulse latch; a second transparent pulse latch, said second pulse signal being operatively coupled to said second transparent pulse latch; wherein, for each clock pulse of said plurality of clock pulses of said clock signal there is a first pulse of said plurality of first pulses of said first pulse signal generated by a rising edge of said clock pulse and a corresponding second pulse of said plurality of second pulses of said second pulse signal generated by a falling edge of said clock pulse; further wherein, there is a frequency dependent separation window between a falling edge of said first pulse and rising edge of said corresponding second pulse such that race conditions are avoided. 2. The clock skew tolerant clocking scheme of claim 1; wherein,said first pulse width is ten to twenty-five percent of said clock cycle. 3. The clock skew tolerant clocking scheme of claim 1; wherein,said first pulse width is twenty percent of said clock cycle. 4. The clock skew tolerant clocking scheme of claim 1; wherein,said second pulse width is ten to twenty-five percent of said clock cycle. 5. The clock skew tolerant clocking scheme of claim 1; wherein,said second pulse width is twenty percent of said clock cycle. 6. The clock skew tolerant clocking scheme of claim 1; wherein,said first pulse width is equal to said second pulse width. 7. The clock skew tolerant clocking scheme of claim 6; wherein,said first pulse width and said second pulse width are ten to twenty-five percent of said clock cycle. 8. The clock skew tolerant clocking scheme of claim 6; wherein,said first pulse width and said second pulse width are twenty percent of said clock cycle. 9. The clock skew tolerant clocking scheme of claim 1; wherein,said first pulse signal is generated by a first local pulse generator operatively coupled to said first transparent pulse latch; and said second pulse signal is generated by a second local pulse generator operatively coupled to said second transparent pulse latch. 10. A method for clocking combinational logic blocks said method comprising:providing a data stream; generating a clock signal, said clock signal having a clock cycle, said clock signal comprising a plurality of clock pulses, each of said clock pulses of said plurality of clock pulses comprising a clock pulse rising edge and a clock pulse falling edge and a clock pulse width between said clock pulse rising edge and said clock pulse falling edge; generating a first pulse signal, said first pulse signal comprising a plurality of first pulses, each of said first pulses of said plurality of first pulses comprising a first pulse rising edge and a first pulse falling edge and a first pulse width between said first pulse rising edge and said first pulse falling edge, said first pulse signal being generated by a first local pulse generator, said first pulse signal being derived from said clock signal such that each of said first pulses of said plurality of first pulses corresponds to one of said clock pulses of said plurality of clock pulses and each of said first pulse rising edges of said first pulses are generated by a corresponding clock pulse rising edge of said corresponding one of said plurality of clock pulses, said first pulse width being less than fifty percent of said clock pulse width; generating a second pulse signal, said second pulse signal comprising a plurality of second pulses, each of said second pulses of said plurality of second pulses comprising a second pulse rising edge and a second pulse falling edge and a second pulse width between said second pulse rising edge and said second pulse falling edge, said second pulse signal being generated by a second local pulse generator, said second pulse signal being derived from said clock signal such that each of said second pulses of said plurality of second pulses corresponds to one of said clock pulses of said plurality of clock pulses and each of said second pulse rising edges of said second pulses are generated by a corresponding clock pulse falling edge of said corresponding one of said plurality of clock pulses, said second pulse width being less than fifty percent of said clock pulse width; operatively coupling a first transparent pulse latch, to said first pulse signal; operatively coupling a second transparent pulse latch to said second pulse signal; ensuring that for each clock pulse of said plurality of clock pulses of said clock signal there is a first pulse of said plurality of first pulses of said first pulse signal generated by a rising edge of said clock pulse and a corresponding second pulse of said plurality of second pulses of said second pulse signal generated by a falling edge of said clock pulse; wherein, there is a frequency dependent separation window between a falling edge of said first pulse and rising edge of said corresponding second pulse such that race conditions are avoided. 11. The method for clocking combinational logic blocks of claim 10; wherein,said first pulse width is ten to twenty-five percent of said clock cycle. 12. The method for clocking combinational logic blocks of claim 10; wherein,said first pulse width is twenty percent of said clock cycle. 13. The method for clocking combinational logic blocks of claim 10; wherein,said second pulse width is ten to twenty-five percent of said clock cycle. 14. The method for clocking combinational logic blocks of claim 10; wherein,said second pulse width is twenty percent of said clock cycle. 15. The method for clocking combinational logic blocks of claim 10; wherein,said first pulse width is equal to said second pulse width. 16. The method for clocking combinational logic blocks of claim 15; wherein,said first pulse width and said second pulse width are ten to twenty-five percent of said clock cycle. 17. The method for clocking combinational logic blocks of claim 15; wherein,said first pulse width and said second pulse width are twenty percent of said clock cycle. 18. The method for clocking combinational logic blocks of claim 10; wherein,said first pulse signal is generated by a first local pulse generator operatively coupled to said first transparent pulse latch; and said second pulse signal is generated by a second local pulse generator operatively coupled to said second transparent pulse latch. 19. A method for creating a clock skew tolerate computer pipeline comprising;providing a plurality of pipeline stages, each of said stages comprising combinational logic blocks, for each of said combinational logic blocks: providing a data stream; generating a clock signal, said clock signal having a clock cycle, said clock signal comprising a plurality of clock pulses, each of said clock pulses of said plurality of clock pulses comprising a clock pulse rising edge and a clock pulse falling edge and a clock pulse width between said clock pulse rising edge and said clock pulse falling edge; generating a first pulse signal, said first pulse signal comprising a plurality of first pulses, each of said first pulses of said plurality of first pulses comprising a first pulse rising edge and a first pulse falling edge and a first pulse width between said first pulse rising edge and said first pulse falling edge, said first pulse signal being generated by a first local pulse generator, said first pulse signal being derived from said clock signal such that each of said first pulses of said plurality of first pulses corresponds to one of said clock pulses of said plurality of clock pulses and each of said first pulse rising edges of said first pulses are generated by a corresponding clock pulse rising edge of said corresponding one of said plurality of clock pulses, said first pulse width being less than fifty percent of said clock pulse width; generating a second pulse signal, said second pulse signal comprising a plurality of second pulses, each of said second pulses of said plurality of second pulses comprising a second pulse rising edge and a second pulse falling edge and a second pulse width between said second pulse rising edge and said second pulse falling edge, said second pulse signal being generated by a second local pulse generator, said second pulse signal being derived from said clock signal such that each of said second pulses of said plurality of second pulses corresponds to one of said clock pulses of said plurality of clock pulses and each of said second pulse rising edges of said second pulses are generated by a corresponding clock pulse falling edge of said corresponding one of said plurality of clock pulses, said second pulse width being less than fifty percent of said clock pulse width; operatively coupling a first transparent pulse latch, to said first pulse signal; operatively coupling a second transparent pulse latch to said second pulse signal; ensuring that for each clock pulse of said plurality of clock pulses of said clock signal there is a first pulse of said plurality of first pulses of said first pulse signal generated by a rising edge of said clock pulse and a corresponding second pulse of said plurality of second pulses of said second pulse signal generated by a falling edge of said clock pulse; wherein, there is a frequency dependent separation window between a falling edge of said first pulse and rising edge of said corresponding second pulse such that race conditions are avoided. 20. The method of claim 19; wherein,said first pulse width is ten to twenty-five percent of said clock cycle. 21. The method of claim 19; wherein,said first pulse width is twenty percent of said clock cycle. 22. The method of claim 19; wherein,said second pulse width is ten to twenty-five percent of said clock cycle. 23. The method of claim 19; wherein,said second pulse width is twenty percent of said clock cycle. 24. The method of claim 19; wherein,said first pulse width is equal to said second pulse width. 25. The method of claim 24; wherein,said first pulse width and said second pulse width are ten to twenty-five percent of said clock cycle. 26. The method of claim 24; wherein,said first pulse width and said second pulse width are twenty percent of said clock cycle. 27. A clock skew tolerant clocking scheme comprising:a data stream; a clock signal, said clock signal having a clock cycle, said clock signal comprising a plurality of clock pulses, each of said clock pulses of said plurality of clock pulses comprising a clock pulse falling edge and a clock pulse rising edge and a clock pulse width between said clock pulse falling edge and said clock pulse rising edge; a first pulse signal, said first pulse signal comprising a plurality of first pulses, each of said first pulses of said plurality of first pulses comprising a first pulse rising edge and a first pulse falling edge and a first pulse width between said first pulse rising edge and said first pulse falling edge, said first pulse signal being generated by a first local pulse generator, said first pulse signal being derived from said clock signal such that each of said first pulses of said plurality of first pulses corresponds to one of said clock pulses of said plurality of clock pulses and each of said first pulse rising edges of said first pulses are generated by a corresponding clock pulse falling edge of said corresponding one of said plurality of clock pulses, said first pulse width being less than fifty percent of said clock pulse width; a second pulse signal, said second pulse signal comprising a plurality of second pulses, each of said second pulses of said plurality of second pulses comprising a second pulse rising edge and a second pulse falling edge and a second pulse width between said second pulse rising edge and said second pulse falling edge, said second pulse signal being generated by a second local pulse generator, said second pulse signal being derived from said clock signal such that each of said second pulses of said plurality of second pulses corresponds to one of said clock pulses of said plurality of clock pulses and each of said second pulse rising edges of said second pulses are generated by a corresponding clock pulse rising edge of said corresponding one of said plurality of clock pulses, said second pulse width being less than fifty percent of said clock pulse width; a first transparent pulse latch, said first pulse signal being operatively coupled to said first transparent pulse latch; a second transparent pulse latch, said second pulse signal being operatively coupled to said second transparent pulse latch; wherein, for each clock pulse of said plurality of clock pulses of said clock signal there is a first pulse of said plurality of first pulses of said first pulse signal generated by a falling edge of said clock pulse and a corresponding second pulse of said plurality of second pulses of said second pulse signal generated by a rising edge of said clock pulse; further wherein, there is a frequency dependent separation window between a falling edge of said first pulse and rising edge of said corresponding second pulse such that race conditions are avoided. 28. A method for clocking combinational logic blocks said method comprising:providing a data stream; generating a clock signal, said clock signal having a clock cycle, said clock signal comprising a plurality of clock pulses, each of said clock pulses of said plurality of clock pulses comprising a clock pulse falling edge and a clock pulse rising edge and a clock pulse width between said clock pulse falling edge and said clock pulse rising edge; generating a first pulse signal, said first pulse signal comprising a plurality of first pulses, each of said first pulses of said plurality of first pulses comprising a first pulse rising edge and a first pulse falling edge and a first pulse width between said first pulse rising edge and said first pulse falling edge, said first pulse signal being generated by a first local pulse generator, said first pulse signal being derived from said clock signal such that each of said first pulses of said plurality of first pulses corresponds to one of said clock pulses of said plurality of clock pulses and each of said first pulse rising edges of said first pulses are generated by a corresponding clock pulse tailing edge of said corresponding one of said plurality of clock pulses, said first pulse width being less than fifty percent of said clock pulse width; generating a second pulse signal, said second pulse signal comprising a plurality of second pulses, each of said second pulses of said plurality of second pulses comprising a second pulse rising edge and a second pulse falling edge and a second pulse width between said second pulse rising edge and said second pulse falling edge, said second pulse signal being generated by a second local pulse generator, said second pulse signal being derived from said clock signal such that each of said second pulses of said plurality of second pulses corresponds to one of said clock pulses of said plurality of clock pulses and each of said second pulse rising edges of said second pulses are generated by a corresponding clock pulse rising edge of said corresponding one of said plurality of clock pulses, said second pulse width being less than fifty percent of said clock pulse width; operatively coupling a first transparent pulse latch, to said first pulse signal; operatively coupling a second transparent pulse latch to said second pulse signal; ensuring that for each clock pulse of said plurality of clock pulses of said clock signal there is a first pulse of said plurality of first pulses of said first pulse signal generated by a falling edge of said clock pulse and a corresponding second pulse of said plurality of second pulses of said second pulse signal generated by a rising edge of said clock pulse; wherein, there is a frequency dependent separation window between a falling edge of said first pulse and rising edge of said corresponding second pulse such that race conditions are avoided. 29. A method for creating a clock skew tolerate computer pipeline comprising;providing a plurality of pipeline stages, each of said stages comprising combinational logic blocks, for each of said combinational logic blocks: providing a data stream; generating a clock signal, said clock signal having a clock cycle, said clock signal comprising a plurality of clock pulses, each of said clock pulses of said plurality of clock pulses comprising a clock pulse falling edge and a clock pulse rising edge and a clock pulse width between said clock pulse falling edge and said clock pulse rising edge; generating a first pulse signal, said first pulse signal comprising a plurality of first pulses, each of said first pulses of said plurality of first pulses comprising a first pulse rising edge and a first pulse falling edge and a first pulse width between said first pulse rising edge and said first pulse falling edge, said first pulse signal being generated by a first local pulse generator, said first pulse signal being derived from said clock signal such that each of said first pulses of said plurality of first pulses corresponds to one of said clock pulses of said plurality of clock pulses and each of said first pulse rising edges of said first pulses are generated by a corresponding clock pulse falling edge of said corresponding one of said plurality of clock pulses, said first pulse width being less than fifty percent of said clock pulse width; generating a second pulse signal, said second pulse signal comprising a plurality of second pulses, each of said second pulses of said plurality of second pulses comprising a second pulse rising edge and a second pulse falling edge and a second pulse width between said second pulse rising edge and said second pulse falling edge, said second pulse signal being generated by a second local pulse generator, said second pulse signal being derived from said clock signal such that each of said second pulses of said plurality of second pulses corresponds to one of said clock pulses of said plurality of clock pulses and each of said second pulse rising edges of said second pulses are generated by a corresponding clock pulse rising edge of said corresponding one of said plurality of clock pulses, said second pulse width being less than fifty percent of said clock pulse width; operatively coupling a first transparent pulse latch, to said first pulse signal; operatively coupling a second transparent pulse latch to said second pulse signal; ensuring that for each clock pulse of said plurality of clock pulses of said clock signal there is a first pulse of said plurality of first pulses of said first pulse signal generated by a falling edge of said clock pulse and a corresponding second pulse of said plurality of second pulses of said second pulse signal generated by a rising edge of said clock pulse; wherein, there is a frequency dependent separation window between a falling edge of said first pulse and rising edge of said corresponding second pulse such that race conditions are avoided. 30. A clock skew tolerant clocking scheme comprising:a data stream; a clock signal, said clock signal having a clock cycle, said clock signal comprising a plurality of clock pulses, each of said clock pulses of said plurality of clock pulses comprising a clock pulse first edge and a clock pulse second edge and a clock pulse width between said clock pulse first edge and said clock pulse second edge; a first pulse signal, said first pulse signal comprising a plurality of first pulses, each of said first pulses of said plurality of first pulses comprising a first pulse first edge and a first pulse second edge and a first pulse width between said first pulse first edge and said first pulse second edge, said first pulse signal being generated by a first local pulse generator, said first pulse signal being derived from said clock signal such that each of said first pulses of said plurality of first pulses corresponds to one of said clock pulses of said plurality of clock pulses and each of said first pulse first edges of said first pulses are generated by a corresponding clock pulse first edge of said corresponding one of said plurality of clock pulses, said first pulse width being less than fifty percent of said clock pulse width; a second pulse signal, said second pulse signal comprising a plurality of second pulses, each of said second pulses of said plurality of second pulses comprising a second pulse first edge and a second pulse second edge and a second pulse width between said second pulse first edge and said second pulse second edge, said second pulse signal being generated by a second local pulse generator, said second pulse signal being derived from said clock signal such that each of said second pulses of said plurality of second pulses corresponds to one of said clock pulses of said plurality of clock pulses and each of said second pulse first edges of said second pulses are generated by a corresponding clock pulse second edge of said corresponding one of said plurality of clock pulses, said second pulse width being less than fifty percent of said clock pulse width; a first transparent pulse latch, said first pulse signal being operatively coupled to said first transparent pulse latch; a second transparent pulse latch, said second pulse signal being operatively coupled to said second transparent pulse latch; wherein, for each clock pulse of said plurality of clock pulses of said clock signal there is a first pulse of said plurality of first pulses of said first pulse signal generated by a first edge of said clock pulse and a corresponding second pulse of said plurality of second pulses of said second pulse signal generated by a second edge of said clock pulse; further wherein, there is a frequency dependent separation window between a second edge of said first pulse and first edge of said corresponding second pulse such that race conditions are avoided. 31. A method for clocking combinational logic blocks said method comprising:providing a data stream; generating a clock signal, said clock signal having a clock cycle, said clock signal comprising a plurality of clock pulses, each of said clock pulses of said plurality of clock pulses comprising a clock pulse first edge and a clock pulse second edge and a clock pulse width between said clock pulse first edge and said clock pulse second edge; generating a first pulse signal, said first pulse signal comprising a plurality of first pulses, each of said first pulses of said plurality of first pulses comprising a first pulse first edge and a first pulse second edge and a first pulse width between said first pulse first edge and said first pulse second edge, said first pulse signal being generated by a first local pulse generator, said first pulse signal being derived from said clock signal such that each of said first pulses of said plurality of first pulses corresponds to one of said clock pulses of said plurality of clock pulses and each of said first pulse first edges of said first pulses are generated by a corresponding clock pulse first edge of said corresponding one of said plurality of clock pulses, said first pulse width being less than fifty percent of said clock pulse width; generating a second pulse signal, said second pulse signal comprising a plurality of second pulses, each of said second pulses of said plurality of second pulses comprising a second pulse first edge and a second pulse second edge and a second pulse width between said second pulse first edge and said second pulse second edge, said second pulse signal being generated by a second local pulse generator, said second pulse signal being derived from said clock signal such that each of said second pulses of said plurality of second pulses corresponds to one of said clock pulses of said plurality of clock pulses and each of said second pulse first edges of said second pulses are generated by a corresponding clock pulse second edge of said corresponding one of said plurality of clock pulses, said second pulse width being less than fifty percent of said clock pulse width; operatively coupling a first transparent pulse latch, to said first pulse signal; operatively coupling a second transparent pulse latch to said second pulse signal; ensuring that for each clock pulse of said plurality of clock pulses of said clock signal there is a first pulse of said plurality of first pulses of said first pulse signal generated by a first edge of said clock pulse and a corresponding second pulse of said plurality of second pulses of said second pulse signal generated by a second edge of said clock pulse; wherein, there is a frequency dependent separation window between a second edge of said first pulse and first edge of said corresponding second such that race conditions are avoided. 32. A method for creating a clock skew tolerate computer pipeline comprising;providing a plurality of pipeline stages, each of said stages comprising combinational logic blocks, for each of said combinational logic blocks: providing a data stream; generating a clock signal, said clock signal having a clock cycle, said clock signal comprising a plurality of clock pulses, each of said clock pulses of said plurality of clock pulses comprising a clock pulse first edge and a clock pulse second edge and a clock pulse width between said clock pulse first edge and said clock pulse second edge; generating a first pulse signal, said first pulse signal comprising a plurality of first pulses, each of said first pulses of said plurality of first pulses comprising a first pulse first edge and a first pulse second edge and a first pulse width between said first pulse first edge and said first pulse second edge, said first pulse signal being generated by a first local pulse generator, said first pulse signal being derived from said clock signal such that each of said first pulses of said plurality of first pulses corresponds to one of said clock pulses of said plurality of clock pulses and each of said first pulse first edges of said first pulses are generated by a corresponding clock pulse first edge of said corresponding one of said plurality of clock pulses, said first pulse width being less than fifty percent of said clock pulse width; generating a second pulse signal, said second pulse signal comprising a plurality of second pulses, each of said second pulses of said plurality of second pulses comprising a second pulse first edge and a second pulse second edge and a second pulse width between said second pulse first edge and said second pulse second edge, said second pulse signal being generated by a second local pulse generator, said second pulse signal being derived from said clock signal such that each of said second pulses of said plurality of second pulses corresponds to one of said clock pulses of said plurality of clock pulses and each of said second pulse first edges of said second pulses are generated by a corresponding clock pulse second edge of said corresponding one of said plurality of clock pulses, said second pulse width being less than fifty percent of said clock pulse width; operatively coupling a first transparent pulse latch, to said first pulse signal; operatively coupling a second transparent pulse latch to said second pulse signal; ensuring that for each clock pulse of said plurality of clock pulses of said clock signal there is a first pulse of said plurality of first pulses of said first pulse signal generated by a first edge of said clock pulse and a corresponding second pulse of said plurality of second pulses of said second pulse signal generated by a second edge of said clock pulse; wherein, there is a frequency dependent separation window between a second edge of said first pulse and first edge of said corresponding second such that race conditions are avoided.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.