數字電路應用實驗指導書_第1頁
數字電路應用實驗指導書_第2頁
數字電路應用實驗指導書_第3頁
數字電路應用實驗指導書_第4頁
數字電路應用實驗指導書_第5頁
已閱讀5頁,還剩35頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、數字電路應用實驗指導書上海大學機電一體化工程中心2015年12月目 錄一、 概述二、 實驗一 比較器三、 實驗二 碼制轉換器四、 實驗三 加法器五、 實驗四 優先編碼器六、 實驗五 七段譯碼器七、 實驗六 計數器八、 實驗七 移位寄存器九、 實驗八 綜合實驗十、 附錄a開發套件核心板etl-005介紹十一、 附錄b etl-005管腳位置約束十二、 附錄c quartusii軟件介紹一、 前言數字電路應用課是數字電路a的后續課程,本書是數字電路應用課的配套實驗指導書。主要內容集中在用集成電路和verilog語言進行時序邏輯電路設計,實驗內容與數字電路a的實驗內容對應,實驗旨在使學生學會用硬件設

2、計語言verilog進行數字邏輯電路中常用邏輯功能模塊的設計,大規模集成電路fpga/cpld的開發過程,實驗內容與數字電路a的實驗相對應,學習用不同方法設計數字邏輯功能電路、解決簡單的實際工程問題的基本技能。 本指導書的實驗使用的裝置為“易上手”系列fpga開發套件和微型計算機組成的數字電路實驗系統。在fpga/cpld的實驗中,培養學生學習和掌握verilog語言,以及它的開發環境quartusii的操作過程。與數字電路a的內容相對應,數字電路應用課的實驗最終也要構成如下圖所示的顆粒灌裝系統: 其工作原理和流程如下:(1)通過撥碼開關設置每瓶要裝糖果的個數(兩位十進制),通過編碼器轉換為b

3、cd碼,存入到寄存器中,寄存器的值可以通過一個譯碼器顯示在七段數碼管1上;(2)灌裝的顆粒通過灌裝裝置上的漏斗落入下面傳送帶上的瓶中,漏斗上裝有檢測顆粒下落的光電傳感器,每下落一個糖果,傳感器發送一個脈沖,控制系統中的計數器對該脈沖進行計數,計數的結果與預置的每瓶灌裝的顆粒數進行比較, 比較可以使用二進制或者bcd碼,如果比較器兩個輸入的碼制不同,需事先進行碼制轉換(將bcd轉為二進制或者二進制轉為bcd碼);比較結果相等則使計數器停止計數,同時該信號控制關閉漏斗開關,停止顆粒下落,啟動傳送帶換瓶等待下一次灌裝。系統中加法器負責統計當前灌裝總量,其數值送入寄存器寄存,寄存器的值可以通過碼制轉換

4、和譯碼器顯示在七段數碼管2上。(3)新瓶到位也由光電傳感器檢測,檢測到瓶子以后,停止傳送帶移動,將計數器清零后啟動計數器準備新一輪計數,打開漏斗開關進行新的灌裝。系統重復執行步驟(2)過程。同數字電路a,本課程的實驗仍采用分別設計系統中的功能模塊,最終綜合拼接的方法。開發套件核心板etl-005的簡單說明和各芯片管腳約束見附件a和b。實驗一 比較器實驗目的 (1) 熟悉verilog語言的基本結構,了解基本運算符和賦值(2) 熟悉quartusii的開發環境建立,以及仿真過程(3) 學會用verilog語言實現組合邏輯電路的方法(4) 用verilog語言設計組合邏輯電路的比較器實驗內容編寫設

