(完整版)同步加法器毕业课程设计
成 绩 评 定 表
课程设计任务书
摘 要
本文利用Quartus II 与Multisim 两种软件,在Quartus Ⅱ环境中用VHDL
语言实现四位二进制同步加法计数器(缺1100 1101 1110 1111)在仿真器上显示结果波形,并下载到目标芯片上,在实验箱上观察输出结果。
在Multisim 环境中仿真实现同样效果,并通过虚拟仪器验证其正确性。
关键词:VHDL ;四位二进制;同步加法计数器
一、课程设计目的 . .............................................................................. 1 二、设计框图 ........................................................................................ 1 三、实现过程 ........................................................................................ 2
.............................................................................. 2
1.1建立工程 ............................................................................. 2
1.2VHDL 源程序 . ..................................................................... 7
1.3编译及仿真 ....................................................................... 10
1.4引脚锁定及下载 ............................................................... 15
1.5仿真结果分析 ................................................................... 16
2、MULTISIM 实现过程 . .............................................................................. 16
2.1求驱动方程 ....................................................................... 16
2.2画逻辑电路图 ................................................................... 20
2.3逻辑分析仪的仿真 ........................................................... 20
2.4结果分析 ........................................................................... 21
四、总结 . ................................................................................................ 21
五、参考书目 ........................................................................... 23
一、课程设计目的
1:了解同步加法计数器工作原理和逻辑功能。
2:掌握计数器电路的分析、设计方法及应用。
3:学会正确使用JK 触发器。
二、设计框图
状态转换图是描述时序电路的一种方法,具有形象直观的特点,即其把所用
触发器的状态转换关系及转换条件用几何图形表示出来,十分清新,便于查看。
在本课程设计中,四位二进制同步加法计数器用四个CP 下降沿触发的JK
触发器实现,其中有相应的跳变,即跳过了1100 1101 1110 1111四个状态,这在
状态转换图中可以清晰地显示出来。具体结构示意框图和状态转换图如下:
000000000−−/−−→0001−−/−−→0010−−/−−→0011−−/−−→0100−−/−−→0101
/1
/0/0/0/0/01011←−−−−1010←−−−−1001←−−−−1000←−−−−0111←−−−−0110
B:状态转换图
三、实现过程
1.1建立工程
图1.1 QUARTUS 软件的启动界面
(1)点击File –> New Project Wizard创建一个新工程,系统显示如图1.1:
图1.2 工程创建向导的启始页
(2)点击Next ,为工程选择存储目录、工程名称、顶层实体名等,如图1.3所示;
(3)点击Next ,若目录不存在,系统可能提示创建新目录,如图1.4所示,点击“是”按钮创建新目录,系统显示如图1.5所示;
(4)系统提示是否需要加入文件,在此不添加任何文件;
(5) 点击Next ,进入设备选择对话框,如图1.6,这里选中实验箱的核心芯片CYCLONE 系列FPGA 产品EP1C6Q240C8;
(6)点击Next ,系统显示如图1.7,提示是否需要其他EDA 工具,这里不选任何其他工具;
(7)点击Next 后,系统提示创建工程的各属性总结,若没有错误,点击Finish ,工程创建向导将生成一个工程,这时软件界面如图1.8,在窗口左侧显
示出设备型号和该工程的基本信息等。
图1.3 输入工程名称、存储目录
图1.5 提示是否添加文件
图1.6 芯片型号选择
图1.7 提示是否利用其他EDA 设计工具
图1.8 工程阐述汇总
至此工程创建好完成。
1.2 VHDL源程序
为实现四位二进制同步加法计数器(缺1100 1101 1110 1111)的功能,可用VHDL 编写一个程序实现,具体操作过程如下:
(1) 点击File->New创建一个设计文件,系统显示如图1.9;
图1.9 创建一个设计文件
(2) 选择设计文件的类型为VHDL File;
(3) 点击OK ,系统显示如图1.10,窗口右侧为VHDL 的编辑窗口。
图1.10 新建的一个VHDL 源文件的编辑窗口
(4) 在编辑窗口中编辑以下程序: library IEEE;
use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity count16 is port(CP,r:in std_logic;
q:out std_logic_vector(3downto 0)); end count16;
architecture behavioral of count16 is signal count:std_logic_vector(3downto 0); begin process(cp,r) begin if r='0'then count
(5)输入程序后,存盘,如图1.11所示:
图1.11 存盘
1.3
编译及仿真
(1) 点击Processing->Start Compilation编译该文件,系统将开始编译,结束后,给出提示信息和编译结果,如图1.12所示:
图1.12 编译结果显示
(2)建立时序仿真文件, 如图1.13所示,选择“Vector Waveform File”,出现图1.14的界面,在Name 空白处击右键,Insert →Insert Node or Bus。
图 1.13
图 1.14 在图1.14中单击
图1.15
在图1.15中单击,再单击→OK →OK 。如图1.16所示
图1.16
仿真文件存盘时,文件名字必须与顶层文件同名,即count16,默认即可。
图1.17
图1.18
图1.18是为仿真输入赋值的。如想赋值‘1’,单击。 (2) 单击菜单进行仿真
图1.19
仿真结果如图1.20所示
图1.20 仿真波形
1.4引脚锁定及下载。
(1)进行引脚锁定。点击Assignments->pins分配引脚,具体数值为:CP-PIN28、
r-PIN49、q3-PIN114、q2-PIN115、q1-PIN116、q0-PIN117。如图1.21所示
图1.21
回到quartus II环境 :点击Processing ——〉Start Compliation 重新编译,锁定引脚,如图1.22所示
图1.22
(2)进行引脚锁定。点击Tools ——〉Programmer ——>Hardware Setup进行下载前设置,如图1.23:
图1.23
点击Start 进行下载,下载完成后,实验结果将在实验箱上显示。
1.5仿真结果分析
由仿真波形图可以清楚地看到在一个周期之内,即由小到大,依次完成了四
位二进制加法计数的功能。其中由于缺了1000 1001 1010 1011四个状态,即缺了十进制数中的8 9 10 11四个数,在波形仿真中,在这几个状态处发生跳变,即由0111跳到1100,再由1111直接跳回到0000,即完成一个周期的计数,不断循环往复。
四、总结
通过这次课程设计,加强了我们动手、思考和解决问题的能力。在设计过程中,我对课本的知识得到了巩固和加强,由于课本上的知识太多,平时课间的学习并不能很好的理解和运用各个软件的功能,而且考试内容有限,所以在这次课程设计过程中,我们了解了很多元件的功能,并且对于其在电路中的使用有了更多的认识。平时看课本时,有时问题老弄不懂,做完课程设计,那些问题就迎刃而解了。而且还可以记住很多知识。
在设计过程中,出现了各种各样的问题,有些是单一原因引起的,有的是综合原因引起的,这些都很考验我的毅力与坚持。其中有些问题是由于理论课上的