Auto stash before merge of "dev" and "origin/dev"

This commit is contained in:
Greatorex committed 2022-04-15 12:48:50 +02:00
1 parent c41d7f4fdf
commit cd1947a2ce
16 files changed
+23323 -3028

No files matched your search

+64 -411
View File
@@ -1,427 +1,80 @@
/************************************************************************* namespace cell {
*
* This file is part of ACT dataflow neuro library
*
* Copyright (c) 2020-2021 Rajit Manohar
* Copyright (c) 2022 University of Groningen - Ole Richter
* 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.
*
**************************************************************************
*/
namespace tmpl { export defcell g0x0 (bool? in[2]; bool! out)
namespace dataflow_neuro { {
prs {
[keeper=0] ~in[0] & ~in[1] -> out+
}
}
export defproc TIELO_X1(bool! y; bool vdd, vss) export defcell g1x0 (bool? in[2]; bool! out)
{ {
y = vss; prs {
} [keeper=0] in[0] & in[1] -> out-
}
}
export defproc TIEHI_X1(bool! y; bool vdd, vss) export defcell g2x0 (bool? in[1]; bool! out)
{ {
y = vdd; prs {
} [keeper=0] ~in[0] -> out+
}
}
/*-- inverters --*/ export defcell g3x0 (bool? in[2]; bool! out)
{
prs {
[keeper=0] in[0] & in[1] -> out-
[keeper=0] ~in[0] | ~in[1] -> out+
}
}
defproc inv (bool! y; bool? a, vdd, vss) export defcell g4x0 (bool? in[2]; bool! out)
{ {
prs { prs {
a => y- [keeper=0] in[0] | in[1] -> out-
} ~(in[0] | in[1]) -> out+
} }
}
template<pint nf>
defproc szinv <: inv()
{
[nf = 0 -> sizing { y {-1} }
[] else -> sizing { y {-2*nf,svt,nf} }
]
}
export defcell INV_X1<: szinv<0>() { } export defcell g5x0 (bool? in[1]; bool! out)
export defcell INV_X2<: szinv<1>() { } {
export defcell INV_X4<: szinv<2>() { } prs {
export defcell INV_X8<: szinv<4>() { } [keeper=0] in[0] -> out-
}
}
export defcell g6x0 (bool? in[3]; bool! out)
{
prs {
[keeper=0] ~in[0] & ~in[1] & ~in[2] -> out+
}
}
/*-- signal buffers --*/ export template<pint w,l> defcell p0(bool? in[2]; bool! out) {
prs { passp<w,l> (in[0],in[1],out) }
}
defproc buf (bool! y; bool? a, vdd, vss) export template<pint w,l> defcell n0(bool? in[2]; bool! out) {
{ prs { passn<w,l> (in[0],in[1],out) }
bool _y; }
prs {
a => _y-
_y => y-
}
}
export defcell BUF_X1<: buf()
{
sizing { _y {-1}; y {-1} }
}
export defcell BUF_X2<: buf()
{
sizing { _y {-1}; y {-2} }
}
export defcell BUF_X3<: buf()
{
sizing { _y {-1.5}; y {-3} }
}
export defcell BUF_X4<: buf()
{
sizing { _y {-1.5}; y {-4,2} }
}
export defcell BUF_X6<: buf()
{
sizing { _y {-3}; y {-6,2} }
}
export defcell BUF_X8<: buf()
{
sizing { _y {-4,2}; y {-8,4} }
}
export defcell BUF_X12<: buf()
{
sizing { _y {-6,2}; y {-12,4} }
}
/*-- delay cells --*/ export template<pint w,l> defcell t0(bool? in[3]; bool! out) {
// TODO properly prs { transgate<w,l> (in[0],in[1],in[2],out) }
}
// export defcell DLY4_X1(bool! y; bool? a, vdd, vss) export defcell p1(bool? in[2]; bool! out) {
// { prs { passp (in[0],in[1],out) }
// bool _y, __y, ___y; }
// prs {
// a => _y-
// _y => __y-
// __y => ___y-
// ___y => y-
// }
// }
export defcell DLY4_X1(bool! y; bool? a, vdd, vss) export defcell n1(bool? in[2]; bool! out) {
{ prs { passn (in[0],in[1],out) }
BUF_X1 bufchain[16]; }
(i:0..14: bufchain[i].y = bufchain[i+1].a;)
bufchain[0].a = a;
bufchain[15].y = y;
}
export defcell t1(bool? in[3]; bool! out) {
/*-- simple gates --*/ prs { transgate (in[0],in[1],in[2],out) }
export defcell NOR2_X1(bool! y; bool? a, b, vdd, vss)
{
prs {
a | b => y-
}
sizing { y {-1} }
}
export defcell NOR3_X1(bool! y; bool? a, b, c, vdd, vss)
{
prs {
a | b | c => y-
}
sizing { y {-1} }
}
export defcell NOR4_X1(bool! y; bool? a, b, c, d, vdd, vss)
{
prs {
a | b | c | d => y-
}
sizing { y {-1} }
}
export defcell OR2_X1(bool! y; bool? a, b, vdd, vss)
{
bool _y;
prs {
a | b => _y-
_y => y-
}
sizing { _y{-1}; y{-1} }
}
export defcell OR2_X2(bool! y; bool? a, b, vdd, vss)
{
bool _y;
prs {
a | b => _y-
_y => y-
}
sizing { _y{-1}; y{-2} }
}
export defcell OR3_X1(bool! y; bool? a, b, c, vdd, vss)
{
bool _y;
prs {
a | b | c => _y-
_y => y-
}
sizing { _y{-1}; y{-1} }
}
export defcell OR4_X1(bool! y; bool? a, b, c, d, vdd, vss)
{
bool _y;
prs {
a | b | c | d => _y-
_y => y-
}
sizing { _y{-1}; y{-1} }
}
export defcell NAND2_X1(bool! y; bool? a, b, vdd, vss)
{
prs {
a & b => y-
}
sizing { y{-1} }
}
export defcell NAND3_X1(bool! y; bool? a, b, c, vdd, vss)
{
prs {
a & b & c => y-
}
sizing { y{-1} }
}
export defcell NAND4_X1(bool! y; bool? a, b, c, d, vdd, vss)
{
prs {
a & b & c & d => y-
}
sizing { y{-1} }
}
export defcell AND2_X1(bool! y; bool? a, b, vdd, vss)
{
bool _y;
prs {
a & b => _y-
_y => y-
}
sizing { _y{-1}; y{-1} }
}
export defcell AND2_X2(bool! y; bool? a, b, vdd, vss)
{
bool _y;
prs {
a & b => _y-
_y => y-
}
sizing { _y{-1}; y{-2} }
}
export defcell AND3_X1(bool! y; bool? a, b, c, vdd, vss)
{
bool _y;
prs {
a & b & c => _y-
_y => y-
}
sizing { _y{-1}; y{-1} }
}
export defcell AND4_X1(bool! y; bool? a, b, c, d, vdd, vss)
{
bool _y;
prs {
a & b & c & d => _y-
_y => y-
}
sizing { _y{-1}; y{-1} }
}
export defcell XOR2_X1(bool! y; bool? a, b, vdd, vss)
{
bool _a, _b;
prs {
a => _a-
b => _b-
[keeper=0] ~b & ~_a | ~_b & ~a -> y+
_b & _a | b & a -> y-
}
sizing { _a{-1}; _b{-1}; y{-1} }
}
export defcell XNOR2_X1(bool! y; bool? a, b, vdd, vss)
{
bool _a, _b;
prs {
a => _a-
b => _b-
[keeper=0] ~b & ~a | ~_b & ~_a -> y+
b & _a | _b & a -> y-
}
sizing { _a{-1}; _b{-1}; y{-1} }
}
export defcell MUX2_X1(bool! y; bool? a, b, s, vdd, vss)
{
// y = !( S ? b : a )
// Actually looks more like
// if s = 0 -> use A
// Adjusted to fit the XFAB Muxes
bool _s;
bool _y;
prs {
s => _s-
[keeper=0] ~a & ~s | ~b & ~_s -> _y+
a & _s | b & s -> _y-
_y => y-
}
sizing { _s{-1}; y{-1}; _y{-1}}
}
export defcell MUX4_X1(bool! y; bool? a, b, c, d, s0, s1, vdd, vss)
{
// y = !( S ? a : b )
bool _s0;
bool _s1;
bool _yab;
bool _ycd;
prs {
s0 => _s0-
s1 => _s1-
[keeper=0] a & _s0 | b & s0 -> _yab-
~a & ~s0 | ~b & ~_s0 -> _yab+
[keeper=0] c & _s0 | d & s0 -> _ycd-
~c & ~s0 | ~d & ~_s0 -> _ycd+
[keeper=0]_yab & _s1 | _ycd & s1 -> y-
~_yab & ~s1 | ~_ycd & ~_s1 -> y+
}
sizing {_s0{-1}; _s1{-1}; y{-1}; _yab{-1}; _ycd{-1}}
}
export defcell OAI21_X1(bool! y; bool? a, b, c, vdd, vss)
{
prs {
(a | b) & c => y-
}
sizing { y{-1} }
}
export defcell AOI21_X1(bool! y; bool? a, b, c, vdd, vss)
{
prs {
a & b | c => y-
}
sizing { y{-1} }
}
export defcell OAI22_X1(bool! y; bool? a, b, c, d, vdd, vss)
{
// y = !((a|b) & (c|d))
prs {
(a | b) & (c | d) => y-
}
sizing { y{-1} }
}
export defcell AOI22_X1(bool! y; bool? a, b, c, d, vdd, vss)
{
prs {
a & b | c & d => y-
}
sizing { y{-1} }
}
/*--- buffered transmission gates ---*/
export defcell TBUF1_X1 (bool! y; bool? a, en, vdd, vss)
{
bool _en;
prs {
en => _en-
~a & ~_en -> y+
a & en -> y-
}
sizing { _en{-1}; y{-1} }
}
export defcell TBUF_X2 (bool! y; bool? a, en, vdd, vss)
{
bool _en;
prs {
en => _en-
~a & ~_en -> y+
a & en -> y-
}
sizing { _en{-2}; y{-2,2} }
}
export defcell TBUF_X4 (bool! y; bool? a, en, vdd, vss)
{
bool _en;
prs {
en => _en-
~a & ~_en -> y+
a & en -> y-
}
sizing { _en{-4}; y{-4,4} }
}
export defproc DFFQ_R_X1 (bool? clk_B, reset_B, d; bool! q,q_B; bool? vdd,vss)
{
bool _clk_B, __clk_B, _mqi,_mqib,_sqi,_sqib;
prs {
// Creating delayed versions of the clock
clk_B => _clk_B-
_clk_B => __clk_B-
(~d & ~_clk_B)|(~reset_B)|(~__clk_B&~_mqi) -> _mqib+
((d & __clk_B)|(_mqi & _clk_B))&reset_B -> _mqib-
_mqib => _mqi-
(~_mqi &~__clk_B)|(~reset_B)|(~_sqi&~_clk_B) -> _sqib+
((_mqi &_clk_B)|(_sqi&__clk_B))&reset_B -> _sqib-
_sqib => _sqi-
_sqib => q-
q => q_B-
}
}
}
} }
}
+2 -2
View File
@@ -418,7 +418,7 @@ defproc sigbuf (bool? in; bool! out[N]; power supply)
{ {
{ N >= 0 : "sigbuf: parameter error" }; { N >= 0 : "sigbuf: parameter error" };
{ N <= 128 : "sigbuf: parameter error, N too big" }; // { N <= 43 : "sigbuf: parameter error, N too big" };
/* -- just use in sized driver here -- */ /* -- just use in sized driver here -- */
[ N <= 4 -> [ N <= 4 ->
@@ -433,7 +433,7 @@ defproc sigbuf (bool? in; bool! out[N]; power supply)
BUF_X6 buf6 (.a = in, .y = out[0], .vdd = supply.vdd, .vss = supply.vss); BUF_X6 buf6 (.a = in, .y = out[0], .vdd = supply.vdd, .vss = supply.vss);
[] N >= 19 & N <= 29 -> [] N >= 19 & N <= 29 ->
BUF_X8 buf8 (.a = in, .y = out[0], .vdd = supply.vdd, .vss = supply.vss); BUF_X8 buf8 (.a = in, .y = out[0], .vdd = supply.vdd, .vss = supply.vss);
[] N >= 30 & N <= 48-> [] N >= 30 ->
BUF_X12 buf12 (.a = in, .y = out[0], .vdd = supply.vdd, .vss = supply.vss); BUF_X12 buf12 (.a = in, .y = out[0], .vdd = supply.vdd, .vss = supply.vss);
[] N >= 49 & N <= 64 -> [] N >= 49 & N <= 64 ->
BUF_X16 buf16 (.a = in, .y = out[0], .vdd = supply.vdd, .vss = supply.vss); BUF_X16 buf16 (.a = in, .y = out[0], .vdd = supply.vdd, .vss = supply.vss);
File diff suppressed because it is too large. Load diff
@@ -8749,51 +8749,51 @@
= "b.demux.in.a" "b.demux.demux.cond.a" = "b.demux.in.a" "b.demux.demux.cond.a"
= "b.demux.in.a" "b.demux.demux.in.a" = "b.demux.in.a" "b.demux.demux.in.a"
= "b.demux.in.v" "b.demux.demux.in.v" = "b.demux.in.v" "b.demux.demux.in.v"
= "b.demux.in.d.d[7].d[0]" "b.demux.demux.in.d.d[6].f"
= "b.demux.in.d.d[7].d[0]" "b.demux.demux.in.d.d[6].d[0]"
= "b.demux.in.d.d[7].d[0]" "b.demux.in.d.d[7].f" = "b.demux.in.d.d[7].d[0]" "b.demux.in.d.d[7].f"
= "b.demux.in.d.d[7].d[1]" "b.demux.demux.in.d.d[6].t"
= "b.demux.in.d.d[7].d[1]" "b.demux.demux.in.d.d[6].d[1]"
= "b.demux.in.d.d[7].d[1]" "b.demux.in.d.d[7].t" = "b.demux.in.d.d[7].d[1]" "b.demux.in.d.d[7].t"
= "b.demux.in.d.d[6].d[0]" "b.demux.demux.in.d.d[6].f" = "b.demux.in.d.d[6].d[0]" "b.demux.demux.in.d.d[5].f"
= "b.demux.in.d.d[6].d[0]" "b.demux.demux.in.d.d[6].d[0]" = "b.demux.in.d.d[6].d[0]" "b.demux.demux.in.d.d[5].d[0]"
= "b.demux.in.d.d[6].d[0]" "b.demux.in.d.d[6].f" = "b.demux.in.d.d[6].d[0]" "b.demux.in.d.d[6].f"
= "b.demux.in.d.d[6].d[1]" "b.demux.demux.in.d.d[6].t" = "b.demux.in.d.d[6].d[1]" "b.demux.demux.in.d.d[5].t"
= "b.demux.in.d.d[6].d[1]" "b.demux.demux.in.d.d[6].d[1]" = "b.demux.in.d.d[6].d[1]" "b.demux.demux.in.d.d[5].d[1]"
= "b.demux.in.d.d[6].d[1]" "b.demux.in.d.d[6].t" = "b.demux.in.d.d[6].d[1]" "b.demux.in.d.d[6].t"
= "b.demux.in.d.d[5].d[0]" "b.demux.demux.in.d.d[5].f" = "b.demux.in.d.d[5].d[0]" "b.demux.demux.in.d.d[4].f"
= "b.demux.in.d.d[5].d[0]" "b.demux.demux.in.d.d[5].d[0]" = "b.demux.in.d.d[5].d[0]" "b.demux.demux.in.d.d[4].d[0]"
= "b.demux.in.d.d[5].d[0]" "b.demux.in.d.d[5].f" = "b.demux.in.d.d[5].d[0]" "b.demux.in.d.d[5].f"
= "b.demux.in.d.d[5].d[1]" "b.demux.demux.in.d.d[5].t" = "b.demux.in.d.d[5].d[1]" "b.demux.demux.in.d.d[4].t"
= "b.demux.in.d.d[5].d[1]" "b.demux.demux.in.d.d[5].d[1]" = "b.demux.in.d.d[5].d[1]" "b.demux.demux.in.d.d[4].d[1]"
= "b.demux.in.d.d[5].d[1]" "b.demux.in.d.d[5].t" = "b.demux.in.d.d[5].d[1]" "b.demux.in.d.d[5].t"
= "b.demux.in.d.d[4].d[0]" "b.demux.demux.in.d.d[4].f" = "b.demux.in.d.d[4].d[0]" "b.demux.demux.in.d.d[3].f"
= "b.demux.in.d.d[4].d[0]" "b.demux.demux.in.d.d[4].d[0]" = "b.demux.in.d.d[4].d[0]" "b.demux.demux.in.d.d[3].d[0]"
= "b.demux.in.d.d[4].d[0]" "b.demux.in.d.d[4].f" = "b.demux.in.d.d[4].d[0]" "b.demux.in.d.d[4].f"
= "b.demux.in.d.d[4].d[1]" "b.demux.demux.in.d.d[4].t" = "b.demux.in.d.d[4].d[1]" "b.demux.demux.in.d.d[3].t"
= "b.demux.in.d.d[4].d[1]" "b.demux.demux.in.d.d[4].d[1]" = "b.demux.in.d.d[4].d[1]" "b.demux.demux.in.d.d[3].d[1]"
= "b.demux.in.d.d[4].d[1]" "b.demux.in.d.d[4].t" = "b.demux.in.d.d[4].d[1]" "b.demux.in.d.d[4].t"
= "b.demux.in.d.d[3].d[0]" "b.demux.demux.in.d.d[3].f" = "b.demux.in.d.d[3].d[0]" "b.demux.demux.in.d.d[2].f"
= "b.demux.in.d.d[3].d[0]" "b.demux.demux.in.d.d[3].d[0]" = "b.demux.in.d.d[3].d[0]" "b.demux.demux.in.d.d[2].d[0]"
= "b.demux.in.d.d[3].d[0]" "b.demux.in.d.d[3].f" = "b.demux.in.d.d[3].d[0]" "b.demux.in.d.d[3].f"
= "b.demux.in.d.d[3].d[1]" "b.demux.demux.in.d.d[3].t" = "b.demux.in.d.d[3].d[1]" "b.demux.demux.in.d.d[2].t"
= "b.demux.in.d.d[3].d[1]" "b.demux.demux.in.d.d[3].d[1]" = "b.demux.in.d.d[3].d[1]" "b.demux.demux.in.d.d[2].d[1]"
= "b.demux.in.d.d[3].d[1]" "b.demux.in.d.d[3].t" = "b.demux.in.d.d[3].d[1]" "b.demux.in.d.d[3].t"
= "b.demux.in.d.d[2].d[0]" "b.demux.demux.in.d.d[2].f" = "b.demux.in.d.d[2].d[0]" "b.demux.demux.in.d.d[1].f"
= "b.demux.in.d.d[2].d[0]" "b.demux.demux.in.d.d[2].d[0]" = "b.demux.in.d.d[2].d[0]" "b.demux.demux.in.d.d[1].d[0]"
= "b.demux.in.d.d[2].d[0]" "b.demux.in.d.d[2].f" = "b.demux.in.d.d[2].d[0]" "b.demux.in.d.d[2].f"
= "b.demux.in.d.d[2].d[1]" "b.demux.demux.in.d.d[2].t" = "b.demux.in.d.d[2].d[1]" "b.demux.demux.in.d.d[1].t"
= "b.demux.in.d.d[2].d[1]" "b.demux.demux.in.d.d[2].d[1]" = "b.demux.in.d.d[2].d[1]" "b.demux.demux.in.d.d[1].d[1]"
= "b.demux.in.d.d[2].d[1]" "b.demux.in.d.d[2].t" = "b.demux.in.d.d[2].d[1]" "b.demux.in.d.d[2].t"
= "b.demux.in.d.d[1].d[0]" "b.demux.demux.in.d.d[1].f" = "b.demux.in.d.d[1].d[0]" "b.demux.demux.in.d.d[0].f"
= "b.demux.in.d.d[1].d[0]" "b.demux.demux.in.d.d[1].d[0]" = "b.demux.in.d.d[1].d[0]" "b.demux.demux.in.d.d[0].d[0]"
= "b.demux.in.d.d[1].d[0]" "b.demux.in.d.d[1].f" = "b.demux.in.d.d[1].d[0]" "b.demux.in.d.d[1].f"
= "b.demux.in.d.d[1].d[1]" "b.demux.demux.in.d.d[1].t" = "b.demux.in.d.d[1].d[1]" "b.demux.demux.in.d.d[0].t"
= "b.demux.in.d.d[1].d[1]" "b.demux.demux.in.d.d[1].d[1]" = "b.demux.in.d.d[1].d[1]" "b.demux.demux.in.d.d[0].d[1]"
= "b.demux.in.d.d[1].d[1]" "b.demux.in.d.d[1].t" = "b.demux.in.d.d[1].d[1]" "b.demux.in.d.d[1].t"
= "b.demux.in.d.d[0].d[0]" "b.demux.demux.in.d.d[0].f"
= "b.demux.in.d.d[0].d[0]" "b.demux.demux.in.d.d[0].d[0]"
= "b.demux.in.d.d[0].d[0]" "b.demux.demux.cond.d.d[0].f" = "b.demux.in.d.d[0].d[0]" "b.demux.demux.cond.d.d[0].f"
= "b.demux.in.d.d[0].d[0]" "b.demux.demux.cond.d.d[0].d[0]" = "b.demux.in.d.d[0].d[0]" "b.demux.demux.cond.d.d[0].d[0]"
= "b.demux.in.d.d[0].d[0]" "b.demux.in.d.d[0].f" = "b.demux.in.d.d[0].d[0]" "b.demux.in.d.d[0].f"
= "b.demux.in.d.d[0].d[1]" "b.demux.demux.in.d.d[0].t"
= "b.demux.in.d.d[0].d[1]" "b.demux.demux.in.d.d[0].d[1]"
= "b.demux.in.d.d[0].d[1]" "b.demux.demux.cond.d.d[0].t" = "b.demux.in.d.d[0].d[1]" "b.demux.demux.cond.d.d[0].t"
= "b.demux.in.d.d[0].d[1]" "b.demux.demux.cond.d.d[0].d[1]" = "b.demux.in.d.d[0].d[1]" "b.demux.demux.cond.d.d[0].d[1]"
= "b.demux.in.d.d[0].d[1]" "b.demux.in.d.d[0].t" = "b.demux.in.d.d[0].d[1]" "b.demux.in.d.d[0].t"
@@ -59,6 +59,7 @@ assert b.in.v 1
assert b.in.a 1 assert b.in.a 1
assert-qdi-channel-valid "b.out2" 7 100 assert-qdi-channel-valid "b.out2" 7 100
assert-qdi-channel-neutral "b.out1" 7
set b.out2.v 1 set b.out2.v 1
cycle cycle
assert b.in.a 1 assert b.in.a 1
+204
View File
@@ -0,0 +1,204 @@
//
// Verilog module for: INV_X1<>
//
module _0_0tmpl_0_0dataflow__neuro_0_0INV__X1(y, a);
output y;
input a;
// -- signals ---
reg y;
wire a;
// --- instances
endmodule
//
// Verilog module for: A_2P_U_X4<>
//
module _0_0tmpl_0_0dataflow__neuro_0_0A__2P__U__X4(p1, p2, y);
input p1;
input p2;
output y;
// -- signals ---
reg y;
wire p2;
wire p1;
// --- instances
endmodule
//
// Verilog module for: INV_X2<>
//
module _0_0tmpl_0_0dataflow__neuro_0_0INV__X2(y, a);
output y;
input a;
// -- signals ---
reg y;
wire a;
// --- instances
endmodule
//
// Verilog module for: A_2C1N_RB_X1<>
//
module _0_0tmpl_0_0dataflow__neuro_0_0A__2C1N__RB__X1(y, c1, c2, n1, pr_B, sr_B);
output y;
input c1;
input c2;
input n1;
input pr_B;
input sr_B;
// -- signals ---
wire sr_B;
reg y;
wire c2;
wire c1;
reg _y;
wire pr_B;
wire n1;
// --- instances
endmodule
//
// Verilog module for: BUF_X2<>
//
module _0_0tmpl_0_0dataflow__neuro_0_0BUF__X2(y, a);
output y;
input a;
// -- signals ---
reg y;
reg _y;
wire a;
// --- instances
endmodule
//
// Verilog module for: A_1C1P_X1<>
//
module _0_0tmpl_0_0dataflow__neuro_0_0A__1C1P__X1(y, c1, p1);
output y;
input c1;
input p1;
// -- signals ---
wire c1;
wire p1;
reg y;
// --- instances
endmodule
//
// Verilog module for: A_2C1P1N_RB_X1<>
//
module _0_0tmpl_0_0dataflow__neuro_0_0A__2C1P1N__RB__X1(y, c1, c2, p1, n1, pr_B, sr_B);
output y;
input c1;
input c2;
input p1;
input n1;
input pr_B;
input sr_B;
// -- signals ---
wire sr_B;
wire n1;
wire p1;
wire c2;
reg y;
wire c1;
reg _y;
wire pr_B;
// --- instances
endmodule
//
// Verilog module for: A_3P_U_X4<>
//
module _0_0tmpl_0_0dataflow__neuro_0_0A__3P__U__X4(p1, p2, p3, y);
input p1;
input p2;
input p3;
output y;
// -- signals ---
wire p2;
wire p3;
wire p1;
reg y;
// --- instances
endmodule
//
// Verilog module for: nrn_hs_2d<>
//
module _0_0tmpl_0_0dataflow__neuro_0_0nrn__hs__2d(\in.d.d[0] , \in.a , \outx.d.d[0] , \outx.a , \outy.d.d[0] , \outy.a , reset_B);
input \in.d.d[0] ;
output \in.a ;
output \outx.d.d[0] ;
input \outx.a ;
output \outy.d.d[0] ;
input \outy.a ;
input reset_B;
// -- signals ---
reg \outx.d.d[0] ;
reg \in.a ;
reg _reqB;
reg \outy.d.d[0] ;
wire reset_B;
reg _y_a_B;
wire \outy.a ;
reg _x_a_B;
reg _reset_BX;
wire \in.d.d[0] ;
wire \outx.a ;
reg _en;
reg _req;
// --- instances
_0_0tmpl_0_0dataflow__neuro_0_0INV__X1 \req_inv (.y(_reqB), .a(_req));
_0_0tmpl_0_0dataflow__neuro_0_0A__2P__U__X4 \pu_y (.p1(_reqB), .p2(\outy.a ), .y(\outy.d.d[0] ));
_0_0tmpl_0_0dataflow__neuro_0_0INV__X2 \inv_x (.y(_x_a_B), .a(\outx.a ));
_0_0tmpl_0_0dataflow__neuro_0_0INV__X2 \inv_y (.y(_y_a_B), .a(\outy.a ));
_0_0tmpl_0_0dataflow__neuro_0_0A__2C1N__RB__X1 \A_ack (.y(\in.a ), .c1(_en), .c2(\in.d.d[0] ), .n1(_req), .pr_B(_reset_BX), .sr_B(_reset_BX));
_0_0tmpl_0_0dataflow__neuro_0_0BUF__X2 \reset_buf (.y(_reset_BX), .a(reset_B));
_0_0tmpl_0_0dataflow__neuro_0_0A__1C1P__X1 \A_en (.y(_en), .c1(\in.a ), .p1(_req));
_0_0tmpl_0_0dataflow__neuro_0_0A__2C1P1N__RB__X1 \A_req (.y(_req), .c1(_en), .c2(_y_a_B), .p1(_x_a_B), .n1(\in.d.d[0] ), .pr_B(_reset_BX), .sr_B(_reset_BX));
_0_0tmpl_0_0dataflow__neuro_0_0A__3P__U__X4 \pu_x (.p1(\outx.a ), .p2(_reqB), .p3(_y_a_B), .y(\outx.d.d[0] ));
endmodule
//
// Verilog module for: nrn_hs_2d_inst<>
//
module nrn__hs__2d__inst(\in.d.d[0] , \in.a , \outx.d.d[0] , \outx.a , \outy.d.d[0] , \outy.a );
input \in.d.d[0] ;
output \in.a ;
output \outx.d.d[0] ;
input \outx.a ;
output \outy.d.d[0] ;
input \outy.a ;
// -- signals ---
reg \outx.d.d[0] ;
wire \outy.a ;
wire \in.d.d[0] ;
reg \outy.d.d[0] ;
reg _reset_B;
wire \outx.a ;
reg \in.a ;
// --- instances
_0_0tmpl_0_0dataflow__neuro_0_0nrn__hs__2d \b (.\in.d.d[0] (\in.d.d[0] ), .\in.a (\in.a ), .\outx.d.d[0] (\outx.d.d[0] ), .\outx.a (\outx.a ), .\outy.d.d[0] (\outy.d.d[0] ), .\outy.a (\outy.a ), .reset_B(_reset_B));
endmodule
+746
View File
@@ -0,0 +1,746 @@
b.b.dly_y[3].dly[0].y b.outy[4].a b.b.dly_y[2].dly[2].y b.outx[2].a b.b.neurons[3]._x_a_B b.outy[0].a b.outx[0].a b.b.dly_y[4].dly[3]._y b.in[4].r b.b.neurons[8]._x_a_B b.b.dly_y[3].dly[3].y b.b.dly_x[2].dly[1].y b.b.neurons[12]._y_a_B b.in[12].r b.in[5].r b.b.neurons[14]._y_a_B b.outy[3].a b.outy[1].a b.b.neurons[3]._y_a_B b.b.dly_x[0].dly[3]._y b.b.dly_y[0].dly[0].y b.in[14].r b.b.pd_x[0].in b.b.dly_y[4].dly[3].y b.in[1].r b.b.neurons[10]._x_a_B b.b.pd_x[1].in b.b.dly_y[3].dly[3].__y b.b.dly_y[0].dly[2].y b.b.dly_x[0].dly[1].y b.b.dly_y[2].dly[0].y b.b.dly_x[0].dly[1].___y b.in[2].r b.b.dly_x[2].dly[0].y b.in[11].r b.b.dly_y[2].dly[1].__y b.outx[1].a b.b.pd_y[2].in b.b.neurons[14]._x_a_B b.b.neurons[11]._y_a_B b.b.pd_x[1]._out b.b.pd_x[1].buf2._y b.in[8].r b.b.pd_y[4].__out b.b.dly_y[1].dly[1].y b.b.pd_y[4]._out b.b.neurons[6]._y_a_B b.b.pd_y[3].inv.y b.b.neurons[13]._y_a_B b.in[0].r b.b.neurons[7]._x_a_B b.b.dly_x[2].dly[2].___y b.b.pd_y[2].__out b.b.pd_y[0].in b.b.neurons[11]._x_a_B b.b.dly_x[2].dly[2].y b.b.pd_y[0].__out b.in[7].r b.b.pd_y[0].inv.y b.b.pd_y[3].in b.b.dly_y[2].dly[2].__y b.b.dly_y[2].dly[3].___y b.b.dly_x[1].dly[2].y b.in[3].r b.b.dly_x[1].dly[3].__y b.b.dly_x[1].dly[1].y b.b.dly_y[3].dly[1].y b.b.neurons[12]._x_a_B b.b.dly_y[4].dly[0].__y b.b.dly_y[3].dly[2].___y b.b.dly_y[0].dly[2]._y b.b.dly_y[1].dly[3].___y b.b.dly_x[2].dly[3].___y b.b.dly_y[2].dly[4]._y b.b.pd_x[0].buf2._y b.b.dly_x[0].dly[2].___y b.b.dly_y[0].dly[2].___y b.b.dly_y[3].dly[4].__y b.b.dly_x[1].dly[2].__y b.b.neurons[8]._y_a_B b.b.dly_y[1].dly[2].___y b.b.neurons[10]._y_a_B b.b.pd_y[4].in b.b.dly_y[2].dly[3].__y b.in[6].r b.b.pd_y[1].in b.b.neurons[9]._y_a_B b.b.dly_y[1].dly[0].__y b.b.dly_y[1].dly[3].__y b.outy[2].a b.b.dly_y[0].dly[0].___y b.b.dly_y[3].dly[3]._y b.in[9].r b.b.pd_x[2].inv.y b.b.dly_y[4].dly[4].__y b.b.dly_y[4].dly[1].y b.b.dly_x[2].dly[2]._y b.b.dly_y[2].dly[3].y b.b.dly_x[1].dly[1]._y b.b.neurons[13]._x_a_B b.b.neurons[5]._y_a_B b.b.dly_x[2].dly[4]._y b.b.pd_x[2]._out b.b.dly_y[0].dly[1].__y b.b.neurons[6]._x_a_B b.b.neurons[0]._x_a_B b.b.neurons[2]._y_a_B b.b.neurons[7]._y_a_B b.b.dly_y[2].dly[1].___y b.b.pd_x[2].in b.b.dly_y[4].dly[1]._y b.b.dly_y[3].dly[1].___y b.b.dly_x[1].dly[1].__y b.b.pd_y[3].__out b.b.dly_y[4].dly[2].___y b.b.dly_y[2].dly[1]._y b.b.dly_y[2].dly[0].___y b.b.pd_y[1].__out b.b.dly_y[0].dly[3].__y b.b.dly_x[1].dly[3].___y b.b.dly_x[1].dly[1].___y b.b.pd_x[0]._out b.b.dly_y[2].dly[1].y b.b.dly_x[0].dly[0]._y b.b.dly_y[4].dly[2].y b.b.neurons[1]._x_a_B b.b.neurons[2]._x_a_B b.b.dly_y[0].dly[1]._y b.b.pd_y[4].inv.y b.b.dly_y[4].dly[2]._y b.b.dly_y[1].dly[0].y b.b.pd_y[3]._out b.b.dly_x[1].dly[0].__y b.b.dly_x[1].dly[3].y b.b.dly_x[0].dly[3].y b.b.pd_y[3].buf2._y b.b.pd_y[0]._out b.in[10].r b.b.dly_y[1].dly[3]._y b.b.dly_x[0].dly[4]._y b.b.dly_x[1].dly[4]._y b.b.dly_y[4].dly[3].___y b.b.dly_x[1].dly[0].y b.b.dly_x[0].dly[0].y b.b.neurons[4]._x_a_B b.b.dly_y[3].dly[0]._y b.b.dly_y[0].dly[1].y b.b.dly_x[2].dly[0].__y b.b.dly_y[4].dly[0].y b.in[13].r b.b.dly_y[1].dly[2]._y b.b.dly_y[1].dly[2].y b.b.pd_y[1]._out b.b.dly_x[0].dly[3].__y b.b.neurons[5]._x_a_B b.b.dly_y[3].dly[4]._y b.b.dly_x[1].dly[0].___y b.b.dly_y[4].dly[4].___y b.b.pd_y[1].buf2._y b.b.dly_y[0].dly[3].___y b.b.dly_y[2].dly[0].__y b.b.dly_y[4].dly[4]._y b.b.pd_x[0].buf1._y b.b.dly_x[2].dly[3]._y b.b.dly_x[0].dly[4].__y b.b.dly_y[1].dly[4]._y b.b.neurons[4]._y_a_B b.b.pd_x[0].__out b.b.pd_x[2].__out b.b.dly_x[2].dly[3].__y b.b.pd_y[2].buf1._y b.b.neurons[9]._x_a_B b.b.dly_y[1].dly[0].___y b.b.dly_x[0].dly[0].__y b.b.dly_x[1].dly[0]._y b.b.dly_x[2].dly[1].__y b.b.dly_x[2].dly[3].y b.b.dly_x[0].dly[0].___y b.b.dly_y[1].dly[0]._y b.b.pd_y[1].buf1._y b.b.dly_y[4].dly[1].___y b.b.dly_y[2].dly[4].__y b.b.pd_x[1].__out b.b.dly_y[3].dly[1]._y b.b.dly_y[1].dly[1]._y b.b.dly_x[1].dly[2]._y b.b.dly_y[0].dly[3].y b.b.dly_y[3].dly[1].__y b.b.neurons[1]._y_a_B b.b.dly_x[0].dly[3].___y b.b.dly_y[0].dly[0].__y b.b.dly_y[3].dly[4].___y b.b.pd_x[1].buf1._y b.b.dly_x[2].dly[4].___y b.b.dly_y[0].dly[1].___y b.b.dly_y[0].dly[3]._y b.b.pd_y[2].inv.y b.b.dly_y[2].dly[2]._y b.b.dly_y[3].dly[0].__y b.b.dly_y[2].dly[0]._y b.b.dly_y[1].dly[4].___y b.b.dly_y[0].dly[4].___y b.b.neurons[0]._y_a_B b.b.dly_y[4].dly[2].__y b.b.dly_y[4].dly[1].__y b.b.dly_x[2].dly[4].__y b.b.dly_x[0].dly[1]._y b.b.pd_y[4].buf1._y b.b.dly_x[2].dly[2].__y b.b.dly_x[1].dly[4].___y b.b.dly_y[4].dly[0]._y b.b.dly_x[0].dly[2].__y b.b.dly_x[2].dly[0].___y b.b.pd_x[2].buf2._y b.b.dly_y[1].dly[3].y b.b.dly_y[2].dly[3]._y b.b.dly_x[0].dly[2].y b.b.dly_y[0].dly[4].__y b.b.dly_y[1].dly[2].__y b.b.dly_x[0].dly[2]._y b.b.dly_y[3].dly[2].y b.b.dly_y[2].dly[4].___y b.b.pd_y[2].buf2._y b.b.pd_x[0].inv.y b.b.pd_y[2]._out b.b.dly_y[0].dly[2].__y b.b.dly_y[1].dly[1].___y b.b.pd_y[1].inv.y b.b.pd_x[1].inv.y b.b.pd_y[0].buf1._y b.b.dly_y[4].dly[3].__y b.b.pd_y[0].buf2._y b.b.dly_y[2].dly[2].___y b.b.dly_x[1].dly[3]._y b.b.dly_y[4].dly[0].___y b.b.dly_y[1].dly[1].__y b.b.dly_x[0].dly[4].___y bLine truncated
151293 b.in[0].r : 0
151293 b.b.neurons[0]._req : 1
151293 b.b.neurons[0]._en : 0
151293 b.in[2].r : 0
151293 b.in[6].r : 0
151293 b.in[14].r : 0
151293 b.outy[3].r : 1
151293 b.in[13].r : 0
151293 b.outy[2].r : 1
151293 b.outy[1].r : 1
151293 b.in[5].r : 0
151293 b.in[12].r : 0
151293 b.outy[0].r : 1
151293 b.outx[2].r : 1
151293 b.in[11].r : 0
151293 b.outx[1].r : 1
151293 b.outx[0].r : 1
151293 b.in[1].r : 0
151293 b.in[4].r : 0
151293 b.in[10].r : 0
151293 b.outy[4].a : 0
151293 b.outy[3].a : 0
151293 b.in[9].r : 0
151293 b.outy[2].a : 0
151293 b.outy[1].a : 0
151293 b.in[3].r : 0
151293 b.in[8].r : 0
151293 b.outy[0].a : 0
151293 b.outx[2].a : 0
151293 b.in[7].r : 0
151293 b.outx[1].a : 0
151293 b.outx[0].a : 0
151294 b.b.neurons[0].pu_y.a : X [by b.b.neurons[0]._req:=1]
151294 b.b.keep_y[1]._y : 0 [by b.outy[1].r:=1]
151294 b.b.dly_x[1].dly[0]._y : 1 [by b.outx[1].a:=0]
151294 b.b.neurons[6]._x_a_B : 1 [by b.outx[0].a:=0]
151294 b.b.neurons[5]._y_a_B : 1 [by b.outy[1].a:=0]
151294 b.b.neurons[5]._x_a_B : 1 [by b.outx[2].a:=0]
151294 b.b.neurons[7]._x_a_B : 1 [by b.outx[1].a:=0]
WARNING: unstable `b.b.keep_y[3]._y'-
>> cause: b.outy[3].r (val: 0)
>> time: 151296
151296 b.outy[3].r : 0
151296 b.b.neurons[10]._y_a_B : 1 [by b.outy[3].a:=0]
151297 b.b.dly_y[4].dly[0]._y : 1 [by b.outy[4].a:=0]
151297 b.b.neurons[0]._y_a_B : 1 [by b.outy[0].a:=0]
151301 b.b.keep_x[1]._y : 0 [by b.outx[1].r:=1]
151305 b.b.dly_x[2].dly[0]._y : 1 [by b.outx[2].a:=0]
151306 b.b.dly_x[0].dly[0]._y : 1 [by b.outx[0].a:=0]
151307 b.b.dly_x[0].dly[0].__y : 0 [by b.b.dly_x[0].dly[0]._y:=1]
151310 b.b.neurons[0].pu_x.a : X [by b.b.neurons[0]._req:=1]
151311 b.b.neurons[0].pu_x.a : 1 [by b.b.neurons[0]._req:=1]
151322 b.b.neurons[0].pu_y.a : 0 [by b.b.neurons[0]._y_a_B:=1]
151326 b.b.dly_x[2].dly[0].__y : 0 [by b.b.dly_x[2].dly[0]._y:=1]
151327 b.outx[1].r : 0
151327 b.b.dly_x[2].dly[0].___y : 1 [by b.b.dly_x[2].dly[0].__y:=0]
151330 b.b.neurons[0]._x_a_B : 1 [by b.outx[0].a:=0]
151335 b.outy[1].r : 0
151340 b.b.keep_y[1]._y : 1 [by b.outy[1].r:=0]
151341 b.b.neurons[9]._y_a_B : 1 [by b.outy[3].a:=0]
151349 b.b.neurons[10]._x_a_B : 1 [by b.outx[1].a:=0]
151366 b.b.dly_y[0].dly[0]._y : 1 [by b.outy[0].a:=0]
151388 b.b.keep_x[2]._y : 0 [by b.outx[2].r:=1]
151389 b.b.neurons[2]._y_a_B : 1 [by b.outy[0].a:=0]
151429 b.b.neurons[2]._x_a_B : 1 [by b.outx[2].a:=0]
151466 b.b.neurons[3]._y_a_B : 1 [by b.outy[1].a:=0]
151471 b.b.neurons[11]._y_a_B : 1 [by b.outy[3].a:=0]
151477 b.b.neurons[4]._y_a_B : 1 [by b.outy[1].a:=0]
151488 b.b.keep_x[1]._y : 1 [by b.outx[1].r:=0]
151534 b.b.neurons[11]._x_a_B : 1 [by b.outx[2].a:=0]
151628 b.outx[2].r : 0
151654 b.b.dly_y[4].dly[0].__y : 0 [by b.b.dly_y[4].dly[0]._y:=1]
151665 b.b.dly_y[4].dly[0].___y : 1 [by b.b.dly_y[4].dly[0].__y:=0]
151947 b.b.dly_y[0].dly[0].__y : 0 [by b.b.dly_y[0].dly[0]._y:=1]
151961 b.b.dly_y[0].dly[0].___y : 1 [by b.b.dly_y[0].dly[0].__y:=0]
151979 b.b.dly_y[0].dly[0].y : 0 [by b.b.dly_y[0].dly[0].___y:=1]
151983 b.b.dly_y[0].dly[1]._y : 1 [by b.b.dly_y[0].dly[0].y:=0]
152036 b.b.keep_x[2]._y : 1 [by b.outx[2].r:=0]
152087 b.b.dly_y[0].dly[1].__y : 0 [by b.b.dly_y[0].dly[1]._y:=1]
152120 b.b.dly_y[1].dly[0]._y : 1 [by b.outy[1].a:=0]
WARNING: unstable `b.b.keep_x[0]._y'-
>> cause: b.outx[0].r (val: 0)
>> time: 152211
152211 b.outx[0].r : 0 [by b.b.neurons[0].pu_x.a:=1]
152234 b.b.keep_y[2]._y : 0 [by b.outy[2].r:=1]
152322 b.b.neurons[4]._x_a_B : 1 [by b.outx[1].a:=0]
152364 b.b.dly_x[2].dly[0].y : 0 [by b.b.dly_x[2].dly[0].___y:=1]
152712 b.b.dly_y[4].dly[0].y : 0 [by b.b.dly_y[4].dly[0].___y:=1]
152940 b.b.dly_y[4].dly[1]._y : 1 [by b.b.dly_y[4].dly[0].y:=0]
152985 b.b.neurons[12]._x_a_B : 1 [by b.outx[0].a:=0]
153324 b.b.dly_y[1].dly[0].__y : 0 [by b.b.dly_y[1].dly[0]._y:=1]
153691 b.b.neurons[13]._y_a_B : 1 [by b.outy[4].a:=0]
153783 b.b.dly_y[4].dly[1].__y : 0 [by b.b.dly_y[4].dly[1]._y:=1]
153853 b.b.dly_y[4].dly[1].___y : 1 [by b.b.dly_y[4].dly[1].__y:=0]
153866 b.b.neurons[0]._req : 0
153869 b.b.neurons[0]._en : 1 [by b.b.neurons[0]._req:=0]
153877 b.b.neurons[0].pu_y.a : 1 [by b.b.neurons[0]._req:=0]
154110 b.b.keep_y[0]._y : 0 [by b.outy[0].r:=1]
154508 b.b.neurons[14]._y_a_B : 1 [by b.outy[4].a:=0]
154783 b.b.dly_y[1].dly[0].___y : 1 [by b.b.dly_y[1].dly[0].__y:=0]
154837 b.b.dly_y[1].dly[0].y : 0 [by b.b.dly_y[1].dly[0].___y:=1]
154857 b.b.neurons[9]._x_a_B : 1 [by b.outx[0].a:=0]
155193 b.b.neurons[1]._x_a_B : 1 [by b.outx[1].a:=0]
155252 b.b.neurons[14]._x_a_B : 1 [by b.outx[2].a:=0]
155985 b.b.dly_y[1].dly[1]._y : 1 [by b.b.dly_y[1].dly[0].y:=0]
157146 b.b.dly_y[1].dly[1].__y : 0 [by b.b.dly_y[1].dly[1]._y:=1]
157244 b.b.neurons[7]._y_a_B : 1 [by b.outy[2].a:=0]
159654 b.b.keep_y[3]._y : X [by b.outy[3].r:=0]
159735 b.b.keep_y[3]._y : 1 [by b.outy[3].r:=0]
160819 b.b.dly_x[2].dly[1]._y : 1 [by b.b.dly_x[2].dly[0].y:=0]
160955 b.b.dly_x[0].dly[0].___y : 1 [by b.b.dly_x[0].dly[0].__y:=0]
163192 b.b.neurons[6]._y_a_B : 1 [by b.outy[2].a:=0]
165026 b.outy[0].r : 0 [by b.b.neurons[0].pu_y.a:=1]
165118 b.b.keep_y[0]._y : 1 [by b.outy[0].r:=0]
165180 b.b.keep_x[0]._y : X [by b.outx[0].r:=0]
165798 b.b.dly_y[1].dly[1].___y : 1 [by b.b.dly_y[1].dly[1].__y:=0]
167542 b.b.dly_y[1].dly[1].y : 0 [by b.b.dly_y[1].dly[1].___y:=1]
168155 b.b.dly_y[1].dly[2]._y : 1 [by b.b.dly_y[1].dly[1].y:=0]
168278 b.b.dly_x[1].dly[0].__y : 0 [by b.b.dly_x[1].dly[0]._y:=1]
168323 b.b.dly_x[1].dly[0].___y : 1 [by b.b.dly_x[1].dly[0].__y:=0]
169320 b.b.dly_x[1].dly[0].y : 0 [by b.b.dly_x[1].dly[0].___y:=1]
170339 b.b.neurons[8]._x_a_B : 1 [by b.outx[2].a:=0]
170969 b.b.dly_x[1].dly[1]._y : 1 [by b.b.dly_x[1].dly[0].y:=0]
171494 b.b.dly_x[1].dly[1].__y : 0 [by b.b.dly_x[1].dly[1]._y:=1]
171896 b.b.dly_x[2].dly[1].__y : 0 [by b.b.dly_x[2].dly[1]._y:=1]
171948 b.b.dly_x[2].dly[1].___y : 1 [by b.b.dly_x[2].dly[1].__y:=0]
171955 b.b.dly_x[2].dly[1].y : 0 [by b.b.dly_x[2].dly[1].___y:=1]
172270 b.b.dly_y[2].dly[0]._y : 1 [by b.outy[2].a:=0]
172394 b.b.dly_x[1].dly[1].___y : 1 [by b.b.dly_x[1].dly[1].__y:=0]
172396 b.b.dly_x[1].dly[1].y : 0 [by b.b.dly_x[1].dly[1].___y:=1]
172750 b.b.dly_x[1].dly[2]._y : 1 [by b.b.dly_x[1].dly[1].y:=0]
172883 b.b.dly_x[1].dly[2].__y : 0 [by b.b.dly_x[1].dly[2]._y:=1]
172884 b.b.dly_x[1].dly[2].___y : 1 [by b.b.dly_x[1].dly[2].__y:=0]
172888 b.b.dly_x[1].dly[2].y : 0 [by b.b.dly_x[1].dly[2].___y:=1]
173434 b.b.dly_x[1].dly[3]._y : 1 [by b.b.dly_x[1].dly[2].y:=0]
173491 b.b.keep_x[0]._y : 1 [by b.outx[0].r:=0]
174668 b.b.neurons[3]._x_a_B : 1 [by b.outx[0].a:=0]
178737 b.b.dly_y[2].dly[0].__y : 0 [by b.b.dly_y[2].dly[0]._y:=1]
178738 b.b.dly_y[2].dly[0].___y : 1 [by b.b.dly_y[2].dly[0].__y:=0]
178938 b.b.dly_x[0].dly[0].y : 0 [by b.b.dly_x[0].dly[0].___y:=1]
179017 b.b.dly_x[0].dly[1]._y : 1 [by b.b.dly_x[0].dly[0].y:=0]
181450 b.b.dly_x[0].dly[1].__y : 0 [by b.b.dly_x[0].dly[1]._y:=1]
181538 b.b.dly_x[0].dly[1].___y : 1 [by b.b.dly_x[0].dly[1].__y:=0]
182177 b.b.dly_y[1].dly[2].__y : 0 [by b.b.dly_y[1].dly[2]._y:=1]
183531 b.b.dly_y[0].dly[1].___y : 1 [by b.b.dly_y[0].dly[1].__y:=0]
183590 b.b.dly_y[0].dly[1].y : 0 [by b.b.dly_y[0].dly[1].___y:=1]
183620 b.b.dly_y[0].dly[2]._y : 1 [by b.b.dly_y[0].dly[1].y:=0]
185087 b.b.dly_y[0].dly[2].__y : 0 [by b.b.dly_y[0].dly[2]._y:=1]
187567 b.b.dly_x[2].dly[2]._y : 1 [by b.b.dly_x[2].dly[1].y:=0]
188581 b.b.neurons[1]._y_a_B : 1 [by b.outy[0].a:=0]
189320 b.b.dly_x[0].dly[1].y : 0 [by b.b.dly_x[0].dly[1].___y:=1]
190005 b.b.dly_x[0].dly[2]._y : 1 [by b.b.dly_x[0].dly[1].y:=0]
190778 b.b.neurons[8]._y_a_B : 1 [by b.outy[2].a:=0]
191116 b.b.dly_y[2].dly[0].y : 0 [by b.b.dly_y[2].dly[0].___y:=1]
191243 b.b.dly_y[2].dly[1]._y : 1 [by b.b.dly_y[2].dly[0].y:=0]
191412 b.b.dly_y[2].dly[1].__y : 0 [by b.b.dly_y[2].dly[1]._y:=1]
191455 b.b.dly_y[2].dly[1].___y : 1 [by b.b.dly_y[2].dly[1].__y:=0]
191467 b.b.dly_y[2].dly[1].y : 0 [by b.b.dly_y[2].dly[1].___y:=1]
192746 b.b.dly_y[2].dly[2]._y : 1 [by b.b.dly_y[2].dly[1].y:=0]
192979 b.b.dly_y[2].dly[2].__y : 0 [by b.b.dly_y[2].dly[2]._y:=1]
192982 b.b.dly_y[2].dly[2].___y : 1 [by b.b.dly_y[2].dly[2].__y:=0]
193020 b.b.dly_y[2].dly[2].y : 0 [by b.b.dly_y[2].dly[2].___y:=1]
193021 b.b.dly_y[2].dly[3]._y : 1 [by b.b.dly_y[2].dly[2].y:=0]
196299 b.b.neurons[13]._x_a_B : 1 [by b.outx[1].a:=0]
197671 b.b.neurons[12]._y_a_B : 1 [by b.outy[4].a:=0]
198412 b.b.dly_y[3].dly[0]._y : 1 [by b.outy[3].a:=0]
198504 b.b.dly_y[3].dly[0].__y : 0 [by b.b.dly_y[3].dly[0]._y:=1]
201231 b.b.dly_y[3].dly[0].___y : 1 [by b.b.dly_y[3].dly[0].__y:=0]
201233 b.b.dly_y[3].dly[0].y : 0 [by b.b.dly_y[3].dly[0].___y:=1]
201234 b.b.dly_y[3].dly[1]._y : 1 [by b.b.dly_y[3].dly[0].y:=0]
202735 b.b.dly_y[3].dly[1].__y : 0 [by b.b.dly_y[3].dly[1]._y:=1]
202737 b.b.dly_y[3].dly[1].___y : 1 [by b.b.dly_y[3].dly[1].__y:=0]
202755 b.b.dly_y[3].dly[1].y : 0 [by b.b.dly_y[3].dly[1].___y:=1]
202874 b.b.dly_y[3].dly[2]._y : 1 [by b.b.dly_y[3].dly[1].y:=0]
204275 b.b.dly_y[4].dly[1].y : 0 [by b.b.dly_y[4].dly[1].___y:=1]
204283 b.b.dly_y[4].dly[2]._y : 1 [by b.b.dly_y[4].dly[1].y:=0]
204337 b.b.dly_y[4].dly[2].__y : 0 [by b.b.dly_y[4].dly[2]._y:=1]
205773 b.b.dly_y[2].dly[3].__y : 0 [by b.b.dly_y[2].dly[3]._y:=1]
205778 b.b.dly_y[2].dly[3].___y : 1 [by b.b.dly_y[2].dly[3].__y:=0]
206720 b.b.dly_x[0].dly[2].__y : 0 [by b.b.dly_x[0].dly[2]._y:=1]
206721 b.b.dly_x[0].dly[2].___y : 1 [by b.b.dly_x[0].dly[2].__y:=0]
206845 b.b.dly_y[2].dly[3].y : 0 [by b.b.dly_y[2].dly[3].___y:=1]
206846 b.b.dly_y[2].dly[4]._y : 1 [by b.b.dly_y[2].dly[3].y:=0]
206859 b.b.dly_x[0].dly[2].y : 0 [by b.b.dly_x[0].dly[2].___y:=1]
206910 b.b.dly_y[2].dly[4].__y : 0 [by b.b.dly_y[2].dly[4]._y:=1]
206912 b.b.dly_y[2].dly[4].___y : 1 [by b.b.dly_y[2].dly[4].__y:=0]
206949 b.b.pd_y[2].in : 0 [by b.b.dly_y[2].dly[4].___y:=1]
206951 b.b.dly_x[2].dly[2].__y : 0 [by b.b.dly_x[2].dly[2]._y:=1]
206982 b.b.dly_x[0].dly[3]._y : 1 [by b.b.dly_x[0].dly[2].y:=0]
207002 b.b.dly_x[2].dly[2].___y : 1 [by b.b.dly_x[2].dly[2].__y:=0]
207013 b.b.dly_x[2].dly[2].y : 0 [by b.b.dly_x[2].dly[2].___y:=1]
207014 b.b.dly_x[2].dly[3]._y : 1 [by b.b.dly_x[2].dly[2].y:=0]
207023 b.b.dly_x[2].dly[3].__y : 0 [by b.b.dly_x[2].dly[3]._y:=1]
207048 b.b.dly_x[2].dly[3].___y : 1 [by b.b.dly_x[2].dly[3].__y:=0]
207092 b.b.pd_y[2].buf1._y : 1 [by b.b.pd_y[2].in:=0]
207424 b.b.dly_x[0].dly[3].__y : 0 [by b.b.dly_x[0].dly[3]._y:=1]
207569 b.b.dly_x[0].dly[3].___y : 1 [by b.b.dly_x[0].dly[3].__y:=0]
208594 b.b.dly_y[3].dly[2].__y : 0 [by b.b.dly_y[3].dly[2]._y:=1]
208824 b.b.dly_y[3].dly[2].___y : 1 [by b.b.dly_y[3].dly[2].__y:=0]
209515 b.b.dly_y[3].dly[2].y : 0 [by b.b.dly_y[3].dly[2].___y:=1]
209529 b.b.dly_y[3].dly[3]._y : 1 [by b.b.dly_y[3].dly[2].y:=0]
210255 b.outy[2].r : 0
210504 b.b.dly_y[1].dly[2].___y : 1 [by b.b.dly_y[1].dly[2].__y:=0]
210613 b.b.pd_y[2]._out : 0 [by b.b.pd_y[2].buf1._y:=1]
210624 b.b.pd_y[2].buf2._y : 1 [by b.b.pd_y[2]._out:=0]
210625 b.b.pd_y[2].__out : 0 [by b.b.pd_y[2].buf2._y:=1]
210626 b.b.pd_y[2].inv.y : 1 [by b.b.pd_y[2].__out:=0]
211072 b.b.dly_y[3].dly[3].__y : 0 [by b.b.dly_y[3].dly[3]._y:=1]
211866 b.b.keep_y[2]._y : 1 [by b.outy[2].r:=0]
217301 b.b.dly_x[2].dly[3].y : 0 [by b.b.dly_x[2].dly[3].___y:=1]
217573 b.b.dly_y[3].dly[3].___y : 1 [by b.b.dly_y[3].dly[3].__y:=0]
217940 b.b.dly_x[2].dly[4]._y : 1 [by b.b.dly_x[2].dly[3].y:=0]
218072 b.b.dly_x[2].dly[4].__y : 0 [by b.b.dly_x[2].dly[4]._y:=1]
218073 b.b.dly_x[2].dly[4].___y : 1 [by b.b.dly_x[2].dly[4].__y:=0]
218090 b.b.pd_x[2].in : 0 [by b.b.dly_x[2].dly[4].___y:=1]
218242 b.b.pd_x[2].buf1._y : 1 [by b.b.pd_x[2].in:=0]
218997 b.b.dly_x[1].dly[3].__y : 0 [by b.b.dly_x[1].dly[3]._y:=1]
219000 b.b.dly_x[1].dly[3].___y : 1 [by b.b.dly_x[1].dly[3].__y:=0]
219366 b.b.dly_y[3].dly[3].y : 0 [by b.b.dly_y[3].dly[3].___y:=1]
219372 b.b.dly_y[3].dly[4]._y : 1 [by b.b.dly_y[3].dly[3].y:=0]
219424 b.b.dly_x[1].dly[3].y : 0 [by b.b.dly_x[1].dly[3].___y:=1]
221225 b.b.pd_x[2]._out : 0 [by b.b.pd_x[2].buf1._y:=1]
221885 b.b.dly_x[1].dly[4]._y : 1 [by b.b.dly_x[1].dly[3].y:=0]
221960 b.b.dly_y[3].dly[4].__y : 0 [by b.b.dly_y[3].dly[4]._y:=1]
221962 b.b.dly_y[3].dly[4].___y : 1 [by b.b.dly_y[3].dly[4].__y:=0]
222055 b.b.pd_x[2].buf2._y : 1 [by b.b.pd_x[2]._out:=0]
222156 b.b.pd_y[3].in : 0 [by b.b.dly_y[3].dly[4].___y:=1]
222294 b.b.pd_y[3].buf1._y : 1 [by b.b.pd_y[3].in:=0]
222311 b.b.pd_y[3]._out : 0 [by b.b.pd_y[3].buf1._y:=1]
222328 b.b.pd_y[3].buf2._y : 1 [by b.b.pd_y[3]._out:=0]
222658 b.b.pd_x[2].__out : 0 [by b.b.pd_x[2].buf2._y:=1]
222659 b.b.pd_x[2].inv.y : 1 [by b.b.pd_x[2].__out:=0]
222754 b.b.pd_y[3].__out : 0 [by b.b.pd_y[3].buf2._y:=1]
222755 b.b.pd_y[3].inv.y : 1 [by b.b.pd_y[3].__out:=0]
223737 b.b.dly_x[0].dly[3].y : 0 [by b.b.dly_x[0].dly[3].___y:=1]
224763 b.b.dly_x[0].dly[4]._y : 1 [by b.b.dly_x[0].dly[3].y:=0]
224764 b.b.dly_x[0].dly[4].__y : 0 [by b.b.dly_x[0].dly[4]._y:=1]
224783 b.b.dly_x[0].dly[4].___y : 1 [by b.b.dly_x[0].dly[4].__y:=0]
224951 b.b.pd_x[0].in : 0 [by b.b.dly_x[0].dly[4].___y:=1]
225490 b.b.pd_x[0].buf1._y : 1 [by b.b.pd_x[0].in:=0]
225651 b.b.pd_x[0]._out : 0 [by b.b.pd_x[0].buf1._y:=1]
225824 b.b.pd_x[0].buf2._y : 1 [by b.b.pd_x[0]._out:=0]
228016 b.b.dly_y[1].dly[2].y : 0 [by b.b.dly_y[1].dly[2].___y:=1]
228371 b.b.pd_x[0].__out : 0 [by b.b.pd_x[0].buf2._y:=1]
228372 b.b.pd_x[0].inv.y : 1 [by b.b.pd_x[0].__out:=0]
243077 b.b.dly_y[1].dly[3]._y : 1 [by b.b.dly_y[1].dly[2].y:=0]
243078 b.b.dly_y[1].dly[3].__y : 0 [by b.b.dly_y[1].dly[3]._y:=1]
243468 b.b.dly_y[1].dly[3].___y : 1 [by b.b.dly_y[1].dly[3].__y:=0]
243675 b.b.dly_y[1].dly[3].y : 0 [by b.b.dly_y[1].dly[3].___y:=1]
244508 b.b.dly_y[1].dly[4]._y : 1 [by b.b.dly_y[1].dly[3].y:=0]
244536 b.b.dly_y[1].dly[4].__y : 0 [by b.b.dly_y[1].dly[4]._y:=1]
244543 b.b.dly_y[1].dly[4].___y : 1 [by b.b.dly_y[1].dly[4].__y:=0]
244591 b.b.dly_y[0].dly[2].___y : 1 [by b.b.dly_y[0].dly[2].__y:=0]
244595 b.b.dly_y[0].dly[2].y : 0 [by b.b.dly_y[0].dly[2].___y:=1]
244817 b.b.dly_x[1].dly[4].__y : 0 [by b.b.dly_x[1].dly[4]._y:=1]
244957 b.b.pd_y[1].in : 0 [by b.b.dly_y[1].dly[4].___y:=1]
245123 b.b.pd_y[1].buf1._y : 1 [by b.b.pd_y[1].in:=0]
246374 b.b.dly_y[0].dly[3]._y : 1 [by b.b.dly_y[0].dly[2].y:=0]
254875 b.b.dly_y[4].dly[2].___y : 1 [by b.b.dly_y[4].dly[2].__y:=0]
255019 b.b.dly_y[0].dly[3].__y : 0 [by b.b.dly_y[0].dly[3]._y:=1]
255808 b.b.dly_y[4].dly[2].y : 0 [by b.b.dly_y[4].dly[2].___y:=1]
255875 b.b.dly_y[0].dly[3].___y : 1 [by b.b.dly_y[0].dly[3].__y:=0]
255947 b.b.dly_y[4].dly[3]._y : 1 [by b.b.dly_y[4].dly[2].y:=0]
256142 b.b.dly_y[4].dly[3].__y : 0 [by b.b.dly_y[4].dly[3]._y:=1]
256144 b.b.dly_y[4].dly[3].___y : 1 [by b.b.dly_y[4].dly[3].__y:=0]
267691 b.b.dly_x[1].dly[4].___y : 1 [by b.b.dly_x[1].dly[4].__y:=0]
267697 b.b.pd_x[1].in : 0 [by b.b.dly_x[1].dly[4].___y:=1]
267951 b.b.pd_x[1].buf1._y : 1 [by b.b.pd_x[1].in:=0]
267959 b.b.pd_x[1]._out : 0 [by b.b.pd_x[1].buf1._y:=1]
267960 b.b.pd_x[1].buf2._y : 1 [by b.b.pd_x[1]._out:=0]
267966 b.b.pd_x[1].__out : 0 [by b.b.pd_x[1].buf2._y:=1]
282084 b.b.dly_y[0].dly[3].y : 0 [by b.b.dly_y[0].dly[3].___y:=1]
284993 b.b.pd_y[1]._out : 0 [by b.b.pd_y[1].buf1._y:=1]
285174 b.b.dly_y[0].dly[4]._y : 1 [by b.b.dly_y[0].dly[3].y:=0]
285219 b.b.pd_y[1].buf2._y : 1 [by b.b.pd_y[1]._out:=0]
285220 b.b.pd_y[1].__out : 0 [by b.b.pd_y[1].buf2._y:=1]
285226 b.b.pd_y[1].inv.y : 1 [by b.b.pd_y[1].__out:=0]
285993 b.b.dly_y[0].dly[4].__y : 0 [by b.b.dly_y[0].dly[4]._y:=1]
285995 b.b.dly_y[0].dly[4].___y : 1 [by b.b.dly_y[0].dly[4].__y:=0]
289557 b.b.pd_y[0].in : 0 [by b.b.dly_y[0].dly[4].___y:=1]
289572 b.b.pd_y[0].buf1._y : 1 [by b.b.pd_y[0].in:=0]
309593 b.b.dly_y[4].dly[3].y : 0 [by b.b.dly_y[4].dly[3].___y:=1]
309700 b.b.dly_y[4].dly[4]._y : 1 [by b.b.dly_y[4].dly[3].y:=0]
309793 b.b.dly_y[4].dly[4].__y : 0 [by b.b.dly_y[4].dly[4]._y:=1]
310373 b.b.pd_y[0]._out : 0 [by b.b.pd_y[0].buf1._y:=1]
311445 b.b.dly_y[4].dly[4].___y : 1 [by b.b.dly_y[4].dly[4].__y:=0]
312203 b.b.pd_y[4].in : 0 [by b.b.dly_y[4].dly[4].___y:=1]
314312 b.b.pd_y[0].buf2._y : 1 [by b.b.pd_y[0]._out:=0]
314826 b.b.pd_y[4].buf1._y : 1 [by b.b.pd_y[4].in:=0]
314827 b.b.pd_y[4]._out : 0 [by b.b.pd_y[4].buf1._y:=1]
315028 b.b.pd_y[0].__out : 0 [by b.b.pd_y[0].buf2._y:=1]
315029 b.b.pd_y[0].inv.y : 1 [by b.b.pd_y[0].__out:=0]
316567 b.b.pd_y[4].buf2._y : 1 [by b.b.pd_y[4]._out:=0]
319002 b.b.pd_x[1].inv.y : 1 [by b.b.pd_x[1].__out:=0]
328719 b.b.pd_y[4].__out : 0 [by b.b.pd_y[4].buf2._y:=1]
356918 b.b.pd_y[4].inv.y : 1 [by b.b.pd_y[4].__out:=0]
[] set Reset 1
[] set Reset 0
356918 Reset : 0
356919 b._reset_B : 1 [by Reset:=0]
356920 b.b.rsbx.buf2._y : 0 [by b._reset_B:=1]
356925 b.b.rsb_pd_x.buf1._y : 0 [by b._reset_B:=1]
356947 b.b.pd_x[0].reset_B : 1 [by b.b.rsb_pd_x.buf1._y:=0]
356954 b.b.pd_x[2].nand_out : 0 [by b.b.pd_x[0].reset_B:=1]
357012 b.b.pd_x[1].nand_out : 0 [by b.b.pd_x[0].reset_B:=1]
378519 b.b.rsb[0].in : 1 [by b.b.rsbx.buf2._y:=0]
378520 b.b.rsb[3].buf1._y : 0 [by b.b.rsb[0].in:=1]
378521 b.b.rsb[3].out[0] : 1 [by b.b.rsb[3].buf1._y:=0]
378522 b.b.neurons[10].reset_buf._y : 0 [by b.b.rsb[3].out[0]:=1]
378532 b.b.rsb[0].buf1._y : 0 [by b.b.rsb[0].in:=1]
378560 b.b.rsb[2].buf1._y : 0 [by b.b.rsb[0].in:=1]
378623 b.b.rsb[1].buf1._y : 0 [by b.b.rsb[0].in:=1]
379386 b.b.rsb[2].out[0] : 1 [by b.b.rsb[2].buf1._y:=0]
379444 b.b.neurons[6].reset_buf._y : 0 [by b.b.rsb[2].out[0]:=1]
379455 b.b.pd_x[0].nand_out : 0 [by b.b.pd_x[0].reset_B:=1]
379643 b.b.rsb[4].buf1._y : 0 [by b.b.rsb[0].in:=1]
380456 b.b.rsb[1].out[0] : 1 [by b.b.rsb[1].buf1._y:=0]
380470 b.b.neurons[5].reset_buf._y : 0 [by b.b.rsb[1].out[0]:=1]
380575 b.b.neurons[5]._reset_BX : 1 [by b.b.neurons[5].reset_buf._y:=0]
380812 b.b.neurons[3].reset_buf._y : 0 [by b.b.rsb[1].out[0]:=1]
380921 b.b.neurons[3]._reset_BX : 1 [by b.b.neurons[3].reset_buf._y:=0]
381668 b.b.rsb[0].out[0] : 1 [by b.b.rsb[0].buf1._y:=0]
381669 b.b.neurons[2].reset_buf._y : 0 [by b.b.rsb[0].out[0]:=1]
381670 b.b.neurons[2]._reset_BX : 1 [by b.b.neurons[2].reset_buf._y:=0]
381677 b.b.neurons[0].reset_buf._y : 0 [by b.b.rsb[0].out[0]:=1]
381829 b.b.neurons[7].reset_buf._y : 0 [by b.b.rsb[2].out[0]:=1]
381830 b.b.neurons[7]._reset_BX : 1 [by b.b.neurons[7].reset_buf._y:=0]
391693 b.b.neurons[9].reset_buf._y : 0 [by b.b.rsb[3].out[0]:=1]
394782 b.b.neurons[9]._reset_BX : 1 [by b.b.neurons[9].reset_buf._y:=0]
395934 b.b.neurons[8].reset_buf._y : 0 [by b.b.rsb[2].out[0]:=1]
396217 b.b.neurons[6]._reset_BX : 1 [by b.b.neurons[6].reset_buf._y:=0]
396408 b.b.rsb_pd_y.buf2._y : 0 [by b._reset_B:=1]
397158 b.b.pd_y[0].reset_B : 1 [by b.b.rsb_pd_y.buf2._y:=0]
397168 b.b.pd_y[1].nand_out : 0 [by b.b.pd_y[0].reset_B:=1]
397209 b.b.pd_y[4].nand_out : 0 [by b.b.pd_y[0].reset_B:=1]
397478 b.b.pd_y[2].nand_out : 0 [by b.b.pd_y[0].reset_B:=1]
398347 b.b.neurons[10]._reset_BX : 1 [by b.b.neurons[10].reset_buf._y:=0]
403913 b.b.pd_y[0].nand_out : 0 [by b.b.pd_y[0].reset_B:=1]
404740 b.b.pd_y[3].nand_out : 0 [by b.b.pd_y[0].reset_B:=1]
416294 b.b.neurons[4].reset_buf._y : 0 [by b.b.rsb[1].out[0]:=1]
416295 b.b.neurons[4]._reset_BX : 1 [by b.b.neurons[4].reset_buf._y:=0]
416842 b.b.rsb[4].out[0] : 1 [by b.b.rsb[4].buf1._y:=0]
416843 b.b.neurons[14].reset_buf._y : 0 [by b.b.rsb[4].out[0]:=1]
416858 b.b.neurons[14]._reset_BX : 1 [by b.b.neurons[14].reset_buf._y:=0]
418071 b.b.neurons[0]._reset_BX : 1 [by b.b.neurons[0].reset_buf._y:=0]
418529 b.b.neurons[13].reset_buf._y : 0 [by b.b.rsb[4].out[0]:=1]
418572 b.b.neurons[12].reset_buf._y : 0 [by b.b.rsb[4].out[0]:=1]
419026 b.b.neurons[12]._reset_BX : 1 [by b.b.neurons[12].reset_buf._y:=0]
419621 b.b.neurons[1].reset_buf._y : 0 [by b.b.rsb[0].out[0]:=1]
419937 b.b.neurons[1]._reset_BX : 1 [by b.b.neurons[1].reset_buf._y:=0]
442803 b.b.neurons[13]._reset_BX : 1 [by b.b.neurons[13].reset_buf._y:=0]
442899 b.b.neurons[11].reset_buf._y : 0 [by b.b.rsb[3].out[0]:=1]
442900 b.b.neurons[11]._reset_BX : 1 [by b.b.neurons[11].reset_buf._y:=0]
444660 b.b.neurons[8]._reset_BX : 1 [by b.b.neurons[8].reset_buf._y:=0]
[] Neurons 0,1,3 spike
444660 b.in[0].r : 1
444660 b.in[3].r : 1
444660 b.in[1].r : 1
444680 b.b.neurons[1].A_req._y : 0 [by b.in[1].r:=1]
445043 b.b.neurons[0].A_req._y : 0 [by b.in[0].r:=1]
445130 b.b.neurons[0]._req : 1 [by b.b.neurons[0].A_req._y:=0]
445142 b.b.neurons[0].A_ack._y : 0 [by b.b.neurons[0]._req:=1]
445287 b.in[0].a : 1 [by b.b.neurons[0].A_ack._y:=0]
446003 b.b.neurons[1]._req : 1 [by b.b.neurons[1].A_req._y:=0]
446188 b.b.neurons[0]._en : 0 [by b.in[0].a:=1]
446222 b.b.neurons[1].A_ack._y : 0 [by b.b.neurons[1]._req:=1]
447352 b.b.neurons[1].pu_y.a : 0 [by b.b.neurons[1]._req:=1]
451852 b.b.neurons[0].pu_y.a : 0 [by b.b.neurons[0]._req:=1]
452123 b.b.neurons[3].A_req._y : 0 [by b.in[3].r:=1]
452141 b.b.neurons[3]._req : 1 [by b.b.neurons[3].A_req._y:=0]
454335 b.b.neurons[3].pu_y.a : 0 [by b.b.neurons[3]._req:=1]
454455 b.outy[1].r : 1 [by b.b.neurons[3].pu_y.a:=0]
454553 b.in[1].a : 1 [by b.b.neurons[1].A_ack._y:=0]
456617 b.b.neurons[1]._en : 0 [by b.in[1].a:=1]
460770 b.b.keep_y[1]._y : 0 [by b.outy[1].r:=1]
478933 b.outy[0].r : 1 [by b.b.neurons[1].pu_y.a:=0]
479525 b.b.keep_y[0]._y : 0 [by b.outy[0].r:=1]
490113 b.b.neurons[3].A_ack._y : 0 [by b.b.neurons[3]._req:=1]
490120 b.in[3].a : 1 [by b.b.neurons[3].A_ack._y:=0]
490121 b.b.neurons[3]._en : 0 [by b.in[3].a:=1]
[] removing in reqs
490121 b.in[0].r : 0
490121 b.in[3].r : 0
490121 b.in[1].r : 0
490245 b.b.neurons[0].A_ack._y : 1 [by b.in[0].r:=0]
490605 b.in[0].a : 0 [by b.b.neurons[0].A_ack._y:=1]
491173 b.b.neurons[1].A_ack._y : 1 [by b.in[1].r:=0]
496051 b.b.neurons[3].A_ack._y : 1 [by b.in[3].r:=0]
497148 b.in[3].a : 0 [by b.b.neurons[3].A_ack._y:=1]
501367 b.in[1].a : 0 [by b.b.neurons[1].A_ack._y:=1]
[] y0 chosen, give ack
501367 b.outy[0].a : 1
501371 b.b.neurons[0]._y_a_B : 0 [by b.outy[0].a:=1]
501627 b.b.neurons[0].pu_y.a : 1 [by b.b.neurons[0]._y_a_B:=0]
504748 b.b.neurons[2]._y_a_B : 0 [by b.outy[0].a:=1]
513031 b.b.neurons[0].pu_x.a : 0 [by b.outy[0].a:=1]
519028 b.b.neurons[1].pu_x.a : 0 [by b.outy[0].a:=1]
519065 b.outx[1].r : 1 [by b.b.neurons[1].pu_x.a:=0]
519077 b.b.keep_x[1]._y : 0 [by b.outx[1].r:=1]
521259 b.b.dly_y[0].dly[0]._y : 0 [by b.outy[0].a:=1]
521268 b.b.dly_y[0].dly[0].__y : 1 [by b.b.dly_y[0].dly[0]._y:=0]
521695 b.b.dly_y[0].dly[0].___y : 0 [by b.b.dly_y[0].dly[0].__y:=1]
521937 b.b.dly_y[0].dly[0].y : 1 [by b.b.dly_y[0].dly[0].___y:=0]
522772 b.b.dly_y[0].dly[1]._y : 0 [by b.b.dly_y[0].dly[0].y:=1]
527961 b.outx[0].r : 1 [by b.b.neurons[0].pu_x.a:=0]
529521 b.b.keep_x[0]._y : 0 [by b.outx[0].r:=1]
539286 b.b.neurons[1]._y_a_B : 0 [by b.outy[0].a:=1]
569508 b.b.dly_y[0].dly[1].__y : 1 [by b.b.dly_y[0].dly[1]._y:=0]
569768 b.b.dly_y[0].dly[1].___y : 0 [by b.b.dly_y[0].dly[1].__y:=1]
576379 b.b.neurons[1].pu_y.a : 1 [by b.b.neurons[1]._y_a_B:=0]
578756 b.b.dly_y[0].dly[1].y : 1 [by b.b.dly_y[0].dly[1].___y:=0]
578757 b.b.dly_y[0].dly[2]._y : 0 [by b.b.dly_y[0].dly[1].y:=1]
614807 b.b.dly_y[0].dly[2].__y : 1 [by b.b.dly_y[0].dly[2]._y:=0]
615191 b.b.dly_y[0].dly[2].___y : 0 [by b.b.dly_y[0].dly[2].__y:=1]
615210 b.b.dly_y[0].dly[2].y : 1 [by b.b.dly_y[0].dly[2].___y:=0]
615219 b.b.dly_y[0].dly[3]._y : 0 [by b.b.dly_y[0].dly[2].y:=1]
637173 b.b.dly_y[0].dly[3].__y : 1 [by b.b.dly_y[0].dly[3]._y:=0]
637361 b.b.dly_y[0].dly[3].___y : 0 [by b.b.dly_y[0].dly[3].__y:=1]
683137 b.b.dly_y[0].dly[3].y : 1 [by b.b.dly_y[0].dly[3].___y:=0]
686737 b.b.dly_y[0].dly[4]._y : 0 [by b.b.dly_y[0].dly[3].y:=1]
686885 b.b.dly_y[0].dly[4].__y : 1 [by b.b.dly_y[0].dly[4]._y:=0]
705762 b.b.dly_y[0].dly[4].___y : 0 [by b.b.dly_y[0].dly[4].__y:=1]
705777 b.b.pd_y[0].in : 1 [by b.b.dly_y[0].dly[4].___y:=0]
716386 b.b.pd_y[0].buf1._y : 0 [by b.b.pd_y[0].in:=1]
717273 b.b.pd_y[0]._out : 1 [by b.b.pd_y[0].buf1._y:=0]
725255 b.b.pd_y[0].buf2._y : 0 [by b.b.pd_y[0]._out:=1]
725256 b.b.pd_y[0].__out : 1 [by b.b.pd_y[0].buf2._y:=0]
731982 b.b.pd_y[0].inv.y : 0 [by b.b.pd_y[0].__out:=1]
732347 b.b.pd_y[0].nand_out : 1 [by b.b.pd_y[0].inv.y:=0]
741305 b.outy[0].r : 0 [by b.b.pd_y[0].nand_out:=1]
742689 b.b.keep_y[0]._y : 1 [by b.outy[0].r:=0]
[] x0 chosen, give ack
742689 b.outx[0].a : 1
742692 b.b.neurons[6]._x_a_B : 0 [by b.outx[0].a:=1]
742710 b.b.neurons[0]._x_a_B : 0 [by b.outx[0].a:=1]
742712 b.b.neurons[0].pu_x.a : 1 [by b.b.neurons[0]._x_a_B:=0]
742713 b.b.neurons[0].A_req._y : 1 [by b.b.neurons[0]._x_a_B:=0]
742714 b.b.neurons[0]._req : 0 [by b.b.neurons[0].A_req._y:=1]
742730 b.b.neurons[3]._x_a_B : 0 [by b.outx[0].a:=1]
743271 b.b.dly_x[0].dly[0]._y : 0 [by b.outx[0].a:=1]
744566 b.b.neurons[9]._x_a_B : 0 [by b.outx[0].a:=1]
746166 b.b.neurons[0]._en : 1 [by b.b.neurons[0]._req:=0]
750404 b.b.dly_x[0].dly[0].__y : 1 [by b.b.dly_x[0].dly[0]._y:=0]
751264 b.b.dly_x[0].dly[0].___y : 0 [by b.b.dly_x[0].dly[0].__y:=1]
751265 b.b.dly_x[0].dly[0].y : 1 [by b.b.dly_x[0].dly[0].___y:=0]
751340 b.b.dly_x[0].dly[1]._y : 0 [by b.b.dly_x[0].dly[0].y:=1]
752198 b.b.neurons[12]._x_a_B : 0 [by b.outx[0].a:=1]
779291 b.b.dly_x[0].dly[1].__y : 1 [by b.b.dly_x[0].dly[1]._y:=0]
779365 b.b.dly_x[0].dly[1].___y : 0 [by b.b.dly_x[0].dly[1].__y:=1]
781635 b.b.dly_x[0].dly[1].y : 1 [by b.b.dly_x[0].dly[1].___y:=0]
781733 b.b.dly_x[0].dly[2]._y : 0 [by b.b.dly_x[0].dly[1].y:=1]
787504 b.b.dly_x[0].dly[2].__y : 1 [by b.b.dly_x[0].dly[2]._y:=0]
819232 b.b.dly_x[0].dly[2].___y : 0 [by b.b.dly_x[0].dly[2].__y:=1]
823085 b.b.dly_x[0].dly[2].y : 1 [by b.b.dly_x[0].dly[2].___y:=0]
829226 b.b.dly_x[0].dly[3]._y : 0 [by b.b.dly_x[0].dly[2].y:=1]
831586 b.b.dly_x[0].dly[3].__y : 1 [by b.b.dly_x[0].dly[3]._y:=0]
831590 b.b.dly_x[0].dly[3].___y : 0 [by b.b.dly_x[0].dly[3].__y:=1]
831595 b.b.dly_x[0].dly[3].y : 1 [by b.b.dly_x[0].dly[3].___y:=0]
831886 b.b.dly_x[0].dly[4]._y : 0 [by b.b.dly_x[0].dly[3].y:=1]
831980 b.b.dly_x[0].dly[4].__y : 1 [by b.b.dly_x[0].dly[4]._y:=0]
831981 b.b.dly_x[0].dly[4].___y : 0 [by b.b.dly_x[0].dly[4].__y:=1]
832017 b.b.pd_x[0].in : 1 [by b.b.dly_x[0].dly[4].___y:=0]
832019 b.b.pd_x[0].buf1._y : 0 [by b.b.pd_x[0].in:=1]
853837 b.b.pd_x[0]._out : 1 [by b.b.pd_x[0].buf1._y:=0]
853873 b.b.pd_x[0].buf2._y : 0 [by b.b.pd_x[0]._out:=1]
853874 b.b.pd_x[0].__out : 1 [by b.b.pd_x[0].buf2._y:=0]
853888 b.b.pd_x[0].inv.y : 0 [by b.b.pd_x[0].__out:=1]
853900 b.b.pd_x[0].nand_out : 1 [by b.b.pd_x[0].inv.y:=0]
877931 b.outx[0].r : 0 [by b.b.pd_x[0].nand_out:=1]
899488 b.b.keep_x[0]._y : 1 [by b.outx[0].r:=0]
[] remove x ack
899488 b.outx[0].a : 0
899489 b.b.neurons[9]._x_a_B : 1 [by b.outx[0].a:=0]
899700 b.b.neurons[12]._x_a_B : 1 [by b.outx[0].a:=0]
906900 b.b.dly_x[0].dly[0]._y : 1 [by b.outx[0].a:=0]
909833 b.b.dly_x[0].dly[0].__y : 0 [by b.b.dly_x[0].dly[0]._y:=1]
909972 b.b.dly_x[0].dly[0].___y : 1 [by b.b.dly_x[0].dly[0].__y:=0]
909976 b.b.dly_x[0].dly[0].y : 0 [by b.b.dly_x[0].dly[0].___y:=1]
910331 b.b.dly_x[0].dly[1]._y : 1 [by b.b.dly_x[0].dly[0].y:=0]
910409 b.b.dly_x[0].dly[1].__y : 0 [by b.b.dly_x[0].dly[1]._y:=1]
911386 b.b.neurons[3]._x_a_B : 1 [by b.outx[0].a:=0]
912478 b.b.neurons[0]._x_a_B : 1 [by b.outx[0].a:=0]
942438 b.b.neurons[6]._x_a_B : 1 [by b.outx[0].a:=0]
948614 b.b.dly_x[0].dly[1].___y : 1 [by b.b.dly_x[0].dly[1].__y:=0]
948640 b.b.dly_x[0].dly[1].y : 0 [by b.b.dly_x[0].dly[1].___y:=1]
948904 b.b.dly_x[0].dly[2]._y : 1 [by b.b.dly_x[0].dly[1].y:=0]
948965 b.b.dly_x[0].dly[2].__y : 0 [by b.b.dly_x[0].dly[2]._y:=1]
948970 b.b.dly_x[0].dly[2].___y : 1 [by b.b.dly_x[0].dly[2].__y:=0]
949042 b.b.dly_x[0].dly[2].y : 0 [by b.b.dly_x[0].dly[2].___y:=1]
949153 b.b.dly_x[0].dly[3]._y : 1 [by b.b.dly_x[0].dly[2].y:=0]
949172 b.b.dly_x[0].dly[3].__y : 0 [by b.b.dly_x[0].dly[3]._y:=1]
949271 b.b.dly_x[0].dly[3].___y : 1 [by b.b.dly_x[0].dly[3].__y:=0]
949638 b.b.dly_x[0].dly[3].y : 0 [by b.b.dly_x[0].dly[3].___y:=1]
949687 b.b.dly_x[0].dly[4]._y : 1 [by b.b.dly_x[0].dly[3].y:=0]
949722 b.b.dly_x[0].dly[4].__y : 0 [by b.b.dly_x[0].dly[4]._y:=1]
955899 b.b.dly_x[0].dly[4].___y : 1 [by b.b.dly_x[0].dly[4].__y:=0]
960723 b.b.pd_x[0].in : 0 [by b.b.dly_x[0].dly[4].___y:=1]
960751 b.b.pd_x[0].buf1._y : 1 [by b.b.pd_x[0].in:=0]
961738 b.b.pd_x[0]._out : 0 [by b.b.pd_x[0].buf1._y:=1]
982241 b.b.pd_x[0].buf2._y : 1 [by b.b.pd_x[0]._out:=0]
982301 b.b.pd_x[0].__out : 0 [by b.b.pd_x[0].buf2._y:=1]
991871 b.b.pd_x[0].inv.y : 1 [by b.b.pd_x[0].__out:=0]
993974 b.b.pd_x[0].nand_out : 0 [by b.b.pd_x[0].inv.y:=1]
[] x1 remaining, give ack
993974 b.outx[1].a : 1
993975 b.b.neurons[7]._x_a_B : 0 [by b.outx[1].a:=1]
993977 b.b.neurons[13]._x_a_B : 0 [by b.outx[1].a:=1]
1004891 b.b.neurons[4]._x_a_B : 0 [by b.outx[1].a:=1]
1011682 b.b.neurons[1]._x_a_B : 0 [by b.outx[1].a:=1]
1011712 b.b.neurons[1].A_req._y : 1 [by b.b.neurons[1]._x_a_B:=0]
1011718 b.b.neurons[1]._req : 0 [by b.b.neurons[1].A_req._y:=1]
1011719 b.b.neurons[1]._en : 1 [by b.b.neurons[1]._req:=0]
1012638 b.b.dly_x[1].dly[0]._y : 0 [by b.outx[1].a:=1]
1012765 b.b.dly_x[1].dly[0].__y : 1 [by b.b.dly_x[1].dly[0]._y:=0]
1012768 b.b.dly_x[1].dly[0].___y : 0 [by b.b.dly_x[1].dly[0].__y:=1]
1012854 b.b.dly_x[1].dly[0].y : 1 [by b.b.dly_x[1].dly[0].___y:=0]
1013151 b.b.neurons[1].pu_x.a : 1 [by b.b.neurons[1]._x_a_B:=0]
1013786 b.b.dly_x[1].dly[1]._y : 0 [by b.b.dly_x[1].dly[0].y:=1]
1015279 b.b.dly_x[1].dly[1].__y : 1 [by b.b.dly_x[1].dly[1]._y:=0]
1019715 b.b.neurons[10]._x_a_B : 0 [by b.outx[1].a:=1]
1024002 b.b.dly_x[1].dly[1].___y : 0 [by b.b.dly_x[1].dly[1].__y:=1]
1038355 b.b.dly_x[1].dly[1].y : 1 [by b.b.dly_x[1].dly[1].___y:=0]
1038629 b.b.dly_x[1].dly[2]._y : 0 [by b.b.dly_x[1].dly[1].y:=1]
1038630 b.b.dly_x[1].dly[2].__y : 1 [by b.b.dly_x[1].dly[2]._y:=0]
1046781 b.b.dly_x[1].dly[2].___y : 0 [by b.b.dly_x[1].dly[2].__y:=1]
1066626 b.b.dly_x[1].dly[2].y : 1 [by b.b.dly_x[1].dly[2].___y:=0]
1066628 b.b.dly_x[1].dly[3]._y : 0 [by b.b.dly_x[1].dly[2].y:=1]
1066987 b.b.dly_x[1].dly[3].__y : 1 [by b.b.dly_x[1].dly[3]._y:=0]
1069003 b.b.dly_x[1].dly[3].___y : 0 [by b.b.dly_x[1].dly[3].__y:=1]
1093514 b.b.dly_x[1].dly[3].y : 1 [by b.b.dly_x[1].dly[3].___y:=0]
1093516 b.b.dly_x[1].dly[4]._y : 0 [by b.b.dly_x[1].dly[3].y:=1]
1107947 b.b.dly_x[1].dly[4].__y : 1 [by b.b.dly_x[1].dly[4]._y:=0]
1107950 b.b.dly_x[1].dly[4].___y : 0 [by b.b.dly_x[1].dly[4].__y:=1]
1145239 b.b.pd_x[1].in : 1 [by b.b.dly_x[1].dly[4].___y:=0]
1145583 b.b.pd_x[1].buf1._y : 0 [by b.b.pd_x[1].in:=1]
1147366 b.b.pd_x[1]._out : 1 [by b.b.pd_x[1].buf1._y:=0]
1147395 b.b.pd_x[1].buf2._y : 0 [by b.b.pd_x[1]._out:=1]
1147466 b.b.pd_x[1].__out : 1 [by b.b.pd_x[1].buf2._y:=0]
1147828 b.b.pd_x[1].inv.y : 0 [by b.b.pd_x[1].__out:=1]
1147911 b.b.pd_x[1].nand_out : 1 [by b.b.pd_x[1].inv.y:=0]
1196073 b.outx[1].r : 0 [by b.b.pd_x[1].nand_out:=1]
1196180 b.b.keep_x[1]._y : 1 [by b.outx[1].r:=0]
[] remove acks
1196180 b.outx[1].a : 0
1196180 b.outy[0].a : 0
1196181 b.b.neurons[4]._x_a_B : 1 [by b.outx[1].a:=0]
1196181 b.b.neurons[7]._x_a_B : 1 [by b.outx[1].a:=0]
1196183 b.b.neurons[1]._x_a_B : 1 [by b.outx[1].a:=0]
1196192 b.b.dly_x[1].dly[0]._y : 1 [by b.outx[1].a:=0]
1196220 b.b.dly_x[1].dly[0].__y : 0 [by b.b.dly_x[1].dly[0]._y:=1]
1196228 b.b.dly_x[1].dly[0].___y : 1 [by b.b.dly_x[1].dly[0].__y:=0]
1197038 b.b.neurons[13]._x_a_B : 1 [by b.outx[1].a:=0]
1200525 b.b.neurons[10]._x_a_B : 1 [by b.outx[1].a:=0]
1201161 b.b.neurons[2]._y_a_B : 1 [by b.outy[0].a:=0]
1217583 b.b.dly_x[1].dly[0].y : 0 [by b.b.dly_x[1].dly[0].___y:=1]
1229526 b.b.neurons[1]._y_a_B : 1 [by b.outy[0].a:=0]
1232609 b.b.dly_y[0].dly[0]._y : 1 [by b.outy[0].a:=0]
1232874 b.b.dly_y[0].dly[0].__y : 0 [by b.b.dly_y[0].dly[0]._y:=1]
1232953 b.b.dly_y[0].dly[0].___y : 1 [by b.b.dly_y[0].dly[0].__y:=0]
1232961 b.b.dly_y[0].dly[0].y : 0 [by b.b.dly_y[0].dly[0].___y:=1]
1233002 b.b.dly_y[0].dly[1]._y : 1 [by b.b.dly_y[0].dly[0].y:=0]
1233641 b.b.dly_y[0].dly[1].__y : 0 [by b.b.dly_y[0].dly[1]._y:=1]
1247149 b.b.neurons[0]._y_a_B : 1 [by b.outy[0].a:=0]
1251914 b.b.dly_x[1].dly[1]._y : 1 [by b.b.dly_x[1].dly[0].y:=0]
1251931 b.b.dly_x[1].dly[1].__y : 0 [by b.b.dly_x[1].dly[1]._y:=1]
1267196 b.b.dly_y[0].dly[1].___y : 1 [by b.b.dly_y[0].dly[1].__y:=0]
1276209 b.b.dly_x[1].dly[1].___y : 1 [by b.b.dly_x[1].dly[1].__y:=0]
1297821 b.b.dly_x[1].dly[1].y : 0 [by b.b.dly_x[1].dly[1].___y:=1]
1297822 b.b.dly_x[1].dly[2]._y : 1 [by b.b.dly_x[1].dly[1].y:=0]
1297823 b.b.dly_x[1].dly[2].__y : 0 [by b.b.dly_x[1].dly[2]._y:=1]
1298249 b.b.dly_x[1].dly[2].___y : 1 [by b.b.dly_x[1].dly[2].__y:=0]
1298587 b.b.dly_x[1].dly[2].y : 0 [by b.b.dly_x[1].dly[2].___y:=1]
1298713 b.b.dly_x[1].dly[3]._y : 1 [by b.b.dly_x[1].dly[2].y:=0]
1298715 b.b.dly_x[1].dly[3].__y : 0 [by b.b.dly_x[1].dly[3]._y:=1]
1299525 b.b.dly_x[1].dly[3].___y : 1 [by b.b.dly_x[1].dly[3].__y:=0]
1299685 b.b.dly_x[1].dly[3].y : 0 [by b.b.dly_x[1].dly[3].___y:=1]
1312415 b.b.dly_y[0].dly[1].y : 0 [by b.b.dly_y[0].dly[1].___y:=1]
1327516 b.b.dly_x[1].dly[4]._y : 1 [by b.b.dly_x[1].dly[3].y:=0]
1327517 b.b.dly_x[1].dly[4].__y : 0 [by b.b.dly_x[1].dly[4]._y:=1]
1327522 b.b.dly_x[1].dly[4].___y : 1 [by b.b.dly_x[1].dly[4].__y:=0]
1328092 b.b.pd_x[1].in : 0 [by b.b.dly_x[1].dly[4].___y:=1]
1374848 b.b.dly_y[0].dly[2]._y : 1 [by b.b.dly_y[0].dly[1].y:=0]
1376980 b.b.dly_y[0].dly[2].__y : 0 [by b.b.dly_y[0].dly[2]._y:=1]
1376982 b.b.dly_y[0].dly[2].___y : 1 [by b.b.dly_y[0].dly[2].__y:=0]
1377020 b.b.dly_y[0].dly[2].y : 0 [by b.b.dly_y[0].dly[2].___y:=1]
1386708 b.b.pd_x[1].buf1._y : 1 [by b.b.pd_x[1].in:=0]
1386765 b.b.pd_x[1]._out : 0 [by b.b.pd_x[1].buf1._y:=1]
1386766 b.b.pd_x[1].buf2._y : 1 [by b.b.pd_x[1]._out:=0]
1389342 b.b.dly_y[0].dly[3]._y : 1 [by b.b.dly_y[0].dly[2].y:=0]
1389346 b.b.dly_y[0].dly[3].__y : 0 [by b.b.dly_y[0].dly[3]._y:=1]
1389892 b.b.dly_y[0].dly[3].___y : 1 [by b.b.dly_y[0].dly[3].__y:=0]
1389903 b.b.dly_y[0].dly[3].y : 0 [by b.b.dly_y[0].dly[3].___y:=1]
1389915 b.b.dly_y[0].dly[4]._y : 1 [by b.b.dly_y[0].dly[3].y:=0]
1391598 b.b.dly_y[0].dly[4].__y : 0 [by b.b.dly_y[0].dly[4]._y:=1]
1395486 b.b.pd_x[1].__out : 0 [by b.b.pd_x[1].buf2._y:=1]
1396354 b.b.pd_x[1].inv.y : 1 [by b.b.pd_x[1].__out:=0]
1412802 b.b.pd_x[1].nand_out : 0 [by b.b.pd_x[1].inv.y:=1]
1419766 b.b.dly_y[0].dly[4].___y : 1 [by b.b.dly_y[0].dly[4].__y:=0]
1419786 b.b.pd_y[0].in : 0 [by b.b.dly_y[0].dly[4].___y:=1]
1422426 b.b.pd_y[0].buf1._y : 1 [by b.b.pd_y[0].in:=0]
1451134 b.b.pd_y[0]._out : 0 [by b.b.pd_y[0].buf1._y:=1]
1453563 b.b.pd_y[0].buf2._y : 1 [by b.b.pd_y[0]._out:=0]
1456439 b.b.pd_y[0].__out : 0 [by b.b.pd_y[0].buf2._y:=1]
1458573 b.b.pd_y[0].inv.y : 1 [by b.b.pd_y[0].__out:=0]
1483536 b.b.pd_y[0].nand_out : 0 [by b.b.pd_y[0].inv.y:=1]
[] y1 remaining, give ack
1483536 b.outy[1].a : 1
1483558 b.b.neurons[4]._y_a_B : 0 [by b.outy[1].a:=1]
1483662 b.b.neurons[5]._y_a_B : 0 [by b.outy[1].a:=1]
1484027 b.b.dly_y[1].dly[0]._y : 0 [by b.outy[1].a:=1]
1484045 b.b.dly_y[1].dly[0].__y : 1 [by b.b.dly_y[1].dly[0]._y:=0]
1484046 b.b.dly_y[1].dly[0].___y : 0 [by b.b.dly_y[1].dly[0].__y:=1]
1489497 b.b.neurons[3].pu_x.a : 0 [by b.outy[1].a:=1]
1489551 b.outx[0].r : 1 [by b.b.neurons[3].pu_x.a:=0]
1489577 b.b.keep_x[0]._y : 0 [by b.outx[0].r:=1]
1506884 b.b.dly_y[1].dly[0].y : 1 [by b.b.dly_y[1].dly[0].___y:=0]
1509517 b.b.dly_y[1].dly[1]._y : 0 [by b.b.dly_y[1].dly[0].y:=1]
1511746 b.b.neurons[3]._y_a_B : 0 [by b.outy[1].a:=1]
1511789 b.b.dly_y[1].dly[1].__y : 1 [by b.b.dly_y[1].dly[1]._y:=0]
1511798 b.b.neurons[3].pu_y.a : 1 [by b.b.neurons[3]._y_a_B:=0]
1511897 b.b.dly_y[1].dly[1].___y : 0 [by b.b.dly_y[1].dly[1].__y:=1]
1511898 b.b.dly_y[1].dly[1].y : 1 [by b.b.dly_y[1].dly[1].___y:=0]
1516198 b.b.dly_y[1].dly[2]._y : 0 [by b.b.dly_y[1].dly[1].y:=1]
1516199 b.b.dly_y[1].dly[2].__y : 1 [by b.b.dly_y[1].dly[2]._y:=0]
1516200 b.b.dly_y[1].dly[2].___y : 0 [by b.b.dly_y[1].dly[2].__y:=1]
1519513 b.b.dly_y[1].dly[2].y : 1 [by b.b.dly_y[1].dly[2].___y:=0]
1519519 b.b.dly_y[1].dly[3]._y : 0 [by b.b.dly_y[1].dly[2].y:=1]
1519523 b.b.dly_y[1].dly[3].__y : 1 [by b.b.dly_y[1].dly[3]._y:=0]
1546542 b.b.dly_y[1].dly[3].___y : 0 [by b.b.dly_y[1].dly[3].__y:=1]
1546544 b.b.dly_y[1].dly[3].y : 1 [by b.b.dly_y[1].dly[3].___y:=0]
1546548 b.b.dly_y[1].dly[4]._y : 0 [by b.b.dly_y[1].dly[3].y:=1]
1546549 b.b.dly_y[1].dly[4].__y : 1 [by b.b.dly_y[1].dly[4]._y:=0]
1546574 b.b.dly_y[1].dly[4].___y : 0 [by b.b.dly_y[1].dly[4].__y:=1]
1546749 b.b.pd_y[1].in : 1 [by b.b.dly_y[1].dly[4].___y:=0]
1549124 b.b.pd_y[1].buf1._y : 0 [by b.b.pd_y[1].in:=1]
1562236 b.b.pd_y[1]._out : 1 [by b.b.pd_y[1].buf1._y:=0]
1600530 b.b.pd_y[1].buf2._y : 0 [by b.b.pd_y[1]._out:=1]
1600879 b.b.pd_y[1].__out : 1 [by b.b.pd_y[1].buf2._y:=0]
1602420 b.b.pd_y[1].inv.y : 0 [by b.b.pd_y[1].__out:=1]
1602504 b.b.pd_y[1].nand_out : 1 [by b.b.pd_y[1].inv.y:=0]
1602505 b.outy[1].r : 0 [by b.b.pd_y[1].nand_out:=1]
1657298 b.b.keep_y[1]._y : 1 [by b.outy[1].r:=0]
[] x0 req, give ack
1657298 b.outx[0].a : 1
1657306 b.b.neurons[9]._x_a_B : 0 [by b.outx[0].a:=1]
1657359 b.b.neurons[3]._x_a_B : 0 [by b.outx[0].a:=1]
1657371 b.b.neurons[3].pu_x.a : 1 [by b.b.neurons[3]._x_a_B:=0]
1657443 b.b.neurons[0]._x_a_B : 0 [by b.outx[0].a:=1]
1670066 b.b.neurons[3].A_req._y : 1 [by b.b.neurons[3]._x_a_B:=0]
1670073 b.b.neurons[3]._req : 0 [by b.b.neurons[3].A_req._y:=1]
1670074 b.b.neurons[3]._en : 1 [by b.b.neurons[3]._req:=0]
1670849 b.b.dly_x[0].dly[0]._y : 0 [by b.outx[0].a:=1]
1671129 b.b.dly_x[0].dly[0].__y : 1 [by b.b.dly_x[0].dly[0]._y:=0]
1685216 b.b.dly_x[0].dly[0].___y : 0 [by b.b.dly_x[0].dly[0].__y:=1]
1685223 b.b.dly_x[0].dly[0].y : 1 [by b.b.dly_x[0].dly[0].___y:=0]
1689483 b.b.dly_x[0].dly[1]._y : 0 [by b.b.dly_x[0].dly[0].y:=1]
1692982 b.b.dly_x[0].dly[1].__y : 1 [by b.b.dly_x[0].dly[1]._y:=0]
1692991 b.b.dly_x[0].dly[1].___y : 0 [by b.b.dly_x[0].dly[1].__y:=1]
1693549 b.b.dly_x[0].dly[1].y : 1 [by b.b.dly_x[0].dly[1].___y:=0]
1693636 b.b.dly_x[0].dly[2]._y : 0 [by b.b.dly_x[0].dly[1].y:=1]
1696273 b.b.neurons[12]._x_a_B : 0 [by b.outx[0].a:=1]
1704435 b.b.neurons[6]._x_a_B : 0 [by b.outx[0].a:=1]
1749021 b.b.dly_x[0].dly[2].__y : 1 [by b.b.dly_x[0].dly[2]._y:=0]
1749022 b.b.dly_x[0].dly[2].___y : 0 [by b.b.dly_x[0].dly[2].__y:=1]
1749059 b.b.dly_x[0].dly[2].y : 1 [by b.b.dly_x[0].dly[2].___y:=0]
1749224 b.b.dly_x[0].dly[3]._y : 0 [by b.b.dly_x[0].dly[2].y:=1]
1756236 b.b.dly_x[0].dly[3].__y : 1 [by b.b.dly_x[0].dly[3]._y:=0]
1766391 b.b.dly_x[0].dly[3].___y : 0 [by b.b.dly_x[0].dly[3].__y:=1]
1766475 b.b.dly_x[0].dly[3].y : 1 [by b.b.dly_x[0].dly[3].___y:=0]
1766503 b.b.dly_x[0].dly[4]._y : 0 [by b.b.dly_x[0].dly[3].y:=1]
1766817 b.b.dly_x[0].dly[4].__y : 1 [by b.b.dly_x[0].dly[4]._y:=0]
1766860 b.b.dly_x[0].dly[4].___y : 0 [by b.b.dly_x[0].dly[4].__y:=1]
1766930 b.b.pd_x[0].in : 1 [by b.b.dly_x[0].dly[4].___y:=0]
1812523 b.b.pd_x[0].buf1._y : 0 [by b.b.pd_x[0].in:=1]
1812524 b.b.pd_x[0]._out : 1 [by b.b.pd_x[0].buf1._y:=0]
1812530 b.b.pd_x[0].buf2._y : 0 [by b.b.pd_x[0]._out:=1]
1812531 b.b.pd_x[0].__out : 1 [by b.b.pd_x[0].buf2._y:=0]
1839134 b.b.pd_x[0].inv.y : 0 [by b.b.pd_x[0].__out:=1]
1843014 b.b.pd_x[0].nand_out : 1 [by b.b.pd_x[0].inv.y:=0]
1843016 b.outx[0].r : 0 [by b.b.pd_x[0].nand_out:=1]
1850313 b.b.keep_x[0]._y : 1 [by b.outx[0].r:=0]
[] remove acks
1850313 b.outx[0].a : 0
1850313 b.outy[1].a : 0
1850314 b.b.neurons[12]._x_a_B : 1 [by b.outx[0].a:=0]
1850383 b.b.neurons[3]._x_a_B : 1 [by b.outx[0].a:=0]
1850440 b.b.neurons[0]._x_a_B : 1 [by b.outx[0].a:=0]
1850484 b.b.neurons[6]._x_a_B : 1 [by b.outx[0].a:=0]
1850623 b.b.neurons[9]._x_a_B : 1 [by b.outx[0].a:=0]
1850683 b.b.neurons[5]._y_a_B : 1 [by b.outy[1].a:=0]
1851339 b.b.dly_x[0].dly[0]._y : 1 [by b.outx[0].a:=0]
1853611 b.b.neurons[3]._y_a_B : 1 [by b.outy[1].a:=0]
1854775 b.b.dly_x[0].dly[0].__y : 0 [by b.b.dly_x[0].dly[0]._y:=1]
1854781 b.b.dly_x[0].dly[0].___y : 1 [by b.b.dly_x[0].dly[0].__y:=0]
1855863 b.b.neurons[4]._y_a_B : 1 [by b.outy[1].a:=0]
1864858 b.b.dly_y[1].dly[0]._y : 1 [by b.outy[1].a:=0]
1864874 b.b.dly_y[1].dly[0].__y : 0 [by b.b.dly_y[1].dly[0]._y:=1]
1864884 b.b.dly_y[1].dly[0].___y : 1 [by b.b.dly_y[1].dly[0].__y:=0]
1864933 b.b.dly_y[1].dly[0].y : 0 [by b.b.dly_y[1].dly[0].___y:=1]
1864940 b.b.dly_y[1].dly[1]._y : 1 [by b.b.dly_y[1].dly[0].y:=0]
1864942 b.b.dly_y[1].dly[1].__y : 0 [by b.b.dly_y[1].dly[1]._y:=1]
1882499 b.b.dly_x[0].dly[0].y : 0 [by b.b.dly_x[0].dly[0].___y:=1]
1884959 b.b.dly_x[0].dly[1]._y : 1 [by b.b.dly_x[0].dly[0].y:=0]
1885017 b.b.dly_x[0].dly[1].__y : 0 [by b.b.dly_x[0].dly[1]._y:=1]
1887111 b.b.dly_x[0].dly[1].___y : 1 [by b.b.dly_x[0].dly[1].__y:=0]
1887418 b.b.dly_y[1].dly[1].___y : 1 [by b.b.dly_y[1].dly[1].__y:=0]
1887425 b.b.dly_y[1].dly[1].y : 0 [by b.b.dly_y[1].dly[1].___y:=1]
1892099 b.b.dly_y[1].dly[2]._y : 1 [by b.b.dly_y[1].dly[1].y:=0]
1892141 b.b.dly_y[1].dly[2].__y : 0 [by b.b.dly_y[1].dly[2]._y:=1]
1902611 b.b.dly_y[1].dly[2].___y : 1 [by b.b.dly_y[1].dly[2].__y:=0]
1902884 b.b.dly_y[1].dly[2].y : 0 [by b.b.dly_y[1].dly[2].___y:=1]
1907863 b.b.dly_y[1].dly[3]._y : 1 [by b.b.dly_y[1].dly[2].y:=0]
1911443 b.b.dly_y[1].dly[3].__y : 0 [by b.b.dly_y[1].dly[3]._y:=1]
1913542 b.b.dly_x[0].dly[1].y : 0 [by b.b.dly_x[0].dly[1].___y:=1]
1913670 b.b.dly_x[0].dly[2]._y : 1 [by b.b.dly_x[0].dly[1].y:=0]
1949501 b.b.dly_y[1].dly[3].___y : 1 [by b.b.dly_y[1].dly[3].__y:=0]
1959463 b.b.dly_y[1].dly[3].y : 0 [by b.b.dly_y[1].dly[3].___y:=1]
1959542 b.b.dly_y[1].dly[4]._y : 1 [by b.b.dly_y[1].dly[3].y:=0]
1959543 b.b.dly_y[1].dly[4].__y : 0 [by b.b.dly_y[1].dly[4]._y:=1]
1959648 b.b.dly_y[1].dly[4].___y : 1 [by b.b.dly_y[1].dly[4].__y:=0]
1966194 b.b.pd_y[1].in : 0 [by b.b.dly_y[1].dly[4].___y:=1]
1966747 b.b.dly_x[0].dly[2].__y : 0 [by b.b.dly_x[0].dly[2]._y:=1]
1966757 b.b.dly_x[0].dly[2].___y : 1 [by b.b.dly_x[0].dly[2].__y:=0]
1966801 b.b.dly_x[0].dly[2].y : 0 [by b.b.dly_x[0].dly[2].___y:=1]
1966848 b.b.pd_y[1].buf1._y : 1 [by b.b.pd_y[1].in:=0]
1966937 b.b.dly_x[0].dly[3]._y : 1 [by b.b.dly_x[0].dly[2].y:=0]
1966975 b.b.dly_x[0].dly[3].__y : 0 [by b.b.dly_x[0].dly[3]._y:=1]
1966979 b.b.dly_x[0].dly[3].___y : 1 [by b.b.dly_x[0].dly[3].__y:=0]
1967171 b.b.pd_y[1]._out : 0 [by b.b.pd_y[1].buf1._y:=1]
1967298 b.b.pd_y[1].buf2._y : 1 [by b.b.pd_y[1]._out:=0]
1968072 b.b.dly_x[0].dly[3].y : 0 [by b.b.dly_x[0].dly[3].___y:=1]
1988151 b.b.dly_x[0].dly[4]._y : 1 [by b.b.dly_x[0].dly[3].y:=0]
1988152 b.b.dly_x[0].dly[4].__y : 0 [by b.b.dly_x[0].dly[4]._y:=1]
1988173 b.b.dly_x[0].dly[4].___y : 1 [by b.b.dly_x[0].dly[4].__y:=0]
1994034 b.b.pd_x[0].in : 0 [by b.b.dly_x[0].dly[4].___y:=1]
2008428 b.b.pd_x[0].buf1._y : 1 [by b.b.pd_x[0].in:=0]
2008440 b.b.pd_x[0]._out : 0 [by b.b.pd_x[0].buf1._y:=1]
2008842 b.b.pd_x[0].buf2._y : 1 [by b.b.pd_x[0]._out:=0]
2011488 b.b.pd_x[0].__out : 0 [by b.b.pd_x[0].buf2._y:=1]
2017014 b.b.pd_y[1].__out : 0 [by b.b.pd_y[1].buf2._y:=1]
2017296 b.b.pd_y[1].inv.y : 1 [by b.b.pd_y[1].__out:=0]
2017791 b.b.pd_x[0].inv.y : 1 [by b.b.pd_x[0].__out:=0]
2048035 b.b.pd_y[1].nand_out : 0 [by b.b.pd_y[1].inv.y:=1]
2081946 b.b.pd_x[0].nand_out : 0 [by b.b.pd_x[0].inv.y:=1]
Binary file not shown.
File diff suppressed because it is too large. Load diff
+46
View File
@@ -0,0 +1,46 @@
/*************************************************************************
*
* 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;
open tmpl::dataflow_neuro;
defproc nrn_hs_2d_inst(a1of1 in; a1of1 outx, outy)
{
bool _reset_B;
prs {
Reset => _reset_B-
}
nrn_hs_2d b(.in = in, .outx = outx, .outy = outy);
b.supply.vdd = Vdd;
b.supply.vss = GND;
b.reset_B = _reset_B;
}
nrn_hs_2d_inst b;
+202
View File
@@ -0,0 +1,202 @@
watchall
set b.in[0].r 0
set b.in[1].r 0
set b.in[2].r 0
set b.in[3].r 0
set b.in[4].r 0
set b.in[5].r 0
set b.in[6].r 0
set b.in[7].r 0
set b.in[8].r 0
set b.in[9].r 0
set b.in[10].r 0
set b.in[11].r 0
set b.in[12].r 0
set b.in[13].r 0
set b.in[14].r 0
set b.outx[0].a 0
set b.outx[1].a 0
set b.outx[2].a 0
set b.outy[0].a 0
set b.outy[1].a 0
set b.outy[2].a 0
set b.outy[3].a 0
set b.outy[4].a 0
set b.outx[0].r 1
set b.outx[1].r 1
set b.outx[2].r 1
set b.outy[0].r 1
set b.outy[1].r 1
set b.outy[2].r 1
set b.outy[3].r 1
set b.outy[4].r 0
set b.b.neurons[0]._en 0
set b.b.neurons[0]._req 1
# set Reset 0
cycle
system "echo '[] set Reset 1'"
set Reset 1
cycle
status X
system "echo '[] set Reset 0'"
set Reset 0
mode run
cycle
assert b.outx[0].r 0
assert b.outx[1].r 0
assert b.outx[2].r 0
assert b.outy[0].r 0
assert b.outy[1].r 0
assert b.outy[2].r 0
assert b.outy[3].r 0
assert b.outy[4].r 0
system "echo '[] Neurons 0,1,3 spike'"
set b.in[0].r 1
set b.in[1].r 1
set b.in[3].r 1
cycle
assert b.outx[0].r 0
assert b.outx[1].r 0
assert b.outx[2].r 0
assert b.outy[0].r 1
assert b.outy[1].r 1
assert b.outy[2].r 0
assert b.outy[3].r 0
assert b.outy[4].r 0
assert b.in[0].a 1
assert b.in[1].a 1
assert b.in[3].a 1
system "echo '[] removing in reqs'"
set b.in[0].r 0
set b.in[1].r 0
set b.in[3].r 0
cycle
assert b.in[0].a 0
assert b.in[1].a 0
assert b.in[3].a 0
system "echo '[] y0 chosen, give ack'"
set b.outy[0].a 1
cycle
assert b.outx[0].r 1
assert b.outx[1].r 1
assert b.outx[2].r 0
assert b.outy[0].r 0
assert b.outy[1].r 1
assert b.outy[2].r 0
assert b.outy[3].r 0
assert b.outy[4].r 0
system "echo '[] x0 chosen, give ack'"
set b.outx[0].a 1
cycle
assert b.outx[0].r 0
assert b.outx[1].r 1
assert b.outx[2].r 0
assert b.outy[0].r 0
assert b.outy[1].r 1
assert b.outy[2].r 0
assert b.outy[3].r 0
assert b.outy[4].r 0
system "echo '[] remove x ack'"
set b.outx[0].a 0
cycle
assert b.outx[0].r 0
assert b.outx[1].r 1
assert b.outx[2].r 0
assert b.outy[0].r 0
assert b.outy[1].r 1
assert b.outy[2].r 0
assert b.outy[3].r 0
assert b.outy[4].r 0
system "echo '[] x1 remaining, give ack'"
set b.outx[1].a 1
cycle
assert b.outx[0].r 0
assert b.outx[1].r 0
assert b.outx[2].r 0
assert b.outy[0].r 0
assert b.outy[1].r 1
assert b.outy[2].r 0
assert b.outy[3].r 0
assert b.outy[4].r 0
system "echo '[] remove acks'"
set b.outx[1].a 0
set b.outy[0].a 0
cycle
assert b.outx[0].r 0
assert b.outx[1].r 0
assert b.outx[2].r 0
assert b.outy[0].r 0
assert b.outy[1].r 1
assert b.outy[2].r 0
assert b.outy[3].r 0
assert b.outy[4].r 0
system "echo '[] y1 remaining, give ack'"
set b.outy[1].a 1
cycle
assert b.outx[0].r 1
assert b.outx[1].r 0
assert b.outx[2].r 0
assert b.outy[0].r 0
assert b.outy[1].r 0
assert b.outy[2].r 0
assert b.outy[3].r 0
assert b.outy[4].r 0
system "echo '[] x0 req, give ack'"
set b.outx[0].a 1
cycle
assert b.outx[0].r 0
assert b.outx[1].r 0
assert b.outx[2].r 0
assert b.outy[0].r 0
assert b.outy[1].r 0
assert b.outy[2].r 0
assert b.outy[3].r 0
assert b.outy[4].r 0
system "echo '[] remove acks'"
set b.outx[0].a 0
set b.outy[1].a 0
cycle
assert b.outx[0].r 0
assert b.outx[1].r 0
assert b.outx[2].r 0
assert b.outy[0].r 0
assert b.outy[1].r 0
assert b.outy[2].r 0
assert b.outy[3].r 0
assert b.outy[4].r 0
+107
View File
@@ -0,0 +1,107 @@
//
// Verilog module for: INV_X1<>
//
//
// Verilog module for: A_2P_U_X4<>
//
//
// Verilog module for: INV_X2<>
//
//
// Verilog module for: A_2C1N_RB_X1<>
//
//
// Verilog module for: BUF_X2<>
//
//
// Verilog module for: A_1C1P_X1<>
//
//
// Verilog module for: A_2C1P1N_RB_X1<>
//
//
// Verilog module for: A_3P_U_X4<>
//
//
// Verilog module for: nrn_hs_2d<>
//
module _0_0tmpl_0_0dataflow__neuro_0_0nrn__hs__2d(\in.d.d[0] , \in.a , \outx.d.d[0] , \outx.a , \outy.d.d[0] , \outy.a , reset_B, vdd, vss);
input vdd;
input vss;
input \in.d.d[0] ;
output \in.a ;
output \outx.d.d[0] ;
input \outx.a ;
output \outy.d.d[0] ;
input \outy.a ;
input reset_B;
// -- signals ---
reg \outx.d.d[0] ;
reg \in.a ;
reg _reqB;
reg \outy.d.d[0] ;
wire reset_B;
reg _y_a_B;
wire \outy.a ;
reg _x_a_B;
reg _reset_BX;
wire \in.d.d[0] ;
wire \outx.a ;
reg _en;
reg _req;
// --- instances
INV_X1 \req_inv (.y(_reqB), .a(_req), .vdd(vdd), .vss(vss));
A_2P_U_X4 \pu_y (.p1(_reqB), .p2(\outy.a ), .y(\outy.d.d[0] ), .vdd(vdd), .vss(vss));
INV_X2 \inv_x (.y(_x_a_B), .a(\outx.a ), .vdd(vdd), .vss(vss));
INV_X2 \inv_y (.y(_y_a_B), .a(\outy.a ), .vdd(vdd), .vss(vss));
A_2C1N_RB_X1 \A_ack (.y(\in.a ), .c1(_en), .c2(\in.d.d[0] ), .n1(_req), .pr_B(_reset_BX), .sr_B(_reset_BX), .vdd(vdd), .vss(vss));
BUF_X2 \reset_buf (.y(_reset_BX), .a(reset_B), .vdd(vdd), .vss(vss));
A_1C1P_X1 \A_en (.y(_en), .c1(\in.a ), .p1(_req), .vdd(vdd), .vss(vss));
A_2C1P1N_RB_X1 \A_req (.y(_req), .c1(_en), .c2(_y_a_B), .p1(_x_a_B), .n1(\in.d.d[0] ), .pr_B(_reset_BX), .sr_B(_reset_BX), .vdd(vdd), .vss(vss));
A_3P_U_X4 \pu_x (.p1(\outx.a ), .p2(_reqB), .p3(_y_a_B), .y(\outx.d.d[0] ), .vdd(vdd), .vss(vss));
endmodule
//
// Verilog module for: nrn_hs_2d_inst<>
//
module nrn__hs__2d__inst(\in.d.d[0] , \in.a , \outx.d.d[0] , \outx.a , \outy.d.d[0] , \outy.a , vdd, vss);
input vdd;
input vss;
input \in.d.d[0] ;
output \in.a ;
output \outx.d.d[0] ;
input \outx.a ;
output \outy.d.d[0] ;
input \outy.a ;
// -- signals ---
reg \outx.d.d[0] ;
wire \outy.a ;
wire \in.d.d[0] ;
reg \outy.d.d[0] ;
reg _reset_B;
wire \outx.a ;
reg \in.a ;
// --- instances
_0_0tmpl_0_0dataflow__neuro_0_0nrn__hs__2d \b (.\in.d.d[0] (\in.d.d[0] ), .\in.a (\in.a ), .\outx.d.d[0] (\outx.d.d[0] ), .\outx.a (\outx.a ), .\outy.d.d[0] (\outy.d.d[0] ), .\outy.a (\outy.a ), .reset_B(_reset_B), .vdd(vdd), .vss(vss));
endmodule
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
+5 -6
View File
@@ -39,12 +39,11 @@ open std::data;
open tmpl::dataflow_neuro; open tmpl::dataflow_neuro;
defproc chip_texel_test (bd<14> in; bd<14> out; Mx1of2<8> reg_data[16]; defproc chip_texel_test (bd<14> in; bd<14> out; Mx1of2<8> reg_data[16];
bool? bd_dly_cfg[4], bd_dly_cfg2[2], loopback_en){ bool? bd_dly_cfg[4], bd_dly_cfg2[2], loopback_en, _reset_B){
bool _reset_B; // prs {
prs { // Reset => _reset_B-
Reset => _reset_B- // }
}
power supply; power supply;
supply.vdd = Vdd; supply.vdd = Vdd;
supply.vss = GND; supply.vss = GND;
@@ -121,4 +120,4 @@ defproc chip_texel_test (bd<14> in; bd<14> out; Mx1of2<8> reg_data[16];
// fifo_decoder_neurons_encoder_fifo e; // fifo_decoder_neurons_encoder_fifo e;
chip_texel_test c; chip_texel_test c;
File diff suppressed because it is too large. Load diff