Add instructions for nexys 4 ddr board

Emilio Rojas 2018-10-10 13:26:48 -06:00
commit 0781716a9e
1 changed files with 56 additions and 0 deletions

@ -0,0 +1,56 @@
> *This instructions are directed towards the Nexys 4 DDR board which has an Artix 7 FPGA, specifically XC7A100T-1CSG324C, however the instructions can be adapted to work on other boards programmed through vivado.*
First of all you will need Vivado, follow the instructions at https://reference.digilentinc.com/vivado/installing-vivado/start to install the software plus board support.
Then you will need to update two files in order to synthesize, implement and generate the bitstream.
First update [scripts/vivado/synth_system.tcl](scripts/vivado/synth_system.tcl). Change the following line:
```
synth_design -part xc7a100tcsg324-1 -top system
```
to
```
synth_design -part xc7a100tcsg324-1 -top system
```
in order to update the target device to the FPGA in the Nexys 4 DDR board.
Then update [scripts/vivado/synth_system.xcd](scripts/vivado/synth_system.xcd). Use
```
# XDC File for Nexys 4 DDR Board
###########################
set_property PACKAGE_PIN D5 [get_ports clk]
set_property IOSTANDARD LVCMOS33 [get_ports clk]
create_clock -period 10.00 [get_ports clk]
# Pmod Header JA (JA0..JA7)
set_property PACKAGE_PIN K1 [get_ports {out_byte[0]}]
set_property IOSTANDARD LVCMOS33 [get_ports {out_byte[0]}]
set_property PACKAGE_PIN J3 [get_ports {out_byte[1]}]
set_property IOSTANDARD LVCMOS33 [get_ports {out_byte[1]}]
set_property PACKAGE_PIN J2 [get_ports {out_byte[2]}]
set_property IOSTANDARD LVCMOS33 [get_ports {out_byte[2]}]
set_property PACKAGE_PIN G2 [get_ports {out_byte[3]}]
set_property IOSTANDARD LVCMOS33 [get_ports {out_byte[3]}]
set_property PACKAGE_PIN H1 [get_ports {out_byte[4]}]
set_property IOSTANDARD LVCMOS33 [get_ports {out_byte[4]}]
set_property PACKAGE_PIN K2 [get_ports {out_byte[5]}]
set_property IOSTANDARD LVCMOS33 [get_ports {out_byte[5]}]
set_property PACKAGE_PIN H2 [get_ports {out_byte[6]}]
set_property IOSTANDARD LVCMOS33 [get_ports {out_byte[6]}]
set_property PACKAGE_PIN G3 [get_ports {out_byte[7]}]
set_property IOSTANDARD LVCMOS33 [get_ports {out_byte[7]}]
# Pmod Header JB (JB0..JB2)
set_property PACKAGE_PIN A14 [get_ports {resetn}]
set_property IOSTANDARD LVCMOS33 [get_ports {resetn}]
set_property PACKAGE_PIN A16 [get_ports {trap}]
set_property IOSTANDARD LVCMOS33 [get_ports {trap}]
set_property PACKAGE_PIN B14 [get_ports {out_byte_en}]
set_property IOSTANDARD LVCMOS33 [get_ports {out_byte_en}]
```
Note this is basically the same file, what has changed are a few ports that in the xc7a100tcsg324-1 device are disabled(reserved for ground pins or nonexistent), you might want to rearrange the pins.
Now in vivado go to Tools>Run Tcl Script..., make sure the Tcl Console working directory is in [scripts/vivado](scripts/vivado).