gate level simulation problem

V

Verictor

Guest
Hi,

I have a strange problem: the RTL modle simulation looks just fine and
there is no error or warning during synthesis. However, when I use the
gate level netlist to run the same testbench as the RTL simulation,
the results are very different. It looks like the outputs are locked
to all reset values during gate level simulation. I then check the
gate level netlist, no obvious tied nets.

The way I run RTL simulation is like this:

ncverilog model_tb.v model.v

The way I run gate level simulation is like this:(model.net.v is the
netlist file)

ncverilog model_tb.v model.net.v

I guess there is something wrong with the way I run it, not from the
netlist itself. Anyone has similar experience on this?

Thanks.
 
On Apr 3, 5:20 am, "Verictor" <stehu...@gmail.com> wrote:
Hi,

I have a strange problem: the RTL modle simulation looks just fine and
there is no error or warning during synthesis. However, when I use the
gate level netlist to run the same testbench as the RTL simulation,
the results are very different. It looks like the outputs are locked
to all reset values during gate level simulation. I then check the
gate level netlist, no obvious tied nets.

The way I run RTL simulation is like this:

ncverilog model_tb.v model.v

The way I run gate level simulation is like this:(model.net.v is the
netlist file)

ncverilog model_tb.v model.net.v

I guess there is something wrong with the way I run it, not from the
netlist itself. Anyone has similar experience on this?

Thanks.
If I may ask you, is this one of your first GLS (Gate Level Sim)
trials? These are sort of issues that tend to appear in early days of
GLS. Some of the common issues include (but not limited to for sure)

1. Clock not toggling
2. Derived clocks/PLLs not getting locked
3. Timescale incorrect
4. Wrong delay_mode usage, try delay_mode_unit
5. If you have SDF, remove it, get first GLS up without SDF then add
SDF.

This is best done on a "trial-and-error" debug phase than via posts.
Talk to a simulation expert.

If you are based in Bangalore, maybe my team can help - but no
commitments (just) yet :)

Regards
Ajeetha, CVC
www.noveldv.com
 
On Apr 3, 8:51 am, "Ajeetha (www.noveldv.com)" <ajee...@gmail.com>
wrote:
On Apr 3, 5:20 am, "Verictor" <stehu...@gmail.com> wrote:





Hi,

I have a strange problem: the RTL modle simulation looks just fine and
there is no error or warning during synthesis. However, when I use the
gate level netlist to run the same testbench as the RTL simulation,
the results are very different. It looks like the outputs are locked
to all reset values during gate level simulation. I then check the
gate level netlist, no obvious tied nets.

The way I run RTL simulation is like this:

ncverilog model_tb.v model.v

The way I run gate level simulation is like this:(model.net.v is the
netlist file)

ncverilog model_tb.v model.net.v

I guess there is something wrong with the way I run it, not from the
netlist itself. Anyone has similar experience on this?

Thanks.

If I may ask you, is this one of your first GLS (Gate Level Sim)
trials? These are sort of issues that tend to appear in early days of
GLS. Some of the common issues include (but not limited to for sure)

1. Clock not toggling
2. Derived clocks/PLLs not getting locked
3. Timescale incorrect
4. Wrong delay_mode usage, try delay_mode_unit
5. If you have SDF, remove it, get first GLS up without SDF then add
SDF.

This is best done on a "trial-and-error" debug phase than via posts.
Talk to a simulation expert.

If you are based in Bangalore, maybe my team can help - but no
commitments (just) yet :)

Regards
Ajeetha, CVCwww.noveldv.com- Hide quoted text -

- Show quoted text -
The problem is actually a setup/hold time issue. I verified that the
rising edge of the clock and data at registers happen to be at the
same time. There is no problem on RTL sim but for gate level netlist.
 
On Apr 3, 7:59 pm, "Verictor" <stehu...@gmail.com> wrote:
On Apr 3, 8:51 am, "Ajeetha (www.noveldv.com)" <ajee...@gmail.com
wrote:



On Apr 3, 5:20 am, "Verictor" <stehu...@gmail.com> wrote:

