QFLOW(1)
π QFLOW(1) β the manual page bestie π
okay so. welcome to qflow, aka the Open-Source Digital Synthesis Flow. yes it's a manual page, no it does not have to be boring, and yes I'm gonna walk you through every single crumb of it. grab a snack. π
β¨ NAME β¨
qflow β Open-Source Digital Synthesis Flow. that's it. that's the girl. π
π¦ SYNOPSIS π¦
qflow [processes] [options] <module_name>
πΈ DESCRIPTION πΈ
okay so listen. qflow is the main executable for a complete tool chain that synthesizes digital circuits. like, full journey: you start with verilog source and you end with physical layout for a specific target fabrication process. start to finish. main character energy fr fr.
now here's the tea about the commercial world β β in commercial electronics, digital synthesis targeting a chip design is usually bundled up into big ol' EDA software systems. and because commercial designers have to keep that cutting-edge performance, those toolchains just keep getting more and more expensive π and they've largely priced themselves right out of everyone except the established integrated circuit manufacturers. which leaves a genuinely unfortunate gap where startup companies and small businesses literally cannot afford to do any sort of integrated circuit design.
and that's the gap qflow is trying to fill. π«Ά not me getting emotional about open-source EDA.
π PROCESSES π
here's the whole lineup, bestie β pick your fighter:
synthesizeβ synthesize verilog sourceplaceβ run initial placementstaβ static timing analysisrouteβ run placement and routedecongestβ run congestion analysis, final place and routecleanβ remove temporary working filesdisplayβ display routed resultbuildβ run scripts synthesize to routeallβ run scripts synthesize to display
π OPTIONS π
-T,--tech <name>β use technology <name> (default:osu035)-p,--project <name>β project root directory is <name>
π USAGE π
the simplest way to use qflow? be in a directory with one Verilog file called input.v and then execute:
qflow build input.v
that runs all the necessary steps in order to produce a layout of the specified Verilog file. slay. β¨
but say you only want certain steps. no problem. first run:
qflow input.v
and then open qflow_exec.sh, uncomment the desired steps, and at last run:
./qflow_exec.sh
and yesss you can also change other "project-specific" details in the files qflow_vars.sh and project_vars.sh β which have also been created in the current directory. they're just sitting there. waiting for you. π
π₯ TECHNOLOGY π₯
so qflow looks for technology files under /usr/share/qflow/tech. a shell script has to be placed in a sub directory there declaring where each of the technology files are located:
/usr/share/qflow/tech/[TECHNAME]/[TECHNAME].sh
usually, the files needed are placed in these locations:
/usr/share/qflow/tech/[TECHNAME]/SCN4M_SUBM.20.tech
/usr/share/qflow/tech/[TECHNAME]/[TECHNAME].magicrc
/usr/share/qflow/tech/[TECHNAME]/[TECHNAME].prm
/usr/share/qflow/tech/[TECHNAME]/[TECHNAME]_stdcells.v
/usr/share/qflow/tech/[TECHNAME]/[TECHNAME]_stdcells.lef
/usr/share/qflow/tech/[TECHNAME]/[TECHNAME].par
/usr/share/qflow/tech/[TECHNAME]/[TECHNAME]_stdcells.sp
/usr/share/qflow/tech/[TECHNAME]/[TECHNAME]_stdcells.lib
if no technology name is specified on the command line with the -T/--tech option, it will attempt to use the default technology, which is "osu035". that's the fallback bae. π
and if the technology files are located somewhere else? totally fine β you can specify that in qflow_vars.sh, which is created when running qflow. the variables "techdir" and "techname" must be changed accordingly. don't forget them, bestie, or she'll be looking in the wrong place. π
π AUTHOR π
this manual page was written by Ruben Undheim <ruben.undheim@gmail.com> for the Debian project (and may be used by others). iconic of them honestly. π«Ά
that's the whole page, no cap. every flag, every path, every process, all accounted for. vibe check passed. β
okay bye bestie!! this was QFLOW(1), dated 11 October 2015 β go build something gorgeous with it. π
β¨π
π¦ where this page comes from
- debian bookworm: qflow 1.3.17+dfsg.1-3+b1 Β· GPL
- ubuntu jammy: qflow 1.3.17+dfsg.1-2 Β· GPL
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms