信号发⽣器的设计与实现
1.输出波形:⽅波(占空⽐50%)、锯⻮波、三⻆波、脉冲信号(占空⽐连续可调)、正弦波、任意波等
2.输出频率:100KHz
3.波形选择:使⽤拨码开关选择
 
思路:
使用FPGA搭建信号发生器DDS,重点是制作能够提前下载进开发板板载ROM的数据文件,这里用到的是mif文件,里面保存了数种波形(正弦波,方波,三角波,锯齿波)的点值,这些点值是由前期采样得来的,然后编写verilog代码,实现功能选择(波形选择等),在quartus中配置所选器件的ROM,将mif文件加载进去,在代码中调用rom中的数据,然后仿真时绘制显示波形,这时显示的是离散的数字信号,可以在仿真端modsim里选择模拟信号显示
 
查阅相关资料:
 
 
  
    (本次实验中,没有用到LPF低通滤波,但大体不影响)
mif文件的创建:
   这里用的是matlab编程,生成正弦波,方波,三角波,锯齿波,然后利用Fs采样频率对其采样,提取其离散值保存到创建的mif文件中
   同时使用plot函数输出波形,检查
    
    
    波形图示:
     
   检查生成的mif文件:(以文本方式打开   共有16384
    
quartus端的文件:
 
其中
dds.v是主模块,在编译前要设置为顶层文件set as the top-level-entity,里面包含了调用的模块及其对应端口赋值(连线) key_ctrl.v和dds_ctrl.v
dds_ctrl.v中包含了对ROM的初始化,这里调用了rom_wave(一会在rom中添加文件的名称要与rom_wave一致
 key_ctrl.v实现对波形的选择
在ROM中添加已经创建好的mif文件:
        在IP catalog中搜索rom,选择rom port1,注意这里的ip variation file name要与程序中的一致
 
注意 q的输出位宽和数据数要与创建的mif文件内容一致
在创建成功后可以发现quartus的file左栏出现生成的romwave.v:
仿真:
这次没有单独在modsim中添加文件仿真,因为经常报错,因此采用quartus唤起modsim仿真的方法
1.要在quartus中设置modsim的启动程序的路径,不然无法拉起仿真
   
2.要在settings中添加仿真文件testbench,告诉modsim拿什么仿真
   
启动仿真:
 
tb_dds_ctrl.v文件
延迟800000000个时间单位后,进行wave切换
波形设置为模拟:
结果:
 
 
 
     
 
 

最新文章

  1. 10分钟学会前端调试利器——FireBug
  2. 全动态Portlet点击后选中样式
  3. js简单解密(eval解密)
  4. asp.net用url重写URLReWriter实现任意二级域名
  5. paip.Java Annotation注解的作用and 使用
  6. MySQL数据库添加一个字段
  7. 使用.net FtpWebRequest 实现FTP常用功能 上传 下载 获取文件列表 移动 切换目录 改名 .
  8. (转) How to install eclipse in ubuntu 12.04
  9. Mac添加或修改环境变量
  10. IOS 文件管理 2
  11. Rightmost Digit(快速幂+数学知识OR位运算) 分类: 数学 2015-07-03 14:56 4人阅读 评论(0) 收藏
  12. Windows 7 taskbar and startmenu pin
  13. dist-upgrade
  14. plugin.go 源码阅读
  15. Xamarin.Android 嵌入web端界面
  16. 37)django-单例模式
  17. idea基于hibernate生成的Entitle对象,会忽略外键属性
  18. Jmeter(三十)_TimeShift函数在JSR223中的使用
  19. go build -ldflags
  20. 基于Redis+MySQL+MongoDB存储架构应用

热门文章

  1. php链接access并查询列出
  2. OOP学习讲义
  3. 回归分析 3.X 多元线性回归
  4. JavaSE——封装
  5. Docker 容器基本操作(基础)
  6. uni消息推送
  7. 容器之docker基础
  8. 比Everything更强的文件搜索工具,支持文件名、文件内容和文件图片上的文字搜索,文件内容搜索工具,文件图片内容搜索工具,OCR图片文本识别搜索,文件快速搜索工具,文字识别文件搜索工具
  9. IDEA Download missing driver files 下载失败解决方法
  10. SpringBoot + Shiro + Redis + JWT 实现无状态登录