5、計比較器的verilog代碼并仿真實驗步驟和要求設計比較器,如下圖所示:設計一個八位數比較器,輸入為糖果計數器輸出信號counter3:0和寄存器信號binreg3:0,輸出信號bequ為數據相等信號,輸出信號bbig為counter數據大于binreg數據信號,輸出信號bsmall為counter數據小于binreg數據信號。具體功能要求如下:兩個輸入數據為相等時,相等信號bequ輸出為1,否則輸出為0; counter數據大于binreg數據時,輸出信號bbig為1,否則為0;counter數據小于binreg數據信號時輸出信號bsmall為1,否則為0。電路管腳與信號定義如下:信號連接器

6、件名管腳說明counter3dip8pin_87輸入信號與撥碼開關相連counter2dip7pin_86counter1dip6pin_84counter0dip5pin_82binreg 3dip4pin_81binreg 2dip3pin_80binreg 1dip2pin_77binreg 0dip1pin_76bbigd1pin_187輸出信號與led指示燈相連bequd2pin_185bsmalld3pin_182(1) 將比較器進行設計軟件仿真。(2) 完成系統開發板級模塊調試和功能驗證。實驗結果:(1)繪制比較器的仿真波形圖。(2)撰寫實驗報告(含代碼)。實驗二 碼制轉換器實驗

7、目的 用verilog語言設計組合邏輯電路的碼制轉換器實驗內容編寫設計碼制轉換器的verilog代碼并仿真實驗步驟和要求設計bcd碼到二進制的碼制轉換器,如下圖所示:輸入為一維數組reg7.0,共有八位,低四位和高四位分別為一個10進制數的bcd碼,這個碼制轉換器將這2位數的bcd轉換為二進制輸出breg7.0。電路管腳與信號定義如下:信號連接器件名管腳說明reg 7dip8pin_87輸入信號與撥碼開關相連reg 6dip7pin_86reg 5dip6pin_84reg 4dip5pin_82reg 3dip4pin_81reg 2dip3pin_80reg 1dip2pin_77reg

8、0dip1pin_76breg7d8pin_175輸出信號與led指示燈相連breg6d7pin_176breg5d6pin_179breg4d5pin_180breg3d4pin_181breg2d3pin_182breg1d2pin_185breg0d1pin_187(1) 將碼制轉換器進行設計軟件仿真。(2) 完成系統開發板級模塊調試和功能驗證。實驗結果:(1) 繪制碼制轉換器的仿真波形圖。(2) 撰寫實驗報告(含代碼)。實驗三 加法器實驗目的 用verilog語言設計組合邏輯電路的加法器實驗內容編寫設計加法器的verilog代碼并仿真實驗步驟和要求設計加法器,如下圖所示:輸入為計數器的

9、輸出結果信號counter3.0和寄存器數據reg3.0,輸出為加法結果addresult3.0和進位c8。加法器功能要求如下:counter3.0與reg7.0相加,輸出結果addresult3.0和進位c。電路管腳與信號定義如下: 信號連接器件名管腳說明counter 3dip8pin_87輸入信號與撥碼開關相連counter 2dip7pin_86counter 1dip6pin_84counter 0dip5pin_82reg 3dip4pin_81reg 2dip3pin_80reg 1dip2pin_77reg 0dip1pin_76cd8pin_175輸出信號與led指示燈相連a

10、ddresult 3d4pin_181addresult 2d3pin_182addresult 1d2pin_185addresult 0d1pin_187(1) 將加法器進行設計軟件仿真。(2) 完成系統開發板級模塊調試和功能驗證。實驗結果:(1) 繪制加法器的仿真波形圖。(2) 撰寫實驗報告(含代碼)。實驗四 優先編碼器實驗目的 用verilog語言設計組合邏輯電路的優先編碼器實驗內容編寫設計優先編碼器的verilog代碼并仿真實驗步驟和要求編碼器將用撥碼開關的(或鍵盤)輸入編碼為對應的bcd碼表示,送到譯碼器和碼制轉換器的輸入進行相應的轉換(該部分電路在實驗一中完成)。計數器負責統計灌

