exponenta event banner

Параметры совместного использования ресурсов для сумматоров и множителей

На этой странице описываются параметры конфигурации, находящиеся на вкладке Создание кода HDL (HDL Code Generation) > Оптимизация (Optimization) > Совместное использование ресурсов (Resource sharing) диалогового окна Параметры конфигурации (Configuration Parameters). Включите эти параметры для экономии ресурсов на целевом устройстве, указав, следует ли совместно использовать сумматоры и множители в конструкции, а также минимальную битовую ширину общего доступа.

Добавить общий ресурс

Включите этот параметр для совместного использования сумматоров с оптимизацией общего доступа к ресурсам. Совместное использование ресурсов определяет в конструкции блоки «Добавить» или «Сумма», которые имеют два входа, и заменяет их одним блоком «Добавить» или «Сумма». Эта оптимизация позволяет сохранить область на целевом устройстве FPGA.

Настройки

По умолчанию: Откл.

На

Если совместное использование ресурсов включено, эта оптимизация совместно использует сумматоры с битовой шириной, большей или равной минимальной битовой ширине совместного использования сумматора.

Прочь

Не делитесь сумматорами.

Зависимость

  • Для совместного использования сумматоров в проекте в свойствах блока HDL для подсистемы DUT укажите SharingFactor.

  • При задании суммирования с общей минимальной битовой шириной генератор кода совместно использует сумматоры, ширина которых больше или равна минимальной битовой ширине. Минимальная битовая ширина по умолчанию для общих сумматоров равна нулю.

Информация командной строки

Свойство: ShareAdders
Текст: символьный вектор
Значение: 'on' | 'off'
По умолчанию: 'off'

Чтобы задать это свойство, используйте hdlset_param или makehdl. Для просмотра значения свойства используйте hdlget_param.

Например, можно использовать ShareAdders при создании кода HDL для symmetric_fir подсистема внутри sfir_fixed с использованием любого из этих методов.

  • Передать свойство в качестве аргумента makehdl функция.

    makehdl('sfir_fixed/symmetric_fir', ... 
            'ShareAdders','on')
  • При использовании hdlset_param, можно задать параметр в модели, а затем создать код HDL с помощью makehdl.

    hdlset_param('sfir_fixed','ShareAdders','on')
    makehdl('sfir_fixed/symmetric_fir')

См. также

Минимальная битовая ширина общего доступа к сумматору

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

Настройки

По умолчанию: 0

0, 1

Нет минимальной битовой ширины для общих сумматоров.

N, где N - целое число, большее 1

Если общий доступ к ресурсам и общий доступ к сумматорам разрешены, используйте общие сумматоры с битовой шириной больше или равной N.

Зависимость

Чтобы поделиться сумматорами в вашем дизайне, выполните следующие действия.

  • На вкладке «Общий доступ к ресурсам» включите параметр «Добавить».

  • В поле Свойства блока HDL для подсистемы DUT укажите коэффициент соединения.

Информация командной строки

Свойство: AdderSharingMinimumBitwidth
Тип: целое число
Значение: целое число, большее или равное 0
По умолчанию: 0

Чтобы задать это свойство, используйте hdlset_param или makehdl. Для просмотра значения свойства используйте hdlget_param.

Например, можно использовать AdderSharingMinimumBitwidth при создании кода HDL для symmetric_fir подсистема внутри sfir_fixed с использованием любого из этих методов.

  • Передать свойство в качестве аргумента makehdl функция.

    makehdl('sfir_fixed/symmetric_fir', ... 
            'AdderSharingMinimumBitwidth',16)
  • При использовании hdlset_param, можно задать параметр в модели, а затем создать код HDL с помощью makehdl.

    hdlset_param('sfir_fixed','AdderSharingMinimumBitwidth',16)
    makehdl('sfir_fixed/symmetric_fir')

См. также

Мультипликаторы совместного использования

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

Настройки

По умолчанию: Вкл.

На

Если совместное использование ресурсов включено, используйте совместно множители с битовой шириной, большей или равной минимальной битовой ширине совместного использования множителя. Для успешного совместного использования множителей входные типы данных с фиксированной точкой должны иметь одинаковую длину слова. Длины дробей и знаки типов данных с фиксированной точкой могут различаться.

