From 9a9c2f7da5a2a6293b10564650a4f7161df8e14d Mon Sep 17 00:00:00 2001 From: Hugh Date: Tue, 8 Mar 2022 18:49:04 +0100 Subject: [PATCH] encoder sim still not working --- dataflow_neuro/coders.act | 6 +- test/unit_tests/buf_15_friendly2.v | 571 +++++++++++++++ test/unit_tests/encoder2D_7/run/prsim.out | 143 ++++ test/unit_tests/encoder2D_7/run/prsim.pdf | Bin 0 -> 53786 bytes test/unit_tests/encoder2D_7/run/test.prs | 852 ++++++++++++++++++++++ test/unit_tests/encoder2D_7/test.act | 49 ++ test/unit_tests/encoder2D_7/test.prsim | 74 ++ 7 files changed, 1692 insertions(+), 3 deletions(-) create mode 100644 test/unit_tests/buf_15_friendly2.v create mode 100644 test/unit_tests/encoder2D_7/run/prsim.out create mode 100644 test/unit_tests/encoder2D_7/run/prsim.pdf create mode 100644 test/unit_tests/encoder2D_7/run/test.prs create mode 100644 test/unit_tests/encoder2D_7/test.act create mode 100644 test/unit_tests/encoder2D_7/test.prsim diff --git a/dataflow_neuro/coders.act b/dataflow_neuro/coders.act index df9f658..ae00d55 100644 --- a/dataflow_neuro/coders.act +++ b/dataflow_neuro/coders.act @@ -350,10 +350,10 @@ namespace tmpl { export template defproc encoder2D(a1of1 x[Nx]; a1of1 y[Ny]; avMx1of2<(NxC + NyC)> out; power supply; bool reset_B) { // Reset buffers - pint H = 10; //Reset strength? to be investigated + pint H = 2*(NxC + NyC); //Reset strength? to be investigated bool _reset_BX,_reset_BXX[H]; - BUF_X1 reset_buf(.a=reset_B, .y=_reset_BX,.vdd=supply.vdd,.vss=supply.vss); - sigbuf<2*(NxC + NyC)+3> reset_bufarray(.in=_reset_BX, .out=_reset_BXX,.supply=supply); + BUF_X4 reset_buf(.a=reset_B, .y=_reset_BX,.vdd=supply.vdd,.vss=supply.vss); + sigbuf<2*(NxC + NyC)> reset_bufarray(.in=_reset_BX, .out=_reset_BXX,.supply=supply); // Arbiters a1of1 _arb_out_x, _arb_out_y; diff --git a/test/unit_tests/buf_15_friendly2.v b/test/unit_tests/buf_15_friendly2.v new file mode 100644 index 0000000..e3ac927 --- /dev/null +++ b/test/unit_tests/buf_15_friendly2.v @@ -0,0 +1,571 @@ +// +// Verilog module for: BUF_X6<> +// + + +// +// Verilog module for: sigbuf<15> +// +module _0_0tmpl_0_0dataflow__neuro_0_0sigbuf_315_4(in, \out[0] , vdd, vss); + input vdd; + input vss; + input in; + output \out[0] ; + +// -- signals --- + wire in; + reg \out[0] ; + +// --- instances +BUF_X6 \buf6 (.y(\out[0] ), .a(in), .vdd(vdd), .vss(vss)); +endmodule + +// +// Verilog module for: A_3C_RB_X4<> +// + + +// +// Verilog module for: BUF_X4<> +// + + +// +// Verilog module for: INV_X1<> +// + + +// +// Verilog module for: A_2C_B_X1<> +// + + +// +// Verilog module for: A_3C_B_X1<> +// + + +// +// Verilog module for: ctree<15> +// +module _0_0tmpl_0_0dataflow__neuro_0_0ctree_315_4(\in[0] , \in[1] , \in[2] , \in[3] , \in[4] , \in[5] , \in[6] , \in[7] , \in[8] , \in[9] , \in[10] , \in[11] , \in[12] , \in[13] , \in[14] , out, vdd, vss); + input vdd; + input vss; + input \in[0] ; + input \in[1] ; + input \in[2] ; + input \in[3] ; + input \in[4] ; + input \in[5] ; + input \in[6] ; + input \in[7] ; + input \in[8] ; + input \in[9] ; + input \in[10] ; + input \in[11] ; + input \in[12] ; + input \in[13] ; + input \in[14] ; + output out; + +// -- signals --- + wire \in[4] ; + wire \in[11] ; + wire \in[12] ; + reg \tmp[21] ; + wire \in[3] ; + reg out; + reg \tmp[23] ; + wire \in[6] ; + wire \in[0] ; + reg \tmp[18] ; + wire \in[10] ; + reg \tmp[15] ; + reg \tmp[16] ; + wire \in[13] ; + wire \in[1] ; + wire \in[9] ; + wire \in[2] ; + wire \in[5] ; + reg \tmp[24] ; + wire \in[14] ; + reg \tmp[19] ; + wire \in[7] ; + reg \tmp[22] ; + reg \tmp[20] ; + wire \in[8] ; + reg \tmp[17] ; + +// --- instances +A_2C_B_X1 \C2Els[0] (.y(\tmp[15] ), .c1(\in[0] ), .c2(\in[1] ), .vdd(vdd), .vss(vss)); +A_2C_B_X1 \C2Els[1] (.y(\tmp[16] ), .c1(\in[2] ), .c2(\in[3] ), .vdd(vdd), .vss(vss)); +A_2C_B_X1 \C2Els[2] (.y(\tmp[17] ), .c1(\in[4] ), .c2(\in[5] ), .vdd(vdd), .vss(vss)); +A_2C_B_X1 \C2Els[3] (.y(\tmp[18] ), .c1(\in[6] ), .c2(\in[7] ), .vdd(vdd), .vss(vss)); +A_2C_B_X1 \C2Els[4] (.y(\tmp[19] ), .c1(\in[8] ), .c2(\in[9] ), .vdd(vdd), .vss(vss)); +A_2C_B_X1 \C2Els[5] (.y(\tmp[20] ), .c1(\in[10] ), .c2(\in[11] ), .vdd(vdd), .vss(vss)); +A_2C_B_X1 \C2Els[6] (.y(\tmp[22] ), .c1(\tmp[15] ), .c2(\tmp[16] ), .vdd(vdd), .vss(vss)); +A_2C_B_X1 \C2Els[7] (.y(\tmp[23] ), .c1(\tmp[17] ), .c2(\tmp[18] ), .vdd(vdd), .vss(vss)); +A_3C_B_X1 \C3Els[0] (.y(\tmp[21] ), .c1(\in[12] ), .c2(\in[13] ), .c3(\in[14] ), .vdd(vdd), .vss(vss)); +A_3C_B_X1 \C3Els[1] (.y(\tmp[24] ), .c1(\tmp[19] ), .c2(\tmp[20] ), .c3(\tmp[21] ), .vdd(vdd), .vss(vss)); +A_3C_B_X1 \C3Els[2] (.y(out), .c1(\tmp[22] ), .c2(\tmp[23] ), .c3(\tmp[24] ), .vdd(vdd), .vss(vss)); +endmodule + +// +// Verilog module for: OR2_X1<> +// + + +// +// Verilog module for: vtree<15> +// +module _0_0tmpl_0_0dataflow__neuro_0_0vtree_315_4(\in.d[0].d[0] , \in.d[0].d[1] , \in.d[1].d[0] , \in.d[1].d[1] , \in.d[2].d[0] , \in.d[2].d[1] , \in.d[3].d[0] , \in.d[3].d[1] , \in.d[4].d[0] , \in.d[4].d[1] , \in.d[5].d[0] , \in.d[5].d[1] , \in.d[6].d[0] , \in.d[6].d[1] , \in.d[7].d[0] , \in.d[7].d[1] , \in.d[8].d[0] , \in.d[8].d[1] , \in.d[9].d[0] , \in.d[9].d[1] , \in.d[10].d[0] , \in.d[10].d[1] , \in.d[11].d[0] , \in.d[11].d[1] , \in.d[12].d[0] , \in.d[12].d[1] , \in.d[13].d[0] , \in.d[13].d[1] , \in.d[14].d[0] , \in.d[14].d[1] , out, vdd, vss); + input vdd; + input vss; + input \in.d[0].d[0] ; + input \in.d[0].d[1] ; + input \in.d[1].d[0] ; + input \in.d[1].d[1] ; + input \in.d[2].d[0] ; + input \in.d[2].d[1] ; + input \in.d[3].d[0] ; + input \in.d[3].d[1] ; + input \in.d[4].d[0] ; + input \in.d[4].d[1] ; + input \in.d[5].d[0] ; + input \in.d[5].d[1] ; + input \in.d[6].d[0] ; + input \in.d[6].d[1] ; + input \in.d[7].d[0] ; + input \in.d[7].d[1] ; + input \in.d[8].d[0] ; + input \in.d[8].d[1] ; + input \in.d[9].d[0] ; + input \in.d[9].d[1] ; + input \in.d[10].d[0] ; + input \in.d[10].d[1] ; + input \in.d[11].d[0] ; + input \in.d[11].d[1] ; + input \in.d[12].d[0] ; + input \in.d[12].d[1] ; + input \in.d[13].d[0] ; + input \in.d[13].d[1] ; + input \in.d[14].d[0] ; + input \in.d[14].d[1] ; + output out; + +// -- signals --- + reg \ct.in[14] ; + reg \ct.in[13] ; + wire \in.d[7].d[0] ; + wire \in.d[1].d[0] ; + wire \in.d[0].d[0] ; + reg \ct.in[4] ; + reg out; + wire \in.d[10].d[0] ; + wire \in.d[4].d[1] ; + reg \ct.in[3] ; + wire \in.d[9].d[1] ; + wire \in.d[1].d[1] ; + wire \in.d[2].d[0] ; + wire \in.d[10].d[1] ; + reg \ct.in[8] ; + wire \in.d[12].d[0] ; + wire \in.d[5].d[0] ; + wire \in.d[4].d[0] ; + reg \ct.in[10] ; + reg \ct.in[0] ; + wire \in.d[11].d[0] ; + wire \in.d[7].d[1] ; + wire \in.d[3].d[1] ; + reg \ct.in[11] ; + reg \ct.in[2] ; + reg \ct.in[9] ; + wire \in.d[13].d[0] ; + wire \in.d[14].d[1] ; + wire \in.d[11].d[1] ; + wire \in.d[13].d[1] ; + wire \in.d[0].d[1] ; + reg \ct.in[1] ; + wire \in.d[14].d[0] ; + wire \in.d[12].d[1] ; + wire \in.d[9].d[0] ; + wire \in.d[2].d[1] ; + reg \ct.in[5] ; + wire \in.d[5].d[1] ; + reg \ct.in[12] ; + reg \ct.in[6] ; + wire \in.d[3].d[0] ; + wire \in.d[8].d[0] ; + wire \in.d[8].d[1] ; + reg \ct.in[7] ; + wire \in.d[6].d[0] ; + wire \in.d[6].d[1] ; + +// --- instances +_0_0tmpl_0_0dataflow__neuro_0_0ctree_315_4 \ct (.\in[0] (\ct.in[0] ), .\in[1] (\ct.in[1] ), .\in[2] (\ct.in[2] ), .\in[3] (\ct.in[3] ), .\in[4] (\ct.in[4] ), .\in[5] (\ct.in[5] ), .\in[6] (\ct.in[6] ), .\in[7] (\ct.in[7] ), .\in[8] (\ct.in[8] ), .\in[9] (\ct.in[9] ), .\in[10] (\ct.in[10] ), .\in[11] (\ct.in[11] ), .\in[12] (\ct.in[12] ), .\in[13] (\ct.in[13] ), .\in[14] (\ct.in[14] ), .out(out), .vdd(vdd), .vss(vss)); +OR2_X1 \OR2_tf[0] (.y(\ct.in[0] ), .a(\in.d[0].d[1] ), .b(\in.d[0].d[0] ), .vdd(vdd), .vss(vss)); +OR2_X1 \OR2_tf[1] (.y(\ct.in[1] ), .a(\in.d[1].d[1] ), .b(\in.d[1].d[0] ), .vdd(vdd), .vss(vss)); +OR2_X1 \OR2_tf[2] (.y(\ct.in[2] ), .a(\in.d[2].d[1] ), .b(\in.d[2].d[0] ), .vdd(vdd), .vss(vss)); +OR2_X1 \OR2_tf[3] (.y(\ct.in[3] ), .a(\in.d[3].d[1] ), .b(\in.d[3].d[0] ), .vdd(vdd), .vss(vss)); +OR2_X1 \OR2_tf[4] (.y(\ct.in[4] ), .a(\in.d[4].d[1] ), .b(\in.d[4].d[0] ), .vdd(vdd), .vss(vss)); +OR2_X1 \OR2_tf[5] (.y(\ct.in[5] ), .a(\in.d[5].d[1] ), .b(\in.d[5].d[0] ), .vdd(vdd), .vss(vss)); +OR2_X1 \OR2_tf[6] (.y(\ct.in[6] ), .a(\in.d[6].d[1] ), .b(\in.d[6].d[0] ), .vdd(vdd), .vss(vss)); +OR2_X1 \OR2_tf[7] (.y(\ct.in[7] ), .a(\in.d[7].d[1] ), .b(\in.d[7].d[0] ), .vdd(vdd), .vss(vss)); +OR2_X1 \OR2_tf[8] (.y(\ct.in[8] ), .a(\in.d[8].d[1] ), .b(\in.d[8].d[0] ), .vdd(vdd), .vss(vss)); +OR2_X1 \OR2_tf[9] (.y(\ct.in[9] ), .a(\in.d[9].d[1] ), .b(\in.d[9].d[0] ), .vdd(vdd), .vss(vss)); +OR2_X1 \OR2_tf[10] (.y(\ct.in[10] ), .a(\in.d[10].d[1] ), .b(\in.d[10].d[0] ), .vdd(vdd), .vss(vss)); +OR2_X1 \OR2_tf[11] (.y(\ct.in[11] ), .a(\in.d[11].d[1] ), .b(\in.d[11].d[0] ), .vdd(vdd), .vss(vss)); +OR2_X1 \OR2_tf[12] (.y(\ct.in[12] ), .a(\in.d[12].d[1] ), .b(\in.d[12].d[0] ), .vdd(vdd), .vss(vss)); +OR2_X1 \OR2_tf[13] (.y(\ct.in[13] ), .a(\in.d[13].d[1] ), .b(\in.d[13].d[0] ), .vdd(vdd), .vss(vss)); +OR2_X1 \OR2_tf[14] (.y(\ct.in[14] ), .a(\in.d[14].d[1] ), .b(\in.d[14].d[0] ), .vdd(vdd), .vss(vss)); +endmodule + +// +// Verilog module for: A_1C1P_X1<> +// + + +// +// Verilog module for: BUF_X1<> +// + + +// +// Verilog module for: A_2C1N_RB_X4<> +// + + +// +// Verilog module for: buffer<15> +// +module _0_0tmpl_0_0dataflow__neuro_0_0buffer_315_4(\in.d.d[0].d[0] , \in.d.d[0].d[1] , \in.d.d[1].d[0] , \in.d.d[1].d[1] , \in.d.d[2].d[0] , \in.d.d[2].d[1] , \in.d.d[3].d[0] , \in.d.d[3].d[1] , \in.d.d[4].d[0] , \in.d.d[4].d[1] , \in.d.d[5].d[0] , \in.d.d[5].d[1] , \in.d.d[6].d[0] , \in.d.d[6].d[1] , \in.d.d[7].d[0] , \in.d.d[7].d[1] , \in.d.d[8].d[0] , \in.d.d[8].d[1] , \in.d.d[9].d[0] , \in.d.d[9].d[1] , \in.d.d[10].d[0] , \in.d.d[10].d[1] , \in.d.d[11].d[0] , \in.d.d[11].d[1] , \in.d.d[12].d[0] , \in.d.d[12].d[1] , \in.d.d[13].d[0] , \in.d.d[13].d[1] , \in.d.d[14].d[0] , \in.d.d[14].d[1] , \in.a , \in.v , \out.d.d[0].d[0] , \out.d.d[0].d[1] , \out.d.d[1].d[0] , \out.d.d[1].d[1] , \out.d.d[2].d[0] , \out.d.d[2].d[1] , \out.d.d[3].d[0] , \out.d.d[3].d[1] , \out.d.d[4].d[0] , \out.d.d[4].d[1] , \out.d.d[5].d[0] , \out.d.d[5].d[1] , \out.d.d[6].d[0] , \out.d.d[6].d[1] , \out.d.d[7].d[0] , \out.d.d[7].d[1] , \out.d.d[8].d[0] , \out.d.d[8].d[1] , \out.d.d[9].d[0] , \out.d.d[9].d[1] , \out.d.d[10].d[0] , \out.d.d[10].d[1] , \out.d.d[11].d[0] , \out.d.d[11].d[1] , \out.d.d[12].d[0] , \out.d.d[12].d[1] , \out.d.d[13].d[0] , \out.d.d[13].d[1] , \out.d.d[14].d[0] , \out.d.d[14].d[1] , \out.a , \out.v , reset_B, vdd, vss); + input vdd; + input vss; + input \in.d.d[0].d[0] ; + input \in.d.d[0].d[1] ; + input \in.d.d[1].d[0] ; + input \in.d.d[1].d[1] ; + input \in.d.d[2].d[0] ; + input \in.d.d[2].d[1] ; + input \in.d.d[3].d[0] ; + input \in.d.d[3].d[1] ; + input \in.d.d[4].d[0] ; + input \in.d.d[4].d[1] ; + input \in.d.d[5].d[0] ; + input \in.d.d[5].d[1] ; + input \in.d.d[6].d[0] ; + input \in.d.d[6].d[1] ; + input \in.d.d[7].d[0] ; + input \in.d.d[7].d[1] ; + input \in.d.d[8].d[0] ; + input \in.d.d[8].d[1] ; + input \in.d.d[9].d[0] ; + input \in.d.d[9].d[1] ; + input \in.d.d[10].d[0] ; + input \in.d.d[10].d[1] ; + input \in.d.d[11].d[0] ; + input \in.d.d[11].d[1] ; + input \in.d.d[12].d[0] ; + input \in.d.d[12].d[1] ; + input \in.d.d[13].d[0] ; + input \in.d.d[13].d[1] ; + input \in.d.d[14].d[0] ; + input \in.d.d[14].d[1] ; + output \in.a ; + output \in.v ; + output \out.d.d[0].d[0] ; + output \out.d.d[0].d[1] ; + output \out.d.d[1].d[0] ; + output \out.d.d[1].d[1] ; + output \out.d.d[2].d[0] ; + output \out.d.d[2].d[1] ; + output \out.d.d[3].d[0] ; + output \out.d.d[3].d[1] ; + output \out.d.d[4].d[0] ; + output \out.d.d[4].d[1] ; + output \out.d.d[5].d[0] ; + output \out.d.d[5].d[1] ; + output \out.d.d[6].d[0] ; + output \out.d.d[6].d[1] ; + output \out.d.d[7].d[0] ; + output \out.d.d[7].d[1] ; + output \out.d.d[8].d[0] ; + output \out.d.d[8].d[1] ; + output \out.d.d[9].d[0] ; + output \out.d.d[9].d[1] ; + output \out.d.d[10].d[0] ; + output \out.d.d[10].d[1] ; + output \out.d.d[11].d[0] ; + output \out.d.d[11].d[1] ; + output \out.d.d[12].d[0] ; + output \out.d.d[12].d[1] ; + output \out.d.d[13].d[0] ; + output \out.d.d[13].d[1] ; + output \out.d.d[14].d[0] ; + output \out.d.d[14].d[1] ; + input \out.a ; + input \out.v ; + input reset_B; + +// -- signals --- + reg \out.d.d[8].d[0] ; + reg \out.d.d[6].d[1] ; + reg \out.d.d[5].d[1] ; + reg \_en_X_f[0] ; + wire \in.d.d[14].d[0] ; + wire \in.d.d[12].d[1] ; + reg \out.d.d[12].d[1] ; + wire \in.d.d[5].d[0] ; + reg \out.d.d[11].d[0] ; + reg \out.d.d[7].d[0] ; + reg _reset_BX; + reg \_reset_BXX[0] ; + wire \in.d.d[14].d[1] ; + wire \in.d.d[10].d[1] ; + wire \in.d.d[2].d[0] ; + wire \out.a ; + reg \out.d.d[0].d[0] ; + wire \in.d.d[0].d[0] ; + reg \out.d.d[10].d[1] ; + wire \in.d.d[11].d[0] ; + wire \in.d.d[7].d[1] ; + wire \in.d.d[3].d[1] ; + reg _in_v; + reg \in.v ; + reg _out_a_B; + wire \in.d.d[9].d[1] ; + wire \in.d.d[9].d[0] ; + wire \in.d.d[4].d[1] ; + reg \out.d.d[10].d[0] ; + wire \in.d.d[1].d[1] ; + wire \in.d.d[12].d[0] ; + wire \in.d.d[1].d[0] ; + reg \_out_a_BX_f[0] ; + reg \out.d.d[3].d[1] ; + reg \out.d.d[0].d[1] ; + reg \out.d.d[2].d[1] ; + reg \out.d.d[4].d[1] ; + wire reset_B; + wire \in.d.d[8].d[0] ; + reg \out.d.d[12].d[0] ; + wire \in.d.d[5].d[1] ; + reg \out.d.d[9].d[0] ; + reg \out.d.d[7].d[1] ; + reg \_out_a_BX_t[0] ; + wire \in.d.d[10].d[0] ; + reg \out.d.d[1].d[0] ; + wire \in.d.d[6].d[0] ; + wire \in.d.d[7].d[0] ; + wire \in.d.d[13].d[1] ; + wire \out.v ; + reg \out.d.d[2].d[0] ; + wire \in.d.d[13].d[0] ; + wire \in.d.d[11].d[1] ; + wire \in.d.d[6].d[1] ; + reg \out.d.d[3].d[0] ; + reg \out.d.d[11].d[1] ; + reg \out.d.d[9].d[1] ; + wire \in.d.d[3].d[0] ; + reg _en; + reg \out.d.d[13].d[0] ; + reg \out.d.d[5].d[0] ; + reg \in.a ; + reg \out.d.d[14].d[0] ; + reg \out.d.d[4].d[0] ; + wire \in.d.d[8].d[1] ; + reg \out.d.d[13].d[1] ; + reg \out.d.d[8].d[1] ; + reg \out.d.d[14].d[1] ; + wire \in.d.d[2].d[1] ; + reg \out.d.d[6].d[0] ; + wire \in.d.d[4].d[0] ; + reg \out.d.d[1].d[1] ; + reg \_en_X_t[0] ; + wire \in.d.d[0].d[1] ; + +// --- instances +_0_0tmpl_0_0dataflow__neuro_0_0sigbuf_315_4 \out_a_B_buf_t (.in(_out_a_B), .\out[0] (\_out_a_BX_f[0] ), .vdd(vdd), .vss(vss)); +A_3C_RB_X4 \inack_ctl (.y(\in.a ), .c1(_en), .c2(\in.v ), .c3(\out.v ), .pr_B(_reset_BX), .sr_B(_reset_BX), .vdd(vdd), .vss(vss)); +_0_0tmpl_0_0dataflow__neuro_0_0sigbuf_315_4 \reset_bufarray (.in(_reset_BX), .\out[0] (\_reset_BXX[0] ), .vdd(vdd), .vss(vss)); +BUF_X4 \in_v_buf (.y(\in.v ), .a(_in_v), .vdd(vdd), .vss(vss)); +INV_X1 \out_a_inv (.y(_out_a_B), .a(\out.a ), .vdd(vdd), .vss(vss)); +_0_0tmpl_0_0dataflow__neuro_0_0vtree_315_4 \vc (.\in.d[0].d[0] (\in.d.d[0].d[0] ), .\in.d[0].d[1] (\in.d.d[0].d[1] ), .\in.d[1].d[0] (\in.d.d[1].d[0] ), .\in.d[1].d[1] (\in.d.d[1].d[1] ), .\in.d[2].d[0] (\in.d.d[2].d[0] ), .\in.d[2].d[1] (\in.d.d[2].d[1] ), .\in.d[3].d[0] (\in.d.d[3].d[0] ), .\in.d[3].d[1] (\in.d.d[3].d[1] ), .\in.d[4].d[0] (\in.d.d[4].d[0] ), .\in.d[4].d[1] (\in.d.d[4].d[1] ), .\in.d[5].d[0] (\in.d.d[5].d[0] ), .\in.d[5].d[1] (\in.d.d[5].d[1] ), .\in.d[6].d[0] (\in.d.d[6].d[0] ), .\in.d[6].d[1] (\in.d.d[6].d[1] ), .\in.d[7].d[0] (\in.d.d[7].d[0] ), .\in.d[7].d[1] (\in.d.d[7].d[1] ), .\in.d[8].d[0] (\in.d.d[8].d[0] ), .\in.d[8].d[1] (\in.d.d[8].d[1] ), .\in.d[9].d[0] (\in.d.d[9].d[0] ), .\in.d[9].d[1] (\in.d.d[9].d[1] ), .\in.d[10].d[0] (\in.d.d[10].d[0] ), .\in.d[10].d[1] (\in.d.d[10].d[1] ), .\in.d[11].d[0] (\in.d.d[11].d[0] ), .\in.d[11].d[1] (\in.d.d[11].d[1] ), .\in.d[12].d[0] (\in.d.d[12].d[0] ), .\in.d[12].d[1] (\in.d.d[12].d[1] ), .\in.d[13].d[0] (\in.d.d[13].d[0] ), .\in.d[13].d[1] (\in.d.d[13].d[1] ), .\in.d[14].d[0] (\in.d.d[14].d[0] ), .\in.d[14].d[1] (\in.d.d[14].d[1] ), .out(_in_v), .vdd(vdd), .vss(vss)); +_0_0tmpl_0_0dataflow__neuro_0_0sigbuf_315_4 \out_a_B_buf_f (.in(_out_a_B), .\out[0] (\_out_a_BX_t[0] ), .vdd(vdd), .vss(vss)); +A_1C1P_X1 \en_ctl (.y(_en), .c1(\in.a ), .p1(\out.v ), .vdd(vdd), .vss(vss)); +BUF_X1 \reset_buf (.y(_reset_BX), .a(reset_B), .vdd(vdd), .vss(vss)); +_0_0tmpl_0_0dataflow__neuro_0_0sigbuf_315_4 \en_buf_f (.in(_en), .\out[0] (\_en_X_f[0] ), .vdd(vdd), .vss(vss)); +_0_0tmpl_0_0dataflow__neuro_0_0sigbuf_315_4 \en_buf_t (.in(_en), .\out[0] (\_en_X_t[0] ), .vdd(vdd), .vss(vss)); +A_2C1N_RB_X4 \t_buf_func[0] (.y(\out.d.d[0].d[1] ), .c1(\_en_X_t[0] ), .c2(\_out_a_BX_t[0] ), .n1(\in.d.d[0].d[1] ), .pr_B(\_reset_BXX[0] ), .sr_B(\_reset_BXX[0] ), .vdd(vdd), .vss(vss)); +A_2C1N_RB_X4 \t_buf_func[1] (.y(\out.d.d[1].d[1] ), .c1(\_en_X_t[0] ), .c2(\_out_a_BX_t[0] ), .n1(\in.d.d[1].d[1] ), .pr_B(\_reset_BXX[0] ), .sr_B(\_reset_BXX[0] ), .vdd(vdd), .vss(vss)); +A_2C1N_RB_X4 \t_buf_func[2] (.y(\out.d.d[2].d[1] ), .c1(\_en_X_t[0] ), .c2(\_out_a_BX_t[0] ), .n1(\in.d.d[2].d[1] ), .pr_B(\_reset_BXX[0] ), .sr_B(\_reset_BXX[0] ), .vdd(vdd), .vss(vss)); +A_2C1N_RB_X4 \t_buf_func[3] (.y(\out.d.d[3].d[1] ), .c1(\_en_X_t[0] ), .c2(\_out_a_BX_t[0] ), .n1(\in.d.d[3].d[1] ), .pr_B(\_reset_BXX[0] ), .sr_B(\_reset_BXX[0] ), .vdd(vdd), .vss(vss)); +A_2C1N_RB_X4 \t_buf_func[4] (.y(\out.d.d[4].d[1] ), .c1(\_en_X_t[0] ), .c2(\_out_a_BX_t[0] ), .n1(\in.d.d[4].d[1] ), .pr_B(\_reset_BXX[0] ), .sr_B(\_reset_BXX[0] ), .vdd(vdd), .vss(vss)); +A_2C1N_RB_X4 \t_buf_func[5] (.y(\out.d.d[5].d[1] ), .c1(\_en_X_t[0] ), .c2(\_out_a_BX_t[0] ), .n1(\in.d.d[5].d[1] ), .pr_B(\_reset_BXX[0] ), .sr_B(\_reset_BXX[0] ), .vdd(vdd), .vss(vss)); +A_2C1N_RB_X4 \t_buf_func[6] (.y(\out.d.d[6].d[1] ), .c1(\_en_X_t[0] ), .c2(\_out_a_BX_t[0] ), .n1(\in.d.d[6].d[1] ), .pr_B(\_reset_BXX[0] ), .sr_B(\_reset_BXX[0] ), .vdd(vdd), .vss(vss)); +A_2C1N_RB_X4 \t_buf_func[7] (.y(\out.d.d[7].d[1] ), .c1(\_en_X_t[0] ), .c2(\_out_a_BX_t[0] ), .n1(\in.d.d[7].d[1] ), .pr_B(\_reset_BXX[0] ), .sr_B(\_reset_BXX[0] ), .vdd(vdd), .vss(vss)); +A_2C1N_RB_X4 \t_buf_func[8] (.y(\out.d.d[8].d[1] ), .c1(\_en_X_t[0] ), .c2(\_out_a_BX_t[0] ), .n1(\in.d.d[8].d[1] ), .pr_B(\_reset_BXX[0] ), .sr_B(\_reset_BXX[0] ), .vdd(vdd), .vss(vss)); +A_2C1N_RB_X4 \t_buf_func[9] (.y(\out.d.d[9].d[1] ), .c1(\_en_X_t[0] ), .c2(\_out_a_BX_t[0] ), .n1(\in.d.d[9].d[1] ), .pr_B(\_reset_BXX[0] ), .sr_B(\_reset_BXX[0] ), .vdd(vdd), .vss(vss)); +A_2C1N_RB_X4 \t_buf_func[10] (.y(\out.d.d[10].d[1] ), .c1(\_en_X_t[0] ), .c2(\_out_a_BX_t[0] ), .n1(\in.d.d[10].d[1] ), .pr_B(\_reset_BXX[0] ), .sr_B(\_reset_BXX[0] ), .vdd(vdd), .vss(vss)); +A_2C1N_RB_X4 \t_buf_func[11] (.y(\out.d.d[11].d[1] ), .c1(\_en_X_t[0] ), .c2(\_out_a_BX_t[0] ), .n1(\in.d.d[11].d[1] ), .pr_B(\_reset_BXX[0] ), .sr_B(\_reset_BXX[0] ), .vdd(vdd), .vss(vss)); +A_2C1N_RB_X4 \t_buf_func[12] (.y(\out.d.d[12].d[1] ), .c1(\_en_X_t[0] ), .c2(\_out_a_BX_t[0] ), .n1(\in.d.d[12].d[1] ), .pr_B(\_reset_BXX[0] ), .sr_B(\_reset_BXX[0] ), .vdd(vdd), .vss(vss)); +A_2C1N_RB_X4 \t_buf_func[13] (.y(\out.d.d[13].d[1] ), .c1(\_en_X_t[0] ), .c2(\_out_a_BX_t[0] ), .n1(\in.d.d[13].d[1] ), .pr_B(\_reset_BXX[0] ), .sr_B(\_reset_BXX[0] ), .vdd(vdd), .vss(vss)); +A_2C1N_RB_X4 \t_buf_func[14] (.y(\out.d.d[14].d[1] ), .c1(\_en_X_t[0] ), .c2(\_out_a_BX_t[0] ), .n1(\in.d.d[14].d[1] ), .pr_B(\_reset_BXX[0] ), .sr_B(\_reset_BXX[0] ), .vdd(vdd), .vss(vss)); +A_2C1N_RB_X4 \f_buf_func[0] (.y(\out.d.d[0].d[0] ), .c1(\_en_X_f[0] ), .c2(\_out_a_BX_f[0] ), .n1(\in.d.d[0].d[0] ), .pr_B(\_reset_BXX[0] ), .sr_B(\_reset_BXX[0] ), .vdd(vdd), .vss(vss)); +A_2C1N_RB_X4 \f_buf_func[1] (.y(\out.d.d[1].d[0] ), .c1(\_en_X_f[0] ), .c2(\_out_a_BX_f[0] ), .n1(\in.d.d[1].d[0] ), .pr_B(\_reset_BXX[0] ), .sr_B(\_reset_BXX[0] ), .vdd(vdd), .vss(vss)); +A_2C1N_RB_X4 \f_buf_func[2] (.y(\out.d.d[2].d[0] ), .c1(\_en_X_f[0] ), .c2(\_out_a_BX_f[0] ), .n1(\in.d.d[2].d[0] ), .pr_B(\_reset_BXX[0] ), .sr_B(\_reset_BXX[0] ), .vdd(vdd), .vss(vss)); +A_2C1N_RB_X4 \f_buf_func[3] (.y(\out.d.d[3].d[0] ), .c1(\_en_X_f[0] ), .c2(\_out_a_BX_f[0] ), .n1(\in.d.d[3].d[0] ), .pr_B(\_reset_BXX[0] ), .sr_B(\_reset_BXX[0] ), .vdd(vdd), .vss(vss)); +A_2C1N_RB_X4 \f_buf_func[4] (.y(\out.d.d[4].d[0] ), .c1(\_en_X_f[0] ), .c2(\_out_a_BX_f[0] ), .n1(\in.d.d[4].d[0] ), .pr_B(\_reset_BXX[0] ), .sr_B(\_reset_BXX[0] ), .vdd(vdd), .vss(vss)); +A_2C1N_RB_X4 \f_buf_func[5] (.y(\out.d.d[5].d[0] ), .c1(\_en_X_f[0] ), .c2(\_out_a_BX_f[0] ), .n1(\in.d.d[5].d[0] ), .pr_B(\_reset_BXX[0] ), .sr_B(\_reset_BXX[0] ), .vdd(vdd), .vss(vss)); +A_2C1N_RB_X4 \f_buf_func[6] (.y(\out.d.d[6].d[0] ), .c1(\_en_X_f[0] ), .c2(\_out_a_BX_f[0] ), .n1(\in.d.d[6].d[0] ), .pr_B(\_reset_BXX[0] ), .sr_B(\_reset_BXX[0] ), .vdd(vdd), .vss(vss)); +A_2C1N_RB_X4 \f_buf_func[7] (.y(\out.d.d[7].d[0] ), .c1(\_en_X_f[0] ), .c2(\_out_a_BX_f[0] ), .n1(\in.d.d[7].d[0] ), .pr_B(\_reset_BXX[0] ), .sr_B(\_reset_BXX[0] ), .vdd(vdd), .vss(vss)); +A_2C1N_RB_X4 \f_buf_func[8] (.y(\out.d.d[8].d[0] ), .c1(\_en_X_f[0] ), .c2(\_out_a_BX_f[0] ), .n1(\in.d.d[8].d[0] ), .pr_B(\_reset_BXX[0] ), .sr_B(\_reset_BXX[0] ), .vdd(vdd), .vss(vss)); +A_2C1N_RB_X4 \f_buf_func[9] (.y(\out.d.d[9].d[0] ), .c1(\_en_X_f[0] ), .c2(\_out_a_BX_f[0] ), .n1(\in.d.d[9].d[0] ), .pr_B(\_reset_BXX[0] ), .sr_B(\_reset_BXX[0] ), .vdd(vdd), .vss(vss)); +A_2C1N_RB_X4 \f_buf_func[10] (.y(\out.d.d[10].d[0] ), .c1(\_en_X_f[0] ), .c2(\_out_a_BX_f[0] ), .n1(\in.d.d[10].d[0] ), .pr_B(\_reset_BXX[0] ), .sr_B(\_reset_BXX[0] ), .vdd(vdd), .vss(vss)); +A_2C1N_RB_X4 \f_buf_func[11] (.y(\out.d.d[11].d[0] ), .c1(\_en_X_f[0] ), .c2(\_out_a_BX_f[0] ), .n1(\in.d.d[11].d[0] ), .pr_B(\_reset_BXX[0] ), .sr_B(\_reset_BXX[0] ), .vdd(vdd), .vss(vss)); +A_2C1N_RB_X4 \f_buf_func[12] (.y(\out.d.d[12].d[0] ), .c1(\_en_X_f[0] ), .c2(\_out_a_BX_f[0] ), .n1(\in.d.d[12].d[0] ), .pr_B(\_reset_BXX[0] ), .sr_B(\_reset_BXX[0] ), .vdd(vdd), .vss(vss)); +A_2C1N_RB_X4 \f_buf_func[13] (.y(\out.d.d[13].d[0] ), .c1(\_en_X_f[0] ), .c2(\_out_a_BX_f[0] ), .n1(\in.d.d[13].d[0] ), .pr_B(\_reset_BXX[0] ), .sr_B(\_reset_BXX[0] ), .vdd(vdd), .vss(vss)); +A_2C1N_RB_X4 \f_buf_func[14] (.y(\out.d.d[14].d[0] ), .c1(\_en_X_f[0] ), .c2(\_out_a_BX_f[0] ), .n1(\in.d.d[14].d[0] ), .pr_B(\_reset_BXX[0] ), .sr_B(\_reset_BXX[0] ), .vdd(vdd), .vss(vss)); +endmodule + +// +// Verilog module for: buffer_15<> +// +module buffer__15(\in.d.d[0].d[0] , \in.d.d[0].d[1] , \in.d.d[1].d[0] , \in.d.d[1].d[1] , \in.d.d[2].d[0] , \in.d.d[2].d[1] , \in.d.d[3].d[0] , \in.d.d[3].d[1] , \in.d.d[4].d[0] , \in.d.d[4].d[1] , \in.d.d[5].d[0] , \in.d.d[5].d[1] , \in.d.d[6].d[0] , \in.d.d[6].d[1] , \in.d.d[7].d[0] , \in.d.d[7].d[1] , \in.d.d[8].d[0] , \in.d.d[8].d[1] , \in.d.d[9].d[0] , \in.d.d[9].d[1] , \in.d.d[10].d[0] , \in.d.d[10].d[1] , \in.d.d[11].d[0] , \in.d.d[11].d[1] , \in.d.d[12].d[0] , \in.d.d[12].d[1] , \in.d.d[13].d[0] , \in.d.d[13].d[1] , \in.d.d[14].d[0] , \in.d.d[14].d[1] , \in.a , \in.v , \out.d.d[0].d[0] , \out.d.d[0].d[1] , \out.d.d[1].d[0] , \out.d.d[1].d[1] , \out.d.d[2].d[0] , \out.d.d[2].d[1] , \out.d.d[3].d[0] , \out.d.d[3].d[1] , \out.d.d[4].d[0] , \out.d.d[4].d[1] , \out.d.d[5].d[0] , \out.d.d[5].d[1] , \out.d.d[6].d[0] , \out.d.d[6].d[1] , \out.d.d[7].d[0] , \out.d.d[7].d[1] , \out.d.d[8].d[0] , \out.d.d[8].d[1] , \out.d.d[9].d[0] , \out.d.d[9].d[1] , \out.d.d[10].d[0] , \out.d.d[10].d[1] , \out.d.d[11].d[0] , \out.d.d[11].d[1] , \out.d.d[12].d[0] , \out.d.d[12].d[1] , \out.d.d[13].d[0] , \out.d.d[13].d[1] , \out.d.d[14].d[0] , \out.d.d[14].d[1] , \out.a , \out.v , vdd, vss); + input vdd; + input vss; + input \in.d.d[0].d[0] ; + input \in.d.d[0].d[1] ; + input \in.d.d[1].d[0] ; + input \in.d.d[1].d[1] ; + input \in.d.d[2].d[0] ; + input \in.d.d[2].d[1] ; + input \in.d.d[3].d[0] ; + input \in.d.d[3].d[1] ; + input \in.d.d[4].d[0] ; + input \in.d.d[4].d[1] ; + input \in.d.d[5].d[0] ; + input \in.d.d[5].d[1] ; + input \in.d.d[6].d[0] ; + input \in.d.d[6].d[1] ; + input \in.d.d[7].d[0] ; + input \in.d.d[7].d[1] ; + input \in.d.d[8].d[0] ; + input \in.d.d[8].d[1] ; + input \in.d.d[9].d[0] ; + input \in.d.d[9].d[1] ; + input \in.d.d[10].d[0] ; + input \in.d.d[10].d[1] ; + input \in.d.d[11].d[0] ; + input \in.d.d[11].d[1] ; + input \in.d.d[12].d[0] ; + input \in.d.d[12].d[1] ; + input \in.d.d[13].d[0] ; + input \in.d.d[13].d[1] ; + input \in.d.d[14].d[0] ; + input \in.d.d[14].d[1] ; + output \in.a ; + output \in.v ; + output \out.d.d[0].d[0] ; + output \out.d.d[0].d[1] ; + output \out.d.d[1].d[0] ; + output \out.d.d[1].d[1] ; + output \out.d.d[2].d[0] ; + output \out.d.d[2].d[1] ; + output \out.d.d[3].d[0] ; + output \out.d.d[3].d[1] ; + output \out.d.d[4].d[0] ; + output \out.d.d[4].d[1] ; + output \out.d.d[5].d[0] ; + output \out.d.d[5].d[1] ; + output \out.d.d[6].d[0] ; + output \out.d.d[6].d[1] ; + output \out.d.d[7].d[0] ; + output \out.d.d[7].d[1] ; + output \out.d.d[8].d[0] ; + output \out.d.d[8].d[1] ; + output \out.d.d[9].d[0] ; + output \out.d.d[9].d[1] ; + output \out.d.d[10].d[0] ; + output \out.d.d[10].d[1] ; + output \out.d.d[11].d[0] ; + output \out.d.d[11].d[1] ; + output \out.d.d[12].d[0] ; + output \out.d.d[12].d[1] ; + output \out.d.d[13].d[0] ; + output \out.d.d[13].d[1] ; + output \out.d.d[14].d[0] ; + output \out.d.d[14].d[1] ; + input \out.a ; + input \out.v ; + +// -- signals --- + reg \out.d.d[2].d[1] ; + wire \in.d.d[10].d[0] ; + reg \out.d.d[1].d[0] ; + wire \in.d.d[10].d[1] ; + wire \in.d.d[4].d[0] ; + reg \out.d.d[10].d[1] ; + wire \in.d.d[13].d[0] ; + reg \out.d.d[13].d[0] ; + reg \out.d.d[9].d[1] ; + wire \in.d.d[2].d[1] ; + reg \out.d.d[2].d[0] ; + reg \out.d.d[0].d[0] ; + reg \out.d.d[14].d[0] ; + reg \out.d.d[5].d[0] ; + reg \in.a ; + reg _reset_B; + wire \out.v ; + wire \out.a ; + reg \out.d.d[4].d[0] ; + wire \in.d.d[9].d[1] ; + wire \in.d.d[3].d[0] ; + wire \in.d.d[11].d[0] ; + wire \in.d.d[2].d[0] ; + reg \out.d.d[6].d[0] ; + reg \out.d.d[13].d[1] ; + reg \out.d.d[10].d[0] ; + reg \out.d.d[7].d[1] ; + wire \in.d.d[12].d[1] ; + wire \in.d.d[6].d[1] ; + reg \out.d.d[7].d[0] ; + reg \out.d.d[3].d[0] ; + wire \in.d.d[1].d[0] ; + reg \out.d.d[14].d[1] ; + reg \out.d.d[8].d[0] ; + wire \in.d.d[13].d[1] ; + wire \in.d.d[7].d[0] ; + reg \out.d.d[12].d[0] ; + wire \in.d.d[8].d[1] ; + reg \out.d.d[4].d[1] ; + wire \in.d.d[14].d[0] ; + wire \in.d.d[5].d[1] ; + wire \in.d.d[1].d[1] ; + wire \in.d.d[9].d[0] ; + wire \in.d.d[14].d[1] ; + reg \out.d.d[11].d[0] ; + reg \out.d.d[6].d[1] ; + wire \in.d.d[12].d[0] ; + wire \in.d.d[7].d[1] ; + reg \out.d.d[0].d[1] ; + wire \in.d.d[11].d[1] ; + wire \in.d.d[8].d[0] ; + wire \in.d.d[5].d[0] ; + reg \out.d.d[1].d[1] ; + reg \in.v ; + wire \in.d.d[0].d[1] ; + wire \in.d.d[0].d[0] ; + reg \out.d.d[5].d[1] ; + reg \out.d.d[8].d[1] ; + reg \out.d.d[3].d[1] ; + wire \in.d.d[6].d[0] ; + reg \out.d.d[11].d[1] ; + wire \in.d.d[3].d[1] ; + reg \out.d.d[12].d[1] ; + wire \in.d.d[4].d[1] ; + reg \out.d.d[9].d[0] ; + +// --- instances +_0_0tmpl_0_0dataflow__neuro_0_0buffer_315_4 \buffer_test (.\in.d.d[0].d[0] (\in.d.d[0].d[0] ), .\in.d.d[0].d[1] (\in.d.d[0].d[1] ), .\in.d.d[1].d[0] (\in.d.d[1].d[0] ), .\in.d.d[1].d[1] (\in.d.d[1].d[1] ), .\in.d.d[2].d[0] (\in.d.d[2].d[0] ), .\in.d.d[2].d[1] (\in.d.d[2].d[1] ), .\in.d.d[3].d[0] (\in.d.d[3].d[0] ), .\in.d.d[3].d[1] (\in.d.d[3].d[1] ), .\in.d.d[4].d[0] (\in.d.d[4].d[0] ), .\in.d.d[4].d[1] (\in.d.d[4].d[1] ), .\in.d.d[5].d[0] (\in.d.d[5].d[0] ), .\in.d.d[5].d[1] (\in.d.d[5].d[1] ), .\in.d.d[6].d[0] (\in.d.d[6].d[0] ), .\in.d.d[6].d[1] (\in.d.d[6].d[1] ), .\in.d.d[7].d[0] (\in.d.d[7].d[0] ), .\in.d.d[7].d[1] (\in.d.d[7].d[1] ), .\in.d.d[8].d[0] (\in.d.d[8].d[0] ), .\in.d.d[8].d[1] (\in.d.d[8].d[1] ), .\in.d.d[9].d[0] (\in.d.d[9].d[0] ), .\in.d.d[9].d[1] (\in.d.d[9].d[1] ), .\in.d.d[10].d[0] (\in.d.d[10].d[0] ), .\in.d.d[10].d[1] (\in.d.d[10].d[1] ), .\in.d.d[11].d[0] (\in.d.d[11].d[0] ), .\in.d.d[11].d[1] (\in.d.d[11].d[1] ), .\in.d.d[12].d[0] (\in.d.d[12].d[0] ), .\in.d.d[12].d[1] (\in.d.d[12].d[1] ), .\in.d.d[13].d[0] (\in.d.d[13].d[0] ), .\in.d.d[13].d[1] (\in.d.d[13].d[1] ), .\in.d.d[14].d[0] (\in.d.d[14].d[0] ), .\in.d.d[14].d[1] (\in.d.d[14].d[1] ), .\in.a (\in.a ), .\in.v (\in.v ), .\out.d.d[0].d[0] (\out.d.d[0].d[0] ), .\out.d.d[0].d[1] (\out.d.d[0].d[1] ), .\out.d.d[1].d[0] (\out.d.d[1].d[0] ), .\out.d.d[1].d[1] (\out.d.d[1].d[1] ), .\out.d.d[2].d[0] (\out.d.d[2].d[0] ), .\out.d.d[2].d[1] (\out.d.d[2].d[1] ), .\out.d.d[3].d[0] (\out.d.d[3].d[0] ), .\out.d.d[3].d[1] (\out.d.d[3].d[1] ), .\out.d.d[4].d[0] (\out.d.d[4].d[0] ), .\out.d.d[4].d[1] (\out.d.d[4].d[1] ), .\out.d.d[5].d[0] (\out.d.d[5].d[0] ), .\out.d.d[5].d[1] (\out.d.d[5].d[1] ), .\out.d.d[6].d[0] (\out.d.d[6].d[0] ), .\out.d.d[6].d[1] (\out.d.d[6].d[1] ), .\out.d.d[7].d[0] (\out.d.d[7].d[0] ), .\out.d.d[7].d[1] (\out.d.d[7].d[1] ), .\out.d.d[8].d[0] (\out.d.d[8].d[0] ), .\out.d.d[8].d[1] (\out.d.d[8].d[1] ), .\out.d.d[9].d[0] (\out.d.d[9].d[0] ), .\out.d.d[9].d[1] (\out.d.d[9].d[1] ), .\out.d.d[10].d[0] (\out.d.d[10].d[0] ), .\out.d.d[10].d[1] (\out.d.d[10].d[1] ), .\out.d.d[11].d[0] (\out.d.d[11].d[0] ), .\out.d.d[11].d[1] (\out.d.d[11].d[1] ), .\out.d.d[12].d[0] (\out.d.d[12].d[0] ), .\out.d.d[12].d[1] (\out.d.d[12].d[1] ), .\out.d.d[13].d[0] (\out.d.d[13].d[0] ), .\out.d.d[13].d[1] (\out.d.d[13].d[1] ), .\out.d.d[14].d[0] (\out.d.d[14].d[0] ), .\out.d.d[14].d[1] (\out.d.d[14].d[1] ), .\out.a (\out.a ), .\out.v (\out.v ), .reset_B(_reset_B), .vdd(vdd), .vss(vss)); +endmodule + diff --git a/test/unit_tests/encoder2D_7/run/prsim.out b/test/unit_tests/encoder2D_7/run/prsim.out new file mode 100644 index 0000000..f09da3e --- /dev/null +++ b/test/unit_tests/encoder2D_7/run/prsim.out @@ -0,0 +1,143 @@ +e.y[0].r e.e.Yarb.arbs[0].or_cell._y e.e.x_ack_arb[0].buf1._y e.e.vtree_x.OR2_tf[0]._y e.e.buf_s_func._in_vX e.e._arb_out_x.r e.e.buf_s_func._en_X_t[0] e.y[0].a e.out.v e.e.buf_s_func._in_vXX_t[0] e.e.Yarb.arbs[0].ack_cell2._y e.e.y_ack_arb[1].buf1._y e.e._y_temp[1].a e.e.buf_s_func.out_a_B_buf_f.buf1._y e.e.buf_s_func._out_a_B e.e.buf_s_func._out_a_BX_t[0] e.e.x_enc_out.d[0].t e.x[0].r e.y[1].r e.e._x_temp[1].a e.e.Xarb.arbs[0]._y2_arb e.e._arb_out_y.r e.e._in_x_v e.out.a e.x[1].r e.e.y_enc_out.d[0].t e.e.x_enc_out.d[0].f e.e.y_enc_out.d[0].f e.e.y_encoder.ors_f[0].b._y e.e.vtree_y.OR2_tf[0]._y e.e.buf_s_func._in_vXX_f[0] e.e.buf_s_func._en_X_f[0] e.x[0].a e.e._y_temp[0].a e.e._in_xy_v.y e.e._in_y_v e.e.vtree_x.ct.b._y e.e._x_temp[0].a e.e._en e.e.x_encoder.ors_t[0].b._y e.x[1].a e.e.buf_s_func.in_v_buf_f.buf1._y e.e.Yarb.arbs[0].ack_cell1._y e.e._x_v_B e.e.Yarb.arbs[0]._y1_arb e.e.vtree_x.ct.in[0] e.e.buf_s_func._out_a_BX_f[0] e.e.buf_s_func.in_v_prebuf._y e.e.vtree_y.ct.in[0] e.y[1].a e.e._x_v e.e.Xarb.arbs[0].arbiter._y1 e.e.Xarb.arbs[0].or_cell._y e.e._in_xy_v._y e.e.Xarb.arbs[0].ack_cell1._y e.e.Xarb.arbs[0]._y1_arb e.e.x_encoder.ors_f[0].b._y e.e.Yarb.arbs[0].arbiter._y1 e.e.y_encoder.ors_t[0].b._y e.e.vtree_y.ct.b._y e.e.buf_s_func.out_a_B_buf_t.buf1._y e.e.Yarb.arbs[0]._y2_arb e.e.Xarb.arbs[0].arbiter._y2 e.e.Xarb.arbs[0].ack_cell2._y e.e.buf_s_func.in_v_buf_t.buf1._y e.e.y_ack_arb[0].buf1._y e.e.x_ack_arb[1].buf1._y e.e.Yarb.arbs[0].arbiter._y2 e.e.x_req_ortree.or2s[0]._y e.e.buf_s_func.en_buf_f.buf1._y e.e.buf_s_func.en_buf_t.buf1._y + 81590 Reset : 0 + 81605 e._reset_B : 1 [by Reset:=0] + 118536 e.e.buf_s_func.reset_buf._y : 0 [by e._reset_B:=1] + 118591 e.e.buf_s_func._reset_BX : 1 [by e.e.buf_s_func.reset_buf._y:=0] + 124853 e.e.reset_buf._y : 0 [by e._reset_B:=1] + 154633 e.e._reset_BX : 1 [by e.e.reset_buf._y:=0] + 155055 e.e.X_ack_confirm._y : X [by e.e._reset_BX:=1] + 168482 e.e.reset_bufarray.buf1._y : 0 [by e.e._reset_BX:=1] + 168483 e.e._reset_BXX[0] : 1 [by e.e.reset_bufarray.buf1._y:=0] + 168976 e.e.Y_ack_confirm._y : X [by e.e._reset_BX:=1] + 168977 e.e._arb_out_y.a : X [by e.e.Y_ack_confirm._y:=X] + 170244 e.e.buf_s_func.reset_bufarray.buf1._y : 0 [by e.e.buf_s_func._reset_BX:=1] + 179445 e.e._x_a_B : X [by e.e._reset_BX:=1] + 179727 e.e._x_a : X [by e.e._x_a_B:=X] + 190449 e.e.buf_s_func._reset_BXX[0] : 1 [by e.e.buf_s_func.reset_bufarray.buf1._y:=0] + 190452 e.e.buf_s_func.f_buf_func[1]._y : X [by e.e.buf_s_func._reset_BXX[0]:=1] + 191000 e.e.buf_s_func.t_buf_func[1]._y : X [by e.e.buf_s_func._reset_BXX[0]:=1] + 191217 e.e.buf_s_func.f_buf_func[0]._y : X [by e.e.buf_s_func._reset_BXX[0]:=1] + 191523 e.out.d.d[1].f : X [by e.e.buf_s_func.f_buf_func[1]._y:=X] + 191954 e.out.d.d[1].t : X [by e.e.buf_s_func.t_buf_func[1]._y:=X] + 192298 e.out.d.d[0].f : X [by e.e.buf_s_func.f_buf_func[0]._y:=X] + 203769 e.e._arb_out_x.a : X [by e.e.X_ack_confirm._y:=X] + 212890 e.e.buf_s_func.t_buf_func[0]._y : X [by e.e.buf_s_func._reset_BXX[0]:=1] + 267360 e.out.d.d[0].t : X [by e.e.buf_s_func.t_buf_func[0]._y:=X] + 267360 Reset : 1 + 268342 e._reset_B : 0 [by Reset:=1] + 268360 e.e.reset_buf._y : 1 [by e._reset_B:=0] + 272355 e.e.buf_s_func.reset_buf._y : 1 [by e._reset_B:=0] + 272363 e.e._reset_BX : 0 [by e.e.reset_buf._y:=1] + 272566 e.e.X_ack_confirm._y : 1 [by e.e._reset_BX:=0] + 272865 e.e.Y_ack_confirm._y : 1 [by e.e._reset_BX:=0] + 273004 e.e._arb_out_y.a : 0 [by e.e.Y_ack_confirm._y:=1] + 274420 e.e._arb_out_x.a : 0 [by e.e.X_ack_confirm._y:=1] + 277123 e.e._x_a_B : 1 [by e.e._reset_BX:=0] + 293947 e.e.reset_bufarray.buf1._y : 1 [by e.e._reset_BX:=0] + 294016 e.e._reset_BXX[0] : 0 [by e.e.reset_bufarray.buf1._y:=1] + 313469 e.e._x_a : 0 [by e.e._x_a_B:=1] + 317256 e.e.buf_s_func._reset_BX : 0 [by e.e.buf_s_func.reset_buf._y:=1] + 317267 e.e.buf_s_func.reset_bufarray.buf1._y : 1 [by e.e.buf_s_func._reset_BX:=0] + 369053 e.e.buf_s_func._reset_BXX[0] : 0 [by e.e.buf_s_func.reset_bufarray.buf1._y:=1] + 369054 e.e.buf_s_func.t_buf_func[0]._y : 1 [by e.e.buf_s_func._reset_BXX[0]:=0] + 369068 e.e.buf_s_func.f_buf_func[1]._y : 1 [by e.e.buf_s_func._reset_BXX[0]:=0] + 369090 e.e.buf_s_func.t_buf_func[1]._y : 1 [by e.e.buf_s_func._reset_BXX[0]:=0] + 369180 e.out.d.d[1].f : 0 [by e.e.buf_s_func.f_buf_func[1]._y:=1] + 369257 e.e.buf_s_func.f_buf_func[0]._y : 1 [by e.e.buf_s_func._reset_BXX[0]:=0] + 369297 e.out.d.d[0].f : 0 [by e.e.buf_s_func.f_buf_func[0]._y:=1] + 369793 e.out.d.d[0].t : 0 [by e.e.buf_s_func.t_buf_func[0]._y:=1] + 416602 e.out.d.d[1].t : 0 [by e.e.buf_s_func.t_buf_func[1]._y:=1] +[] Setting output ack/val low + 416602 Reset : 0 + 416859 e._reset_B : 1 [by Reset:=0] + 416946 e.e.reset_buf._y : 0 [by e._reset_B:=1] + 416947 e.e._reset_BX : 1 [by e.e.reset_buf._y:=0] + 417153 e.e.buf_s_func.reset_buf._y : 0 [by e._reset_B:=1] + 417331 e.e.buf_s_func._reset_BX : 1 [by e.e.buf_s_func.reset_buf._y:=0] + 417537 e.e.X_ack_confirm._y : X [by e.e._reset_BX:=1] + 417701 e.e._arb_out_x.a : X [by e.e.X_ack_confirm._y:=X] + 418134 e.e.buf_s_func.reset_bufarray.buf1._y : 0 [by e.e.buf_s_func._reset_BX:=1] + 418156 e.e.Y_ack_confirm._y : X [by e.e._reset_BX:=1] + 418178 e.e._arb_out_y.a : X [by e.e.Y_ack_confirm._y:=X] + 418753 e.e.reset_bufarray.buf1._y : 0 [by e.e._reset_BX:=1] + 418954 e.e._x_a_B : X [by e.e._reset_BX:=1] + 419600 e.e._reset_BXX[0] : 1 [by e.e.reset_bufarray.buf1._y:=0] + 420329 e.e.buf_s_func._reset_BXX[0] : 1 [by e.e.buf_s_func.reset_bufarray.buf1._y:=0] + 420462 e.e.buf_s_func.f_buf_func[0]._y : X [by e.e.buf_s_func._reset_BXX[0]:=1] + 420683 e.out.d.d[0].f : X [by e.e.buf_s_func.f_buf_func[0]._y:=X] + 420688 e.e.buf_s_func.t_buf_func[0]._y : X [by e.e.buf_s_func._reset_BXX[0]:=1] + 420695 e.out.d.d[0].t : X [by e.e.buf_s_func.t_buf_func[0]._y:=X] + 434445 e.e.buf_s_func.t_buf_func[1]._y : X [by e.e.buf_s_func._reset_BXX[0]:=1] + 434475 e.out.d.d[1].t : X [by e.e.buf_s_func.t_buf_func[1]._y:=X] + 435991 e.e.buf_s_func.f_buf_func[1]._y : X [by e.e.buf_s_func._reset_BXX[0]:=1] + 442704 e.out.d.d[1].f : X [by e.e.buf_s_func.f_buf_func[1]._y:=X] + 449082 e.e._x_a : X [by e.e._x_a_B:=X] + 449082 e.out.a : 0 + 449082 e.x[1].a : 0 + 449082 e.y[0].r : 0 + 449082 e.x[0].r : 0 + 449082 e.y[1].a : 0 + 449082 e.out.v : 0 + 449082 e.y[0].a : 0 + 449082 e.y[1].r : 0 + 449082 e.x[0].a : 0 + 449082 e.x[1].r : 0 + 449089 e.e.Xarb.arbs[0].arbiter._y1 : 1 [by e.x[0].r:=0] + 449101 e.e.Xarb.arbs[0]._y1_arb : 0 [by e.e.Xarb.arbs[0].arbiter._y1:=1] + 449160 e.e.Yarb.arbs[0].arbiter._y2 : 1 [by e.y[1].r:=0] + 449173 e.e.x_encoder.ors_t[0].b._y : 1 [by e.x[1].a:=0] + 449185 e.e.x_enc_out.d[0].t : 0 [by e.e.x_encoder.ors_t[0].b._y:=1] + 449188 e.e.y_encoder.ors_f[0].b._y : 1 [by e.y[0].a:=0] + 449357 e.e.x_encoder.ors_f[0].b._y : 1 [by e.x[0].a:=0] + 449537 e.e.Xarb.arbs[0].arbiter._y2 : 1 [by e.x[1].r:=0] + 449564 e.e.Yarb.arbs[0]._y2_arb : 0 [by e.e.Yarb.arbs[0].arbiter._y2:=1] + 451271 e.e.Yarb.arbs[0].arbiter._y1 : 1 [by e.y[0].r:=0] + 451869 e.e.y_encoder.ors_t[0].b._y : 1 [by e.y[1].a:=0] + 451871 e.e.y_enc_out.d[0].t : 0 [by e.e.y_encoder.ors_t[0].b._y:=1] + 452436 e.e.Xarb.arbs[0]._y2_arb : 0 [by e.e.Xarb.arbs[0].arbiter._y2:=1] + 453633 e.e.x_enc_out.d[0].f : 0 [by e.e.x_encoder.ors_f[0].b._y:=1] + 454882 e.e.vtree_x.OR2_tf[0]._y : 1 [by e.e.x_enc_out.d[0].f:=0] + 455104 e.e.y_enc_out.d[0].f : 0 [by e.e.y_encoder.ors_f[0].b._y:=1] + 455270 e.e.vtree_y.OR2_tf[0]._y : 1 [by e.e.y_enc_out.d[0].f:=0] + 455345 e.e.vtree_y.ct.in[0] : 0 [by e.e.vtree_y.OR2_tf[0]._y:=1] + 455566 e.e.Yarb.arbs[0]._y1_arb : 0 [by e.e.Yarb.arbs[0].arbiter._y1:=1] + 455690 e.e.vtree_y.ct.b._y : 1 [by e.e.vtree_y.ct.in[0]:=0] + 455704 e.e.Yarb.arbs[0].or_cell._y : 1 [by e.e.Yarb.arbs[0]._y1_arb:=0] + 455706 e.e._arb_out_y.r : 0 [by e.e.Yarb.arbs[0].or_cell._y:=1] + 456971 e.e.Xarb.arbs[0].or_cell._y : 1 [by e.e.Xarb.arbs[0]._y2_arb:=0] + 458381 e.e.vtree_x.ct.in[0] : 0 [by e.e.vtree_x.OR2_tf[0]._y:=1] + 458382 e.e.vtree_x.ct.b._y : 1 [by e.e.vtree_x.ct.in[0]:=0] + 458930 e.e._in_x_v : 0 [by e.e.vtree_x.ct.b._y:=1] + 458941 e.e._in_xy_v._y : 1 [by e.e._in_x_v:=0] + 459311 e.e._in_xy_v.y : 0 [by e.e._in_xy_v._y:=1] + 459378 e.e.buf_s_func.in_v_prebuf._y : 1 [by e.e._in_xy_v.y:=0] + 460953 e.e._in_y_v : 0 [by e.e.vtree_y.ct.b._y:=1] + 462019 e.e.buf_s_func._in_vX : 0 [by e.e.buf_s_func.in_v_prebuf._y:=1] + 462035 e.e.buf_s_func.in_v_buf_f.buf1._y : 1 [by e.e.buf_s_func._in_vX:=0] + 462563 e.e.buf_s_func._in_vXX_f[0] : 0 [by e.e.buf_s_func.in_v_buf_f.buf1._y:=1] + 466581 e.e.buf_s_func.in_v_buf_t.buf1._y : 1 [by e.e.buf_s_func._in_vX:=0] + 468078 e.e.x_req_ortree.or2s[0]._y : 1 [by e.x[1].r:=0] + 469016 e.e.buf_s_func._in_vXX_t[0] : 0 [by e.e.buf_s_func.in_v_buf_t.buf1._y:=1] + 494958 e.e._x_v : 0 [by e.e.x_req_ortree.or2s[0]._y:=1] + 500888 e.e._arb_out_x.r : 0 [by e.e.Xarb.arbs[0].or_cell._y:=1] + 506543 e.e.buf_s_func._out_a_B : 1 [by e.out.a:=0] + 506545 e.e.buf_s_func.out_a_B_buf_f.buf1._y : 0 [by e.e.buf_s_func._out_a_B:=1] + 518883 e.e._x_v_B : 1 [by e.e._x_v:=0] + 519584 e.e.buf_s_func.out_a_B_buf_t.buf1._y : 0 [by e.e.buf_s_func._out_a_B:=1] + 519587 e.e.buf_s_func._out_a_BX_f[0] : 1 [by e.e.buf_s_func.out_a_B_buf_t.buf1._y:=0] + 567503 e.e.buf_s_func._out_a_BX_t[0] : 1 [by e.e.buf_s_func.out_a_B_buf_f.buf1._y:=0] + 567503 e.y[0].r : 1 + 567503 e.y[1].r : 1 + 567532 e.e.Yarb.arbs[0].arbiter._y1 : 0 [by e.y[0].r:=1] + 569133 e.e.Yarb.arbs[0]._y1_arb : X [by e.e.Yarb.arbs[0].arbiter._y1:=0] + 569286 e.e.Yarb.arbs[0].or_cell._y : X [by e.e.Yarb.arbs[0]._y1_arb:=X] + 569330 e.e._arb_out_y.r : X [by e.e.Yarb.arbs[0].or_cell._y:=X] + 569330 e.x[0].r : 1 + 569330 e.x[1].r : 1 + 572091 e.e.Xarb.arbs[0].arbiter._y1 : 0 [by e.x[0].r:=1] + 572308 e.e.Xarb.arbs[0]._y1_arb : X [by e.e.Xarb.arbs[0].arbiter._y1:=0] + 572330 e.e.Xarb.arbs[0].or_cell._y : X [by e.e.Xarb.arbs[0]._y1_arb:=X] + 572331 e.e._arb_out_x.r : X [by e.e.Xarb.arbs[0].or_cell._y:=X] + 583013 e.e.x_req_ortree.or2s[0]._y : 0 [by e.x[0].r:=1] + 584594 e.e._x_v : 1 [by e.e.x_req_ortree.or2s[0]._y:=0] + 593939 e.e._x_v_B : 0 [by e.e._x_v:=1] diff --git a/test/unit_tests/encoder2D_7/run/prsim.pdf b/test/unit_tests/encoder2D_7/run/prsim.pdf new file mode 100644 index 0000000000000000000000000000000000000000..10016d9d64c28c8a0d7218a55b84249b6b4a1ed4 GIT binary patch literal 53786 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"e._reset_B"- +~("Reset")->"e._reset_B"+ += "e._reset_B" "e.e.reset_B" += "e.e.y_encoder.tielo.y" "e.e.y_encoder.tielo.vss" +"e.e.y_encoder.ors_t[0].b.a"->"e.e.y_encoder.ors_t[0].b._y"- +~("e.e.y_encoder.ors_t[0].b.a")->"e.e.y_encoder.ors_t[0].b._y"+ +"e.e.y_encoder.ors_t[0].b._y"->"e.e.y_encoder.ors_t[0].b.y"- +~("e.e.y_encoder.ors_t[0].b._y")->"e.e.y_encoder.ors_t[0].b.y"+ += "e.e.y_encoder.ors_t[0].supply.vdd" "e.e.y_encoder.ors_t[0].b.vdd" += "e.e.y_encoder.ors_t[0].supply.vss" "e.e.y_encoder.ors_t[0].b.vss" += "e.e.y_encoder.ors_t[0].out" "e.e.y_encoder.ors_t[0].b.y" += "e.e.y_encoder.ors_t[0].in[0]" "e.e.y_encoder.ors_t[0].b.a" +"e.e.y_encoder.ors_f[0].b.a"->"e.e.y_encoder.ors_f[0].b._y"- +~("e.e.y_encoder.ors_f[0].b.a")->"e.e.y_encoder.ors_f[0].b._y"+ +"e.e.y_encoder.ors_f[0].b._y"->"e.e.y_encoder.ors_f[0].b.y"- +~("e.e.y_encoder.ors_f[0].b._y")->"e.e.y_encoder.ors_f[0].b.y"+ += "e.e.y_encoder.ors_f[0].supply.vdd" "e.e.y_encoder.ors_f[0].b.vdd" += "e.e.y_encoder.ors_f[0].supply.vss" "e.e.y_encoder.ors_f[0].b.vss" += "e.e.y_encoder.ors_f[0].out" "e.e.y_encoder.ors_f[0].b.y" += "e.e.y_encoder.ors_f[0].in[0]" "e.e.y_encoder.ors_f[0].b.a" += "e.e.y_encoder.supply.vss" "e.e.y_encoder.ors_f[0].supply.vss" += "e.e.y_encoder.supply.vdd" "e.e.y_encoder.ors_f[0].supply.vdd" += "e.e.y_encoder.supply.vss" "e.e.y_encoder.ors_t[0].supply.vss" += "e.e.y_encoder.supply.vdd" "e.e.y_encoder.ors_t[0].supply.vdd" += "e.e.y_encoder.supply.vdd" "e.e.y_encoder.tielo.vdd" += "e.e.y_encoder.supply.vss" "e.e.y_encoder.tielo.vss" += "e.e.y_encoder.supply.vss" "e.e.y_encoder.tielo.y" += "e.e.y_encoder.in[0]" "e.e.y_encoder.ors_f[0].in[0]" += "e.e.y_encoder.in[1]" "e.e.y_encoder.ors_t[0].in[0]" += "e.e.y_encoder.out.d[0].d[0]" "e.e.y_encoder.out.d[0].f" += "e.e.y_encoder.out.d[0].d[1]" "e.e.y_encoder.out.d[0].t" += "e.e.y_encoder.out.d[0].d[0]" "e.e.y_encoder.out.d[0].f" += "e.e.y_encoder.out.d[0].d[1]" "e.e.y_encoder.out.d[0].t" += "e.e.y_encoder.out.d[0].d[0]" "e.e.y_encoder.ors_f[0].out" += "e.e.y_encoder.out.d[0].d[0]" "e.e.y_encoder.out.d[0].f" += "e.e.y_encoder.out.d[0].d[1]" "e.e.y_encoder.ors_t[0].out" += "e.e.y_encoder.out.d[0].d[1]" "e.e.y_encoder.out.d[0].t" += "e.e.x_encoder.tielo.y" "e.e.x_encoder.tielo.vss" +"e.e.x_encoder.ors_t[0].b.a"->"e.e.x_encoder.ors_t[0].b._y"- +~("e.e.x_encoder.ors_t[0].b.a")->"e.e.x_encoder.ors_t[0].b._y"+ +"e.e.x_encoder.ors_t[0].b._y"->"e.e.x_encoder.ors_t[0].b.y"- +~("e.e.x_encoder.ors_t[0].b._y")->"e.e.x_encoder.ors_t[0].b.y"+ += "e.e.x_encoder.ors_t[0].supply.vdd" "e.e.x_encoder.ors_t[0].b.vdd" += "e.e.x_encoder.ors_t[0].supply.vss" "e.e.x_encoder.ors_t[0].b.vss" += "e.e.x_encoder.ors_t[0].out" "e.e.x_encoder.ors_t[0].b.y" += "e.e.x_encoder.ors_t[0].in[0]" "e.e.x_encoder.ors_t[0].b.a" +"e.e.x_encoder.ors_f[0].b.a"->"e.e.x_encoder.ors_f[0].b._y"- +~("e.e.x_encoder.ors_f[0].b.a")->"e.e.x_encoder.ors_f[0].b._y"+ +"e.e.x_encoder.ors_f[0].b._y"->"e.e.x_encoder.ors_f[0].b.y"- +~("e.e.x_encoder.ors_f[0].b._y")->"e.e.x_encoder.ors_f[0].b.y"+ += "e.e.x_encoder.ors_f[0].supply.vdd" "e.e.x_encoder.ors_f[0].b.vdd" += "e.e.x_encoder.ors_f[0].supply.vss" "e.e.x_encoder.ors_f[0].b.vss" += "e.e.x_encoder.ors_f[0].out" "e.e.x_encoder.ors_f[0].b.y" += "e.e.x_encoder.ors_f[0].in[0]" "e.e.x_encoder.ors_f[0].b.a" += "e.e.x_encoder.supply.vss" "e.e.x_encoder.ors_f[0].supply.vss" += "e.e.x_encoder.supply.vdd" "e.e.x_encoder.ors_f[0].supply.vdd" += "e.e.x_encoder.supply.vss" "e.e.x_encoder.ors_t[0].supply.vss" += "e.e.x_encoder.supply.vdd" "e.e.x_encoder.ors_t[0].supply.vdd" += "e.e.x_encoder.supply.vdd" "e.e.x_encoder.tielo.vdd" += "e.e.x_encoder.supply.vss" "e.e.x_encoder.tielo.vss" += "e.e.x_encoder.supply.vss" "e.e.x_encoder.tielo.y" += "e.e.x_encoder.in[0]" "e.e.x_encoder.ors_f[0].in[0]" += "e.e.x_encoder.in[1]" "e.e.x_encoder.ors_t[0].in[0]" += "e.e.x_encoder.out.d[0].d[0]" "e.e.x_encoder.out.d[0].f" += "e.e.x_encoder.out.d[0].d[1]" "e.e.x_encoder.out.d[0].t" += "e.e.x_encoder.out.d[0].d[0]" "e.e.x_encoder.out.d[0].f" += "e.e.x_encoder.out.d[0].d[1]" "e.e.x_encoder.out.d[0].t" += "e.e.x_encoder.out.d[0].d[0]" "e.e.x_encoder.ors_f[0].out" += "e.e.x_encoder.out.d[0].d[0]" "e.e.x_encoder.out.d[0].f" += "e.e.x_encoder.out.d[0].d[1]" "e.e.x_encoder.ors_t[0].out" += "e.e.x_encoder.out.d[0].d[1]" "e.e.x_encoder.out.d[0].t" +"e.e.reset_bufarray.buf1.a"->"e.e.reset_bufarray.buf1._y"- +~("e.e.reset_bufarray.buf1.a")->"e.e.reset_bufarray.buf1._y"+ +"e.e.reset_bufarray.buf1._y"->"e.e.reset_bufarray.buf1.y"- +~("e.e.reset_bufarray.buf1._y")->"e.e.reset_bufarray.buf1.y"+ += "e.e.reset_bufarray.supply.vdd" "e.e.reset_bufarray.buf1.vdd" += "e.e.reset_bufarray.supply.vss" "e.e.reset_bufarray.buf1.vss" += "e.e.reset_bufarray.out[0]" "e.e.reset_bufarray.out[3]" += "e.e.reset_bufarray.out[0]" "e.e.reset_bufarray.out[2]" += "e.e.reset_bufarray.out[0]" "e.e.reset_bufarray.out[1]" += "e.e.reset_bufarray.out[0]" "e.e.reset_bufarray.buf1.y" += "e.e.reset_bufarray.in" "e.e.reset_bufarray.buf1.a" += "e.e.x[0].d.d[0]" "e.e.x[0].r" += "e.e.x[1].d.d[0]" "e.e.x[1].r" += "e.e.x[1].a" "e.e.x_acks[1]" += "e.e.x[1].a" "e.e.x_ack_arb[1].out" += "e.e.x[1].d.d[0]" "e.e._x_req_array[1]" += "e.e.x[1].d.d[0]" "e.e._x_temp[1].r" += "e.e.x[1].d.d[0]" "e.e._x_temp[1].d.d[0]" += "e.e.x[1].d.d[0]" "e.e.x[1].r" += "e.e.x[0].a" "e.e.x_acks[0]" += "e.e.x[0].a" "e.e.x_ack_arb[0].out" += "e.e.x[0].d.d[0]" "e.e._x_req_array[0]" += "e.e.x[0].d.d[0]" "e.e._x_temp[0].r" += "e.e.x[0].d.d[0]" "e.e._x_temp[0].d.d[0]" += "e.e.x[0].d.d[0]" "e.e.x[0].r" += "e.e.Xarb.arbs[0].in1.d.d[0]" "e.e.Xarb.arbs[0].in1.r" += "e.e.Xarb.arbs[0].in1.a" "e.e.Xarb.arbs[0].arbiter.d" += "e.e.Xarb.arbs[0].in1.a" "e.e.Xarb.arbs[0].ack_cell1.y" += "e.e.Xarb.arbs[0].in1.d.d[0]" "e.e.Xarb.arbs[0].arbiter.a" += "e.e.Xarb.arbs[0].in1.d.d[0]" "e.e.Xarb.arbs[0].in1.r" +~"e.e.Xarb.arbs[0].ack_cell1.c1"&~"e.e.Xarb.arbs[0].ack_cell1.c2"->"e.e.Xarb.arbs[0].ack_cell1._y"+ +"e.e.Xarb.arbs[0].ack_cell1.c1"&"e.e.Xarb.arbs[0].ack_cell1.c2"->"e.e.Xarb.arbs[0].ack_cell1._y"- +"e.e.Xarb.arbs[0].ack_cell1._y"->"e.e.Xarb.arbs[0].ack_cell1.y"- +~("e.e.Xarb.arbs[0].ack_cell1._y")->"e.e.Xarb.arbs[0].ack_cell1.y"+ += "e.e.Xarb.arbs[0].in2.d.d[0]" "e.e.Xarb.arbs[0].in2.r" += "e.e.Xarb.arbs[0].in2.a" "e.e.Xarb.arbs[0].arbiter.c" += "e.e.Xarb.arbs[0].in2.a" "e.e.Xarb.arbs[0].ack_cell2.y" += "e.e.Xarb.arbs[0].in2.d.d[0]" "e.e.Xarb.arbs[0].arbiter.b" += "e.e.Xarb.arbs[0].in2.d.d[0]" "e.e.Xarb.arbs[0].in2.r" += "e.e.Xarb.arbs[0].supply.vdd" "e.e.Xarb.arbs[0].arbiter.vdd" += "e.e.Xarb.arbs[0].supply.vdd" "e.e.Xarb.arbs[0].or_cell.vdd" += "e.e.Xarb.arbs[0].supply.vdd" "e.e.Xarb.arbs[0].ack_cell2.vdd" += "e.e.Xarb.arbs[0].supply.vdd" "e.e.Xarb.arbs[0].ack_cell1.vdd" += "e.e.Xarb.arbs[0].supply.vss" "e.e.Xarb.arbs[0].arbiter.vss" += "e.e.Xarb.arbs[0].supply.vss" "e.e.Xarb.arbs[0].or_cell.vss" += "e.e.Xarb.arbs[0].supply.vss" "e.e.Xarb.arbs[0].ack_cell2.vss" += "e.e.Xarb.arbs[0].supply.vss" "e.e.Xarb.arbs[0].ack_cell1.vss" +"e.e.Xarb.arbs[0].arbiter.a"&"e.e.Xarb.arbs[0].arbiter._y2"->"e.e.Xarb.arbs[0].arbiter._y1"- +~"e.e.Xarb.arbs[0].arbiter.a"|~"e.e.Xarb.arbs[0].arbiter._y2"->"e.e.Xarb.arbs[0].arbiter._y1"+ +"e.e.Xarb.arbs[0].arbiter.b"&"e.e.Xarb.arbs[0].arbiter._y1"->"e.e.Xarb.arbs[0].arbiter._y2"- +~"e.e.Xarb.arbs[0].arbiter.b"|~"e.e.Xarb.arbs[0].arbiter._y1"->"e.e.Xarb.arbs[0].arbiter._y2"+ +"e.e.Xarb.arbs[0].arbiter._y1"|"e.e.Xarb.arbs[0].arbiter.c"->"e.e.Xarb.arbs[0].arbiter.y1"- +~("e.e.Xarb.arbs[0].arbiter._y1"|"e.e.Xarb.arbs[0].arbiter.c")->"e.e.Xarb.arbs[0].arbiter.y1"+ +"e.e.Xarb.arbs[0].arbiter._y2"|"e.e.Xarb.arbs[0].arbiter.d"->"e.e.Xarb.arbs[0].arbiter.y2"- +~("e.e.Xarb.arbs[0].arbiter._y2"|"e.e.Xarb.arbs[0].arbiter.d")->"e.e.Xarb.arbs[0].arbiter.y2"+ +mk_excllo("e.e.Xarb.arbs[0].arbiter._y1","e.e.Xarb.arbs[0].arbiter._y2") += "e.e.Xarb.arbs[0]._y1_arb" "e.e.Xarb.arbs[0].arbiter.y1" += "e.e.Xarb.arbs[0]._y1_arb" "e.e.Xarb.arbs[0].or_cell.a" += "e.e.Xarb.arbs[0]._y1_arb" "e.e.Xarb.arbs[0].ack_cell1.c2" +~"e.e.Xarb.arbs[0].ack_cell2.c1"&~"e.e.Xarb.arbs[0].ack_cell2.c2"->"e.e.Xarb.arbs[0].ack_cell2._y"+ +"e.e.Xarb.arbs[0].ack_cell2.c1"&"e.e.Xarb.arbs[0].ack_cell2.c2"->"e.e.Xarb.arbs[0].ack_cell2._y"- +"e.e.Xarb.arbs[0].ack_cell2._y"->"e.e.Xarb.arbs[0].ack_cell2.y"- +~("e.e.Xarb.arbs[0].ack_cell2._y")->"e.e.Xarb.arbs[0].ack_cell2.y"+ +"e.e.Xarb.arbs[0].or_cell.a"|"e.e.Xarb.arbs[0].or_cell.b"->"e.e.Xarb.arbs[0].or_cell._y"- +~("e.e.Xarb.arbs[0].or_cell.a"|"e.e.Xarb.arbs[0].or_cell.b")->"e.e.Xarb.arbs[0].or_cell._y"+ +"e.e.Xarb.arbs[0].or_cell._y"->"e.e.Xarb.arbs[0].or_cell.y"- +~("e.e.Xarb.arbs[0].or_cell._y")->"e.e.Xarb.arbs[0].or_cell.y"+ += "e.e.Xarb.arbs[0].out.d.d[0]" "e.e.Xarb.arbs[0].out.r" += "e.e.Xarb.arbs[0].out.a" "e.e.Xarb.arbs[0].ack_cell2.c1" += "e.e.Xarb.arbs[0].out.a" "e.e.Xarb.arbs[0].ack_cell1.c1" += "e.e.Xarb.arbs[0].out.d.d[0]" "e.e.Xarb.arbs[0].or_cell.y" += "e.e.Xarb.arbs[0].out.d.d[0]" "e.e.Xarb.arbs[0].out.r" += "e.e.Xarb.arbs[0]._y2_arb" "e.e.Xarb.arbs[0].arbiter.y2" += "e.e.Xarb.arbs[0]._y2_arb" "e.e.Xarb.arbs[0].or_cell.b" += "e.e.Xarb.arbs[0]._y2_arb" "e.e.Xarb.arbs[0].ack_cell2.c2" += "e.e.Xarb.supply.vss" "e.e.Xarb.arbs[0].supply.vss" += "e.e.Xarb.supply.vdd" "e.e.Xarb.arbs[0].supply.vdd" += "e.e.Xarb.in[0].d.d[0]" "e.e.Xarb.in[0].r" += "e.e.Xarb.in[1].d.d[0]" "e.e.Xarb.in[1].r" += "e.e.Xarb.in[0].r" "e.e.Xarb.arbs[0].in1.r" += "e.e.Xarb.in[0].a" "e.e.Xarb.arbs[0].in1.a" += "e.e.Xarb.in[0].d.d[0]" "e.e.Xarb.arbs[0].in1.d.d[0]" += "e.e.Xarb.in[0].r" "e.e.Xarb.tmp[0].r" += "e.e.Xarb.in[0].a" "e.e.Xarb.tmp[0].a" += "e.e.Xarb.in[0].d.d[0]" "e.e.Xarb.tmp[0].d.d[0]" += "e.e.Xarb.in[1].r" "e.e.Xarb.arbs[0].in2.r" += "e.e.Xarb.in[1].a" "e.e.Xarb.arbs[0].in2.a" += "e.e.Xarb.in[1].d.d[0]" "e.e.Xarb.arbs[0].in2.d.d[0]" += "e.e.Xarb.in[1].r" "e.e.Xarb.tmp[1].r" += "e.e.Xarb.in[1].a" "e.e.Xarb.tmp[1].a" += "e.e.Xarb.in[1].d.d[0]" "e.e.Xarb.tmp[1].d.d[0]" += "e.e.Xarb.in[1].d.d[0]" "e.e.Xarb.in[1].r" += "e.e.Xarb.in[0].d.d[0]" "e.e.Xarb.in[0].r" += "e.e.Xarb.out.d.d[0]" "e.e.Xarb.out.r" += "e.e.Xarb.out.r" "e.e.Xarb.arbs[0].out.r" += "e.e.Xarb.out.a" "e.e.Xarb.arbs[0].out.a" += "e.e.Xarb.out.d.d[0]" "e.e.Xarb.arbs[0].out.d.d[0]" += "e.e.Xarb.out.r" "e.e.Xarb.tmp[2].r" += "e.e.Xarb.out.a" "e.e.Xarb.tmp[2].a" += "e.e.Xarb.out.d.d[0]" "e.e.Xarb.tmp[2].d.d[0]" += "e.e.Xarb.out.d.d[0]" "e.e.Xarb.out.r" +"e.e.y_ack_arb[0].buf1.a"->"e.e.y_ack_arb[0].buf1._y"- +~("e.e.y_ack_arb[0].buf1.a")->"e.e.y_ack_arb[0].buf1._y"+ +"e.e.y_ack_arb[0].buf1._y"->"e.e.y_ack_arb[0].buf1.y"- +~("e.e.y_ack_arb[0].buf1._y")->"e.e.y_ack_arb[0].buf1.y"+ += "e.e.y_ack_arb[0].supply.vdd" "e.e.y_ack_arb[0].buf1.vdd" += "e.e.y_ack_arb[0].supply.vss" "e.e.y_ack_arb[0].buf1.vss" += "e.e.y_ack_arb[0].out" "e.e.y_ack_arb[0].buf1.y" += "e.e.y_ack_arb[0].in" "e.e.y_ack_arb[0].buf1.a" +"e.e.y_ack_arb[1].buf1.a"->"e.e.y_ack_arb[1].buf1._y"- +~("e.e.y_ack_arb[1].buf1.a")->"e.e.y_ack_arb[1].buf1._y"+ +"e.e.y_ack_arb[1].buf1._y"->"e.e.y_ack_arb[1].buf1.y"- +~("e.e.y_ack_arb[1].buf1._y")->"e.e.y_ack_arb[1].buf1.y"+ += "e.e.y_ack_arb[1].supply.vdd" "e.e.y_ack_arb[1].buf1.vdd" += "e.e.y_ack_arb[1].supply.vss" "e.e.y_ack_arb[1].buf1.vss" += "e.e.y_ack_arb[1].out" "e.e.y_ack_arb[1].buf1.y" += "e.e.y_ack_arb[1].in" "e.e.y_ack_arb[1].buf1.a" +~"e.e.enabling.p1"&~"e.e.enabling.p2"&~"e.e.enabling.c1"->"e.e.enabling.y"+ +"e.e.enabling.c1"->"e.e.enabling.y"- += "e.e.into_buffer.d[0].d[0]" "e.e.into_buffer.d[0].f" += "e.e.into_buffer.d[0].d[1]" "e.e.into_buffer.d[0].t" += "e.e.into_buffer.d[1].d[0]" "e.e.into_buffer.d[1].f" += "e.e.into_buffer.d[1].d[1]" "e.e.into_buffer.d[1].t" += "e.e.into_buffer.d[1].d[0]" "e.e.into_buffer.d[1].f" += "e.e.into_buffer.d[1].d[1]" "e.e.into_buffer.d[1].t" += "e.e.into_buffer.d[0].d[0]" "e.e.into_buffer.d[0].f" += "e.e.into_buffer.d[0].d[1]" "e.e.into_buffer.d[0].t" += "e.e.into_buffer.d[0].f" "e.e.buf_s_func.in.d[0].f" += "e.e.into_buffer.d[0].t" "e.e.buf_s_func.in.d[0].t" += "e.e.into_buffer.d[0].d[0]" "e.e.buf_s_func.in.d[0].d[0]" += "e.e.into_buffer.d[0].d[1]" "e.e.buf_s_func.in.d[0].d[1]" += "e.e.into_buffer.d[1].f" "e.e.buf_s_func.in.d[1].f" += "e.e.into_buffer.d[1].t" "e.e.buf_s_func.in.d[1].t" += "e.e.into_buffer.d[1].d[0]" "e.e.buf_s_func.in.d[1].d[0]" += "e.e.into_buffer.d[1].d[1]" "e.e.buf_s_func.in.d[1].d[1]" += "e.e._en" "e.e.buf_s_func.en" += "e.e._en" "e.e.enabling.y" += "e.e._en" "e.e.x_ack.c1" +"e.e.vtree_y.ct.b.a"->"e.e.vtree_y.ct.b._y"- +~("e.e.vtree_y.ct.b.a")->"e.e.vtree_y.ct.b._y"+ +"e.e.vtree_y.ct.b._y"->"e.e.vtree_y.ct.b.y"- +~("e.e.vtree_y.ct.b._y")->"e.e.vtree_y.ct.b.y"+ += "e.e.vtree_y.ct.supply.vdd" "e.e.vtree_y.ct.b.vdd" += "e.e.vtree_y.ct.supply.vss" "e.e.vtree_y.ct.b.vss" += "e.e.vtree_y.ct.out" "e.e.vtree_y.ct.b.y" += "e.e.vtree_y.ct.in[0]" "e.e.vtree_y.ct.b.a" += "e.e.vtree_y.ct.in[0]" "e.e.vtree_y.OR2_tf[0].y" +"e.e.vtree_y.OR2_tf[0].a"|"e.e.vtree_y.OR2_tf[0].b"->"e.e.vtree_y.OR2_tf[0]._y"- +~("e.e.vtree_y.OR2_tf[0].a"|"e.e.vtree_y.OR2_tf[0].b")->"e.e.vtree_y.OR2_tf[0]._y"+ +"e.e.vtree_y.OR2_tf[0]._y"->"e.e.vtree_y.OR2_tf[0].y"- +~("e.e.vtree_y.OR2_tf[0]._y")->"e.e.vtree_y.OR2_tf[0].y"+ += "e.e.vtree_y.supply.vss" "e.e.vtree_y.ct.supply.vss" += "e.e.vtree_y.supply.vdd" "e.e.vtree_y.ct.supply.vdd" += "e.e.vtree_y.supply.vdd" "e.e.vtree_y.OR2_tf[0].vdd" += "e.e.vtree_y.supply.vss" "e.e.vtree_y.OR2_tf[0].vss" += "e.e.vtree_y.out" "e.e.vtree_y.ct.out" += "e.e.vtree_y.in.d[0].d[0]" "e.e.vtree_y.in.d[0].f" += "e.e.vtree_y.in.d[0].d[1]" "e.e.vtree_y.in.d[0].t" += "e.e.vtree_y.in.d[0].d[0]" "e.e.vtree_y.in.d[0].f" += "e.e.vtree_y.in.d[0].d[1]" "e.e.vtree_y.in.d[0].t" += "e.e.vtree_y.in.d[0].d[0]" "e.e.vtree_y.OR2_tf[0].b" += "e.e.vtree_y.in.d[0].d[0]" "e.e.vtree_y.in.d[0].f" += "e.e.vtree_y.in.d[0].d[1]" "e.e.vtree_y.OR2_tf[0].a" += "e.e.vtree_y.in.d[0].d[1]" "e.e.vtree_y.in.d[0].t" += "e.e._in_y_v" "e.e._in_xy_v.b" += "e.e._in_y_v" "e.e.vtree_y.out" += "e.e._in_y_v" "e.e.x_ack.p4" += "e.e._arb_out_x.d.d[0]" "e.e._arb_out_x.r" += "e.e._arb_out_x.r" "e.e.Xarb.out.r" += "e.e._arb_out_x.a" "e.e.Xarb.out.a" += "e.e._arb_out_x.d.d[0]" "e.e.Xarb.out.d.d[0]" += "e.e._arb_out_x.a" "e.e.X_ack_confirm.y" +"e.e.reset_buf.a"->"e.e.reset_buf._y"- +~("e.e.reset_buf.a")->"e.e.reset_buf._y"+ +"e.e.reset_buf._y"->"e.e.reset_buf.y"- +~("e.e.reset_buf._y")->"e.e.reset_buf.y"+ +"e.e.x_ack_arb[0].buf1.a"->"e.e.x_ack_arb[0].buf1._y"- +~("e.e.x_ack_arb[0].buf1.a")->"e.e.x_ack_arb[0].buf1._y"+ +"e.e.x_ack_arb[0].buf1._y"->"e.e.x_ack_arb[0].buf1.y"- +~("e.e.x_ack_arb[0].buf1._y")->"e.e.x_ack_arb[0].buf1.y"+ += "e.e.x_ack_arb[0].supply.vdd" "e.e.x_ack_arb[0].buf1.vdd" += "e.e.x_ack_arb[0].supply.vss" "e.e.x_ack_arb[0].buf1.vss" += "e.e.x_ack_arb[0].out" "e.e.x_ack_arb[0].buf1.y" += "e.e.x_ack_arb[0].in" "e.e.x_ack_arb[0].buf1.a" +"e.e.x_ack_arb[1].buf1.a"->"e.e.x_ack_arb[1].buf1._y"- +~("e.e.x_ack_arb[1].buf1.a")->"e.e.x_ack_arb[1].buf1._y"+ +"e.e.x_ack_arb[1].buf1._y"->"e.e.x_ack_arb[1].buf1.y"- +~("e.e.x_ack_arb[1].buf1._y")->"e.e.x_ack_arb[1].buf1.y"+ += "e.e.x_ack_arb[1].supply.vdd" "e.e.x_ack_arb[1].buf1.vdd" += "e.e.x_ack_arb[1].supply.vss" "e.e.x_ack_arb[1].buf1.vss" += "e.e.x_ack_arb[1].out" "e.e.x_ack_arb[1].buf1.y" += "e.e.x_ack_arb[1].in" "e.e.x_ack_arb[1].buf1.a" += "e.e._x_v_B" "e.e.x_ack.p2" += "e.e._x_v_B" "e.e.not_x_req_ortree.y" +"e.e.x_req_ortree.or2s[0].a"|"e.e.x_req_ortree.or2s[0].b"->"e.e.x_req_ortree.or2s[0]._y"- +~("e.e.x_req_ortree.or2s[0].a"|"e.e.x_req_ortree.or2s[0].b")->"e.e.x_req_ortree.or2s[0]._y"+ +"e.e.x_req_ortree.or2s[0]._y"->"e.e.x_req_ortree.or2s[0].y"- +~("e.e.x_req_ortree.or2s[0]._y")->"e.e.x_req_ortree.or2s[0].y"+ += "e.e.x_req_ortree.supply.vdd" "e.e.x_req_ortree.or2s[0].vdd" += "e.e.x_req_ortree.supply.vss" "e.e.x_req_ortree.or2s[0].vss" += "e.e.x_req_ortree.in[0]" "e.e.x_req_ortree.or2s[0].a" += "e.e.x_req_ortree.in[0]" "e.e.x_req_ortree.tmp[0]" += "e.e.x_req_ortree.in[1]" "e.e.x_req_ortree.or2s[0].b" += "e.e.x_req_ortree.in[1]" "e.e.x_req_ortree.tmp[1]" += "e.e.x_req_ortree.out" "e.e.x_req_ortree.or2s[0].y" += "e.e.x_req_ortree.out" "e.e.x_req_ortree.tmp[2]" += "e.e._arb_out_y.d.d[0]" "e.e._arb_out_y.r" += "e.e._arb_out_y.r" "e.e.Yarb.out.r" += "e.e._arb_out_y.a" "e.e.Yarb.out.a" += "e.e._arb_out_y.d.d[0]" "e.e.Yarb.out.d.d[0]" += "e.e._arb_out_y.a" "e.e.Y_ack_confirm.y" += "e.e._reset_BX" "e.e.x_ack.sr_B" += "e.e._reset_BX" "e.e.x_ack.pr_B" += "e.e._reset_BX" "e.e.X_ack_confirm.sr_B" += "e.e._reset_BX" "e.e.X_ack_confirm.pr_B" += "e.e._reset_BX" "e.e.Y_ack_confirm.reset_B" += "e.e._reset_BX" "e.e.reset_bufarray.in" += "e.e._reset_BX" "e.e.reset_buf.y" += "e.e.reset_B" "e.e.buf_s_func.reset_B" += "e.e.reset_B" "e.e.reset_buf.a" +"e.e.not_x_ack.a"->"e.e.not_x_ack.y"- +~("e.e.not_x_ack.a")->"e.e.not_x_ack.y"+ += "e.e._reset_BXX[0]" "e.e.reset_bufarray.out[0]" += "e.e._reset_BXX[1]" "e.e.reset_bufarray.out[1]" += "e.e._reset_BXX[2]" "e.e.reset_bufarray.out[2]" += "e.e._reset_BXX[3]" "e.e.reset_bufarray.out[3]" += "e.e._reset_BXX[0]" "e.e._reset_BXX[3]" += "e.e._reset_BXX[0]" "e.e._reset_BXX[2]" += "e.e._reset_BXX[0]" "e.e._reset_BXX[1]" += "e.e._x_v" "e.e.x_ack.p5" += "e.e._x_v" "e.e.not_x_req_ortree.a" += "e.e._x_v" "e.e.x_req_ortree.out" += "e.e._x_v" "e.e.Y_ack_confirm.p1" +"e.e.vtree_x.ct.b.a"->"e.e.vtree_x.ct.b._y"- +~("e.e.vtree_x.ct.b.a")->"e.e.vtree_x.ct.b._y"+ +"e.e.vtree_x.ct.b._y"->"e.e.vtree_x.ct.b.y"- +~("e.e.vtree_x.ct.b._y")->"e.e.vtree_x.ct.b.y"+ += "e.e.vtree_x.ct.supply.vdd" "e.e.vtree_x.ct.b.vdd" += "e.e.vtree_x.ct.supply.vss" "e.e.vtree_x.ct.b.vss" += "e.e.vtree_x.ct.out" "e.e.vtree_x.ct.b.y" += "e.e.vtree_x.ct.in[0]" "e.e.vtree_x.ct.b.a" += "e.e.vtree_x.ct.in[0]" "e.e.vtree_x.OR2_tf[0].y" +"e.e.vtree_x.OR2_tf[0].a"|"e.e.vtree_x.OR2_tf[0].b"->"e.e.vtree_x.OR2_tf[0]._y"- +~("e.e.vtree_x.OR2_tf[0].a"|"e.e.vtree_x.OR2_tf[0].b")->"e.e.vtree_x.OR2_tf[0]._y"+ +"e.e.vtree_x.OR2_tf[0]._y"->"e.e.vtree_x.OR2_tf[0].y"- +~("e.e.vtree_x.OR2_tf[0]._y")->"e.e.vtree_x.OR2_tf[0].y"+ += "e.e.vtree_x.supply.vss" "e.e.vtree_x.ct.supply.vss" += "e.e.vtree_x.supply.vdd" "e.e.vtree_x.ct.supply.vdd" += "e.e.vtree_x.supply.vdd" "e.e.vtree_x.OR2_tf[0].vdd" += "e.e.vtree_x.supply.vss" "e.e.vtree_x.OR2_tf[0].vss" += "e.e.vtree_x.out" "e.e.vtree_x.ct.out" += "e.e.vtree_x.in.d[0].d[0]" "e.e.vtree_x.in.d[0].f" += "e.e.vtree_x.in.d[0].d[1]" "e.e.vtree_x.in.d[0].t" += "e.e.vtree_x.in.d[0].d[0]" "e.e.vtree_x.in.d[0].f" += "e.e.vtree_x.in.d[0].d[1]" "e.e.vtree_x.in.d[0].t" += "e.e.vtree_x.in.d[0].d[0]" "e.e.vtree_x.OR2_tf[0].b" += "e.e.vtree_x.in.d[0].d[0]" "e.e.vtree_x.in.d[0].f" += "e.e.vtree_x.in.d[0].d[1]" "e.e.vtree_x.OR2_tf[0].a" += "e.e.vtree_x.in.d[0].d[1]" "e.e.vtree_x.in.d[0].t" += "e.e.y_acks[0]" "e.e.y_encoder.in[0]" += "e.e.y_acks[1]" "e.e.y_encoder.in[1]" +~"e.e.x_ack.p1"&~"e.e.x_ack.p2"&~"e.e.x_ack.p3"&~"e.e.x_ack.c1"|~"e.e.x_ack.p4"&~"e.e.x_ack.p5"&~"e.e.x_ack.c1"|~"e.e.x_ack.pr_B"->"e.e.x_ack.y"+ +"e.e.x_ack.c1"&"e.e.x_ack.n1"&"e.e.x_ack.n2"&"e.e.x_ack.sr_B"->"e.e.x_ack.y"- +"e.e.buf_s_func.out_a_B_buf_t.buf1.a"->"e.e.buf_s_func.out_a_B_buf_t.buf1._y"- +~("e.e.buf_s_func.out_a_B_buf_t.buf1.a")->"e.e.buf_s_func.out_a_B_buf_t.buf1._y"+ +"e.e.buf_s_func.out_a_B_buf_t.buf1._y"->"e.e.buf_s_func.out_a_B_buf_t.buf1.y"- +~("e.e.buf_s_func.out_a_B_buf_t.buf1._y")->"e.e.buf_s_func.out_a_B_buf_t.buf1.y"+ += "e.e.buf_s_func.out_a_B_buf_t.supply.vdd" "e.e.buf_s_func.out_a_B_buf_t.buf1.vdd" += "e.e.buf_s_func.out_a_B_buf_t.supply.vss" "e.e.buf_s_func.out_a_B_buf_t.buf1.vss" += "e.e.buf_s_func.out_a_B_buf_t.out[0]" "e.e.buf_s_func.out_a_B_buf_t.out[1]" += "e.e.buf_s_func.out_a_B_buf_t.out[0]" "e.e.buf_s_func.out_a_B_buf_t.buf1.y" += "e.e.buf_s_func.out_a_B_buf_t.in" "e.e.buf_s_func.out_a_B_buf_t.buf1.a" +"e.e.buf_s_func.reset_bufarray.buf1.a"->"e.e.buf_s_func.reset_bufarray.buf1._y"- +~("e.e.buf_s_func.reset_bufarray.buf1.a")->"e.e.buf_s_func.reset_bufarray.buf1._y"+ +"e.e.buf_s_func.reset_bufarray.buf1._y"->"e.e.buf_s_func.reset_bufarray.buf1.y"- +~("e.e.buf_s_func.reset_bufarray.buf1._y")->"e.e.buf_s_func.reset_bufarray.buf1.y"+ += "e.e.buf_s_func.reset_bufarray.supply.vdd" "e.e.buf_s_func.reset_bufarray.buf1.vdd" += "e.e.buf_s_func.reset_bufarray.supply.vss" "e.e.buf_s_func.reset_bufarray.buf1.vss" += "e.e.buf_s_func.reset_bufarray.out[0]" "e.e.buf_s_func.reset_bufarray.out[1]" += "e.e.buf_s_func.reset_bufarray.out[0]" "e.e.buf_s_func.reset_bufarray.buf1.y" += "e.e.buf_s_func.reset_bufarray.in" "e.e.buf_s_func.reset_bufarray.buf1.a" += "e.e.buf_s_func._en_X_f[0]" "e.e.buf_s_func.en_buf_f.out[0]" += "e.e.buf_s_func._en_X_f[1]" "e.e.buf_s_func.en_buf_f.out[1]" += "e.e.buf_s_func._en_X_f[0]" "e.e.buf_s_func.f_buf_func[1].c1" += "e.e.buf_s_func._en_X_f[0]" "e.e.buf_s_func.f_buf_func[0].c1" += "e.e.buf_s_func._en_X_f[0]" "e.e.buf_s_func._en_X_f[1]" +"e.e.buf_s_func.out_a_inv.a"->"e.e.buf_s_func.out_a_inv.y"- +~("e.e.buf_s_func.out_a_inv.a")->"e.e.buf_s_func.out_a_inv.y"+ += "e.e.buf_s_func._out_a_BX_f[0]" "e.e.buf_s_func.out_a_B_buf_t.out[0]" += "e.e.buf_s_func._out_a_BX_f[1]" "e.e.buf_s_func.out_a_B_buf_t.out[1]" += "e.e.buf_s_func._out_a_BX_f[0]" "e.e.buf_s_func.f_buf_func[1].c2" += "e.e.buf_s_func._out_a_BX_f[0]" "e.e.buf_s_func.f_buf_func[0].c2" += "e.e.buf_s_func._out_a_BX_f[0]" "e.e.buf_s_func._out_a_BX_f[1]" += "e.e.buf_s_func.supply.vss" "e.e.buf_s_func.in_v_buf_f.supply.vss" += "e.e.buf_s_func.supply.vdd" "e.e.buf_s_func.in_v_buf_f.supply.vdd" += "e.e.buf_s_func.supply.vss" "e.e.buf_s_func.in_v_buf_t.supply.vss" += "e.e.buf_s_func.supply.vdd" "e.e.buf_s_func.in_v_buf_t.supply.vdd" += "e.e.buf_s_func.supply.vss" "e.e.buf_s_func.out_a_B_buf_t.supply.vss" += "e.e.buf_s_func.supply.vdd" "e.e.buf_s_func.out_a_B_buf_t.supply.vdd" += "e.e.buf_s_func.supply.vss" "e.e.buf_s_func.out_a_B_buf_f.supply.vss" += "e.e.buf_s_func.supply.vdd" "e.e.buf_s_func.out_a_B_buf_f.supply.vdd" += "e.e.buf_s_func.supply.vss" "e.e.buf_s_func.en_buf_f.supply.vss" += "e.e.buf_s_func.supply.vdd" "e.e.buf_s_func.en_buf_f.supply.vdd" += "e.e.buf_s_func.supply.vss" "e.e.buf_s_func.en_buf_t.supply.vss" += "e.e.buf_s_func.supply.vdd" "e.e.buf_s_func.en_buf_t.supply.vdd" += "e.e.buf_s_func.supply.vss" "e.e.buf_s_func.reset_bufarray.supply.vss" += "e.e.buf_s_func.supply.vdd" "e.e.buf_s_func.reset_bufarray.supply.vdd" += "e.e.buf_s_func.supply.vdd" "e.e.buf_s_func.t_buf_func[1].vdd" += "e.e.buf_s_func.supply.vdd" "e.e.buf_s_func.f_buf_func[1].vdd" += "e.e.buf_s_func.supply.vdd" "e.e.buf_s_func.t_buf_func[0].vdd" += "e.e.buf_s_func.supply.vdd" "e.e.buf_s_func.f_buf_func[0].vdd" += "e.e.buf_s_func.supply.vdd" "e.e.buf_s_func.in_v_prebuf.vdd" += "e.e.buf_s_func.supply.vdd" "e.e.buf_s_func.out_a_inv.vdd" += "e.e.buf_s_func.supply.vdd" "e.e.buf_s_func.reset_buf.vdd" += "e.e.buf_s_func.supply.vss" "e.e.buf_s_func.t_buf_func[1].vss" += "e.e.buf_s_func.supply.vss" "e.e.buf_s_func.f_buf_func[1].vss" += "e.e.buf_s_func.supply.vss" "e.e.buf_s_func.t_buf_func[0].vss" += "e.e.buf_s_func.supply.vss" "e.e.buf_s_func.f_buf_func[0].vss" += "e.e.buf_s_func.supply.vss" "e.e.buf_s_func.in_v_prebuf.vss" += "e.e.buf_s_func.supply.vss" "e.e.buf_s_func.out_a_inv.vss" += "e.e.buf_s_func.supply.vss" "e.e.buf_s_func.reset_buf.vss" +"e.e.buf_s_func.in_v_prebuf.a"->"e.e.buf_s_func.in_v_prebuf._y"- +~("e.e.buf_s_func.in_v_prebuf.a")->"e.e.buf_s_func.in_v_prebuf._y"+ +"e.e.buf_s_func.in_v_prebuf._y"->"e.e.buf_s_func.in_v_prebuf.y"- +~("e.e.buf_s_func.in_v_prebuf._y")->"e.e.buf_s_func.in_v_prebuf.y"+ +"e.e.buf_s_func.out_a_B_buf_f.buf1.a"->"e.e.buf_s_func.out_a_B_buf_f.buf1._y"- +~("e.e.buf_s_func.out_a_B_buf_f.buf1.a")->"e.e.buf_s_func.out_a_B_buf_f.buf1._y"+ +"e.e.buf_s_func.out_a_B_buf_f.buf1._y"->"e.e.buf_s_func.out_a_B_buf_f.buf1.y"- +~("e.e.buf_s_func.out_a_B_buf_f.buf1._y")->"e.e.buf_s_func.out_a_B_buf_f.buf1.y"+ += "e.e.buf_s_func.out_a_B_buf_f.supply.vdd" "e.e.buf_s_func.out_a_B_buf_f.buf1.vdd" += "e.e.buf_s_func.out_a_B_buf_f.supply.vss" "e.e.buf_s_func.out_a_B_buf_f.buf1.vss" += "e.e.buf_s_func.out_a_B_buf_f.out[0]" "e.e.buf_s_func.out_a_B_buf_f.out[1]" += "e.e.buf_s_func.out_a_B_buf_f.out[0]" "e.e.buf_s_func.out_a_B_buf_f.buf1.y" += "e.e.buf_s_func.out_a_B_buf_f.in" "e.e.buf_s_func.out_a_B_buf_f.buf1.a" += "e.e.buf_s_func.in_v" "e.e.buf_s_func.in_v_prebuf.a" += "e.e.buf_s_func.out.d.d[0].d[0]" "e.e.buf_s_func.out.d.d[0].f" += "e.e.buf_s_func.out.d.d[0].d[1]" "e.e.buf_s_func.out.d.d[0].t" += "e.e.buf_s_func.out.d.d[1].d[0]" "e.e.buf_s_func.out.d.d[1].f" += "e.e.buf_s_func.out.d.d[1].d[1]" "e.e.buf_s_func.out.d.d[1].t" += "e.e.buf_s_func.out.d.d[1].d[0]" "e.e.buf_s_func.out.d.d[1].f" += "e.e.buf_s_func.out.d.d[1].d[1]" "e.e.buf_s_func.out.d.d[1].t" += "e.e.buf_s_func.out.d.d[0].d[0]" "e.e.buf_s_func.out.d.d[0].f" += "e.e.buf_s_func.out.d.d[0].d[1]" "e.e.buf_s_func.out.d.d[0].t" += "e.e.buf_s_func.out.d.d[1].d[0]" "e.e.buf_s_func.out.d.d[1].f" += "e.e.buf_s_func.out.d.d[1].d[1]" "e.e.buf_s_func.out.d.d[1].t" += "e.e.buf_s_func.out.d.d[0].d[0]" "e.e.buf_s_func.out.d.d[0].f" += "e.e.buf_s_func.out.d.d[0].d[1]" "e.e.buf_s_func.out.d.d[0].t" += "e.e.buf_s_func.out.a" "e.e.buf_s_func.out_a_inv.a" += "e.e.buf_s_func.out.d.d[1].d[0]" "e.e.buf_s_func.f_buf_func[1].y" += "e.e.buf_s_func.out.d.d[1].d[0]" "e.e.buf_s_func.out.d.d[1].f" += "e.e.buf_s_func.out.d.d[1].d[1]" "e.e.buf_s_func.t_buf_func[1].y" += "e.e.buf_s_func.out.d.d[1].d[1]" "e.e.buf_s_func.out.d.d[1].t" += "e.e.buf_s_func.out.d.d[0].d[0]" "e.e.buf_s_func.f_buf_func[0].y" += "e.e.buf_s_func.out.d.d[0].d[0]" "e.e.buf_s_func.out.d.d[0].f" += "e.e.buf_s_func.out.d.d[0].d[1]" "e.e.buf_s_func.t_buf_func[0].y" += "e.e.buf_s_func.out.d.d[0].d[1]" "e.e.buf_s_func.out.d.d[0].t" += "e.e.buf_s_func.in.d[0].d[0]" "e.e.buf_s_func.in.d[0].f" += "e.e.buf_s_func.in.d[0].d[1]" "e.e.buf_s_func.in.d[0].t" += "e.e.buf_s_func.in.d[1].d[0]" "e.e.buf_s_func.in.d[1].f" += "e.e.buf_s_func.in.d[1].d[1]" "e.e.buf_s_func.in.d[1].t" += "e.e.buf_s_func.in.d[1].d[0]" "e.e.buf_s_func.in.d[1].f" += "e.e.buf_s_func.in.d[1].d[1]" "e.e.buf_s_func.in.d[1].t" += "e.e.buf_s_func.in.d[0].d[0]" "e.e.buf_s_func.in.d[0].f" += "e.e.buf_s_func.in.d[0].d[1]" "e.e.buf_s_func.in.d[0].t" += "e.e.buf_s_func.in.d[1].d[0]" "e.e.buf_s_func.f_buf_func[1].n1" += "e.e.buf_s_func.in.d[1].d[0]" "e.e.buf_s_func.in.d[1].f" += "e.e.buf_s_func.in.d[1].d[1]" "e.e.buf_s_func.t_buf_func[1].n1" += "e.e.buf_s_func.in.d[1].d[1]" "e.e.buf_s_func.in.d[1].t" += "e.e.buf_s_func.in.d[0].d[0]" "e.e.buf_s_func.f_buf_func[0].n1" += "e.e.buf_s_func.in.d[0].d[0]" "e.e.buf_s_func.in.d[0].f" += "e.e.buf_s_func.in.d[0].d[1]" "e.e.buf_s_func.t_buf_func[0].n1" += "e.e.buf_s_func.in.d[0].d[1]" "e.e.buf_s_func.in.d[0].t" +"e.e.buf_s_func.in_v_buf_f.buf1.a"->"e.e.buf_s_func.in_v_buf_f.buf1._y"- +~("e.e.buf_s_func.in_v_buf_f.buf1.a")->"e.e.buf_s_func.in_v_buf_f.buf1._y"+ +"e.e.buf_s_func.in_v_buf_f.buf1._y"->"e.e.buf_s_func.in_v_buf_f.buf1.y"- +~("e.e.buf_s_func.in_v_buf_f.buf1._y")->"e.e.buf_s_func.in_v_buf_f.buf1.y"+ += "e.e.buf_s_func.in_v_buf_f.supply.vdd" "e.e.buf_s_func.in_v_buf_f.buf1.vdd" += "e.e.buf_s_func.in_v_buf_f.supply.vss" "e.e.buf_s_func.in_v_buf_f.buf1.vss" += "e.e.buf_s_func.in_v_buf_f.out[0]" "e.e.buf_s_func.in_v_buf_f.out[1]" += "e.e.buf_s_func.in_v_buf_f.out[0]" "e.e.buf_s_func.in_v_buf_f.buf1.y" += "e.e.buf_s_func.in_v_buf_f.in" "e.e.buf_s_func.in_v_buf_f.buf1.a" +"e.e.buf_s_func.reset_buf.a"->"e.e.buf_s_func.reset_buf._y"- +~("e.e.buf_s_func.reset_buf.a")->"e.e.buf_s_func.reset_buf._y"+ +"e.e.buf_s_func.reset_buf._y"->"e.e.buf_s_func.reset_buf.y"- +~("e.e.buf_s_func.reset_buf._y")->"e.e.buf_s_func.reset_buf.y"+ += "e.e.buf_s_func.en" "e.e.buf_s_func.en_buf_f.in" += "e.e.buf_s_func.en" "e.e.buf_s_func.en_buf_t.in" +"e.e.buf_s_func.in_v_buf_t.buf1.a"->"e.e.buf_s_func.in_v_buf_t.buf1._y"- +~("e.e.buf_s_func.in_v_buf_t.buf1.a")->"e.e.buf_s_func.in_v_buf_t.buf1._y"+ +"e.e.buf_s_func.in_v_buf_t.buf1._y"->"e.e.buf_s_func.in_v_buf_t.buf1.y"- +~("e.e.buf_s_func.in_v_buf_t.buf1._y")->"e.e.buf_s_func.in_v_buf_t.buf1.y"+ += "e.e.buf_s_func.in_v_buf_t.supply.vdd" "e.e.buf_s_func.in_v_buf_t.buf1.vdd" += "e.e.buf_s_func.in_v_buf_t.supply.vss" "e.e.buf_s_func.in_v_buf_t.buf1.vss" += "e.e.buf_s_func.in_v_buf_t.out[0]" "e.e.buf_s_func.in_v_buf_t.out[1]" += "e.e.buf_s_func.in_v_buf_t.out[0]" "e.e.buf_s_func.in_v_buf_t.buf1.y" += "e.e.buf_s_func.in_v_buf_t.in" "e.e.buf_s_func.in_v_buf_t.buf1.a" += "e.e.buf_s_func._reset_BX" "e.e.buf_s_func.reset_bufarray.in" += "e.e.buf_s_func._reset_BX" "e.e.buf_s_func.reset_buf.y" += "e.e.buf_s_func._out_a_BX_t[0]" "e.e.buf_s_func.out_a_B_buf_f.out[0]" += "e.e.buf_s_func._out_a_BX_t[1]" "e.e.buf_s_func.out_a_B_buf_f.out[1]" += "e.e.buf_s_func._out_a_BX_t[0]" "e.e.buf_s_func.t_buf_func[1].c2" += "e.e.buf_s_func._out_a_BX_t[0]" "e.e.buf_s_func.t_buf_func[0].c2" += "e.e.buf_s_func._out_a_BX_t[0]" "e.e.buf_s_func._out_a_BX_t[1]" += "e.e.buf_s_func.reset_B" "e.e.buf_s_func.reset_buf.a" +"e.e.buf_s_func.en_buf_f.buf1.a"->"e.e.buf_s_func.en_buf_f.buf1._y"- +~("e.e.buf_s_func.en_buf_f.buf1.a")->"e.e.buf_s_func.en_buf_f.buf1._y"+ +"e.e.buf_s_func.en_buf_f.buf1._y"->"e.e.buf_s_func.en_buf_f.buf1.y"- +~("e.e.buf_s_func.en_buf_f.buf1._y")->"e.e.buf_s_func.en_buf_f.buf1.y"+ += "e.e.buf_s_func.en_buf_f.supply.vdd" "e.e.buf_s_func.en_buf_f.buf1.vdd" += "e.e.buf_s_func.en_buf_f.supply.vss" "e.e.buf_s_func.en_buf_f.buf1.vss" += "e.e.buf_s_func.en_buf_f.out[0]" "e.e.buf_s_func.en_buf_f.out[1]" += "e.e.buf_s_func.en_buf_f.out[0]" "e.e.buf_s_func.en_buf_f.buf1.y" += "e.e.buf_s_func.en_buf_f.in" "e.e.buf_s_func.en_buf_f.buf1.a" +"e.e.buf_s_func.en_buf_t.buf1.a"->"e.e.buf_s_func.en_buf_t.buf1._y"- +~("e.e.buf_s_func.en_buf_t.buf1.a")->"e.e.buf_s_func.en_buf_t.buf1._y"+ +"e.e.buf_s_func.en_buf_t.buf1._y"->"e.e.buf_s_func.en_buf_t.buf1.y"- +~("e.e.buf_s_func.en_buf_t.buf1._y")->"e.e.buf_s_func.en_buf_t.buf1.y"+ += "e.e.buf_s_func.en_buf_t.supply.vdd" "e.e.buf_s_func.en_buf_t.buf1.vdd" += "e.e.buf_s_func.en_buf_t.supply.vss" "e.e.buf_s_func.en_buf_t.buf1.vss" += "e.e.buf_s_func.en_buf_t.out[0]" "e.e.buf_s_func.en_buf_t.out[1]" += "e.e.buf_s_func.en_buf_t.out[0]" "e.e.buf_s_func.en_buf_t.buf1.y" += "e.e.buf_s_func.en_buf_t.in" "e.e.buf_s_func.en_buf_t.buf1.a" += "e.e.buf_s_func._reset_BXX[0]" "e.e.buf_s_func.reset_bufarray.out[0]" += "e.e.buf_s_func._reset_BXX[1]" "e.e.buf_s_func.reset_bufarray.out[1]" += "e.e.buf_s_func._reset_BXX[0]" "e.e.buf_s_func.f_buf_func[1].sr_B" += "e.e.buf_s_func._reset_BXX[0]" "e.e.buf_s_func.f_buf_func[1].pr_B" += "e.e.buf_s_func._reset_BXX[0]" "e.e.buf_s_func.t_buf_func[1].sr_B" += "e.e.buf_s_func._reset_BXX[0]" "e.e.buf_s_func.t_buf_func[1].pr_B" += "e.e.buf_s_func._reset_BXX[0]" "e.e.buf_s_func.f_buf_func[0].sr_B" += "e.e.buf_s_func._reset_BXX[0]" "e.e.buf_s_func.f_buf_func[0].pr_B" += "e.e.buf_s_func._reset_BXX[0]" "e.e.buf_s_func.t_buf_func[0].sr_B" += "e.e.buf_s_func._reset_BXX[0]" "e.e.buf_s_func.t_buf_func[0].pr_B" += "e.e.buf_s_func._reset_BXX[0]" "e.e.buf_s_func._reset_BXX[1]" += "e.e.buf_s_func._out_a_B" "e.e.buf_s_func.out_a_B_buf_t.in" += "e.e.buf_s_func._out_a_B" "e.e.buf_s_func.out_a_B_buf_f.in" += "e.e.buf_s_func._out_a_B" "e.e.buf_s_func.out_a_inv.y" += "e.e.buf_s_func._in_vX" "e.e.buf_s_func.in_v_buf_f.in" += "e.e.buf_s_func._in_vX" "e.e.buf_s_func.in_v_buf_t.in" += "e.e.buf_s_func._in_vX" "e.e.buf_s_func.in_v_prebuf.y" += "e.e.buf_s_func._in_vXX_t[0]" "e.e.buf_s_func.in_v_buf_t.out[0]" += "e.e.buf_s_func._in_vXX_t[1]" "e.e.buf_s_func.in_v_buf_t.out[1]" += "e.e.buf_s_func._in_vXX_t[0]" "e.e.buf_s_func.t_buf_func[1].n2" += "e.e.buf_s_func._in_vXX_t[0]" "e.e.buf_s_func.t_buf_func[0].n2" += "e.e.buf_s_func._in_vXX_t[0]" "e.e.buf_s_func._in_vXX_t[1]" += "e.e.buf_s_func._in_vXX_f[0]" "e.e.buf_s_func.in_v_buf_f.out[0]" += "e.e.buf_s_func._in_vXX_f[1]" "e.e.buf_s_func.in_v_buf_f.out[1]" += "e.e.buf_s_func._in_vXX_f[0]" "e.e.buf_s_func.f_buf_func[1].n2" += "e.e.buf_s_func._in_vXX_f[0]" "e.e.buf_s_func.f_buf_func[0].n2" += "e.e.buf_s_func._in_vXX_f[0]" "e.e.buf_s_func._in_vXX_f[1]" += "e.e.buf_s_func._en_X_t[0]" "e.e.buf_s_func.en_buf_t.out[0]" += "e.e.buf_s_func._en_X_t[1]" "e.e.buf_s_func.en_buf_t.out[1]" += "e.e.buf_s_func._en_X_t[0]" "e.e.buf_s_func.t_buf_func[1].c1" += "e.e.buf_s_func._en_X_t[0]" "e.e.buf_s_func.t_buf_func[0].c1" += "e.e.buf_s_func._en_X_t[0]" "e.e.buf_s_func._en_X_t[1]" +~"e.e.buf_s_func.f_buf_func[0].c1"&~"e.e.buf_s_func.f_buf_func[0].c2"|~"e.e.buf_s_func.f_buf_func[0].pr_B"->"e.e.buf_s_func.f_buf_func[0]._y"+ +"e.e.buf_s_func.f_buf_func[0].c1"&"e.e.buf_s_func.f_buf_func[0].c2"&"e.e.buf_s_func.f_buf_func[0].n1"&"e.e.buf_s_func.f_buf_func[0].n2"&"e.e.buf_s_func.f_buf_func[0].sr_B"->"e.e.buf_s_func.f_buf_func[0]._y"- +"e.e.buf_s_func.f_buf_func[0]._y"->"e.e.buf_s_func.f_buf_func[0].y"- +~("e.e.buf_s_func.f_buf_func[0]._y")->"e.e.buf_s_func.f_buf_func[0].y"+ +~"e.e.buf_s_func.f_buf_func[1].c1"&~"e.e.buf_s_func.f_buf_func[1].c2"|~"e.e.buf_s_func.f_buf_func[1].pr_B"->"e.e.buf_s_func.f_buf_func[1]._y"+ +"e.e.buf_s_func.f_buf_func[1].c1"&"e.e.buf_s_func.f_buf_func[1].c2"&"e.e.buf_s_func.f_buf_func[1].n1"&"e.e.buf_s_func.f_buf_func[1].n2"&"e.e.buf_s_func.f_buf_func[1].sr_B"->"e.e.buf_s_func.f_buf_func[1]._y"- +"e.e.buf_s_func.f_buf_func[1]._y"->"e.e.buf_s_func.f_buf_func[1].y"- +~("e.e.buf_s_func.f_buf_func[1]._y")->"e.e.buf_s_func.f_buf_func[1].y"+ +~"e.e.buf_s_func.t_buf_func[0].c1"&~"e.e.buf_s_func.t_buf_func[0].c2"|~"e.e.buf_s_func.t_buf_func[0].pr_B"->"e.e.buf_s_func.t_buf_func[0]._y"+ +"e.e.buf_s_func.t_buf_func[0].c1"&"e.e.buf_s_func.t_buf_func[0].c2"&"e.e.buf_s_func.t_buf_func[0].n1"&"e.e.buf_s_func.t_buf_func[0].n2"&"e.e.buf_s_func.t_buf_func[0].sr_B"->"e.e.buf_s_func.t_buf_func[0]._y"- +"e.e.buf_s_func.t_buf_func[0]._y"->"e.e.buf_s_func.t_buf_func[0].y"- +~("e.e.buf_s_func.t_buf_func[0]._y")->"e.e.buf_s_func.t_buf_func[0].y"+ +~"e.e.buf_s_func.t_buf_func[1].c1"&~"e.e.buf_s_func.t_buf_func[1].c2"|~"e.e.buf_s_func.t_buf_func[1].pr_B"->"e.e.buf_s_func.t_buf_func[1]._y"+ +"e.e.buf_s_func.t_buf_func[1].c1"&"e.e.buf_s_func.t_buf_func[1].c2"&"e.e.buf_s_func.t_buf_func[1].n1"&"e.e.buf_s_func.t_buf_func[1].n2"&"e.e.buf_s_func.t_buf_func[1].sr_B"->"e.e.buf_s_func.t_buf_func[1]._y"- +"e.e.buf_s_func.t_buf_func[1]._y"->"e.e.buf_s_func.t_buf_func[1].y"- +~("e.e.buf_s_func.t_buf_func[1]._y")->"e.e.buf_s_func.t_buf_func[1].y"+ += "e.e._in_x.d.d[0].d[0]" "e.e._in_x.d.d[0].f" += "e.e._in_x.d.d[0].d[1]" "e.e._in_x.d.d[0].t" += "e.e._in_x.d.d[1].d[0]" "e.e._in_x.d.d[1].f" += "e.e._in_x.d.d[1].d[1]" "e.e._in_x.d.d[1].t" += "e.e._in_x.d.d[1].d[0]" "e.e._in_x.d.d[1].f" += "e.e._in_x.d.d[1].d[1]" "e.e._in_x.d.d[1].t" += "e.e._in_x.d.d[0].d[0]" "e.e._in_x.d.d[0].f" += "e.e._in_x.d.d[0].d[1]" "e.e._in_x.d.d[0].t" += "e.e._in_x.d.d[1].d[0]" "e.e._in_x.d.d[1].f" += "e.e._in_x.d.d[1].d[1]" "e.e._in_x.d.d[1].t" += "e.e._in_x.d.d[0].d[0]" "e.e._in_x.d.d[0].f" += "e.e._in_x.d.d[0].d[1]" "e.e._in_x.d.d[0].t" += "e.e.supply.vss" "e.e.buf_s_func.supply.vss" += "e.e.supply.vdd" "e.e.buf_s_func.supply.vdd" += "e.e.supply.vss" "e.e.vtree_y.supply.vss" += "e.e.supply.vdd" "e.e.vtree_y.supply.vdd" += "e.e.supply.vss" "e.e.vtree_x.supply.vss" += "e.e.supply.vdd" "e.e.vtree_x.supply.vdd" += "e.e.supply.vss" "e.e.y_encoder.supply.vss" += "e.e.supply.vdd" "e.e.y_encoder.supply.vdd" += "e.e.supply.vss" "e.e.x_encoder.supply.vss" += "e.e.supply.vdd" "e.e.x_encoder.supply.vdd" += "e.e.supply.vss" "e.e.x_req_ortree.supply.vss" += "e.e.supply.vdd" "e.e.x_req_ortree.supply.vdd" += "e.e.supply.vss" "e.e.y_ack_arb[1].supply.vss" += "e.e.supply.vdd" "e.e.y_ack_arb[1].supply.vdd" += "e.e.supply.vss" "e.e.y_ack_arb[0].supply.vss" += "e.e.supply.vdd" "e.e.y_ack_arb[0].supply.vdd" += "e.e.supply.vss" "e.e.x_ack_arb[1].supply.vss" += "e.e.supply.vdd" "e.e.x_ack_arb[1].supply.vdd" += "e.e.supply.vss" "e.e.x_ack_arb[0].supply.vss" += "e.e.supply.vdd" "e.e.x_ack_arb[0].supply.vdd" += "e.e.supply.vss" "e.e.Yarb.supply.vss" += "e.e.supply.vdd" "e.e.Yarb.supply.vdd" += "e.e.supply.vss" "e.e.Xarb.supply.vss" += "e.e.supply.vdd" "e.e.Xarb.supply.vdd" += "e.e.supply.vss" "e.e.reset_bufarray.supply.vss" += "e.e.supply.vdd" "e.e.reset_bufarray.supply.vdd" += "e.e.supply.vdd" "e.e._in_xy_v.vdd" += "e.e.supply.vdd" "e.e.enabling.vdd" += "e.e.supply.vdd" "e.e.not_x_ack.vdd" += "e.e.supply.vdd" "e.e.x_ack.vdd" += "e.e.supply.vdd" "e.e.X_ack_confirm.vdd" += "e.e.supply.vdd" "e.e.Y_ack_confirm.vdd" += "e.e.supply.vdd" "e.e.reset_buf.vdd" += "e.e.supply.vss" "e.e._in_xy_v.vss" += "e.e.supply.vss" "e.e.enabling.vss" += "e.e.supply.vss" "e.e.not_x_ack.vss" += "e.e.supply.vss" "e.e.x_ack.vss" += "e.e.supply.vss" "e.e.X_ack_confirm.vss" += "e.e.supply.vss" "e.e.Y_ack_confirm.vss" += "e.e.supply.vss" "e.e.reset_buf.vss" += "e.e._in_x_v" "e.e._in_xy_v.a" += "e.e._in_x_v" "e.e.vtree_x.out" += "e.e._in_x_v" "e.e.x_ack.n2" += "e.e._in_x_v" "e.e.x_ack.p3" += "e.e._in_x_v" "e.e.x_ack.p1" += "e.e._in_x_v" "e.e.Y_ack_confirm.p2" += "e.e.out.d.d[0].d[0]" "e.e.out.d.d[0].f" += "e.e.out.d.d[0].d[1]" "e.e.out.d.d[0].t" += "e.e.out.d.d[1].d[0]" "e.e.out.d.d[1].f" += "e.e.out.d.d[1].d[1]" "e.e.out.d.d[1].t" += "e.e.out.d.d[1].d[0]" "e.e.out.d.d[1].f" += "e.e.out.d.d[1].d[1]" "e.e.out.d.d[1].t" += "e.e.out.d.d[0].d[0]" "e.e.out.d.d[0].f" += "e.e.out.d.d[0].d[1]" "e.e.out.d.d[0].t" += "e.e.out.d.d[1].d[0]" "e.e.out.d.d[1].f" += "e.e.out.d.d[1].d[1]" "e.e.out.d.d[1].t" += "e.e.out.d.d[0].d[0]" "e.e.out.d.d[0].f" += "e.e.out.d.d[0].d[1]" "e.e.out.d.d[0].t" += "e.e.out.v" "e.e.buf_s_func.out.v" += "e.e.out.a" "e.e.buf_s_func.out.a" += "e.e.out.d.d[0].f" "e.e.buf_s_func.out.d.d[0].f" += "e.e.out.d.d[0].t" "e.e.buf_s_func.out.d.d[0].t" += "e.e.out.d.d[0].d[0]" "e.e.buf_s_func.out.d.d[0].d[0]" += "e.e.out.d.d[0].d[1]" "e.e.buf_s_func.out.d.d[0].d[1]" += "e.e.out.d.d[1].f" "e.e.buf_s_func.out.d.d[1].f" += "e.e.out.d.d[1].t" "e.e.buf_s_func.out.d.d[1].t" += "e.e.out.d.d[1].d[0]" "e.e.buf_s_func.out.d.d[1].d[0]" += "e.e.out.d.d[1].d[1]" "e.e.buf_s_func.out.d.d[1].d[1]" += "e.e.out.a" "e.e.enabling.p1" += "e.e.out.v" "e.e.enabling.p2" += "e.e.out.v" "e.e.x_ack.n1" += "e.e.out.d.d[1].d[0]" "e.e.out.d.d[1].f" += "e.e.out.d.d[1].d[1]" "e.e.out.d.d[1].t" += "e.e.out.d.d[0].d[0]" "e.e.out.d.d[0].f" += "e.e.out.d.d[0].d[1]" "e.e.out.d.d[0].t" += "e.e.Yarb.arbs[0].in1.d.d[0]" "e.e.Yarb.arbs[0].in1.r" += "e.e.Yarb.arbs[0].in1.a" "e.e.Yarb.arbs[0].arbiter.d" += "e.e.Yarb.arbs[0].in1.a" "e.e.Yarb.arbs[0].ack_cell1.y" += "e.e.Yarb.arbs[0].in1.d.d[0]" "e.e.Yarb.arbs[0].arbiter.a" += "e.e.Yarb.arbs[0].in1.d.d[0]" "e.e.Yarb.arbs[0].in1.r" +~"e.e.Yarb.arbs[0].ack_cell1.c1"&~"e.e.Yarb.arbs[0].ack_cell1.c2"->"e.e.Yarb.arbs[0].ack_cell1._y"+ +"e.e.Yarb.arbs[0].ack_cell1.c1"&"e.e.Yarb.arbs[0].ack_cell1.c2"->"e.e.Yarb.arbs[0].ack_cell1._y"- +"e.e.Yarb.arbs[0].ack_cell1._y"->"e.e.Yarb.arbs[0].ack_cell1.y"- +~("e.e.Yarb.arbs[0].ack_cell1._y")->"e.e.Yarb.arbs[0].ack_cell1.y"+ += "e.e.Yarb.arbs[0].in2.d.d[0]" "e.e.Yarb.arbs[0].in2.r" += "e.e.Yarb.arbs[0].in2.a" "e.e.Yarb.arbs[0].arbiter.c" += "e.e.Yarb.arbs[0].in2.a" "e.e.Yarb.arbs[0].ack_cell2.y" += "e.e.Yarb.arbs[0].in2.d.d[0]" "e.e.Yarb.arbs[0].arbiter.b" += "e.e.Yarb.arbs[0].in2.d.d[0]" "e.e.Yarb.arbs[0].in2.r" += "e.e.Yarb.arbs[0].supply.vdd" "e.e.Yarb.arbs[0].arbiter.vdd" += "e.e.Yarb.arbs[0].supply.vdd" "e.e.Yarb.arbs[0].or_cell.vdd" += "e.e.Yarb.arbs[0].supply.vdd" "e.e.Yarb.arbs[0].ack_cell2.vdd" += "e.e.Yarb.arbs[0].supply.vdd" "e.e.Yarb.arbs[0].ack_cell1.vdd" += "e.e.Yarb.arbs[0].supply.vss" "e.e.Yarb.arbs[0].arbiter.vss" += "e.e.Yarb.arbs[0].supply.vss" "e.e.Yarb.arbs[0].or_cell.vss" += "e.e.Yarb.arbs[0].supply.vss" "e.e.Yarb.arbs[0].ack_cell2.vss" += "e.e.Yarb.arbs[0].supply.vss" "e.e.Yarb.arbs[0].ack_cell1.vss" +"e.e.Yarb.arbs[0].arbiter.a"&"e.e.Yarb.arbs[0].arbiter._y2"->"e.e.Yarb.arbs[0].arbiter._y1"- +~"e.e.Yarb.arbs[0].arbiter.a"|~"e.e.Yarb.arbs[0].arbiter._y2"->"e.e.Yarb.arbs[0].arbiter._y1"+ +"e.e.Yarb.arbs[0].arbiter.b"&"e.e.Yarb.arbs[0].arbiter._y1"->"e.e.Yarb.arbs[0].arbiter._y2"- +~"e.e.Yarb.arbs[0].arbiter.b"|~"e.e.Yarb.arbs[0].arbiter._y1"->"e.e.Yarb.arbs[0].arbiter._y2"+ +"e.e.Yarb.arbs[0].arbiter._y1"|"e.e.Yarb.arbs[0].arbiter.c"->"e.e.Yarb.arbs[0].arbiter.y1"- +~("e.e.Yarb.arbs[0].arbiter._y1"|"e.e.Yarb.arbs[0].arbiter.c")->"e.e.Yarb.arbs[0].arbiter.y1"+ +"e.e.Yarb.arbs[0].arbiter._y2"|"e.e.Yarb.arbs[0].arbiter.d"->"e.e.Yarb.arbs[0].arbiter.y2"- +~("e.e.Yarb.arbs[0].arbiter._y2"|"e.e.Yarb.arbs[0].arbiter.d")->"e.e.Yarb.arbs[0].arbiter.y2"+ +mk_excllo("e.e.Yarb.arbs[0].arbiter._y1","e.e.Yarb.arbs[0].arbiter._y2") += "e.e.Yarb.arbs[0]._y1_arb" "e.e.Yarb.arbs[0].arbiter.y1" += "e.e.Yarb.arbs[0]._y1_arb" "e.e.Yarb.arbs[0].or_cell.a" += "e.e.Yarb.arbs[0]._y1_arb" "e.e.Yarb.arbs[0].ack_cell1.c2" +~"e.e.Yarb.arbs[0].ack_cell2.c1"&~"e.e.Yarb.arbs[0].ack_cell2.c2"->"e.e.Yarb.arbs[0].ack_cell2._y"+ +"e.e.Yarb.arbs[0].ack_cell2.c1"&"e.e.Yarb.arbs[0].ack_cell2.c2"->"e.e.Yarb.arbs[0].ack_cell2._y"- +"e.e.Yarb.arbs[0].ack_cell2._y"->"e.e.Yarb.arbs[0].ack_cell2.y"- +~("e.e.Yarb.arbs[0].ack_cell2._y")->"e.e.Yarb.arbs[0].ack_cell2.y"+ +"e.e.Yarb.arbs[0].or_cell.a"|"e.e.Yarb.arbs[0].or_cell.b"->"e.e.Yarb.arbs[0].or_cell._y"- +~("e.e.Yarb.arbs[0].or_cell.a"|"e.e.Yarb.arbs[0].or_cell.b")->"e.e.Yarb.arbs[0].or_cell._y"+ +"e.e.Yarb.arbs[0].or_cell._y"->"e.e.Yarb.arbs[0].or_cell.y"- +~("e.e.Yarb.arbs[0].or_cell._y")->"e.e.Yarb.arbs[0].or_cell.y"+ += "e.e.Yarb.arbs[0].out.d.d[0]" "e.e.Yarb.arbs[0].out.r" += "e.e.Yarb.arbs[0].out.a" "e.e.Yarb.arbs[0].ack_cell2.c1" += "e.e.Yarb.arbs[0].out.a" "e.e.Yarb.arbs[0].ack_cell1.c1" += "e.e.Yarb.arbs[0].out.d.d[0]" "e.e.Yarb.arbs[0].or_cell.y" += "e.e.Yarb.arbs[0].out.d.d[0]" "e.e.Yarb.arbs[0].out.r" += "e.e.Yarb.arbs[0]._y2_arb" "e.e.Yarb.arbs[0].arbiter.y2" += "e.e.Yarb.arbs[0]._y2_arb" "e.e.Yarb.arbs[0].or_cell.b" += "e.e.Yarb.arbs[0]._y2_arb" "e.e.Yarb.arbs[0].ack_cell2.c2" += "e.e.Yarb.supply.vss" "e.e.Yarb.arbs[0].supply.vss" += "e.e.Yarb.supply.vdd" "e.e.Yarb.arbs[0].supply.vdd" += "e.e.Yarb.in[0].d.d[0]" "e.e.Yarb.in[0].r" += "e.e.Yarb.in[1].d.d[0]" "e.e.Yarb.in[1].r" += "e.e.Yarb.in[0].r" "e.e.Yarb.arbs[0].in1.r" += "e.e.Yarb.in[0].a" "e.e.Yarb.arbs[0].in1.a" += "e.e.Yarb.in[0].d.d[0]" "e.e.Yarb.arbs[0].in1.d.d[0]" += "e.e.Yarb.in[0].r" "e.e.Yarb.tmp[0].r" += "e.e.Yarb.in[0].a" "e.e.Yarb.tmp[0].a" += "e.e.Yarb.in[0].d.d[0]" "e.e.Yarb.tmp[0].d.d[0]" += "e.e.Yarb.in[1].r" "e.e.Yarb.arbs[0].in2.r" += "e.e.Yarb.in[1].a" "e.e.Yarb.arbs[0].in2.a" += "e.e.Yarb.in[1].d.d[0]" "e.e.Yarb.arbs[0].in2.d.d[0]" += "e.e.Yarb.in[1].r" "e.e.Yarb.tmp[1].r" += "e.e.Yarb.in[1].a" "e.e.Yarb.tmp[1].a" += "e.e.Yarb.in[1].d.d[0]" "e.e.Yarb.tmp[1].d.d[0]" += "e.e.Yarb.in[1].d.d[0]" "e.e.Yarb.in[1].r" += "e.e.Yarb.in[0].d.d[0]" "e.e.Yarb.in[0].r" += "e.e.Yarb.out.d.d[0]" "e.e.Yarb.out.r" += "e.e.Yarb.out.r" "e.e.Yarb.arbs[0].out.r" += "e.e.Yarb.out.a" "e.e.Yarb.arbs[0].out.a" += "e.e.Yarb.out.d.d[0]" "e.e.Yarb.arbs[0].out.d.d[0]" += "e.e.Yarb.out.r" "e.e.Yarb.tmp[2].r" += "e.e.Yarb.out.a" "e.e.Yarb.tmp[2].a" += "e.e.Yarb.out.d.d[0]" "e.e.Yarb.tmp[2].d.d[0]" += "e.e.Yarb.out.d.d[0]" "e.e.Yarb.out.r" += "e.e._x_req_array[0]" "e.e.x_req_ortree.in[0]" += "e.e._x_req_array[1]" "e.e.x_req_ortree.in[1]" +"e.e._in_xy_v.a"&"e.e._in_xy_v.b"->"e.e._in_xy_v._y"- +~("e.e._in_xy_v.a"&"e.e._in_xy_v.b")->"e.e._in_xy_v._y"+ +"e.e._in_xy_v._y"->"e.e._in_xy_v.y"- +~("e.e._in_xy_v._y")->"e.e._in_xy_v.y"+ += "e.e._in_xy_v.y" "e.e.buf_s_func.in_v" += "e.e._y_temp[0].d.d[0]" "e.e._y_temp[0].r" += "e.e._y_temp[1].d.d[0]" "e.e._y_temp[1].r" += "e.e._y_temp[0].r" "e.e.Yarb.in[0].r" += "e.e._y_temp[1].r" "e.e.Yarb.in[1].r" += "e.e._y_temp[0].a" "e.e.Yarb.in[0].a" += "e.e._y_temp[1].a" "e.e.Yarb.in[1].a" += "e.e._y_temp[0].d.d[0]" "e.e.Yarb.in[0].d.d[0]" += "e.e._y_temp[1].d.d[0]" "e.e.Yarb.in[1].d.d[0]" += "e.e._y_temp[1].a" "e.e.y_ack_arb[1].in" += "e.e._y_temp[0].a" "e.e.y_ack_arb[0].in" +~"e.e.Y_ack_confirm.p1"&~"e.e.Y_ack_confirm.p2"&~"e.e.Y_ack_confirm.c1"&~"e.e.Y_ack_confirm.c2"|~"e.e.Y_ack_confirm.reset_B"->"e.e.Y_ack_confirm._y"+ +"e.e.Y_ack_confirm.c1"&"e.e.Y_ack_confirm.c2"&"e.e.Y_ack_confirm.reset_B"->"e.e.Y_ack_confirm._y"- +"e.e.Y_ack_confirm._y"->"e.e.Y_ack_confirm.y"- +~("e.e.Y_ack_confirm._y")->"e.e.Y_ack_confirm.y"+ += "e.e.Y_ack_confirm.c1" "e.e._arb_out_y.r" += "e.e.Y_ack_confirm.c1" "e.e._arb_out_y.d.d[0]" += "e.e.y_enc_out.d[0].d[0]" "e.e.y_enc_out.d[0].f" += "e.e.y_enc_out.d[0].d[1]" "e.e.y_enc_out.d[0].t" += "e.e.y_enc_out.d[0].d[0]" "e.e.y_enc_out.d[0].f" += "e.e.y_enc_out.d[0].d[1]" "e.e.y_enc_out.d[0].t" += "e.e.y_enc_out.d[0].f" "e.e.vtree_y.in.d[0].f" += "e.e.y_enc_out.d[0].t" "e.e.vtree_y.in.d[0].t" += "e.e.y_enc_out.d[0].d[0]" "e.e.vtree_y.in.d[0].d[0]" += "e.e.y_enc_out.d[0].d[1]" "e.e.vtree_y.in.d[0].d[1]" += "e.e.y_enc_out.d[0].f" "e.e.y_encoder.out.d[0].f" += "e.e.y_enc_out.d[0].t" "e.e.y_encoder.out.d[0].t" += "e.e.y_enc_out.d[0].d[0]" "e.e.y_encoder.out.d[0].d[0]" += "e.e.y_enc_out.d[0].d[1]" "e.e.y_encoder.out.d[0].d[1]" += "e.e.y_enc_out.d[0].f" "e.e.into_buffer.d[1].f" += "e.e.y_enc_out.d[0].t" "e.e.into_buffer.d[1].t" += "e.e.y_enc_out.d[0].d[0]" "e.e.into_buffer.d[1].d[0]" += "e.e.y_enc_out.d[0].d[1]" "e.e.into_buffer.d[1].d[1]" += "e.e.y_enc_out.d[0].d[0]" "e.e.y_enc_out.d[0].f" += "e.e.y_enc_out.d[0].d[1]" "e.e.y_enc_out.d[0].t" += "e.e.x_acks[0]" "e.e.x_encoder.in[0]" += "e.e.x_acks[1]" "e.e.x_encoder.in[1]" +"e.e.not_x_req_ortree.a"->"e.e.not_x_req_ortree.y"- +~("e.e.not_x_req_ortree.a")->"e.e.not_x_req_ortree.y"+ += "e.e.y[0].d.d[0]" "e.e.y[0].r" += "e.e.y[1].d.d[0]" "e.e.y[1].r" += "e.e.y[1].a" "e.e.y_acks[1]" += "e.e.y[1].a" "e.e.y_ack_arb[1].out" += "e.e.y[1].d.d[0]" "e.e._y_temp[1].r" += "e.e.y[1].d.d[0]" "e.e._y_temp[1].d.d[0]" += "e.e.y[1].d.d[0]" "e.e.y[1].r" += "e.e.y[0].a" "e.e.y_acks[0]" += "e.e.y[0].a" "e.e.y_ack_arb[0].out" += "e.e.y[0].d.d[0]" "e.e._y_temp[0].r" += "e.e.y[0].d.d[0]" "e.e._y_temp[0].d.d[0]" += "e.e.y[0].d.d[0]" "e.e.y[0].r" += "e.e._x_a_B" "e.e.not_x_ack.a" += "e.e._x_a_B" "e.e.x_ack.y" += "e.e._x_a_B" "e.e.X_ack_confirm.c2" += "e.e._x_a_B" "e.e.Y_ack_confirm.c2" += "e.e._x_a" "e.e.enabling.c1" += "e.e._x_a" "e.e.not_x_ack.y" += "e.e.x_enc_out.d[0].d[0]" "e.e.x_enc_out.d[0].f" += "e.e.x_enc_out.d[0].d[1]" "e.e.x_enc_out.d[0].t" += "e.e.x_enc_out.d[0].d[0]" "e.e.x_enc_out.d[0].f" += "e.e.x_enc_out.d[0].d[1]" "e.e.x_enc_out.d[0].t" += "e.e.x_enc_out.d[0].f" "e.e.vtree_x.in.d[0].f" += "e.e.x_enc_out.d[0].t" "e.e.vtree_x.in.d[0].t" += "e.e.x_enc_out.d[0].d[0]" "e.e.vtree_x.in.d[0].d[0]" += "e.e.x_enc_out.d[0].d[1]" "e.e.vtree_x.in.d[0].d[1]" += "e.e.x_enc_out.d[0].f" "e.e.x_encoder.out.d[0].f" += "e.e.x_enc_out.d[0].t" "e.e.x_encoder.out.d[0].t" += "e.e.x_enc_out.d[0].d[0]" "e.e.x_encoder.out.d[0].d[0]" += "e.e.x_enc_out.d[0].d[1]" "e.e.x_encoder.out.d[0].d[1]" += "e.e.x_enc_out.d[0].f" "e.e.into_buffer.d[0].f" += "e.e.x_enc_out.d[0].t" "e.e.into_buffer.d[0].t" += "e.e.x_enc_out.d[0].d[0]" "e.e.into_buffer.d[0].d[0]" += "e.e.x_enc_out.d[0].d[1]" "e.e.into_buffer.d[0].d[1]" += "e.e.x_enc_out.d[0].d[0]" "e.e.x_enc_out.d[0].f" += "e.e.x_enc_out.d[0].d[1]" "e.e.x_enc_out.d[0].t" += "e.e._x_temp[0].d.d[0]" "e.e._x_temp[0].r" += "e.e._x_temp[1].d.d[0]" "e.e._x_temp[1].r" += "e.e._x_temp[0].r" "e.e.Xarb.in[0].r" += "e.e._x_temp[1].r" "e.e.Xarb.in[1].r" += "e.e._x_temp[0].a" "e.e.Xarb.in[0].a" += "e.e._x_temp[1].a" "e.e.Xarb.in[1].a" += "e.e._x_temp[0].d.d[0]" "e.e.Xarb.in[0].d.d[0]" += "e.e._x_temp[1].d.d[0]" "e.e.Xarb.in[1].d.d[0]" += "e.e._x_temp[1].a" "e.e.x_ack_arb[1].in" += "e.e._x_temp[0].a" "e.e.x_ack_arb[0].in" +~"e.e.X_ack_confirm.c1"&~"e.e.X_ack_confirm.c2"|~"e.e.X_ack_confirm.pr_B"->"e.e.X_ack_confirm._y"+ +"e.e.X_ack_confirm.c1"&"e.e.X_ack_confirm.c2"&"e.e.X_ack_confirm.sr_B"->"e.e.X_ack_confirm._y"- +"e.e.X_ack_confirm._y"->"e.e.X_ack_confirm.y"- +~("e.e.X_ack_confirm._y")->"e.e.X_ack_confirm.y"+ += "e.e.X_ack_confirm.c1" "e.e._arb_out_x.r" += "e.e.X_ack_confirm.c1" "e.e._arb_out_x.d.d[0]" += "Vdd" "e.e.supply.vdd" += "GND" "e.e.supply.vss" += "e.y[0].d.d[0]" "e.y[0].r" += "e.y[1].d.d[0]" "e.y[1].r" += "e.y[0].r" "e.e.y[0].r" += "e.y[1].r" "e.e.y[1].r" += "e.y[0].a" "e.e.y[0].a" += "e.y[1].a" "e.e.y[1].a" += "e.y[0].d.d[0]" "e.e.y[0].d.d[0]" += "e.y[1].d.d[0]" "e.e.y[1].d.d[0]" += "e.y[1].d.d[0]" "e.y[1].r" += "e.y[0].d.d[0]" "e.y[0].r" += "e.x[0].d.d[0]" "e.x[0].r" += "e.x[1].d.d[0]" "e.x[1].r" += "e.x[0].r" "e.e.x[0].r" += "e.x[1].r" "e.e.x[1].r" += "e.x[0].a" "e.e.x[0].a" += "e.x[1].a" "e.e.x[1].a" += "e.x[0].d.d[0]" "e.e.x[0].d.d[0]" += "e.x[1].d.d[0]" "e.e.x[1].d.d[0]" += "e.x[1].d.d[0]" "e.x[1].r" += "e.x[0].d.d[0]" "e.x[0].r" += "e.out.d.d[0].d[0]" "e.out.d.d[0].f" += "e.out.d.d[0].d[1]" "e.out.d.d[0].t" += "e.out.d.d[1].d[0]" "e.out.d.d[1].f" += "e.out.d.d[1].d[1]" "e.out.d.d[1].t" += "e.out.d.d[1].d[0]" "e.out.d.d[1].f" += "e.out.d.d[1].d[1]" "e.out.d.d[1].t" += "e.out.d.d[0].d[0]" "e.out.d.d[0].f" += "e.out.d.d[0].d[1]" "e.out.d.d[0].t" += "e.out.d.d[1].d[0]" "e.out.d.d[1].f" += "e.out.d.d[1].d[1]" "e.out.d.d[1].t" += "e.out.d.d[0].d[0]" "e.out.d.d[0].f" += "e.out.d.d[0].d[1]" "e.out.d.d[0].t" += "e.out.v" "e.e.out.v" += "e.out.a" "e.e.out.a" += "e.out.d.d[0].f" "e.e.out.d.d[0].f" += "e.out.d.d[0].t" "e.e.out.d.d[0].t" += "e.out.d.d[0].d[0]" "e.e.out.d.d[0].d[0]" += "e.out.d.d[0].d[1]" "e.e.out.d.d[0].d[1]" += "e.out.d.d[1].f" "e.e.out.d.d[1].f" += "e.out.d.d[1].t" "e.e.out.d.d[1].t" += "e.out.d.d[1].d[0]" "e.e.out.d.d[1].d[0]" += "e.out.d.d[1].d[1]" "e.e.out.d.d[1].d[1]" += "e.out.d.d[1].d[0]" "e.out.d.d[1].f" += "e.out.d.d[1].d[1]" "e.out.d.d[1].t" += "e.out.d.d[0].d[0]" "e.out.d.d[0].f" += "e.out.d.d[0].d[1]" "e.out.d.d[0].t" diff --git a/test/unit_tests/encoder2D_7/test.act b/test/unit_tests/encoder2D_7/test.act new file mode 100644 index 0000000..9d5a2b5 --- /dev/null +++ b/test/unit_tests/encoder2D_7/test.act @@ -0,0 +1,49 @@ +/************************************************************************* + * + * This file is part of ACT dataflow neuro library. + * It's the testing facility for cell_lib_std.act + * + * Copyright (c) 2022 University of Groningen - Ole Richter + * Copyright (c) 2022 University of Groningen - Hugh Greatorex + * Copyright (c) 2022 University of Groningen - Michele Mastella + * Copyright (c) 2022 University of Groningen - Madison Cotteret + * + * This source describes Open Hardware and is licensed under the CERN-OHL-W v2 or later + * + * You may redistribute and modify this documentation and make products + * using it under the terms of the CERN-OHL-W v2 (https:/cern.ch/cern-ohl). + * This documentation is distributed WITHOUT ANY EXPRESS OR IMPLIED + * WARRANTY, INCLUDING OF MERCHANTABILITY, SATISFACTORY QUALITY + * AND FITNESS FOR A PARTICULAR PURPOSE. Please see the CERN-OHL-W v2 + * for applicable conditions. + * + * Source location: https://git.web.rug.nl/bics/actlib_dataflow_neuro + * + * As per CERN-OHL-W v2 section 4.1, should You produce hardware based on + * these sources, You must maintain the Source Location visible in its + * documentation. + * + ************************************************************************** + */ + +import "../../dataflow_neuro/coders.act"; +import globals; +import std::data; + +open std::data; + +open tmpl::dataflow_neuro; + +defproc encoder2D_2x2 (a1of1 x[2]; a1of1 y[2]; avMx1of2<2> out){ + encoder2D<1, 1, 2, 2, 1> e(.x=x, .y=y, .out=out); + bool _reset_B; + prs { + Reset => _reset_B- + } + e.supply.vss = GND; + e.supply.vdd = Vdd; + e.reset_B = _reset_B; + +} + +encoder2D_2x2 e; \ No newline at end of file diff --git a/test/unit_tests/encoder2D_7/test.prsim b/test/unit_tests/encoder2D_7/test.prsim new file mode 100644 index 0000000..2ecdacf --- /dev/null +++ b/test/unit_tests/encoder2D_7/test.prsim @@ -0,0 +1,74 @@ +watchall + +cycle +set Reset 1 +cycle +set Reset 0 +cycle +set Reset 1 +cycle +set Reset 0 + +# mode run + +# assert e.e.Yarb.out.a 0 + + +system "echo '[] Setting output ack/val low'" + +set e.e.Yarb.out.a 0 +set e.e.Xarb.out.a 0 +cycle + +set e.out.a 0 +set e.out.v 0 + +set e.y[0].r 0 +set e.y[1].r 0 +set e.y[0].a 0 +set e.y[1].a 0 + +set e.x[0].r 0 +set e.x[1].r 0 +set e.x[0].a 0 +set e.x[1].a 0 +cycle + + +set e.y[0].r 1 +set e.y[1].r 1 +cycle + +set e.x[0].r 1 +set e.x[1].r 1 +cycle + + +# system "echo '[] Setting input low'" + + +# # set e.e.Yarb.arbs[0].arbiter._y1 0 +# # set e.e.Yarb.arbs[0].arbiter._y2 0 + + +# set e.y[0].r 0 +# set e.y[1].r 0 +# set e.y[0].a 0 +# set e.y[1].a 0 + +# set e.x[0].r 0 +# set e.x[1].r 0 +# set e.x[0].a 0 +# set e.x[1].a 0 + +# cycle + +# system "echo '[] Setting y[0,1] req high'" +# # assert e.e.Yarb.out.a 0 +# # assert e.e.Y_ack_confirm.y 0 + +# # set e.y[0].r 1 +# # set e.y[1].r 1 + +# cycle +