what create_generated_clock is used for?

coshy

Member level 4
Joined
Mar 28, 2016
Messages
78
Helped
0
Reputation
0
Reaction score
1
Trophy points
1,288
Activity points
1,811
I'm trying to understand about create_generated_clock.

basically, create_generated_clock is defined as the following.

create_generated_clock \
-name CLK_a \
-divided_by 1\
-source [git_pins CLK_b] \
-master_clock [get_clocks CLK_c] \
[get_pins CLK_d] -add -combinational

From Here, I'm confused that
what is "the get_clocks"and "get_pins" of master_clock?

Code:
            +-----------+
            |           |
 CLK_b ---->|           |----> CLK_a
            |           |
 CLK_c ---->|  Clock    |
            |  Generator|----> CLK_d
            |           |
            +-----------+

I draw my understand of above. Is this correct?
 

Hi,

I did an internet search of "create_generated_clock tutorial".

Many hits. The first hit is titled: "Common Use Cases of create_generated_clock command" (by XILINX).
Other sources: INTEL, AMD, MicroSemi ...
There are even videos.

Klaus
 

Yes whatever you are using, SDC or XDC, download the command reference guide and read it. It tells you the differnece between those command "switches".

what is "the get_clocks"and "get_pins" of master_clock?

Did you write that command yourself?
If yes, then you should have an idea what the cmd is doing.

You need to tell us clearly which clock is generated is from what....this info is missing!

Please re-check what yo have mentioned for these two switches .
-source *
-master_clock *
 

Hi,

I did an internet search of "create_generated_clock tutorial".

Many hits. The first hit is titled: "Common Use Cases of create_generated_clock command" (by XILINX).
Other sources: INTEL, AMD, MicroSemi ...
There are even videos.

Klaus
I expected that I could search all. but it's really hard to find it.

I'm not just expecting about the create_generated_clock's syntax description.

Especially, Why does "-master_clock" use 2 argument? and what does it mean?
--- Updated ---

Thanks, I found something clues from here



I think the reason of using the "-master_clock" is that if there are multiple clock source then I need to use it and it has 2 arguments like

Code:
-master_clock [get_clocks CLK2] \
[get_pins U1/z]

instead

Code:
-master_clock [get_pins U1/z]

Does the same apply to "-source"?
 
Last edited:

I expected that I could search all. but it's really hard to find it.

I'm not just expecting about the create_generated_clock's syntax description.
Your headline: "what create_generated_clock is used for?"

First hit: "Common Use Cases of create_generated_clock command"

So for me this is the perfect answer to your headline question.
( It's not the documentation (syntax description) how to use this command. )

And how can the first hit be called "really hard to find"?

Klaus
 


I think now the time for asking bout what create_generted_clock is used for and I found some common usages the create_generated_clock is used for the derived clock.

But I'm confused that there is another "-divided_by 1" and "-combinational" options in there. If I use -divided_by 1 option then primetime will trace all possible paths from generated clock. If I use -combinational option then PrimeTime will trace only non-flip-flop path.

I came across the STA script which is 2 options used created_generated_clock "-divided_by 1" "-add -combinational".

What does mean 2 options are used in the created_generated_clock?
 

divide_by 1 is not typically used because it means you are taking whatever input reference clock exists on pin X and saying that it exists too on pin Y. this is just a trick to get STA to work. you might need it when you are muxing different input clocks to a common output clock.

with the divide_by option, we very often use powers of 2. 2... 4... 8...
 
Reactions: coshy

    coshy

    Points: 2
    Helpful Answer Positive Rating
Cookies are required to use this site. You must accept them to continue using the site. Learn more…