An Introduction to FPGA

介绍FPGA

An Introduction to FPGA

FPGA代表(现场可编程门阵列)。正如其名称所暗示的,FPGA是集成电路(IC),其基本上是逻辑门的阵列,并且是programmed/configured by the恩d userin the field (wherever he is) as opposed to the designers.

什么是FPGA由..?

The basic logic gates are the core building blocks of the FPGA. It is not like the FPGA IC is full of these logic gates, but FPGA is based on digital子电路彼此仔细互连以执行所需的功能。它像例如使移位寄存器都需要芯片与门和或门,所以有两种方法要么买这些单个集成电路和互连在一起,以获得移位寄存器的功能。另一种方式是买一个移位寄存器IC来代替,使您的设计更加紧凑。

This is the case with FPGA, the sub-circuits are already made of basic AND, OR and NOT gates and these sub-circuits are then interconnected very accurately todesign the internal hardware块称为可配置逻辑块(CLB)。The CLBs can also be defined asLook up Tables (LUT)that is programmed byHardware Description Language (HDL)to achieve desired output.

这些成千上万个CLB然后用IOB的连接到与外部世界的接口电路该IOB代表“输入输出模块”。这些的IOB由上拉的,下拉电阻器,缓冲电路和逆变器电路。

Reprogram-ability of FPGA:

FGPA的最大优势在于其在外地重新编程能力。其灵活性,以在同一时间被用作微处理器,图形卡或图像处理器或全部,使其固体先手基本微控制器或微处理器。

These FPGAs are programed by HDL like VHDL or Verilog. Some additional features are being added nowadays in FPGAs like dedicated hard-silicon blocks for attaining functions of External Memory Controllers, RAM block, PLL, ADC and DSP block and many other components.

微控制器和FPGA之间的区别:

如今,许多项目都是基于微控制器。正如我们在开发助学工程的趋势,专业circuits, industrial products发展是基于基于微控制器的电路中,我们并没有得到太多的FPGA与熟悉。

The main difference between the micro-controller and FPGA is that, “微控制器是通用IC,并且可以以不同的方式,以适应各种类型的应用进行编程而FPGA是专用IC专门设计根据特定应用的需要,以执行特殊功能”

另一个重要的区别是,“该FPGA是硬件Configurable Logic Blocks (CLBs)based ICs that can be interconnected to external circuits through硬件描述语言HDL代码LanguageLanguage通过的IOB的手段而微控制器是基于软件/编程/编码,指令被依次执行“。

The micro-controller / micro-processor has constraints of inability to execute multiple instructions simultaneously and also functionality you want to perform must have the availability in instructions sets of a particular controller/processor.

The Block Diagram of 8051 Micro-controller

(The Block Diagram of 8051 Micro-controller)

FPGA Structure

(FPGA Structure)

FPGA VS ASIC:

该FPGA是有点类似ASIC“专用集成电路”,但不是很多。在FPGA和ASIC的主要区别是在个CLBFPGA can be reconfigured to perform different task/operation/function但在ASIC的情况下,专用ASIC芯片将用于它的设计的整个生命时间执行相同的操作。

FPGA和ASIC的比喻是,你使用LEGO零部件建房子,那么你就拆除并建成使用相同的LEGO部分汽车。这些LEGO部件相同的FPGA的CLB。

The analogy of ASIC is that you build the same house using concrete blocks and cement (not the LEGO) but now you cannot demolish it and build other thing from this. This work is permanent. Hence this is ASIC.

So theASICs are dedicated ICs in which digital circuitry (logic gates and sequential circuits) is hardwired or permanently connected internally on silicon wafer.

FPGAs are suitable for小声production and require much less time and money as compared toothier ASIC counterparts. FPGAs require less than a minute to reconfigure. Another important advantage is that FPGAs can be部分重配置and rest of FPGA portion is still working.

然而,在另一方面FPGA是缓慢和耗电由于其大面积由于密集的路由可编程互连。这种复杂的互连占FPGA的总尺寸的90%。

FPGA结构的详细了解

FPGA结构的详细了解:

The main constituents of FPGA are

  • Configurable Logic Blocks (CLBs)

  • Input Output Blocks (IOBs)

  • 开关盒(SB)

  • Connection Box (CB)

  • Look Up Table (LUT)

  • 水平和垂直路线

Configurable Logic Block (CLB):

甲CLB通过致密的互连方案由BLE(基本逻辑元件)的簇构成。甲BLE具有多路转换器,SRAM和d型触发器。这三种组分形式BLE和绩优的簇形成CLB

Input Output Blocks (IOBs):

These are the blocks that make interconnection between the FPGA and outside circuitry. The IOBs are the end connection of the programmable routing network.

Input Output Blocks

开关盒(SB):

Switch Box is the collection of switches to connect different horizontal and vertical routes (tracks). Ability of a track to connect to multiple tracks is defined as the connectivity of SB.

Connection Box (CB):

Connection Box is the collection of switches to connect CLB to multiple routes. Ability of the CLB to connect to multiple routes/tracks is defined as the connectivity of CB

Look Up Table (LUT):

查找表由多路复用器和SRAM的。A 4输入LUT需要(24)16 SRAM位实现4位的布尔表达式。

Horizontal and Vertical Routing Channels:

The horizontal and vertical lines/routes that creates the mesh network of FPGA

Flexibility of CB:

The flexibility of CB is defined as (FC)。A FC= 1 means that all the adjacent routing channels are connected to the inputs of CLB

SB的灵活性:

SB的灵活性被定义为(FS)。It is defined as the total number of tracks with which every track entering the SB connects to.

结论:

It is therefore concluded that FPGAs have advantages over other options like ASIC and microprocessor / micro-controller in the sense that FPGAs are handy and easily可重构在用户端。它可以通过一个简单的HDL代码进行定制,并在市场上容易获得的50至100美元合理的价格。