Цифровой ввод-вывод с Советом FPGA Speedgoat

Этот пример показывает рабочий процесс, который использует HDL Coder™, чтобы развернуть подсистему Simulink® в плату ввода-вывода FPGA Speedgoat, которая находится в целевом компьютере. Simulink® Real-Time™ выполнение приложения на целевом компьютере и связывается с FPGA по шине PCI.

В этом случае алгоритм FPGA сопоставляет сгенерированные последовательности импульсов Simulink Real-Time с каналами ввода-вывода на 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

Щелкните здесь, чтобы открыть модель FPGA: dslrtSGFPGAloopback_fpga.

Эта модель содержит алгоритм (зеленая подсистема), который будет в конечном счете работать на FPGA. Это также содержит некоторые тестовые блоки, чтобы проверить в симуляции, алгоритм работает как ожидалось прежде, чем синтезировать поток битов FPGA. Обратите внимание на то, что эта модель является моделью "FPGA domain", означая, что частота дискретизации симуляции является представительной для тактовой частоты FPGA (75 МГц). Следовательно, 1 секунда симуляции требует 75e6 итерации модели.

Если алгоритм завершен, используйте HDL Workflow Advisor для:

  • Выберите плату ввода-вывода FPGA

  • Сопоставьте импорт подсистемы и выходные порты

  • Синтезируйте поток битов FPGA

  • Сгенерируйте подсистему интерфейса Simulink Real-Time

Используя HDL Workflow Advisor

Чтобы вызвать HDL Workflow Advisor, щелкните правой кнопкой по "петлевой" подсистеме и выберите HDL Code> HDL Workflow Advisor.

Задача 1.1. Установите инструмент целевого устройства и синтеза

Выберите 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.

Задача 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.

Задача 5.2. Сгенерируйте интерфейс Simulink Real-Time

Щелкните правой кнопкой по Task 5.2 и нажмите Run to Selected Task. HDL Workflow Advisor запустит задачи, синтезирует поток битов FPGA и сгенерирует новую модель, которая содержит подсистему интерфейса Simulink Real-Time.

Когда задачи завершаются, недавно сгенерированная модель, содержащая подсистему интерфейса Simulink Real-Time, появляется. На поверхности эта подсистема похожа на подсистему FPGA. Однако внутри алгоритм Simulink был удален и заменен блоками, которые приложение реального времени будет использовать, чтобы передать с FPGA в процессе моделирования выполнение.

Откройте модель Simulink Real-Time

Создайте или откройте модель Simulink Real-Time, которая будет работать на целевом компьютере, в то время как алгоритм потока битов работает на FPGA.

Щелкните здесь, чтобы открыть модель Simulink Real-Time: dslrtSGFPGAloopback_slrt.

Добавьте подсистему интерфейса Simulink Real-Time

Из сгенерированной модели скопируйте подсистему интерфейса Simulink Real-Time и вставьте его в модель Simulink Real-Time. Соедините импорт и выходные порты. Дважды кликните интерфейсную подсистему и установите параметры маски как требуется.

Щелкните здесь, чтобы открыть модель Simulink Real-Time с интерфейсной включенной подсистемой: dslrtSGFPGAloopback_slrt_wiss.

Протестируйте модель

Создайте модель. Когда сборка завершена, приложение Simulink Real-Time загружается на целевой компьютер, и поток битов загружается на FPGA.

Запустите приложение. Восемь сигналов последовательности импульсов, отправленных и полученных через FPGA и каналы ввода-вывода LVCMOS, отображены на целевом осциллографе.