mirror of https://github.com/YosysHQ/yosys.git
51 lines
1.1 KiB
ReStructuredText
51 lines
1.1 KiB
ReStructuredText
|
Example(s)
|
||
|
----------
|
||
|
|
||
|
.. _sec:typusecase:
|
||
|
|
||
|
Typical use case
|
||
|
~~~~~~~~~~~~~~~~
|
||
|
|
||
|
The following example script may be used in a synthesis flow to convert the
|
||
|
behavioural Verilog code from the input file design.v to a gate-level netlist
|
||
|
synth.v using the cell library described by the Liberty file :
|
||
|
|
||
|
.. code:: yoscrypt
|
||
|
:number-lines:
|
||
|
|
||
|
# read input file to internal representation
|
||
|
read_verilog design.v
|
||
|
|
||
|
# convert high-level behavioral parts ("processes") to d-type flip-flops and muxes
|
||
|
proc
|
||
|
|
||
|
# perform some simple optimizations
|
||
|
opt
|
||
|
|
||
|
# convert high-level memory constructs to d-type flip-flops and multiplexers
|
||
|
memory
|
||
|
|
||
|
# perform some simple optimizations
|
||
|
opt
|
||
|
|
||
|
# convert design to (logical) gate-level netlists
|
||
|
techmap
|
||
|
|
||
|
# perform some simple optimizations
|
||
|
opt
|
||
|
|
||
|
# map internal register types to the ones from the cell library
|
||
|
dfflibmap -liberty cells.lib
|
||
|
|
||
|
# use ABC to map remaining logic to cells from the cell library
|
||
|
abc -liberty cells.lib
|
||
|
|
||
|
# cleanup
|
||
|
opt
|
||
|
|
||
|
# write results to output file
|
||
|
write_verilog synth.v
|
||
|
|
||
|
A detailed description of the commands available in Yosys can be found in
|
||
|
:ref:`cmd_ref`.
|