Simplify servant_arbiter

This commit is contained in:
Olof Kindgren 2019-10-24 13:24:09 +02:00
parent 4f32975989
commit 72e34ce795
2 changed files with 8 additions and 7 deletions

View file

@ -46,7 +46,6 @@ module servant
servant_arbiter servant_arbiter
(
.i_ibus_active (wb_cpu_ibus_cyc),
.i_wb_cpu_dbus_adr (wb_cpu_dbus_adr),
.i_wb_cpu_dbus_dat (wb_cpu_dbus_dat),
.i_wb_cpu_dbus_sel (wb_cpu_dbus_sel),

View file

@ -1,6 +1,8 @@
/* Arbitrates between dbus and ibus accesses.
* Relies on the fact that not both masters are active at the same time
*/
module servant_arbiter
(
input wire i_ibus_active,
input wire [31:0] i_wb_cpu_dbus_adr,
input wire [31:0] i_wb_cpu_dbus_dat,
input wire [3:0] i_wb_cpu_dbus_sel,
@ -23,15 +25,15 @@ module servant_arbiter
input wire i_wb_cpu_ack);
assign o_wb_cpu_dbus_rdt = i_wb_cpu_rdt;
assign o_wb_cpu_dbus_ack = i_wb_cpu_ack & !i_ibus_active;
assign o_wb_cpu_dbus_ack = i_wb_cpu_ack & !i_wb_cpu_ibus_cyc;
assign o_wb_cpu_ibus_rdt = i_wb_cpu_rdt;
assign o_wb_cpu_ibus_ack = i_wb_cpu_ack & i_ibus_active;
assign o_wb_cpu_ibus_ack = i_wb_cpu_ack & i_wb_cpu_ibus_cyc;
assign o_wb_cpu_adr = i_ibus_active ? i_wb_cpu_ibus_adr : i_wb_cpu_dbus_adr;
assign o_wb_cpu_adr = i_wb_cpu_ibus_cyc ? i_wb_cpu_ibus_adr : i_wb_cpu_dbus_adr;
assign o_wb_cpu_dat = i_wb_cpu_dbus_dat;
assign o_wb_cpu_sel = i_wb_cpu_dbus_sel;
assign o_wb_cpu_we = i_wb_cpu_dbus_we & !i_ibus_active;
assign o_wb_cpu_cyc = i_ibus_active ? i_wb_cpu_ibus_cyc : i_wb_cpu_dbus_cyc;
assign o_wb_cpu_we = i_wb_cpu_dbus_we & !i_wb_cpu_ibus_cyc;
assign o_wb_cpu_cyc = i_wb_cpu_ibus_cyc | i_wb_cpu_dbus_cyc;
endmodule