Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
13 years ago

Increasing fmax performance.

Hello.

I have two subdesigns in my project working at 50MHz and 143MHz respectively. They both share sdram working at 143MHz so the design is something like subsys1->pipeline bridge->clock crossing bridge->sdram controller<-subsys2. Sub-system 2 is a video processing chain and sdram is used to store frame buffer. The problem is in that qsys inserts merlin burst adapter between framebuffer and sdram controller which seem to involve a long path of combinational logic (probably adder carry chains or that kind of stuff). I've reduced the burts length in framebuffer settings, but it still does not meet timing requirements. As i don't see the way to disable burst read in framebuffer, is there any solution except for reducing frequency?

3 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    I faced the same issue: the FMax of the system is dominated by those pesky burst-adapters. This module is obviously poorly designed. As Qsys boasts itself as being a Message-Oriented design, there is no excuse for the long combinatorial chain. Of course if you test on the fastest and latest Stratix components this is not readily apparent, but on a Cyclone IV speed grade 8 system, the low cost ones :cry:, it hurts.

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- Quote Start ---

    And what can You see in the Fmax report?

    --- Quote End ---

    fmax for this clock is something around 140MHz. I think it'll rather work on the real hardware (worst case slack is -0.051 in slow model simulating) but it is not seem to be right. Also, i did not found any specification on how vip components are implement in Cyclone 2/3/4, the only information is for Cyclone V and Starix V. Does this mean it is not guaranteed to work on those chips?

    josyb

    Sounds pretty reasonable :(