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.

Constraints for Clock gating a complete module

Status
Not open for further replies.

rakeshmglth

Newbie level 1
Joined
Apr 15, 2015
Messages
1
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
12
Dear all,

I am trying to perform clock gating for a submodule present in a bigger design. I want to disable/enable the clock to this submodule depending on a control register. The module I want to clock gate is MB as shown in the attached figure.
I implement this is verilog using and AND gate as shown and synthesize using Synopsys design compiler. Note that I do not want to use compile_ultra -gate_clock command as I do not want to clock gate any other modules in the whole design.

The problem arises when running with the sdf that I generate. The tool generates a huge delay for the ouput of the and gate as shown in the sdf snippet below.
clock_gate.png
(CELL
(CELLTYPE "CELL_FROM_LIB")
(INSTANCE interp_clk_gate_inst/U3)
(DELAY
(ABSOLUTE
(COND !B (IOPATH A Z (19412.504:19412.631:19412.631) (5637.378:5637.325:5637.325)))
(COND A (IOPATH B Z (19473.148:19473.148:19473.148) (5625.532:5625.532:5625.532)))
)
)
)

The constraints I am using are shown below.

Code:
create_clock -period ${CLOCK_PERIOD} [get_ports clk]
set_drive 0 {clk}
#set_propagated_clock [all_clocks]
#add around 5% uncertainty
set_clock_uncertainty 0.4 clk 
set_dont_touch_network {clk}

create_generated_clock -name interp_gated_clk -source [get_ports {clk}] -divide_by 1 [get_pins interp_clk_gate_inst/gclk]
update_timing
set_clock_gating_check -setup 0.15 -hold 0.03 interp_gated_clk
update_timing

set_propagated_clock interp_gated_clk
set_false_path -from [get_ports rst]

Is there a specific way to tell the tool to buffer more if needed to fix this huge delay?

Thanks in advance.
Rakesh
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top