Results 1 to 3 of 3

Thread: Asynchronous input strobe detection

  1. #1
    Join Date
    Feb 2017
    Rep Power

    Default Asynchronous input strobe detection


    We are using Cyclone IV EP4CE40F23I7 and we have an implementation for an interface to a DSP (ADSP-21489, AMI Interface), which is causing us some problems with timing. The fact is that our implementation is using asynchronous edge detection through a latch, as show in picture 1. We are aware that this is probably not the best implementation but is the one that allows us to achieve the required access times and it is working stable so far.

    With this solution we need a lot of timing constraints to relate the signals in both domains and be sure that we have the correct timing in our signals. We have done this combining “set_net_delays” on our sdc and some “GetMaxTimingPath” checks on a Tcl that we run after timing analysis (although there are probably best techniques to constraint signals in different clock domains). We do not always get good results in these checks, as they are not affecting routing.
    We would like to simplify and improve this implementation but at the same time we are trying to keep the access times as low as they are now. So we are analyzing different possibilities:

    • Detecting input strobes with clk_sys, as shown in picture 2. To which extent is this implementation less stable or more problematic than the one shown in picture 1?
    • Keeping the implementation as picture 1, but try to constraint all the signals on the sdc, relating the signals in both clock domains, to get rid of the Tcl checks. Should this be possible? Is implementation in picture 1 against good practice recommendations?
    • Any other ideas?

      Thank you!

    Attached Images Attached Images
    Last edited by mfbm; May 11th, 2018 at 12:10 AM.

  2. #2
    Join Date
    Aug 2017
    Rep Power

    Default Re: Asynchronous input strobe detection


    Shouldn't you have two flip-flops in the new domain to handle the clock crossing? One flip-flop will leave you with problems of metastability. My best guess is that this is your current problem.

    Also, for my own reference, how fast is this interface supposed to work? Perhaps another approach would be more appropriate and easier?


  3. #3
    Join Date
    Feb 2017
    Rep Power

    Default Re: Asynchronous input strobe detection

    Thanks for the reply!
    Yes, we know that to avoid metastability problems the best solution is not to use the signals before a 2 flip-flop stage. The question is more about the implementation in picture 1: is this stable enough, taking into account that one of the flip-flops in the chain is in rd_strobe domain and the second one in clk_sys domain? Wouldn't implementation 1 and 2 have the same response in terms of metastability? Adding a third flip-flop in implementation 2 would solve metastability issues but will delay the accesses in comparison to implementation 1, as they will be detected with clk_sys edge and not inmediately with the edge of rd_strobe.

    We are working at 10 ns in the FPGA and supposed to achieve 90 ns mean read accesses (of 32 bit data which means 2 consecutive DSP accesses).

Similar Threads

  1. Edge detection asynchronous signal fails
    By PuqmaStar in forum VHDL
    Replies: 10
    Last Post: March 20th, 2017, 12:12 AM
  2. Cyclone III asynchronous input signal synchroinization problem.
    By RandomAVA in forum Quartus II and EDA Tools Discussion
    Replies: 7
    Last Post: August 28th, 2014, 05:44 AM
  3. Timequest Constraints for Asynchronous RAM and SPI-like Input Devices
    By rfrisbee in forum Quartus II and EDA Tools Discussion
    Replies: 6
    Last Post: March 26th, 2014, 01:50 PM
  4. asynchronous input to flip flop clock
    By sdavis in forum Quartus II and EDA Tools Discussion
    Replies: 5
    Last Post: February 11th, 2010, 08:30 AM
  5. Timequest: Asynchronous feedback from output to input
    By JuergenK in forum FPGA, Hardcopy, and CPLD Discussion
    Replies: 1
    Last Post: January 24th, 2009, 12:53 PM


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts