diff --git a/verilog/rtl/mprj_ctrl.v b/verilog/rtl/mprj_ctrl.v index 5ca05539d..e70ac93fa 100644 --- a/verilog/rtl/mprj_ctrl.v +++ b/verilog/rtl/mprj_ctrl.v @@ -124,7 +124,7 @@ module mprj_ctrl #( wire xfer_sel; wire busy; wire [`MPRJ_IO_PADS-1:0] io_ctrl_sel; - wire [31:0] iomem_rdata_pre; + reg [31:0] iomem_rdata_pre; wire [`MPRJ_IO_PADS-1:0] mgmt_gpio_in; @@ -165,23 +165,41 @@ module mprj_ctrl #( assign selected = xfer_sel || pwr_data_sel || (|io_data_sel) || (|io_ctrl_sel); - assign iomem_rdata_pre = (selected == 0) ? 'b0 : - (xfer_sel) ? {31'b0, busy} : - (pwr_data_sel) ? {{(32-`MPRJ_PWR_PADS){1'b0}}, - pwr_ctrl_out} : 'bz; - - generate - for (i=0; i