Можно сгенерировать HDL-код для поддерживаемого фильтра System 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');
fdhdltool
| filterBuilder
| generatehdl
| numerictype