SYF(1)
π¦ SYF(1) β β¨ NAME β¨
okay so bestie, SYF is the Finite State Machine synthesizer π and this page lives in the CAO-VLSI Reference Manual. no cap, that's the whole vibe of the name section. slay.
π ORIGIN π
This software belongs to the ALLIANCE CAD SYSTEM, developed by the ASIM team at the LIP6 laboratory of UniversitΓ© Pierre et Marie CURIE, in Paris, France π«π·β¨
- Web :
http://asim.lip6.fr/recherche/alliance/ - E-mail :
alliance-users@asim.lip6.fr
π SYNOPSIS π
syf -a|j|m|u|o|r [-CDEOPRSTV] input_name [output_name]
π DESCRIPTION π
syf is a Finite State Machine synthesizer. it literally lets you generate a VHDL Data Flow description (peep vbe(5) for that one) fast from a VHDL Finite State Machine description (that's fsm(5), iykyk). π¦
the input FSM spec can use an internal STACK. and yes, both MOORE and MEALEY FSMs can be synthesized, with output registers if you want them β¨
for a MOORE FSM specifically, there's a timing-optimized implementation that emulates a ROM with microsequencer β iconic behaviour honestly. and a scan-path for the state registers can also be implemented. π
π ENVIRONMENT VARIABLES π
MBK_WORK_LIB(1)β this one indicates the path to the read/write directory for the session. basically where the files come and go, bestie. π
β¨ OPTIONS β¨
okay this is the part everyone skips and then wonders why nothing works. not us. we read all of them. π«Ά
-aβ Uses "Asp" as encoding algorithm.-jβ Uses "Jedi" as encoding algorithm.-mβ Uses "Mustang" as encoding algorithm.-uβ Uses an encoding given by user through the<input_name>.encfile. in that file, a line started by a#character is a comment. a valid line contains one state name followed by its hexadecimal code. βοΈ-oβ Uses the one hot encoding algorithm.-rβ Uses distinct random numbers for state encoding. π²-Cβ Checks the transition's consistency.-Dβ With this optionsyfdoesn't optimize unused, i.e Don't Care, codes. π-Eβ Saves the encoding result in the<output_name>.enc. this file has the same syntax as the<input_name>.encfile which is used by the-uoption. cute little matching pair π-Oβ With this optionsyfplaces registers on the outputs.-Pβ Implements a scan-path for the state registers, stack registers and possibly output registers. the scan-path mechanism is directly included in states decoder. users should usescapin(5)for a correct insertion of a scan-path in a netlist. please checkfsm(5)for information about scan-path descriptions. β οΈ fr, don't skip that last bit.-Rβ This option is only available for MOORE FSM. with this option,syfemulates a ROM with micro-sequencer implementation: there is no combinatorial logic between the state registers and the FSM outputs. this can be mandatory for external timing constraints. seefsm(5)andgrog(1)for more on ROM descriptions. π-Sβ With this optionsyfdoesn't take into account the cost of the transitions to compute an encoding.-Vβ Verbose mode on. each step of the FSM synthesis is displayed on the standard output, along with some statistics. π the way it tells you everything it's doingβ¦ main character energy.
π§ EXAMPLE π§
Environment variables:
setenv MBK_WORK_LIB /alliance/tutorials/dlxm
syf is called as follow (the dlx_ctrl.fsm is already created in /alliance/tutorials/dlxm) :
syf -sE dlx_ctrl
Two files will be generated, a states encoding file dlx_ctrls.enc and a VHDL data flow file /alliance/tutorials/dlxm/dlx_ctrls.vbe πΈ
two whole files out of one tiny command?? it's giving efficiency, honestly.
π SEE ALSO π
fsm(5), vbe(5), vhdl(5), boom(1), boog(1), loon(1), scapin(1), asimut(1), proof(1), MBK_WORK_LIB(1).
π BUG REPORT π
This tool is under development at the ASIM department of the LIP6 laboratory. We need your feedback to improve documentation and tools.
not me begging you to send feedback π they literally need it bestie, go tell them what's broken.
that's the whole page! ASIM/LIP6, dated October 1, 1997 β yeah, she's vintage, and she's still serving π β¨ mwah, go synthesize something gorgeous π¦π
π¦ where this page comes from
- fedora 43: alliance 5.1.1-35.20160506gitd8c05cd.fc42 Β· GPL-2.0-only
- fedora 43: alliance 5.1.1-35.20160506gitd8c05cd.fc42 Β· GPL-2.0-only
- fedora 44: alliance 5.1.1-35.20160506gitd8c05cd.fc42 Β· GPL-2.0-only
- fedora 44: alliance 5.1.1-35.20160506gitd8c05cd.fc42 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms