exponenta event banner

Параметры общего доступа к ресурсам для различных блоков

Совместное использование ресурсов - это оптимизация области, в которой HDL Coder™ идентифицирует несколько функционально эквивалентных ресурсов и заменяет их одним ресурсом. Данные мультиплексируются во времени по совместно используемому ресурсу для выполнения тех же операций. Дополнительные сведения о совместном использовании ресурсов см. в разделе Общий доступ к ресурсам.

Чтобы узнать, как эффективно использовать оптимизацию совместного использования ресурсов с такими блоками, как Добавить (Add) и Изделие (Product), следуйте приведенным ниже инструкциям. Каждое руководство имеет уровень серьезности, который указывает уровень соответствия требованиям. Дополнительные сведения см. в разделе Рекомендации по моделированию HDL Уровни серьезности.

Совместное использование ресурсов блоков добавления

Идентификатор руководства

3.1.1

Серьезность

Рекомендуется

Описание

Для совместного использования нескольких блоков Add:

  • Выберите параметр «Добавить общий ресурс».

  • Оставьте минимальную битовую ширину общего доступа к сумматору равной 0.

  • Определите, следует ли совместно использовать ресурсы с существующей тактовой частотой или с более высокой тактовой частотой. Чтобы использовать более высокую тактовую частоту, укажите коэффициент избыточной дискретизации, превышающий 1.

  • Задайте параметр StreamingFactor для блоков Add с векторными входами или выходами.

  • Укажите SharingFactor для блоков Add со скалярными входами или выходами.

  • Убедитесь, что длина входного слова блоков Add совпадает.

    Например, на этом рисунке показана модель, содержащая три блока Add, помещенные в подсистему с SharingFactor из 3. Для совместного использования блоков Add необходимо вставить блоки преобразования типов данных с типом данных Output, равным int16 чтобы длины входного слова совпадали.

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

Идентификатор руководства

3.1.2

Серьезность

Рекомендуется

Описание

При совместном использовании нескольких блоков Gain в проекте оптимизация вставляет логику сериализации и десериализации для совместного использования ресурсов. Эта дополнительная логика может стать дополнительной областью, если вы не используете большое количество ресурсов. Поэтому, если конструкция не содержит большого количества блоков усиления для совместного использования, рекомендуется отключить оптимизацию совместного использования ресурсов. Для совместного использования нескольких блоков усиления:

Для совместного использования нескольких блоков усиления:

  • Определите, как реализовать блок усиления. Кодер HDL не использует блоки усиления в одном из следующих случаев:

    • Параметр ConstMultiplierOptimization имеет значение csd или fcsd.

    • Параметр усиления является мощностью два.

    В обоих этих случаях генератор кода использует операцию приведения, чтобы заменить операции умножения операциями сдвига и сложения или вычитания, что приводит к неудачному совместному использованию. Кроме того, если параметр Gain имеет значение 0 или 1, то совместное использование ресурсов не требует дополнительной логики.

  • Задайте параметр StreamingFactor для блоков усиления с векторными входами или выходами.

  • Укажите SharingFactor для блоков усиления со скалярными входами или выходами.

  • Определите, следует ли совместно использовать ресурсы с существующей тактовой частотой или с более высокой тактовой частотой. Чтобы использовать более высокую тактовую частоту, укажите коэффициент избыточной дискретизации, превышающий 1.

  • Используйте те же параметры атрибутов синтеза, если указать DSPStyle свойство block для блоков Gain. Кодер HDL не использует мультипликаторы с различными параметрами атрибутов синтеза.

Совместное использование ресурсов блоков продуктов

Идентификатор руководства

3.1.3

Серьезность

Рекомендуется

Описание

Для совместного использования нескольких блоков продукта:

  • Определить 18 в качестве порога разделения множителя при нацеливании на устройства Xilinx ® и25 в качестве порогового значения при нацеливании на устройства Intel ®. Этот параметр создает больше возможностей совместного использования ресурсов для множителей с широкой битовой шириной, что сокращает использование DSP в FPGA.

  • Укажите порог продвижения множителя, если требуется предоставить общий доступ к блокам продукта с разными длинами слов. Порог продвижения множителя - это максимальная длина слова, на которую кодер HDL поддерживает множитель для совместного использования с другими множителями.

  • Оставьте параметр «» Общие множители «» включенным, а значение параметра «» Общий коэффициент «» - минимальным битовым значением 0.

  • Укажите StreamingFactor для подсистем, которые содержат блоки Product с векторными входами или выходами.

  • Укажите SharingFactor для подсистем, которые содержат блоки Product со скалярными входами или выходами.

  • Используйте блок усиления вместо блока изделия, если один из входов блока изделия является константой. Используйте постоянное значение в качестве параметра усиления блока усиления. При использовании типов данных с плавающей запятой в Native Floating Point В этом режиме кодер HDL автоматически преобразует блок Product в блок Gain во время генерации кода. Дополнительные сведения см. в разделе Упрощение постоянных операций и снижение сложности проектирования в кодере HDL.

  • Определите, следует ли совместно использовать ресурсы с существующей тактовой частотой или с более высокой тактовой частотой. Чтобы использовать более высокую тактовую частоту, укажите коэффициент избыточной дискретизации, превышающий 1.

  • Используйте те же параметры атрибутов синтеза, если указать DSPStyle свойство block для блоков Product. Кодер HDL не использует мультипликаторы с различными параметрами атрибутов синтеза.

Совместное использование ресурсов блоков умножения-добавления

Идентификатор руководства

3.1.4

Серьезность

Рекомендуется

Описание

Для совместного использования нескольких блоков с функцией «Умножение»:

См. также

Параметры конфигурации Simulink

Связанные примеры

Подробнее