prjxray/minitests/roi_harness
John McMaster c8ad3e219b roi_harness: add README info, chmod +x
Signed-off-by: John McMaster <johndmcmaster@gmail.com>
2018-01-30 14:50:13 -08:00
..
.gitignore roi_harness: Basys3 LED switch demo 2018-01-30 14:43:18 -08:00
Makefile roi_harness: output dir per configuration 2018-01-18 19:07:03 -08:00
README.txt roi_harness: add README info, chmod +x 2018-01-30 14:50:13 -08:00
arty.sh roi_harness: output dir per configuration 2018-01-18 19:07:03 -08:00
basys3.sh basys3.sh: use proper script to setup environment 2018-01-25 17:21:59 -08:00
defines.v roi_harness: basys3 support, separate top.v into harness and ROI .v files 2018-01-18 18:05:36 -08:00
demo_sw_led.py roi_harness: add README info, chmod +x 2018-01-30 14:50:13 -08:00
demo_sw_led_fasm.py roi_harness: add README info, chmod +x 2018-01-30 14:50:13 -08:00
fasm2bit.sh fasm2bit: bit argument. remove prog hack 2018-01-30 14:36:43 -08:00
roi_base.v roi_harness: basys3 support, separate top.v into harness and ROI .v files 2018-01-18 18:05:36 -08:00
roi_demoscene.v bassy3 LED demos 2018-01-29 12:04:29 -08:00
roi_inv.v roi_harness: inverted LED/switch example 2018-01-18 19:12:38 -08:00
runme.sh roi_harness: example clk hack 2018-01-19 14:03:31 -08:00
runme.tcl roi_harness runme: add missing wire to header 2018-01-30 14:37:10 -08:00
test_demo_sw_led.py roi_harness: add README info, chmod +x 2018-01-30 14:50:13 -08:00
top.v roi_harness: remove top.v test 2018-01-19 14:09:24 -08:00

README.txt

Creates an ROI with clk, inputs, and outputs to use as a partial reconfiguration test harness 

Basic idea:
-LOC LUTs in the ROI to terminate input and output routing
-Let Vivado LOC the rest of the logic
-Manually route signals in and out of the ROI enough to avoid routing loops into the ROI
-Let Vivado finish the rest of the routes

There is no logic outside of the ROI in order to keep IOB to ROI delays short
Its expected the end user will rip out everything inside the ROI

To target Arty A7 you should source the artix DB environment script then source arty.sh

To build the baseline harness:
./runme.sh

To build a sample Vivado design using the harness:
XRAY_ROIV=roi_inv.v XRAY_FIXED_XDC=out_xc7a35tcpg236-1_BASYS3-SWBUT_roi_basev/fixed_noclk.xdc ./runme.sh
Note: this was intended for verification only and not as an end user flow (they should use SymbiFlow)

To use the harness for the basys3 demo, do something like:
python3 demo_sw_led.py out_xc7a35tcpg236-1_BASYS3-SWBUT_roi_basev 3 2
This example connects switch 3 to LED 2