數(shù)字電子技術(shù)基礎(chǔ)-第一章-邏輯代數(shù)與EDA技術(shù)的基礎(chǔ)知識(shí)_第1頁(yè)
數(shù)字電子技術(shù)基礎(chǔ)-第一章-邏輯代數(shù)與EDA技術(shù)的基礎(chǔ)知識(shí)_第2頁(yè)
數(shù)字電子技術(shù)基礎(chǔ)-第一章-邏輯代數(shù)與EDA技術(shù)的基礎(chǔ)知識(shí)_第3頁(yè)
數(shù)字電子技術(shù)基礎(chǔ)-第一章-邏輯代數(shù)與EDA技術(shù)的基礎(chǔ)知識(shí)_第4頁(yè)
數(shù)字電子技術(shù)基礎(chǔ)-第一章-邏輯代數(shù)與EDA技術(shù)的基礎(chǔ)知識(shí)_第5頁(yè)
已閱讀5頁(yè),還剩130頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

李文娟

數(shù)字電子技術(shù)課程性質(zhì):通信、控制等專業(yè)必修課程,屬于技術(shù)基礎(chǔ)課,且為主干課程。先修課程:《電路》《模擬電子技術(shù)》后續(xù)課程:《微機(jī)接口與通信》《單片機(jī)》《嵌入式系統(tǒng)》課程任務(wù):1、掌握數(shù)字邏輯與系統(tǒng)的工作原理和分析方法,能對(duì)主要的邏輯部件進(jìn)行分析和設(shè)計(jì)。

2、學(xué)會(huì)使用標(biāo)準(zhǔn)的集成電路和高密度可編程邏輯器件。

3、掌握數(shù)字系統(tǒng)的基本設(shè)計(jì)方法,為進(jìn)一步學(xué)習(xí)各種超大規(guī)模數(shù)字集成電路的系統(tǒng)設(shè)計(jì)打下基礎(chǔ)。參考教材:

1、《數(shù)字電路與系統(tǒng)》劉寶琴高等教育出版社

2、《電子技術(shù)基礎(chǔ)》閻石高等教育出版社

3、《電子技術(shù)基礎(chǔ)》康華光高等教育出版社

4、《數(shù)字電路邏輯設(shè)計(jì)》王毓銀高等教育出版社教材:《數(shù)字電子技術(shù)基礎(chǔ)簡(jiǎn)明教程》主編余孟嘗學(xué)時(shí):48學(xué)時(shí)成績(jī):考試成績(jī)80%,平時(shí)成績(jī)20%實(shí)驗(yàn):獨(dú)立設(shè)課16學(xué)時(shí)一、模擬信號(hào)和數(shù)字信號(hào)

電子電路中的信號(hào)可以分為兩大類:模擬信號(hào)和數(shù)字信號(hào)。

模擬信號(hào)——時(shí)間連續(xù)、數(shù)值也連續(xù)的信號(hào)。對(duì)模擬信號(hào)進(jìn)行傳輸、處理的電子線路稱為模擬電路。概述

數(shù)字信號(hào)——時(shí)間上和數(shù)值上均是離散的信號(hào)。

※數(shù)字信號(hào)只有兩個(gè)離散值,常用數(shù)字0和1來(lái)表示。注意,這里的0和1沒有大小之分,只代表兩種對(duì)立的狀態(tài),稱為邏輯0和邏輯1,也稱為二值數(shù)字邏輯。二、正邏輯與負(fù)邏輯兩種邏輯體制:

(1)正邏輯體制規(guī)定:高電平為邏輯1,低電平為邏輯0。

(2)負(fù)邏輯體制規(guī)定:低電平為邏輯1,高電平為邏輯0。如果采用正邏輯,圖1.1.1所示的數(shù)字電壓信號(hào)就成為如圖1.1.2所示邏輯信號(hào)。三、數(shù)字信號(hào)的主要參數(shù)一個(gè)理想的周期性數(shù)字信號(hào)可用以下參數(shù)來(lái)描繪:

Vm——信號(hào)幅度。它表示電壓波形變化的最大值。

T——信號(hào)的重復(fù)周期。信號(hào)的重復(fù)頻率f=1/T。

tw——脈沖寬度。它表示脈沖的作用時(shí)間。

q——占空比。它表示脈沖寬度tw占整個(gè)周期T的百分比,其定義為:

四、數(shù)字電路

傳遞與處理數(shù)字信號(hào)的電子電路稱為數(shù)字電路。

1、數(shù)字電路與模擬電路相比主要有下列優(yōu)點(diǎn):

(1)數(shù)字電路是以二值數(shù)字邏輯為基礎(chǔ)的,只有0和1兩個(gè)基本數(shù)字,易于用電路來(lái)實(shí)現(xiàn)。(2)由數(shù)字電路組成的數(shù)字系統(tǒng)工作可靠,精度較高,抗干擾能力強(qiáng)。(3)數(shù)字電路不僅能完成數(shù)值運(yùn)算,而且能進(jìn)行邏輯判斷和運(yùn)算,這在控制系統(tǒng)中是不可缺少的。(4)數(shù)字信息便于長(zhǎng)期保存,比如可將數(shù)字信息存入磁盤、光盤等長(zhǎng)期保存。(5)數(shù)字集成電路產(chǎn)品系列多、通用性強(qiáng)、成本低。

2、數(shù)字電路的分類(1)按電路結(jié)構(gòu)不同:分立元件電路和集成電路兩大類。(2)按所用器件制作工藝的不同:數(shù)字電路可分為雙極型(TTL型)和單極型(MOS型)兩類。(3)按照電路的結(jié)構(gòu)和工作原理的不同:數(shù)字電路可分為組合邏輯電路和時(shí)序邏輯電路兩類。3、數(shù)字電路的學(xué)習(xí)方法(1)邏輯代數(shù)是分析和設(shè)計(jì)數(shù)字電路的重要工具,應(yīng)熟練掌握。(2)重點(diǎn)掌握各種常用數(shù)字邏輯電路的邏輯功能、外部特性及典型應(yīng)用。對(duì)其內(nèi)部電路結(jié)構(gòu)和工作原理不必過(guò)于深究。(3)掌握基本的分析方法。(4)本課程實(shí)踐性很強(qiáng)。應(yīng)重視習(xí)題、基礎(chǔ)實(shí)驗(yàn)和綜合實(shí)訓(xùn)等實(shí)踐性環(huán)節(jié)。(5)注意培養(yǎng)和提高查閱有關(guān)技術(shù)資料和數(shù)字集成電路產(chǎn)品手冊(cè)的能力。本章重點(diǎn)1、數(shù)制的轉(zhuǎn)換2、邏輯代數(shù)的特殊定理、邏輯函數(shù)的公式化簡(jiǎn)3、利用卡諾圖化簡(jiǎn)邏輯函數(shù)4、邏輯函數(shù)間的轉(zhuǎn)換一、邏輯代數(shù)(布爾代數(shù)、開關(guān)代數(shù))邏輯:事物因果關(guān)系的規(guī)律邏輯函數(shù):

