37 lines
1.4 KiB
Systemverilog
37 lines
1.4 KiB
Systemverilog
// Generated by CIRCT firtool-1.151.0
|
|
module DMIToTL(
|
|
input auto_out_a_ready,
|
|
output auto_out_a_valid,
|
|
output [2:0] auto_out_a_bits_opcode,
|
|
output [8:0] auto_out_a_bits_address,
|
|
output [31:0] auto_out_a_bits_data,
|
|
output auto_out_d_ready,
|
|
input auto_out_d_valid,
|
|
auto_out_d_bits_denied,
|
|
input [31:0] auto_out_d_bits_data,
|
|
input auto_out_d_bits_corrupt,
|
|
output io_dmi_req_ready,
|
|
input io_dmi_req_valid,
|
|
input [6:0] io_dmi_req_bits_addr,
|
|
input [31:0] io_dmi_req_bits_data,
|
|
input [1:0] io_dmi_req_bits_op,
|
|
input io_dmi_resp_ready,
|
|
output io_dmi_resp_valid,
|
|
output [31:0] io_dmi_resp_bits_data,
|
|
output [1:0] io_dmi_resp_bits_resp
|
|
);
|
|
|
|
wire _GEN = io_dmi_req_bits_op == 2'h2;
|
|
wire _GEN_0 = io_dmi_req_bits_op == 2'h1;
|
|
assign auto_out_a_valid = io_dmi_req_valid;
|
|
assign auto_out_a_bits_opcode = _GEN ? 3'h0 : {_GEN_0, 2'h0};
|
|
assign auto_out_a_bits_address = _GEN | _GEN_0 ? {io_dmi_req_bits_addr, 2'h0} : 9'h48;
|
|
assign auto_out_a_bits_data = _GEN ? io_dmi_req_bits_data : 32'h0;
|
|
assign auto_out_d_ready = io_dmi_resp_ready;
|
|
assign io_dmi_req_ready = auto_out_a_ready;
|
|
assign io_dmi_resp_valid = auto_out_d_valid;
|
|
assign io_dmi_resp_bits_data = auto_out_d_bits_data;
|
|
assign io_dmi_resp_bits_resp = {1'h0, auto_out_d_bits_corrupt | auto_out_d_bits_denied};
|
|
endmodule
|
|
|