Compare commits

...

2 Commits

7 changed files with 1172 additions and 1045 deletions

View File

@ -624,6 +624,15 @@ namespace tmpl {
// Programmable delay line.
// N is the number of layers,
// the longest layer having 2**N DLY elements
// Circuit for creating delays, there are N delay layers.
// The block has the parameters:
// N -> the number is the number of layers with the longest being 2**N elements
// wl -> word length, length of each word
// N_dly_cfg -> the number of config bits in the ACK delay line
// The block has the pins:
// in -> input data
// out -> output data
// s -> bit word with size N that sets delay configuration. int(s) = number of delays
export template<pint N>
defproc delayprog (bool! out; bool? in, s[N]; power supply)
{

View File

@ -59,7 +59,7 @@ defproc register_rw (avMx1of2<1+lognw+wl> in; d1of<wl> data[1<<lognw]; power sup
(i:1+lognw+wl:_in_temp.d[i] = in.d.d[i];)
vtree<1+lognw+wl> val_input(.in = _in_temp,.out = _in_v_temp, .supply = supply);
sigbuf_1output<4> val_input_X(.in = _in_v_temp,.out = in.v,.supply = supply);
// Generation of the fake clock pulse
// Generation of the fake clock pulse (inverted because the ff clocks are low_active)
delayprog<N_dly_cfg> clk_dly(.in = _in_v_temp, .out = _clock_temp,.s = dly_cfg, .supply = supply);
INV_X1 inv_clk(.a = _clock_temp,.y = _clock_temp_inv,.vdd = supply.vdd,.vss = supply.vss);
sigbuf_1output<4> clk_X(.in = _clock_temp_inv,.out = _clock,.supply = supply);
@ -109,6 +109,90 @@ defproc register_rw (avMx1of2<1+lognw+wl> in; d1of<wl> data[1<<lognw]; power sup
ff[bit_idx+word_idx*(wl)].vss = supply.vss;
)
)
}
}
export template<pint lognw,wl,N_dly_cfg>
defproc register_rw_v2 (avMx1of2<1+lognw+wl> in; d1of<wl> data[1<<lognw]; power supply; bool? reset_B,reset_mem_B,dly_cfg[N_dly_cfg]){
bool _in_v_temp,_in_a_temp,_clock_temp,_clock,_clock_temp_inv;
pint nw = 1<<lognw;
//Validation of the input
avMx1of2<lognw+wl> _in_temp2,_in_read,_in_write;
avMx1of2<1>_in_flag;
// bool _in_stable;
// (i:1+lognw+wl:_in_temp.d[i] = in.d.d[i];)
// vtree<1+lognw+wl> val_input(.in = _in_temp,.out = _in_v_temp, .supply = supply);
// sigbuf_1output<4> val_input_X(.in = _in_v_temp,.out = in.v,.supply = supply);
// Read or write?
AND2_X1 ack_and(.a = _in_temp2.a,.b = _in_flag.a,.y = in.a,.vdd = supply.vdd,.vss = supply.vss);
in.v = _in_temp2.v;
_in_flag.d.d[0] = in.d.d[lognw+wl];
(i:lognw+wl:_in_temp2.d.d[i] = in.d.d[i];)
demux<lognw+wl> read_write_demux(.in = _in_temp2,.out1 = _in_write, .out2 = _in_read, .cond = _in_flag,.reset_B = reset_B);
read_write_demux.supply= supply;
//WRITE PATH
// Validation
vtree<lognw+wl> val_input(.in = _in_write,.out = _in_write.v, .supply = supply);
vtree<wl>
// Generation of the fake clock pulse (inverted because the ff clocks are low_active)
delayprog<N_dly_cfg> clk_dly(.in = _in_write.v, .out = _clock_temp,.s = dly_cfg, .supply = supply);
INV_X1 inv_clk(.a = _clock_temp,.y = _clock_temp_inv,.vdd = supply.vdd,.vss = supply.vss);
sigbuf_1output<4> clk_X(.in = _clock_temp_inv,.out = _clock,.supply = supply);
//READ PATH
//Validation
vtree<lognw+wl> val_input(.in = _in_read,.out = _in_read.v, .supply = supply);
// Sending signal to the output
//Reset Buffers
bool _reset_BX,_reset_mem_BX,_reset_mem_BXX[nw*wl];
BUF_X1 reset_buf_BX(.a=reset_B, .y=_reset_BX,.vdd=supply.vdd,.vss=supply.vss);
BUF_X1 reset_buf_BXX(.a=reset_mem_B, .y=_reset_mem_BX,.vdd=supply.vdd,.vss=supply.vss);
sigbuf<nw*wl*2> reset_bufarray(.in=_reset_mem_BX, .out=_reset_mem_BXX,.supply=supply);
// Creating the different flip flop arrays
bool _out_encoder[nw],_clock_word_temp[nw],_clock_word[nw],_clock_buffer_out[nw*wl];
andtree<lognw> atree[nw];
d1of<wl> _data_f;
AND2_X1 and_encoder[nw];
sigbuf<wl*2> clock_buffer[nw];
DFFQ_R_X1 ff_t[2*nw*wl],ff_f[2*nw*wl];
pint bitval;
(k:nw:atree[k].supply = supply;)
(word_idx:nw:
// Decoding the bit pattern to understand which word we are looking at
(pin_idx:lognw:
bitval = (word_idx & ( 1 << pin_idx )) >> pin_idx; // Get binary digit of integer i, column j
[bitval = 1 ->
atree[word_idx].in[pin_idx] = in.d.d[pin_idx+wl].t;
[] bitval = 0 ->
atree[word_idx].in[pin_idx] = in.d.d[pin_idx+wl].f;
[]bitval >= 2 -> {false : "fuck"};
]
)
// Activating the fake clock for the right word
atree[word_idx].out = _out_encoder[word_idx];
and_encoder[word_idx].a = _out_encoder[word_idx];
and_encoder[word_idx].b = _clock;
and_encoder[word_idx].y = _clock_word_temp[word_idx];
and_encoder[word_idx].vdd = supply.vdd;
and_encoder[word_idx].vss = supply.vss;
clock_buffer[word_idx].in = _clock_word_temp[word_idx];
clock_buffer[word_idx].supply = supply;
// Describing all the FF and their connection
(bit_idx:wl:
ff_t[bit_idx+word_idx*(wl)].clk_B = clock_buffer[word_idx].out[bit_idx];
ff_t[bit_idx+word_idx*(wl)].d = in.d.d[bit_idx].t;
ff_t[bit_idx+word_idx*(wl)].q = data[word_idx].d[bit_idx];
ff_t[bit_idx+word_idx*(wl)].reset_B = _reset_mem_BXX[bit_idx+word_idx*(wl)];
ff_t[bit_idx+word_idx*(wl)].vdd = supply.vdd;
ff_t[bit_idx+word_idx*(wl)].vss = supply.vss;
ff_f[bit_idx+word_idx*(wl)].clk_B = clock_buffer[word_idx+nw-1].out[bit_idx];
ff_f[bit_idx+word_idx*(wl)].d = in.d.d[bit_idx].f;
ff_f[bit_idx+word_idx*(wl)].q = data[word_idx].d[bit_idx];
ff_f[bit_idx+word_idx*(wl)].reset_B = _reset_mem_BXX[bit_idx+word_idx*(wl)+nw-1];
ff_f[bit_idx+word_idx*(wl)].vdd = supply.vdd;
ff_f[bit_idx+word_idx*(wl)].vss = supply.vss;
)
)
}
}}

View File

@ -1,6 +1,5 @@
watchall
set Reset 1
set my_tree.in[0].r 0
set my_tree.in[1].r 0
set my_tree.in[2].r 0

View File

