I would say it's a fairly unusual way of getting a ring oscillator to start to initialise to mid-rail and hoping that numerical noise will start it. The normal DC algorithm is likely to do that anyway - because it could end up being a metastable state where everything sits at mid-rail. Unless something changes, there's no reason why a time-domain simulation would move away from that metastable state unless there's enough time steps and numerical noise to move away from that point. It will probably startup, but it would be slower to get there and need more time steps to encourage it to do so. The point of holding (with an initial condition) a node in the ring either high or low is that that inconsistency in the ring is not going to be sustainable - you've held it high, but having been through an odd number of inverters to get back to that point, it ought to be low - and so when the initial condition is removed, it will immediately have to try to fix the inconsistency and that will normally cause the inversions to propagate through the ring oscillator. Anyway, I've not had time to reflect on anything else in this discussion as I'm going to be on vacation for 10 days or so, so I can't spend more time responding, sorry! Andrew
↧