邏輯自變量和邏輯結(jié)果的關(guān)系邏輯變量取值:0、1

分別代表兩種對(duì)立的狀態(tài)一種狀態(tài)另一狀態(tài)高電平低電平真假是非有無(wú)……1001二、二進(jìn)制數(shù)表示法1.十進(jìn)制數(shù)(Decimal)--逢十進(jìn)一計(jì)數(shù)基數(shù):0~9第i位的位權(quán):2.二進(jìn)制數(shù)(Binary)--逢二進(jìn)一計(jì)數(shù)基數(shù):0,1第i位的位權(quán):3.二進(jìn)制數(shù)的縮寫形式—八進(jìn)制數(shù)和十六進(jìn)制數(shù)基數(shù):0~7位權(quán):(2)十六進(jìn)制數(shù)

(Hexadecimal)--逢十六進(jìn)一基數(shù):0~9,A(10),B(11),C(12),D(13),E(14),F(15)位權(quán):任意(N)進(jìn)制數(shù)展開式的普遍形式:—第i位的系數(shù)—第i位的權(quán)(1)八進(jìn)制數(shù)(Octal)--逢八進(jìn)一4.幾種常用進(jìn)制數(shù)之間的轉(zhuǎn)換(1)二-十轉(zhuǎn)換:將二進(jìn)制數(shù)按位權(quán)展開后相加(2)十-二轉(zhuǎn)換:降冪比較法—

要求熟記20~210

的數(shù)值。2021222324252627282921012481632641282565121024157128291685272413快速轉(zhuǎn)換法:拆分法(26)10=16+8+2=24+23+21=(11010)2411168

4

2

1(2)十-二轉(zhuǎn)換:降冪比較法2322200※整數(shù)部分的轉(zhuǎn)換:除基取余法用目標(biāo)數(shù)制的基數(shù)(R=2)去除十進(jìn)制數(shù),第一次相除所得余數(shù)為目的數(shù)的最低位K0,將所得商再除以基數(shù),反復(fù)執(zhí)行上述過(guò)程,直到商為“0”,所得余數(shù)為目的數(shù)的最低位。十-二轉(zhuǎn)換:方法二(157)10=(?)2※小數(shù)部分的轉(zhuǎn)換:乘基取整法用小數(shù)乘以目標(biāo)數(shù)制的基數(shù)(R=2),第一次相乘結(jié)果的整數(shù)部分為目的數(shù)的最高位K-1,將其小數(shù)部分再乘基數(shù)依次記下整數(shù)部分,反復(fù)進(jìn)行下去,直到小數(shù)部分為“0”或滿足要求的精度為止。2-6例:將十進(jìn)制數(shù)0.723轉(zhuǎn)換成精度不大于的二進(jìn)制數(shù)。(3)二-八轉(zhuǎn)換:57(4)八-二轉(zhuǎn)換:每位8進(jìn)制數(shù)轉(zhuǎn)換為相應(yīng)3

位二進(jìn)制數(shù)011001.100111每3位二進(jìn)制數(shù)相當(dāng)一位8進(jìn)制數(shù)011111101.1101000002341.062(5)二-十六轉(zhuǎn)換:每4

位二進(jìn)制數(shù)相當(dāng)一位16進(jìn)制數(shù)A1(6)十六-二轉(zhuǎn)換:每位16進(jìn)制數(shù)換為相應(yīng)的4位二進(jìn)制數(shù)

將十進(jìn)制數(shù)轉(zhuǎn)換成八進(jìn)制或十六進(jìn)制數(shù),怎么轉(zhuǎn)換?思考:編碼:用二進(jìn)制數(shù)表示文字、符號(hào)等信息的過(guò)程。二進(jìn)制代碼:編碼后的二進(jìn)制數(shù)。用二進(jìn)制代碼表示十個(gè)數(shù)字符號(hào)0~9,又稱為BCD

碼(BinaryCoded

Decimal)。幾種常見的BCD代碼:8421碼余

3碼2421碼5211碼余

3循環(huán)碼三、二進(jìn)制代碼二-十進(jìn)制代碼:0十進(jìn)制數(shù)1234567898421碼余3碼2421(A)碼5211碼余3循環(huán)碼00000001001000110100010101100111100010010011010001010110100010011010101111000000000100100011010010111100110111101111011100000001010001000101010101111000100111001101110111111111001001100111110011101010權(quán)842124215211幾種常見的BCD代碼四、EDA技術(shù)(ElectronicsDesignAutomation)

一種以計(jì)算機(jī)作為工作平臺(tái),以EDA軟件工具為開發(fā)環(huán)境,以VHDL

為設(shè)計(jì)語(yǔ)言,以可編程邏輯器件為實(shí)驗(yàn)載體,以ASIC、SoC芯片為目標(biāo)器件,以數(shù)字系統(tǒng)設(shè)計(jì)為應(yīng)用方向的電子產(chǎn)品自動(dòng)化設(shè)計(jì)技術(shù)。VHDL

是一種硬件描述語(yǔ)言,用軟件編程語(yǔ)言形式描述硬件電路功能,比原理圖方式更方便、更高效地反映電路的功能。1.1.1基本和常用邏輯運(yùn)算一、三種基本邏輯運(yùn)算1.基本邏輯關(guān)系舉例功能表1.1邏輯代數(shù)基本概念、公式和定理滅滅滅亮斷斷斷合合斷合合與邏輯關(guān)系開關(guān)A開關(guān)B燈Y電源ABY(1)電路圖:或邏輯關(guān)系開關(guān)A開關(guān)B燈Y電源功能表滅亮亮亮斷斷斷合合斷合合ABY非邏輯關(guān)系開關(guān)A燈Y電源R亮滅斷合AY功能表(2)真值表:經(jīng)過(guò)設(shè)定變量和狀態(tài)賦值后,得到的反映輸入變量與輸出變量之間因果關(guān)系的數(shù)學(xué)表達(dá)形式。功能表滅滅滅亮斷斷斷合合斷合合ABY與邏輯關(guān)系真值表(Truthtable)000100011011ABY功能表滅亮亮亮斷斷斷合合斷合合ABY亮滅斷合AY功能表真值表011100011011ABY或邏輯關(guān)系非邏輯關(guān)系真值表1001AY

與邏輯:當(dāng)決定一事件的所有條件都具備時(shí),事件才發(fā)生的邏輯關(guān)系。(3)三種基本邏輯關(guān)系:

或邏輯:決定一事件結(jié)果的諸條件中,只要有一個(gè)或一個(gè)以上具備時(shí),事件就會(huì)發(fā)生的邏輯關(guān)系。

