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

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

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

評論