数字逻辑设计与VHDL描述.docx

上传人:b****5 文档编号:8208075 上传时间:2023-01-29 格式:DOCX 页数:62 大小:49.63KB
下载 相关 举报
数字逻辑设计与VHDL描述.docx_第1页
第1页 / 共62页
数字逻辑设计与VHDL描述.docx_第2页
第2页 / 共62页
数字逻辑设计与VHDL描述.docx_第3页
第3页 / 共62页
数字逻辑设计与VHDL描述.docx_第4页
第4页 / 共62页
数字逻辑设计与VHDL描述.docx_第5页
第5页 / 共62页
点击查看更多>>
下载资源
资源描述

数字逻辑设计与VHDL描述.docx

《数字逻辑设计与VHDL描述.docx》由会员分享,可在线阅读,更多相关《数字逻辑设计与VHDL描述.docx(62页珍藏版)》请在冰豆网上搜索。

数字逻辑设计与VHDL描述.docx

数字逻辑设计与VHDL描述

Forpersonaluseonlyinstudyandresearch;notforcommercialuse

 

数字逻辑设计与VHDL描述

-

数字逻辑设计与VHDL描述

第一章逻辑代数基础

1.1数制和码制

1.1.1进位计数制

进位制:

逢基数进一

数符递增达到基数后高位增一,低位复0

数字形式的主要元素是数符和数位

基数=数符的个数

第i个数位代表的位权=基数的i次幂

一,x进制数的位权展开式:

(N)x=

kn-1xn-1+kn-2xn-2+...+k0x0+k-1x-1+k-2x-2+...+k-mx-m

x:

基数(逢x进一)

k:

数符

Xi:

位权

i:

位序(小数点前为正,小数点前为负)

例:

十进制数的位权展开

(271.59)10=

2×102十7×101十1×100十5×10-1十9×10-2

二,其他进制计数制

1,二进制计数制——逢二进一

基数x:

2

数符b:

0,1(可以用开关量表示)

位权展开式:

(N)2=

bn-12n-1+bn-22n-2+...+b020+b-12-1+b-22-2+...+b-m2-m

例:

(1101.101)2=

1×23+1×22+0×21+1×20+1×2-1+0×2-2+1×2-3=8+4+0+1+0.5+0+0.125=(13.625)10

2,八进制数和十六进制数

基数数符

八进制80,1,2,3,4,5,6,7

十六进制160,1,2,3,4,5,6,7

8,9,A,B,C,D,E,F

例:

(172.54)8=

1×82+7×81+2×80+5×8-1+4×8-2=64+56+2+0.625+0.0625=(122.6875)10

(C07.A4)16=(C07.A4)H=C07.A4H=

12×162+0×161+7×160+10×16-1+4×16-2=3072+0+7+0.625+0.015625=(3079.640625)10

3,二进制,八进制,十六进制和十进制的数值关系表

十进制二进制八进制十六进制十进制二进制八进制十六进制

000081000108

111191001119

2102210101012A

3113311101113B

41004412110014C

51015513110115D

61106614111016E

71117715111117F

1.1.2数制转换

转换条件:

数值相等

一,非十进制数转换为十进制数

按权展开求和

二,十进制数转换为非十进制数

整数部分:

除基数取余数,从低位到高位求各位数符直到商为0

小数部分:

乘基数取整数,从高位到低位求各位数符直到小数部分为0或满足精度要求

转换原理:

(N)x=

kn-1xn-1+kn-2xn-2+...+k0x0+k-1x-1+k-2x-2+...+k-mx-m

整数部分※小数部分

整数部分:

(kn-1xn-1+kn-2xn-2+...+k1x1+k0x0)/x

=(kn-1xn-2+kn-2xn-3+...+k1x0)......k0

商余数

商/x=(kn-1xn-3+kn-2xn-4+...+k2x0)......k1

小数部分:

(k-1x-1+k-2x-2+...+k-mx-m)x

=k-1+(k-2x-1+...+k-mx-m+1)

整数小数

小数×X=k-2+(k-3x-1+...+k-mx-m+2)

三,二进制数和八进制,十六进制数转换

1,八进制—>二进制

根据数值关系表用三位二进制数符逐位替代各位八进制数符.

例:

(52.4)8=(101010.1)2

2,十六进制—>二进制

根据数值关系表用四位二进制数符逐位替代各位十六进制数符.

例:

