Использование изменения уровня и постоянных блоков

Можно следовать этим инструкциям, чтобы изучить, как использовать блоки, которые могут выполнить преобразования уровня в модели и блоках из библиотеки Sources, таких как блоки Constant в проекте. Каждая инструкция имеет уровень серьезности, который указывает на уровень требований податливости. Чтобы узнать больше, смотрите Уровни серьезности Руководств по моделированию HDL.

Использование блоков преобразования уровня

ID инструкции

2.5.1

Серьезность

Рекомендуемый

Описание

Существуют различные способы, в которых можно смоделировать переходы уровня. Как вы моделируете переходы уровня, определяют синхронизацию и требования к ресурсам вашего проекта. Эта инструкция показывает различные подходы для моделирования переходов уровня.

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

Подход преобразования уровня

БлокГенерирует обходной регистр?Генерирует нулевое дополнение?Примечания
RepeatНетНетЧтобы использовать этот блок, необходимо было установить DSP System Toolbox™.
Rate TransitionНетНет'none'
UpsampleДаДаЧтобы использовать этот блок, необходимо было установить DSP System Toolbox. Когда вы используете этот блок, рассматриваете удар обходного регистра и логики, которая вставляет нулевое дополнение на использовании аппаратного ресурса.

Для блока Rate Transition, чтобы сверхдискретизировать входной сигнал, не подвергаясь единичной задержке, в диалоговом окне Block Parameters блока Rate Transition:

  • Снимите флажок Ensure data integrity during data transfer.

    Снятие этого флажка делает флажок Ensure deterministic data transfer (maximum delay), чтобы исчезнуть.

  • Сконфигурируйте шаг расчета выходного порта блока, чтобы быть целочисленным кратным шаг расчета входного порта. Задайте дробное значение 1/n для Sample time multiple, где n целое число. Можно выбрать любое значение для параметров блоков Output port sample time options, пока Sample time multiple использует значение 1/n.

Когда часы ввода и вывода не синхронны друг другу, чтобы избежать, чтобы вставка обходного регистра в HDL-коде, сгенерированном для Repeat и блоков Rate Transition, вставила одну единичную задержку после Repeat и блоков Rate Transition в вашей модели.

Уменьшение Частоты дискретизации.  Чтобы уменьшать частоту дискретизации, можно использовать DownSample или блок Rate Transition. Чтобы использовать блок Downsample, необходимо было установить DSP System Toolbox. Когда вы используете эти блоки, оставляете параметры блоков настройкам по умолчанию.

При субдискретизации входного сигнала используйте блок Rate Transition, потому что можно оставить параметры блоков настройкам по умолчанию для генерации HDL-кода. Флажки Ensure data integrity during data transfer и Ensure deterministic data transfer (maximum delay) нужно оставить выбранными. Этот режим генерирует дополнительный обходной регистр в HDL-коде.

Вы используете параметр Initial Condition блока при сокращении частоты дискретизации. Эта установка параметра не используется, когда генератор кода увеличивает частоту дискретизации.

Используйте дискретный и конечный шаг расчета в постоянном блоке

ID инструкции

2.5.2

Серьезность

Обязательный

Описание

По умолчанию шагом расчета блока Constant является inf. Когда вы соединяете блок Constant с шагом расчета inf с другими блоками в вашем проекте это препятствует оптимизация области и скорость. Оптимизация, такая как повторная синхронизация, совместное использование и потоковая передача использования информация о тактовой частоте, чтобы улучшить скорость и область вашего проекта.

Когда вы используете блок Constant, устанавливаете шаг расчета блоков к -1. Чтобы идентифицировать блоки Constant, которые имеют бесконечный шаг расчета в вашем проекте, в окне модели Simulink®, Во вкладке Debug, на разделе Information Overlays> Sample Time, выбирают Colors. Легенда Шага расчета затем отображает блоки Constant, которые имеют Inf 'SampleTime' .

Можно идентифицировать и изменить шаг расчета всех блоков Constant к -1 при помощи любого из этих подходов:

Смотрите также

Функции

Похожие темы