Timing model for MultiTrack interconnects in Stratix?

Hi,

I am interested in the timing model of the MultiTrack interconnects on Stratix.

The timing models for most resources (LEs, M4ks, IOs, etc) are described in detail in the Stratix handbook, but, curiously, while the symbols are defined for the MultiTracks (R4, R8, R24, C4, C8, C16) in the latest handbook (pg 4-25), the actual timing numbers are never given.

Does anyone have this information? I am digging into a DSP circuit using Chip Editor and am very curious what the tPD's are for the various MultiTracks used in the critical path (I know the overall tPD from the timing analysis report).

-- Pete

Reply to
Peter Sommerfeld
Loading thread data ...

Hi Peter,

The delay of the interconnect is both easy and complicated to give you. The quick answer is yes, we know the average delay of these resources (see unofficial table below). I'll enquire as to why we don't have delays or delay ranges specified in the data sheet.

The long answer is that the delay of a given resource in Quartus will vary due to a variety of reasons.

- # of active fanouts along the line (usually 1-2, but could be high depending on route)

- # of inactive loads long the wire (doesn't vary too much)

- # of partially active loads -- these can happen when a two-stage mux has multiple 1st stage inputs turned on due to sharing of configuration RAM bits.

- Distance traveled. If you travel only four units along an R24 wire, you won't get the full RC delay due to resistive shielding of down-stream capacitance.

- Edge rate of incoming signal. This in turn is affected by the resource used previously -- a R24 -> R4 could have different edge rate than R4 -> R4. It will also be affected by that resource's loading.

- Blocks passed. An R4 wire that passes over four LABs will be different in length (physically) than an R4 that crosses an M4K block + three LABs. Also, a C4 wire next to a clock spine may have slightly greater loading than one between two LABs.

- Exact wire used. Two different R4 wires that appear identical in all these ways can have different timing due to what metal layer they are routed on or due to physical proximity to other wires being different.

- Rising/falling transition. Delay can vary depending on whether the input is a rising or falling transition.

Quartus will give you the right answer to routing delay. All these factors do is make it a little more difficult to predict the precise delay you will see in advance of timing analysis. The allocation of delay to a particular resource in a full routing path is somewhat arbitrary and depends on measurement points and how we choose to bin the delay.

The following data was extracted from the critical paths of a large number of typical user designs, and thus is representative of the types of paths that tend to occur on the critical path. It is not the maximum nor minimum delay you will see on this type of resource.

Stratix -5 Routing Delays (Mux + Buffer + Wire):

R4 303 ps R8 373 ps R24 503 ps C4 467 ps C8 650 ps C16 525 ps LAB Line 463 ps LE Output 231 ps Local Line 353 ps

Regards,

Paul Leventis Altera Corp.

Reply to
Paul Leventis (at home)

Thanks, Paul, for the detailed answer. Very much appreciated.

If I understand the handbook correctly, each LAB can drive an R4 to its left or right. But I haven't found out how many signals in total can be driven on the various MultiTracks (ie. how wide are they?).

Also, does Altera have training courses that describe the architecture to this level of detail? I understand most people are not concerned or interested in it, so it may not be practical to have seminars on it.

-- Pete

Reply to
Peter Sommerfeld

Hi Peter,

The "cross-section" of the routing channel in Stratix is 160 R4 wires, 48 R8 wires, 80 C4 wires, 32 C8 wires, 24 R24 wires, and 16 R16 wires.

Each LE can drive C4/C8 wires in the channels to the left and right of the LE, as well as R4/R8 wires that start "above and to the left" and "above and to the right" of the LE. Of course, this is all very fuzzy since this is a logical, not a physical, representation of things. But basically it means that you can get from an LE to another LE that is up to four or eight LABs away (not including the first one) in either direction in a single hop. You get onto the R24/C16 wires from R4 wires, and they can drive R24/C16/R4/C4 wires to eventually get to other blocks. On top of this, there are paths that take you from an LE output to the LAB line of adjacent labs, bypassing the routing.

Things are little trickier near the DSP, M4K, and MRAM blocks. For the DSP and M4K blocks, basically pretend there are two LABs worth of routing that are accessable by the DSP/M4K block, minus the vertical channel.

BTW, another way to see the routing that was used (rather than using Chip Editor) is to back-annotate your fitting, including the routing. This will produce a file named .rcf in your project directory that contains the routing.

You can also create your own routing constraints, with wild-carding, by editing the RCF file. See the QUIP documentation

formatting link
for more information on the RCF file format.

Looking at our web site, "Fundamental Design Techniques for Stratix Devices" looks like it could cover this material, but probably not in too much more detail. I'd contact Altera Customer Training ( snipped-for-privacy@altera.com) for help in determining if an appropriate training session exists.

My guess is that knowing the routing architecture to this level of detail isn't too handy to the typical end user. The router is quite good at optimizing things, though it is good to know how far you can go before you must add additional routing hops, especially when floorplanning a design manually via LogicLock.

I believe that there is a way in the Timing Closure floorplan view to see a histogram of the delays from a source LE to destination LEs -- it tells you where you can reach in what amount of delay. But I don't recall how to get to this feature as I don't actually get to use Quartus too much myself. Looking at this view can give you a good intuition on the directional bias (speed-wise) of the routing architecture as well as where things should be placed relative to one another for maximum speed.

Regards,

Paul Leventis Altera Corp.

Reply to
Paul Leventis (at home)

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.