diff --git a/dataflow_neuro/primitives.act b/dataflow_neuro/primitives.act index e28272d..49cf0a6 100644 --- a/dataflow_neuro/primitives.act +++ b/dataflow_neuro/primitives.act @@ -392,7 +392,7 @@ namespace tmpl { ) } - + // Demux export template defproc demux_td (avMx1of2 in; avMx1of2 out1; a1of1 token; bool? reset_B; avMx1of2<1> cond; power supply) { //control @@ -403,7 +403,7 @@ namespace tmpl { A_1C1P_X1 en_ctl(.c1=in.a,.p1=_out_v,.y=_en,.vdd=supply.vdd,.vss=supply.vss); BUF_X1 reset_buf(.a=reset_B, .y=_reset_BX,.vdd=supply.vdd,.vss=supply.vss); BUF_X1 reset_buf_token(.a=_reset_BX, .y=_reset_BXt,.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, _c_tk_buf, _c_d_buf[N], _c_v, cond_inv_t, cond_inv_f; @@ -411,13 +411,13 @@ namespace tmpl { //orientation of condition [ CONDITION_SIGN -> - BUF_X1 c_buf_tk(.a=cond.d.d[0].t, .y=_c_tk_buf); - sigbuf c_buf_d(.in=cond.d.d[0].f, .out=_c_d_buf); + BUF_X1 c_buf_tk(.a=cond.d.d[0].t, .y=_c_tk_buf, .vss = supply.vss, .vdd = supply.vdd); + sigbuf c_buf_d(.in=cond.d.d[0].f, .out=_c_d_buf, .supply=supply); [] else -> INV_X1 invout_t(.a = cond.d.d[0].t,.y=cond_inv_t,.vdd = supply.vdd,.vss=supply.vss); INV_X1 invout_f(.a = cond.d.d[0].f,.y=cond_inv_f,.vdd = supply.vdd,.vss=supply.vss); - BUF_X1 c_buf_tk_inv(.a=cond_inv_t, .y=_c_tk_buf); - sigbuf c_buf_d_inv(.in=cond_inv_f, .out=_c_d_buf); + BUF_X1 c_buf_tk_inv(.a=cond_inv_t, .y=_c_tk_buf, .vss = supply.vss, .vdd = supply.vdd); + sigbuf c_buf_d_inv(.in=cond_inv_f, .out=_c_d_buf, .supply=supply); ] @@ -434,9 +434,9 @@ namespace tmpl { A_2C2N_RB_X4 out1_t_buf_func[N]; 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); + INV_X1 out1_a_inv(.a=out1.a,.y=_out1_a_B, .vss = supply.vss, .vdd = supply.vdd); + 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; @@ -462,7 +462,8 @@ namespace tmpl { bool token_a_out; A_2C2N_RB_X4 token_buf; - INV_X1 outt_a_inv(.a=token.a,.y=token_a_out); + INV_X1 outt_a_inv(.a=token.a,.y=token_a_out, .vss = supply.vss, .vdd = supply.vdd); + token_buf.y = token.r; token_buf.c1 = _en; diff --git a/test/prsim_plot.py b/test/prsim_plot.py index 0408a91..2e822fd 100755 --- a/test/prsim_plot.py +++ b/test/prsim_plot.py @@ -54,17 +54,21 @@ Use -exclude='regex' to specify signals to exclude (or -ex).""") raise Exception("Unknown colour given. I cba to code up general colours atm.") # Check if start time given + t0 = None for arg in argv: r = re.findall(r'-t0=(\d+)', arg) if len(r) >= 1: print(f"Filtering by start time t0 = {r[0]}") + t0 = int[r[0]] entries = [e for e in entries if int(e[0]) >= int(r[0])] # Check if end time given + t1 = None for arg in argv: r = re.findall(r'-t1=(\d+)', arg) if len(r) >= 1: print(f"Filtering by end time t1 = {r[0]}") + t1 = int[r[0]] entries = [e for e in entries if int(e[0]) <= int(r[0])] @@ -115,6 +119,7 @@ Use -exclude='regex' to specify signals to exclude (or -ex).""") # Get list of all times (after filtering) times = np.array([int(e[0]) for e in entries]) if not include_all_times: unique_times = np.unique(times) + num_times = unique_times.shape[0] # Get list of all sigs sigs = np.array([e[1] for e in entries]) @@ -173,8 +178,12 @@ Use -exclude='regex' to specify signals to exclude (or -ex).""") # ax.set_ylabel("Signal") ax.set_yticks([]) + # Plot signal names + sig_repeat_period = 20 for sig in unique_sigs: ax.text(-1, sig_to_index(sig), sig, ha = "right", va = "center", size = 10) + ax.text(num_times, sig_to_index(sig), sig, ha = "left", va = "center", size = 10) + for i in range(num_sigs-1): ax.axhline(i+0.5, c = "white", lw = 2) diff --git a/test/unit_tests/demux_td_2/run/prsim.out b/test/unit_tests/demux_td_2/run/prsim.out index bb33f75..2054884 100644 --- a/test/unit_tests/demux_td_2/run/prsim.out +++ b/test/unit_tests/demux_td_2/run/prsim.out @@ -1,4 +1,4 @@ -my_demux.my_demux.out1_f_buf_func[1].n1 my_demux.my_demux.out1_t_buf_func[1].n1 my_demux.my_demux._out1_a_BX_f[0] my_demux.my_demux.out1_en_buf_t.buf1._y my_demux.my_demux.token_a_out my_demux.my_demux._out_v my_demux.my_demux._in_v my_demux.my_demux._c_d_buf[0] my_demux.my_demux._en my_demux.my_demux.vc.OR2_tf[1].y my_demux.my_demux.cond_inv_f my_demux.my_demux._out1_a_B my_demux.my_demux.invout_f.a my_demux.my_demux._out1_a_BX_t[0] my_demux.in.v my_demux.my_demux._c_v my_demux.my_demux.invout_t.a my_demux.my_demux.out1_f_buf_func[0].n1 my_demux.out1.v my_demux.my_demux.out1_t_buf_func[0].n1 my_demux.my_demux.cond_inv_t my_demux.out1.a my_demux.my_demux._en1_X_f[0] my_demux.my_demux.out_or._y my_demux.my_demux._en1_X_t[0] my_demux.my_demux.vc.OR2_tf[0]._y my_demux.my_demux.in_v_buf._y my_demux.my_demux.vc.OR2_tf[0].y my_demux.token.a my_demux.my_demux.vc.OR2_tf[1]._y my_demux.my_demux._in_c_v_ my_demux.my_demux.c_buf_tk_inv._y my_demux.my_demux.c_f_c_t_or._y my_demux.my_demux.out1_en_buf_f.buf1._y my_demux.my_demux.c_buf_d_inv.buf1._y my_demux.my_demux._c_tk_buf my_demux.my_demux.vc.myctree.C2Els[0]._y my_demux.my_demux.out1_a_B_buf_f.buf1._y my_demux.my_demux.c_el._y my_demux.my_demux.out1_a_B_buf_t.buf1._y +my_demux.my_demux.vc.ct.in[0] my_demux.my_demux.out1_f_buf_func[1].n1 my_demux.my_demux.out1_t_buf_func[1].n1 my_demux.my_demux._out1_a_BX_f[0] my_demux.my_demux.out1_en_buf_t.buf1._y my_demux.my_demux.token_a_out my_demux.my_demux._out_v my_demux.my_demux._in_v my_demux.my_demux._c_d_buf[0] my_demux.my_demux._en my_demux.my_demux.cond_inv_f my_demux.my_demux._out1_a_B my_demux.my_demux.invout_f.a my_demux.my_demux._out1_a_BX_t[0] my_demux.in.v my_demux.my_demux._c_v my_demux.my_demux.invout_t.a my_demux.my_demux.out1_f_buf_func[0].n1 my_demux.out1.v my_demux.my_demux.out1_t_buf_func[0].n1 my_demux.my_demux.cond_inv_t my_demux.out1.a my_demux.my_demux.vc.ct.in[1] my_demux.my_demux._en1_X_f[0] my_demux.my_demux.out_or._y my_demux.my_demux._en1_X_t[0] my_demux.my_demux.vc.OR2_tf[0]._y my_demux.my_demux.in_v_buf._y my_demux.token.a my_demux.my_demux.vc.OR2_tf[1]._y my_demux.my_demux._in_c_v_ my_demux.my_demux.c_buf_tk_inv._y my_demux.my_demux.c_f_c_t_or._y my_demux.my_demux.out1_en_buf_f.buf1._y my_demux.my_demux.vc.ct.C2Els[0]._y my_demux.my_demux.c_buf_d_inv.buf1._y my_demux.my_demux._c_tk_buf my_demux.my_demux.out1_a_B_buf_f.buf1._y my_demux.my_demux.c_el._y my_demux.my_demux.out1_a_B_buf_t.buf1._y 83058 my_demux.my_demux.out1_f_buf_func[0].n1 : 0 83058 my_demux.my_demux.invout_f.a : 0 83058 my_demux.my_demux.invout_t.a : 0 @@ -13,7 +13,7 @@ my_demux.my_demux.out1_f_buf_func[1].n1 my_demux.my_demux.out1_t_buf_func[1].n1 83113 my_demux.my_demux.vc.OR2_tf[1]._y : 1 [by my_demux.my_demux.out1_t_buf_func[1].n1:=0] 92187 my_demux.my_demux.token_a_out : 1 [by my_demux.token.a:=0] 96782 my_demux.my_demux.cond_inv_t : 1 [by my_demux.my_demux.invout_t.a:=0] - 96962 my_demux.my_demux.vc.OR2_tf[1].y : 0 [by my_demux.my_demux.vc.OR2_tf[1]._y:=1] + 96962 my_demux.my_demux.vc.ct.in[1] : 0 [by my_demux.my_demux.vc.OR2_tf[1]._y:=1] 112853 my_demux.my_demux._out_v : 0 [by my_demux.my_demux.out_or._y:=1] 119989 my_demux.my_demux._out1_a_B : 1 [by my_demux.out1.a:=0] 120411 my_demux.my_demux.out1_a_B_buf_f.buf1._y : 0 [by my_demux.my_demux._out1_a_B:=1] @@ -29,9 +29,9 @@ my_demux.my_demux.out1_f_buf_func[1].n1 my_demux.my_demux.out1_t_buf_func[1].n1 127989 my_demux.my_demux._c_d_buf[0] : 1 [by my_demux.my_demux.c_buf_d_inv.buf1._y:=0] 129035 my_demux.my_demux._en1_X_t[0] : 1 [by my_demux.my_demux.out1_en_buf_t.buf1._y:=0] 134715 my_demux.my_demux._c_v : 0 [by my_demux.my_demux.c_f_c_t_or._y:=1] - 146511 my_demux.my_demux.vc.OR2_tf[0].y : 0 [by my_demux.my_demux.vc.OR2_tf[0]._y:=1] - 147465 my_demux.my_demux.vc.myctree.C2Els[0]._y : 1 [by my_demux.my_demux.vc.OR2_tf[0].y:=0] - 148546 my_demux.my_demux._in_v : 0 [by my_demux.my_demux.vc.myctree.C2Els[0]._y:=1] + 146511 my_demux.my_demux.vc.ct.in[0] : 0 [by my_demux.my_demux.vc.OR2_tf[0]._y:=1] + 147465 my_demux.my_demux.vc.ct.C2Els[0]._y : 1 [by my_demux.my_demux.vc.ct.in[0]:=0] + 148546 my_demux.my_demux._in_v : 0 [by my_demux.my_demux.vc.ct.C2Els[0]._y:=1] 149528 my_demux.my_demux.c_el._y : 1 [by my_demux.my_demux._in_v:=0] 149546 my_demux.my_demux._in_c_v_ : 0 [by my_demux.my_demux.c_el._y:=1] 149640 my_demux.my_demux._en1_X_f[0] : 1 [by my_demux.my_demux.out1_en_buf_f.buf1._y:=0] @@ -39,7 +39,7 @@ my_demux.my_demux.out1_f_buf_func[1].n1 my_demux.my_demux.out1_t_buf_func[1].n1 172716 my_demux.my_demux._out1_a_BX_f[0] : 1 [by my_demux.my_demux.out1_a_B_buf_t.buf1._y:=0] 203016 my_demux.my_demux.in_v_buf._y : 1 [by my_demux.my_demux._in_v:=0] 207019 my_demux.in.v : 0 [by my_demux.my_demux.in_v_buf._y:=1] -System initialized +[]System initialized 207019 Reset : 0 251920 my_demux._reset_B : 1 [by Reset:=0] 273504 my_demux.my_demux.reset_buf._y : 0 [by my_demux._reset_B:=1] @@ -48,25 +48,25 @@ System initialized 278766 my_demux.my_demux.reset_bufarray.buf1._y : 0 [by my_demux.my_demux._reset_BX:=1] 278905 my_demux.my_demux._reset_BXX[0] : 1 [by my_demux.my_demux.reset_bufarray.buf1._y:=0] 280321 my_demux.my_demux._reset_BXt : 1 [by my_demux.my_demux.reset_buf_token._y:=0] -System reset completed +[]System reset completed -Output neutral checked +[]Output neutral checked 280321 my_demux.my_demux.invout_t.a : 1 280321 my_demux.my_demux.out1_t_buf_func[1].n1 : 1 280321 my_demux.my_demux.out1_t_buf_func[0].n1 : 1 280332 my_demux.my_demux.vc.OR2_tf[1]._y : 0 [by my_demux.my_demux.out1_t_buf_func[1].n1:=1] - 280333 my_demux.my_demux.vc.OR2_tf[1].y : 1 [by my_demux.my_demux.vc.OR2_tf[1]._y:=0] + 280333 my_demux.my_demux.vc.ct.in[1] : 1 [by my_demux.my_demux.vc.OR2_tf[1]._y:=0] 280336 my_demux.my_demux.out1_t_buf_func[0]._y : 0 [by my_demux.my_demux.out1_t_buf_func[0].n1:=1] 280373 my_demux.my_demux.out1_t_buf_func[0].y : 1 [by my_demux.my_demux.out1_t_buf_func[0]._y:=0] 280390 my_demux.my_demux.c_f_c_t_or._y : 0 [by my_demux.my_demux.invout_t.a:=1] 280525 my_demux.my_demux.vc.OR2_tf[0]._y : 0 [by my_demux.my_demux.out1_t_buf_func[0].n1:=1] - 280637 my_demux.my_demux.vc.OR2_tf[0].y : 1 [by my_demux.my_demux.vc.OR2_tf[0]._y:=0] + 280637 my_demux.my_demux.vc.ct.in[0] : 1 [by my_demux.my_demux.vc.OR2_tf[0]._y:=0] 281129 my_demux.my_demux._c_v : 1 [by my_demux.my_demux.c_f_c_t_or._y:=0] 316667 my_demux.my_demux.cond_inv_t : 0 [by my_demux.my_demux.invout_t.a:=1] 316707 my_demux.my_demux.c_buf_tk_inv._y : 1 [by my_demux.my_demux.cond_inv_t:=0] 316964 my_demux.my_demux._c_tk_buf : 0 [by my_demux.my_demux.c_buf_tk_inv._y:=1] - 328149 my_demux.my_demux.vc.myctree.C2Els[0]._y : 0 [by my_demux.my_demux.vc.OR2_tf[0].y:=1] - 328236 my_demux.my_demux._in_v : 1 [by my_demux.my_demux.vc.myctree.C2Els[0]._y:=0] + 328149 my_demux.my_demux.vc.ct.C2Els[0]._y : 0 [by my_demux.my_demux.vc.ct.in[0]:=1] + 328236 my_demux.my_demux._in_v : 1 [by my_demux.my_demux.vc.ct.C2Els[0]._y:=0] 328237 my_demux.my_demux.c_el._y : 0 [by my_demux.my_demux._in_v:=1] 328530 my_demux.my_demux.in_v_buf._y : 0 [by my_demux.my_demux._in_v:=1] 330043 my_demux.my_demux._in_c_v_ : 1 [by my_demux.my_demux.c_el._y:=0] @@ -86,11 +86,11 @@ Output neutral checked 367396 my_demux.my_demux.out1_t_buf_func[0].n1 : 0 367396 my_demux.my_demux.out1_t_buf_func[1].n1 : 0 367755 my_demux.my_demux.vc.OR2_tf[1]._y : 1 [by my_demux.my_demux.out1_t_buf_func[1].n1:=0] - 381871 my_demux.my_demux.vc.OR2_tf[1].y : 0 [by my_demux.my_demux.vc.OR2_tf[1]._y:=1] + 381871 my_demux.my_demux.vc.ct.in[1] : 0 [by my_demux.my_demux.vc.OR2_tf[1]._y:=1] 383058 my_demux.my_demux.vc.OR2_tf[0]._y : 1 [by my_demux.my_demux.out1_t_buf_func[0].n1:=0] - 383279 my_demux.my_demux.vc.OR2_tf[0].y : 0 [by my_demux.my_demux.vc.OR2_tf[0]._y:=1] - 383286 my_demux.my_demux.vc.myctree.C2Els[0]._y : 1 [by my_demux.my_demux.vc.OR2_tf[0].y:=0] - 383316 my_demux.my_demux._in_v : 0 [by my_demux.my_demux.vc.myctree.C2Els[0]._y:=1] + 383279 my_demux.my_demux.vc.ct.in[0] : 0 [by my_demux.my_demux.vc.OR2_tf[0]._y:=1] + 383286 my_demux.my_demux.vc.ct.C2Els[0]._y : 1 [by my_demux.my_demux.vc.ct.in[0]:=0] + 383316 my_demux.my_demux._in_v : 0 [by my_demux.my_demux.vc.ct.C2Els[0]._y:=1] 390029 my_demux.my_demux.in_v_buf._y : 1 [by my_demux.my_demux._in_v:=0] 447490 my_demux.in.v : 0 [by my_demux.my_demux.in_v_buf._y:=1] 447490 my_demux.out1.a : 1 @@ -103,7 +103,7 @@ Output neutral checked 450375 my_demux.my_demux._out1_a_BX_f[0] : 0 [by my_demux.my_demux.out1_a_B_buf_t.buf1._y:=1] 450606 my_demux.my_demux.out1_t_buf_func[1].y : 0 [by my_demux.my_demux.out1_t_buf_func[1]._y:=1] 468950 my_demux.my_demux.out1_t_buf_func[0].y : 0 [by my_demux.my_demux.out1_t_buf_func[0]._y:=1] -First Cond Checked +[]First Cond Checked 468950 my_demux.my_demux.invout_t.a : 0 468950 my_demux.out1.v : 0 468950 my_demux.out1.a : 0 @@ -128,7 +128,7 @@ First Cond Checked 484418 my_demux.my_demux._en1_X_f[0] : 1 [by my_demux.my_demux.out1_en_buf_f.buf1._y:=0] 527786 my_demux.my_demux.out1_en_buf_t.buf1._y : 0 [by my_demux.my_demux._en:=1] 527797 my_demux.my_demux._en1_X_t[0] : 1 [by my_demux.my_demux.out1_en_buf_t.buf1._y:=0] -System initialized +[]System initialized 527797 my_demux.my_demux.invout_f.a : 1 527797 my_demux.my_demux.out1_t_buf_func[1].n1 : 1 527797 my_demux.my_demux.out1_t_buf_func[0].n1 : 1 @@ -138,15 +138,15 @@ System initialized 528325 my_demux.my_demux.out1_t_buf_func[0]._y : 0 [by my_demux.my_demux.out1_t_buf_func[0].n1:=1] 530248 my_demux.my_demux.out1_t_buf_func[1].y : 1 [by my_demux.my_demux.out1_t_buf_func[1]._y:=0] 530438 my_demux.my_demux.vc.OR2_tf[1]._y : 0 [by my_demux.my_demux.out1_t_buf_func[1].n1:=1] - 530440 my_demux.my_demux.vc.OR2_tf[1].y : 1 [by my_demux.my_demux.vc.OR2_tf[1]._y:=0] + 530440 my_demux.my_demux.vc.ct.in[1] : 1 [by my_demux.my_demux.vc.OR2_tf[1]._y:=0] 532359 my_demux.my_demux.vc.OR2_tf[0]._y : 0 [by my_demux.my_demux.out1_t_buf_func[0].n1:=1] 541366 my_demux.my_demux.out1_t_buf_func[0].y : 1 [by my_demux.my_demux.out1_t_buf_func[0]._y:=0] 552092 my_demux.my_demux.c_buf_d_inv.buf1._y : 1 [by my_demux.my_demux.cond_inv_f:=0] 552095 my_demux.my_demux._c_d_buf[0] : 0 [by my_demux.my_demux.c_buf_d_inv.buf1._y:=1] 554744 my_demux.my_demux._c_v : 1 [by my_demux.my_demux.c_f_c_t_or._y:=0] - 593317 my_demux.my_demux.vc.OR2_tf[0].y : 1 [by my_demux.my_demux.vc.OR2_tf[0]._y:=0] - 593346 my_demux.my_demux.vc.myctree.C2Els[0]._y : 0 [by my_demux.my_demux.vc.OR2_tf[0].y:=1] - 593663 my_demux.my_demux._in_v : 1 [by my_demux.my_demux.vc.myctree.C2Els[0]._y:=0] + 593317 my_demux.my_demux.vc.ct.in[0] : 1 [by my_demux.my_demux.vc.OR2_tf[0]._y:=0] + 593346 my_demux.my_demux.vc.ct.C2Els[0]._y : 0 [by my_demux.my_demux.vc.ct.in[0]:=1] + 593663 my_demux.my_demux._in_v : 1 [by my_demux.my_demux.vc.ct.C2Els[0]._y:=0] 593707 my_demux.my_demux.c_el._y : 0 [by my_demux.my_demux._in_v:=1] 593816 my_demux.my_demux.in_v_buf._y : 0 [by my_demux.my_demux._in_v:=1] 595264 my_demux.my_demux.token_buf._y : 0 [by my_demux.my_demux._in_v:=1] @@ -172,12 +172,12 @@ System initialized 677919 my_demux.my_demux.out1_t_buf_func[1].n1 : 0 677919 my_demux.my_demux.out1_t_buf_func[0].n1 : 0 677933 my_demux.my_demux.vc.OR2_tf[0]._y : 1 [by my_demux.my_demux.out1_t_buf_func[0].n1:=0] - 677940 my_demux.my_demux.vc.OR2_tf[0].y : 0 [by my_demux.my_demux.vc.OR2_tf[0]._y:=1] + 677940 my_demux.my_demux.vc.ct.in[0] : 0 [by my_demux.my_demux.vc.OR2_tf[0]._y:=1] 678081 my_demux.my_demux.token_a_out : 1 [by my_demux.token.a:=0] 685288 my_demux.my_demux.vc.OR2_tf[1]._y : 1 [by my_demux.my_demux.out1_t_buf_func[1].n1:=0] - 685448 my_demux.my_demux.vc.OR2_tf[1].y : 0 [by my_demux.my_demux.vc.OR2_tf[1]._y:=1] - 707005 my_demux.my_demux.vc.myctree.C2Els[0]._y : 1 [by my_demux.my_demux.vc.OR2_tf[1].y:=0] - 707006 my_demux.my_demux._in_v : 0 [by my_demux.my_demux.vc.myctree.C2Els[0]._y:=1] + 685448 my_demux.my_demux.vc.ct.in[1] : 0 [by my_demux.my_demux.vc.OR2_tf[1]._y:=1] + 707005 my_demux.my_demux.vc.ct.C2Els[0]._y : 1 [by my_demux.my_demux.vc.ct.in[1]:=0] + 707006 my_demux.my_demux._in_v : 0 [by my_demux.my_demux.vc.ct.C2Els[0]._y:=1] 707007 my_demux.my_demux.in_v_buf._y : 1 [by my_demux.my_demux._in_v:=0] 707008 my_demux.in.v : 0 [by my_demux.my_demux.in_v_buf._y:=1] 707008 my_demux.my_demux.invout_f.a : 0 diff --git a/test/unit_tests/demux_td_2/run/prsim.pdf b/test/unit_tests/demux_td_2/run/prsim.pdf new file mode 100644 index 0000000..261c54e Binary files /dev/null and b/test/unit_tests/demux_td_2/run/prsim.pdf differ diff --git a/test/unit_tests/demux_td_2/run/test.prs b/test/unit_tests/demux_td_2/run/test.prs index 486a345..47b5ed3 100644 --- a/test/unit_tests/demux_td_2/run/test.prs +++ b/test/unit_tests/demux_td_2/run/test.prs @@ -239,12 +239,20 @@ = "my_demux.my_demux.token.d.d[0]" "my_demux.my_demux.token_buf.y" = "my_demux.my_demux.token.d.d[0]" "my_demux.my_demux.out_or.b" = "my_demux.my_demux.token.d.d[0]" "my_demux.my_demux.token.r" += "my_demux.my_demux.supply.vss" "my_demux.my_demux.out1_a_B_buf_t.supply.vss" += "my_demux.my_demux.supply.vdd" "my_demux.my_demux.out1_a_B_buf_t.supply.vdd" += "my_demux.my_demux.supply.vss" "my_demux.my_demux.out1_a_B_buf_f.supply.vss" += "my_demux.my_demux.supply.vdd" "my_demux.my_demux.out1_a_B_buf_f.supply.vdd" = "my_demux.my_demux.supply.vss" "my_demux.my_demux.out1_en_buf_f.supply.vss" = "my_demux.my_demux.supply.vdd" "my_demux.my_demux.out1_en_buf_f.supply.vdd" = "my_demux.my_demux.supply.vss" "my_demux.my_demux.out1_en_buf_t.supply.vss" = "my_demux.my_demux.supply.vdd" "my_demux.my_demux.out1_en_buf_t.supply.vdd" = "my_demux.my_demux.supply.vss" "my_demux.my_demux.vc.supply.vss" = "my_demux.my_demux.supply.vdd" "my_demux.my_demux.vc.supply.vdd" += "my_demux.my_demux.supply.vss" "my_demux.my_demux.c_buf_d_inv.supply.vss" += "my_demux.my_demux.supply.vdd" "my_demux.my_demux.c_buf_d_inv.supply.vdd" += "my_demux.my_demux.supply.vss" "my_demux.my_demux.reset_bufarray.supply.vss" += "my_demux.my_demux.supply.vdd" "my_demux.my_demux.reset_bufarray.supply.vdd" = "my_demux.my_demux.supply.vdd" "my_demux.my_demux.token_buf.vdd" = "my_demux.my_demux.supply.vdd" "my_demux.my_demux.out1_t_buf_func[1].vdd" = "my_demux.my_demux.supply.vdd" "my_demux.my_demux.out1_f_buf_func[1].vdd" @@ -277,18 +285,20 @@ = "my_demux.my_demux.supply.vss" "my_demux.my_demux.out_or.vss" "my_demux.my_demux.invout_f.a"->"my_demux.my_demux.invout_f.y"- ~("my_demux.my_demux.invout_f.a")->"my_demux.my_demux.invout_f.y"+ -~"my_demux.my_demux.vc.myctree.C2Els[0].c1"&~"my_demux.my_demux.vc.myctree.C2Els[0].c2"->"my_demux.my_demux.vc.myctree.C2Els[0]._y"+ -"my_demux.my_demux.vc.myctree.C2Els[0].c1"&"my_demux.my_demux.vc.myctree.C2Els[0].c2"->"my_demux.my_demux.vc.myctree.C2Els[0]._y"- -"my_demux.my_demux.vc.myctree.C2Els[0]._y"->"my_demux.my_demux.vc.myctree.C2Els[0].y"- -~("my_demux.my_demux.vc.myctree.C2Els[0]._y")->"my_demux.my_demux.vc.myctree.C2Els[0].y"+ -= "my_demux.my_demux.vc.myctree.supply.vdd" "my_demux.my_demux.vc.myctree.C2Els[0].vdd" -= "my_demux.my_demux.vc.myctree.supply.vss" "my_demux.my_demux.vc.myctree.C2Els[0].vss" -= "my_demux.my_demux.vc.myctree.in[0]" "my_demux.my_demux.vc.myctree.C2Els[0].c1" -= "my_demux.my_demux.vc.myctree.in[0]" "my_demux.my_demux.vc.myctree.tmp[0]" -= "my_demux.my_demux.vc.myctree.in[1]" "my_demux.my_demux.vc.myctree.C2Els[0].c2" -= "my_demux.my_demux.vc.myctree.in[1]" "my_demux.my_demux.vc.myctree.tmp[1]" -= "my_demux.my_demux.vc.myctree.out" "my_demux.my_demux.vc.myctree.C2Els[0].y" -= "my_demux.my_demux.vc.myctree.out" "my_demux.my_demux.vc.myctree.tmp[2]" +~"my_demux.my_demux.vc.ct.C2Els[0].c1"&~"my_demux.my_demux.vc.ct.C2Els[0].c2"->"my_demux.my_demux.vc.ct.C2Els[0]._y"+ +"my_demux.my_demux.vc.ct.C2Els[0].c1"&"my_demux.my_demux.vc.ct.C2Els[0].c2"->"my_demux.my_demux.vc.ct.C2Els[0]._y"- +"my_demux.my_demux.vc.ct.C2Els[0]._y"->"my_demux.my_demux.vc.ct.C2Els[0].y"- +~("my_demux.my_demux.vc.ct.C2Els[0]._y")->"my_demux.my_demux.vc.ct.C2Els[0].y"+ += "my_demux.my_demux.vc.ct.supply.vdd" "my_demux.my_demux.vc.ct.C2Els[0].vdd" += "my_demux.my_demux.vc.ct.supply.vss" "my_demux.my_demux.vc.ct.C2Els[0].vss" += "my_demux.my_demux.vc.ct.in[0]" "my_demux.my_demux.vc.ct.C2Els[0].c1" += "my_demux.my_demux.vc.ct.in[0]" "my_demux.my_demux.vc.ct.tmp[0]" += "my_demux.my_demux.vc.ct.in[1]" "my_demux.my_demux.vc.ct.C2Els[0].c2" += "my_demux.my_demux.vc.ct.in[1]" "my_demux.my_demux.vc.ct.tmp[1]" += "my_demux.my_demux.vc.ct.out" "my_demux.my_demux.vc.ct.C2Els[0].y" += "my_demux.my_demux.vc.ct.out" "my_demux.my_demux.vc.ct.tmp[2]" += "my_demux.my_demux.vc.ct.in[0]" "my_demux.my_demux.vc.OR2_tf[0].y" += "my_demux.my_demux.vc.ct.in[1]" "my_demux.my_demux.vc.OR2_tf[1].y" "my_demux.my_demux.vc.OR2_tf[0].a"|"my_demux.my_demux.vc.OR2_tf[0].b"->"my_demux.my_demux.vc.OR2_tf[0]._y"- ~("my_demux.my_demux.vc.OR2_tf[0].a"|"my_demux.my_demux.vc.OR2_tf[0].b")->"my_demux.my_demux.vc.OR2_tf[0]._y"+ "my_demux.my_demux.vc.OR2_tf[0]._y"->"my_demux.my_demux.vc.OR2_tf[0].y"- @@ -297,15 +307,13 @@ ~("my_demux.my_demux.vc.OR2_tf[1].a"|"my_demux.my_demux.vc.OR2_tf[1].b")->"my_demux.my_demux.vc.OR2_tf[1]._y"+ "my_demux.my_demux.vc.OR2_tf[1]._y"->"my_demux.my_demux.vc.OR2_tf[1].y"- ~("my_demux.my_demux.vc.OR2_tf[1]._y")->"my_demux.my_demux.vc.OR2_tf[1].y"+ -= "my_demux.my_demux.vc.OR2_tf[1].y" "my_demux.my_demux.vc.myctree.in[1]" -= "my_demux.my_demux.vc.OR2_tf[0].y" "my_demux.my_demux.vc.myctree.in[0]" -= "my_demux.my_demux.vc.supply.vss" "my_demux.my_demux.vc.myctree.supply.vss" -= "my_demux.my_demux.vc.supply.vdd" "my_demux.my_demux.vc.myctree.supply.vdd" += "my_demux.my_demux.vc.supply.vss" "my_demux.my_demux.vc.ct.supply.vss" += "my_demux.my_demux.vc.supply.vdd" "my_demux.my_demux.vc.ct.supply.vdd" = "my_demux.my_demux.vc.supply.vdd" "my_demux.my_demux.vc.OR2_tf[1].vdd" = "my_demux.my_demux.vc.supply.vdd" "my_demux.my_demux.vc.OR2_tf[0].vdd" = "my_demux.my_demux.vc.supply.vss" "my_demux.my_demux.vc.OR2_tf[1].vss" = "my_demux.my_demux.vc.supply.vss" "my_demux.my_demux.vc.OR2_tf[0].vss" -= "my_demux.my_demux.vc.out" "my_demux.my_demux.vc.myctree.out" += "my_demux.my_demux.vc.out" "my_demux.my_demux.vc.ct.out" = "my_demux.my_demux.vc.in.d[0].d[0]" "my_demux.my_demux.vc.in.d[0].f" = "my_demux.my_demux.vc.in.d[0].d[1]" "my_demux.my_demux.vc.in.d[0].t" = "my_demux.my_demux.vc.in.d[1].d[0]" "my_demux.my_demux.vc.in.d[1].f" diff --git a/test/unit_tests/demux_td_2/test.prsim b/test/unit_tests/demux_td_2/test.prsim index f225e62..577e3b3 100644 --- a/test/unit_tests/demux_td_2/test.prsim +++ b/test/unit_tests/demux_td_2/test.prsim @@ -7,11 +7,11 @@ set my_demux.token.r 0 set my_demux.cond.d.d[0].t 0 set my_demux.cond.d.d[0].f 0 cycle -system "echo 'System initialized'" +system "echo '[]System initialized'" set Reset 0 cycle -system "echo 'System reset completed'" +system "echo '[]System reset completed'" status X mode run @@ -19,7 +19,7 @@ assert-qdi-channel-neutral "my_demux.out1" 2 assert-qdi-channel-neutral "my_demux.in" 2 cycle -system "echo 'Output neutral checked'" +system "echo '[]Output neutral checked'" set my_demux.cond.d.d[0].t 1 set my_demux.cond.d.d[0].f 0 @@ -46,7 +46,7 @@ assert my_demux.in.a 1 set-qdi-channel-neutral "my_demux.in" 2 -system "echo 'First Cond Checked'" +system "echo '[]First Cond Checked'" set my_demux.out1.a 0 set my_demux.out1.v 0 @@ -56,7 +56,7 @@ set my_demux.cond.d.d[0].t 0 set my_demux.cond.d.d[0].f 0 cycle -system "echo 'System initialized'" +system "echo '[]System initialized'" set my_demux.cond.d.d[0].t 0 set my_demux.cond.d.d[0].f 1