NEXTPNR-HIMBAECHEL-GATEMATE(1)

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

πŸ’– nextpnr-himbaechel-gatemate πŸ’–

okay so bestie, say hi to nextpnr-himbaechel-gatemate β€” Next Generation Place and Route, living its best life over in the General Commands chapter of your manual πŸ¦‹ It's version 0.10-5, and the binary name is literally nextpnr-himbaechel-gatemate, so don't get it twisted πŸ’…


✨ NAME ✨

nextpnr-himbaechel-gatemate β€” Next Generation Place and Route. That's the whole name, that's the whole vibe πŸŽ€


🌸 DESCRIPTION 🌨

So like, "nextpnr-himbaechel-gatemate" is Next Generation Place and Route β€” version 0.10-5 β€” and it takes your design from "just a netlist lol" all the way to "actually placed and routed on real silicon." She does the whole glow-up in stages: pack, place, route. Iconic behavior, no cap πŸ‘‘


🧚 General options: 🧚

  • -h [ --help ] β€” show help. Your lil "what does this even do" hotline πŸ’–
  • -v [ --verbose ] β€” verbose output, aka her yapping era, and honestly? we love that.
  • -q [ --quiet ] β€” quiet mode, only errors and warnings get displayed. Main character energy but make it minimal.
  • --Werror β€” turn warnings into errors. she's strict, she's dramatic, she said NO WARNINGS, ONLY FAILURE 😭
  • -l [ --log ] arg β€” log file. Every single log message gets written to this file no matter what, even if you've got -q turned on. Queen behavior: stays thorough regardless πŸ”₯
  • --debug β€” debug output. The full firehose. All the tea β˜•
  • --debug-placer β€” debug output from the placer only, bestie. Just the placing bits.
  • --debug-router β€” debug output from the router only. Just the routing bits.
  • --threads arg β€” number of threads for passes where this is configurable. Parallelism, slay πŸ’…
  • -f [ --force ] β€” keep running after errors. Do with that information what you will 😌
  • --run arg β€” python file to execute instead of the default flow. You're driving, not her.
  • --pre-pack arg β€” python file to run before packing.
  • --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.
  • --on-failure arg β€” python file to run in the event of a crash, for design introspection. It's giving "cry but productively" 🫢
  • --json arg β€” JSON design file to ingest. Feed her.
  • --write arg β€” JSON design file to write. She feeds you back.
  • --top arg β€” name of the top module. Point at your favourite child module πŸ‘‘
  • --seed arg β€” seed value for the random number generator. Reproducibility babyyy ✨
  • -r [ --randomize-seed ] β€” randomize the seed value for the random number generator. Chaos mode, we support 🌈
  • --placer arg β€” placer algorithm to use; available: sa, heap, static; default: heap.
  • --router arg β€” router algorithm to use; available: default, router1, router2; default: default.
  • --slack_redist_iter arg β€” number of iterations between slack redistribution.
  • --cstrweight arg β€” placer weighting for relative constraint satisfaction.
  • --starttemp arg β€” placer SA start temperature. Yes it's hot in here πŸ₯΅
  • --pack-only β€” pack the design only, without placement or routing. Baby steps.
  • --no-route β€” process the design without routing.
  • --no-place β€” process the design without placement.
  • --no-pack β€” process the design without packing.
  • --ignore-loops β€” ignore combinational loops in timing analysis.
  • --ignore-rel-clk β€” ignore clock-to-clock relations in timing checks.
  • -V [ --version ] β€” show version. Flex the 0.10-5 πŸ’…
  • --test β€” check architecture database integrity.
  • --freq arg β€” set the target frequency for the design, in MHz.
  • --timing-allow-fail β€” allow timing to fail in the design. Let her be messy 😭
  • --no-tmdriv β€” disable timing-driven placement.
  • --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.
  • --no-print-critical-path-source β€” disable printing of the line numbers associated with each net in the critical path. Sometimes you don't wanna see the receipts πŸ™ˆ
  • --placer-heap-alpha arg β€” placer heap alpha value (float, default: 0.1).
  • --placer-heap-beta arg β€” placer heap maximum placement density (float, default: 0.9).
  • --placer-heap-critexp arg β€” placer heap criticality exponent (int, default: 2).
  • --placer-heap-timingweight arg β€” placer heap timing weight (int, default: 10).
  • --placer-heap-cell-placement-timeout arg β€” allow the placer to attempt up to max(10000, total cells^2 / N) iterations to place a cell (int N, default: 8, 0 for no timeout).
  • --static-dump-density β€” write density csv files during the placer-static flow.
  • --parallel-refine β€” use the new experimental parallelised engine for placement refinement. ⚠️ experimental, bestie, so don't be shocked if she's spicy.
  • --router2-heatmap arg β€” prefix for router2 resource congestion heatmaps. πŸ—ΊοΈ
  • --tmg-ripup β€” enable experimental timing-driven ripup in the router. ⚠️ experimental!
  • --router2-tmg-ripup β€” enable experimental timing-driven ripup in the router (deprecated; use --tmg-ripup instead). Okay so this one is deprecated β€” she still works, but she's giving antique, use --tmg-ripup please πŸ₯Ί
  • --router2-alt-weights β€” use alternate router2 weights.
  • --report arg β€” write timing and utilization report in JSON format to file.
  • --detailed-timing-report β€” Append detailed net timing data to the JSON report.
  • --placed-svg arg β€” write a render of the placement to an SVG file. Art!! 🎨
  • --routed-svg arg β€” write a render of the routing to an SVG file. More art!!! πŸ–ΌοΈ

πŸ¦‹ Architecture specific options: πŸ¦‹

  • --device arg β€” name of the device to use. Pick your fighter πŸ‘‘
  • --chipdb arg β€” override path to chip database file.
  • --list-uarch β€” list included uarches.
  • -o [ --vopt ] arg β€” options to pass to the himb??chel uarch (use help as the argument to get more info). Okay bestie, ngl, if you pass help here she'll spill the whole menu of what she accepts 🫢

and that's the whole page, fr fr πŸ’– she's nextpnr-himbaechel-gatemate version 0.10-5, and this manual page is dated March 2026 β€” so when you cite her, cite her with her full name and that date, periodt 🌟

πŸ“¦ where this page comes from