mirror of
https://github.com/YosysHQ/yosys
synced 2025-06-21 13:23:40 +00:00
83 lines
2.6 KiB
Text
83 lines
2.6 KiB
Text
read_rtlil mods.il
|
|
select -assert-count 7 w:*
|
|
select -assert-mod-count 3 =*
|
|
select -assert-count 4 c:*
|
|
design -stash base
|
|
|
|
# everything is removed by default
|
|
design -load base
|
|
bugpoint -suffix mods -yosys ../../yosys -command raise_error -expect-return 3
|
|
select -assert-count 1 w:*
|
|
select -assert-mod-count 1 =*
|
|
select -assert-none c:*
|
|
|
|
# don't remove wires
|
|
design -load base
|
|
bugpoint -suffix mods -yosys ../../yosys -command raise_error -expect-return 3 -modules -cells
|
|
select -assert-count 3 w:*
|
|
select -assert-mod-count 1 =*
|
|
select -assert-none c:*
|
|
|
|
# don't remove cells or their connections
|
|
design -load base
|
|
bugpoint -suffix mods -yosys ../../yosys -command raise_error -expect-return 3 -wires -modules
|
|
select -assert-count 5 w:*
|
|
select -assert-mod-count 1 =*
|
|
select -assert-count 4 c:*
|
|
|
|
# don't remove cells but do remove their connections
|
|
design -load base
|
|
bugpoint -suffix mods -yosys ../../yosys -command raise_error -expect-return 3 -wires -modules -connections
|
|
select -assert-count 1 w:*
|
|
select -assert-mod-count 1 =*
|
|
select -assert-count 4 c:*
|
|
|
|
# don't remove modules
|
|
design -load base
|
|
bugpoint -suffix mods -yosys ../../yosys -command raise_error -expect-return 3 -wires -cells
|
|
select -assert-count 1 w:*
|
|
select -assert-mod-count 3 =*
|
|
select -assert-none c:*
|
|
|
|
# can keep wires
|
|
design -load base
|
|
setattr -set bugpoint_keep 1 w:w_b
|
|
bugpoint -suffix mods -yosys ../../yosys -command raise_error -expect-return 3
|
|
select -assert-count 2 w:*
|
|
select -assert-mod-count 1 =*
|
|
select -assert-none c:*
|
|
|
|
# a wire with keep won't keep the cell/module containing it
|
|
design -load base
|
|
setattr -set bugpoint_keep 1 w:w_o
|
|
bugpoint -suffix mods -yosys ../../yosys -command raise_error -expect-return 3
|
|
select -assert-count 1 w:*
|
|
select -assert-mod-count 1 =*
|
|
select -assert-none c:*
|
|
|
|
# can keep cells (and do it without the associated module)
|
|
design -load base
|
|
setattr -set bugpoint_keep 1 c:c_a
|
|
bugpoint -suffix mods -yosys ../../yosys -command raise_error -expect-return 3
|
|
select -assert-count 1 w:*
|
|
select -assert-mod-count 1 =*
|
|
select -assert-count 1 c:*
|
|
|
|
# can keep modules
|
|
design -load base
|
|
setattr -mod -set bugpoint_keep 1 m_a
|
|
bugpoint -suffix mods -yosys ../../yosys -command raise_error -expect-return 3
|
|
select -assert-count 1 w:*
|
|
select -assert-mod-count 2 =*
|
|
select -assert-none c:*
|
|
|
|
# minimize to just the path connecting w_a and w_c
|
|
# which happens via w_b, w_i, w_o, m_a, c_a and c_b
|
|
write_file script.temp << EOF
|
|
select -assert-none w:w_a %co* w:w_c %ci* %i
|
|
EOF
|
|
design -load base
|
|
bugpoint -suffix mods -yosys ../../yosys -script script.temp -grep "Assertion failed"
|
|
select -assert-count 5 w:*
|
|
select -assert-mod-count 2 =*
|
|
select -assert-count 2 c:*
|