Hi,

I have a strange problem: the RTL modle simulation looks just fine and
there is no error or warning during synthesis. However, when I use the
gate level netlist to run the same testbench as the RTL simulation,
the results are very different. It looks like the outputs are locked
to all reset values during gate level simulation. I then check the
gate level netlist, no obvious tied nets.

The way I run RTL simulation is like this:

ncverilog model_tb.v model.v

The way I run gate level simulation is like this:(model.net.v is the
netlist file)

ncverilog model_tb.v model.net.v

I guess there is something wrong with the way I run it, not from the
netlist itself. Anyone has similar experience on this?

Thanks.

If I may ask you, is this one of your first GLS (Gate Level Sim)
trials? These are sort of issues that tend to appear in early days of
GLS. Some of the common issues include (but not limited to for sure)

1. Clock not toggling
2. Derived clocks/PLLs not getting locked
3. Timescale incorrect
4. Wrong delay_mode usage, try delay_mode_unit
5. If you have SDF, remove it, get first GLS up without SDF then add
SDF.

This is best done on a "trial-and-error" debug phase than via posts.
Talk to a simulation expert.

If you are based in Bangalore, maybe my team can help - but no
commitments (just) yet :)

Regards
Ajeetha, CVCwww.noveldv.com-Hide quoted text -

- Show quoted text -

The problem is actually a setup/hold time issue. I verified that the
rising edge of the clock and data at registers happen to be at the
same time. There is no problem on RTL sim but for gate level netlist.

Trying disabling timing checks..
 
On Apr 8, 3:02 am, "rja...@gmail.com" <rja...@gmail.com> wrote:
On Apr 3, 7:59 pm, "Verictor" <stehu...@gmail.com> wrote:





On Apr 3, 8:51 am, "Ajeetha (www.noveldv.com)" <ajee...@gmail.com
wrote:

On Apr 3, 5:20 am, "Verictor" <stehu...@gmail.com> wrote:

Hi,

I have a strange problem: the RTL modle simulation looks just fine and
there is no error or warning during synthesis. However, when I use the
gate level netlist to run the same testbench as the RTL simulation,
the results are very different. It looks like the outputs are locked
to all reset values during gate level simulation. I then check the
gate level netlist, no obvious tied nets.

The way I run RTL simulation is like this:

ncverilog model_tb.v model.v

The way I run gate level simulation is like this:(model.net.v is the
netlist file)

ncverilog model_tb.v model.net.v

I guess there is something wrong with the way I run it, not from the
netlist itself. Anyone has similar experience on this?

Thanks.

If I may ask you, is this one of your first GLS (Gate Level Sim)
trials? These are sort of issues that tend to appear in early days of
GLS. Some of the common issues include (but not limited to for sure)

1. Clock not toggling
2. Derived clocks/PLLs not getting locked
3. Timescale incorrect
4. Wrong delay_mode usage, try delay_mode_unit
5. If you have SDF, remove it, get first GLS up without SDF then add
SDF.

This is best done on a "trial-and-error" debug phase than via posts.
Talk to a simulation expert.

If you are based in Bangalore, maybe my team can help - but no
commitments (just) yet :)

Regards
Ajeetha, CVCwww.noveldv.com-Hidequoted text -

- Show quoted text -

The problem is actually a setup/hold time issue. I verified that the
rising edge of the clock and data at registers happen to be at the
same time. There is no problem on RTL sim but for gate level netlist.

Trying disabling timing checks..- Hide quoted text -

- Show quoted text -
How to disable timing checks in gate level simulations? I am using NC-
Verilog.

Thanks
 
On Apr 8, 10:48 pm, "Verictor" <stehu...@gmail.com> wrote:
On Apr 8, 3:02 am, "rja...@gmail.com" <rja...@gmail.com> wrote:

How to disable timing checks in gate level simulations? I am using NC-
Verilog.

Thanks

In ncelab command, add -notimingchecks as an option.

HTH
Ajeetha, CVC
www.noveldv.com
 

Welcome to EDABoard.com

Sponsor

Back
Top