基于DDS IP核及Nios II的可重構信號源設計
2.3 波形存儲器ROM的設計
該模塊完成相位/振幅轉換電路的功能。在本設計中,要求DDS IP能輸出正弦波、方波,三角波、鋸齒波。可以用FPGA內部的LPM_ROM模塊制作4張ROM表,分別存儲4個波形的數據。實際上,由于方波和三角波是實現算法相對簡單,為了節省資源,本系統直接用Verilog HDL描述其功能。實現產生方波信號的關鍵代碼如下:

正弦波、鋸齒波的產生是利用FPGA的LPM_ROM模塊來實現。為了對ROM模塊內的數據進行加載,首先應建立相應的*.mif(Memory Initial File)文件。它可以用C語言編寫源程序,得到對應波形的數據,生成*.mif文件,如生成正弦波形數據的C語言程序如下:

然后在Quartus II里新建.mif文件,把用命令字符生成的.mif文件的內容粘貼到Quartus II里新建的存儲器初值設定(.mif)文件里面,如圖3所示。再用Quartus II軟件定制LPM_ROM,并加載剛才建立的.mif波形文件初始化ROM。

評論