EmbeddedRelated.com
The 2026 Embedded Online Conference
VHDL tutorial - A practical example - part 2 - VHDL coding

VHDL tutorial - A practical example - part 2 - VHDL coding

Gene Breniman
Still RelevantIntermediate

[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

Topics

Firmware DesignTesting/DebugBare-Metal Programming

Related Documents


The 2026 Embedded Online Conference