Прочь

Не разделяйте множители.

Зависимость

  • Для совместного использования множителей в проекте в свойствах блока HDL для подсистемы DUT укажите SharingFactor.

  • При задании множителя, разделяющего минимальную битовую ширину, генератор кода использует множители, ширина которых больше или равна минимальной битовой ширине. Минимальная ширина битов по умолчанию для совместного использования множителей равна нулю.

Информация командной строки

Свойство: ShareMultipliers
Текст: символьный вектор
Значение: 'on' | 'off'
По умолчанию: 'on'

Чтобы задать это свойство, используйте hdlset_param или makehdl. Для просмотра значения свойства используйте hdlget_param.

Например, можно использовать ShareMultipliers при создании кода HDL для symmetric_fir подсистема внутри sfir_fixed с использованием любого из этих методов.

  • Передать свойство в качестве аргумента makehdl функция.

    makehdl('sfir_fixed/symmetric_fir', ... 
            'ShareMultipliers','on')
  • При использовании hdlset_param, можно задать параметр в модели, а затем создать код HDL с помощью makehdl.

    hdlset_param('sfir_fixed','ShareMultipliers','on')
    makehdl('sfir_fixed/symmetric_fir')

См. также

Мультипликатор, разделяющий минимальную битовую ширину

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

Настройки

По умолчанию: 0

0, 1

Минимальная битовая ширина для совместно используемых множителей отсутствует.

N, где N - целое число, большее 1

При включении совместного использования ресурсов и множителя совместно использовать множители с битовой шириной больше или равной N.

Зависимость

Для совместного использования множителей в конструкции:

  • На вкладке Совместное использование ресурсов убедитесь, что установлен флажок Множители.

  • В поле Свойства блока HDL для подсистемы DUT укажите коэффициент соединения.

Информация командной строки

Свойство: MultiplierSharingMinimumBitwidth
Тип: целое число
Значение: целое число, большее или равное 0
По умолчанию: 0

Чтобы задать это свойство, используйте hdlset_param или makehdl. Для просмотра значения свойства используйте hdlget_param.

Например, можно использовать MultiplierSharingMinimumBitwidth при создании кода HDL для symmetric_fir подсистема внутри sfir_fixed с использованием любого из этих методов.

  • Передать свойство в качестве аргумента makehdl функция.

    makehdl('sfir_fixed/symmetric_fir', ... 
            'MultiplierSharingMinimumBitwidth',16)
  • При использовании hdlset_param, можно задать параметр в модели, а затем создать код HDL с помощью makehdl.

    hdlset_param('sfir_fixed','MultiplierSharingMinimumBitwidth',16)
    makehdl('sfir_fixed/symmetric_fir')

См. также

Порог продвижения множителя

Чтобы совместно использовать более мелкие множители с другими более крупными множителями с помощью оптимизации совместного использования ресурсов, укажите порог продвижения множителя. Это пороговое значение определяет максимальную длину слова, на которую HDL Coder™ способствует использованию множителя для совместного использования с другими множителями.

Настройки

По умолчанию: 0

0

Разница в длине слова между множителями отсутствует. Другими словами, кодер HDL совместно использует множители, имеющие одинаковую длину слов.

N, где N - целое число, большее 0

Максимальная длина слова, на которую кодер HDL поддерживает множитель для совместного использования с другими множителями. HDL Coder продвигает и разделяет множители с различными длинами слов, если разница в длинах слов меньше или равна N.

Зависимость

Для совместного использования множителей в конструкции:

  • На вкладке Совместное использование ресурсов убедитесь, что установлен флажок Множители.

  • В поле Свойства блока HDL для подсистемы DUT укажите коэффициент соединения.

Информация командной строки

Свойство: MultiplierPromotionThreshold
Тип: целое число
Значение: целое число, большее или равное 0
По умолчанию: 0

Чтобы задать это свойство, используйте hdlset_param или makehdl. Для просмотра значения свойства используйте hdlget_param.

