找回密码
 注册
关于网站域名变更的通知
查看: 347|回复: 1
打印 上一主题 下一主题

 转——【FPGA开源教程连载】第九章 独立按键消抖实验B 

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-4-1 13:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 Zedd 于 2019-4-1 13:42 编辑 * u* t/ Y% G/ W( U1 }
8 g& G' @# \" I2 f8 ?5 G5 i" L
独立按键消抖实验B
实验目的: 1.复习按键的设计
2.用模块化设计的方式实现每次按下按键0,4个LED显示状态以二进制加法格式加1,每次按下按键1,4个LED显示状态以二进制加法格式减1
实验平台:芯航线FPGA核心板

; q" Z) X+ E( f& j1 B
实验原理:
       在上一讲中设计并验证了独立按键的消抖,这里基于上一讲的按键消抖模块来实现一个加减法计数器,并以此学习模块化的设计方式。
       在设计过程中,相对大一点的工程经常通常不会写在一个设计文件中,通常会针对不同的功能设计出不同的子文件,最后在顶层文件中进行例化。基于本讲其模块的划分如图9-1所示。

6 {. `3 W2 g4 Q% _0 J

& d" x3 Q2 p/ Y8 p6 ~3 Z  ?
9-1 顶层模块端口图
实验步骤:
       这里先编写led_ctrl,从图9-1可得出其端口列表如下。
# q7 x- u+ l: r1 h
1 U; \/ L5 {7 \
这里需要进行根据两个按键的状态来进行计数器的加减。
( N$ B" N) S2 D* B+ X' d# O
* d3 i3 J* V" ]1 V" f+ R
         计数器的初值为4’b0000,这里当按键0按下即计数器加一计数器变为4’b0001,由开发板上的led电路图可知,led灯为低电平点亮,此时就会出现led0-led3分别为亮亮亮暗,为了更直观的显示效果对输出数据进行取反,这样led的数据就会变为暗暗暗亮,与正常的思路相符合。

" h/ t  _) t! C4 n' R
4 T0 t* t; d1 u; h- B  T
+ f% r% B- o  l! K- G
9-2 led电路
这样各个独立的模块即编写完成,下面开始顶层文件的设计。

8 q, z8 _$ x6 k! N9 h- b7 `
: L1 c. H+ W/ B+ b( Y
进行分析和综合直至没有错误以及警告。这时可以打开Quartus II软件中的RTL Viewer,查看模块间的连接。如图9-4所示,与设计的顶层模块端口图一样,因此可以看出顶层文件例化正确。

! e0 r$ P* R8 ^! {+ q' B1 y& r
9-4 顶层模块RTL视图
为了测试仿真编写测试激励文件,这里由于调用了两个按键进行仿真,因此需要将前一讲设计的按键仿真模型进行改写,加入使能信号press,即press上升沿时就执行一次输出key,其中任务task press_key部分是不变的。如果不改写调用的两个仿真模型会同时执行,就导致出错。

5 [* p. u  A: W* l1 w( R1 h6 `& v6 Y8 B% ~% C/ w( _+ r$ a5 v

! x- E, t/ i1 k. v& z& x
新建key_led_top_tb.v文件输入以下内容并保存到testbench文件夹下,再次进行分析和综合直至没有错误以及警告。以下内容除了生成了时钟以及复位信号,还模拟了按键0按下释放两次以及按键1按下释放两次的过程。这样整体的代码就如下所示。
. K7 p0 J' m) R" r! }; B  N

0 Z( U0 X3 }- M% l+ Q
+ Z2 g! [' T- X
设置好仿真脚本后进行功能仿真,可以看到如图9-5所示的波形文件。每当按键0按下时计数器led_r则会加一,按键1按下后计数器led_r则会减一。

  B) @) N* P7 w4 j$ {& _7 ^

  G; |, `( j; E3 M& A9 ~
9-5 功能仿真波形图
分配引脚后全编译无误后下载工程到开发板中。也看到与之对应的现象,即为设计无误。
至此,实现了一个简单的模块化设计,并进行了仿真与板级验证。

- U! |- a- T3 C" m  C: H# |, P
小梅哥
芯航线电子工作室

) s, c- A# R. R5 L, L6 c0 z
游客,如果您要查看本帖隐藏内容请回复
. z. Q' X$ i( |+ F1 D5 U$ V0 e

3 y  F( X( ~9 a% W- ?

该用户从未签到

2#
发表于 2019-4-1 16:34 | 只看该作者
回复看看隐藏内容
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-29 03:43 , Processed in 0.140625 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表