exponenta event banner

Рекомендуемые параметры блока блока многопортового коммутатора для числовых и перечисляемых типов

Идентификатор руководства

2.3.2

Серьезность

Recommended

Описание

Для переключения нескольких входных сигналов в модели для генерации кода HDL можно использовать блоки Switch, Multiport Switch и Index Vector. Блок вектора индекса эквивалентен блоку мультипортового коммутатора, для которого установлено число терминалов передачи данных 1.

Для блока мультипортового коммутатора можно использовать числовые и перечислимые типы данных. При использовании числовых типов данных в диалоговом окне Block Parameters блока Multiport Switch установите для параметра Data Port Order значение Zero-based contiguous и порт данных для обращения по умолчанию Last data port. Когда количество входных сигналов является мощностью два, Zero-based contiguous режим минимизирует количество битов порта управления.

Для примера, в котором используется блок Multiport Switch с числовыми типами, откройте модель. hdlcoder_multiport_switch_numeric.

open_system('hdlcoder_multiport_switch_numeric')
set_param('hdlcoder_multiport_switch_numeric', 'SimulationCommand', 'Update')

DUT подсистема содержит блок мультипортового коммутатора и блок индексного вектора.

open_system('hdlcoder_multiport_switch_numeric/DUT')

Для создания кода HDL для DUT выполните команду makehdl функция.

makehdl('open_system('hdlcoder_multiport_switch_numeric/DUT')

При использовании перечисляемых типов в качестве входных данных для многопортового коммутатора установите для параметра «Порядок портов данных» значение 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')

DUT подсистема содержит два блока мультипортового коммутатора. Для второго блока мультипортового коммутатора установлен порядок портов данных Specify Indices.

open_system('hdlcoder_multiport_switch_enum/DUT')

Для создания кода HDL для DUT выполните команду makehdl функция.

makehdl('open_system('hdlcoder_multiport_switch_enum/DUT')

См. также

|

Связанные темы