数字逻辑试验指导书.docx
- 文档编号:27158133
- 上传时间:2023-06-27
- 格式:DOCX
- 页数:152
- 大小:2.14MB
数字逻辑试验指导书.docx
《数字逻辑试验指导书.docx》由会员分享,可在线阅读,更多相关《数字逻辑试验指导书.docx(152页珍藏版)》请在冰豆网上搜索。
数字逻辑试验指导书
数字逻辑实验要求
随着大规模集成电路的迅速发展,数字电路技术已非常广泛地应用到各行各业之中。
数字系统的设计方法也发生了根本的变化由原来的标准集成电路,如从开始的TTL集成电路,到后来的GAL编程芯片,再到现在迅速普及使用的ASIC专用集成电路和VHDL硬件描述语言的出现及系统级仿真和综合技术,成为电子设计自动化(EDA)技术向更高层次发展的重要因素,采用EDA技术可以极大的提高设计效率和设计精度。
其特点主要包括两个方面:
1,采用可编程逻辑器件后对系统硬件的改造。
在各种大规模的高速数据采集和处理系统中,可编程逻辑部件可以高速、准确的完成一些控制算法,并且简化了系统结构。
2,改进了系统设计方案。
EDA环境下的系统设计一般都采用自上而下的设计方法,它采用概念输入模式,突破破了具体工艺的束缚。
对于模拟电路和数字电路的设计,EDA提供了丰富的参数优化工具及模型库和建模工具,其硬件描述语言(HDL)不依赖于特定的工艺和固定的设计方法。
并且能够提供统一的防真环境,使模拟电路、数字电路和硬件描述语言动态的连接起来,同步协调地运行。
系统的软硬、件还可以同时设计,从而有效解决设计中的瓶颈问题,缩短了设计时间。
同时,EDA技术可以对系统产生测试向量,进行故障仿真,从而可以大大降低实际系统的故障率。
因此,在我们的数字逻辑实验设计内容中,将按照上述几种典型的常用芯片进行设计,如TTL电路用EDA进行设计方法,GAL芯片使用方法,又必须了解掌握和使用新的数字系统的设计方法,如FPGA芯片的使用方法及用VHDL等硬件描述语言进行编程等。
目的就是让我校计算机系的本科学生了解掌握和使用先进的电路设计方法。
《数字逻辑电路设计》是计算机专业硬件设计必修基础课,是一门理论与实践紧密结合的课程,其目的在于切实加强学生数字电路技术的分析和应用。
与《数字逻辑电路设计》相配套的数字逻辑实验是一门实验性较强的课程,是教学中的一个非常重要环节,通过实验不仅可以使学生在消化、巩固、加深理解开拓课堂教学内容,培养学生严谨认真求实的科学态度,培养学生实际动手的实践技能,提高学生分析和解决问题的能力,还可以帮助学生了解多种常用芯片的特性,及使用方法,掌握计算机局部逻辑的设计和调试和验证过程。
实验设计须知:
设计实验修改设计再实验
这是数字逻辑等硬件实验通常都要遇到的一个过程。
所以为了做好实验,要求在实验前结合实验内容,预习讲义中的有关章节,然后按实验要求设计逻辑电路。
由于每个实验的设计方案不可能是唯一的,所以在具体设计中,要进行分析、比较,取最佳方案,设计方法可根据讲义一步步进行,复杂的可分成几个部分进行,但这种设计方法往往有些麻烦,也不直观,且理论上的最佳,在应用中也往往不是最佳方案,因此在实际工作中常常是根据原理,应用典型电路,用经验方法设计。
在参考书中的,教师准备的实验电路也不一定是最好的,因此希望同学们灵活应用已学过的知识,设计出最佳电路。
然而,设计的最佳电路实验与实际应用仍存在不少差、别,除上面所说方案之外,在实际应用中还要考虑许多因素,如干扰、反射、速度、负载、功耗、时间配合等等,也还要考虑相互协调。
另外,标准化、工程工艺、维护方便、使用环境等问题,这些都是要在实际工作中加以注意的。
数字逻辑实验是在数字逻辑实验仪上进行的,实验仪将在有关章节中介绍。
另
外实验中还配有示波器、直流稳压电源、万用表及一套实验工具等。
实验中有不懂的地
方要请教实验老师。
为了使数字逻辑实验既要离不开讲义,以巩固提高所学过的知识,又
要注意和计算机原理实验的连续性,系统性,已达到紧密结合计算机专业的实际需要。
实验内容的安上如在知识的综合性和难度上有所要求,因此需要每一个学生在实验阶
段认真准备。
另外,根据学生的具体情况,增加了针对每个实验的逻辑设计调试方面的
实验知识。
有关实验仪的使用和数字电路实验中常见故障分析与排除将在实验之前专门
讲解。
在涉及具体实验中,根据要求不同,可难可易,可简可繁。
学生可根据教师的
规定及自己的能力加以选择。
一.实验的基本要求
为了让我校计算机系的本科学生能切实掌握数字逻辑电路的设计技能,对于本科生在做数字逻辑实验时,有以下要求:
1.所有实验内容都是设计性的,都由老师给定题目并提出具体要求,由学生根据对题目和要求的理解,自己进行设计,调试,和验证。
这就要求学生做实验前一定要预习,搞清楚是做给定原理图,及技术数据的验证性实验,还是仅给定技术指标要求,做设计性实验。
不论那种实验,先要阅读预习实验原理和要求,尽量明白这个实验原理是什么?
为什么这样做?
自己进行设计,调试,和验证。
这就要求学生对讲义里不清楚的部分,会查阅有关资料,以做到心中有数力求保证设计的逻辑电路在实验中的正确性
2.准备好预习报告的大纲,列出要在实验中检查的具体技术资料指标及注意的问题,画出逻辑接线图,逻辑符号要标准统一,要标好管脚号,查阅有关手册,熟悉实验芯片的功能特点,以保证正确使用。
如果要用小规模芯片做实验,可能联线较多,做好能列出接线表,以保证不漏接。
这样,检查时也方便的多。
3.通过数字逻辑实验,要求我系本科生必须熟悉并初步掌握使用EDA进行电路设计的方法。
4.学生完成所有的电路设计后,可以分别用IC芯片,GAL芯片或用FPGA可编程芯片加以实现,或几种芯片兼用实现,但都必须通过用VHDL语言进行编程,模拟,仿真和验证。
5.了解有关实验仪器的原理和正确的使用方法,确保实验仪器和设备的安全有效使用。
6.对于实验报告的要求
一份完整的实验报告应包括以下内容:
①实验的目的。
②实验电路的设计思想、原理、方法、技巧以及简述过程,其中包括化简的逻辑表达式或用硬件描述语言编的程序等。
③调试验证方法,以及调试中发现的问题和解决方法。
④结论和收获
⑤如果是验证性实验,请你能自己动手设计一个新的电路加以比较。
⑥附上正确标准的逻辑原理图,有的逻辑图还需要附上波形图。
⑦你对实验的改进意见等。
实验内容
实验一十进制代码——8421码转换电路
在数字设备和计算机系统中,任何数据信息都是用代码来表示的。
由于需要的不同,采用了多种类型的BCD代码编码,如二进制代码,十进制码和8421码等,这些代码在必要时需要相互转换,相互转换的方法之一就是用组合逻辑电路来实现。
转换真值表
十线十进制数
8421BCD码
D9D8D7D6D5D4D3D2D1D0
B8B4B2B1
0000000001
0000
0000000010
0001
0000000100
0010
0000001000
0011
0000010000
0100
0000100000
0101
0001000000
0110
0010000000
0111
0100000000
1000
1000000000
1001
十进制代码转换成8421码原理框图如下:
B1B2B4B8BN为8421码
要求用或非门和与非门构成的逻辑图
D1D2D3D4D5D6D7D8D9DN为十进制数
10线10进制代码转换成8421码
学生根据上图写下表达式:
B8=
B4=
B2=
B1=
实验要求:
①学生自己根据逻辑图填写逻辑表达式
②分别用TTL芯片,GAL芯片和用VHDL硬件描述语言编写出该电路的程序,通过FPGA芯片加以实现。
③独立完成电路调试
④验证输入与输出的关系
实验二加法器的电路设计
不同的码制相互进行转换运算时会产生误差,需用不同的修正方法加以解决,如两个一位的8.4.2.1BCD码相加时,包括进位可能产生二十种不同的和,其中不超过1001的数不需要修正,超过1001的数则只需要加(0110)2的修正就可得到正确的BCD码和进位输出结果。
和
C
C
进位入
被加数
加数
校正8.4.2.1BCD码的和
根据上表可以看出。
十进
制数
未校正的BCD和
校正的BCD和
备注
K
Z3
Z2
Z1
Z0
C
S3
S2
S1
S0
0
00000
00000
不
需
要
校
正
1
00001
00001
2
00010
00010
3
00011
00011
4
00100
00100
5
00101
00101
6
00110
00110
7
00111
00111
8
01000
01000
9
01001
01001
10
01010
10000
需
要
校
正
11
01011
10001
12
01100
10010
13
01101
10011
14
01110
10100
15
01111
10101
16
10000
10110
17
10001
10111
18
10010
11000
19
10011
11001
实验三、译码器及数码显示
数码管是一种常用器件,当你显示十进制数时,是有很多电路供你选用,一般根据所使用的数码管是共阳极还是共阴极来选择对应芯片的。
七段发光二极管(LED)数码显示器的字形与七段荧光数码管一样,外观为平面型。
它的a、b、c、d、e、f、g段是用发光二极管显示的,并且分为共阳极和共阴极两种。
共阳极是七个发光二极管的阳极接在一起,接到高电平(正电源)上,阴极接到译码器的输出端,哪个发光二极管的阴极为低电平,哪个发光二极管就亮,而阴极为高电平的发光二极管就不亮。
共阴极是七个发光二极管的阴极接到一起,接到低电平处,哪个发光二极管的阳极接高电平,哪个发光二极管就亮,否则就不亮。
这种数码特点是电源电压为5V,与TTL电源一致共阳型数码管内部结构。
GfVCCab
a
b
c
d
e
f
g
a
b
c
d
e
f
g
12345
a
A
f
g
b
e
e
e
c
h.
678910
d
10h
hh
edVCCch共阳型数码管内部结构共阴型数码管内部结构
共阳极和共阴极两种LED数码管内部接线示意图见图1。
与共阳级LED数码相接的七段译码器的a—g输出必须是低电平有效。
例如用SN74LS47即可(它的输出级为集电极开路),接线图如图2所示。
共阳级LED与74LS47连接图
126759483
7X3005V
141591011121334516
GfedcbaLTOBRIBRVcc
74LS47
DCBA
7
7
62178
Q3Q2Q1Q0
若用高电平有效的SN74LS48就不行。
如果LED数码管是共阴极的,必须用SN74LS48,
有的LED数码管带小数点用h表示。
但是当你要显示的是16进制信息时,就有点麻烦,就要自己动手去设计组合,当然方法还是很多的。
譬如用CPU和8279能实现,用154芯片的非门能实现,用GAL芯片编程做一个也行,最后不行只能与非电路进行组合了,所以关键是你有什么样的器件就采用相应办法去实现。
本次实验用两种方法:
①用与非门等芯片自己独立进行设计。
列真值表,画卡诺图,给出逻辑和数码管,自己调试完成实验。
②用154芯片和与非门自己设计完成实验。
以上两种实验都需在数码管的七段输入串一个100-300Ω的限流电阻。
实验设备:
①万用表
②数字逻辑实验仪
实验器件:
①芯片待定。
②数码管若干个
③电阻20只
74LS154菜单逻辑图附后
因此我们要做的工作是用与非门搭一个16进制译码器,16个输入为D0-D15代表0-15的16进制数。
7个输出为a,b,c,d,e,f,g,这7个输出对应着数码管的不同笔划。
其中7个电阻为限流电阻,一定要加,否则可能烧坏数码管。
实验内容:
①要求设计16进制译码器的逻辑图:
总共需要7个4或8输入的与非门(至于是4输入还是8输入,要根据实际情况而定),每个与非门的输出便是a,b,c,d,e,f,g中的一个。
如要显示“0”,只须把D0接在输出为g的与非门的输入上即可。
②根据逻辑图连好译码器,并将电阻、数码管连上。
③通电调试,直至0-F都能正确显示为止。
④经教师检查后,拆线,收拾器材。
选做⑤验证4-16线译码器74LS154的功能,将74LS154的输出分别接在D0-D5,从输入端输入4位BCD码,观察数码管的显示。
实验四用HDL编数码管显示
实验目的:
1、了解数码管的控制原理;
2、了解扫描的原理;
3、加深对硬件描述语言的理解和应用;
实验内容:
1、编一个程序实现对实验台上六个数码管的控制,使六个数码管显示一个六位数,并不断的计数,可以是十进制、十六进制等(通过开关选择)。
2、在上述程序中附带实现对实验台上十六个LED灯的控制,使十六个灯按每四个灯表示六位数中的一位(最好是表示高四位),同时要可以选择通过开关控制。
实验原理:
1、数码管的显示控制
数码管一般是七个数码段和一个小数点,从控制电平可分为共阳极和共阴极两种。
一般的数码管有十个引脚,引脚的控制信号如图1:
图1
其中的S1是电源引脚,共阳极的接电源正极,对应的引脚号接电源负极即可使对应的数码段点亮(颜色各异,可能为红、黄)。
本实验台使用的是共阳极数码管,在设计中用低电平控制选中。
2、扫描信号的控制
由于六个数码管的共阳极是接在一起的,要六个数码管显示六个不同的数字,只能通过分时控制。
由于人视觉系统的特殊构造,我们看到一个物体后,物体的图象会在视网膜上滞留一定时间,当数码管的数字显示达到24帧/秒以上(即每秒钟该数码管被选中24次以上,每次只显示很短的时间),人就觉得该数字是稳定显示的了。
这就要求扫描频率要达到24Hz以上,本实验台提供的脉冲是4MHz的,请按需要分频。
要使六个数码管的数字在扫描时变化,那么对应计数器的频率应该比扫描频率要高几十倍,而且倍数要选择好,这儿就不提供具体的数字了,请自己选择。
至于六位数字的进位关系,可以由计数器脉冲的选择来实现。
实验步骤:
1.打开Max+plusII新建一工程,再新建一文本文件
2.在文本中输入如下引脚定义:
--主时钟GCLK:
INPUT;
--开关K[15..0]:
INPUT;
--灯L[15..0]:
OUTPUT;
--数码管字选DLS[5..0]:
OUTPUT;
--数码管段选DL[7..0]:
OUTPUT;
3.编辑程序、调试,直到编译通过。
控制信号的有效电平如下:
--灯L[15..0]高电平亮
--数码管字选DLS[5..0]低电平有效
--数码管段选DL[7..0]低电平有效
注:
编程时要注意各个寄存器的控制信号、脉冲的时序的关系
4.打开工程的(工程名.acf)文件,把如下引脚锁定输入到该文件的前面(紧接在Altera公司的版权声明的注释后即可)
此处dl应改为你的工程名
CHIPdl
BEGIN
DEVICE=EPM7256SQC208-7;
|GCLK:
INPUT_PIN=184;|K15:
INPUT_PIN=102;
|K14:
INPUT_PIN=100;|K13:
INPUT_PIN=97;
|K12:
INPUT_PIN=95;|K11:
INPUT_PIN=91;
|K10:
INPUT_PIN=88;|K9:
INPUT_PIN=79;
|K8:
INPUT_PIN=76;|K7:
INPUT_PIN=73;
|K6:
INPUT_PIN=70;|K5:
INPUT_PIN=67;
|K4:
INPUT_PIN=64;|K3:
INPUT_PIN=61;
|K2:
INPUT_PIN=58;|K1:
INPUT_PIN=56;
|K0:
INPUT_PIN=55;|L15:
OUTPUT_PIN=164;
|L14:
OUTPUT_PIN=151;|L13:
OUTPUT_PIN=148;
|L12:
OUTPUT_PIN=145;|L11:
OUTPUT_PIN=153;
|L10:
OUTPUT_PIN=150;|L9:
OUTPUT_PIN=147;
|L8:
OUTPUT_PIN=144;|L7:
OUTPUT_PIN=146;
|L6:
OUTPUT_PIN=149;|L5:
OUTPUT_PIN=142;
|L4:
OUTPUT_PIN=161;|L3:
OUTPUT_PIN=108;
|L2:
OUTPUT_PIN=109;|L1:
OUTPUT_PIN=110;
|L0:
OUTPUT_PIN=111;|DLS5:
OUTPUT_PIN=140;
|DLS4:
OUTPUT_PIN=137;|DLS3:
OUTPUT_PIN=131;
|DLS2:
OUTPUT_PIN=128;|DLS1:
OUTPUT_PIN=122;
|DLS0:
OUTPUT_PIN=119;|DL7:
OUTPUT_PIN=113;
|DL6:
OUTPUT_PIN=123;|DL5:
OUTPUT_PIN=130;
|DL4:
OUTPUT_PIN=129;|DL3:
OUTPUT_PIN=132;
|DL2:
OUTPUT_PIN=135;|DL1:
OUTPUT_PIN=138;
|DL0:
OUTPUT_PIN=141;
END;
也可以从本实验台附带的文件(数码管锁定脚.txt)中复制后粘贴到acf文件中。
5.下载到芯片中验证。
下载方法参照本书介绍实验台的章节。
6.实验台数码管的排列顺序请参照本书介绍实验台的章节。
实验五、海明码校验逻辑电路
海明校验是一种多重校验。
能纠正一位错误,发现二位同时错误。
在计算机应用于高可靠性存贮设备,如高速缓存、主存微程序内存。
也有用在外存,如磁带、磁盘等处。
一、实验目的:
掌握海明校验的编码原理以及设计、调试方法,巩固提高组合逻辑知识,培养实际动手能力。
二、实验要求:
①设计信息位为4位的内存的海明校验逻辑电路,在读内存储器时,具有一位出错报错和纠正一位错误的功能(发现两个错误的线路不作为要求)。
②为了验证其正确性,在读出信息的通路上,要串入造错用逻辑,位数自定。
③奇偶发生器与海明校验器对同一位用一块奇偶校验集成块。
④设计一个3位的单拍操作读写的内存,实用7位。
读写地址可用开关或计数器控制。
三、使用器件:
①如采用TTL芯片,可用9位奇偶校验集成块74S280或74180。
(均用6脚“奇”作为输出。
74180的4脚一定要接地,3脚不用);三态输出8位总线74LS244,与非门74LS00,与门74LS08等;另外纠错用的异或门(或异或非门)74LS136,计数器用74LS161。
②如采用GAL芯片进行设计,需写出GAL方程式并可与TTL芯片进行混合设计,这样会减少芯片用数,减少连线,这也是一种常用的设计方法。
③如采用FPGA可编程芯片进行设计,可先针对设计原理编写VHDL硬件描述语言
四、实验提示:
①若有K位信息位,需要最少校验位元r,必须满足2r>=K+r+1。
②将信息位和校验位混合统一编码,分别用十进制和二进制表示。
十进制编号等于2n(n=0,1,2……)的位为校验位,依次为b1,b2……bj(j=1——r),其余为信息位,依次为a1,a2,……ai(i=1——k)。
③校验位b1由二进制统一编号,最低位(也就是第一位)为“1”的所有位的信息按位加,我们记作b=Σ&ai(2°),b2由二进制统一编号,第二位为“1”的所有位的信息,记作n2=Σ+ai([2]),依次类推则bi=Σ+ai(2j-1)
④校验方程为sj=bj+Σ+ai(2j-1),其中bj,ai为bjai写入内存后的读出
由sj——s1s2组排二进制:
若sj——s1s2=0则不发生错(指单错)
若sj——s1s2≠0则组排成的二进制与前面用二进制统一编号相等的那位出错。
⑤用异或门或异或非门纠错
用某位的出错信号即译码器对应的输出控制二输入之一,达到取反纠错目的,造错原理类同,见图。
(实验中只要在一位上造错)
aiai
异或非
异或
Aa1Aa1
出错:
A=Hal=aiA=Lai=al
常态:
A=Lal=aiA=HAi=al
⑥因奇偶发生器与校验器同用一块芯片,因此在写内存时,应控制bi不送入校验器,在读时bi要送入
数据输出
纠错部分
寄存器
译码器
校验码输出
奇偶校验
总线
造错输入
数据输入
⑦附框图供设计逻辑图时参考。
为了便于检查,使用开关和指示灯均要标注清楚。
⑧设计中要针对所给定K写出奇发生器表达式和效验方程。
五、调试步骤:
造错(处于读)
①看sj——s1s2是否等于造错那位对应的二进制编写数。
②看3——8译码器输出是否指出造错那位,低的输出表示错。
1查经纠错线路后,输出数据是否和原写入一致,验证纠错功能。
例如,约定计算机中的二进制代码都以奇校验码存入内存,那么当从内存取出时,若检测到二进制代码中“1”的个数不是奇数时,表明该代码在存取过程中发生了错误,显然,若代码在存取过程中发生了两位(或偶数个数)出错,用奇偶校验码就检测不出来。
另外,奇偶检测码只能发现错误,但不能确定哪位出错。
由于在一般情况下两位出错的概率远小于一位出错的概率,而且奇偶校验码增加设备不多就能发现错误,因此它是一种在计算机中广泛被采用的一种可靠性代码。
同步时序逻辑
实验六、环形移位寄存器
实验目的:
1了解串行移位寄存器输入的控制过程
②熟悉中规模移位
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 逻辑 试验 指导书