verilator/test_regress/t/t_psl_basic.v
Wilson Snyder 52912c6329 Convert repository to git from svn.
- Change .cvsignore to .gitignore
- Remove Id metacomments
- Cleanup whitespace at end of lines
2008-06-09 21:25:10 -04:00

55 lines
1.4 KiB
Verilog

// DESCRIPTION: Verilator: Verilog Test module
//
// This file ONLY is placed into the Public Domain, for any use,
// without warranty, 2005 by Wilson Snyder.
module t (/*AUTOARG*/
// Inputs
clk
);
input clk;
reg toggle;
integer cyc; initial cyc=1;
wire [7:0] cyc_copy = cyc[7:0];
// psl cover {cyc==3 || cyc==4} @ (posedge clk);
// psl assert {cyc<100} @ (posedge clk) report "AssertionFalse1";
`ifdef FAILING_ASSERTIONS
// psl assert {toggle} @ (posedge clk) report "AssertionShouldFail";
`endif
// psl default clock = negedge clk;
//FIX // psl assert always {cyc<99};
// psl cover {cyc==9} report "DefaultClock,expect=1";
// psl assert {(cyc==5)->toggle};
// psl cover {(cyc==5)->toggle} report "ToggleLogIf,expect=1";
`ifdef NOT_SUP
// psl assert {toggle<->cyc[0]};
// psl cover {toggle<->cyc[0]} report "CycsLogIff,expect=10";
`endif
// Test {{..}} == Sequence of sequence...
// psl assert {{true}};
always @ (negedge clk) begin
//if (!(cyc==5) || toggle) $write("%d: %s\n", cyc, "ToggleLogIf,expect=1");
//if (toggle&&cyc[0] || ~toggle&&~cyc[0]) $write("%d: %s\n", cyc, "CycsLogIff,expect=10");
end
always @ (posedge clk) begin
if (cyc!=0) begin
cyc <= cyc + 1;
toggle <= !cyc[0];
if (cyc==10) begin
$write("*-* All Finished *-*\n");
$finish;
end
end
end
endmodule