FPGA(现场可编程门阵列),它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,一般来说比ASIC(专用集成电路)的速度要慢,实现同样的功能比ASIC电路面积要大。但是FPGA内部使用可配置逻辑模块(CLB),输入输出模块(IOB),内部连线(interconnect)等部分组成,因此FPGA几乎能够实现所有的数字逻辑功能芯片,包括CPU。
以某厂某系列FPGA为例,其结构简单描述为:
FPGA主要由大量的CLB来作为最小逻辑单元,使用内部连线将这些最小的逻辑单元连接,完成更大的逻辑功能单元,再与这些IOB连接完成最终结果或信号的输入输出。
CLB的结构简单描述为:
每个slice内部都包含有查找表(LUT)和寄存器(REG),查找表本质为一个sram,内部存储着数字逻辑功能的真值表,真值表(sram)的输出连接到寄存器(REG)或者连接到别的slice里的真值表作为输入,组合成更大的逻辑。
例如:使用2输入查找表(即只能输入2个信号)完成D=(A与B)或C;的逻辑功能。
由以上的例子可以看出FPGA与CPU,GPU和DSP等的工作方式有着本质的区别,它的工作方式不再是获取指令,解码指令,执行指令,而是在一个芯片内部去以真值表为器件来画逻辑电路图,因此FPGA的开发属于硬件开发,它也有布局,布线,以及因布线长度延迟等造成的竞争冒险和亚稳态等电气特性。
从FPGA的基本结构可以看出FPGA内部逻辑单元,类似于人脑的神经单元,但是由于目前FPGA的逻辑单元里的逻辑功能固化之后不能实时动态的改变,就像画好的电路图制成电路板之后不能动态的变化一样,因此若是FPGA也能与人脑的神经单元一样,可以实时改变状态改变里面的逻辑,则或许真正的人工智能将不再遥远,机器也将可以真正同人类一样拥有思维。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)