24.03.2013 Views

ModelSim SE User's Manual - Electrical and Computer Engineering

ModelSim SE User's Manual - Electrical and Computer Engineering

ModelSim SE User's Manual - Electrical and Computer Engineering

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

UM-190 7 - Mixed-language simulation<br />

Separate compilers, common design libraries<br />

<strong>ModelSim</strong> <strong>SE</strong> User’s <strong>Manual</strong><br />

VHDL source code is compiled by vcom (CR-311) <strong>and</strong> the resulting compiled design units<br />

(entities, architectures, configurations, <strong>and</strong> packages) are stored in the working library.<br />

Likewise, Verilog source code is compiled by vlog (CR-358) <strong>and</strong> the resulting design units<br />

(modules <strong>and</strong> UDPs) are stored in the working library.<br />

SystemC/C++ source code is compiled with the sccom comm<strong>and</strong> (CR-254). The resulting<br />

object code is compiled into the working library.<br />

Design libraries can store any combination of design units from any of the supported<br />

languages, provided the design unit names do not overlap (VHDL design unit names are<br />

changed to lower case). See "Design libraries" (UM-57) for more information about library<br />

management.<br />

Access limitations in mixed-language designs<br />

Optimizing mixed designs<br />

The Verilog language allows hierarchical access to objects throughout the design. This is<br />

not the case with VHDL or SystemC. You cannot directly read or change a VHDL or<br />

SystemC object (signal, variable, generic, etc.) with a hierarchical reference within a<br />

mixed-language design. Furthermore, you cannot directly access a Verilog object up or<br />

down the hierarchy if there is an interceding VHDL or SystemC block.<br />

You have two options for accessing VHDL objects or Verilog objects "obstructed" by an<br />

interceding block: 1) propagate the value through the ports of all design units in the<br />

hierarchy; 2) use the Signal Spy procedures or system tasks (see Chapter 17 - Signal Spy<br />

for details).<br />

To access obstructed SystemC objects, propagate the value through the ports of all design<br />

units in the hierarchy or use the control/observe functions (see "Hierarchical references in<br />

mixed HDL/SystemC designs" (UM-192).<br />

The vopt comm<strong>and</strong> (CR-371) performs global optimizations to improve simulator<br />

performance. In the current release, vopt primarily optimizes Verilog design units. See<br />

"Optimizing Verilog designs" (UM-124) for further details.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!