11、裝的顆粒數(脈沖數),與預設的數據(上述撥碼開關輸入)比較,結果用于進行換瓶控制。設計優先編碼器,如下圖所示:輸入變量為每瓶糖果數設定撥碼開關sw8.1信號,輸出信號為與輸入量對應的用bcd碼表示的編碼ireg3.0(一位開關)。電路實現根據撥碼開關的設定,獲得對應的bcd碼表示的數字編碼值的功能。例如開關sw1為0,則編碼輸出1;sw2為0,則編碼輸出2;依次類推。電路管腳與信號定義如下:信號連接器件名管腳說明sw 8dip8pin_87輸入信號與撥碼開關相連sw 7dip7pin_86sw 6dip6pin_84sw 5dip5pin_82sw 4dip4pin_81sw 3dip3pin

12、_80sw 2dip2pin_77sw 1dip1pin_76ireg 3d4pin_181輸出信號與led指示燈相連ireg 2d3pin_182ireg 1d2pin_185ireg 0d1pin_187(1) 將優先編碼器進行設計軟件仿真。(2) 完成系統開發板級模塊調試和功能驗證。實驗結果:(1) 繪制優先編碼器的仿真波形圖。(2) 撰寫實驗報告(含代碼)。實驗五 七段譯碼器實驗目的 用verilog語言設計組合邏輯電路的七段譯碼器實驗內容編寫設計七段譯碼器的verilog代碼并仿真實驗步驟和要求七段譯碼器和碼制轉換器是灌裝系統中最常用的器件,它們將用bcd碼形式表示的預設灌裝顆粒數轉

13、換為檢測用的二進制數,同時將顆粒數顯示在七段數碼管上。設計bcd到七位數碼管的譯碼器,如下圖所示:輸入為一維數組inregh3.0和inregl3.0,分別表示數碼管高位數據和低位數據,采用bcd碼表示;輸出為一維數組olight6.0和sel1.0,分別表示數碼管的控制信號和數碼管的片選控制信號,完成的功能就是把輸入數據bcd碼譯碼為led數碼管的控制信號。其中高位和低位通過譯碼器輸出olight6.0連接到la0lg0,同時控制sel信號進行片選控制。七段數碼管的詳細電路圖,請查看附錄1中的電路圖。電路管腳與信號定義如下:信號連接器件名管腳說明inregh 3dip8pin_87輸入信號與

14、撥碼開關相連inregh 2dip7pin_86inregh 1dip6pin_84inregh 0dip5pin_82inregl 3dip4pin_81inregl 2dip3pin_80inregl 1dip2pin_77inregl 0dip1pin_76olight 6seggpin_146數據輸出信號與led數碼管olight 5segfpin_145olight 4segepin_144olight 3segdpin_163olight 2segcpin_162olight 1segbpin_161olight 0segapin_160sel3led_cs3pin_152數碼管選

15、片信號sel2led_cs2pin_151sel1sw0pin_70sel0sw1pin_72(1) 完成單個七段譯碼器設計軟件仿真。(2) 完成多個七段譯碼器設計軟件仿真。(3) 完成系統開發板級模塊調試和功能驗證。實驗結果:(1) 繪制譯碼器的仿真波形圖。(2) 撰寫實驗報告(含代碼)。實驗六 計數器實驗目的 用verilog語言設計時序邏輯電路的計數器實驗內容編寫設計計數器的verilog代碼并仿真實驗步驟和要求設計計數器,如下圖所示:輸入為糖果計數脈沖信號pulse0、瓶到信號pulse1、計數器數據與寄存器數據相等信號bequ和總清零信號reset,輸出信號為計數信號counter7

16、.0。具體功能要求如下:當reset為0時,計數器清零(輸出全零);用實驗箱上的脈沖輸入信號pulse0模擬計數脈沖(顆粒灌裝過程),pulse0脈沖信號pulse0下降沿時,計數器計數;當比較器輸出相等信號(bequ為1)時,計數器停止計數并輸出換瓶信號(可使用同一控制信號);當瓶到信號pulse1為1時,計數器清零; 電路管腳與信號定義如下:信號連接器件名管腳說明counter 7d8pin_175輸出信號與led指示燈相連counter 6d7pin_176counter 5d6pin_179counter 4d5pin_180counter 3d4pin_181counter 2d3p

