Forum Discussion

druepy's avatar
druepy
Icon for New Contributor rankNew Contributor
3 years ago

Altera Register Chain

Hello,

I'm a student at Georgia Tech. I want to do some timing analysis on flip-flop/register chains. I've read the relevant material for the two devices I have access to - a Cyclone 5 and a Stratix 4. But, even when I manually connect the registers together (top register's q port feeds the bottom register's d port) and constration location assignments, Quartus rearranges how this register works. Most of the time, the simulation is using the asdata port instead of the d port. Chip Planner also shows this transformation happening. This means, I can't actually do the timing analysis I'd like to do. Sometimes it will instead use a lut to feed the flip flop's d port. Both of these situations are ones I'm trying to avoid.

I've attempted using generate statements to generate arbitrary shift registers and randomly used logic, but I'm guessing the fan-out is too low to force the router to use the register chain. There's very little information on this feature that's been advertised in multiple devices. I've found one other forum thread about this from 2010, but it didn't really solve anything.


Could a moderator provide clarification or a design for the Stratix 4 or Cyclone 5 that makes use the register chain? It's advertised, but I can't get it to synthesize.

22 Replies

  • Nurina's avatar
    Nurina
    Icon for Regular Contributor rankRegular Contributor

    Hi,


    I'm not familiar with register cascade on Stratix IV. On the chip planner and timing analyzer I am seeing that it is not a direct connection as you have described, I'm not sure if this is how it's suppose to be. Do you know how to check if it's a register cascade?


    I'm trying to check if this is something that should be set in the qsf.


    Regards,

    Nurina


  • Nurina's avatar
    Nurina
    Icon for Regular Contributor rankRegular Contributor

    Hello,


    Do you have any updates?


    Regards,

    Nurina


  • Nurina's avatar
    Nurina
    Icon for Regular Contributor rankRegular Contributor

    Hi,


    I can't seem to find any setting to enable this.


    From a past case it seems that using location assignment as you have previously done solves the problem.

    I tried below and it seems to show the path of a register chain:

    set_location_assignment MLABCELL_X1_Y55_N2 -to reg_out[0]

    set_location_assignment MLABCELL_X1_Y55_N4 -to reg_out[1]

    set_location_assignment MLABCELL_X1_Y55_N6 -to reg_out[2]

    set_location_assignment MLABCELL_X1_Y55_N8 -to reg_out[3]

    set_location_assignment FF_X1_Y55_N1 -to ff0

    set_location_assignment FF_X1_Y55_N3 -to ff1

    set_location_assignment FF_X1_Y55_N5 -to ff2


    Regards,

    Nurina


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

      Thank you for working on this.

      If chip planner shows the register chain path for you, would you be able to screenshot chip planner on your system and also send me the project?

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

      I won't be able to use the qar until Monday. Could you double click on that middle lab element and screenshot that for me?
      I can reproduce this, but when looking at the more detailed view it shows that it's not using that register cascade connection the handbook advertises.

      I really do appreciate you spending time on this.

  • Nurina's avatar
    Nurina
    Icon for Regular Contributor rankRegular Contributor

    Also, I used ff* instead of lc* because that's part of the data path as shown in timing analyzer:

    You can also see that the location setting I had set are reflected on here.

    Regards,

    Nurina

  • Nurina's avatar
    Nurina
    Icon for Regular Contributor rankRegular Contributor

    Hi,


    Were you able to try the .qar?

    I've never worked with register cascade connection so I'm not an expert in this, is there any indication or report that says when it is being used?


    Regards,

    Nurina


  • Nurina's avatar
    Nurina
    Icon for Regular Contributor rankRegular Contributor

    Hi,


    We have not received a reply from you. As such, I now transition this thread to community support. If you have a new question, Feel free to open a new thread or login to ‘ https://supporttickets.intel.com ’, view details of the desire request, and post a feed/response within the next 15 days to allow me to continue to support you. After 15 days, this thread will be transitioned to community support. The community users will be able to help you on your follow-up questions.

    Have a great day!

    Best regards,

    Nurina W.