




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、課 程 設 計課程名稱 硬件描述語言與EDA技術 題目名稱 硬件描述語言與EDA技術實踐學生學院 材料與能源 專業(yè)班級 12微電子學(2班 學 號 3112007374 學生姓名 鄭 培 柱 指導教師 陳 先 朝 2015年 6月 22日廣東工業(yè)大學課程設計任務書題目名稱硬件描述語言與EDA技術實踐學生學院材料與能源學院專業(yè)班級12微電子學(2班姓 名鄭培柱學 號3112007374一、課程設計的內容與要求1. 系統(tǒng)功能分析,分模塊層次化設計;2. 實現(xiàn)系統(tǒng)功能的方案設計;3. 編寫各功能模塊Verilog HDL語言程序;4. 對各功能模塊進行編譯、綜合、仿真和驗證;5. 頂層文件設計,可用
2、Verilog HDL語言設計,也可以用原理圖設計;6. 整個系統(tǒng)進行編譯、綜合、仿真和驗證;7. 在CPLD/FPGA實驗開發(fā)系統(tǒng)試驗箱上進行硬件驗證;8. 按所布置的題目要求,每一位學生獨立完成全過程。二、課程設計應完成的工作1. 所要求設計內容的全部工作;2. 按設計指導書要求提交一份報告書;3. 提交電子版的設計全部內容:工程目錄文件夾中的全部內容,報告書三、課程設計進程安排序號設計各階段內容地點起止日期1布置設計題目和要求;收集相關資料。工3317或宿舍6.222方案分析與確定;編寫Verilog源程序。工3317或宿舍6.233編寫Verilog源程序;編譯、綜合、仿真、定時分析、
3、適配。工3317或宿舍6.244下載和硬件驗證;驗收。工33176.255下載和硬件驗證;驗收;撰寫報告工33176.26678四、應收集的資料及主要參考文獻1. 陳先朝,硬件描述語言與EDA技術實踐指導書,2015年5月2. 潘松等編著,EDA技術與Verilog HDL ,電子工業(yè)出版社,2013年;3. 現(xiàn)代數(shù)字電子技術及Verilog設計,清華大學出版社,2014年; 4. 王金明等編著,EDA技術與Verilog HDL設計,電子工業(yè)出版社,2013年;5. 劉靳等編著,Verilog程序設計與EDA ,西安電子科技大學出版社,2012年;6. 劉福奇主編,Verilog HDL 應
4、用程序設計實例精講,電子工業(yè)出版社,2012年;7. 周潤景等主編,基于Quartus 的數(shù)字系統(tǒng)Verilog HDL設計實例詳解,電子工業(yè)出版社,2010年。發(fā)出任務書日期: 2015年6月 22日 指導教師簽名:計劃完成日期: 2015年6月 26日 基層教學單位責任人簽章:主管院長簽章:摘要Verilog HDL是一種硬件描述語言(HDL:Hardware Description Language,以文本形式來描述數(shù)字系統(tǒng)硬件的結構和行為的語言,用它可以表示邏輯電路圖、邏輯表達式,還可以表示數(shù)字邏輯系統(tǒng)所完成的邏輯功能。 Verilog HDL和VHDL是世界上最流行的兩種硬件描述語言
5、,都是在20世紀80年代中期開發(fā)出來的。前者由Gateway Design Automation公司(該公司于1989年被Cadence公司購開發(fā)。兩種HDL均為IEEE標準。本課程設計以Verilog為基礎設計一個多路彩燈控制器,能夠在4種不同的彩燈花樣之間進行循環(huán)變化,并可設置花型變化的節(jié)奏,且可進行復位。關鍵詞:Verilog,彩燈,控制,F(xiàn)PGA一、 目的與任務 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 6二、 設計原理及方案 - - - - - - - - - - -
6、 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 6三、 設計分析 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -63.1 三頻率輸出模塊3.2 三選一選擇模塊3.3 彩燈顯示模塊3.4 頂層文件設計 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -11四、管腳分配 - - -
7、 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 14五、心得體會- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 15六、參考文獻- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 15附錄- - - - - - -
8、 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -16一、 目的與任務1. 熟悉掌握EDA工具軟件Quartus2的使用2. 熟練用Verilog硬件描述語言描述數(shù)字電路3. 學會使用Verilog進行大規(guī)模集成電路設計4. 學會用CPLD/FPGA實踐系統(tǒng)硬件驗證電路設計的正確性5. 初步掌握EDA技術并具備一定的可編程邏輯芯片的開發(fā)能力二、 設計原理及方案原理:建立一個并行操作的流水燈模塊,形成不同的彩燈花樣,同時使用不同頻率,實現(xiàn)不同頻率的不同花樣顯示。方
9、案:總電路由一個三分頻輸出分頻器模塊,三選一選擇模塊,并行操作的流水燈模塊。三頻率輸出分頻器模塊把輸入頻率分成三個不同的頻率輸出,四選一選擇不同的頻率輸出給彩燈顯示,從而達到控制彩燈閃爍速度的快慢。三、 設計分析3.1三頻率輸出模塊該模塊是將高頻時鐘轉換成低頻時鐘信號,CLK信號經(jīng)分頻器將50mHZ進行1分頻、3分頻和6分頻提供給三選一選擇器。按下復位鍵可使模塊復位。首先定義模塊接口及變量如下:module fenpin(CLK,RSTn,CLK1, /1分頻CLK2,/3分頻CLK3 /6分頻;input CLK;input RSTn;output CLK1,CLK2,CLK3;reg CL
10、K2,CLK3;可見,分別定義了三個輸出時鐘信號,分別是1分頻,3分頻和6分頻。其中1分頻比較簡單:assign CLK1 = CLK;三分頻代碼如下:reg 3:0a;/*frequency dividing 3*/always (posedge CLK or negedge RSTnif( !RSTn a = 1d0;else if (CLK&a=3d3beginCLK2=1d1;a=1d0;endelse beginCLK2=1d0;a=a+1d1;end定義了reg變量a,計算CLK脈沖,每一個CLK脈沖自加,達到3的時候輸輸出一個CLK2脈沖并清零a變量,重復上面過程。這樣便形成CL
11、K時鐘的三分頻時鐘CLK2。六分頻代碼如下:reg 4:0b;/*frequency dividing 6*/always (posedge CLK or negedge RSTnif( !RSTn b = 1d0;else if (CLK&b=4d6beginCLK3=1d1;b=1d0;endelse beginCLK3=1d0;b=b+1d1; end類似三分頻代碼,只是reg變量計數(shù)CLK脈沖數(shù)到6才輸出CLK3脈沖并清零。3.2 三選一選擇模塊該模塊是選擇輸入的三個頻率中的一個頻率給彩燈顯示系統(tǒng),f_choice1、f_choice2、f_choice3分別選擇對應CLK1、CLK2
12、、CLK3輸出頻率按鍵,RESn 復位按鍵實現(xiàn)對模塊的復位。首先定義三選一選擇器的模塊端口及變量,代碼如下:module choice_3(f_choice1, f_choice2,f_choice3,RSTn, CLK1,CLK2,CLK3,CLK_OUT;input f_choice1,f_choice2,f_choice3;input RSTn,CLK1,CLK2,CLK3;output CLK_OUT;reg CLK_OUT;先定義一個reg變量c,根據(jù)按鍵操作賦值。敏感信號為按鍵信號和復位信號。reg 3:0 c;always (negedge f_choice1 or negedg
13、e f_choice2 or negedge f_choice3 or negedge RSTnif( !RSTn c = 1d0; else if(!f_choice1c=3d0;else if(!f_choice2c=3d1;else if(!f_choice3c=3d2;最后根據(jù)reg變量c選擇不同頻率。/*/always (* case (c3d0:CLK_OUT=CLK1;3d1:CLK_OUT=CLK2;3d2:CLK_OUT=CLK3;default : CLK_OUT=CLK1;這樣,就完成了三選一頻率選擇器。3.3 彩燈顯示模塊以上圖為基礎,設計并行操作的流水燈,每一功能模塊
14、在將定時間內,將輸出拉高。示意圖如下:從上圖我們可以看到,功能模塊1在時間的第一個1/4拉高輸出,功能模塊2在第二個1/4拉高輸出,其余的模塊也是以此類推。所以在一個特定的時間段內,每一個功能模塊所占的時間都是一樣。本設計采用六個LED資源。led0_module.v先定義接口:module led0_module(CLK, RSTn, LED_Out;input CLK;input RSTn;output LED_Out;/*/然后定義總的時間長度,總共分成15個時間段:parameter T100MS = 25d15_000_000;/*/利用Count1計算一個循環(huán)的時間:reg 25:
15、0Count1;always ( posedge CLK or negedge RSTn if( !RSTn Count1 = 25d0;else if( Count1 = T100MS Count1 = 25d0;elseCount1 = Count1 + 1b1;/*/在一個循環(huán)內的15個時間段中,讓led0在特定時間段拉高輸出:reg rLED_Out;always ( posedge CLK or negedge RSTn if( !RSTn rLED_Out = 25d0 & Count1 25d1_000_000 rLED_Out = 25d10_000_000 & Count1
16、25d11_000_000 rLED_Out = 25d14_000_000 & Count1 25d15_000_000 rLED_Out = 1b1;else rLED_Out = 1b0;/*/assign LED_Out = rLED_Out;/*/endmodule類似的,led1_module.v、led2_module.v、led3_module.v、led4_module.v、led5_module.v內,讓led1、led2、led3、led4、led5分別在特定的時間段拉高輸出,其他時間段拉低輸出。最終形成了四個花樣的流水燈。分別是1、從左到右依次點亮;2、從右到左依次點亮
17、;3、從兩邊向中間依次點亮;4、從中間向兩邊依次點亮。即Count1 led0 led1 led2 led3 led4 led50-1000000: 1 0 0 0 0 01000000-2000000 0 1 0 0 0 02000000-3000000 0 0 1 0 0 03000000-4000000 0 0 0 1 0 04000000-5000000 0 0 0 0 1 0 5000000-6000000 0 0 0 0 0 16000000-7000000 0 0 0 0 1 07000000-8000000 0 0 0 1 0 08000000-9000000 0 0 1 0
18、0 09000000-10000000 0 1 0 0 0 010000000-11000000 1 0 0 0 0 111000000-12000000 0 1 0 0 1 012000000-13000000 0 0 1 1 0 013000000-14000000 0 1 0 0 1 014000000-15000000 1 0 0 0 0 1下一個循環(huán)3.4 頂層文件設計通過元件例化,將分頻模塊fenpin_module、頻率選擇模塊f_choice_module、led0_module、led1_module、led2_module、led3_module、led4_module和l
19、ed5_module連結起來。形成一多路頻率選擇的彩燈循環(huán)控制器。首先定義總端口:module top_module(CLK, RSTn, LED_Out,f_choice1,f_choice2,f_choice3,;input CLK;input RSTn,f_choice1,f_choice2,f_choice3;output 5:0LED_Out;/*/分頻器模塊連接:wire CLK1_Out,CLK2_Out,CLK3_Out;fenpin U7(.CLK( CLK ,.RSTn( RSTn ,.CLK1( CLK1_Out ,.CLK2( CLK2_Out ,.CLK3( CLK3
20、_Out ;/*/數(shù)據(jù)選擇器模塊連結:choice_3 U8(.f_choice1(f_choice1,.f_choice2(f_choice2,.f_choice3(f_choice3,.RSTn( RSTn ,.CLK1( CLK1_Out ,.CLK2( CLK2_Out ,.CLK3( CLK3_Out ,.CLK_OUT(CLKOut;各個led模塊連結:/*/wire LED0_Out;led0_module U1(.CLK( CLKOut ,.RSTn( RSTn ,.LED_Out( LED0_Out ;/*/wire LED1_Out;led1_module U2(.CLK(
21、 CLKOut ,.RSTn( RSTn ,.LED_Out( LED1_Out ;/*/wire LED2_Out;led2_module U3(.CLK( CLKOut ,.RSTn( RSTn ,.LED_Out( LED2_Out ;/*/wire LED3_Out;led3_module U4(.CLK( CLKOut ,.RSTn( RSTn ,.LED_Out( LED3_Out ;/*/wire LED4_Out;led4_module U5(.CLK( CLKOut ,.RSTn( RSTn ,.LED_Out( LED4_Out ;/*/wire LED5_Out;led5
22、_module U6(.CLK( CLKOut ,.RSTn( RSTn ,.LED_Out( LED5_Out ;/*/assign LED_Out = LED5_Out,LED4_Out,LED3_Out, LED2_Out, LED1_Out, LED0_Out;/*/endmodule四、 管腳分配本設計采用alera公司的EP2C5Q208芯片,在Category中,選擇pin:在Edit下面的”To”和“l(fā)ocation”中,分別為輸入和輸出端口指定芯片的引腳。第一次下載時,首先點擊“Hardware Setup”,打開Hardware Setup對話框,然后點擊Add Hardw
23、are,選擇ByteBlaster II 后單擊”Select Hardware”,下載形式為ByteBlaster II 。下載方式分別有AS下載和JTAG下載。結果證實調試成功。五 、心得體會經(jīng)過2天的程序編寫和FPGA系統(tǒng)的下載調試,我不僅鞏固了書本的知識,也進一步熟悉了Verilog語言的使用和編寫,還對Quartus II 軟件的使用更加熟練,也了解了FPGA開發(fā)系統(tǒng)的使用。通過這次課程設計,我認識到掌握書本的知識是遠遠不夠,還要通過實踐來鞏固和提高。通過實踐 ,讓我對verilog理解更加深入,也對FPGA 開發(fā)有了較深入的理解。為以后工作實踐打下良好基礎。六 、參考文獻陳先朝,硬
24、件描述語言與EDA技術實踐指導書,2015年5月潘松等編著,EDA技術與Verilog HDL ,電子工業(yè)出版社,2013年;現(xiàn)代數(shù)字電子技術及Verilog設計,清華大學出版社,2014年; 王金明等編著,EDA技術與Verilog HDL設計,電子工業(yè)出版社,2013年;劉靳等編著,Verilog程序設計與EDA ,西安電子科技大學出版社,2012年;劉福奇主編,Verilog HDL 應用程序設計實例精講,電子工業(yè)出版社,2012年;周潤景等主編,基于Quartus 的數(shù)字系統(tǒng)Verilog HDL設計實例詳解,電子工業(yè)出版社,2010附錄:fenpin.vmodule fenpin(C
25、LK,RSTn,CLK1,CLK2,CLK3;input CLK;input RSTn;output CLK1,CLK2,CLK3;reg CLK2,CLK3;reg 3:0a;/*frequency dividing 3*/always (posedge CLK or negedge RSTnif( !RSTn a = 1d0;else if (CLK&a=3d3beginCLK2=1d1;a=1d0;endelse beginCLK2=1d0;a=a+1d1;endreg 4:0b;/*frequency dividing 6*/always (posedge CLK or negedge
26、 RSTnif( !RSTn b = 1d0;else if (CLK&b=4d6beginCLK3=1d1;b=1d0;endelse beginCLK3=1d0;b=b+1d1; end/*/assign CLK1 = CLK;/*/endmodule choice_3.v:module choice_3(f_choice1, f_choice2,f_choice3,RSTn, CLK1,CLK2,CLK3,CLK_OUT;input f_choice1,f_choice2,f_choice3;input RSTn,CLK1,CLK2,CLK3;output CLK_OUT;reg CLK
27、_OUT;reg 3:0 c;always (negedge f_choice1 or negedge f_choice2 or negedge f_choice3 or negedge RSTnif( !RSTn c = 1d0;else if(!f_choice1c=3d0;else if(!f_choice2c=3d1;else if(!f_choice3c=3d2;/*/always (* case (c3d0:CLK_OUT=CLK1;3d1:CLK_OUT=CLK2;3d2:CLK_OUT=CLK3;default : CLK_OUT=CLK1;endcase/*/endmodul
28、eLed0_module:module led0_module(CLK, RSTn, LED_Out;input CLK;input RSTn;output LED_Out;/*/parameter T100MS = 25d15_000_000;/*/reg 25:0Count1;always ( posedge CLK or negedge RSTn if( !RSTn Count1 = 25d0;else if( Count1 = T100MS Count1 = 25d0;elseCount1 = Count1 + 1b1;/*/reg rLED_Out;always ( posedge
29、CLK or negedge RSTn if( !RSTn rLED_Out = 25d0 & Count1 25d1_000_000 rLED_Out = 25d10_000_000 & Count1 25d11_000_000 rLED_Out = 25d14_000_000 & Count1 25d15_000_000 rLED_Out = 1b1;else rLED_Out = 1b0;/*/assign LED_Out = rLED_Out;/*/EndmoduleLed1_module.vmodule led1_module(CLK, RSTn, LED_Out;input CLK
30、;input RSTn;output LED_Out;/*/parameter T100MS = 25d15_000_000;/*/reg 25:0Count1;always ( posedge CLK or negedge RSTn if( !RSTn Count1 = 25d0;else if( Count1 = T100MS Count1 = 25d0;elseCount1 = Count1 + 1b1;/*/reg rLED_Out;always ( posedge CLK or negedge RSTn if( !RSTn rLED_Out = 25d1_000_000 & Coun
31、t1 25d2_000_000 rLED_Out = 25d9_000_000 & Count1 25d10_000_000 rLED_Out = 25d11_000_000 & Count1 25d12_000_000 rLED_Out = 25d13_000_000 & Count1 25d14_000_000 rLED_Out = 1b1;else rLED_Out = 1b0;/*/assign LED_Out = rLED_Out;/*/endmoduleled2_module.v:module led2_module(CLK, RSTn, LED_Out;input CLK;inp
32、ut RSTn;output LED_Out;/*/parameter T100MS = 25d15_000_000;/*/reg 25:0Count1;always ( posedge CLK or negedge RSTn if( !RSTn Count1 = 25d0;else if( Count1 = T100MS Count1 = 25d0;elseCount1 = Count1 + 1b1;/*/reg rLED_Out;always ( posedge CLK or negedge RSTn if( !RSTn rLED_Out = 25d2_000_000 & Count1 2
33、5d3_000_000 rLED_Out = 25d8_000_000 & Count1 25d9_000_000 rLED_Out = 25d12_000_000 & Count1 25d13_000_000 rLED_Out = 1b1;else rLED_Out = 1b0;/*/assign LED_Out = rLED_Out;/*/endmoduleled3_module.v:module led3_module(CLK, RSTn, LED_Out;input CLK;input RSTn;output LED_Out;/*/parameter T100MS = 25d15_00
34、0_000;/*/reg 25:0Count1;always ( posedge CLK or negedge RSTn if( !RSTn Count1 = 25d0;else if( Count1 = T100MS Count1 = 25d0;elseCount1 = Count1 + 1b1;/*/reg rLED_Out;always ( posedge CLK or negedge RSTn if( !RSTn rLED_Out = 25d3_000_000 & Count1 25d4_000_000 rLED_Out = 25d7_000_000 & Count1 25d8_000
35、_000 rLED_Out = 25d12_000_000 & Count1 25d13_000_000 rLED_Out = 1b1;else rLED_Out = 1b0;/*/assign LED_Out = rLED_Out;/*/Led4_module.v:endmodule module led4_module(CLK, RSTn, LED_Out;input CLK;input RSTn;output LED_Out;/*/parameter T100MS = 25d15_000_000;/*/reg 25:0Count1;always ( posedge CLK or nege
36、dge RSTn if( !RSTn Count1 = 25d0;else if( Count1 = T100MS Count1 = 25d0;elseCount1 = Count1 + 1b1;/*/reg rLED_Out;always ( posedge CLK or negedge RSTn if( !RSTn rLED_Out = 25d4_000_000 & Count1 25d5_000_000 rLED_Out = 25d6_000_000 & Count1 25d7_000_000 rLED_Out = 25d11_000_000 & Count1 25d12_000_000
37、 rLED_Out = 25d13_000_000 & Count1 25d14_000_000 rLED_Out = 1b1;else rLED_Out = 1b0;/*/assign LED_Out = rLED_Out;/*/endmoduleled5_module.v:module led5_module(CLK, RSTn, LED_Out;input CLK;input RSTn;output LED_Out;/*/parameter T100MS = 25d15_000_000;/*/reg 25:0Count1;always ( posedge CLK or negedge RSTn if( !RSTn Count1 = 25d0;else if( Count1 = T100MS Count1 = 25d0;elseCount1 = Count1 + 1b1;/*/reg rLED_Out;always ( p
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 高端私募股權投資盡職調查合同
- 高效新能源汽車電池短路測試儀租賃與數(shù)據(jù)管理服務協(xié)議
- 呼吸護理案例分享
- 農(nóng)業(yè)循環(huán)經(jīng)濟有機種植大棚租賃與環(huán)保服務協(xié)議
- 海外留學生公寓微波爐租賃及使用培訓服務協(xié)議
- 快速國際仲裁案件法律翻譯執(zhí)行協(xié)議
- 國家級文物修復中心文物保護專員全職聘用服務合同
- 食品包裝模具設計版權分成及合作協(xié)議
- 重癥醫(yī)學100節(jié)公開課體系構建
- 招生營銷培訓工作總結
- 礦山礦石運輸協(xié)議書
- 2025入團積極分子發(fā)展對象考試題庫及參考答案詳解【鞏固】
- 疫苗管理制度
- 2024屆北京朝陽人大附朝陽分校中考一模生物試題含解析
- ktv保安合同協(xié)議書
- 廈大介紹課件
- 2025陜西氫能產(chǎn)業(yè)發(fā)展有限公司所屬單位招聘(101人)筆試參考題庫附帶答案詳解
- 北京開放大學2025年《企業(yè)統(tǒng)計》形考作業(yè)1答案
- 陜西建筑工程驗收資料(A表)
- 社區(qū)共享充電樁計劃書
- 南開大學-商業(yè)健康保險與醫(yī)藥產(chǎn)業(yè)高質量協(xié)同發(fā)展-團體補充醫(yī)療保險改革新視角-2025年3月20日
評論
0/150
提交評論