Forum Discussion

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

set_clock_group constraints question!! plz help..

I have clocks, one of which is a ripple clock. I don't know how to set_clock_group this.

Details are shown in the picture.

If you look at the picture, there are a_clock and b,c,d,e. a_clock is the clock that comes into a input port, and b is the half-rate ripple clock made from a_clock. And c_clock is also input clock, a_clock and c_clock are completely asynchronous clock.

I muxed the a and b clock and specified d and e_clock respectively using create_generate_clock.

i'm about to set_clock_group them all. As far as I know, d and e have to use -exclusive, but the problem is that a,b,d,e are all related clocks, which are confusing.

Tell me how to modify the set_clock_group in the picture.

Thank you so much.

2 Replies

  • Abe's avatar
    Abe
    Icon for Frequent Contributor rankFrequent Contributor

    You could use something like this:

    set_time_format -unit ns -decimal_places 3
    # Create the first input clock to the mux
    create_clock -period 10 -name clockA [get_ports a_clock]
    # Create the second input clock to the mux
    create_clock -period 10 -name clockB [get_ports b_clock]
    #Cut transfers between FirstClock and SecondClock
    set_clock_groups -exclusive -group {clockA} -group {clockB}

    or the following for externally switched clocks

    set_time_format -unit ns -decimal_places 3
    # Create the first input clock on the clock port
    create_clock -period 10 -name clockA [get_ports  a_clock]
    # Create the second input clock on the same clock port
    create_clock -period 10 -name clockB [get_ports b_clock] -add
    # Cut transfers between FirstClock and SecondClock
    set_clock_groups -exclusive -group { clockA } -group { clockB }
  • KhaiChein_Y_Intel's avatar
    KhaiChein_Y_Intel
    Icon for Regular Contributor rankRegular Contributor

    Hi,

    You can use set_clock_groups with either [-asynchronous] or [-exclusive]. Asynchronous clocks (-asynchronous) are completely unrelated: they have different ideal clock sources. Exclusive clocks (-exclusive) are not active at the same time, such as multiplexed clocks.

    Thanks.