Этот пример показывает рабочий процесс, который использует HDL Coder™, чтобы развернуть подсистему Simulink® на плате ввода-вывода FPGA Speedgoat, которая находится в целевом компьютере. Simulink® Real-Time™ выполнение приложения на целевом компьютере и связывается с FPGA по шине PCI.
В этом случае алгоритм FPGA сопоставляет Simulink Real-Time сгенерированный импульсный train с каналами ввода-вывода на FPGA. По шине PCI FPGA получает импульсы, сгенерированные на целевом компьютере. Это затем пишет сигналы в восемь выходных каналов. FPGA читает восемь входных каналов и отправляет их по шине PCI к целевому компьютеру для графического дисплея. Вы выполняете обратную петлю путем проводного соединения входных параметров к выходным параметрам (выходной канал 0, чтобы ввести канал 0, вывести канал 1, чтобы ввести канал 1, и так далее).
Этот пример использует Speedgoat IO331. Можно использовать любой модуль ввода-вывода FPGA, поддержанный Simulink Real-Time и HDL Coder, который встречает скорости, размеру и требованиям схемы контактов модели.
Тактовая частота FPGA по умолчанию составляет 75 МГц. Симуляция Simulink Real-Time установлена в 1 кГц.
HDL Coder™
Для платы IO331 HDL Workflow Advisor требует комплекта инструментальных средств Xilinx® ISE. Чтобы установить этот комплект инструментальных средств, в Командном окне, введите:
hdlsetuptoolpath('ToolName', 'Xilinx ISE', 'ToolPath', toolpath)
где toolpath
является полным путем к исполняемому файлу инструмента синтеза.
Для требований комплекта инструментальных средств других плат смотрите Поддерживаемые Сторонние программы и Оборудование (HDL Coder).
Щелкните здесь, чтобы открыть модель FPGA: dslrtSGFPGAloopback_fpga
.
Эта модель содержит алгоритм (зеленая подсистема), который будет в конечном счете работать на FPGA. Это также содержит некоторые тестовые блоки, чтобы проверить в симуляции, алгоритм работает как ожидалось прежде, чем синтезировать поток битов FPGA. Обратите внимание на то, что эта модель является моделью "FPGA domain", означая, что частота дискретизации симуляции является представительной для тактовой частоты FPGA (75 МГц). Следовательно, 1 секунда симуляции требует 75e6 итерации модели.
Если алгоритм завершен, используйте HDL Workflow Advisor для:
Выберите плату ввода-вывода FPGA
Сопоставьте импорт подсистемы и выходные порты
Синтезируйте поток битов FPGA
Сгенерируйте подсистему интерфейса Simulink Real-Time
Чтобы вызвать HDL Workflow Advisor, щелкните правой кнопкой по "петлевой" подсистеме и выберите HDL Code-> HDL Workflow Advisor.
Выберите Simulink Real-Time путем выбора рабочего процесса Simulink Real-Time FPGA I/O for Target. Установите целевую платформу на Speedgoat IO331 и проверяйте, что HDL Workflow Advisor устанавливает инструмент синтеза на Xilinx® ISE Design Suite. Эта установка конфигурирует характеристики платы и инструмент синтеза, используемый в последующих задачах.
Когда сделано, нажмите Run This Task и продолжите Задачу 1.2.
Используйте Таблицу Интерфейса Целевой платформы, чтобы задать и сопоставить импорт и выходные порты. В данном примере
hwIn C0-7
является сигналами, считанными из каналов ввода-вывода LVCMOS 0-7 (входные каналы)
hwOut C0-7
является сигналами, записанными в каналы ввода-вывода LVCMOS 8-15 (выходные каналы)
pciRead C0-7
является сигналами, считанными из целевого компьютера по шине PCI (входные каналы)
pciWrite C0-7
является сигналами, записанными в целевой компьютер по шине PCI (выходные каналы)
Когда сделано, нажмите Run This Task и продолжите Задачу 5.2.
Щелкните правой кнопкой по Task 5.2 и нажмите Run to Selected Task. HDL Workflow Advisor запустит задачи, синтезирует поток битов FPGA и сгенерирует новую модель, которая содержит подсистему интерфейса Simulink Real-Time.
После завершения появляется недавно сгенерированная модель, содержащая подсистему интерфейса Simulink Real-Time. На поверхности эта подсистема похожа на подсистему FPGA. Однако внутри алгоритм Simulink был удален и заменен блоками, которые приложение реального времени будет использовать, чтобы связаться с FPGA во время выполнения симуляции.
Создайте или откройте модель Simulink Real-Time, которая будет работать на целевом компьютере, в то время как алгоритм потока битов работает на FPGA.
Щелкните здесь, чтобы открыть модель Simulink Real-Time: dslrtSGFPGAloopback_slrt
.
Из сгенерированной модели скопируйте подсистему интерфейса Simulink Real-Time и вставьте его в модели Simulink Real-Time. Соедините импорт и выходные порты. Дважды кликните интерфейсную подсистему и установите параметры маски как требуется.
Щелкните здесь, чтобы открыть модель Simulink Real-Time с интерфейсной включенной подсистемой: dslrtSGFPGAloopback_slrt_wiss
.
Создайте модель. После завершения сборки приложение Simulink Real-Time загружается на целевой компьютер, и поток битов загружается на FPGA.
Запустите приложение. Восемь импульсных сигналов train, отправленных и полученных через FPGA и каналы ввода-вывода LVCMOS, отображены на целевом осциллографе.