encoder in register works
This commit is contained in:
@ -83,9 +83,9 @@ defproc register_rw (avMx1of2<1+log_nw+wl> in; d1of<wl> data[2<<log_nw]; power s
|
||||
(pin_idx:log_nw:
|
||||
_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+1].t;
|
||||
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+1].f;
|
||||
atree[_word_idx].in[pin_idx] = in.d.d[pin_idx+wl].f;
|
||||
[]_bitval >= 2 -> {false : "fuck"};
|
||||
]
|
||||
)
|
||||
@ -98,15 +98,7 @@ defproc register_rw (avMx1of2<1+log_nw+wl> in; d1of<wl> data[2<<log_nw]; power s
|
||||
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[_bit_idx*(1+_word_idx)].clk = clock_buffer[_word_idx].out[_bit_idx];
|
||||
ff[_bit_idx*(1+_word_idx)].d = in.d.d[_bit_idx+1+log_nw].t;
|
||||
ff[_bit_idx*(1+_word_idx)].q = data[_word_idx].d[_bit_idx];
|
||||
ff[_bit_idx*(1+_word_idx)].reset_B = _reset_mem_BXX[_bit_idx*(1+_word_idx)];
|
||||
ff[_bit_idx*(1+_word_idx)].vdd = supply.vdd;
|
||||
ff[_bit_idx*(1+_word_idx)].vss = supply.vss;
|
||||
)
|
||||
|
||||
)
|
||||
}
|
||||
}}
|
||||
|
Reference in New Issue
Block a user