mirror of
https://github.com/YosysHQ/yosys
synced 2025-09-02 16:20:51 +00:00
Merge pull request #1312 from YosysHQ/xaig_arrival
Allow arrival times of sequential outputs to be specified to abc9
This commit is contained in:
commit
903cd58acf
25 changed files with 655 additions and 194 deletions
13
README.md
13
README.md
|
@ -355,19 +355,16 @@ Verilog Attributes and non-standard features
|
|||
blackbox or whitebox definition to a corresponding entry in a `abc9`
|
||||
box-file.
|
||||
|
||||
- The port attribute ``abc_scc_break`` indicates a module input port that will
|
||||
be treated as a primary output during `abc9` techmapping. Doing so eliminates
|
||||
the possibility of a strongly-connected component (i.e. a combinatorial loop)
|
||||
existing. Typically, this is specified for sequential inputs on otherwise
|
||||
combinatorial boxes -- for example, applying ``abc_scc_break`` onto the `D`
|
||||
port of a LUTRAM cell prevents `abc9` from interpreting any `Q` -> `D` paths
|
||||
as a combinatorial loop.
|
||||
|
||||
- The port attribute ``abc_carry`` marks the carry-in (if an input port) and
|
||||
carry-out (if output port) ports of a box. This information is necessary for
|
||||
`abc9` to preserve the integrity of carry-chains. Specifying this attribute
|
||||
onto a bus port will affect only its most significant bit.
|
||||
|
||||
- The port attribute ``abc_arrival`` specifies an integer (for output ports
|
||||
only) to be used as the arrival time of this sequential port. It can be used,
|
||||
for example, to specify the clk-to-Q delay of a flip-flop for consideration
|
||||
during techmapping.
|
||||
|
||||
- In addition to the ``(* ... *)`` attribute syntax, Yosys supports
|
||||
the non-standard ``{* ... *}`` attribute syntax to set default attributes
|
||||
for everything that comes after the ``{* ... *}`` statement. (Reset
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue