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