The FPGA Programming Handbook_Second Edition by Frank Bruno | Guy Eschemann
Author:Frank Bruno | Guy Eschemann
Language: eng
Format: epub
Tags: COM041000 - COMPUTERS / Microprocessors, COM025000 - COMPUTERS / Expert Systems, COM067000 - COMPUTERS / Hardware / General
Publisher: Packt
Published: 2024-04-22T09:37:49+00:00
Using Gray coding for passing counter values
Binary counts increment by adding a 1 to the lowest bit. This results in a count such as the following:
00 â 01 â 10 â 11
Gray coding only allows one bit to change at a time, such as the following sequence:
00 â 01 â 11 â 10
Gray-coded counters have a limited range as they must always only have one-bit change at a time. A power of 2 is always safe to implement, but other combinations, such as 2n + 2m, also work.
Letâs look at a FIFO using a Gray code:
Figure 6.18: Asynchronous FIFO with Gray coding
By adding a Gray code module and synchronizers across each clock domain, we can compare the gray-coded values against each other or convert them back to binary on the destination clock.
Since Gray code only allows one bit to change at a time, we are guaranteed to either capture the old value or the new one and not capture a transitional value that would cause a FIFO empty, full, or word count error.
Download
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.
Computer Design | Control Systems |
DSPs | Embedded Systems |
Microprocessor Design | PIC Microcontroller |
Linux Device Driver Development Cookbook by Rodolfo Giometti(3932)
Embedded Programming with Modern C++ Cookbook by Igor Viarheichyk(3579)
Implementing Cellular IoT Solutions for Digital Transformation by Dennis McCain(3515)
Embedded Linux Development Using Yocto Project - Third Edition by Otavio Salvador & Daiane Angolini(3345)
TinyML Cookbook by Gian Marco Iodice(3288)
Simplifying 3D Printing with OpenSCAD by Colin Dow(2837)
TinyML Cookbook by Gian Marco Iodice & Ronan Naughton(2601)
Fusion 360 for Makers by Lydia Sloan Cline(2219)
Networking A Beginner's Guide by Bruce Hallberg(2208)
Hands-On Linux for Architects by Denis Salamanca(2051)
But How Do It Know? by J. Clark Scott(2030)
Computers For Seniors For Dummies by Nancy C. Muir(1995)
Raspberry Pi and MQTT Essentials by Dhairya Parikh(1950)
Arduino Project Handbook, Volume 2: 25 Simple Electronics Projects for Beginners by Geddes Mark(1947)
9781803246888-ENHANCING DEEP LEARNING WITH BAYESIAN INFERENCE by Unknown(1897)
Hack and HHVM by Owen Yamauchi(1884)
31 Days Before Your CompTIA A+ Exams (Shanette Luellen's Library) by Benjamin Patrick Conry(1858)
MicroPython Projects by Jacob Beningo(1728)
Hands-On Internet of Things with MQTT by Tim Pulver(1702)
