The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl
Simulators >> AMS Simulators >> AMS Simulator misses pulses
https://designers-guide.org/forum/YaBB.pl?num=1171355457

Message started by Pavel on Feb 13th, 2007, 12:30am

Title: AMS Simulator misses pulses
Post by Pavel on Feb 13th, 2007, 12:30am

Hello,

During simulation I've met strange phenomena: simulator misses some signal activity.
On the picture we can see that 2 pulses ara missed:
one clock (clk signal) and one write enable (wr signal).
These signals are ordinary Verilog stimuli, connected to analog block.

clk period is 37ns (timescale 1ns/10ps), '0' part of wr is 85ns (timescale 1ns/10ps).

What could be reason of this strange simulator behaviour?
Because of this fault, register in digital part don't properly set,
and consequently circuit behave in wrong way.

Regards.

Pavel.

Title: Re: AMS Simulator misses pulses
Post by Pavel on Feb 14th, 2007, 12:45am

Hello

On the attached picture there are 2 pairs of signals
wr - WRB
and
din - DIN
wr is external signal that connects WRB output of Verilog-coded stimuli with an input of DUT (device under test).
din is external signal that connects DIN output of Verilog-coded stimuli with an input of DUT (device under test).

As you can see, the correspondance between din and DIN is perfect, while between wr and WRB not.
Analog signal wr miss one pulse.

What could be the reason of such behaviour and how to troubleshoot it?

Thanks in advance.

Pavel.


Title: Re: AMS Simulator misses pulses
Post by zhong on Feb 14th, 2007, 2:41am

I guess  WRB go through the L2E connect module to wr right ?  Are you using Cadence built-in Connect Rule/Connect Module ? If so which built-in ConnectRule you choosed  ?

Reduce  rlo/rhi/rx/rz value of L2E from connect rule and re-run the simulation to see if this helps ..

Zhong

Title: Re: AMS Simulator misses pulses
Post by Pavel on Feb 14th, 2007, 3:25am

Zhong, thank you for response. :)

Connect Rule I specified in simulator setting points to ConnRules_5V_full cell from connectLib.
When I checked the its contents, I discovered that it includes descriptions of 3 connection rule modules:
ConnRules_5V_full
ConnRules_5V_mid
ConnRules_5V_basic.
Then I checked contents of ConnRules_5V_mid and ConnRules_5V_basic cells.
Theirs contents are the same as one of ConnRules_5V_full . They include description of all 3 connection rule modules.
So, I'm not sure what exactly connect rule is taken.

Concerning 2nd part of your proposition I don't know how to change these parameters because connectLib cells are blocked for editing.

Regards

Pavel.

Title: Re: AMS Simulator misses pulses
Post by Pavel on Feb 14th, 2007, 9:09am

It was tool (simulator), that messed me around.
I changed stimuli. In new conception digital-to-analog conversion placed inside of the block - in analog process.
It didn't help. Analog signals had "holes" at the same places as in previous case.

Now I put bound_step function in analog process and am waiting for simulation results.

Regards.

Pavel.

Title: Re: AMS Simulator misses pulses
Post by zhong on Feb 14th, 2007, 9:00pm

If you choose ConnRule_5V_full . ncelab will pick up this ConnRule_5V_full unit not matter there are multiple connectRule in your connectRules5V.vams file .


There are a few reasons causing the L2E miss the signal .
1. If ourput loading is too big , this means you don't have enough strength.
2. Frequency is too high for built-in connect module to catch for example the default rise time is 1ns in connect rule  . If digital clock period is less than 1ns. the digital pulse will be missed .

In AMS-ADE  Setup-> Connect Rules .. you can customerize the CR parameter based on the default CR .
If you are not using ADE, you can copy the connectLib to your local dir to change the parameter values such as Rx/Rhi/RLo/Tr/Tf ect.  Of course , then you need to change cds.lib path to connectLib in your local dir instead of point to software hier ..

