3
0
Fork 0
mirror of https://github.com/YosysHQ/sby.git synced 2025-04-07 06:44:06 +00:00
sby/docs/examples/abstract/abstr.sv
Clifford Wolf 79b1ac9570 Minor improvements in docs/examples/abstract/abstr.sv
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2019-03-27 14:49:35 +01:00

20 lines
858 B
Systemverilog

module demo_counter_abstr (
input clock, reset,
input [19:0] counter
);
default clocking @(posedge clock); endclocking
default disable iff (reset);
// make sure the counter doesn't jump over any of the "magic values"
`demo_counter_abstr_mode property ((counter < 123456) |=> (counter <= 123456));
`demo_counter_abstr_mode property ((counter < 234567) |=> (counter <= 234567));
`demo_counter_abstr_mode property ((counter < 345678) |=> (counter <= 345678));
`demo_counter_abstr_mode property ((counter < 456789) |=> (counter <= 456789));
// strictly increasing, only allow overflow by visiting the max value
`demo_counter_abstr_mode property (counter != 20'hfffff |=> $past(counter) < counter);
`demo_counter_abstr_mode property (counter == 20'hfffff |=> counter == 20'h00000);
endmodule
bind demo demo_counter_abstr demo_counter_abstr_i (.*);