exposed pd lines
This commit is contained in:
parent
83ae6a4cc3
commit
10ecb7f55f
|
@ -56,17 +56,20 @@ REG_NCA, REG_NCW, REG_M>
|
||||||
|
|
||||||
defproc texel_core (avMx1of2<N_IN> in, out;
|
defproc texel_core (avMx1of2<N_IN> in, out;
|
||||||
Mx1of2<REG_NCW> reg_data[REG_M];
|
Mx1of2<REG_NCW> reg_data[REG_M];
|
||||||
|
|
||||||
a1of1 synapses[N_SYN_X * N_SYN_Y];
|
a1of1 synapses[N_SYN_X * N_SYN_Y];
|
||||||
a1of1 neurons[N_NRN_X * N_NRN_Y];
|
a1of1 neurons[N_NRN_X * N_NRN_Y];
|
||||||
|
|
||||||
|
a1of1 syn_pu[N_SYN_X]; // Channel to the synapse line end pull ups
|
||||||
|
a1of1 nrn_pd_x[N_NRN_X], nrn_pd_y[N_NRN_Y];
|
||||||
|
|
||||||
|
|
||||||
bool! nrn_mon_x[N_NRN_MON_X], nrn_mon_y[N_NRN_MON_Y];
|
bool! nrn_mon_x[N_NRN_MON_X], nrn_mon_y[N_NRN_MON_Y];
|
||||||
bool! syn_mon_x[N_SYN_MON_X], syn_mon_y[N_SYN_MON_Y];
|
bool! syn_mon_x[N_SYN_MON_X], syn_mon_y[N_SYN_MON_Y];
|
||||||
bool? syn_mon_AMZI[N_SYN_X * N_MON_AMZO_PER_SYN], nrn_mon_AMZI[N_NRN_X * N_MON_AMZO_PER_NRN];
|
bool? syn_mon_AMZI[N_SYN_X * N_MON_AMZO_PER_SYN], nrn_mon_AMZI[N_NRN_X * N_MON_AMZO_PER_NRN];
|
||||||
bool! syn_mon_AMZO[N_MON_AMZO_PER_SYN], nrn_mon_AMZO[N_MON_AMZO_PER_NRN];
|
bool! syn_mon_AMZO[N_MON_AMZO_PER_SYN], nrn_mon_AMZO[N_MON_AMZO_PER_NRN];
|
||||||
bool! syn_flags_EFO[N_FLAGS_PER_SYN], nrn_flags_EFO[N_FLAGS_PER_NRN];
|
bool! syn_flags_EFO[N_FLAGS_PER_SYN], nrn_flags_EFO[N_FLAGS_PER_NRN];
|
||||||
|
|
||||||
// bool? bd_dly_cfg[N_BD_DLY_CFG], bd_dly_cfg2[N_BD_DLY_CFG2];
|
|
||||||
// bool? loopback_en;
|
|
||||||
power supply;
|
power supply;
|
||||||
bool? reset_B){
|
bool? reset_B){
|
||||||
|
|
||||||
|
@ -94,6 +97,7 @@ defproc texel_core (avMx1of2<N_IN> in, out;
|
||||||
decoder_2d_hybrid<NC_SYN_X, NC_SYN_Y, N_SYN_X, N_SYN_Y, N_SYN_DLY_CFG> decoder(.in = fifo_dmx2dec.out,
|
decoder_2d_hybrid<NC_SYN_X, NC_SYN_Y, N_SYN_X, N_SYN_Y, N_SYN_DLY_CFG> decoder(.in = fifo_dmx2dec.out,
|
||||||
.hs_en = register.data[0].d[0].t, // Defaults to handshake disable
|
.hs_en = register.data[0].d[0].t, // Defaults to handshake disable
|
||||||
.ack_disable = register.data[1].d[2].t, // Defaults to ack enabled
|
.ack_disable = register.data[1].d[2].t, // Defaults to ack enabled
|
||||||
|
.to_pu = syn_pu,
|
||||||
.supply = supply, .reset_B = _reset_BX);
|
.supply = supply, .reset_B = _reset_BX);
|
||||||
INV_X1 dly_cfg_inverters[N_SYN_DLY_CFG];
|
INV_X1 dly_cfg_inverters[N_SYN_DLY_CFG];
|
||||||
(i:N_SYN_DLY_CFG:
|
(i:N_SYN_DLY_CFG:
|
||||||
|
@ -107,9 +111,7 @@ defproc texel_core (avMx1of2<N_IN> in, out;
|
||||||
decoder_2d_synapse_hs<N_SYN_X, N_SYN_Y> _synapses(
|
decoder_2d_synapse_hs<N_SYN_X, N_SYN_Y> _synapses(
|
||||||
.synapses = synapses,
|
.synapses = synapses,
|
||||||
.in_req_x = decoder.out_req_x, .in_req_y = decoder.out_req_y,
|
.in_req_x = decoder.out_req_x, .in_req_y = decoder.out_req_y,
|
||||||
.to_pu = decoder.to_pu,
|
.to_pu = syn_pu,
|
||||||
// .in_ackB_pullups = decoder.out_ackB_pullups,
|
|
||||||
// .out_req_x_pullups = decoder.in_req_x_pullups,
|
|
||||||
.out_ackB_decoder = decoder.in_ackB_decoder,
|
.out_ackB_decoder = decoder.in_ackB_decoder,
|
||||||
.supply = supply);
|
.supply = supply);
|
||||||
|
|
||||||
|
@ -117,14 +119,15 @@ defproc texel_core (avMx1of2<N_IN> in, out;
|
||||||
pint NC_NRN;
|
pint NC_NRN;
|
||||||
NC_NRN = NC_NRN_X + NC_NRN_Y;
|
NC_NRN = NC_NRN_X + NC_NRN_Y;
|
||||||
encoder2d_simple<NC_NRN_X, NC_NRN_Y, N_NRN_X, N_NRN_Y, N_LINE_PD_DLY> encoder(
|
encoder2d_simple<NC_NRN_X, NC_NRN_Y, N_NRN_X, N_NRN_Y, N_LINE_PD_DLY> encoder(
|
||||||
.reset_B = _reset_BX, .supply = supply);
|
.reset_B = _reset_BX, .supply = supply,
|
||||||
|
.to_pd_x = nrn_pd_x, .to_pd_y = nrn_pd_y);
|
||||||
fifo<NC_NRN, N_BUFFERS> fifo_enc2mrg(.in = encoder.out,
|
fifo<NC_NRN, N_BUFFERS> fifo_enc2mrg(.in = encoder.out,
|
||||||
.reset_B = _reset_BX, .supply = supply);
|
.reset_B = _reset_BX, .supply = supply);
|
||||||
|
|
||||||
// Neuron handshake circuits, to be removed for innovus
|
// Neuron handshake circuits, to be removed for innovus
|
||||||
nrn_hs_2d_array<N_NRN_X,N_NRN_Y> nrn_grid(.in = neurons,
|
nrn_hs_2d_array<N_NRN_X,N_NRN_Y> nrn_grid(.in = neurons,
|
||||||
.outx = encoder.inx, .outy = encoder.iny,
|
.outx = encoder.inx, .outy = encoder.iny,
|
||||||
.to_pd_x = encoder.to_pd_x, .to_pd_y = encoder.to_pd_y,
|
.to_pd_x = nrn_pd_x, .to_pd_y = nrn_pd_y,
|
||||||
.supply = supply, .reset_B = _reset_BX);
|
.supply = supply, .reset_B = _reset_BX);
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue