1 / 7
文档名称:

正弦波发生器Modeim 仿真图文.pdf

格式:pdf   大小:2,184KB   页数:7页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

正弦波发生器Modeim 仿真图文.pdf

上传人:鼠标 2023/6/8 文件大小:2.13 MB

下载得到文件列表

正弦波发生器Modeim 仿真图文.pdf

文档介绍

文档介绍:该【正弦波发生器Modeim 仿真图文】是由【鼠标】上传分享,文档一共【7】页,该文档可以免费在线阅读,需要了解更多关于【正弦波发生器Modeim 仿真图文】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。正弦波发生器 ModelSim 仿真 
要求:使用 ModelSim 对 Quartus 工程正弦波发生器进行功能仿真(前仿真)和时序仿
真(后仿真)。 
1  在 Quartus工程中建立正弦波发生器 
lpm_counter_6bits
lpm_rom_sin
up  counter
clock INPUT clock
VCC q[5..0] address[5..0]
q[7..0] OUTPUT q[7..0]
inst clock
inst1

该正弦波发生器由两部分构成: 6 位二进制计数器( lpm_counter_6bits)和 ROM
(lpm_rom_sin)。该计数器作为地址产生器产生递增的地址,ROM 中存放正弦波的幅度数
据,地址相当于正弦波的相位,相位递增幅度进行变化,这样便形成正弦波。 
  lpm_counter_6bits的创建 
新建一个“.bdf”文件,并另存为。双击空白处,显示如下对话框,选择“lpm_counter”,
点击 OK。然后按照如图所示操作。
后面一直点击“Next”,直到“Finish”,完成 6 位二进制计数器的生成。 
  lpm_rom_sin的创建 
利用同样的方法创建lpm_rom_sin。所不同的是在创建该模块之前,首先应建立一个初
始数据文件,这里可直接在 Quartus 中创建 Memory Initalizaton File,输入正弦波的幅度值,
也可以用 C++中的函数生成数据。我们使用第二种方式,如下: 

运行后生成 文件,然后装在初始文件。
点击“Finish”后生成。 
  编译生成网表文件 
(1)  选定芯片(这里选用EP2C8Q208C8),并将不用管脚置三态。 
(2)  选择第三方的仿真工具: 


由于我们只做系统仿真,所以不用分配管教,编译后发现编译过程多了这样一步:产生
DEA 第三方工具所需要的网表。
在下方消息栏中可以看出该过程产生了两个文件“:”文件和“”
文件。 

这时打开我们所建工程的目录,发现多了一个“simulaton”文件夹,打开发现有一个
“modelsim”文件夹,打开后发现有“”文件(设计文件,记载芯片中的布线信
息,在后面的仿真我们就利用该文件来代替我们原始的设计文件)和“”文件
(芯片布线间的延迟文件)。 
  建立仿真的激励文件: 

  加入仿真模型库 
我们使用的 CycloneII 系列的器件,所以我们需要加入 文件。而且我们
还用到了 Altera 的 ip 核(lpm_counter 和 lpm_rom),所以我们需要加入 文件。
复制到“modelsim”文件夹中。 

2  ModelSim功能仿真 
使用 ModelSim 做仿真,可以新建一个工程进行仿真,还可以直接编译文件进行仿真。
第二种方法比较简单,我们这里采用该方法。 
直接点击编译按钮,出现如下界面:
在“Workspace”的 work 中找到我们需要的顶层模块——wave_top。 

因为我们做的是前仿真,不加入延迟信息,所以我们还需将“”文件做些修
改:改完后重新编译下修改过的文件。 

双击“wave_top”后,可成功打开如下界面: 

添加信号到波形窗口,在命令栏中输入“run 10us”,回车,便产生仿真波形。
3  ModelSim时序仿真 
首先把刚才修改过的””文件修改回来(加入延迟信息),并且重新编译。选
择“Library”栏,双击“wave_top”模块。这时我们发现仿真出现了错误:( 文件
错误)。 

    这时,我们关掉仿真。新建一个ModelSim 工程来避免该错误。 


点击“Compile All”。  
点击“Simulate/Start Simulaton”,同样在“work”路径下选择我们的顶层模块——
wave_top。
在 SDF 选项卡中加入“”文件。 

点击 OK 后我们便发现成功的Loading 了 SDF 文件。后面的过程跟功能仿真一样。