adjusted pull up channel names
This commit is contained in:
parent
bb63182694
commit
83ae6a4cc3
|
@ -52,7 +52,6 @@ N_MON_AMZO_PER_SYN, N_MON_AMZO_PER_NRN, // Number of signals that each synapse o
|
||||||
N_FLAGS_PER_SYN, N_FLAGS_PER_NRN, // Number of signals that each nrn/syn recieves from the register.
|
N_FLAGS_PER_SYN, N_FLAGS_PER_NRN, // Number of signals that each nrn/syn recieves from the register.
|
||||||
N_BUFFERS,
|
N_BUFFERS,
|
||||||
N_LINE_PD_DLY, // Number of dummy delays to add line pull down
|
N_LINE_PD_DLY, // Number of dummy delays to add line pull down
|
||||||
// N_BD_DLY_CFG, N_BD_DLY_CFG2,
|
|
||||||
REG_NCA, REG_NCW, REG_M>
|
REG_NCA, REG_NCW, REG_M>
|
||||||
|
|
||||||
defproc texel_core (avMx1of2<N_IN> in, out;
|
defproc texel_core (avMx1of2<N_IN> in, out;
|
||||||
|
@ -108,8 +107,9 @@ 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,
|
||||||
.in_ackB_pullups = decoder.out_ackB_pullups,
|
.to_pu = decoder.to_pu,
|
||||||
.out_req_x_pullups = decoder.in_req_x_pullups,
|
// .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);
|
||||||
|
|
||||||
|
@ -118,6 +118,8 @@ defproc texel_core (avMx1of2<N_IN> in, out;
|
||||||
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);
|
||||||
|
fifo<NC_NRN, N_BUFFERS> fifo_enc2mrg(.in = encoder.out,
|
||||||
|
.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,
|
||||||
|
@ -126,9 +128,6 @@ defproc texel_core (avMx1of2<N_IN> in, out;
|
||||||
.supply = supply, .reset_B = _reset_BX);
|
.supply = supply, .reset_B = _reset_BX);
|
||||||
|
|
||||||
|
|
||||||
fifo<NC_NRN, N_BUFFERS> fifo_enc2mrg(.in = encoder.out,
|
|
||||||
.reset_B = _reset_BX, .supply = supply);
|
|
||||||
|
|
||||||
|
|
||||||
// Merge
|
// Merge
|
||||||
append<NC_NRN, N_IN-NC_NRN, 0> append_enc(.in = fifo_enc2mrg.out, .supply = supply);
|
append<NC_NRN, N_IN-NC_NRN, 0> append_enc(.in = fifo_enc2mrg.out, .supply = supply);
|
||||||
|
|
|
@ -390,8 +390,7 @@ defproc decoder_2d_hs (avMx1of2<NxC+NyC> in; a1of1 out[Nx*Ny]; bool? reset_B; po
|
||||||
export template<pint Nx, Ny>
|
export template<pint Nx, Ny>
|
||||||
defproc decoder_2d_synapse_hs (bool? in_req_x[Nx], in_req_y[Ny]; a1of1 synapses[Nx*Ny];
|
defproc decoder_2d_synapse_hs (bool? in_req_x[Nx], in_req_y[Ny]; a1of1 synapses[Nx*Ny];
|
||||||
bool out_ackB_decoder[Nx];
|
bool out_ackB_decoder[Nx];
|
||||||
bool in_ackB_pullups[Nx];
|
a1of1 to_pu[Nx];
|
||||||
bool out_req_x_pullups[Nx];
|
|
||||||
power supply) {
|
power supply) {
|
||||||
|
|
||||||
|
|
||||||
|
@ -415,10 +414,10 @@ defproc decoder_2d_synapse_hs (bool? in_req_x[Nx], in_req_y[Ny]; a1of1 synapses[
|
||||||
)
|
)
|
||||||
|
|
||||||
// Connect the ackB lines together
|
// Connect the ackB lines together
|
||||||
(i:Nx: out_ackB_decoder[i] = in_ackB_pullups[i];)
|
(i:Nx: out_ackB_decoder[i] = to_pu[i].a;)
|
||||||
|
|
||||||
// Pipe req x lines down to the ackB pullups
|
// Pipe req x lines down to the ackB pullups
|
||||||
(i:Nx: out_req_x_pullups[i] = in_req_x[i];)
|
(i:Nx: to_pu[i].r = in_req_x[i];)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -436,8 +435,9 @@ defproc decoder_2d_synapse_hs (bool? in_req_x[Nx], in_req_y[Ny]; a1of1 synapses[
|
||||||
export template<pint NxC, NyC, Nx, Ny, N_dly_cfg>
|
export template<pint NxC, NyC, Nx, Ny, N_dly_cfg>
|
||||||
defproc decoder_2d_hybrid (avMx1of2<NxC+NyC> in; bool! out_req_x[Nx], out_req_y[Ny]; bool? dly_cfg[N_dly_cfg], hs_en, ack_disable;
|
defproc decoder_2d_hybrid (avMx1of2<NxC+NyC> in; bool! out_req_x[Nx], out_req_y[Ny]; bool? dly_cfg[N_dly_cfg], hs_en, ack_disable;
|
||||||
bool in_ackB_decoder[Nx]; // AckB lines back to the decoder for handshaking
|
bool in_ackB_decoder[Nx]; // AckB lines back to the decoder for handshaking
|
||||||
bool out_ackB_pullups[Nx]; // AckB lines from the line end pull ups
|
a1of1 to_pu[Nx];
|
||||||
bool in_req_x_pullups[Nx]; // req x lines going to the line pull ups
|
// bool out_ackB_pullups[Nx]; // AckB lines from the line end pull ups
|
||||||
|
// bool in_req_x_pullups[Nx]; // req x lines going to the line pull ups
|
||||||
bool? reset_B; power supply) {
|
bool? reset_B; power supply) {
|
||||||
|
|
||||||
bool _reset_BX[Nx];
|
bool _reset_BX[Nx];
|
||||||
|
@ -479,14 +479,14 @@ defproc decoder_2d_hybrid (avMx1of2<NxC+NyC> in; bool! out_req_x[Nx], out_req_y[
|
||||||
A_2P_U_X4 pu[Nx]; // TODO probably replace this with variable strength PU
|
A_2P_U_X4 pu[Nx]; // TODO probably replace this with variable strength PU
|
||||||
A_1P_U_X4 pu_reset[Nx];
|
A_1P_U_X4 pu_reset[Nx];
|
||||||
(i:Nx:
|
(i:Nx:
|
||||||
pu[i].p1 = in_req_x_pullups[i];
|
pu[i].p1 = to_pu[i].r;
|
||||||
pu[i].p2 = hs_enB;
|
pu[i].p2 = hs_enB;
|
||||||
pu[i].y = out_ackB_pullups[i];
|
pu[i].y = to_pu[i].a;
|
||||||
pu[i].vdd = supply.vdd;
|
pu[i].vdd = supply.vdd;
|
||||||
pu[i].vss = supply.vss;
|
pu[i].vss = supply.vss;
|
||||||
|
|
||||||
pu_reset[i].p1 = _reset_BX[i];
|
pu_reset[i].p1 = _reset_BX[i];
|
||||||
pu_reset[i].y = out_ackB_pullups[i];
|
pu_reset[i].y = to_pu[i].a;
|
||||||
pu_reset[i].vdd = supply.vdd;
|
pu_reset[i].vdd = supply.vdd;
|
||||||
pu_reset[i].vss = supply.vss;
|
pu_reset[i].vss = supply.vss;
|
||||||
)
|
)
|
||||||
|
@ -496,7 +496,7 @@ defproc decoder_2d_hybrid (avMx1of2<NxC+NyC> in; bool! out_req_x[Nx], out_req_y[
|
||||||
(i:Nx:
|
(i:Nx:
|
||||||
keeps[i].vdd = supply.vdd;
|
keeps[i].vdd = supply.vdd;
|
||||||
keeps[i].vss = supply.vss;
|
keeps[i].vss = supply.vss;
|
||||||
keeps[i].y = out_ackB_pullups[i];
|
keeps[i].y = to_pu[i].a;
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue