HDL Filter Configuration Properties

Сконфигурируйте коэффициенты, объедините входные порты и дополнительные порты для определенных типов фильтра

Со свойствами настройки фильтра HDL можно сконфигурировать коэффициенты, комплексные входные порты и дополнительные порты для определенных типов фильтра. Для сериализации фильтра и свойств трубопровода, смотрите HDL Optimization Properties.

Задайте эти свойства как аргументы name-value к generatehdl functionName имя свойства и Value соответствующее значение. Можно задать несколько аргументов name-value в любом порядке как 'Name1',Value1,...,'NameN',ValueN.

Например:

fir = dsp.FIRFilter('Structure','Direct form antisymmetric');
generatehdl(fir,'InputDataType',numerictype(1,16,15),'CoefficientSource','ProcessorInterface');

Коэффициенты

развернуть все

Источник программируемых коэффициентов фильтра в виде 'Internal' или 'ProcessorInterface'. Это свойство применяется только к Программируемым Коэффициентам Фильтра для КИХ-Фильтров и Программируемым Коэффициентам Фильтра для БИХ-Фильтров.

  • 'Internal' — Кодер получает коэффициенты фильтра из объекта фильтра. Коэффициенты трудно закодированы в сгенерированном HDL-коде.

  • 'ProcessorInterface' — Кодер генерирует интерфейс памяти для коэффициентов фильтра. Можно управлять этим интерфейсом с внешним микропроцессором. Сгенерированный модуль сущности или Verilog VHDL для фильтра включает эти порты для интерфейса процессора:

    • coeffs_in — Input port для содействующих данных

    • write_address — Адресный записью для содействующей памяти

    • write_enable — Сигнал разрешения записи для содействующей памяти

    • write_done — Сигнал указать на завершение содействующей операции записи

    Если вы генерируете испытательный стенд, можно задать входной стимул для этого интерфейса при помощи TestBenchCoeffStimulus свойство.

    Для последовательного КИХ-фильтра можно также задать тип памяти для хранения программируемых коэффициентов путем установки CoefficientMemory свойство.

Тип памяти для программируемых коэффициентов фильтра в виде 'Registers', 'DualPortRAMs', или 'SinglePortRAMs'. Это свойство применяется только к Программируемым Коэффициентам Фильтра для КИХ-Фильтров с полностью последовательным, частично последовательным, или расположите каскадом последовательную архитектуру.

  • 'Registers' — Кодер генерирует регистровый файл для хранения программируемых коэффициентов.

  • 'SinglePortRAMs' или 'DualPortRAMs' — Кодер генерирует соответствующий интерфейс RAM для хранения программируемых коэффициентов.

Зависимости

Это свойство применяется только, когда вы устанавливаете CoefficientSource к 'ProcessorInterface'. Если кодер не генерирует интерфейс для программируемых коэффициентов, этого CoefficientMemory свойство проигнорировано.

Дополнительные порты

развернуть все

Сгенерируйте комплексные порты входных данных в виде 'off' или 'on'. Используйте эту опцию, когда ваше создание фильтра потребует комплексных входных данных. Смотрите Используя Комплексные данные и Коэффициенты. Когда вы устанавливаете это свойство на 'on', кодер генерирует порты и пути прохождения сигнала для действительных и мнимых компонентов комплексного сигнала.

Можно настроить имена порта путем установки ComplexRealPostfix и ComplexImagPostfix свойства.

Зависимости

Чтобы сгенерировать комплексные входные параметры, необходимо также установить CoefficientSource к 'Internal'. Комплексные входные параметры не поддерживаются, когда коэффициенты фильтра получены из интерфейса процессора.

