八位数据串行输入并行输出逻辑设计.docx
《八位数据串行输入并行输出逻辑设计.docx》由会员分享,可在线阅读,更多相关《八位数据串行输入并行输出逻辑设计.docx(17页珍藏版)》请在冰豆网上搜索。
八位数据串行输入并行输出逻辑设计
1.预习实验
B1B2B4B8BN为8421码
要求用或非门和与非门构成的逻辑图
D1D2D3D4D5D6D7D8D9DN为十进制数
10线10进制代码转换成8421码
学生根据上图写下表达式:
B8=
B4=
B2=
B1=
实验要求:
①学生自己根据逻辑图填写逻辑表达式
②分别用TTL芯片,GAL芯片和用VHDL硬件描述语言编写出该电路的程序,通过FPGA芯片加以实现。
③独立完成电路调试
④验证输入与输出的关系
2.四位海明校验逻辑设计
数据输出
纠错部分
寄存器
译码器
校验码输出
奇偶校验
总线
造错输入
数据输入
实验三、译码器及数码显示(GAL型)
数码管是一种常用器件,当你显示十进制数时,是有很多电路供你选用,一般根据所使用的数码管是共阳极还是共阴极来选择对应芯片的。
七段发光二极管(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码,观察数码管的显示。
7段码显示驱动逻辑设计
16进制计数器
另外,GAL芯片介绍及使用举例
通用数组逻辑GAL:
GAL器件是1985年美国LATTICE公司最早生产的一种器件。
现以GAL16V8为例,它的内部结构逻辑图如
它的输出逻辑宏单元OLMC
GAL特点:
①可测试功能。
这是_____工艺在工艺竞争中最大优势之一。
制造厂利用非常快的速度(50ns)擦除功能可对各种器件反复编程和擦处,以直接测试包括AC、DC功能在内的各种特性,保证程序和功能100%地满足用户要求。
而传统的PLD器件在批量生产时不能测试,只有用户对其编程后才能检测这种PLD的功能指针。
②低功耗。
这是采用CMOS工艺的一个优点。
它使用户直接受益,降低了系统功耗,可靠性高,是运行系统温度低。
由于芯片上有较低的节温与功耗,CMOS低功耗就允许较高功能的集成度的电路设计,从而能进一步减少系统体积。
③高速度。
______工艺的另一个优点是具有较高的速度——其速度可与除ECL电路以外任何工艺生产的任一器件相比。
④可重复编程100次以上。
⑤可以加密,以防对逻辑的复制。
⑥具有输出逻辑宏单元(OLMC),可由用户编程形成所需输出。
将上述这些优点集中于一个芯片里,GAL器件将会对TTL/74系列所组成的逻辑电路,低密度的门阵列和所有其它可编程逻辑芯片带来威胁。
GAL芯片非常有利于降低系统造价,减少成品的体积和功耗,还具有更高的可靠性,并能大大简化系统设计。
GAL的用途:
GAL器件主要用于构造各种组合逻辑和时序逻辑,除可完成各种通用TTL电路完成的功能外,还可以构造各种特殊功能。
用GAL可缩短开发周期,在暂时得不到通用TTL器件时可用GAL代替。
由于GAL有加密功能,不易被他人仿做。
对于初设计、试验阶段的产品,用GAL较方便灵活,它可以快速地反复地擦除、修改。
但在定型后,如电路较复杂,且要批量生产时,倒是不一定要用GAL,可采用门阵列,它的成本更低。
如生产量更大,也可采用标准单元,它的集成度高。
GAL器件的种类及主要参数:
GAL器件分为普通型、通用型、异步型、FPLA型和在线可编程型等五个系列。
GAL的主要参数
器件类型
引脚数
最大传输时延(ns)
电源电流
Icc(mA)
最多可用输入数
最多可用输出数
数组规模
普
通
型
GAL16V8
20
15,25,35
45,90
16
8
64×32
GAL20V8
24
15,25,35
45,90
20
8
64×40
GAL16V8A
20
15,25,20,10
55,90,115
16
8
64×32
GAL20V8A
24
15,25,20,10
55,90,115
20
8
64×40
GAL16V8B
20
7,5,10
115
16
8
64×32
GAL20V8B
24
7,5,10
115
20
8
64×40
通
用
型
GAL18V10
20
15,20
115
18
10
96×36
GAL22V10
24
10,15,25
130
22
10
132×44
GAL26CV12
28
15,20
130
26
12
122×52
异步型
GAL20RA10
24
12,15,20,30
100
20
10
80×10
FPLA型
GAL6001
24
30,35
150
21
10
78×64
×32
在线可编程型
ispGAL16Z8
24
20,25
90
16
8
64×32
GAL器件的编程及使用:
在对GAL器件进行编程时有多种编译软件可供选用,如FM软件,ABLE软件,PALASM2软件等,就这几种软件相比而言,它们各有特点。
它们各自运算符号的多少决定了用户编写逻辑方程的自由度,从下面表格所示可以看出,将F=A⊕B时,ABLE可用A$B表示,而FM只能将F=A⊕B,写成F=AB+AB来表示。
非
与
或
组合
逻辑
时序
逻辑
三态
控制
异或
异或非
锁存
控制算符为分组和组合
FM
/
*
+
=
:
=
.OE
ABLE
!
&
#
=
:
=
$
!
$
()
PALASM2
/
*
:
+:
=
:
=
*=
由于我们目前使用的是FM,我们就以此软件进行GAL编程举例,仅从应用角度说明GAL的使用方法:
下面是首先认识一下GAL16V8芯片的输入输出脚排列次序,
VCC191817161514131211
GAL16V8D
)L25LP
C749D12
123456789GND
然后在微机上打开一编辑窗口,在此窗口内进行编程,建立用户源文件:
PLD16V8书写器件名称
BASICGATES文件名或逻辑功能
XDP2000.6.18编者姓名,时间
SHIYANLATTICEV4.6用途,公司,版本等此四行统称标题行是必须要有的。
BCDEMNPQHGND这一行为定义输入脚
IJZYXWVUAVCC定义输出脚
;LOGICEQUATIONS分号打头的仅为注释行,在汇编时将被忽略。
U=/A
V=B*C
W=D+E
X=/M+/N
/Y=P*/Q+/P*Q
Z=/H+/I+/J
DESCRIPTION结束句的关键词
这个简单的基本门逻辑小程序就编写完了,然后再转换生成.JED檔,再通过和微机相连的GAL编程器将上面的编的程序写入GAL16V8芯片即可。
不过值得一提的是:
1.凡是在编程时没有用到的输入输出脚,一律用NC加以标注
2.每个输入输出脚名字不能超过8个
3.每个表达式中的或相不能超过8个
4.每个表达式中的与相不能超过64个
5.输入端不够用时,可用输出脚作输入用,但输入脚不可作输出用
6.输入端最多可达16个,输出端最多可达8个,15,16脚只能作输出用。
7.当设计时序逻辑电路时,第一脚必须接CLOCK时钟源
8.第11脚不能做输出用,一般接地
VCC=5V,最要注意的是如果用GAL芯片做实验是在面包板上进行的时候,特别要注意GAL芯片接地脚一定要牢固可靠的接地。
然后再接VCC5V电源,否则GAL芯片可能就烧坏了。
实验四时序脉冲分频分配延迟与整形电路
时序脉冲电路在计算机中是不可缺少的一部分。
主要有振荡源(目前都用晶振)、主脉冲、分频器、分配器、延迟和整形电路、单脉冲和定数脉冲电路等组成。
以产生周期和所要求的脉冲分配。
目前计算机的速度越来越高,对脉冲本身的波形和一致性要求也越来越高。
如在高频电路中,为了保证时间配合,防止干扰等,主脉冲在加以驱动后以电平(即宽脉冲)和等长线形式并行送到各插件,各插件以相同电路将宽脉冲整行为窄脉冲(几个ns到几十个ns)使用。
L17L15L16CP1CP2CP3CP4CP5CP6
整形电路
延迟
整形电路
L9L10L11L12L13L14
按键
延迟线
单脉冲
电路
脉冲组合电路
CP
L1L2L3L4L5L6L7L8
三周期
T1—T3
4分频
或2个2分频
5分频
CLK
10MHZ
时序脉冲分频,分配,延迟与整形框图(Ln=灯n)
实验目的:
掌握同步时序电路和分频,延迟整形的原理和设计方法,进一步提高实践能力。
实验要求:
①脉冲源为10兆,要求得到主脉冲为1兆,即周期T=lus脉宽500ns(占空比1:
1)。
②在主脉冲CP下产生单拍脉冲CPO(可以不做)。
③在主脉冲CP下产生三个周期T1-T2,每个周期包括2个主脉冲的分频分配器,输出系统波为CP1-CP2。
④有CP1得到延迟200ns,波宽为200ns的脉冲CP1.
⑤由CP2得波宽为700ns的脉冲CP2.
⑥分频器、周期发生器均设计成同步型,周期发生器用移位方式.要写出设计过程.
实验器材:
10兆脉冲源(在实验仪面板上);双D触发器74LS74;单稳74LS123;计数器74LS161;延迟线或作延迟用的低频反相器;通用反相器、与门、与非门等;整形、延迟中用的电阻电容.
实验提示:
1附框图供参考。
为便于检查,指示器用图中给定的.
2产生系列波也可用计数器的选通法,但针对本实验要求,电路并不简单.
3延迟方法可用单稳(但要保持原脉冲宽度一般不用),还可用延迟线、低频反相器、积分电路(但宽度要变)。
4波形整形电路设计也可用单稳、延迟时间键电路加触发器”葫芦串”结构电路、微积分电路等。
整形和延迟方法比较多,在满足实验要求的情况下,哪种简便、经济就选哪种。
本实验中,可任选一种。
⑤设计中要防止过渡中的险象,避免冒出不允许的尖脉冲,这种尖脉冲有时示波器看不到所以要分析。
实验介绍:
①LS123单稳用法:
74LS123单稳集成块含两个单稳多谐振荡器,如图所示:
图中:
a)Q为输出端
b)A、B为输入端,A为下跳沿触发,B为上跳沿触发
c)CLR为清零端
d)R/C为外接电阻电容端,C为外接电容端,此两端接电容,R/C端还要接电阻到+5V,用来调整输出脉宽。
接法如下:
脉宽:
C≤1000pf为(0.45~1)RKΩCPfns
C>1000pf为0.45RKΩcpfs
手册上有图表可查
A>74LS123调整脉宽方法有两种:
(一)、是在R、C固定时,用周期≤0.22C的连续脉冲在输入端触发,可将输出脉冲加宽到需要的宽度。
用加清除脉冲可使输出脉冲变窄。
(二)、是调整接上的电阻电容之大小,一般使用这种方法。
B>74LS123作延迟整形电路的方法:
用两个单稳多谐振荡器,可以组成延迟整形电路,被整形的脉冲从第一个输入,然后由输出的后沿触发第二个,第二个的输出即为延迟整形的脉冲,延迟时间取决于R1、C1,宽度取决于R2、C2。
下面是将脉宽为2us正脉冲CP,延迟整形得到一个正脉冲CP1,使CP含CP1,且前后沿均差0.5微秒的具体电路:
②典型整形电路
设原CP宽为X,整形后CP1宽为X1
其中(d)、(e)一般是将CP整形成一个窄脉冲,由延迟器件形成一个时间链,根据需要从时间链上引出脉冲去置“0”、置“1”触发器,形成满足各种需要的脉冲。
实验调试
①本次实验在逻辑上基本是串形的,所以可完成一部分调一部分。
②先调五分频,接着调四分频或两个二分频、然后调三个周期、最后调六个系列波。
③先用单拍脉冲作脉冲源,看指示灯或万用表测电位,来查各部分逻辑是否正确。
注意在第N态错,要查N-1态。
④接上主频M,用示波器看波形。
用双线经B线拉出,探头上的地线接好,B线接宽脉冲,A线接另一个一般示波器。
已接好就不要乱动,若测出差别较大,在非逻辑问题时,一般是示波器问题或未校正好。
实验五
八位数据串行输入并行输出逻辑设计
10000001作起始位
01111110作停止位
控制读取信息
实验六运算器
实验目的
1·掌握算术了逻辑部件74181和提前进位发生器74182等集成块的结构原理和应用。
2·熟悉运算器基本组成的控制方法,以及不同的结构进位速度情况。
实验内容
用74181,74182等集成块和数字逻辑实验仪组成16位可控运算器。
线路要求:
1输入数据Bi由寄存器控制,其数量入方法同学们自己选择,置入时钟用Q
2串行进位和提前进位的方法转换用一开关控制
3运算方式用六只开关控制,但CN可灵活接+5V,地。
时钟M
4运算器输出用晶体灯观察
实验仪器,器件,工具
(略)
实验要求
1控制不同运算方式,并列表记录运算结果,本次实验要求是M=H时十六种;M=L时,F=减1,A减B减1,A加B,A加A,A减1,A加1,A减B,A加B加1,计24种。
(正逻辑工作方式)
2用双踪示波器测试记录串行进位和提前进位的各自的延迟时间。
3写实验报告。
实验步骤
1设计框图
2设计逻辑电路图
3画出面包板上布线图(可省)
4出接线表(可省)
5接好线并用万用表检查是否接好,正确。
注意:
1面板不能插倒了。
2直流稳压源要事先调整到+5V,并用万用表检查。
7调试,记下问题与排除情况
8运算器功能测试与记录(列表)
9测试进位时间
运算方法为A加1,CN接时钟脉冲M,Ai=全“I”(Bi无关)
使用SR-8双踪示波器,B线接CN即M上,其控制开关要拉出;A线接最高位74181的CN+4V上。
控制进位方式开关置串行,记下两线波形前沿相差时间;置前提,记下。
10写报告,有内容有:
a图:
框图,逻辑图
Fi串/并进位码控制
运算逻辑
运算码控制
BiAi
Ai
寄存器
.
.
.Bi
b图:
功能测试表
功能测试表包括功能,输入A,B及输出F
c串行进行和提前进位延迟时间
(注意均要扣除74157延迟时间约18ns)
d问题与排除情况
e收获,体会等
16位运算器ALU的设计要求
1.掌握算术逻辑运算器单元ALU(74LS181)的工作原理
2.ALU能主要完成对二进制信息定点整数的算术运算,逻辑运算主要有逻辑与、逻辑或、逻辑异或和逻辑非操作
3.了解提前进位74LS182芯片的逻辑公式推导
4.进位可采取串行进位与并行进位两种方式
进位
实验七存储器
实验目的
1熟悉MOS集成储存电路的性能和使用。
2掌握扩大容量和字长的方法。
3了解设计功能较完善的存贮器即有独立的控制,时序,自检,校验功能的存储器的基本要求。
实验内容
用1K×4的MOSSRAM2114,74161,74244等集成电路构成容量为2K×8的功能较完整的存储器。
线路要求:
1容量2K×8,可写可读。
2能对任意地址读写,也可以从某地址开始接续写或续读。
3有全“0”和全“1”检验电路,且能在出错时显示,并产生停机(可省)
4能显示写入,读出内容和工作地址。
5有兴趣和可能的同学可增加其他功能,如奇偶校验(更复杂的是海明校验),单拍操作,对同意地址先写后读的自动连续,N地址写“1”,N+1地址写“0”,读或写一遍停机,以及循环码写入等功能之一或部分。
实验要求
1通过调试和具体数据的操作证实设计的存储器能正确读写与报错。
2测量2114的读出时间。
实验仪器,器件,工具(略)
实验步骤
1-7同实验意,只是调试中若总是出错停机可先把出错停机线路断开,要先测时序,看是否符合写的要求。
8断开出错停机线路,用置入地址方式在0到1023,1024到2047分别选间隔较大的5个地址(共10个地址)写入不同代码,然后读出,
要列表记录。
9接上停机线路,连续写全“0”,读“0”,连续写全“1”,读全“1”,读全“1”,观察是否正确。
10将任意单元写入非全“0”或非全“1”,然后从0号单元开始读,
观察到上述单元是否出错及显示出错情况。
11测度出时间:
将最低地址A,接在输入数最低为1(注意将引至开关线断开)D0输入,连续写,然后连续读(注意断开出错停机),B线拉出接AO,A线接D0输出,两线波形相差时间即读出时间。
12写实验报告,内容:
(1)框图,逻辑图(含读写时序波等)
(2)10个地址写读情况表。
(3)步骤9,10,11之记录。
(4)问题与排除情况。
(5)收获,体会等。
自检控制逻辑
缓充器244
读写
逻辑
2114*4
(2k*8)
校验280
寄存器377
灯
时序
地址计数器
161*3
KAi
图6.3Intel2114逻辑符号