FPGA實驗報告_第1頁
FPGA實驗報告_第2頁
FPGA實驗報告_第3頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

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

4、器 【實驗代碼】library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity count4 is port(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='

5、0')thenq1<="0000"elsif(clk'event and clk = '1')then q1<=q1+1;end if;end process;q<=q1;end architecture bhv;實驗操作】輸入信號elk時鐘t Pin 152 ;st清零宀Pin1 ;d啟動控制Pin2;輸出信號q3Pin43; q2Pin44 ;q1f Pin45; qO Pin46.旋轉位置在實驗箱中部偏下局部 SW7旋轉分頻開關、撥碼開關對應位置在實驗箱左下局部粉 紅色開關組左邊開始第一個和第二個,顯示位置在實驗箱左上

6、角第一、二、三、四個發(fā)光二極管輸入信號 rst、 d 都為“1 、 SW7 旋轉到 1Hz, 輸出結果信息為第一、二、三、四個發(fā)光二 極管按照OOOOtOOO1tt 1111循環(huán)顯示,符合實驗要求。2半加器【實驗原理圖】【實驗操作】邏輯分析:輸入信號a、b;輸出信號分別為sum 和、carry 進位。邏輯方程:sum=a ® b; carry=a * b.接口信號與目標器件引腳連接:輸入信號pin_nameTPin 1、pin_name2f Pin2;輸出信號 pin_name4 和t Pin44、pin_name3 進位t Pin43.可觀察到通過輸入得到的邏輯輸出與上述的邏輯方程

