- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
assert与report语句、数码管的驱动
ASSERT与REPORT语句,抢答器的设计 一、ASSERT和REPORT语句 作用 检查是否出现错误,若发现错误则提出报告; 只能在仿真中使用,不能综合; 即可作为顺序语句使用,也可作为并行语句使用。 格式 注意 若REPORT字句省略,则默认的消息为“Assertion violation”; 使用了SEVERITY字句,则必须指定一个错误等级。错误等级包括: 二、配置语句 现在表决器有多个结构体,可用配置语句为表决器实体确定一个结构体: 配置语句还可以把元件或块,绑定到一个设计好的实体上: 三、抢答器的设计 设计一个抢答器,抢答器可以锁存抢答成功的选手号码,并把号码显示在数码管上。 抢答器实际上由上锁/解锁电路、锁存器、编码器、数码管译码器组成。 3.1 优先编码器和3-8译码器 8位优先编码器的封装 编码器的要求:输入8位选手的按键情况,因此编码器的输入端由8根导线组成,每根导线上的‘0’或‘1’显示选手是否按键;输出为抢答选手的号码,因为选手号为0~7,因此可用3位二进制位表示,输出端口有三根导线。 8位优先编码器的真值表 高电平有效 8位优先编码器的数据流描述 8位优先编码器的行为描述 低电平有效的8-3优先编码器 3-8译码器 译码器的功能刚好与编码器相反。 若CBA i 10,则Yi ‘0’,其它输出端输出为‘1’。 3-8译码器的数据流描述 3-8译码器的行为描述 实体 ABC为输入端,E1、E2和E3端为片选端,Y0~Y6为输出端。 结构体 对片选控制的VHDL描述 CASE语句实现译码功能 信号输出 3.2 数码管的驱动 数码管端口上加载不同的高低电平,可在数码管上显示不同的内容,因此端口上的电平组合就形成显示对应内容的驱动码。 共阳极与共阴极数码管结构不同,驱动码也不同。 3.2.2 数码管译码电路的设计 描述译码模块输入data与输出data_out之间的关系: 根据data和data_out之间的关系,可用顺序语句(case语句)和并行语句(WITH…SELECT)来进行数据流描述: 利用并行语句(WITH…SELECT)描述: 利用顺序语句(case语句)描述: 3.3 上锁/解锁电路和锁存电路 作用:保存抢答选手的号码; 上锁/解锁电路和锁存电路都以触发器为基础。 触发器触发方式的描述 触发器要在时钟信号的驱动下,才可以改变其输出。触发器的驱动方式有: 电平触发,包括:高电平触发和低电平触发; 边沿触发,包括:上升沿触发和下降沿触发。 利用进程语句描述触发器的驱动方式: 1 电平驱动: 2 边沿触发 利用条件语句的门闩控制方式来描述触发器功能: 简单的触发器VHDL描述: 触发器的置位/复位信号: 置位/复位方式可分为: 同步置/复位方式 是指在置/复位信号和时钟信号同时有效时,时序电路才被置/复位; 异步置/复位方式 是指当置/复位信号有效时,时序电路立即被置/复位,与时钟信号无关。 1)同步置/复位和使能的VHDL描述 2 异步置/复位的VHDL描述 3 加上使能端的简单触发器: 几种触发器的VHDL描述 1 D触发器 2 JK触发器 T触发器 T触发器原理:每个时钟信号到来,则输出取反。 锁存电路 上锁/解锁电路 3.4 抢答器电路的整体设计与实现 把各个模块结合起来,设计、仿真并配置下载。 3.2.3 数码管驱动电路实验 数码管译码驱动电路可分为输入模块和译码模块两部分,电路系统结构图如下: 2. 按键与电路的输入端口data_in相连,可向电路输入一个整数data;整数data从0开始,每按一次按键,整数加1;当整数data为9时,按动按键,整数变为0。 3. 译码模块对整数data进行译码产生7位译码信号data_out,驱动数码管显示整数的数值。 3.2.4 抢答器中的数码管驱动模块 编码器 din[7..0] coder[2..0] data[2..0] Data_out[7..0] 数码管 驱动模块 1100110 100 1001111 011 0000111 111 1011011 010 1111101 110 0000110 001 1101101 101 0111111 000 data_out data data_out data 7段数码管译码驱动 编码器 锁存电路 上锁/解锁电路 按键输入 数码管显示 3.3.1 触发器的VHDL描述 PROCESS clk, d . . . BEGIN IF clk ‘1’ THEN . . . 时钟信号clk和输入d作为进程的敏感信号,clk或d发生变化时都会使进程语句执行。 当clk为高电平时,才会执行条件句内的功能语句。 P
原创力文档


文档评论(0)