This site contains notes, course and works shop materials and examples programming FGPAs in the advanced physics lab setting of the Methods of Experimental Physics course here at the University of Minnesota.

Hardware & Software

Originally, the hardware was based on Digilent boards with Spartan 3E FPGAs, such as BASYS and BASYS2 and NEXYS3 boards. These were programmed using the free Xilinx ISE Webpack.  The newer examples use Artix-7 FPGAs such as the BASYS3 board and the free Xilinx Vivado software.

Workshops and Course Material Using Xilinx Spartan3E and ISE WebPack

Write-ups and examples from recent FPGA workshops for Advanced Labs using Digilent BASYS boards and Xilinx ISE Webpack.  The material covers introduction to programming FPGAs using a graphical approach and Verilog; basic input / output projects such as creating a radiation counter with an adjustable coincidence window, pulse width modulation concepts and using an embedded Microblaze MCS processor.
These notes and examples pertain to the Artix-7 FPGAs using a BASYS3 board and Vivado version 15.x and 16.x.  They cover basic programming issues and embedded microprocessor programming using Xilinx SDK and examples on using the ADC in the FPGA.

Verilog modules and other documents for the Phys4051 course.

Kurt Wick, wick@umn.edu