非邏輯:只要條件具備,事件便不會(huì)發(fā)生;條件不具備,事件一定發(fā)生的邏輯關(guān)系。真值表邏輯函數(shù)式與門(ANDgate)邏輯符號(hào)(1)與運(yùn)算:ABY&000100011011ABY2.基本邏輯運(yùn)算(2)或運(yùn)算:或門(ORgate)真值表邏輯函數(shù)式邏輯符號(hào)011100011011ABYABY≥1(3)非運(yùn)算:真值表1001AY邏輯函數(shù)式邏輯符號(hào)非門(NOTgate)AY1二、邏輯變量與邏輯函數(shù)及常用復(fù)合邏輯運(yùn)算1.邏輯變量與邏輯函數(shù)在邏輯代數(shù)中,用英文字母表示的變量稱為邏輯變量。在二值邏輯中,變量的取值不是1

就是0

。邏輯函數(shù):如果輸入邏輯變量A、B、C???的取值確定之后,輸出邏輯變量Y的值也被唯一確定,則稱Y

是A、B、C???的邏輯函數(shù)。并記作原變量和反變量:字母上面無(wú)反號(hào)的稱為原變量,有反號(hào)的叫做反變量。邏輯變量:(1)與非運(yùn)算

(NAND)(2)或非運(yùn)算

(NOR)(3)與或非運(yùn)算

(AND–OR–INVERT)(真值表略)111000011011AB&10002.幾種常用復(fù)合邏輯運(yùn)算ABY1Y2Y1、Y2的真值表AB≥1AB&CD≥1(4)異或運(yùn)算(Exclusive—OR)(5)同或運(yùn)算(Exclusive—NOR)(異或非)AB=1011000011011AB=1=A⊙BABY4100100011011ABY5三、基本和常用邏輯運(yùn)算的邏輯符號(hào)曾用符號(hào)美國(guó)符號(hào)ABYABYABYAAY國(guó)標(biāo)符號(hào)AB&A1ABYAB≥1國(guó)標(biāo)符號(hào)曾用符號(hào)美國(guó)符號(hào)AB&ABYABYABYAB=1ABABYABYAB≥1或:0+0=01+0=11+1=1

與:0·

0=00·

1=01·

1=1

非:二、變量和常量的關(guān)系(變量:A、B、C…)或:A+0=AA+1=1與:A·

0=0A·

1=A

非:1.1.2公式和定理一、常量之間的關(guān)系(常量:0和1)三、與普通代數(shù)相似的定理交換律結(jié)合律分配律[例1.1.1]

證明公式[解]方法一:公式法[例1.1.1]

證明公式方法二:真值表法

(將變量的各種取值代入等式兩邊,進(jìn)行計(jì)算并填入表中)

ABC0000010100111001011101110001000100011111000111110011111101011111相等[解]四、邏輯代數(shù)的一些特殊定理同一律A+A=AA·

A=A還原律[例1.1.2]

證明:德摩根定理AB0001101100011110110010101110011110001000相等相等德摩根定理

將Y式中“.”換成“+”,“+”換成“.”

“0”換成“1”,“1”換成“0”

原變量換成反變量,反變量換成原變量五、關(guān)于等式的兩個(gè)重要規(guī)則1.代入規(guī)則:等式中某一變量都代之以一個(gè)邏輯函數(shù),則等式仍然成立。例如,已知(用函數(shù)

A+C代替

A)則2.反演規(guī)則:不屬于單個(gè)變量上的反號(hào)應(yīng)保留不變運(yùn)算順序:括號(hào)乘加注意:例如:已知反演規(guī)則的應(yīng)用:求邏輯函數(shù)的反函數(shù)則

將Y式中“.”換成“+”,“+”換成“.”

“0”換成“1”,“1”換成“0”

原變量換成反變量,反變量換成原變量已知?jiǎng)t運(yùn)算順序:括號(hào)與或不屬于單個(gè)變量上的反號(hào)應(yīng)保留不變六、若干常用公式推廣公式(4)證明:推論公式(5)證明:即=A⊙B同理可證A⊙B一、標(biāo)準(zhǔn)與或表達(dá)式1.2邏輯函數(shù)的化簡(jiǎn)方法1.2.1邏輯函數(shù)的標(biāo)準(zhǔn)與或式和最簡(jiǎn)式標(biāo)準(zhǔn)與或式標(biāo)準(zhǔn)與或式就是最小項(xiàng)之和的形式最小項(xiàng)最簡(jiǎn)式[例1.2.1]1.最小項(xiàng)的概念:

包括所有變量的乘積項(xiàng),每個(gè)變量均以原變量或反變量的形式出現(xiàn)一次。(

2變量共有

4個(gè)最小項(xiàng))(

4變量共有

16個(gè)最小項(xiàng))(

n變量共有

2n

個(gè)最小項(xiàng))……(

3變量共有

8個(gè)最小項(xiàng))對(duì)應(yīng)規(guī)律:1

原變量

0

反變量2.最小項(xiàng)的性質(zhì):0000000100000010000001000000100000010000001000000100000010000000000001010011100101110111ABC(1)任一最小項(xiàng),只有一組對(duì)應(yīng)變量取值使其值為

1

;ABC

001ABC

101(2)任意兩個(gè)最小項(xiàng)的乘積為

0

;(3)全體最小項(xiàng)之和為

1

。變量A、B、C全部最小項(xiàng)的真值表3.最小項(xiàng)是組成邏輯函數(shù)的基本單元

任何邏輯函數(shù)都是由其變量的若干個(gè)最小項(xiàng)構(gòu)成,都可以表示成為最小項(xiàng)之和的形式。[例1.2.2]

寫出下列函數(shù)的標(biāo)準(zhǔn)與或式:[解]相同最小項(xiàng)合并

標(biāo)準(zhǔn)與或表達(dá)式是唯一的,一個(gè)函數(shù)只有一個(gè)最小項(xiàng)之和的表達(dá)式。函數(shù)的標(biāo)準(zhǔn)與或式也可以由其真值表直接寫出:例如,已知Y=A+BC

的真值表ABC00000101001110010111011100011111函數(shù)的標(biāo)準(zhǔn)與或式4.最小項(xiàng)的編號(hào):

把與最小項(xiàng)對(duì)應(yīng)的變量取值當(dāng)成二進(jìn)制數(shù),與之相應(yīng)的十進(jìn)制數(shù),就是該最小項(xiàng)的編號(hào),用mi表示。對(duì)應(yīng)規(guī)律:原變量

1

反變量

000000101001110010111011101234567m0m1m2m3m4m5m6m7[例]

