Рекомендуемые Параметры блоков настройки мультипортовых Блоков switch для числовых и перечисленных типов

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

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

См. также

|

Похожие темы