file1: module pic_wrapper #( parameter ROM_HEX = "x" ) ( input clk, input reset, //I/O for the PIC input [15:0] gpio_in, output [15:0] gpio_out, //I/O for the master input [15:0] address, input [31:0] data_in, output reg [31:0] data_out, input wen, input ren, output ready ); //verilog endmodule; --------8<-------------------- file2: pic_wrapper #( .ROM_HEX("pic/rom_initial.hex") ) pic ( .clk(clk), .reset(rst), .gpio_in(pic_led), .gpio_out(led), .address(mem_addr), .data_in(mem_wdata), .data_out(pic_rdata), .wen(pic_select && mem_wstrb==4'b1111), .ren(pic_select && mem_wstrb==4'b0000), .ready(pic_ready) );