diff --git a/dataflow_neuro/primitives.act b/dataflow_neuro/primitives.act index ae84c59..a76a1c6 100644 --- a/dataflow_neuro/primitives.act +++ b/dataflow_neuro/primitives.act @@ -170,7 +170,7 @@ namespace tmpl { // reset buffers bool _reset_BX; BUF_X1 reset_buf(.a=reset_B, .y=_reset_BX,.vdd=supply.vdd,.vss=supply.vss); - sigbuf reset_bufarray(.in=_reset_BX, .out=_reset_BXX,.vdd=supply.vdd,.vss=supply.vss); + sigbuf reset_bufarray(.in=_reset_BX, .out=_reset_BXX,.supply = supply); } /** @@ -190,7 +190,7 @@ namespace tmpl { BUF_X1 reset_buf(.a=reset_B, .y=_reset_BX,.vdd=supply.vdd,.vss=supply.vss); - sigbuf reset_bufarray(.in=_reset_BX, .out=_reset_BXX); + sigbuf reset_bufarray(.in=_reset_BX, .out=_reset_BXX, .supply=supply); //validity bool _in_v, _in_vX[N]; @@ -205,8 +205,8 @@ namespace tmpl { sigbuf en_buf_t(.in=_en, .out=_en_X_t, .supply=supply); sigbuf en_buf_f(.in=_en, .out=_en_X_f, .supply=supply); INV_X1 out_a_inv(.a=out.a,.y=_out_a_B); - sigbuf out_a_B_buf_f(.in=_out_a_B,.out=_out_a_BX_t); - sigbuf out_a_B_buf_t(.in=_out_a_B,.out=_out_a_BX_f); + sigbuf out_a_B_buf_f(.in=_out_a_B,.out=_out_a_BX_t, .supply=supply); + sigbuf out_a_B_buf_t(.in=_out_a_B,.out=_out_a_BX_f, .supply=supply); // check if you can also do single var to array connect a=b[N] // and remove them from the loop (i:N: @@ -244,8 +244,8 @@ namespace tmpl { //validity bool _in_v, _c_f_buf[N], _c_t_buf[N], _c_v; - sigbuf c_buf_t(.in=cond.d.d[0].t, .out=_c_t_buf); - sigbuf c_buf_f(.in=cond.d.d[0].f, .out=_c_f_buf); + sigbuf c_buf_t(.in=cond.d.d[0].t, .out=_c_t_buf, .supply=supply); + sigbuf c_buf_f(.in=cond.d.d[0].f, .out=_c_f_buf, .supply=supply); OR2_X1 c_f_c_t_or(.a=cond.d.d[0].t, .b=cond.d.d[0].f, .y=_c_v,.vdd=supply.vdd,.vss=supply.vss); vtree vc(.in=in.d,.out=_in_v,.supply=supply); @@ -262,8 +262,8 @@ namespace tmpl { sigbuf out1_en_buf_t(.in=_en, .out=_en1_X_t, .supply=supply); sigbuf out1_en_buf_f(.in=_en, .out=_en1_X_f, .supply=supply); INV_X1 out1_a_inv(.a=out1.a,.y=_out1_a_B); - sigbuf out1_a_B_buf_f(.in=_out1_a_B,.out=_out1_a_BX_t); - sigbuf out1_a_B_buf_t(.in=_out1_a_B,.out=_out1_a_BX_f); + sigbuf out1_a_B_buf_f(.in=_out1_a_B,.out=_out1_a_BX_t, .supply=supply); + sigbuf out1_a_B_buf_t(.in=_out1_a_B,.out=_out1_a_BX_f, .supply=supply); (i:N: out1_f_buf_func[i].y=out1.d.d[i].f; out1_t_buf_func[i].y=out1.d.d[i].t;