diff --git a/dataflow_neuro/chips.act b/dataflow_neuro/chips.act index 4176471..91833e8 100644 --- a/dataflow_neuro/chips.act +++ b/dataflow_neuro/chips.act @@ -56,8 +56,13 @@ REG_NCA, REG_NCW, REG_M> defproc texel_core (avMx1of2 in, out; Mx1of2 reg_data[REG_M]; + a1of1 synapses[N_SYN_X * N_SYN_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! syn_mon_x[N_SYN_MON_X], syn_mon_y[N_SYN_MON_Y]; @@ -65,8 +70,6 @@ defproc texel_core (avMx1of2 in, out; 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? bd_dly_cfg[N_BD_DLY_CFG], bd_dly_cfg2[N_BD_DLY_CFG2]; - // bool? loopback_en; power supply; bool? reset_B){ @@ -94,6 +97,7 @@ defproc texel_core (avMx1of2 in, out; decoder_2d_hybrid decoder(.in = fifo_dmx2dec.out, .hs_en = register.data[0].d[0].t, // Defaults to handshake disable .ack_disable = register.data[1].d[2].t, // Defaults to ack enabled + .to_pu = syn_pu, .supply = supply, .reset_B = _reset_BX); INV_X1 dly_cfg_inverters[N_SYN_DLY_CFG]; (i:N_SYN_DLY_CFG: @@ -107,9 +111,7 @@ defproc texel_core (avMx1of2 in, out; decoder_2d_synapse_hs _synapses( .synapses = synapses, .in_req_x = decoder.out_req_x, .in_req_y = decoder.out_req_y, - .to_pu = decoder.to_pu, - // .in_ackB_pullups = decoder.out_ackB_pullups, - // .out_req_x_pullups = decoder.in_req_x_pullups, + .to_pu = syn_pu, .out_ackB_decoder = decoder.in_ackB_decoder, .supply = supply); @@ -117,14 +119,15 @@ defproc texel_core (avMx1of2 in, out; pint NC_NRN; NC_NRN = NC_NRN_X + NC_NRN_Y; encoder2d_simple 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 fifo_enc2mrg(.in = encoder.out, .reset_B = _reset_BX, .supply = supply); // Neuron handshake circuits, to be removed for innovus nrn_hs_2d_array nrn_grid(.in = neurons, .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);