前言
做了三个月FPGA相关工作但是一直不是很了解FPGA的最基本的组成结构,马上也临近校招了,这也是很多公司面试的必考问题,那么FPGA的基础结构都有什么?应该怎么用?你写的代码最终会被综合成什么样的电路?要想成为“人肉综合器”,那么了解FPGA基础结构就是第一步,本文以Xilinx 7 series FPGA为例,对FPGA基本组成进行分析与讨论。
FPGA资源划分
- FPGA层级
- FPGA=>ASMLB(高级硅模块)=>SLR(Super Logic Region)=>各种逻辑资源(本文详解)
- ASMBL(高级硅模块)
高级硅模块如上图所示,我理解就是Xilinx创造出的一种FPGA架构,将资源按列划分,所以我们在Vivado Device视图的时候也可以看到一列一列的资源,有利于后续布局布线、IO口分布、增强片上功率等等。
然后现在的Xilinx FPGA基本会用2个Die拼接,也就是SLR(超级逻辑区),这两个Die拥有独立逻辑资源和布线资源,中间用SLL(Super Long Line)连接,所以vivado有自己的跨die寄存器,两个寄存器用SLL连接来优化timing问题。结构如下图所示: