Массив шин является массивом, элементами которого являются шины. Каждый элемент в массиве шин должен быть невиртуальным и должен иметь совпадающий тип данных.
Массив шин представляет структурированные данные сжато. Массив:
Уменьшает сложность модели
Уменьшает обслуживание путем организации и маршрутизации сигналов в Simulink® модель для векторизованных алгоритмов
Для получения дополнительной информации смотрите Группу Невиртуальные Шины в Массивах Шин.
Можно сгенерировать HDL-код для виртуальных и невиртуальных блоков, которые Simulink поддерживает с массивом шин. Для получения дополнительной информации смотрите Способные к шине Блоки.
HDL Coder™ расширяет массив шин в вашей модели Simulink в соответствующие скалярные сигналы в сгенерированном коде.
Эта модель Simulink имеет массив сигнала шин в интерфейсе DUT.
Массив шин комбинирует два невиртуальных элемента шины, каждый имеющий скаляры a
и b
из типов uint16
и int32
соответственно.
Получившийся HDL-код расширяет массив шин в скаляры и содержит четыре скалярных порта ввода и вывода.
В сгенерированном коде массив расширения шины приводит к четырем скалярным сигналам в портах ввода и вывода. Для первого объекта шины входными портами является In_1_a
и In_1_b
. Для второго объекта шины они - In_2_a
и In_2_b
. При выходе, для первого объекта шины, они - Out_1_a
и Out_1_b
. Для второго объекта шины они - Out_2_a
и Out_2_b
.
ENTITY DUT IS PORT( In1_1_a : IN std_logic_vector(15 DOWNTO 0); -- uint16 In1_1_b : IN std_logic_vector(31 DOWNTO 0); -- int32 In1_2_a : IN std_logic_vector(15 DOWNTO 0); -- uint16 In1_2_b : IN std_logic_vector(31 DOWNTO 0); -- int32 Out1_1_a : OUT std_logic_vector(15 DOWNTO 0); -- uint16 Out1_1_b : OUT std_logic_vector(31 DOWNTO 0); -- int32 Out1_2_a : OUT std_logic_vector(15 DOWNTO 0); -- uint16 Out1_2_b : OUT std_logic_vector(31 DOWNTO 0) -- int32 ); END DUT;
HDL Coder генерирует код в соответствии с порядком, в котором вы указываете элементы шины и элементы массива в вашей модели Simulink. Если вы задаете выходной язык VHDL для своей модели Simulink, которая содержит объект шины с массивами, HDL Coder сохраняет массивы в сгенерированном коде и не расширяется в скаляры.
Не используйте массив шин в других типах данных. Вы не можете использовать сигнал шины, который содержит массив шин.
MATLAB System и блоки MATLAB Function, которые содержат System objects, не поддерживаются с массивом шин.