.events_i(events_int),//how to parametrize this? new parameter on top or up to the programer that does the integration?
.quota_i(MCCU_quota_int),//One register per core
...
...
@@ -786,8 +816,31 @@
.interruption_quota_o(MCCU_int_o)//N_CORES output signals Add this to top or single toplevel interrupt and an interrupt vector that identifies the source?
// Individual interrupts allow each core to
// handle their own interrupts , therefore
// it seems to be te right solution.
);
//it seems to be te right solution.
);
//Request Duration Counter (RDC)
//TODO: events_int is not the group of signals you actually need
RCD#(
// Width of data registers
.DATA_WIDTH(MCCU_DATA_WIDTH),
// Width of weights registers
.WEIGHTS_WIDTH(MCCU_WEIGHTS_WIDTH),
//Cores.
.N_CORES(MCCU_N_CORES),
//Signals per core.
.CORE_EVENTS(MCCU_CORE_EVENTS)
)inst_RCD(
.clk_i(S_AXI_ACLK_i),
.rstn_i(S_AXI_ARESETN_i||MCCU_rstn_int),
.enable_i(MCCU_enable_int),// Software map
.events_i(events_int),//how to parametrize this? new parameter on top or up to the programer that does the integration?
.events_weights_i(MCCU_events_weights_int),//core_events times WEIGHTS_WIDTH registers
.interruption_rdc_o(intr_rdc_o),// interruption signaling a signal has exceed the expected maximum request time
.interruption_vector_rdc_o(intrv_rdc_int)// vector with offending
//signals. One hot encoding.
//Cleared when MCCU is disabled.
);
endelsebegin
//TODO: what happen if i is an integer instead of a genvar?