На этой странице описываются параметры конфигурации, находящиеся на вкладке Создание кода 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
Нет минимальной битовой ширины для общих сумматоров.
Если общий доступ к ресурсам и общий доступ к сумматорам разрешены, используйте общие сумматоры с битовой шириной больше или равной 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
Минимальная битовая ширина для совместно используемых множителей отсутствует.
При включении совместного использования ресурсов и множителя совместно использовать множители с битовой шириной больше или равной 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
Разница в длине слова между множителями отсутствует. Другими словами, кодер HDL совместно использует множители, имеющие одинаковую длину слов.
Максимальная длина слова, на которую кодер 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-Add с оптимизацией совместного использования ресурсов.
По умолчанию: 0
Минимальная битовая ширина для общих блоков Multiply-Add отсутствует.
Если включено совместное использование ресурсов и совместное использование блоков 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')