Files
b210-k7-fpga/vivado/b210_k7/README.md
T

89 lines
2.7 KiB
Markdown

# Kintex-7 B210 Vivado build
This directory recreates the clone's Vivado project from the canonical source
files stored in Git. The generated `.xpr`, `.srcs`, `.runs`, `.gen`, IP output
products, reports, and bitstreams live under `build/` and are disposable.
## Historical baseline
At the `clone-vivado-2024.1` point in history, `sources.tcl` intentionally
matches the original Vivado 2024.1 project source set exactly. In particular it
contains:
```
lib/sim/fifo/axi_fifo_2clk_sim.v
```
as a synthesis source because that is what the original clone project used.
Do **not** "clean up" that line in the historical baseline commit. The FIFO
repair should be a later Git commit that replaces it with the hardware FIFO/XPM
implementation, making the bug and fix visible in history.
## Files
- `project_config.tcl` -- part, top, expected Vivado version, default jobs.
- `sources.tcl` -- explicit source manifest; no recursive globs.
- `create_project.tcl` -- creates a disposable Project-Mode Vivado project.
- `build.tcl` -- full OOC-IP/synthesis/implementation/bitstream build.
- `reports.tcl` -- timing, route, bus-skew, CDC, methodology, utilization,
power, and operating-condition reports.
- `ip/b200_clk_gen/b200_clk_gen.xci` -- version-controlled clock-wizard
customization. It is imported into the generated project so the canonical
XCI is never modified by a build.
## Check the manifest
Before starting Vivado:
```bash
cd vivado/b210_k7
make check
```
For the reconstructed 2024.1 baseline this should report 99 entries and zero missing files. The count is expected to change in later commits when the FIFO/XPM sources are added.
## Build
For the historical baseline, use Vivado 2024.1:
```bash
cd vivado/b210_k7
make build JOBS=8
```
Equivalent direct command:
```bash
B210_JOBS=8 vivado -mode batch -source vivado/b210_k7/build.tcl
```
Build products are written to:
```
build/images/usrp_b210_fpga.bit
build/images/usrp_b210_fpga.bin
build/reports/*.rpt
build/vivado/B210_Project_Firmwire/...
```
The `.bin` file is the raw image suitable for UHD's `usrp_b210_fpga.bin`.
## Intentional Vivado migration
`project_config.tcl` rejects a different Vivado version by default. During an
explicit migration you can temporarily run:
```bash
B210_ALLOW_VIVADO_MISMATCH=1 vivado -mode batch -source vivado/b210_k7/create_project.tcl
```
Once the migration is validated, change `B210_EXPECTED_VIVADO` in
`project_config.tcl` in the migration commit (for example from `2024.1` to
`2026.1`).
## Source-control rule
Edit files under `lib/`, `top/`, and `vivado/b210_k7/`. Never edit a copy under
`build/`. If deleting `build/` prevents a clean rebuild from a fresh checkout,
then a required source is missing from Git or from `sources.tcl`.