minor AlwaysKW coverage improvements

This commit is contained in:
Zachary Snow 2023-06-10 23:34:53 -04:00
parent 3db3fc0caf
commit aa429204ea
5 changed files with 25 additions and 10 deletions

View File

@ -212,7 +212,6 @@ ports = filter ((/= Local) . snd) . map port
port :: Decl -> PortDir
port (Variable d _ x _ _) = (x, d)
port (Net d _ _ _ x _ _) = (x, d)
port _ = ("", Local)
-- get a list of non-local variables referenced within a module item, and

View File

@ -1,6 +1,7 @@
`include "always_sense.vh"
module mod(
input wire inp1, inp2,
output reg out1, out2, out3, out4, out5, out6, out7, out8, out9, outA, outB
input wire `INPUTS,
output reg `OUTPUTS
);
localparam ZERO = 0;
@ -75,4 +76,10 @@ module mod(
endfunction
always_comb
outB = h(ZERO);
function automatic i;
input reg x; // ignored
i = s[ONE];
endfunction
always_comb
asgn(.i(i(ZERO)), .o(outC));
endmodule

View File

@ -1,6 +1,7 @@
`include "always_sense.vh"
module mod(
input wire inp1, inp2,
output reg out1, out2, out3, out4, out5, out6, out7, out8, out9, outA, outB
input wire `INPUTS,
output reg `OUTPUTS
);
localparam ZERO = 0;
@ -73,4 +74,10 @@ module mod(
endfunction
always @(s[0])
outB = h(ZERO);
function automatic i;
input reg x; // ignored
i = s[1];
endfunction
always @(s[1])
asgn(outC, i(ZERO));
endmodule

View File

@ -0,0 +1,2 @@
`define INPUTS inp1, inp2
`define OUTPUTS out1, out2, out3, out4, out5, out6, out7, out8, out9, outA, outB, outC

View File

@ -1,10 +1,10 @@
`include "always_sense.vh"
module top;
reg inp1, inp2;
wire out1, out2, out3, out4, out5, out6, out7, out8, out9, outA, outB;
mod m(inp1, inp2, out1, out2, out3, out4, out5, out6, out7, out8, out9, outA, outB);
reg `INPUTS;
wire `OUTPUTS;
mod m(`INPUTS, `OUTPUTS);
initial begin
$monitor(inp1, inp2,
out1, out2, out3, out4, out5, out6, out7, out8, out9, outA, outB);
$monitor(`INPUTS, `OUTPUTS);
repeat (2) begin
#1 inp1 = 0;
#1 inp2 = 0;