Forum Discussion

Littlerice32's avatar
Littlerice32
Icon for New Contributor rankNew Contributor
5 years ago

How do I avoid using a specific LAB or ALM in Quartus Prime?

For example, I don't want to use a LAB named "LABCELL_X66_Y55_N6".

How do I let Quartus Prime know this, and avoid using this LAB in compiling my design?

Thank you.

10 Replies

  • sstrell's avatar
    sstrell
    Icon for Super Contributor rankSuper Contributor

    I'm not sure why you don't want to use a particular resource, but you can force logic into resources you do want to use with Logic Lock regions in the Chip Planner. Draw shapes (rectangular by default; merge them together to make non-rectangular shapes) and assign logic from your design to a region. Then the Fitter is forced to place the logic in that region.

    Be aware that if you have a very full design, this could cause no-fit or timing issues due to you forcing logic into specific locations, away from where the Fitter would prefer to place it.

    • Littlerice32's avatar
      Littlerice32
      Icon for New Contributor rankNew Contributor

      Hi sstrell:

      Thanks for your reply, but it's not the answer what I approach for.

      I want to forbid Quartus Prime to use a particular resource, because I find some particular LAB delay is 10x larger than a normal LAB in Timing Analyzer. After I use chip planner for post-netlist ECO to change the LAB resource to a adjacent LAB, the problem is solved. So, I think the 10x delay LAB may be something wrong.

      I appreciate it if you could kindly provide a solution for my request.

      • sstrell's avatar
        sstrell
        Icon for Super Contributor rankSuper Contributor

        I don't understand how a particular LAB could be slower than any other. They are identical. Can you share your .sdc and the timing report where you're seeing this? There is some reason why the Fitter is selecting this LAB for you (super full design perhaps?) and causing the issue. The extra delay may be getting a signal to a particular physical location, not the physical resource itself. If that's the case, you need to figure out why the Fitter is doing this.

        The ECO fixes it, but it might be useful going forward to understand the cause of the issue.

    • Littlerice32's avatar
      Littlerice32
      Icon for New Contributor rankNew Contributor

      Yes, the data path is within the same LAB cell, Quartus II still deliver a long routing path. (10x larger than other path)

      Is it a normal situation for a low-speed (32MHz) and low-utilization (27%) design?

      Could you give me some opinions for explaining why Quartus II did this?

      • sstrell's avatar
        sstrell
        Icon for Super Contributor rankSuper Contributor

        Can you show the timing report details for the long path (including the routing and logic elements involved)? The HDL for that part of the design? RTL or Tech Map Viewer schematic?

        Do you have any relevant assignments in the Assignment Editor that might be forcing this?

        More info is needed to figure out what is going on here.