blob: 4eebd23482eb404e2ed824eccf802eeabd1bc66b [file] [log] [blame] [edit]
import argparse
import sys
def write_template(f, num_ff, ff_type):
template = """
[options]
mode prove
depth 50
timeout 600
aigsmt z3
[engines]
abc pdr
[script]
read_verilog +/xilinx/cells_sim.v
read_verilog -sv ff_type.v
read_verilog -sv ff_ce_sr_{num_ff}_{ff_type}.v
rename top gold
read_verilog -sv top_bit.v
rename top gate
miter -equiv -make_assert gold gate miter
prep -top miter
[files]
ff_ce_sr_{num_ff}_{ff_type}/artix7-xc7a50t-basys3-roi-virt-xc7a50t-basys3-test/top_bit.v
ff_ce_sr_{num_ff}_{ff_type}.v
ff_type.v
"""
print(template.format(num_ff=num_ff, ff_type=ff_type, file=f))
def main():
parser = argparse.ArgumentParser(
description="Creates SymbiYosys project file for proving FF CE/SR."
)
parser.add_argument('--num_ff', required=True, type=int)
parser.add_argument('--ff_type', required=True)
args = parser.parse_args()
write_template(f=sys.stdout, num_ff=args.num_ff, ff_type=args.ff_type)
if __name__ == "__main__":
main()