Forum Discussion

DMAHM1's avatar
DMAHM1
Icon for New Contributor rankNew Contributor
6 years ago

Why would assigning a signal as a Global Clock Signal send board into reset?

I have a signal which I generate in my design and then use as an input to many LUTs. I wanted to route it through the global clock buffers to save on the routing resources and perhaps lower the compilation time. However, as soon as I try to program the board with this configuration, it goes into reset, despite the fact that this does not happen when I use the design without the global clock buffers.

What could be causing this? How can I avoid it?

9 Replies

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

    Usually, we use those signal in the Global as clock or reset. Can you try to move back your signal to local back? if you found that you have too many fan out on your signal, you can just limit it so that quartus will automatically duplicate those register accordingly.

    What Quartus version and device that you were using? We have make some improvement on Qpro version for duplicate register in assignment editor.

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

    Moving the signal back to local fixes the issue.

    How big is the fanout supported by the global clock buffers?

    I'm using Quartus Standard Edition 19.1 with the DE1-SoC board.

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

    How big is the fanout supported by the global clock buffers?

    It would be unlimited

    The problem is that, if you put your signal to global clock buffers, they might not have any more relationship between your data and clock signal. Since both your clock and data signal are in global clock buffers.

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

      The specific part of the design where I'm using this signal is combinational, so there shouldn't be a relationship between the data and the clock signal.

      However, my main problem is that using the global clock buffers for this signal causes the board to go into reset. Is there another recommendation for routing a signal to many nodes in a way that efficiently utilizes the available routing resources?

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

    How much fan out that you are looking into? Can you send us the screenshot of the report file showing that?

    Also, usually, high fan out happened on the register, can you add additional register before the combi to have the high fan out?

    Is there another recommendation for routing a signal to many nodes in a way that efficiently utilizes the available routing resources?

    What I would suggest is used design partition, this way, you can preserve the routing and it will not cause other logic to interfere with your high fan out combi.

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

      I'm looking into connecting the signal to thousands of LUTs.

      I think the fanout was the issue since the other solutions you suggested stopped the board from going into reset.

      Thank you for the design partition suggestion, that was also helpful.

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

    Good to hear that design partition was helpful. Let us know if this solution is sufficient?

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

    The design partition solution is sufficient for my purposes. Thank you