tests: Test $countones on other simulators
This commit is contained in:
parent
bedf946fb2
commit
a2490a55a9
|
|
@ -7,8 +7,6 @@ if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); di
|
||||||
# Lesser General Public License Version 3 or the Perl Artistic License
|
# Lesser General Public License Version 3 or the Perl Artistic License
|
||||||
# Version 2.0.
|
# Version 2.0.
|
||||||
|
|
||||||
$Self->{vlt} or $Self->skip("Verilator only test");
|
|
||||||
|
|
||||||
compile (
|
compile (
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ module t (/*AUTOARG*/
|
||||||
reg wo;
|
reg wo;
|
||||||
reg w0;
|
reg w0;
|
||||||
|
|
||||||
always_comb @* begin
|
always @* begin
|
||||||
lc = $countones(l);
|
lc = $countones(l);
|
||||||
lo = $onehot(l);
|
lo = $onehot(l);
|
||||||
l0 = $onehot0(l);
|
l0 = $onehot0(l);
|
||||||
|
|
@ -36,11 +36,23 @@ module t (/*AUTOARG*/
|
||||||
end
|
end
|
||||||
|
|
||||||
integer cyc; initial cyc=1;
|
integer cyc; initial cyc=1;
|
||||||
|
integer cyc_com;
|
||||||
|
always_comb begin
|
||||||
|
cyc_com = cyc;
|
||||||
|
end
|
||||||
|
|
||||||
|
integer cyc_d1;
|
||||||
always_ff @ (posedge clk) begin
|
always_ff @ (posedge clk) begin
|
||||||
|
cyc_d1 <= cyc_com;
|
||||||
|
end
|
||||||
|
|
||||||
|
always @ (posedge clk) begin
|
||||||
if (cyc!=0) begin
|
if (cyc!=0) begin
|
||||||
cyc <= cyc + 1;
|
cyc <= cyc + 1;
|
||||||
//$write("%d %x %d %x %x %x %d %x %x %x %d %x %x\n",
|
//$write("%d %x %d %x %x %x %d %x %x %x %d %x %x\n",
|
||||||
// cyc, l, lc, lo, l0, q,qc,qo,q0, w,wc,wo,w0);
|
// cyc, l, lc, lo, l0, q,qc,qo,q0, w,wc,wo,w0);
|
||||||
|
if (cyc_com != cyc_com) $stop;
|
||||||
|
if (cyc_d1 != cyc-1) $stop;
|
||||||
if (cyc==0) begin
|
if (cyc==0) begin
|
||||||
// Constification check
|
// Constification check
|
||||||
if ($countones(32'b11001011101) != 7) $stop;
|
if ($countones(32'b11001011101) != 7) $stop;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue