最新流水燈基于Verilog語言實現(xiàn)及測試代碼_第1頁
最新流水燈基于Verilog語言實現(xiàn)及測試代碼_第2頁
最新流水燈基于Verilog語言實現(xiàn)及測試代碼_第3頁
最新流水燈基于Verilog語言實現(xiàn)及測試代碼_第4頁
全文預覽已結束

下載本文檔

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

文檔簡介

1、精品文檔流水燈實驗的Testbench報告設計源碼(順序方法)module led(input clk,input rstn, output reg3:0led );parameter T1s = 4'd10;reg3:0cnt_1s;always(posedge clk or negedge rstn) if(!rstn)begincnt_1s <= 0;endelse if(cnt_1s = T1s)begin cnt_1s <= 0;endelse begincnt_1s <= cnt_1s + 1'b1;endalways(posedge clk or

2、 negedge rstn) if(!rstn)beginled <= 4'hf;endelse if(led = 4'hf) beginled <= 4'he;endelse if(cnt_1s = T1s)beginled <= led2:0,1'b1;endendmodule測試代碼'timescale 1 ns/1 nsmodule led_tb();reg clk ;reg rstn;wire3:0 led;parameter CYCLE = 20;parameter RST_TIME = 3 ;led u(.clk(clk)

3、,.rstn(rstn),.led);(led)in itial beg inelk = 0; forever#(CYCLE/2) elk=elk;endin itial beg in rstn = 1;#CYCLE; rstn = 0;#(CYCLE*RST_TIME); rstn = 1;enden dmoduleTestbench設計的幾個步驟:1、設定時間標尺、timescale;2、定義信號類型,與輸入對接的reg,與輸出對接的wire;3、對待測設計的頂層模塊進行例化,即將testbench與待測設計接口對接;4、給輸入接口產(chǎn)生激勵。三、結果分析m n p n r nnp nrir

4、i 廠! injUrn runur jlh 】i 門 口 口 叮 1口匸 口口二口嚇口門匚 口口卩口嚇門 nporl老師的源代碼中設置的流水燈跳轉周期是 1S鐘,但是在仿真的過程中,1S 實在是太漫長了,所以我將跳轉周期改為 10個時鐘周期了。根據(jù)testbench可知,第一個時間周期結束,拉低復位信號。復位信號 產(chǎn)生低電平,always塊得到反應,led=4'hf(即1111);每次clk上升沿的時候 always都會響應,但是rstn為低電平時,計數(shù)的變量cnt_1s會一直清零,led 一直處于全滅狀態(tài)。我在TESTBENC中設置的rstn拉低持續(xù)3時鐘周期,3 時鐘周期后,rst

5、n會變成高電平,在下一個clk上升沿,always又開始響應, 根據(jù)設計當led原狀態(tài)為1111,觸發(fā)后會跳轉為1110,即第一個led亮。之后,按設計初衷應該是每過10個時鐘周期,led產(chǎn)生一次流水式變 化,但實際情況并非如此。我們可以看到上圖中黃線位置,led由0111經(jīng)過10個時鐘周期后變成1111,但是1111只持續(xù)了一個周期就變成了 1110.原來,在第二個always 中有這么一句else if(led = 4'hf) beg in led <= 4'he;end雖然計時變量cnt_1s未滿足條件,但是led=1111,仍然會使led發(fā)生 改變。而且led=1

6、111時,led是處于全滅狀態(tài),作為流水燈應該是不希望全 滅狀態(tài)的出現(xiàn),第四個燈亮完,應該馬上跳轉到第一個燈。即便如此在實 物電路中,這并不會影響功能的實現(xiàn),因為多出的這一個時鐘周期僅為 20ns, 人的肉眼根本無法識別。四、五、程序優(yōu)化試想如果這不是一個流水燈實驗,而是一個對精度有很高要求的電路, 不允許出現(xiàn)這么一段全1的狀態(tài),那么程序該如何修改?其實led全為1的狀態(tài),主要是由于第二個always模塊產(chǎn)生,所以只用 修改第二個always的內容,下面是我修改后的代碼,和運行結果。這段代碼主要的關鍵就在于阻塞賦值。修改后:always (posedqe elk- orrstni£ (!rstn)beginled < 41 he;已nE

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論