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')