2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  單口RAM計數(shù)器</b></p><p><b>  設(shè)計題目</b></p><p>  用一個8×256的單口RAM完成256個8位計數(shù)器,計數(shù)器的初值分別為0-255,時鐘頻率為10MHz,計數(shù)器計數(shù)頻率為5/256MHz。</p><p><b>  設(shè)計規(guī)范<

2、;/b></p><p>  1、功能:完成一個模為256的計數(shù)器。</p><p><b>  2、輸入輸出變量:</b></p><p>  Clk(輸入時鐘)、rst_n(復(fù)位信號)、outdata(輸出信號)</p><p>  Clk:時鐘信號,10MHZ</p><p>  rs

3、t_n:復(fù)位信號,低電平有效,當復(fù)位信號有效時,對存儲單元進行復(fù)位,具體設(shè)計:</p><p>  if(!rst_n)</p><p><b>  begin</b></p><p>  for(i=0;i<256;i=i+1)</p><p>  RAM[i]<=i; </p><p&

4、gt;<b>  end </b></p><p>  outdata: 輸出變量,對存儲單元的計數(shù)情況進行檢驗,方便檢查。</p><p><b>  3、實現(xiàn)方案</b></p><p>  首先對整個系統(tǒng)的功能進行研究,將整個系統(tǒng)進行模塊劃分:</p><p><b>  模塊劃分說

5、明:</b></p><p>  二分頻功能塊:對系統(tǒng)時鐘進行而分頻,形成5MHZ的時鐘;</p><p>  輸入變量clk(10MHZ),輸出變量為clk1(5MHZ)。</p><p>  一個地址自加模塊:當一個時鐘上升沿來時,觸發(fā)地址器加一,從而對ram單元進行選擇,也就是實現(xiàn)了對5MHZ的256分頻,所以通過以上兩個模塊,共同完成了頻率為5/

6、256MHZ的時鐘。輸入信號為clk1(5MHZ),輸出變量為8位寬的地址信號。</p><p>  存儲單元:存儲功能,存放每個計數(shù)器的值。</p><p>  存儲容量:256*8,</p><p>  輸入變量:地址信號、時鐘信號clk1</p><p>  輸出變量:outdata(檢驗結(jié)果正確性,可有可無)</p>&

7、lt;p><b>  總體實現(xiàn)方式</b></p><p><b>  最終模塊</b></p><p><b>  模塊劃分</b></p><p><b>  模塊功能</b></p><p>  二分頻:對時鐘頻率進行分頻,得到5MHZ的頻率信

8、號clk1</p><p>  8bit地址:由每個時鐘信號clk1進行觸發(fā),將地址信號addr進行加一,并將結(jié)果送至存儲單元進行單元選擇。</p><p>  256*8的RAM:實現(xiàn)8個模為256的計數(shù)器,并有地址線進行選擇輸出。</p><p><b>  模塊源代碼</b></p><p><b>  

9、1、二分頻</b></p><p>  module diff_f(clk,out);//分頻器</p><p>  input clk;</p><p>  output out;</p><p><b>  reg out;</b></p><p><b>  initi

10、al</b></p><p><b>  out=0;</b></p><p>  always @(posedge clk) //分頻</p><p>  out = out+1;</p><p><b>  endmodule</b></p><p><

11、b>  2、地址自加</b></p><p>  module address(clk1,addr1);</p><p>  input clk1; //輸入時鐘</p><p>  output [7:0]addr1;//輸出地址</p><p>  reg [7:0]addr1;</p><p>

12、  always@(negedge clk1 or negedge rst_n)</p><p>  if(!rst_n)</p><p>  addr1<=8'b0000_0000;</p><p>  else //if(clk1)</p><p>  addr1<=addr1+1; //地址加</p>

13、<p>  endmodule </p><p><b>  3、RAM存儲單元</b></p><p>  module ram256_8(clk2,addr2,rst_n,outdata);</p><p>  input clk2; //輸入時鐘</p><p>  inpu

14、t rst_n; //復(fù)位信號</p><p>  input [7:0]addr2; //地址信號</p><p>  output [7:0]outdata; //輸出驗證</p><p>  reg [7:0] outdata;</p><p>  reg [7:0] RAM [255:0];</

15、p><p>  integer i;</p><p>  always @(negedge clk2 or posedge rst_n ) </p><p>  if(!rst_n) //系統(tǒng)復(fù)位</p><p><b>  begin</b></p><p>

