mirror of https://github.com/YosysHQ/yosys.git
Docs: Less leading backslashes
This commit is contained in:
parent
2b4a4cb536
commit
be5572ca0e
|
@ -19,24 +19,24 @@ FSM detection
|
||||||
~~~~~~~~~~~~~
|
~~~~~~~~~~~~~
|
||||||
|
|
||||||
The `fsm_detect` pass identifies FSM state registers. It sets the
|
The `fsm_detect` pass identifies FSM state registers. It sets the
|
||||||
``\fsm_encoding = "auto"`` attribute on any (multi-bit) wire that matches the
|
``fsm_encoding = "auto"`` attribute on any (multi-bit) wire that matches the
|
||||||
following description:
|
following description:
|
||||||
|
|
||||||
- Does not already have the ``\fsm_encoding`` attribute.
|
- Does not already have the ``fsm_encoding`` attribute.
|
||||||
- Is not an output of the containing module.
|
- Is not an output of the containing module.
|
||||||
- Is driven by single `$dff` or `$adff` cell.
|
- Is driven by single `$dff` or `$adff` cell.
|
||||||
- The ``\D``-Input of this `$dff` or `$adff` cell is driven by a multiplexer
|
- The ``D``-Input of this `$dff` or `$adff` cell is driven by a multiplexer
|
||||||
tree that only has constants or the old state value on its leaves.
|
tree that only has constants or the old state value on its leaves.
|
||||||
- The state value is only used in the said multiplexer tree or by simple
|
- The state value is only used in the said multiplexer tree or by simple
|
||||||
relational cells that compare the state value to a constant (usually `$eq`
|
relational cells that compare the state value to a constant (usually `$eq`
|
||||||
cells).
|
cells).
|
||||||
|
|
||||||
This heuristic has proven to work very well. It is possible to overwrite it by
|
This heuristic has proven to work very well. It is possible to overwrite it by
|
||||||
setting ``\fsm_encoding = "auto"`` on registers that should be considered FSM
|
setting ``fsm_encoding = "auto"`` on registers that should be considered FSM
|
||||||
state registers and setting ``\fsm_encoding = "none"`` on registers that match
|
state registers and setting ``fsm_encoding = "none"`` on registers that match
|
||||||
the above criteria but should not be considered FSM state registers.
|
the above criteria but should not be considered FSM state registers.
|
||||||
|
|
||||||
Note however that marking state registers with ``\fsm_encoding`` that are not
|
Note however that marking state registers with ``fsm_encoding`` that are not
|
||||||
suitable for FSM recoding can cause synthesis to fail or produce invalid
|
suitable for FSM recoding can cause synthesis to fail or produce invalid
|
||||||
results.
|
results.
|
||||||
|
|
||||||
|
@ -44,7 +44,7 @@ FSM extraction
|
||||||
~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~
|
||||||
|
|
||||||
The `fsm_extract` pass operates on all state signals marked with the
|
The `fsm_extract` pass operates on all state signals marked with the
|
||||||
(``\fsm_encoding != "none"``) attribute. For each state signal the following
|
(``fsm_encoding != "none"``) attribute. For each state signal the following
|
||||||
information is determined:
|
information is determined:
|
||||||
|
|
||||||
- The state registers
|
- The state registers
|
||||||
|
@ -109,7 +109,7 @@ The `fsm_opt` pass performs basic optimizations on `$fsm` cells (not including
|
||||||
state recoding). The following optimizations are performed (in this order):
|
state recoding). The following optimizations are performed (in this order):
|
||||||
|
|
||||||
- Unused control outputs are removed from the `$fsm` cell. The attribute
|
- Unused control outputs are removed from the `$fsm` cell. The attribute
|
||||||
``\unused_bits`` (that is usually set by the `opt_clean` pass) is used to
|
``unused_bits`` (that is usually set by the `opt_clean` pass) is used to
|
||||||
determine which control outputs are unused.
|
determine which control outputs are unused.
|
||||||
|
|
||||||
- Control inputs that are connected to the same driver are merged.
|
- Control inputs that are connected to the same driver are merged.
|
||||||
|
|
|
@ -196,7 +196,7 @@ Removing unused cells and wires - `opt_clean` pass
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
This pass identifies unused signals and cells and removes them from the design.
|
This pass identifies unused signals and cells and removes them from the design.
|
||||||
It also creates an ``\unused_bits`` attribute on wires with unused bits. This
|
It also creates an ``unused_bits`` attribute on wires with unused bits. This
|
||||||
attribute can be used for debugging or by other optimization passes.
|
attribute can be used for debugging or by other optimization passes.
|
||||||
|
|
||||||
When to use `opt` or `clean`
|
When to use `opt` or `clean`
|
||||||
|
|
Loading…
Reference in New Issue