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.

Techniques to remove setup violations in a critical path

Status
Not open for further replies.

s0shinde

Member level 1
Joined
Jun 30, 2003
Messages
40
Helped
1
Reputation
2
Reaction score
1
Trophy points
1,288
Location
MI,USA
Activity points
456
Hello,
I have a critical path in my design. The combinatorial logic between two flipflops can not be reduced further to remove setup violations. Any suggestions on this?
 

eda_wiz

Advanced Member level 2
Joined
Nov 7, 2001
Messages
654
Helped
57
Reputation
114
Reaction score
29
Trophy points
1,308
Activity points
6,195
Increase Drive strength of the combinational gates to reduce the delay.

introduce slight skew between successive flops to increase the clock freq(may be done by introducing some buffers in the clock)

Try RETIMING.. tell your tool to do this

Use a better process library
 

s0shinde

Member level 1
Joined
Jun 30, 2003
Messages
40
Helped
1
Reputation
2
Reaction score
1
Trophy points
1,288
Location
MI,USA
Activity points
456
hello whizkid,
I had tried inserting pipelines and flattening the hierarchical design. Also I did uniquify. But it still doesn't meet the timing. My employer doesn't want me to reduce the clock frequency and inserting skew in the clock in between critical path won't insert skew in clock in the next stages, but I will have to modify the timing in next stages accordingly. I gave this idea but the design manager doesn't agree. Any other suggestion.
 

linuxluo

Full Member level 6
Joined
Jul 26, 2002
Messages
331
Helped
7
Reputation
14
Reaction score
3
Trophy points
1,298
Activity points
2,514
hi,
first ,using compile_ultra in DC. then using PC to see if violation is exist or not.
if the violation is just exceed constraint no more than 5%, just do p&r .using route tool to resolve this violation.
and you can try rtl compile from cadence to try and this tool is very expensive.
 

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,065
if none of these methods work then you might have to design the offending block using custom logic. I have seen improvement of up to 30% between standard logic and custom logic.
 

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
it depends which stage are you in.

if you are in synthesis stage. you can orginize you code, or change synthesis strategy.

if you are in APR stage, you can select the cell 's transition is big and increase its size to diminish the delay.
 

eexuke

Full Member level 4
Joined
Mar 25, 2004
Messages
196
Helped
9
Reputation
18
Reaction score
3
Trophy points
1,298
Activity points
1,934
Hi,
I think it needs manual ECOs.You can try as following:
1)check the placement in your layout,place the related logic cells as near as you can
2)check the routing,you can use double-width routing to reduce some net delay
3)manual logic resynthesis,such as combine two INV to one BUF
4)Early & Late clock are efficient ways,but the skew......
 

linli

Newbie level 6
Joined
Jul 1, 2003
Messages
12
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
82
customer logic/cell is a good solution for this kind of issue.
 

sandusty

Member level 5
Joined
Apr 19, 2004
Messages
89
Helped
3
Reputation
6
Reaction score
1
Trophy points
1,288
Activity points
910
Hi, s0shinde:

Which phase are you in your design? You might want to use:

Buffer sizing
Buffer insertion
Bring critical signal close to the sink,
Circuit replication (if that's a placement problem)
Logic re-write (mentioned in the eexuke's ECO above)
Wire sizing (near the source, otherwise increase R, C at the same time, you wouldn't get a better results)
Cut fanouts and build a tree
Re-layout some of the wires to the low r/c layers
Move clock edge, ...

Of coures, change technology, fundry, cell lib, pipe, block partition, archecture and spec will be very helpful... :)
 

    s0shinde

    Points: 2
    Helpful Answer Positive Rating

sandusty

Member level 5
Joined
Apr 19, 2004
Messages
89
Helped
3
Reputation
6
Reaction score
1
Trophy points
1,288
Activity points
910
BTW, do you want to change to latch-base design and using cycling stealing?
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top