(52.4)16=(1010010.01)2

2,二进制—>八进制

将二进制数从小数点起,分别按整数部分和小数部分以三位数符划组,最高位和最底位不足部分补0.然后每组用一个八进制数符替代.

例:

(1111101.0100111)2=(001111101.010011100)2=(175.234)8

3,二进制—>十六进制

将二进制数从小数点起,分别按整数部分和小数部分以四位数符划组,最高位和最底位不足部分补0.然后每组用一个十六进制数符替代.

例:

(1111101.0100111)2=(01111101.01001110)2=(7D.4E)8

1.1.3二进制码

用0和1组合表示信息的编码形式

编码位数n和信息量N的关系:

N≤2n

一,文字符号信息码

ASCII码——美国标准信息交换码,由7位二进制码组成.

例:

"A"=(1000001)ASCII"!

"=(0100011)ASCII

"a"=(1100001)ASCII"7"=(0110111)ASCII

二,数值码

1,自然二进制码——

编码形式与二进制数完全相同,每位代码有位权的数值意义(有权码).

2,循环二进制码——

任何相邻两个整数值的码字仅有一位代码不同,代码没有数值意义(无权码).典型的循环二进制码:

格雷码(gray)

3,二——十进制BCD码

用4位二进制符表示的十进制数符

十进制8421BCD2421BCD5211BCD余3码格雷码

000000000000000110000

100010001000101000001

200100010001101010011

300110011010101100010

401000100011101110110

501011011100010001110

601101100101010011010

701111101110010101000

810001110111010111100

910011111111111000100

有权码——8421BCD,2421BCD,5211BCD

无权码——余3码,格雷码

例1:

(271.59)10

=(001001110001.01011001)8421BCD

=(001011010001.10111111)2421BCD

例2:

(10000110)8421BCD(10000110)2

+(00110100)8421BCD+(00110100)2

=(000100100000)8421BCD=(10111010)2

(86)10+(34)10=(120)10

1.3格雷码

任何相邻两个整数值的码字仅有一位代码不同,代码没有数值意义(无权码).

十进二进格雷码十进二进格雷码

制数制码BG制数制码BG

000000000810001100

100010001910011101

2001000111010101111

3001100101110111110

4010001101211001010

5010101111311011011

6011001011411101001

7011101001511111000

Gn=Bn;Gi=Bi+1⊕Bi;Bi=Bi+1⊕Gi

第2章逻辑代数基础

2.1基本概念

逻辑代数:

处理逻辑运算的方法.根据设计要求,进行逻辑判断和推理.

逻辑变量:

只有"0"和"1"值,表示了两个对立的状态.

逻辑函数:

F=f(A0,A1,…,An-1)

函数值F和变量值Ai都只有两个取值"0","1"

1.2.2逻辑函数的表示方法

真值表:

以表格形式列出所有变量取值所对应的输出函数值

逻辑代数表达式:

用布尔代数描述的表达式

卡诺图:

真值表的图形形式

逻辑图:

逻辑符号表示的电路原理图

波形图:

输出信号与输入信号的时序关系图

硬件描述语言:

类似计算机软件编程语言的形式

1.2.3基本逻辑运算关系

与运算:

所有条件满足时,事件成立.

逻辑乘:

F=A0·A1·A2·…·An-1

或运算:

只要一个条件满足,事件就成立.

逻辑加:

F=A0+A1+A2+…+An-1

非运算:

条件满足,事件不成立.输出与输入永远反相.

F=A

逻辑图中用圈表示反相运算

复合运算

与非运算:

先"与"后"非"

F=A0·A1·A2·…·An-1

或非运算:

先"或"后"非"

F=A0+A1+A2+…+An-1

与或非运算:

先"与"后"或"再"非"

F=A0A1…+B0B1…

异或运算:

两个输入相异时输出为"1",相同时输出为"0".

F=A⊕B=A·B+A·B

真值表ABEL—HDL:

F=A$B

逻辑符号

0

11

1

10

1

01

0

00

F

AB

同或运算:

两个输入相异时输出为"0",相同时输出为"1".

F=A⊙B=A·B+A·B

真值表ABEL—HDL:

F=!

(A$B)

逻辑符号

1

11

0

10

0

01

1

00

F

AB

1.2.4正,负逻辑概念

对于同一逻辑问题,逻辑变量定义不同,得到的逻辑关系不同.

