FPGA入门学习(充分利用FPGA资源)—n输入LUT:
- 大多数的FPGA是基于4或5输入的LUT结构,在使用FPGA进行设计的时候,应考虑到LUT的特性以最大限度的利用FPGA的资源。以简单的多输入逻辑&为例
3输入逻辑:
`timescale 1ns / 1ps
module reg_test(
input clk,
input a,
input b,
input c,
output reg out
);
always@(*)begin
out <= a & b & c;
end
endmodule
综合后原理图:
可以看到只用到了1个LUT,同时从综合的报告中也可以看到:
但是当我们将输入改为9个后:
9输入逻辑:
`timescale 1ns / 1ps
module reg_test(
input clk,
input a,
input b,
input c,
input d,
input e,
input f,
input g,
input h,
output reg out
);
always@(*)begin
out <= a & b & c & d & e & f & g & h;
end
endmodule
综合后原理图:
这里可以看到,当输入数量由3个变成9个后,使用的LUT数量由1个变成了2个,并且可以判断的是,每个LUT最多支持的是5输入,因此,在使用FPGA进行设计的时候,应考虑到LUT的特性以最大限度的利用FPGA的资源。下面是9输入逻辑的综合报告,也可以看到使用的LUT数量为2个: