Research-Stack/4-Infrastructure/hardware/build_research_stack.sh
Brandon Schneider 09f2f3044a feat: unified FPGA bitstream for Tang Nano 9K — BUILD SUCCESSFUL
research_stack_top.fs (2.0MB) — all modules synthesized:
- Blitter6502OISC (4K memory, SUBTLEQ CPU)
- q16_lut_core (Q16_16 arithmetic, 8 ops)
- blitter_memory_map (8-bit ↔ 32-bit bridge)
- voltage_mode_controller (4 BRAM modes)
- scale_space_bram (Gaussian kernel banks)
- highs_pivot_accelerator (simplex pipeline)

Timing: 195.92 MHz (PASS at 27 MHz target, 7.2x margin)
Device: GW1NR-LV9QN88PC6/I5 (Tang Nano 9K)

To flash: openFPGALoader -b tangnano9k research_stack_top.fs
2026-05-28 16:32:05 -05:00

41 lines
929 B
Bash
Executable file

#!/usr/bin/env bash
set -euo pipefail
cd "$(dirname "$0")"
TOP="research_stack_top"
CST="research_stack_tangnano9k.cst"
JSON="research_stack_top.json"
PNR="research_stack_top_pnr.json"
FS="research_stack_top.fs"
DEVICE="GW1NR-LV9QN88PC6/I5"
FAMILY="GW1N-9C"
FREQ=27
Q16_V="../../5-Applications/out/verilog/q16_lut_core.v"
echo "=== Synthesis ==="
yosys -p "
read_verilog -sv \
${Q16_V} \
blitter_memory_map.v \
voltage_mode_controller.v \
scale_space_bram.v \
highs_pivot_accelerator.v \
Blitter6502OISC_small.v \
research_stack_top.v;
synth_gowin -top ${TOP} -json ${JSON};
stat
"
echo ""
echo "=== Place & Route ==="
nextpnr-himbaechel --device "${DEVICE}" --json "${JSON}" --write "${PNR}" \
--freq "${FREQ}" --vopt "family=${FAMILY}" --vopt "cst=${CST}"
echo ""
echo "=== Bitstream ==="
gowin_pack -d "${FAMILY}" -o "${FS}" "${PNR}"
echo ""
echo "=== Done: ${FS} ==="
ls -lh "${FS}"