mirror of https://github.com/openXC7/prjxray.git
35 lines
1.1 KiB
Markdown
35 lines
1.1 KiB
Markdown
# ROI_HARNESS Minitest
|
|
|
|
## Purpose
|
|
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
|
|
|
|
## Result
|