Technical requirements
To follow along with the examples in this chapter, you need the following hardware and software.:
Hardware
Unlike programming languages, SystemVerilog
is a hardware description language, and to really see the fruits of your work in this book, you will need an FPGA board to load your designs into. For the purposes of this book, I am suggesting one of two development boards, which are readily available. It is possible to target another board if you already have one. However, some of the resources may not be identical or you may need to change the constraints file (xdc
) to access the resources that another board has:
- Information on the Nexys A7: https://store.digilentinc.com/nexys-a7-fpga-trainer-board-recommended-for-ece-curriculum/.
- Information on the Basys 3 Artix-7 FPGA trainer board: https://store.digilentinc.com/basys-3-artix-7-fpga-trainer-board-recommended-for-introductory-users/.
The Nexys A7 is preferable if possible because it has external interfaces that will be discussed in later chapters and will give you experience interfacing to external components. I would recommend the 100T in case you get ambitious and would like to explore more as the price difference is relatively small and it has twice the resources. With the exception of the DDR memory, the Basys 3 board can do most of the projects, although some may require the purchase of PMOD interface boards.
Software
You need the following software to follow along:
- https://www.xilinx.com/products/design-tools/vivado.html
- Code files for all the examples in this chapter can be found in this book's GitHub repository at https://github.com/PacktPublishing/Learn-FPGA-Programming/tree/master/CH1.