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.

clock gating- problems

Status
Not open for further replies.

sagar_eda

Junior Member level 1
Joined
Jan 15, 2010
Messages
15
Helped
1
Reputation
2
Reaction score
1
Trophy points
1,283
Location
chirala
Activity points
1,390
hi
i'm using RTL level clock gating in my design for reducing power consumption.

i'm taking everything ideal(setup time=0, hold time=0)

after inserting clock gating and after synthesis, i'm getting large hold time violations.

help me how to solve this
thank you
 

My belief is that you are inserting the gating logic by UPF, please confirm. If so, then I believe you have mixed in upf language.
Otherwise if you doing by verilog, then may be the tool doesn't understand whats is going there so you need to give sdc constraints to tool, to allow the tool understand where is the false where is the real path.
 

i am not using UPF. i am using Synopsys Design Compiler to insert RTL level clock gating using "insert clock_gating" command

---------- Post added at 09:57 ---------- Previous post was at 09:56 ----------

hold violations at the input of FFs
 

Sorry to say this but your question is like from a 5 year old kid. If someone asks you "my car has a problem. Please let me know how to fix it", can you give him a solution ?
 

why r u bothering about hold violations at synthesis stage ?
Clock gating hold violations can fixed like other hold violations during physical design phase.
Techniques can used to fix hold violations are clock skewing/buffering in data path near to endpoint.
 

so you are telling no need to consider hold violations at synthesis level.

my doubt is these violations are very large, even then?
 

yes..no need to bother about hold violations because clock is ideal during synthesis (no CTS). All hold violations will get fixed in post route database.
 

If you have a huge hold violations after synthesis, there is something wrong, either logic or constraints or library. You have to fix it.
 

might be you can try "set_clock_gating_check" to fix hold violations at synthesis stage for specified clock gating cells.
 

I think the first step is finding out what caused the hold viols. If it's a simple hold viol, ignore it till the backend, but if it's caused by other reasons, most likely required to fix them.

The problem is the OP didn't even provide the details and there is no way to help.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top