mirror of
https://github.com/YosysHQ/yosys
synced 2025-04-14 12:58:45 +00:00
Blocking tasks are now capital TODO (compared to non-blocking todo). Updated some of the todos. Added note about which intel synth does which families. Rename extended Yosys universe to Yosys family. Added brief text to landing page, and also a note about the restructure and where to find old docs. Moved todolist above ToC in preparation for disabling it in the config (so that it doesn't need it's own header). Fixed pdf build, was previously breaking on trying to include the svg badges.
40 lines
1.3 KiB
ReStructuredText
40 lines
1.3 KiB
ReStructuredText
The :cmd:ref:`abc` command
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
.. TODO:: discuss abc, consider using https://github.com/Ravenslofty/yosys-cookbook/blob/master/misc/abc9.md
|
|
|
|
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
|