Altera和xilinx的结构有所不同,但基本结构都差不多,由可编程逻辑块,可编程IO,布线资源,时钟,硬件存储和计算单元(BRAM,DSP) 等组成。
可编程逻辑块
查找表(LUT)(LE),触发器(FF)等组成,底层是昂贵的SRAM,担负核心功能。查真值表模拟计算操作。
官方文档:ug953,ug474。
可编程I/O
Bank:功能位置相近的IO放在一个bank
官方文档:ug471
组成部分:Ilogic,Idelay,Ologic,Ibuf;IOB,IO Buffer,布线资源,IO延迟
功能:pad是串行的数据信号,需要在IO模块串并转换,时序调整
电平标准,vcc,上下拉,高阻态,管脚约束,驱动能力,,一个 Bank 一种 VCCIO
布线资源
全局布线:芯片内部时钟和复位时间必须同步
长线:芯片bank间的高速信号和第二全局时钟信号
短线:基本逻辑单元之间的
分布式的布线资源,用于专有时钟、复位等控制信号线
嵌入式存储单元
BRAM,用于生成 RAM、ROM、FIFO 以及移位寄存器。常用于大数据存储或跨时钟域处理,BRAM 由一定数量固定大小的存储块构成的,使用 BRAM 资源不占用额外的逻辑资源,不过使用的时候消耗的 BRAM 资源只能是其块大小的整数倍,就算你只存了 1 bit 也要占用一个 完整的 BRAM。
嵌入式乘法单元
DSP块。复杂数学运算,常用功能函数。
锁相环
PLL。用于时钟的倍频、分频,以及相位、占空比的调整。PLL 输出的时钟信号会连接到全局时钟网络上,以保证时钟的质量,减小时钟偏斜(Skew)和抖动(Jitter)。