Changed FF in std. Started test (spoiler: is not working)

This commit is contained in:
Michele
2022-03-04 13:11:34 +01:00
parent 9c6a591dc7
commit e8fa8e43a6
5 changed files with 146 additions and 6 deletions

View File

@ -373,15 +373,48 @@ namespace tmpl {
}
sizing { _en{-2}; y{-2,2} }
}
export defcell DFQ_R_X1 (bool! Q,Q_B; bool? d,clk,vdd,vss,reset_B)
export defproc DFFQ_R_X1 (bool? clk, reset, S, d, vdd, vss; bool! q)
{
bool _clk, __clk, _q_B, _dl;
bool _Ro, _So;
bool _So2;
bool _qb;
prs {
reset_B -> Q-
~Q => Q_B
reset_B & ~d & clk -> Q+
reset_B & d & clk -> Q-
_q_B<10> -> q-
~_q_B<20> -> q+
clk<10> -> _clk-
~clk<20> -> _clk+
_clk<10> -> __clk-
~_clk<20> -> __clk+
reset<20> -> _Ro-
~reset<20> -> _Ro+
// S<20> & _dl -> _So-
// ~S<20> | ~_dl -> _So+
[keeper=0] d<10> & _clk -> _dl-
~d<20> & ~__clk<10> -> _dl+
reset<20> & _qb -> _q_B-
~reset<20> | ~_qb -> _q_B+
// _q_B<20> & S -> _So2-
// ~_q_B<20> | ~S -> _So2+
// input stage feedback
transgate<10> (__clk,_clk,_Ro,_dl)
// input to output
transgate<10> (__clk,_clk,reset,_qb)
// output feedback
transgate<10> (_clk,__clk,reset,_qb)
}
sizing { q{-1} }
}
}
}