5571|7

356

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

从零开始学FPGA我的第十个实验(记录一下) [复制链接]

 
本帖最后由 ihalin 于 2016-8-22 12:35 编辑

手头刚好有块高速 AD/DA 模块,用锆石A4来驱动他产生正弦波,在手上都快发霉了
实验:将正玄波数据存储在IP核构建ROM中,从ROM中读出数据,并将数据直接通过并口输出到DA上。、
DA原理图: 使用的是AD9708

现在开始讲解实现这个功能:
在建工程之前先准备一个正玄波的mif文件要用到一个软件来生成
软件Guagle_wave Guagle_wave.7z (190.7 KB, 下载次数: 31)
来生成正玄波
然后建立工程
添加ip核(因为我用的是15的版本)在IP catalog 中找到单口的rom 添加

然后是配置rom了

然后下一步

最后添加之前生成的mif文件

完成。
在编译一下
然后写一个testbench文件进行RTL的仿真
代码:
  1. `timescale 1ns/1ns
  2. `define clk_period 20



  3. module rom_sin_tb;

  4. reg [7:0]addr;
  5. reg clk;

  6. wire [7:0]q;

  7. integer i;
  8. rom_sin rom_sin1(
  9. .address(addr),
  10. .clock(clk),
  11. .q(q)
  12. );


  13. initial clk = 1;
  14. always #(`clk_period/2) clk = ~clk;

  15. initial begin
  16. addr = 0;
  17. for(i=0;i<2550;i=i+1) begin        
  18. #`clk_period;
  19. addr = addr +1;
  20. end
  21. #(`clk_period * 500);
  22. $stop;
  23. end
  24. endmodule
复制代码

然后全编译一下
仿真:
得到的波形是这样的:尴尬

去设置一下q的数据类型是无符号的

然后得到的波形是:

波形上移了,然后去设置一下波形的最大值最小值的   最大254 最小0

然后波形出来了

仿真成功了
然后就是板级验证了:
代码:
  1. module rom_sin_top(Clk,DA_Clk,Rst_n,q);

  2. input Clk;
  3. input Rst_n;

  4. output DA_Clk;
  5. output [7:0]q;

  6. reg [7:0]addr;

  7. rom_sin rom_sin2(
  8. .address(addr),
  9. .clock(Clk),
  10. .q(q)
  11. );

  12. assign DA_Clk = Clk;
  13. always@(posedge Clk or negedge Rst_n)
  14. if(!Rst_n)
  15. addr <= 8'd0;
  16. else
  17. addr <= addr +1'b1;
  18. endmodule
复制代码
最后下载到板子上:


完成

此帖出自FPGA/CPLD论坛

最新回复

OK,不错  详情 回复 发表于 2019-5-26 16:33

赞赏

2

查看全部赞赏

点赞 关注(2)
 

回复
举报

5979

帖子

8

TA的资源

版主

沙发
 
不错 非常好!
此帖出自FPGA/CPLD论坛
个人签名生活就是油盐酱醋再加一点糖,快活就是一天到晚乐呵呵的忙
===================================
做一个简单的人,踏实而务实,不沉溺幻想,不庸人自扰
 
 

回复

2721

帖子

0

TA的资源

纯净的硅(中级)

板凳
 
最近也在学FPGA,谢谢分享
此帖出自FPGA/CPLD论坛
 
 
 

回复

5263

帖子

239

TA的资源

管理员

4
 
看到了你们用F7做的示波器
此帖出自FPGA/CPLD论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
 
 
 

回复

1950

帖子

4

TA的资源

版主

5
 
谢谢楼主分享

功能小巧,流程很全,简单移动。
这个吃透了,抵得上去培训班 得一半的功力了
此帖出自FPGA/CPLD论坛
个人签名MicroPython中文社区https://micropython.org.cn/forum/  
 
 
 

回复

22

帖子

0

TA的资源

一粒金砂(初级)

6
 
好齐全,学习起来杠杆的
为新手提供好的资料呢
此帖出自FPGA/CPLD论坛
 
 
 

回复

1万

帖子

2853

TA的资源

管理员

7
 
楼主你这个系列帖子还有打算继续更新不??
汇总贴在此:
从零开始学FPGA——by ihalin
https://bbs.eeworld.com.cn/forum ... 5881&fromuid=536508

此帖出自FPGA/CPLD论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
个人签名玩板看这里:
https://bbs.eeworld.com.cn/elecplay.html
EEWorld测评频道众多好板等你来玩,还可以来频道许愿树许愿说说你想要玩的板子,我们都在努力为大家实现!
 
 
 

回复

31

帖子

0

TA的资源

一粒金砂(初级)

8
 
OK,不错
此帖出自FPGA/CPLD论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表