Forum Discussion
Ways to improve timing on Top module?
Say I have 3 modules:
11 Replies
- sstrell
Super Contributor
Do you have registers on the boundaries of your partitions? If you don't, then paths in the top level may become critical. Remember that there is no optimization across partition boundaries, so combinational logic on the boundaries of the design partitions cannot be optimized with respect to the top level.
Adding registers at the boundaries can fix this, allowing you to run the design faster at the expense of an extra cycle of latency.
#iwork4intel
- Yogesh
Occasional Contributor
Yes , all output signals from a submodule are registers.
So before sending a signal to a other module , I am registering it .- KhaiChein_Y_Intel
Regular Contributor
Hi,
Is the failing path within the sub-modules? Have you tried to preserve timing-closed partitions and use in the top design?
Thanks.
Best regards,
KhaiY
- KhaiChein_Y_Intel
Regular Contributor
Hi,
What is your interconnect usage? Designs with an average value below 50% typically do not have any problems with routing. Designs with an average between 50-65% may have difficulty routing. Designs with an average over 65% typically have difficulty meeting timing unless the RTL tolerates a highly utilized chip. Peak values at or above 90% are likely to have problems with timing closure; a 100% peak value indicates that all routing in an area of the device has been used, so there is a high possibility of degradation in timing performance.
Thanks.
Best regards,
KhaiY
- Yogesh
Occasional Contributor
find the interconnect usage as below:
Average interconnect usage (total/H/V) 50.7% / 48.7% / 57.0%
Peak interconnect usage (total/H/V) 80.4% / 81.7% / 86.1% - Yogesh
Occasional Contributor
Hi Khai,
Average interconnect usage (total/H/V) 50.7% / 48.7% / 57.0%
Peak interconnect usage (total/H/V) 80.4% / 81.7% / 86.1%
Since average interconnect is less it should not cause any problems in routing right ?
But 8 out of 10 times fitter terminates because of routing congestion.
Is there a way to find which module has high interconnect usage ? So that I can change the coding style and improve timing .- KhaiChein_Y_Intel
Regular Contributor
Hi Yogesh,
Yes. There is a way to check which module uses most of the routing resources.
Thanks.
Best regards,
KhaiY