sburrow wrote:
I'm guessing you noticed the propagation delay of the OR logic? It's shifted by some nanoseconds. Perhaps because of that, the input signals change faster than it can propagate, thus it remains high.
I had a bit of learning moment thinking about this.
Full disclosure, I haven't been doing hardware stuff for very long and I really dislike analogue signals.
What I think is happening here is that the transistors in chip can be viewed as little amplifiers. For LVC (being TTL 3.3V) anything above 2.0V is going to swing to a logic high within the data sheets specs and the same for anything below 0.8V swinging to a low. But the zone in between is not undefined it's just out of spec for the given propagation times. An input signal is still going to cause the transistor to swing high or low. But slowly (where slow is very relative with LVC).
I assume manufacturers are going to tune - is that even the word? - their ICs to amplify up or down around some given voltage. Digging through Nexperia's datasheets didn't turn up anything but looking at the datasheet for Texas Instruments' SN74LVC245 it looks like the threshold voltage is 1.5V for a VCC of 3.3V. So anything above 1.5V is going register as high output for that OR gate. And in my example the OR gate was already driven high by the previous signal so the output doesn't need to swing at all to remain high. And even though the input dips are quite large none drop below 1.5V.
But also as you mentioned there is a propagation delay (about 2ns) before the OR gate starts responding at all and by the time it would start responding the next input is already within the spec'ed 2.0V.
I'm glad you asked this question because I built that circuit last year to test if I could use a counter, a decoder and some OR gates to generate PHI2, but never really thought about why it worked.