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 7 - Acquisition of Asynchronous Data
- 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
Motivation
Most digital systems that interact with the external world must handle asynchronous inputs because events outside that system appear at random points in time with respect to the system's internal operation. As an example, a crankshaft angle sensor generates a pulse train regardless of the state of operation of the electronic engine management unit that processes those pulses.
Synchronization problems are not confined to electromechanical interfaces. Much the same situation occurs when electronic systems interact that are mutually independent, in spite — or precisely because — of the fact that each of them is operating in a strictly synchronous way. Just think of a workstation that exchanges data with a file server over a local area network (LAN), of audio data that are being brought to a D/A converter for output, or of a data bus that traverses the borderline from one clock domain to another. Obviously, the processing of asynchronous inputs is more frequent in digital systems than one would like.
The following episode can teach us a lot about the difficulty of accommodating asynchronously changing input signals. The account is due to the late Charles E. Molnar, who was honest enough to tell us about all misconceptions he and his colleagues went through until the problems of synchronization were fully understood.
Historical example
Back in 1963, a team of electronics engineers was designing a computer for biological researchers that was to be used for collecting data from laboratory equipment.
- Type
- Chapter
- Information
- Digital Integrated Circuit DesignFrom VLSI Architectures to CMOS Fabrication, pp. 364 - 385Publisher: Cambridge University PressPrint publication year: 2008