VHDL tutorial - A practical example - part 2 - VHDL coding
[quicklinks]In part 1 of this series we focused on the hardware design, including some of the VHDL definitions of the I/O characteristics of the CPLD part. In part 2, we will describe the VHDL logic of the CPLD for this design. With...
Summary
This post continues a hands-on VHDL series by describing the actual VHDL code for a CPLD-based design. Readers will learn coding patterns, state-machine implementations, and practical simulation and synthesis notes that make the hardware description ready for implementation.
Key Takeaways
- Write clear VHDL entities and architectures that separate combinational and synchronous logic for easier synthesis and debugging.
- Implement finite-state machines in VHDL using safe coding idioms that avoid latches and support straightforward timing analysis.
- Simulate the design to validate behavior before synthesis and add testbench constructs to catch common timing and functional bugs.
- Apply synthesis and pin-constraint practices for CPLD targets, including I/O attribute declarations and clocking considerations.
Who Should Read This
Intermediate embedded or hardware engineers and students who design CPLD/FPGA logic and want practical guidance on VHDL coding, simulation, and preparing code for synthesis.
Still RelevantIntermediate
Related Documents
- Consistent Overhead Byte Stuffing TimelessIntermediate
- PID Without a PhD TimelessIntermediate
- Introduction to Embedded Systems - A Cyber-Physical Systems Approach Still RelevantIntermediate
- Can an RTOS be really real-time? TimelessAdvanced
- Memory Mapped I/O in C TimelessIntermediate








