“The best scientists and explorers have the attributes of kids! They ask question and have a sense of wonder. They have curiosity. ‘Who, what, where, why, when and how’! They never stop asking questions, and I never stop asking questions, just like a five year old“ – Sylvia Earle
I was overwhelmed by the very common question being asked to me after my previous post, and these were from all levels of people (even people from verification and embedded background). “Why do we need to learn SPICE?“
And, that was exactly what I was expecting. “For the things we have to learn before we can do them, we learn by doing them”. Though, this will be discussed in detail in my upcoming course of SPICE, let me try to give a glimpse of it here itself
Below is a snippet from my existing course on Clock Tree Synthesis
It has 2 kinds of clock buffers, say ‘1’ and ‘2’. Now, to calculate the delay of these buffers, the only input, we have are delay models. These could be “non-linear delay models” or “constant-current source models”.
Let’s take a simple example of below “non-linear delay model.” This is how it looks. It has a “input slew” one side and output capacitance on other side.
A more complex model (to be discussed separately), and time units on one side and normalized voltage on other side.
Both buffers can be of different type (or different sizes and drive strength), so each buffer ‘1’ and ‘2’ has their own table.
Now, say, output capacitance of buffer ‘1’ is 60fF and input slew is ‘say’ 40ps, below is the section of the table that we need to look into to compute its delay. This technique is called ‘interpolation’. We need to interpolate the delay value between 50fF and 70fF, for an output cap of 60fF
Similarly, for an input slew of ‘say’ 60ps and output load of ’50fF’, the delay value of buffer ‘2’ will be about ‘y15’, as per below table
I haven’t yet answered your question. Why do we need to learn SPICE? I will answer it now. Where, do you think, the delay values in the table come from?
Let’s say we have this below inverter (simple buffer is 2 inverters connected back to back), with the below IO characteristics.
Now, observe very carefully to all above waveforms (specially the last one present in bottom right). Do they remind you of look-alike waveforms, for which we just calculated the delay?
Does the waveform at the top-middle, remind you of the waveforms we derived in last post using a SPICE simulator? Do they look like Id-Vds curves for NMOS?
Do you relate how delay of cells are actually derived from NMOS-PMOS-CMOS transfer characteristics?
I think I gave enough hints over here. I will see you in class of “VLSI Academy – Circuit design and SPICE simulations“ on Udemy
“You can swim all day in the Sea of Knowledge and still come out completely dry. Most people do.” Norman Juster
If so, you are on the right path.