ARACHNE-PNR(1)

πŸ“¦
version 0.1+20190728gitc40fb22 Β· 3 versions
, in debian bookworm, debian trixie, ubuntu noble

✨ ARACHNE-PNR ✨

okay bestie, welcome to arachne-pnr πŸ’– this is the manual page for the place and route tool for iCE40 family FPGAs β€” literally the glow-up stage of your hardware compilation pipeline πŸ¦‹


🌸 SYNOPSIS 🌸

arachne-pnr [options] <filename>

πŸ’… DESCRIPTION πŸ’…

So here's the tea πŸ«–: arachne-pnr does the place and route step of the hardware compilation process for FPGAs. It takes a technology-mapped netlist in BLIF format as input β€” like the kind that comes out of the Yosys synthesis suite, for example. Iconic collab fr fr 🀝

Right now it targets the Lattice Semiconductor iCE40 family of FPGAs, and its output is a textual bitstream representation that's meant to be assembled by the IceStorm icepack command. The output of icepack is a binary bitstream, and that bad boy can be uploaded straight to a hardware device. main character pipeline energy, no cap πŸ‘‘


✨ OPTIONS ✨

  • -h, --help β€” prints this usage message. Your little "what do I do" moment πŸ₯Ί
  • -q, --quiet β€” run quiet. Don't output progress messages. no yapping mode 🀫
  • -d <device>, --device <device> β€” target device <device>. Supported devices:
    • 1k β€” Lattice Semiconductor iCE40LP/HX1K
    • 8k β€” Lattice Semiconductor iCE40LP/HX8K

Default: 1k

  • -c <file>, --chipdb <chipdb-file> β€” read the chip database from <chipdb-file>. Default: /usr/share/arachne-pnr/chipdb-<device>.bin
  • --write-binary-chipdb <file> β€” write the binary chipdb to <file> πŸ’Ύ
  • -l, --no-promote-globals β€” don't promote nets to globals. leave them where they are bestie βœ‹
  • -B <file>, --post-pack-blif <file> β€” write the post-pack netlist to <file> as BLIF.
  • -V <file>, --post-pack-verilog <file> β€” write the post-pack netlist to <file> as Verilog.
  • --post-place-blif <file> β€” write the post-place netlist to <file> as BLIF.
  • --route-only β€” the input must include placement. no placement, no service 🚫
  • -p <pcf-file>, --pcf-file <pcf-file> β€” read physical constraints from <pcf-file>.
  • -P <package>, --package <package> β€” target package <package>. Default: tq144 for 1k, ct256 for 8k
  • -r β€” randomize seed 🎲✨
  • -m <int>, --max-passes <int> β€” maximum number of routing passes. Default: 200
  • -s <int>, --seed <int> β€” set the seed for the random generator to <int>. Default: 1
  • -w <pcf-file>, --write-pcf <pcf-file> β€” write pin assignments to <pcf-file> after placement πŸ“
  • -o <output-file>, --output-file <output-file> β€” write output to <output-file>.

πŸ‘‘ AUTHOR πŸ‘‘

This manual page was written by Ruben Undheim <ruben.undheim@gmail.com> for the Debian project (and may be used by others). king behavior honestly πŸ™‡β™€οΈ


and that's the whole vibe, bestie πŸ’– this page is from the ARACHNE-PNR(1) manual, dated 16 November 2022 β€” go forth and route those nets, you absolute legend πŸŒˆβœ¨πŸŽ€

πŸ“¦ where this page comes from