今天陸妹給大家整理了一些FPG的知識點(diǎn)和FPGA的進(jìn)階路線,小本本準(zhǔn)備好,要開始劃重點(diǎn)嘍。
FPGA工作原理
FPGA采用了邏輯單元陣列LCA(Logic Cell Array)這樣一個(gè)新概念,內(nèi)部包括可配置邏輯模塊CLB(Configurable Logic Block)、輸出輸入模塊IOB(Input Output Block)和內(nèi)部連線(Interconnect)三個(gè)部分。
FPGA的基本特點(diǎn)主要有:
1)采用FPGA設(shè)計(jì)ASIC電路,用戶不需要投片生產(chǎn),就能得到合用的芯片。
2)FPGA可做其它全定制或半定制ASIC電路的中試樣片。
3)FPGA內(nèi)部有豐富的觸發(fā)器和I/O引腳。
4)FPGA是ASIC電路中設(shè)計(jì)周期最短、開發(fā)費(fèi)用最低、風(fēng)險(xiǎn)最小的器件之一。
5) FPGA采用高速CHMOS工藝,功耗低,可以與CMOS、TTL電平兼容。
可以說,F(xiàn)PGA芯片是小批量系統(tǒng)提高系統(tǒng)集成度、可靠性的最佳選擇之一。
FPGA是由存放在片內(nèi)RAM中的程序來設(shè)置其工作狀態(tài)的,因此,工作時(shí)需要對片內(nèi)的RAM進(jìn)行編程。用戶可以根據(jù)不同的配置模式,采用不同的編程方式。
加電時(shí),F(xiàn)PGA芯片將EPROM中數(shù)據(jù)讀入片內(nèi)編程RAM中,配置完成后,F(xiàn)PGA進(jìn)入工作狀態(tài)。掉電后,F(xiàn)PGA恢復(fù)成白片,內(nèi)部邏輯關(guān)系消失,因此,F(xiàn)PGA能夠反復(fù)使用。FPGA的編程無須專用的FPGA編程器,只須用通用的EPROM、PROM編程器即可。
當(dāng)需要修改FPGA功能時(shí),只需換一片EPROM即可。這樣,同一片F(xiàn)PGA,不同的編程數(shù)據(jù),可以產(chǎn)生不同的電路功能。因此,F(xiàn)PGA的使用非常靈活。
FPGA常用術(shù)語
1:LCA(Logic Cell Array):邏輯單元陣列,內(nèi)部包括可配置邏輯模塊CLB(Configurable Logic Block)、輸出輸入模塊IOB(Input Output Block)和內(nèi)部連線(Interconnect)三個(gè)部分。
2: IOB(Input Output Block):可編程輸入輸出單元,為了便于管理和適應(yīng)多種電器標(biāo)準(zhǔn),F(xiàn)PGA的IOB被劃分為若干個(gè)組(bank),每個(gè)bank的接口標(biāo)準(zhǔn)由其接口電壓VCCO決定,一個(gè)bank只能有一種VCCO,但不同bank的VCCO可以不同。只有相同電氣標(biāo)準(zhǔn)的端口才能連接在一起,VCCO電壓相同是接口標(biāo)準(zhǔn)的基本條件。
3:CLB(Configurable Logic Block):可配置邏輯模塊,是FPGA內(nèi)的基本邏輯單元,每個(gè)CLB都包含一個(gè)可配置開關(guān)矩陣,此矩陣由4或6個(gè)輸入、一些選型電路(多路復(fù)用器等)和觸發(fā)器組成。 在賽靈思公司公司的FPGA器件中,CLB由多個(gè)(一般為4個(gè)或2個(gè))相同的Slice和附加邏輯構(gòu)成。
4:Slice:是賽靈思公司公司定義的基本邏輯單位,一個(gè)Slice由兩個(gè)4輸入的函數(shù)、進(jìn)位邏輯、算術(shù)邏輯、存儲邏輯和函數(shù)復(fù)用器組成。
5:LUT(Look-Up-Table):查找表。本質(zhì)上就是一個(gè)RAM,目前FPGA中多使用4輸入的LUT,所以每一個(gè)LUT可以看成一個(gè)有4位地址線的 的RAM。
6:DCM(數(shù)字時(shí)鐘管理模塊):提供數(shù)字時(shí)鐘管理和相位環(huán)路鎖定。
7:BRAM(嵌入式塊RAM):塊RAM可被配置為單端口RAM、雙端口RAM、內(nèi)容地址存儲器(CAM)以及FIFO等常用存儲結(jié)構(gòu)。單片塊RAM的容量為18k比特,即位寬為18比特、深度為1024,可以根據(jù)需要改變其位寬和深度,但要滿足兩個(gè)原則:首先,修改后的容量(位寬 深度)不能大于18k比特;其次,位寬最大不能超過36比特。當(dāng)然,可以將多片塊RAM級聯(lián)起來形成更大的RAM,此時(shí)只受限于芯片內(nèi)塊RAM的數(shù)量,而不再受上面兩條原則約束。
必須精通的5項(xiàng)基本功
對于FPGA設(shè)計(jì)者來說,要練好5項(xiàng)基本功:仿真、綜合、時(shí)序分析、調(diào)試、驗(yàn)證,
1.、仿真:Modelsim,QuartusII(Simulator Tool)
2.、綜合:Quartus II (Compiler Tool, RTL Viewer,Technology Map Viewer, Chip Planner)
3、 時(shí)序:Quartus II (TimeQuest Timing Analyzer, Technology Map Viewer, Chip Planner)
4、調(diào)試:Quartus II (SignalTap II Logic Analyzer, Virtual JTAG, Assignment Editor)
5、驗(yàn)證:Modelsim, Quartus II(Test Bench Template Writer)
HDL語言與FPGA設(shè)計(jì)的5項(xiàng)基本功是相輔相成的。雖然它不是FPGA設(shè)計(jì)的全部,但是HDL語言在FPGA的整個(gè)設(shè)計(jì)流程中都是有體現(xiàn)的。
對于FPGA設(shè)計(jì)者來說,用好“HDL語言的可綜合子集”可完成FPGA設(shè)計(jì)中50%的工作——設(shè)計(jì)編碼。練好仿真、綜合、時(shí)序分析這3項(xiàng)基本功,對于學(xué)習(xí)“HDL語言的可綜合子集”有如下幫助:
1. 通過仿真,可以觀察HDL語言在FPGA中的邏輯行為。
2. 通過綜合,可以觀察HDL語言在FPGA中的物理實(shí)現(xiàn)形式。
3. 通過時(shí)序分析,可以分析HDL語言在FPGA中的物理實(shí)現(xiàn)特性。
同樣,用好“HDL語言的驗(yàn)證子集”,可以完成FPGA設(shè)計(jì)另外50%的工作——調(diào)試驗(yàn)證。
1. 搭建驗(yàn)證環(huán)境,通過仿真的手段可以檢驗(yàn)FPGA設(shè)計(jì)的正確性。
2. 全面的仿真驗(yàn)證可以減少FPGA硬件調(diào)試的工作量。
3.把硬件調(diào)試與仿真驗(yàn)證方法結(jié)合起來,用調(diào)試解決仿真未驗(yàn)證的問題,用仿真保證已經(jīng)解決的問題不在調(diào)試中再現(xiàn),可以建立一個(gè)回歸驗(yàn)證流程,有助于FPGA設(shè)計(jì)項(xiàng)目的維護(hù)。
FPGA設(shè)計(jì)者的這5項(xiàng)基本功不是孤立的,必須結(jié)合使用,才能完成一個(gè)完整的FPGA設(shè)計(jì)流程。反過來說,通過完成一個(gè)完整的設(shè)計(jì)流程,才能最有效地練習(xí)這5項(xiàng)基本功。對這5項(xiàng)基本功有了初步認(rèn)識,就可以逐個(gè)深入學(xué)習(xí)一些,然后把學(xué)到的知識再次用于完整的設(shè)計(jì)流程。如此反復(fù),就可以逐步提高設(shè)計(jì)水平。采用這樣的循序漸進(jìn)、螺旋式上升的方法,只要通過培訓(xùn)入了門,就可以自學(xué)自練,自我提高。
FPGA設(shè)計(jì)人員的進(jìn)階路線
從技術(shù)層面來講,可編程邏輯范圍是目前和將來半導(dǎo)體行業(yè)最活潑的范圍之一,不再是繁多地用于IC設(shè)想的原型考證,更多地用于提供集成的零碎級處置計(jì)劃。古代的FPGA不再僅僅是可編程邏輯,而是介于ASIC和FPGA之間的混合芯片,包括微處置器、收發(fā)器以及很多其它單元。所以對FPGA設(shè)想職員的請求也越來越高,已超出繁多的邏輯設(shè)想范圍。因而,關(guān)于FPGA初學(xué)者來講,需求明白團(tuán)體的進(jìn)階道路,進(jìn)而把握疾速開拓的辦法。下面給出作者團(tuán)體的一些觀念。
1
熟習(xí)一門硬件設(shè)想言語(VHDL或Verilog HDL),由于不論在哪種運(yùn)用范圍,HDL言語都是FPGA開拓的根底。目前國際運(yùn)用Verilog HDL言語的開拓職員較多一些,因而引薦讀者進(jìn)修Verilog HDL。正因如此,本書的實(shí)例都經(jīng)過Verilog HDL完成,并在附錄中給出其扼要的語法闡明。
2
把握ISE Design Suit相關(guān)軟件的運(yùn)用辦法。ISE軟件能夠完成設(shè)想輸出、分析、仿真、完成和下載,涵蓋了FPGA開拓的全進(jìn)程,從中讀者能夠逼真領(lǐng)會到FPGA開拓全進(jìn)程。關(guān)于嵌入式開拓職員,還需求把握EDK軟件操縱。當(dāng)把握軟件的根本用法后,能夠深化了解各工具組件,如分析工具XST、布局布線工具PAR等的運(yùn)轉(zhuǎn)機(jī)制,以便更好地在設(shè)想中應(yīng)用其特性。
3
熟習(xí)XilinxFPGA芯片,包括不同類型資源的功能特性和運(yùn)用辦法。此時(shí),Xilinx所公布的文檔是首要參考材料。Xilinx針對每個(gè)系列的FPGA都提供了豐厚而片面的文檔,所以在開端任何一個(gè)系列的FPGA設(shè)想前,最好到Xilinx網(wǎng)站,將該系列FPGA的頁面上將一切的文檔都下載上去,然后有針對性的做參考。
4
參考xilinx推出的開拓板以及相應(yīng)的參考設(shè)想,這是向初級進(jìn)階最有價(jià)值的局部。Xilinx在網(wǎng)上針對每個(gè)系列的fpga都有文檔闡明,并都給出原理圖。其開拓板的文檔闡明十分具體具體,也很標(biāo)準(zhǔn),有很大的參考價(jià)值。此外,在那些開拓板里也有眾多的核心接口電路,根本涵蓋了常用的運(yùn)用場所。參考核心電路芯片的數(shù)據(jù)手冊,細(xì)心領(lǐng)會設(shè)想的細(xì)節(jié)和運(yùn)用辦法。作為硬件工程師,閱讀手冊是一項(xiàng)根本技藝。當(dāng)然,在具有硬件平臺的根底上,參考Xilinx網(wǎng)上的開拓板是進(jìn)階道路中捷徑的捷徑。
5
入手調(diào)通一塊板子。有PCB設(shè)想才干的讀者,可自行設(shè)想;否則可購置相應(yīng)的開拓板,將下面一切的硬件外設(shè)調(diào)通,并參照相似的開拓板,獨(dú)立完成Xilinx官方的參考設(shè)想。完成這一步,就步入初級設(shè)想的大門了。
6
由于FPGA芯片以及開拓技術(shù)開展很快,因而不只要在任務(wù)中累積經(jīng)歷,還該當(dāng)關(guān)心該行業(yè)的新技術(shù)和新意向,只要這樣才干一直站在高處。
全體看來,F(xiàn)PGA開拓入門復(fù)雜,進(jìn)階階段不只難度較大、所需學(xué)問面廣,還是一個(gè)煩瑣的任務(wù)。同時(shí)假如想從底層更深化的了解硬件設(shè)想,還需需求深沉的實(shí)際支撐。因而FPGA開拓是一條平整但十分峻峭的路。
-
FPGA
+關(guān)注
關(guān)注
1625文章
21620瀏覽量
601238 -
FPG
+關(guān)注
關(guān)注
1文章
54瀏覽量
79930 -
觸發(fā)器
+關(guān)注
關(guān)注
14文章
1995瀏覽量
61011
原文標(biāo)題:待查收:一些FPG的知識點(diǎn) & FPGA的進(jìn)階路線
文章出處:【微信號:eda365wx,微信公眾號:EDA365電子論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論