As part of a series of real life simulations on a very simple part of a circuit I try to figure out just how useful Altium’s built-in signal integrity tool really is. The price is right, but is it up to the job?
Last time I looked at input voltage waveforms and realized we needed a termination scheme to connect a 74ALCV244 output to just a single input. So let’s look at how that simulation unfolds in Altium and Cadence, starting with the Cadence tool.
First the schematic needs a slight update to include a series resistor and a bit of transmission line from the driver to the resistor (so the overall length just increased from 0.5ns to 0.6 ns, which does not really matter).
And the corresponding simulation results with just the TYP driver analyzed for a sweep of 6 different resistor values starting at 20R and ending at 50R looks like this:
Normally I would want to select the trace that looks best, with a tendency to overshoot. But not too much as I still want to make sure we don’t exceed the negative input max voltage spec in the FAST case.
This is based on the assumption that we are using this fairly fast device because we want to go fast. Not always is this the case, so if the device is fast but really don’t need to be, I would just make sure we don’t have too much overshoot.
The 38R value is emphasized a bit as it looks like it’s about at the optimum – maybe the 32R trace is fine too, but with a bit more overshoot. In reality we could end up with 33R or 39R if going by E24 standard values.
Back in Altium I want to do the same thing – but the UI is quite different here. Altium has a nifty little feature, that may save some time – look what I do:
In the same simulation setup dialog box I simply click on the serial termination resistor check box and the sweep check box. Enter a few parameters and get the tool to do the sweep.
It is clear from the curves that the two tools arrive at quite different results for this sweep. And for a reason.
In the Cadence curves we have a non-zero delay from the output of the ’244 to the series termination resistor.
The Altium trick puts the series resistor right at the ‘244 output with zero delay. This is not realistic in practice – and as can be seen from the curves this is actually quite significant.
This can look a bit crowded, so I repeat the screenshot here with the 38R trace highlighted.
This is all done with the TYP process corner. The similar curve shown in Cadence is shown below. In order to do that, the schematic is updated to set the termination resistor to a constant 33R. Then the simulation mode is changed to look at FAST/TYP/SLOW again:
The green (TYP) curve is what we could (roughly) compare to the Altium curve – with the before mentioned difference in simulation setup in mind.
If we go by the Altium simulation we would be okay – and the waveform looks very nice. I am to lazy to bother re-importing the IBIS files to check the two other process corners (FAST and SLOW), but I will have to check this before the final solution is found.
If we go by the Cadence simulation we would also be okay, but the FAST curve is below -0.5V. Good thing I was able to check the input current using Cadence (see last post).
Finding a good series termination resistor value is faster and easier in Altium, but the more detailed analysis taking the trace from output to resistor into consideration is much more difficult in Altium. More about that next time.
Having to re-import the IBIS model 3 times to check the FAST/TYP/SLOW process corners is just plain annoying – and I bet many designers will skip that and thus not fully realize what’s going on with the signals over voltage and temperature.
Q: What do you think? Would you be happy to always re-import your IBIS files 3 times if that was the only annoyance of a much cheaper tool?