寫出下列函數(shù)的標(biāo)準(zhǔn)與或式:m7m6m5m4m1m0m8m0與前面m0相重二、邏輯函數(shù)的最簡(jiǎn)表達(dá)式1.最簡(jiǎn)與或式:乘積項(xiàng)的個(gè)數(shù)最少,每個(gè)乘積項(xiàng)中相乘的變量個(gè)數(shù)也最少的與或表達(dá)式。例如:2.最簡(jiǎn)與非–

與非式:非號(hào)最少,每個(gè)非號(hào)下面相乘的變量個(gè)數(shù)也最少的與非-與非式。[例1.2.3]

寫出下列函數(shù)的最簡(jiǎn)與非-與非式:[解]3.最簡(jiǎn)或與式:括號(hào)個(gè)數(shù)最少,每個(gè)括號(hào)中相加的變量的個(gè)數(shù)也最少的或與式。[例1.2.4]

寫出下列函數(shù)的最簡(jiǎn)或與式:[解]4.最簡(jiǎn)或非–

或非式:非號(hào)個(gè)數(shù)最少,非號(hào)下面相加的變量個(gè)數(shù)也最少的或非–或非式。[例1.2.5]

寫出下列函數(shù)的最簡(jiǎn)或非–或非式:[解]5.最簡(jiǎn)與或非式:非號(hào)下面相加的乘積項(xiàng)的個(gè)數(shù)最少,每個(gè)乘積項(xiàng)中相乘的變量個(gè)數(shù)也最少的與或非式。[例1.2.6]

寫出下列函數(shù)的最簡(jiǎn)與或非式:[解]結(jié)論:只要得到函數(shù)的最簡(jiǎn)與或式,再用摩根定理進(jìn)行適當(dāng)變換,就可以獲得其它幾種類型的最簡(jiǎn)式。而最簡(jiǎn)與或式一般需要經(jīng)過(guò)化簡(jiǎn)才能求得。已知1.2.2邏輯函數(shù)的公式化簡(jiǎn)法一、并項(xiàng)法:[例1.2.7][例](與或式最簡(jiǎn)與或式)公式定理二、吸收法:[例1.2.8][例][例]三、消去法:[例1.2.9][例][例]四、配項(xiàng)消項(xiàng)法:或或[例1.2.10][例1.2.11]冗余項(xiàng)冗余項(xiàng)綜合練習(xí):1.2.3邏輯函數(shù)的圖形化簡(jiǎn)法一、邏輯變量的卡諾圖(Karnaughmaps)卡諾圖:1.二變量的卡諾圖最小項(xiàng)方格圖(按循環(huán)碼排列)(四個(gè)最小項(xiàng))ABAB0101AB01012.變量卡諾圖的畫法三變量的卡諾圖:八個(gè)最小項(xiàng)ABC01000110111110卡諾圖的實(shí)質(zhì):邏輯相鄰幾何相鄰邏輯不相鄰邏輯相鄰邏輯相鄰緊挨著行或列的兩頭對(duì)折起來(lái)位置重合邏輯相鄰:兩個(gè)最小項(xiàng)只有一個(gè)變量不同邏輯相鄰的兩個(gè)最小項(xiàng)可以合并成一項(xiàng),并消去一個(gè)因子。如:m0m1m2m3m4m5m6m7五變量的卡諾圖:四變量的卡諾圖:十六個(gè)最小項(xiàng)ABCD0001111000011110當(dāng)變量個(gè)數(shù)超過(guò)六個(gè)以上時(shí),無(wú)法使用圖形法進(jìn)行化簡(jiǎn)。ABCDE00011110000001011010110111101100以此軸為對(duì)稱軸(對(duì)折后位置重合)m0m1m2m3m4m5m6m7m12m13m14m15m8m9m10m11m0m1m2m3m8m9m10m11m24m25m26m27m16m17m18m19m6m7m4m5m14m15m12m13m30m31m28m29m22m23m20m21幾何相鄰幾何相鄰幾何相鄰三十二個(gè)最小項(xiàng)3.變量卡諾圖的特點(diǎn):用幾何相鄰表示邏輯相鄰(1)幾何相鄰:相接—

緊挨著相對(duì)—

行或列的兩頭相重—

對(duì)折起來(lái)位置重合(2)邏輯相鄰:例如兩個(gè)最小項(xiàng)只有一個(gè)變量不同化簡(jiǎn)方法:卡諾圖的缺點(diǎn):函數(shù)的變量個(gè)數(shù)不宜超過(guò)6個(gè)。邏輯相鄰的兩個(gè)最小項(xiàng)可以合并成一項(xiàng),并消去一個(gè)因子。4.變量卡諾圖中最小項(xiàng)合并的規(guī)律:(1)兩個(gè)相鄰最小項(xiàng)合并可以消去一個(gè)因子ABC01000111100432ABCD00011110000111101946(2)四個(gè)相鄰最小項(xiàng)合并可以消去兩個(gè)因子ABCD000111100001111004128321011ABCD0001111000011110571315BD02810(3)八個(gè)相鄰最小項(xiàng)合并可以消去三個(gè)因子ABCD000111100001111004128321011ABCD0001111000011110571315B02810151394612142n個(gè)相鄰最小項(xiàng)合并可以消去n個(gè)因子??偨Y(jié):二、邏輯函數(shù)的卡諾圖①根據(jù)函數(shù)的變量個(gè)數(shù)畫出相應(yīng)的卡諾圖。②在函數(shù)的每一個(gè)乘積項(xiàng)所包含的最小項(xiàng)處都填1,其余位置填0或不填。1.邏輯函數(shù)卡諾圖的畫法2.邏輯函數(shù)卡諾圖的特點(diǎn)用幾何位置的相鄰,形象地表達(dá)了構(gòu)成函數(shù)的各個(gè)最小項(xiàng)在邏輯上的相鄰性。優(yōu)點(diǎn):缺點(diǎn):當(dāng)函數(shù)變量多于六個(gè)時(shí),畫圖十分麻煩,其優(yōu)點(diǎn)不復(fù)存在,無(wú)實(shí)用價(jià)值。[例1.2.12]畫出函數(shù)的卡諾圖3.邏輯函數(shù)卡諾圖畫法舉例[解]①根據(jù)變量個(gè)數(shù)畫出函數(shù)的卡諾圖ABCD0001111000011110②根據(jù)函數(shù)的每個(gè)乘積項(xiàng)確定函數(shù)的最小項(xiàng),并在相應(yīng)的位置上填

1。m0、m1、m2、m31111m12、m13、m14、m151111m0、m4、m8、m1211[例1.2.13]畫出函數(shù)的卡諾圖[解]①根據(jù)變量個(gè)數(shù)畫出函數(shù)的卡諾圖ABCD0001111000011110②根據(jù)函數(shù)的每個(gè)乘積項(xiàng)確定函數(shù)的最小項(xiàng),并在相應(yīng)的位置上填

