Verilog HDL 參數 RAM,含獨立的輸入與輸出埠

此範例顯示如何使用 LPM 功能lpm_ram_dq即時化記憶體區塊。變數 ram 使用 LPM 程式庫的lpm_ram_dq功能。埠先定義,然後對應到 LPM 埠,如紅色文字所示。參數值接著會透過關鍵詞解比傳遞。在此範例中,即時化了 16 x 256 RAM 區塊;您可以使用類似的程式來即時調整其他大小的 RAM 模組。

lpm_file參數是指指定記憶體區塊 (RAM 或 ROM) 初始內容的記憶體初始化檔案 (.mif)。MIF 是 ASCII 文字檔案,可以手動建立或從模擬輸出中儲存。在 MIF 中,您必須指定記憶體深度和寬度值,並選擇性地指定用於顯示和解釋位址和資料值的 radix。這些值會在範例檔案 的呅取map_lpm_ram.mif中顯示為紅色文字,如下所示。MIF 會在 MAX+PLUS II 編譯器與模擬器中用作記憶體初始化的輸入檔案。

如需在專案中使用此範例的詳細資訊,請前往:

如何使用 Verilog HDL 範例 ›

RAMveri.v

// instantiation of lpm_ram_dq, 16-bit data, 256 address location module map_lpm_ram (dataout, datain, addr, we, inclk, outclk); // port instantiation input [15:0] datain; input [7:0] addr; input we, inclk, outclk; output [15:0] dataout; // instantiating lpm_ram_dq lpm_ram_dq ram (.data(datain), .address(addr), .we(we), .inclock(inclk), .outclock(outclk), .q(dataout)); // passing the parameter values defparam ram.lpm_width = 16; defparam ram.lpm_widthad = 8; defparam ram.lpm_indata = "REGISTERED" defparam ram.lpm_outdata = "REGISTERED" defparam ram.lpm_file = "map_lpm_ram.mif" endmodule

 

從 MIF 檔案中播取

下載 map_lpm_ram.mif

WIDTH = 16; DEPTH = 256; ADDRESS_RADIX = HEX; DATA_RADIX = HEX; CONTENT BEGIN 0 : ffff; 1 : 0000; 2 : bbf3; 3 : 0000; 4 : 0000; . . . fb : 0000; fc : 0000; fd : 0000; fe : 0000; ff : 0000; END;

這個頁面的內容綜合了英文原始內容的人工翻譯譯文與機器翻譯譯文。本內容是基於一般資訊目的,方便您參考而提供,不應視同完整或準確的內容。如果這個頁面的英文版與譯文之間發生任何牴觸,將受英文版規範及管轄。 查看這個頁面的英文版。