17、in_182counter 1d2pin_185counter 0d1pin_187resetsw1pin_70糖果計數脈沖信號pluse0sw2pin_72瓶到信號pluse1sw3pin_74計數器數據與寄存器數據相等信號,表示已滿。bequdip8pin_87總清零(1) 將計數器進行設計軟件仿真。(2) 完成系統開發板級模塊調試和功能驗證。實驗結果:(1)繪制計數器的仿真波形圖。(2)編寫實驗報告(含代碼)。實驗七 移位寄存器實驗目的 用verilog語言設計時序邏輯電路的移位寄存器實驗內容編寫設計移位寄存器的verilog代碼并仿真實驗步驟和要求設計寄存器,如下圖所示:輸入為編碼器的

18、輸出信號code3.0、鎖存時鐘pulse3和清零信號reset,輸出信號為寄存器8位數據reg7.0。其功能要求如下:當清零信號reset為0時數據reg7.0輸出為0;當清零信號reset為0時,數據reg7.0輸出為0;其它情況下,當鎖存時鐘pulse3下降沿時,讀入數據code3.0,并保存到數據reg3.0中,當鎖存時鐘pulse3上升沿時,讀入數據code3.0,并保存到數據reg7.4中。電路管腳與信號定義如下: 信號連接器件名管腳說明resetsw1pin_70pulse3移位寄存時鐘。數據輸入信號與撥碼開關相連pulse3sw4pin_75code 3dip4pin_81co

19、de 2dip3pin_80code 1dip2pin_77code 0dip1pin_76reg7d8pin_175輸出信號與led指示燈相連reg6d7pin_176reg5d6pin_179reg4d5pin_180reg3d4pin_181reg2d3pin_182reg1d2pin_185reg0d1pin_187(1) 將移位寄存器進行設計軟件仿真。(2) 完成系統開發板級模塊調試和功能驗證。實驗結果:(1)繪制移位寄存器的仿真波形圖。(2)編寫實驗報告(含代碼)。實驗八 綜合實驗實驗目的 (1) 掌握verilog模塊設計和結構verilog設計(2) 掌握quartus的數據綜

20、合和芯片配置(3) 完成整個灌裝系統的設計實驗內容(1)對整個系統中各模塊進行結構拼接,并進行整體仿真(2)完成芯片配置和下載,驗證系統實驗步驟和要求(1)設計整個灌裝系統,如下圖所示:輸入設定:每瓶糖果數設定使用撥碼開關sw8.1、reset為總清零、用pulse0輸入糖果計數脈沖信號、pulse1給出新瓶到位信號,pulse3作為鎖存器時鐘控制信號,與sw8.1同時使用,完成兩位糖果灌裝數輸入。輸出設定:計數器counter7.0,靜態olight6.0、數碼管片選信號sel1.0。 實驗要求:將已經做過的各功能模塊按原理圖連接狀態拼接,具體步驟如下:系統總清零:reset為0時,所有信號

21、輸出清零,包括計數器counter7.0、數碼顯示靜態olight6.0、數碼管片選信號sel1.0;pulse0與撥碼開關sw8.1連接優先編碼器coder獲得灌裝數十位數字編碼ireg3.0;ireg3.0一次存入reg7.0的高四位,一次存入reg7.0的低四位。pulse0與撥碼開關sw8.1獲取灌裝數的個位數編碼ireg3.0設定數據reg7.0連接譯碼器驅動led數碼管,輸出為olight6.0和sel1.0;糖果計數脈沖信號pulse0連接計數器counter獲得每瓶灌裝的糖果顆粒數counter7.0;糖果顆粒數counter7.0和每瓶糖果顆粒數目設定數據reg7.0連接比較

