华中科技大学计算机学院
数字逻辑实验报告
实验一 组合逻辑电路的设计 实验二 同步时许逻辑电路设计 实验三: 异步时序逻辑电路设计 姓名: 学号: 班级: 指导老师: 完成时间:
2
实验一 组合逻辑电路的设计
一、 实验目的
1掌握组合逻辑电路的功能测试. 2验证半加器和全加器的逻辑功能。 3学会二进制的运算规律。
二、 实验器材
74LS00 二输入四与非门、74LS04 六门反向器、74LS10 三输入三与非门、74LS86 二输入四异或门、74LS73 负沿触发JK触发器、74LS74 双D触发器。 三、 实验内容
内容A 一位全加全减器的实现。
电路做加法还是做减法由S控制。当s=0时做加法运算,s=1时做减法运算,当作为全加器输入信号A、B和Cin分别作为加数、被加数和低位来的进位,F1和F2为合数和向上位的进位。当作为全减器输入信号A、B和Cin分别作为减数、被减数和低位来的借位,F1和F2为差数和向上位的借位。
内容B 舍入与检测电路的设计。
用所给定的集成电路组件设计一个多输出逻辑电路,输入为8421码.F1为四舍五入输入信号,F2为奇偶检测输出信号。当输入的信号大于或等于(5)10时,电路输出F1=1,其他情况为0;当输入代码中含1的个数为奇数是,输出F2=1,其他情况为0.框图如图所示:
3
四、 实验步骤
内容A 一位全加全减器的实现。 由要求可得如下真值表:
F1的卡诺图为: F2的卡诺图为:
4
化简得F1=A+B+C, F2=
由F1和F2表达式画出电路图如下:
○○
.
根据电路图,连接电路。接线后拨动开关,结果如图:
输入 ABC 0 0 0 0 1 1 1 1 内容B 舍入与检测电路的设计。 由题意,列出真值表如图:
A 0 0 0 0 0 0 0 B 0 0 0 0 1 1 1 C 0 0 1 1 0 0 1 D 0 1 0 1 0 1 0 F1 0 0 0 0 0 1 1 F2 0 1 1 0 1 0 0 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 输出 加法S=1 F1 F2 0 0 1 0 1 0 0 1 1 0 0 1 0 1 1 1 减法S=0 F1 F2 0 0 1 1 1 1 0 1 1 0 0 0 0 0 1 1 5
0 1 1 1 1 1 0 0 0 1 1 0 0 1 1 1 0 1 0 1 1 0 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 F1卡诺图如下: F2卡诺图如下: 1 1 0 0 1 0 1 1 0
化简卡诺图得F1=由此画出电路图如下:
, F2=A+B+C+D.
○○○
接开关接灯
按照所示的电路图连接电路,将电路的输出端接实验台的开关,通过拨动开关输入8421代码,电路输出接实验台显示灯。每输出一个代码后观察显示灯,并记录结果如下表:
A 0 0 0 0 B 0 0 0 0 C 0 0 1 1 D 0 1 0 1 F1 0 0 0 0 F2 0 1 1 0 6
0 0 0 0 1 1 1 1 1 1 1 1
五、 试验体会 1、
1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 0 0 1 0 1 1 0 化简包含无关变量的逻辑函数时,,由于是否包含无关项以及对无关项是令其值为1为0并不影响函数的实际逻辑功能,因此在化简时,利用这种任意性可以使逻辑函数得到更好的化简,从而使设计的电路得到更简
2、 多输出函数的组合逻辑电路,因为各函数之间往往存在相互联系,具有某些共同部分,因此应当将它们当做一个整体来考虑,而不应该将其截然分开。在化简时应该找出各输出函数的公共项,以便在逻辑电路中实现对逻辑门的共享,从而使逻辑电路结构最简。
实验二 同步时许逻辑电路设计
一、 实验目的
掌握同步时序逻辑电路的设计方法,验证所设计的同步时序逻辑电路,加深对“同步”“时序”两个名词的理解。 二、 实验器材
74LS74 双D触发器组件两片 74LS73JK2负沿双触发器组件2片 74LS00二输入四与非门组件 2片 74LS02二输入四或非门组件 1片 74LS10三输入三与非门组件1片 74LS86二输入四异或门组件 1片 74LS04六门反相器组件2片
7
三、 实验内容
内容A:利用所给组件,设计一个同步模四可逆计数器,框架图如图:
X为控制变量,X=0时进行加1计数,X=1进行减1计数,y2、y1为计数状态,Z为进位或借位输出信号。
内容B:利用所给组件按mealy型或moore型同步时序逻辑电路设计的方法设计一个1001序列检测器,其框图如图所示:
该电路的逻辑功能是:在输入端X串行输入随机二进制代码,每当输入的代码中出现1001序列时,在输出端Z产生一个高电平,即Z=1,其他情况Z=0。典型输入输出序列如下:
X:0100101011001001 Z:0000100000001001 四、 实验步骤
内容A:设计同步模4可逆计数器。 由题意,可画出状态图:
由此可确定状态表如下:
现态 y2 y1 次态 y2 n=1 y1n=1 X=1 X=0 8
0 0 0 1 1 0 1 1 确定激励函数并化简。 0 1 1 0 1 0 1 0 1 0 0 1 1 0 1 0 采用D触发器,有状态表和触发器激励表可作出激励函数和卡诺图。
y1\\xy2 00 01 10 11 0 1 1 1 1 1 D2=x+y2+y1
y1\\xy2 00 01 10 11 0 1 1 1 1 1 D1=y1
y1\\xy2 00 01 10 11 0 1 1 1 1 1
Z=x y2 y2+ x y2 y1= x y2 y2 · x y2 y1 根据化简结果,画出电路图。
输出响应序列为: x 1 1 1 1 0 0 0 0 0
—
—
—
—
—
—
○○
9
y2 0 1 1 0 0 0 1 1 0 y1 0 1 0 1 0 1 0 1 0 y2n=1 1 1 0 0 0 1 1 0 0 yin=1 1 0 1 0 1 0 1 0 1 Z 0 0 0 1 0 0 0 1 0 内容B:设计1001序列检测器. 作出原始状态图:
状态表如图:
现态 A B C D E
B C D E AC AD × AC BC × ﹀ B x=0 A/0 C/0 D/0 A/0 C/0 次态/输出 x=1 B/0 B/0 B/0 E/1 B/0 × CD C A B、E为等效类。
× D 用00,,01,11,10分别表示A、B、D、C四种状态,并选用D触发器,可列出激励函数和输出函数真值表如下:
10
输入 现态 X y2 0 0 1 0 0 0 1 0 0 1 1 1 0 1 1 1 卡诺图如图所示: y1 0 0 1 1 0 0 1 1 次态 y2n+1 y1n+1 0 0 0 1 1 1 0 1 0 0 0 1 1 0 0 1 激励函数 D2 D1 0 0 0 1 1 1 0 1 0 0 0 1 1 0 0 1 输出 Z 0 0 0 0 0 1 0 0 y1\\xy2 00 01 10 11 0 1 1 1 D2=y1x
y1\\xy2 00 01 10 11 0 1 1 1 1 1 1
D1= x+y2y1= x y2 y1 由真值表可以看出Z=y2 y1 x
由激励函数和输出函数表达式,画出电路图如下:
将电路的输入端X接至实验台数据开关Ki,拨动开关输入二进制代码,电路的输入端接实验台显示灯Li.
将电路的时钟脉冲接至实验台单脉冲Pi,每拨动一次开关按一下单脉冲键,以便将给定输入序列送入检测器,同时记下显示灯Li的状态,以检查是否满足要求。 输入输出结果为:
—
—
——
—
11
X:0 1 0 0 1 0 1 0 1 1 0 0 1 0 0 1 Z:0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1
实验三:异步时序逻辑电路设计
一、 实验目的
掌握并熟悉脉冲异步时序逻辑电路的分析方法,加深对于不是徐逻辑电路的理解。掌握电平异步时序逻辑电路实验的设计方法及如何消除临界竞争。 二、 实验设备
74LS7 双JK 触发器组件两片 74LS08二输入四与门组件 1片 74LS00二输入四与非门组件 2片 74LS10三输入三与非门组件2片 74LS04六门反相器组件2片
三、 实验内容
用电平异步时序逻辑电路实现下降沿触发的D触发器(无空翻)。 四、 实验过程
由该典型输入输出时间图,建立如下流程表: 二次状态y x2x1=00 1 2 3 4 5 6 7 8 1/0 ○1/0 d/d d/d 8/1 d/d 1/d 8/1 ○激励状态Y/输出Z x2x1=01 x2x1=11 2/0 d/d 2/0 ○d/d 5/d 5/1 ○5/1 d/d 5/1 d/d 4/0 4/0 ○6/1 6/1 ○6/1 d/d x2x1=10 3/0 d/d 3/0 ○d/d d/d 7/1 7/1 ○d/d 由流程表作出隐含表: 12
2 3 4 5 6 7 8 ﹀ ﹀ × × × × × × × × ﹀ ﹀ × × × × × × ﹀ × × × × × × ﹀ ﹀ × 1 2 3 4 5 6 7 用隐含表和状态表合并图,求出最大相容行对为(123)(7)(438)(568),根据最小闭覆盖,可选择(123)(568)(4)(7),分别用ABCD表示,可得出最简流程表: 二次状态y A B C D x2x1=00 A/0 B/1 C/d A/d 激励状态Y/输出Z x2x1=01 x2x1=11 A/0 B/1 B/d D/d C/0 B/1 C/0 B/1 x2x1=10 A/0 D/1 D/d D/1 根据状态相邻,用00,01,11,10分别表示ADBC,可得出二进制流程表: 二次状态y2 y1 00 11 01 10 x2x1=00 00/0 11/1 01/d 00/d 激励状态Y/输出Z x2x1=01 x2x1=11 00/0 11/1 11/d 10/d 01/0 11/1 01/0 11/1 x2x1=10 00/0 10/1 10/d 10/1 画出卡诺图,并求出激励函数和输出函数表达式: y2 y1 x2x1 00 01 11 10 00 1 1 1 01 1 1 1 11 1 1 10 1 1 Y2=x2y1+x2y2+y1y2= x2y1 x2y2 y1y2 y2 y1 x2x1 00 01 11 00 01 1 1 11 1 1 1 10 1 1 13
10 1 Y1=x2y1+x1y2+x1y1=2y1 x1y2 x1y1 Z=y2
有激励状态和输出函数表达式,可画出逻辑电路图:
总结
由于时间匆忙,我们做实验时,准备的并不充分,出现了一系列失误。做的也比较慢。
同时,这三次试验也让我明白了知易行难的道理,即便是我们能够把逻辑电路图画出来,也常常因为接线等问题而得不出正确的结果,只有在再三尝试之后,才真正有所得。
实验不仅锻炼了我的手工能力,也让我对所学知识有了更加深入的了解,对一些以往仅仅在理论上有所认识的东西有了真正的认识。
这次试验也让我进一步学会了如何与他人合作,培养团队精神。
因篇幅问题不能全部显示,请点此查看更多更全内容