code generation in "profi" simulators

A

Attila Csosz

Guest
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
 
Attila Csosz wrote:

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
 
It means that it is interpreter? ( so vsim executes a pseudo code not a
machine code generated by an assembler )

Attila



Mike Treseler wrote:
Attila Csosz wrote:

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
 
Attila Csosz wrote:
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
 
Attila Csosz wrote:
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.
 
Paul Uiterlinden <no@spam.nl> writes:

Attila Csosz wrote:
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.
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
 
Marcus Harnisch wrote:

Paul Uiterlinden <no@spam.nl> writes:

Attila Csosz wrote:
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.

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.
 

Welcome to EDABoard.com

Sponsor

Back
Top