Межсетевая косимуляция
Зачем выполнять межсетевую косимуляцию?
Можно выполнить межсетевую косимуляцию, если в состав установки входит одна машина с программным обеспечением MATLAB ® и Simulink ® и другая машина с имитатором HDL. Как правило, на компьютере с Windows ® -платформой работает программное обеспечение MATLAB и Simulink, а на компьютере с Linux ® - имитатор HDL. Однако эти процедуры применяются к любой комбинации платформ, которые Verifier™ ЛПВП и поддерживает имитатор ЛПВП.
Подготовка к межсетевой косимуляции
Прежде чем выполнять косимуляцию между имитатором ЛПВП и MATLAB или Simulink по сети, выполните следующие действия.
Создайте файлы проекта и тестирования.
Пользователи ModelSim
Создайте и скомпилируйте конструкцию HDL и создайте функцию MATLAB (для косимуляции MATLAB) или модель Simulink (для косимуляции Simulink).
Если вы собираетесь косимулировать с Simulink, используйте -voptargs=+acc при компиляции, чтобы конструкция не была оптимизирована, и включить тот же флаг при выдаче vsim (см. раздел Выполнение межсетевой косимуляции с использованием Simulink). Использование этого флага сохраняет некоторые неиспользуемые сигналы от конструкции, которые требуются модели Simulink для запуска и отображения результатов.
Резкие пользователи
Создание, компиляция и разработка дизайна HDL, а также создание функции MATLAB (для косимуляции MATLAB) или модели Simulink (для косимуляции Simulink).
Копирование библиотек HDL Verifier в машину с помощью имитатора HDL
Перейдите к системе, в которой установлен MATLAB. Затем найдите папку в дистрибутиве MATLAB, где находятся библиотеки HDL Verifier.
Обычно библиотеки находятся в папке, установленной по умолчанию:
matlabroot/toolbox/edalink/extensions/adaptor/platform/productlibraryname_
compiler_tag.ext
где переменная, показанная в следующей таблице, имеет указанные значения.
| Переменная | Стоимость |
|---|
matlabroot | Место установки программного обеспечения MATLAB; значение по умолчанию - MATLAB/version где версия - установленная версия (например, R2009a). |
adaptor | incisive или modelsim |
platform | Операционная система машины с имитатором ЛПВП, например, linux32. (Дополнительные сведения см. в разделе Библиотеки Cosimulation.) |
productlibraryname | Имя файлов библиотеки для MATLAB и Simulink (например, liblfmhdlc, liblfmhdls для пользователей ModelSim ® ;liblfihdlc, liblfihdls для пользователей Insisive ®). См. раздел Библиотеки Cosimulation. |
compiler_tag | Компилятор, используемый для создания библиотеки (например, gcc32 или spro). Дополнительные сведения см. в разделе Библиотеки Cosimulation. |
ext | dll (динамическая библиотека ссылок - только для Windows) илиso (расширение общей библиотеки) |
Список всех поставляемых общих библиотек HDL Verifier HDL см. в разделе Библиотеки по умолчанию.
Скопируйте из машины MATLAB библиотеки HDL Verifier, которые вы планируете использовать (что было определено на шаге 2), в машину, где вы установили имитатор HDL. Запишите расположение, в которое были скопированы библиотеки; вам понадобится эта информация, когда вы действительно устанавливаете соединение с имитатором ЛПВП. В данном примере пример кода ссылается на папку назначения как HDLSERVER_LIB_LOCATION.
Если теперь необходимо выполнить косимуляцию с помощью MATLAB, см. раздел Выполнение косимуляции между сетями с помощью MATLAB. Если вы хотите косимулировать с помощью Simulink, см. раздел Выполнение косимуляции между сетями с помощью Simulink.
Выполнение межсетевой косимуляции с использованием MATLAB
Для выполнения сеанса косимуляции HDL-simulator-to-MATLAB в сети выполните следующие действия:
Пользователи ModelSim
В MATLAB получите доступный сокет с помощью hdldaemon:
Или присвойте один (который, как известно, доступен):
На машине с имитатором ЛПВП запустите имитатор ЛПВП из оболочки со следующей командой:
vsim -foreign "matlabclient /HDLSERVER_LIB_LOCATION/library_name;" design_name
где аргументы, показанные в следующей таблице, имеют указанные значения.
В имитаторе ЛПВП запланируйте испытательный стенд или компонент (matlabcp или matlabtb). Укажите номер порта сокета из шага 1 и имя хост-компьютера, где hdldaemon работает.
Резкие пользователи
В MATLAB получите доступный сокет с помощью hdldaemon:
Или назначить одну:
Создайте файл конфигурации MATLAB (для загрузки функций, используемых в имитаторе HDL) со следующим содержимым:
//Command file for MATLAB HDL Verifier.
//Loading of foreign Library and HDL simulator functions.
-loadcfc /HDLSERVER_LIB_LOCATION/library_name:matlabclient
//TCL wrappers for MATLAB commands
-input @proc" "nomatlabtb" "{args}" "{call" "nomatlabtb" "\$args}
-input @proc" "matlabtb" "{args}" "{call" "matlabtb" "\$args}
-input @proc" "matlabcp" "{args}" "{call" "matlabcp" "\$args}
-input @proc" "matlabtbeval" "{args}" "{call" "matlabtbeval" "\$args}
Где library_name - имя библиотеки, скопированной при подготовке к межсетевой косимуляции. Вы можете назвать этот файл конфигурации как угодно.
На машине с имитатором ЛПВП запустите имитатор ЛПВП из оболочки со следующей командой:
ncsim -gui -f matlab_config.file design_name
где аргументы, показанные в следующей таблице, имеют указанные значения.
| Аргумент | Стоимость |
|---|
matlab_config.file | Имя файла конфигурации MATLAB (с шага 3) |
design_name | Проект VHDL или Verilog, который требуется загрузить |
В имитаторе ЛПВП запланируйте испытательный стенд или компонент (matlabcp или matlabtb). Укажите номер порта сокета из шага 1 и имя хоста, где hdldaemon работает.
Выполнение межсетевой косимуляции с использованием Simulink
Если требуется выполнить сеанс косимуляции HDL-simulator-to-Simulink по сети, выполните следующие действия.
Пользователи ModelSim
Запустите имитатор ЛПВП из оболочки с помощью следующей команды:
vsim -foreign "simlinkserver /HDLSERVER_LIB_LOCATION/library_name;
-socket socket_num" -voptargs=+acc design_nameгде аргументы, показанные в следующей таблице, имеют указанные значения.
| Аргумент | Стоимость |
|---|
library_name | Имя библиотеки, скопированной на компьютер с помощью имитатора HDL (в разделе Подготовка к межсетевой косимуляции). |
socket_num | Номер сокета, выбранный для этого подключения |
design_name | Проект VHDL или Verilog, который требуется загрузить |
На машине с MATLAB и Simulink запустите Simulink и откройте модель.
Дважды щелкните блок Cosimulation HDL, чтобы открыть диалоговое окно Function Block Parameters.
Перейдите на вкладку Connections (Соединения).
Снимите флажок «На этом компьютере запущен имитатор HDL». HDL Verifier изменяет метод подключения на Socket.
В текстовом поле «Имя хоста» введите имя хоста машины, на которой расположен имитатор ЛПВП.
В текстовом поле Port number or service введите номер сокета из шага 1.
Нажмите кнопку «ОК», чтобы выйти из диалогового окна блока и сохранить изменения.
Резкие пользователи
Запустите имитатор ЛПВП из оболочки с помощью следующей команды:
ncsim -gui -loadvpi "/HDLSERVER_LIB_LOCATION/library_name:simlinkserver"
+socket=socket_num design_nameгде аргументы, показанные в следующей таблице, имеют указанные значения.
| Аргумент | Стоимость |
|---|
library_name | Имя библиотеки, скопированной на компьютер с помощью имитатора HDL (в разделе Подготовка к межсетевой косимуляции). |
socket_num | Номер сокета, выбранный для этого подключения |
design_name | Проект VHDL или Verilog, который требуется загрузить |
На машине с MATLAB и Simulink запустите Simulink и откройте модель.
Дважды щелкните блок Cosimulation HDL, чтобы открыть диалоговое окно Function Block Parameters.
Перейдите на вкладку Connections (Соединения).
Снимите флажок На этом компьютере запущен имитатор HDL. HDL Verifier изменяет метод подключения на Socket.
В поле Имя хоста введите имя хоста машины, на которой расположен имитатор ЛПВП.
В поле Номер порта или услуги введите номер сокета из шага 1.
Нажмите кнопку «ОК», чтобы выйти из диалогового окна блока и сохранить изменения.
Затем выполните моделирование, добавьте дополнительные блоки или внесите другие необходимые изменения. Инструкции по использованию Simulink и имитатора HDL для косимуляции см. в разделе Simulink as a Test Stench или Component Simulation with Simulink.