mirror of
https://github.com/YosysHQ/yosys
synced 2025-04-24 01:25:33 +00:00
Added $anyconst support to yosys-smtbmc
This commit is contained in:
parent
6f41e5277d
commit
aa25a4cec6
7 changed files with 58 additions and 2 deletions
3
examples/smtbmc/.gitignore
vendored
3
examples/smtbmc/.gitignore
vendored
|
@ -13,3 +13,6 @@ demo3.yslog
|
|||
demo4.smt2
|
||||
demo4.vcd
|
||||
demo4.yslog
|
||||
demo5.smt2
|
||||
demo5.vcd
|
||||
demo5.yslog
|
||||
|
|
|
@ -16,6 +16,9 @@ demo3: demo3.smt2
|
|||
demo4: demo4.smt2
|
||||
yosys-smtbmc -s yices --dump-vcd demo4.vcd --smtc demo4.smtc demo4.smt2
|
||||
|
||||
demo5: demo5.smt2
|
||||
yosys-smtbmc -g -t 50 --dump-vcd demo5.vcd demo5.smt2
|
||||
|
||||
demo1.smt2: demo1.v
|
||||
yosys -ql demo1.yslog -p 'read_verilog -formal demo1.v; prep -top demo1 -nordff; write_smt2 -wires demo1.smt2'
|
||||
|
||||
|
@ -28,11 +31,15 @@ demo3.smt2: demo3.v
|
|||
demo4.smt2: demo4.v
|
||||
yosys -ql demo4.yslog -p 'read_verilog -formal demo4.v; prep -top demo4 -nordff; write_smt2 -wires demo4.smt2'
|
||||
|
||||
demo5.smt2: demo5.v
|
||||
yosys -ql demo5.yslog -p 'read_verilog -formal demo5.v; prep -top demo5 -nordff; write_smt2 -wires demo5.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
|
||||
rm -f demo3.yslog demo3.smt2 demo3.vcd
|
||||
rm -f demo4.yslog demo4.smt2 demo4.vcd
|
||||
rm -f demo5.yslog demo5.smt2 demo5.vcd
|
||||
|
||||
.PHONY: demo1 demo2 demo3 demo4 clean
|
||||
.PHONY: demo1 demo2 demo3 demo4 demo5 clean
|
||||
|
||||
|
|
18
examples/smtbmc/demo5.v
Normal file
18
examples/smtbmc/demo5.v
Normal file
|
@ -0,0 +1,18 @@
|
|||
// Demo for $anyconst
|
||||
|
||||
module demo5 (input clk);
|
||||
wire [7:0] step_size = $anyconst;
|
||||
reg [7:0] state = 0, count = 0;
|
||||
reg [31:0] hash = 0;
|
||||
|
||||
always @(posedge clk) begin
|
||||
count <= count + 1;
|
||||
hash <= ((hash << 5) + hash) ^ state;
|
||||
state <= state + step_size;
|
||||
end
|
||||
|
||||
always @* begin
|
||||
if (count == 42)
|
||||
assert(hash == 32'h A18FAC0A);
|
||||
end
|
||||
endmodule
|
Loading…
Add table
Add a link
Reference in a new issue