-resource_sharing用于对算数运算(加法、减法和乘法)实现资源共享,以节约LUT资源,有3个值:auto、off和on,默认是auto。
默认情况下,将resource_sharing设置为auto即可。
本文验证-resource_sharing设置为on和off时对加减法、乘法运算的LUT资源占用的影响。
DW=1、2、4、6时,resource_sharing无论是设置为on或者off,Schematic相同,资源占用率也相同,看不到对比,以下为DW设置为8时的代码。
module top #(
parameter DW = 8
)(
input [DW-1:0] opa,
input [DW-1:0] opb,
input [DW-1:0] opc,
input op,
output [DW:0] res
);
assign res = (op == 1'b1)? opa+opb:opa-opc;
endmodule
module top #(
parameter DW = 8
)(
input [DW-1:0] opa,
input [DW-1:0] opb,
input [DW-1:0] opc,
input op,
output [DW:0] res
);
assign res = (op == 1'b1)? opa*opb:opa*opc;
endmodule
Schematic看不到细节,重点关注资源利用率即可。