@ -1,299 +1,149 @@
t.registers.ff[4].clk_B t.registers._clock_word_temp[0] t.in.d.d[1].f t.registers._clock_temp t.registers.ack_dly._a[1] t.registers.ff[0].clk_B t.registers._clock_temp_inv t.registers._clock t.dly_cfg[1] t.registers.ack_dly.dly[1].__y t.registers.ff[0].d t.registers.clk_dly.and2[0]._y t.registers.val_input.ct.in[1] t.in.d.d[4].f t.registers._clock_word_temp[2] t.registers.clk_dly.dly[2]._y t.registers.ff[5].__clk_B t.registers.ack_dly.dly[1].___y t.registers.ff[4]._clk_B t.registers._out_encoder[3] t.registers.clock_buffer[1].buf1._y t.registers.ff[6].clk_B t.registers.atree[2].in[1] t.dly_cfg[0] t.registers._in_v_temp t.registers._out_encoder[2] t.registers._out_encoder[1] t.registers.clk_dly.and2[1]._y t.registers.atree[0].in[0] t.registers.ack_dly.dly[2]._y t.registers.val_input.ct.in[0] t.registers._in_a_temp t.in.d.d[0].f t.registers.clk_dly.dly[1].y t.in.v t.registers.ff[3]._clk_B t.registers.clk_dly.dly[2].y t.in.d.d[4].t t.registers.clk_dly.dly[1].a t.registers._clock_word_temp[3] t.registers.ack_dly.dly[0].___y t.registers.val_input.ct.in[3] t.registers.ff[1].d t.registers.clock_buffer[0].buf1._y t.registers._out_encoder[0] t.registers.atree[1].in[0] t.registers.ack_dly.dly[2].___y t.registers.ack_dly.mu2[0]._y t.registers.atree[1].and2s[0]._y t.registers.clk_dly._a[1] t.registers.atree[0].in[1] t.registers.ff[2].__clk_B t.registers.val_input.ct.in[4] t.registers.val_input.OR2_tf[3]._y t.registers.clk_X.buf1._y t.registers.ff[7].__clk_B t.registers.clk_dly.dly[0].___y t.registers._clock_word_temp[1] t.registers.and_encoder[2]._y t.registers.clk_dly.dly[1].___y t.registers.ff[7]._clk_B t.in.a t.registers.clk_dly.mu2[1]._s t.registers.ff[1]._clk_B t.registers.clk_dly.dly[0]._y t.registers.val_input.ct.in[2] t.registers.val_input.OR2_tf[2]._y t.registers.val_input.ct.tmp[6] t.registers.clk_dly.dly[1]._y t.registers.ack_dly.dly[2].y t.registers.atree[0].and2s[0]._y t.registers.clk_dly.mu2[1]._y t.registers.clk_dly.mu2[0]._s t.registers.ack_dly.dly[0]._y t.registers.clk_dly.dly[0].a t.registers.ack_dly.dly[0].a t.registers.ff[0]._clk_B t.registers.clock_buffer[2].buf1._y t.registers.clk_dly.dly[1].__y t.registers.ff[2].clk_B t.registers.ff[6]._clk_B t.registers.clk_dly.dly[0].y t.registers.clk_dly.mu2[0]._y t.registers.clock_buffer[3].buf1._y t.registers.val_input.ct.tmp[5] t.registers.ack_dly.dly[1]._y t.registers.and_encoder[0]._y t.registers.val_input.ct.C2Els[1]._y t.registers.ack_dly.dly[1].y t.registers.ack_dly.and2[1]._y t.registers.val_input.OR2_tf[1]._y t.registers.clk_dly.dly[0].__y t.registers.ff[3].__clk_B t.registers.ack_dly.dly[0].y t.registers.clk_dly.dly[2].__y t.registers.atree[3].and2s[0]._y t.registers.ff[6].__clk_B t.registers.ack_dly.dly[1].a t.registers.ff[4].__clk_B t.registers.atree[2].and2s[0]._y t.registers.ff[1].__clk_B t.registers.val_input_X.buf1._y t.registers.ack_dly.dly[2].__y t.registers.val_input.OR2_tf[0]._y t.registers.ff[0].__clk_B t.registers.ff[5]._clk_B t.registers.and_encoder[1]._y t.registers.ack_dly.and2[0]._y t.registers.ack_dly.mu2[1]._s t.registers.clk_dly.dly[2].___y t.registers.val_input.OR2_tf[4]._y t.registers.ack_input_X.buf1._y t.registers.val_input.ct.C2Els[0]._y t.registers.ack_dly.mu2[1]._y t.registers.val_input.ct.C3Els[0]._y t.registers.ack_dly.dly[0].__y t.registers.and_encoder[3]._y t.registers.ff[2]._clk_B t.registers.ack_dly.mu2[0]._s
t.registers.read_write_demux.vc.ct.in[0] t.registers.read_write_demux._en2_X_t[0] t.in.d.d[1].f t.registers.read_write_demux._c_f_buf[0] t.registers.read_write_demux.out2_a_B_buf_t.buf1._y t.registers.read_write_demux._out1_a_BX_f[0] t.in.d.d[3].t t.registers._in_read.v t.registers.read_write_demux._in_v t.in.d.d[1].t t.registers.read_write_demux._c_v t.in.d.d[0].t t.registers.read_write_demux._en1_X_f[0] t.in.d.d[4].f t.registers.read_write_demux.out1_en_buf_f.buf1._y t.in.d.d[0].f t.registers.read_write_demux.vc.ct.tmp[5] t.in.d.d[2].f t.registers.read_write_demux._out2_a_BX_t[0] t.in.d.d[3].f t.registers.read_write_demux._c_t_buf[0] t.registers.read_write_demux.vc.ct.C2Els[0]._y t.registers.read_write_demux._out1_a_BX_t[0] t.in.v t.registers.read_write_demux._en t.registers.read_write_demux._out1_a_B t.registers.read_write_demux._out2_a_BX_f[0] t.in.d.d[4].t t.registers.read_write_demux.c_buf_f.buf1._y t.registers.read_write_demux._en2_X_f[0] t.registers.read_write_demux._en1_X_t[0] t.registers.read_write_demux.out1_a_B_buf_t.buf1._y t.registers.read_write_demux.out2_en_buf_f.buf1._y t.registers.read_write_demux._out2_a_B t.registers.read_write_demux.vc.ct.tmp[4] t.registers.read_write_demux.vc.ct.in[2] t.registers.read_write_demux._in_c_v_ t.registers.read_write_demux.out2_en_buf_t.buf1._y t.registers._in_read.a t.in.d.d[2].t t.registers.read_write_demux.out2_a_B_buf_f.buf1._y t.registers.read_write_demux.vc.ct.in[1] t.registers.read_write_demux.c_buf_t.buf1._y t.registers.read_write_demux.c_f_c_t_or._y t.registers.read_write_demux._out_v t.registers._in_write.a t.registers._in_write.v t.registers.read_write_demux.in_v_buf._y t.registers.read_write_demux.out1_a_B_buf_f.buf1._y t.registers.read_write_demux.out1_en_buf_t.buf1._y t.registers.read_write_demux.vc.ct.in[3] t.registers.read_write_demux.vc.OR2_tf[1]._y t.registers.read_write_demux.c_el._y t.registers.read_write_demux.out_or._y t.registers.read_write_demux.vc.OR2_tf[2]._y t.registers.read_write_demux.vc.ct.C2Els[1]._y t.registers.read_write_demux.vc.OR2_tf[0]._y t.registers.read_write_demux.vc.ct.C2Els[2]._y t.registers.read_write_demux.vc.OR2_tf[3]._y
[0] start test
115040 t.in.d.d[0].f : 0
115040 Reset : 0
115040 t.in.d.d[4].t : 0
115040 t.in.d.d[1].f : 0
115040 t.in.d.d[4].f : 0
115040 t.registers.atree[2].in[1] : 0
115040 t.registers.atree[0].in[1] : 0
115040 t.registers.atree[1].in[0] : 0
115040 t.registers.ff[0].d : 0
115040 t.registers.atree[0].in[0] : 0
115040 t.registers.ff[1].d : 0
115058 t._reset_B : 1 [by Reset:=0]
115127 t.registers.reset_buf_BXX._y : 0 [by t._reset_B:=1]
115138 t.registers._reset_mem_BX : 1 [by t.registers.reset_buf_BXX._y:=0]
115179 t.registers.val_input.OR2_tf[1]._y : 1 [by t.registers.ff[1].d:=0]
115243 t.registers.val_input.OR2_tf[0]._y : 1 [by t.registers.ff[0].d:=0]
115258 t.registers.val_input.ct.in[0] : 0 [by t.registers.val_input.OR2_tf[0]._y:=1]
115383 t.registers.val_input.ct.in[1] : 0 [by t.registers.val_input.OR2_tf[1]._y:=1]
115384 t.registers.val_input.ct.C2Els[0]._y : 1 [by t.registers.val_input.ct.in[1]:=0]
115421 t.registers.val_input.ct.tmp[5] : 0 [by t.registers.val_input.ct.C2Els[0]._y:=1]
115542 t.registers.val_input.OR2_tf[3]._y : 1 [by t.registers.atree[0].in[1]:=0]
116281 t.registers.val_input.ct.in[3] : 0 [by t.registers.val_input.OR2_tf[3]._y:=1]
116894 t.registers.val_input.OR2_tf[2]._y : 1 [by t.registers.atree[0].in[0]:=0]
117006 t.registers.val_input.ct.in[2] : 0 [by t.registers.val_input.OR2_tf[2]._y:=1]
119043 t.registers.atree[2].and2s[0]._y : 1 [by t.registers.atree[2].in[1]:=0]
119053 t.registers.val_input.OR2_tf[4]._y : 1 [by t.in.d.d[4].f:=0]
119093 t.registers.val_input.ct.in[4] : 0 [by t.registers.val_input.OR2_tf[4]._y:=1]
119350 t.registers.val_input.ct.C3Els[0]._y : 1 [by t.registers.val_input.ct.in[4]:=0]
119437 t.registers.val_input.ct.tmp[6] : 0 [by t.registers.val_input.ct.C3Els[0]._y:=1]
119731 t.registers.val_input.ct.C2Els[1]._y : 1 [by t.registers.val_input.ct.tmp[6]:=0]
119732 t.registers._in_v_temp : 0 [by t.registers.val_input.ct.C2Els[1]._y:=1]
119800 t.registers.atree[1].and2s[0]._y : 1 [by t.registers.atree[0].in[1]:=0]
121009 t.registers._out_encoder[1] : 0 [by t.registers.atree[1].and2s[0]._y:=1]
121538 t.registers.clk_dly.and2[0]._y : 1 [by t.registers._in_v_temp:=0]
121599 t.registers.and_encoder[1]._y : 1 [by t.registers._out_encoder[1]:=0]
121716 t.registers.clk_dly.dly[0].a : 0 [by t.registers.clk_dly.and2[0]._y:=1]
121739 t.registers.val_input_X.buf1._y : 1 [by t.registers._in_v_temp:=0]
121880 t.registers.clk_dly.dly[0]._y : 1 [by t.registers.clk_dly.dly[0].a:=0]
121902 t.registers.clk_dly.dly[0].__y : 0 [by t.registers.clk_dly.dly[0]._y:=1]
122402 t.registers._clock_word_temp[1] : 0 [by t.registers.and_encoder[1]._y:=1]
122749 t.registers.clk_dly.dly[0].___y : 1 [by t.registers.clk_dly.dly[0].__y:=0]
122882 t.registers.clk_dly.dly[0].y : 0 [by t.registers.clk_dly.dly[0].___y:=1]
123934 t.in.v : 0 [by t.registers.val_input_X.buf1._y:=1]
136624 t.registers.atree[0].and2s[0]._y : 1 [by t.registers.atree[0].in[1]:=0]
151404 t.registers.reset_buf_BX._y : 0 [by t._reset_B:=1]
151763 t.registers._reset_BX : 1 [by t.registers.reset_buf_BX._y:=0]
152286 t.registers._out_encoder[0] : 0 [by t.registers.atree[0].and2s[0]._y:=1]
152530 t.registers.clock_buffer[1].buf1._y : 1 [by t.registers._clock_word_temp[1]:=0]
152751 t.registers.ff[2].clk_B : 0 [by t.registers.clock_buffer[1].buf1._y:=1]
152758 t.registers.ff[2]._clk_B : 1 [by t.registers.ff[2].clk_B:=0]
152781 t.registers.ff[3]._clk_B : 1 [by t.registers.ff[2].clk_B:=0]
159471 t.registers.ff[2].__clk_B : 0 [by t.registers.ff[2]._clk_B:=1]
159941 t.registers.atree[3].and2s[0]._y : 1 [by t.registers.atree[2].in[1]:=0]
160032 t.registers._out_encoder[3] : 0 [by t.registers.atree[3].and2s[0]._y:=1]
162221 t.registers.and_encoder[3]._y : 1 [by t.registers._out_encoder[3]:=0]
162228 t.registers._clock_word_temp[3] : 0 [by t.registers.and_encoder[3]._y:=1]
165015 t.registers.clock_buffer[3].buf1._y : 1 [by t.registers._clock_word_temp[3]:=0]
165121 t.registers.ff[6].clk_B : 0 [by t.registers.clock_buffer[3].buf1._y:=1]
165199 t.registers.ff[6]._clk_B : 1 [by t.registers.ff[6].clk_B:=0]
165396 t.registers.ff[7]._clk_B : 1 [by t.registers.ff[6].clk_B:=0]
165851 t.registers.ff[7].__clk_B : 0 [by t.registers.ff[7]._clk_B:=1]
166402 t.registers.and_encoder[0]._y : 1 [by t.registers._out_encoder[0]:=0]
166414 t.registers._clock_word_temp[0] : 0 [by t.registers.and_encoder[0]._y:=1]
166555 t.registers._out_encoder[2] : 0 [by t.registers.atree[2].and2s[0]._y:=1]
166567 t.registers.and_encoder[2]._y : 1 [by t.registers._out_encoder[2]:=0]
166818 t.registers.clock_buffer[0].buf1._y : 1 [by t.registers._clock_word_temp[0]:=0]
166924 t.registers.reset_bufarray.buf3._y : 0 [by t.registers._reset_mem_BX:=1]
169823 t.registers._reset_mem_BXX[0] : 1 [by t.registers.reset_bufarray.buf3._y:=0]
171094 t.registers.ff[0].clk_B : 0 [by t.registers.clock_buffer[0].buf1._y:=1]
171096 t.registers.ff[1]._clk_B : 1 [by t.registers.ff[0].clk_B:=0]
172483 t.registers._clock_word_temp[2] : 0 [by t.registers.and_encoder[2]._y:=1]
173732 t.registers.clock_buffer[2].buf1._y : 1 [by t.registers._clock_word_temp[2]:=0]
175389 t.registers.ff[0]._clk_B : 1 [by t.registers.ff[0].clk_B:=0]
175555 t.registers.ff[0].__clk_B : 0 [by t.registers.ff[0]._clk_B:=1]
175631 t.registers.ff[1].__clk_B : 0 [by t.registers.ff[1]._clk_B:=1]
177231 t.registers.ff[4].clk_B : 0 [by t.registers.clock_buffer[2].buf1._y:=1]
177306 t.registers.ff[4]._clk_B : 1 [by t.registers.ff[4].clk_B:=0]
177444 t.registers.ff[4].__clk_B : 0 [by t.registers.ff[4]._clk_B:=1]
177576 t.registers.ff[5]._clk_B : 1 [by t.registers.ff[4].clk_B:=0]
182839 t.registers.ff[5].__clk_B : 0 [by t.registers.ff[5]._clk_B:=1]
184195 t.registers.ff[6].__clk_B : 0 [by t.registers.ff[6]._clk_B:=1]
210242 t.registers.ff[3].__clk_B : 0 [by t.registers.ff[3]._clk_B:=1]
t.registers._clock_temp t.registers.ack_dly._a[1] t.registers._clock_temp_inv t.registers._clock t.dly_cfg[1] t.registers.ack_dly.dly[1].__y t.registers.clk_dly.dly[2]._y t.registers.ack_dly.dly[1].___y t.dly_cfg[0] t.registers.clk_dly.and2[1]._y t.registers.ack_dly.dly[2]._y t.registers._in_a_temp t.registers.clk_dly.dly[1].y t.registers.clk_dly.dly[2].y t.registers.clk_dly.dly[1].a t.registers.ack_dly.dly[0].___y t.registers.ack_dly.dly[2].___y t.registers.ack_dly.mu2[0]._y t.registers.clk_dly._a[1] t.registers.clk_X.buf1._y t.registers.clk_dly.dly[1].___y t.in.a t.registers.clk_dly.mu2[1]._s t.registers.clk_dly.dly[1]._y t.registers.ack_dly.dly[2].y t.registers.clk_dly.mu2[1]._y t.registers.clk_dly.mu2[0]._s t.registers.ack_dly.dly[0]._y t.registers.ack_dly.dly[0].a t.registers.clk_dly.dly[1].__y t.registers.clk_dly.mu2[0]._y t.registers.ack_dly.dly[1]._y t.registers.ack_dly.dly[1].y t.registers.ack_dly.and2[1]._y t.registers.ack_dly.dly[0].y t.registers.clk_dly.dly[2].__y t.registers.ack_dly.dly[1].a t.registers.ack_dly.dly[2].__y t.registers.ack_dly.and2[0]._y t.registers.ack_dly.mu2[1]._s t.registers.clk_dly.dly[2].___y t.registers.ack_input_X.buf1._y t.registers.ack_dly.mu2[1]._y t.registers.ack_dly.dly[0].__y t.registers.ack_dly.mu2[0]._s
Node `t._in_write.d.d[0].f' not found
Node `t._in_read.d.d[0].f' not found
106506 t.in.d.d[0].f : 0
106506 Reset : 0
106506 t.registers._in_read.v : 0
106506 t.in.d.d[1].f : 0
106506 t.registers._in_write.v : 0
106506 t.registers._in_read.a : 0
106506 t.in.d.d[3].f : 0
106506 t.registers._in_write.a : 0
106506 t.data[1].d[1] : 0
106506 t.in.d.d[2].t : 0
106506 t.data[1].d[0] : 0
106506 t.data[0].d[1] : 0
106506 t.in.d.d[0].t : 0
106506 t.in.d.d[2].f : 0
106506 t.data[0].d[0] : 0
106506 t.in.d.d[4].t : 0
106506 t.in.d.d[1].t : 0
106506 t.in.d.d[4].f : 0
106506 t.in.d.d[3].t : 0
106524 t.registers.read_write_demux.c_buf_t.buf1._y : 1 [by t.in.d.d[4].t:=0]
107057 t._reset_B : 1 [by Reset:=0]
107460 t.registers.read_write_demux._out2_a_B : 1 [by t.registers._in_read.a:=0]
107488 t.registers.read_write_demux.vc.OR2_tf[2]._y : 1 [by t.in.d.d[2].f:=0]
107559 t.registers.read_write_demux.reset_buf._y : 0 [by t._reset_B:=1]
107577 t.registers.read_write_demux.out_or._y : 1 [by t.registers._in_write.v:=0]
107587 t.registers.read_write_demux._out1_a_B : 1 [by t.registers._in_write.a:=0]
107598 t.registers.read_write_demux.out1_a_B_buf_f.buf1._y : 0 [by t.registers.read_write_demux._out1_a_B:=1]
107627 t.registers.read_write_demux.vc.ct.in[2] : 0 [by t.registers.read_write_demux.vc.OR2_tf[2]._y:=1]
107646 t.registers.read_write_demux._out_v : 0 [by t.registers.read_write_demux.out_or._y:=1]
107661 t.registers.read_write_demux._en : 1 [by t.registers.read_write_demux._out_v:=0]
107662 t.registers.read_write_demux.out2_en_buf_f.buf1._y : 0 [by t.registers.read_write_demux._en:=1]
107663 t.registers.read_write_demux.out2_a_B_buf_t.buf1._y : 0 [by t.registers.read_write_demux._out2_a_B:=1]
107698 t.registers.read_write_demux.out1_en_buf_t.buf1._y : 0 [by t.registers.read_write_demux._en:=1]
107703 t.registers.read_write_demux._out2_a_BX_f[0] : 1 [by t.registers.read_write_demux.out2_a_B_buf_t.buf1._y:=0]
107773 t.registers.read_write_demux.out1_en_buf_f.buf1._y : 0 [by t.registers.read_write_demux._en:=1]
107802 t.registers.read_write_demux._out1_a_BX_t[0] : 1 [by t.registers.read_write_demux.out1_a_B_buf_f.buf1._y:=0]
107860 t.registers.read_write_demux._en1_X_f[0] : 1 [by t.registers.read_write_demux.out1_en_buf_f.buf1._y:=0]
107955 t.registers.read_write_demux._en1_X_t[0] : 1 [by t.registers.read_write_demux.out1_en_buf_t.buf1._y:=0]
108400 t.registers.read_write_demux.out2_en_buf_t.buf1._y : 0 [by t.registers.read_write_demux._en:=1]
108694 t.registers.read_write_demux._en2_X_t[0] : 1 [by t.registers.read_write_demux.out2_en_buf_t.buf1._y:=0]
109314 t.registers.read_write_demux.out2_a_B_buf_f.buf1._y : 0 [by t.registers.read_write_demux._out2_a_B:=1]
109315 t.registers.read_write_demux._out2_a_BX_t[0] : 1 [by t.registers.read_write_demux.out2_a_B_buf_f.buf1._y:=0]
110509 t.registers.read_write_demux.c_f_c_t_or._y : 1 [by t.in.d.d[4].f:=0]
110519 t.registers.read_write_demux.vc.OR2_tf[1]._y : 1 [by t.in.d.d[1].t:=0]
111284 t.registers.read_write_demux._c_t_buf[0] : 0 [by t.registers.read_write_demux.c_buf_t.buf1._y:=1]
112315 t.registers.read_write_demux._c_v : 0 [by t.registers.read_write_demux.c_f_c_t_or._y:=1]
112526 t.registers.read_write_demux.vc.ct.in[1] : 0 [by t.registers.read_write_demux.vc.OR2_tf[1]._y:=1]
128090 t.registers.read_write_demux.vc.OR2_tf[3]._y : 1 [by t.in.d.d[3].t:=0]
129299 t.registers.read_write_demux.vc.ct.in[3] : 0 [by t.registers.read_write_demux.vc.OR2_tf[3]._y:=1]
129889 t.registers.read_write_demux.vc.ct.C2Els[1]._y : 1 [by t.registers.read_write_demux.vc.ct.in[3]:=0]
130067 t.registers.read_write_demux.vc.ct.tmp[5] : 0 [by t.registers.read_write_demux.vc.ct.C2Els[1]._y:=1]
143905 t.registers.read_write_demux._reset_BX : 1 [by t.registers.read_write_demux.reset_buf._y:=0]
144708 t.registers.read_write_demux.reset_bufarray.buf3._y : 0 [by t.registers.read_write_demux._reset_BX:=1]
144872 t.registers.read_write_demux._reset_BXX[0] : 1 [by t.registers.read_write_demux.reset_bufarray.buf3._y:=0]
151407 t.registers.read_write_demux.c_buf_f.buf1._y : 1 [by t.in.d.d[4].f:=0]
153602 t.registers.read_write_demux._c_f_buf[0] : 0 [by t.registers.read_write_demux.c_buf_f.buf1._y:=1]
155174 t.registers.read_write_demux._en2_X_f[0] : 1 [by t.registers.read_write_demux.out2_en_buf_f.buf1._y:=0]
159373 t.registers.read_write_demux.out1_a_B_buf_t.buf1._y : 0 [by t.registers.read_write_demux._out1_a_B:=1]
159395 t.registers.read_write_demux._out1_a_BX_f[0] : 1 [by t.registers.read_write_demux.out1_a_B_buf_t.buf1._y:=0]
160976 t.registers.read_write_demux.vc.OR2_tf[0]._y : 1 [by t.in.d.d[0].t:=0]
161823 t.registers.read_write_demux.vc.ct.in[0] : 0 [by t.registers.read_write_demux.vc.OR2_tf[0]._y:=1]
191951 t.registers.read_write_demux.vc.ct.C2Els[0]._y : 1 [by t.registers.read_write_demux.vc.ct.in[0]:=0]
192084 t.registers.read_write_demux.vc.ct.tmp[4] : 0 [by t.registers.read_write_demux.vc.ct.C2Els[0]._y:=1]
207746 t.registers.read_write_demux.vc.ct.C2Els[2]._y : 1 [by t.registers.read_write_demux.vc.ct.tmp[4]:=0]
208105 t.registers.read_write_demux._in_v : 0 [by t.registers.read_write_demux.vc.ct.C2Els[2]._y:=1]
208326 t.registers.read_write_demux.c_el._y : 1 [by t.registers.read_write_demux._in_v:=0]
208333 t.registers.read_write_demux._in_c_v_ : 0 [by t.registers.read_write_demux.c_el._y:=1]
222221 t.registers.read_write_demux.in_v_buf._y : 1 [by t.registers.read_write_demux._in_v:=0]
222251 t.in.v : 0 [by t.registers.read_write_demux.in_v_buf._y:=1]
[1] reset completed
210242 t.dly_cfg[0] : 1
210242 t.dly_cfg[1] : 1
210243 t.registers.ack_dly.mu2[1]._s : 0 [by t.dly_cfg[1]:=1]
210244 t.registers.ack_dly.mu2[0]._s : 0 [by t.dly_cfg[0]:=1]
210790 t.registers.clk_dly.mu2[1]._s : 0 [by t.dly_cfg[1]:=1]
254159 t.registers.clk_dly.mu2[0]._s : 0 [by t.dly_cfg[0]:=1]
254170 t.registers.clk_dly.mu2[0]._y : 1 [by t.registers.clk_dly.mu2[0]._s:=0]
254540 t.registers.clk_dly._a[1] : 0 [by t.registers.clk_dly.mu2[0]._y:=1]
254607 t.registers.clk_dly.and2[1]._y : 1 [by t.registers.clk_dly._a[1]:=0]
257248 t.registers.clk_dly.dly[1].a : 0 [by t.registers.clk_dly.and2[1]._y:=1]
257264 t.registers.clk_dly.dly[1]._y : 1 [by t.registers.clk_dly.dly[1].a:=0]
261826 t.registers.clk_dly.dly[1].__y : 0 [by t.registers.clk_dly.dly[1]._y:=1]
262354 t.registers.clk_dly.dly[1].___y : 1 [by t.registers.clk_dly.dly[1].__y:=0]
264789 t.registers.clk_dly.dly[1].y : 0 [by t.registers.clk_dly.dly[1].___y:=1]
291669 t.registers.clk_dly.dly[2]._y : 1 [by t.registers.clk_dly.dly[1].y:=0]
315594 t.registers.clk_dly.dly[2].__y : 0 [by t.registers.clk_dly.dly[2]._y:=1]
328635 t.registers.clk_dly.dly[2].___y : 1 [by t.registers.clk_dly.dly[2].__y:=0]
328637 t.registers.clk_dly.dly[2].y : 0 [by t.registers.clk_dly.dly[2].___y:=1]
389595 t.registers.clk_dly.mu2[1]._y : 1 [by t.registers.clk_dly.dly[2].y:=0]
389598 t.registers._clock_temp : 0 [by t.registers.clk_dly.mu2[1]._y:=1]
389627 t.registers._clock_temp_inv : 1 [by t.registers._clock_temp:=0]
389944 t.registers.clk_X.buf1._y : 0 [by t.registers._clock_temp_inv:=1]
391545 t.registers._clock : 1 [by t.registers.clk_X.buf1._y:=0]
391698 t.registers.ack_dly.and2[0]._y : 0 [by t.registers._clock:=1]
391742 t.registers.ack_dly.dly[0].a : 1 [by t.registers.ack_dly.and2[0]._y:=0]
394503 t.registers.ack_dly.dly[0]._y : 0 [by t.registers.ack_dly.dly[0].a:=1]
408186 t.registers.ack_dly.dly[0].__y : 1 [by t.registers.ack_dly.dly[0]._y:=0]
408187 t.registers.ack_dly.dly[0].___y : 0 [by t.registers.ack_dly.dly[0].__y:=1]
408404 t.registers.ack_dly.dly[0].y : 1 [by t.registers.ack_dly.dly[0].___y:=0]
408426 t.registers.ack_dly.mu2[0]._y : 0 [by t.registers.ack_dly.dly[0].y:=1]
408427 t.registers.ack_dly._a[1] : 1 [by t.registers.ack_dly.mu2[0]._y:=0]
410008 t.registers.ack_dly.and2[1]._y : 0 [by t.registers.ack_dly._a[1]:=1]
419353 t.registers.ack_dly.dly[1].a : 1 [by t.registers.ack_dly.and2[1]._y:=0]
419512 t.registers.ack_dly.dly[1]._y : 0 [by t.registers.ack_dly.dly[1].a:=1]
439188 t.registers.ack_dly.dly[1].__y : 1 [by t.registers.ack_dly.dly[1]._y:=0]
440475 t.registers.ack_dly.dly[1].___y : 0 [by t.registers.ack_dly.dly[1].__y:=1]
442707 t.registers.ack_dly.dly[1].y : 1 [by t.registers.ack_dly.dly[1].___y:=0]
442852 t.registers.ack_dly.dly[2]._y : 0 [by t.registers.ack_dly.dly[1].y:=1]
445684 t.registers.ack_dly.dly[2].__y : 1 [by t.registers.ack_dly.dly[2]._y:=0]
452038 t.registers.ack_dly.dly[2].___y : 0 [by t.registers.ack_dly.dly[2].__y:=1]
452039 t.registers.ack_dly.dly[2].y : 1 [by t.registers.ack_dly.dly[2].___y:=0]
491323 t.registers.ack_dly.mu2[1]._y : 0 [by t.registers.ack_dly.dly[2].y:=1]
491485 t.registers._in_a_temp : 1 [by t.registers.ack_dly.mu2[1]._y:=0]
498854 t.registers.ack_input_X.buf1._y : 0 [by t.registers._in_a_temp:=1]
498868 t.in.a : 1 [by t.registers.ack_input_X.buf1._y:=0]
222251 t.dly_cfg[0] : 1
222251 t.dly_cfg[1] : 1
[2] delay line set
498868 t.registers.ff[0].d : 1
498868 t.in.d.d[4].f : 1
498868 t.registers.atree[0].in[0] : 1
498868 t.registers.ff[1].d : 1
498868 t.registers.atree[0].in[1] : 1
498869 t.registers.val_input.OR2_tf[1]._y : 0 [by t.registers.ff[1].d:=1]
498869 t.registers.val_input.OR2_tf[3]._y : 0 [by t.registers.atree[0].in[1]:=1]
498869 t.registers.atree[0].and2s[0]._y : 0 [by t.registers.atree[0].in[1]:=1]
498870 t.registers._out_encoder[0] : 1 [by t.registers.atree[0].and2s[0]._y:=0]
498875 t.registers.val_input.OR2_tf[0]._y : 0 [by t.registers.ff[0].d:=1]
499028 t.registers.val_input.OR2_tf[4]._y : 0 [by t.in.d.d[4].f:=1]
499029 t.registers.val_input.ct.in[4] : 1 [by t.registers.val_input.OR2_tf[4]._y:=0]
499056 t.registers.val_input.ct.in[3] : 1 [by t.registers.val_input.OR2_tf[3]._y:=0]
501112 t.registers.val_input.ct.in[1] : 1 [by t.registers.val_input.OR2_tf[1]._y:=0]
503052 t.registers.and_encoder[0]._y : 0 [by t.registers._out_encoder[0]:=1]
503905 t.registers._clock_word_temp[0] : 1 [by t.registers.and_encoder[0]._y:=0]
503910 t.registers.clock_buffer[0].buf1._y : 0 [by t.registers._clock_word_temp[0]:=1]
504801 t.registers.ff[0].clk_B : 1 [by t.registers.clock_buffer[0].buf1._y:=0]
504802 t.registers.ff[0]._clk_B : 0 [by t.registers.ff[0].clk_B:=1]
504818 t.registers.ff[1]._clk_B : 0 [by t.registers.ff[0].clk_B:=1]
507375 t.registers.ff[0].__clk_B : 1 [by t.registers.ff[0]._clk_B:=0]
507378 t.registers.ff[0]._mqib : 0 [by t.registers.ff[0].__clk_B:=1]
508319 t.registers.ff[0]._mqi : 1 [by t.registers.ff[0]._mqib:=0]
513179 t.registers.ff[1].__clk_B : 1 [by t.registers.ff[1]._clk_B:=0]
520425 t.registers.val_input.OR2_tf[2]._y : 0 [by t.registers.atree[0].in[0]:=1]
520426 t.registers.val_input.ct.in[2] : 1 [by t.registers.val_input.OR2_tf[2]._y:=0]
520468 t.registers.val_input.ct.C3Els[0]._y : 0 [by t.registers.val_input.ct.in[2]:=1]
523285 t.registers.val_input.ct.tmp[6] : 1 [by t.registers.val_input.ct.C3Els[0]._y:=0]
533657 t.registers.val_input.ct.in[0] : 1 [by t.registers.val_input.OR2_tf[0]._y:=0]
547390 t.registers.val_input.ct.C2Els[0]._y : 0 [by t.registers.val_input.ct.in[0]:=1]
547485 t.registers.val_input.ct.tmp[5] : 1 [by t.registers.val_input.ct.C2Els[0]._y:=0]
547820 t.registers.val_input.ct.C2Els[1]._y : 0 [by t.registers.val_input.ct.tmp[5]:=1]
547828 t.registers._in_v_temp : 1 [by t.registers.val_input.ct.C2Els[1]._y:=0]
547862 t.registers.clk_dly.and2[0]._y : 0 [by t.registers._in_v_temp:=1]
548780 t.registers.clk_dly.dly[0].a : 1 [by t.registers.clk_dly.and2[0]._y:=0]
548784 t.registers.clk_dly.dly[0]._y : 0 [by t.registers.clk_dly.dly[0].a:=1]
561715 t.registers.val_input_X.buf1._y : 0 [by t.registers._in_v_temp:=1]
564113 t.in.v : 1 [by t.registers.val_input_X.buf1._y:=0]
572141 t.registers.ff[1]._mqib : 0 [by t.registers.ff[1].__clk_B:=1]
575356 t.registers.ff[1]._mqi : 1 [by t.registers.ff[1]._mqib:=0]
595162 t.registers.clk_dly.dly[0].__y : 1 [by t.registers.clk_dly.dly[0]._y:=0]
642281 t.registers.clk_dly.dly[0].___y : 0 [by t.registers.clk_dly.dly[0].__y:=1]
642329 t.registers.clk_dly.dly[0].y : 1 [by t.registers.clk_dly.dly[0].___y:=0]
642332 t.registers.clk_dly.mu2[0]._y : 0 [by t.registers.clk_dly.dly[0].y:=1]
642510 t.registers.clk_dly._a[1] : 1 [by t.registers.clk_dly.mu2[0]._y:=0]
663487 t.registers.clk_dly.and2[1]._y : 0 [by t.registers.clk_dly._a[1]:=1]
675386 t.registers.clk_dly.dly[1].a : 1 [by t.registers.clk_dly.and2[1]._y:=0]
681337 t.registers.clk_dly.dly[1]._y : 0 [by t.registers.clk_dly.dly[1].a:=1]
720822 t.registers.clk_dly.dly[1].__y : 1 [by t.registers.clk_dly.dly[1]._y:=0]
721649 t.registers.clk_dly.dly[1].___y : 0 [by t.registers.clk_dly.dly[1].__y:=1]
721822 t.registers.clk_dly.dly[1].y : 1 [by t.registers.clk_dly.dly[1].___y:=0]
722006 t.registers.clk_dly.dly[2]._y : 0 [by t.registers.clk_dly.dly[1].y:=1]
722007 t.registers.clk_dly.dly[2].__y : 1 [by t.registers.clk_dly.dly[2]._y:=0]
722080 t.registers.clk_dly.dly[2].___y : 0 [by t.registers.clk_dly.dly[2].__y:=1]
722084 t.registers.clk_dly.dly[2].y : 1 [by t.registers.clk_dly.dly[2].___y:=0]
759372 t.registers.clk_dly.mu2[1]._y : 0 [by t.registers.clk_dly.dly[2].y:=1]
759468 t.registers._clock_temp : 1 [by t.registers.clk_dly.mu2[1]._y:=0]
759604 t.registers._clock_temp_inv : 0 [by t.registers._clock_temp:=1]
759605 t.registers.clk_X.buf1._y : 1 [by t.registers._clock_temp_inv:=0]
778651 t.registers._clock : 0 [by t.registers.clk_X.buf1._y:=1]
778892 t.registers.and_encoder[0]._y : 1 [by t.registers._clock:=0]
778904 t.registers._clock_word_temp[0] : 0 [by t.registers.and_encoder[0]._y:=1]
782610 t.registers.ack_dly.and2[0]._y : 1 [by t.registers._clock:=0]
782804 t.registers.clock_buffer[0].buf1._y : 1 [by t.registers._clock_word_temp[0]:=0]
782805 t.registers.ff[0].clk_B : 0 [by t.registers.clock_buffer[0].buf1._y:=1]
782861 t.registers.ff[0]._clk_B : 1 [by t.registers.ff[0].clk_B:=0]
782862 t.registers.ff[0].__clk_B : 0 [by t.registers.ff[0]._clk_B:=1]
782898 t.registers.ff[0]._sqib : 0 [by t.registers.ff[0]._clk_B:=1]
782899 t.data[0].d[0] : 1 [by t.registers.ff[0]._sqib:=0]
783639 t.registers.ack_dly.dly[0].a : 0 [by t.registers.ack_dly.and2[0]._y:=1]
787203 t.registers.ack_dly.dly[0]._y : 1 [by t.registers.ack_dly.dly[0].a:=0]
788895 t.registers.ack_dly.dly[0].__y : 0 [by t.registers.ack_dly.dly[0]._y:=1]
788908 t.registers.ack_dly.dly[0].___y : 1 [by t.registers.ack_dly.dly[0].__y:=0]
805892 t.registers.ack_dly.dly[0].y : 0 [by t.registers.ack_dly.dly[0].___y:=1]
806249 t.registers.ack_dly.mu2[0]._y : 1 [by t.registers.ack_dly.dly[0].y:=0]
806273 t.registers.ff[0]._sqi : 1 [by t.registers.ff[0]._sqib:=0]
806274 t.registers.ack_dly._a[1] : 0 [by t.registers.ack_dly.mu2[0]._y:=1]
806295 t.registers.ack_dly.and2[1]._y : 1 [by t.registers.ack_dly._a[1]:=0]
806296 t.registers.ack_dly.dly[1].a : 0 [by t.registers.ack_dly.and2[1]._y:=1]
815944 t.registers.ack_dly.dly[1]._y : 1 [by t.registers.ack_dly.dly[1].a:=0]
815945 t.registers.ack_dly.dly[1].__y : 0 [by t.registers.ack_dly.dly[1]._y:=1]
815946 t.registers.ack_dly.dly[1].___y : 1 [by t.registers.ack_dly.dly[1].__y:=0]
816107 t.registers.ack_dly.dly[1].y : 0 [by t.registers.ack_dly.dly[1].___y:=1]
817144 t.registers.ack_dly.dly[2]._y : 1 [by t.registers.ack_dly.dly[1].y:=0]
817149 t.registers.ack_dly.dly[2].__y : 0 [by t.registers.ack_dly.dly[2]._y:=1]
817730 t.registers.ack_dly.dly[2].___y : 1 [by t.registers.ack_dly.dly[2].__y:=0]
818138 t.registers.ack_dly.dly[2].y : 0 [by t.registers.ack_dly.dly[2].___y:=1]
818149 t.registers.ack_dly.mu2[1]._y : 1 [by t.registers.ack_dly.dly[2].y:=0]
819196 t.registers._in_a_temp : 0 [by t.registers.ack_dly.mu2[1]._y:=1]
819210 t.registers.ack_input_X.buf1._y : 1 [by t.registers._in_a_temp:=0]
819228 t.in.a : 0 [by t.registers.ack_input_X.buf1._y:=1]
827811 t.registers.ff[1]._clk_B : 1 [by t.registers.ff[0].clk_B:=0]
827815 t.registers.ff[1].__clk_B : 0 [by t.registers.ff[1]._clk_B:=1]
827915 t.registers.ff[1]._sqib : 0 [by t.registers.ff[1]._clk_B:=1]
829119 t.data[0].d[1] : 1 [by t.registers.ff[1]._sqib:=0]
859359 t.registers.ff[1]._sqi : 1 [by t.registers.ff[1]._sqib:=0]
859359 t.registers.ff[0].d : 0
859359 t.in.d.d[4].f : 0
859359 t.registers.atree[0].in[0] : 0
859359 t.registers.ff[1].d : 0
859359 t.registers.atree[0].in[1] : 0
859429 t.registers.val_input.OR2_tf[1]._y : 1 [by t.registers.ff[1].d:=0]
859440 t.registers.val_input.ct.in[1] : 0 [by t.registers.val_input.OR2_tf[1]._y:=1]
859587 t.registers.val_input.OR2_tf[4]._y : 1 [by t.in.d.d[4].f:=0]
859590 t.registers.val_input.ct.in[4] : 0 [by t.registers.val_input.OR2_tf[4]._y:=1]
860202 t.registers.atree[0].and2s[0]._y : 1 [by t.registers.atree[0].in[0]:=0]
860256 t.registers._out_encoder[0] : 0 [by t.registers.atree[0].and2s[0]._y:=1]
860818 t.registers.val_input.OR2_tf[2]._y : 1 [by t.registers.atree[0].in[0]:=0]
861966 t.registers.val_input.ct.in[2] : 0 [by t.registers.val_input.OR2_tf[2]._y:=1]
867814 t.registers.val_input.OR2_tf[0]._y : 1 [by t.registers.ff[0].d:=0]
868975 t.registers.val_input.ct.in[0] : 0 [by t.registers.val_input.OR2_tf[0]._y:=1]
877627 t.registers.val_input.ct.C2Els[0]._y : 1 [by t.registers.val_input.ct.in[0]:=0]
877708 t.registers.val_input.ct.tmp[5] : 0 [by t.registers.val_input.ct.C2Els[0]._y:=1]
909781 t.registers.val_input.OR2_tf[3]._y : 1 [by t.registers.atree[0].in[1]:=0]
920858 t.registers.val_input.ct.in[3] : 0 [by t.registers.val_input.OR2_tf[3]._y:=1]
938841 t.registers.val_input.ct.C3Els[0]._y : 1 [by t.registers.val_input.ct.in[3]:=0]
938933 t.registers.val_input.ct.tmp[6] : 0 [by t.registers.val_input.ct.C3Els[0]._y:=1]
947244 t.registers.val_input.ct.C2Els[1]._y : 1 [by t.registers.val_input.ct.tmp[6]:=0]
948988 t.registers._in_v_temp : 0 [by t.registers.val_input.ct.C2Els[1]._y:=1]
949601 t.registers.clk_dly.and2[0]._y : 1 [by t.registers._in_v_temp:=0]
949646 t.registers.clk_dly.dly[0].a : 0 [by t.registers.clk_dly.and2[0]._y:=1]
950643 t.registers.clk_dly.dly[0]._y : 1 [by t.registers.clk_dly.dly[0].a:=0]
952292 t.registers.clk_dly.dly[0].__y : 0 [by t.registers.clk_dly.dly[0]._y:=1]
952817 t.registers.clk_dly.dly[0].___y : 1 [by t.registers.clk_dly.dly[0].__y:=0]
953717 t.registers.clk_dly.dly[0].y : 0 [by t.registers.clk_dly.dly[0].___y:=1]
953769 t.registers.clk_dly.mu2[0]._y : 1 [by t.registers.clk_dly.dly[0].y:=0]
953776 t.registers.clk_dly._a[1] : 0 [by t.registers.clk_dly.mu2[0]._y:=1]
963010 t.registers.val_input_X.buf1._y : 1 [by t.registers._in_v_temp:=0]
969388 t.registers.clk_dly.and2[1]._y : 1 [by t.registers.clk_dly._a[1]:=0]
969390 t.registers.clk_dly.dly[1].a : 0 [by t.registers.clk_dly.and2[1]._y:=1]
969477 t.in.v : 0 [by t.registers.val_input_X.buf1._y:=1]
969744 t.registers.clk_dly.dly[1]._y : 1 [by t.registers.clk_dly.dly[1].a:=0]
969877 t.registers.clk_dly.dly[1].__y : 0 [by t.registers.clk_dly.dly[1]._y:=1]
969878 t.registers.clk_dly.dly[1].___y : 1 [by t.registers.clk_dly.dly[1].__y:=0]
969882 t.registers.clk_dly.dly[1].y : 0 [by t.registers.clk_dly.dly[1].___y:=1]
970428 t.registers.clk_dly.dly[2]._y : 1 [by t.registers.clk_dly.dly[1].y:=0]
1015991 t.registers.clk_dly.dly[2].__y : 0 [by t.registers.clk_dly.dly[2]._y:=1]
1015992 t.registers.clk_dly.dly[2].___y : 1 [by t.registers.clk_dly.dly[2].__y:=0]
1028370 t.registers.clk_dly.dly[2].y : 0 [by t.registers.clk_dly.dly[2].___y:=1]
1028449 t.registers.clk_dly.mu2[1]._y : 1 [by t.registers.clk_dly.dly[2].y:=0]
1030882 t.registers._clock_temp : 0 [by t.registers.clk_dly.mu2[1]._y:=1]
1030970 t.registers._clock_temp_inv : 1 [by t.registers._clock_temp:=0]
1038752 t.registers.clk_X.buf1._y : 0 [by t.registers._clock_temp_inv:=1]
1067079 t.registers._clock : 1 [by t.registers.clk_X.buf1._y:=0]
1067138 t.registers.ack_dly.and2[0]._y : 0 [by t.registers._clock:=1]
1067168 t.registers.ack_dly.dly[0].a : 1 [by t.registers.ack_dly.and2[0]._y:=0]
1068635 t.registers.ack_dly.dly[0]._y : 0 [by t.registers.ack_dly.dly[0].a:=1]
1128139 t.registers.ack_dly.dly[0].__y : 1 [by t.registers.ack_dly.dly[0]._y:=0]
1147523 t.registers.ack_dly.dly[0].___y : 0 [by t.registers.ack_dly.dly[0].__y:=1]
1148208 t.registers.ack_dly.dly[0].y : 1 [by t.registers.ack_dly.dly[0].___y:=0]
1164923 t.registers.ack_dly.mu2[0]._y : 0 [by t.registers.ack_dly.dly[0].y:=1]
1165050 t.registers.ack_dly._a[1] : 1 [by t.registers.ack_dly.mu2[0]._y:=0]
1165219 t.registers.ack_dly.and2[1]._y : 0 [by t.registers.ack_dly._a[1]:=1]
1165262 t.registers.ack_dly.dly[1].a : 1 [by t.registers.ack_dly.and2[1]._y:=0]
1165274 t.registers.ack_dly.dly[1]._y : 0 [by t.registers.ack_dly.dly[1].a:=1]
1166553 t.registers.ack_dly.dly[1].__y : 1 [by t.registers.ack_dly.dly[1]._y:=0]
1166786 t.registers.ack_dly.dly[1].___y : 0 [by t.registers.ack_dly.dly[1].__y:=1]
1166789 t.registers.ack_dly.dly[1].y : 1 [by t.registers.ack_dly.dly[1].___y:=0]
1166827 t.registers.ack_dly.dly[2]._y : 0 [by t.registers.ack_dly.dly[1].y:=1]
1166828 t.registers.ack_dly.dly[2].__y : 1 [by t.registers.ack_dly.dly[2]._y:=0]
1179580 t.registers.ack_dly.dly[2].___y : 0 [by t.registers.ack_dly.dly[2].__y:=1]
1179672 t.registers.ack_dly.dly[2].y : 1 [by t.registers.ack_dly.dly[2].___y:=0]
1182399 t.registers.ack_dly.mu2[1]._y : 0 [by t.registers.ack_dly.dly[2].y:=1]
1182401 t.registers._in_a_temp : 1 [by t.registers.ack_dly.mu2[1]._y:=0]
1182402 t.registers.ack_input_X.buf1._y : 0 [by t.registers._in_a_temp:=1]
1183903 t.in.a : 1 [by t.registers.ack_input_X.buf1._y:=0]
222251 t.in.d.d[0].t : 1
222251 t.in.d.d[4].t : 1
222251 t.in.d.d[2].f : 1
222251 t.in.d.d[1].t : 1
222251 t.in.d.d[3].f : 1
222258 t.registers.read_write_demux.vc.OR2_tf[1]._y : 0 [by t.in.d.d[1].t:=1]
222342 t.registers.read_write_demux.c_f_c_t_or._y : 0 [by t.in.d.d[4].t:=1]
222364 t.registers.read_write_demux.vc.ct.in[1] : 1 [by t.registers.read_write_demux.vc.OR2_tf[1]._y:=0]
222420 t.registers.read_write_demux._c_v : 1 [by t.registers.read_write_demux.c_f_c_t_or._y:=0]
224440 t.registers.read_write_demux.vc.OR2_tf[2]._y : 0 [by t.in.d.d[2].f:=1]
224715 t.registers.read_write_demux.vc.ct.in[2] : 1 [by t.registers.read_write_demux.vc.OR2_tf[2]._y:=0]
225038 t.registers.read_write_demux.vc.OR2_tf[3]._y : 0 [by t.in.d.d[3].f:=1]
228964 t.registers.read_write_demux.vc.OR2_tf[0]._y : 0 [by t.in.d.d[0].t:=1]
229419 t.registers.read_write_demux.vc.ct.in[0] : 1 [by t.registers.read_write_demux.vc.OR2_tf[0]._y:=0]
229431 t.registers.read_write_demux.vc.ct.C2Els[0]._y : 0 [by t.registers.read_write_demux.vc.ct.in[0]:=1]
229835 t.registers.read_write_demux.vc.ct.tmp[4] : 1 [by t.registers.read_write_demux.vc.ct.C2Els[0]._y:=0]
244034 t.registers.read_write_demux.vc.ct.in[3] : 1 [by t.registers.read_write_demux.vc.OR2_tf[3]._y:=0]
244046 t.registers.read_write_demux.vc.ct.C2Els[1]._y : 0 [by t.registers.read_write_demux.vc.ct.in[3]:=1]
249962 t.registers.read_write_demux.vc.ct.tmp[5] : 1 [by t.registers.read_write_demux.vc.ct.C2Els[1]._y:=0]
254238 t.registers.read_write_demux.vc.ct.C2Els[2]._y : 0 [by t.registers.read_write_demux.vc.ct.tmp[5]:=1]
257137 t.registers.read_write_demux._in_v : 1 [by t.registers.read_write_demux.vc.ct.C2Els[2]._y:=0]
257139 t.registers.read_write_demux.c_el._y : 0 [by t.registers.read_write_demux._in_v:=1]
261432 t.registers.read_write_demux.in_v_buf._y : 0 [by t.registers.read_write_demux._in_v:=1]
261674 t.registers.read_write_demux._in_c_v_ : 1 [by t.registers.read_write_demux.c_el._y:=0]
262681 t.in.v : 1 [by t.registers.read_write_demux.in_v_buf._y:=0]
279712 t.registers.read_write_demux.c_buf_t.buf1._y : 0 [by t.in.d.d[4].t:=1]
283211 t.registers.read_write_demux._c_t_buf[0] : 1 [by t.registers.read_write_demux.c_buf_t.buf1._y:=0]
283286 t.registers.read_write_demux.out1_f_buf_func[3]._y : 0 [by t.registers.read_write_demux._c_t_buf[0]:=1]
283349 t.registers.read_write_demux.out1_t_buf_func[1]._y : 0 [by t.registers.read_write_demux._c_t_buf[0]:=1]
283351 t.registers.read_write_demux.out1_t_buf_func[1].y : 1 [by t.registers.read_write_demux.out1_t_buf_func[1]._y:=0]
283377 t.registers.read_write_demux.out1_f_buf_func[2]._y : 0 [by t.registers.read_write_demux._c_t_buf[0]:=1]
283556 t.registers.read_write_demux.out1_t_buf_func[0]._y : 0 [by t.registers.read_write_demux._c_t_buf[0]:=1]
283557 t.registers.read_write_demux.out1_t_buf_func[0].y : 1 [by t.registers.read_write_demux.out1_t_buf_func[0]._y:=0]
288549 t.registers.read_write_demux.out1_f_buf_func[3].y : 1 [by t.registers.read_write_demux.out1_f_buf_func[3]._y:=0]
327294 t.registers.read_write_demux.out1_f_buf_func[2].y : 1 [by t.registers.read_write_demux.out1_f_buf_func[2]._y:=0]
Node `t.registers._clock' not found
Node `t.registers._out_encoder[0]' not found
Node `t.registers._out_encoder[1]' not found
Node `t.registers._out_encoder[2]' not found
Node `t.registers._out_encoder[3]' not found
327294 t.in.d.d[0].t : 0
327294 t.in.d.d[4].t : 0
327294 t.in.d.d[2].f : 0
327294 t.in.d.d[1].t : 0
327294 t.in.d.d[3].f : 0
327305 t.registers.read_write_demux.c_buf_t.buf1._y : 1 [by t.in.d.d[4].t:=0]
327310 t.registers.read_write_demux.vc.OR2_tf[3]._y : 1 [by t.in.d.d[3].f:=0]
327361 t.registers.read_write_demux.vc.OR2_tf[2]._y : 1 [by t.in.d.d[2].f:=0]
327664 t.registers.read_write_demux.c_f_c_t_or._y : 1 [by t.in.d.d[4].t:=0]
327838 t.registers.read_write_demux.vc.ct.in[3] : 0 [by t.registers.read_write_demux.vc.OR2_tf[3]._y:=1]
327842 t.registers.read_write_demux.vc.OR2_tf[0]._y : 1 [by t.in.d.d[0].t:=0]
329796 t.registers.read_write_demux.vc.ct.in[2] : 0 [by t.registers.read_write_demux.vc.OR2_tf[2]._y:=1]
329935 t.registers.read_write_demux.vc.OR2_tf[1]._y : 1 [by t.in.d.d[1].t:=0]
329937 t.registers.read_write_demux.vc.ct.in[1] : 0 [by t.registers.read_write_demux.vc.OR2_tf[1]._y:=1]
331867 t.registers.read_write_demux._c_t_buf[0] : 0 [by t.registers.read_write_demux.c_buf_t.buf1._y:=1]
342837 t.registers.read_write_demux.vc.ct.C2Els[1]._y : 1 [by t.registers.read_write_demux.vc.ct.in[2]:=0]
351767 t.registers.read_write_demux.vc.ct.in[0] : 0 [by t.registers.read_write_demux.vc.OR2_tf[0]._y:=1]
351770 t.registers.read_write_demux.vc.ct.C2Els[0]._y : 1 [by t.registers.read_write_demux.vc.ct.in[0]:=0]
351799 t.registers.read_write_demux.vc.ct.tmp[4] : 0 [by t.registers.read_write_demux.vc.ct.C2Els[0]._y:=1]
354544 t.registers.read_write_demux._c_v : 0 [by t.registers.read_write_demux.c_f_c_t_or._y:=1]
403795 t.registers.read_write_demux.vc.ct.tmp[5] : 0 [by t.registers.read_write_demux.vc.ct.C2Els[1]._y:=1]
404112 t.registers.read_write_demux.vc.ct.C2Els[2]._y : 1 [by t.registers.read_write_demux.vc.ct.tmp[5]:=0]
405713 t.registers.read_write_demux._in_v : 0 [by t.registers.read_write_demux.vc.ct.C2Els[2]._y:=1]
405757 t.registers.read_write_demux.c_el._y : 1 [by t.registers.read_write_demux._in_v:=0]
405866 t.registers.read_write_demux.in_v_buf._y : 1 [by t.registers.read_write_demux._in_v:=0]
408518 t.registers.read_write_demux._in_c_v_ : 0 [by t.registers.read_write_demux.c_el._y:=1]
419549 t.in.v : 0 [by t.registers.read_write_demux.in_v_buf._y:=1]
[3] clock checked
Node `t.registers._clock' not found
Node `t.registers.ff[0].q' not found
Node `t.registers.ff[1].q' not found

