四位二进制减计数器.doc_第1页
四位二进制减计数器.doc_第2页
四位二进制减计数器.doc_第3页
四位二进制减计数器.doc_第4页
四位二进制减计数器.doc_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

成成 绩绩 评评 定定 表表 学生姓名班级学号120306 专 业通信工程课程设计题目 四位二进制减计 数器 评 语 组长签字 成绩 日期 2014 年 7 月 15 日 课程设计任务书课程设计任务书 学 院信息科学与工程学院专 业通信工程 学生姓名班级学号 120306 课程设计题目四位二进制减计数器 缺 1001 1010 实践教学要求与任务实践教学要求与任务 1 了解数字系统设计方法 2 熟悉 VHDL 语言及其仿真环境 下载方法 3 熟悉 Multisim 环境 4 设计实现四位二进制减计数器 缺 1001 1010 工作计划与进度安排工作计划与进度安排 第一周 熟悉 Multisim 环境及 Quartus 环境 练习数字系统设计方法 包括采用触发器设计和超高速硬件描述语言设计 体会自上而 下 自下而上设计方法的优缺点 第二周 在Quartus 环境中用 VHDL 语言实现四位二进制减计数器 缺 1001 1010 显示结果波形 并下载到目标芯片上 在实验箱上观 察输出结果 在 Multisim 环境中仿真实现四位二进制减计数器 缺 1001 1010 并通过虚拟器验证其正确性 指导教师 2014 年 6 月 19 日 专业负责人 2014 年 6 月 19 日 学院教学副院长 2014 年 6 月 20 日 摘 要 Quartus II 是 Altera 公司的综合性 PLD FPGA 开发软件 支持原理图 VHDL VerilogHDL 以及 AHDL Altera Hardware Description Language 等多 种设计输入形式 内嵌自有的综合器以及仿真器 可以完成从设计输入到硬件 配置的完整 PLD 设计流程 Multisim 是 Interactive Image Technologies Electronics Workbench 公司推 出的以 Windows 为基础的仿真工具 适用于板级的模拟 数字电路板的设计工 作 它包含了电路原理图的图形输入 电路硬件描述语言输入方式 具有丰富 的仿真分析能力 Multisim 为用户提供了丰富的元器件 并以开放的形式管理 元器件 使得用户能够自己添加所需要的元器件 在 QuartusII8 1 软件中 建立名为 wq 的工程 用四位二进制减法计数器的 VHDL 语言实现了四位二进制减法计数器的仿真波形图 同时进行相关操作 锁定了所需管脚 将其下载到实验箱 在 Multisim 软件中 通过选用四个时钟脉冲下降沿触发的 JK 触发器和同 步电路 画出其时序图 卡诺图 建立相关方程 做出相关计算 完成四位二 进制减法计数器 缺 1001 1010 的驱动方程 在 Multisim 软件里画出了四位 二进制减法计数器的逻辑电路图 分析由红绿灯的亮灭顺序及状态 和逻辑分 析仪里出现波形图 证明四位二进制减法计数器设计成功 关键字 VHDL 语言 四位二进制减计数器 QUARTUS Multisim 1 课程设计目的 1 2 设计框图 1 3 实现过程 2 3 1 QUARTUS 实现过程 2 3 1 1 建立工程 2 3 1 2 VHDL 源程序 4 3 1 3 波形仿真 5 3 1 4 引脚锁定与下载 7 3 1 5 仿真结果分析 9 3 2 MULTISIM实现过程 9 3 2 1 求驱动方程 9 3 2 2 画逻辑电路图 11 3 2 3 逻辑分析仪的仿真 12 3 2 4 结果分析 13 4 总结 14 5 参考文献 15 目 录 1 1 课程设计目的 1 了解四位二进制减法计数器的工作原理和逻辑功能 2 学会用 VHDL 语言对计数器进行编译和仿真 3 掌握 QuartusII 的使用方法 4 掌握 Multisim 的使用方法 2 设计框图 状态转换图是描述时序电路的一种方法 具有形象直观的特点 即其把所 用触发器的状态转换关系及转换条件用几何图形表示出来 十分清新 便于查 看 在本课程设计中 四位二进制同步减法计数器用四个 CP 下降沿触发的 JK 触发器实现 其中有相应的跳变 即跳过了 1001 1010 两个状态 这在状态转 换图中可以清晰地显示出来 具体结构示意框图和状态转换图如下 四位二进制同步减法计数器 CP 输入减法计数脉冲 C 输出进位信号 A 结构示意框图 1111 1110 1101 1100 1011 1000 0111 0000 0001 0010 0011 0100 01010110 缺 1001 1010 B 状态转换图 2 3 实现过程 3 1 Quartus 实现过程 3 1 1 建立工程 1 点击 File New Project Wizard 创建一个新工程 点击 Next 为 工程选择存储目录 工程名称 顶层实体名等 并点击 Next 若目录不存在 系统可能提示创建新目录 如图 1 所示 点击 是 按钮创建新目录 图 1 选择存储目录 工程名称 顶层实体名 2 系统提示是否需要加入文件 在此不添加任何文件 如图 2 3 图 2 是否添加文件 3 点击 Next 进入设备选择对话框 如图 3 这里选中实验箱的核心芯 片 CYCLONE 系列 FPGA 产品 EP1C6Q240C8 图 3 设备选择 4 点击 Next 系统显示如图 4 提示是否需要其他 EDA 工具 这里不 选任何其他工具 图 4 是否需要其他 EDA 工具 4 5 点击 Next 后 系统提示创建工程的各属性总结 若没有错误 点击 Finish 工程创建向导将生成一个工程 在窗口左侧显示出设备型号和该工程 的基本信息等 图 5 创建工程的各属性总结 3 1 2 VHDL 源程序 library IEEE use IEEE STD LOGIC 1164 ALL use IEEE STD LOGIC UNSIGNED ALL entity wq is port CP r in std logic q out std logic vector 3 downto 0 end wq architecture behavioral of wq is signal count std logic vector 3 downto 0 begin process cp r begin if r 0 then count 1111 elsif cp event and cp 1 then if count 1011 then count 1000 else count count 1 if count 0000 then 5 count 1111 else count count 1 end if end if end if end process qNew 创建一个设计文件 选择设计文件的类型为 VHDL File 如图 6 图 6 创建设计文件 2 在编辑窗口中编辑程序 并存盘 如图 7 6 图 7 编辑程序 3 点击 Processing Start Compilation 编译该文件 系统将开始编译 结束后 给出提示信息和编译结果 如图 8 所示 图 8 编译 5 建立时序仿真文件 选择 Vector Waveform File 如图 9 图 9 建立时序仿真文件 6 出现的界面中 在 Name 空白处击右键 Insert Insert Node or Bus 单击 单击 再单击 OK OK 并对其进行仿真 如图 10 7 所示 图 10 仿真 7 仿真结果 如图 11 所示 图 11 仿真结果 8 仿真后存盘 3 1 4 引脚锁定与下载 8 各引脚的锁定如表 1 所示 表 1 锁引脚 引脚的锁定和下载分别如图 12 和图 13 所示 图 12 锁引脚 信号名称引脚 cp28 q3101 q2100 q199 q098 r53 9 图 13 下载 3 1 5 仿真结果分析 仿真波形图可以看出减法计数器的工作过程 由 1111 起依次递减 最后减 至 0000 后再由 1111 起进行下一个周期的循环 其中缺少 1001 1010 两个状态 当复位键复位后 回到 1111 重新开始循环 3 2 Multism 实现过程 3 2 1 求驱动方程 选择四个时钟脉冲下降沿触发的 JK 触发器 因要使用同步电路 所以时钟 方程应该为CPCPCPCPCP 3210 1 求状态方程 由所示状态图可直接画出如表 2 所示电路次态的卡诺图 1 3 n Q 1 2 n Q 1 1 n Q 1 0 n Q 再分解开便可以得到如表 3 a b c d 所示各触发器的卡诺图 表 2 次态的卡诺图 1 3 n Q 1 2 n Q 1 1 n Q 1 0 n Q 由上述卡诺图可求出 表达式如下所示 1 3 n Q 1 2 n Q 1 1 n Q 1 0 n Q n Q1 n Q0 n Q3 n Q2 00011110 001000 010000 111111 100X11 n Q1 n Q0 n Q3 n Q2 00011110 001111000000100001 0100110100 01100101 111011110011101101 100111XXXX1000XXXX 10 表 3 a 的卡诺图 1 3 n Q n Q1 n Q0 n Q3 n Q2 00011110 001000 010 111 110111 101X0X 表 3 b 的卡诺图 1 2 n Q n Q1 n Q0 n Q3 n Q2 00011110 001010 011010 111010 101X0X 表 3 c 的卡诺图 1 1 n Q 11 n Q1 n Q0 n Q3 n Q2 00011110 001001 011001 111001 101X0X 表 3 d 的卡诺图 1 0 n Q 根据卡诺图进行相应化简即得到状态方程 如下 nn nnnnnnnn nnnnnn nnnnnnnn QQ QQQQQQQQQ QQQQQQQQ QQQQQQQQQ 0 1 0 01 n 201301 1 1 0121 n 20 n 2 1 2 012313 n 23 1 3 2 求驱动方程 由于 JK 触发器的特性方程为 nnn QKQJQ 1 用状态方程与特性方程做比较 可得对应驱动方程 如下 1 1 0 0 011 01 012 012 123 0123 K J QQK QJ QQK QQJ QQK QQQJ nn n nn nn nn nnn 12 3 2 2 画逻辑电路图 根据所选用的触发器和时钟方程 输出方程 驱动方程 便可以画出如 图 14 所示的逻辑电路图 图 14 逻辑电路图 3 2 3 逻辑分析仪的仿真 逻辑分析仪显示的波形如图 15 所示 13 图 15 逻辑分析仪波形 检查电路能否自启动 把无效状态 1001 和 1010 带入输出方程和和状态方 程进行计算 结果如下 000010011010 1 0 由此可见 在 CP 操作下都能回到有效状态 即电路能够自启动 3 2 4 结果分析 Multism 是一种虚拟仪器 可以用来验证电路的设计的正确性 根据相关 计算 得出时序电路的时钟方程 状态方程 驱动方程 从而选择合适触发器 来连接实现 本设计中 选用四个时钟脉冲下降沿触发的 JK 触发器来实现四位 二进制减法计数器 逻辑电路图中 四个小红灯即为显示器 灯亮表示 1 灭表示 0 从而达到计数目的 由于其中缺了 1001 1010 两种状态 所以在计数过程中会发生跳变 即先 从 1011 跳到 1000 再由 0000 直接跳回到 1111 周而复始 逻辑分析仪类似于 Quartus 环境下的波形仿真 是对计数器的另一种直观的描述 其中 高电平 表示 1 低电平表示 0 也可以对计数器的功能进行测试及检验 14 4 总结 在本次数字电路课程设计中 我花了较多的时间查阅资料 进行反复练习 使我对二进制减法计数器掌握得更加熟练 这对我以后学习相关的课程以及进 行更高层次的数字电路设计都奠定了不错的基础 在设计过程中 出现了各种各样的问题 有些是单一原因引起的 有的是 综合原因引起的 这些都很考验我的毅力与坚持 但是我掌握了研究这类问题 的方法 即问题解决的过程就是要从问题所表现出来的情况出发 通过反复推 敲 作出相应判断 逐步找出问题的症结所在 从而一举击破 对于数字电路设计 尤其在使用 Multism 进行逻辑电路的连接与分析时 这种分析解决问题的能力就更为重要 要在复杂的电子器件和密密麻麻的连线 中找出头绪来 并不是一件很容易的事情 往往要重新再来一次 但是这样的 问题就出在计算上 尤其是在化简卡诺图时 务必小心谨慎 一个字符写错或 者漏掉一些信息 就会导致驱动方程错误 逻辑电路就不能实现最初的设计功 能 在学习过 数字电路技术基础简明教程 之后 我已经算是掌握了一定

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论