Подготовьте DUT к генерации интерфейса FIL

Файлы и информация, необходимая для генерации FIL

Для мастера FIL

Имейте следующие элементы или готовую информацию:

  • Обеспечьте HDL-код (или вручную записанный или сгенерированное программное обеспечение) для проекта, который вы намереваетесь протестировать.

  • Выберите файлы HDL и задайте имя модуля верхнего уровня.

  • Рассмотрите параметры порта и убедитесь, что мастер FIL идентифицировал сигналы ввода и вывода и размеры сигнала как ожидалось.

  • Если вы используете Simulink®, предоставьте модель Simulink, готовую получить сгенерированный блок FIL.

Следующие шаги

Для HDL Workflow Advisor

Можно сгенерировать код и запустить FIL из любой подходящей модели Simulink.

Следующие шаги

Примените требования системного объекта FIL

Процесс FIL для системных объектов

Мастер FIL и HDL Workflow Advisor HDL Coder™ каждый выполняет следующие действия:

  • Преобразуйте HDL-код во вводы и выводы Системного объекта.

  • Обход вы посредством идентификации: устройство FPGA, исходные файлы, порты I/O и информация о порте.

  • Добавьте логику в устройство под тестом (DUT), чтобы связаться с MATLAB®.

    Обычно эта логика является маленькой и оказывает минимальное влияние на припадок вашего проекта на FPGA.

  • Создайте файл программирования и Системный объект FIL.

Примечание

Если проект не помещается в устройство или не удовлетворяет целям синхронизации, программное обеспечение не может создать файл программирования. В этой ситуации можно видеть предупреждение, что проект не удовлетворяет целям синхронизации, но это все еще генерирует файл программирования, или можно получить ошибку и никакой файл программирования. Или измените свой проект или используйте различную макетную плату.

Когда генерация интерфейса FIL завершена, можно использовать метод programFPGA, чтобы загрузить файл программирования к плате FPGA. Можно также использовать этот метод, чтобы настроить опции во время выполнения и атрибуты сигнала.

Когда вы готовы начать, прочитать следующие темы и убедиться, что ваш DUT придерживается правил и инструкций, описанных в каждом разделе:

Когда вы будете закончены с этими разделами, затем перейдите к Генерации Системного объекта с Мастером FIL или в Симуляции FIL с HDL Workflow Advisor для MATLAB.

Факторы HDL-кода для системных объектов FIL

Следуйте этим правилам при использовании наследия или автоматически сгенерированного HDL-кода для генерации Системного объекта FIL.

КатегорияФакторы
Файлы HDLВсе имена HDL должны быть законными, как задано в стандарте VHDL® 1993.
Проект верхнего уровня
  • Проект верхнего уровня должен быть VHDL или Verilog®.

  • Файл HDL верхнего уровня должен содержать сущность/модуль с тем же именем как имя файла.

  • Генерация блока FIL поддерживает и комбинаторную и последовательную логику. Для комбинаторной логики, CLK, CLK_ENABLE, и СБРАСЫВАЛ, не требуются.

Вводы и выводы
  • Порты ввода и вывода должны иметь следующие типы:

    • std_logic (VHDL)

    • std_logic_vector (VHDL)

    • Редж, провод (Verilog)

  • Векторная область значений портов должна быть:

    • Убывание (например, 9 DOWNTO 0, 9:0)

    • Литерал. Использование дженериков (VHDL) или параметры (Verilog) не поддержано. (например, DOWNTO b или a:b не поддержаны),

      Убывающий синтаксис TO не поддержан

  • Для Verilog имена портов должны быть нижним регистром. Имя модуля должно быть нижним регистром, также.

  • Все порты ввода и вывода должны быть включены.

  • Должен быть по крайней мере один выходной порт.

Часы
  • Последовательный проект HDL должен иметь только одни часы в лучшей сущности. Синхронизируйте и сбросьте, требуются. Для комбинаторного проекта HDL не требуется пакет часов.

  • Назовите свой сигнал часов clock или clk. Если часы не называют clock или clk, определяйте, какой сигнал является сигналом часов в мастере FIL.

  • Порт часов должен быть 1-битным. Для VHDL это должно иметь тип std_logic.

Сброс
  • Проект HDL должен иметь сброс, чтобы смочь сбросить FPGA перед симуляцией.

  • Для последовательного проекта должен быть только один сброс. Синхронизируйте и сбросьте, требуются. Для комбинаторного проекта HDL не требуется пакет часов.

  • Назовите свой сигнал сброса reset или rst. Если сброс не называют reset или rst, определяйте, какой сигнал является сигналом сброса в мастере FIL.

  • Порт сброса должен быть 1-битным. Для VHDL эти порты должны иметь тип std_logic.

