大規(guī)模數(shù)字邏輯課程設(shè)計(jì)流水燈設(shè)計(jì)_第1頁
已閱讀1頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p>  大規(guī)模數(shù)字邏輯課程設(shè)計(jì)</p><p><b>  題目:流水燈設(shè)計(jì)</b></p><p>  學(xué) 號(hào): XXX </p><p>  姓 名: XXX </p><p>  班 級(jí): XXX </p><

2、p><b>  目錄</b></p><p>  1.流水燈控制的實(shí)驗(yàn)要求與思路3</p><p><b>  1.1實(shí)驗(yàn)要求3</b></p><p><b>  1.2實(shí)驗(yàn)思路3</b></p><p>  2.系統(tǒng)邏輯設(shè)計(jì):4</p>&l

3、t;p><b>  3.源程序代碼4</b></p><p>  (1)分頻器部分4</p><p><b>  (2)控制模塊5</b></p><p><b>  4.實(shí)驗(yàn)步驟:7</b></p><p>  5. 實(shí)驗(yàn)原理圖:7</p>&l

4、t;p><b>  6.分配管腳8</b></p><p><b>  7.運(yùn)行界面:8</b></p><p>  8.總結(jié)與體會(huì)10</p><p><b>  9.參考文獻(xiàn)10</b></p><p>  流水燈控制的實(shí)驗(yàn)要求與思路</p>&

5、lt;p><b>  1.1實(shí)驗(yàn)要求</b></p><p>  在流水燈控制系統(tǒng)中,要求開發(fā)板上的8個(gè)LED燈依次以0.5S的時(shí)間間隔從上到下再下到上的順序點(diǎn)亮,然后分別以1S、1.5S、2S的時(shí)間間隔和相同順序點(diǎn)亮8個(gè)LED燈,以此為一個(gè)循環(huán),重復(fù)以上四個(gè)步驟就可以實(shí)現(xiàn)流水燈系統(tǒng)的自動(dòng)循環(huán)運(yùn)作。</p><p><b>  1.2實(shí)驗(yàn)思路</

6、b></p><p>  根據(jù)時(shí)鐘信號(hào)的脈沖輸入,我們以改變每個(gè)LED點(diǎn)亮狀態(tài)的保持的時(shí)間來改變LED的變換間隔時(shí)間,根據(jù)LED的循環(huán)點(diǎn)亮和時(shí)間間隔的改變?cè)O(shè)計(jì)成為一個(gè)直觀的LED流水燈自動(dòng)循環(huán)系統(tǒng),由此思路我們就可以很容易的著手流水燈控制程序的設(shè)計(jì)。</p><p><b>  系統(tǒng)邏輯設(shè)計(jì):</b></p><p>  根據(jù)以上的設(shè)計(jì)要

7、求,運(yùn)用模塊化的設(shè)計(jì)思路,我們?cè)赒uartus II8.0 軟件系統(tǒng)中設(shè)計(jì)了LED流水燈控制模塊、分頻器模塊,并通過各個(gè)模塊程序之間的端口合理連接和協(xié)調(diào),成功設(shè)計(jì)出LED流水燈燈控制電路,得到邏輯結(jié)構(gòu)原理圖,即為整個(gè)流水燈控制電路的邏輯結(jié)構(gòu)。使用VerilogHDL語言設(shè)計(jì)相應(yīng)的模塊。</p><p><b>  3.源程序代碼</b></p><p>  (1)//

8、 分頻器部分 ,獲得便于試驗(yàn)觀察的時(shí)鐘信號(hào)</p><p>  module clk_div(clk_out,clk_in);</p><p>  input clk_in;</p><p>  output clk_out;</p><p>  reg clk_out;</p><p>  integer count

9、er; </p><p>  parameter cnt=25_000_000; </p><p>  always @(posedge clk_in)</p><p><b>  begin</b></p><p>  counter<=counter+1;</p><p>  if(c

10、ounter==cnt/2-1)</p><p><b>  begin</b></p><p>  clk_out<=!clk_out;</p><p>  counter<=0;</p><p><b>  end</b></p><p><b> 

11、 end</b></p><p><b>  endmodule</b></p><p> ?。?)//控制模塊:</p><p>  module lsd(clk,led);</p><p>  input clk;</p><p>  output [7:0]led;// 輸出端口

12、定義為寄存器型</p><p>  reg [7:0] count;</p><p>  reg [7:0] count1;</p><p>  reg [7:0] count2;</p><p>  reg [7:0] led;</p><p>  reg [3:0] state; </p><p

