3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-04-27 02:45:52 +00:00

Removing typical phases doc

Moved remaining content into relevant places.
Added `load_design.rst` to more scripting.
Split fsm handling and abc out of optimization passes. Also moved things around to match the general flow previously described.
Changed generic `synth` for `prep` instead.
This commit is contained in:
Krystine Sherwin 2023-12-07 17:14:21 +13:00
parent f9ce3d1c26
commit 1e3b90ae56
No known key found for this signature in database
11 changed files with 568 additions and 666 deletions

View file

@ -0,0 +1,39 @@
The :cmd:ref:`abc` command
~~~~~~~~~~~~~~~~~~~~~~~~~~
.. todo:: discuss abc (more stable) vs abc9 (newer, possibly better)
The :cmd:ref:`abc` command provides an interface to ABC_, an open source tool
for low-level logic synthesis.
.. _ABC: http://www.eecs.berkeley.edu/~alanmi/abc/
The :cmd:ref:`abc` command processes a netlist of internal gate types and can
perform:
- logic minimization (optimization)
- mapping of logic to standard cell library (liberty format)
- mapping of logic to k-LUTs (for FPGA synthesis)
Optionally :cmd:ref:`abc` can process registers from one clock domain and
perform sequential optimization (such as register balancing).
ABC is also controlled using scripts. An ABC script can be specified to use more
advanced ABC features. It is also possible to write the design with
:cmd:ref:`write_blif` and load the output file into ABC outside of Yosys.
Example
^^^^^^^
.. todo:: describe ``abc`` images
.. literalinclude:: /code_examples/synth_flow/abc_01.v
:language: verilog
:caption: ``docs/source/code_examples/synth_flow/abc_01.v``
.. literalinclude:: /code_examples/synth_flow/abc_01.ys
:language: yoscrypt
:caption: ``docs/source/code_examples/synth_flow/abc_01.ys``
.. figure:: /_images/code_examples/synth_flow/abc_01.*
:class: width-helper