1。m4、m51111m9、m11三、用卡諾圖化簡(jiǎn)邏輯函數(shù)化簡(jiǎn)步驟:①畫出函數(shù)的卡諾圖②合并最小項(xiàng):畫包圍圈③寫出最簡(jiǎn)與或表達(dá)式[例1.2.14]ABCD000111100001111011111111[解]ABCD000111100001111011111111畫包圍圈的原則:①先圈孤立項(xiàng),再圈僅有一種合并方式的最小項(xiàng)。②圈越大越好,但圈的個(gè)數(shù)越少越好。③最小項(xiàng)可重復(fù)被圈,但每個(gè)圈中至少有一個(gè)新的最小項(xiàng)。④必需把組成函數(shù)的全部最小項(xiàng)圈完,并做認(rèn)真比較、檢查才能寫出最簡(jiǎn)與或式。不正確的畫圈[例][解]①畫函數(shù)的卡諾圖ABCD000111100001111011111111②合并最小項(xiàng):畫包圍圈③寫出最簡(jiǎn)與或表達(dá)式多余的圈注意:先圈孤立項(xiàng)利用圖形法化簡(jiǎn)函數(shù)利用圖形法化簡(jiǎn)函數(shù)[例][解]①畫函數(shù)的卡諾圖ABCD00011110000111101111111111②合并最小項(xiàng):畫包圍圈③寫出最簡(jiǎn)與或表達(dá)式[例]用圖形法求反函數(shù)的最簡(jiǎn)與或表達(dá)式[解]①畫函數(shù)的卡諾圖ABC010001111011110000②合并函數(shù)值為0

的最小項(xiàng)③寫出Y的反函數(shù)的最簡(jiǎn)與或表達(dá)式1.2.4具有約束的邏輯函數(shù)的化簡(jiǎn)一、約束的概念和約束條件(1)約束:輸入變量取值所受的限制例如,邏輯變量A、B、C,分別表示電梯的

升、降、停命令。A=1

表示升,B=1

表示降,C=1

表示停。ABC的可能取值(2)約束項(xiàng):不會(huì)出現(xiàn)的變量取值所對(duì)應(yīng)的最小項(xiàng)。不可能取值0010101000000111011101111.約束、約束項(xiàng)、約束條件(3)約束條件:②在邏輯表達(dá)式中,用等于0的條件等式表示。000011101110111由約束項(xiàng)相加所構(gòu)成的值為0的邏輯表達(dá)式。約束項(xiàng):約束條件:或2.約束條件的表示方法①在真值表和卡諾圖上用叉號(hào)(╳)表示。例如,上例中

ABC的不可能取值為二、具有約束的邏輯函數(shù)的化簡(jiǎn)

化簡(jiǎn)具有約束的邏輯函數(shù)時(shí),如果充分利用約束條件,可以使表達(dá)式大大化簡(jiǎn)。1.約束條件在化簡(jiǎn)中的應(yīng)用(1)在公式法中的應(yīng)用:

可以根據(jù)化簡(jiǎn)的需要加上或去掉約束項(xiàng)。[例]化簡(jiǎn)函數(shù)Y=ABC,約束條件[解]問(wèn)題:當(dāng)函數(shù)較復(fù)雜時(shí),公式法不易判斷出哪些約束項(xiàng)應(yīng)該加上,哪些應(yīng)該去掉。(2)在圖形法中的應(yīng)用:

根據(jù)卡諾圖的特點(diǎn)(邏輯相鄰,幾何也相鄰),在畫包圍圈時(shí)包含或去掉約束項(xiàng),使函數(shù)最簡(jiǎn)。[例]化簡(jiǎn)函數(shù)Y=ABC,約束條件[解]①畫出三變量函數(shù)的卡諾圖ABC0100011110②先填最小項(xiàng),再填約束項(xiàng),其余填0或不填。1000③利用約束項(xiàng)合并最小項(xiàng),使包圍圈越大越好,但圈的個(gè)數(shù)越少越好。④寫出最簡(jiǎn)與或式2.變量互相排斥的邏輯函數(shù)的化簡(jiǎn)互相排斥的變量:在一組變量中,只要有一個(gè)變量取值為1,則其他變量的值就一定是0。ABC01000111101011①畫出該函數(shù)的卡諾圖②畫包圍圈,合并最小項(xiàng)③寫出最簡(jiǎn)與或表達(dá)式[例1.2.16]

函數(shù)Y

的變量A、B、C是互相排斥的,試用圖形法求出Y

的最簡(jiǎn)與或表達(dá)式。[解]根據(jù)題意可知約束條件[例]化簡(jiǎn)邏輯函數(shù)化簡(jiǎn)步驟:①畫函數(shù)的卡諾圖,順序?yàn)椋篈BCD0001111000011110先填1

0111000000②合并最小項(xiàng),畫圈時(shí)╳

既可以當(dāng)1,又可以當(dāng)0③寫出最簡(jiǎn)與或表達(dá)式[解]╳三、化簡(jiǎn)舉例[例]

化簡(jiǎn)邏輯函數(shù)約束條件[解]①畫函數(shù)的卡諾圖ABCD00011110000111101111②合并最小項(xiàng)③寫出最簡(jiǎn)與或表達(dá)式合并時(shí),究竟把╳

作為

1還是作為

0應(yīng)以得到的包圍圈最大且個(gè)數(shù)最少為原則。包圍圈內(nèi)都是約束項(xiàng)無(wú)意義(如圖所示)。注意:1.3邏輯函數(shù)的表示方法及其相互之間的轉(zhuǎn)換1.3.1幾種表示邏輯函數(shù)的方法一、真值表將變量的各種取值與相應(yīng)的函數(shù)值,以表格的形式一一列舉出來(lái)。1.列寫方法ABCY00000101001110010111011100010111例如函數(shù)2.主要特點(diǎn)優(yōu)點(diǎn):直觀明了,便于將實(shí)際邏輯問(wèn)題抽象成數(shù)學(xué)表達(dá)式。缺點(diǎn):難以用公式和定理進(jìn)行運(yùn)算和變換;變量較多時(shí),列函數(shù)真值表較繁瑣。三、邏輯表達(dá)式優(yōu)點(diǎn):書寫簡(jiǎn)潔方便,易用公式和定理進(jìn)行運(yùn)算、變換。缺點(diǎn):邏輯函數(shù)較復(fù)雜時(shí),難以直接從變量取值看出函數(shù)的值。二、卡諾圖ABC010001111011110000優(yōu)點(diǎn):便于求出邏輯函數(shù)的最簡(jiǎn)與或表達(dá)式。缺點(diǎn):只適于表示和化簡(jiǎn)變量個(gè)數(shù)比較少的邏輯函數(shù),也不便于進(jìn)行運(yùn)算和變換。真值表的一種方塊圖表達(dá)形式,要求變量取值必須按照循環(huán)碼的順序排列。用與、或、非等運(yùn)算表示函數(shù)中各個(gè)變量之間邏輯關(guān)系的代數(shù)式子。例如四、邏輯圖ABYC&&優(yōu)點(diǎn):最接近實(shí)際電路。缺點(diǎn):不能進(jìn)行運(yùn)算和變換,所表示的邏輯關(guān)系不直觀。&≥1用基本和常用的邏輯符號(hào)表示函數(shù)表達(dá)式中各個(gè)變量之間的運(yùn)算關(guān)系。[例1.3.1]畫出函數(shù)的邏輯圖五、波形圖輸入變量和對(duì)應(yīng)的輸出變量隨時(shí)間變化的波形。ABY優(yōu)點(diǎn):形象直觀地表示了變量取值與函數(shù)值在時(shí)間上的對(duì)應(yīng)關(guān)系。缺點(diǎn):難以用公式和定理進(jìn)行運(yùn)算和變換,當(dāng)變量個(gè)數(shù)增多時(shí),畫圖較麻煩。1.3.2幾種表示方法之間的轉(zhuǎn)換一、真值表函數(shù)式邏輯圖[例]

