[文檔].艾米電子 – 寄存器,Verilog

來源:互聯網
上載者:User
文章目錄
  • 1 寄存器
  • 2 寄存器檔案
  • 3 FPGA晶片的儲存模組
對讀者的假設

已經掌握:

  • 可程式化邏輯基礎
  • Verilog HDL基礎
  • 使用Verilog設計的Quartus II入門指南
  • 使用Verilog設計的ModelSIm入門指南
內容1 寄存器

寄存器是一組D觸發器的集合,由同一時鐘和複位訊號控制。和D-FF一樣,寄存器有可選擇的非同步複位訊號和同步使能訊號。代碼也和D-FF一樣,但是需要申明數組資料類型的輸入和輸出訊號。

代碼1 8位帶非同步複位的寄存器

module reg_asyn_rst(  // global clock and asyn reset  input clk,  input rst_n,  // I/O interface  input [7:0] d,  output reg [7:0] q);// bodyalways@(posedge clk, negedge rst_n)  if(!rst_n)    q <= 0;  else    q <= d;  endmodule
2 寄存器檔案

寄存器檔案是一組寄存器集合,有一個輸入連接埠和一個或幾個輸出連接埠。寫地址訊號,w_addr,指定在哪裡存資料;讀地址訊號,r_addr,指定在哪裡收回資料。寄存器檔案一般用於快速的、臨時的資料存放區。代碼2所示為一個參數化的寄存器檔案,其資料線寬度為B,地址線寬度為W。定義了兩個參數:W指定地址線的寬度,暗示此檔案中有 2^W 個字;B指定每一個字裡面有多少位。

代碼2 參數化的寄存器檔案

module reg_file#(  parameter B = 8, // width of the data bus  parameter W = 2  // width of the address bus)(  // global clock  input clk,  // register file interface  input wr_en,  input [W-1:0] w_addr,  input [W-1:0] r_addr,  input [B-1:0] w_data,  output [B-1:0] r_data);// signal declaration reg [B-1:0] array_reg [2**W-1:0];// body// write operation always@(posedge clk)  if(wr_en)    array_reg[w_addr] <= w_data;// read operationassign r_data = array_reg[r_addr]; endmodule

第18行,我們注意到一個新的資料類型,二維的數組資料類型。此處的**,表示乘方。

reg [B-1:0] array_reg [2**W-1:0];

首先,它表示array_reg這個變數有[2**W-1:0]個元素,每個元素的資料類型為reg [B-1:0]。其次,該變數需要一個索引來訪問數組中的元素,如reg_array[w_addr]。

3 FPGA晶片的儲存模組

在Cyclone II FPGA中,每個LE都包括一個帶非同步複位和同步使能的D-FF,但是同時也帶有一個4輸入的LUT。如果單純使用LE來做大量的儲存工作的話,將會浪費很多LE。此時可以考慮使用內建的RAM塊,比方說Cycloen II裡面的M4K,或者更進階的晶片內的M9K。今後會討論相關的問題。

參考

1 Pong P. Chu.FPGA Prototyping By Verilog Examples: Xilinx Spartan-3 Version.Wiley

另見

[與艾米一起學FPGA/SOPC].[邏輯實驗文檔連載計劃]

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.