Вы можете использовать Simulink® для быстрого прототипирования оборудования проектов. Wireless HDL Toolbox™, при использовании с HDL- Coder™, поддерживают генерацию HDL-кода. Инструменты HDL Coder генерируют независимый от цели синтезируемый Verilog® и VHDL® код для программирования FPGA или разработки и проекта прототипов ASIC.
Большинство блоков в Wireless HDL Toolbox поддерживает генерацию HDL-кода.
Следующие блоки предназначены только для симуляции и не поддерживаются для генерации HDL-кода:
Frame To Samples
Samples To Frame
FIL Frame To Samples
FIL Samples To Frame
Другие MathWorks® продукты также включают блоки, поддерживаемые для генерации HDL-кода, которые можно использовать для создания своего проекта.
В браузере библиотеки Simulink можно найти библиотеки блоков, поддерживаемых для генерации HDL-кода, в библиотеках HDL Coder, Communications Toolbox HDL Support DSP System Toolbox HDL Support блоков и других.
Чтобы создать библиотеку поддерживаемых HDL блоков из всех ваших установленных продуктов, введите hdllib
(HDL Coder) в MATLAB® командная строка. Для выполнения этой команды требуется лицензия HDL Coder.
Можно также просмотреть блоки, поддерживаемые для генерации HDL-кода, в документации путем фильтрации списка ссылок на блоки. Щелкните Blocks на синей панели в верхней части окна справки, затем установите флажок HDL code generation в нижней части левого столбца. Блоки перечислены в соответствующих продуктах. Для перехода между продуктами и категориями можно использовать таблицу содержимого в левом столбце.
Смотрите раздел «Расширенные возможности > Генерация HDL-кода» на каждой странице блока для блока реализации, свойств и ограничений для генерации HDL-кода.
Потоковый пример типа данных шины управления, используемый блоками Wireless HDL Toolbox, сведен в отдельные сигналы в HDL.
В VHDL интерфейс заявлен как:
PORT( clk : IN std_logic; reset : IN std_logic; enb : IN std_logic; in0 : IN std_logic_vector(7 DOWNTO 0); -- uint8 in1_start : IN std_logic; in1_end : IN std_logic; in1_valid : IN std_logic; out0 : OUT std_logic_vector(7 DOWNTO 0); -- uint8 out1_start : OUT std_logic; out1_end : OUT std_logic; out1_valid : OUT std_logic );
В Verilog интерфейс заявлен как:
input clk; input reset; input enb; input [7:0] in0; // uint8 input in1_start; input in1_end; input in1_valid; output [7:0] out0; // uint8 output out1_start; output out1_end; output out1_valid;