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.

how to synthesize gated clock??

Status
Not open for further replies.

JesseKing

Advanced Member level 4
Joined
Nov 12, 2004
Messages
100
Helped
3
Reputation
6
Reaction score
1
Trophy points
1,298
Activity points
838
gated clock circuit

when synthesizing a circuit with gated clock, how to constrain it?

for example, a clock is gated as follows,
assign clk = ce? clkin : 1'b0;
in which clkin is the explicit input clock pin, gated by a 2-in and gate, and clk is fed to DFFs in the circuit.

how can i constrain this design?

if i creat_clock on clkin port and set_dont_touch_network, the "dont_touch" and gate can not drive the high fan-out, so large negative slack will appear.

who can tell me how to do

Best regards!
 

creat_clock

clock is used to handle through CTS , whether it is gated clock or not

normally in DC, set_dont_touch_network will propagate the dont_touch attri throughout the net drived by the gate's pin. That is why u see large slack which is caused by the DRC violation.

u can set_ideal_network on clkin to mask the drc check of the clock net.

PS: the way u write gated clock is unsafe
 

gated clock

ok, i have solve the synthesis problem.
BTW, can u give me some advice on gated clock discription?
 

gated clock. clock net

reg syn_clk_en;
always @(clkin or clk_en)
if (!clkin)
syn_clk_en <= clk_en;
assign clkout = clkin & (syn_clk_en | scan_en);

take care of the gating part when P&R
and the latch while CTS
 

gate clock circuit

In general, gate signal should be latch with neg-edge clock before AND with the gated-clock.
 

set_dont_touch_network assign

Some synthesize tools can detect the gated clock and optimize it. Then do we need to write the gated clock circuit by ourself?

such as: power compiler, rtl compiler
 

gated clock synthesis rtl compiler

create_generated_clock clk -source clkin -divid 1
 

gated clock logic circuit

let synthesis tool insert gate clock,add reasonable constrain
 

synthesis gate clock

usually, we separate gated clock logic to a individual module,

and put this module next below the top module,

becuse the logic in gated clock module is simple generally,

you can hand instantiate them and check them carefully.


JesseKing said:
when synthesizing a circuit with gated clock, how to constrain it?

for example, a clock is gated as follows,
assign clk = ce? clkin : 1'b0;
in which clkin is the explicit input clock pin, gated by a 2-in and gate, and clk is fed to DFFs in the circuit.

how can i constrain this design?

if i creat_clock on clkin port and set_dont_touch_network, the "dont_touch" and gate can not drive the high fan-out, so large negative slack will appear.

who can tell me how to do

Best regards!
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top