removed unused cells
This commit is contained in:
parent
51327289a7
commit
76e0e22356
@ -147,23 +147,6 @@ defproc decoder_dualrail_refresh (Mx1of2<Nc> in; bool? out[N]; Mx1of2<Nc> final_
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Dualrail decoder with buffered outputs.
|
||||
* Be careful of out[] indexing.
|
||||
*/
|
||||
export template<pint Nc, N, OUT_STRENGTH>
|
||||
defproc decoder_dualrail_x(Mx1of2<Nc> in; bool? out[N]; power supply) {
|
||||
decoder_dualrail<Nc, N> decoder(.in = in, .supply = supply);
|
||||
sigbuf<OUT_STRENGTH> sb[N];
|
||||
(i:N:
|
||||
sb[i].in = decoder.out[i];
|
||||
sb[i].supply = supply;
|
||||
sb[i].out[0] = out[i];
|
||||
// (j:OUT_STRENGTH:
|
||||
// sb[i].out[j] = out[j + i*OUT_STRENGTH];
|
||||
// )
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Dualrail decoder with on/off switch.
|
||||
@ -210,6 +193,9 @@ defproc decoder_dualrail_en(Mx1of2<Nc> in; bool? en, out[N]; power supply) {
|
||||
|
||||
|
||||
/**
|
||||
* @TODO check that this is definitely exactly the same as hybrid, maybe keep
|
||||
*
|
||||
*
|
||||
* 2D decoder which uses a configurable delay from the VCtrees to buffer ack.
|
||||
* Nx is the x size of the decoder array
|
||||
* NxC is the number of wires in the x channel.
|
||||
@ -700,67 +686,6 @@ defproc decoder_2d_hybrid (avMx1of2<NxC+NyC> in; bool! out_req_x[Nx], out_req_y[
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Buffer function code.
|
||||
* Is the function block ripped from the buffer_s.
|
||||
* Used in the encoder2d.
|
||||
*/
|
||||
export template<pint N>
|
||||
defproc buffer_s_func (Mx1of2<N> in; avMx1of2<N> out; bool? in_v, en, reset_B; power supply) {
|
||||
//function
|
||||
bool _out_a_BX_t[N],_out_a_BX_f[N],_out_a_B,_en_X_t[N],_en_X_f[N], _in_vX;
|
||||
// bool _in_vXX_t[N],_in_vXX_f[N];
|
||||
|
||||
|
||||
A_2C2N_RB_X4 f_buf_func[N];
|
||||
A_2C2N_RB_X4 t_buf_func[N];
|
||||
|
||||
// reset buffers
|
||||
bool _reset_BX,_reset_BXX[N*2];
|
||||
BUF_X1 reset_buf(.a=reset_B, .y=_reset_BX,.vdd=supply.vdd,.vss=supply.vss);
|
||||
sigbuf<N*2> reset_bufarray(.in=_reset_BX, .out=_reset_BXX, .supply=supply);
|
||||
|
||||
// Enable signal buffers
|
||||
sigbuf<N> en_buf_t(.in=en, .out=_en_X_t, .supply=supply);
|
||||
sigbuf<N> en_buf_f(.in=en, .out=_en_X_f, .supply=supply);
|
||||
|
||||
// out ack signal buffers
|
||||
INV_X1 out_a_inv(.a=out.a,.y=_out_a_B, .vss = supply.vss, .vdd = supply.vdd);
|
||||
sigbuf<N> out_a_B_buf_f(.in=_out_a_B,.out=_out_a_BX_t, .supply=supply);
|
||||
sigbuf<N> out_a_B_buf_t(.in=_out_a_B,.out=_out_a_BX_f, .supply=supply);
|
||||
|
||||
// in val signal buffers
|
||||
BUF_X4 in_v_prebuf(.a = in_v, .y = _in_vX, .vss = supply.vss, .vdd = supply.vdd);
|
||||
// sigbuf<N> in_v_buf_t(.in=_in_vX, .out=_in_vXX_t, .supply=supply);
|
||||
// sigbuf<N> in_v_buf_f(.in=_in_vX, .out=_in_vXX_f, .supply=supply);
|
||||
sigbuf<N*2> in_v_buf(.in=_in_vX,.supply=supply);
|
||||
|
||||
|
||||
(i:N:
|
||||
f_buf_func[i].y=out.d.d[i].f;
|
||||
t_buf_func[i].y=out.d.d[i].t;
|
||||
f_buf_func[i].c1=_en_X_f[i];
|
||||
t_buf_func[i].c1=_en_X_t[i];
|
||||
f_buf_func[i].c2=_out_a_BX_f[i];
|
||||
t_buf_func[i].c2=_out_a_BX_t[i];
|
||||
f_buf_func[i].n1=in.d[i].f;
|
||||
t_buf_func[i].n1=in.d[i].t;
|
||||
f_buf_func[i].n2=in_v_buf.out[i];
|
||||
t_buf_func[i].n2=in_v_buf.out[i+N];
|
||||
f_buf_func[i].vdd=supply.vdd;
|
||||
t_buf_func[i].vdd=supply.vdd;
|
||||
f_buf_func[i].vss=supply.vss;
|
||||
t_buf_func[i].vss=supply.vss;
|
||||
t_buf_func[i].pr_B = _reset_BXX[i];
|
||||
t_buf_func[i].sr_B = _reset_BXX[i];
|
||||
f_buf_func[i].pr_B = _reset_BXX[i+N];
|
||||
f_buf_func[i].sr_B = _reset_BXX[i+N];
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
export
|
||||
defproc nrn_line_end_pull_down (bool? in; bool? reset_B; power supply; bool! out)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user