EQY Output Directory Format¶
Main log and status files¶
The EQY terminal output is also written to the file logfile.txt
in the output directory.
Further, when the EQY run successfully proved equivalence the entire design, a
file PASS
is created in the output directory, and a file FAIL
is
generated otherwise.
Gate and gold designs¶
The file gold.il
contains the compiled gold design. The log
for compiling it is written to gold.log
and the yosys
script compiling it is gold.ys
. Finally, the list of
gold entities going into the matching algorithm is stored
in gold.ids
.
Similarly there are gate.il
, gate.log
, gate.ys
,
and gate.ids
for the gate design.
Combined gold and gate designs¶
EQY stores a “combined” gold and gate design, that contains
all modules from the gold design, their names prefixed with gold_
,
and all modules from the gate design, using the gate_
name
prefix.
The combined design is stored in the output file combined.il
.
The script that performs the task of combining the gold and
gate designs is stored in combine.ys
, and the log messages
generated by that script are stored in combine.log
.
The combine operation partially flattens the gold and gate designs, so that the hierarchies of both designs match, thus getting to a state of matching module names in both design hierarchies.
Matched gold and gate names¶
The list of matched gold and gate entity names is stored in
the file matched.ids
. Each line of this file contains
a module name, followed by a gold net name, followed by
a gate net name.
Design partition files¶
The file partition.ids
contains partitioning rules generated from the
[collect ...]
and [partition ...]
configuration sections. These rules guide the partition
generation algorithm. The following statements are valid in partition.ids
files.
solo <module> <net>
group <module> <net> <net>
bind <module> <net>
join <module> <net>
name <module> <net> <name>
merge <module> <net> <net>
path <module> <net> <net>
sticky <module> <net>
final <module> <net>
amend <module> <net>
amend <module> <net> <net>
The file partition.list
contains a list of all generated design partitions,
and the primary output bits and primary input bits of each partition.
The file partition.ys
contains the script running the partitioning
algorithm, and the file partition.log
contains the log output
from running that script.
Finally, the partitions/
directory contains the generated partitions,
one file for each partition, each file containing a gold_
and a gate_
module.
Strategies input and output files¶
The directory strategies/
contains a sub-directory for each partition,
and a sub-sub-directory for each strategy applied to that partition.
Each of those sub-sub-directories contains a run.sh
script that will
run the strategy, and a run.log
script with the log output from running
that script.
Lastly, a file status
is generated when the strategy is being run,
and the first word in that file is PASS
when the strategy proved the
partition to be equivalent successfully. The other possible status values for a
strategy are UNKNOWN
, FAIL
, and ERROR
.
The file strategies.mk
is a Makefile that runs all the strategies
within the strategies/
directory.