一、FPGA的根本结构
FPGA由6部分组成,分别为可编程输入/输出单元、根本可编程逻辑单元、嵌入式块RAM、丰厚的布线资源、底层嵌入功用单元和内嵌专用硬核等。
每个单元简介如下:
1.可编程输入/输出单元(I/O单元)
现在大多数FPGA的I/O单元被规划为可编程形式,即经过软件的灵敏装备,可习惯不同的电器规范与I/O物理特性;能够调整匹配阻抗特性,上下拉电阻;能够调整输出驱动电流的巨细等。
2.根本可编程逻辑单元
FPGA的根本可编程逻辑单元是由查找表(LUT)和寄存器(Register)组成的,查找表完结纯组合逻辑功用。FPGA内部寄存器可装备为带同步/异步复位和置位、时钟使能的触发器,也能够装备成为锁存器。FPGA一般依靠寄存器完结同步时序逻辑规划。一般来说,比较经典的根本可编程单元的装备是一个寄存器加一个查找表,但不同厂商的寄存器和查找表的内部结构有必定的差异,并且寄存器和查找表的组合形式也不同。
学习底层装备单元的LUT和Register比率的一个重要意义在于器材选型和规划预算。因为FPGA内部除了根本可编程逻辑单元外,还有嵌入式的RAM、PLL或者是DLL,专用的Hard IP Core等,这些模块也能等效出必定规划的体系门,所以简略科学的办法是用器材的Register或LUT的数量衡量。
3.嵌入式块RAM
现在大多数FPGA都有内嵌的块RAM。嵌入式块RAM能够装备为单端口RAM、双端口RAM、伪双端口RAM、CAM、FIFO等存储结构。
CAM,即为内容地址存储器。写入CAM的数据会和其内部存储的每一个数据进行比较,并回来与端口数据相同的一切内部数据的地址。简略的说,RAM是一种写地址,读数据的存储单元;CAM与RAM恰恰相反。
除了块RAM,Xilinx和Lattice的FPGA还能够灵敏地将LUT装备成RAM、ROM、FIFO等存储结构。
4.丰厚的布线资源
布线资源连通FPGA内部一切单元,连线的长度和工艺决议着信号在连线上的驱动才能和传输速度。布线资源的区分:
1)大局性的专用布线资源:以完结器材内部的大局时钟和大局复位/置位的布线;
2)长线资源:用以完结器材Bank间的一些高速信号和一些第二大局时钟信号的布线(这儿不明白什么是“第二大局时钟信号”);
3)短线资源:用来完结根本逻辑单元间的逻辑互连与布线;
4)其他:在逻辑单元内部还有着各种布线资源和专用时钟、复位等操控信号线。
因为在规划过程中,往往由布局布线器主动依据输入的逻辑网表的拓扑结构和约束条件挑选可用的布线资源连通所用的底层单元模块,所以常常疏忽布线资源。其实布线资源的优化与运用和完成成果有直接关系。
5.底层嵌入功用单元(书上举了许多比如,不过这些东东要看详细哪个厂商的哪种类型的芯片上嵌有什么资源决议)
6.内嵌专用硬核
与“底层嵌入单元”是有差异的,这儿指的硬核主要是那些通用性相对较弱,不是一切FPGA器材都包括硬核。