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 two or more synthronous clock with same/different setup# in DC

Status
Not open for further replies.

layowblue

Advanced Member level 4
Joined
Mar 21, 2014
Messages
115
Helped
19
Reputation
38
Reaction score
18
Trophy points
18
Activity points
791
Hi all

In my design, I have two types of clocks:
input clk;
input [7:0] channel_clk;
They are synchronous clocks, except that "channel_clk" is gated under some conditions by clock_gating cells.
1) When creating sdc, how do I tell the synthesis tool that these two clock types are synchronous to each other?
2) If I want to put tighter setup constaints on channel_clk, what should I do?
3) Some other input pin(say A) goes to flops clocked by both those clocks, how should I specify the input delay for A?

Thanks a lot
Leo
 

1)Just define them identically
2)Specify more stringent input delays, clock uncertainties etc...
3)Got to think about it....No answers currently...
 

Hi sharath666

Could you elaborate exactly how to "define then identically"?
I don't think create two(or nine) new clocks with same waveform settings mean that these clocks are synchronous.
Can you put a simple sdc tcl example here?

Thanks
Leo
1)Just define them identically
2)Specify more stringent input delays, clock uncertainties etc...
3)Got to think about it....No answers currently...
 

I am thinking that should suffice as solvnet says ". The first time in the list is a rising transition, typically the first rising transition after time zero" for the waveform option.
 

If "channel_clk" vector are a clock gated version of "clk", you only need to declare one clock source for "clk", the channel_clk vector is covered.
The clock tree tool will go through the clock gated cells and equilibrate all of these branches.
 
Hi rca

The problem is that channel_clk is 8-bit input pins. As a hardmacro block, we need to synthesis this subblock as a whole deliverable.
Then toplevel "might" gate the "channel_clk" if necessary.

With that said, channel_clk has to be declared in a way that the synthesis tool can understand its synchronous association with "clk".
I found "channel_clk" constraint missing because I see unconstrained datapath in syn reports.

Please help me out..

If "channel_clk" vector are a clock gated version of "clk", you only need to declare one clock source for "clk", the channel_clk vector is covered.
The clock tree tool will go through the clock gated cells and equilibrate all of these branches.
 

The SDC command create_clock has the argument "-domain", if the name is the same, that will indicate the clocks are synchronous.
 
you can declare channel clock as create_generated_clock , with source clock "clk" , this will built a relationship between clk and channel clk ..
 
Thanks rca and rahul.
It turns out both "domain" and "create_generated_clock" work, according to my synthesis result.
Marking it as resolved.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top