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.

Synth. area reduced when adding a pipeline register

Status
Not open for further replies.

oAwad

Full Member level 2
Joined
Feb 15, 2017
Messages
136
Helped
0
Reputation
0
Reaction score
0
Trophy points
16
Activity points
1,312
I'm synthesizing a Verilog design in Design Compiler. I'm adding a relatively tight timing constraint. The reported area is quite big. When I try to break the critical path by manually adding an additional register, the area is reduced by a large factor. Any explanation?
 

Misnaming a connection (wrong case) and DC finds a unconnected signal and boom it deletes a bunch of logic as "unused".
 

Misnaming a connection (wrong case) and DC finds a unconnected signal and boom it deletes a bunch of logic as "unused".

I don't think this is the case (I checked for unconnected nets). It looks like DC is trying so hard to reach the timing constraint in the first case, but results in getting an unoptimized area. When I cut the design with one level of registers, this seems to help DC find a better area. I'm not sure though, so feel free to correct me if I'm wrong.
 

DC will generate a synth report.
Have you investigated the DC generated reports in both cases?
Your answer is likely to be there in the reports.....
 

I'm synthesizing a Verilog design in Design Compiler. I'm adding a relatively tight timing constraint. The reported area is quite big. When I try to break the critical path by manually adding an additional register, the area is reduced by a large factor. Any explanation?

if the constraint is super tight, close to the maximum, several paths can be overly buffered to achieve the target. if you relax the constraint by splitting the path, you are inserting one flop, but maybe removing several buffers and oversized cells. this type of trade-off is very common, there is nothing wrong about it.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top