diff --git a/dataflow_neuro/interfaces.act b/dataflow_neuro/interfaces.act new file mode 100644 index 0000000..a926b95 --- /dev/null +++ b/dataflow_neuro/interfaces.act @@ -0,0 +1,137 @@ +/************************************************************************* + * + * This file is part of ACT dataflow neuro library + * + * Copyright (c) 2022 University of Groningen - Ole Richter + * Copyright (c) 2022 University of Groningen - Michele Mastella + * Copyright (c) 2022 University of Groningen - Hugh Greatorex + * 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/cell_lib_async.act"; +import "../../dataflow_neuro/cell_lib_std.act"; +import "../../dataflow_neuro/treegates.act"; +import "../../dataflow_neuro/primitives.act"; +import std::channel; +open std::channel; + +// import std::func; +open std; + +import std::data; +open std::data; + + +namespace tmpl { + namespace dataflow_neuro { + + /** + * Bundled data (non dual rail, with req) + * 2 + * quasi delay insensitive channel (dual rail). + * Basically a buffer with a bitwise conversion in front of it. + */ + export template + defproc bd2qdi(bd in; avMx1of2 out; bool? dly_cfg[N_dly_cfg]; power supply; bool? reset_B) { + // Delay on req_in + bool _req; + delayprog dly(.in = in.r, .out = _req, .s = dly_cfg, .supply = supply); + + // sig buff the reset signal + bool _reset_BX, _reset_BXX[N]; + BUF_X4 reset_buf(.a=reset_B, .y=_reset_BX,.vdd=supply.vdd,.vss=supply.vss); + sigbuf reset_bufarray(.in=_reset_BX, .out=_reset_BXX, .supply=supply); + + // sig buff the req + bool _reqX, _reqXX[N]; + BUF_X4 req_buf(.a=_req, .y=_reqX,.vdd=supply.vdd,.vss=supply.vss); + sigbuf req_bufarray(.in=_reqX, .out=_reqXX, .supply=supply); + + // bd2qdi conversion + // Each line goes to a t pin, its not to a f. + bool _inB[N]; + INV_X1 input_invs[N]; + (i:N: + input_invs[i].a = in.d[i]; + input_invs[i].y = _inB[i]; + input_invs[i].vss = supply.vss; + input_invs[i].vdd = supply.vdd; + ) + + // BUFFER + // Basically the buffer_s but with the validity tree ripped out + // and just connected to in_req instead. + + // And probably need a delay on the in_ack to ensure en has time to disable + // before the inputs go to another state. + // Actually apparently no: there is a fixed, huge delay, already incurred + // by communicating with pads-> uC -> windows 95 and back again. + + // Since the input is never invalid, also need a mechanism + // for the output to become invalid, when an out_ack is received. + + //control + bool _en; + A_3C_RB_X4 inack_ctl(.c1=_en,.c2=_reqX,.c3=out.v,.y=in.a,.pr_B=_reset_BX,.sr_B=_reset_BX,.vdd=supply.vdd,.vss=supply.vss); + A_1C1P_X1 en_ctl(.c1=in.a,.p1=out.v,.y=_en,.vdd=supply.vdd,.vss=supply.vss); + + //function + bool _out_a_BX_t[N],_out_a_BX_f[N],_out_a_B,_en_X_t[N],_en_X_f[N]; + A_2C2N_RB_X4 f_buf_func[N]; + A_2C2N_RB_X4 t_buf_func[N]; + sigbuf en_buf_t(.in=_en, .out=_en_X_t, .supply=supply); + sigbuf en_buf_f(.in=_en, .out=_en_X_f, .supply=supply); + INV_X1 out_a_inv(.a=out.a,.y=_out_a_B, .vss = supply.vss, .vdd = supply.vdd); + sigbuf out_a_B_buf_f(.in=_out_a_B,.out=_out_a_BX_t, .supply=supply); + sigbuf out_a_B_buf_t(.in=_out_a_B,.out=_out_a_BX_f, .supply=supply); + // check if you can also do single var to array connect a=b[N] + // and remove them from the loop + (i:N: + f_buf_func[i].y=out.d.d[i].f; + t_buf_func[i].y=out.d.d[i].t; + f_buf_func[i].c1=_en_X_f[i]; + t_buf_func[i].c1=_en_X_t[i]; + f_buf_func[i].c2=_out_a_BX_f[i]; + t_buf_func[i].c2=_out_a_BX_t[i]; + f_buf_func[i].n1=_inB[i]; + t_buf_func[i].n1=in.d[i]; + f_buf_func[i].n2=_reqXX[i]; + t_buf_func[i].n2=_reqXX[i]; + f_buf_func[i].vdd=supply.vdd; + t_buf_func[i].vdd=supply.vdd; + f_buf_func[i].vss=supply.vss; + t_buf_func[i].vss=supply.vss; + t_buf_func[i].pr_B = _reset_BXX[i]; + t_buf_func[i].sr_B = _reset_BXX[i]; + f_buf_func[i].pr_B = _reset_BXX[i]; + f_buf_func[i].sr_B = _reset_BXX[i]; + ) + + + } + + + + + + + } + +} \ No newline at end of file diff --git a/test/unit_tests/bd2qdi_5/run/prsim.out b/test/unit_tests/bd2qdi_5/run/prsim.out new file mode 100644 index 0000000..c18eaa2 --- /dev/null +++ b/test/unit_tests/bd2qdi_5/run/prsim.out @@ -0,0 +1,615 @@ +b.b._out_a_BX_f[0] b.b.dly.dly[5].__y b.b.dly.mu2[0]._s b.b._inB[1] b.b.dly.dly[9].__y b.in.r b.b._inB[4] b.b.dly.dly[6].y b.in.d[1] b.b.dly.dly[3].a b.in.d[4] b.b.dly.dly[11].__y b.b._reqX b.b._en_X_f[0] b.b.dly.dly[13].y b.b.dly.dly[4]._y b.dly_cfg[3] b.in.d[2] b.b.dly.dly[11].y b.b.dly.dly[0].a b.b._en_X_t[0] b.b.dly.mu2[3].b b.dly_cfg[2] b.b._out_a_BX_t[0] b.b._reqXX[0] b.out.v b.b.dly.dly[7].___y b.b._out_a_B b.b._inB[2] b.b._inB[0] b.b.dly._a[1] b.dly_cfg[1] b.b.dly.dly[8].__y b.b.dly.dly[4].___y b.in.d[0] b.b.dly.dly[8]._y b.b.dly.dly[0].__y b.dly_cfg[0] b.b.dly.dly[7].a b.b.req_buf._y b.b.dly.dly[8].y b.b.en_buf_f.buf2._y b.b.dly.dly[10].y b.b.dly.dly[3].___y b.b.dly.mu2[1]._y b.b.dly.dly[5].y b.b.dly._a[2] b.b.dly.dly[6]._y b.b.dly.mu2[3]._s b.b.dly.dly[7].y b.b.en_buf_t.buf2._y b.b._en b.b.dly._a[3] b.b.dly.dly[1].___y b.out.a b.in.d[3] b.b.dly.dly[2]._y b.b.dly.dly[7].__y b.b._req b.b.dly.dly[12].___y b.b.dly.dly[12].y b.b.dly.dly[8].___y b.b.dly.dly[1].a b.b.dly.dly[9].___y b.b.dly.dly[3].y b.b.dly.dly[2].y b.b.dly.dly[14].___y b.b._inB[3] b.b.dly.mu2[0]._y b.b.dly.dly[6].___y b.b.dly.and2[0]._y b.b.dly.dly[3]._y b.b.dly.dly[10].__y b.b.out_a_B_buf_t.buf2._y b.b.dly.mu2[3]._y b.b.req_bufarray.buf2._y b.b.dly.dly[5]._y b.b.dly.mu2[1]._s b.b.dly.dly[4].y b.b.dly.dly[1]._y b.b.dly.and2[3]._y b.b.dly.dly[13].___y b.b.dly.dly[0]._y b.b.dly.dly[11]._y b.b.dly.dly[14].__y b.b.dly.dly[1].__y b.b.dly.mu2[2]._y b.b.dly.and2[1]._y b.b.out_a_B_buf_f.buf2._y b.b.dly.dly[9].y b.b.dly.dly[0].___y b.b.dly.dly[7]._y b.b.dly.dly[13]._y b.b.dly.dly[4].__y b.b.dly.and2[2]._y b.b.dly.dly[12].__y b.b.dly.dly[11].___y b.b.dly.dly[1].y b.b.dly.dly[12]._y b.b.dly.dly[2].__y b.b.dly.dly[14]._y b.b.dly.dly[5].___y b.b.dly.dly[2].___y b.b.dly.dly[0].y b.b.dly.dly[3].__y b.b.dly.mu2[2]._s b.b.dly.dly[13].__y b.b.dly.dly[10].___y b.b.dly.dly[9]._y b.b.dly.dly[6].__y b.b.dly.dly[10]._y + 87848 b.out.a : 0 + 87848 Reset : 0 + 87848 b.in.r : 0 + 87848 b.dly_cfg[3] : 1 + 87848 b.dly_cfg[2] : 1 + 87848 b.in.d[4] : 0 + 87848 b.out.v : 0 + 87848 b.dly_cfg[1] : 1 + 87848 b.in.d[3] : 1 + 87848 b.in.d[2] : 0 + 87848 b.dly_cfg[0] : 1 + 87848 b.in.d[1] : 0 + 87848 b.in.d[0] : 1 + 87849 b.b.dly.mu2[1]._s : 0 [by b.dly_cfg[1]:=1] + 87849 b.b._inB[3] : 0 [by b.in.d[3]:=1] + 87851 b.b._inB[0] : 0 [by b.in.d[0]:=1] + 88130 b.b.dly.mu2[0]._s : 0 [by b.dly_cfg[0]:=1] + 88270 b.b._inB[4] : 1 [by b.in.d[4]:=0] + 88616 b.b._inB[1] : 1 [by b.in.d[1]:=0] + 101697 b.b.dly.and2[0]._y : 1 [by b.in.r:=0] + 102191 b.b.dly.mu2[2]._s : 0 [by b.dly_cfg[2]:=1] + 108053 b.b._inB[2] : 1 [by b.in.d[2]:=0] + 112660 b.b.dly.mu2[3]._s : 0 [by b.dly_cfg[3]:=1] + 117628 b._reset_B : 1 [by Reset:=0] + 118179 b.b.reset_buf._y : 0 [by b._reset_B:=1] + 119250 b.b._reset_BX : 1 [by b.b.reset_buf._y:=0] + 120204 b.b.reset_bufarray.buf2._y : 0 [by b.b._reset_BX:=1] + 121285 b.b._reset_BXX[0] : 1 [by b.b.reset_bufarray.buf2._y:=0] + 121303 b.b.f_buf_func[4]._y : X [by b.b._reset_BXX[0]:=1] + 122267 b.b.f_buf_func[2]._y : X [by b.b._reset_BXX[0]:=1] + 124138 b.b.dly.dly[0].a : 0 [by b.b.dly.and2[0]._y:=1] + 125288 b.b.t_buf_func[3]._y : X [by b.b._reset_BXX[0]:=1] + 125298 b.b.t_buf_func[0]._y : X [by b.b._reset_BXX[0]:=1] + 125501 b.b.t_buf_func[0].y : X [by b.b.t_buf_func[0]._y:=X] + 125790 b.b.t_buf_func[3].y : X [by b.b.t_buf_func[3]._y:=X] + 128898 b.b.dly.dly[0]._y : 1 [by b.b.dly.dly[0].a:=0] + 130752 b.b.dly.dly[0].__y : 0 [by b.b.dly.dly[0]._y:=1] + 130891 b.b.dly.dly[0].___y : 1 [by b.b.dly.dly[0].__y:=0] + 136562 b.b._en : 1 [by b.out.v:=0] + 136573 b.b.en_buf_t.buf2._y : 0 [by b.b._en:=1] + 136631 b.b.en_buf_f.buf2._y : 0 [by b.b._en:=1] + 136835 b.b._en_X_f[0] : 1 [by b.b.en_buf_f.buf2._y:=0] + 139501 b.b._out_a_B : 1 [by b.out.a:=0] + 139502 b.b.out_a_B_buf_f.buf2._y : 0 [by b.b._out_a_B:=1] + 139516 b.b.out_a_B_buf_t.buf2._y : 0 [by b.b._out_a_B:=1] + 139539 b.b._out_a_BX_t[0] : 1 [by b.b.out_a_B_buf_f.buf2._y:=0] + 140255 b.b._out_a_BX_f[0] : 1 [by b.b.out_a_B_buf_t.buf2._y:=0] + 143851 b.b.f_buf_func[2].y : X [by b.b.f_buf_func[2]._y:=X] + 166204 b.b.f_buf_func[4].y : X [by b.b.f_buf_func[4]._y:=X] + 167237 b.b.dly.dly[0].y : 0 [by b.b.dly.dly[0].___y:=1] + 167349 b.b.dly.mu2[0]._y : 1 [by b.b.dly.dly[0].y:=0] + 175755 b.b.f_buf_func[1]._y : X [by b.b._reset_BXX[0]:=1] + 175795 b.b.f_buf_func[1].y : X [by b.b.f_buf_func[1]._y:=X] + 188359 b.b._en_X_t[0] : 1 [by b.b.en_buf_t.buf2._y:=0] + 214861 b.b.dly._a[1] : 0 [by b.b.dly.mu2[0]._y:=1] + 215118 b.b.dly.and2[1]._y : 1 [by b.b.dly._a[1]:=0] + 215205 b.b.dly.dly[1].a : 0 [by b.b.dly.and2[1]._y:=1] + 215499 b.b.dly.dly[1]._y : 1 [by b.b.dly.dly[1].a:=0] + 215500 b.b.dly.dly[1].__y : 0 [by b.b.dly.dly[1]._y:=1] + 217306 b.b.dly.dly[1].___y : 1 [by b.b.dly.dly[1].__y:=0] + 219313 b.b.dly.dly[1].y : 0 [by b.b.dly.dly[1].___y:=1] + 220522 b.b.dly.dly[2]._y : 1 [by b.b.dly.dly[1].y:=0] + 221112 b.b.dly.dly[2].__y : 0 [by b.b.dly.dly[2]._y:=1] + 221290 b.b.dly.dly[2].___y : 1 [by b.b.dly.dly[2].__y:=0] + 222093 b.b.dly.dly[2].y : 0 [by b.b.dly.dly[2].___y:=1] + 222257 b.b.dly.mu2[1]._y : 1 [by b.b.dly.dly[2].y:=0] + 224452 b.b.dly._a[2] : 0 [by b.b.dly.mu2[1]._y:=1] + 224474 b.b.dly.and2[2]._y : 1 [by b.b.dly._a[2]:=0] + 225321 b.b.dly.dly[3].a : 0 [by b.b.dly.and2[2]._y:=1] + 255449 b.b.dly.dly[3]._y : 1 [by b.b.dly.dly[3].a:=0] + 255582 b.b.dly.dly[3].__y : 0 [by b.b.dly.dly[3]._y:=1] + 271244 b.b.dly.dly[3].___y : 1 [by b.b.dly.dly[3].__y:=0] + 271603 b.b.dly.dly[3].y : 0 [by b.b.dly.dly[3].___y:=1] + 285719 b.b.dly.dly[4]._y : 1 [by b.b.dly.dly[3].y:=0] + 285940 b.b.dly.dly[4].__y : 0 [by b.b.dly.dly[4]._y:=1] + 285947 b.b.dly.dly[4].___y : 1 [by b.b.dly.dly[4].__y:=0] + 285977 b.b.dly.dly[4].y : 0 [by b.b.dly.dly[4].___y:=1] + 292690 b.b.dly.dly[5]._y : 1 [by b.b.dly.dly[4].y:=0] + 350151 b.b.dly.dly[5].__y : 0 [by b.b.dly.dly[5]._y:=1] + 350242 b.b.dly.dly[5].___y : 1 [by b.b.dly.dly[5].__y:=0] + 352431 b.b.dly.dly[5].y : 0 [by b.b.dly.dly[5].___y:=1] + 352438 b.b.dly.dly[6]._y : 1 [by b.b.dly.dly[5].y:=0] + 355225 b.b.dly.dly[6].__y : 0 [by b.b.dly.dly[6]._y:=1] + 355331 b.b.dly.dly[6].___y : 1 [by b.b.dly.dly[6].__y:=0] + 355409 b.b.dly.dly[6].y : 0 [by b.b.dly.dly[6].___y:=1] + 355684 b.b.dly.mu2[2]._y : 1 [by b.b.dly.dly[6].y:=0] + 374680 b.b.dly._a[3] : 0 [by b.b.dly.mu2[2]._y:=1] + 375135 b.b.dly.and2[3]._y : 1 [by b.b.dly._a[3]:=0] + 375147 b.b.dly.dly[7].a : 0 [by b.b.dly.and2[3]._y:=1] + 375551 b.b.dly.dly[7]._y : 1 [by b.b.dly.dly[7].a:=0] + 375563 b.b.dly.dly[7].__y : 0 [by b.b.dly.dly[7]._y:=1] + 381479 b.b.dly.dly[7].___y : 1 [by b.b.dly.dly[7].__y:=0] + 385755 b.b.dly.dly[7].y : 0 [by b.b.dly.dly[7].___y:=1] + 388654 b.b.dly.dly[8]._y : 1 [by b.b.dly.dly[7].y:=0] + 392949 b.b.dly.dly[8].__y : 0 [by b.b.dly.dly[8]._y:=1] + 392951 b.b.dly.dly[8].___y : 1 [by b.b.dly.dly[8].__y:=0] + 397486 b.b.dly.dly[8].y : 0 [by b.b.dly.dly[8].___y:=1] + 398735 b.b.dly.dly[9]._y : 1 [by b.b.dly.dly[8].y:=0] + 402234 b.b.dly.dly[9].__y : 0 [by b.b.dly.dly[9]._y:=1] + 402400 b.b.dly.dly[9].___y : 1 [by b.b.dly.dly[9].__y:=0] + 402475 b.b.dly.dly[9].y : 0 [by b.b.dly.dly[9].___y:=1] + 402820 b.b.dly.dly[10]._y : 1 [by b.b.dly.dly[9].y:=0] + 402958 b.b.dly.dly[10].__y : 0 [by b.b.dly.dly[10]._y:=1] + 408221 b.b.dly.dly[10].___y : 1 [by b.b.dly.dly[10].__y:=0] + 408223 b.b.dly.dly[10].y : 0 [by b.b.dly.dly[10].___y:=1] + 452140 b.b.dly.dly[11]._y : 1 [by b.b.dly.dly[10].y:=0] + 452141 b.b.dly.dly[11].__y : 0 [by b.b.dly.dly[11]._y:=1] + 452689 b.b.dly.dly[11].___y : 1 [by b.b.dly.dly[11].__y:=0] + 452700 b.b.dly.dly[11].y : 0 [by b.b.dly.dly[11].___y:=1] + 453070 b.b.dly.dly[12]._y : 1 [by b.b.dly.dly[11].y:=0] + 453137 b.b.dly.dly[12].__y : 0 [by b.b.dly.dly[12]._y:=1] + 455778 b.b.dly.dly[12].___y : 1 [by b.b.dly.dly[12].__y:=0] + 455794 b.b.dly.dly[12].y : 0 [by b.b.dly.dly[12].___y:=1] + 460356 b.b.dly.dly[13]._y : 1 [by b.b.dly.dly[12].y:=0] + 460884 b.b.dly.dly[13].__y : 0 [by b.b.dly.dly[13]._y:=1] + 463319 b.b.dly.dly[13].___y : 1 [by b.b.dly.dly[13].__y:=0] + 490199 b.b.dly.dly[13].y : 0 [by b.b.dly.dly[13].___y:=1] + 514124 b.b.dly.dly[14]._y : 1 [by b.b.dly.dly[13].y:=0] + 527165 b.b.dly.dly[14].__y : 0 [by b.b.dly.dly[14]._y:=1] + 527167 b.b.dly.dly[14].___y : 1 [by b.b.dly.dly[14].__y:=0] + 588125 b.b.dly.mu2[3].b : 0 [by b.b.dly.dly[14].___y:=1] + 588128 b.b.dly.mu2[3]._y : 1 [by b.b.dly.mu2[3].b:=0] + 588157 b.b._req : 0 [by b.b.dly.mu2[3]._y:=1] + 588474 b.b.req_buf._y : 1 [by b.b._req:=0] + 590075 b.b._reqX : 0 [by b.b.req_buf._y:=1] + 590228 b.b.req_bufarray.buf2._y : 1 [by b.b._reqX:=0] + 590272 b.b._reqXX[0] : 0 [by b.b.req_bufarray.buf2._y:=1] +[] set Reset 1 + 590272 Reset : 1 + 593033 b._reset_B : 0 [by Reset:=1] + 606716 b.b.reset_buf._y : 1 [by b._reset_B:=0] + 606717 b.b._reset_BX : 0 [by b.b.reset_buf._y:=1] + 606934 b.b.reset_bufarray.buf2._y : 1 [by b.b._reset_BX:=0] + 606956 b.b._reset_BXX[0] : 0 [by b.b.reset_bufarray.buf2._y:=1] + 606957 b.b.f_buf_func[1]._y : 1 [by b.b._reset_BXX[0]:=0] + 607115 b.b.t_buf_func[0]._y : 1 [by b.b._reset_BXX[0]:=0] + 608244 b.b.f_buf_func[1].y : 0 [by b.b.f_buf_func[1]._y:=1] + 608537 b.b.f_buf_func[2]._y : 1 [by b.b._reset_BXX[0]:=0] + 608682 b.b.f_buf_func[2].y : 0 [by b.b.f_buf_func[2]._y:=1] + 609347 b.b.t_buf_func[0].y : 0 [by b.b.t_buf_func[0]._y:=1] + 616301 b.b.f_buf_func[4]._y : 1 [by b.b._reset_BXX[0]:=0] + 619133 b.b.f_buf_func[4].y : 0 [by b.b.f_buf_func[4]._y:=1] + 626632 b.b.t_buf_func[3]._y : 1 [by b.b._reset_BXX[0]:=0] + 632986 b.b.t_buf_func[3].y : 0 [by b.b.t_buf_func[3]._y:=1] +[] set Reset 0 + 632986 Reset : 0 + 632987 b._reset_B : 1 [by Reset:=0] + 672271 b.b.reset_buf._y : 0 [by b._reset_B:=1] + 672433 b.b._reset_BX : 1 [by b.b.reset_buf._y:=0] + 679802 b.b.reset_bufarray.buf2._y : 0 [by b.b._reset_BX:=1] + 679816 b.b._reset_BXX[0] : 1 [by b.b.reset_bufarray.buf2._y:=0] + +[] Reset finished, setting data + 679816 b.in.d[0] : 0 + 679816 b.in.d[4] : 1 + 679816 b.in.d[2] : 1 + 679816 b.in.d[1] : 1 + 679816 b.in.d[3] : 0 + 679817 b.b._inB[1] : 0 [by b.in.d[1]:=1] + 679817 b.b._inB[3] : 1 [by b.in.d[3]:=0] + 679823 b.b._inB[0] : 1 [by b.in.d[0]:=0] + 679976 b.b._inB[4] : 0 [by b.in.d[4]:=1] + 701373 b.b._inB[2] : 0 [by b.in.d[2]:=1] +[] Reset finished, setting req 1 + 701373 b.in.r : 1 + 701374 b.b.dly.and2[0]._y : 0 [by b.in.r:=1] + 703617 b.b.dly.dly[0].a : 1 [by b.b.dly.and2[0]._y:=0] + 703804 b.b.dly.dly[0]._y : 0 [by b.b.dly.dly[0].a:=1] + 703805 b.b.dly.dly[0].__y : 1 [by b.b.dly.dly[0]._y:=0] + 707987 b.b.dly.dly[0].___y : 0 [by b.b.dly.dly[0].__y:=1] + 742769 b.b.dly.dly[0].y : 1 [by b.b.dly.dly[0].___y:=0] + 742770 b.b.dly.mu2[0]._y : 0 [by b.b.dly.dly[0].y:=1] + 743623 b.b.dly._a[1] : 1 [by b.b.dly.mu2[0]._y:=0] + 743628 b.b.dly.and2[1]._y : 0 [by b.b.dly._a[1]:=1] + 744519 b.b.dly.dly[1].a : 1 [by b.b.dly.and2[1]._y:=0] + 744520 b.b.dly.dly[1]._y : 0 [by b.b.dly.dly[1].a:=1] + 744537 b.b.dly.dly[1].__y : 1 [by b.b.dly.dly[1]._y:=0] + 747110 b.b.dly.dly[1].___y : 0 [by b.b.dly.dly[1].__y:=1] + 755471 b.b.dly.dly[1].y : 1 [by b.b.dly.dly[1].___y:=0] + 755474 b.b.dly.dly[2]._y : 0 [by b.b.dly.dly[1].y:=1] + 756415 b.b.dly.dly[2].__y : 1 [by b.b.dly.dly[2]._y:=0] + 815377 b.b.dly.dly[2].___y : 0 [by b.b.dly.dly[2].__y:=1] + 815378 b.b.dly.dly[2].y : 1 [by b.b.dly.dly[2].___y:=0] + 815420 b.b.dly.mu2[1]._y : 0 [by b.b.dly.dly[2].y:=1] + 818237 b.b.dly._a[2] : 1 [by b.b.dly.mu2[1]._y:=0] + 831970 b.b.dly.and2[2]._y : 0 [by b.b.dly._a[2]:=1] + 832065 b.b.dly.dly[3].a : 1 [by b.b.dly.and2[2]._y:=0] + 832400 b.b.dly.dly[3]._y : 0 [by b.b.dly.dly[3].a:=1] + 832408 b.b.dly.dly[3].__y : 1 [by b.b.dly.dly[3]._y:=0] + 832442 b.b.dly.dly[3].___y : 0 [by b.b.dly.dly[3].__y:=1] + 846329 b.b.dly.dly[3].y : 1 [by b.b.dly.dly[3].___y:=0] + 847247 b.b.dly.dly[4]._y : 0 [by b.b.dly.dly[3].y:=1] + 847251 b.b.dly.dly[4].__y : 1 [by b.b.dly.dly[4]._y:=0] + 893629 b.b.dly.dly[4].___y : 0 [by b.b.dly.dly[4].__y:=1] + 896027 b.b.dly.dly[4].y : 1 [by b.b.dly.dly[4].___y:=0] + 899242 b.b.dly.dly[5]._y : 0 [by b.b.dly.dly[4].y:=1] + 946361 b.b.dly.dly[5].__y : 1 [by b.b.dly.dly[5]._y:=0] + 946409 b.b.dly.dly[5].___y : 0 [by b.b.dly.dly[5].__y:=1] + 946412 b.b.dly.dly[5].y : 1 [by b.b.dly.dly[5].___y:=0] + 946590 b.b.dly.dly[6]._y : 0 [by b.b.dly.dly[5].y:=1] + 967567 b.b.dly.dly[6].__y : 1 [by b.b.dly.dly[6]._y:=0] + 979466 b.b.dly.dly[6].___y : 0 [by b.b.dly.dly[6].__y:=1] + 985417 b.b.dly.dly[6].y : 1 [by b.b.dly.dly[6].___y:=0] + 1024902 b.b.dly.mu2[2]._y : 0 [by b.b.dly.dly[6].y:=1] + 1025729 b.b.dly._a[3] : 1 [by b.b.dly.mu2[2]._y:=0] + 1025902 b.b.dly.and2[3]._y : 0 [by b.b.dly._a[3]:=1] + 1026086 b.b.dly.dly[7].a : 1 [by b.b.dly.and2[3]._y:=0] + 1026087 b.b.dly.dly[7]._y : 0 [by b.b.dly.dly[7].a:=1] + 1026160 b.b.dly.dly[7].__y : 1 [by b.b.dly.dly[7]._y:=0] + 1026164 b.b.dly.dly[7].___y : 0 [by b.b.dly.dly[7].__y:=1] + 1063452 b.b.dly.dly[7].y : 1 [by b.b.dly.dly[7].___y:=0] + 1063548 b.b.dly.dly[8]._y : 0 [by b.b.dly.dly[7].y:=1] + 1063684 b.b.dly.dly[8].__y : 1 [by b.b.dly.dly[8]._y:=0] + 1063685 b.b.dly.dly[8].___y : 0 [by b.b.dly.dly[8].__y:=1] + 1082731 b.b.dly.dly[8].y : 1 [by b.b.dly.dly[8].___y:=0] + 1082972 b.b.dly.dly[9]._y : 0 [by b.b.dly.dly[8].y:=1] + 1086931 b.b.dly.dly[9].__y : 1 [by b.b.dly.dly[9]._y:=0] + 1086943 b.b.dly.dly[9].___y : 0 [by b.b.dly.dly[9].__y:=1] + 1090843 b.b.dly.dly[9].y : 1 [by b.b.dly.dly[9].___y:=0] + 1091872 b.b.dly.dly[10]._y : 0 [by b.b.dly.dly[9].y:=1] + 1091873 b.b.dly.dly[10].__y : 1 [by b.b.dly.dly[10]._y:=0] + 1091929 b.b.dly.dly[10].___y : 0 [by b.b.dly.dly[10].__y:=1] + 1136935 b.b.dly.dly[10].y : 1 [by b.b.dly.dly[10].___y:=0] + 1136936 b.b.dly.dly[11]._y : 0 [by b.b.dly.dly[10].y:=1] + 1136973 b.b.dly.dly[11].__y : 1 [by b.b.dly.dly[11]._y:=0] + 1160348 b.b.dly.dly[11].___y : 0 [by b.b.dly.dly[11].__y:=1] + 1160349 b.b.dly.dly[11].y : 1 [by b.b.dly.dly[11].___y:=0] + 1163913 b.b.dly.dly[12]._y : 0 [by b.b.dly.dly[11].y:=1] + 1165605 b.b.dly.dly[12].__y : 1 [by b.b.dly.dly[12]._y:=0] + 1165618 b.b.dly.dly[12].___y : 0 [by b.b.dly.dly[12].__y:=1] + 1182602 b.b.dly.dly[12].y : 1 [by b.b.dly.dly[12].___y:=0] + 1182959 b.b.dly.dly[13]._y : 0 [by b.b.dly.dly[12].y:=1] + 1182984 b.b.dly.dly[13].__y : 1 [by b.b.dly.dly[13]._y:=0] + 1183005 b.b.dly.dly[13].___y : 0 [by b.b.dly.dly[13].__y:=1] + 1183006 b.b.dly.dly[13].y : 1 [by b.b.dly.dly[13].___y:=0] + 1192654 b.b.dly.dly[14]._y : 0 [by b.b.dly.dly[13].y:=1] + 1192655 b.b.dly.dly[14].__y : 1 [by b.b.dly.dly[14]._y:=0] + 1192656 b.b.dly.dly[14].___y : 0 [by b.b.dly.dly[14].__y:=1] + 1192817 b.b.dly.mu2[3].b : 1 [by b.b.dly.dly[14].___y:=0] + 1193854 b.b.dly.mu2[3]._y : 0 [by b.b.dly.mu2[3].b:=1] + 1193859 b.b._req : 1 [by b.b.dly.mu2[3]._y:=0] + 1194440 b.b.req_buf._y : 0 [by b.b._req:=1] + 1194848 b.b._reqX : 1 [by b.b.req_buf._y:=0] + 1194859 b.b.req_bufarray.buf2._y : 0 [by b.b._reqX:=1] + 1195906 b.b._reqXX[0] : 1 [by b.b.req_bufarray.buf2._y:=0] + 1195910 b.b.t_buf_func[1]._y : 0 [by b.b._reqXX[0]:=1] + 1195920 b.b.f_buf_func[0]._y : 0 [by b.b._reqXX[0]:=1] + 1195924 b.b.f_buf_func[3]._y : 0 [by b.b._reqXX[0]:=1] + 1196010 b.b.t_buf_func[2]._y : 0 [by b.b._reqXX[0]:=1] + 1196152 b.b.f_buf_func[3].y : 1 [by b.b.f_buf_func[3]._y:=0] + 1196853 b.b.t_buf_func[2].y : 1 [by b.b.t_buf_func[2]._y:=0] + 1197114 b.b.t_buf_func[1].y : 1 [by b.b.t_buf_func[1]._y:=0] + 1204375 b.b.f_buf_func[0].y : 1 [by b.b.f_buf_func[0]._y:=0] + 1227350 b.b.t_buf_func[4]._y : 0 [by b.b._reqXX[0]:=1] + 1228809 b.b.t_buf_func[4].y : 1 [by b.b.t_buf_func[4]._y:=0] +[] Receiving val out + 1228809 b.out.v : 1 + 1228879 b.b.inack_ctl._y : 0 [by b.out.v:=1] + 1279301 b.in.a : 1 [by b.b.inack_ctl._y:=0] + 1279312 b.b._en : 0 [by b.in.a:=1] + 1279315 b.b.en_buf_f.buf2._y : 1 [by b.b._en:=0] + 1279366 b.b.en_buf_t.buf2._y : 1 [by b.b._en:=0] + 1280463 b.b._en_X_f[0] : 0 [by b.b.en_buf_f.buf2._y:=1] + 1280527 b.b._en_X_t[0] : 0 [by b.b.en_buf_t.buf2._y:=1] +[] Changing some input data + 1280527 b.in.d[0] : 1 + 1289179 b.b._inB[0] : 0 [by b.in.d[0]:=1] +[] Removing req +[] Changing more data + 1289179 b.in.r : 0 + 1289179 b.in.d[4] : 0 + 1289260 b.b.dly.and2[0]._y : 1 [by b.in.r:=0] + 1300256 b.b._inB[4] : 1 [by b.in.d[4]:=0] + 1307243 b.b.dly.dly[0].a : 0 [by b.b.dly.and2[0]._y:=1] + 1307335 b.b.dly.dly[0]._y : 1 [by b.b.dly.dly[0].a:=0] + 1315646 b.b.dly.dly[0].__y : 0 [by b.b.dly.dly[0]._y:=1] + 1317390 b.b.dly.dly[0].___y : 1 [by b.b.dly.dly[0].__y:=0] + 1318003 b.b.dly.dly[0].y : 0 [by b.b.dly.dly[0].___y:=1] + 1332025 b.b.dly.mu2[0]._y : 1 [by b.b.dly.dly[0].y:=0] + 1332070 b.b.dly._a[1] : 0 [by b.b.dly.mu2[0]._y:=1] + 1333067 b.b.dly.and2[1]._y : 1 [by b.b.dly._a[1]:=0] + 1334716 b.b.dly.dly[1].a : 0 [by b.b.dly.and2[1]._y:=1] + 1335241 b.b.dly.dly[1]._y : 1 [by b.b.dly.dly[1].a:=0] + 1336141 b.b.dly.dly[1].__y : 0 [by b.b.dly.dly[1]._y:=1] + 1336193 b.b.dly.dly[1].___y : 1 [by b.b.dly.dly[1].__y:=0] + 1336200 b.b.dly.dly[1].y : 0 [by b.b.dly.dly[1].___y:=1] + 1351812 b.b.dly.dly[2]._y : 1 [by b.b.dly.dly[1].y:=0] + 1358279 b.b.dly.dly[2].__y : 0 [by b.b.dly.dly[2]._y:=1] + 1358281 b.b.dly.dly[2].___y : 1 [by b.b.dly.dly[2].__y:=0] + 1358635 b.b.dly.dly[2].y : 0 [by b.b.dly.dly[2].___y:=1] + 1358768 b.b.dly.mu2[1]._y : 1 [by b.b.dly.dly[2].y:=0] + 1358769 b.b.dly._a[2] : 0 [by b.b.dly.mu2[1]._y:=1] + 1358773 b.b.dly.and2[2]._y : 1 [by b.b.dly._a[2]:=0] + 1359319 b.b.dly.dly[3].a : 0 [by b.b.dly.and2[2]._y:=1] + 1404882 b.b.dly.dly[3]._y : 1 [by b.b.dly.dly[3].a:=0] + 1404883 b.b.dly.dly[3].__y : 0 [by b.b.dly.dly[3]._y:=1] + 1417261 b.b.dly.dly[3].___y : 1 [by b.b.dly.dly[3].__y:=0] + 1417340 b.b.dly.dly[3].y : 0 [by b.b.dly.dly[3].___y:=1] + 1419773 b.b.dly.dly[4]._y : 1 [by b.b.dly.dly[3].y:=0] + 1419861 b.b.dly.dly[4].__y : 0 [by b.b.dly.dly[4]._y:=1] + 1427643 b.b.dly.dly[4].___y : 1 [by b.b.dly.dly[4].__y:=0] + 1455970 b.b.dly.dly[4].y : 0 [by b.b.dly.dly[4].___y:=1] + 1456029 b.b.dly.dly[5]._y : 1 [by b.b.dly.dly[4].y:=0] + 1456059 b.b.dly.dly[5].__y : 0 [by b.b.dly.dly[5]._y:=1] + 1457526 b.b.dly.dly[5].___y : 1 [by b.b.dly.dly[5].__y:=0] + 1517030 b.b.dly.dly[5].y : 0 [by b.b.dly.dly[5].___y:=1] + 1536414 b.b.dly.dly[6]._y : 1 [by b.b.dly.dly[5].y:=0] + 1537099 b.b.dly.dly[6].__y : 0 [by b.b.dly.dly[6]._y:=1] + 1553814 b.b.dly.dly[6].___y : 1 [by b.b.dly.dly[6].__y:=0] + 1553941 b.b.dly.dly[6].y : 0 [by b.b.dly.dly[6].___y:=1] + 1554110 b.b.dly.mu2[2]._y : 1 [by b.b.dly.dly[6].y:=0] + 1554153 b.b.dly._a[3] : 0 [by b.b.dly.mu2[2]._y:=1] + 1554165 b.b.dly.and2[3]._y : 1 [by b.b.dly._a[3]:=0] + 1555444 b.b.dly.dly[7].a : 0 [by b.b.dly.and2[3]._y:=1] + 1555677 b.b.dly.dly[7]._y : 1 [by b.b.dly.dly[7].a:=0] + 1555680 b.b.dly.dly[7].__y : 0 [by b.b.dly.dly[7]._y:=1] + 1555718 b.b.dly.dly[7].___y : 1 [by b.b.dly.dly[7].__y:=0] + 1555719 b.b.dly.dly[7].y : 0 [by b.b.dly.dly[7].___y:=1] + 1568471 b.b.dly.dly[8]._y : 1 [by b.b.dly.dly[7].y:=0] + 1568563 b.b.dly.dly[8].__y : 0 [by b.b.dly.dly[8]._y:=1] + 1571290 b.b.dly.dly[8].___y : 1 [by b.b.dly.dly[8].__y:=0] + 1571292 b.b.dly.dly[8].y : 0 [by b.b.dly.dly[8].___y:=1] + 1571293 b.b.dly.dly[9]._y : 1 [by b.b.dly.dly[8].y:=0] + 1572794 b.b.dly.dly[9].__y : 0 [by b.b.dly.dly[9]._y:=1] + 1572796 b.b.dly.dly[9].___y : 1 [by b.b.dly.dly[9].__y:=0] + 1572814 b.b.dly.dly[9].y : 0 [by b.b.dly.dly[9].___y:=1] + 1572933 b.b.dly.dly[10]._y : 1 [by b.b.dly.dly[9].y:=0] + 1578653 b.b.dly.dly[10].__y : 0 [by b.b.dly.dly[10]._y:=1] + 1578661 b.b.dly.dly[10].___y : 1 [by b.b.dly.dly[10].__y:=0] + 1578715 b.b.dly.dly[10].y : 0 [by b.b.dly.dly[10].___y:=1] + 1629253 b.b.dly.dly[11]._y : 1 [by b.b.dly.dly[10].y:=0] + 1629258 b.b.dly.dly[11].__y : 0 [by b.b.dly.dly[11]._y:=1] + 1630325 b.b.dly.dly[11].___y : 1 [by b.b.dly.dly[11].__y:=0] + 1630326 b.b.dly.dly[11].y : 0 [by b.b.dly.dly[11].___y:=1] + 1630464 b.b.dly.dly[12]._y : 1 [by b.b.dly.dly[11].y:=0] + 1630465 b.b.dly.dly[12].__y : 0 [by b.b.dly.dly[12]._y:=1] + 1630529 b.b.dly.dly[12].___y : 1 [by b.b.dly.dly[12].__y:=0] + 1630652 b.b.dly.dly[12].y : 0 [by b.b.dly.dly[12].___y:=1] + 1630654 b.b.dly.dly[13]._y : 1 [by b.b.dly.dly[12].y:=0] + 1630691 b.b.dly.dly[13].__y : 0 [by b.b.dly.dly[13]._y:=1] + 1630834 b.b.dly.dly[13].___y : 1 [by b.b.dly.dly[13].__y:=0] + 1630885 b.b.dly.dly[13].y : 0 [by b.b.dly.dly[13].___y:=1] + 1631327 b.b.dly.dly[14]._y : 1 [by b.b.dly.dly[13].y:=0] + 1631338 b.b.dly.dly[14].__y : 0 [by b.b.dly.dly[14]._y:=1] + 1631339 b.b.dly.dly[14].___y : 1 [by b.b.dly.dly[14].__y:=0] + 1631348 b.b.dly.mu2[3].b : 0 [by b.b.dly.dly[14].___y:=1] + 1631373 b.b.dly.mu2[3]._y : 1 [by b.b.dly.mu2[3].b:=0] + 1641626 b.b._req : 0 [by b.b.dly.mu2[3]._y:=1] + 1645147 b.b.req_buf._y : 1 [by b.b._req:=0] + 1645292 b.b._reqX : 0 [by b.b.req_buf._y:=1] + 1661460 b.b.req_bufarray.buf2._y : 1 [by b.b._reqX:=0] + 1661690 b.b._reqXX[0] : 0 [by b.b.req_bufarray.buf2._y:=1] +[] Receiving ack out + 1661690 b.out.a : 1 + 1662381 b.b._out_a_B : 0 [by b.out.a:=1] + 1662395 b.b.out_a_B_buf_t.buf2._y : 1 [by b.b._out_a_B:=0] + 1663924 b.b.out_a_B_buf_f.buf2._y : 1 [by b.b._out_a_B:=0] + 1664006 b.b._out_a_BX_f[0] : 0 [by b.b.out_a_B_buf_t.buf2._y:=1] + 1664007 b.b.f_buf_func[3]._y : 1 [by b.b._out_a_BX_f[0]:=0] + 1664008 b.b.f_buf_func[3].y : 0 [by b.b.f_buf_func[3]._y:=1] + 1664017 b.b.f_buf_func[0]._y : 1 [by b.b._out_a_BX_f[0]:=0] + 1670518 b.b.f_buf_func[0].y : 0 [by b.b.f_buf_func[0]._y:=1] + 1681436 b.b._out_a_BX_t[0] : 0 [by b.b.out_a_B_buf_f.buf2._y:=1] + 1681568 b.b.t_buf_func[4]._y : 1 [by b.b._out_a_BX_t[0]:=0] + 1681569 b.b.t_buf_func[4].y : 0 [by b.b.t_buf_func[4]._y:=1] + 1682075 b.b.t_buf_func[1]._y : 1 [by b.b._out_a_BX_t[0]:=0] + 1682092 b.b.t_buf_func[1].y : 0 [by b.b.t_buf_func[1]._y:=1] + 1683229 b.b.t_buf_func[2]._y : 1 [by b.b._out_a_BX_t[0]:=0] + 1683381 b.b.t_buf_func[2].y : 0 [by b.b.t_buf_func[2]._y:=1] + 1683381 b.out.v : 0 + 1686364 b.b.inack_ctl._y : 1 [by b.out.v:=0] + 1686367 b.in.a : 0 [by b.b.inack_ctl._y:=1] + 1686791 b.b._en : 1 [by b.in.a:=0] + 1686797 b.b.en_buf_f.buf2._y : 0 [by b.b._en:=1] + 1689258 b.b._en_X_f[0] : 1 [by b.b.en_buf_f.buf2._y:=0] + 1689379 b.b.en_buf_t.buf2._y : 0 [by b.b._en:=1] + 1690209 b.b._en_X_t[0] : 1 [by b.b.en_buf_t.buf2._y:=0] +[] Set ack out 0 + 1690209 b.out.a : 0 + 1713141 b.b._out_a_B : 1 [by b.out.a:=0] + 1713143 b.b.out_a_B_buf_t.buf2._y : 0 [by b.b._out_a_B:=1] + 1713335 b.b.out_a_B_buf_f.buf2._y : 0 [by b.b._out_a_B:=1] + 1713473 b.b._out_a_BX_t[0] : 1 [by b.b.out_a_B_buf_f.buf2._y:=0] + 1713746 b.b._out_a_BX_f[0] : 1 [by b.b.out_a_B_buf_t.buf2._y:=0] +[] Again!!! setting data + 1713746 b.in.d[0] : 0 + 1713746 b.in.d[2] : 0 + 1713746 b.in.d[1] : 0 + 1713763 b.b._inB[2] : 1 [by b.in.d[2]:=0] + 1713763 b.b._inB[0] : 1 [by b.in.d[0]:=0] + 1714172 b.b._inB[1] : 1 [by b.in.d[1]:=0] +[] Again!!! setting req 1 + 1714172 b.in.r : 1 + 1714173 b.b.dly.and2[0]._y : 0 [by b.in.r:=1] + 1714174 b.b.dly.dly[0].a : 1 [by b.b.dly.and2[0]._y:=0] + 1715200 b.b.dly.dly[0]._y : 0 [by b.b.dly.dly[0].a:=1] + 1715201 b.b.dly.dly[0].__y : 1 [by b.b.dly.dly[0]._y:=0] + 1715220 b.b.dly.dly[0].___y : 0 [by b.b.dly.dly[0].__y:=1] + 1715388 b.b.dly.dly[0].y : 1 [by b.b.dly.dly[0].___y:=0] + 1715927 b.b.dly.mu2[0]._y : 0 [by b.b.dly.dly[0].y:=1] + 1716088 b.b.dly._a[1] : 1 [by b.b.dly.mu2[0]._y:=0] + 1716261 b.b.dly.and2[1]._y : 0 [by b.b.dly._a[1]:=1] + 1718808 b.b.dly.dly[1].a : 1 [by b.b.dly.and2[1]._y:=0] + 1733869 b.b.dly.dly[1]._y : 0 [by b.b.dly.dly[1].a:=1] + 1733870 b.b.dly.dly[1].__y : 1 [by b.b.dly.dly[1]._y:=0] + 1733871 b.b.dly.dly[1].___y : 0 [by b.b.dly.dly[1].__y:=1] + 1734261 b.b.dly.dly[1].y : 1 [by b.b.dly.dly[1].___y:=0] + 1734468 b.b.dly.dly[2]._y : 0 [by b.b.dly.dly[1].y:=1] + 1735301 b.b.dly.dly[2].__y : 1 [by b.b.dly.dly[2]._y:=0] + 1735329 b.b.dly.dly[2].___y : 0 [by b.b.dly.dly[2].__y:=1] + 1735336 b.b.dly.dly[2].y : 1 [by b.b.dly.dly[2].___y:=0] + 1735750 b.b.dly.mu2[1]._y : 0 [by b.b.dly.dly[2].y:=1] + 1735754 b.b.dly._a[2] : 1 [by b.b.dly.mu2[1]._y:=0] + 1737533 b.b.dly.and2[2]._y : 0 [by b.b.dly._a[2]:=1] + 1760407 b.b.dly.dly[3].a : 1 [by b.b.dly.and2[2]._y:=0] + 1760573 b.b.dly.dly[3]._y : 0 [by b.b.dly.dly[3].a:=1] + 1800443 b.b.dly.dly[3].__y : 1 [by b.b.dly.dly[3]._y:=0] + 1809088 b.b.dly.dly[3].___y : 0 [by b.b.dly.dly[3].__y:=1] + 1810021 b.b.dly.dly[3].y : 1 [by b.b.dly.dly[3].___y:=0] + 1810877 b.b.dly.dly[4]._y : 0 [by b.b.dly.dly[3].y:=1] + 1811016 b.b.dly.dly[4].__y : 1 [by b.b.dly.dly[4]._y:=0] + 1837225 b.b.dly.dly[4].___y : 0 [by b.b.dly.dly[4].__y:=1] + 1837420 b.b.dly.dly[4].y : 1 [by b.b.dly.dly[4].___y:=0] + 1837422 b.b.dly.dly[5]._y : 0 [by b.b.dly.dly[4].y:=1] + 1890871 b.b.dly.dly[5].__y : 1 [by b.b.dly.dly[5]._y:=0] + 1890877 b.b.dly.dly[5].___y : 0 [by b.b.dly.dly[5].__y:=1] + 1891131 b.b.dly.dly[5].y : 1 [by b.b.dly.dly[5].___y:=0] + 1891139 b.b.dly.dly[6]._y : 0 [by b.b.dly.dly[5].y:=1] + 1891140 b.b.dly.dly[6].__y : 1 [by b.b.dly.dly[6]._y:=0] + 1891146 b.b.dly.dly[6].___y : 0 [by b.b.dly.dly[6].__y:=1] + 1942182 b.b.dly.dly[6].y : 1 [by b.b.dly.dly[6].___y:=0] + 1945272 b.b.dly.mu2[2]._y : 0 [by b.b.dly.dly[6].y:=1] + 1945498 b.b.dly._a[3] : 1 [by b.b.dly.mu2[2]._y:=0] + 1946317 b.b.dly.and2[3]._y : 0 [by b.b.dly._a[3]:=1] + 1946318 b.b.dly.dly[7].a : 1 [by b.b.dly.and2[3]._y:=0] + 1946324 b.b.dly.dly[7]._y : 0 [by b.b.dly.dly[7].a:=1] + 1946326 b.b.dly.dly[7].__y : 1 [by b.b.dly.dly[7]._y:=0] + 1949888 b.b.dly.dly[7].___y : 0 [by b.b.dly.dly[7].__y:=1] + 1949903 b.b.dly.dly[7].y : 1 [by b.b.dly.dly[7].___y:=0] + 1970704 b.b.dly.dly[8]._y : 0 [by b.b.dly.dly[7].y:=1] + 1970811 b.b.dly.dly[8].__y : 1 [by b.b.dly.dly[8]._y:=0] + 1970904 b.b.dly.dly[8].___y : 0 [by b.b.dly.dly[8].__y:=1] + 1972556 b.b.dly.dly[8].y : 1 [by b.b.dly.dly[8].___y:=0] + 1976495 b.b.dly.dly[9]._y : 0 [by b.b.dly.dly[8].y:=1] + 1977253 b.b.dly.dly[9].__y : 1 [by b.b.dly.dly[9]._y:=0] + 1979876 b.b.dly.dly[9].___y : 0 [by b.b.dly.dly[9].__y:=1] + 1980592 b.b.dly.dly[9].y : 1 [by b.b.dly.dly[9].___y:=0] + 1980593 b.b.dly.dly[10]._y : 0 [by b.b.dly.dly[9].y:=1] + 1982333 b.b.dly.dly[10].__y : 1 [by b.b.dly.dly[10]._y:=0] + 1982334 b.b.dly.dly[10].___y : 0 [by b.b.dly.dly[10].__y:=1] + 1994486 b.b.dly.dly[10].y : 1 [by b.b.dly.dly[10].___y:=0] + 2022685 b.b.dly.dly[11]._y : 0 [by b.b.dly.dly[10].y:=1] + 2022686 b.b.dly.dly[11].__y : 1 [by b.b.dly.dly[11]._y:=0] + 2022692 b.b.dly.dly[11].___y : 0 [by b.b.dly.dly[11].__y:=1] + 2022693 b.b.dly.dly[11].y : 1 [by b.b.dly.dly[11].___y:=0] + 2062182 b.b.dly.dly[12]._y : 0 [by b.b.dly.dly[11].y:=1] + 2083781 b.b.dly.dly[12].__y : 1 [by b.b.dly.dly[12]._y:=0] + 2083803 b.b.dly.dly[12].___y : 0 [by b.b.dly.dly[12].__y:=1] + 2106311 b.b.dly.dly[12].y : 1 [by b.b.dly.dly[12].___y:=0] + 2106318 b.b.dly.dly[13]._y : 0 [by b.b.dly.dly[12].y:=1] + 2106383 b.b.dly.dly[13].__y : 1 [by b.b.dly.dly[13]._y:=0] + 2106396 b.b.dly.dly[13].___y : 0 [by b.b.dly.dly[13].__y:=1] + 2107520 b.b.dly.dly[13].y : 1 [by b.b.dly.dly[13].___y:=0] + 2107624 b.b.dly.dly[14]._y : 0 [by b.b.dly.dly[13].y:=1] + 2107665 b.b.dly.dly[14].__y : 1 [by b.b.dly.dly[14]._y:=0] + 2107666 b.b.dly.dly[14].___y : 0 [by b.b.dly.dly[14].__y:=1] + 2107667 b.b.dly.mu2[3].b : 1 [by b.b.dly.dly[14].___y:=0] + 2172045 b.b.dly.mu2[3]._y : 0 [by b.b.dly.mu2[3].b:=1] + 2185217 b.b._req : 1 [by b.b.dly.mu2[3]._y:=0] + 2185218 b.b.req_buf._y : 0 [by b.b._req:=1] + 2205043 b.b._reqX : 1 [by b.b.req_buf._y:=0] + 2208179 b.b.req_bufarray.buf2._y : 0 [by b.b._reqX:=1] + 2209005 b.b._reqXX[0] : 1 [by b.b.req_bufarray.buf2._y:=0] + 2209063 b.b.f_buf_func[2]._y : 0 [by b.b._reqXX[0]:=1] + 2210838 b.b.f_buf_func[0]._y : 0 [by b.b._reqXX[0]:=1] + 2210852 b.b.f_buf_func[0].y : 1 [by b.b.f_buf_func[0]._y:=0] + 2211448 b.b.f_buf_func[3]._y : 0 [by b.b._reqXX[0]:=1] + 2211804 b.b.f_buf_func[3].y : 1 [by b.b.f_buf_func[3]._y:=0] + 2225553 b.b.f_buf_func[1]._y : 0 [by b.b._reqXX[0]:=1] + 2225778 b.b.f_buf_func[4]._y : 0 [by b.b._reqXX[0]:=1] + 2225883 b.b.f_buf_func[4].y : 1 [by b.b.f_buf_func[4]._y:=0] + 2246262 b.b.f_buf_func[2].y : 1 [by b.b.f_buf_func[2]._y:=0] + 2261391 b.b.f_buf_func[1].y : 1 [by b.b.f_buf_func[1]._y:=0] +[] Receiving val out + 2261391 b.out.v : 1 + 2261500 b.b.inack_ctl._y : 0 [by b.out.v:=1] + 2261501 b.in.a : 1 [by b.b.inack_ctl._y:=0] + 2261510 b.b._en : 0 [by b.in.a:=1] + 2261511 b.b.en_buf_t.buf2._y : 1 [by b.b._en:=0] + 2297905 b.b._en_X_t[0] : 0 [by b.b.en_buf_t.buf2._y:=1] + 2299463 b.b.en_buf_f.buf2._y : 1 [by b.b._en:=0] + 2299464 b.b._en_X_f[0] : 0 [by b.b.en_buf_f.buf2._y:=1] +[] Changing some input data + 2299464 b.in.d[0] : 1 + 2299464 b.in.d[2] : 1 + 2299464 b.in.d[1] : 1 + 2300214 b.b._inB[1] : 0 [by b.in.d[1]:=1] + 2302553 b.b._inB[0] : 0 [by b.in.d[0]:=1] + 2348190 b.b._inB[2] : 0 [by b.in.d[2]:=1] +[] Removing req +[] Changing more data + 2348190 b.in.r : 0 + 2354945 b.b.dly.and2[0]._y : 1 [by b.in.r:=0] + 2354996 b.b.dly.dly[0].a : 0 [by b.b.dly.and2[0]._y:=1] + 2355006 b.b.dly.dly[0]._y : 1 [by b.b.dly.dly[0].a:=0] + 2355326 b.b.dly.dly[0].__y : 0 [by b.b.dly.dly[0]._y:=1] + 2362908 b.b.dly.dly[0].___y : 1 [by b.b.dly.dly[0].__y:=0] + 2362909 b.b.dly.dly[0].y : 0 [by b.b.dly.dly[0].___y:=1] + 2362910 b.b.dly.mu2[0]._y : 1 [by b.b.dly.dly[0].y:=0] + 2364640 b.b.dly._a[1] : 0 [by b.b.dly.mu2[0]._y:=1] + 2366327 b.b.dly.and2[1]._y : 1 [by b.b.dly._a[1]:=0] + 2366342 b.b.dly.dly[1].a : 0 [by b.b.dly.and2[1]._y:=1] + 2390616 b.b.dly.dly[1]._y : 1 [by b.b.dly.dly[1].a:=0] + 2391070 b.b.dly.dly[1].__y : 0 [by b.b.dly.dly[1]._y:=1] + 2391386 b.b.dly.dly[1].___y : 1 [by b.b.dly.dly[1].__y:=0] + 2391387 b.b.dly.dly[1].y : 0 [by b.b.dly.dly[1].___y:=1] + 2391770 b.b.dly.dly[2]._y : 1 [by b.b.dly.dly[1].y:=0] + 2399233 b.b.dly.dly[2].__y : 0 [by b.b.dly.dly[2]._y:=1] + 2399253 b.b.dly.dly[2].___y : 1 [by b.b.dly.dly[2].__y:=0] + 2400576 b.b.dly.dly[2].y : 0 [by b.b.dly.dly[2].___y:=1] + 2400663 b.b.dly.mu2[1]._y : 1 [by b.b.dly.dly[2].y:=0] + 2407385 b.b.dly._a[2] : 0 [by b.b.dly.mu2[1]._y:=1] + 2407397 b.b.dly.and2[2]._y : 1 [by b.b.dly._a[2]:=0] + 2407542 b.b.dly.dly[3].a : 0 [by b.b.dly.and2[2]._y:=1] + 2408443 b.b.dly.dly[3]._y : 1 [by b.b.dly.dly[3].a:=0] + 2409792 b.b.dly.dly[3].__y : 0 [by b.b.dly.dly[3]._y:=1] + 2410011 b.b.dly.dly[3].___y : 1 [by b.b.dly.dly[3].__y:=0] + 2418342 b.b.dly.dly[3].y : 0 [by b.b.dly.dly[3].___y:=1] + 2449923 b.b.dly.dly[4]._y : 1 [by b.b.dly.dly[3].y:=0] + 2449941 b.b.dly.dly[4].__y : 0 [by b.b.dly.dly[4]._y:=1] + 2452135 b.b.dly.dly[4].___y : 1 [by b.b.dly.dly[4].__y:=0] + 2490107 b.b.dly.dly[4].y : 0 [by b.b.dly.dly[4].___y:=1] + 2490227 b.b.dly.dly[5]._y : 1 [by b.b.dly.dly[4].y:=0] + 2496542 b.b.dly.dly[5].__y : 0 [by b.b.dly.dly[5]._y:=1] + 2498606 b.b.dly.dly[5].___y : 1 [by b.b.dly.dly[5].__y:=0] + 2499198 b.b.dly.dly[5].y : 0 [by b.b.dly.dly[5].___y:=1] + 2499205 b.b.dly.dly[6]._y : 1 [by b.b.dly.dly[5].y:=0] + 2499206 b.b.dly.dly[6].__y : 0 [by b.b.dly.dly[6]._y:=1] + 2499330 b.b.dly.dly[6].___y : 1 [by b.b.dly.dly[6].__y:=0] + 2505260 b.b.dly.dly[6].y : 0 [by b.b.dly.dly[6].___y:=1] + 2506312 b.b.dly.mu2[2]._y : 1 [by b.b.dly.dly[6].y:=0] + 2506672 b.b.dly._a[3] : 0 [by b.b.dly.mu2[2]._y:=1] + 2516866 b.b.dly.and2[3]._y : 1 [by b.b.dly._a[3]:=0] + 2517963 b.b.dly.dly[7].a : 0 [by b.b.dly.and2[3]._y:=1] + 2537855 b.b.dly.dly[7]._y : 1 [by b.b.dly.dly[7].a:=0] + 2537859 b.b.dly.dly[7].__y : 0 [by b.b.dly.dly[7]._y:=1] + 2549523 b.b.dly.dly[7].___y : 1 [by b.b.dly.dly[7].__y:=0] + 2587442 b.b.dly.dly[7].y : 0 [by b.b.dly.dly[7].___y:=1] + 2605103 b.b.dly.dly[8]._y : 1 [by b.b.dly.dly[7].y:=0] + 2608484 b.b.dly.dly[8].__y : 0 [by b.b.dly.dly[8]._y:=1] + 2608740 b.b.dly.dly[8].___y : 1 [by b.b.dly.dly[8].__y:=0] + 2623670 b.b.dly.dly[8].y : 0 [by b.b.dly.dly[8].___y:=1] + 2623707 b.b.dly.dly[9]._y : 1 [by b.b.dly.dly[8].y:=0] + 2623719 b.b.dly.dly[9].__y : 0 [by b.b.dly.dly[9]._y:=1] + 2623728 b.b.dly.dly[9].___y : 1 [by b.b.dly.dly[9].__y:=0] + 2624155 b.b.dly.dly[9].y : 0 [by b.b.dly.dly[9].___y:=1] + 2624397 b.b.dly.dly[10]._y : 1 [by b.b.dly.dly[9].y:=0] + 2625232 b.b.dly.dly[10].__y : 0 [by b.b.dly.dly[10]._y:=1] + 2671968 b.b.dly.dly[10].___y : 1 [by b.b.dly.dly[10].__y:=0] + 2673528 b.b.dly.dly[10].y : 0 [by b.b.dly.dly[10].___y:=1] + 2710621 b.b.dly.dly[11]._y : 1 [by b.b.dly.dly[10].y:=0] + 2710881 b.b.dly.dly[11].__y : 0 [by b.b.dly.dly[11]._y:=1] + 2719869 b.b.dly.dly[11].___y : 1 [by b.b.dly.dly[11].__y:=0] + 2719870 b.b.dly.dly[11].y : 0 [by b.b.dly.dly[11].___y:=1] + 2755920 b.b.dly.dly[12]._y : 1 [by b.b.dly.dly[11].y:=0] + 2756304 b.b.dly.dly[12].__y : 0 [by b.b.dly.dly[12]._y:=1] + 2756323 b.b.dly.dly[12].___y : 1 [by b.b.dly.dly[12].__y:=0] + 2756332 b.b.dly.dly[12].y : 0 [by b.b.dly.dly[12].___y:=1] + 2778286 b.b.dly.dly[13]._y : 1 [by b.b.dly.dly[12].y:=0] + 2778474 b.b.dly.dly[13].__y : 0 [by b.b.dly.dly[13]._y:=1] + 2824250 b.b.dly.dly[13].___y : 1 [by b.b.dly.dly[13].__y:=0] + 2827850 b.b.dly.dly[13].y : 0 [by b.b.dly.dly[13].___y:=1] + 2827998 b.b.dly.dly[14]._y : 1 [by b.b.dly.dly[13].y:=0] + 2846875 b.b.dly.dly[14].__y : 0 [by b.b.dly.dly[14]._y:=1] + 2846890 b.b.dly.dly[14].___y : 1 [by b.b.dly.dly[14].__y:=0] + 2857499 b.b.dly.mu2[3].b : 0 [by b.b.dly.dly[14].___y:=1] + 2858386 b.b.dly.mu2[3]._y : 1 [by b.b.dly.mu2[3].b:=0] + 2866368 b.b._req : 0 [by b.b.dly.mu2[3]._y:=1] + 2866369 b.b.req_buf._y : 1 [by b.b._req:=0] + 2873095 b.b._reqX : 0 [by b.b.req_buf._y:=1] + 2873460 b.b.req_bufarray.buf2._y : 1 [by b.b._reqX:=0] + 2882418 b.b._reqXX[0] : 0 [by b.b.req_bufarray.buf2._y:=1] +[] Receiving ack out + 2882418 b.out.a : 1 + 2883802 b.b._out_a_B : 0 [by b.out.a:=1] + 2883823 b.b.out_a_B_buf_t.buf2._y : 1 [by b.b._out_a_B:=0] + 2883826 b.b._out_a_BX_f[0] : 0 [by b.b.out_a_B_buf_t.buf2._y:=1] + 2883828 b.b.f_buf_func[3]._y : 1 [by b.b._out_a_BX_f[0]:=0] + 2883829 b.b.f_buf_func[4]._y : 1 [by b.b._out_a_BX_f[0]:=0] + 2883829 b.b.f_buf_func[3].y : 0 [by b.b.f_buf_func[3]._y:=1] + 2883843 b.b.out_a_B_buf_f.buf2._y : 1 [by b.b._out_a_B:=0] + 2884408 b.b.f_buf_func[2]._y : 1 [by b.b._out_a_BX_f[0]:=0] + 2885268 b.b.f_buf_func[2].y : 0 [by b.b.f_buf_func[2]._y:=1] + 2885703 b.b.f_buf_func[0]._y : 1 [by b.b._out_a_BX_f[0]:=0] + 2885704 b.b.f_buf_func[0].y : 0 [by b.b.f_buf_func[0]._y:=1] + 2887281 b.b.f_buf_func[4].y : 0 [by b.b.f_buf_func[4]._y:=1] + 2890976 b.b._out_a_BX_t[0] : 0 [by b.b.out_a_B_buf_f.buf2._y:=1] + 2893335 b.b.f_buf_func[1]._y : 1 [by b.b._out_a_BX_f[0]:=0] + 2893410 b.b.f_buf_func[1].y : 0 [by b.b.f_buf_func[1]._y:=1] + 2893410 b.out.v : 0 + 2921361 b.b.inack_ctl._y : 1 [by b.out.v:=0] + 2921435 b.in.a : 0 [by b.b.inack_ctl._y:=1] + 2923705 b.b._en : 1 [by b.in.a:=0] + 2923803 b.b.en_buf_f.buf2._y : 0 [by b.b._en:=1] + 2929476 b.b.en_buf_t.buf2._y : 0 [by b.b._en:=1] + 2933329 b.b._en_X_t[0] : 1 [by b.b.en_buf_t.buf2._y:=0] + 2955531 b.b._en_X_f[0] : 1 [by b.b.en_buf_f.buf2._y:=0] +[] Set ack out 0 + 2955531 b.out.a : 0 + 2961672 b.b._out_a_B : 1 [by b.out.a:=0] + 2961676 b.b.out_a_B_buf_f.buf2._y : 0 [by b.b._out_a_B:=1] + 2961681 b.b._out_a_BX_t[0] : 1 [by b.b.out_a_B_buf_f.buf2._y:=0] + 2964032 b.b.out_a_B_buf_t.buf2._y : 0 [by b.b._out_a_B:=1] + 2964323 b.b._out_a_BX_f[0] : 1 [by b.b.out_a_B_buf_t.buf2._y:=0] diff --git a/test/unit_tests/bd2qdi_5/run/test.prs b/test/unit_tests/bd2qdi_5/run/test.prs new file mode 100644 index 0000000..51872c4 --- /dev/null +++ b/test/unit_tests/bd2qdi_5/run/test.prs @@ -0,0 +1,731 @@ += "GND" "GND" += "Vdd" "Vdd" += "Reset" "Reset" +"Reset"->"b._reset_B"- +~("Reset")->"b._reset_B"+ +"b.b.reset_bufarray.buf2.a"->"b.b.reset_bufarray.buf2._y"- +~("b.b.reset_bufarray.buf2.a")->"b.b.reset_bufarray.buf2._y"+ +"b.b.reset_bufarray.buf2._y"->"b.b.reset_bufarray.buf2.y"- +~("b.b.reset_bufarray.buf2._y")->"b.b.reset_bufarray.buf2.y"+ += "b.b.reset_bufarray.supply.vdd" "b.b.reset_bufarray.buf2.vdd" += "b.b.reset_bufarray.supply.vss" "b.b.reset_bufarray.buf2.vss" += "b.b.reset_bufarray.out[0]" "b.b.reset_bufarray.out[4]" += "b.b.reset_bufarray.out[0]" "b.b.reset_bufarray.out[3]" += "b.b.reset_bufarray.out[0]" "b.b.reset_bufarray.out[2]" += "b.b.reset_bufarray.out[0]" "b.b.reset_bufarray.out[1]" += "b.b.reset_bufarray.out[0]" "b.b.reset_bufarray.buf2.y" += "b.b.reset_bufarray.in" "b.b.reset_bufarray.buf2.a" +~"b.b.inack_ctl.c1"&~"b.b.inack_ctl.c2"&~"b.b.inack_ctl.c3"|~"b.b.inack_ctl.pr_B"->"b.b.inack_ctl._y"+ +"b.b.inack_ctl.c1"&"b.b.inack_ctl.c2"&"b.b.inack_ctl.c3"&"b.b.inack_ctl.sr_B"->"b.b.inack_ctl._y"- +"b.b.inack_ctl._y"->"b.b.inack_ctl.y"- +~("b.b.inack_ctl._y")->"b.b.inack_ctl.y"+ +"b.b.dly.and2[0].a"&"b.b.dly.and2[0].b"->"b.b.dly.and2[0]._y"- +~("b.b.dly.and2[0].a"&"b.b.dly.and2[0].b")->"b.b.dly.and2[0]._y"+ +"b.b.dly.and2[0]._y"->"b.b.dly.and2[0].y"- +~("b.b.dly.and2[0]._y")->"b.b.dly.and2[0].y"+ +"b.b.dly.and2[1].a"&"b.b.dly.and2[1].b"->"b.b.dly.and2[1]._y"- +~("b.b.dly.and2[1].a"&"b.b.dly.and2[1].b")->"b.b.dly.and2[1]._y"+ +"b.b.dly.and2[1]._y"->"b.b.dly.and2[1].y"- +~("b.b.dly.and2[1]._y")->"b.b.dly.and2[1].y"+ +"b.b.dly.and2[2].a"&"b.b.dly.and2[2].b"->"b.b.dly.and2[2]._y"- +~("b.b.dly.and2[2].a"&"b.b.dly.and2[2].b")->"b.b.dly.and2[2]._y"+ +"b.b.dly.and2[2]._y"->"b.b.dly.and2[2].y"- +~("b.b.dly.and2[2]._y")->"b.b.dly.and2[2].y"+ +"b.b.dly.and2[3].a"&"b.b.dly.and2[3].b"->"b.b.dly.and2[3]._y"- +~("b.b.dly.and2[3].a"&"b.b.dly.and2[3].b")->"b.b.dly.and2[3]._y"+ +"b.b.dly.and2[3]._y"->"b.b.dly.and2[3].y"- +~("b.b.dly.and2[3]._y")->"b.b.dly.and2[3].y"+ += "b.b.dly.s[0]" "b.b.dly.mu2[0].s" += "b.b.dly.s[0]" "b.b.dly.and2[0].b" += "b.b.dly.s[1]" "b.b.dly.mu2[1].s" += "b.b.dly.s[1]" "b.b.dly.and2[1].b" += "b.b.dly.s[2]" "b.b.dly.mu2[2].s" += "b.b.dly.s[2]" "b.b.dly.and2[2].b" += "b.b.dly.s[3]" "b.b.dly.mu2[3].s" += "b.b.dly.s[3]" "b.b.dly.and2[3].b" += "b.b.dly.supply.vdd" "b.b.dly.dly[14].vdd" += "b.b.dly.supply.vdd" "b.b.dly.dly[13].vdd" += "b.b.dly.supply.vdd" "b.b.dly.dly[12].vdd" += "b.b.dly.supply.vdd" "b.b.dly.dly[11].vdd" += "b.b.dly.supply.vdd" "b.b.dly.dly[10].vdd" += "b.b.dly.supply.vdd" "b.b.dly.dly[9].vdd" += "b.b.dly.supply.vdd" "b.b.dly.dly[8].vdd" += "b.b.dly.supply.vdd" "b.b.dly.dly[7].vdd" += "b.b.dly.supply.vdd" "b.b.dly.dly[6].vdd" += "b.b.dly.supply.vdd" "b.b.dly.dly[5].vdd" += "b.b.dly.supply.vdd" "b.b.dly.dly[4].vdd" += "b.b.dly.supply.vdd" "b.b.dly.dly[3].vdd" += "b.b.dly.supply.vdd" "b.b.dly.dly[2].vdd" += "b.b.dly.supply.vdd" "b.b.dly.dly[1].vdd" += "b.b.dly.supply.vdd" "b.b.dly.dly[0].vdd" += "b.b.dly.supply.vdd" "b.b.dly.mu2[3].vdd" += "b.b.dly.supply.vdd" "b.b.dly.mu2[2].vdd" += "b.b.dly.supply.vdd" "b.b.dly.mu2[1].vdd" += "b.b.dly.supply.vdd" "b.b.dly.mu2[0].vdd" += "b.b.dly.supply.vdd" "b.b.dly.and2[3].vdd" += "b.b.dly.supply.vdd" "b.b.dly.and2[2].vdd" += "b.b.dly.supply.vdd" "b.b.dly.and2[1].vdd" += "b.b.dly.supply.vdd" "b.b.dly.and2[0].vdd" += "b.b.dly.supply.vss" "b.b.dly.dly[14].vss" += "b.b.dly.supply.vss" "b.b.dly.dly[13].vss" += "b.b.dly.supply.vss" "b.b.dly.dly[12].vss" += "b.b.dly.supply.vss" "b.b.dly.dly[11].vss" += "b.b.dly.supply.vss" "b.b.dly.dly[10].vss" += "b.b.dly.supply.vss" "b.b.dly.dly[9].vss" += "b.b.dly.supply.vss" "b.b.dly.dly[8].vss" += "b.b.dly.supply.vss" "b.b.dly.dly[7].vss" += "b.b.dly.supply.vss" "b.b.dly.dly[6].vss" += "b.b.dly.supply.vss" "b.b.dly.dly[5].vss" += "b.b.dly.supply.vss" "b.b.dly.dly[4].vss" += "b.b.dly.supply.vss" "b.b.dly.dly[3].vss" += "b.b.dly.supply.vss" "b.b.dly.dly[2].vss" += "b.b.dly.supply.vss" "b.b.dly.dly[1].vss" += "b.b.dly.supply.vss" "b.b.dly.dly[0].vss" += "b.b.dly.supply.vss" "b.b.dly.mu2[3].vss" += "b.b.dly.supply.vss" "b.b.dly.mu2[2].vss" += "b.b.dly.supply.vss" "b.b.dly.mu2[1].vss" += "b.b.dly.supply.vss" "b.b.dly.mu2[0].vss" += "b.b.dly.supply.vss" "b.b.dly.and2[3].vss" += "b.b.dly.supply.vss" "b.b.dly.and2[2].vss" += "b.b.dly.supply.vss" "b.b.dly.and2[1].vss" += "b.b.dly.supply.vss" "b.b.dly.and2[0].vss" +"b.b.dly.mu2[0].s"->"b.b.dly.mu2[0]._s"- +~("b.b.dly.mu2[0].s")->"b.b.dly.mu2[0]._s"+ +~"b.b.dly.mu2[0].a"&~"b.b.dly.mu2[0].s"|~"b.b.dly.mu2[0].b"&~"b.b.dly.mu2[0]._s"->"b.b.dly.mu2[0]._y"+ +"b.b.dly.mu2[0].a"&"b.b.dly.mu2[0]._s"|"b.b.dly.mu2[0].b"&"b.b.dly.mu2[0].s"->"b.b.dly.mu2[0]._y"- +"b.b.dly.mu2[0]._y"->"b.b.dly.mu2[0].y"- +~("b.b.dly.mu2[0]._y")->"b.b.dly.mu2[0].y"+ +"b.b.dly.mu2[1].s"->"b.b.dly.mu2[1]._s"- +~("b.b.dly.mu2[1].s")->"b.b.dly.mu2[1]._s"+ +~"b.b.dly.mu2[1].a"&~"b.b.dly.mu2[1].s"|~"b.b.dly.mu2[1].b"&~"b.b.dly.mu2[1]._s"->"b.b.dly.mu2[1]._y"+ +"b.b.dly.mu2[1].a"&"b.b.dly.mu2[1]._s"|"b.b.dly.mu2[1].b"&"b.b.dly.mu2[1].s"->"b.b.dly.mu2[1]._y"- +"b.b.dly.mu2[1]._y"->"b.b.dly.mu2[1].y"- +~("b.b.dly.mu2[1]._y")->"b.b.dly.mu2[1].y"+ +"b.b.dly.mu2[2].s"->"b.b.dly.mu2[2]._s"- +~("b.b.dly.mu2[2].s")->"b.b.dly.mu2[2]._s"+ +~"b.b.dly.mu2[2].a"&~"b.b.dly.mu2[2].s"|~"b.b.dly.mu2[2].b"&~"b.b.dly.mu2[2]._s"->"b.b.dly.mu2[2]._y"+ +"b.b.dly.mu2[2].a"&"b.b.dly.mu2[2]._s"|"b.b.dly.mu2[2].b"&"b.b.dly.mu2[2].s"->"b.b.dly.mu2[2]._y"- +"b.b.dly.mu2[2]._y"->"b.b.dly.mu2[2].y"- +~("b.b.dly.mu2[2]._y")->"b.b.dly.mu2[2].y"+ +"b.b.dly.mu2[3].s"->"b.b.dly.mu2[3]._s"- +~("b.b.dly.mu2[3].s")->"b.b.dly.mu2[3]._s"+ +~"b.b.dly.mu2[3].a"&~"b.b.dly.mu2[3].s"|~"b.b.dly.mu2[3].b"&~"b.b.dly.mu2[3]._s"->"b.b.dly.mu2[3]._y"+ +"b.b.dly.mu2[3].a"&"b.b.dly.mu2[3]._s"|"b.b.dly.mu2[3].b"&"b.b.dly.mu2[3].s"->"b.b.dly.mu2[3]._y"- +"b.b.dly.mu2[3]._y"->"b.b.dly.mu2[3].y"- +~("b.b.dly.mu2[3]._y")->"b.b.dly.mu2[3].y"+ +"b.b.dly.dly[0].a"->"b.b.dly.dly[0]._y"- +~("b.b.dly.dly[0].a")->"b.b.dly.dly[0]._y"+ +"b.b.dly.dly[0]._y"->"b.b.dly.dly[0].__y"- +~("b.b.dly.dly[0]._y")->"b.b.dly.dly[0].__y"+ +"b.b.dly.dly[0].__y"->"b.b.dly.dly[0].___y"- +~("b.b.dly.dly[0].__y")->"b.b.dly.dly[0].___y"+ +"b.b.dly.dly[0].___y"->"b.b.dly.dly[0].y"- +~("b.b.dly.dly[0].___y")->"b.b.dly.dly[0].y"+ +"b.b.dly.dly[1].a"->"b.b.dly.dly[1]._y"- +~("b.b.dly.dly[1].a")->"b.b.dly.dly[1]._y"+ +"b.b.dly.dly[1]._y"->"b.b.dly.dly[1].__y"- +~("b.b.dly.dly[1]._y")->"b.b.dly.dly[1].__y"+ +"b.b.dly.dly[1].__y"->"b.b.dly.dly[1].___y"- +~("b.b.dly.dly[1].__y")->"b.b.dly.dly[1].___y"+ +"b.b.dly.dly[1].___y"->"b.b.dly.dly[1].y"- +~("b.b.dly.dly[1].___y")->"b.b.dly.dly[1].y"+ +"b.b.dly.dly[2].a"->"b.b.dly.dly[2]._y"- +~("b.b.dly.dly[2].a")->"b.b.dly.dly[2]._y"+ +"b.b.dly.dly[2]._y"->"b.b.dly.dly[2].__y"- +~("b.b.dly.dly[2]._y")->"b.b.dly.dly[2].__y"+ +"b.b.dly.dly[2].__y"->"b.b.dly.dly[2].___y"- +~("b.b.dly.dly[2].__y")->"b.b.dly.dly[2].___y"+ +"b.b.dly.dly[2].___y"->"b.b.dly.dly[2].y"- +~("b.b.dly.dly[2].___y")->"b.b.dly.dly[2].y"+ +"b.b.dly.dly[3].a"->"b.b.dly.dly[3]._y"- +~("b.b.dly.dly[3].a")->"b.b.dly.dly[3]._y"+ +"b.b.dly.dly[3]._y"->"b.b.dly.dly[3].__y"- +~("b.b.dly.dly[3]._y")->"b.b.dly.dly[3].__y"+ +"b.b.dly.dly[3].__y"->"b.b.dly.dly[3].___y"- +~("b.b.dly.dly[3].__y")->"b.b.dly.dly[3].___y"+ +"b.b.dly.dly[3].___y"->"b.b.dly.dly[3].y"- +~("b.b.dly.dly[3].___y")->"b.b.dly.dly[3].y"+ +"b.b.dly.dly[4].a"->"b.b.dly.dly[4]._y"- +~("b.b.dly.dly[4].a")->"b.b.dly.dly[4]._y"+ +"b.b.dly.dly[4]._y"->"b.b.dly.dly[4].__y"- +~("b.b.dly.dly[4]._y")->"b.b.dly.dly[4].__y"+ +"b.b.dly.dly[4].__y"->"b.b.dly.dly[4].___y"- +~("b.b.dly.dly[4].__y")->"b.b.dly.dly[4].___y"+ +"b.b.dly.dly[4].___y"->"b.b.dly.dly[4].y"- +~("b.b.dly.dly[4].___y")->"b.b.dly.dly[4].y"+ +"b.b.dly.dly[5].a"->"b.b.dly.dly[5]._y"- +~("b.b.dly.dly[5].a")->"b.b.dly.dly[5]._y"+ +"b.b.dly.dly[5]._y"->"b.b.dly.dly[5].__y"- +~("b.b.dly.dly[5]._y")->"b.b.dly.dly[5].__y"+ +"b.b.dly.dly[5].__y"->"b.b.dly.dly[5].___y"- +~("b.b.dly.dly[5].__y")->"b.b.dly.dly[5].___y"+ +"b.b.dly.dly[5].___y"->"b.b.dly.dly[5].y"- +~("b.b.dly.dly[5].___y")->"b.b.dly.dly[5].y"+ +"b.b.dly.dly[6].a"->"b.b.dly.dly[6]._y"- +~("b.b.dly.dly[6].a")->"b.b.dly.dly[6]._y"+ +"b.b.dly.dly[6]._y"->"b.b.dly.dly[6].__y"- +~("b.b.dly.dly[6]._y")->"b.b.dly.dly[6].__y"+ +"b.b.dly.dly[6].__y"->"b.b.dly.dly[6].___y"- +~("b.b.dly.dly[6].__y")->"b.b.dly.dly[6].___y"+ +"b.b.dly.dly[6].___y"->"b.b.dly.dly[6].y"- +~("b.b.dly.dly[6].___y")->"b.b.dly.dly[6].y"+ +"b.b.dly.dly[7].a"->"b.b.dly.dly[7]._y"- +~("b.b.dly.dly[7].a")->"b.b.dly.dly[7]._y"+ +"b.b.dly.dly[7]._y"->"b.b.dly.dly[7].__y"- +~("b.b.dly.dly[7]._y")->"b.b.dly.dly[7].__y"+ +"b.b.dly.dly[7].__y"->"b.b.dly.dly[7].___y"- +~("b.b.dly.dly[7].__y")->"b.b.dly.dly[7].___y"+ +"b.b.dly.dly[7].___y"->"b.b.dly.dly[7].y"- +~("b.b.dly.dly[7].___y")->"b.b.dly.dly[7].y"+ +"b.b.dly.dly[8].a"->"b.b.dly.dly[8]._y"- +~("b.b.dly.dly[8].a")->"b.b.dly.dly[8]._y"+ +"b.b.dly.dly[8]._y"->"b.b.dly.dly[8].__y"- +~("b.b.dly.dly[8]._y")->"b.b.dly.dly[8].__y"+ +"b.b.dly.dly[8].__y"->"b.b.dly.dly[8].___y"- +~("b.b.dly.dly[8].__y")->"b.b.dly.dly[8].___y"+ +"b.b.dly.dly[8].___y"->"b.b.dly.dly[8].y"- +~("b.b.dly.dly[8].___y")->"b.b.dly.dly[8].y"+ +"b.b.dly.dly[9].a"->"b.b.dly.dly[9]._y"- +~("b.b.dly.dly[9].a")->"b.b.dly.dly[9]._y"+ +"b.b.dly.dly[9]._y"->"b.b.dly.dly[9].__y"- +~("b.b.dly.dly[9]._y")->"b.b.dly.dly[9].__y"+ +"b.b.dly.dly[9].__y"->"b.b.dly.dly[9].___y"- +~("b.b.dly.dly[9].__y")->"b.b.dly.dly[9].___y"+ +"b.b.dly.dly[9].___y"->"b.b.dly.dly[9].y"- +~("b.b.dly.dly[9].___y")->"b.b.dly.dly[9].y"+ +"b.b.dly.dly[10].a"->"b.b.dly.dly[10]._y"- +~("b.b.dly.dly[10].a")->"b.b.dly.dly[10]._y"+ +"b.b.dly.dly[10]._y"->"b.b.dly.dly[10].__y"- +~("b.b.dly.dly[10]._y")->"b.b.dly.dly[10].__y"+ +"b.b.dly.dly[10].__y"->"b.b.dly.dly[10].___y"- +~("b.b.dly.dly[10].__y")->"b.b.dly.dly[10].___y"+ +"b.b.dly.dly[10].___y"->"b.b.dly.dly[10].y"- +~("b.b.dly.dly[10].___y")->"b.b.dly.dly[10].y"+ +"b.b.dly.dly[11].a"->"b.b.dly.dly[11]._y"- +~("b.b.dly.dly[11].a")->"b.b.dly.dly[11]._y"+ +"b.b.dly.dly[11]._y"->"b.b.dly.dly[11].__y"- +~("b.b.dly.dly[11]._y")->"b.b.dly.dly[11].__y"+ +"b.b.dly.dly[11].__y"->"b.b.dly.dly[11].___y"- +~("b.b.dly.dly[11].__y")->"b.b.dly.dly[11].___y"+ +"b.b.dly.dly[11].___y"->"b.b.dly.dly[11].y"- +~("b.b.dly.dly[11].___y")->"b.b.dly.dly[11].y"+ +"b.b.dly.dly[12].a"->"b.b.dly.dly[12]._y"- +~("b.b.dly.dly[12].a")->"b.b.dly.dly[12]._y"+ +"b.b.dly.dly[12]._y"->"b.b.dly.dly[12].__y"- +~("b.b.dly.dly[12]._y")->"b.b.dly.dly[12].__y"+ +"b.b.dly.dly[12].__y"->"b.b.dly.dly[12].___y"- +~("b.b.dly.dly[12].__y")->"b.b.dly.dly[12].___y"+ +"b.b.dly.dly[12].___y"->"b.b.dly.dly[12].y"- +~("b.b.dly.dly[12].___y")->"b.b.dly.dly[12].y"+ +"b.b.dly.dly[13].a"->"b.b.dly.dly[13]._y"- +~("b.b.dly.dly[13].a")->"b.b.dly.dly[13]._y"+ +"b.b.dly.dly[13]._y"->"b.b.dly.dly[13].__y"- +~("b.b.dly.dly[13]._y")->"b.b.dly.dly[13].__y"+ +"b.b.dly.dly[13].__y"->"b.b.dly.dly[13].___y"- +~("b.b.dly.dly[13].__y")->"b.b.dly.dly[13].___y"+ +"b.b.dly.dly[13].___y"->"b.b.dly.dly[13].y"- +~("b.b.dly.dly[13].___y")->"b.b.dly.dly[13].y"+ +"b.b.dly.dly[14].a"->"b.b.dly.dly[14]._y"- +~("b.b.dly.dly[14].a")->"b.b.dly.dly[14]._y"+ +"b.b.dly.dly[14]._y"->"b.b.dly.dly[14].__y"- +~("b.b.dly.dly[14]._y")->"b.b.dly.dly[14].__y"+ +"b.b.dly.dly[14].__y"->"b.b.dly.dly[14].___y"- +~("b.b.dly.dly[14].__y")->"b.b.dly.dly[14].___y"+ +"b.b.dly.dly[14].___y"->"b.b.dly.dly[14].y"- +~("b.b.dly.dly[14].___y")->"b.b.dly.dly[14].y"+ += "b.b.dly.dly[14].y" "b.b.dly.mu2[3].b" += "b.b.dly.dly[14].a" "b.b.dly.dly[13].y" += "b.b.dly.dly[13].a" "b.b.dly.dly[12].y" += "b.b.dly.dly[12].a" "b.b.dly.dly[11].y" += "b.b.dly.dly[11].a" "b.b.dly.dly[10].y" += "b.b.dly.dly[10].a" "b.b.dly.dly[9].y" += "b.b.dly.dly[9].a" "b.b.dly.dly[8].y" += "b.b.dly.dly[8].a" "b.b.dly.dly[7].y" += "b.b.dly.dly[7].a" "b.b.dly.and2[3].y" += "b.b.dly.dly[6].y" "b.b.dly.mu2[2].b" += "b.b.dly.dly[6].a" "b.b.dly.dly[5].y" += "b.b.dly.dly[5].a" "b.b.dly.dly[4].y" += "b.b.dly.dly[4].a" "b.b.dly.dly[3].y" += "b.b.dly.dly[3].a" "b.b.dly.and2[2].y" += "b.b.dly.dly[2].y" "b.b.dly.mu2[1].b" += "b.b.dly.dly[2].a" "b.b.dly.dly[1].y" += "b.b.dly.dly[1].a" "b.b.dly.and2[1].y" += "b.b.dly.dly[0].y" "b.b.dly.mu2[0].b" += "b.b.dly.dly[0].a" "b.b.dly.and2[0].y" += "b.b.dly._a[1]" "b.b.dly.mu2[1].a" += "b.b.dly._a[1]" "b.b.dly.and2[1].a" += "b.b.dly._a[1]" "b.b.dly.mu2[0].y" += "b.b.dly._a[2]" "b.b.dly.mu2[2].a" += "b.b.dly._a[2]" "b.b.dly.and2[2].a" += "b.b.dly._a[2]" "b.b.dly.mu2[1].y" += "b.b.dly._a[3]" "b.b.dly.mu2[3].a" += "b.b.dly._a[3]" "b.b.dly.and2[3].a" += "b.b.dly._a[3]" "b.b.dly.mu2[2].y" += "b.b.dly.out" "b.b.dly.mu2[3].y" += "b.b.dly.out" "b.b.dly._a[4]" += "b.b.dly.in" "b.b.dly.mu2[0].a" += "b.b.dly.in" "b.b.dly.and2[0].a" += "b.b.dly.in" "b.b.dly._a[0]" += "b.b._out_a_BX_f[0]" "b.b.out_a_B_buf_t.out[0]" += "b.b._out_a_BX_f[1]" "b.b.out_a_B_buf_t.out[1]" += "b.b._out_a_BX_f[2]" "b.b.out_a_B_buf_t.out[2]" += "b.b._out_a_BX_f[3]" "b.b.out_a_B_buf_t.out[3]" += "b.b._out_a_BX_f[4]" "b.b.out_a_B_buf_t.out[4]" += "b.b._out_a_BX_f[0]" "b.b.f_buf_func[4].c2" += "b.b._out_a_BX_f[0]" "b.b.f_buf_func[3].c2" += "b.b._out_a_BX_f[0]" "b.b.f_buf_func[2].c2" += "b.b._out_a_BX_f[0]" "b.b.f_buf_func[1].c2" += "b.b._out_a_BX_f[0]" "b.b.f_buf_func[0].c2" += "b.b._out_a_BX_f[0]" "b.b._out_a_BX_f[4]" += "b.b._out_a_BX_f[0]" "b.b._out_a_BX_f[3]" += "b.b._out_a_BX_f[0]" "b.b._out_a_BX_f[2]" += "b.b._out_a_BX_f[0]" "b.b._out_a_BX_f[1]" +"b.b.out_a_inv.a"->"b.b.out_a_inv.y"- +~("b.b.out_a_inv.a")->"b.b.out_a_inv.y"+ += "b.b._en" "b.b.en_buf_f.in" += "b.b._en" "b.b.en_buf_t.in" += "b.b._en" "b.b.en_ctl.y" += "b.b._en" "b.b.inack_ctl.c1" +timing("b.b.in.a"-,"b.b.in.d[0]","b.b.in.r"+) +timing("b.b.in.a"-,"b.b.in.d[1]","b.b.in.r"+) +timing("b.b.in.a"-,"b.b.in.d[2]","b.b.in.r"+) +timing("b.b.in.a"-,"b.b.in.d[3]","b.b.in.r"+) +timing("b.b.in.a"-,"b.b.in.d[4]","b.b.in.r"+) += "b.b.in.r" "b.b.dly.in" += "b.b.in.a" "b.b.en_ctl.c1" += "b.b.in.a" "b.b.inack_ctl.y" += "b.b.in.d[0]" "b.b.t_buf_func[0].n1" += "b.b.in.d[0]" "b.b.input_invs[0].a" += "b.b.in.d[1]" "b.b.t_buf_func[1].n1" += "b.b.in.d[1]" "b.b.input_invs[1].a" += "b.b.in.d[2]" "b.b.t_buf_func[2].n1" += "b.b.in.d[2]" "b.b.input_invs[2].a" += "b.b.in.d[3]" "b.b.t_buf_func[3].n1" += "b.b.in.d[3]" "b.b.input_invs[3].a" += "b.b.in.d[4]" "b.b.t_buf_func[4].n1" += "b.b.in.d[4]" "b.b.input_invs[4].a" += "b.b._inB[0]" "b.b.f_buf_func[0].n1" += "b.b._inB[0]" "b.b.input_invs[0].y" += "b.b._inB[1]" "b.b.f_buf_func[1].n1" += "b.b._inB[1]" "b.b.input_invs[1].y" += "b.b._inB[2]" "b.b.f_buf_func[2].n1" += "b.b._inB[2]" "b.b.input_invs[2].y" += "b.b._inB[3]" "b.b.f_buf_func[3].n1" += "b.b._inB[3]" "b.b.input_invs[3].y" += "b.b._inB[4]" "b.b.f_buf_func[4].n1" += "b.b._inB[4]" "b.b.input_invs[4].y" +"b.b.reset_buf.a"->"b.b.reset_buf._y"- +~("b.b.reset_buf.a")->"b.b.reset_buf._y"+ +"b.b.reset_buf._y"->"b.b.reset_buf.y"- +~("b.b.reset_buf._y")->"b.b.reset_buf.y"+ += "b.b._reset_BX" "b.b.inack_ctl.sr_B" += "b.b._reset_BX" "b.b.inack_ctl.pr_B" += "b.b._reset_BX" "b.b.reset_bufarray.in" += "b.b._reset_BX" "b.b.reset_buf.y" += "b.b.reset_B" "b.b.reset_buf.a" += "b.b._out_a_BX_t[0]" "b.b.out_a_B_buf_f.out[0]" += "b.b._out_a_BX_t[1]" "b.b.out_a_B_buf_f.out[1]" += "b.b._out_a_BX_t[2]" "b.b.out_a_B_buf_f.out[2]" += "b.b._out_a_BX_t[3]" "b.b.out_a_B_buf_f.out[3]" += "b.b._out_a_BX_t[4]" "b.b.out_a_B_buf_f.out[4]" += "b.b._out_a_BX_t[0]" "b.b.t_buf_func[4].c2" += "b.b._out_a_BX_t[0]" "b.b.t_buf_func[3].c2" += "b.b._out_a_BX_t[0]" "b.b.t_buf_func[2].c2" += "b.b._out_a_BX_t[0]" "b.b.t_buf_func[1].c2" += "b.b._out_a_BX_t[0]" "b.b.t_buf_func[0].c2" += "b.b._out_a_BX_t[0]" "b.b._out_a_BX_t[4]" += "b.b._out_a_BX_t[0]" "b.b._out_a_BX_t[3]" += "b.b._out_a_BX_t[0]" "b.b._out_a_BX_t[2]" += "b.b._out_a_BX_t[0]" "b.b._out_a_BX_t[1]" += "b.b._reset_BXX[0]" "b.b.reset_bufarray.out[0]" += "b.b._reset_BXX[1]" "b.b.reset_bufarray.out[1]" += "b.b._reset_BXX[2]" "b.b.reset_bufarray.out[2]" += "b.b._reset_BXX[3]" "b.b.reset_bufarray.out[3]" += "b.b._reset_BXX[4]" "b.b.reset_bufarray.out[4]" += "b.b._reset_BXX[0]" "b.b.f_buf_func[4].sr_B" += "b.b._reset_BXX[0]" "b.b.f_buf_func[4].pr_B" += "b.b._reset_BXX[0]" "b.b.t_buf_func[4].sr_B" += "b.b._reset_BXX[0]" "b.b.t_buf_func[4].pr_B" += "b.b._reset_BXX[0]" "b.b.f_buf_func[3].sr_B" += "b.b._reset_BXX[0]" "b.b.f_buf_func[3].pr_B" += "b.b._reset_BXX[0]" "b.b.t_buf_func[3].sr_B" += "b.b._reset_BXX[0]" "b.b.t_buf_func[3].pr_B" += "b.b._reset_BXX[0]" "b.b.f_buf_func[2].sr_B" += "b.b._reset_BXX[0]" "b.b.f_buf_func[2].pr_B" += "b.b._reset_BXX[0]" "b.b.t_buf_func[2].sr_B" += "b.b._reset_BXX[0]" "b.b.t_buf_func[2].pr_B" += "b.b._reset_BXX[0]" "b.b.f_buf_func[1].sr_B" += "b.b._reset_BXX[0]" "b.b.f_buf_func[1].pr_B" += "b.b._reset_BXX[0]" "b.b.t_buf_func[1].sr_B" += "b.b._reset_BXX[0]" "b.b.t_buf_func[1].pr_B" += "b.b._reset_BXX[0]" "b.b.f_buf_func[0].sr_B" += "b.b._reset_BXX[0]" "b.b.f_buf_func[0].pr_B" += "b.b._reset_BXX[0]" "b.b.t_buf_func[0].sr_B" += "b.b._reset_BXX[0]" "b.b.t_buf_func[0].pr_B" += "b.b._reset_BXX[0]" "b.b._reset_BXX[4]" += "b.b._reset_BXX[0]" "b.b._reset_BXX[3]" += "b.b._reset_BXX[0]" "b.b._reset_BXX[2]" += "b.b._reset_BXX[0]" "b.b._reset_BXX[1]" +"b.b.en_buf_f.buf2.a"->"b.b.en_buf_f.buf2._y"- +~("b.b.en_buf_f.buf2.a")->"b.b.en_buf_f.buf2._y"+ +"b.b.en_buf_f.buf2._y"->"b.b.en_buf_f.buf2.y"- +~("b.b.en_buf_f.buf2._y")->"b.b.en_buf_f.buf2.y"+ += "b.b.en_buf_f.supply.vdd" "b.b.en_buf_f.buf2.vdd" += "b.b.en_buf_f.supply.vss" "b.b.en_buf_f.buf2.vss" += "b.b.en_buf_f.out[0]" "b.b.en_buf_f.out[4]" += "b.b.en_buf_f.out[0]" "b.b.en_buf_f.out[3]" += "b.b.en_buf_f.out[0]" "b.b.en_buf_f.out[2]" += "b.b.en_buf_f.out[0]" "b.b.en_buf_f.out[1]" += "b.b.en_buf_f.out[0]" "b.b.en_buf_f.buf2.y" += "b.b.en_buf_f.in" "b.b.en_buf_f.buf2.a" +"b.b.input_invs[0].a"->"b.b.input_invs[0].y"- +~("b.b.input_invs[0].a")->"b.b.input_invs[0].y"+ +"b.b.input_invs[1].a"->"b.b.input_invs[1].y"- +~("b.b.input_invs[1].a")->"b.b.input_invs[1].y"+ +"b.b.input_invs[2].a"->"b.b.input_invs[2].y"- +~("b.b.input_invs[2].a")->"b.b.input_invs[2].y"+ +"b.b.input_invs[3].a"->"b.b.input_invs[3].y"- +~("b.b.input_invs[3].a")->"b.b.input_invs[3].y"+ +"b.b.input_invs[4].a"->"b.b.input_invs[4].y"- +~("b.b.input_invs[4].a")->"b.b.input_invs[4].y"+ +"b.b.out_a_B_buf_t.buf2.a"->"b.b.out_a_B_buf_t.buf2._y"- +~("b.b.out_a_B_buf_t.buf2.a")->"b.b.out_a_B_buf_t.buf2._y"+ +"b.b.out_a_B_buf_t.buf2._y"->"b.b.out_a_B_buf_t.buf2.y"- +~("b.b.out_a_B_buf_t.buf2._y")->"b.b.out_a_B_buf_t.buf2.y"+ += "b.b.out_a_B_buf_t.supply.vdd" "b.b.out_a_B_buf_t.buf2.vdd" += "b.b.out_a_B_buf_t.supply.vss" "b.b.out_a_B_buf_t.buf2.vss" += "b.b.out_a_B_buf_t.out[0]" "b.b.out_a_B_buf_t.out[4]" += "b.b.out_a_B_buf_t.out[0]" "b.b.out_a_B_buf_t.out[3]" += "b.b.out_a_B_buf_t.out[0]" "b.b.out_a_B_buf_t.out[2]" += "b.b.out_a_B_buf_t.out[0]" "b.b.out_a_B_buf_t.out[1]" += "b.b.out_a_B_buf_t.out[0]" "b.b.out_a_B_buf_t.buf2.y" += "b.b.out_a_B_buf_t.in" "b.b.out_a_B_buf_t.buf2.a" += "b.b._en_X_f[0]" "b.b.en_buf_f.out[0]" += "b.b._en_X_f[1]" "b.b.en_buf_f.out[1]" += "b.b._en_X_f[2]" "b.b.en_buf_f.out[2]" += "b.b._en_X_f[3]" "b.b.en_buf_f.out[3]" += "b.b._en_X_f[4]" "b.b.en_buf_f.out[4]" += "b.b._en_X_f[0]" "b.b.f_buf_func[4].c1" += "b.b._en_X_f[0]" "b.b.f_buf_func[3].c1" += "b.b._en_X_f[0]" "b.b.f_buf_func[2].c1" += "b.b._en_X_f[0]" "b.b.f_buf_func[1].c1" += "b.b._en_X_f[0]" "b.b.f_buf_func[0].c1" += "b.b._en_X_f[0]" "b.b._en_X_f[4]" += "b.b._en_X_f[0]" "b.b._en_X_f[3]" += "b.b._en_X_f[0]" "b.b._en_X_f[2]" += "b.b._en_X_f[0]" "b.b._en_X_f[1]" += "b.b.dly_cfg[0]" "b.b.dly.s[0]" += "b.b.dly_cfg[1]" "b.b.dly.s[1]" += "b.b.dly_cfg[2]" "b.b.dly.s[2]" += "b.b.dly_cfg[3]" "b.b.dly.s[3]" += "b.b.supply.vss" "b.b.out_a_B_buf_t.supply.vss" += "b.b.supply.vdd" "b.b.out_a_B_buf_t.supply.vdd" += "b.b.supply.vss" "b.b.out_a_B_buf_f.supply.vss" += "b.b.supply.vdd" "b.b.out_a_B_buf_f.supply.vdd" += "b.b.supply.vss" "b.b.en_buf_f.supply.vss" += "b.b.supply.vdd" "b.b.en_buf_f.supply.vdd" += "b.b.supply.vss" "b.b.en_buf_t.supply.vss" += "b.b.supply.vdd" "b.b.en_buf_t.supply.vdd" += "b.b.supply.vss" "b.b.req_bufarray.supply.vss" += "b.b.supply.vdd" "b.b.req_bufarray.supply.vdd" += "b.b.supply.vss" "b.b.reset_bufarray.supply.vss" += "b.b.supply.vdd" "b.b.reset_bufarray.supply.vdd" += "b.b.supply.vss" "b.b.dly.supply.vss" += "b.b.supply.vdd" "b.b.dly.supply.vdd" += "b.b.supply.vdd" "b.b.t_buf_func[4].vdd" += "b.b.supply.vdd" "b.b.f_buf_func[4].vdd" += "b.b.supply.vdd" "b.b.t_buf_func[3].vdd" += "b.b.supply.vdd" "b.b.f_buf_func[3].vdd" += "b.b.supply.vdd" "b.b.t_buf_func[2].vdd" += "b.b.supply.vdd" "b.b.f_buf_func[2].vdd" += "b.b.supply.vdd" "b.b.t_buf_func[1].vdd" += "b.b.supply.vdd" "b.b.f_buf_func[1].vdd" += "b.b.supply.vdd" "b.b.t_buf_func[0].vdd" += "b.b.supply.vdd" "b.b.f_buf_func[0].vdd" += "b.b.supply.vdd" "b.b.out_a_inv.vdd" += "b.b.supply.vdd" "b.b.en_ctl.vdd" += "b.b.supply.vdd" "b.b.inack_ctl.vdd" += "b.b.supply.vdd" "b.b.input_invs[4].vdd" += "b.b.supply.vdd" "b.b.input_invs[3].vdd" += "b.b.supply.vdd" "b.b.input_invs[2].vdd" += "b.b.supply.vdd" "b.b.input_invs[1].vdd" += "b.b.supply.vdd" "b.b.input_invs[0].vdd" += "b.b.supply.vdd" "b.b.req_buf.vdd" += "b.b.supply.vdd" "b.b.reset_buf.vdd" += "b.b.supply.vss" "b.b.t_buf_func[4].vss" += "b.b.supply.vss" "b.b.f_buf_func[4].vss" += "b.b.supply.vss" "b.b.t_buf_func[3].vss" += "b.b.supply.vss" "b.b.f_buf_func[3].vss" += "b.b.supply.vss" "b.b.t_buf_func[2].vss" += "b.b.supply.vss" "b.b.f_buf_func[2].vss" += "b.b.supply.vss" "b.b.t_buf_func[1].vss" += "b.b.supply.vss" "b.b.f_buf_func[1].vss" += "b.b.supply.vss" "b.b.t_buf_func[0].vss" += "b.b.supply.vss" "b.b.f_buf_func[0].vss" += "b.b.supply.vss" "b.b.out_a_inv.vss" += "b.b.supply.vss" "b.b.en_ctl.vss" += "b.b.supply.vss" "b.b.inack_ctl.vss" += "b.b.supply.vss" "b.b.input_invs[4].vss" += "b.b.supply.vss" "b.b.input_invs[3].vss" += "b.b.supply.vss" "b.b.input_invs[2].vss" += "b.b.supply.vss" "b.b.input_invs[1].vss" += "b.b.supply.vss" "b.b.input_invs[0].vss" += "b.b.supply.vss" "b.b.req_buf.vss" += "b.b.supply.vss" "b.b.reset_buf.vss" +~"b.b.en_ctl.p1"&~"b.b.en_ctl.c1"->"b.b.en_ctl.y"+ +"b.b.en_ctl.c1"->"b.b.en_ctl.y"- +"b.b.out_a_B_buf_f.buf2.a"->"b.b.out_a_B_buf_f.buf2._y"- +~("b.b.out_a_B_buf_f.buf2.a")->"b.b.out_a_B_buf_f.buf2._y"+ +"b.b.out_a_B_buf_f.buf2._y"->"b.b.out_a_B_buf_f.buf2.y"- +~("b.b.out_a_B_buf_f.buf2._y")->"b.b.out_a_B_buf_f.buf2.y"+ += "b.b.out_a_B_buf_f.supply.vdd" "b.b.out_a_B_buf_f.buf2.vdd" += "b.b.out_a_B_buf_f.supply.vss" "b.b.out_a_B_buf_f.buf2.vss" += "b.b.out_a_B_buf_f.out[0]" "b.b.out_a_B_buf_f.out[4]" += "b.b.out_a_B_buf_f.out[0]" "b.b.out_a_B_buf_f.out[3]" += "b.b.out_a_B_buf_f.out[0]" "b.b.out_a_B_buf_f.out[2]" += "b.b.out_a_B_buf_f.out[0]" "b.b.out_a_B_buf_f.out[1]" += "b.b.out_a_B_buf_f.out[0]" "b.b.out_a_B_buf_f.buf2.y" += "b.b.out_a_B_buf_f.in" "b.b.out_a_B_buf_f.buf2.a" += "b.b.out.d.d[0].d[0]" "b.b.out.d.d[0].f" += "b.b.out.d.d[0].d[1]" "b.b.out.d.d[0].t" += "b.b.out.d.d[1].d[0]" "b.b.out.d.d[1].f" += "b.b.out.d.d[1].d[1]" "b.b.out.d.d[1].t" += "b.b.out.d.d[2].d[0]" "b.b.out.d.d[2].f" += "b.b.out.d.d[2].d[1]" "b.b.out.d.d[2].t" += "b.b.out.d.d[3].d[0]" "b.b.out.d.d[3].f" += "b.b.out.d.d[3].d[1]" "b.b.out.d.d[3].t" += "b.b.out.d.d[4].d[0]" "b.b.out.d.d[4].f" += "b.b.out.d.d[4].d[1]" "b.b.out.d.d[4].t" += "b.b.out.d.d[4].d[0]" "b.b.out.d.d[4].f" += "b.b.out.d.d[4].d[1]" "b.b.out.d.d[4].t" += "b.b.out.d.d[3].d[0]" "b.b.out.d.d[3].f" += "b.b.out.d.d[3].d[1]" "b.b.out.d.d[3].t" += "b.b.out.d.d[2].d[0]" "b.b.out.d.d[2].f" += "b.b.out.d.d[2].d[1]" "b.b.out.d.d[2].t" += "b.b.out.d.d[1].d[0]" "b.b.out.d.d[1].f" += "b.b.out.d.d[1].d[1]" "b.b.out.d.d[1].t" += "b.b.out.d.d[0].d[0]" "b.b.out.d.d[0].f" += "b.b.out.d.d[0].d[1]" "b.b.out.d.d[0].t" += "b.b.out.d.d[4].d[0]" "b.b.out.d.d[4].f" += "b.b.out.d.d[4].d[1]" "b.b.out.d.d[4].t" += "b.b.out.d.d[3].d[0]" "b.b.out.d.d[3].f" += "b.b.out.d.d[3].d[1]" "b.b.out.d.d[3].t" += "b.b.out.d.d[2].d[0]" "b.b.out.d.d[2].f" += "b.b.out.d.d[2].d[1]" "b.b.out.d.d[2].t" += "b.b.out.d.d[1].d[0]" "b.b.out.d.d[1].f" += "b.b.out.d.d[1].d[1]" "b.b.out.d.d[1].t" += "b.b.out.d.d[0].d[0]" "b.b.out.d.d[0].f" += "b.b.out.d.d[0].d[1]" "b.b.out.d.d[0].t" += "b.b.out.a" "b.b.out_a_inv.a" += "b.b.out.v" "b.b.en_ctl.p1" += "b.b.out.v" "b.b.inack_ctl.c3" += "b.b.out.d.d[4].d[0]" "b.b.f_buf_func[4].y" += "b.b.out.d.d[4].d[0]" "b.b.out.d.d[4].f" += "b.b.out.d.d[4].d[1]" "b.b.t_buf_func[4].y" += "b.b.out.d.d[4].d[1]" "b.b.out.d.d[4].t" += "b.b.out.d.d[3].d[0]" "b.b.f_buf_func[3].y" += "b.b.out.d.d[3].d[0]" "b.b.out.d.d[3].f" += "b.b.out.d.d[3].d[1]" "b.b.t_buf_func[3].y" += "b.b.out.d.d[3].d[1]" "b.b.out.d.d[3].t" += "b.b.out.d.d[2].d[0]" "b.b.f_buf_func[2].y" += "b.b.out.d.d[2].d[0]" "b.b.out.d.d[2].f" += "b.b.out.d.d[2].d[1]" "b.b.t_buf_func[2].y" += "b.b.out.d.d[2].d[1]" "b.b.out.d.d[2].t" += "b.b.out.d.d[1].d[0]" "b.b.f_buf_func[1].y" += "b.b.out.d.d[1].d[0]" "b.b.out.d.d[1].f" += "b.b.out.d.d[1].d[1]" "b.b.t_buf_func[1].y" += "b.b.out.d.d[1].d[1]" "b.b.out.d.d[1].t" += "b.b.out.d.d[0].d[0]" "b.b.f_buf_func[0].y" += "b.b.out.d.d[0].d[0]" "b.b.out.d.d[0].f" += "b.b.out.d.d[0].d[1]" "b.b.t_buf_func[0].y" += "b.b.out.d.d[0].d[1]" "b.b.out.d.d[0].t" += "b.b._reqXX[0]" "b.b.req_bufarray.out[0]" += "b.b._reqXX[1]" "b.b.req_bufarray.out[1]" += "b.b._reqXX[2]" "b.b.req_bufarray.out[2]" += "b.b._reqXX[3]" "b.b.req_bufarray.out[3]" += "b.b._reqXX[4]" "b.b.req_bufarray.out[4]" += "b.b._reqXX[0]" "b.b.t_buf_func[4].n2" += "b.b._reqXX[0]" "b.b.f_buf_func[4].n2" += "b.b._reqXX[0]" "b.b.t_buf_func[3].n2" += "b.b._reqXX[0]" "b.b.f_buf_func[3].n2" += "b.b._reqXX[0]" "b.b.t_buf_func[2].n2" += "b.b._reqXX[0]" "b.b.f_buf_func[2].n2" += "b.b._reqXX[0]" "b.b.t_buf_func[1].n2" += "b.b._reqXX[0]" "b.b.f_buf_func[1].n2" += "b.b._reqXX[0]" "b.b.t_buf_func[0].n2" += "b.b._reqXX[0]" "b.b.f_buf_func[0].n2" += "b.b._reqXX[0]" "b.b._reqXX[4]" += "b.b._reqXX[0]" "b.b._reqXX[3]" += "b.b._reqXX[0]" "b.b._reqXX[2]" += "b.b._reqXX[0]" "b.b._reqXX[1]" += "b.b._req" "b.b.req_buf.a" += "b.b._req" "b.b.dly.out" +"b.b.req_bufarray.buf2.a"->"b.b.req_bufarray.buf2._y"- +~("b.b.req_bufarray.buf2.a")->"b.b.req_bufarray.buf2._y"+ +"b.b.req_bufarray.buf2._y"->"b.b.req_bufarray.buf2.y"- +~("b.b.req_bufarray.buf2._y")->"b.b.req_bufarray.buf2.y"+ += "b.b.req_bufarray.supply.vdd" "b.b.req_bufarray.buf2.vdd" += "b.b.req_bufarray.supply.vss" "b.b.req_bufarray.buf2.vss" += "b.b.req_bufarray.out[0]" "b.b.req_bufarray.out[4]" += "b.b.req_bufarray.out[0]" "b.b.req_bufarray.out[3]" += "b.b.req_bufarray.out[0]" "b.b.req_bufarray.out[2]" += "b.b.req_bufarray.out[0]" "b.b.req_bufarray.out[1]" += "b.b.req_bufarray.out[0]" "b.b.req_bufarray.buf2.y" += "b.b.req_bufarray.in" "b.b.req_bufarray.buf2.a" += "b.b._reqX" "b.b.inack_ctl.c2" += "b.b._reqX" "b.b.req_bufarray.in" += "b.b._reqX" "b.b.req_buf.y" += "b.b._out_a_B" "b.b.out_a_B_buf_t.in" += "b.b._out_a_B" "b.b.out_a_B_buf_f.in" += "b.b._out_a_B" "b.b.out_a_inv.y" +"b.b.en_buf_t.buf2.a"->"b.b.en_buf_t.buf2._y"- +~("b.b.en_buf_t.buf2.a")->"b.b.en_buf_t.buf2._y"+ +"b.b.en_buf_t.buf2._y"->"b.b.en_buf_t.buf2.y"- +~("b.b.en_buf_t.buf2._y")->"b.b.en_buf_t.buf2.y"+ += "b.b.en_buf_t.supply.vdd" "b.b.en_buf_t.buf2.vdd" += "b.b.en_buf_t.supply.vss" "b.b.en_buf_t.buf2.vss" += "b.b.en_buf_t.out[0]" "b.b.en_buf_t.out[4]" += "b.b.en_buf_t.out[0]" "b.b.en_buf_t.out[3]" += "b.b.en_buf_t.out[0]" "b.b.en_buf_t.out[2]" += "b.b.en_buf_t.out[0]" "b.b.en_buf_t.out[1]" += "b.b.en_buf_t.out[0]" "b.b.en_buf_t.buf2.y" += "b.b.en_buf_t.in" "b.b.en_buf_t.buf2.a" +"b.b.req_buf.a"->"b.b.req_buf._y"- +~("b.b.req_buf.a")->"b.b.req_buf._y"+ +"b.b.req_buf._y"->"b.b.req_buf.y"- +~("b.b.req_buf._y")->"b.b.req_buf.y"+ += "b.b._en_X_t[0]" "b.b.en_buf_t.out[0]" += "b.b._en_X_t[1]" "b.b.en_buf_t.out[1]" += "b.b._en_X_t[2]" "b.b.en_buf_t.out[2]" += "b.b._en_X_t[3]" "b.b.en_buf_t.out[3]" += "b.b._en_X_t[4]" "b.b.en_buf_t.out[4]" += "b.b._en_X_t[0]" "b.b.t_buf_func[4].c1" += "b.b._en_X_t[0]" "b.b.t_buf_func[3].c1" += "b.b._en_X_t[0]" "b.b.t_buf_func[2].c1" += "b.b._en_X_t[0]" "b.b.t_buf_func[1].c1" += "b.b._en_X_t[0]" "b.b.t_buf_func[0].c1" += "b.b._en_X_t[0]" "b.b._en_X_t[4]" += "b.b._en_X_t[0]" "b.b._en_X_t[3]" += "b.b._en_X_t[0]" "b.b._en_X_t[2]" += "b.b._en_X_t[0]" "b.b._en_X_t[1]" +~"b.b.f_buf_func[0].c1"&~"b.b.f_buf_func[0].c2"|~"b.b.f_buf_func[0].pr_B"->"b.b.f_buf_func[0]._y"+ +"b.b.f_buf_func[0].c1"&"b.b.f_buf_func[0].c2"&"b.b.f_buf_func[0].n1"&"b.b.f_buf_func[0].n2"&"b.b.f_buf_func[0].sr_B"->"b.b.f_buf_func[0]._y"- +"b.b.f_buf_func[0]._y"->"b.b.f_buf_func[0].y"- +~("b.b.f_buf_func[0]._y")->"b.b.f_buf_func[0].y"+ +~"b.b.f_buf_func[1].c1"&~"b.b.f_buf_func[1].c2"|~"b.b.f_buf_func[1].pr_B"->"b.b.f_buf_func[1]._y"+ +"b.b.f_buf_func[1].c1"&"b.b.f_buf_func[1].c2"&"b.b.f_buf_func[1].n1"&"b.b.f_buf_func[1].n2"&"b.b.f_buf_func[1].sr_B"->"b.b.f_buf_func[1]._y"- +"b.b.f_buf_func[1]._y"->"b.b.f_buf_func[1].y"- +~("b.b.f_buf_func[1]._y")->"b.b.f_buf_func[1].y"+ +~"b.b.f_buf_func[2].c1"&~"b.b.f_buf_func[2].c2"|~"b.b.f_buf_func[2].pr_B"->"b.b.f_buf_func[2]._y"+ +"b.b.f_buf_func[2].c1"&"b.b.f_buf_func[2].c2"&"b.b.f_buf_func[2].n1"&"b.b.f_buf_func[2].n2"&"b.b.f_buf_func[2].sr_B"->"b.b.f_buf_func[2]._y"- +"b.b.f_buf_func[2]._y"->"b.b.f_buf_func[2].y"- +~("b.b.f_buf_func[2]._y")->"b.b.f_buf_func[2].y"+ +~"b.b.f_buf_func[3].c1"&~"b.b.f_buf_func[3].c2"|~"b.b.f_buf_func[3].pr_B"->"b.b.f_buf_func[3]._y"+ +"b.b.f_buf_func[3].c1"&"b.b.f_buf_func[3].c2"&"b.b.f_buf_func[3].n1"&"b.b.f_buf_func[3].n2"&"b.b.f_buf_func[3].sr_B"->"b.b.f_buf_func[3]._y"- +"b.b.f_buf_func[3]._y"->"b.b.f_buf_func[3].y"- +~("b.b.f_buf_func[3]._y")->"b.b.f_buf_func[3].y"+ +~"b.b.f_buf_func[4].c1"&~"b.b.f_buf_func[4].c2"|~"b.b.f_buf_func[4].pr_B"->"b.b.f_buf_func[4]._y"+ +"b.b.f_buf_func[4].c1"&"b.b.f_buf_func[4].c2"&"b.b.f_buf_func[4].n1"&"b.b.f_buf_func[4].n2"&"b.b.f_buf_func[4].sr_B"->"b.b.f_buf_func[4]._y"- +"b.b.f_buf_func[4]._y"->"b.b.f_buf_func[4].y"- +~("b.b.f_buf_func[4]._y")->"b.b.f_buf_func[4].y"+ +~"b.b.t_buf_func[0].c1"&~"b.b.t_buf_func[0].c2"|~"b.b.t_buf_func[0].pr_B"->"b.b.t_buf_func[0]._y"+ +"b.b.t_buf_func[0].c1"&"b.b.t_buf_func[0].c2"&"b.b.t_buf_func[0].n1"&"b.b.t_buf_func[0].n2"&"b.b.t_buf_func[0].sr_B"->"b.b.t_buf_func[0]._y"- +"b.b.t_buf_func[0]._y"->"b.b.t_buf_func[0].y"- +~("b.b.t_buf_func[0]._y")->"b.b.t_buf_func[0].y"+ +~"b.b.t_buf_func[1].c1"&~"b.b.t_buf_func[1].c2"|~"b.b.t_buf_func[1].pr_B"->"b.b.t_buf_func[1]._y"+ +"b.b.t_buf_func[1].c1"&"b.b.t_buf_func[1].c2"&"b.b.t_buf_func[1].n1"&"b.b.t_buf_func[1].n2"&"b.b.t_buf_func[1].sr_B"->"b.b.t_buf_func[1]._y"- +"b.b.t_buf_func[1]._y"->"b.b.t_buf_func[1].y"- +~("b.b.t_buf_func[1]._y")->"b.b.t_buf_func[1].y"+ +~"b.b.t_buf_func[2].c1"&~"b.b.t_buf_func[2].c2"|~"b.b.t_buf_func[2].pr_B"->"b.b.t_buf_func[2]._y"+ +"b.b.t_buf_func[2].c1"&"b.b.t_buf_func[2].c2"&"b.b.t_buf_func[2].n1"&"b.b.t_buf_func[2].n2"&"b.b.t_buf_func[2].sr_B"->"b.b.t_buf_func[2]._y"- +"b.b.t_buf_func[2]._y"->"b.b.t_buf_func[2].y"- +~("b.b.t_buf_func[2]._y")->"b.b.t_buf_func[2].y"+ +~"b.b.t_buf_func[3].c1"&~"b.b.t_buf_func[3].c2"|~"b.b.t_buf_func[3].pr_B"->"b.b.t_buf_func[3]._y"+ +"b.b.t_buf_func[3].c1"&"b.b.t_buf_func[3].c2"&"b.b.t_buf_func[3].n1"&"b.b.t_buf_func[3].n2"&"b.b.t_buf_func[3].sr_B"->"b.b.t_buf_func[3]._y"- +"b.b.t_buf_func[3]._y"->"b.b.t_buf_func[3].y"- +~("b.b.t_buf_func[3]._y")->"b.b.t_buf_func[3].y"+ +~"b.b.t_buf_func[4].c1"&~"b.b.t_buf_func[4].c2"|~"b.b.t_buf_func[4].pr_B"->"b.b.t_buf_func[4]._y"+ +"b.b.t_buf_func[4].c1"&"b.b.t_buf_func[4].c2"&"b.b.t_buf_func[4].n1"&"b.b.t_buf_func[4].n2"&"b.b.t_buf_func[4].sr_B"->"b.b.t_buf_func[4]._y"- +"b.b.t_buf_func[4]._y"->"b.b.t_buf_func[4].y"- +~("b.b.t_buf_func[4]._y")->"b.b.t_buf_func[4].y"+ += "Vdd" "b.b.supply.vdd" += "GND" "b.b.supply.vss" += "b._reset_B" "b.b.reset_B" += "b.dly_cfg[0]" "b.b.dly_cfg[0]" += "b.dly_cfg[1]" "b.b.dly_cfg[1]" += "b.dly_cfg[2]" "b.b.dly_cfg[2]" += "b.dly_cfg[3]" "b.b.dly_cfg[3]" += "b.out.d.d[0].d[0]" "b.out.d.d[0].f" += "b.out.d.d[0].d[1]" "b.out.d.d[0].t" += "b.out.d.d[1].d[0]" "b.out.d.d[1].f" += "b.out.d.d[1].d[1]" "b.out.d.d[1].t" += "b.out.d.d[2].d[0]" "b.out.d.d[2].f" += "b.out.d.d[2].d[1]" "b.out.d.d[2].t" += "b.out.d.d[3].d[0]" "b.out.d.d[3].f" += "b.out.d.d[3].d[1]" "b.out.d.d[3].t" += "b.out.d.d[4].d[0]" "b.out.d.d[4].f" += "b.out.d.d[4].d[1]" "b.out.d.d[4].t" += "b.out.d.d[4].d[0]" "b.out.d.d[4].f" += "b.out.d.d[4].d[1]" "b.out.d.d[4].t" += "b.out.d.d[3].d[0]" "b.out.d.d[3].f" += "b.out.d.d[3].d[1]" "b.out.d.d[3].t" += "b.out.d.d[2].d[0]" "b.out.d.d[2].f" += "b.out.d.d[2].d[1]" "b.out.d.d[2].t" += "b.out.d.d[1].d[0]" "b.out.d.d[1].f" += "b.out.d.d[1].d[1]" "b.out.d.d[1].t" += "b.out.d.d[0].d[0]" "b.out.d.d[0].f" += "b.out.d.d[0].d[1]" "b.out.d.d[0].t" += "b.out.d.d[4].d[0]" "b.out.d.d[4].f" += "b.out.d.d[4].d[1]" "b.out.d.d[4].t" += "b.out.d.d[3].d[0]" "b.out.d.d[3].f" += "b.out.d.d[3].d[1]" "b.out.d.d[3].t" += "b.out.d.d[2].d[0]" "b.out.d.d[2].f" += "b.out.d.d[2].d[1]" "b.out.d.d[2].t" += "b.out.d.d[1].d[0]" "b.out.d.d[1].f" += "b.out.d.d[1].d[1]" "b.out.d.d[1].t" += "b.out.d.d[0].d[0]" "b.out.d.d[0].f" += "b.out.d.d[0].d[1]" "b.out.d.d[0].t" += "b.out.v" "b.b.out.v" += "b.out.a" "b.b.out.a" += "b.out.d.d[0].f" "b.b.out.d.d[0].f" += "b.out.d.d[0].t" "b.b.out.d.d[0].t" += "b.out.d.d[0].d[0]" "b.b.out.d.d[0].d[0]" += "b.out.d.d[0].d[1]" "b.b.out.d.d[0].d[1]" += "b.out.d.d[1].f" "b.b.out.d.d[1].f" += "b.out.d.d[1].t" "b.b.out.d.d[1].t" += "b.out.d.d[1].d[0]" "b.b.out.d.d[1].d[0]" += "b.out.d.d[1].d[1]" "b.b.out.d.d[1].d[1]" += "b.out.d.d[2].f" "b.b.out.d.d[2].f" += "b.out.d.d[2].t" "b.b.out.d.d[2].t" += "b.out.d.d[2].d[0]" "b.b.out.d.d[2].d[0]" += "b.out.d.d[2].d[1]" "b.b.out.d.d[2].d[1]" += "b.out.d.d[3].f" "b.b.out.d.d[3].f" += "b.out.d.d[3].t" "b.b.out.d.d[3].t" += "b.out.d.d[3].d[0]" "b.b.out.d.d[3].d[0]" += "b.out.d.d[3].d[1]" "b.b.out.d.d[3].d[1]" += "b.out.d.d[4].f" "b.b.out.d.d[4].f" += "b.out.d.d[4].t" "b.b.out.d.d[4].t" += "b.out.d.d[4].d[0]" "b.b.out.d.d[4].d[0]" += "b.out.d.d[4].d[1]" "b.b.out.d.d[4].d[1]" += "b.out.d.d[4].d[0]" "b.out.d.d[4].f" += "b.out.d.d[4].d[1]" "b.out.d.d[4].t" += "b.out.d.d[3].d[0]" "b.out.d.d[3].f" += "b.out.d.d[3].d[1]" "b.out.d.d[3].t" += "b.out.d.d[2].d[0]" "b.out.d.d[2].f" += "b.out.d.d[2].d[1]" "b.out.d.d[2].t" += "b.out.d.d[1].d[0]" "b.out.d.d[1].f" += "b.out.d.d[1].d[1]" "b.out.d.d[1].t" += "b.out.d.d[0].d[0]" "b.out.d.d[0].f" += "b.out.d.d[0].d[1]" "b.out.d.d[0].t" +timing("b.in.a"-,"b.in.d[0]","b.in.r"+) +timing("b.in.a"-,"b.in.d[1]","b.in.r"+) +timing("b.in.a"-,"b.in.d[2]","b.in.r"+) +timing("b.in.a"-,"b.in.d[3]","b.in.r"+) +timing("b.in.a"-,"b.in.d[4]","b.in.r"+) += "b.in.a" "b.b.in.a" += "b.in.r" "b.b.in.r" += "b.in.d[0]" "b.b.in.d[0]" += "b.in.d[1]" "b.b.in.d[1]" += "b.in.d[2]" "b.b.in.d[2]" += "b.in.d[3]" "b.b.in.d[3]" += "b.in.d[4]" "b.b.in.d[4]" diff --git a/test/unit_tests/bd2qdi_5/test.act b/test/unit_tests/bd2qdi_5/test.act new file mode 100644 index 0000000..38b731e --- /dev/null +++ b/test/unit_tests/bd2qdi_5/test.act @@ -0,0 +1,45 @@ +/************************************************************************* + * + * 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/interfaces.act"; +import globals; + +open tmpl::dataflow_neuro; + +defproc bd2qdi_5(bd<5> in; avMx1of2<5> out; bool? dly_cfg[4]) +{ + bool _reset_B; + prs { + Reset => _reset_B- + } + bd2qdi<5,4> b(.in = in, .out = out, .reset_B = _reset_B, .dly_cfg = dly_cfg); + b.supply.vdd = Vdd; + b.supply.vss = GND; +} + +bd2qdi_5 b; \ No newline at end of file diff --git a/test/unit_tests/bd2qdi_5/test.prsim b/test/unit_tests/bd2qdi_5/test.prsim new file mode 100644 index 0000000..ad3bd77 --- /dev/null +++ b/test/unit_tests/bd2qdi_5/test.prsim @@ -0,0 +1,137 @@ +watchall + +set b.out.a 0 +set b.out.v 0 +set b.in.r 0 + +set b.dly_cfg[0] 1 +set b.dly_cfg[1] 1 +set b.dly_cfg[2] 1 +set b.dly_cfg[3] 1 + +set b.in.d[0] 1 +set b.in.d[1] 0 +set b.in.d[2] 0 +set b.in.d[3] 1 +set b.in.d[4] 0 + +set Reset 0 +cycle + +system "echo '[] set Reset 1'" +set Reset 1 +cycle + +system "echo '[] set Reset 0'" +set Reset 0 +mode run +cycle +status X +assert-qdi-channel-neutral "b.out" 5 +assert b.in.a 0 + + +system "echo '[] Reset finished, setting data'" +set b.in.d[0] 0 +set b.in.d[1] 1 +set b.in.d[2] 1 +set b.in.d[3] 0 +set b.in.d[4] 1 +cycle + +system "echo '[] Reset finished, setting req 1'" +set b.in.r 1 +cycle +assert-qdi-channel-valid "b.out" 5 22 + +system "echo '[] Receiving val out'" +set b.out.v 1 +# set b.out.a 1 +cycle +assert-qdi-channel-valid "b.out" 5 22 +assert b.in.a 1 + +system "echo '[] Changing some input data'" +set b.in.d[0] 1 +set b.in.d[1] 1 +set b.in.d[2] 1 +cycle +system "echo '[] Removing req'" +set b.in.r 0 +system "echo '[] Changing more data'" +set b.in.d[3] 0 +set b.in.d[4] 0 +cycle +assert-qdi-channel-valid "b.out" 5 22 + +system "echo '[] Receiving ack out'" +set b.out.a 1 +cycle +assert-qdi-channel-neutral "b.out" 5 +set b.out.v 0 +cycle +assert b.in.a 0 + +system "echo '[] Set ack out 0'" +set b.out.a 0 +cycle +assert-qdi-channel-neutral "b.out" 5 +assert b.in.a 0 + + + + + + + + + + +system "echo '[] Again!!! setting data'" + + +set b.in.d[0] 0 +set b.in.d[1] 0 +set b.in.d[2] 0 +set b.in.d[3] 0 +set b.in.d[4] 0 +cycle + +system "echo '[] Again!!! setting req 1'" +set b.in.r 1 +cycle +assert-qdi-channel-valid "b.out" 5 0 + +system "echo '[] Receiving val out'" +set b.out.v 1 +# set b.out.a 1 +cycle +assert-qdi-channel-valid "b.out" 5 0 +assert b.in.a 1 + +system "echo '[] Changing some input data'" +set b.in.d[0] 1 +set b.in.d[1] 1 +set b.in.d[2] 1 +cycle +system "echo '[] Removing req'" +set b.in.r 0 +system "echo '[] Changing more data'" +set b.in.d[3] 0 +set b.in.d[4] 0 +cycle +assert-qdi-channel-valid "b.out" 5 0 + +system "echo '[] Receiving ack out'" +set b.out.a 1 +cycle +assert-qdi-channel-neutral "b.out" 5 +set b.out.v 0 +cycle +assert b.in.a 0 + +system "echo '[] Set ack out 0'" +set b.out.a 0 +cycle +assert-qdi-channel-neutral "b.out" 5 +assert b.in.a 0