Можно сгенерировать HDL-код для поддерживаемой Системы фильтра object™ при помощи приложения Filter Builder, диалогового окна Generate HDL, или путем вызова generatehdl функция. Можно также исследовать архитектуры фильтра и сгенерировать стимул испытательного стенда для Системного объекта фильтра при помощи hdlfilterserialinfo, hdlfilterdainfo, и generatetbstimulus функции. В любом случаи необходимо задать тип данных с фиксированной точкой для Системного объекта. Инструмент генерации HDL-кода квантует входной сигнал к этому типу данных.
Откройте приложение Filter Builder путем вызова filterBuilder функция, затем устанавливает следующие опции.
На вкладке Main выберите Use a System object to implement filter.
На вкладке Data Types, набор Arithmetic к Fixed point и выберите внутренние типы данных с фиксированной точкой.
На вкладке Code Generation нажмите Generate 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));
При вызове 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');
generatehdl | fdhdltool | numerictype | filterBuilder