| Version 2.0 (R2006a) Link for ModelSim® Release Notes | ![]() |
This table summarizes what's new in V2.0 (R2006a):
| New Features and Changes | Version Compatibility Considerations | Fixed Bugs and Known Problems | Related Documentation at Web Site |
|---|---|---|---|
| Yes Details below | No | Bug Reports | No |
New features and changes introduced in this version are:
In previous releases, Link for ModelSim 2.0 interfaced to Verilog models only if VHDL wrapper code was supplied and applied using the wrapverilog function.
Link for ModelSim 2.0 now supports Verilog models directly, without requiring a VHDL wrapper. All Link for ModelSim MATLAB functions, and the HDL Cosimulation block, offer the same language-transparent feature set for both Verilog and VHDL models.
Note that in a mixed-language HDL model (one that contains both VHDL and Verilog components), a cosimulation block can access signals only with the language of the top-level module instance or component.
Note that the wrapverilog function is still supported for backward compatibility. Existing Verilog models that use wrapverilog will operate without disturbance.
Cosimulation of native Verilog models is now supported. Accordingly, the VHDL Cosimulation block in the Link for ModelSim block library has been renamed HDL Cosimulation. VHDL Cosimulation blocks in existing models will continue to operate without disturbance.
The HDL Cosimulation block now lets you obtain port names and information from an HDL model under simulation in ModelSim, and automatically enter this information into the ports list of the Ports pane. To initiate a port information request, you use the new Auto Fill button in the Ports pane (shown in the figure in the following example).
To obtain port information automatically, you must first open a Simulink model containing an HDL Cosimulation block, launch ModelSim, compile and load your HDL model, and establish a connection between Simulink and ModelSim (see Simulink and ModelSim Tutorial if you are unfamiliar with how to set up a cosimulation.)
When the Simulink/ModelSim connection is established, you can initiate a ModelSim query and supply a path to a component or module in an HDL model under simulation in ModelSim. Usually, some modification of the port information is required after the query completes.
The required steps are outlined in the example below. The example is based on a modified copy of the Manchester Receiver model (see Linking Simulink Software to ModelSim Simulators), in which all signals were initially deleted from the Ports and Clocks panes.
Open the block parameters dialog for the HDL Cosimulation block. Click the Ports tab. The Ports pane opens.

Click the Auto Fill button. The Auto Fill dialog opens.

This modal dialog requests a path to a component or module in your HDL model. Enter an explicit HDL path into the edit field.
In this example, we will obtain port data for a VHDL component called manchester. The HDL path is specified as /manchester.

Click OK. The dialog is dismissed and the query is transmitted.
Port data is returned and entered into the Ports pane automatically, as shown in the figure below.

Click Apply to commit the port additions.
Observe that Auto Fill has returned information about all inputs and outputs for the targeted component. In many cases, this will include signals that function in ModelSim but cannot be connected in the Simulink model. You should delete any such entries from the list in the Ports pane.
The figure above shows that the query entered clock, clock enable, and reset ports (labeled clk, enable, and reset respectively) into the ports list. In this example, the clk signal should be entered in the Clocks pane, and the enable and reset signals should be deleted from the Ports pane, as shown in the figures below.


Auto Fill returns default values for output ports:
Sample time: 1
Data type: Inherit
Fraction length: N/A
You may need to change these values as required by your model. In this example, the Sample time should be set to 10 for all outputs.
Note that Auto Fill does not return information for internal signals. If your Simulink model needs to access such signals, you must enter them into the Ports pane manually. For example, in the case of the Manchester Receiver model, you would need to add output port entries for /manchester/sync_i, /manchester/isum_i, and /manchester/qsum_i, as shown below.
Before closing the HDL Cosimulation block parameters dialog, click Apply to commit any edits you have made.

The HDL Cosimulation block now supports processing of single-channel frame-based signals. Frame-based processing can improve the computational time of your Simulink models because multiple samples can be processed at once. Use of frame-based signals also lets you simulate the behavior of frame-based systems more accurately.
For a detailed description and an example of the use of frame-based processing in HDL Cosimulation, see Handling Frame-Based Signals in the Link for ModelSim documentation.
Frame-based processing requires the Signal Processing Blockset. See Frame-Based Signals in the Signal Processing Blockset documentation for detailed information about frame-based processing.
Link for ModelSim now supports the specification of the Simulink Stop time parameter as inf . In previous releases, the total simulation time was passed to ModelSim as a 32–bit integer number of ticks. Use of inf stop times eliminates overflow problems for very lengthy simulations, and other problems caused by this constraint.
The hdldaemon server now supports transmission of TCL commands from MATLAB to ModelSim. After establishing a MATLAB to ModelSim connection through the server, you can pass a TCL command to ModelSim by including the command string in a property-value pair of the form
('tclcmd','command')
where 'command' is a valid TCL command string.
For example, the following will display the string This is a test at the ModelSim prompt:
hdldaemon('tclcmd','echo "This is a test"')Note The TCL command string you specify cannot include commands that load a ModelSim project or modify simulator state. For example, they cannot include commands such as start, stop, or restart. |
![]() | Version 2.1 (R2006b) Link for ModelSim | Version 1.4 (R14SP3) Link for ModelSim | ![]() |
| © 1984-2009- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |