diff --git a/dataflow_neuro/cell_lib_async.act b/dataflow_neuro/cell_lib_async.act index a042a4f..8e54bb3 100644 --- a/dataflow_neuro/cell_lib_async.act +++ b/dataflow_neuro/cell_lib_async.act @@ -27,13 +27,13 @@ namespace tmpl { namespace dataflow_neuro{ export defcell KEEP_X1 (bool y; bool vdd, vss) { - bool _y; - prs{ - y => _y- - [weak=1] _y -> y- - [weak=1] ~_y -> y+ + // bool _y; + // prs{ + // y => _y- + // [weak=1] _y -> y- + // [weak=1] ~_y -> y+ - } + // } } export defcell A_1C2N_RB_X1 (bool! y; bool? c1,n1,n2,pr_B, sr_B; bool vdd, vss) { diff --git a/dataflow_neuro/coders.act b/dataflow_neuro/coders.act index f09fca6..1302e83 100644 --- a/dataflow_neuro/coders.act +++ b/dataflow_neuro/coders.act @@ -358,6 +358,14 @@ defproc decoder_2d_hybrid (avMx1of2 in; a1of1 out[Nx*Ny]; bool? dly_cfg pu_reset[i].vss = supply.vss; ) + // Add keeps (currently don't do anything in ACT) + KEEP_X1 keeps[Nx]; + (i:Nx: + keeps[i].vdd = supply.vdd; + keeps[i].vss = supply.vss; + keeps[i].y = _out_acksB[i]; + ) + // ORtree from all output acks, back to the buffer ack. // This is instead of the ack that came from the delayed validity trees, // in decoder_2d_dly.