Forum Discussion

NShan12's avatar
NShan12
Icon for Occasional Contributor rankOccasional Contributor
4 years ago

Timing analysis error on Asynchronous control signals

Hello,

In my design, there is an asynchronous bus between FPGA and Microcontroller (Master). FPGA uses the edges on the signals WRN (Write active) and ALE (Address Enable) to classify if the signals on the bus indicate Data or Address .

As the logic is checking for the edges on WRN and ALE in a process, Quartus thinks they are clocks and gives timing errors: "WRN and ALE are clocks and they are not constrained".

How do I solve this issue having known that WRN and ALE are not clocks?

23 Replies

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

    Hi Naveen,


    Are the signal still being ignored if you change the constraint from set_false_path to set_clock_group? I noticed that this is a asynchronous control signals.



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

    Hi Naveen,


    Let me know if there is any update from previous reply?

    Are you able to constrain the clocks?


    • NShan12's avatar
      NShan12
      Icon for Occasional Contributor rankOccasional Contributor

      Hello @SyafieqS , sorry for a delayed reply. Held up with too many topics.

      To replace false path to clock groups, I should first create clock constraints on WRN and ALE. This is as per Intel's example set clock groups constraint:

      But since ALE and WRN are just address latch and write enable signals they do not have a clock period. So, I do not know how to write a generate clock constraint on ALE and WRN.

      The below screenshot shows the behaviour of ALE and WRN during a bus write cycle:

      Thank you.

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

    We do not receive any response from you to the previous reply that I have provided, thus I will put this case to close pending. Please post a response in 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 with your follow-up questions.


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

    If your code from 11/2/21 is still the same, you are still coding these signals like clocked processes instead of combinatorial logic. You should look at adjusting your code such that the signals no longer look like clock signals to the compiler.

    • NShan12's avatar
      NShan12
      Icon for Occasional Contributor rankOccasional Contributor

      Hello @sstrell ,

      Alright. Thank you very much for your support. This issue can now be closed.