|
例說FPGA連載39:DDR控制器集成與讀寫測試之FPGA片內RAM設置與集成 特權同學,版權所有 配套例程和更多資料下載鏈接: http://pan.baidu.com/s/1c0nf6Qc
① Quartus II工程中,點擊菜單“ToolsàMegaWizard Plug-In Manager”,創建IP核模塊。 ② 在彈出的選項卡中選擇“Creat a new custom megafunction variation”,然后點擊“Next”。 ③ 選擇我們所需要的IP核,如圖4.3所示進行設置。 ● 在“Select a megafunction from the list below”下面選擇IP核為“Memory Compiler à RAM: 1-PORT”。 ● 在“What device family will you be using”后面的下拉欄中選擇我們所使用的器件系列為“Cyclone IV E”。 ● 在“What type of output file do you want to create?”下面選擇語言為“Verilog HDL”。 ● 在“What name do you want for the output file?”下面輸入工程所在的路徑,并且在最后面加上一個名稱,這個名稱是我們現在正在例化的片內RAM IP核的名稱,這里我們可以給他起名叫onchipram_for_ddr,然后點擊Next進入下一個頁面。
圖4.3 單口RAM創建向導 ④ 如圖4.4所示,在第一個配置頁面“Parameter Settings à Widths/Blk Type/Clks”中,我們需要做如下的設置。 ● 在“How wide should the ’q’ output bus be?”后面輸入“64”bits,即該片內RAM的存儲位寬是64。 ● 在“How many 64-bit words of memory?”后面輸入“256”words,即該片內RAM的存儲深度為256。 ● 在“What should the memory block type be?”下面可以選擇“Auto”,也可以選擇“M9K”,表示我們的RAM是使用FPGA固有的片內存儲器資源還是邏輯(LCs)資源。 ● 在“What clocking method would you like to use?”下面選擇“Signal clock”,表示該RAM的讀操作或寫操作使用同一個時鐘。
圖4.4 RAM參數設置1 ⑤ 如圖4.5所示,在第二個配置頁面“Parameter Settings à Regs/Clken/Byte Enable/Aclrs”中,做如下設置。 ● 在“Which ports should be registered?”下面選擇“’q’ output port”,表示‘q’信號輸出時會用時鐘clock打一拍,這樣更有利于時序收斂。
圖4.5 RAM參數設置2 ⑥ 第三個配置頁面“Parameter Settings à Read During Write Option”可以不用理會,默認設置就好。 ⑦ 第四個配置頁面“Parameter Settings à Mem Init”則需要特別設置一下,如圖4.6所示。 ● 在“Do you want to specify the initial content of the memory?”下面勾選“No,leave it blank”。表示我們不需要設置RAM的初始化文件,當然了,在某些特殊應用中,設計者希望有初始化RAM文件,那么可以勾上“Yes,use this file for the memory content data”選項,然后在高亮的“File name”后面選擇初始化RAM文件。 ● 勾選上“Allow In-System Memory Content Editor to capture and update content independently of the system clock”,因為我們在板級調試時,將會用到In-System Memory Content Editor工具來實時查看RAM中的內容變化。“The ‘Instance ID’ of this RAM is:”后面隨便輸入一個數據,如我們輸入“7788”,這個數據類似一個ID號,它主要是區分In-System Memory Content Editor工具查看不同的RAM。
圖4.6 RAM參數設置3 ⑧ 最后,在“Summary”頁面中,如圖4.7所示,勾選上“onchipram_for_ddr_inst.v”文件所在選項。點擊“Finish”完成設置。
圖4.7 RAM配置Summary頁面 onchipram_for_ddr_inst.v文件打開如圖4.8所示,這里有新建RAM的接口例化模板,可以復制到工程頂層源碼中重新做接口映射。
圖4.8 RAM IP核例化模板 |