mirror of https://github.com/YosysHQ/yosys.git
Docs: Update for properties
Add properties page, move cell_gate and cell_word under a singular cell_index along with properties. Fix links accordingly. Also drop x-aware and x-output todos since they are resolved.
This commit is contained in:
parent
4d84d7e69f
commit
e40134c856
|
@ -223,8 +223,8 @@ Cells
|
||||||
Declares a cell, with zero or more attributes, with the given identifier and
|
Declares a cell, with zero or more attributes, with the given identifier and
|
||||||
type in the enclosing module.
|
type in the enclosing module.
|
||||||
|
|
||||||
Cells perform functions on input signals. See :doc:`/cell_gate` and
|
Cells perform functions on input signals. See :doc:`/cell_index` for a detailed
|
||||||
:doc:`/cell_word` for a detailed list of cell types.
|
list of cell types.
|
||||||
|
|
||||||
.. code:: BNF
|
.. code:: BNF
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,6 @@ The combinatorial logic cells can be mapped to physical cells from a Liberty
|
||||||
file via ABC using the abc pass.
|
file via ABC using the abc pass.
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:caption: Gate-level cells
|
|
||||||
:maxdepth: 2
|
:maxdepth: 2
|
||||||
|
|
||||||
/cell/gate_comb_simple
|
/cell/gate_comb_simple
|
|
@ -15,7 +15,6 @@ Simulation models for the RTL cells can be found in the file
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 2
|
:maxdepth: 2
|
||||||
:glob:
|
|
||||||
|
|
||||||
/cell/word_unary
|
/cell/word_unary
|
||||||
/cell/word_binary
|
/cell/word_binary
|
|
@ -0,0 +1,18 @@
|
||||||
|
Cell properties
|
||||||
|
---------------
|
||||||
|
|
||||||
|
.. TODO:: Fill :cell:ref:`is_evaluable`
|
||||||
|
|
||||||
|
.. cell:defprop:: is_evaluable
|
||||||
|
|
||||||
|
.. cell:defprop:: x-aware
|
||||||
|
|
||||||
|
Some passes will treat these cells as the non 'x' aware cell. For example,
|
||||||
|
during synthesis `$eqx` will typically be treated as `$eq`.
|
||||||
|
|
||||||
|
.. cell:defprop:: x-output
|
||||||
|
|
||||||
|
These cells can produce 'x' output even if all inputs are defined. For
|
||||||
|
example, a `$div` cell with ``B=0`` has undefined output.
|
||||||
|
|
||||||
|
Refer to the :ref:`propindex` for the list of cells with a given property.
|
|
@ -6,16 +6,6 @@ Binary operators
|
||||||
|
|
||||||
.. TODO:: display cell titles
|
.. TODO:: display cell titles
|
||||||
|
|
||||||
.. todo:: 'x' aware warning
|
|
||||||
|
|
||||||
some passes will treat cell as the non 'x' aware cell, i.e. synthesis; `$eqx`
|
|
||||||
`$nex` `$bweqx`
|
|
||||||
|
|
||||||
.. todo:: 'x' output
|
|
||||||
|
|
||||||
shiftx, div, mod, pmux (less-so) can produce 'x' output even if all inputs
|
|
||||||
are defined
|
|
||||||
|
|
||||||
All binary RTL cells have two input ports ``A`` and ``B`` and one output port
|
All binary RTL cells have two input ports ``A`` and ``B`` and one output port
|
||||||
``Y``. They also have the following parameters:
|
``Y``. They also have the following parameters:
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
Internal cell library
|
||||||
|
=====================
|
||||||
|
|
||||||
|
.. todo:: brief overview of internal cell library
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 2
|
||||||
|
|
||||||
|
/cell/index_word
|
||||||
|
/cell/index_gate
|
||||||
|
/cell/properties
|
|
@ -50,6 +50,5 @@ available, go to :ref:`commandindex`.
|
||||||
|
|
||||||
bib
|
bib
|
||||||
|
|
||||||
cell_word
|
cell_index
|
||||||
cell_gate
|
|
||||||
cmd_ref
|
cmd_ref
|
||||||
|
|
|
@ -65,7 +65,7 @@ displayed as rectangles with inputs on the left and outputs on the right side.
|
||||||
The cell labels are two lines long: The first line contains a unique identifier
|
The cell labels are two lines long: The first line contains a unique identifier
|
||||||
for the cell and the second line contains the cell type. Internal cell types are
|
for the cell and the second line contains the cell type. Internal cell types are
|
||||||
prefixed with a dollar sign. For more details on the internal cell library, see
|
prefixed with a dollar sign. For more details on the internal cell library, see
|
||||||
:doc:`/cell_gate` and :doc:`/cell_word`.
|
:doc:`/cell_index`.
|
||||||
|
|
||||||
Constants are shown as ellipses with the constant value as label. The syntax
|
Constants are shown as ellipses with the constant value as label. The syntax
|
||||||
``<bit_width>'<bits>`` is used for constants that are not 32-bit wide and/or
|
``<bit_width>'<bits>`` is used for constants that are not 32-bit wide and/or
|
||||||
|
|
|
@ -27,7 +27,7 @@ Constant folding and simple expression rewriting - `opt_expr`
|
||||||
.. todo:: unsure if this is too much detail and should be in :doc:`/yosys_internals/index`
|
.. todo:: unsure if this is too much detail and should be in :doc:`/yosys_internals/index`
|
||||||
|
|
||||||
This pass performs constant folding on the internal combinational cell types
|
This pass performs constant folding on the internal combinational cell types
|
||||||
described in :doc:`/cell_gate` and :doc:`/cell_word`. This means a cell with all
|
described in :doc:`/cell_index`. This means a cell with all
|
||||||
constant inputs is replaced with the constant value this cell drives. In some
|
constant inputs is replaced with the constant value this cell drives. In some
|
||||||
cases this pass can also optimize cells with some constant inputs.
|
cases this pass can also optimize cells with some constant inputs.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue