当前位置:文档之家› 四位二进制同步加法计数器(缺0011 0100 0101 0110)

四位二进制同步加法计数器(缺0011 0100 0101 0110)

成绩评定表课程设计任务书摘要本次课设题目为四位二进制加法计数器(缺0011 0100 0101 0110)。

首先在QuartusII8.1中建立名为count16的工程,用四位二进制加法计数器的VHDL语言实现了四位二进制加法计数器的仿真波形图,同时进行相关操作,锁定了所需管脚,将其下载到实验箱。

然后,在Multisim软件中,通过选用四个时钟脉冲下降沿触发的JK触发器和同步电路,画出其时序图,卡诺图,建立相关方程,做出相关计算,完成四位二进制加法计数器(缺0011 0100 0101 0110)的驱动方程。

在Multisim软件里画出了四位二进制加法计数器的逻辑电路图。

经过运行,分析由红绿灯的亮灭顺序及状态,和逻辑分析仪里出现波形图。

说明四位二进制加法计数器顺利完成。

关键词:计数器;VHDL语言;仿真;触发器。

目录一、课程设计目的 (1)二、设计框图 (1)三、实现过程 (2)1、QUARTUS II实现过程 (2)1.1建立工程 (2)1.2编译程序 (7)1.3波形仿真 (10)1.4 仿真结果分析 (14)1.5引脚锁定与下载 (14)2、MULTISIM实现过程 (16)2.1求驱动方程 (16)2.2画逻辑电路图 (19)2.3逻辑分析仪的仿真 (20)2.4结果分析 (21)2.5自启动判断 (22)四、总结 (23)五、参考书目 (24)一、课程设计目的1 了解同步加法计数器工作原理和逻辑功能。

2 掌握计数器电路的分析、设计方法及应用。

3 学会正确使用JK 触发器。

二、设计框图状态转换图是描述时序电路的一种方法,具有形象直观的特点,即其把所用触发器的状态转换关系及转换条件用几何图形表示出来,十分清新,便于查看。

在本课程设计中,四位二进制同步加法计数器用四个CP 下降沿触发的JK 触发器实现,其中有相应的跳变,即跳过了0011 0100 0101 0110四个状态,这在状态转换图中可以清晰地显示出来。

具体结构示意框图和状态转换图如下:1010101111001101111011110/1/1000101101110010000100000/0/0/0/0/0/0/0/0/0/−−−−←−−−−←−−−−←−−−−←−−−−←↓↑−−−→−−−−→−−−−→−−−−→−−−−→−B:状态转换图三、实现过程1.QUARTUSII实现过程1.1建立工程.图1 QUARTUS软件的启动界面(1)点击File –> New Project Wizard创建一个新工程,系统显示如图2。

图2 工程创建向导的启始页(2)点击Next,为工程选择存储目录、工程名称、顶层实体名等,如图3所示;(3)点击Next,若目录不存在,系统可能提示创建新目录,如图4所示,点击“是”按钮创建新目录,系统显示如图5所示;(4)系统提示是否需要加入文件,在此不添加任何文件;(5)点击Next,进入设备选择对话框,如图6,这里选中实验箱的核心芯片CYCLONE系列FPGA产品EP1C6Q240C8;(6)点击Next,系统显示如图7,提示是否需要其他EDA工具,这里不选任何其他工具;(7)点击Next后,系统提示创建工程的各属性总结,若没有错误,点击Finish,工程创建向导将生成一个工程,这时软件界面如图8,在窗口左侧显示出设备型号和该工程的基本信息等。

图3 输入工程名称、存储目录图4 提示是否创建新文件夹图5 提示是否添加文件图6 芯片型号选择图7 提示是否利用其他EDA设计工具图8 工程阐述汇总1.2编译程序为实现用一个拨码开关控制一个LED亮灭的功能,可用VHDL编写一个程序实现,具体操作过程如下:(1)点击File->New创建一个设计文件,系统显示如图9;图9 创建一个设计文件(2)选择设计文件的类型为VHDL File;(3)点击OK,系统显示如图10,窗口右侧为VHDL的编辑窗口。

图10 新建的一个VHDL源文件的编辑窗口(4)在编辑窗口中编辑以下程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;entity count16 isPORT (cp,r:IN STD_LOGIC;q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0) );end count16;ARCHITECTURE one OF count16 ISSIGNAL count:STD_LOGIC_VECTOR(3 DOWNTO 0) ;BEGINPROCESS (cp,r)BEGINIF r='0' then count<="0000";ELSE IF cp'EVENT AND cp='1' THEN IF count="0010"THENcount<="0111";ELSE IF count="1111" THENcount <="0000";ELSE count <= count +1;END IF;END IF;END IF;END IF;END PROCESS;q<= count;END one;(5)输入程序后,存盘,如图11所示:图11 存盘( 6 ) 点击Processing->Start Compilation编译该文件,系统将开始编译,结束后,给出提示信息和编译结果,如图12所示:图12 编译结果成功1.3波形仿真( 1 )建立时序仿真文件,如图1-13所示,选择“Vector Waveform File”,出现图13的界面,在Name空白处击右键,Insert→Insert Node or Bus。

