| Author |
Message |
davyzhu
Joined: 23 May 2004 Posts: 521 Helped: 3 Location: oriental
|
07 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

|
07 Nov 2006 7:56 Ads |
|
|
|
|
|
|
| Back to top |
|
 |
zhangpengyu
Joined: 28 Jun 2004 Posts: 177 Helped: 2
|
07 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
|
07 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
|
07 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
|
07 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
|
07 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
|
08 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
|
08 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
|
14 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
|
15 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
|
17 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
|
17 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
|
13 Apr 2007 9:03 clock gating netlist simulation |
|
|
|
|
| U have an initialization problem in ur netlist
|
|
| Back to top |
|
 |