Book contents
- Frontmatter
- Contents
- Preface
- Acknowledgements
- Chapter 1 Introduction to Microelectronics
- Chapter 2 From Algorithms to Architectures
- Chapter 3 Functional Verification
- Chapter 4 Modelling Hardware with VHDL
- Chapter 5 The Case for Synchronous Design
- Chapter 6 Clocking of Synchronous Circuits
- Chapter 7 Acquisition of Asynchronous Data
- Chapter 8 Gate- and Transistor-Level Design
- Chapter 9 Energy Efficiency and Heat Removal
- Chapter 10 Signal Integrity
- Chapter 11 Physical Design
- Chapter 12 Design Verification
- Chapter 13 VLSI Economics and Project Management
- Chapter 14 A Primer on CMOS Technology
- Chapter 15 Outlook
- Appendix A Elementary Digital Electronics
- Appendix B Finite State Machines
- Appendix C VLSI Designer's Checklist
- Appendix D Symbols and constants
- References
- Index
- Plate section
Chapter 6 - Clocking of Synchronous Circuits
- Frontmatter
- Contents
- Preface
- Acknowledgements
- Chapter 1 Introduction to Microelectronics
- Chapter 2 From Algorithms to Architectures
- Chapter 3 Functional Verification
- Chapter 4 Modelling Hardware with VHDL
- Chapter 5 The Case for Synchronous Design
- Chapter 6 Clocking of Synchronous Circuits
- Chapter 7 Acquisition of Asynchronous Data
- Chapter 8 Gate- and Transistor-Level Design
- Chapter 9 Energy Efficiency and Heat Removal
- Chapter 10 Signal Integrity
- Chapter 11 Physical Design
- Chapter 12 Design Verification
- Chapter 13 VLSI Economics and Project Management
- Chapter 14 A Primer on CMOS Technology
- Chapter 15 Outlook
- Appendix A Elementary Digital Electronics
- Appendix B Finite State Machines
- Appendix C VLSI Designer's Checklist
- Appendix D Symbols and constants
- References
- Index
- Plate section
Summary
What is the difficulty in clock distribution?
Up to this point, we have have ignored the difficulties of distributing a clock signal over a chip or a major portion thereof. We were in good company as systems engineering, automata theory, and other theoretical underpinnings of digital design assume simultaneous updating of state throughout a circuit. Physical reality is different from such abstractions, though.
Consider a population of flip-flops or other clocked subcircuits that make part of one clock domain in a synchronous design as shown in fig.6.1. A common clock tells them when to transit into the next state. Ideally, all such bistables are supposed to react to the clock instantly and all at exactly the same moment of time.
In practice, however, switching will be retarded due to many small delays inflicted by drivers and wires in the clock distribution network. As most clock signals connect to a multitude of storage elements spread out over an entire clock domain, individual switching times will differ because delays along the various clock propagation paths are not quite the same. This scattering over time is loosely referred to as clock skew. To make things worse, those delays will slightly vary from one clock cycle to the next, thereby giving rise to clock jitter.
Many causes contribute to the timewise scattering of clocks:
Unevenly distributed fanouts and load capacitances.
Unequal numbers of buffers and/or inverters along different branches.
Unlike drive strengths and timing characteristics of the clock buffers instantiated.
[…]
- Type
- Chapter
- Information
- Digital Integrated Circuit DesignFrom VLSI Architectures to CMOS Fabrication, pp. 315 - 363Publisher: Cambridge University PressPrint publication year: 2008