當今社會是數字化的社會,是數字集成電路廣泛應用的社會。數字集成電路本身在不斷地進行更新換代。它由早期的電子管、晶體管、小中規模集成電路,發展到超大規模集成電路(VLSIC,幾萬門以上)以及許多具有特定功能的專用集成電路。但是,隨著微電子技術的發展,設計與制造集成電路的任務已不完全由半導體廠商來獨立承擔。系統設計師們更愿意自己設計專用集成電路(ASIC)芯片,而且希望ASIC的設計周期盡可能短,最好是在實驗室里就能設計出合適的ASIC芯片,并且立即投入實際應用之中,因而出現了現場可編程邏輯器件(FPLD),其中應用最廣泛的當屬現場可編程門陣列(FPGA)和復雜可編程邏輯器件(CPLD)。
1. 發展歷史
早期的可編程邏輯器件只有可編程只讀存儲器(PROM)、紫外線可擦除只讀存儲器(EPROM)和電可擦除只讀存儲器(E2PROM)三種。由于結構的限制,它們只能完成簡單的數字邏輯功能。
其后出現了一類結構上稍復雜的可編程芯片,即可編程邏輯器件(PLD),它能夠完成各種數字邏輯功能。典型的PLD由一個“與”門和一個“或”門陣列組成,而任意一個組合邏輯都可以用“與—或”表達式來描述,所以PLD能以乘積和的形式完成大量的組合邏輯功能。
這一階段的產品主要有PAL(可編程陣列邏輯)和GAL(通用陣列邏輯)。 PAL由一個可編程的“與”平面和一個固定的“或”平面構成,或門的輸出可以通過觸發器有選擇地被置為寄存狀態。PAL器件是現場可編程的,它的實現工藝有反熔絲技術、EPROM技術和E2PROM技術。還有一類結構更為靈活的邏輯器件是可編程邏輯陣列(PLA),它也由一個“與”平面和一個“或”平面構成,但是這兩個平面的連接關系是可編程的。PLA器件既有現場可編程的,也有掩膜可編程的。在PAL的基礎上又發展了一種通用陣列邏輯(GAL,Generic ArrayLogic),如GAL16V8、GAL22V10等。它采用了E'PROM工藝,實現了電可擦除、電可改寫,其輸出結構是可編程的邏輯宏單元,因而它的設計具有很強的靈活性,至今仍有許多人使用。這些早期的PLD器件的一個共同特點是可以實現速度特性較好的邏輯功能,但其過于簡單的結構也使它們只能實現規模較小的電路。
為了彌補這一缺陷,20世紀80年代中期,Altera和Xilinx分別推出了類似于PAL結構的擴展型CPLD(Complex Programmable Logic Dvice)和與標準門陣列類似的FPGA(FieldProgrammable Gate Array),它們都具有體系結構和邏輯單元靈活、集成度高以及適用范圍寬等特點。這兩種器件兼容了PLD和通用門陣列的優點,可實現較大規模的電路,編程也很靈活。與門陣列等其他ASIC(Application Specific IC)相比,它們又具有設計開發周期短、設計制造成本低、開發工具先進、標準產品不需測試、質量穩定以及可實時在線檢驗等優點,因此被廣泛應用于產品的原型設計和產品生產(一般在10 000件以下)之中。幾乎所有應用門陣列、PLD和中小規模通用數字集成電路的場合均可應用FPGA和CPLD器件。
FPGA是英文Field Programmable Gate Arry的縮寫,即現場可編程門陣列,它是在PAL、GAL、EPLD等可編程器件的基礎上進一步發展的產物。它是作為專用集成電路(ASIC)領域中的一種半定制電路而出現的,既解決了定制電路的不足,又克服了原有可編程器件門電路數有限的缺點。
2. FPGA的基本特點
FPGA采用了邏輯單元陣列(LOA,Logic Cell Arry)這樣一個新概念,內部包括可配置邏輯模塊(CLB,Configurable Logic Block)、輸入輸出模塊(IOB,Input Output Block)和內部連線(Interconnect)三個部分。FPGA的基本特點主要有:
(1)采用FPGA設計ASIC電路,用戶不需要投片生產就能得到合用的芯片;
(2)FPGA可做其他全定制或半定制ASIC電路的試樣片:
(3)FPGA內部有豐富的觸發器和I/O引腳;
(4)FPGA是ASIC電路中設計周期最短、開發費用最低、風險最小的器件之一;
(5)FPGA采用高速CHMOS工藝,功耗低,可以與CMOS、TTL電平兼容。
可以說,FPGA芯片是小批量系統提高系統集成度和可靠性的最佳選擇之一。
目前FPGA的品種很多,有XILINX的xc系列、TI公司的TPC系列、ALTERA公司的FIEX系列等。
FPGA是由存放在片內RAM中的程序來設置其工作狀態的。因此,工作時需要對片內的RAM進行編程。用戶可以根據不同的配置模式采用不同的編程方式。
加電時,FPGA芯片將EPROM中的數據讀入片內編程RAM中,配置完成后,FPGA進入工作狀態。掉電后,FPGA恢復成白片,內部邏輯關系消失。因此,FPGA能夠反復使用。FPGA的編程不需專用的FPGA編程器,只需用通用的EPROM、PROM編程器即可。當需要修改FPGA功能時,只需換一片EPROM即可。這樣,同一片FPGA、不同的編程數據,可以產生不同的電路功能。因此,FPGA的使用非常靈活。
FPGA有下面4種配置模式:
(1)并行主模式為一片FPGA加一片EPROM的方式;
(2)主從模式可以支持一片PROM編程多片FPGA:
(3)串行模式可以采用串行PROM編程FPGA;
(4)外設模式可以將FPGA作為微處理器的外設,由微處理器對其編程。
3. FPGA的優點
FPGA芯片都是特殊的ASIC芯片,除了具有ASIC的特點之外,還具有以下3個優點。
①隨著超大規模集成電路(VLSI,Very Large Scale IC)工藝的不斷提高,單一芯片內部可以容納上百萬個晶體管,FPGA/CPLD芯片的規模也越來越大,其單片邏輯門數已達到上百萬門,它所能實現的功能也越來越強,同時也可以實現系統集成。
②FPGA/CPLD芯片在出廠之前都做過百分之百的測試,不需要設計人員承擔投片風險和費用,設計人員只需在自己的實驗室里就可以通過相關的軟硬件環境來完成芯片的最終功能設計。所以,FPGA/CPLD的資金投入小,節省了許多潛在的花費。
③用戶可以反復地編程、擦除、使用或者在外圍電路不動的情況下用不同的軟件實現不同的功能。所以,用FPGAiCPLD試制樣片,能以最快的速度占領市場。FPGA/CPLD軟件包中有各種輸入工具和仿真工具及版圖設計工具和編程器等全線產品,電路設計人員在很短的時間內就可完成電路的輸入、編譯、優化、仿真,直至最后芯片的制作。當電路有少量改動時,更能顯示出FPGA/CPLD的優勢。電路設計人員使用FPGA/CPLD進行電路設計時,不需要具備專門的IC(集成電路)深層次的知識,FPGA/CPLD軟件易學易用,可以使設計人員更能集中精力進行電路設計,快速將產品推向市場。