NEXTPNR-GENERIC(1)
π NEXTPNR-GENERIC π
okay bestie, so this is the man page for nextpnr-generic, living in section 1 (General Commands) of the manual. pull up a chair, grab a boba, we're doing place and route π«Ά
β¨ NAME β¨
nextpnr-generic β Next Generation Place and Route π
β¨ DESCRIPTION β¨
So. "nextpnr-generic" is literally Next Generation Place and Route, and this version is Version 0.10-5. she's an icon, she's a legend, and she's about to place AND route ur design π
πΈ General options: πΈ
these are the big universal knobs, the main character options if u will:
-h,--helpβ show help. ur little "what does this do again" button π-v,--verboseβ verbose output. she's chatty, she tells u everything π¬-q,--quietβ quiet mode, only errors and warnings displayed. no small talk, just the tea β--Werrorβ Turn warnings into errors. warnings are NOT beating the allegations in this mode π€-l,--logarg β log file, all log messages are written to this file regardless of-q. so even in quiet mode, the receipts go here π--debugβ debug output. for when u need to see EVERYTHING π--debug-placerβ debug output from placer only. just the placer's diary π--debug-routerβ debug output from router only. just the router's diary π--threadsarg β number of threads for passes where this is configurable. multithreading era π§΅-f,--forceβ keep running after errors. she does NOT know how to give up π--runarg β python file to execute instead of default flow π--pre-packarg β python file to run before packing--pre-placearg β python file to run before placement--pre-routearg β python file to run before routing--post-routearg β python file to run after routing--on-failurearg β python file to run in event of crash for design introspection. so when it all goes wrong u can go "hmm why tho" π--jsonarg β JSON design file to ingest. feed her π--writearg β JSON design file to write--toparg β name of top module--seedarg β seed value for random number generator. deterministic queen π±-r,--randomize-seedβ randomize seed value for random number generator. chaos era π²--placerarg β placer algorithm to use; available:sa,heap; default:heap--routerarg β router algorithm to use; available:router1,router2; default:router1--slack_redist_iterarg β number of iterations between slack redistribution--cstrweightarg β placer weighting for relative constraint satisfaction--starttemparg β placer SA start temperature. it's giving cozy but make it annealing π₯--pack-onlyβ pack design only without placement or routing. pack it up, we're done here π¦--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. girl we don't see them π--ignore-rel-clkβ ignore clock-to-clock relations in timing checks-V,--versionβ show version. the "who even are u" option π--testβ check architecture database integrity--freqarg β set target frequency for design in MHz--timing-allow-failβ allow timing to fail in design. permission slip granted, lowkey stressful tho π¬--no-tmdrivβ disable timing-driven placement--sdcarg β Generic timing constraints SDC file to load--sdfarg β 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--placer-heap-alphaarg β placer heap alpha value (float, default:0.1)--placer-heap-betaarg β placer heap maximum placement density (float, default:0.9)--placer-heap-critexparg β placer heap criticality exponent (int, default:2)--placer-heap-timingweightarg β placer heap timing weight (int, default:10)--placer-heap-cell-placement-timeoutarg β allow placer to attempt up tomax(10000, total cells^2 / N)iterations to place a cell (intN, default:8,0for no timeout)--static-dump-densityβ write density csv files during placer-static flow--parallel-refineβ use new experimental parallelised engine for placement refinement. experimental alert!! π§ͺ--router2-heatmaparg β prefix for router2 resource congestion heatmaps--tmg-ripupβ enable experimental timing-driven ripup in router. also experimental, don't say I didn't warn u π§ͺ--router2-tmg-ripupβ enable experimental timing-driven ripup in router (deprecated; use--tmg-ripupinstead). she's old news, bestie, use the other one π--router2-alt-weightsβ use alternate router2 weights--reportarg β write timing and utilization report in JSON format to file--detailed-timing-reportβ Append detailed net timing data to the JSON report--placed-svgarg β write render of placement to SVG file. visual feast π¨--routed-svgarg β write render of routing to SVG file
π¦ Architecture specific options: π¦
these ones are for the viaduct side of things specifically:
--uarcharg β viaduct micro-arch to use (available:example,fabulous) β¨--no-iobsβ disable automatic IO buffer insertion-o,--voptarg β options to pass to the viaduct uarch
friendly reminder bestie:-qhides stuff, but-lstill writes everything to the log file no matter what. the receipts are forever π
aaaaand that's the whole page fr fr π this was nextpnr-generic version 0.10-5, dated March 2026, and it's the nextpnr-generic manual page from Generic Commands section 1. slay, u read the whole thing, I'm so proud of u π«Άβ¨π
π¦ where this page comes from
- ubuntu stonking: nextpnr-generic 0.10-5 Β· ISC
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms