-
|
Hi! For our next tapeout, I would like to set realistic timing constraints, including the capacitive loads that needs to be driven by outputs. From a bit of research I found the following rough guidelines:
So I went ahead and used This, however, causes severe setup timing violations, which makes me think that I am misunderstanding something. The violations look like this:
Everything looks normal until the signal reaches the I/O padcell, at which point a delay of a whopping 22ns is added. I have prepared a little example design that builds in just a few minutes with ORFS, based on the Is that normal/expected? Am I doing something wrong? Thank you for this amazing toolset and all of the other work you do for open-source hardware design!! |
Beta Was this translation helpful? Give feedback.
Replies: 4 comments 6 replies
-
|
If I'm understanding your situation correct that seems about right. 22ns is about 45Mhz. In my experience gpio cells can only really achieve speeds in the 50mhz range. If you need faster IO you have to use speciality IO like serdes or LVDS |
Beta Was this translation helpful? Give feedback.
-
|
Thanks! Unfortunately I might be lacking the background knowledge to understand how this relates to capacitive load. The 22ns are not the clock period, but the amount of time STA thinks it takes the cell to achieve the target logic level given the load of 50pF, right? If I change the load to 100pF, the delay value changes to 44ns. With 5pF it's only 3ns. |
Beta Was this translation helpful? Give feedback.
-
|
There's a lot to unpack here. The first thing you should note is that off-chip wires need to be driven by some kind of off-chip driver. The most basic one for digital designers to access is a GPIO cell. I think you are using one here, but it's not 100% clear. From a circuit perspective, GPIOs just look like very large buffers (buffers with a very high drive strength). The drive strength is hundreds to thousands times stronger than what you will find for any standard cell. This is because the off chip wire is hundreds to thousands times larger than on-chip wires and has proportionally larger parasitics as well. GPIOs also have things like electrostatic discharge (ESD) protection, level shifters, and some control logic, but those aren't particularly important. The second thing to note is that unlike on-chip wires which are almost always modeled as RC circuits, off-chip wires have to usually be modeled as transmission lines or distributed RLC circuits because the inductance from wires and of this scale is no longer negligible. At this point, the signals can no longer be analyzed by STA because STA is RC-only analysis. You would need to use other analysis tools to verify the integrity of the signal. The rule of thumb of when you switch from RC analysis to T-line analysis is if line length (total wire distance between transmitter and receiver) is greater than 10% of the wavelength of the signal ( This is also not to say that RC analysis can't be done, however it could be overly pessimistic. It could also be overly optimistic if the model does not account for coupling capacitance between wire on the package and PCB, as this is often a significant factor in off-chip interconnects. Now obviously, higher speed off-chip signals exist. The DDR5 spec goes up to 4.4 GHz, for example. The interfaces for these are not just drop-in GPIOs that designers can use. These are full-on analog/mixed-signal interfaces that are very carefully designed in combination with the package and PCB to achieve those data rates before being converted back into digital signals. The IP for these interfaces costs usually 100 thousands to millions of USD. TL;DRThe main takeaway from all of this is that if you are doing low-speed design (where low-speed is again defined as What @QuantamHD says is correct from GPIOs, you shouldn't expect more than ~100-250 MHz signals to be transmitted. In one of my previous chips, we were able to get GPIOs to run at 500 MHz by doing some very careful design on the PCB side. But that's kind of near the absolute limit before you need to switch to different interfaces. |
Beta Was this translation helpful? Give feedback.
-
The .lib table is characterized up to 10pF. A load of 50 is way above the max cap and table values so no accuracy is expected. |
Beta Was this translation helpful? Give feedback.

There's a lot to unpack here.
The first thing you should note is that off-chip wires need to be driven by some kind of off-chip driver. The most basic one for digital designers to access is a GPIO cell. I think you are using one here, but it's not 100% clear.
From a circuit perspective, GPIOs just look like very large buffers (buffers with a very high drive strength). The drive strength is hundreds to thousands times stronger than what you will find for any standard cell. This is because the off chip wire is hundreds to thousands times larger than on-chip wires and has proportionally larger parasitics as well. GPIOs also have things like electrostatic discharge (ESD) protection, level shi…