1、 成 绩 评 定 表学生姓名 班级学号 120306专 业 通信工程 课程设计题目四位二进制减计数器评语组长签字:成绩日期 2014 年 7 月 15 日课程设计任务书学 院 信息科学与工程学院 专 业 通信工程学生姓名 班级学号 120306课程设计题目 四位二进制减计数器(缺 1001,1010)实践教学要求与任务:1、了解数字系统设计方法2、熟悉 VHDL 语言及其仿真环境、下载方法3、熟悉 Multisim 环境4、设计实现四位二进制减计数器(缺 1001,1010)工作计划与进度安排:第一周 熟悉 Multisim 环境及 Quartus环境,练习数字系统设计方法,包括采用触发器设计
2、和超高速硬件描述语言设计,体会自上而下、自下而上设计方法的优缺点。第二周 在 Quartus环境中用 VHDL 语言实现四位二进制减计数器(缺 1001,1010)显示结果波形,并下载到目标芯片上,在实验箱上观察输出结果。在 Multisim 环境中仿真实现四位二进制减计数器(缺1001,1010) ,并通过虚拟器验证其正确性。 指导教师:2014 年 6 月 19 日专业负责人:2014 年 6 月 19 日学院教学副院长:2014 年 6 月 20 日摘 要Quartus II 是 Altera 公司的综合性 PLD/FPGA 开发软件,支持原理图、VHDL、VerilogHDL 以及 A
3、HDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整 PLD 设计流程。Multisim 是 Interactive Image Technologies (Electronics Workbench)公司推出的以 Windows 为基础的仿真工具,适用于板级的模拟/数字电路板的设计工作。它包含了电路原理图的图形输入、电路硬件描述语言输入方式,具有丰富的仿真分析能力。Multisim 为用户提供了丰富的元器件,并以开放的形式管理元器件,使得用户能够自己添加所需要的元器件。 在 Qua
4、rtusII8.1 软件中,建立名为 wq 的工程,用四位二进制减法计数器的VHDL 语言实现了四位二进制减法计数器的仿真波形图,同时进行相关操作,锁定了所需管脚,将其下载到实验箱。 在 Multisim 软件中,通过选用四个时钟脉冲下降沿触发的 JK 触发器和同步电路,画出其时序图,卡诺图,建立相关方程,做出相关计算,完成四位二进制减法计数器(缺 1001,1010)的驱动方程。在 Multisim 软件里画出了四位二进制减法计数器的逻辑电路图。分析由红绿灯的亮灭顺序及状态,和逻辑分析仪里出现波形图,证明四位二进制减法计数器设计成功。 关键字:VHDL 语言;四位二进制减计数器;QUARTU
5、S;Multisim 1.课程设计目的 12.设计框图 .13.实现过程 .23.1 QUARTUS实现过程 23.1.1 建立工程 .23.1.2 VHDL 源程序 43.1.3 波形仿真 .53.1.4 引脚锁定与下载 73.1.5 仿真结果分析 .93.2 MULTISIM实现过程 .93.2.1 求驱动方程 .93.2.2 画逻辑电路图 113.2.3 逻辑分析仪的仿真 .123.2.4 结果分析 134.总结 145.参考文献 .15目 录11.课程设计目的1.了解四位二进制减法计数器的工作原理和逻辑功能;2.学会用 VHDL 语言对计数器进行编译和仿真;3.掌握 QuartusII
6、 的使用方法;4.掌握 Multisim 的使用方法。2.设计框图状态转换图是描述时序电路的一种方法,具有形象直观的特点,即其把所用触发器的状态转换关系及转换条件用几何图形表示出来,十分清新,便于查看。在本课程设计中,四位二进制同步减法计数器用四个 CP 下降沿触发的 JK触发器实现,其中有相应的跳变,即跳过了 1001 1010 两个状态,这在状态转换图中可以清晰地显示出来。具体结构示意框图和状态转换图如下:四位二进制同步减法计数器CP输入减法计数脉冲C输出进位信号A:结构示意框图1111 1110 1101 1100 1011 1000 01110000 0001 0010 0011 01
7、00 0101 0110(缺 1001,1010)B:状态转换图23.实现过程3.1. Quartus实现过程3.1.1 建立工程(1)点击 File New Project Wizard 创建一个新工程。点击 Next,为工程选择存储目录、工程名称、顶层实体名等,并点击 Next,若目录不存在,系统可能提示创建新目录,如图 1 所示,点击“是”按钮创建新目录;图 1 选择存储目录、工程名称、顶层实体名(2)系统提示是否需要加入文件,在此不添加任何文件,如图 2;3图 2 是否添加文件(3)点击 Next,进入设备选择对话框,如图 3,这里选中实验箱的核心芯片 CYCLONE 系列 FPGA
8、产品 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 isport(CP,r:in std_lo
9、gic;q:out std_logic_vector(3 downto 0);end wq;architecture behavioral of wq issignal count:std_logic_vector(3 downto 0);begin process(cp,r)beginif r=0 then countNew 创建一个设计文件,选择设计文件的类型为 VHDL File,如图 6;图 6 创建设计文件 (2)在编辑窗口中编辑程序,并存盘,如图 7;6图 7 编辑程序(3)点击 Processing-Start Compilation 编译该文件,系统将开始编译,结束后,给出提示
10、信息和编译结果,如图 8 所示;图 8 编译(5)建立时序仿真文件,选择“Vector Waveform File” ,如图 9;图 9 建立时序仿真文件(6)出现的界面中,在 Name 空白处击右键,InsertInsert Node or Bus,单击,单击 ,再单击 OKOK,并对其进行仿真,如图 107所示;图 10 仿真(7)仿真结果,如图 11 所示;图 11 仿真结果(8)仿真后存盘 3.1.4 引脚锁定与下载8各引脚的锁定如表 1 所示:表 1 锁引脚引脚的锁定和下载分别如图 12 和图 13 所示:图 12 锁引脚信号名称 引脚cp 28q3 101q2 100q1 99q0
11、 98r 539图 13 下载3.1.5 仿真结果分析仿真波形图可以看出减法计数器的工作过程:由 1111 起依次递减,最后减至 0000 后再由 1111 起进行下一个周期的循环,其中缺少 1001,1010 两个状态。当复位键复位后,回到 1111 重新开始循环。3.2 Multism 实现过程3.2.1 求驱动方程选择四个时钟脉冲下降沿触发的 JK 触发器,因要使用同步电路,所以时钟方程应该为 CPCP3210(1)求状态方程由所示状态图可直接画出如表 2 所示电路次态 的卡诺图,13nQ21n0再分解开便可以得到如表 3 (a) (b) (c) (d)所示各触发器的卡诺图。表 2 次态
12、 的卡诺图13nQ21n0由上述卡诺图可求出 、 、 、 表达式如下所示:13nnQ103200 01 11 1000 1 0 0 001 0 0 0 011 1 1 1 110 0 X 1 1nQ103200 01 11 1000 1111 0000 0010 000101 0011 0100 0110 010111 1011 1100 1110 110110 0111 XXXX 1000 XXXX10表 3 (a) 的卡诺图13nQnQ103200 01 11 1000 1 0 0 001 0 1 1 111 0 1 1 110 1 X 0 X表 3(b) 的卡诺图12nQnQ103200
13、 01 11 1000 1 0 1 001 1 0 1 011 1 0 1 010 1 X 0 X表 3(c) 的卡诺图1nQ11nQ103200 01 11 1000 1 0 0 101 1 0 0 111 1 0 0 110 1 X 0 X表 3(d) 的卡诺图 10nQ根据卡诺图进行相应化简即得到状态方程,如下:nnnnnn nnQQQQ010 01201320212 01231333(2)求驱动方程由于 JK 触发器的特性方程为 nnQKJ1用状态方程与特性方程做比较,可得对应驱动方程,如下:1001012123 0KJQKQJnnn123.2.2 画逻辑电路图根据所选用的触发器和时钟
14、方程、输出方程、驱动方程,便可以画出如图 14 所示的逻辑电路图图 14 逻辑电路图3.2.3 逻辑分析仪的仿真逻辑分析仪显示的波形如图 15 所示:13图 15 逻辑分析仪波形检查电路能否自启动:把无效状态 1001 和 1010 带入输出方程和和状态方程进行计算,结果如下: 010101/ 由此可见,在 CP 操作下都能回到有效状态,即电路能够自启动。3.2.4 结果分析 Multism 是一种虚拟仪器,可以用来验证电路的设计的正确性。根据相关计算,得出时序电路的时钟方程、状态方程、驱动方程,从而选择合适触发器来连接实现。本设计中,选用四个时钟脉冲下降沿触发的 JK 触发器来实现四位二进制
15、减法计数器。逻辑电路图中,四个小红灯即为显示器,灯亮表示“1”,灭表示“0”,从而达到计数目的。由于其中缺了 1001,1010 两种状态,所以在计数过程中会发生跳变,即先从 1011 跳到 1000,再由 0000 直接跳回到 1111,周而复始。逻辑分析仪类似于Quartus环境下的波形仿真,是对计数器的另一种直观的描述。其中,高电平表示“1”,低电平表示“0”,也可以对计数器的功能进行测试及检验。144.总结在本次数字电路课程设计中,我花了较多的时间查阅资料,进行反复练习,使我对二进制减法计数器掌握得更加熟练。这对我以后学习相关的课程以及进行更高层次的数字电路设计都奠定了不错的基础。在设
16、计过程中,出现了各种各样的问题,有些是单一原因引起的,有的是综合原因引起的,这些都很考验我的毅力与坚持。但是我掌握了研究这类问题的方法,即问题解决的过程就是要从问题所表现出来的情况出发,通过反复推敲,作出相应判断,逐步找出问题的症结所在,从而一举击破。对于数字电路设计,尤其在使用 Multism 进行逻辑电路的连接与分析时,这种分析解决问题的能力就更为重要。要在复杂的电子器件和密密麻麻的连线中找出头绪来,并不是一件很容易的事情。往往要重新再来一次,但是这样的问题就出在计算上,尤其是在化简卡诺图时,务必小心谨慎,一个字符写错或者漏掉一些信息,就会导致驱动方程错误,逻辑电路就不能实现最初的设计功能
17、。在学习过数字电路技术基础简明教程之后,我已经算是掌握了一定的数字电路设计的基础以及相应的分析方法、实践能力以及自学能力。虽然遇到了不少问题,但是在向老师和同学请教的学习过程中,我又改正了不少错误的认识,对数字电路的设计与分析方法的掌握也有了一定的提高,我相信这些知识与经验对以后的学习会有极大的帮助。155.参考文献1.数字电子技术基础简明教程 (第三版) 高等教育出版社 余孟尝主编;2.数字集成电子技术教程 高等教育出版社 李世雄,丁康源主编;3.数字逻辑与硬件描述语言实验指导书 沈阳理工大学信息学院技术中心 王东明,喻红婕, 吴迪主编;4.VHDL 实用教程. 潘松,王国栋,西安:电子科技大学出版社,2001。