一. -no_lc的设置位置
-no_lc的设置位置在Settings -> Synthesis的Options界面下,见下图。
-no_lc表示NO LUT Combining,即无LUT整合,默认不勾选,即默认有LUT整合。LUT整合可以减少对LUT的使用量,但也可能导致布线拥塞( yōnɡ sè)。
二. 测试代码(8-3编码器)
module top (
output none_on,
output out2,
output out1,
output out0,
input h,
input g,
input f,
input e,
input d,
input c,
input b,
input a
);
wire [3:0] outvec;
assign outvec = h? 4'b0111:g? 4'b0110:f? 4'b0101:e? 4'b0100:d? 4'b0011:c? 4'b0010:b? 4'b0001:a? 4'b0000:4'b1000;
assign none_on = outvec[3];
assign out2 = outvec[2];
assign out1 = outvec[1];
assign out0 = outvec[0];
endmodule
三. 不勾选no-lc时有LUT整合
3.1 原理图(xc7z045环境)
3.2 资源利用率(xc7z045环境)
在Reports->Report Utilization中可通过using O5 and O6查看整合的LUT6的使用个数。
3.3 Device视图(xc7z045环境)
原理图中2个红色MARK的LUT4整合为下图的LUT5。
四. 勾选no-lc时无LUT整合
4.1 原理图(xc7z045环境)
4.2 资源利用率(xc7z045环境)
4.3 Device视图(xc7z045环境)
五. 疑惑
为何勾选或者不勾选no-lc,效果相同...
标签:LUT,lc,xc7z045,no,outvec,Vivado,input From: https://blog.51cto.com/u_15927439/5986881