From de2f506644a8cdb339b95f14a272f96f862d37a6 Mon Sep 17 00:00:00 2001 From: Ethan Sifferman Date: Sat, 29 Jul 2023 00:21:31 -0700 Subject: [PATCH] improved test --- ivtest/ivltests/sv_argumentless_func.v | 45 ++++++++++++++++++++------ 1 file changed, 36 insertions(+), 9 deletions(-) diff --git a/ivtest/ivltests/sv_argumentless_func.v b/ivtest/ivltests/sv_argumentless_func.v index 858da97f0..6ca061900 100644 --- a/ivtest/ivltests/sv_argumentless_func.v +++ b/ivtest/ivltests/sv_argumentless_func.v @@ -2,23 +2,50 @@ module test; function automatic [7:0] test_func; - input _unused; - test_func = _unused; + test_func = 8'h1; endfunction -logic [7:0] test_assign; -assign test_assign = test_func(0); +logic [7:0] test_alwayscomb; +always_comb test_alwayscomb = test_func(); -wire [7:0] test_wire = test_func(0); +logic [7:0] test_alwaysff; +logic clk; +always_ff @(posedge clk) test_alwaysff <= test_func(); + +logic [7:0] test_assign; +assign test_assign = test_func(); + +wire [7:0] test_wire = test_func(); initial begin - if (test_assign !== test_func(0)) begin - $display("FAILED -- test_assign=%h, expect %h", test_assign, test_func(0)); + #1; + + if (test_func() !== 8'h1) begin + $display("FAILED -- test_func()=%h, expect %h", test_func(), 8'h1); $finish; end - if (test_wire !== test_func(0)) begin - $display("FAILED -- test_wire=%h, expect %h", test_wire, test_func(0)); + if (test_alwayscomb !== test_func()) begin + $display("FAILED -- test_alwayscomb=%h, expect %h", test_alwayscomb, test_func()); + $finish; + end + + if (test_assign !== test_func()) begin + $display("FAILED -- test_assign=%h, expect %h", test_assign, test_func()); + $finish; + end + + if (test_wire !== test_func()) begin + $display("FAILED -- test_wire=%h, expect %h", test_wire, test_func()); + $finish; + end + + clk = 0; + #1; + clk = 1; + #1; + if (test_alwaysff !== test_func()) begin + $display("FAILED -- test_alwaysff=%h, expect %h", test_alwaysff, test_func()); $finish; end