第一大步:主要是将xilinx的常用的三个库编译到modelsim中去 第二大步,以实例来验证一下 例:使用DDS IP Core实例化一个2MHz,分辨率为0.1Hz,带外抑制比为60dB的正、余弦信号发生器,假设工作时钟为50MHz。
DDS模块的输出频率 是系统工作频率 、相位累加器比特数N以及频率控制字K三者的一个函数。 DDS IP Core支持余弦、正弦以及正交函数的输出,旁瓣抑制比的范围从18dB 到115dB,最小频率分辨率为0.02Hz,可同时独立支持16个通道。其中的查找表既可以利用分布式RAM,也可利用块RAM。 公式:fo=fclk*K/(2的N次幂) K即为本例输入的data,N取28,fclk=50M,fo=2M,可计算出data大约=10737418 第三大步: 1.生成dds ip核,命名为mydds.xco。在Math Functions---Trag Functions---DDS Compliier.然后设置相应的频率,位宽等 2.编写顶层文件dds1.v module dds1(
3.测试激励很简单,把clk设置为50M,data=10737418,we相应的设置为1. 4.仿真注意事项 新建一个工程,并添加所有的.v文件(三个.v文件);然后点Add to project--Simulation Configuration设置: (1)添加Library。由于我们要仿真Xilinx的IP core,所以我们需要添加编译好的Xilinx仿真库:xilinx_corelib(用于仿真Xilinx IP core),xilinx_unisims(用于进行功能仿真),xilinx_simprims(用于进行布线后仿真)。 (2)修改Design选项,选择仿真文件,这里需要注意:要不仅要选择testbench文件,还要选择glbl文件(在modelsim中编译其他.v文件时自动生成的)。否则在仿真时会提示出错。另外,还要去掉左下角的Enable optimization选项,如果不去掉,在仿真时,有些信号会被优化掉。 (3)如果需要进行后仿真,需要添加SDF文件。如果只是进行功能仿真就不需要添加SDF文件了。设置完成后,点击Save。可以看到Project中添加了一个Simulation configure文件,即为simulation 1,双击它即可仿真,但是还没出来波形,点击run all快捷图标即可。 |
|