cross_trigger_network

Aggregate external CTPs, internal CTPs, the cross-trigger matrix, and an AXI-Lite CSR crossbar.

NUM_CTP external ports and NUM_INT_CT internal ports attach to the CTM. GPIO pad buses expose CT_Req_out/in and CT_Ack_in/out for each external CTP.

INT_CT_MODE selects the internal CTP protocol:

  • 0: simple pulse sync; acks are unused.
  • 1: req/ack four-phase handshaking per internal CTP.

CLA clock-stop requests OR-reduce into combinational cla_clock_stop_o and, together with the JTAG DEBUG_CONTROL clock stop, into stop_clks_o, synchronized and registered in clk_i.

Parameters

Table 1. Parameters
NameTypeDefaultDescription
NUM_CTPint unsignedDefaultNumCtpNumber of external CTPs, from 1 to 32. NUM_CTP + NUM_INT_CT must equal the NumCtSrc and NumCtDst of the generated cross-trigger matrix.
NUM_INT_CTint unsignedDefaultNumIntCtNumber of internal CTPs, at most 32.
NUM_CLK_STOP_REQint unsignedDefaultNumClkStopReqWidth of clk_stop_req_i; at least 1.
INT_CT_MODElogic [NUM_INT_CT-1:0]'0Mode of each internal CTP, one bit per CTP. 0 selects wire-OR pulse sync and 1 a point-to-point four-phase handshake.

Ports

Table 2. Ports
NameDirectionTypeDescription
clk_iinputlogicSystem clock; all CSRs, ports and the matrix run on it.
rst_niinputlogicActive-low asynchronous reset.
test_en_iinputlogicDFT test-mode enable, active-high, for the AXI-Lite CSR crossbar.
axil_req_iinputaxil_req_tAXI-Lite CSR subordinate request; the crossbar routes offset 0 to the CTM and the following windows to the external CTPs, one transaction at a time.
axil_resp_ooutputaxil_resp_tAXI-Lite CSR subordinate response.
clk_stop_req_iinputlogic [NUM_CLK_STOP_REQ-1:0]Clock stop requests from CLAs, active-high and asynchronous to clk_i.
jtag_clock_stop_iinputlogicJTAG DEBUG_CONTROL clock stop, active-high and asynchronous to clk_i.
stop_clks_ooutputlogicHalt, high when the JTAG or any CLA request is high; two-flop synchronized and registered in clk_i, low in reset.
cla_clock_stop_ooutputlogicCombinational OR of clk_stop_req_i, for JTAG status readback.
ctm_src_req_ooutputlogic [NUM_INT_CT-1:0]Cross-trigger requests from the CTM to internal CLA sinks; a stretched pulse in pulse-sync mode, a four-phase request level in handshake mode.
ctm_src_ack_iinputlogic [NUM_INT_CT-1:0]Acknowledges from internal CLA sinks for CTM-sourced requests, synchronized in the port; unused in pulse-sync mode.
ctm_dst_req_iinputlogic [NUM_INT_CT-1:0]Cross-trigger requests from internal CLA sources to the CTM, active-high and synchronized in the port.
ctm_dst_ack_ooutputlogic [NUM_INT_CT-1:0]Acknowledges to internal CLA sources for CTM-destined requests; low in pulse-sync mode.
ctp_req_out_dout_ooutputlogic [NUM_CTP-1:0]CT_Req_out pad output data, registered; in wire-OR mode a static low (high when inverted), with the pulse carried by the output enable; in point-to-point mode the handshake request, inverted when the port's invert bit is set.
ctp_req_out_dout_en_ooutputlogic [NUM_CTP-1:0]CT_Req_out pad output enables; follow the stretched outgoing pulse in wire-OR mode and stay high in point-to-point mode.
ctp_req_out_din_iinputlogic [NUM_CTP-1:0]CT_Req_out pad inputs, asynchronous; the shared trigger line sampled in wire-OR mode, unused in point-to-point mode.
ctp_req_out_din_en_ooutputlogic [NUM_CTP-1:0]CT_Req_out pad input enables; high in wire-OR mode, low in point-to-point mode.
ctp_req_in_dout_ooutputlogic [NUM_CTP-1:0]CT_Req_in pad output data; tied low because CT_Req_in is input-only.
ctp_req_in_dout_en_ooutputlogic [NUM_CTP-1:0]CT_Req_in pad output enables; tied low because CT_Req_in is input-only.
ctp_req_in_din_iinputlogic [NUM_CTP-1:0]CT_Req_in pad inputs, asynchronous; the incoming point-to-point request, unused in wire-OR mode.
ctp_req_in_din_en_ooutputlogic [NUM_CTP-1:0]CT_Req_in pad input enables; high in point-to-point mode, low in wire-OR mode.
ctp_ack_in_dout_ooutputlogic [NUM_CTP-1:0]CT_Ack_in pad output data; tied low because CT_Ack_in is input-only.
ctp_ack_in_dout_en_ooutputlogic [NUM_CTP-1:0]CT_Ack_in pad output enables; tied low because CT_Ack_in is input-only.
ctp_ack_in_din_iinputlogic [NUM_CTP-1:0]CT_Ack_in pad inputs, asynchronous; the acknowledge for the outgoing point-to-point request, unused in wire-OR mode.
ctp_ack_in_din_en_ooutputlogic [NUM_CTP-1:0]CT_Ack_in pad input enables; high in point-to-point mode, low in wire-OR mode.
ctp_ack_out_dout_ooutputlogic [NUM_CTP-1:0]CT_Ack_out pad output data, registered; the handshake acknowledge in point-to-point mode, inverted when the port's invert bit is set; low in wire-OR mode.
ctp_ack_out_dout_en_ooutputlogic [NUM_CTP-1:0]CT_Ack_out pad output enables; high in point-to-point mode, low in wire-OR mode.
ctp_ack_out_din_iinputlogic [NUM_CTP-1:0]CT_Ack_out pad inputs; unused because CT_Ack_out is output-only.
ctp_ack_out_din_en_ooutputlogic [NUM_CTP-1:0]CT_Ack_out pad input enables; tied low because CT_Ack_out is output-only.