正逻辑:

输入,输出高电平为"1",低电平为"0"

负逻辑:

输入,输出高电平为"0",低电平为"1"

例:

输入输出正逻辑负逻辑

ABFABFABF

LLL000111

LHL010101

HLL100011

HHH111000

正逻辑:

L="0",H="1";F=A·B

负逻辑:

L="1",H="0";F=A+B

1.3.1布尔代数定律

A+0=AA·1=A

基本A+1=1A·0=0

定律A+A=AA·A=A

A+A=1A·A=0

结合律(A+B)+C=A+(B+C)(AB)C=A(BC)

交换率A+B=B+AAB=BA

分配律A(B+C)=AB+ACA+BC=(A+B)(A+C)

摩根定律A+B+C=A·B·CABC=A+B+C

ABC≠ABC

1.3.2布尔代数的基本定律

1,代入规则:

当逻辑表达式中的变量用逻辑函数式代替时,表达式仍成立.

2,反演规则:

求某逻辑函数的反函数:

将原函数中所有逻辑变量取反;逻辑常量"0","1"对换;"与","或"运算关系对换.

F=A·B+A·BF=(A+B)(A+B)=A·B+A·B

3,对偶规则:

当某逻辑恒等式成立时,其对偶式也成立.

求某函数的对偶式:

将原函数中逻辑常量"0","1"对换;"与","或"运算关系对换.

1.3.3利用布尔代数化简逻辑函数

化简方法:

并项法:

利用A+A=1并项,消变量.

例7:

F=ABC+ABC=AB(C+C)=AB

吸收法:

利用A+AB=A并项,消变量.

例8:

F=AB+ABCD(E+F)=AB(1+CD(E+F))=AB

消去法:

利用A+AB=A+B,消变量.

例9:

F=AB+AC+BC=AB+C(A+B)=AB+ABC=AB+C

配项法:

利用A=A(B+B)配项,消去其他项的变量.

例10:

F=AB+AC+BC=AB+AC+(A+A)BC

=AB+ABC+AC+ABC=AB+AC

ABC

ABC

ABC

ABC

ABC

ABC

ABC

ABC

ABC

最小项

0

m7

111

0

m6

110

0

m5

101

1

m4

100

0

m3

011

1

m2

010

1

m1

001

1

m0

000

F

mi

ABC

函数值

最小项符

变量取值

例:

14

当三输入中至少有两个输入为低时输出为高.

化简要求:

1,逻辑表达式最简

2,逻辑运算关系统一

最简与-或表达式:

乘积项最少且乘积项中变量因子最少.

标准与-或表达式(最小项表达式):

表达式中的每个乘积项都是函数的最小项.

函数的最小项:

包含了该函数全部变量的乘积项,所以n个变量的函数有2n个最小项,与函数真值表的变量取值一一对应.

函数的最小项表达式:

使函数值为"1"的最小项之逻辑和.

F=ABC+ABC+ABC+ABC

F(A,B,C)=m0+m1+m2+m4

=∑m(0,1,2,4)

与真值表中为"1"的项相同.

1.4卡诺图

1.4.1卡诺图的结构和特点:

1,将变量分为行,列两组,相邻列(行)之间只有一个变量取值不同.

2,卡诺图的每个格代表了函数的一个最小项.

3,相邻两个最小项可以合并成一个乘积项,并消去一个互补的变量.

相邻两列消去列变量.

相邻两行消去行变量.

4,具有循环邻接性.

BA

AB

CD

B

C

A,B,C,D取值1

A,B,C,D取值0

AB

CD10

AB

CD14

AB

CD6

AB

CD2

AB

CD11

AB

CD15

AB

CD7

AB

CD3

AB

CD9

AB

CD13

AB

CD5

AB

CD1

AB

CD8

AB

CD12

AB

CD4

AB

CD0

1.4.2用卡诺图化简逻辑函数

一,函数的卡诺图表示法:

1,最小项表达式

将表达式中出现的最小项所对应的卡诺图格中填入"1",其余格填"0".

2,非最小项表达式

将函数转换成与-或表达式,在每个乘积项的变量范围内填入"1",其余格填"0".

二,用卡诺图化简逻辑函数的规则和步骤

(1)以矩形圈形式合并2n个函数值相同的卡诺图格,消去取值不同的变量,形成一个乘积项.

(2)圈尽可能大,使乘积项的变量因子尽可能少.

