Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
13 years ago

What is mean of "asynchronously" in "set_clock_groups"?

In STA, there is a command "set_clock_groups" can put the clocks in different groups, and the option can be "asynchronously" or "exclusive". "exclusive" is easy to understand which means the two clock will not toggle at the same time. But for "asynchronously", I am little confused.

For example, if clock_a and clock_b are described as "asynchronously", does this mean there will be no launch latch relation between clock_a and clock_b?

Thanks very much.

4 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    TimeQuest evaluates them the same way. The difference is in other tools(ASIC) where -asynchronous means they might have some interference with each other, such as cross-talk, where -exclusive clocks won't. But in TimeQuest you'll get the same analysis either way.

    If going to Hardcopy(where ASIC analysis tools are used on the back end), you should use the right one. -asynchronous will give the more restrictive analysis though, so you can just default to that.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- Quote Start ---

    TimeQuest evaluates them the same way. The difference is in other tools(ASIC) where -asynchronous means they might have some interference with each other, such as cross-talk, where -exclusive clocks won't. But in TimeQuest you'll get the same analysis either way.

    If going to Hardcopy(where ASIC analysis tools are used on the back end), you should use the right one. -asynchronous will give the more restrictive analysis though, so you can just default to that.

    --- Quote End ---

    Thanks, Rysc. Now I am still a little confused by the command "set_clock_groups", through this command, the clocks in group A will not be related with any clocks are outside this group. But could you give a clear definition, when we can say these two clocks are unrelated?

    Thanks very much.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    It's when:

    a) The clocks can't be analyzed synchronously because they are truly asynchronous, so there's no valid setup/hold window since the clock relationships are constantly changing. There are circuits that can be build between asynchronous clocks where the user wants some timing relationship, such as in hand-shaking circuites.

    b) Most importantly, it's when you've designed the system so that timing between the clock domains doesn't matter. At this point you're telling TimeQuest not to analyze these paths and the fitter not to optimize them.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- Quote Start ---

    It's when:

    a) The clocks can't be analyzed synchronously because they are truly asynchronous, so there's no valid setup/hold window since the clock relationships are constantly changing. There are circuits that can be build between asynchronous clocks where the user wants some timing relationship, such as in hand-shaking circuites.

    b) Most importantly, it's when you've designed the system so that timing between the clock domains doesn't matter. At this point you're telling TimeQuest not to analyze these paths and the fitter not to optimize them.

    --- Quote End ---

    Thanks very much, Rysc!