Часы включают
  • Для последовательного проекта, если вы выбираете часы, включают, должен быть только один.

  • Часы включают порт, должно быть 1-битным. Для VHDL эти порты должны иметь тип std_logic.

  • Если у вас есть часы, включают, называют его одним из следующего: clock_enable, clock_enb, clock_en, clk_enable, clk_enb, clk_en, ce. Если часы включают, не назван одним из этих имен, определяйте, какой сигнал является часами, включают сигнал в мастере FIL.

Сущность DUTВсе порты на уровне DUT должны задать немного ширины. Используя переменную, когда не позволена битная ширина.
Фронт синхроимпульсаСинхронизируйте порты ввода и вывода DUT положительным ребром. Отрицательное ребро не позволено.
Неподдерживаемые типы данных
  • Двунаправленные порты

  • Массивы, типы записи

Неподдерживаемые построения
  • Конфигурационный оператор VHDL

  • Verilog включают файлы

  • Макросы

  • Завершенные имена

  • Дублированные имена порта (Verilog)

FIL-специфичные правила для системных объектов

Входные и выходные данные FIL устанавливают пределы
  • Размер данных общих затрат должен составить меньше чем 1 467 байтов. Размер входных данных является суммой входных битов, окруженных к самому близкому байту.

  • Размер выходных данных должен также составить меньше чем 1 467 байтов. Размер выходных данных является суммой выходных битов, окруженных к самому близкому байту.

Выведите формат кадра

Выведите формат кадра = Входной формат кадра × OverclockingFactor / OutputDownsample

Факторы кода MATLAB для системных объектов FIL

Совместимость MATLAB

Симуляция HDL Verifier™ FIL поддерживает только следующие типы данных:

  • Целое число

  • Логический

  • Фиксированная точка

Примените требования блока FIL

Процесс FIL для блоков

Мастер FIL и HDL Workflow Advisor HDL Coder каждый выполняет следующие действия:

  • Преобразуйте HDL-код в блоки-сигналы с синхронизацией прикладного.

  • Обход вы посредством идентификации: устройство FPGA, исходные файлы, порты I/O и информация о порте.

  • Добавьте логику в устройство под тестом (DUT), чтобы связаться с Simulink.

    Обычно эта логика является маленькой и оказывает минимальное влияние на припадок вашего проекта на FPGA.

  • Создайте файл программирования и блок симуляции FIL.

Примечание

Если проект не помещается в устройство или не удовлетворяет целям синхронизации, программное обеспечение не может создать файл программирования. В этой ситуации можно видеть предупреждение, что проект не удовлетворяет целям синхронизации, но это все еще генерирует файл программирования, или можно получить ошибку и никакой файл программирования. Или измените свой проект или используйте различную макетную плату.

После того, как генерация интерфейса FIL завершена, используйте маску блока FIL, чтобы загрузить файл программирования к плате FPGA. Можно также настроить опции во время выполнения и предупредить об атрибутах.

Когда вы готовы начать, прочитать следующие темы и убедиться, что ваш DUT придерживается правил и инструкций, описанных в каждом разделе:

Когда вы будете закончены с этими разделами, затем пойдите, чтобы Блокировать Генерацию с Мастером FIL или Симуляцией FIL с HDL Workflow Advisor для Simulink.

Факторы HDL-кода для блоков FIL

Следуйте этим правилам при использовании наследия или автоматически сгенерированного HDL-кода для генерации блока FIL.

КатегорияФакторы
Файлы HDLВсе имена HDL должны быть законными, как задано в стандарте VHDL 1993.
Проект верхнего уровня
  • Проектом верхнего уровня должен быть VHDL или Verilog.

  • Файл HDL верхнего уровня должен содержать сущность/модуль с тем же именем как имя файла.

  • Генерация блока FIL поддерживает и комбинаторную и последовательную логику. Для комбинаторной логики, CLK, CLK_ENABLE, и СБРАСЫВАЛ, не требуются.

Вводы и выводы
  • Порты ввода и вывода должны иметь следующие типы:

    • std_logic (VHDL)

    • std_logic_vector (VHDL)

    • Редж, провод (Verilog)

  • Векторная область значений портов должна быть:

    • Убывание (например, 9 DOWNTO 0, 9:0)

    • Литерал. Использование дженериков (VHDL) или параметры (Verilog) не поддержано. (например, DOWNTO b или a:b не поддержаны),

      Убывающий синтаксис TO не поддержан

  • Для Verilog имена портов должны быть нижним регистром. Имя модуля должно быть нижним регистром, также.

  • Все порты ввода и вывода должны быть включены.

  • Должен быть по крайней мере один выходной порт.

Часы
  • Последовательный проект HDL должен иметь только одни часы в лучшей сущности. Синхронизируйте и сбросьте, требуются. Для комбинаторного проекта HDL не требуется пакет часов.

  • Назовите свой сигнал часов clock или clk. Если часы не называют clock или clk, определяйте, какой сигнал является сигналом часов в мастере FIL.

  • Порт часов должен быть 1-битным. Для VHDL это должно иметь тип std_logic.