設(shè)計(jì)一個(gè)舉重裁判電路。在一名主裁判(A)和兩名副裁判(B、C)中,必須有兩人以上(必有主裁判)認(rèn)定運(yùn)動(dòng)員的動(dòng)作合格,試舉才算成功。①真值表函數(shù)式

將真值表中使邏輯函數(shù)Y=1的輸入變量取值組合所對(duì)應(yīng)的最小項(xiàng)相加,即得Y的邏輯函數(shù)式。ABCY00000101001110010111011100000111函數(shù)式卡諾圖化簡(jiǎn)ABC010001111011010000②函數(shù)式邏輯圖ABY&C&≥1真值表函數(shù)式二、邏輯圖0110ABY00011011BA&&&&

1.4EDA技術(shù)的基礎(chǔ)知識(shí)1.4.1VHDL語(yǔ)言基礎(chǔ)一、VHDL的主要構(gòu)件基本設(shè)計(jì)單元VHDL—

超高速硬件描述語(yǔ)言(VeryHighSpeedHardwareDescriptionLanguage)實(shí)體(Entity)結(jié)構(gòu)體(Architecture)程序包(Package)庫(kù)(Library)配置(Configration

)--描述設(shè)計(jì)單元的外部接口信號(hào)--描述設(shè)計(jì)單元內(nèi)部結(jié)構(gòu)和行為--存放各設(shè)計(jì)模塊共享的數(shù)據(jù)類型、常數(shù)、子程序等--專門存放程序包--指定實(shí)體所要配置的結(jié)構(gòu)體1.實(shí)體功能:實(shí)現(xiàn)設(shè)計(jì)單元的端口說(shuō)明。語(yǔ)法結(jié)構(gòu):ENTITY實(shí)體名ISPORT(端口名{,端口名}:端口模式數(shù)據(jù)類型;端口名{,端口名}:端口模式數(shù)據(jù)類型);END實(shí)體名;用英文字母賦予每個(gè)引腳的名稱定義引腳上數(shù)據(jù)傳輸?shù)姆较虺S枚丝谀J椒较蛘f(shuō)明IN輸入到實(shí)體OUT從實(shí)體輸出INOUT雙向數(shù)據(jù)傳輸BUHHER從實(shí)體輸出(但可反饋到實(shí)體內(nèi)部)[例1.4.1]2輸入與門的實(shí)體說(shuō)明。ENTITYand2ISPORT(a,b:INSTD_LOGIC;

y:OUTSTD_LOGIC);ENDand2;設(shè)計(jì)單元端口結(jié)果:And2aby2.結(jié)構(gòu)體功能:描述設(shè)計(jì)單元內(nèi)部結(jié)構(gòu)和行為,建立輸入輸出關(guān)系。語(yǔ)法結(jié)構(gòu):ARCHITECTURE結(jié)構(gòu)體名OF實(shí)體名IS[結(jié)構(gòu)體說(shuō)明語(yǔ)句]BEGIN[功能描述語(yǔ)句]END結(jié)構(gòu)體名;描述結(jié)構(gòu)體內(nèi)部“功能描述語(yǔ)句”中要用到的的內(nèi)部信號(hào)、常數(shù)、數(shù)據(jù)類型、函數(shù)。(無(wú)時(shí)可省略)用并行語(yǔ)句形式描述設(shè)計(jì)單元功能并行語(yǔ)句類型進(jìn)程語(yǔ)句(PROCESS)塊描述語(yǔ)句(BLOCK)信號(hào)賦值語(yǔ)句子程序調(diào)用語(yǔ)句元件例化語(yǔ)句ARCHITECTURE結(jié)構(gòu)體名OF實(shí)體名IS[結(jié)構(gòu)體說(shuō)明語(yǔ)句]BEGIN[功能描述語(yǔ)句]END結(jié)構(gòu)體名;[例1.4.2]2輸入與門的結(jié)構(gòu)體描述。ARCHITECTUREoneOFand2ISBEGINy<=aandbENDARCHITECTUREone

;為并行語(yǔ)句,執(zhí)行順序與其書寫順序無(wú)關(guān),在實(shí)際電路中所有并行語(yǔ)句功能同時(shí)實(shí)現(xiàn)。3.庫(kù)、程序包和配置(1)庫(kù)功能:存儲(chǔ)和放置設(shè)計(jì)單元(元件、程序包等)。VHDL庫(kù)IEEE庫(kù)STD庫(kù)ASIC庫(kù)WORK庫(kù)用戶自定義庫(kù)常用資源庫(kù)含IEEE認(rèn)可和某些公司提供的如:STD_LOGIC_1164程序包STD_LOGIC_ARITH算術(shù)運(yùn)算包VHDL標(biāo)準(zhǔn)庫(kù)存放:STANDARD的程序集合集合定義了多種常用的數(shù)據(jù)類型資源庫(kù)存放:和各種邏輯門一一對(duì)應(yīng)的實(shí)體當(dāng)前作業(yè)庫(kù)存放:當(dāng)前設(shè)計(jì)項(xiàng)目生成的全部文件目錄資源庫(kù)存放:用戶自己創(chuàng)建定義的非標(biāo)準(zhǔn)程序包集合和實(shí)體。庫(kù)說(shuō)明語(yǔ)句格式:LIBRARY庫(kù)名;如:LIBRARYIEEE;(2)程序包存放各設(shè)計(jì)模塊共享的數(shù)據(jù)類型、常數(shù)、子程序等。功能:語(yǔ)法格式:USELIBRARY庫(kù)名.程序包名.項(xiàng)目名;[例]對(duì)IEEE庫(kù)的1164程序包中所有項(xiàng)目的說(shuō)明。USEIEEE.STD_LOGIC_1164.ALL;(3)配置CONFIGURATION配置名OF實(shí)體名ISFOR被選結(jié)構(gòu)體名

