FPGA(Field Programmable Gate Array)是在PAL、GAL等可編程器件的基礎上進一步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC)領域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點。FPGA設計不是簡單的芯片研究,主要是利用 FPGA 的模式進行其他行業(yè)產(chǎn)品的設計。 與 ASIC 不同,F(xiàn)PGA在通信行業(yè)的應用比較廣泛。通過對全球FPGA產(chǎn)品市場以及相關供應商的分析,結合當前我國的實際情況以及國內(nèi)領先的FPGA產(chǎn)品可以發(fā)現(xiàn)相關技術在未來的發(fā)展方向,對我國科技水平的全面提高具有非常重要的推動作用。與傳統(tǒng)模式的芯片設計進行對比,F(xiàn)PGA 芯片并非單純局限于研究以及設計芯片,而是針對較多領域產(chǎn)品都能借助特定芯片模型予以優(yōu)化設計。從芯片器件的角度講,F(xiàn)PGA 本身構成 了半定制電路中的典型集成電路,其中含有數(shù)字管理模塊、內(nèi)嵌式單元、輸出單元以及輸入單元等。在此基礎上,關于FPGA芯片有必要全面著眼于綜合性的芯片優(yōu)化設計,通過改進當前的芯片設計來增設全新的芯片功能,據(jù)此實現(xiàn)了芯片整體構造的簡化與性能提升。
FPGA 器件屬于專用集成電路中的一種半定制電路,是可編程的邏輯列陣,能夠有效的解決原有的器件門電路數(shù)較少的問題。FPGA 的基本結構包括可編程輸入輸出單元,可配置邏輯塊,數(shù)字時鐘管理模塊,嵌入式塊RAM,布線資源,內(nèi)嵌專用硬核,底層內(nèi)嵌功能單元。由于FPGA具有布線資源豐富,可重復編程和集成度高,投資較低的特點,在數(shù)字電路設計領域得到了廣泛的應用。FPGA的設計流程包括算法設計、代碼仿真以及設計、板機調(diào)試,設計者以及實際需求建立算法架構,利用EDA建立設計方案或HD編寫設計代碼,通過代碼仿真保證設計方案符合實際要求,最后進行板級調(diào)試,利用配置電路將相關文件下載至FPGA芯片中,驗證實際運行效果。
FPGA采用了邏輯單元陣列LCA(Logic Cell Array)這樣一個概念,內(nèi)部包括可配置邏輯模塊CLB(Configurable Logic Block)、輸入輸出模塊IOB(Input Output Block)和內(nèi)部連線(Interconnect)三個部分。 現(xiàn)場可編程門陣列(FPGA)是可編程器件,與傳統(tǒng)邏輯電路和門陣列(如PAL,GAL及CPLD器件)相比,F(xiàn)PGA具有不同的結構。FPGA利用小型查找表(16×1RAM)來實現(xiàn)組合邏輯,每個查找表連接到一個D觸發(fā)器的輸入端,觸發(fā)器再來驅(qū)動其他邏輯電路或驅(qū)動I/O,由此構成了既可實現(xiàn)組合邏輯功能又可實現(xiàn)時序邏輯功能的基本邏輯單元模塊,這些模塊間利用金屬連線互相連接或連接到I/O模塊。FPGA的邏輯是通過向內(nèi)部靜態(tài)存儲單元加載編程數(shù)據(jù)來實現(xiàn)的,存儲在存儲器單元中的值決定了邏輯單元的邏輯功能以及各模塊之間或模塊與I/O間的聯(lián)接方式,并最終決定了FPGA所能實現(xiàn)的功能,F(xiàn)PGA允許無限次的編程。
相比于其他種類的芯片設計,關于 FPGA芯片通常需要設置較高門檻并且擬定嚴格性較強的基本設計流程。具體在設計時,應當緊密結合 FPGA 的有關原理圖,據(jù)此實現(xiàn)了規(guī)模較大的專門芯片設計。通過運用Matlab以及C語言的特殊設計算法,應當可以實現(xiàn)全方位的順利轉化,從而確保其符合當前的主流芯片設計思路。在此前提下,如果選擇了上述設計思路那么通常需要著眼于有序整合各類元器件以及相應的設計語言,據(jù)此保證了可用性與可讀性較強的芯片程序設計。運用 FPGA可以實現(xiàn)板機調(diào)試、代碼仿真與其他有關的設計操作,確保當前的代碼編寫方式以及設計方案都能符合特定的設計需求。 除此以外,關于設計算法應當將合理性置于首要性的位置, 據(jù)此實現(xiàn)了優(yōu)化的項目設計效果,并且優(yōu)化了芯片運行的實效性。因此作為設計人員來講,首先就是要構建特定的算法模塊, 以此來完成與之有關的芯片代碼設計。這是由于預先設計代碼有助保證算法可靠性,對于整體上的芯片設計效果也能予以顯著優(yōu)化。在全面完成板機調(diào)試以及仿真測試的前提下,應當可以在根源上縮短設計整個芯片消耗的周期,同時也致力于優(yōu)化當前現(xiàn)存的硬件整體結構。例如在涉及到開發(fā)非標準的某些硬件接口時,通常都會用到上述的新產(chǎn)品設計模式。
FPGA設計的主要難點是熟悉硬件系統(tǒng)以及內(nèi)部資源,保證設計的語言能夠?qū)崿F(xiàn)元器件之間的有效配合,提高程序的可讀性以及利用率。這也對設計人員提出了比較高的要求,需要經(jīng)過多個項目的經(jīng)驗積累才可以達到相關的要求。在算法設計時需要重點考慮合理性,保證項目最終完成的效果,依據(jù)項目的實際情況提出解決問題的方案,提高FPGA的運行效率。確定算法后應當合理構建模塊,方便后期進行代碼設計。在代碼設計時可以利用預先設計好的代碼,提高工作效率,增強可靠性。編寫測試平臺,進行代碼的仿真測試和班級調(diào)試,完成整個設計過程。FPGA同ASIC不同,開發(fā)的周期比較短,可以結合設計要求改變硬件的結構,在通信協(xié)議不成熟的情況下可以幫助企業(yè)迅速推出新產(chǎn)品,滿足非標準接口開發(fā)的需求。