code generation in "profi" simulators

A

Attila Csosz

Hi,

Which code execute (after parsing the VHDL files) the "profi" simulators
( like Active-HDL/ModelSim) interpreted or assembly compiled? Are they
using internal assembler or gcc( after vhdl->c++ conversion ) if
assembly compiled?

Thanks
Attila
 
M

Mike Treseler

Attila said:
Which code execute (after parsing the VHDL files) the "profi" simulators

I will assume "profi" = professional.
( like Active-HDL/ModelSim) interpreted or assembly compiled?

Yes, both.
Are they
using internal assembler or gcc( after vhdl->c++ conversion ) if
assembly compiled?

The compiled file structure in the "work"
directory is platform independent.
It is a proprietary structure -- not c++.

The compiler (vcom) is a local executable program.
It creates the intermediate file structure.
The simulator (vsim) uses the file structure
rather than the hdl code to draw waveforms.

-- Mike Treseler
 
A

Attila Csosz

It means that it is interpreter? ( so vsim executes a pseudo code not a
machine code generated by an assembler )

Attila
 
M

Mike Treseler

Attila said:
It means that it is interpreter? ( so vsim executes a pseudo code not a
machine code generated by an assembler )

It is a structural tree of binary files.
They are not executable by the host.
The format is proprietary and is different
for each simulator.
It may be some assembled byte codes,
or maybe just a data structure.
Compile some hdl code and have a look.

-- Mike Treseler
 
P

Paul Uiterlinden

Attila said:
It means that it is interpreter? ( so vsim executes a pseudo code not a
machine code generated by an assembler )

Yes, in my opinion it is. The pseudo code is machine independant: a
compiled library created on for example a Linux/PC platform can be
simulated on a Solaris/Sun workstation and vice versa.

Paul.
 
M

Marcus Harnisch

Paul Uiterlinden said:
Yes, in my opinion it is. The pseudo code is machine independant: a
compiled library created on for example a Linux/PC platform can be
simulated on a Solaris/Sun workstation and vice versa.

I am not sure if this is necessarily the conclusion to be drawn. The
intermediate representation could be JIT-compiled at runtime. And it
turns out this is true. From an Application note about optimization:

"Furthermore simulation is a two-phase process. During phase 1
(known as elaboration), ModelSim generates native code for your
specific OS. During phase 2, ModelSim runs the native code."

Best regards,
Marcus
 
P

Paul Uiterlinden

Marcus said:
I am not sure if this is necessarily the conclusion to be drawn. The
intermediate representation could be JIT-compiled at runtime. And it
turns out this is true. From an Application note about optimization:

"Furthermore simulation is a two-phase process. During phase 1
(known as elaboration), ModelSim generates native code for your
specific OS. During phase 2, ModelSim runs the native code."

Thanks for clearing that up. I hadn't thought of that possibility.

Paul.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,767
Messages
2,569,572
Members
45,045
Latest member
DRCM

Latest Threads

Top