Сгенерируйте HDL-код для фильтра Системных объектов

Можно сгенерировать HDL-код для поддерживаемого фильтра System object™ с помощью приложения Filter Builder, диалогового окна Generate HDL или путем вызова generatehdl функция. Можно также исследовать архитектуры фильтра и сгенерировать испытательный стенд стимул для Системного объекта фильтра при помощи hdlfilterserialinfo, hdlfilterdainfo, и generatetbstimulus функций. В любом случае необходимо задать тип данных с фиксированной точкой для системного объекта. Инструмент генерации HDL-кода квантует входной сигнал к этому типу данных.

Использование Filter Builder

Откройте приложение Filter Builder, позвонив filterBuilder затем установите следующие опции.

  • На вкладке Main выберите Use a System object to implement filter.

  • На вкладке Data Types установите Arithmetic равным Fixed point и выберите внутренние типы данных с фиксированной точкой.

  • На вкладке Code Generation нажмите Generate HDL, чтобы задать опции генерации HDL-кода и сгенерировать код.

Использование диалогового окна генерации HDL

Откройте диалоговое окно Generate HDL путем вызова fdhdltool функция. При вызове функции с системным объектом задайте тип входных данных как numerictype объект. Создайте этот объект путем вызова numerictype(s,w,f), где s равен 1 для со знаком и 0 для без знака, w - размер слова в битах и f - количество дробных бит. В следующем примере вызов функции numerictype(1,8,7) задает 8-битный номер со знаком с 7 дробными битами.

filt =  dsp.BiquadFilter;
fdhdltool(filt,numerictype(1,8,7));
Когда диалоговое окно откроется, можно задать опции генерации HDL-кода и сгенерировать код для Системного объекта.

В командной строке

При вызове generatehdl функция с Системным объектом, задайте тип входных данных как Name,Value сопроводить аргумент с помощью InputDataType свойство. Задайте значение свойства как numerictype объект. Для примера:

filt =  dsp.BiquadFilter;
generatehdl(filt,'Name','HDLButter', ...
    'InputDataType',numerictype(1,8,7));
При вызове generatehdlможно задать дополнительные свойства генерации HDL-кода с помощью Name,Value аргументы в виде пар. Для примера:

coeffs = fir1(22,0.45);
firfilt = dsp.FIRFilter('Numerator',coeffs, ...
    'Structure','Direct form antisymmetric');
generatehdl(firfilt,'InputDataType',numerictype(1,16,15), ...
    'SerialPartition',[7 4],'CoefficientMemory','DualPortRAMs', ...
    'CoefficientSource','ProcessorInterface');

См. также

| | |

Похожие темы