- Vivado从此开始(进阶篇)
- 高亚军编著
- 299字
- 2024-01-08 16:39:50
1.1.5 −resource_sharing
−resource_sharing在综合设置中的位置如图1.11所示。

图1.11
−resource_sharing的作用是对算术运算实现资源共享。它有三个值:auto、off和on,默认值为auto,可根据设计时序的需求确定是否共享资源。这里需要强调的是,它只对算术运算,即加法(减法也可认为是加法运算)和乘法运算有效。
一个典型案例的代码如图1.12所示。这是一个通过控制信号实现加/减法运算的电路:当op为1时,执行opa+opb;否则,执行opa−opc。

图1.12
当−resource_sharing为off和on时,对应的电路如图1.13所示。当−resource_sharing为on时,少用了一个加法器,也就是减少了LUT和进位链(Carry Chain)等资源。这可进一步在资源利用率中得以验证,如图1.14所示。

图1.13

图1.14
−resource_sharing也可用于乘法运算,代码如图1.15所示。

图1.15
结论:
在默认情况下,将−resource_sharing设置为auto即可。