| /*********************************************************************** |
| |
| 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 |