HDL Coder поддержка библиотечных Отображений FPGA с плавающей точкой

В библиотеке HDL Coder™ блоков - подмножество Simulink® блоки поддерживают отображение библиотек с плавающей точкой. Подмножество включает:

  • Блоки, которые выполняют основные математические операции, такие как сложение, умножение и комплексные тригонометрические функции синуса и косинуса. Эти блоки сопоставлены с одним или несколькими модулями с плавающей точкой на целевом устройстве FPGA.

  • Дискретные блоки, блоки, которые выполняют направление сигнала и блоки, которые выполняют математические операции, такие как конкатенация матриц. Эти блоки не должны сопоставляться с IP- модуля с плавающей точкой на целевом устройстве FPGA.

Поддерживаемые блоки, которые сопоставлены с целевым IP FPGA с плавающей точкой

В следующей таблице представлены блоки Simulink, которые могут сопоставляться с IP-ядрами с плавающей точкой FPGA.

При сопоставлении с IP-ядрами с плавающей точкой некоторые блоки имеют ограничения по режиму.

Примечание

Некоторые блоки не сопоставлены с IP-ядром с плавающей точкой на стороннем оборудовании. Например, блок Abs преобразуется в Altera® целевое IP-ядро, но не Xilinx® целевое ядро IP.

БлокAltera Megafunction IP (функции ALTFP и ALTERA FP)Xilinx LogiCORE IPЗамечания и ограничения
Abs 
Add
Bias
Compare To Constant
Compare To Zero
Data Type Conversion
  • Преобразования между одним и двумя типами данных не поддерживаются.

  • Integer rounding mode атрибут в диалоговом окне Параметров блоков должен иметь значение Nearest.

  • Если вы используете Altera Megafunction IP для преобразования между плавающей точкой и типами данных с фиксированной точкой, вход битовая ширина должна быть между 16 и 128 биты.

Decrement Real World
Discrete FIR Filter
Discrete Transfer Fcn
Discrete-Time Integrator
Divide
Dot Product 
Gain
Math Function 
  • Установите атрибут Function в Параметры блоков окне на reciprocal, log или exp.

MinMax
Multiply-Add
Product
  • Product блок с более чем двумя входами не поддерживается.

Product of Elements
  • Для Architecture в свойствах блоков необходимо задать значение Tree.

Reciprocal Sqrt 
Relational Operator
Sqrt
Subtract
Sum
  • Sum блок с - порты не поддерживаются.

  • Блок не может иметь более двух входов.

Sum of Elements
  • Для Architecture в свойствах блоков необходимо задать значение Tree.

Trigonometric Function 
  • Для отображения библиотек с плавающей точкой поддерживаются только отдельные типы данных.

  • В диалоговом окне Параметров блоков Function должны быть заданы как sin или cos и Approximation method должно быть установлено на None.

  • Если вы используете Altera Quartus 10.1 или 11.0, включите AlteraBackwardIncompatibleSinCosPipeline глобальное свойство с использованием hdlset_param.

Unary Minus

Поддерживаемые блоки, которые не должны сопоставлять с целевым IP с плавающей точкой FPGA

Ниже приведены блоки Simulink, которые генерируют HDL-код, но не должны сопоставляться с IP-ядром с плавающей точкой FPGA.

Ограничения для отображения библиотеки FPGA с плавающей точкой

  • Если вашим инструментом синтеза является Xilinx Vivado®, вы не можете использовать отображение библиотек с плавающей точкой FPGA.

  • Комплексные данные не поддерживаются.

  • Потоковая оптимизация не поддерживается библиотечными отображениями с плавающей точкой.

  • Оптимизация совместного использования ресурсов не поддерживается блоками Unary Minus и Abs.

  • Для рабочих процессов IP Core Генерации, FPGA «под ключ» и Simulink Real-Time™ FPGA ввода-вывода, ваши порты DUT не могут использовать типы данных с плавающей точкой.

Похожие примеры

Подробнее о