jix / tinytapeout_scan

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Formal Equivalence Check for the TinyTapeout Scan Chain

To perform an equivalence check to the reference netlists scan_wrapper_one.v and scan_wrapper_zero.v, copy <module_name>.v into this repository and run sby -f tinytapeout_scan.sby <module_name>. The name of the module and the filename must match.

Two working example netlists are included:

sby -f tinytapeout_scan.sby scan_wrapper_339501025136214612
sby -f tinytapeout_scan.sby scan_wrapper_340805072482992722

As well as four examples that break the scan chain in different ways:

sby -f tinytapeout_scan.sby scan_wrapper_data_as_clock
sby -f tinytapeout_scan.sby scan_wrapper_invert
sby -f tinytapeout_scan.sby scan_wrapper_too_short
sby -f tinytapeout_scan.sby scan_wrapper_stealthy

If Yosys complains about missing modules, most likely more synthesizable models of some PDK primitives need to be added to needed_primitives.sv.

About


Languages

Language:Verilog 99.8%Language:SystemVerilog 0.2%