electronics forum

Rules | Recent posts | topic RSS | Search | Register  | Log in

How to simulate netlist with gated clock?


Post new topic  Reply to topic    EDAboard.com Forum Index -> ASIC Design Methodologies & Tools (Digital) -> How to simulate netlist with gated clock?
Author Message
davyzhu



Joined: 23 May 2004
Posts: 521
Helped: 3
Location: oriental


Post07 Nov 2006 7:56   

gated clocks


Hi all,

When I simulate netlist (Verilog style) with gated clock, I found the output is very different with what I see in RTL level (with a lot of red 'xxxx').

So I add tfile in NCSim to forbidden the delay and timing check in global scope (Because the design have no memory like RAM/FIFO).

The netlist waveform seems to be better, but there are also some trivial differences between RTL and netlist waveforms (e.g. some signal have one clock advance and some signal have one clock delay). I guess gated clock does not behavior like original clock and introduce race.

But how to understand gated clock simulation behavior? Any comments/reference will be appreciated!
Thanks!

Best regards,
Davy
Back to top
Google
AdSense
Google Adsense




Post07 Nov 2006 7:56   

Ads




Back to top
zhangpengyu



Joined: 28 Jun 2004
Posts: 177
Helped: 2


Post07 Nov 2006 8:22   

gated clock


using "<=" in gated clock maybe help
Back to top
Peter Chang



Joined: 05 Oct 2006
Posts: 8
Helped: 1
Location: TAIWAN


Post07 Nov 2006 9:51   

gated clock verilog


I think the problem you saw might be caused by the initialization.
Be sure you set the initialization values for all signals in RTL leval.
Otherwise, after synthesis, in the gate-level simualtion, the timing
difference would cause unexpected values or unknown values.
Back to top
Shurik



Joined: 15 Jul 2004
Posts: 162
Helped: 12


Post07 Nov 2006 9:54   

gate level simulation with gated clock


Hi Davy!!
You can synthesize your behavior verilog whith option non modify clk .
Back to top
satya_422



Joined: 27 Sep 2006
Posts: 74
Helped: 4


Post07 Nov 2006 11:46   

gated clock netlist simulation


Hi
U done this after synthesis,
Reason 1:U may not initialized that gated clock enable signal or
2.There may be voilation (setup /hold)..

--satya
Back to top
maxnil



Joined: 15 Apr 2004
Posts: 3
Helped: 1


Post07 Nov 2006 21:56   

gate-level simulation gate clock


The most likely reason that you get 'strange' result when simulating a gate-netlist with gated clocks is that the different gated clocks are assigned at different delta-time, and thereby resulting in that the edge triggered registers are not evaluated/assigned at the exact same delta cycle.

A smal an simple example of problems with gate clocks in simulations (when not using any timing) is shown here:
Code:

assign gclk = clk & enable;

always @(posedge clk) begin
  b <= a;
end

always @(posedge gclk) begin
  c <= b;
end


In some simulators 'c' and 'b' may look as they are assigned the value from 'a' in the same clock cycle, the reason for this is that when 'clk' is changing (triggering a event) will make the 'b <= a' and 'gclk = clk & enable' assignment happen, then one delta cycle later the 'gclk' will trigger an event that makes the 'c <= b' assignment happen. So 'a' -> 'b' -> 'c' in the same clock cycle (but not in the same delta cycle).
If you add a small delay on 'b' and 'c', then it will work. But delays in RTL-code is ugly.
When running a gate-level simulation you should timing-data from your synthesis tool, then everything will 8hopefully) behave as it would in the real chip.

As usual I may have explained things in a more complicated way than necessary.
Back to top
davyzhu



Joined: 23 May 2004
Posts: 521
Helped: 3
Location: oriental


Post08 Nov 2006 2:58   

.net list initialization -c#


Thanks a lot!

I use DC to generate gated clock.
I heard latch is only used in gated clock in ASIC design. Is it right?

