NEXTPNR-HIMBAECHEL-GOWIN(1)

πŸ“¦
version 0.10 Β· 4 versions
, in ubuntu stonking

πŸ’… nextpnr-himbaechel-gowin πŸ’…

okay so bestie, welcome to nextpnr-himbaechel-gowin β€” that's the Next Generation Place and Route tool, and she's a manual page from General Commands (section 1, iykyk). This is Version 0.10-5 and she is literally the main character of your FPGA flow. Let's get into it 🫢

✨ NAME ✨

nextpnr-himbaechel-gowin β€” Next Generation Place and Route. That's it, that's the whole vibe. Periodt. πŸ’…

πŸ¦‹ DESCRIPTION πŸ¦‹

nextpnr-himbaechel-gowin β€” Next Generation Place and Route (Version 0.10-5).

Like... she places. She routes. She does the whole thing. Slay.

🌸 General options: 🌸

These are the big main-character flags, bestie. Every single one matters, no skipping ngl:

  • -h, --help β€” show help. your safe space πŸ₯Ί
  • -v, --verbose β€” verbose output. she talks. a lot. and we love that for her.
  • -q, --quiet β€” quiet mode, only errors and warnings displayed. the introvert setting πŸŽ€
  • --Werror β€” Turn warnings into errors. spicy!! a warning is now a full-on error, no cap.
  • -l, --log arg β€” log file, all log messages are written to this file regardless of -q. so even in quiet mode, the log file gets everything. icon behavior.
  • --debug β€” debug output. all of it. every crumb. πŸ™ˆ
  • --debug-placer β€” debug output from placer only. just the placer's little diary πŸ““
  • --debug-router β€” debug output from router only. router gets her own diary too πŸ’œ
  • --threads arg β€” number of threads for passes where this is configurable. yes she multithreads, we stan.
  • -f, --force β€” keep running after errors. unbothered. unphased. literally keeps going πŸ˜­πŸ’€
  • --run arg β€” python file to execute instead of default flow. you're the director now.
  • --pre-pack arg β€” python file to run before packing. warmup era ✨
  • --pre-place arg β€” python file to run before placement.
  • --pre-route arg β€” python file to run before routing.
  • --post-route arg β€” python file to run after routing. aftercare 🫢
  • --on-failure arg β€” python file to run in event of crash for design introspection. when it all falls apart, she still wants to know why 😭
  • --json arg β€” JSON design file to ingest. feed her πŸ“
  • --write arg β€” JSON design file to write. she gives back πŸ’–
  • --top arg β€” name of top module. who's the main character module? πŸŽ€
  • --seed arg β€” seed value for random number generator. the chaos dial.
  • -r, --randomize-seed β€” randomize seed value for random number generator. chaos dial but ✨spontaneous✨
  • --placer arg β€” placer algorithm to use; available: sa, heap, static; default: heap. she ships with heap by default, deluxe behavior πŸ‘‘
  • --router arg β€” router algorithm to use; available: default, router1, router2; default: default. also default is literally default. yes.
  • --slack_redist_iter arg β€” number of iterations between slack redistribution.
  • --cstrweight arg β€” placer weighting for relative constraint satisfaction. how much she cares about your constraints, basically.
  • --starttemp arg β€” placer SA start temperature. yes, simulated annealing. it's giving physics lab 🌑️
  • --pack-only β€” pack design only without placement or routing. just the packing, nothing else. minimal queen.
  • --no-route β€” process design without routing.
  • --no-place β€” process design without placement.
  • --no-pack β€” process design without packing.
  • --ignore-loops β€” ignore combinational loops in timing analysis. πŸ™ˆ loops? never met her.
  • --ignore-rel-clk β€” ignore clock-to-clock relations in timing checks. clock drama? blocked. πŸ’€
  • -V, --version β€” show version. hi what's your version bestie
  • --test β€” check architecture database integrity. a little health check-up 🩺
  • --freq arg β€” set target frequency for design in MHz. MHz!! remember the units!! πŸ”₯
  • --timing-allow-fail β€” allow timing to fail in design. permission to fumble, granted 🫢
  • --no-tmdriv β€” disable timing-driven placement. timing-driven? not today.
  • --sdc arg β€” Generic timing constraints SDC file to load.
  • --sdf arg β€” SDF delay back-annotation file to write.
  • --sdf-cvc β€” enable tweaks for SDF file compatibility with the CVC simulator. shoutout CVC simulator, she's niche but iconic.
  • --no-print-critical-path-source β€” disable printing of the line numbers associated with each net in the critical path. bye bye line numbers πŸŽ€
  • --placer-heap-alpha arg β€” placer heap alpha value (float, default: 0.1). a float!! write it as a float!!
  • --placer-heap-beta arg β€” placer heap maximum placement density (float, default: 0.9). density dial, almost maxed out by default.
  • --placer-heap-critexp arg β€” placer heap criticality exponent (int, default: 2). an int this time, mind you.
  • --placer-heap-timingweight arg β€” placer heap timing weight (int, default: 10).
  • --placer-heap-cell-placement-timeout arg β€” allow placer to attempt up to max(10000, total cells^2 / N) iterations to place a cell (int N, default: 8, 0 for no timeout). so 0 means no timeout β€” she'll wait forever for that cell 😭
  • --static-dump-density β€” write density csv files during placer-static flow. csv files!! data!! πŸ“Š
  • --parallel-refine β€” use new experimental parallelised engine for placement refinement. experimental!! new!! parallelised!! πŸ”₯
  • --router2-heatmap arg β€” prefix for router2 resource congestion heatmaps. heatmap hot girl summer 🌈
  • --tmg-ripup β€” enable experimental timing-driven ripup in router.
  • --router2-tmg-ripup β€” enable experimental timing-driven ripup in router (deprecated; use --tmg-ripup instead). bestie she's deprecated, use --tmg-ripup, I'm begging πŸ₯Ί
  • --router2-alt-weights β€” use alternate router2 weights.
  • --report arg β€” write timing and utilization report in JSON format to file. receipts!! 🧾
  • --detailed-timing-report β€” Append detailed net timing data to the JSON report. capital A Append, she's thorough.
  • --placed-svg arg β€” write render of placement to SVG file. aesthetics ✨🎨
  • --routed-svg arg β€” write render of routing to SVG file. more aesthetics ✨🎨
ngl bestie, --force means she keeps running after errors. errors. plural. she's brave and maybe a little unhinged 😭 but hey, that's the flag's whole documented deal, so it is what it is.

🧚 Architecture specific options: 🧚

The himbæchel-flavored ones, aka the part where you tell her which chip you're on:

  • --device arg β€” name of device to use. which chip are we serving today πŸ’…
  • --chipdb arg β€” override path to chip database file. you can point her somewhere else fr fr
  • --list-uarch β€” list included uarches. the whole menu πŸ“
  • -o, --vopt arg β€” options to pass to the himb??chel uarch (use help as argument to get more info). yep, literally pass help as the argument and she'll spill the details 🫢

okay that's the whole page bestie, every single flag accounted for, no cap πŸ’– slay responsibly and remember: <italic>arg</italic> means she needs a value, and things in backticks are literal β€” type them exactly, character for character, or it's not gonna work πŸ˜­πŸ¦‹

sign-off time πŸŽ€ this here page is for nextpnr-himbaechel-gowin, version 0.10-5, dated March 2026 β€” that's the source/version and date, folded into a cute lil goodnight. love u, go place and route something iconic βœ¨πŸ’œπŸ‘‘

πŸ“¦ where this page comes from