### Original testcase ### read_verilog ./dynamic_part_select/original.v proc rename -top gold design -stash gold read_verilog ./dynamic_part_select/original_gate.v proc rename -top gate design -stash gate design -copy-from gold -as gold gold design -copy-from gate -as gate gate miter -equiv -make_assert -make_outcmp -flatten gold gate equiv sat -prove-asserts -seq 10 -show-public -verify -set-init-zero equiv ### Multiple blocking assingments ### design -reset read_verilog ./dynamic_part_select/multiple_blocking.v proc rename -top gold design -stash gold read_verilog ./dynamic_part_select/multiple_blocking_gate.v proc rename -top gate design -stash gate design -copy-from gold -as gold gold design -copy-from gate -as gate gate miter -equiv -make_assert -make_outcmp -flatten gold gate equiv sat -prove-asserts -seq 10 -show-public -verify -set-init-zero equiv ### Non-blocking to the same output register ### design -reset read_verilog ./dynamic_part_select/nonblocking.v proc rename -top gold design -stash gold read_verilog ./dynamic_part_select/nonblocking_gate.v proc rename -top gate design -stash gate design -copy-from gold -as gold gold design -copy-from gate -as gate gate miter -equiv -make_assert -make_outcmp -flatten gold gate equiv sat -prove-asserts -seq 10 -show-public -verify -set-init-zero equiv ### For-loop select, one dynamic input design -reset read_verilog ./dynamic_part_select/forloop_select.v proc rename -top gold design -stash gold read_verilog ./dynamic_part_select/forloop_select_gate.v proc rename -top gate design -stash gate design -copy-from gold -as gold gold design -copy-from gate -as gate gate miter -equiv -make_assert -make_outcmp -flatten gold gate equiv sat -prove-asserts -seq 10 -show-public -verify -set-init-zero equiv ### For-loop select, one dynamic input, (* nowrshmsk *) design -reset read_verilog ./dynamic_part_select/forloop_select_nowrshmsk.v proc rename -top gold design -stash gold read_verilog ./dynamic_part_select/forloop_select_gate.v proc rename -top gate design -stash gate design -copy-from gold -as gold gold design -copy-from gate -as gate gate miter -equiv -make_assert -make_outcmp -flatten gold gate equiv sat -prove-asserts -seq 10 -show-public -verify -set-init-zero equiv #### Double loop (part-select, reset) ### design -reset read_verilog ./dynamic_part_select/reset_test.v proc rename -top gold design -stash gold read_verilog ./dynamic_part_select/reset_test_gate.v proc rename -top gate design -stash gate design -copy-from gold -as gold gold design -copy-from gate -as gate gate miter -equiv -make_assert -make_outcmp -flatten gold gate equiv sat -prove-asserts -seq 10 -show-public -verify -set-init-zero equiv ### Reversed part-select case ### design -reset read_verilog ./dynamic_part_select/reversed.v proc rename -top gold design -stash gold read_verilog ./dynamic_part_select/reversed_gate.v proc rename -top gate design -stash gate design -copy-from gold -as gold gold design -copy-from gate -as gate gate miter -equiv -make_assert -make_outcmp -flatten gold gate equiv sat -prove-asserts -seq 10 -show-public -verify -set-init-zero equiv ### Latches ## Issue 1990 design -reset read_verilog ./dynamic_part_select/latch_1990.v hierarchy -top latch_1990; prep; async2sync rename -top gold design -stash gold read_verilog ./dynamic_part_select/latch_1990_gate.v hierarchy -top latch_1990_gate; prep rename -top gate design -stash gate design -copy-from gold -as gold gold design -copy-from gate -as gate gate miter -equiv -make_assert -make_outcmp -flatten gold gate equiv sat -prove-asserts -show-public -verify -set-init-zero equiv ### ## Part select with obvious latch, expected to fail due comparison with old shift&mask AST transformation design -reset read_verilog ./dynamic_part_select/latch_002.v hierarchy -top latch_002; prep; async2sync rename -top gold design -stash gold read_verilog ./dynamic_part_select/latch_002_gate.v hierarchy -top latch_002_gate; prep; async2sync rename -top gate design -stash gate design -copy-from gold -as gold gold design -copy-from gate -as gate gate miter -equiv -make_assert -make_outcmp -flatten gold gate equiv sat -prove-asserts -seq 10 -show-public -falsify -set-init-zero equiv ## Part select + latch, with no shift&mask design -reset read_verilog ./dynamic_part_select/latch_002.v hierarchy -top latch_002; prep; async2sync rename -top gold design -stash gold read_verilog ./dynamic_part_select/latch_002_gate_good.v hierarchy -top latch_002_gate; prep; async2sync rename -top gate design -stash gate design -copy-from gold -as gold gold design -copy-from gate -as gate gate miter -equiv -make_assert -make_outcmp -flatten gold gate equiv sat -prove-asserts -seq 10 -show-public -verify -set-init-zero equiv