ENDFOR;END配置名;--為實(shí)體指定所要配置的結(jié)構(gòu)體功能:語(yǔ)法格式:[例1.4.3]配置語(yǔ)句舉例ENTITYequ2ISPORT(a,b:INSTD_LOGIC_VECTOR(1DOWNTO0);

equ:OUTSTD_LOGIC);ENDequ2;ARCHITECTUREequationOFequ2IS--結(jié)構(gòu)體一

……ENDequation;ARCHITECTUREcon_behaveOFequ2IS--結(jié)構(gòu)體二

……ENDcon_behave

;ARCHITECTUREseq_behaveOFequ2IS--結(jié)構(gòu)體三

……ENDseq_behave

;

實(shí)體equ2擁有三個(gè)結(jié)構(gòu)體:equation、con_behave

、

seq_behave,可以用配置語(yǔ)句選擇與實(shí)體對(duì)應(yīng)的結(jié)構(gòu)體。如選用結(jié)構(gòu)體con_behave,可用以下語(yǔ)句實(shí)現(xiàn):CONFIGURATIONaequbOFequ2ISFORcon_behaveENDFOR;

ENDCONFIGURATION;二、VHDL的數(shù)據(jù)對(duì)象和數(shù)據(jù)類型1.VHDL數(shù)據(jù)對(duì)象VHDL數(shù)據(jù)對(duì)象信號(hào)變量常量(1)常量常量:不變的量,定義時(shí)進(jìn)行賦值,在整個(gè)程序中保持不變。語(yǔ)法格式:CONSTANT常量名:數(shù)據(jù)類型:=表達(dá)式;[例1.4.4]常量定義舉例CONSTANTV:INTEGER:=8;(2)變量語(yǔ)法格式:VARIABLE變量名:數(shù)據(jù)類型[:=表達(dá)式];VARIABLEy:INTEGER;[例1.4.5]變量定義舉例(3)信號(hào)信號(hào):定義電路中的連線和元件的端口的數(shù)據(jù)對(duì)象。語(yǔ)法格式:SIGNAL信號(hào)名:數(shù)據(jù)類型;SIGNALA:INTEGER;[例1.4.6]信號(hào)定義舉例2.VHDL數(shù)據(jù)類型(1)整數(shù)數(shù)據(jù)類型(INTEGER)

取值范圍:-2147483547~2147483546(2)實(shí)數(shù)數(shù)據(jù)類型(REAL)

取值范圍:-1.0E38~1.0E38(3)位數(shù)據(jù)類型(BIT)

屬于枚舉數(shù)據(jù)類型,取值為‘1’和‘0’。(4)位矢量數(shù)據(jù)類型(BIT_VECTOR)

用雙引號(hào)括起來(lái)的一組位數(shù)據(jù),如“10011”,通常用來(lái)表示數(shù)據(jù)總線。(5)布爾數(shù)據(jù)類型(BOOLEAN)(6)字符數(shù)據(jù)類型(CHARACTER)ASCII碼的128個(gè)字符,書寫時(shí)用單引號(hào),區(qū)分大小寫,如‘a(chǎn)’、‘A’等。(7)字符串?dāng)?shù)據(jù)類型(STRING)

雙引號(hào)括起來(lái)的一串字符,如“abgh”。

屬于枚舉數(shù)據(jù)類型,取值為‘TRUE’和‘FALSE’。常用來(lái)表示關(guān)系運(yùn)算和關(guān)系運(yùn)算結(jié)果。(8)STD_LOGIC數(shù)據(jù)類型

屬于枚舉數(shù)據(jù)類型,取值有以下九種:

‘U’

初始值‘X’

不定

‘0’0‘1’1

‘Z’

高阻‘W’

弱信號(hào)不定

‘L’

弱信號(hào)0‘H’

弱信號(hào)1

‘-’不可能情況(9)STD_LOGIC_VECTOR數(shù)據(jù)類型

用雙引號(hào)括起來(lái)的一組STD_LOGIC數(shù)據(jù),如“101011”,通常用來(lái)表示數(shù)據(jù)總線。注意:使用STD_LOGIC、STD_LOGIC_VECTOR

數(shù)據(jù)類型時(shí)必須在庫(kù)、程序包說(shuō)明區(qū)進(jìn)行說(shuō)明。二、VHDL的操作符和表達(dá)式(1)算術(shù)操作符和算術(shù)表達(dá)式操作符說(shuō)明+

加-

減*

乘/

除**

乘方mod

求模rem

求余abs

絕對(duì)值A(chǔ)+B-CX*Y/Z[例1.4.8]算術(shù)表達(dá)式舉例(2)邏輯操作符和邏輯表達(dá)式操作符說(shuō)明and

與or

或nand

與非nor

或非xor

異或xnor

同或not

邏輯非AANDBNOT

Z[例1.4.9]邏輯表達(dá)式舉例(3)關(guān)系操作符和關(guān)系表達(dá)式操作符說(shuō)明=

等于/=

不等于<

小于<=

小于等于>

大于>=

大于等于Y>=GA=B[例1.4.10]關(guān)系表達(dá)式舉例(4)并置操作符和并置表達(dá)式

并置操作符“&”主要用來(lái)將操作數(shù)或數(shù)組組合起來(lái),以形成新的操作數(shù)。例“10”&“11”結(jié)果為“1011”。二、VHDL基本語(yǔ)句VHDL基本語(yǔ)句順序語(yǔ)句并行語(yǔ)句順序信號(hào)賦值語(yǔ)句IF語(yǔ)句CASE語(yǔ)句LOOP語(yǔ)句EXITNEXT塊語(yǔ)句進(jìn)程語(yǔ)句并行信號(hào)賦值語(yǔ)句并行過(guò)程調(diào)用語(yǔ)句變量賦值語(yǔ)句子程序和子程序調(diào)用語(yǔ)句NULL元件聲明例化語(yǔ)句生成語(yǔ)句1.順序描述語(yǔ)句(1)順序信號(hào)賦值語(yǔ)句(2)變量賦值語(yǔ)句目標(biāo)信號(hào)<=表達(dá)式;目的變量:=表達(dá)式;Y<=AANDB;[例1.4.11]順序信號(hào)賦值語(yǔ)句舉例Y:=A+B;[例1.4.12]變量賦值語(yǔ)句舉例格式:格式:執(zhí)行順序與書寫順序一致,只用于進(jìn)程和子程序中。格式二:IF條件表達(dá)式THEN

順序語(yǔ)句;ELSE

順序語(yǔ)句;ENDIF;(3)IF語(yǔ)句(條件控制語(yǔ)句)格式一:IF條件表達(dá)式THEN

順序語(yǔ)句;ENDIF;IFa=‘1’THENc<=b;ENDIF;[例]格式三:IF條件表達(dá)式THEN

