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

ihalin   2016-8-22 11:30 楼主
手头刚好有块高速 AD/DA 模块,用锆石A4来驱动他产生正弦波,在手上都快发霉了。 实验:将正玄波数据存储在IP核构建ROM中,从ROM中读出数据,并将数据直接通过并口输出到DA上。、 DA原理图: 使用的是AD9708 QQ截图20160822105232.png 现在开始讲解实现这个功能: 在建工程之前先准备一个正玄波的mif文件要用到一个软件来生成 软件Guagle_wave
Guagle_wave.7z (190.7 KB)
(下载次数: 31, 2016-8-22 11:31 上传)
来生成正玄波 然后建立工程 添加ip核(因为我用的是15的版本)在IP catalog 中找到单口的rom 添加 QQ截图20160822110011.png 然后是配置rom了 QQ截图20160822110229.png 然后下一步 QQ截图20160822110627.png 最后添加之前生成的mif文件 QQ截图20160822110733.png 完成。 在编译一下 然后写一个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
然后全编译一下 仿真: 得到的波形是这样的:尴尬 QQ截图20160822111331.png 去设置一下q的数据类型是无符号的 QQ截图20160822111453.png 然后得到的波形是: QQ截图20160822111512.png 波形上移了,然后去设置一下波形的最大值最小值的 最大254 最小0 20160822111826.png 然后波形出来了 QQ截图20160822111926.png 仿真成功了 然后就是板级验证了: 代码:
  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
最后下载到板子上: P60822-103937.jpg P60822-103947.jpg 完成 本帖最后由 ihalin 于 2016-8-22 12:35 编辑

回复评论 (7)

不错 非常好!
生活就是油盐酱醋再加一点糖,快活就是一天到晚乐呵呵的忙 =================================== 做一个简单的人,踏实而务实,不沉溺幻想,不庸人自扰
点赞  2016-8-22 12:04
最近也在学FPGA,谢谢分享
点赞  2016-8-22 14:42

4楼 nmg 

看到了你们用F7做的示波器
点赞  2016-8-22 15:11
谢谢楼主分享

功能小巧,流程很全,简单移动。
这个吃透了,抵得上去培训班 得一半的功力了
MicroPython中文社区https://micropython.org.cn/forum/  
点赞  2016-8-23 07:29
好齐全,学习起来杠杆的
为新手提供好的资料呢
点赞  2016-10-3 14:07
楼主你这个系列帖子还有打算继续更新不??
汇总贴在此:
从零开始学FPGA——by ihalin
https://bbs.eeworld.com.cn/forum. ... 5881&fromuid=536508

玩板看这里: https://bbs.eeworld.com.cn/elecplay.html EEWorld测评频道众多好板等你来玩,还可以来频道许愿树许愿说说你想要玩的板子,我们都在努力为大家实现!
点赞  2016-10-10 16:05
OK,不错
点赞  2019-5-26 16:33
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复