毕业论文

打赏
当前位置: 毕业论文 > 电子通信 >

VHDL直接数字频率合成器DDS设计MATLAB仿真(7)

时间:2022-05-11 22:40来源:毕业论文
编写并运行完程序后,使用QUARTUS软件FILES栏中的CREAT SYMBOL FILES FOR CURRENT FILE 命令生成功能模块(如图5。3所示),以便于在BLOCK原理图中调用。 图5。3相位累加

    编写并运行完程序后,使用QUARTUS软件FILES栏中的CREAT SYMBOL FILES FOR CURRENT FILE 命令生成功能模块(如图5。3所示),以便于在BLOCK原理图中调用。

图5。3相位累加器模块

5。4波形储存器的实现

    设计需要调用QUARTUS库里的ROM器件,但是存在如何往ROM中写入需要数据的问题,也就是说需要给ROM导入一个MIF文件才行。生成MIF文件有以下两种方式:一是通过QUARTUS新建MIF文件,接着将要写入的数值逐个写入到MIF表,表中存放完ROM的数值后点击保存,然后创建ROM时直接调用即可[12]。采取这种方法的话,在数据量比较小的时候是方便的,然而这次的设计需要采用256*8的ROM,并且每个单元都要存放数据,产生的数据量较大,所以要采取第二种方法,就是用高级语言编写程序生成MIF文件。在这次的设计中我采取用VISUAL C++语言编程的方法,下面是具体的产生MIF文件的VC++程序,以正弦波形幅值为例,代码如下:

#include<iostream。h>来:自[优.尔]论,文-网www.youerw.com +QQ752018766-

#include<math。h>

#include<fstream。h>

void main(void)

{

ofstream os;

os。open("sin。txt");

double d=0,a=2*3。1415926/256;

int i;

for(i=0;i<256;i++)

{

         os<<int(127*sin(d)+128)<<endl;

     d=d+a;

}

os。close();

}

一般用VC++语言编程得到的正弦波形幅值数据存储在ROM中时,为了储存方便,会将它的X轴和Y轴数值扩大,得到的结果为整数。然后选取256个进行复制,然后在QUARTUSⅡ中新建一个MIF文件,设置字数为2的8次方即256,字符宽为8,然后将从Visual C++中复制的数据粘贴进来

VHDL直接数字频率合成器DDS设计MATLAB仿真(7):http://www.youerw.com/tongxin/lunwen_93704.html
------分隔线----------------------------
推荐内容