13、>  always @(posedge clk)// always語句,表示每當(dāng)CLK的上升沿到來時(shí),完成begin-end之間語句的操作</p><p><b>  begin</b></p><p>  count<=count+1;</p><p>  if(count<17)</p><p> 

14、 begin </p><p>  state = state + 4'b0001; // one clk,one state</p><p>  case(state)</p><p>  4'b0000: led <= 8'b00000001; //the 1st state</p>

15、<p>  4'b0001: led <= 8'b00000010; </p><p>  4'b0010: led <= 8'b00000100;</p><p>  4'b0011: led <= 8'b00001000;</p><p>  4'b0100: led <=

16、 8'b00010000;</p><p>  4'b0101: led <= 8'b00100000;</p><p>  4'b0110: led <= 8'b01000000;</p><p>  4'b0111: led <= 8'b10000000;</p><p

17、>  4'b1000: led <= 8'b10000000;</p><p>  4'b1001: led <= 8'b01000000;</p><p>  4'b1010: led <= 8'b00100000;</p><p>  4'b1011: led <= 8'

18、;b00010000;</p><p>  4'b1100: led <= 8'b00001000;</p><p>  4'b1101: led <= 8'b00000100;</p><p>  4'b1110: led <= 8'b00000010;</p><p>  

19、4'b1111: led <= 8'b00000001;</p><p>  default: state = 4'b0000; // default,8'b00000001</p><p><b>  endcase</b></p><p><b>  end</b></p

20、><p>  else if(count<49)</p><p><b>  begin</b></p><p>  if(count%2==0)</p><p><b>  begin</b></p><p>  state = state + 4'b0001;

21、 // one clk,one state</p><p>  case(state)</p><p>  4'b0000: led <= 8'b00000001; //the 2st state</p><p>  4'b0001: led <= 8'b00000010; </p><p> 

22、 4'b0010: led <= 8'b00000100;</p><p>  4'b0011: led <= 8'b00001000;</p><p>  4'b0100: led <= 8'b00010000;</p><p>  4'b0101: led <= 8'b001

23、00000;</p><p>  4'b0110: led <= 8'b01000000;</p><p>  4'b0111: led <= 8'b10000000;</p><p>  4'b1000: led <= 8'b10000000;</p><p>  4'

24、;b1001: led <= 8'b01000000;</p><p>  4'b1010: led <= 8'b00100000;</p><p>  4'b1011: led <= 8'b00010000;</p><p>  4'b1100: led <= 8'b00001000;

25、</p><p>  4'b1101: led <= 8'b00000100;</p><p>  4'b1110: led <= 8'b00000010;</p><p>  4'b1111: led <= 8'b00000001;</p><p>  default: st

26、ate = 4'b0000; // default,8'b00000001</p><p><b>  endcase</b></p><p><b>  end</b></p><p><b>  end</b></p><p>  else if(cou

27、nt<97)</p><p><b>  begin</b></p><p>  count1<=count1+1;</p><p>  if(count1%3==0)</p><p><b>  begin</b></p><p>  state = state

28、 + 4'b0001; // one clk,one state</p><p>  case(state)</p><p>  4'b0000: led <= 8'b00000001; //the 3st state</p><p>  4'b0001: led <= 8'b00000010; </p

29、><p>  4'b0010: led <= 8'b00000100;</p><p>  4'b0011: led <= 8'b00001000;</p><p>  4'b0100: led <= 8'b00010000;</p><p>  4'b0101: led

30、<= 8'b00100000;</p><p>  4'b0110: led <= 8'b01000000;</p><p>  4'b0111: led <= 8'b10000000;</p><p>  4'b1000: led <= 8'b10000000;</p>

31、<p>  4'b1001: led <= 8'b01000000;</p><p>  4'b1010: led <= 8'b00100000;</p><p>  4'b1011: led <= 8'b00010000;</p><p>  4'b1100: led <=

32、8'b00001000;</p><p>  4'b1101: led <= 8'b00000100;</p><p>  4'b1110: led <= 8'b00000010;</p><p>  4'b1111: led <= 8'b00000001;</p><p&

33、gt;  default: state = 4'b0000; // default,8'b00000001</p><p><b>  endcase</b></p><p><b>  end</b></p><p>  end </p><p>  else i

34、f(count<161)</p><p><b>  begin</b></p><p>  count2<=count2+1;</p><p>  if(count2%4==0)</p><p><b>  begin</b></p><p>  state =

