很久以前,Digilent博客的读者会得到一个现场可编程门阵列(FPGA)简史在课程结束的时候,我们承诺你们会继续学习FPGA的结构。随着时间的流逝,这一承诺从记忆中淡出,几乎被完全遗忘。如果你已经注意到请继续关注’,那么你的耐心将得到一系列关于FPGA内部工作原理的文章的回报。在本文中,我们首先简要总结一下Xilinx 7系列fpga的一些特性。
现代fpga包含专门用于特定功能的组件,以及更通用的可配置逻辑。专用功能组件与可配置逻辑的组合允许架构消耗更少的能量,执行更高效。
可配置逻辑块(CLB)
CLB是FPGA的基本部分,是它能够采用不同硬件配置的原因。FPGA最基本的形式是由clb组成的芯片,它们一起构成了FPGA。在现代fpga上可以找到成千上万个这样的程序,它们可以被编程来执行几乎任何逻辑功能。一个单独的CLB本身由许多离散的逻辑组件组成,例如查找表(LUTs)和触发器。
数字信号处理(DSP)切片
它被称为DSP片、块或单元,是FPGA中的专用组件之一。它的设计目的是实现数字信号处理功能,如滤波或乘法,比使用多个clb实现相同的功能要高效得多。
收发器
此组件的名称是其功能的组合,因为它们用于以极高的速率向FPGA发送和接收串行数据(单个位)。将FPGA上的信息转换为串行数据的任务,以及从外部接收串行数据并将其转换为有用的信息,同时检查数据中的错误,随着速度的增加,FPGA的可配置逻辑变得更加困难。最终达到速度上限。有一个专门的组件可用,允许用户轻松实现高速数据传输,而不消耗FPGA的逻辑资源。
块随机存取存储器(BRAM)
FPGA板上的内存有几种类型,但芯片上的专用内存被称为块RAM或BRAM。虽然每个块都有一个特定的大小(Xilinx 7系列芯片为36K位),但这些块可以细分或级联,以提供更小或更大的BRAM。它们还能够进行各种操作设置,并支持诸如纠错等特殊功能
输入/输出(IO)块
输入/输出块就像它们听起来的那样。它们是向FPGA输入和输出数据的组件。芯片上的输入和输出经过称为IO组的组件组,这些组件组由50个独立的IO块组成。IO块本身可以通过多种方式进行配置,这取决于用户希望接收或传输的数据类型。这些类似于收发机,但运行速度较低,可以保持更多的功能灵活性。一个简单的类比来区分这两者,可以考虑在通勤的汽车(IO模块)和喷气机(收发器)之间选择一种交通工具。即使这个距离可以让你达到飞机起飞的速度(无线电收发器有最小的运行速度),这也是不切实际的。
这些组件中的每一个都包含其独立部分的子集和使其能够正常工作的独特体系结构。关于这两种方法的细节超出了本文的范围,但是,本系列的后续文章将更详细地探讨这两种方法的内部工作原理,所以请继续关注!
