В библиотеке блоков HDL Coder™ подмножество блоков Simulink® поддерживает отображение библиотеки с плавающей точкой. Подмножество включает:
Блоки, которые выполняют основные математические операции, такие как сложение, умножение, и объединяют тригонометрический синус и косинусные функции. Эти блоки сопоставляют с одним или несколькими модулями IP с плавающей точкой на целевом устройстве FPGA.
Дискретные блоки, блоки, которые выполняют маршрутизацию сигнала и блоки, которые выполняют математические операции, такие как конкатенация матриц. Эти блоки не должны сопоставлять с модулем IP с плавающей точкой на целевом устройстве FPGA.
Следующая таблица обобщает блоки Simulink, которые могут сопоставить с FPGA ядра IP с плавающей точкой.
При отображении с ядрами IP с плавающей точкой некоторые блоки имеют ограничения режима.
Некоторые блоки не сопоставляют с ядром IP с плавающей точкой в стороннем оборудовании. Например, блок-диаграммы Abs к Altera® предназначаются для ядра IP, но не к целевому ядру IP Xilinx®.
| Блок | IP мегафункции Altera (ALTFP и функции FP ALTERA) | Xilinx LogiCORE IP | Комментарии и ограничения |
|---|---|---|---|
| Abs | ✓ | — | |
| Add | ✓ | ✓ | — |
| Bias | ✓ | ✓ | — |
| Compare To Constant | ✓ | ✓ | — |
| Compare To Zero | ✓ | ✓ | — |
| Data Type Conversion | ✓ | ✓ |
|
| Decrement Real World | ✓ | ✓ | — |
| Discrete FIR Filter | ✓ | ✓ | — |
| Discrete Transfer Fcn | ✓ | ✓ | — |
| Discrete-Time Integrator | ✓ | ✓ | — |
| Divide | ✓ | ✓ | — |
| Dot Product | ✓ | ✓ | |
| Gain | ✓ | ✓ | — |
| Math Function | ✓ |
| |
| MinMax | ✓ | ✓ | — |
| Multiply-Add | ✓ | ✓ | — |
| Product | ✓ | ✓ |
|
| Product of Elements | ✓ | ✓ |
|
| Reciprocal Sqrt | ✓ | — | |
| Relational Operator | ✓ | ✓ | — |
| Sqrt | ✓ | ✓ | — |
| Subtract | ✓ | ✓ | — |
| Sum | ✓ | ✓ |
|
| Sum of Elements | ✓ | ✓ |
|
| Trigonometric Function | ✓ |
| |
| Unary Minus | ✓ | ✓ | — |
Следующим являются блоки Simulink, которые генерируют HDL-код, но не должны сопоставлять с FPGA ядро IP с плавающей точкой.
Если вашим инструментом синтеза является Xilinx Vivado®, вы не можете использовать FPGA отображение библиотеки с плавающей точкой.
Сложные типы данных не поддержаны.
Оптимизация потоковой передачи не поддержана с отображением библиотеки с плавающей точкой.
Оптимизация разделения ресурсов не поддержана с блоками Abs и Unary Minus.
Для Генерации Ядра IP, Тюремщика FPGA и рабочих процессов ввода-вывода FPGA Simulink Real-Time™, ваши порты DUT не могут использовать типы данных с плавающей точкой.