Свойства настройки фильтра HDL

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

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

Задайте эти свойства как пары, разделенные запятой аргументов Name,Value к функции generatehdl. 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 — Входной порт для содействующих данных

    • 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'. Это свойство применяется только к Многоскоростным фильтрам.

  • единственный Сгенерированный модуль сущности или 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