圈尽可能少,使乘积项的个数尽可能少.

(3)圈从大到小,直到所有函数值相同的格全部圈入.但每个圈中必须至少包含一个没有被其它圈包围的独立格.

(4)所有乘积项之逻辑和为函数的最简与-或表达式.

三,具有无关项的逻辑函数表示方法

1,无关项

对函数值没有影响的变量组合所对应的最小项,用符号d表示其函数值.

2,具有无关项的逻辑函数最小项表达式

f=∑m+∑d

3,具有无关项的逻辑函数卡诺图

在无关项格中填入d或X

4,具有无关项逻辑函数的化简

无关项可以任意取值"0"或"1"以满足合并圈扩大的化简要求.

第四章组合逻辑电路

组合逻辑的电路结构:

信号从输入端逐级向输出传输,没有后级向前级的反馈.

组合逻辑的特点:

电路输出只与当前的输入信号有关,与电路原来的输出状态无关.

4.1组合逻辑分析

根据电路在不同输入信号时的输出,分析电路功能

分析步骤:

1,根据电路图逐级写逻辑表达式

2,根据表达式列真值表

3,根据真值表分析电路功能

4.2中规模组合逻辑电路

集成电路规模的划分

小规模集成电路SSI——器件集成.

中规模集成电路MSI——构件集成.如数据选择器,译码器,编码器等.

大规模集成电路LSI——子系统集成.定时器等.

超大规模集成电路VLSI——系统集成.

单片机,中央处理器(CPU)等.

4.2.1编码器

编码____用n位二进制码表示小于2n个信息

编码器____输入代表信息的开关量(0有效或1有效),输出指示当前有效输入的二进制码.

用输入,输出的端口数命名

优先编码器(74148)8线-3线

8个低电平有效的输入端I0-I7,位序高输入的优先级别高

3位反码Y0-Y2输出(由有效输入的下标决定)

1个使能输入端S(低电平有效)

1个扩展使能输出Ys

1个扩展输出Yex

优先编码器(74148)的扩展

利用使能输入,扩展使能输出实现.

1,优先级别高的芯片的使能输出Ys控制优先级别低的芯片使能输入S.

Ys=S+I0I1I2I3I4I5I6I7

当级别高的芯片有输入有效(0)时,使能输出无效

(1).禁止低级别芯片工作(使能输入为无效电平"1")

当级别高的芯片无输入有效时,输出为无效电平"1".同时使能输出有效(0),允许低级别芯片工作.

2,输出扩展使能作为高位码输出

2,二—十进制的编码器74147

9个输入I1—I9,低电平有效,位序大的级别高

四位BCD反码输出,没有扩展输入,输出端

4.2.2译码器

译码——将n位二进制码转换成对应的2n个信息

译码器——用不同的开关量输出(0有效或1有效)表示当前输入的二进制码

类型——通用译码器,二—十进制译码器,七段数码显示译码器

一,二进制(通用)译码器

输入n位二进制码,输出2n个开关量信号

用输入,输出端口数命名

3线-8线译码器74138

输入三位二进制码

输出8个低电平有效的开关量指示当前的输入码(位序与输入码相同)

Y0=A2A1A0=m0Y1=A2A1A0=m1

Yi=mi=Mi

1,产生组合逻辑函数

使能控制有效时,译码器各输出表达式:

Yi=mi

为输入码对应的最小项的反函数

函数的最小项表达式:

F=∑mi

用译码器产生逻辑函数:

F=∑mi=∏mi=∏Yi=∏Mi

函数变量从译码器选择端输入,用与非门将与函数式中最小项序号相同的输出端综合后得函数输出.

例:

用3/8线译码器构成实现一位二进制数加法的全加器.

输入三个一位二进制数A,B,C,输出和S,进位C

11

m7

111

10

m6

110

10

m5

101

01

m4

100

10

m3

011

01

m2

010

01

m1

001

00

m0

000

CS

mi

ABC

函数值

最小项符

变量取值

S=ABC+ABC+ABC+ABC

S(A,B,C)=m1+m2+m4+m7

=m1·m2·m4·m7

=Y1·Y2·Y4·Y7

C=ABC+ABC+ABC+ABC

C(A,B,C)=m3+m5+m6+m7

=m3·m5·m6·m7

=Y3·Y5·Y6·Y7

2,译码器实现数据分配

