From cefe78fa24ba1a12f5cc7d8c9eaaebf739cf1a56 Mon Sep 17 00:00:00 2001 From: alexmadison Date: Tue, 12 Apr 2022 10:25:05 +0200 Subject: [PATCH 1/3] added more reset sigbugs --- dataflow_neuro/interfaces.act | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/dataflow_neuro/interfaces.act b/dataflow_neuro/interfaces.act index 035e8e2..3126cae 100644 --- a/dataflow_neuro/interfaces.act +++ b/dataflow_neuro/interfaces.act @@ -57,9 +57,9 @@ namespace tmpl { delayprog dly(.in = in.r, .out = _req, .s = dly_cfg, .supply = supply); // sig buff the reset signal - bool _reset_BX, _reset_BXX[N]; + bool _reset_BX, _reset_BXX[N*2]; BUF_X4 reset_buf(.a=reset_B, .y=_reset_BX,.vdd=supply.vdd,.vss=supply.vss); - sigbuf reset_bufarray(.in=_reset_BX, .out=_reset_BXX, .supply=supply); + sigbuf reset_bufarray(.in=_reset_BX, .out=_reset_BXX, .supply=supply); // sig buff the req bool _reqX, _reqXX[N*2]; @@ -128,8 +128,8 @@ namespace tmpl { t_buf_func[i].vss=supply.vss; t_buf_func[i].pr_B = _reset_BXX[i]; t_buf_func[i].sr_B = _reset_BXX[i]; - f_buf_func[i].pr_B = _reset_BXX[i]; - f_buf_func[i].sr_B = _reset_BXX[i]; + f_buf_func[i].pr_B = _reset_BXX[i+N]; + f_buf_func[i].sr_B = _reset_BXX[i+N]; ) } From 276efdede551933c5a19917c7373adb1e47c4a1f Mon Sep 17 00:00:00 2001 From: alexmadison Date: Tue, 12 Apr 2022 10:31:50 +0200 Subject: [PATCH 2/3] ole added no stop on fail --- test/repeat_unit.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/test/repeat_unit.sh b/test/repeat_unit.sh index 0bc0526..02f6f90 100755 --- a/test/repeat_unit.sh +++ b/test/repeat_unit.sh @@ -29,7 +29,7 @@ run_test () { cat $1/run/prsim.in | prsim -r $1/run/test.prs > $1/run/prsim.out if egrep '(WRONG|WARNING|Node)' $1/run/prsim.out >/dev/null; then echo "${bold}*** simulation failed seed: $2 ***${normal}" - faildirs="${faildirs} ${1}-sim" + faildirs="${faildirs} ${1}-sim($2)" failed=1 echo fi @@ -56,9 +56,9 @@ cd "unit_tests" # run all test except single one is specified if [ ! -z $3 ]; then - numberofruns=$2+$3 iteration=$3 -elif [ ! -z $2 ]; then +fi +if [ ! -z $2 ]; then numberofruns=$2 fi @@ -66,7 +66,7 @@ if [ -z $1 ]; then for i in * do if [ -d $i -a -f $i/test.act ]; then - while [ $failed = 0 ] && [ $iteration -lt $numberofruns ] + while [ $iteration -lt $numberofruns ] do run_test $iteration iteration=$iteration+1 @@ -74,7 +74,7 @@ if [ -z $1 ]; then fi done else - while [ $failed -eq 0 ] && [ $iteration -lt $numberofruns ] + while [ $iteration -lt $numberofruns ] do run_test $1 $iteration iteration=$((iteration+1)) From ca00cce63bd50ee6da4d6f72698a950d390fef5d Mon Sep 17 00:00:00 2001 From: alexmadison Date: Tue, 12 Apr 2022 12:18:14 +0200 Subject: [PATCH 3/3] fixed minor instab in dropper --- dataflow_neuro/primitives.act | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/dataflow_neuro/primitives.act b/dataflow_neuro/primitives.act index ab3c8b5..0d86362 100644 --- a/dataflow_neuro/primitives.act +++ b/dataflow_neuro/primitives.act @@ -501,11 +501,12 @@ namespace tmpl { AND2_X1 and2(.a = _drop, .b = _in_vX, .vss = supply.vss, .vdd = supply.vdd); OR2_X1 or2(.a = out.a, .b = and2.y, .vss = supply.vss, .vdd = supply.vdd); A_2C_B_X1 ack_Cel(.c1 = or2.y, .c2 = _in_vX, .y = in.a); - _in_vX = in.v; + // _in_vX = in.v; // Sigbufs sigbuf sb_dropB(.in = _dropB, .supply = supply); - sigbuf sb_in_v(.in = _in_vX, .supply = supply); + sigbuf sb_in_v(.in = _in_vX, .supply = supply); + sb_in_v.out[2*N] = in.v; AND3_X1 and_t[N]; AND3_X1 and_f[N];