第一大步:主要是將xilinx的常用的三個(gè)庫編譯到modelsim中去 第二大步,,以實(shí)例來驗(yàn)證一下 例:使用DDS IP Core實(shí)例化一個(gè)2MHz,分辨率為0.1Hz,,帶外抑制比為60dB的正,、余弦信號(hào)發(fā)生器,假設(shè)工作時(shí)鐘為50MHz,。
DDS模塊的輸出頻率 是系統(tǒng)工作頻率 ,、相位累加器比特?cái)?shù)N以及頻率控制字K三者的一個(gè)函數(shù)。 DDS IP Core支持余弦,、正弦以及正交函數(shù)的輸出,,旁瓣抑制比的范圍從18dB 到115dB,最小頻率分辨率為0.02Hz,,可同時(shí)獨(dú)立支持16個(gè)通道,。其中的查找表既可以利用分布式RAM,也可利用塊RAM,。 公式:fo=fclk*K/(2的N次冪) K即為本例輸入的data,,N取28,fclk=50M,fo=2M,,可計(jì)算出data大約=10737418 第三大步: 1.生成dds ip核,,命名為mydds.xco。在Math Functions---Trag Functions---DDS Compliier.然后設(shè)置相應(yīng)的頻率,,位寬等 2.編寫頂層文件dds1.v module dds1(
3.測試激勵(lì)很簡單,,把clk設(shè)置為50M,data=10737418,we相應(yīng)的設(shè)置為1. 4.仿真注意事項(xiàng) 新建一個(gè)工程,,并添加所有的.v文件(三個(gè).v文件),;然后點(diǎn)Add to project--Simulation Configuration設(shè)置: (1)添加Library。由于我們要仿真Xilinx的IP core,,所以我們需要添加編譯好的Xilinx仿真庫:xilinx_corelib(用于仿真Xilinx IP core),,xilinx_unisims(用于進(jìn)行功能仿真),xilinx_simprims(用于進(jìn)行布線后仿真),。 (2)修改Design選項(xiàng),,選擇仿真文件,,這里需要注意:要不僅要選擇testbench文件,還要選擇glbl文件(在modelsim中編譯其他.v文件時(shí)自動(dòng)生成的),。否則在仿真時(shí)會(huì)提示出錯(cuò)。另外,,還要去掉左下角的Enable optimization選項(xiàng),,如果不去掉,在仿真時(shí),,有些信號(hào)會(huì)被優(yōu)化掉,。 (3)如果需要進(jìn)行后仿真,需要添加SDF文件,。如果只是進(jìn)行功能仿真就不需要添加SDF文件了,。設(shè)置完成后,點(diǎn)擊Save,??梢钥吹絇roject中添加了一個(gè)Simulation configure文件,即為simulation 1,雙擊它即可仿真,,但是還沒出來波形,,點(diǎn)擊run all快捷圖標(biāo)即可。
|
|