cvw/fpga
2024-08-15 11:58:40 -07:00
..
constraints Merge branch 'main' of github.com:openhwgroup/cvw into spiboot 2024-08-06 17:09:39 -05:00
generator FPGA Makefile refactoring 2024-08-15 11:58:40 -07:00
rvvidaemon Replace /opt/riscv after merge 2024-07-25 21:33:31 -07:00
sim Fpga simualtion files. 2021-10-11 10:24:40 -05:00
src Remove boot.mem 2024-08-08 20:27:51 -07:00
zsbl Update linker scripts to avoid hardcoded /opt/riscv 2024-08-09 20:15:28 -07:00
comport.setup Added comport.setup to remind how to configure com port for xilinx fpga. 2022-01-25 14:54:38 -06:00
debug_notes.org Modified FPGA to add additional signals to ILA. Created advanced trigger for ILA using vivado's tsm language. 2021-12-12 17:21:44 -06:00
probe Update python shebangs to use /usr/bin/env python3 so virtual environment can be used (also aids in general portability) 2024-07-03 20:42:55 -07:00
proberange Update python shebangs to use /usr/bin/env python3 so virtual environment can be used (also aids in general portability) 2024-07-03 20:42:55 -07:00
probes Update python shebangs to use /usr/bin/env python3 so virtual environment can be used (also aids in general portability) 2024-07-03 20:42:55 -07:00
README.md Removed pipelined level of hierarchy 2023-02-02 14:14:11 -08:00
renumber.py Update python shebangs to use /usr/bin/env python3 so virtual environment can be used (also aids in general portability) 2024-07-03 20:42:55 -07:00
trigger_issues.tsm Renamed wallypipelinedhart to wallypipelinedcore 2022-01-20 16:02:08 +00:00

The FPGA currently only targets the VCU118 board.

  • Build Process

cd generator make

  • Description

The generator makefile creates 4 IP blocks; proc_sys_reset, ddr4, axi_clock_converter, and ahblite_axi_bridge. Then it reads in the 4 IP blocks and builds wally. fpga/src/fpgaTop.v is the top level which instanciates wallypipelinedsoc.sv and the 4 IP blocks. The FPGA include and ILA (In logic analyzer) which provides the current instruction PCM, instrM, etc along with a large number of debuging signals.

  • Programming the flash card You'll need to write the linux image to the flash card. Use the convert2bin.py script in linux-testgen/linux-testvectors/ [*** moved?] to convert the ram.txt file from QEMU's preload to generate the binary. Then to copy sudo dd if=ram.bin of=.

  • Loading the FPGA

After the build process is complete about 2 hrs on an i9-7900x. Launch vivado's gui and open the WallyFPGA.xpr project file. Open the hardware manager under program and debug. Open target and then program with the bit file.

  • Test Run

Once the FPGA is programed the 3 MSB LEDs in the upper right corner provide status of the reset and ddr4 calibration. LED 7 should always be lit. LED 6 will light if the DDR4 is not calibrated. LED 6 will be lit once wally begins running.

Next the bootloader program will copy the flash card into the DDR4 memory. When this done the lower 5 LEDs will blink 5 times and then try to boot the program loaded in the DDR4 memory at physical address 0x8000_0000.

  • Connecting uart You'll need to connect both usb cables. The first connects the FPGA programer while the connect connects UART. UART is configured to use 57600 baud with no parity, 8 data bits, and 1 stop bit. sudo screen /dev/ttyUSB1 57600 should let you view the com port.