File diff suppressed because it is too large Load Diff

View File

@ -33,7 +33,7 @@ open tmpl::dataflow_neuro;
// 2 bits encoder, 2 bits long words, 2 delays????
defproc register_test (avMx1of2<1+2+2> in; d1of<2> data[1<<2]; bool? dly_cfg[2]){
register_rw<2,2,2> registers(.in=in,.data = data);
register_rw_v2<2,2,2> registers(.in=in,.data = data);
//Low active Reset
bool _reset_B;
power _supply;

View File

@ -2,10 +2,17 @@ watchall
system "echo '[0] start test'"
set-qdi-channel-neutral "t.in" 5
set-qdi-channel-neutral "t._in_write" 5
set-qdi-channel-neutral "t._in_read" 5
set t.data[0].d[0] 0
set t.data[0].d[1] 0
set t.data[1].d[0] 0
set t.data[1].d[1] 0
set t.registers._in_write.a 0
set t.registers._in_read.a 0
set t.registers._in_write.v 0
set t.registers._in_read.v 0
set Reset 0
cycle
status X
@ -23,9 +30,9 @@ set t.dly_cfg[1] 1
cycle
assert-qdi-channel-neutral "t.in" 5
system "echo '[2] delay line set'"
set-qdi-channel-valid "t.in" 5 3
set-qdi-channel-valid "t.in" 5 19
cycle
assert-qdi-channel-valid "t.in" 5 3
assert-qdi-channel-valid "t.registers._in_write" 4 3
assert t.registers._clock 0
assert t.registers._out_encoder[0] 1
assert t.registers._out_encoder[1] 0