Можно следовать этим рекомендациям, чтобы узнать, как использовать блоки, которые могут выполнять преобразования скорости в вашей модели, и блоки из библиотеки Sources, такие как блоки Constant в вашем проекте. Каждое руководство имеет уровень серьезности, который указывает на уровень податливостей. Для получения дополнительной информации см. HDL-руководства по моделированию уровней серьезности.
2.5.1
Рекомендуется
Существуют различные способы, которыми можно смоделировать переходы скорости. Как вы моделируете переходы скорости, определяют временные и ресурсные требования вашего проекта. Это руководство показывает различные подходы для моделирования переходов скорости.
Увеличение частоты дискретизации. Эта таблица иллюстрирует блоки, которые можно использовать, чтобы увеличить частоту дискретизации вашего проекта. Когда вы используете эти блоки, оставьте параметры блоков в настройках по умолчанию.
Подход преобразования скорости
Блок | Генерирует регистр обхода? | Генерирует нулевое заполнение? | Примечания |
---|---|---|---|
Repeat (DSP System Toolbox) | Нет | Нет | Для использования этого блока необходимо установить DSP System Toolbox™. |
Rate Transition | Нет | Нет | Ничего |
Upsample (DSP System Toolbox) | Да | Да | Чтобы использовать этот блок, необходимо установить DSP System Toolbox. Когда вы используете этот блок, учитывайте влияние регистра обхода и логики, которая вставляет заполнение нули на использование аппаратных ресурсов. |
Для блока Rate Transition, чтобы увеличить значение входного сигнала, не вызывая модуля задержки, в Параметры блоков диалоговом окне блока 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 (DSP System Toolbox) или Rate Transition блок. Чтобы использовать блок Downsample, необходимо установить DSP System Toolbox. Когда вы используете эти блоки, оставьте параметры блоков в настройках по умолчанию.
При понижающей дискретизации входного сигнала используйте блок Rate Transition, потому что можно оставить параметры блоков в настройках по умолчанию для генерации HDL-кода. Необходимо установить флажки Ensure data integrity during data transfer и Ensure deterministic data transfer (maximum delay). Этот режим генерирует дополнительный регистр обхода в HDL-коде.
Вы используете параметр Initial Condition блока при снижении частоты дискретизации. Эта настройка параметра не используется, когда генератор кода увеличивает частоту дискретизации.
2.5.2
Обязательный
По умолчанию шаг расчета блока Constant inf
. Когда вы соединяете Constant блок со шаг расчета inf
другим блокам в вашем проекте это препятствует оптимизации скорости и площади. Оптимизация, такая как синхронизация, совместное использование и потоковая передача, использует информацию о тактовой частоте, чтобы улучшить скорость и область вашего проекта.
Когда вы используете блок Constant, установите шаг расчета блоков равным -1
. Чтобы идентифицировать Constant блоки, которые имеют бесконечный шаг расчета в вашем проекте, в Simulink® окно модели, на вкладке Debug, в разделе Information Overlays > Sample Time, выберите Colors. Затем в Шаг расчета Legend отображаются блоки Constant, которые Inf
Шаг расчета.
Можно идентифицировать и изменить шаг расчета всех блоков Constant на -1
при использовании любого из этих подходов:
Запустите скрипт, который может программно изменить шаг расчета блоков на -1
. Для примера скрипта смотрите Идентифицируйте и программно измените и отобразите параметры блоков.
Запустите проверку Check на бесконечные и непрерывные источники шага расчета в HDL-код Advisor. Если выполнение проверки не удается, это отображает источники, такие как Constant блоки, которые имеют бесконечный шаг расчета. Выберите Modify Settings, чтобы обновить шаг расчета на -1
или унаследовать через обратное распространение.