22、器comparator,獲得每瓶數據相等信號bequ;相等信號bequ和瓶到信號pulse1反饋連接計數器,對計數器進行控制。電路管腳與信號定義如下:信號連接器件名管腳說明sw 8dip8pin_87輸入信號與撥碼開關相連sw 7dip7pin_86sw 6dip6pin_84sw 5dip5pin_82sw 4dip4pin_81sw 3dip3pin_80sw 2dip2pin_77sw 1dip1pin_76olight 6seggpin_146數據輸出信號與led數碼管olight 5segfpin_145olight 4segepin_144olight 3segdpin_163ol

23、ight 2segcpin_162olight 1segbpin_161olight 0segapin_160sel3led_cs3pin_152數碼管選片信號sel2led_cs2pin_151sel1led_cs1pin_150sel0led_cs0pin_149resetsw1pin_70糖果計數脈沖信號pluse0sw2pin_72瓶到信號pluse1sw3pin_74計數器數據與寄存器數據相等信號,表示已滿。pulse3sw4pin_75(1) 根據verilog結構語法拼接所有模塊。(2) 完成系統開發板級模塊調試和功能驗證。實驗結果:(1)編寫系統top模塊程序,并繪制相關仿真波

24、形。(2)編寫實驗報告。附錄a開發套件核心板etl-005介紹1、實驗平臺硬件的介紹etl-005開發套件核心板資源包括:altera公司的cyclone ii系列中的ep2c5q208c8n,epcs4 flash,貼片的100mhz和直插的50mhz 有源晶振,10腳jtag接口,+1.2v、+3.3 v電源指示。另外還配有一根usb電源適配線、一根xilinx pc-iii并口下載線和一根altera bb-ii并口下載線等。etl-005核心板etl-005底板圖1 etl005板圖etl005有+1.2v,+2.5v,+3.3v三種電源,班上有工作電壓狀態led指示,當核心板安裝在開

25、發底板上、底板接通電源后,核心板上+1.2v,+2.5v,+3.3v的led電源指示燈亮起,指示該核心板已接通電源,可以正常工作。核心板fpga外部使用100mhz貼片形式和50mhz直插形式的兩種有源晶振,后者可以通過插拔的方式更換成任意頻率的晶振,也可以在 fpga 內部進行分頻或利用 fpga內部 pll 倍頻等途徑來得到其它頻率的時鐘源。芯片上24腳對應100hz晶振,23腳對應50hz晶振。可以如下約束set_location_assignment pin_24 -to clk_100set_location_assignment pin_23 -to clk_50為了下載配置數據到

26、 fpga,etl-005核心板對于該核心板的jtag下載模式,提供了jtag 10pin牛角插座供下載器使用。該核心板配置了存儲容量為4mbit的altera專用epcs4si8n芯片(flash)。配置芯片連接原理圖如下圖所示:epcs4s電路原理圖ep2c5q208c8n芯片上的i/o接口通過核心板背面的80管腳貼片連接器連接到底板上,底板上對應的接口信號的管腳位置約束參照附錄b在安裝好軟件quantusii后,就可以開始進行各種實驗。led指示燈電路:開發板提供了8個紅色貼片led燈,與8個撥動開關相對應,撥動開關可以通過fpga控制led的狀態,以指示當前試驗中的各種狀態的信息。le

27、d等分布在開發底板的頂部,位置標識如下圖所示:led的原理圖如下圖所示:七段數碼管顯示:開發板提供了4位7段的數碼管顯示,用于顯示任何數字或字母信息。開發板自帶的時鐘演示程序可以在4位數碼管上實時地顯示分鐘和秒鐘信息。由于七段碼 led公共端連接到 vcc(共陽極型) ,當 fpga對應的 io引腳輸出低電平時,對應的七段碼 led 中的 led 點亮;當 fpga 對應的 io 引腳輸出高電平時,對應的七段碼 led 中的 led 熄滅。其信號引腳與 fpga 的 io 接口的對應關系見原理圖。七段碼 led 是開發板上提供的另一個方便開發人員調試的顯示設備。開發板上使用的七段碼 led是共