7、相符,符合半加器的邏輯要求。3LED靜態(tài)顯示實驗代碼】library ieee;use ieee.std_logic_1164.all;entity dec7s1 isport(A:in std_logic_vector(3 downto O); LED7S:outstd_logic_vector(6 downto O); end;architecture onr of dec7s1 is beginprocess(A)begincase A iswhen "0000" => LED7S<="1111110" when "0001&

8、quot; => LED7S<="0110000" when"0010" => LED7S<="1101101" when"0011" => LED7S<="1111001" when "0100" => LED7S<="0110011" when "0101" => LED7S<="1011011" when "0110" =>

9、LED7S<="1011111"when "0111" => LED7S<="1110000" when "1000" => LED7S<="1111111" when"1001" => LED7S<="1111011" whenothers => null;end case;end process;end;【實驗操作】用開關 A3,A2 ,A1,A0 作為輸入設置,組成一個高輸入有效的根本組合邏輯器;從輸出

10、指示LED7S觀察到數字隨A3, A2 , A1, A0 設置值的變化而引起的相應變化。真值表如下圖:(4) 38譯碼器【實驗代碼】library ieee;use ieee.std_logic_use ieee.std_logic_ un sig ned.all;en tity en coder is port(a,b,c:in std_logic;y:out stdo gic_vector(7 dow nto 0);end;architecture one of en coder is sig nal temp:std_logic_vector(2 dow nto 0); sig nal

11、tt:stdo gic_vector(7 dow nto 0); begi n temp<=c &b&a;process(temp)begi n case temp iswhe n "000" =>tt<二"00000001"whe n "001" =>tt<二"00000010"whe n "010" =>tt<二"00000100"whe n "011" =>tt<="00

12、001000"whe n "100" =>tt<="00010000"whe n "101" =>tt<="00100000"whe n "110" =>tt<="01000000"end case;end process;y<=tt;end one;【實驗操作】 三個撥碼開關確定輸入,由八個 LED的亮暗完成譯碼顯示與真值表相同:輸入端輸出端A1A2A3Y0Y1Y2Y3Y4Y5Y6Y70001000000000101000

13、000010001000000110001000010000001000101000001001100000001011100000001(5)點陣掃描顯示【實驗代碼】library IEEE;use IEEE.STD_L0GIC_116 4A LL;use IEEE.STD_LOGIC_UNSIGNED.ALL;en tity count4 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

14、: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);signal p2:std_logic_vector(7 downto 0);beginprocess(rst,clk)beginp1<="00000000"p2<="00000000"if(clk'even

15、t and clk='1') thenif(rst='0')thenq1<="0000"else if(d='1')thenif(q1="1111")thenq1<="0000"elseq1<=q1+'1'end if;end if;end if;end if;q<=q1;case q1 isend case;end process;end architecture jsq;實驗現(xiàn)象】可觀察到點陣的一個亮行隨時鐘脈沖從上往下掃描,并周期循環(huán)。6步進

16、電機狀態(tài)機實驗原理】實驗代碼】library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity 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_stepper_b istype state_type is (s0,s1,s2,s3);-定義狀態(tài)機的四個狀態(tài)signal state:state_type;

17、begin process( clk) beginif (clk'event AND clk='1') thenif (dir='1')then-正轉時處理如下state<=s0;case state iswhen s0=> state<=s1;when s1=> state<=s2;when s2=> state<=s3;when s3=> state<=s0;end case;else - 反轉時處理如下state<=s3;case state iswhen s3=> state<

18、;=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)對應的二進制數碼q <= "0001" when s0,"0010" when s1,"0100" when s2,"1000" when s3,"0000" when others;end arc;【實驗現(xiàn)象】輸入

19、信號:時鐘elk接10Hz輸入(SW7) P152;方向dir接撥動開關101 (撥碼開 關 SW3左 1) P1 ;輸出信號:4位輸出信號接LED模塊025- 028 P43P46;實驗操作 下載程序,將SW7撥至第二段10Hz,此時,LED燈的前1位會有 規(guī)律的閃爍。改變方向開關的電平信號,指示燈的移動方向立即改變。五實驗感想在 數 字 電 路 的 課 程 學 習 中 , 我 們 了 解 到 , FPGA 是 Field Programmable Gate Array 現(xiàn)場可編程門陣列的縮寫,它是在PAL GAL、PLD 等可編程器件的根底上進一步開展的產物,是專用集成電 路ASIC中集成

20、度最高的一種。通過在電氣實踐中實際操作 FPGA式驗箱,親自下載程序并觀察 實驗現(xiàn)象,我更加認識到,F(xiàn)PGA作為專用集成電路領域中的一種半 定制電路, 既解決了定制電路的缺乏, 又克服了原有可編程器件門電 路數有限的缺點??梢哉J為FPGA能完成任何數字器件的功能,上至 高性能CPU下至簡單的74、40系列等集成電路。FPGA內部由門電 路和觸發(fā)器以及系統(tǒng)時鐘等陣列構成。我們可以通過原理圖輸入或硬件描述語言或混合編寫方式任意、 自由地設計一個數字系統(tǒng), 對設計方案進行時序仿真和功能仿真, 來 驗證設計的正確性。 盡管初次使用時有些苦難, 特別是引腳不知如何 連接。但通過實驗例程的引導,就能迅速摸

21、索出引腳的連接方法。FPGA可以應用到許多方面,通過搭載不同的內核,可以應用到 不同系統(tǒng)中,完成多種任務設計。由此可見,對于相關專業(yè)的學習與 工作來說,學好FPG A學會運用它豐富的功能,是十分有必要的。短暫的課程之余,我們更應當加深對 FPGA勺學習與了解。六、學習并使用編程邏輯器件 FPGA的心得和體會在數字電路理論課程的學習中, 在第八章里, 我們了解了可編程 邏輯器件的相關知識。從中,我對現(xiàn)在非常流行的FPGA產生過濃厚的興趣,卻遺憾于無法見識其廬山真面目。所以非常有幸,在本學期 電氣實踐課程的最后,自己能夠親身體驗簡單設計的完整流程,對 FPGA的認識不再僅局限于嚴謹卻蒼白的理論,而

22、是真正地自己去實 現(xiàn)了些以前要花很多精力連龐雜的線才能實現(xiàn)的功能, 確實覺得收獲 良多。簡明地講, F P GA( Field Programmable Gate Array ),即現(xiàn)場可編 程門陣列,它是在PAL GAL CPLD等可編程器件的根底上進一步發(fā) 展的產物。它是作為專用集成電路(ASIC)領域中的一種半定制電路 而出現(xiàn)的, 其出現(xiàn)既解決了定制電路的缺乏, 又克服了原有可編程器 件門電路數有限的缺點,一經面世,就很快風行整個行業(yè)。而通過動手實驗,我對于 FPGA的工作原理,也有了較之前更清楚明 白的理解。它采用了邏輯單元陣列 LCA ( Logic Cell Array )這樣一

23、個概念,內部包括可配置邏輯模塊 CL (B Configurable Logic Block ) 、 輸入輸出模塊 IO(B Input Output Block )和內部連線( Interconnect ) 三個局部?,F(xiàn)場可編程門陣列(FPGA是可編程器件,與傳統(tǒng)邏輯電路和門陣列(如PAL GAL及CPLD器件)相比,F(xiàn)PGA具有不同的 結構。FPGA利用小型查找表(16X1RAM來實現(xiàn)組合邏輯,每個查 找表連接到一個D觸發(fā)器的輸入端,觸發(fā)器再來驅動其他邏輯電路或 驅動 I/O ,由此構成了既可實現(xiàn)組合邏輯功能又可實現(xiàn)時序邏輯功能 的根本邏輯單元模塊,這些模塊間利用金屬連線互相連接或連接到I

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

溫馨提示

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

評論

0/150

提交評論