IBIS_DRIVER_DIFF Inverting Output Not Driven with Complement

I’m using IBIS_DRIVER_DIFF simulation symbol linked to a TI lmk04832_sp.ibs model. The symbol (+) output works, but the symbol (-) output isn’t driven with the complement.

The following screenshots show the Simulation Model Editor, Model and Pin Assignment tabs.

and

Notice how symbol pin 3 (-) is Not Connected to the model.

I know this can work because I was successful with a Renesas IBIS model that I discussed in another post.

I’m using KiCad 8.0.2 to avoid the regression in 8.0.4.

Any suggestions?

Thanks,

Rob

Does the ibis model have a negative pin? Can you change the pin mapping yourself in that dialog to map symbol pin 3 (-) to that negative pin in the model?

Hi gkeeth,

Yes, the IBIS model has a negative pin. In fact, I made a separate simulation in which I use two single-ended IBIS_DRIVERs with one symbol linked to the true output and the other symbol linked to the complement symbol, like this:

Note that CLKout2 is selected for U2 and CLKout2* is selected for U3. It seems to simulate okay, but I’m not sure if it’s a legitimate differential simulation. The plots are here:

I had to delay the timing signal of the lower IBIS_DRIVER to make it look complementary. Is this a legitimate way to do this?

Thanks,

Rob

I am not an expert in IBIS sims, but I don’t think you should have to do that. The diff symbol should be enough.

In your diff driver symbol, can’t you change the pin mapping like so?

Hi gkeeth,

I just tried that and there are only three choices in the drop down:

1 (GND)
2 (IN/OUT)
Not Connected

Like this:

One difference between this TI model and the Renesas model that worked in my other post is that the Renesas model shows a checkbox for “Differential” that’s not present with the TI model:

Renesas:

Notice the Differential checkbox above.

Rob

Again I have limited experience with IBIS, so forgive me if the following is incorrect, but reading the file for the ibis model that works, the pins are explicitly defined in the model as differential. I suspect that’s the reason that the differential checkbox appears and you’re able to set it up correctly in KiCad.

For the other part, the ibis model I found from TI did not have any pins defined as differential. I am not sure if that’s the same file you’re looking at, but I have a suspicion that’s why KiCad doesn’t let you set up those pins differentially.

Hi gkeeth,

You’re right, TI’s IBIS model doesn’t include the [Diff Pin] directive, so I bit the bullet and installed HyperLynx to see how they handle it. In HyperLynx, they provide a way to assign each symbol output pin with a different model pin. The “Buffer settings” for one pin is assigned as “Output” and the other is assigned as “Output Inverted”. Here’s a composite screenshot:

I hope KiCad can support this one day.

Thanks,

Rob