順序語(yǔ)句;ELSIF條件表達(dá)式THEN

順序語(yǔ)句;……ELSE

順序語(yǔ)句;ENDIF;語(yǔ)法格式:CASE表達(dá)式ISWHEN選擇值=>順序語(yǔ)句;WHEN選擇值=>順序語(yǔ)句;…[WHENOTHERS=>順序語(yǔ)句;]ENDCASE;(3)CASE語(yǔ)句“選擇值”的取值應(yīng)“選擇唯一,覆蓋全集”?!斑x擇值”的具體表示形式有以下四種:WHEN值=>順序語(yǔ)句;WHEN值|值|…|值=>順序語(yǔ)句;WHEN值TO值=>順序語(yǔ)句;WHENOTHERS=>順序語(yǔ)句;SIGNALs:STD_LOGIC_VECTOR(1DOWNTO0);…CASEsISWHEN“00”=>z<=a;WHEN“01”=>z<=b;WHEN“10”=>z<=c;WHEN“11”=>z<=d;WHENOTHERS=>z<=‘X’;ENDCASE;[例1.4.13]用CASE語(yǔ)句設(shè)計(jì)4選1數(shù)據(jù)選擇器的程序片段無(wú)條件LOOP語(yǔ)句語(yǔ)法格式:[LOOP標(biāo)號(hào):]LOOP

順序語(yǔ)句;ENDLOOP[LOOP標(biāo)號(hào)];(5)LOOP語(yǔ)句FOR…LOOP語(yǔ)句語(yǔ)法格式:[LOOP標(biāo)號(hào):]FOR循環(huán)變量IN循環(huán)次數(shù)范圍LOOP

順序語(yǔ)句;ENDLOOP[LOOP標(biāo)號(hào)];臨時(shí)變量,不必事先定義。規(guī)定順序語(yǔ)句的執(zhí)行次數(shù),從循環(huán)變量初值開始每執(zhí)行一次遞增1,直至最大值。WHILE…LOOP語(yǔ)句語(yǔ)法格式:[LOOP標(biāo)號(hào):]WHILE條件表達(dá)式LOOP

順序語(yǔ)句;ENDLOOP[LOOP標(biāo)號(hào)];需引入其它控制語(yǔ)句才能退出循環(huán),如exit、next等。abcd:WHILE(i<10)LOOPsun:=i+sum;i=i+1;ENDLOOPabcd;[例1.4.14]WHILE…LOOP應(yīng)用舉例(6)NEXT語(yǔ)句NEXT[WHEN條件];loop2:LOOPb:=b+1;NEXTWHENb<10;…ENDLOOPloop2;[例1.4.15]NEXT語(yǔ)句舉例格式:滿足條件時(shí)中止當(dāng)前循環(huán),開始下一次循環(huán)。(7)EXIT語(yǔ)句EXIT[標(biāo)號(hào)][WHEN條件];FORiIN1DOWNTO0LOOPIF(a(i)=‘1’ANDb(i)=‘0’)THENa_less_than_b<=false;EXIT;ELSIF(a(i)=‘0’ANDb(i)=‘1’)THENa_less_than_b<=true;EXIT;ELSENULL;ENDIF;ENDLOOP;[例1.4.16]EXIT語(yǔ)句在比較器中的應(yīng)用格式:滿足條件時(shí)提前退出循環(huán)。函數(shù)定義語(yǔ)句的語(yǔ)法格式:FOUNCTION<函數(shù)名>(參數(shù)表)RETURN<數(shù)據(jù)類型>ISBEGIN

順序語(yǔ)句;RETURN[返回變量名];END<函數(shù)名>;(3)子程序和子程序調(diào)用語(yǔ)句VHDL子程序過(guò)程(PROCEDURE)函數(shù)(FOUNCTION)函數(shù)調(diào)用語(yǔ)句的語(yǔ)法格式:函數(shù)名(實(shí)際參數(shù)表);FOUNCTIONmin(x,y:INTEGER)RETURNINTEGERISBEGINIFx<yTHENRETURNx;ELSERETURNy;ENDIF;ENDmin;[例1.4.17]比較器函數(shù)形式的程序設(shè)計(jì)實(shí)例

函數(shù)的參數(shù)只能是方式為IN的輸入信號(hào),函數(shù)只能有一個(gè)返回值。

過(guò)程的參數(shù)可以為IN、OUT和INOUT方式,在進(jìn)行參數(shù)說(shuō)明時(shí)除了說(shuō)明其名稱、數(shù)據(jù)類型,還要說(shuō)明其端口方式。過(guò)程定義語(yǔ)句的語(yǔ)法格式:PROCEDURE<過(guò)程名>(參數(shù)表)ISBEGIN

順序語(yǔ)句;END<過(guò)程名>;過(guò)程調(diào)用語(yǔ)句的語(yǔ)法格式:過(guò)程名(實(shí)際參數(shù)表);PROCEDUREswap(data:INOUTdata_array;low,high:ininteger)ISVARIABLEtmp:data_element;BEGINIF(data(low)>data(high))THENtmp:=data(low);data(low):=data(high);data(high):=tmp;ENDIF;ENDswap;[例1.4.18]比較器過(guò)程形式的程序設(shè)計(jì)實(shí)例[例1.4.19]用過(guò)程調(diào)用語(yǔ)句調(diào)用過(guò)程swapswap(datain,1,2);1.并行語(yǔ)句[塊標(biāo)號(hào):]BLOCK[(塊保護(hù)表達(dá)式)][塊說(shuō)明語(yǔ)句;]BEGIN并行語(yǔ)句;ENDBLOCK[塊標(biāo)號(hào)];(1)BLOCK語(yǔ)句

當(dāng)滿足條件時(shí),多個(gè)語(yǔ)句同時(shí)被執(zhí)行,與書寫順序無(wú)關(guān)。

功能:將一大段并行語(yǔ)句劃分為若干子模塊,提高了程序的可讀性。BLOCK語(yǔ)句的語(yǔ)法格式:塊保護(hù)表達(dá)式是布爾表達(dá)式,當(dāng)其為真時(shí),該塊中的語(yǔ)句被執(zhí)行。ARCHITECTUREconnectOFmuxISSIGNALtmp1,tmp2,tmp3:BIT;BEGINBLOCKBEGINtmp1<=d0ANDnotsel;tmp2<=d1OR(notsel);tmp3<=tmp1ORtmp2;q<=tmp3;ENDBLOCK;ENDconnect;[例1.4.20]用BLOCK語(yǔ)句設(shè)計(jì)2選1數(shù)據(jù)選擇器。(2)進(jìn)程語(yǔ)句(PROCESS)[進(jìn)程名:]PROCESS(敏感信號(hào)表)[說(shuō)明語(yǔ)句;]BEGIN順序

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論