打怪升级之FPGA组成原理(LE部分)

FPGA芯片的核心是可编程逻辑单元,包括查找表、可编程逻辑块(LAB)、输入输出单元、时钟管理模块和嵌入式资源如BRAM、DSP、I/O等。查找表通过SRAM实现各种逻辑门电路,LE、LAB和各种模块组合构成芯片的资源分布。CycloneIV为例,详细介绍了其M9K内存、乘法器、I/O特性、时钟管理和配置选项。
摘要由CSDN通过智能技术生成

FPGA芯片逻辑单元的原理

不论你使用哪一款FPGA芯片,其核心可编程逻辑单元都是从一段内存种按顺序读取执行并执行的过程。具体来说,FOGA芯片内部包括可编程逻辑块(LAB)、可配置输入输出单元(IOE)、时钟管理模块、嵌入式RAM(BRAN,在Cyclone IV中是M9K)、丰富的布线资源、内嵌和底层功能单元和嵌入式专用硬核等。

FPGA通过查找表来等效实现所有可能的门电路。一个查找表可以实现与门、或门、非门、加减法等各种组合逻辑。查找表可以直接由Quartus综合出来,可以实现Verilog里的各种语法。比如下面这段代码:

module top(
    input   A,
    input   B,
    input   C,
    input   D,
    output  dout
    );
    assign dout = A | B | C | D;
 endmodule

就可以实现一个与门结构。我们可以综合出这样的电路,在Quartus中看它对应的RTL视图与Chip planner中的对应:

在这里插入图片描述
打开Chip planner找到上述资源位置:

在这里插入图片描述双击进入资源分配界面:

在这里插入图片描述

这样的查找表就是最基本的结构了。一个查找表LUT的内部会有一个SRAM存储器。针对地址的不同,SRAM的值也会不同,这样就等效的实现了门电路结构。

对FPGA而言,由基本的查找表组成LE,由LE组成LAB,由LAB、MK9(内存)、DSP、I/O共同构成了整个芯片的资源分布:

在这里插入图片描述

上图就是Cyclone IV E芯片的资源分布,其中蓝色代表LAB资源,浅绿代表M9K内存资源,白色代表DSP资源,浅棕色代表I/O资源。

对XILIMX、ALTERA等厂家的FPGA进行编程,实际上就是把需要进行运算的结果计算出来并存储在SRAM中,输入发生相应变化时,将SRAM中的值输出。

对于一个可编程逻辑块(LAB)而言,包含了以下要素:

1.一个逻辑块包含了16个逻辑单元(LE);
2.一个LAB控制信号;
3.一个LE进位链;
4.一个寄存器链;
5.本地互联;

在这里插入图片描述
本地互联在同一个LAB和LE之间传输信号,寄存器链连接把一个LE寄存器的输出传输到LAB中相邻的LE寄存器上。

Cyclone IV 基本组成

Cyclone IV器件的M9K存储器模块都具有9Kbit的嵌入式SRAM存储器。可以把M9K模块配置成单端口、简单双端口RAM以及FIFO缓冲器或者ROM。

Cyclone IV器件的嵌入式乘法器可以在单一模块中实现一个18 X 18 或9 X 9 乘法器。Altera针对乘法器模块提供了一套DSP IP核。包括有限脉冲响应(FIR),快速傅里叶变换(FFT)和数字控制震荡器(NCO)功能。

Cyclone IV器件的I/O支持可编程总线保持、可编程上拉电阻、可编程延迟、可编程驱动能力以及可编程slew-rate控制,从而实现了信号完整性以及热插拔的优化。

Cyclone IV 器件支持符合单端 I/O 标准的校准后片上串行匹配 (Rs OCT) 或者驱动阻抗匹配 (Rs)。 在 Cyclone IV GX 器件中,高速收发器 I/O 位于器件的左侧。器件的顶部,底部及右侧可以实现通用用户 I/O。

Cyclone IV 器件包含了高达 30 个全局时钟 (GCLK) 网络以及高达 8 个 PLL (每个 PLL上均有五个输出端 ),以提供可靠的时钟管理与综合。您可以在用户模式中对Cyclone IV 器件 PLL 进行动态重配置来改变时钟频率或者相位。

Cyclone IV 器件支持位于器件顶部,底部和右侧的 SDR、 DDR, DDR2 SDRAM 和 QDRII SRAM 接口。Cyclone IV E 器件也支持这些接口位于器件左侧。接口可能位于器件的两个或多个侧面,以实现更灵活的电路板设计。Altera® DDR SDRAM 存储器接口解决方案由一个 PHY 接口和一个存储控制器组成。Altera 提供了 PHY IP,您可以将它与您自己定制的存储控制器或 Altera 提供的存储控制器一起使用。Cyclone IV 器件支持在 DDR和 DDR2 SDRAM 接口上使用纠错编码(ECC) 位。

Cyclone IV 器件使用 SRAM 单元存储配置数据。每次器件上电后,配置数据会被下载到Cyclone IV 器件中。低成本配置选项包括 Altera EPCS 系列串行闪存器件以及商用并行闪存配置选项。这些选项实现了通用应用程序的灵活性,并提供了满足特定配置以及应用程序唤醒时间要求的能力。

逻辑单元(LE)基本组成

一个LE单元由以下内容组成:

1.一个四输入查找表(LUT),以实现四种变量的任意功能;
2.一个可编程寄存器;
3.一个进位链连接;
4.一个寄存器连接;

在这里插入图片描述

实际上不止有这一种LE结构,但我们可以以此为典型进行分析:

一个LE单元包括LUT、控制信号逻辑、同步加载清零逻辑、可编程寄存器等。其中最核心的时LUT和可编程寄存器。可编程寄存器可以配置成D、JK、T或者SR触发器。

如果没有时序逻辑功能,则LE适用于一般的逻辑应用和组合功能;如果有计算需求,会利用到外置的DSP模块做计算。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

考琪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值