16、;  for(i=0;i<256;i=i+1)</p><p>  RAM[i]<=i; </p><p><b>  end </b></p><p><b>  else</b></p><p><b>  begin</b></p><p&

17、gt;  RAM[addr2] = RAM[addr2]+1; //計數(shù)器值加一 </p><p><b>  end </b></p><p>  always @(negedge clk2 ) </p><p>  outdata <= RAM[addr2];</p><p>  /* always @

18、(posedge clk2)</p><p>  outdata <=RAM[addr2-1]; */ </p><p>  endmodule4、頂層模塊</p><p>  module top(clk0,rst_n0,outdata0);</p><p><b>  //輸入信號說明</b></p

19、><p>  input clk0;</p><p>  input rst_n0;</p><p><b>  //輸出信號</b></p><p>  input clk0;</p><p>  input rst_n0;</p><p>  output [7:0]out

20、data0;</p><p>  wire clk_t;</p><p>  wire [7:0]addr_t;</p><p>  wire[7:0] outdata0;</p><p>  diff_f duv1(.clk(clk0),.out(clk_t));//模塊實例化</p><p>  address

21、 duv2(.clk1(clk_t),.addr1(addr_t),.rst_n(rst_n0));</p><p>  ram256_8 duv3(.clk2(clk_t),.addr2(addr_t),.rst_n(rst_n0),.outdata(outdata0)); </p><p><b>  endmodule</b></p>&l

22、t;p><b>  5、驗證模塊</b></p><p>  `timescale 1ns/100ps //時間精度</p><p>  module test;</p><p><b>  reg CLK;</b></p><p>  reg RST_N;</p><p

23、>  wire [7:0]OUT;</p><p>  top cc(.clk0(CLK),.rst_n0(RST_N),.outdata0(OUT)); //頂層模塊實例化 </p><p><b>  initial</b></p><p><b>  begin</b></p><p>

24、;  RST_N=0; //對系統(tǒng)進行清零</p><p>  #3 RST_N=1; //復(fù)位信號無效</p><p><b>  end</b></p><p><b>  initial </b></p><p><b>  begin </b></p>

25、<p><b>  CLK=1;</b></p><p>  forever #1 CLK=~CLK;</p><p><b>  end</b></p><p>  endmodule </p><p><b>  設(shè)計驗證</b></p>

26、<p>  通過對設(shè)計的模塊進行仿真,得到計數(shù)器的功能正確,其輸出波形如下:</p><p><b>  經(jīng)驗證結(jié)果正確。</b></p><p>  綜合布線所得圖形如下:</p><p><b>  后仿波形</b></p><p><b>  試驗心得</b>&

27、lt;/p><p>  通過本段時間的學(xué)習(xí),最大的感觸便是能學(xué)到新的知識,能將學(xué)到的知識學(xué)以致用,更深的體會了Verilog、fpge的實際應(yīng)用。</p><p>  首先在實驗設(shè)計開始,一定要明白整個系統(tǒng)的功能以及工作原理,也就是進行系統(tǒng)分析,然后可采用自頂向下進行各個子模塊的具體分析,進行相應(yīng)的設(shè)計,并且對每個模塊進行分別得設(shè)計與驗證,然后再進行整體綜合與驗證,檢驗設(shè)計的設(shè)計完整與正確性。

28、</p><p>  在實驗中遇到的問題是:對于變量的設(shè)計以及定義線網(wǎng)(wire)、還是寄存器(reg)類型至關(guān)重要,比如說在模塊與模塊之間連線時,上一級的輸出作為下一級的輸入時,應(yīng)該定義成wire類型,但作為輸入時,應(yīng)定義成reg類型。</p><p>  其次是,在時鐘的設(shè)計方面,盡量避免時鐘延遲,因為一級延遲可能導(dǎo)致后面模塊出現(xiàn)以外而不可避免的錯誤,所以在設(shè)計時,要細致認真的設(shè)計時鐘

29、信號。且,在每個使用的if語句過程中,要盡量與else進行匹配,以免產(chǎn)生鎖存。</p><p>  再次是,在試驗中,應(yīng)學(xué)習(xí)模塊設(shè)計過程中的分析問題的方法,比如采用自頂向下還是采用自底向上的思路,要將每個模塊劃分清楚,明白每個模塊的具體內(nèi)容與功能,且明白每個模塊所需的端口以及變量定義。先寫好可行性報告,分析方案的可行性,然后再書寫電路,進行設(shè)計。我想,在模塊設(shè)計中,一定要先驗證可行性,為后面工作做好鋪墊,且此工作

溫馨提示

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

評論

0/150

提交評論