Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronic 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.

Register Log in

Question About Clock-tree Synthesis!

Status
Not open for further replies.

anwayy

Junior Member level 2
Joined
Sep 19, 2002
Messages
23
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
146
Anyone familiar with Clock-tree Synthesis(CTS)?
Suppose a gigantic SoC design case, there are a RISC cpu core and a number of other sub-modules in it. Then how do you build the Clock-tree?
Do you build Sub Clock-tree within(in) the sub modules or only do CTS from the top-level?
In our design case, we do CTS from top-level using SE(Ctgen), and i feel that too many clock-buffers are inserted in front of the sub-modules so the clock-insertion-delay is so large.
Would you tell me how do you do it in this case?
And do you do it automatically with CTS tools or ...?
Thanks!
 

anwayy

Junior Member level 2
Joined
Sep 19, 2002
Messages
23
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
146
Why nobody say something?
 

ngistt

Newbie level 4
Joined
Apr 18, 2003
Messages
6
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
60
For a bigger design, the larger delay of clock tree is inevitable,
but it doesn't matter, the most critical issue is skew, not delay.

For SE CTS, if it cannot meet the minimum skew, it must increase
the delay.

If you have inhouse clock tree design rule (the rule must be
enforced by some inhouse tool to check it). You can split your clock
tree into subtrees then do the highest level by "hand", if you don't have
the rule, you better do everything by tool.

by the way, which version of SE/CTS you used? i don't know
the performance of latest release, but the one in SE5.0/5.1 is not good
for bigger design. You may compare with Astro or Celestry's tool.
 

anwayy

Junior Member level 2
Joined
Sep 19, 2002
Messages
23
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
146
Thank you for you advice.
We use SE5.4.
 

cikyen

Member level 3
Joined
Jun 11, 2003
Messages
58
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Activity points
581
Well..
From my pass experience...
While Astro come to the problem that it can not fix all the voilations, it will do some stupid job such as put buffer in series. End up, it might bring bad result.
 

rakko

Full Member level 4
Joined
Jun 1, 2001
Messages
233
Helped
10
Reputation
20
Reaction score
6
Trophy points
1,298
Location
mozambic
Activity points
2,070
One you can do if you are using avanti is to run Jupiter CTS in explorer mode over your whole design and it will run through a bunch of algorithms and suggests the best CTS implementation for your design. Usually it comes close to an optimal CTS solution. Then, you read the generated report and pick the best one. Feed this into CTS to generate your tree.
 

sandusty

Member level 5
Joined
Apr 19, 2004
Messages
89
Helped
3
Reputation
6
Reaction score
1
Trophy points
1,288
Activity points
910
All clock balanced tool tended to over design. (not all the flops talk to each other. For example, when will a debounced flop on your GPIO talk to your flops in memory controller? but tools balanced their skew!!!) That's the reason why you will see huge delay on the clock tree.
 

zyphor

Full Member level 1
Joined
Nov 22, 2003
Messages
97
Helped
4
Reputation
8
Reaction score
3
Trophy points
1,288
Activity points
816
I prefer you can manully route clock to different part of the chip ,especially around hard macro. Otherwise clock matching of different brance will cost you too much time.
 

Status
Not open for further replies.
Toggle Sidebar

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top