35、 state + 4'b0001; // one clk,one state</p><p>  case(state)</p><p>  4'b0000: led <= 8'b00000001; //the 4st state</p><p>  4'b0001: led <= 8'b00000010;

36、</p><p>  4'b0010: led <= 8'b00000100;</p><p>  4'b0011: led <= 8'b00001000;</p><p>  4'b0100: led <= 8'b00010000;</p><p>  4'b0101

37、: led <= 8'b00100000;</p><p>  4'b0110: led <= 8'b01000000;</p><p>  4'b0111: led <= 8'b10000000;</p><p>  4'b1000: led <= 8'b10000000;</p

38、><p>  4'b1001: led <= 8'b01000000;</p><p>  4'b1010: led <= 8'b00100000;</p><p>  4'b1011: led <= 8'b00010000;</p><p>  4'b1100: led

39、<= 8'b00001000;</p><p>  4'b1101: led <= 8'b00000100;</p><p>  4'b1110: led <= 8'b00000010;</p><p>  4'b1111: led <= 8'b00000001;</p>

40、<p>  default: state = 4'b0000; // default,8'b00000001</p><p><b>  endcase</b></p><p><b>  end</b></p><p><b>  end</b></p>

41、<p>  else count<=0; </p><p><b>  end</b></p><p><b>  endmodule</b></p><p><b>  4.實(shí)驗(yàn)步驟:</b></p><p>  將MODUL_SEL撥碼開關(guān)組合為1,2

42、,8撥上3,4,5,6,7撥下,是數(shù)碼管顯示為C1.</p><p>  建立工程,對(duì)建立的工程命名、文件命名,選擇相應(yīng)的芯片及配置,然后在打開的工程下建立VerilogHDL語言編寫的文件:文件名分別是lsd.v、clk_div.v,將這兩個(gè)文件同時(shí)加入此工程內(nèi)。</p><p>  將相應(yīng)的文件轉(zhuǎn)換為符號(hào)文件,并創(chuàng)建一個(gè)block,生成電路原理圖,然后將此文件保存到當(dāng)前工程下,并將文件

43、名命名為lsdblock,然后將其設(shè)置為頂層實(shí)體。</p><p>  將步驟2中生成的Block文件先進(jìn)行綜合,待綜合無誤之后進(jìn)行管腳分配,之后進(jìn)行全編譯生成我們需要下載到開發(fā)板上的lsd.sof文件,然后加入下載界面,選擇相應(yīng)的設(shè)置,且在JTAG模式下,然后下載該sof文件來觀察開發(fā)板上LED的變化現(xiàn)象。</p><p><b>  5. 實(shí)驗(yàn)原理圖:</b>&l

44、t;/p><p><b>  6.分配管腳</b></p><p><b>  運(yùn)行界面:</b></p><p> ?。?)根據(jù)lsd.v文件代碼創(chuàng)建符號(hào)文件:</p><p> ?。?)根據(jù)clk_div.v文件代碼創(chuàng)建符號(hào)文件:</p><p><b> ?。?)

45、綜合時(shí)顯示框</b></p><p> ?。?)全編譯時(shí)顯示框</p><p>  (5)下載文件的界面:</p><p><b>  8.總結(jié)與體會(huì)</b></p><p>  此次課程設(shè)計(jì),學(xué)到了很多課內(nèi)學(xué)不到的東西,比如獨(dú)立思考解決問題,出現(xiàn)差錯(cuò)的隨機(jī)應(yīng)變,和與人合作共同提高,都受益非淺,通過這次的課程

46、設(shè)計(jì),使我對(duì)基礎(chǔ)知識(shí)加深了理解,熟練了軟件Qutars II8.0的基本操作,并且對(duì)一個(gè)設(shè)計(jì)中的流程有所了解,知道了每個(gè)操作步驟的具體作用,這樣可以使自己更加明白的去操作每一步。在課程設(shè)計(jì)中不僅知道了自己的不足之處,而且更加的了解了編程對(duì)學(xué)習(xí)的重要性,自己編程的水平直接制約了設(shè)計(jì)的進(jìn)展,所以在以后的學(xué)生生活之中一定要對(duì)編程加以鞏固保證不會(huì)拖自己的后腿;平時(shí)看課本時(shí),有時(shí)問題老是弄不懂,做完課程設(shè)計(jì),那些問題就迎刃而解了,而且還可以記住很

溫馨提示

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

評(píng)論

0/150

提交評(píng)論