Сброс
  • Проект HDL должен иметь сброс, чтобы смочь сбросить FPGA перед симуляцией.

  • Для последовательного проекта должен быть только один сброс. Синхронизируйте и сбросьте, требуются. Для комбинаторного проекта HDL не требуется пакет часов.

  • Назовите свой сигнал сброса reset или rst. Если сброс не называют reset или rst, определяйте, какой сигнал является сигналом сброса в мастере FIL.

  • Порт сброса должен быть 1-битным. Для VHDL эти порты должны иметь тип std_logic.

Часы включают
  • Для последовательного проекта, если вы выбираете часы, включают, должен быть только один.

  • Часы включают порт, должно быть 1-битным. Для VHDL эти порты должны иметь тип std_logic.

  • Если у вас есть часы, включают, называют его одним из следующего: clock_enable, clock_enb, clock_en, clk_enable, clk_enb, clk_en, ce. Если часы включают, не назван одним из этих имен, определяйте, какой сигнал является часами, включают сигнал в мастере FIL.

Сущность DUTВсе порты на уровне DUT должны задать немного ширины. Используя переменную, когда не позволена битная ширина.
Фронт синхроимпульсаСинхронизируйте порты ввода и вывода DUT положительным ребром. Отрицательное ребро не позволено.
Неподдерживаемые типы данных
  • Двунаправленные порты

  • Массивы, типы записи

Неподдерживаемые построения
  • Конфигурационный оператор VHDL

  • Verilog включают файлы

  • Макросы

  • Завершенные имена

  • Дублированные имена порта (Verilog)

Факторы модели Simulink для блоков FIL

Следуйте этим правилам для интеграции блока FIL в вашу модель Simulink.

КатегорияФакторы
Общие образцовые правила
  • Используйте Один режим решателя управления задачами (набор с Параметрами конфигурации). HDL Verifier FIL не поддерживает многозадачный режим решателя.

  • Выберите дискретный, решатели фиксированного шага или решатели переменного шага. HDL Verifier FIL поддерживает оба типа решателей.

Несовместимости с Simulink

HDL Verifier симуляция FIL в настоящее время не поддерживает следующее:

  • Инстанцирование блока FIL в инициированной подсистеме

  • Инстанцирование блока FIL в асинхронной подсистеме вызова функций

  • Время непрерывной выборки

  • Смещается ненулевой шаг расчета

Инициализация

Инициализация RAM: Simulink запускается со времени 0 каждых раз, что означает, что RAM в модели Simulink инициализируется, чтобы обнулить для каждого выполнения. Однако это предположение не верно в оборудовании. RAM в FPGA содержит свое значение от конца одной симуляции к запуску следующего. Если у вас есть RAM в вашем проекте, первая симуляция совпадает с Simulink, но последующие выполнения не могут соответствовать. Обходное решение должно перезагрузить поток битов FPGA прежде, чем повторно выполнить симуляцию. Чтобы перезагрузить поток битов, нажмите Load на маске блока FIL.

FIL-специфичные правила для блоков

Правила настроек блока FIL
  • Входной формат кадра должен быть целочисленным кратным выходной формат кадра.

  • Все сигналы должны иметь ту же битную ширину как их соответствующий порт в оборудовании.

  • В режиме кадра все входные параметры должны иметь тот же формат кадра, и все выходные параметры должны иметь тот же формат кадра (но возможно отличающийся от входных параметров).

  • При обработке как кадры все входные сигналы должны иметь те же шаги расчета, и все выходные сигналы должны иметь те же шаги расчета. Выходной шаг расчета может отличаться от входного шага расчета.

  • При обработке как выборки только поддерживаются скаляры. При обработке как кадры только поддерживаются вектор-столбцы (N-1).

  • Поддерживаемые типы данных являются встроенными типами данных и типами данных с фиксированной точкой.

  • Разделите комплексные сигналы в действительные и мнимые сигналы. Симуляция FIL не поддерживает комплексные сигналы.

  • Выходной формат кадра должен быть меньше, чем входной формат кадра. Это требование гарантирует, что выходной кадр имеет достаточно данных, чтобы управлять значением во время 0. Можно избежать этой ошибки или уменьшением выходного формата кадра или шагом расчета или увеличением входного формата кадра или шага расчета.

Предел размера байта FIL
  • Размер данных общих затрат должен составить меньше чем 1 467 байтов. Размер входных данных является суммой входных битов, окруженных к самому близкому байту.

  • Размер выходных данных должен также составить меньше чем 1 467 байтов. Размер выходных данных является суммой выходных битов, окруженных к самому близкому байту.