目录
目前主流的FPGA仍是基于查找表技术的。FPGA芯片主要包括7部分,分别为可编程输入/输出单元、基本可编程逻辑单元、完整的时钟管理、嵌入式RAM、丰富的布线资源、底层内嵌功能单元和内嵌专用硬核。
1 可编程输出/输出单元(IOB)
- 什么是可编程输入输出单元?
可编程输出/输出单元简称I/O单元,是芯片与外界电路的接口部分,完成不同电气特性下对输入/输出信号的驱动与匹配要求。为了便于管理和适应多种电器标准,FPGA的IOB被划分成了若干个组(Bank),每组都能够独立的支持不同的I/O标准。通过软件的灵活配值,可适配不同的电气标准与I/O物理特性,可以调整驱动电流大小,可以改变上、下拉电阻大小。每个组的接口标准由其接口电压Vcco决定,一个组只有一种Vcco(Vcco是FPGA芯片中的一个电源引脚,它代表的是输出的高电压电源),只有相同电气标准的接口才能连接在一起,Vcco电压相同是接口标准的基本条件。
- 输入输出IO标准有哪些?
I/O std详见链接:【FPGA】I/O接口标准
2 可配置逻辑块(CLB)
- 什么是可配置逻辑块?
可配置逻辑块(Configurable Logic Block,CLB)是FPGA内的基本逻辑单元,每个CLB都包含一个可配置开关矩阵。在Xilinx公司的FPGA器件中,Slice是Xilinx公司定义的基本逻辑单元,CLB由多个相同的Slice和附加逻辑构成。每个CLB模块不仅用于实现组合逻辑、时序逻辑,还可以配置为分布式RAM和分布式ROM。例如,s7系列的每个CLB包含两个Slice,每个Slice由4个(A、B、C、D)6输入LUT和8个寄存器REG组成,功能上包括查找表、寄存器、进位链和多个多数选择器。
3 数字时钟管理模块(DCM)
- 为什么需要管理时钟?
时钟源一般来自外部,通过专用的时钟输入引脚进入FPGA,通过FPGA内部的时钟树传递到整个器件并连接到需要的寄存器。在FPGA中,采用时钟树结构保证所有触发器收到的时钟信号尽可能相同。如果用一个长的数据路径一个接一个地驱动触发器,那么最接近时钟引脚的触发器接收的信号看上去将比位于时钟路径最末端所接收到的时钟沿早到