FPGA實(shí)驗(yàn)報(bào)告_第1頁
FPGA實(shí)驗(yàn)報(bào)告_第2頁
FPGA實(shí)驗(yàn)報(bào)告_第3頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、電氣技術(shù)實(shí)踐可編程邏輯器件 FPGA 應(yīng)用開發(fā)實(shí)驗(yàn)報(bào)告2021年 12 月目錄 一、實(shí)驗(yàn)?zāi)康亩?shí)驗(yàn)要求三、實(shí)驗(yàn)內(nèi)容四、實(shí)驗(yàn)代碼及實(shí)驗(yàn)結(jié)果(1) 4 位二進(jìn)制加法計(jì)數(shù)器(2) 半加器(3) LED靜態(tài)顯示(4) 38 譯碼器( 5)點(diǎn)陣掃描顯示( 6)步進(jìn)電機(jī)狀態(tài)機(jī)五、實(shí)驗(yàn)感想六、學(xué)習(xí)并使用FPGA的心得與體會七、電氣技術(shù)實(shí)踐總結(jié)一、實(shí)驗(yàn)?zāi)康?、熟悉使用可編程邏輯器件 (Altera 公司FPGA Cyclone系列EP1C6Q。2、熟悉使用硬件描述語言 VHDL。4、熟悉使用核心目標(biāo)系統(tǒng)板與接口電路等工作原理及其功能模塊綁定信息。5、熟悉并掌握下載線方式和下載文件的選擇。二、實(shí)驗(yàn)要求1、學(xué)習(xí)

2、并掌握文本、圖形等輸入和時序、功能仿真方法。2、學(xué)習(xí)并熟悉門電路、組合電路、時序電路等單一模塊功能。3、學(xué)習(xí)并設(shè)計(jì)各種不同狀態(tài)機(jī)邏輯功能。4、學(xué)習(xí)并設(shè)計(jì)由單一模塊t較多功能模塊集成t系統(tǒng)集成方法。5、學(xué)習(xí)并選擇多種模式顯示 發(fā)光二極管顯示、米字型數(shù)碼管顯示、七段數(shù)碼管t動 態(tài)掃描或靜態(tài)掃描顯示、LED點(diǎn)陣顯示各種字符和圖形或靜止或移動等方式、LCD晶顯示各種字符和圖形或靜止或移動等方式 。6、根據(jù)自已的興趣和愿望,可從以下給定的實(shí)驗(yàn)?zāi)夸浿羞x取或自已設(shè)定功能題目。7、實(shí)驗(yàn)數(shù)目沒有要求,關(guān)鍵是看質(zhì)量,是否是自已編寫、調(diào)試、實(shí)現(xiàn)。三、實(shí)驗(yàn)內(nèi)容1、 按指導(dǎo)書集成開發(fā)環(huán)境章節(jié)操作實(shí)現(xiàn)文本編程實(shí)例1 和圖

3、形編程實(shí)例 2全過程。2、任選門電路、組合電路、時序電路實(shí)驗(yàn)各完成一個其邏輯功能,其實(shí)現(xiàn)方案自已規(guī)定。在進(jìn)行FPGA目標(biāo)器件輸入和輸出引腳綁定時,輸入引腳綁定高/低電平、單脈沖、各種分頻連續(xù)脈沖等多種信號,輸出引腳可綁定發(fā)光二極管、七段數(shù)碼管、LED點(diǎn)陣等顯示模式。3、在完成 1位十進(jìn)制計(jì)數(shù)器的根底上,可增加完成 2或 3等多位十進(jìn)制計(jì)數(shù)器邏輯功 能并用多位七段數(shù)碼管來顯示。4、根據(jù)狀態(tài)機(jī)工作特點(diǎn),設(shè)計(jì)一個有一定功能效果的例程。5、利用 4X4 鍵盤設(shè)計(jì)顯示對應(yīng)的鍵字符信息。6、用LED點(diǎn)陣顯示任意字符、圖形信息。四、實(shí)驗(yàn)代碼及實(shí)驗(yàn)結(jié)果1)4 位二進(jìn)制加法計(jì)數(shù)器【實(shí)驗(yàn)代碼】library ie

