Tests: Verilog format; rename test

This commit is contained in:
Wilson Snyder 2026-02-28 18:19:34 -05:00
parent 2e351651cb
commit 230ce772c2
4 changed files with 46 additions and 44 deletions

View File

@ -6,12 +6,12 @@
module t;
logic [15:0] foo [8];
logic [15:0] foo[8];
initial begin
if (foo[1] != foo[1]) $stop;
$write("*-* All Finished *-*\n");
$finish;
end
initial begin
if (foo[1] != foo[1]) $stop;
$write("*-* All Finished *-*\n");
$finish;
end
endmodule

View File

@ -5,51 +5,53 @@
// or the Perl Artistic License Version 2.0.
// SPDX-FileCopyrightText: 2026 Wilson Snyder
// SPDX-License-Identifier: LGPL-3.0-only OR Artistic-2.0
interface cpu_if(input logic clk);
interface cpu_if (
input logic clk
);
endinterface
package p;
virtual class WriterIf;
virtual function void write(input int t);
endfunction
endclass
virtual class WriterIf;
virtual function void write(input int t);
endfunction
endclass
class BlockingWriter;
virtual cpu_if vif;
task write(int t);
@(posedge vif.clk);
endtask
endclass
class BlockingWriter;
virtual cpu_if vif;
task write(int t);
@(posedge vif.clk);
endtask
endclass
class WriterAdapter extends WriterIf;
BlockingWriter m_impl;
function new(BlockingWriter impl);
m_impl = impl;
endfunction
function void write(input int t);
m_impl.write(t); // function -> task path
endfunction
endclass
class WriterAdapter extends WriterIf;
BlockingWriter m_impl;
function new(BlockingWriter impl);
m_impl = impl;
endfunction
function void write(input int t);
m_impl.write(t); // function -> task path
endfunction
endclass
class QueueLike;
WriterIf sink;
mailbox #(int) m;
function bit try_get(output int t);
if (!m.try_get(t)) begin
end
sink.write(t); // can become coroutine call
endfunction
endclass
class QueueLike;
WriterIf sink;
mailbox #(int) m;
function bit try_get(output int t);
if (!m.try_get(t)) begin
end
sink.write(t); // can become coroutine call
endfunction
endclass
class DriverLike;
QueueLike reqq;
function void item_done();
int t;
if (reqq.try_get(t) == 0) begin
end
endfunction
endclass
class DriverLike;
QueueLike reqq;
function void item_done();
int t;
if (reqq.try_get(t) == 0) begin
end
endfunction
endclass
endpackage
@ -57,7 +59,7 @@ module t;
import p::*;
logic clk = 0;
cpu_if vif(clk);
cpu_if vif (clk);
always #1 clk = ~clk;