数字逻辑数电 实验报告.docx
《数字逻辑数电 实验报告.docx》由会员分享,可在线阅读,更多相关《数字逻辑数电 实验报告.docx(17页珍藏版)》请在冰豆网上搜索。
数字逻辑数电实验报告
数字电路与逻辑设计实验报告
计算机科学与技术0911班
实验一组合逻辑电路的设计
实验目的
1.掌握组合逻辑电路的功能测试。
2.验证半加器和全加器的逻辑功能。
3.学会二进制的运算规律。
实验器材
二输入四“与非”门组件3片,型号74SL00
二输入四“异或”门组件1片,型号74SL86
六门反向器门组件1片,型号74SL04
二输入四“与”门组件1片,型号74SL08
实验内容
A:
一位全加/全减法器的实现
Cin
A
B
M
Co
S
电路做加法还是做减法是由M决定的。
当M=0时做加法运算,输入信号A、B和Cin分别为加数、被加数和低位来的进位,S为和数,Co为向上位的进位;当M=1时做减法运算,输入信号A、B和Cin分别为减数、被减数和低位来的借位,S为差,Co为向上位的借位。
一位加/减法器
B:
舍入与检测电路设计
B
A
D
F1
舍入与检测电路
F2
用所给定的集成电路组件设计一个多输出逻辑电路,该电路的输入为8421码,F1为“四舍五入”输出信号,F2为奇偶检测输出信号。
当电路检测到输入的代码大于或等于(5)10时,电路的输出F1=1;其他情况F1=0。
当输入代码中含1的个数为奇数时,电路的输出F2=1;其他情况F2=0。
C
电路设计
A:
一位全加/全减法器的实现
S卡诺图
\AB
CinM\
00
01
11
10
00
0
1
0
1
01
0
1
0
1
11
1
0
1
0
10
1
0
1
0
Co卡诺图
\AB
CinM\
00
01
11
10
00
0
0
1
0
01
0
1
0
0
11
1
1
1
0
10
0
1
1
1
根据卡诺图可有表达式:
S=A⊕B⊕Cin
Co=
可得其逻辑电路图:
=1
B
A
=1
S
C
&
=1
&
&
Cin
M
&
B:
舍入与检测电路设计
F2卡诺图
\B8B4
B2B1\
00
01
11
10
00
0
1
d
1
01
1
0
d
0
11
0
1
d
d
10
1
0
d
d
F1卡诺图
\B8B4
B2B1\
00
01
11
10
00
0
0
d
1
01
0
1
d
1
11
0
1
d
d
10
0
1
d
d
按照题设设计电路可有表达式:
F1=
F2=A⊕B⊕C⊕D
可得其逻辑电路图:
=1
A
=1
F2
B
C
=1
D
1
&
&
F1
&
实验步骤
1.按要求预先设计好逻辑电路图;
2.按照所设计的电路图接线;
3.接线后拨动开关,观察结果并记录。
实验结果
A:
一位全加/全减法器的实现
由逻辑电路图,接线后拨动开关,可得如下结果:
输入
输出
A
B
Cin
加法(M=0)
减法(M=0)
S
Co
S
Co
0
0
0
0
0
0
0
0
0
1
1
0
1
1
0
1
0
1
0
1
1
0
1
1
0
1
0
1
1
0
0
1
0
1
0
1
0
1
0
1
0
0
1
1
0
0
1
0
0
1
1
1
1
1
1
1
B:
舍入与检测电路设计
由逻辑电路图,接线后拨动开关,可得如下结果:
A
B
C
D
F2
F1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
1
0
0
0
1
1
0
0
0
1
0
0
1
0
0
1
0
1
0
1
0
1
1
0
0
1
0
1
1
1
1
1
1
0
0
0
1
1
1
0
0
1
0
1
1
0
1
0
0
1
1
0
1
1
1
1
1
1
0
0
0
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
1
1
0
1
实验体会
在这个实验中要分清楚连接芯片的输入端和输出端,不能混肴,以免接错线。
实验二同步时序逻辑电路设计
实验目的
掌握同步时序逻辑电路实验的设计方法,验证所设计的同步时序逻辑电路,加深对“同步”和“时序”这两个名词的理解。
实验器材
双D触发器组件2片,型号为74SL74
负沿双JK触发器组件2片,型号为74SL73
二输入四与非门组件2片,型号为74SL00
二输入四或非门组件1片,型号为74SL02
三输入三与非门组件1片,型号为74SL10
二输入四异非门组件1片,型号为74SL86
六门反向器组件2片,型号为74SL04
实验内容
A:
同步模4可逆计数器
可逆计数器
X
CP
Z
Y2
Y1
X为控制变量,当X=0时进行加1计数;X=0时进行减1计数。
Y2、Y1为计数状态。
Z为进位或
借位输出信号。
B:
1001序列检测器
Z
X
CP
序列检测器
在输入端X上串行输入随机二进制代码,输入信号为电平信号。
每当输入的代码中出现“1001”序列时,在输出端Z产生一个高电平,即Z=1,其他情况下Z=0。
典型输入、输出序列如下:
X:
0100101011001001
Z:
0000100000001001
电路设计
A:
同步模4可逆计数器
实验采用JK触发器,按实验要求设计电路,得J2、J1、K2、K1、Z的表达式为
J2=X⊕Y1K2=X⊕Y1
J1=K1=1Z=
Z
可得其逻辑电路图:
&
&
Y1
IKCIIJ
Y2
IKCIIJ
CP
1
=1
X
1
B:
1001序列检测器
实验采用D触发器,按实验要求设计电路,得D2、D1、Z的表达式为
D2=X+
∙Y2
D1=
∙Y2
Y1
CIID
Y2
CIID
Z=X∙
∙Y1
Z
可得其逻辑电路图:
&
CP
&
&
X
1
实验步骤
1.按照题设要求预先设计好逻辑电路图;
2.按照所设计的电路图接线;
3.将电路的输入端X接至试验台数据开关Ki,拨动开关便可输入二进制码。
电路的输出端接试验台显示灯Li;
4.观察结果并适当记录。
实验结果
A:
同步模4可逆计数器
实现其功能。
B:
1001序列检测器
可得典型输入、输出序列对应,实现其功能。
实验体会
本实验难度在于逻辑电路图的设计。
只要掌握了逻辑电路图的设计步骤,设计好电路图,要求即可实现。
实验三异步时序逻辑电路设计
实验目的
熟悉并掌握脉冲异步时序逻辑电路的分析方法,加深对异步时序逻辑电路的理解。
掌握电平异步时序逻辑电路实验的设计方法及如何消除临界竞争。
实验器材
双JK触发器芯片2片,型号为74LS73
二输入四与门芯片1片,型号为74LS08
二输入四与非门芯片2片,型号为74LS00
三输入三与非门芯片2片,型号为74LS10
六门反向器1片,型号为74SL04
实验内容
用电平异步时序逻辑电路实现下降沿触发的D触发器(无空翻)。
典型的输入输出时间图如下:
X2(CP)
X1(D)
Z(Q)
电路设计
1.状态分布图如下:
X2(CP)
X1(D)
Z(Q)
1②①③④⑤⑥⑦①③④⑤⑧⑤⑥⑦⑥⑤
2.流程表
二次状态
Y
激励函数Y/输出Z
X1X2=00
X1X2=01
X1X2=11
X1X2=10
1
①/0
3/0
d/d
2/0
2
1/0
d/d
4/0
②/0
3
1/0
③/0
4/0
d/d
4
d/d
3/0
④/0
5/d
5
8/1
d/d
6/1
⑤/1
6
d/d
7/1
⑥/1
5/1
7
1/d
⑦/1
6/1
d/d
8
⑧/1
7/1
d/d
5/1
3.由流程表可得相容行:
(1,2),(1,3),(2,3),(5,6),(5,8),(6,7),(6,8)。
4.
1
由相容行可做合并图:
8
2
3
7
4
6
5
5.由合并图可知,最大相容行类为(1,2,3),(5,6,8),(4),(7),分别用A,B,C,D代替,得最简流程表,如下:
二次状态
Y
激励函数Y/输出Z
X1X2=00
X1X2=01
X1X2=11
X1X2=10
A
A/0
A/0
C/0
A/0
B
B/1
D/1
B/1
B/1
C
d/d
A/0
C/0
B/d
D
A/d
D/1
B/1
d/d
6.状态相邻图:
C
A
B
D
7.可有状态编码:
A
00
B
11
C
10
D
01
8.可得二进制流程表:
二次状态
Y2Y1
激励函数Y2Y1/输出Z
X1X2=00
X1X2=01
X1X2=11
X1X2=10
00
00/0
00/0
10/0
00/0
01
00/d
01/1
11/1
dd/d
11
11/1
01/1
11/1
11/1
10
dd/d
00/1
10/1
11/d
9.由二进制流程表可得输出表达式:
Y2=
∙Y2+X2∙Y2
Y1=
∙Y2+X2∙Y1
Z=Y1
而当Y2=X1=1时,Y2=X2+X2;当Y2=Y1=1时,Y1=X2+X2,这两种情况都会产生险象,采用增加冗余项法消除险象,得表达式:
Y2=
∙Y2+X2∙Y2+Y2∙X1
Y1=
∙Y2+X2∙Y1+Y2∙Y1
Z=Y1
10.可得逻辑电路图:
Y1
Y2
&
&
&
&
&
&
&
X2
1
Z
X1
实验步骤
1.根据实验内容预先设计逻辑电路图;
2.按照所设计的逻辑电路图接线;
3.观察与测试。
实验结果
实现预期功能,达到下降沿触发的D触发器(无空翻)。
实验体会
本实验对逻辑电路图的设计能力要求高,须结合所学知识,正确画出流程图及化简。
实验四常用中规模集成电路的VHDL设计
实验目的
1.进一步熟悉Lattice公司EDA开发系统ispLEVER软件开发平台的操作。
2.学习及提高VHDL的设计能力。
3.根据不同的功能要求编写与之对应的优质高效VHDL代码。
实验器材
DICE-SEM型实验箱
ispLSI1032下载板
JTAG下载电缆
实验内容:
计数器的设计
设计一个能清0、置数和进位输出的增1/减1的4位二进制计数器。
输入信号
为清0端,信号
为置数端,将A、B、C、D的输入值送到计数器中,并立即在
QAQBQCQD
CP
M
ABCD
QA、QB、QC、QD中输出。
输入信号M为模式选择端,当M=1时加1计数,当M=0时减1计数。
当CP端输入一个上升沿信号时进行一次计数,计数有进/借位时
端输出一个负脉冲。
电路设计
VHDL源代码:
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entitycounteris
port
(
clk:
instd_logic;--时钟
clr:
instd_logic;
m:
instd_logic;
d:
instd_logic_vector(3downto0);
ld:
instd_logic;
q:
outstd_logic_vector(3downto0);
qcc:
outstd_logic);
end;
ARCHITECTUREcounterOFcounteris
signaltemp_count:
std_logic_vector(3downto0);
BEGIN
q<=temp_count;
updown_counter:
process(clr,clk,m,ld,d)--敏感变量表
BEGIN
if(clr='0')THEN
temp_count<="0000";--输出清零
elsif(ld='0')then
temp_count<=d;--植入设定植
elsif(clk='1'andclk'last_value='0'andclk'event)then--CLK接受上升沿脉冲
if(m='1')then
qcc<='1';
temp_count<=temp_count+'1';
if(temp_count="1111")thenqcc<='0';
endif;
elsetemp_count<=temp_count-'1';--减计数器
qcc<='1';
if(temp_count="0000")thenqcc<='0';
endif;
endif;
endif;
ENDPROCESSupdown_counter;
ENDcounter;
实验步骤
1.编写符合要求的VHDL代码;
2.对代码进行编译;
3.建立仿真波形,并对其中的某一段波形进行检测来检验程序是否正确;
4.将PC机和JTAG接口通过电缆相连,把熔丝图文件下载到PDL器件上;
5.调试PDL电路。
实验结果
由ispLEVER波形仿真可得如下波形:
其中D[0]~D[3]依次为输入端,Q[0]~Q[3]依次为输出端。
实验体会
本实验重点在于学会掌握和运用VHDL编程来设计电路,对编程能力有一定要求。