For simulating the design a VHDL simulator with VHDL-2008 support is required. The following simulators are supported, other simulators should work well.
- NVC - Supports cocotb testbench
- GHDL - Supports cocotb testbench
- XSIM - Vivado simulator - supports VHDL testbench
Cocotb and VHDL are used for testbenches. Cocotb dependencies are:
- cocotb - version 2.x is required
- Python 3.6.2+
- GNU Make 3+
Other waveform viewers maybe used, but may not have all the features supported by gtkwave, analog waveforms in particular.
- vhdl-linter - VHDL syntax checker and coding guidelines checking
SystemRDL is used for configuration and status register description. The following tools are required:
-
PeakRDL - Suite of SystemRDL tools to generate RTL, verification artificacts, and documentation from the SystemRDL code.
- PeakRDL-docx - docx documentation generator
- PeakRDL-markdown - markdown documentation generator
- PeakRDL-regblock-VHDL - VHDL RTL generator
- Vivado - synthesis and P&R for Xilinx/AMD Zynq series FPGAs
- git - version control system
- CLI available on Linux and macOS
- Various GUI interfaces available on all platforms
- draw.io - block diagram editor
- Wavedrom - timing diagram editor
- Markdown - Light weight documentation markup language
- Asciidoctor - Documentation markup language
- Short Math Guide for LATEX
Any editing solution will work. If you don't have an established workflow the following options may be useful.
- VSCode or VSCodium with the following extensions
- AsciiDoc
- SystemRDL language support for VS Code
- For VSCodium the extension must be installed from the .vsix file
- VaporView - Waveform display
- Surfer - Waveform display
- Waveform Render - WaveDrom viewer
- Draw.io