2.3.2
Recommended
Чтобы переключить несколько входных сигналов в вашей модели для генерации HDL-кода, можно использовать блоки Switch, Multiport Switch и Index Vector. Блок Вектор эквивалентен блоку Multiport Switch, для которого установлено значение Number of data terminals 1.
Можно использовать числовые и перечисленные типы данных для блока Multiport Switch. При использовании типов числовых данных в диалоговом окне Параметры Блоков блока Multiport Switch установите для Data Port Order значение Zero-based contiguous и порт данных для случая по умолчанию, чтобы Last data port. Когда количество входных сигналов является степенью двойки, Zero-based contiguous mode минимизирует количество бит порта управления.
Для примера, который использует блок Multiport Switch с числовыми типами, откройте модель hdlcoder_multiport_switch_numeric.
open_system('hdlcoder_multiport_switch_numeric') set_param('hdlcoder_multiport_switch_numeric', 'SimulationCommand', 'Update')

The DUT Подсистема содержит блок Multiport Switch и блок Index Vector.
open_system('hdlcoder_multiport_switch_numeric/DUT')

Чтобы сгенерировать HDL-код для DUT, запустите makehdl функция.
makehdl('open_system('hdlcoder_multiport_switch_numeric/DUT')
Когда вы используете перечисленные типы как вход в Multiport Switch, задайте Порядок Портов Данных следующим Specify Indices. Класс перечисления определяется в файле MATLAB ®. Когда вы используете случай по умолчанию, установите диагностику случая по умолчанию равной Warning или None.
Для примера, который использует блок Multiport Switch с перечисленными типами, откройте модель hdlcoder_multiport_switch_enum. Этот код показывает перечисленный класс, определенный в MATLAB.
classdef BasicColors < Simulink.IntEnumType enumeration Red(0) Yellow(1) Blue(2) end methods (Static) function retVal = getDefaultValue() retVal = BasicColors.Blue; end end end
Откройте модель hdlcoder_multiport_switch_enum.
open_system('hdlcoder_multiport_switch_enum') set_param('hdlcoder_multiport_switch_enum', 'SimulationCommand', 'Update')

The DUT Подсистема содержит два блока Multiport Switch. Второй блок Multiport Switch имеет Порядок Портов Данных, установленный на Specify Indices.
open_system('hdlcoder_multiport_switch_enum/DUT')

Чтобы сгенерировать HDL-код для DUT, запустите makehdl функция.
makehdl('open_system('hdlcoder_multiport_switch_enum/DUT')