要分配的串行数据D从译码器的低电平使能端S2或S3输入:

S2(或S3)=Di

Yi=miS2

当输入地址码构成的最小项mi=1时,串行数据从S2或S3输出:

Yi=S2(S3)=D

3,通用译码器的扩展

利用扩展后的高位输入码控制使能端分时选通各译码器

二,二—十进制译码器74147

4-10线译码器,输入8421BCD码,输出十个开关量,低电平有效.

三,显示译码器

1,七段显示器——七个发光二极管排列成8字型.

2,共阴显示器——七个发光二极管的阴极接在一起.使用时公共端COM接低电平,七个二极管阳极接高电平.

3,共阳显示器——七个发光二极管的阳极接在一起.使用时公共端COM接高电平,七个二极管阳极接低电平.

2,七段显示译码器7447

4位BCD码输入D,C,B,A.

输出七段显示信号:

a,b,c,d,e,f

显示十进制数符

驱动共阴显示器,输出低电平有效7447

驱动共阳显示器,输出高电平有效

试灯输入LT:

低电平有效,全部输出有效(全亮)

灭"0"输入RBI:

低电平有效,不显示最高位"0"

消隐输入/灭"0"输出BI/RBO:

输入为低电平时,所有输出显示无效,显示器不亮(消隐)

当RBI=0且输入码为全零时,该输出有效(低电平),可控制相邻低位灭"0"

4.2.3数据选择器MUX

由地址信号控制从多路数据中选择一路送到输出.

m/1MUX(m选一数据选择器)

输入n位地址码,2n路数据D0-Dm-1(m=2n)

输出Y(Y),使能控制S(低电平有效)

输出函数是地址码构成的最小项mi和数据输入Di的与或表达式:

Y=m0D0+m1D1+……+mm-2Dm-2+mm-1Dm-1

=∑miDi

数据选择器的扩展

利用扩展后的高位地址码控制数据选择器的使能端S,分时选通各选择器.

数据选择器的应用:

1,数据选择

2,并行——串行数据变换

并行数据——所有位的数据同时传送

串行数据——数据按位序逐位传输

由地址码A,B,C选择位数据Di,将并行数据D0-D7逐位选择到输出Y,转换成串行数据.

数据选择器

结构:

多输入,单输出

输入端:

使能控制(选通)1个

路径选择控制n个

数据输入2n个

功能:

当使能有效时(被选通),根据路径选择信号从多路数据中选择一路给输出.

BA应用:

C0001,数据选择

C1012,函数发生器

C210Y3,并行数据转换成

C311串行数据

3,实现组合逻辑函数

数据选择器输出Y与其地址码构成的最小项mi以及数据输入Di的关系式为:

Y(A2,A1,A0)=∑miDi

=m0D0+m1D1+……+mm-2Dm-2+mm-1Dm-1

当地址码A2,A1,A0输入函数的变量,数据输入D0—Dm-1为各变量组合取值时的函数值,Y为函数的输出.

例:

4-5分析图4-23的逻辑功能

解:

电路由8/1MUX构成四变量函数,地址码输入为函数变量A,B,C(A2=A,A1=B,A0=C)

变量D从数据输入端D0-D7输入:

D0=D3=D5=D6=D;D1=D2=D4=D7=D;

Y=m0D+m1D+m2D+m3D+m4D+m5D+m6D+m7D

=ABCD+ABCD+ABCD+ABCD+ABCD+ABCD

+ABCD+ABCD

电路功能为:

奇校验检测,输入四个变量中有奇数个"1"时,输出Y为"1".

Y(A,B,C,D)

=m1+m2+m4+m7+m8+m11+m13+m14

例4-6:

分析图4-24电路的功能

解:

电路由双4/1MUX构成两个三变量函数,其中变量A,B从地址码输入(A1=A,A0=B),变量C从数据端输入:

1D1=1D2=C;1D0=1D3=2D0=2D3=C;2D1=1;2D2=0

所以,两个函数的输出:

F1=1Y(A,B)=m0c+m1c+m2c+m3c

F1=(A,B,C)=ABC+ABC+ABC+ABC

=m1+m2+m4+m7

F2=(A,B,C)=m0c+m11+m20+m3c

F2=(A,B,C)=ABC+ABC+ABC+ABC

=m1+m2+m3+m7

11

m7

111

00

m6

110

00

m5

101

01

m4

100

10

m

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1