您的位置:網站首頁 > 電器維修資料網 > 正文 >
FPGA入門基礎知識
來源: 日期:2013-12-7 10:01:32 人氣:標簽:
fpga入門知識還應該包含fpga工作原理、fpga的基本特點、fpga芯片結構等基礎的知識,下面小編從以下幾個方面來對fpga入門知識進行簡單的介紹。
fpga工作原理
fpga采用了邏輯單元陣列lca這樣一個概念,內部包括可配置邏輯模塊clb、輸出輸入模塊iob和內部連線三個部分。fpga利用小型查找表(16×1ram)來實現組合邏輯,每個查找表連接到一個d觸發器的輸入端,觸發器再來驅動其他邏輯電路或驅動i/o,由此構成了即可實現組合邏輯功能又可實現時序邏輯功能的基本邏輯單元模塊,這些模塊間利用金屬連線互相連接或連接到i/o模塊。fpga的邏輯是通過向內部靜態存儲單元加載編程數據來實現的,存儲在存儲器單元中的值決定了邏輯單元的邏輯功能以及各模塊之間或模塊與i/o間的聯接方式,并 終決定了fpga所能實現的功能, 加電時,fpga芯片將eprom中數據讀入片內編程ram中,配置完成后,fpga進入工作狀態。掉電后,fpga恢復成白片,內部邏輯關系消失,因此,fpga能夠反復使用。fpga的編程無須專用的fpga編程器,只須用通用的eprom、prom編程器即可。當需要修改fpga功能時,只需換一片eprom即可。這樣,同一片fpga,不同的編程數據,可以產生不同的電路功能。fpga是由存放在片內ram中的程序來設置其工作狀態的,因此,工作時需要對片內的ram進行編程。用戶可以根據不同的配置模式,采用不同的編程方式。
fpga的基本特點
1)采用fpga設計asic電路(專用集成電路),用戶不需要投片生產,就能得到合用的芯片。
2)fpga可做其它全定制或半定制asic電路的中試樣片。
3)fpga內部有豐富的觸發器和i/o引腳。
4)fpga是asic電路中設計周期 短、開發費用 低、風險 小的器件之一。
5) fpga采用高速cmos工藝,功耗低,可以與cmos、ttl電平兼容。
可以說,fpga芯片是小批量系統提高系統集成度、可靠性的 佳選擇之一。
fpga芯片結構
目前主流的fpga仍是基于查找表技術的,已經遠遠超出了先前版本的基本性能,并且整合了常用功能(如ram、時鐘管理和dsp)的硬核(asic型)模塊。fpga芯片主要由7部分完成,分別為:可編程輸入輸出單元、基本可編程邏輯單元、完整的時鐘管理、嵌入塊式ram、豐富的布線資源、內嵌的底層功能單元和內嵌專用硬件模塊。
1. 可編程輸入輸出單元(iob)
可編程輸入/輸出單元簡稱i/o單元,是芯片與外界電路的接口部分,完成不同電氣特性下對輸入/輸出信號的驅動與匹配要求。為了便于管理和適應多種電器標準,fpga的iob被劃分為若干個組(bank),每個bank的接口標準由其接口電壓vcco決定,一個bank只能有 一種vcco,但不同bank的vcco可以不同。只有相同電氣標準的端口才能連接在一起,vcco電壓相同是接口標準的基本條件。
i/o塊內部結構圖
典型的iob內部結構示意圖
2. 可配置邏輯塊(clb)
clb是fpga內的基本邏輯單元。clb的實際數量和特性會依器件的不同而不同,但是每個clb都包含一個可配置開關矩陣,此矩陣由4或6個輸入、一些 選型電路(多路復用器等)和觸發器組成。開關矩陣是高度靈活的,可以對其進行配置以便處理組合邏輯、移位寄存器或ram。
4. 嵌入式塊ram(bram)
大多數fpga都具有內嵌的塊ram,這大大拓展了fpga的應用范圍和靈活性。塊ram可被配置為單端口ram、雙端口ram、內容地址存儲器 (cam)以及fifo等常用存儲結構。cam存儲器在其內部的每個存儲單元中都有一個比較邏輯,寫入 cam中的數據會和內部的每一個數據進行比較,并返回與端口數據相同的所有數據的地址,因而在路由的地址交換器中有廣泛的應用。除了塊ram,還可以將 fpga中的lut靈活地配置成ram、rom和fifo等結構。在實際應用中,芯片內部塊ram的數量也是選擇芯片的一個重要因素。
5. 豐富的布線資源
布線資源連通fpga內部的所有單元,而連線的長度和工藝決定著信號在連線上的驅動能力和傳輸速度。fpga芯片內部有著豐富的布線資源,根據工藝、長度、寬度和分布位置的不同而劃分為4類不同的類別。第一類是全局布線資源,用于芯片內部全局時鐘和全局復位/置位的布線;第二類是長線資源,用以完成芯片 bank間的高速信號和第二全局時鐘信號的布線;第三類是短線資源,用于完成基本邏輯單元之間的邏輯互連和布線;第四類是分布式的布線資源,用于專有時鐘、復位等控制信號線。
在實際中設計者不需要直接選擇布線資源,布局布線器可自動地根據輸入邏輯網表的拓撲結構和約束條件選擇布線資源來連通各個模塊單元。從本質上講,布線資源的使用方法和設計的結果有密切、直接的關系。
6. 底層內嵌功能單元
內嵌功能模塊主要指dll(delay locked loop)、pll(phase locked loop)、dsp和cpu等軟處理核。現在越來越豐富的內嵌功能單元,使得單片fpga成為了系統級的設計工具,使其具備了軟硬件聯合設計的能力,逐步向soc平臺過渡。
dll和pll具有類似的功能,可以完成時鐘高精度、低抖動的倍頻和分頻,以及占空比調整和移相等功能。
7. 內嵌專用硬核
內嵌專用硬核是相對底層嵌入的軟核而言的,指fpga處理能力強大的硬核(hard core),等效于asic電路。為了提高fpga性能,芯片生產商在芯片內部集成了一些專用的硬核。例如:為了提高fpga的乘法速度,主流的fpga 中都集成了專用乘法器;為了適用通信總線與接口標準,很多高端的fpga內部都集成了串并收發器(serdes),可以達到數十gbps的收發速度。
結束語
了解現場可編程門陣列(fpga)的一些基本知識對于想要開發和編程用戶是十分必要的。本文主要是針對初級的fpga愛好者對 fpga入門知識進行簡單的總結,fpga入門需要了解fpga的工作原理、基本特點、以及fpga芯片的構成和功能模塊等各個方面。希望通過閱讀筆者的這篇fpga入門知識介紹文章可以對想要了解fpga的您有所幫助。
【看看這篇文章在百度的收錄情況】