byuccl / bfasst

Tools for FPGA Assurance Flows
Apache License 2.0
12 stars 4 forks source link

Structural Comparison Failing #367

Closed KeenanRileyFaulkner closed 7 months ago

KeenanRileyFaulkner commented 7 months ago

Structural Comparisons in the vivado_phys_netlist_cmp flow are failing with the following error: FAIL: Unhandled properties for type GND.

Note, due to the way structural comparisons are used in the vivado_structural_error_injection flow, the compare tool will not report failures to ninja. So running a command line like python scripts/run.py vivado_phys_netlist_cmp byu/alu will appear to succeed, but checking the associated struct_cmp.log file will show the above error.

jgoeders commented 7 months ago

It seems the problem stemmed from comparing netlists (a,b) when a=reversed netlist and b=physical netlist, and not vice versa. We iterate through netlist a, and don't handle certain things that show up in the reversed netlist (eg assign statements, LUTs that don't drive anything).

We used to compare (physical, reversed), but at some point it was switched. I think the switch is causing the issues. I'm working on PR #368 that fixes the structural compare to work even when iterating through a reversed netlist. I'm making using of some of the netlist cleanup code I've written previously that removes assign statements and unused LUTs.