FPGA各种资源用途分析

FPGA 器件是专用集成电路中的一种半定制的可编程的逻辑列阵电路,它相比于原有的器件具有更多的门电路,即门电路资源更加丰富。FPGA器件的基本电路结构为:可编程输入输出单元、可配置逻辑模块、数字时钟管理模块、嵌入式块RAM,丰富的布线资源、内嵌专用硬核及底层内嵌功能单元等。正是由于FPGA器件具有丰富的布线资源,所以它的可重复编程和集成度高,且在数字电路设计领域应用广泛。

FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这种概念,它内部包括可配置逻辑模块CLB(Configurable Logic Block)、输入输出模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。与传统的逻辑电路和门阵列(如PAL,GAL及CPLD器件)相比,FPGA是现场可编程器件,其结构与传统的逻辑电路和门阵列不同。FPGA的组合逻辑电路实现方法是利用小型查找表(16×1RAM),即将每个查找表都连接到一个D触发器的输入端口上,再用D触发器来驱动I/O口或者驱动其他的逻辑电路,由此构成既可实现组合逻辑又可实现时序逻辑的基本逻辑功能单元模块,这些模块与模块之间是利用金属连接线相互连接起来的,或者连接到对外的I/O模块的I/O上。通过向FPGA内部的静态存储单元加载用户的编程数据来实现FPGA的逻辑操作,存储在FPGA内部的存储单元中的值决定了FPGA的逻辑单元的功能以及各个模块之间或模块与I/O口之间的连接方式,并决定最终的FPGA所能实现的代码功能。

以vivado为例,每次运行完代码都会报告资源使用情况。

代码中使用了哪些资源在这里都会报告出来。

1、LUT 本质上是一个SRAM,里面存储的数据类似于真值表,它将上例中的逻辑与门和或门分别使用两张类似于真值表的东西代替,LUT中保存着输入变量和经过逻辑门后输出变量的所有结果。在实现上,它将输入数据作为SRAM的地址,然后通过该地址找到对应的值,将该值作为结果输出。

2、触发器,简称FF,是具有记忆一位二进制代码的记忆单元,因此它的输出具有两个稳定状态:状态0和状态1。如RS触发器、D触发器、JK触发器、T触发器等。

3、RAM随机访问数据存储器,RAM的内部是一个一个小内存单元(可以看成是一个小格子)组成。

每个内存单元都对应一个地址编号。读写数据时,就访问对应的内存单元地址,很快地把数据写入或者读取出来。BRAM是Block RAM,也就是FPGA中专用RAM资源,固定分布在FPGA内部的特定位置。而分布式RAM(Distributed RAM或DRAM)是由FPGA的LUT逻辑资源组合而成。

4、BUFG:就是输入缓冲或者输出缓冲,片外输入时钟或者片外差分输入的信号处理,FPGA对时钟的专门资源,保证时钟的精准,有效解决颤抖、延迟等问题,另外差分信号进入片内之后不经过IBUFGDS、IBUFDS缓冲无法直接处理。

5、MMCM(多模式时钟管理器)是Xilinx FPGA中特有的模块,用于时钟管理和生成。MMCM提供了更灵活的时钟频率配置和精确控制。它可以用于生成多个不同频率的时钟信号,同时还能够实现相位偏移和时钟多路复用等功能。
 



 

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

cckkppll

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

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

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

打赏作者

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

抵扣说明:

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

余额充值