资源描述
精品文档
摘要
在数字系统中,除了能够进行逻辑运算和算术运算的组合逻辑电路外,还需要具有记忆功能的时序逻辑电路。触发器是最基本、最重要的时序单元电路,也是构成时序逻辑电路的基本单元电路。触发器由集成逻辑门电路加上适当的反馈电路组成,有两个互补的输出端,其输出状态不仅与输入有关,而且还与原先的输出状态有关。触发器具有不同的逻辑功能,根据电路结构和触发方式可分成不同的种类。在所有的触发器中,基本RS触发器是构成其他各种触发器的基础。将两个RS触发器串联可以组成主从型JK触发器,再将JK触发器的两个输入端J、K连接起来作为一个输入信号,则构成了T触发器。Altera Quartus II 作为一种可编程逻辑的设计环境,提供了完全集成且与电路结构无关的开发包环境,具有数字设计逻辑的全部特性。我们可以用这个软件进行T触发器的设计与仿真。
关键词:数字电路 T触发器 Quartus
目录
摘要 1
1 设计原理说明 3
1.1 RS触发器和JK触发器的电路结构和逻辑功能 3
1.2 T触发器原理说明 5
1.3 EDA技术及设计软件Quartus II介绍 6
2 T触发器的设计与仿真 8
2.1 T触发器的硬件实现 8
2.2 T触发器的编程实现 10
心得体会 13
参考文献 14
T触发器的设计
1 设计原理说明
1.1 RS触发器和JK触发器的电路结构和逻辑功能
在所有的触发器中,结构最简单的是基本RS触发器,基本RS触发器是构成其他各种触发器的基础,其电路形式有两种:与非门结构和或非门结构。把两个与非门G1、G2的输入、输出端交叉连接,即可构成基本RS触发器,其逻辑电路如图1-1所示。它有两个输入端R、S和两个输出端Q、。
图1-1 基本RS触发器结构图
基本RS触发器的逻辑方程为:
Q=+RQ (1-1)
约束方程为:
R+S=1 (1-2)
表1-1 两个与非门组成的基本RS触发器的功能表
R
S
Q
Q
功能
0
0
0
不用
不允许
0
0
1
不用
0
1
0
0
Q=0,置0
0
1
1
0
1
0
0
1
Q=1,置1
1
0
1
1
1
1
0
0
Q= Q,保持
1
1
1
1
为了提高触发器工作的可靠性,希望触发器的翻转在某一时刻进行,即要求触发器的输出在一个CP周期内,输出状态只能改变一次。于是在同步RS触发器的基础上出现了主从触发器,可以有效克服空翻。
图1-2 主从RS触发器
主从RS触发器不允许输入R、S同时为1,这给其应用带来了不便,为了消除这个约束条件,考虑到触发器的输出Q和互补的特点,可将输出Q和反馈到输入端,通过两个与门使加到R和S的信号不能同时为1,从而满足RS触发器要求的约束条件。为区别于原来的RS触发器,将对应于原图中的R用K表示,S用J表示,如图1-3所示。
图1-3 主从JK触发器
图1-4 主从JK触发器的逻辑符号
主从JK触发器的特性方程为
Q=JQ+Q (1-3)
表1-2 主从JK触发器的功能表
CP
J
K
Q
Q
功能
0
X
X
X
Q
Q= Q,保持
0
0
0
0
0
Q= Q,保持
0
0
0
1
1
0
0
1
0
0
Q=1,置0
0
0
1
1
0
0
1
0
0
1
Q=1,置1
0
1
0
1
1
0
1
1
0
1
Q=,翻转
0
1
1
1
0
1.2 T触发器原理说明
对JK触发器,若将输入信号J和K连在一起,即J=K=T,则构成T触发器,T触发器并没有独立的产品,由JK触发器或D触发器转换而来,如图1-5为JK触发器转换成的T触发器逻辑图。
图1-5 JK触发器转换成T触发器逻辑的结构图
T触发器的特性方程为
Q=J+Q =T+Q (1-4)
T触发器特点很明显,当T=0时,Q= Q,触发器保持状态;当T=1时,Q=,触发器翻转计数,即该触发器每收到一个CP脉冲,状态就翻转一次。T触发器又称受控翻转型触发器。T触发器的功能表如表1-3所示:
表1-3 T触发器的功能表
T
Q
Q
功能
0
0
0
Q= Q,保持
0
1
1
1
0
1
Q=,翻转
1
1
0
1.3 EDA技术及设计软件Quartus II介绍
EDA技术就是以计算机为工作平台,以EDA软件工具为开发环境,以硬件描述语言为设计语言,以可编程器件为实验载体,以ASIC、SOC芯片为目标器件,以数字逻辑系统设计为应用方向的电子产品自动化设计过程。
EDA技术在硬件方面融合了集成电路制造技术、IC版图设计技术、ASIC测试和封装技术、CPLD/FPGA技术等;在计算机辅助工程方面融合了计算机辅助设计CAD、计算机辅助制造CAM、计算机辅助测试CAT技术及多种计算机语言的设计概念;而在现代电子学方面则容纳了更多的内容。因此,EDA技术为现代数字系统理论和设计的表达与应用提供了可能性,它已不是某一学科的分支,而是一门综合性学科,EDA技术打破了计算机软件与硬件间的壁垒,使计算机的软件技术与硬件实现设计效率和产品性能合二为一,它代表了数字电子技术和应用技术的发展方向。
Altera的 Quartus II时业内领先的FPGA设计软件,具有最全面的开发环境,实现无与伦比的性能表现,而且效率高,易于使用的设计流程方法;也是Altera公司继MAX+plus II之后,开发的一种针对其公司生产的系列CPLD/FPGA器件的设计、仿真、编程的工具软件。Quartus II 支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。同时,Quartus II可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。
对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三放EDA工具。Altera的Quartus II可编程逻辑软件属于第四代PLD开发平台。该平台支持一个工作组环境下的设计要求,其中包括支持基于Internet的协作设计。Quartus平台与Cadence、ExemplarLogic、 MentorGraphics、Synopsys和Synplicity等EDA供应商的开发工具相兼容。改进了软件的LogicLock模块设计功能,增添 了FastFit编译选项,推进了网络编辑性能,而且提升了调试能力。
2 T触发器的设计与仿真
2.1 T触发器的硬件实现
利用Quartus II软件可以通过使用JK触发器来完成T触发器的建模,具体步骤如下:
(1)打开Quartus II软件建立一个新的工程:单击菜单中的file,选择New project Wizard,输入所要建立的工程的保存路径和工程名字,单击Next按钮,由于没有包含已有文件,则单击Next按钮并选择器件,然后进行EDA工具设置,选择第三方EDA综合、仿真和时序分析工具,工程建立完成后,显示工程概要,如图2-1所示。
图2-1 建立工程概要
工程建立完成以后,可以建立一个原理图文件,选择file,菜单中的 New选项,在窗口中选择Block Diagram/Schematic File,这样原理图文件就建好了,接下来就要完成T触发器硬件图的绘制,双击原理图空白处,在弹出的菜单中输入要加入元件的名字,如:74107(JK触发器)、Input、Output、and2等,最终用导线连接好各个元件就完成了硬件图的绘制。先进行编译,确认硬件图原理上没有错误。如下图2-2所示。
图2-2 T触发器硬件图
要检验该硬件图是否正确,就要再建立一个仿真波形文件,对原理图进行仿真:选择file/ New/Vector Waveform file,在进行仿真前,要先进行参数设置,选择Edit/End Time设置仿真时间为1ms,然后把硬件图中的输入输出端口插入波形图中:双击波形图空白部分,选择Node Finder/List,将CLK、T、Q、QB四个端口选中,点击OK即可。为了使仿真结果具有一般性,要对输入信号CLK和T的波形进行设置:设置CLK的波形为周期为1.3μm的时钟脉冲,输入T为周期为1.8μm的时钟脉冲,参数设置完成,点击编译,没有错误后进行仿真,波形如图2-3所示。
图2-3 T触发器硬件仿真图
根据仿真波形分析可知,所设计的上升沿T触发器,在输入T=0的时候,输出时钟保持前一个状态不变,当输入T=1的时候,每当有一个上升沿的触发脉冲到来时,输出就与前一个状态相反,输出发生反转,这与前面的T触发器的理论分析结果是一样的,所以所设计的T触发器的硬件图是正确的。
2.2 T触发器的编程实现
根据VHDL语言设计要求,可画出编程实现T触发器的程序设计框图,如图2-4所示。
否
是
是
否
声明IEEE库及程序包
定义实体名和端口名
定义结构体
连接实体和结构体
Q= Q,保持
T=1?
Q=,翻转
Q= Q,保持
结束
CP=1?
图2-4 程序设计框图
打开Quartus II软件,选择file/ New/VHDL File,新建一个程序文件,然后将以下程序写入文件中,如图2-5所示。
图2-5 编程实现T触发器源程序及注释部分
在编写的源程序中,LIBRARY IEEE表示打开IEEE库,因为IEEE库不属于VHDL的标准库,所以使用库的内容要先声明;USE和ALL是关键词,第二句表示允许使用IEEE库中STD_LOGIC_1164程序包中的所有内容。PORT语句是端口名语句,赋予每个外部引脚的名称。其中模式in是是输入,out是输出,std_logic是数据类型名,指长度为1的逻辑值。程序中其他具体语句的含义在注释中已写。
程序编写好之后,先进行编译,编译无误后,可以添加一个波形图文件,对程序进行仿真。选择file/ New/Vector Waveform file,同样在仿真前,要把各个输入输出端口添加到波形图中,并进行参数设置,具体的设置方法与上面硬件图仿真的方法是一样的。设置好之后就可以对程序进行仿真了,仿真的结果如下图所示。
图2-6 T触发器程序仿真结果图
根据仿真波形分析可知,该程序所实现的上升沿T触发器,在输入信号T=0的时候,输出信号保持前一个状态不变,而当输入信号T=1的时候,每当有一个上升沿的触发脉冲CP到来时,输出信号就与前一个状态相反,即输出发生反转,这与T触发器的理论分析结果是一样的,所以设计的T触发器的程序是正确的。
心得体会
这次的暑期能力拓展训练,目的是让我们学习EDA(电子设计自动化)的相关技术与方法,同时掌握VHDL语言并能别写程序。同时还要学会Quartus II软件的使用,掌握利用该软件进行程序编辑、编译、调试和仿真的方法。开始我觉得这个任务还是有点难度的,因为我还是第一次接触Quartus II软件和VHDL语言,所以要在短时间内完成这次的能力拓展训练,还是感觉有些压力的。
正是因为不会,所以要从头开始学习。于是,我从学校的图书馆借来了基本关于Quartus II软件的使用方法和VHDL语言的程序设计的参考书。不得不说,是这几本书帮助我最后还是比较顺利的完成了这次的能力拓展训练,因为从所借来的书中,我先是学会了如何用Quartus II软件进行硬件电路的模型大搭建,并知道了利用波形图对模型进行仿真的方法,随后,又学会了利用VHDL语言编写程序设计T触发器,直到最后完成了所有的模型搭建,程序设计,波形的仿真之后才觉得,这些知识并不是不可能完成的任务。
总的来说,这次的课程设计对我来讲,还是有点难度的。当然,从另一方面讲,这也是在考验自己的自学能力。但做完这次的课程设计再回头来看,这个问题其实也没有多难。另外,Quartus II软件的熟练使用,在这次的课程设计中还是很重要的。因为硬件模型的搭建,程序的编写,输出信号的仿真都要用到。所以,从不会这个软件到能简单的使用,也可以说是一个小小的挑战。最后,我觉得,每一次的课程设计对于我们来说,都是一次难得的学习机会,在课程设计中,我们有机会接触到课本上不会学习的知识,会学习使用一些平时不会用到的学习软件。所以,我们应该认真对待每次的课程设计环节。在掌握相关知识和软件的使用的前提下,努力完成课程设计。
参考文献
[1]伍时和.数字电子技术基础.北京:清华大学出版社,2009
[2]张亦华.数字电路EDA入门.北京:北京邮电大学出版社,2003
[3]冼进.Verilog HDL数字控制系统设计实例.北京:中国水利水电出版社,2007
[4]刘昌华.数字逻辑EDA设计与实践.北京:国防工业出版社,2009
[5]姜雪松.VHDL设计实例与仿真.北京:机械工业出版社,2007
精品文档
展开阅读全文