// // Author: Pawel Szostek (pawel.szostek@cern.ch) // Date: 01.08.2011 `timescale 1ns/1ps module dummy_v( input [7:0] in, output reg [7:0] out); assign out = {in[7], 7'b1111111}; //there is no equivalent to vhdl's `others' endmodule module stimulus (output reg [7:0] a); parameter S = 20000; int unsigned j,i; initial begin for(i=0; i= 10) ret = 1'b1; else if(temp >= 4) ret = 1'b0; else if(temp >= 2) ret = 1'bx; else ret = 1'b0; inject = ret; end endfunction endmodule module main; wire [7:0] i,o; wire [7:0] veri; dummy dummy_vhdl(i,o); dummy_v dummy_verilog(i, veri); stimulus stim(i); always @(i) begin #1; if(o != veri) begin $display("ERROR!"); $display("VERILOG: ", veri); $display("VHDL: ", o); $stop; end end initial begin #12000; #10; $display("PASSED"); //stop; end endmodule