《数字逻辑实验课(共25页).doc》由会员分享,可在线阅读,更多相关《数字逻辑实验课(共25页).doc(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上实验一 Maxplus软件的基本操作一、实验内容1熟悉Maxplus软件的基本操作,了解各种设计方法(原理图设计、文本设计、波形设计)2用逻辑图和VHDL语言设计一个异或门。3用逻辑图和VHDL语言设计三态门,三态门的使能端对低电平有效。二、电路要求1进实验室前,请写一份预习报告;进实验室时经指导老师检查后,才可上机操作。2预习报告内容有: 异或门和三态门的逻辑图; 用VHDL语言编写异或门和三态门;3实验结束前,要填写实验卡,将异或门的仿真波形画在实验卡上。三、电路功能介绍1、异或门(XOR) 用途:异或门是一种用途广泛的门电路。典型应用是作为加法器的单元电路。 逻
2、辑图 真值表ABOUT000011101110 VHDL程序数据流描述: 波形图2三态门,又名三态缓冲器(Tri-State Buffer) 用途:用在总线传输上,有效而又灵活地控制多组数据在总线上通行,起着交通信号灯的作用。 逻辑图 真值表ENAOUT00Hi-Z01Hi-Z100110 VHDL程序行为描述:结构体描述: 波形图实验二 加法器的设计与仿真一、实验内容1用VHDL语言设计全加器;2利用设计的全加器组成串行加法器;3用VHDL语言设计并行加法器。二、电路要求1进实验室前,请写一份预习报告;进实验室时经指导老师检查后,才可上机操作。2预习报告内容有: 用VHDL语言编写全加器、串
3、行加法器和并行加法器。3实验结束前,要填写实验卡,将以上3种电路的仿真波形画在实验卡上。三、电路功能介绍1全加器 用途:实现一位全加操作 逻辑图 真值表XYCINSCOUT0000000110010100110110010101011100111111 VHDL程序数据流描述: 波形图2四位串行加法器 逻辑图 波形图374283:4位先行进位全加器(4-Bit Full Adder) 逻辑框图 逻辑功能表注:1、输入信号和输出信号采用两位对折列表,节省表格占用的空间,如:A1/A3对应的列取值相同,结果和值1/3对应的运算是1=A1+B1和3=A3+B3。请自行验证一下。2、C2是低两位相加产
4、生的半进位,C4是高两位相加后产生的进位输出,C0是低位级加法器向本级加法器的进位输入。实验三 译码器与编码器的设计与仿真一、实验内容1参照芯片74LS138的电路结构,用VHDL语言设计3-8译码器;2参照芯片74LS148的电路结构,用VHDL语言设计8-3优先编码器。二、实验要求1进实验室前,请写一份预习报告;进实验室时经指导老师检查后,才可上机操作。2预习报告内容有: 8-3编码器、3-8译码器的逻辑表达式; 用VHDL语言设计8-3编码器、3-8译码器。3实验结束前,要填写实验卡,将以上2种电路的仿真波形画在实验卡上。三、电路功能介绍174148:8-3优先编码器(8 to 3 Pr
5、iority Encoder) 用途:将各种输入信号转换成一组二进制代码,使得计算机可以识别这一信号的作用。键盘里就有大家天天打交道的编码器,当你敲击按键时,被敲击的按键被键盘里的编码器编码成计算机能够识别的ASCII码。译码器与编码器的功能正好相反。 逻辑框图 逻辑功能表INPUTSOUTPUTSEN0N 1N2N 3N 4N 5N 6N 7NA2 A1 A0EO GS1 1 1 11 10 00 0 00 10 0 10 0 10 10 0 1 10 1 00 10 0 1 1 10 1 10 10 0 1 1 1 11 0 00 10 0 1 1 1 1 11 0 10 10 0 1 1
6、 1 1 1 11 1 00 100 1 1 1 1 1 1 11 1 10 101 1 1 1 1 1 1 11 1 11 0 逻辑表达式和逻辑图:由你来完成。274138:3-8译码器(3 to 8 Demultiplexer),也叫3-8解码器 用途:用一组二进制代码来产生各种独立的输出信号,这种输出信号可以用来执行不同的工作。显示器中的像素点受到译码器的输出控制。 逻辑框图:用逻辑符号(Symbol)来解释该电路输入与输出信号之间的逻辑关系,既省事又直观。如下图所示。解码信号输出端低电平有效代码输入端使能输入端 逻辑功能表:用真值表来定量描述该电路的逻辑功能。这个表是设计3-8译码器的
7、关键;74138的逻辑功能表如下:INPUTOUTPUTSelectEnableC B AG1 G HA G 2BY7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1 1 10 1 0 01 0 01 0 01 0 01 0 01 0 01 0 01 0 01 1 1 1 1 1 1 11 1 1 1 1 1 1 11 1 1 1 1 1 1 01 1 1 1 1 1 0 11 1 1 1 1 0 1 11 1 1 1 0 1 1 11 1 1 0 1 1 1 11 1 0 1 1 1 1 11 0 1 1 1 1 1
8、 10 1 1 1 1 1 1 1注:使能端G1是高电平有效;使能端G2是低电平有效,G2 = G2A AND G2B。实验四 多路复用器与比较器的设计与仿真一、实验内容1参照芯片74LS153的电路结构,用VHDL语言设计四选一多路复用器;2从Maxplus中取7485器件(比较器)进行仿真与分析;用VHDL语言设计4位比较器,接着进行仿真与分析,电路逻辑结构参照芯片74x85。二、实验要求1进实验室前,请写一份预习报告;进实验室时经指导老师检查后,才可上机操作。2预习报告内容有: 4选1多路复用器、比较器的逻辑表达式; 用VHDL语言设计4选1多路复用器、比较器。 3实验结束前,要填写实验
9、卡,将以上2种电路的仿真波形画在实验卡上。三、电路功能介绍174153:4选1多路复用器(4 to 1 Multiplexer),又叫4选1数据选择器 用途:可以对多个输入信号进行选择。电视机里的频道转换开关就是一个多路开关。 逻辑框图 逻辑功能表InputsOutputsSelectStrobeGYB AX X100 00C00 10C11 00C21 10C3 逻辑图27485:4位大小比较器(4-Bit Magnitude Comparator) 逻辑框图 逻辑功能表实验五 触发器的仿真一、实验内容1用VHDL语言设计D锁存器,并进行仿真与分析;2参看Maxplus中器件7474(边沿D
10、触发器)的逻辑功能,用VHDL语言设计边沿触发式D触发器,并进行仿真与分析。3参看Maxplus中器件7476(边沿JK触发器)的逻辑功能,用VHDL语言设计边沿触发式JK触发器,并进行仿真与分析。二、预习报告要求1进实验室前,请写一份预习报告;进实验室时经指导老师检查后,才可上机操作。2预习报告内容有: 用VHDL语言编写D锁存器程序; 用VHDL语言编写边沿D触发器程序; 用VHDL语言编写边沿JK触发器程序。三、电路功能介绍1D锁存器(D Latch) 逻辑图 逻辑功能表ENDQQN1001110保持Q保持QN2边沿式D触发器(Positive-Edge-Triggered D Flip
11、-Flops with Preset , Clear and Complementary Outputs) 逻辑框图 逻辑功能表INPUTsOUTPUTsPRCLRCLKDQ QN011 0100 1001(失效) 1(失效)1111 01100 1110保持Q 保持QN注:= Positive-going Transition3边沿式JK触发器 逻辑框图 逻辑功能表INPUTsOUTPUTsPRCLRCLKJKQ QN011 0100 1001(失效) 1(失效)1100保持Q 保持QN11101 011010 11111Toggle(翻转)111保持Q 保持QN注:= Transition
12、 from high to low levelVHDL编程选用语句建议:1、 可用if statement;2、 可用逻辑方程。实验六 计数器与序列检测器的仿真一、实验内容1用VHDL语言设计一个按余3码顺序计数的计数器,并进行仿真与分析;2用VHDL语言设计一个“”位串的序列检测器,并仿真与分析。二、预习报告要求1进实验室前,请写一份预习报告;进实验室时经指导老师检查后,才可上机操作。2预习报告内容有: 用VHDL语言编写余3码计数器程序; 用VHDL语言编写“”序列检测器程序。三、电路功能介绍1、计数器计数器: 一般来说,在状态图中包含有一个循环(见下图)的任何时钟时序电路都可称为计数器。
13、计数器的模是指在循环中的状态个数。一个有m个状态的计数器称为模m计数器,有时也称为m分频计数器。如果一个计数器的模不是2的幂,就会有多余状态,在正常工作时是不用这些状态的。最常用的计数器可能就是n位二进制计数器。这样的计数器有n个触发器及2n种状态,这些状态的循环顺序是0, 1, 2, ., 2n-1, 0, 1, .。其中,每一种状态都被编码成对应的n位二进制整数。 行波计数器:当某一位由1变到0,这一位就会向高位产生一个进位,由低位到高位,每次传送一位,如T触发器。同步计数器: 所有的触发器都共用一个CLK信号,在经过仅仅tTQ纳秒的延迟后,所有的触发器的输出都同时变化,它包括两种结构:同
14、步串行计数器和同步并行计数器。1同步串行计数器:采用一个主计数使能信号CNTEN来实现控制。每一个T触发器要发生翻转的充要条件是CNTEN信号有效且所有的低阶计数位都为1,同步n位二进制计数器的每一位都可以用一定数量的逻辑元件来实现,它的缺点是组合型的使能信号由最低位到最高位串行传送,如果时钟周期太短的话,计数器LSB(最低位)的变化可能来不及传送到MSB(最高位)。2同步并行计数器:每一个EN输入都用一个专门的与门来驱动,这样,CNTEN信号到达各个触发器的EN输入端只需要经过一级逻辑电路,它是最快的二进制计数器的结构形式。2序列检测器应用状态机的概念设计一个序列检测器,以“”序列检测器的设
15、计为例。该序列检测器收到一组串行码()后输出检测标志为1,否则为0。该序列检测器的Mealy机状态图如下: S0 S6 S5 S4 S3 S2 S1 0 / 00 / 01 / 0 0 / 1 0 / 01 / 01 / 00 / 01 / 01 / 00 / 01 / 00 / 01 / 0序列检测器的Mealy机状态表:现 态(present_state) 次态 / 输出(next_state / cout) cin=0 cin=1 S0 S0 / 0 S1 / 0 S1 S0 / 0 S2 / 0 S2 S0 / 0 S3 / 0 S3 S4 / 0 S3 / 0S4 S5 / 0 S1
16、 / 0S5 S0 / 0 S6 / 0S6 S0 / 1 S2 / 0实验七 雷鸟车尾灯状态机的设计一、实验内容1用VHDL语言设计一个雷鸟车尾灯状态机,并进行仿真分析和下载实现。二、预习报告要求1进实验室前,请写一份预习报告;进实验室时经指导老师检查后,才可上机操作。2预习报告内容有: 用VHDL语言编写雷鸟车尾灯状态机程序。三、电路功能介绍1、雷鸟车尾灯的功能描述左下图为1965年福特雷鸟车。其车尾每边有3个灯,这些灯轮流顺序亮起,以表示车子的转向,如右下图所表现的那样。状态机有2个输入信号(LEFT和RIGHT),它们分别表示驾驶员左转和右转的要求。另外还有1个应急闪烁输入(HAZ),
17、它要求车尾灯工作在告警状态,即所有6个灯轮流协调地闪烁。还假设有一个单独运行时钟信号,该信号的频率等于这些灯所要求的闪烁频率。 2、车尾灯状态机设计原理本例为设计一个Moore机,这样就单独由状态来决定哪个灯亮,哪个灯灭。左转时,状态机就在4个状态中循环,右边的灯都不亮而左边的0、1、2或3个灯亮。类似地,右转时状态机应该在4个状态中循环,左边的灯都不亮而右边的0、1、2或3个灯亮。在告警模式下,只要求有两种状态,所有的灯都亮和所有的灯都灭。下图为雷鸟车尾灯状态图: 定义1个中性的IDLE(空闲)状态表示所有的灯都灭的情况。当要求左转时,机器将经过1、2和3个灯亮这3种状态,然后回到状态IDL
18、E;右转时的过程也是一样的。在告警模式下,机器在IDLE状态和6个灯都亮的状态之间来回变换。输出表: 状态图有8个状态,所以最少需要3个触发器来对这些状态进行编码。显然,有许多状态赋值方式(精确地讲有8!种),下表选用了其中一种方式。作这种选择的理由如下:1) 初始(空闲)状态000与大多数触发器和寄存器是兼容的,因为这些触发器和寄存器很容易初始化为0状态。2) 对于左转循环( IDLEL1L2L3IDLE),2个状态变量(Q 和Q0)采用的“计数”顺序是葛莱码的顺序。这样可以使每次状态转移时发生变化的状态变量数最少,从而简化激励逻辑。3) 基于状态图的对称性,对于右转循环,状态变量Q1和 0
19、采用与左转循环相同的“计数”顺序,而用Q2来区别左转循环和右转循环。4) 剩下的状态变量组合用来表示状态LR3。下表是状态图和状态赋值表的转移列表。每一行都包含了当前状态、下一状态以及状态图中对应弧线上的转移表达式。前面状态和下一状态的命名和编码也在表中示出。状态名用来作为参考,而状态的编码用来推得转移方程。实验八 综合实验(选做一个)一、数字跑表设计一个数字跑表,该跑表具有复位、暂停、秒表计时等功能。跑表结构示意图如下图所示:跑表设三个输入端,分别为时钟输入(CLK)、复位(CLR)和启动/暂停(PAUSE)按键。复位信号高电平有效,可对跑表异步清零;当启动/暂停信号为低电平时,跑表开始计时
20、,为高电平时暂停,变低后在原来的数值基础上继续计时,这两个控制信号的作用见下表:控制器取值功能复位(CLR)1异步清零0计数启动/暂停键(PAUSE)1暂停0计数计时结果需在数码管上显示出来。二、交通灯控制器设计一个十字路口的交通灯控制器,其示意图如下图所示,A方向和B方向各设红(R)、黄(Y)、绿(G)和左拐(L)四盏灯,四种灯按照合理的顺序亮灭,并能将灯亮的时间以倒计时的形式显示出来。交通灯控制器的状态转换如下表所示。表中,1表示灯亮,0表示灯灭。A方向和B方向的红、黄、绿和左拐灯分别用R1、Y1、G1、L1和R2、Y2、G2、L2来表示。A方向B方向绿灯G1黄灯Y1左拐灯L1红灯R1绿灯
21、G2黄灯Y2左拐灯L2红灯R21000000101000001001000010100000100011000000101000001001000010100从状态转换表中可以看出,每个方向4种灯依次按照如下顺序点亮,并不断循环:绿灯黄灯左拐灯黄灯红灯。每一个方向红灯亮的时间应该与另一个方向绿、黄、左拐、黄灯亮的时间相等。此处设A方向为主干道,车流量大,因此A方向的通行时间应比B方向长。设A方向红、绿、黄、左拐灯亮的时间分别为65s、40s、5s和15s,B方向红、绿、黄、左拐灯亮的时间分别为55s、30s、5s和15s。计时结果需在数码管上显示出来。三、IC卡计费器设计设计一个模拟IC卡电话计费器的计费模型,其端口如下图所示。话卡插入后,计费器能将卡中的币值读出并显示出来,通话过程中,根据话务种类计费并将话费从卡值中扣除,卡值余额每分钟更新一次,计时与计费均以十进制显示。话费简单分为三类:市话、长途和特话。市话每分钟3角,长途每分钟6角,特话不收费。当卡上余额不足时,产生告警信号,告警一段时间(15s)后自动切断当前电话。专心-专注-专业
限制150内