iverilog/ivtest/ivltests/port-test3.v

49 lines
1.1 KiB
Verilog

/***********************************************************************
Incorrect direction non-detection test case
Copyright (C) 2001 Eric LaForest, ecl@pet.dhs.org
Licenced under GPL
***********************************************************************/
module CPU (data, address, rw, clock, reset);
inout [15:0] data;
output [15:0] address;
// This should be an output really....
input rw;
input clock, reset;
reg [15:0] data, address; // XXX error on data
reg rw; // error on rw
// I presume these should not be allowed to occur....
always @(posedge clock) begin
rw <= 1'b1;
end
always @(negedge clock) begin
rw <= 1'b0;
end
endmodule
module BENCH ();
reg [15:0] address, data;
reg rw, clock, reset;
CPU fm (address, data, rw, clock, reset);
initial begin
clock <= 0;
reset <= 1;
#1000;
$finish;
end
always begin
# 10 clock <= ~clock;
end
endmodule