Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > VHDL > General question on the simulation of VHDL-code with Alteras QuartusII

Reply
Thread Tools

General question on the simulation of VHDL-code with Alteras QuartusII

 
 
Markus Jochim
Guest
Posts: n/a
 
      06-06-2007
Hello everybody,

I just started with VHDL and I have three (probably simple) questions:

Using Alteras Quartus 2 Tool I want to do some VHDL simulation:

A simple example:

ARCHITECTURE TEST OF TEST IS
BEGIN
x <= i after 20 ns;
END TEST;

Using the simulator that is integrated in Quartus 2 I generated a simple
waveform where:

i = ' 0 ' form 0 ns to 10 ns
i = ' 1 ' for time > 10 ns

When I switch to "Functional Simulation" timing is ignored (as
expected). When I switch to "Timing Simulation" I get:

x = '1' for time > 23 ns

which obviously reflects the timing of the FPGA for which the design was
synthesised by Quartus II.

Now my questions are as follows:

Question 1: How can I just perform a VHDL simulation that reflects the
timing expressed by the statement "... after 20 ns"?

Question 2: How can I instruct Quartus II to accept all valid VHDL-code
and not only code that actually can be synthesised? I just want to
simulate a VHDL model!

Question 3: How can run simple test benches written in VHDL (like in the
example attached below) and watch the resulting waveforms using Quartus II.

Any help is highly appreciated!

Best regards

Markus




-- Test Bench:

LIBRARY IEEE;
USE IEEE.std_logic_1164.ALL;

ENTITY TEST IS
PORT (
i1, i2: IN std_logic;
o: OUT std_logic
);
END TEST;


ARCHITECTURE TEST OF TEST IS
BEGIN
o <= i1 and i2;
END TEST;



LIBRARY IEEE;
USE IEEE.std_logic_1164.ALL;

ENTITY TB_TEST IS
END TB_TEST;

ARCHITECTURE TB_TEST of TB_TEST is
COMPONENT TEST IS
PORT (
i1, i2: IN std_logic;
o: OUT std_logic
);
END COMPONENT;

SIGNAL w_i1, w_i2: std_logic;
BEGIN
DUT:
TEST PORT MAP( i1 => w_i1,
i2 => w_i2);

STIMULI:
PROCESS
BEGIN
w_i1 <= '1';
WAIT FOR 50 ns;
w_i2 <= '1';
WAIT FOR 50 ns;
w_i1 <= '0';
WAIT FOR 50 ns;
END PROCESS STIMULI;
END TB_TEST;
 
Reply With Quote
 
 
 
 
Mike Treseler
Guest
Posts: n/a
 
      06-06-2007
Markus Jochim wrote:

> Using Alteras Quartus 2 Tool I want to do some VHDL simulation:
> A simple example:
> ARCHITECTURE TEST OF TEST IS
> BEGIN
> x <= i after 20 ns;
> END TEST;
> Using the simulator that is integrated in Quartus 2 I generated a simple
> waveform where:


The integrated simulator is not a vhdl simulator.
Use the quartus oem modelsim program instead.

-- Mike Treseler
 
Reply With Quote
 
 
 
 
ghelbig@lycos.com
Guest
Posts: n/a
 
      06-07-2007
