Merge branch 'dev' of ssh://git.web.rug.nl:222/bics/actlib_dataflow_neuro into dev

This commit is contained in:
alexmadison 2022-04-12 12:18:59 +02:00
commit 3ed1cd9131
2 changed files with 14 additions and 14 deletions

View File

@ -653,10 +653,10 @@ namespace tmpl {
} }
} }
export export
defproc A_1N_U_X4(bool? a; bool! y; bool? vdd, vss) defproc A_1N_U_X4(bool? n1; bool! y; bool? vdd, vss)
{ {
prs{ prs{
[keeper=0] a -> y- [keeper=0] n1 -> y-
} }
} }
@ -669,10 +669,10 @@ namespace tmpl {
} }
export export
defproc A_1P_U_X4(bool? a; bool! y; bool? vdd, vss) defproc A_1P_U_X4(bool? p1; bool! y; bool? vdd, vss)
{ {
prs{ prs{
[keeper=0] ~a -> y+ [keeper=0] ~p1 -> y+
} }
} }
@ -685,21 +685,21 @@ namespace tmpl {
} }
export export
defproc A_3P_U_X4(bool? a, b, c; bool! y; bool? vdd, vss) defproc A_3P_U_X4(bool? p1, p2, p3; bool! y; bool? vdd, vss)
{ {
prs{ prs{
[keeper=0] ~a & ~b & ~c-> y+ [keeper=0] ~p1 & ~p2 & ~p3-> y+
} }
} }
export export
defproc PULLDOWN_X4(bool? a; bool! y; bool? vdd, vss) { defproc PULLDOWN_X4(bool? a; bool! y; bool? vdd, vss) {
A_1N_U_X4 cell(.a = a, .y = y, .vdd = vdd, .vss = vss); A_1N_U_X4 cell(.n1 = a, .y = y, .vdd = vdd, .vss = vss);
} }
export export
defproc PULLUP_X4(bool? a; bool! y; bool? vdd, vss) { defproc PULLUP_X4(bool? a; bool! y; bool? vdd, vss) {
A_1P_U_X4 cell(.a = a, .y = y, .vdd = vdd, .vss = vss); A_1P_U_X4 cell(.p1 = a, .y = y, .vdd = vdd, .vss = vss);
} }
defproc A_2C2P_RB_X1(bool! y;bool? c1,c2,p1,p2,reset_B,vdd,vss){ defproc A_2C2P_RB_X1(bool! y;bool? c1,c2,p1,p2,reset_B,vdd,vss){

View File

@ -268,12 +268,12 @@ defproc decoder_2d_hs (avMx1of2<NxC+NyC> in; a1of1 out[Nx*Ny]; bool? reset_B; po
A_1P_U_X4 pu[Nx]; // TODO probably replace this with variable strength PU A_1P_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].a = d_dr_xX[i].out[Ny]; pu[i].p1 = d_dr_xX[i].out[Ny];
pu[i].y = _out_acksB[i]; pu[i].y = _out_acksB[i];
pu[i].vdd = supply.vdd; pu[i].vdd = supply.vdd;
pu[i].vss = supply.vss; pu[i].vss = supply.vss;
pu_reset[i].a = _reset_BX[i]; pu_reset[i].p1 = _reset_BX[i];
pu_reset[i].y = _out_acksB[i]; pu_reset[i].y = _out_acksB[i];
pu_reset[i].vdd = supply.vdd; pu_reset[i].vdd = supply.vdd;
pu_reset[i].vss = supply.vss; pu_reset[i].vss = supply.vss;
@ -384,7 +384,7 @@ defproc decoder_2d_hybrid (avMx1of2<NxC+NyC> in; a1of1 out[Nx*Ny]; bool? dly_cfg
pu[i].vdd = supply.vdd; pu[i].vdd = supply.vdd;
pu[i].vss = supply.vss; pu[i].vss = supply.vss;
pu_reset[i].a = _reset_BX[i]; pu_reset[i].p1 = _reset_BX[i];
pu_reset[i].y = _out_acksB[i]; pu_reset[i].y = _out_acksB[i];
pu_reset[i].vdd = supply.vdd; pu_reset[i].vdd = supply.vdd;
pu_reset[i].vss = supply.vss; pu_reset[i].vss = supply.vss;
@ -910,7 +910,7 @@ defproc decoder_2d_hybrid (avMx1of2<NxC+NyC> in; a1of1 out[Nx*Ny]; bool? dly_cfg
A_2P_U_X4 pu_y(.p1 = _reqB, .p2 = outy.a, .y = outy.r, .vdd = supply.vdd, .vss = supply.vss); A_2P_U_X4 pu_y(.p1 = _reqB, .p2 = outy.a, .y = outy.r, .vdd = supply.vdd, .vss = supply.vss);
// x_req pull up // x_req pull up
A_3P_U_X4 pu_x(.a = outx.a, .b = _reqB, .c = _y_a_B, .y = outx.r, A_3P_U_X4 pu_x(.p1 = outx.a, .p2 = _reqB, .p3 = _y_a_B, .y = outx.r,
.vdd = supply.vdd, .vss = supply.vss); .vdd = supply.vdd, .vss = supply.vss);
@ -935,8 +935,8 @@ defproc decoder_2d_hybrid (avMx1of2<NxC+NyC> in; a1of1 out[Nx*Ny]; bool? dly_cfg
{ {
INV_X1 inv(.a = reset_B, .vdd=supply.vdd,.vss =supply.vss); INV_X1 inv(.a = reset_B, .vdd=supply.vdd,.vss =supply.vss);
A_1N_U_X4 pull_down(.a=in, .y=out); A_1N_U_X4 pull_down(.n1=in, .y=out);
A_1N_U_X4 pull_downR(.a=inv.y, .y=out); A_1N_U_X4 pull_downR(.n1=inv.y, .y=out);
} }