FPGA中的逻辑运算是如何实现的?

时间:2025-09-17  作者:Diven  阅读:0

**1. **可编程逻辑功能块

FPGA中的逻辑运算是如何实现的?

可编程逻辑功能块(Configurable LogIC Blocks, CLB),顾名思义就是可编程的数字逻辑电路,可以实现各种逻辑功能。

CLB是FPGA根据用户需求构建各种数字电路的核心模块,是FPGA实现组合逻辑和时序逻辑电路的主要逻辑资源。CLB也是FPGA芯片中利用率最高,占用面积最大的逻辑资源模块,作用犹如人体中最基本的细胞单元。

LUT也即我们常说的查找表,是CLB的主要功能模块,这点由CLB名字的全称(可配置逻辑功能块)就可以知道了。通过一个N输入的LUT可以实现任意N个变量的组合逻辑。为方便理解,我们以3输入LUT为例加以说明。Fig1. LUT3原理图

图中M0-M7为查找表的配置存储器(即存储单元),通过编程下载将数据写入这个8个存储单元;输出OUT则根据A、B、C的值选择M0-M7的值。CBA=000时选择M0的值,CBA=001时选择M1的值,以此类推,CBA=111时就选择M7,这样就构成了一个Look up table,也就可以通过写入M0-M7适当的值来实现ABC的任意逻辑。

例如想要实现函数OUT1=C⊕B⊕A或函数OUT2=A&B+C,真值表如下表1所示,所以只需要使M0-M7的值为01101001就可以实现函数OUT1的功能;只需要使M0-M7的值为00011111就可以实现函数OUT2的功能。6输入查找表原理一样。

表1 函数OUT1和OUT2的真值表**2. **工程验证

1 建立Vivado****工程

用Vivado软件编写verilog代码实现y = a & b + c,如下:生成的bitstream(文件路径:工程名路径/工程名/工程名.runs/impl_1/工程名.rbt),如下(部分):上述bitstream绝大部分会存储到FPGA的Memory Cell中,也就是图1中M7-M0的数据源。图1中的A、B、C和OUT来自FPGA的IO,由用户指定。其中A、B、C和OUT对应代码中的a、b、c和y。图2是Vivado自动布局布线出来的y = a & b + c,可以看出仅占用了FPGA的一个LUT6资源。Fig2. y = a & b + c 软件视图

2解析bitstream

下载到图2中LUT6的Memory值是否是我们想要的呢?这就需要我们对bit流进程解析。

我们直接给出此LUT6占用的Memory Cell值及位置,如下:其中frame表示一帧数据,共101个word,一个word表示32个Memory Cell,因此一个frame表示101 x 32 = 3232个Memory Cell。

由第1章知识,可知一个LUT6需要2^6=64个Memory Cell,即上图灰色部分(16 x 4 = 64)。

**2.3 **分析验证

为便于分析我们把2.2节中frame:104/105/106/107 word:0的低16位取出放到表格里构成16x4的一个矩阵,如下:转换成64x1矩阵(转换关系由内部电路决定,这里直接给出),如下:这里与表1呼应,至此我们工程化验证了y = a & b + c,你理解了吗?

**3. **思考与讨论

bitstream是如何烧写到FPGA芯片中的?如何利用CLB实现时序逻辑?FPGA内部时钟架构是什么样的?FPGA电源是如何划分的?

猜您喜欢

打码机应用于多个行业,主要用于产品的标识和追溯。在食品行业,打码机能够在包装上印刷生产日期、保质期和批次号,确保消费者获得新鲜安全的产品。在医药行业,打码机用于...
2023-12-29 00:00:00

压敏电阻(Varistor)是特殊的电阻器,应用于电子电路中,主要用于保护电路免受过电压的损害。的工作原理是利用材料的非线性电阻特性,在电压超过一定值时,电阻值...
2025-04-17 04:00:45

二极管是重要的半导体器件,应用于各类电子电路中。主要功能是允许电流在一个方向上流动,而在相反方向上阻止电流。二极管反接是指在电路中将二极管的正极和负极接反,从而...
2025-04-05 01:31:08

现代电子技术日新月异的发展中,各类电子元件的应用变得愈发广泛。其中,SOICN8_150MIL作为重要的集成电路封装形式,因其独特的优势而被广泛应用于电子设备中...
2025-02-21 12:44:35

压敏电阻(Varistor)是非线性电阻器,主要用于保护电路免受过电压冲击。其独特的电阻特性使得在电路保护中发挥着重要作用。本文将探讨压敏电阻在电路中的符号及其...
2025-04-14 12:00:07

ROHM(罗姆)作为一家知名的半导体和电子元件制造商,高品质和创新设计赢得了认可。可调电阻作为电子电路中重要的调节元件,ROHM提供了多样化的产品系列,满足不同...
2016-02-29 01:20:30

今天给大侠带来基于FPGA的 模拟 I²C 协议设计,由于篇幅较长,分三篇。今天带来第三篇,下篇,程序的仿真与测试。话不多说,上货。导读I²C(Inter-...
2022-08-09 15:34:00


概述电子元件市场中,贴片电容作为关键组件,其质量直接影响电子产品的性能。本文将为您介绍国内贴片电容厂家的排名,帮助您了解哪些企业在这一领域处于领先地位。贴片电容...
2025-03-23 00:31:06

触发二极管(也称为可控硅)是重要的半导体器件,应用于电力控制、调光器、交流电机控制等领域。随着技术的发展,市场上出现了各种品牌和型号的触发二极管,导致在维修和替...
2025-03-30 03:30:02