28、陽極型,af和 dp這八個 led原理圖均與fpga 的 io 引腳直接相連,其對應段名稱如圖所示。 七段碼ledled接口的硬件原理圖如下圖所示:按鍵和開關電路:為了方便開發人員作一些簡單的、手動的邏輯輸入,開發板提供了4位瞬時接通型按鍵開關和8位撥碼開關,位于開發底板的右下側,用于核心板的復位和led燈狀態信息的輸入。4位按鍵開關的位置標識如下圖所示:按鍵位置標識sw按鍵開關原理圖如下圖所示:圖 01 按鍵開關電路原理圖8位撥碼開關的位置標識如下圖所示: 1 0撥動開關位置標識原理圖如下圖所示: 撥動開關電路原理圖dip開關向上撥動為1,向下撥動為0.默認的開關狀態為全部向下,即全部為0。

29、附錄b etl-005管腳位置約束set_location_assignment pin_24 -to clk_100set_location_assignment pin_23 -to clk_50set_location_assignment pin_70 -to sw0set_location_assignment pin_72 -to sw1set_location_assignment pin_74 -to sw2set_location_assignment pin_75 -to sw3set_location_assignment pin_76 -to dip0set_locat

30、ion_assignment pin_77 -to dip1set_location_assignment pin_80 -to dip2set_location_assignment pin_81 -to dip3set_location_assignment pin_82 -to dip4set_location_assignment pin_84 -to dip5set_location_assignment pin_86 -to dip6set_location_assignment pin_87 -to dip7# clock, led#set_location_assignment

31、 pin_152 -to "led_cs<3>"set_location_assignment pin_151 -to "led_cs<2>"set_location_assignment pin_150 -to "led_cs<1>"set_location_assignment pin_149 -to "led_cs<0>"set_location_assignment pin_160 -to "led_seg<0>"set_loc

32、ation_assignment pin_161 -to "led_seg<1>"set_location_assignment pin_162 -to "led_seg<2>"set_location_assignment pin_163 -to "led_seg<3>"set_location_assignment pin_144 -to "led_seg<4>"set_location_assignment pin_145 -to "led_seg&l

33、t;5>"set_location_assignment pin_146 -to "led_seg<6>"#set_location_assignment pin_ -to led_dpset_location_assignment pin_147 -to "led_seg<7>"set_location_assignment pin_175 -to led7set_location_assignment pin_176 -to led6set_location_assignment pin_179 -to led

34、5set_location_assignment pin_180 -to led4set_location_assignment pin_181 -to led3set_location_assignment pin_182 -to led2set_location_assignment pin_185 -to led1set_location_assignment pin_187 -to led0附錄c quartusii軟件介紹quartus ii 是altera公司的綜合性pld開發軟件,支持原理圖、verilog、veriloghdl以及ahdl(altera hardware des

35、cription language)等多種設計輸入形式,內嵌自有的綜合器以及仿真器,可以完成從設計輸入到硬件配置的完整pld設計流程。如何來使用quartusii呢?我們通過設計一個四路選通器來進行說明。假設要設計一個如下圖所示的功能;aymuxcbds2圖3 四路選選通器它的真值表如下:s1s0y00a01b10c11d使用quartusii的步驟如下:(1)打開quartusii,在桌面或菜單中點擊圖標,打開quartusii軟件(2) 點擊菜單filenew project wizard.,建立一個新的工程,輸入工程的名稱muxfour, 如下圖所示。(3) 點擊next,出現添加文件的界面,如下圖所示,這里可以添加工程所需的verilog文件,目前我們還沒有任何建立的verilog,因此可直接點擊next。(4) 上一步驟點擊next后,出現如下圖所示界面:這個界面

溫馨提示

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

評論

0/150

提交評論