Кодер поддерживает генерацию кода для многоскоростного каскада объектов фильтра (dsp.FilterCascade).
Создайте экземпляры этапов фильтра и каскадируйте их в рабочей области MATLAB ®.
hm1 = dsp.FIRDecimator('DecimationFactor',12); hm2 = dsp.FIRDecimator('DecimationFactor',4); my_cascade = dsp.FilterCascade(hm1,hm2);
dsp.FilterCascade в документации по Toolbox™ системы DSP.В настоящее время кодер накладывает определенные ограничения на типы фильтров, разрешенные в каскадном фильтре. См. раздел Ограничения создания кода с каскадными фильтрами перед созданием этапов фильтра и объекта каскадного фильтра.
fdhdltool ФункцияЗвонить fdhdltool для открытия диалогового окна Generate HDL (Генерировать ЛПВП), проходящего через каскадный фильтр System object™ (Система) и тип входных данных с фиксированной точкой.
fdhdltool(my_cascade,numerictype(1,16,15))
generatehdl ФункцияЗвонить generatehdl чтобы создать код HDL для фильтра, передав в каскадном фильтре системный объект, тип входных данных с фиксированной точкой и требуемые свойства генерации кода.
generatehdl(my_cascade,'InputDataType',numerictype(1,16,15), ... 'Name','MyFilter','TargetLanguage','Verilog', ... 'GenerateHDLTestbench','on')
Следующие правила и ограничения применяются к каскадным фильтрам при их использовании для создания кода:
Можно создать код для каскадов, объединяющих следующие типы фильтров:
Прореживатели и/или односкоростные структуры фильтров
Интерполяторы и/или односкоростные фильтрующие структуры
Генерация кода для каскадов, включающих как прореживатели, так и интерполяторы, не поддерживается. Если в каскад включены неподдерживаемые структуры фильтров или комбинации структур фильтров, генерация кода возвращает ошибку.
Для генерации кода допускается только плоская (одноуровневая) каскадная структура. Вложение каскадных фильтров запрещено.
По умолчанию сгенерированный код HDL исключает входные и выходные регистры из каскада, за исключением:
Вход первой ступени и выход конечной ступени.
Входные регистры каскадов интерполятора.
Чтобы создать выходные регистры для каждой ступени, выберите опцию Добавить регистры трубопровода (Add pipeline regists) в диалоговом окне Создать HDL (Generate HDL). При использовании этой опции могут также добавляться внутренние регистры трубопроводов в зависимости от структур фильтров.
При передаче каскадного фильтра fdhdltool, опция стиля сумматора FIR отключена. Если для фильтров FIR в каскаде требуются древовидные сумматоры, выберите опцию Добавить регистры трубопроводов (Add pipeline regists) (так как для трубопроводов требуются вектористические сумматоры).
Кодер генерирует отдельные файлы кода HDL для каждого этапа каскада в дополнение к коду верхнего уровня для самого каскадного фильтра. Файлы кода этапа фильтрации идентифицируются путем добавления вектора символов. '_stage1', '_stage2', ... '_stageN' к имени фильтра.
На рисунке показаны параметры по умолчанию диалогового окна «Создание HDL» для каскадной конструкции фильтра.
