用于组合逻辑的 FPGA LUT
FPGA LUTs for combinational logic
我无法找到简单模块中 FPGA 级 LUT accessed/implemented 的直接答案(我将在下面提供示例)。参考关于这个 post、https://electronics.stackexchange.com/questions/163961/creating-a-verilog-code-for-4-bit-multiplier-using-lookup-table 的最佳答案,我试图了解的 LUT 类型是列出的第一个(FPGA 级)。
例如,假设我有以下模块:
module RightRotation
{
input logic clk
input logic [2:0] din
output logic [2:0] dout
};
always@(clk) begin
dout[0] <= din[2];
dout[1] <= din[0];
dout[2] <= din[1];
end
endmodule
如果我使用具有 3 个输入和 1 个输出的 FPGA 级 LUT 来实现此模块,需要进行多少次查找(例如,每次使用非阻塞语句分配一个值时是否查找一个值在总是@)?如果我有 4、5 或 6 个输入,这个答案会有什么变化?
修复语法错误后,Vivado 生成这些结果以供使用和实现。
N 个输入将在您的设计中使用 N 个触发器。
供应商数据表可以帮助理解查找表、CLB、切片等
此处示例:
https://www.xilinx.com/support/documentation/user_guides/ug474_7Series_CLB.pdf
我无法找到简单模块中 FPGA 级 LUT accessed/implemented 的直接答案(我将在下面提供示例)。参考关于这个 post、https://electronics.stackexchange.com/questions/163961/creating-a-verilog-code-for-4-bit-multiplier-using-lookup-table 的最佳答案,我试图了解的 LUT 类型是列出的第一个(FPGA 级)。
例如,假设我有以下模块:
module RightRotation
{
input logic clk
input logic [2:0] din
output logic [2:0] dout
};
always@(clk) begin
dout[0] <= din[2];
dout[1] <= din[0];
dout[2] <= din[1];
end
endmodule
如果我使用具有 3 个输入和 1 个输出的 FPGA 级 LUT 来实现此模块,需要进行多少次查找(例如,每次使用非阻塞语句分配一个值时是否查找一个值在总是@)?如果我有 4、5 或 6 个输入,这个答案会有什么变化?
修复语法错误后,Vivado 生成这些结果以供使用和实现。
N 个输入将在您的设计中使用 N 个触发器。
供应商数据表可以帮助理解查找表、CLB、切片等
此处示例:
https://www.xilinx.com/support/documentation/user_guides/ug474_7Series_CLB.pdf