268 lines
15 KiB
Systemverilog
268 lines
15 KiB
Systemverilog
// Generated by CIRCT firtool-1.151.0
|
|
module TLDebugModuleOuterAsync(
|
|
output [2:0] auto_asource_out_a_mem_0_opcode,
|
|
output [8:0] auto_asource_out_a_mem_0_address,
|
|
output [31:0] auto_asource_out_a_mem_0_data,
|
|
input auto_asource_out_a_ridx,
|
|
output auto_asource_out_a_widx,
|
|
input auto_asource_out_a_safe_ridx_valid,
|
|
output auto_asource_out_a_safe_widx_valid,
|
|
auto_asource_out_a_safe_source_reset_n,
|
|
input auto_asource_out_a_safe_sink_reset_n,
|
|
input [2:0] auto_asource_out_d_mem_0_opcode,
|
|
input [1:0] auto_asource_out_d_mem_0_size,
|
|
input auto_asource_out_d_mem_0_source,
|
|
input [31:0] auto_asource_out_d_mem_0_data,
|
|
output auto_asource_out_d_ridx,
|
|
input auto_asource_out_d_widx,
|
|
output auto_asource_out_d_safe_ridx_valid,
|
|
input auto_asource_out_d_safe_widx_valid,
|
|
auto_asource_out_d_safe_source_reset_n,
|
|
output auto_asource_out_d_safe_sink_reset_n,
|
|
auto_int_out_sync_0,
|
|
input io_dmi_clock,
|
|
io_dmi_reset,
|
|
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,
|
|
output io_ctrl_ndreset,
|
|
io_ctrl_dmactive,
|
|
input io_ctrl_dmactiveAck,
|
|
output io_innerCtrl_mem_0_resumereq,
|
|
output [9:0] io_innerCtrl_mem_0_hartsel,
|
|
output io_innerCtrl_mem_0_ackhavereset,
|
|
io_innerCtrl_mem_0_hrmask_0,
|
|
input io_innerCtrl_ridx,
|
|
output io_innerCtrl_widx,
|
|
input io_innerCtrl_safe_ridx_valid,
|
|
output io_innerCtrl_safe_widx_valid,
|
|
io_innerCtrl_safe_source_reset_n,
|
|
input io_innerCtrl_safe_sink_reset_n,
|
|
io_hgDebugInt_0
|
|
);
|
|
|
|
wire _io_innerCtrl_source_io_enq_ready;
|
|
wire _dmactiveAck_dmactiveAckSync_io_q;
|
|
wire _asource_auto_in_a_ready;
|
|
wire _asource_auto_in_d_valid;
|
|
wire [2:0] _asource_auto_in_d_bits_opcode;
|
|
wire _asource_auto_in_d_bits_denied;
|
|
wire [31:0] _asource_auto_in_d_bits_data;
|
|
wire _asource_auto_in_d_bits_corrupt;
|
|
wire _dmiBypass_auto_node_out_out_a_valid;
|
|
wire [2:0] _dmiBypass_auto_node_out_out_a_bits_opcode;
|
|
wire [8:0] _dmiBypass_auto_node_out_out_a_bits_address;
|
|
wire [31:0] _dmiBypass_auto_node_out_out_a_bits_data;
|
|
wire _dmiBypass_auto_node_out_out_d_ready;
|
|
wire _dmiBypass_auto_node_in_in_a_ready;
|
|
wire _dmiBypass_auto_node_in_in_d_valid;
|
|
wire _dmiBypass_auto_node_in_in_d_bits_denied;
|
|
wire [31:0] _dmiBypass_auto_node_in_in_d_bits_data;
|
|
wire _dmiBypass_auto_node_in_in_d_bits_corrupt;
|
|
wire _dmOuter_auto_dmi_in_a_ready;
|
|
wire _dmOuter_auto_dmi_in_d_valid;
|
|
wire [31:0] _dmOuter_auto_dmi_in_d_bits_data;
|
|
wire _dmOuter_auto_int_out_0;
|
|
wire _dmOuter_io_ctrl_dmactive;
|
|
wire _dmOuter_io_innerCtrl_valid;
|
|
wire _dmOuter_io_innerCtrl_bits_resumereq;
|
|
wire [9:0] _dmOuter_io_innerCtrl_bits_hartsel;
|
|
wire _dmOuter_io_innerCtrl_bits_ackhavereset;
|
|
wire _dmOuter_io_innerCtrl_bits_hrmask_0;
|
|
wire _dmi2tl_auto_out_a_valid;
|
|
wire [2:0] _dmi2tl_auto_out_a_bits_opcode;
|
|
wire [8:0] _dmi2tl_auto_out_a_bits_address;
|
|
wire [31:0] _dmi2tl_auto_out_a_bits_data;
|
|
wire _dmi2tl_auto_out_d_ready;
|
|
wire _dmiXbar_auto_anon_in_a_ready;
|
|
wire _dmiXbar_auto_anon_in_d_valid;
|
|
wire _dmiXbar_auto_anon_in_d_bits_denied;
|
|
wire [31:0] _dmiXbar_auto_anon_in_d_bits_data;
|
|
wire _dmiXbar_auto_anon_in_d_bits_corrupt;
|
|
wire _dmiXbar_auto_anon_out_1_a_valid;
|
|
wire [2:0] _dmiXbar_auto_anon_out_1_a_bits_opcode;
|
|
wire [6:0] _dmiXbar_auto_anon_out_1_a_bits_address;
|
|
wire [31:0] _dmiXbar_auto_anon_out_1_a_bits_data;
|
|
wire _dmiXbar_auto_anon_out_1_d_ready;
|
|
wire _dmiXbar_auto_anon_out_0_a_valid;
|
|
wire [2:0] _dmiXbar_auto_anon_out_0_a_bits_opcode;
|
|
wire [8:0] _dmiXbar_auto_anon_out_0_a_bits_address;
|
|
wire [31:0] _dmiXbar_auto_anon_out_0_a_bits_data;
|
|
wire _dmiXbar_auto_anon_out_0_d_ready;
|
|
TLXbar_dmixbar_i1_o2_a9d32s1k1z2u dmiXbar (
|
|
.clock (io_dmi_clock),
|
|
.reset (io_dmi_reset),
|
|
.auto_anon_in_a_ready (_dmiXbar_auto_anon_in_a_ready),
|
|
.auto_anon_in_a_valid (_dmi2tl_auto_out_a_valid),
|
|
.auto_anon_in_a_bits_opcode (_dmi2tl_auto_out_a_bits_opcode),
|
|
.auto_anon_in_a_bits_address (_dmi2tl_auto_out_a_bits_address),
|
|
.auto_anon_in_a_bits_data (_dmi2tl_auto_out_a_bits_data),
|
|
.auto_anon_in_d_ready (_dmi2tl_auto_out_d_ready),
|
|
.auto_anon_in_d_valid (_dmiXbar_auto_anon_in_d_valid),
|
|
.auto_anon_in_d_bits_denied (_dmiXbar_auto_anon_in_d_bits_denied),
|
|
.auto_anon_in_d_bits_data (_dmiXbar_auto_anon_in_d_bits_data),
|
|
.auto_anon_in_d_bits_corrupt (_dmiXbar_auto_anon_in_d_bits_corrupt),
|
|
.auto_anon_out_1_a_ready (_dmOuter_auto_dmi_in_a_ready),
|
|
.auto_anon_out_1_a_valid (_dmiXbar_auto_anon_out_1_a_valid),
|
|
.auto_anon_out_1_a_bits_opcode (_dmiXbar_auto_anon_out_1_a_bits_opcode),
|
|
.auto_anon_out_1_a_bits_address (_dmiXbar_auto_anon_out_1_a_bits_address),
|
|
.auto_anon_out_1_a_bits_data (_dmiXbar_auto_anon_out_1_a_bits_data),
|
|
.auto_anon_out_1_d_ready (_dmiXbar_auto_anon_out_1_d_ready),
|
|
.auto_anon_out_1_d_valid (_dmOuter_auto_dmi_in_d_valid),
|
|
.auto_anon_out_1_d_bits_data (_dmOuter_auto_dmi_in_d_bits_data),
|
|
.auto_anon_out_0_a_ready (_dmiBypass_auto_node_in_in_a_ready),
|
|
.auto_anon_out_0_a_valid (_dmiXbar_auto_anon_out_0_a_valid),
|
|
.auto_anon_out_0_a_bits_opcode (_dmiXbar_auto_anon_out_0_a_bits_opcode),
|
|
.auto_anon_out_0_a_bits_address (_dmiXbar_auto_anon_out_0_a_bits_address),
|
|
.auto_anon_out_0_a_bits_data (_dmiXbar_auto_anon_out_0_a_bits_data),
|
|
.auto_anon_out_0_d_ready (_dmiXbar_auto_anon_out_0_d_ready),
|
|
.auto_anon_out_0_d_valid (_dmiBypass_auto_node_in_in_d_valid),
|
|
.auto_anon_out_0_d_bits_denied (_dmiBypass_auto_node_in_in_d_bits_denied),
|
|
.auto_anon_out_0_d_bits_data (_dmiBypass_auto_node_in_in_d_bits_data),
|
|
.auto_anon_out_0_d_bits_corrupt (_dmiBypass_auto_node_in_in_d_bits_corrupt)
|
|
);
|
|
DMIToTL dmi2tl (
|
|
.auto_out_a_ready (_dmiXbar_auto_anon_in_a_ready),
|
|
.auto_out_a_valid (_dmi2tl_auto_out_a_valid),
|
|
.auto_out_a_bits_opcode (_dmi2tl_auto_out_a_bits_opcode),
|
|
.auto_out_a_bits_address (_dmi2tl_auto_out_a_bits_address),
|
|
.auto_out_a_bits_data (_dmi2tl_auto_out_a_bits_data),
|
|
.auto_out_d_ready (_dmi2tl_auto_out_d_ready),
|
|
.auto_out_d_valid (_dmiXbar_auto_anon_in_d_valid),
|
|
.auto_out_d_bits_denied (_dmiXbar_auto_anon_in_d_bits_denied),
|
|
.auto_out_d_bits_data (_dmiXbar_auto_anon_in_d_bits_data),
|
|
.auto_out_d_bits_corrupt (_dmiXbar_auto_anon_in_d_bits_corrupt),
|
|
.io_dmi_req_ready (io_dmi_req_ready),
|
|
.io_dmi_req_valid (io_dmi_req_valid),
|
|
.io_dmi_req_bits_addr (io_dmi_req_bits_addr),
|
|
.io_dmi_req_bits_data (io_dmi_req_bits_data),
|
|
.io_dmi_req_bits_op (io_dmi_req_bits_op),
|
|
.io_dmi_resp_ready (io_dmi_resp_ready),
|
|
.io_dmi_resp_valid (io_dmi_resp_valid),
|
|
.io_dmi_resp_bits_data (io_dmi_resp_bits_data),
|
|
.io_dmi_resp_bits_resp (io_dmi_resp_bits_resp)
|
|
);
|
|
TLDebugModuleOuter dmOuter (
|
|
.clock (io_dmi_clock),
|
|
.reset (io_dmi_reset),
|
|
.auto_dmi_in_a_ready (_dmOuter_auto_dmi_in_a_ready),
|
|
.auto_dmi_in_a_valid (_dmiXbar_auto_anon_out_1_a_valid),
|
|
.auto_dmi_in_a_bits_opcode (_dmiXbar_auto_anon_out_1_a_bits_opcode),
|
|
.auto_dmi_in_a_bits_address (_dmiXbar_auto_anon_out_1_a_bits_address),
|
|
.auto_dmi_in_a_bits_data (_dmiXbar_auto_anon_out_1_a_bits_data),
|
|
.auto_dmi_in_d_ready (_dmiXbar_auto_anon_out_1_d_ready),
|
|
.auto_dmi_in_d_valid (_dmOuter_auto_dmi_in_d_valid),
|
|
.auto_dmi_in_d_bits_data (_dmOuter_auto_dmi_in_d_bits_data),
|
|
.auto_int_out_0 (_dmOuter_auto_int_out_0),
|
|
.io_ctrl_ndreset (io_ctrl_ndreset),
|
|
.io_ctrl_dmactive (_dmOuter_io_ctrl_dmactive),
|
|
.io_ctrl_dmactiveAck (_dmactiveAck_dmactiveAckSync_io_q),
|
|
.io_innerCtrl_ready (_io_innerCtrl_source_io_enq_ready),
|
|
.io_innerCtrl_valid (_dmOuter_io_innerCtrl_valid),
|
|
.io_innerCtrl_bits_resumereq (_dmOuter_io_innerCtrl_bits_resumereq),
|
|
.io_innerCtrl_bits_hartsel (_dmOuter_io_innerCtrl_bits_hartsel),
|
|
.io_innerCtrl_bits_ackhavereset (_dmOuter_io_innerCtrl_bits_ackhavereset),
|
|
.io_innerCtrl_bits_hrmask_0 (_dmOuter_io_innerCtrl_bits_hrmask_0),
|
|
.io_hgDebugInt_0 (io_hgDebugInt_0)
|
|
);
|
|
IntSyncCrossingSource_n1x1_Registered intsource (
|
|
.auto_in_0 (_dmOuter_auto_int_out_0),
|
|
.auto_out_sync_0 (auto_int_out_sync_0)
|
|
);
|
|
TLBusBypass dmiBypass (
|
|
.clock (io_dmi_clock),
|
|
.reset (io_dmi_reset),
|
|
.auto_node_out_out_a_ready (_asource_auto_in_a_ready),
|
|
.auto_node_out_out_a_valid (_dmiBypass_auto_node_out_out_a_valid),
|
|
.auto_node_out_out_a_bits_opcode (_dmiBypass_auto_node_out_out_a_bits_opcode),
|
|
.auto_node_out_out_a_bits_address (_dmiBypass_auto_node_out_out_a_bits_address),
|
|
.auto_node_out_out_a_bits_data (_dmiBypass_auto_node_out_out_a_bits_data),
|
|
.auto_node_out_out_d_ready (_dmiBypass_auto_node_out_out_d_ready),
|
|
.auto_node_out_out_d_valid (_asource_auto_in_d_valid),
|
|
.auto_node_out_out_d_bits_opcode (_asource_auto_in_d_bits_opcode),
|
|
.auto_node_out_out_d_bits_denied (_asource_auto_in_d_bits_denied),
|
|
.auto_node_out_out_d_bits_data (_asource_auto_in_d_bits_data),
|
|
.auto_node_out_out_d_bits_corrupt (_asource_auto_in_d_bits_corrupt),
|
|
.auto_node_in_in_a_ready (_dmiBypass_auto_node_in_in_a_ready),
|
|
.auto_node_in_in_a_valid (_dmiXbar_auto_anon_out_0_a_valid),
|
|
.auto_node_in_in_a_bits_opcode (_dmiXbar_auto_anon_out_0_a_bits_opcode),
|
|
.auto_node_in_in_a_bits_address (_dmiXbar_auto_anon_out_0_a_bits_address),
|
|
.auto_node_in_in_a_bits_data (_dmiXbar_auto_anon_out_0_a_bits_data),
|
|
.auto_node_in_in_d_ready (_dmiXbar_auto_anon_out_0_d_ready),
|
|
.auto_node_in_in_d_valid (_dmiBypass_auto_node_in_in_d_valid),
|
|
.auto_node_in_in_d_bits_denied (_dmiBypass_auto_node_in_in_d_bits_denied),
|
|
.auto_node_in_in_d_bits_data (_dmiBypass_auto_node_in_in_d_bits_data),
|
|
.auto_node_in_in_d_bits_corrupt (_dmiBypass_auto_node_in_in_d_bits_corrupt),
|
|
.io_bypass
|
|
(~_dmOuter_io_ctrl_dmactive | ~_dmactiveAck_dmactiveAckSync_io_q)
|
|
);
|
|
TLAsyncCrossingSource_a9d32s1k1z2u asource (
|
|
.clock (io_dmi_clock),
|
|
.reset (io_dmi_reset),
|
|
.auto_in_a_ready (_asource_auto_in_a_ready),
|
|
.auto_in_a_valid (_dmiBypass_auto_node_out_out_a_valid),
|
|
.auto_in_a_bits_opcode (_dmiBypass_auto_node_out_out_a_bits_opcode),
|
|
.auto_in_a_bits_address (_dmiBypass_auto_node_out_out_a_bits_address),
|
|
.auto_in_a_bits_data (_dmiBypass_auto_node_out_out_a_bits_data),
|
|
.auto_in_d_ready (_dmiBypass_auto_node_out_out_d_ready),
|
|
.auto_in_d_valid (_asource_auto_in_d_valid),
|
|
.auto_in_d_bits_opcode (_asource_auto_in_d_bits_opcode),
|
|
.auto_in_d_bits_denied (_asource_auto_in_d_bits_denied),
|
|
.auto_in_d_bits_data (_asource_auto_in_d_bits_data),
|
|
.auto_in_d_bits_corrupt (_asource_auto_in_d_bits_corrupt),
|
|
.auto_out_a_mem_0_opcode (auto_asource_out_a_mem_0_opcode),
|
|
.auto_out_a_mem_0_address (auto_asource_out_a_mem_0_address),
|
|
.auto_out_a_mem_0_data (auto_asource_out_a_mem_0_data),
|
|
.auto_out_a_ridx (auto_asource_out_a_ridx),
|
|
.auto_out_a_widx (auto_asource_out_a_widx),
|
|
.auto_out_a_safe_ridx_valid (auto_asource_out_a_safe_ridx_valid),
|
|
.auto_out_a_safe_widx_valid (auto_asource_out_a_safe_widx_valid),
|
|
.auto_out_a_safe_source_reset_n (auto_asource_out_a_safe_source_reset_n),
|
|
.auto_out_a_safe_sink_reset_n (auto_asource_out_a_safe_sink_reset_n),
|
|
.auto_out_d_mem_0_opcode (auto_asource_out_d_mem_0_opcode),
|
|
.auto_out_d_mem_0_size (auto_asource_out_d_mem_0_size),
|
|
.auto_out_d_mem_0_source (auto_asource_out_d_mem_0_source),
|
|
.auto_out_d_mem_0_data (auto_asource_out_d_mem_0_data),
|
|
.auto_out_d_ridx (auto_asource_out_d_ridx),
|
|
.auto_out_d_widx (auto_asource_out_d_widx),
|
|
.auto_out_d_safe_ridx_valid (auto_asource_out_d_safe_ridx_valid),
|
|
.auto_out_d_safe_widx_valid (auto_asource_out_d_safe_widx_valid),
|
|
.auto_out_d_safe_source_reset_n (auto_asource_out_d_safe_source_reset_n),
|
|
.auto_out_d_safe_sink_reset_n (auto_asource_out_d_safe_sink_reset_n)
|
|
);
|
|
AsyncResetSynchronizerShiftReg_w1_d3_i0 dmactiveAck_dmactiveAckSync (
|
|
.clock (io_dmi_clock),
|
|
.reset (io_dmi_reset),
|
|
.io_d (io_ctrl_dmactiveAck),
|
|
.io_q (_dmactiveAck_dmactiveAckSync_io_q)
|
|
);
|
|
AsyncQueueSource_DebugInternalBundle io_innerCtrl_source (
|
|
.clock (io_dmi_clock),
|
|
.reset (io_dmi_reset),
|
|
.io_enq_ready (_io_innerCtrl_source_io_enq_ready),
|
|
.io_enq_valid (_dmOuter_io_innerCtrl_valid),
|
|
.io_enq_bits_resumereq (_dmOuter_io_innerCtrl_bits_resumereq),
|
|
.io_enq_bits_hartsel (_dmOuter_io_innerCtrl_bits_hartsel),
|
|
.io_enq_bits_ackhavereset (_dmOuter_io_innerCtrl_bits_ackhavereset),
|
|
.io_enq_bits_hrmask_0 (_dmOuter_io_innerCtrl_bits_hrmask_0),
|
|
.io_async_mem_0_resumereq (io_innerCtrl_mem_0_resumereq),
|
|
.io_async_mem_0_hartsel (io_innerCtrl_mem_0_hartsel),
|
|
.io_async_mem_0_ackhavereset (io_innerCtrl_mem_0_ackhavereset),
|
|
.io_async_mem_0_hrmask_0 (io_innerCtrl_mem_0_hrmask_0),
|
|
.io_async_ridx (io_innerCtrl_ridx),
|
|
.io_async_widx (io_innerCtrl_widx),
|
|
.io_async_safe_ridx_valid (io_innerCtrl_safe_ridx_valid),
|
|
.io_async_safe_widx_valid (io_innerCtrl_safe_widx_valid),
|
|
.io_async_safe_source_reset_n (io_innerCtrl_safe_source_reset_n),
|
|
.io_async_safe_sink_reset_n (io_innerCtrl_safe_sink_reset_n)
|
|
);
|
|
assign io_ctrl_dmactive = _dmOuter_io_ctrl_dmactive;
|
|
endmodule
|
|
|