BTW, bound_step is to set simulation maxstep of this module to be less than 1/Frequency . It helps if the simulation maxstep exceed the 1/Frequency . But  If you have above 2 issues in your design, bound_step does not help


Zhong

Title: Re: AMS Simulator misses pulses
Post by Pavel on Feb 15th, 2007, 12:58am


Quote:
1. If ourput loading is too big , this means you don't have enough strength.

I removed device and leaved only PADs as stimuli charges. In this case everything was correct.
The simulation settings in both cases were the same:
Simulator: Ultrasim
Simulation Mode: Digital Fast
Speed Dial: 8
Analog: Digital
MOS method: Digital PWL nonlinear C
Diode method: Analog table


Quote:
2. Frequency is too high for built-in connect module to catch for example the default rise time is 1ns in connect rule  .

Pulse duration is 130ns


Quote:
In AMS-ADE  Setup-> Connect Rules .. you can customerize the CR parameter based on the default CR .

I didn't find this option. For my simulations I use Hierarchy Editor AMS Plug-in. Connect Rules settings I can get only when start up the simulation. And only settings that I can change there is connect library, connect cell and connect view.


Quote:
BTW, bound_step is to set simulation maxstep of this module to be less than 1/Frequency .

bound_step I specified to be 1ns.

I'm afraid that it's just simulator bug.

Thanks one more time Zhong.

Regards.

Pavel.

Title: Re: AMS Simulator misses pulses
Post by zhong on Feb 15th, 2007, 11:59am

Pravel,
If all those methods did not help you.   For investigation purpose , please run AMS-spectre, I believe it should give you the correct result .  
Agree , Most likely this is the bug in AMSUltra.  

Zhong

Title: Re: AMS Simulator misses pulses
Post by Pavel on Feb 15th, 2007, 11:44pm

Ok, I'll simulate with Spectre.
I already tried, it but observing how siulation advances, I undesrstood that it will continue one day, maybe more.

What about customizing parameters for connect rules.
I've still not found where I could change them, apart from copying standard rule to my working directory and changing
verilog-AMS code directly.

Regards.

Pavel.


Title: Re: AMS Simulator misses pulses
Post by zhong on Feb 16th, 2007, 12:33am

Regarding how to change the CR parameter from GUI ..
You need to use ADE.
 In ADE , choose ams as simulator , then Setup -> Connect Rules ...
  In Connect Rules form , select built-in CR , then click on "customerize" botton,  new form pop up , you can change CR parameter from there ...

Zhong

Title: Re: AMS Simulator misses pulses
Post by Pavel on Feb 16th, 2007, 7:15am

Ok, I found it. Thanks Zhong.
But for my AMS simulations I use HE AMS Plug-in, not ADE (because with ADE I can't include Verilog).
Would the parameter settings made in ADE be taken in account by elaborator, that run under Hierarchy Editor?

Regards.

Pavel.

Title: Re: AMS Simulator misses pulses
Post by zhong on Feb 16th, 2007, 12:17pm

You'd better run through from ADE which is going to be easy.
Now if you really need to run through from HED plug-in flow, then after you modified the CR in ADE , you need to saved modified CR to your local lib . Then in HED plug-in flow ,you need to specifiy your local CR lib in Connecr Rule field. the ncelab will pick up from there .

Title: Re: AMS Simulator misses pulses
Post by Ken Kundert on Feb 16th, 2007, 3:11pm

If you are switching to Spectre from Ultrasim you are clearly willing to trade accuracy off for speed, so you might as well set errpreset=liberal on the transient analysis. It often gives a factor of 3 speed up without the accuracy issues of Ultrasim.

-Ken

Title: Re: AMS Simulator misses pulses
Post by Pavel on Feb 19th, 2007, 2:43am

Thanks Zhong and Ken for your hints.

I addressed to Cadence with my issue and am waiting for the response.

Regards.

Pavel.

The Designer's Guide Community Forum » Powered by YaBB 2.2.2!
YaBB © 2000-2008. All Rights Reserved.