Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

[SOLVED] How to define sdc file description for internally generated clock ?

Status
Not open for further replies.

Anklon

Member level 1
Joined
Dec 1, 2013
Messages
32
Helped
0
Reputation
0
Reaction score
0
Trophy points
6
Activity points
310
In my design, I have a clock generation block which generate main clock pulse ( no external clock reference is used like PLL ) . I'm facing problem defining sdc clock description.

I've tried; "create_clock" & "create_generated_clock" both command, but it fails to create any clock tree definition.

**WARN: (IMPCCOPT-4144): The SDC clock func has source pin clk, which is an input pin. Clock trees for this clock will be defined under the corresponding output pins instead.
Type 'man IMPCCOPT-4144' for more detail.
Analyzing clock structure done.
Checking clock tree convergence...
Checking clock tree convergence done.
Placement constraints of type 'region' or 'fence' will not be downgraded to 'guide' because the property change_fences_to_guides has been set to false.
Set place::cacheFPlanSiteMark to 1
**ERROR: (IMPCCOPT-2004): Cannot run 'CCOpt' as no clock trees are defined.
**ERROR: (IMPCCOPT-2196): Cannot run ccopt_design because the command prerequisites were not met. Review the previous error messages for more details about the failure.

How can I approach to handle this situation?

I may have some misunderstanding about this whole thing and how to approach. Any example or source would be appreciable.
 

It appears you are defining the clock on an input pin of your block instead of the output pin. Show your SDC file and describe the pin it is actually using/should be using.
 

Below I draw the actual block diagram of my Design where clk is generated from Ins_1 which is a hard macro and used as input in Ins_2 . I also keep a pin as output from the module for future testing purpose.
My sdc command is:
Code:
create_clock -name "func" -add -period 110.0 -waveform { 0.0 55.5 } [get_ports clk]
which is directly generated from genus. I also tried "get_pins" instead of "get_ports" and "create_generated_clock" in stead of "create_clock" just to see if this have any impact on the design.

Could you tell my where is my major mistake is and how can I correct this?
As far as I understand create_clock and create_generated_clock are both command for external input clock or reference clock. But my clock is internal generated clock. As I found no other command for this situation, I tried to go with the usual command. Is this the reason it is not working ? If so, could you tell me How could I create clock tree or sdc for this situation ?

Thank you for your time.
 

Attachments

  • clk_module.png
    clk_module.png
    4.5 KB · Views: 271

You are pointing to the top level clock which is a mistake. Your SDC should be something like:
create_clock -name "func" -add -period 110.0 -waveform { 0.0 55.5 } [get_pins ins1/clk]
 

I tried this command too. This gives this error:
**ERROR: (IMPCCOPT-4082): No timing clocks found therefore cannot extract clock trees. An SDC file should be loaded.

But if I check constrains, It shows that my sdc file is loaded properly and constraint "func" is created. I'm really lost here.

Sorry for my lack of understanding. Thank you for your time.
 

I tried this command too. This gives this error:


But if I check constrains, It shows that my sdc file is loaded properly and constraint "func" is created. I'm really lost here.

Sorry for my lack of understanding. Thank you for your time.

Look at the drawing you attached. Do you see how "clk" exists in multiple hierarchies? From an SDC point of view you are creating a valid constraint. However, no clock tree can be actually created from it.
 

Thank You for you help. I get it now.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top