Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
Greatorex 2022-04-12 14:18:09 +02:00
commit 7661e328ed
3 changed files with 12 additions and 11 deletions

View File

@ -57,9 +57,9 @@ namespace tmpl {
delayprog<N_dly_cfg> dly(.in = in.r, .out = _req, .s = dly_cfg, .supply = supply); delayprog<N_dly_cfg> dly(.in = in.r, .out = _req, .s = dly_cfg, .supply = supply);
// sig buff the reset signal // 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); BUF_X4 reset_buf(.a=reset_B, .y=_reset_BX,.vdd=supply.vdd,.vss=supply.vss);
sigbuf<N> reset_bufarray(.in=_reset_BX, .out=_reset_BXX, .supply=supply); sigbuf<N*2> reset_bufarray(.in=_reset_BX, .out=_reset_BXX, .supply=supply);
// sig buff the req // sig buff the req
bool _reqX, _reqXX[N*2]; bool _reqX, _reqXX[N*2];
@ -128,8 +128,8 @@ namespace tmpl {
t_buf_func[i].vss=supply.vss; t_buf_func[i].vss=supply.vss;
t_buf_func[i].pr_B = _reset_BXX[i]; t_buf_func[i].pr_B = _reset_BXX[i];
t_buf_func[i].sr_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].pr_B = _reset_BXX[i+N];
f_buf_func[i].sr_B = _reset_BXX[i]; f_buf_func[i].sr_B = _reset_BXX[i+N];
) )
} }

View File

@ -501,11 +501,12 @@ namespace tmpl {
AND2_X1 and2(.a = _drop, .b = _in_vX, .vss = supply.vss, .vdd = supply.vdd); 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); 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); A_2C_B_X1 ack_Cel(.c1 = or2.y, .c2 = _in_vX, .y = in.a);
_in_vX = in.v; // _in_vX = in.v;
// Sigbufs // Sigbufs
sigbuf<N*2> sb_dropB(.in = _dropB, .supply = supply); sigbuf<N*2> sb_dropB(.in = _dropB, .supply = supply);
sigbuf<N*2> sb_in_v(.in = _in_vX, .supply = supply); sigbuf<N*2+1> sb_in_v(.in = _in_vX, .supply = supply);
sb_in_v.out[2*N] = in.v;
AND3_X1 and_t[N]; AND3_X1 and_t[N];
AND3_X1 and_f[N]; AND3_X1 and_f[N];

View File

@ -29,7 +29,7 @@ run_test () {
cat $1/run/prsim.in | prsim -r $1/run/test.prs > $1/run/prsim.out 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 if egrep '(WRONG|WARNING|Node)' $1/run/prsim.out >/dev/null; then
echo "${bold}*** simulation failed seed: $2 ***${normal}" echo "${bold}*** simulation failed seed: $2 ***${normal}"
faildirs="${faildirs} ${1}-sim" faildirs="${faildirs} ${1}-sim($2)"
failed=1 failed=1
echo echo
fi fi
@ -56,9 +56,9 @@ cd "unit_tests"
# run all test except single one is specified # run all test except single one is specified
if [ ! -z $3 ]; then if [ ! -z $3 ]; then
numberofruns=$2+$3
iteration=$3 iteration=$3
elif [ ! -z $2 ]; then fi
if [ ! -z $2 ]; then
numberofruns=$2 numberofruns=$2
fi fi
@ -66,7 +66,7 @@ if [ -z $1 ]; then
for i in * for i in *
do do
if [ -d $i -a -f $i/test.act ]; then if [ -d $i -a -f $i/test.act ]; then
while [ $failed = 0 ] && [ $iteration -lt $numberofruns ] while [ $iteration -lt $numberofruns ]
do do
run_test $iteration run_test $iteration
iteration=$iteration+1 iteration=$iteration+1
@ -74,7 +74,7 @@ if [ -z $1 ]; then
fi fi
done done
else else
while [ $failed -eq 0 ] && [ $iteration -lt $numberofruns ] while [ $iteration -lt $numberofruns ]
do do
run_test $1 $iteration run_test $1 $iteration
iteration=$((iteration+1)) iteration=$((iteration+1))