一、FPGA原理
FPGA中的基本逻辑单元是CLB模块,一个CLB模块一般包含若干个基本的查找表、寄存器和多路选择器资源,因此FPGA中的逻辑表达式基于LUT的。
FPGA内部的编程信息一般存储在SRAM单元中,因此通常的FPGA都是基于SRAM的,所以掉电后信息会丢失,下次上电需要先配置才能使用。
二、FPGA产品的速度等级
速度等级一般反映一款芯片的性能,速度等级越高,说明芯片内的逻辑延时和布线延时越小,设计的性能要求也越容易达到,随之付出的成本也越大。
对Xilinx FPGA,速度等级一般有“-1”、“-2”、“-3”等,数字越大,速度等级越高,芯片价钱也越贵。
对Intel FPGA,速度等级一般有“-6”、“-7”、“-8”,数字越小表示速度等级越高、价钱越贵。
三、FPGA内部资源
逻辑资源块是FPGA内部最重要的资源,Xilinx称其为CLB(configurable logic block);
7系列中,FPGA内部三大主要资源:可编程逻辑单元、可编程I/O单元、布线资源
1、可配置逻辑单元(configurable logic block)
CLB在FPGA中最为丰富,由两个SLICE构成,SLICE分为SLICEL(L:Logic)和SLICEM(M:Memory),因此CLB可分为CLBLL和CLBLM两类;
SLICEL和SLICEM内部都包含4个6输入查找表(LUT6)、3个数据选择器(MUX)、1个进位链(carry chain)和8个触发器(Flip-Flop);
2、存储单元(Block RAM)
Block RAM可以被配置为同步、异步、单端口、双端口的RAM或FIFO,或者ROM;
3、运算单元(DSP48E1)
当FPGA需要复杂的运算时,会使用DSP48E1,例如乘法。