I think it must be gated clock cause the problem. I see the waveform.
And I found though data and clock change at the same time i.e at the
same delta time (I forbidden timing delay at global scope), clock
change is follow the data change.

As we all know data change must follow the clock change. So I guess
there must be gated clock cause some logic sequence chaos in
simulator.

Best regards,
Davy
Back to top
spauls



Joined: 17 Dec 2002
Posts: 547
Helped: 19


Post08 Nov 2006 6:45   

verilog gated clock


Try clock gating in POWER COMPILER and ensure enable timing.

or check clock_gating_check in PT.
Back to top
Shurik



Joined: 15 Jul 2004
Posts: 162
Helped: 12


Post14 Nov 2006 17:57   

dc_shell clock gating


davyzhu wrote:
Thanks a lot!

I use DC to generate gated clock.
I heard latch is only used in gated clock in ASIC design. Is it right?

I think it must be gated clock cause the problem. I see the waveform.
And I found though data and clock change at the same time i.e at the
same delta time (I forbidden timing delay at global scope), clock
change is follow the data change.

As we all know data change must follow the clock change. So I guess
there must be gated clock cause some logic sequence chaos in
simulator.

Best regards,
Davy


Hi !!!
I think what !
If You have uses only latch, you need set variable
hdlin_latch_always_async_set_reset = "true"
Back to top
davyzhu



Joined: 23 May 2004
Posts: 521
Helped: 3
Location: oriental


Post15 Nov 2006 6:32   

gated clock post simulation


Hi Shurik,

Can you tell me what tool do you use? Thanks!

Best regards,
Davy
Back to top
Shurik



Joined: 15 Jul 2004
Posts: 162
Helped: 12


Post17 Nov 2006 15:46   

synthesis gate clock


davyzhu wrote:
Hi Shurik,

Can you tell me what tool do you use? Thanks!

Best regards,
Davy

Hello !!!
dc_shell or In GUI mode design_analyzer - $ynop$y$
Back to top
research235



Joined: 15 Mar 2006
Posts: 293
Helped: 16


Post17 Nov 2006 17:23   

synthesis gate clock simulation


hello davyzhu

can u please tell how to generate SDF file at pre layout level .. i read in ur message u r simulating the gate level net list with SDF ,, i am not sure of how to generate this file at synsthesis level ..
could u please tell me the command used for DC
suresh
Back to top
sumit_techkgp



Joined: 01 Apr 2007
Posts: 136
Helped: 3


Post13 Apr 2007 9:03   

clock gating netlist simulation


U have an initialization problem in ur netlist
Back to top
Arabic versionBulgarian versionCatalan versionCzech versionDanish versionGerman versionGreek versionEnglish versionSpanish versionFinnish versionFrench versionHindi versionCroatian versionIndonesian versionItalian versionHebrew versionJapanese versionKorean versionLithuanian versionLatvian versionDutch versionNorwegian versionPolish versionPortuguese versionRomanian versionRussian versionSlovak versionSlovenian versionSerbian versionSwedish versionTagalog versionUkrainian versionVietnamese versionChinese version
Post new topic  Reply to topic    EDAboard.com Forum Index -> ASIC Design Methodologies & Tools (Digital) -> How to simulate netlist with gated clock?
Page 1 of 1 All times are GMT + 1 Hour
Similar topics:
How can i balance the clock latency in different gated clock (5)
how to simulate a netlist with ads (1)
How to simulate a netlist with other schematics in cadence (2)
how to synthesize gated clock?? (8)
gated clock vs CE(Clock Enable) for LOW POwer Design (9)
synthesis for gated clock and muxed clock (1)
How do I simulate/verify a synthesized netlist? (3)
how to simulate digital netlist file? (1)
how to simulate digital netlist file? (5)
about Gated clock (25)


Abuse || Administrator || Moderators || Support us || sitemap
topic RSS