problem with modelsim

  • Thread starter Torsten Bitterlich
  • Start date
T

Torsten Bitterlich

Guest
Hi there,

I am experiencing a problem when using Modelsim. The following piece of
code is to be simulated :

variable t1,t2 : time;
variable temp1, temp2 : real;
variable cp : real := (1.0/(500 * 1000000.0));


temp1 := cell_ptr.t1(x+y-1);
temp2 := cell_ptr.t2(x+y-1);

t1 := (temp1 * cp) * 1 sec;
t2 := (cp - (temp2 * cp)) * 1 sec;

The variable temp1 for example has the value 0.10991, temp2 is 0.877552.
Cp is as expected 2e-9. The problem occurs with t1 and t2. These
calculations result in 0. When simulating this code with Aldec Riviera,
the variables are correctly calculated. Is there something to be done in
Modelsim, maybe concerning the time resolution, so this works? Im using
Modelsim XE/Starter 5.6a, the free Xilinx edition. Thanks for any help,

Regards,

Torsten
 
Although not familair with the details of "Modelsim XE/Starter". You can
normally set
a resolution in ModelSim add the moment you load a design using the
graphical environment
or if you type the vsim command, something like: vsim -t fs <your design>
should work

Egbert Molenkamp

"Torsten Bitterlich" <andy_kaufman@gmx.de> schreef in bericht
news:bgir2o$p1gml$1@ID-151368.news.uni-berlin.de...
Hi there,

I am experiencing a problem when using Modelsim. The following piece of
code is to be simulated :

variable t1,t2 : time;
variable temp1, temp2 : real;
variable cp : real := (1.0/(500 * 1000000.0));


temp1 := cell_ptr.t1(x+y-1);
temp2 := cell_ptr.t2(x+y-1);

t1 := (temp1 * cp) * 1 sec;
t2 := (cp - (temp2 * cp)) * 1 sec;

The variable temp1 for example has the value 0.10991, temp2 is 0.877552.
Cp is as expected 2e-9. The problem occurs with t1 and t2. These
calculations result in 0. When simulating this code with Aldec Riviera,
the variables are correctly calculated. Is there something to be done in
Modelsim, maybe concerning the time resolution, so this works? Im using
Modelsim XE/Starter 5.6a, the free Xilinx edition. Thanks for any help,

Regards,

Torsten
 
Hi,
Modelsim XE/Starter does support that option and Egbert is correct in his
observation, it is your time resolution that has truncated t1 & t2. Here is
the sample output from MXE/Starter:

# ** Note: temp1 1.099100e-001 temp2 8.775520e-001 t1 220 ps t2 245 ps cp
2.000000e-009

^^^^^^^^^^^^^^
If I run with -t ns

$ vsim -c time_e -t ns -do "run"
# ** Note: temp1 1.099100e-001 temp2 8.775520e-001 t1 0 ns t2 0 ns cp
2.000000e-009

^^^^^^^^^^^^
Srinivasan
--
Srinivasan Venkataramanan
Senior Verification Engineer
Software & Silicon Systems India Pvt Ltd. - an Intel company
Bangalore, India

http://www.noveldv.com http://www.deeps.org

I don't speak for Intel
"Egbert Molenkamp" <molenkam_no_spam@cs.utwente.nl> wrote in message
news:bgljf0$2hv$1@ares.cs.utwente.nl...
Although not familair with the details of "Modelsim XE/Starter". You can
normally set
a resolution in ModelSim add the moment you load a design using the
graphical environment
or if you type the vsim command, something like: vsim -t fs <your design
should work

Egbert Molenkamp

"Torsten Bitterlich" <andy_kaufman@gmx.de> schreef in bericht
news:bgir2o$p1gml$1@ID-151368.news.uni-berlin.de...
Hi there,

I am experiencing a problem when using Modelsim. The following piece of
code is to be simulated :

variable t1,t2 : time;
variable temp1, temp2 : real;
variable cp : real := (1.0/(500 * 1000000.0));


temp1 := cell_ptr.t1(x+y-1);
temp2 := cell_ptr.t2(x+y-1);

t1 := (temp1 * cp) * 1 sec;
t2 := (cp - (temp2 * cp)) * 1 sec;

The variable temp1 for example has the value 0.10991, temp2 is 0.877552.
Cp is as expected 2e-9. The problem occurs with t1 and t2. These
calculations result in 0. When simulating this code with Aldec Riviera,
the variables are correctly calculated. Is there something to be done in
Modelsim, maybe concerning the time resolution, so this works? Im using
Modelsim XE/Starter 5.6a, the free Xilinx edition. Thanks for any help,

Regards,

Torsten
 

Welcome to EDABoard.com

Sponsor

Back
Top