詳解FPGA芯片結(jié)構(gòu)以及開(kāi)發(fā)流程
1.FPGA概述
本文引用地址:http://cafeforensic.com/article/201808/386159.htmFPGA是英文FieldProgrammableGateArray的縮寫(xiě),即現(xiàn)場(chǎng)可編程門(mén)陣列,它是在PAL、GAL、EPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為專(zhuān)用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門(mén)電路數(shù)有限的缺點(diǎn)
2.FPGA芯片結(jié)構(gòu)
FPGA芯片主要由三部分組成,分別是IOE(inputoutputelement,輸入輸出單元)、LAB(logicarrayblock,邏輯陣列塊,對(duì)于Xilinx稱(chēng)之為可配置邏輯塊CLB)和Interconnect(內(nèi)部連接線)。
2.1 IOE
IOE是芯片與外部電路的物理接口,主要完成不同電氣特性下輸入/輸出信號(hào)的驅(qū)動(dòng)與匹配要求,比如從基本的LVTTL/LVCMOS接口到PCI/LVDS/RSDS甚至各種各樣的差分接口,從5V兼容到3.3V/2.5V/1.8V/1.5V的電平接口,下面是ALTERA公司的CycloneIVEP4CE115F29設(shè)備的IOE結(jié)構(gòu)
EP4CE115F29設(shè)備的IOE結(jié)構(gòu)圖
FPGA的IOE按組分類(lèi),每組都能夠獨(dú)立地支持不同的I/O標(biāo)準(zhǔn),通過(guò)軟件的靈活配置,可匹配不同的電器標(biāo)準(zhǔn)與IO物理特性,而且可以調(diào)整驅(qū)動(dòng)電流的大小,可以改變上/下拉電阻,CycloneIV設(shè)備有8個(gè)IOblank(組),見(jiàn)下圖:
CycloneIV設(shè)備的IO組
2.2 LAB
LAB是FPGA的基本邏輯單元,其實(shí)際的數(shù)量和特性依據(jù)所采用的器件的不同而不同,EP4CE115F29設(shè)備的每個(gè)LAB的布局包括16個(gè)LE、LAB控制信號(hào)、LEcarrychains、Registerchains和Localinterconnect,其LAB結(jié)構(gòu)圖如下:
LAB結(jié)構(gòu)圖
LE是CycloneIV設(shè)備最小的邏輯單元,每個(gè)LE主要有LUT和寄存器組成的,
LE的結(jié)構(gòu)圖
查找表LUT(Look-Up-Table)其本質(zhì)是一個(gè)靜態(tài)存儲(chǔ)器SRAM,目前FPGA多采用4輸入的LUT,每個(gè)LUT可以看作一個(gè)有4位地址線的16x1的RAM。當(dāng)我們通過(guò)原理圖或HDL語(yǔ)言描述了一個(gè)邏輯電路后,F(xiàn)PGA開(kāi)發(fā)軟件會(huì)自動(dòng)計(jì)算邏輯電路的所有可能的結(jié)果,并把結(jié)果事先寫(xiě)入RAM。這樣,在FPGA工作時(shí),每輸入一個(gè)信號(hào)進(jìn)行邏輯運(yùn)算就等于輸入一個(gè)地址進(jìn)行查表,找出地址對(duì)應(yīng)的內(nèi)容,然后輸出。
LUT的實(shí)現(xiàn)原理圖
評(píng)論