Кодер поддерживает генерацию кода для многоскоростного каскада объектов фильтра (dsp.FilterCascade).
Инстанцируйте этапов фильтра и расположите каскадом их в рабочей области MATLAB®.
hm1 = dsp.FIRDecimator('DecimationFactor',12); hm2 = dsp.FIRDecimator('DecimationFactor',4); my_cascade = dsp.FilterCascade(hm1,hm2);
dsp.FilterCascade в документации DSP System Toolbox™.Кодер в настоящее время налагает определенные ограничения на типы фильтра, позволенные в каскадном фильтре. Смотрите Ограничения для Генерации кода с Каскадными Фильтрами прежде, чем создать ваши этапы фильтра и расположите каскадом объект фильтра.
fdhdltoolВызовите fdhdltool, чтобы открыть диалоговое окно Generate HDL, передающее в каскадной Системе фильтра 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')
Следующие правила и ограничения применяются к каскадным фильтрам, когда используется для генерации кода:
Можно сгенерировать код для каскадов, которые комбинируют следующие типы фильтра:
Decimators и/или структуры односкоростного фильтра
Интерполяторы и/или структуры односкоростного фильтра
Генерация кода для каскадов, которые включают и decimators и интерполяторы, не поддержана. Если неподдерживаемые структуры фильтра или комбинации структур фильтра включены в каскад, генерация кода возвращает ошибку.
Для генерации кода позволена только плоская (одноуровневая) каскадная структура. Вложение каскадных фильтров запрещено.
По умолчанию сгенерированный HDL-код исключает регистры ввода и вывода из этапов каскада, за исключением:
Вход первой стадии и вывод заключительного этапа.
Входные регистры этапов интерполятора.
Чтобы сгенерировать выходные регистры для каждого этапа, выберите опцию Add pipeline registers в диалоговом окне Generate HDL. При использовании этой опции внутренние конвейерные регистры могут также быть добавлены, в зависимости от структур фильтра.
Когда каскадный фильтр передается fdhdltool, опция FIR adder style отключена. Если вы требуете, чтобы древовидные сумматоры для КИХ просочились каскад, выберите опцию Add pipeline registers (поскольку конвейеры требуют древовидных КИХ-сумматоров стиля).
Кодер генерирует отдельные файлы HDL-кода для каждого этапа каскада, в дополнение к коду верхнего уровня для самого каскадного фильтра. Файлы кода этапа фильтра идентифицированы путем добавления вектора символов '_stage1', '_stage2'... '_stageN' к имени фильтра.
Данные показывают настройки по умолчанию опций диалогового окна Generate HDL для каскадного проекта фильтра.
