FPGA查找表LUT和编程方式的基础知识说明
第一部分:查找表LUTr r tFPGA是在PAL、GAL、EPLD、CPLD等可编程器件的基础上进一步发展的产物。它是作为ASIC领域中的一种半定制电路而出现的,即解决了定制电路的不足,又克服了原有可编程器件门电路有限的缺点。r r t r r t由于FPGA需要被反复烧写,它实现组合逻辑的基本结构不可能像ASIC那样通过固定的与非门来完成,而只能采用一种易于反复配置的结构。查找表可以很好地满足这一要求,目前主流FPGA都采用了基于SRAM工艺的查找表结构,也有一些军品和宇航级FPGA采用Flash或者熔丝与反熔丝工艺的查找表结构。通过烧写文件改变查找表内容的方法来实现对FPGA的重复配置。r r t r r t根据数字电路的基本知识可以知道,对于一个n输入的逻辑运算,不管是与或非运算还是异或运算等等,最多只可能存在2n种结果。所以如果事先将相应的结果存放于一个存贮单元,就相当于实现了与非门电路的功能。FPGA的原理也是如此,它通过烧写文件去配置查找表的内容,从而在相同的电路情况下实现了不同的逻辑功能。r r t r r t查找表(Look-Up-Table)简称为LUT,LUT本质上就是一个RAM。目前FPGA中多使用4输入的LUT,所以每一个LUT可以看成一个有4位地址线的的RAM。当用户通过原理图或HDL语言描述了一个逻辑电路以后,PLD/FPGA开发软件会自动计算逻辑电路的所有可能结果,并把真值表(即结果)事先写入RAM,这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。r r t r r t下面给出一个4与门电路的例子来说明LUT实现逻辑功能的原理。 **FPGA查找表LUT和编程方式基础知识** FPGA(Field-Programmable Gate Array)是一种高度可配置的集成电路,它的出现是为了解决ASIC(Application-Specific Integrated Circuit)定制电路的灵活性问题以及传统可编程逻辑器件(如PAL、GAL、EPLD、CPLD)的门电路限制。FPGA提供了半定制电路的优势,允许用户通过反复配置来实现不同的逻辑功能。 **查找表LUT**查找表(Look-Up-Table,简称LUT)是FPGA实现逻辑功能的核心。LUT本质上是一个随机访问存储器(RAM),通常在FPGA中采用4输入LUT,这意味着每个LUT有4条输入线和相应的地址线。4输入LUT可以覆盖所有可能的16种输入组合,因为对于4个二进制输入,存在2^4=16种不同的输入状态。当用户通过原理图或硬件描述语言(HDL,如VHDL或Verilog)定义逻辑功能时,开发工具会自动生成逻辑电路的真值表,并将这个表写入LUT的内存中。在运行时,FPGA通过输入信号的组合形成地址,然后从LUT中读取相应输出,从而实现逻辑运算。例如,4输入的与门可以通过LUT实现,其中LUT的内容就是4输入与门的真值表。 **FPGA的编程方式** FPGA的编程主要涉及到如何将用户的设计配置到FPGA的内部RAM中。常见的编程模式有: 1. **并行模式**:使用并行编程设备(如PROM或Flash)同时加载多个配置数据到FPGA的不同部分。 2. **主从模式**:一片编程设备(如PROM)可以配置多片FPGA,节省了外部编程设备的数量。 3. **串行模式**:配置数据逐位通过串行接口加载到FPGA,适合小型、低功耗的应用。 4. **外设模式**:FPGA作为微处理器的外设,由微处理器控制编程过程。主流FPGA厂商如Xilinx和Altera采用基于SRAM工艺的FPGA,它们需要外部存储器在每次上电时重新加载配置数据。这种类型的FPGA可以反复编程,方便开发和调试。相比之下,Actel和QuickLogic等公司的部分产品使用反熔丝工艺,配置一次后不可更改,适合对可靠性要求极高的军事和航空航天应用。 **配置模式的选择**选择配置模式取决于应用需求。并行和主从模式适合需要快速配置的场合,而串行模式则适合低功耗和空间有限的环境。外设模式则提供了一种灵活的方式,使得FPGA可以集成到更复杂的系统中,由微处理器统一管理。 FPGA的查找表LUT技术和多样化的编程方式使得FPGA能够适应各种复杂逻辑设计的需求,从高速通信到嵌入式系统,再到航空航天领域,都有着广泛的应用。FPGA的可重复编程性、灵活性和高性能使其成为了现代电子设计的重要工具。
下载地址
用户评论