mirror of
https://github.com/YosysHQ/yosys
synced 2025-04-24 01:25:33 +00:00
yosys-smtbmc meminit support
This commit is contained in:
parent
209a3d9ffc
commit
14bfd3c5c1
4 changed files with 52 additions and 5 deletions
2
examples/smtbmc/.gitignore
vendored
2
examples/smtbmc/.gitignore
vendored
|
@ -18,3 +18,5 @@ demo5.vcd
|
|||
demo5.yslog
|
||||
demo6.smt2
|
||||
demo6.yslog
|
||||
demo7.smt2
|
||||
demo7.yslog
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
|
||||
all: demo1 demo2 demo3 demo4 demo5 demo6
|
||||
all: demo1 demo2 demo3 demo4 demo5 demo6 demo7
|
||||
|
||||
demo1: demo1.smt2
|
||||
yosys-smtbmc --dump-vcd demo1.vcd demo1.smt2
|
||||
|
@ -22,6 +22,9 @@ demo5: demo5.smt2
|
|||
demo6: demo6.smt2
|
||||
yosys-smtbmc -t 1 demo6.smt2
|
||||
|
||||
demo7: demo7.smt2
|
||||
yosys-smtbmc -t 10 demo7.smt2
|
||||
|
||||
demo1.smt2: demo1.v
|
||||
yosys -ql demo1.yslog -p 'read_verilog -formal demo1.v; prep -top demo1 -nordff; write_smt2 -wires demo1.smt2'
|
||||
|
||||
|
@ -40,6 +43,9 @@ demo5.smt2: demo5.v
|
|||
demo6.smt2: demo6.v
|
||||
yosys -ql demo6.yslog -p 'read_verilog demo6.v; prep -top demo6 -nordff; assertpmux; opt -keepdc -fast; write_smt2 -wires demo6.smt2'
|
||||
|
||||
demo7.smt2: demo7.v
|
||||
yosys -ql demo7.yslog -p 'read_verilog -formal demo7.v; prep -top demo7 -nordff; write_smt2 -wires demo7.smt2'
|
||||
|
||||
clean:
|
||||
rm -f demo1.yslog demo1.smt2 demo1.vcd
|
||||
rm -f demo2.yslog demo2.smt2 demo2.vcd demo2.smtc demo2_tb.v demo2_tb demo2_tb.vcd
|
||||
|
@ -47,6 +53,7 @@ clean:
|
|||
rm -f demo4.yslog demo4.smt2 demo4.vcd
|
||||
rm -f demo5.yslog demo5.smt2 demo5.vcd
|
||||
rm -f demo6.yslog demo6.smt2
|
||||
rm -f demo7.yslog demo7.smt2
|
||||
|
||||
.PHONY: demo1 demo2 demo3 demo4 demo5 demo6 clean
|
||||
.PHONY: demo1 demo2 demo3 demo4 demo5 demo6 demo7 clean
|
||||
|
||||
|
|
18
examples/smtbmc/demo7.v
Normal file
18
examples/smtbmc/demo7.v
Normal file
|
@ -0,0 +1,18 @@
|
|||
// Demo for memory initialization
|
||||
|
||||
module demo7 (input [2:0] addr);
|
||||
reg [15:0] memory [0:7];
|
||||
|
||||
initial begin
|
||||
memory[0] = 1331;
|
||||
memory[1] = 1331 + 1;
|
||||
memory[2] = 1331 + 2;
|
||||
memory[3] = 1331 + 4;
|
||||
memory[4] = 1331 + 8;
|
||||
memory[5] = 1331 + 16;
|
||||
memory[6] = 1331 + 32;
|
||||
memory[7] = 1331 + 64;
|
||||
end
|
||||
|
||||
assert property (1000 < memory[addr] && memory[addr] < 2000);
|
||||
endmodule
|
Loading…
Add table
Add a link
Reference in a new issue