Тип сгенерированных часов вводит в виде 'Single' или 'Multiple'. Это свойство применяется только к Многоскоростным фильтрам.

  • 'Single' — Сгенерированный модуль сущности или Verilog VHDL для фильтра имеет один вход часов, связанные часы включают вход, и часы включают выход. Сгенерированный код включает счетчик, который управляет синхронизацией передач данных к фильтру выход (для децимирующих фильтров) или вход (для фильтров интерполяции). Счетчик ведет себя как вторичные часы. Децимация или коэффициент интерполяции определяют тактовую частоту счетчика. Эта опция предоставляет автономное решение для синхронизации для проектов FPGA.

    Чтобы настроить имена этих вводов и выводов часов, смотрите ClockInputPort, ClockEnableInputPort, и ClockEnableOutputPort свойства.

    Интерполяторы также проходят через часы, включают входной сигнал к выходному порту под названием ce_in. Этот сигнал указывает, когда объект принял входную выборку. Можно использовать этот сигнал управлять восходящим потоком данных. Вы не можете настроить это имя порта.

  • 'Multiple' — Сгенерированный модуль сущности или Verilog VHDL для фильтра имеет отдельные входные параметры часов для каждого уровня многоскоростного фильтра. Каждый вход часов имеет связанные часы, включают вход. Кодер не генерирует часы, включают выход. Обеспечьте входные сигналы часов, которые соответствуют желаемой децимации или коэффициенту интерполяции.

    Эта опция обеспечивает больше гибкости, чем один вход часов. Однако несколько входных параметров часов принимают, что вы обеспечиваете высокоуровневый HDL-код, чтобы управлять входными часами вашего фильтра. Кодер не генерирует синхронизаторы между несколькими областями часов. Если вы генерируете испытательный стенд, исследуете clk_gen процессы для каждых часов.

    Следующие фильтры не поддерживают 'Multiple':

    • Фильтры с частично последовательной архитектурой

    • Многоступенчатые конвертеры частоты дискретизации: dsp.FIRRateConverter, dsp.FarrowRateConverter, или многоскоростной dsp.FilterCascade

Для примера смотрите Порты Часов для Многоскоростных фильтров.

Сгенерируйте порты уровня в виде 'off' или 'on'. Это свойство применяется только к CIC-фильтрам С плавающей ставкой.

Когда вы устанавливаете это свойство на 'on', кодер генерирует rate и load_rate порты для фильтра. CIC-фильтр с плавающей ставкой имеет программируемый фактор изменения уровня. Когда вы утверждаете load_rate сигнал, rate порт загружает в факторе уровня. Можно сгенерировать порты уровня только для фильтра полной точности.

Если вы генерируете испытательный стенд, можно настроить стимул порта уровня путем установки TestBenchRateStimulus свойство.

Имя дробного порта задержки входа в виде 'filter_fd', вектор символов или строковый скаляр. Это свойство применяется только к Односкоростным Неоплодотворенным Фильтрам. Например:

farrowfilt = dsp.VariableFractionalDelay('InterpolationMethod','Farrow');
generatehdl(farrowfilt,'InputDataType',numerictype(1,18,17), ...
    'FractionalDelayDataType',numerictype(1,8,7), ...
    'FracDelayPort','fractional_delay');

Если вы задаете значение, которое является зарезервированным словом на выходном языке, кодер добавляет постфиксный _rsvd к этому значению. Можно обновить постфиксное значение при помощи ReservedWordPostfix свойство. Для получения дополнительной информации смотрите Решение Конфликтов Зарезервированного слова HDL.

Если вы генерируете испытательный стенд, можно настроить дробный стимул задержки путем установки TestBenchFracDelayStimulus свойство.

Советы

Если вы используете fdhdltool функция, чтобы сгенерировать HDL-код, можно установить соответствующие свойства в диалоговом окне Generate HDL.

Отфильтруйте типСвойствоМестоположение в диалоговом окне
КИХ или БИХ фильтруют с программируемыми коэффициентамиCoefficient source Вкладка Filter Architecture
КИХ-фильтр с последовательной архитектурой и программируемыми коэффициентамиCoefficient memoryВкладка Filter Architecture, когда Coefficient source установлен в Processor interface
Отфильтруйте с комплексными входными даннымиInput complexityВкладка Global Settings> вкладка Ports
Многоскоростной фильтрClock inputsВкладка Global Settings
CIC-фильтрAdd rate portВкладка Filter Architecture
Односкоростной Неоплодотворенный фильтрFractional delay portВкладка Global Settings> вкладка Ports

Представлено до R2006a