Например, можно использовать MultiplierPromotionThreshold при создании кода HDL для symmetric_fir подсистема внутри sfir_fixed с использованием любого из этих методов.

  • Передать свойство в качестве аргумента makehdl функция.

    makehdl('sfir_fixed/symmetric_fir', ... 
            'MultiplierPromotionThreshold',8)
  • При использовании hdlset_param, можно задать параметр в модели, а затем создать код HDL с помощью makehdl.

    hdlset_param('sfir_fixed','MultiplierPromotionThreshold',8)
    makehdl('sfir_fixed/symmetric_fir')

См. также

Акция Умножается - Добавляют блоки

Общий доступ к умножению (Share Multiply) - добавление блоков с оптимизацией совместного использования ресурсов.

Настройки

По умолчанию: Вкл.

На

Если совместное использование ресурсов включено, совместно используйте блоки Multiply-Add с битовой шириной, большей или равной минимальной битовой ширине блока Multiply-Add.

Прочь

Не разделяйте блоки Multiply-Add.

Зависимость

  • Для совместного использования блоков Multiply-Add в проекте в свойствах блоков HDL для подсистемы DUT укажите SharingFactor.

  • При задании блока «Умножение-Добавление», использующего минимальную битовую ширину, генератор кода использует блоки «Умножение-Добавление», ширина которых больше или равна минимальной битовой ширине. Минимальная битовая ширина по умолчанию для совместного использования блоков Multiply-Add равна нулю.

Информация командной строки

Свойство: ShareMultiplyAdds
Текст: символьный вектор
Значение: 'on' | 'off'
По умолчанию: 'on'

Чтобы задать это свойство, используйте hdlset_param или makehdl. Для просмотра значения свойства используйте hdlget_param.

Например, можно использовать ShareMultiplyAdds при создании кода HDL для symmetric_fir подсистема внутри sfir_fixed с использованием любого из этих методов.

  • Передать свойство в качестве аргумента makehdl функция.

    makehdl('sfir_fixed/symmetric_fir', ... 
            'ShareMultiplyAdds','on')
  • При использовании hdlset_param, можно задать параметр в модели, а затем создать код HDL с помощью makehdl.

    hdlset_param('sfir_fixed','ShareMultiplyAdds','on')
    makehdl('sfir_fixed/symmetric_fir')

См. также

Умножение (Multiply) - добавление блока с общей минимальной битовой шириной

Используйте этот параметр, чтобы указать минимальную битовую ширину, необходимую для совместного использования функции Multiply-Add с оптимизацией совместного использования ресурсов.

Настройки

По умолчанию: 0

0, 1

Минимальная битовая ширина для общих блоков Multiply-Add отсутствует.

N, где N - целое число, большее 1

Если включено совместное использование ресурсов и совместное использование блоков Multiply-Add, совместно используйте блоки Multiply-Add с битовой шириной больше или равной N.

Зависимость

Совместное использование блоков Multiply - добавление блоков в конструкцию:

  • На вкладке Совместное использование ресурсов убедитесь, что установлен флажок Блоки умножения-добавления.

  • В поле Свойства блока HDL для подсистемы DUT укажите коэффициент соединения.

Информация командной строки

Свойство: MultiplierAddSharingMinimumBitwidth
Тип: целое число
Значение: целое число, большее или равное 0
По умолчанию: 0

Чтобы задать это свойство, используйте hdlset_param или makehdl. Для просмотра значения свойства используйте hdlget_param.

Например, можно использовать MultiplierAddSharingMinimumBitwidth при создании кода HDL для symmetric_fir подсистема внутри sfir_fixed с использованием любого из этих методов.

  • Передать свойство в качестве аргумента makehdl функция.

    makehdl('sfir_fixed/symmetric_fir', ... 
            'MultiplierAddSharingMinimumBitwidth',16)
  • При использовании hdlset_param, можно задать параметр в модели, а затем создать код HDL с помощью makehdl.

    hdlset_param('sfir_fixed',MultiplierAddSharingMinimumBitwidth',16)
    makehdl('sfir_fixed/symmetric_fir')

См. также