Files
gps/hardware/generated/genesys2-soc-verilog/Arbiter4_DCacheDataReq.sv
T
2026-08-06 22:14:52 +03:00

43 lines
1.4 KiB
Systemverilog

// Generated by CIRCT firtool-1.151.0
module Arbiter4_DCacheDataReq(
input io_in_0_valid,
input [19:0] io_in_0_bits_addr,
input io_in_0_bits_write,
input [63:0] io_in_0_bits_wdata,
input [7:0] io_in_0_bits_eccMask,
output io_in_1_ready,
input io_in_1_valid,
input [19:0] io_in_1_bits_addr,
input io_in_1_bits_write,
input [63:0] io_in_1_bits_wdata,
input [7:0] io_in_1_bits_eccMask,
output io_in_3_ready,
input io_in_3_valid,
input [19:0] io_in_3_bits_addr,
input [63:0] io_in_3_bits_wdata,
output io_out_valid,
output [19:0] io_out_bits_addr,
output io_out_bits_write,
output [63:0] io_out_bits_wdata,
output [7:0] io_out_bits_eccMask
);
wire _grant_T = io_in_0_valid | io_in_1_valid;
assign io_in_1_ready = ~io_in_0_valid;
assign io_in_3_ready = ~_grant_T;
assign io_out_valid = _grant_T | io_in_3_valid;
assign io_out_bits_addr =
io_in_0_valid
? io_in_0_bits_addr
: io_in_1_valid ? io_in_1_bits_addr : io_in_3_bits_addr;
assign io_out_bits_write =
io_in_0_valid ? io_in_0_bits_write : io_in_1_valid & io_in_1_bits_write;
assign io_out_bits_wdata =
io_in_0_valid
? io_in_0_bits_wdata
: io_in_1_valid ? io_in_1_bits_wdata : io_in_3_bits_wdata;
assign io_out_bits_eccMask =
io_in_0_valid ? io_in_0_bits_eccMask : io_in_1_valid ? io_in_1_bits_eccMask : 8'hFF;
endmodule