On Jun 6, 11:14 am, Markus Jochim <(E-Mail Removed)-due.de> wrote:
> Hello everybody,
>
> I just started with VHDL and I have three (probably simple) questions:
>
> Using Alteras Quartus 2 Tool I want to do some VHDL simulation:
>
> A simple example:
>
> ARCHITECTURE TEST OF TEST IS
> BEGIN
> x <= i after 20 ns;
> END TEST;
>
> Using the simulator that is integrated in Quartus 2 I generated a simple
> waveform where:
>
> i = ' 0 ' form 0 ns to 10 ns
> i = ' 1 ' for time > 10 ns
>
> When I switch to "Functional Simulation" timing is ignored (as
> expected). When I switch to "Timing Simulation" I get:
>
> x = '1' for time > 23 ns
>
> which obviously reflects the timing of the FPGA for which the design was
> synthesised by Quartus II.
>
> Now my questions are as follows:
>
> Question 1: How can I just perform a VHDL simulation that reflects the
> timing expressed by the statement "... after 20 ns"?
>
> Question 2: How can I instruct Quartus II to accept all valid VHDL-code
> and not only code that actually can be synthesised? I just want to
> simulate a VHDL model!
>
> Question 3: How can run simple test benches written in VHDL (like in the
> example attached below) and watch the resulting waveforms using Quartus II.
>
> Any help is highly appreciated!
>
> Best regards
>
> Markus
>
> -- Test Bench:
>
> LIBRARY IEEE;
> USE IEEE.std_logic_1164.ALL;
>
> ENTITY TEST IS
> PORT (
> i1, i2: IN std_logic;
> o: OUT std_logic
> );
> END TEST;
>
> ARCHITECTURE TEST OF TEST IS
> BEGIN
> o <= i1 and i2;
> END TEST;
>
> LIBRARY IEEE;
> USE IEEE.std_logic_1164.ALL;
>
> ENTITY TB_TEST IS
> END TB_TEST;
>
> ARCHITECTURE TB_TEST of TB_TEST is
> COMPONENT TEST IS
> PORT (
> i1, i2: IN std_logic;
> o: OUT std_logic
> );
> END COMPONENT;
>
> SIGNAL w_i1, w_i2: std_logic;
> BEGIN
> DUT:
> TEST PORT MAP( i1 => w_i1,
> i2 => w_i2);
>
> STIMULI:
> PROCESS
> BEGIN
> w_i1 <= '1';
> WAIT FOR 50 ns;
> w_i2 <= '1';
> WAIT FOR 50 ns;
> w_i1 <= '0';
> WAIT FOR 50 ns;
> END PROCESS STIMULI;
> END TB_TEST;


To expand on Mike's answer:

Question 1: Use a real simulator.
Question 2: You can't; Quartus is essentially a front end for a
synthesizer (Use a real simulator.)
Question 3: Use a real simulator.

 
Reply With Quote
 
HT-Lab
Guest
Posts: n/a
 
      06-07-2007

<(E-Mail Removed)> wrote in message
news:(E-Mail Removed) oups.com...
> On Jun 6, 11:14 am, Markus Jochim <(E-Mail Removed)-due.de> wrote:
>> Hello everybody,
>>
>> I just started with VHDL and I have three (probably simple) questions:
>>
>> Using Alteras Quartus 2 Tool I want to do some VHDL simulation:
>>
>> A simple example:
>>
>> ARCHITECTURE TEST OF TEST IS
>> BEGIN
>> x <= i after 20 ns;
>> END TEST;
>>
>> Using the simulator that is integrated in Quartus 2 I generated a simple
>> waveform where:
>>
>> i = ' 0 ' form 0 ns to 10 ns
>> i = ' 1 ' for time > 10 ns
>>
>> When I switch to "Functional Simulation" timing is ignored (as
>> expected). When I switch to "Timing Simulation" I get:
>>
>> x = '1' for time > 23 ns
>>
>> which obviously reflects the timing of the FPGA for which the design was
>> synthesised by Quartus II.
>>
>> Now my questions are as follows:
>>
>> Question 1: How can I just perform a VHDL simulation that reflects the
>> timing expressed by the statement "... after 20 ns"?
>>
>> Question 2: How can I instruct Quartus II to accept all valid VHDL-code
>> and not only code that actually can be synthesised? I just want to
>> simulate a VHDL model!
>>
>> Question 3: How can run simple test benches written in VHDL (like in the
>> example attached below) and watch the resulting waveforms using Quartus
>> II.

...snip..
>
> To expand on Mike's answer:
>
> Question 1: Use a real simulator.
> Question 2: You can't; Quartus is essentially a front end for a
> synthesizer (Use a real simulator.)
> Question 3: Use a real simulator.


So if I understand you correctly, you are trying to say that he should use a
real simulator?

Hans
www.ht-lab.com



 
Reply With Quote
 
Markus Jochim
Guest
Posts: n/a
 
      06-08-2007
That was my impression as well... I tried the ModelSim Web Edition as
recommended by Mike and everything works fine!

Thanks for answering a Newbie-question and for being helpful with a
simple and unambiguous answer

Markus

>
> So if I understand you correctly, you are trying to say that he should use a
> real simulator?
>
> Hans
> www.ht-lab.com
>
>
>

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
How to perform a timing simulation in Modelsim with QuartusII output file ? ALuPin VHDL 13 11-27-2008 05:05 PM
Internal CPLD Pull Up resistor control (QUARTUSII Software). ferrari VHDL 0 06-29-2008 07:31 AM
LeonardoSpectrum and Alteras LPM library Michael Ruflin VHDL 1 11-28-2004 08:41 PM
Archiving Project in QuartusII ALuPin VHDL 1 10-08-2004 01:44 AM
Barrel shifter compilation in QuartusII ALuPin VHDL 0 02-20-2004 01:40 PM



Advertisments