FPGA的發(fā)展歷史
PLD簡介
在過去的十年中,可編程邏輯器件(PLD)市場不斷增長,對PLD的需求不斷增加。具有可編程特性且可編程的芯片稱為PLD。PLD也稱為現(xiàn)場可編程器件(FPD)。FPD用于實現(xiàn)數(shù)字邏輯,用戶可以配置集成電路以實現(xiàn)不同的設計。這種集成電路的編程是通過使用EDA工具進行特殊編程來完成的。
市場上推出的第一個可編程芯片是可編程只讀存儲器(PROM)。PROM有許多地址線和數(shù)據(jù)線。地址線用作邏輯電路輸入,數(shù)據(jù)線用作邏輯電路輸出,因為PROM的結構效率低下,無法用于實現(xiàn)復雜的數(shù)字邏輯。20世紀70年代開發(fā)的器件是PLA,它具有兩級邏輯,用于實現(xiàn)小密度邏輯。在PLA進化之后,可編程邏輯器件發(fā)生了真正的進化。之后,SPLD、CPLD和FPGA在20世紀80年代早期發(fā)展起來。早期的可編程邏輯器件如圖9.1所示。
表9.2 PLD分類
邏輯單元 | PAL或者PLA | SPLD | CLB |
密度 | 幾百個邏輯門 | 幾千個邏輯門 | 少數(shù)lac邏輯門 |
類型 | 富門邏輯Gate rich logic | 門到達邏輯Gate reach logic | 觸發(fā)器豐富邏輯Flip-flop rich logic |
應用 | 小密度FSM | 中等門計數(shù)FSM | 復合FSM |
PLD | SPLD | CPLD | FPGA |
---|
PLD分類如表9.2所示。
以下是用于理解現(xiàn)場可編程設備的關鍵術語。
PAL是一種密度相對較小的現(xiàn)場可編程器件(FPD),它具有可編程和平面,然后是固定或平面,稱為可編程陣列邏輯(PAL)。可編程邏輯陣列(PLA)是一種密度相對較小的現(xiàn)場可編程器件(FPD),它具有可編程和平面,然后是可編程或平面。PLA結構有兩級邏輯,可在全定制芯片上使用。
任何類似PAL或PLA的結構稱為簡單可編程邏輯器件(SPLD)。SPLD由于具有良好的時序性能,被用于實現(xiàn)小型門計數(shù)狀態(tài)機。
復雜可編程邏輯器件(CPLD)是指在同一芯片上由多個類似于SPLD的模塊組成的具有互連邏輯的結構,稱為復雜可編程邏輯器件(CPLD)。CPLD也稱為mega-PAL、Super-PLA或增強型PLD(EPLD)。在實際場景中,CPLD用于實現(xiàn)中等密度狀態(tài)機,因為與SPLD相比,CPLD具有更好的定時性能。CPLD結構如圖9.2所示。
圖9.2復雜可編程邏輯器件系統(tǒng)框圖
圖9.3基本FPGA架構
現(xiàn)場可編程門陣列(FPGA)是由觸發(fā)器和邏輯塊等更多資源組成的可編程邏輯,用于實現(xiàn)高密度邏輯,被稱為現(xiàn)場可編程門陣列(FPGA)。FPGA也稱為可編程ASIC,由可配置邏輯塊(CLB)、IO塊(IOB)和可編程互連組成。現(xiàn)代FPGA甚至包括乘法器、RAM、DSP和處理器核心。帶有關鍵塊、邏輯塊、IO塊和可編程互連的FPGA如圖9.3所示。
互連現(xiàn)場可編程設備中的布線資源稱為互連。
可編程開關用于將一條互連線連接到另一條互連線或將邏輯塊連接到互連線的開關稱為可編程開關。
可配置邏輯塊(CLB)可配置用于所需組合和順序邏輯功能的邏輯塊稱為CLB。在FPGA上實現(xiàn)邏輯時,邏輯被分解為小密度邏輯塊并映射到多個CLB上。
邏輯密度FPGA中每單位面積的邏輯量稱為邏輯密度。
邏輯容量映射到單場可編程器件的邏輯量稱為邏輯容量。邏輯容量以門陣列中邏輯門的數(shù)量的形式給出。邏輯容量可以認為是兩個輸入與非門或通用門的數(shù)量。
現(xiàn)場可編程設備的最大工作頻率是時序邏輯性能的度量。對于組合邏輯,設計中的最長路徑?jīng)Q定了性能。
結構化ASIC和FPGA設計的比較如表9.3所示。
表9.3結構化ASIC與FPGA的比較
原型樣本的時間 | 4–8周 | 0周 |
批量生產(chǎn)總時間 | 12–15周 | 8周 |
供應商NRE/屏蔽成本 | 10萬至20萬美元 | 75000美元 |
轉換的設計成本 | 25萬至30萬美元 | $0 |
轉換工具的額外成本 | 10萬至20萬美元 | $0 |
單位成本 | 低的 | 低的 |
危險性 | 高的 | 低的 |
在系統(tǒng)中進行更改的靈活性 | 不靈活 | 靈活的 |
從原型到生產(chǎn)的設計轉換 | 附加工程 | 免轉換 |
選擇標準 | 結構化ASIC* | FPGA |
---|
FPGA分類
現(xiàn)代FPGA被稱為可編程ASIC,用于各種應用,包括ASIC SOC設計和原型設計。FPGA編程包括以下類型,本節(jié)將對此進行討論。任何FPGA的主要編程類型有
基于SRAM的FPGA
市場上的大多數(shù)FPGA都基于SRAM技術。它們將配置位文件存儲在使用鎖存器設計的SRAM單元中。由于SRAM是易失性的,因此需要在啟動時對其進行配置。有兩種編程模式:主模式和從模式。SRAM存儲單元如圖9.4所示。
圖9.4 SRAM單元
在主模式下,F(xiàn)PGA從外部源讀取可配置數(shù)據(jù)。
在從模式下,F(xiàn)PGA通過使用外部主設備(如處理器)進行配置。外部配置接口可以是JTAG(邊界掃描)。
基于FLASH的FPGA
在這種類型的FPGA中,F(xiàn)LASH用于存儲配置數(shù)據(jù)。因此,該FPGA的主要資源是FLASH。因此,這類FPGA的功耗較低,并且對輻射影響的耐受性較差。在基于SRAM的FPGA中,內部FLASH僅在通電期間用于加載配置文件。FLASH中使用的浮柵晶體管如圖9.5所示。
圖9.5 FLASH中的浮柵晶體管
反熔絲FPGA
這些類型的FPGA僅用于編程一次,與前兩種類型的FPGA相比,它們有所不同。反熔絲與保險絲相反,最初它們不導電,但可以燃燒以導電。
圖9.6反熔絲結構
一旦對其進行編程,就無法重新編程,因為燃燒的熔絲無法強制進入初始狀態(tài)。如圖9.6所示。
FPGA構建塊
以下是FPGA體系結構中的關鍵結構,本節(jié)對此進行了描述。FPGA架構如圖9.7所示。
可配置邏輯塊(CLB),CLB由查找表(LUT)、多路復用器和寄存器組成?;赗AM的LUT用于實現(xiàn)數(shù)字邏輯。CLB可編程實現(xiàn)多種邏輯功能。甚至CLB也用于存儲數(shù)據(jù)。
輸入-輸出塊(IOB)該塊用于控制設備內部邏輯和IO引腳之間的數(shù)據(jù)流。每個IO用于支持三態(tài)控制的雙向數(shù)據(jù)流。幾乎有24種不同的IO標準,其中包括七種不同的特殊IO高性能標準。雙數(shù)據(jù)速率寄存器還具有數(shù)字控制阻抗功能。
塊RAM(BRAM)用于存儲大量數(shù)據(jù),以雙端口RAM的形式提供。例如,18 Kbit雙端口塊RAM。BRAM可以由多個塊組成,具體取決于設備。
數(shù)字時鐘管理器(DCM)它們用于時鐘管理,并提供完全校準的數(shù)字時鐘解決方案。它們用于均勻的時鐘分布、時鐘信號的延遲、對具有均勻時鐘偏移的時鐘信號進行乘法或除法。
乘法器專用乘法器塊用于執(zhí)行兩個“n”位數(shù)字的乘法。根據(jù)設備的不同,“n”可能會有所不同。如果n=18,則專用塊用于執(zhí)行兩個18位數(shù)字的乘法。
DSP模塊它們是用于實現(xiàn)濾波、數(shù)據(jù)處理等DSP功能的嵌入式DSP模塊。這些模塊用于提高FPGA的整體性能,同時為DSP應用程序處理大量數(shù)據(jù)。
圖9.7 FPGA架構(源Xilinx)
FPGA設計流程
FPGA中仿真概念
Verilog復雜邏輯設計指南-奇偶校驗生成器和校驗器及筒式移位器
Verilog時序電路設計指南
Verilog時序邏輯硬件建模設計(五)異步計數(shù)器&總結
Verilog時序邏輯硬件建模設計(四)移位寄存器
Verilog時序邏輯硬件建模設計(三)同步計數(shù)器
Verilog時序邏輯硬件建模設計(二)同步和異步復位
Verilog時序邏輯硬件建模設計(一)鎖存器D-latch和觸發(fā)器Flip-Flop
Verilog組合邏輯設計指南
組合邏輯硬件建模設計(二)算術電路
Verilog 里面,always,assign和always@(*)區(qū)別
組合邏輯硬件建模設計(一)邏輯門
數(shù)字硬件建模-重新從另一方面理解Verilog(二)
數(shù)字硬件建模-從另一方面理解Verilog(一)
數(shù)字硬件建模綜述
原文標題:FPGA的發(fā)展歷史
文章出處:【微信公眾號:OpenFPGA】歡迎添加關注!文章轉載請注明出處。
審核編輯:湯梓紅
-
FPGA
+關注
關注
1625文章
21620瀏覽量
601231 -
寄存器
+關注
關注
31文章
5294瀏覽量
119814 -
硬件
+關注
關注
11文章
3211瀏覽量
66059
原文標題:FPGA的發(fā)展歷史
文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論