Table of Contents

This page exists to chronicle all of the insane hoops one has to jump through to get Vivado to behave.

To create a custom Board File: https://docs.amd.com/r/en-US/ug895-vivado-system-level-design-entry/Introduction?tocId=F6i4Whhu7YXEryUAukRhtg

Adding board files https://support.xilinx.com/s/article/72033?language=en_US

Some intermediate-advanced level Verilog info: https://zipcpu.com/

Examples of many common use cases in Verilog http://fpgacpu.ca/fpga/index.html

Sometimes, you'll need to configure system variables to do… things? I'm not clear on when this matters. Anyways, the appropriate command is source <path to Xilinx installation directory>/Xilinx/Vivado/2020.1/settings64.sh

Memory map for cortex-m4 style devices. Mostly helpful to have in the background.

TCL

useful for a lot of automation, more common among pros than GUI for design.

SPACES IN PATH NAMES ARE VERBOTEN! THEY CAUSE NOTHING BUT PAIN!

https://docs.amd.com/r/en-US/ug835-vivado-tcl-commands/Tcl-Commands-Listed-by-Category

https://docs.amd.com/r/en-US/ug896-vivado-ip/Tcl-Commands-for-Common-IP-Operations?tocId=E4YoWK95_0eghocguA0MqQ

https://projectf.io/posts/vivado-tcl-build-script/

Lingo

AXI

Types of AXI interfaces:

https://digilent.com/blog/fpga-for-beginners-glossary-and-setup/

https://projectf.io/posts/fpga-memory-types/

https://projectf.io/posts/fpga-sine-table/

Chinese site, but some useful info: https://leiblog.wang/static/FPGA/books/Vivado%E4%BB%8E%E6%AD%A4%E5%BC%80%E5%A7%8B/

http://ecen220wiki.groups.et.byu.net/00-tutorials/

http://ecen220wiki.groups.et.byu.net/resources/tool_resources/testbenches/

https://www.fpga4student.com/ More Verilog, but still relevant.

https://opencores.org/

http://www.asic-world.com/verilog/veritut.html

https://www.rtlaudiolab.com/ Specifically about processing audio

VLSI interview questions

AMD workshops - Slightly broken tutorials, but moderately better than nothing.