数字电路四位二进制加法器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
成绩评定表
课程设计任务书
摘要
本文首先在QuartusII8.1中建立名为count16的工程,并用四位二进制加法计数器的VHDL语言实现了四位二进制加法计数器的仿真波形图,继续进行相关操作锁定了所需管脚,将其下载到实验箱。然后通过选用四个时钟脉冲下降沿触发的JK触发器和同步电路,画出其时序图,卡诺图,由JK触发起的特征方程建立相关方程,进行计算,得出了四位二进制加法计数器(缺0100,0101,0110,1000)的驱动方程。进而在Multisim 软件中画出了四位二进制加法计数器的逻辑电路图。经过运行,由红灯的亮灭顺序及绿灯的状态还有在逻辑分析仪里出现与仿真波形一样的波形图。说明四位二进制加法计数器(缺0100,0101,0110,1000)设计成功。
关键字:四位二进制加法计数器;JK触发器;驱动方程;仿真波形图;逻辑电路图。
目录
1、课程设计目的 (2)
2、课程题目实现框图 (2)
3、实现过程 (3)
3.1 QuartusII8.1实现过程(VHDL) (3)
3.1.1建立工程 (3)
3.1.2调试程序 (4)
3.1.3波形仿真 (11)
3.1.4仿真结果分析 (15)
3.1.5引脚锁定与下载 (15)
3.2 Multisim实现过程(电路设计) (17)
3.2.1求驱动方程 (17)
3.2.2画逻辑电路图 (21)
3.2.2逻辑分析仪的仿真 (22)
3.2.3仿真结果分析 (22)
4、设计总结 (23)
5、参考文献 (24)
一、 课程设计目的
1、了解数字系统设计方法。
2、熟悉VHDL 语言及其仿真环境、下载方法。
3、熟悉Multisim 环境,学会使用逻辑符号及元件画逻辑电路图。
二、课程题目实现框图
1、如图2-1所示是四位二进制加法计数器的结构示意框图。CP 是输入计数脉冲,所谓计数,就是计CP 脉冲个数,每来一个脉冲计数器就加一个1,随着输入计数脉冲个数的增加,计数器中的数值也增大,当计数器计满时再来一个CP 脉冲,计数器归零的同
时给高位进位,既要送给高位进位信号C 。
2、根据二进制加法计数器的规律可以画出如图
2-2所示的四位二进制加法计数器的状态图。
四位二进制加法计数器
C
CP
输入加法计数脉冲
输出信号
图2-1 结构示意框图
三、实现过程
3.1 QuartusII8.1实现过程(VHDL)
3.1.1 建立工程
(1)点击File –> New Project Wizard创建一个新工程,系统显示如图3-2。
(2)点击Next,为工程选择存储目录、工程名称、顶层实体名等,如图3-3所示;
(3)点击Next,若目录不存在,系统可能提示创建新目录,如图3-4所示,点击“是”按钮创建新目录,系统显示如图3-5所示;
(4)系统提示是否需要加入文件,在此不添加任何文件;
(5)点击Next,进入设备选择对话框,如图3-6,这里选中实验箱的核心芯片CYCLONE系列FPGA产品EP1C6Q240C8;
(6)点击Next,系统显示如图3-7,提示是否需要其他EDA工具,这里不选任何其他工具;
(7)点击Next后,系统提示创建工程的各属性总结,若没有错误,点击Finish,工程创建向导将生成一个工程,这时软件界面如图3-8,在窗口左侧显示出设备型号和该工程的基本信息等。
3.1.2 调试程序
为实现用一个拨码开关控制一个LED 亮灭的功能,可用VHDL 编写一个程序实现,具体操作过程如下:
1) 点击File->New 创建一个设计文件,系统显示如图3-9;
2) 选择设计文件的类型为VHDL File ;
3) 点击OK ,系统显示如图3-10,窗口右侧为VHDL
的编辑窗口。
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(3 DOWNTO 0) ); end count16;
ARCHITECTURE Behavioral OF count16 IS
SIGNAL count:STD_LOGIC_VECTOR(3 DOWNTO 0) ;
BEGIN
PROCESS (cp,r)
BEGIN
if r='0' then count<="0000";
elsiF cp'EVENT AND cp='1' THEN if count="1111" THEN
count <="0000";
ELSE count <= count +1; if count="0011" THEN
count <="0111";
elsif count="0111"THEN
count<="1001";
end if;
END IF;
end if;
END PROCESS;
q<= count;
end Behavioral;
5)输入程序后,存盘,如图3-11所示: