基于DDS IP核及Nios II的可重構信號源設計
2.3 波形存儲器ROM的設計
該模塊完成相位/振幅轉(zhuǎn)換電路的功能。在本設計中,要求DDS IP能輸出正弦波、方波,三角波、鋸齒波??梢杂肍PGA內(nèi)部的LPM_ROM模塊制作4張ROM表,分別存儲4個波形的數(shù)據(jù)。實際上,由于方波和三角波是實現(xiàn)算法相對簡單,為了節(jié)省資源,本系統(tǒng)直接用Verilog HDL描述其功能。實現(xiàn)產(chǎn)生方波信號的關鍵代碼如下:
![](http://editerupload.eepw.com.cn/fetch/20131118/189756_2_0.jpg)
正弦波、鋸齒波的產(chǎn)生是利用FPGA的LPM_ROM模塊來實現(xiàn)。為了對ROM模塊內(nèi)的數(shù)據(jù)進行加載,首先應建立相應的*.mif(Memory Initial File)文件。它可以用C語言編寫源程序,得到對應波形的數(shù)據(jù),生成*.mif文件,如生成正弦波形數(shù)據(jù)的C語言程序如下:
![](http://editerupload.eepw.com.cn/fetch/20131118/189756_2_1.jpg)
然后在Quartus II里新建.mif文件,把用命令字符生成的.mif文件的內(nèi)容粘貼到Quartus II里新建的存儲器初值設定(.mif)文件里面,如圖3所示。再用Quartus II軟件定制LPM_ROM,并加載剛才建立的.mif波形文件初始化ROM。
![](http://editerupload.eepw.com.cn/fetch/20131118/189756_2_2.jpg)
評論