diff --git a/dataflow_neuro/primitives.act b/dataflow_neuro/primitives.act index b07153a..80b9f8c 100644 --- a/dataflow_neuro/primitives.act +++ b/dataflow_neuro/primitives.act @@ -4,7 +4,7 @@ * * Copyright (c) 2022 University of Groningen - Ole Richter * Copyright (c) 2022 University of Groningen - Michele Mastella - * Copyright (c) 2022 University of Groningen - Hugh Greatorex + * Copyright (c) 2022 University of Groningen - Hugh Greatorex * * This source describes Open Hardware and is licensed under the CERN-OHL-W v2 or later * @@ -155,31 +155,23 @@ namespace tmpl { //control bool _en, _reset_BX,_reset_BXX[N], _out_v; - OR2_X1 out_or(.a=out1.v, .b=out2.v, .y=_out_v,.vdd=supply.vdd,.vss=supply.vss) - A_3C_RB_X4 inack_ctl(.c1=_en,.c2=_in_c_v_,.c3=out.v,.y=in.a,.pr_B=_reset_BXX,.sr_B=_reset_BXX,.vdd=supply.vdd,.vss=supply.vss); - A_1C1P_X1 en_ctl(.c1=in.a,.p1=_out-v,.y=_en,.vdd=supply.vdd,.vss=supply.vss); - - //validity + OR2_X1 out_or(.a=out1.v, .b=out2.v, .y=_out_v,.vdd=supply.vdd,.vss=supply.vss); + A_3C_RB_X4 inack_ctl(.c1=_en,.c2=_in_c_v_,.c3= _out_v,.y=in.a,.pr_B=_reset_BXX,.sr_B=_reset_BXX,.vdd=supply.vdd,.vss=supply.vss); + A_1C1P_X1 en_ctl(.c1=in.a,.p1=_out_v,.y=_en,.vdd=supply.vdd,.vss=supply.vss); BUF_X1 reset_buf(.a=reset_B, .y=_reset_BX,.vdd=supply.vdd,.vss=supply.vss); sigbuf<2*N> reset_bufarray(.in=_reset_BX, .out=_reset_BXX); - - A_1C1P_X1 en_ctl(.c1=in.a,.p1=out.v,.y=_en,.vdd=supply.vdd,.vss=supply.vss); //validity bool _in_v, _c_f_buf, _c_t_buf, _c_v, _in_c_v_; - sigbuf c_buf_t(.in=c_t, .out=_c_t_buf); sigbuf c_buf_f(.in=c_f, .out=_c_f_buf); - OR2_X1 c_f_c_t_or(.a=c_t, .b=c_t, .y=_c_v,.vdd=supply.vdd,.vss=supply.vss); + OR2_X1 c_f_c_t_or(.a=c_t, .b=c_f, .y=_c_v,.vdd=supply.vdd,.vss=supply.vss); ctree vc(.in=in.d,.out=_in_v,.supply=supply); A_2C_RB_X4 c_el(.c1=_c_v, .c2=_in_v, .y=_in_c_v_,.vdd=supply.vdd,.vss=supply.vss); - - - BUF_X4 in_v_buf(.a=_in_v, .y=in.v,.vdd=supply.vdd,.vss=supply.vss);