简单说说FPGA如何使用LUT表实现组合逻辑
FPGA之旅 2024-09-26


LUT,全称Look Up Table,查找表。目前主流FPGA实现的是6输入查找表。这里我们以4输入查找表为例,解释一下FPGA如何使用LUT表实现组合逻辑。

如上图所示,4输入查找表,包含4个输入端口I[3:0],包含一个输出端口O,还包含存储初始值的16个DFF触发器。

可以看到四个输入信号,实际上是4级选择器。每个输入位会控制一列选择器的选择。如I[0]值为0,则选通,第一级选择器的上通路。如I[0]值为1,则选通,第一级选择器的下通路。

I是4bit的二进制,其构成的输入的值一共有16种情况。这里每个输入值,对应一个DFF。我们提前把值对应的输出值初始化在DFF内。这样就构建了一张16X1的表格。根据输入值,选择某个DFF输出到O端。进而实现了4输入的所有逻辑组合。

举例:I[3:0]=4'b0101,其对应的选择通路为:

我们可以直接使用Verilog语言描述LUT表。代码片段来自Vivado Design Suite 7 Series FPGA and Zynq 7000 SoC Libraries Guide (UG953)。四输入LUT表的verilog实例化模板

// LUT4: 4-input Look-Up Table with general output (Mapped to a LUT6)//       7 Series// Xilinx HDL Language Template, version 2023.1 LUT4 #( .INIT(16'h0000) // Specify LUT Contents) LUT4_inst ( .O(O), // LUT general output .I0(I0), // LUT input .I1(I1), // LUT input .I2(I2), // LUT input .I3(I3) // LUT input); // End of LUT4_inst instantiation

如果需要实现一个4输入的与逻辑;

O = I[3] & I[2] & I[1] & I[0];

实例化代码为:

// LUT4: 4-input Look-Up Table with general output (Mapped to a LUT6)//       7 Series// Xilinx HDL Language Template, version 2023.1 LUT4 #( .INIT(16'h8000) // Specify LUT Contents) LUT4_inst ( .O(O), // LUT general output .I0(I0), // LUT input .I1(I1), // LUT input .I2(I2), // LUT input .I3(I3) // LUT input); // End of LUT4_inst instantiation

是不是很简单,你学会了吗?

如有疑问,请联系作者。



声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
0
评论
  • 相关技术文库
  • FPGA
  • 可编程
  • PLC
  • verilog
  • 利用参考时钟,实现Cyclone10LP器件的串行通信数据恢复

    对于非源同步的低速串行数据通信场景,会存在通信对端的时钟频率相对有偏差的情况,导致数据接收端不能正确的采样;这时候利用Altera中高端器件的高速收发器或者LVDS serdes中的SOFT-CDR及DPA功能便能解决此问题;但...

    11-29
  • FPGA设计如何规避亚稳态?

    1、什么是亚稳态?\x26amp;nbsp; \x26amp;nbsp; \x26amp;nbsp; 在数字电路中,如果数据传输时不满足触发器FF

    11-22
  • 满足航空Do-254的验证方法学浅谈

    \x26amp;nbsp; \x26amp;nbsp; \x26amp;nbsp;改善验证效率和可靠性的一个方法是自动化,自动化工具很多,有些是功

    11-21
  • ASIC设计中的常见挑战与解决方案

    在集成电路界ASIC被认为是一种为专门目的而设计的集成电路。是指应特定用户要求和特定电子系统的需要而设计、制造的集成电路。ASIC的特点是面向特定用户的需求,ASIC在批量生产时与通用集成电路相比具有体积更小、...

    09-12
  • PLC存储器使用的常见误区与解决方案

    存储器的使用范围非常广泛,可以说每个电子设备中都有存储器的身影,PLC也不例外。为增进大家对存储器的认识,本文将对PLC内部常用存储器的使用规则予以介绍。如果你对存储器具有兴趣,不妨和小编一起来继续往下阅...

    09-12
  • 基于FPGA的数字信号处理(4)--如何确定Verilog表达式的位宽

    1、一般规则很多时候,Verilog中表达式的位宽都是被隐式确定的,即使你自己设计了位宽,它也是根据规则先确

    09-12
  • PLC常用物理存储器的介绍与应用

    存储器可以用来存储数据,我们每天都会使用到存储器,比如我们的手机中就有存储器。为增进大家对存储器的认识,本文将对存储器的选片和总线概念、PLC常用的几种物理存储器予以介绍。如果你对存储器具有兴趣,不妨...

    08-26
  • 硬件设计:FGPA如果带MIPI

    一、MIPI简介?\x0a二、硬件设计\x0a三.Interface Designer 设计\x0aTX\x0aRX\x0a四、代码定义\x0a总结

    08-02
  • Verilog基础语法与注意事项

    \x26amp;nbsp;基础知识1\x26amp;nbsp; 模块(Module)\x26amp;nbsp;\x26amp;nbsp;\x26amp;nbsp;\x26amp;nbsp;Ve

    07-30
  • 如何使用专用指令调整Nios II系列处理器硬件?

    前不久,Altera 正式推出了Nios II系列32位RSIC嵌入式处理器。Nios II系列软核处理器是Altera的第二代FPGA嵌入式处理器,其性能超过200DMIPS,在Altera FPGA中实现仅需35美分。Altera的Stratix 、Stratix GX、 Stra...

    07-18
  • FPGA芯片优化设计全面解析

    可编程逻辑器件是通过EDA技术将电子应用系统的既定功能和技术指标具体实现的硬件载体,FPGA作为实现这一途径的主流器件之一,具有直接面向用户,灵活性和通用性极大,使用方便,硬 件测试和实现快捷等特点。硬件描...

    07-18
下载排行榜
更多
评测报告
更多
广告