4、ee;use count4 isport(clk,d:in std_logic;rst:in std_logic;q:out std_logic_vector(3 downto 0);end entity count4;architecture bhv of count4 issignal q1:std_logic_vector(3 downto 0);beginprocess(rst,clk,d)beginif(rst='0')thenq1<="0000"elsif(clk'event and clk = '1')thenq1

5、<=q1+1;end if;end process;q<=q1;end architecture bhv;【實(shí)驗(yàn)操作】輸入信號elk時鐘t Pin 152 ; rst清零Pin1 ; d啟動控制宀Pin2 ;輸出信號q3 Pin43 ; q2紅色開關(guān)組左邊開始第一個和第二個,顯示位置在實(shí)驗(yàn)箱左上角第一、 二、三、四個發(fā)光二 極管輸入信號rst、d都為“ 1、 SW7旋轉(zhuǎn)到1Hz,輸出結(jié)果信息為第一、二、三、四個發(fā)光 二極管按照0000t0001t 1111循環(huán)顯示,符合實(shí)驗(yàn)要求。2半加器【實(shí)驗(yàn)原理圖】【實(shí)驗(yàn)操作】邏輯分析:輸入信號a、b;輸出信號分別為sum 和、carry 進(jìn)位。

6、邏輯方程:sum=a® b; carry=a * b.接口信號與目標(biāo)器件引腳連接:輸入信號pin_nametPin1、pin_name2f Pin2 ;輸出信號 pin_name4 和t Pin44、pin_name3 進(jìn)位t Pin43.可觀察到通過輸入得到的邏輯輸出與上述的邏輯方程相符,符合半加器的邏輯要求。3LED靜態(tài)顯示【實(shí)驗(yàn)代碼】library ieee;use dec7s1 isportA:in std_logic_vector3 downto 0; LED7S:out std_logic_vector6 downto 0; end;architecture onr of

7、 dec7s1 is beginprocess(A) begi ncase A iswhe n"0000"=>LED7S<二"1111110"whe n "0001"=>LED7S<二"0110000" whe n"0010" => LED7S<="1101101" whe n"0011" => LED7S<二"1111001" whe n "0100" => L

8、ED7S<="0110011" whe n "0101" => LED7SV二"1011011" when "0110" => LED7S<="1011111"whe n "0111" => LED7S<="1110000" whe n "1000" => LED7S<="1111111" whe n"1001" => LED7S<=&q

9、uot;1111011" whe nothers => n ull;end case;end process;end;【實(shí)驗(yàn)操作】用開關(guān)A3, A2 , A1, A0作為輸入設(shè)置,組成一個高輸入有效的 根本組合邏輯器;從輸出指示LED7S觀察到數(shù)字隨A3, A2,A1, A0 設(shè)置值的變化而引起的相應(yīng)變化。(4) 38譯碼器A3 A2 Al A0a b c d e f g0 0 0 01 1 I 1 1 1 00 0 0 10 110 0 0 000 L 0I 1 t> 1 1 0 10 0 1 111110 0 10 1 0 &0 110 0 11Q 1 0 1

10、10 110 1:0 110I 0 1 1 1 1 1真值表如下圖:實(shí)驗(yàn)代碼】library ieee;use encoder isport(a,b,c:in std_logic;y:out std_logic_vector(7 downto 0);end;architecture one of encoder issignal temp:std_logic_vector(2 downto 0);signal tt:std_logic_vector(7 downto 0);begintemp<=c&b&a;process(temp)begincase temp iswhe

11、n "000" =>tt<="00000001"when "001" =>tt<="00000010"whe n "010" =>tt<二"00000100"when "011" =>tt<二"00001000"when "100" =>tt<="00010000"when "101" =>tt<=&quo

12、t;00100000"when "110" =>tt<="01000000"end case;end process;y<=tt;end one;【實(shí)驗(yàn)操作】三個撥碼開關(guān)確定輸入,由八個 LED的亮暗完成譯碼顯示與真值表相同:輸入端輸出端A1A2A3Y0Y1Y2Y3Y4Y5Y6Y70001000000000101000000010001000000110001000010000001000101000001001100000001011100000001(5)點(diǎn)陣掃描顯示【實(shí)驗(yàn)代碼】library IEEE;use count

13、4 isport (clk,d:in std_logic;-in bit;rst: in std_logic;q:out std_logic_vector(3 dow nto 0);p:out std_logic_vector(7 dow nto 0); m:out std_logic_vector(7 dow nto 0);end en tity coun t4;architecture jsq of count4 issig nal q1:std_logic_vector(3 dow nto 0);sig nal p1:std_logic_vector(7 dow nto 0);sig n

14、al p2:std_logic_vector(7 dow nto 0);begi nprocess(rst,clk)begi np1<="00000000"p2<="00000000"if(clk'event and clk='1') thenif(rst='0')thenq1<="0000"else if(d='1')thenif(q1="1111")thenq1<="0000"elseq1<=q1+'

15、;1'end if;end if;end if;end if;q<=q1;case q1 isend case;end process;end architecture jsq;【實(shí)驗(yàn)現(xiàn)象】可觀察到點(diǎn)陣的一個亮行隨時鐘脈沖從上往下掃描,并周期循環(huán)。(6)步進(jìn)電機(jī)狀態(tài)機(jī)【實(shí)驗(yàn)原理】【實(shí)驗(yàn)代碼】library ieee;use state_stepper_b isport(clk,dir:in std_logic;q:out std_logic_vector(3 downto 0);end state_stepper_b;architecture arc of state_stepp

16、er_b istype state_type is (s0,s1,s2,s3);-定義狀態(tài)機(jī)的四個狀態(tài)signal state:state_type;beginprocess( clk)beginif (clk'event AND clk='1') thenif (dir='1')then-正轉(zhuǎn)時處理如下state<=s0;case state iswhen s0=> state<=s1;when s1=> state<=s2;when s2=> state<=s3;when s3=> state<=

17、s0;end case;else - 反轉(zhuǎn)時處理如下state<=s3;case state iswhen s3=> state<=s2;when s2=> state<=s1;when s1=> state<=s0;when s0=> state<=s3;end case;end if;end if;end process;with state select-各狀態(tài)對應(yīng)的二進(jìn)制數(shù)碼q <= "0001" when s0,"0010" when s1,"0100" when

18、s2,"1000" when s3,"0000" when others;end arc;【實(shí)驗(yàn)現(xiàn)象】輸入信號:時鐘elk接10Hz輸入SW7 P152;方向dir接撥動開關(guān)101 撥碼開 關(guān) SW3左 1 P1 ;輸出信號:4位輸出信號接LED模塊025- 028 P43P46;實(shí)驗(yàn)操作下載程序,將SW7撥至第二段10Hz,此時,LED燈的前1位會有 規(guī)律的閃爍。改變方向開關(guān)的電平信號,指示燈的移動方向立即改變。五實(shí)驗(yàn)感想在數(shù)字電路的課程學(xué)習(xí)中, 我們了解到, FPGA 是 FieldProgrammable Gate Array 現(xiàn)場可編程門陣列的縮

19、寫,它是在PALGAL、PLD 等可編程器件的根底上進(jìn)一步開展的產(chǎn)物,是專用集成電 路ASIC中集成度最高的一種。通過在電氣實(shí)踐中實(shí)際操作 FPGA式驗(yàn)箱,親自下載程序并觀察 實(shí)驗(yàn)現(xiàn)象,我更加認(rèn)識到,F(xiàn)PGA作為專用集成電路領(lǐng)域中的一種半 定制電路, 既解決了定制電路的缺乏, 又克服了原有可編程器件門電 路數(shù)有限的缺點(diǎn)??梢哉J(rèn)為FPGA能完成任何數(shù)字器件的功能,上至 高性能CPU下至簡單的74、40系列等集成電路。FPGA內(nèi)部由門電 路和觸發(fā)器以及系統(tǒng)時鐘等陣列構(gòu)成。我們可以通過原理圖輸入或硬件描述語言或混合編寫方式任意、 自由地設(shè)計(jì)一個數(shù)字系統(tǒng), 對設(shè)計(jì)方案進(jìn)行時序仿真和功能仿真, 來 驗(yàn)證

20、設(shè)計(jì)的正確性。 盡管初次使用時有些苦難, 特別是引腳不知如何 連接。但通過實(shí)驗(yàn)例程的引導(dǎo),就能迅速摸索出引腳的連接方法。FPGA可以應(yīng)用到許多方面,通過搭載不同的內(nèi)核,可以應(yīng)用到 不同系統(tǒng)中,完成多種任務(wù)設(shè)計(jì)。由此可見,對于相關(guān)專業(yè)的學(xué)習(xí)與 工作來說,學(xué)好FPG A學(xué)會運(yùn)用它豐富的功能,是十分有必要的。 短暫的課程之余,我們更應(yīng)當(dāng)加深對 FPGA勺學(xué)習(xí)與了解。六、學(xué)習(xí)并使用編程邏輯器件 FPGA勺心得和體會在數(shù)字電路理論課程的學(xué)習(xí)中, 在第八章里, 我們了解了可編程 邏輯器件的相關(guān)知識。從中,我對現(xiàn)在非常流行的FPGA產(chǎn)生過濃厚的興趣,卻遺憾于無法見識其廬山真面目。所以非常有幸,在本學(xué)期 電氣

21、實(shí)踐課程的最后,自己能夠親身體驗(yàn)簡單設(shè)計(jì)的完整流程,對 FPGA的認(rèn)識不再僅局限于嚴(yán)謹(jǐn)卻蒼白的理論,而是真正地自己去實(shí) 現(xiàn)了些以前要花很多精力連龐雜的線才能實(shí)現(xiàn)的功能, 確實(shí)覺得收獲 良多。簡明地講, F P GA( Field Programmable Gate Array ),即現(xiàn)場可編 程門陣列,它是在PAL GAL CPLD等可編程器件的根底上進(jìn)一步發(fā) 展的產(chǎn)物。它是作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路 而出現(xiàn)的, 其出現(xiàn)既解決了定制電路的缺乏, 又克服了原有可編程器 件門電路數(shù)有限的缺點(diǎn),一經(jīng)面世,就很快風(fēng)行整個行業(yè)。而通過動手實(shí)驗(yàn),我對于 FPGA勺工作原理,也有了較

22、之前更清楚明 白的理解。它采用了邏輯單元陣列 LCA ( Logic Cell Array )這樣一 個概念,內(nèi)部包括可配置邏輯模塊 CL (B Configurable Logic Block ) 、 輸入輸出模塊 IO(B Input Output Block )和內(nèi)部連線( Interconnect ) 三個局部。 現(xiàn)場可編程門陣列(FPGA是可編程器件,與傳統(tǒng)邏輯 電路和門陣列(如PAL GAL及CPLD器件)相比,F(xiàn)PGA具有不同的 結(jié)構(gòu)。FPGA利用小型查找表(16X1RAM來實(shí)現(xiàn)組合邏輯,每個查 找表連接到一個D觸發(fā)器的輸入端,觸發(fā)器再來驅(qū)動其他邏輯電路或 驅(qū)動 I/O ,由此構(gòu)

23、成了既可實(shí)現(xiàn)組合邏輯功能又可實(shí)現(xiàn)時序邏輯功能 的根本邏輯單元模塊,這些模塊間利用金屬連線互相連接或連接到 I/O模塊。FPGA勺邏輯是通過向內(nèi)部靜態(tài)存儲單元加載編程數(shù)據(jù)來實(shí) 現(xiàn)的,存儲在存儲器單元中的值決定了邏輯單元的邏輯功能以及各模 塊之間或模塊與I/O間的聯(lián)接方式,并最終決定了 FPGA所能實(shí)現(xiàn)的 功能,F(xiàn)PGA允許無限次的編程。而通過這兩次的親手操作FPGA實(shí)驗(yàn),我真切感受到了它的神奇魅力。 首先要說的是, 本學(xué)期數(shù)字電路實(shí)驗(yàn)相較于上學(xué)期模擬電路的實(shí)驗(yàn)而 言,調(diào)試局部很少, 大局部都是保證連線正確就可以保證現(xiàn)象的產(chǎn)生 以及功能上的實(shí)現(xiàn)。 然而不得不成認(rèn)的是, 其連線的復(fù)雜程度經(jīng)常讓 人瞠目結(jié)舌,而我們涉及的實(shí)驗(yàn)局部還僅僅是數(shù)字電路中比擬簡單的 內(nèi)容,實(shí)踐設(shè)計(jì)電路中, 這種單獨(dú)芯片羅列的方式也顯然不能滿足當(dāng) 今用戶需求, 總讓人覺得現(xiàn)在做的實(shí)驗(yàn)似乎并不適用于實(shí)際操作, 所 以,F(xiàn)PGA的實(shí)驗(yàn)讓我體驗(yàn)到了比擬靠近當(dāng)前真實(shí)電路的設(shè)計(jì)方式, 也初步掌握了 QUARTUSI集成開發(fā)環(huán)境的根本操作。具體的講, 在本學(xué)期前面所做的實(shí)驗(yàn)中有一個電子順序鎖的實(shí)驗(yàn), 連 線、各模塊聯(lián)合起來的調(diào)試都極為復(fù)雜, 可以

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論