blob: 6476ec0e861d1b9aea0c074b958965fb690526e1 [file] [log] [blame] [edit]
// From: Peter Monta <pmonta@pmonta.com>
// Subject: verilog: vvp bug, function or concat related?
// Message-Id: <20010726071414.1CEF41C5@www.pmonta.com>
// Date: Thu, 26 Jul 2001 00:14:14 -0700 (PDT)
module main();
function [7:0] f;
input [7:0] r;
f = {
r[0]^r[1]^r[2]^r[3]^r[7],
r[3]^r[6]^r[7],
r[2]^r[5]^r[6],
r[1]^r[4]^r[5]^r[7],
r[0]^r[3]^r[4]^r[6]^r[7],
r[0]^r[1]^r[5]^r[6],
r[1]^r[2]^r[3]^r[4]^r[5],
r[0]^r[1]^r[2]^r[3]^r[4] };
endfunction
reg [7:0] data_in;
reg [7:0] r;
reg start_in;
initial begin
data_in = 8'h23;
r = 0;
start_in = 0;
#2;
r <= #1 start_in ? 0 : f(data_in);
#2;
$display("%b",r);
if (r === 8'b00101100)
$display("PASSED");
else
$display("FAILED");
end
endmodule