URL
https://opencores.org/ocsvn/oms8051mini/oms8051mini/trunk
Subversion Repositories oms8051mini
Compare Revisions
- This comparison shows the changes necessary to convert path
/oms8051mini/trunk/rtl/lib
- from Rev 2 to Rev 10
- ↔ Reverse comparison
Rev 2 → Rev 10
/wb_crossbar.v
254,7 → 254,7
reg [TAR_WD -1:0] slave_mx_id [WB_SLAVE-1:0]; |
|
reg [TAR_WD-1 :0] cur_target_id; |
wire [TAR_WD-1:0] wbd_taddr_master_t[WB_MASTER:0]; // target address from master |
wire [TAR_WD-1:0] wbd_taddr_master_t[WB_MASTER-1:0]; // target address from master |
wire [D_WD-1:0] wbd_din_master_t[WB_MASTER-1:0]; // target address from master |
reg [D_WD-1:0] wbd_dout_master_t[WB_MASTER-1:0]; // target address from master |
wire [ADR_WD-1:0] wbd_adr_master_t[WB_MASTER-1:0]; // target address from master |
353,27 → 353,29
|
always @(negedge rst_n or posedge clk) begin |
if(rst_n == 0) begin |
master_busy = 0; |
slave_busy = 0; |
cur_target_id = 0; |
|
end |
else begin |
master_busy <= 0; |
slave_busy <= 0; |
end else begin |
for(i = 0; i < WB_MASTER; i = i + 1) begin |
cur_target_id = wbd_taddr_master_t[i]; |
if(master_busy[i] == 0) begin |
if(wbd_stb_master[i] & slave_busy[cur_target_id] == 0) begin |
master_mx_id[i] <= cur_target_id; |
slave_mx_id [cur_target_id] = i; |
slave_busy[cur_target_id] = 1; |
master_busy[i] = 1; |
if(wbd_stb_master[i] & slave_busy[wbd_taddr_master_t[i]] == 0) begin |
master_mx_id[i] <= wbd_taddr_master_t[i]; |
slave_mx_id [wbd_taddr_master_t[i]] <= i; |
slave_busy[wbd_taddr_master_t[i]] <= 1; |
master_busy[i] <= 1; |
// synopsys translate_off |
// $display("%m:%t: Locking Master : %d with Slave : %d",$time,i,cur_target_id); |
// $display("%m:%t: Locking Master : %d with Slave : %d",$time,i,wbd_taddr_master_t[i]); |
// synopsys translate_on |
end |
end else if(wbd_cyc_master[i] == 0) begin |
master_busy[i] = 0; |
slave_busy[cur_target_id] = 0; |
if(master_busy[i] == 1) begin |
// synopsys translate_off |
// $display("%m:%t: Releasing Master : %d with Slave : %d",$time,i,wbd_taddr_master_t[i]); |
// synopsys translate_on |
end |
master_busy[i] <= 0; |
slave_busy[wbd_taddr_master_t[i]] <= 0; |
end |
end |
end |