EDA技术及应用 教学课件 作者 吴延海 第6 8章 第8章.pptVIP

EDA技术及应用 教学课件 作者 吴延海 第6 8章 第8章.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第 8 章 数字系统设计实例 8.1 数字密码锁电路设计 8.1.1 系统设计要求   (1) 密码输入:每按下一个数字键,就输入一个数值,并在显示器上显示出该数值,同时将先前输入的数据依次左移一个数字位置。   (2) 密码清除:按下“清除”键可清除前面所有输入的值。   (3) 密码更改:按下“更改”键可将目前的数码设定成新的密码。   (4) 密码上锁:按下“上锁”键可将密码锁定。   (5) 密码解锁:按下“解锁”键首先检查输入的密码是否正确,密码正确即开锁。 8.1.2 系统设计   根据系统设计要求,系统设计采用自顶向下的设计方法。顶层设计采用原理图设计方式,系统整体设计原理图如图8-1所示。它由密码锁输入模块(SR)、密码锁控制模块(CTRL)和译码显示模块(YM)三部分组成。 图8-1 系统的整体组装设计原理图 8.1.3 模块设计与实现   1.密码锁输入模块   (1) 时序产生电路。时序产生电路中使用三种不同频率的工作脉冲波形,即系统时钟脉冲、弹跳消除取样信号和键盘扫描信号。   (2) 键盘扫描电路。键盘扫描电路的作用是提供键盘扫描信号,扫描信号变化的顺序依次为1110→1101→1011→0111 →1110…。 图8-2 键盘扫描示意图   当键盘扫描信号为1110时,按键位置分别为011(“1”键按下)、101(“2”键按下)、110(“3”键按下);当键盘扫描信号为1101时,按键位置分别为011(“4”键按下)、101(“5”键按下)、110(“6”键按下);当键盘扫描信号为1011时,按键位置分别为011(“7”键按下)、101(“8”键按下)、110(“9”键按下);当键盘扫描信号为0111时,按键位置分别为011(“*”键按下)、101(“0”键按下)、110(“#”键按下)。   (3) 键盘译码电路。上述键盘中的按键分为数字按键和功能按键,每个功能按键可能负责不同的功能,例如“清除”键、“上锁”键和“解锁”键等。数字按键主要是用来输入数字的。但是键盘所产生的输出是无法直接拿来用作密码锁控制电路的输入的;另外,不同的按键具有不同的功能,所以必须有键盘译码电路来规划每个按键的输出形式,以便执行相应的动作。   ① 按键存储电路。因为每次扫描会产生新的按键数据,可能会覆盖前面的数据,所以需要一个按键存储电路,将整个键盘扫描完毕的结果记录下来。本设计采用串入串出移位寄存器实现按键存储电路。   ② 各按键位置与数码关系如表8-1所示。其中“*”为“上锁”键,“#”为“清除/解锁”键。若按下的是数字键,则译成相对应的BCD码;若按下的是功能键,则译成四位数的码字,并由密码锁控制电路给出相应的动作。   根据上述分析,密码输入电路的VHDL源程序(SR.VHD)如下:   LIBRARY IEEE;   USE IEEE.STD_LOGIC_1164.ALL;   USE IEEE.STD_LOGIC_UNSIGNED.ALL;   USE IEEE.STD_LOGIC_ARITH.ALL; ENTITY SR IS PORT( CLK_IN : IN STD_LOGIC; --时钟信号 KEY_IN : IN STD_LOGIC_VECTOR(2 DOWNTO 0); --按键输入信号 DATA_N : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); --数字键数据 DATA_F : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); --功能键数据 FLAG_N: OUT STD_LOGIC; --数字键数据标志  FLAG_F: OUT STD_LOGIC; --功能键数据标志 CQD: OUT STD_LOGIC; --键盘输入采样时钟 KSEL: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);    --键盘扫描信号 CSR: OUT STD_LOGIC_VECTOR(1 DOWNTO 0)); --按键行号00,01,10,11 END ENTITY SR;  ARCHITECTURE ART OF SR IS SIGNAL C_QD: STD_LOGIC; SIGNAL C_SR: STD_LOGIC_VECTOR(1 DOWNTO 0); SIGNAL N,F: STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL FN,FF: STD_LOGIC;   SIGNAL SEL: STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL Q: ST

您可能关注的文档

文档评论(0)

时间加速器 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档