YOSYS(1)

πŸ“¦
version 0.67 Β· 2 versions
, in debian trixie, fedora 43, fedora 44, ubuntu noble, ubuntu resolute, ubuntu stonking

πŸ’– YOSYS πŸ’–

bestie. okay so. This page is the quick lil' rundown of the yosys command, from the Yosys Open SYnthesis Suite, living in your friendly neighborhood General Commands Manual. She's a real one. Let's get into it. πŸ¦‹


✨ SYNOPSIS ✨

yosys [options] <infile>

That's it. That's the whole vibe. Options, then an input file. Slay. πŸ’…


🌸 DESCRIPTION 🌸

Okay so real talk, this manual page is just the brief version of what yosys does. It documents the yosys command, short and sweet.

And what does yosys do? She synthesizes RTL to gate-level logic. That's the whole job. RTL in, gate-level logic out. No cap. πŸ‘‘


πŸŽ€ OPTIONS πŸŽ€

A lil' summary of all the options, bestie. Every single one. Yes, all of them. We don't skip. πŸ’–

  • -Q β€” suppresses printing of the banner (that's the copyright, disclaimer, and version). Not me silencing the intro music. 🀫
  • -T β€” suppresses printing of the footer (log hash, version, timing statistics). Bye bye outro. πŸ‘‹
  • -q β€” quiet operation, so only error messages go to the console. Use this option twice and warning messages get quieted too. Two -qs = extra silent, fr fr.
  • -v <level> β€” prints log headers up to level <level> to the console. Heads up: this implies -q. 🫒
  • -t β€” annotates all log messages with a time stamp. Clocking everything, periodt. ⏰
  • -d β€” prints more detailed timing stats when you exit. The receipts. 🧾
  • -l logfile β€” writes log messages to the specified file.
  • -L logfile β€” like -l, but it opens the log file in line buffered mode.
  • -o outfile β€” writes the design to the specified file on exit.
  • -b backend β€” uses this backend for the output file you specified on the command line.
  • -f frontend β€” uses the specified frontend for the input files on the command line.
  • -H β€” prints the command list. The menu, basically. πŸ“œ
  • -h command β€” prints the help message for the specified command.
  • -s scriptfile β€” executes the commands in the script file.
  • -c tcl_scriptfile β€” executes the commands in the tcl script file. (peep help tcl for the details, iykyk ✨)
  • -p command β€” executes the commands.
  • -m module_file β€” loads the specified module (aka a plugin). Plug her in. πŸ”Œ
  • -X β€” enables tracing of core data structure changes. This one is for debugging. πŸ”
  • -M β€” will slightly randomize allocated pointer addresses. Also for debugging. 🎲
  • -A β€” will call abort() at the end of the script. Also for debugging, and yes bestie, that's dramatic on purpose. πŸ’€
  • -D <header_id>[:<filename>] β€” dumps the design when printing the specified log header, into a file. If you don't specify a filename, yosys_dump_<header_id>.il is used instead. And if you use 'ALL' as the <header_id>, it dumps at every header. Every. Single. One. 😭
  • -W regex β€” if a warning message matches the regex, it gets printed as a regular message instead. Glow-up for warnings. ✨
  • -e regex β€” if a warning message matches the regex, it gets printed as an error message instead, and the tool terminates with a nonzero return code. So like, that warning just got promoted and it's not playing. 🚨
  • -V β€” prints version information and exits.
  • -E depsfile β€” writes a Makefile dependencies file with the in- and output file names.
  • -S β€” this option is an alias for the "synth" command, a default script for transforming the Verilog input to a gate-level netlist. For example:
yosys -o output.blif -S input.v

Iconic shortcut behavior. πŸƒβ€β™€οΈπŸ’¨


πŸ¦‹ USAGE πŸ¦‹

Okay so for more complex synthesis jobs, the recommendation is to use the read_* and write_* commands in a script file instead of specifying input and output files right there on the command line. Trust the process. πŸ“

And when you specify no commands, no script files, and no input files on the command line? yosys automatically enters the interactive command mode. Like she just pulls up a chair and asks what we're doing today. πŸͺ‘βœ¨

Use the 'help' command to get information on the individual commands. She's helpful like that. 🫢


πŸ‘€ SEE ALSO πŸ‘€

The friend group. Go say hi. πŸ’œ


🌈 AUTHOR 🌈

yosys was written by Clifford Wolf <clifford@clifford.at>. Legend behavior. πŸ‘‘

This manual page was written by Ruben Undheim <ruben.undheim@gmail.com>, for the Debian project (and it may be used by others too, bestie β€” sharing is caring). πŸŽ€


And that's the whole page, babe! This one's dated <strong>October 17, 2018</strong>, and it came to you straight from the Yosys source/version life β€” go off, manual page. πŸ’–βœ¨πŸŒΈπŸ¦‹πŸ’…

πŸ“¦ where this page comes from