图 13仿真初始界面图14点击Name后的界面在图14中单击图15设置对应端口在图15中单击,再单击→OK→OK。

如图16所示图16建立仿真界面仿真文件存盘时,文件名字必须与顶层文件同名,即count16,默认即可。

图18仿真工具栏图18是为仿真输入赋值的。

如想赋值‘1’,单击。

( 2 )单击菜单进行仿真图19点击进行仿真仿真结果如图20。

图20 仿真波形1.4仿真结果分析由仿真波形图20可以清楚地看到在一个周期之内,即由小到大,依次完成了四位二进制加法计数的功能。

其中由于缺了0011 0100 0101 0110四个状态,即缺了十进制数中的3 4 5 6四个数,在波形仿真中,在这几个状态处发生跳变,即由0010跳到0111,再由0000直接跳回到1111,即完成一个周期的计数,不断循环往复。

1.5引脚锁定与下载左上侧Assignment选项中选Pins,下侧Location分配引脚:cp-PIN_28 q[3]-PIN_114 q[2]-PIN_115 q[2]-PIN_116 q[1]-PIN_117 r-PIN_58。

图21锁定管脚左键点击Tools——〉Programmer图22下载点击start,运行到100%,及下载成功。

2. Multisim 实现过程2.1求驱动方程相关结构示意框图和状态转换图见上(二)所示步骤。

选择四个时钟脉冲下降沿触发的JK 触发器,因要使用同步电路,所以时钟方程应该为CP CP CP CP CP ====3210(1)求状态方程由所示状态图可直接画出如图23所示电路次态13+n Q 12+n Q 11+n Q 10+n Q 的卡诺图,再分解开便可以得到如图24所示各触发器的卡诺图。

图23次态13+n Q 12+n Q 11+n Q 10+n Q 的卡诺图将上述卡诺图对应拆成四个卡诺图,分别求出13+n Q 、12+n Q 、11+n Q 、10+n Q 表达式如下所示:(a) 13+n Q 的卡诺图(b) 12+n Q 的卡诺图(c )11+n Q 的卡诺图(d )10+n Q 的卡诺图 图24各触发器的卡诺图(1)根据卡诺图进行相应化简即得到状态方程,如下:nn n n n n n n n n n n n n n n n n n n n n n Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q 01010111201011321201232313)()()(=+=+++=+++=++++(2)求驱动方程由于JK 触发器的特性方程为n n n Q K Q J Q +=+1用状态方程与特性方程做比较,可得对应驱动方程,如下:1)(000110120312012323=====+=++==K J Q K J Q Q K Q Q Q J Q Q Q K Q J n n n n n n n n n n2.2画逻辑电路图根据所选用的触发器和时钟方程、输出方程、驱动方程,便可以画出如图25所示的逻辑电路图。

图25 四位二进制加法计数器2.3逻辑分析仪的仿真图26四位二进制加法计数器逻辑分析仪2.4结果分析Multisim是一种虚拟仪器,可以用来验证电路的设计的正确性。

根据相关计算,得出时序电路的时钟方程、状态方程、驱动方程,从而选择合适触发器来连接实现。

本次课程设计中,选用四个时钟脉冲下降沿触发的JK触发器来实现四位二进制加法计数器。

逻辑电路图26中,四个小红灯即为显示器,从左到右显示时序图中的十二种状态,其中,灯亮表示“1”,灭表示“0”,从而达到计数目的。

由于其中缺了0011 0100 0101 0110四种状态,如图27逻辑分析仪中可发现计数过程中发生跳变,即先从0010跳到0111,再由0000直接跳回到1111,周而复始。

逻辑分析仪类似于QUARTUSII环境下的波形仿真,是对计数器的另一种直观的描述。

其中,高电平表示“1”,低电平表示“0”,也可以对计数器的功能进行测试及检验。

2.5 自启动判断检查电路能否自启动:把无效状态0011 0100 0101 0110带入输出方程和和状态方程进行计算,结果如下:11110110111001011101010000110/0/0/0/−−−→−−−−→−−−−→−−−−→−由此可见,在CP 操作下都能回到有效状态,即电路能够自启动。

四、总结在本次数字电路课程设计中,我的题目为四位二进制加法计数器(缺0011 0100 0101 0110)。

由于是第一次做数字电路的课程设计,对于相关设计过程和分析方法并不大熟练。

但总的来说,这次课设还算完满完成,这对我以后学习相关的课程以及进行更高层次的数字电路设计都奠定了良好的基础。

在设计过程中,出现了各种各样的问题,例如:写程序时,如果思路不够清晰是很难完成代码的设计的;化简时,由于对卡诺图化简发不够熟练,很容易就会导致化简错误;用Multisim软件画逻辑电路图时,稍有一点错误就会导致电路图模拟不出我们要完成的计数器任务。

相关主题