mirror of https://github.com/YosysHQ/yosys.git
Update documentation
This commit is contained in:
parent
9581b9adac
commit
a7090e9711
|
@ -2222,6 +2222,89 @@ one-hot encoding and binary encoding is supported.
|
||||||
.map <old_bitpattern> <new_bitpattern>
|
.map <old_bitpattern> <new_bitpattern>
|
||||||
\end{lstlisting}
|
\end{lstlisting}
|
||||||
|
|
||||||
|
\section{glift -- create GLIFT models and optimization problems}
|
||||||
|
\label{cmd:glift}
|
||||||
|
\begin{lstlisting}[numbers=left,frame=single]
|
||||||
|
glift <command> [options] [selection]
|
||||||
|
|
||||||
|
Augments the current or specified module with gate-level information flow tracking
|
||||||
|
(GLIFT) logic using the "constructive mapping" approach. Also can set up QBF-SAT
|
||||||
|
optimization problems in order to optimize GLIFT models or trade off precision and
|
||||||
|
complexity.
|
||||||
|
|
||||||
|
|
||||||
|
Commands:
|
||||||
|
|
||||||
|
-create-precise-model
|
||||||
|
Replaces the current or specified module with one that has corresponding "taint"
|
||||||
|
inputs, outputs, and internal nets along with precise taint tracking logic.
|
||||||
|
For example, precise taint tracking logic for an AND gate is:
|
||||||
|
|
||||||
|
y_t = a & b_t | b & a_t | a_t & b_t
|
||||||
|
|
||||||
|
|
||||||
|
-create-imprecise-model
|
||||||
|
Replaces the current or specified module with one that has corresponding "taint"
|
||||||
|
inputs, outputs, and internal nets along with imprecise "All OR" taint tracking
|
||||||
|
logic:
|
||||||
|
|
||||||
|
y_t = a_t | b_t
|
||||||
|
|
||||||
|
|
||||||
|
-create-instrumented-model
|
||||||
|
Replaces the current or specified module with one that has corresponding "taint"
|
||||||
|
inputs, outputs, and internal nets along with 4 varying-precision versions of taint
|
||||||
|
tracking logic. Which version of taint tracking logic is used for a given gate is
|
||||||
|
determined by a MUX selected by an $anyconst cell. By default, unless the
|
||||||
|
`-no-cost-model` option is provided, an additional wire named `__glift_weight` with
|
||||||
|
the `keep` and `minimize` attributes is added to the module along with pmuxes and
|
||||||
|
adders to calculate a rough estimate of the number of logic gates in the GLIFT model
|
||||||
|
given an assignment for the $anyconst cells. The four versions of taint tracking logic
|
||||||
|
for an AND gate are:
|
||||||
|
y_t = a & b_t | b & a_t | a_t & b_t (like `-create-precise-model`)
|
||||||
|
y_t = a_t | a & b_t
|
||||||
|
y_t = b_t | b & a_t
|
||||||
|
y_t = a_t | b_t (like `-create-imprecise-model`)
|
||||||
|
|
||||||
|
|
||||||
|
Options:
|
||||||
|
|
||||||
|
-taint-constants
|
||||||
|
Constant values in the design are labeled as tainted.
|
||||||
|
(default: label constants as un-tainted)
|
||||||
|
|
||||||
|
-keep-outputs
|
||||||
|
Do not remove module outputs. Taint tracking outputs will appear in the module ports
|
||||||
|
alongside the orignal outputs.
|
||||||
|
(default: original module outputs are removed)
|
||||||
|
|
||||||
|
-simple-cost-model
|
||||||
|
Do not model logic area. Instead model the number of non-zero assignments to $anyconsts.
|
||||||
|
Taint tracking logic versions vary in their size, but all reduced-precision versions are
|
||||||
|
significantly smaller than the fully-precise version. A non-zero $anyconst assignment means
|
||||||
|
that reduced-precision taint tracking logic was chosen for some gate.
|
||||||
|
Only applicable in combination with `-create-instrumented-model`.
|
||||||
|
(default: use a complex model and give that wire the "keep" and "minimize" attributes)
|
||||||
|
|
||||||
|
-no-cost-model
|
||||||
|
Do not model taint tracking logic area and do not create a `__glift_weight` wire.
|
||||||
|
Only applicable in combination with `-create-instrumented-model`.
|
||||||
|
(default: model area and give that wire the "keep" and "minimize" attributes)
|
||||||
|
|
||||||
|
-instrument-more
|
||||||
|
Allow choice from more versions of (even simpler) taint tracking logic. A total
|
||||||
|
of 8 versions of taint tracking logic will be added per gate, including the 4
|
||||||
|
versions from `-create-instrumented-model` and these additional versions:
|
||||||
|
|
||||||
|
y_t = a_t
|
||||||
|
y_t = b_t
|
||||||
|
y_t = 1
|
||||||
|
y_t = 0
|
||||||
|
|
||||||
|
Only applicable in combination with `-create-instrumented-model`.
|
||||||
|
(default: do not add more versions of taint tracking logic.
|
||||||
|
\end{lstlisting}
|
||||||
|
|
||||||
\section{greenpak4\_dffinv -- merge greenpak4 inverters and DFF/latches}
|
\section{greenpak4\_dffinv -- merge greenpak4 inverters and DFF/latches}
|
||||||
\label{cmd:greenpak4_dffinv}
|
\label{cmd:greenpak4_dffinv}
|
||||||
\begin{lstlisting}[numbers=left,frame=single]
|
\begin{lstlisting}[numbers=left,frame=single]
|
||||||
|
@ -4834,6 +4917,13 @@ This command simulates the circuit using the given top-level module.
|
||||||
-fst <filename>
|
-fst <filename>
|
||||||
write the simulation results to the given FST file
|
write the simulation results to the given FST file
|
||||||
|
|
||||||
|
-aiw <filename>
|
||||||
|
write the simulation results to an AIGER witness file
|
||||||
|
(requires a *.aim file via -map)
|
||||||
|
|
||||||
|
-x
|
||||||
|
ignore constant x outputs in simulation file.
|
||||||
|
|
||||||
-clock <portname>
|
-clock <portname>
|
||||||
name of top-level clock input
|
name of top-level clock input
|
||||||
|
|
||||||
|
@ -4867,6 +4957,9 @@ This command simulates the circuit using the given top-level module.
|
||||||
-r
|
-r
|
||||||
read simulation results file (file formats supported: FST)
|
read simulation results file (file formats supported: FST)
|
||||||
|
|
||||||
|
-map <filename>
|
||||||
|
read file with port and latch symbols, needed for AIGER witness input
|
||||||
|
|
||||||
-scope
|
-scope
|
||||||
scope of simulation top model
|
scope of simulation top model
|
||||||
|
|
||||||
|
@ -7551,9 +7644,11 @@ Like -sv, but define FORMAL instead of SYNTHESIS.
|
||||||
Load the specified VHDL files into Verific.
|
Load the specified VHDL files into Verific.
|
||||||
|
|
||||||
|
|
||||||
verific {-f|-F} <command-file>
|
verific {-f|-F} [-vlog95|-vlog2k|-sv2005|-sv2009|-sv2012|-sv|-formal] <command-file>
|
||||||
|
|
||||||
Load and execute the specified command file.
|
Load and execute the specified command file.
|
||||||
|
Override verilog parsing mode can be set.
|
||||||
|
The macros YOSYS, SYNTHESIS/FORMAL, and VERIFIC are defined implicitly.
|
||||||
|
|
||||||
Command file parser supports following commands:
|
Command file parser supports following commands:
|
||||||
+define - defines macro
|
+define - defines macro
|
||||||
|
|
Loading…
Reference in New Issue