Перекрестный сетевой Cosimulation
Почему выполняют перекрестный сетевой Cosimulation?
Можно выполнить перекрестную сеть cosimulation, когда настройка включает одну машину рабочий MATLAB® и программное обеспечение Simulink® и другая машина, запускающая симулятор HDL. Как правило, машина Windows®-platform запускает MATLAB и программное обеспечение Simulink, в то время как машина Linux® запускает симулятор HDL. Однако эти процедуры применяются к любой комбинации платформ, которые поддерживают HDL Verifier™ и симулятор HDL.
Подготовка к перекрестному сетевому Cosimulation
Перед вами cosimulate между симулятором HDL и MATLAB или Simulink через сеть, выполните следующие шаги:
Создайте свой проект и файлы тестирования.
Пользователи ModelSim
Создайте и скомпилируйте свой проект HDL и создайте свою функцию MATLAB (для MATLAB cosimulation) или модель Simulink (для Simulink cosimulation).
Если вы идете в cosimulate с Simulink, используйте -voptargs=+acc
отметьте, когда вы компилируете так, чтобы проект не был оптимизирован, и включайте тот же флаг, когда вы выпускаете vsim
команда (см. перекрестную Сеть Выполнения Cosimulation Используя Simulink). Используя этот флаг сохраняет некоторые неиспользованные сигналы из проекта, которые требуются моделью Simulink запустить и отобразить результаты.
Острые пользователи
Создайте, скомпилируйте, и разработайте свой проект HDL и создайте свою функцию MATLAB (для MATLAB cosimulation), или модель Simulink (для Simulink cosimulation).
Скопируйте библиотеки 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 | Операционная система машины с симулятором HDL, например, linux32 . (Для получения дополнительной информации см. Библиотеки Cosimulation.) |
productlibraryname | Имя файлов библиотеки для MATLAB и для Simulink (например, liblfmhdlc , liblfmhdls для пользователей ModelSim®; liblfihdlc , liblfihdls для пользователей Incisive®). См. Библиотеки Cosimulation. |
compiler_tag | Компилятор раньше создавал библиотеку (например, gcc32 или spro ). Для получения дополнительной информации см. Библиотеки Cosimulation. |
ext | dll (динамически подключаемая библиотека — только Windows) или so (разделяемое расширение библиотеки) |
Поскольку список всего HDL HDL Verifier совместно использовал поставленные библиотеки, смотрите Библиотеки По умолчанию.
От машины MATLAB скопируйте библиотеки HDL Verifier, которыми вы планируете пользоваться (который вы определили на шаге 2) к машине, где вы установили симулятор HDL. Сделайте примечание местоположения, в которое вы скопировали библиотеки; вам будет нужна эта информация, когда вы на самом деле установите связь с симулятором HDL. В целях этого примера пример кода называет папку назначения HDLSERVER_LIB_LOCATION
.
Если вы теперь хотите к cosimulate с MATLAB, смотрите перекрестную Сеть Выполнения Cosimulation Используя MATLAB. Если вы хотите к cosimulate с Simulink, смотрите перекрестную Сеть Выполнения Cosimulation Используя Simulink.
Выполнение перекрестного сетевого Cosimulation Используя MATLAB
Чтобы выполнить средство моделирования HDL к MATLAB cosimulation сеанс через сеть, выполните эти шаги:
Пользователи ModelSim
В MATLAB получите доступный сокет с помощью hdldaemon
:
Или присвойте один (что вы знаете, доступно):
На машине с симулятором HDL запустите симулятор HDL от интерпретатора со следующей командой:
vsim -foreign "matlabclient /HDLSERVER_LIB_LOCATION/library_name;" design_name
где аргументам, показанным в следующей таблице, указали на значения.
В симуляторе HDL запланируйте испытательный стенд или компонент (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
имя библиотеки, которую вы скопировали в Подготовке к перекрестному Сетевому Cosimulation. Можно назвать этот конфигурационный файл чем-либо, что вы любите.
На машине с симулятором HDL запустите симулятор HDL от интерпретатора со следующей командой:
ncsim -gui -f matlab_config.file design_name
где аргументам, показанным в следующей таблице, указали на значения.
Аргумент | Значение |
---|
matlab_config.file | Имя конфигурационного файла MATLAB (от шага 3) |
design_name | Проект VHDL или Verilog вы хотите загрузить |
В симуляторе HDL запланируйте испытательный стенд или компонент (matlabcp
или matlabtb
). Задайте номер порта сокета от шага 1 и имени хоста где hdldaemon
запускается.
Выполнение перекрестного сетевого Cosimulation Используя Simulink
Когда это необходимо, чтобы выполнить средство моделирования HDL к Simulink cosimulation сеанс через сеть, выполните эти шаги:
Пользователи ModelSim
Запустите симулятор HDL от интерпретатора со следующей командой:
vsim -foreign "simlinkserver /HDLSERVER_LIB_LOCATION/library_name;
-socket socket_num" -voptargs=+acc design_name
где аргументам, показанным в следующей таблице, указали на значения.
Аргумент | Значение |
---|
library_name | Имя библиотеки вы скопировали в машину с симулятором HDL (в Подготовке к перекрестному Сетевому Cosimulation). |
socket_num | Номер сокета вы выбрали для этой связи |
design_name | Проект VHDL или Verilog вы хотите загрузить |
На машине с MATLAB и Simulink, запустите Simulink и откройте свою модель.
Дважды кликните на блоке HDL Cosimulation, чтобы открыть диалоговое окно Function Block Parameters.
Нажмите на вкладку Connections.
Ясный “Симулятор HDL работает на этом компьютере”. HDL Verifier изменяет метод Связи, чтобы Снабдить сокетом.
В текстовом поле пометил Host name, введите имя хоста машины, где симулятор HDL расположен.
В текстовом поле пометил Port number or service, введите номер сокета от шага 1.
Нажмите OK, чтобы выйти из диалогового окна блока и сохранить ваши изменения.
Острые пользователи
Запустите симулятор HDL от интерпретатора со следующей командой:
ncsim -gui -loadvpi "/HDLSERVER_LIB_LOCATION/library_name:simlinkserver"
+socket=socket_num design_name
где аргументам, показанным в следующей таблице, указали на значения.
Аргумент | Значение |
---|
library_name | Имя библиотеки вы скопировали в машину с симулятором HDL (в Подготовке к перекрестному Сетевому Cosimulation). |
socket_num | Номер сокета вы выбрали для этой связи |
design_name | Проект VHDL или Verilog вы хотите загрузить |
На машине с MATLAB и Simulink, запустите Simulink и откройте свою модель.
Дважды кликните на блоке HDL Cosimulation, чтобы открыть диалоговое окно Function Block Parameters.
Нажмите на вкладку Connections.
Снимите флажок, пометил The HDL simulator is running on this computer. HDL Verifier изменяет метод Связи, чтобы Снабдить сокетом.
В поле Host name введите имя хоста машины, где симулятор HDL расположен.
В поле Port number or service введите номер сокета от шага 1.
Нажмите OK, чтобы выйти из диалогового окна блока и сохранить ваши изменения.
Затем запустите свою симуляцию, добавьте больше блоков или внесите другие желаемые изменения. Для получения инструкций по использованию Simulink и симулятора HDL для cosimulation, смотрите Simulink как Испытательный стенд или Симуляцию Компонента с Simulink.