4918|5

356

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

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

本帖最后由 ihalin 于 2016-7-19 11:41 编辑

第四个实验:学习调用IP核实现计数器我用的是quartus II 15.0的版本

先是建立工程然后使用counter IP核


配置counter 选择四位,向上计数,

计数输出是模的形式输出应为前面选择的是4位所以模最大是16
这里最大输出10可以实现一个BCD码的设计
选择carry in carry out 模式




然后把点V的文件添加进来。


然后就可以分析和中合了。
编译成功没有错误。

然后开始写测试文件了
testbench文件
这里使用了一个repeat()语句表示重复括号了面的次数
  1. `timescale 1ns/1ns
  2. `define clock_period 20

  3. module counter_ip_tb;
  4.    reg cin;//进位输入
  5.         reg clk;//计数基准时钟
  6.         
  7.         wire cout;//进位输出
  8.         wire [3:0] q;
  9.         
  10.         counter counter0(
  11.         .cin(cin),
  12.         .clock(clk),
  13.         .cout(cout),
  14.         .q(q)
  15.         );
  16.         initial clk=1;
  17.         always #(`clock_period/2) clk = ~ clk;
  18.         
  19.         
  20.         initial begin
  21.         repeat(20)begin //repeat 重复5次
  22.                 cin = 0;
  23.                 #(`clock_period*5) cin=1;
  24.                 #(`clock_period)cin=0;
  25.         end
  26.         #(`clock_period*200)//延时200个时钟周期后停止工作
  27.         $stop;
  28.         end
  29.         


  30. endmodule
复制代码
然后开始RTL仿真

符合要求计数从0到9 cout=1;
然后是连个4位的计数器级联

建一个counter_top
  1. module counter_top(cin,clk,cout,q);
  2.         input cin;
  3.         input clk;
  4.         
  5.         output cout;
  6.         output [7:0]q;
  7.         
  8.         wire cout1;
  9.         counter counter0(
  10.                         .cin(cin),
  11.                         .clock(clk),
  12.                         .cout(cout1),
  13.                         .q(q[3:0]));
  14.         
  15.         counter counter1(
  16.                         .cin(cout1),
  17.                         .clock(clk),
  18.                         .cout(cout),
  19.                         .q(q[7:4]));




  20. endmodule
复制代码
然后RTL仿真:



符合

此帖出自FPGA/CPLD论坛

最新回复

汇总贴在此: 从零开始学FPGA——by ihalin https://bbs.eeworld.com.cn/forum. ... 5881&fromuid=536508  详情 回复 发表于 2016-7-25 10:45
点赞 关注
 

回复
举报

1万

帖子

2854

TA的资源

管理员

来自 6楼
 
汇总贴在此:
从零开始学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测评频道众多好板等你来玩,还可以来频道许愿树许愿说说你想要玩的板子,我们都在努力为大家实现!

 
 

回复

1万

帖子

2854

TA的资源

管理员

沙发
 
你应该把这个系列的帖子发表到FPGA版块去哦。这样关注FPGA的人看到的可能性更大哦。这里我把你前面的帖子调整到FPGA版块去了
此帖出自FPGA/CPLD论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身

点评

嗯好的谢谢,我没注意到,尴尬。  详情 回复 发表于 2016-7-19 11:52
个人签名

玩板看这里:

https://bbs.eeworld.com.cn/elecplay.html

EEWorld测评频道众多好板等你来玩,还可以来频道许愿树许愿说说你想要玩的板子,我们都在努力为大家实现!

 
 
 

回复

356

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
okhxyyo 发表于 2016-7-19 11:46
你应该把这个系列的帖子发表到FPGA版块去哦。这样关注FPGA的人看到的可能性更大哦。这里我把你前面的帖子 ...

嗯好的谢谢,我没注意到,尴尬。
此帖出自FPGA/CPLD论坛

点评

没事哦~给你调过来啦。  详情 回复 发表于 2016-7-19 11:55
 
 
 

回复

1万

帖子

2854

TA的资源

管理员

4
 
ihalin 发表于 2016-7-19 11:52
嗯好的谢谢,我没注意到,尴尬。

没事哦~给你调过来啦。
此帖出自FPGA/CPLD论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
个人签名

玩板看这里:

https://bbs.eeworld.com.cn/elecplay.html

EEWorld测评频道众多好板等你来玩,还可以来频道许愿树许愿说说你想要玩的板子,我们都在努力为大家实现!

 
 
 

回复

1950

帖子

4

TA的资源

版主

5
 
谢谢分享,前排就座

为楼主的坚持,拍手!!!

走了Core 调用,走了综合,东西小,好理解。
此帖出自FPGA/CPLD论坛
个人签名MicroPython中文社区https://micropython.org.cn/forum/  
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

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

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