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

ID инструкции

2.3.2

Серьезность

Recommended

Описание

Чтобы переключить несколько входных сигналов в вашу модель для генерации HDL-кода, можно использовать Переключатель, Многопортовый Переключатель, и индексировать Векторные блоки. Блок Vector индекса эквивалентен Многопортовому блоку switch, которому установили Количество терминалов к 1.

Можно использовать числовые и перечислимые типы данных для Многопортового блока switch. При использовании типов числовых данных, в диалоговом окне Block Parameters Многопортового блока switch, установленного Порядка Порта данных к Zero-based contiguous и Порт данных для случая по умолчанию к Last data port. Когда количество входных сигналов является степенью двойки, Zero-based contiguous режим минимизирует количество битов порта управления.

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

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

DUT подсистема содержит Многопортовый блок switch и блок Vector индекса.

open_system('hdlcoder_multiport_switch_numeric/DUT')

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

makehdl('open_system('hdlcoder_multiport_switch_numeric/DUT')

Когда вы используете перечислимые типы в качестве входа к Многопортовому Переключателю, устанавливаете Порядок Порта данных к Specify Indices. Вы задаете класс перечисления в файле MATLAB®. Когда вы используете случай по умолчанию, устанавливаете диагностику случая По умолчанию на Warning или None.

Для примера, который использует Многопортовый блок 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 подсистема содержит два Многопортовых блока switch. Второй Многопортовый блок switch имеет набор Порядка Порта данных к Specify Indices.

open_system('hdlcoder_multiport_switch_enum/DUT')

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

makehdl('open_system('hdlcoder_multiport_switch_enum/DUT')

Смотрите также

|

Похожие темы