《FPGA設(shè)計(jì)及應(yīng)用》課件第5章_第1頁
《FPGA設(shè)計(jì)及應(yīng)用》課件第5章_第2頁
《FPGA設(shè)計(jì)及應(yīng)用》課件第5章_第3頁
《FPGA設(shè)計(jì)及應(yīng)用》課件第5章_第4頁
《FPGA設(shè)計(jì)及應(yīng)用》課件第5章_第5頁
已閱讀5頁,還剩180頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第5章QuartusⅡ中的宏模塊5.1Megafunction庫5.2Maxplus2庫5.3Primitives庫5.1Megafunction庫

5.1.1算術(shù)運(yùn)算宏模塊庫

算術(shù)運(yùn)算宏功能模塊庫包含了加減乘除運(yùn)算、絕對值運(yùn)算和數(shù)值比較等基本算術(shù)運(yùn)算功能的宏模塊,下表詳細(xì)列出了該庫所有宏功能模塊的名稱和功能(其中以alt開頭的宏功能模塊是Altera特定的)。

1.加法器和減法器加法器是數(shù)字系統(tǒng)中最基本的運(yùn)算電路,其它運(yùn)算電路如減法器、乘法器和除法器等都可以利用加法器實(shí)現(xiàn)。Altera推薦設(shè)計(jì)者使用“l(fā)pm_add_sub”宏模塊構(gòu)造加法器和減法器,以取代其它類型的加法器和減法器宏模塊?!發(fā)pm_add_sub””宏模塊既可以設(shè)置為加法器又可以設(shè)置為減法器,或者根據(jù)需要控制為加法器或減法器,支持?jǐn)?shù)據(jù)寬度為1~256bit,支持有符號和無符號數(shù)據(jù)格式,具有進(jìn)位、借位和溢出標(biāo)志。下面利用“l(fā)pm_add_sub”宏模塊構(gòu)造一個(gè)3位二進(jìn)制加法器/減法器,“l(fā)pm_add_sub”宏模塊的參數(shù)設(shè)置如表5.2所示。表5.2“l(fā)pm_add_sub”宏模塊的參數(shù)設(shè)置

圖5.1給出了加法器的電路及其參數(shù)設(shè)置。整個(gè)加法器電路是非常簡單的,只要將輸入數(shù)據(jù)線和輸出數(shù)據(jù)線與“l(fā)pm_add_sub”模塊的輸入/輸出端口正確連接,就可以完成3位加法器功能。圖5.2給出了仿真波形。在數(shù)據(jù)轉(zhuǎn)換時(shí)刻,由于每一路信號經(jīng)過的延遲都不相同,所以輸出信號中會帶有一些毛刺,后續(xù)電路可以在信號保持時(shí)間內(nèi)重新讀取輸出數(shù)據(jù),以避免毛刺的影響。圖5.13位加法器電路及其參數(shù)設(shè)置圖5.23位加法器仿真波形

圖5.33位減法器電路

圖5.43位減法器仿真波形

上面給出的兩個(gè)電路,即圖5.1和圖5.3所示電路都是通過設(shè)置“LPM_DIRECTION”參數(shù)來定義“l(fā)pm_add_sub”模塊執(zhí)行加法運(yùn)算或減法運(yùn)算的。如果希望“l(fā)pm_add_sub”模塊的運(yùn)算功能可控,能夠在不同的時(shí)間段內(nèi)分別執(zhí)行加法或減法運(yùn)算,則可以通過“add_sub”端口實(shí)現(xiàn)。在將“add_sub”端口設(shè)置為有效時(shí),必須關(guān)閉“LPM_DIRECTION”參數(shù),否則軟件會提示出錯信息。

“add_sub”端口為高電平時(shí),“l(fā)pm_add_sub”模塊執(zhí)行加法運(yùn)算;“add_sub”端口為低電平時(shí),“l(fā)pm_add_sub”模塊執(zhí)行減法運(yùn)算。圖5.5給出了3位可控加/減法器電路,圖5.6是仿真波形。

圖5.53位可控加/減法器電路

圖5.63位可控加/減法器仿真波形

對于無符號數(shù)加法,當(dāng)“cout”為低電平時(shí),表示加法運(yùn)算正常;當(dāng)“cout”為高電平時(shí),表示加法運(yùn)算出現(xiàn)進(jìn)位。無符號數(shù)加法運(yùn)算結(jié)果的二進(jìn)制表示形式是“cout,result[LPM_WIDTH-1..0]”,“cout”端口狀態(tài)是運(yùn)算結(jié)果的最高有效位(MSB)。對于無符號數(shù)減法,當(dāng)“cout”為高電平時(shí),表示減法運(yùn)算正常;當(dāng)“cout”為低電平時(shí),表示被減數(shù)小于減數(shù),減法運(yùn)算出現(xiàn)借位,結(jié)果無效。無符號數(shù)減法運(yùn)算結(jié)果的二進(jìn)制表示形式是“result[LPM_WIDTH-1..0]”,“result[LPM_WIDTH-1]”端口狀態(tài)是運(yùn)算結(jié)果的最高有效位(MSB)。

上面向大家介紹了使用“l(fā)pm_add_sub”宏模塊進(jìn)行無符號數(shù)加/減法器的設(shè)計(jì),對于3位二進(jìn)制補(bǔ)碼的加/減法運(yùn)算,需要將部分參數(shù)設(shè)置為

LPM_REPRESENTATION=SIGNED

cout=unused

overflow=used對于二進(jìn)制補(bǔ)碼的加法運(yùn)算和減法運(yùn)算,運(yùn)算結(jié)果的二進(jìn)制表示形式是"result[LPM_WIDTH-1..0]","result[LPM_WIDTH-1]"的端口狀態(tài)是運(yùn)算結(jié)果的最高有效位(MSB)。在加法運(yùn)算和減法運(yùn)算中,如果"overflow"輸出高電平,表示計(jì)算結(jié)果超出了二進(jìn)制補(bǔ)碼的表示范圍,計(jì)算結(jié)果是無效的。

2.乘法器在數(shù)字通信系統(tǒng)和數(shù)字信號處理中,乘法器是必不可少的。利用加法器雖然可以構(gòu)造出乘法器,但使用模塊化的通用乘法器可以大大提高系統(tǒng)的效率和性能。Altera同樣建議設(shè)計(jì)者盡可能使用"lpm_mult"宏模塊設(shè)計(jì)乘法器,以取代表6.1所示的其它乘法器宏模塊。下面就利用"lpm_mult"宏模塊設(shè)計(jì)一個(gè)3×3位二進(jìn)制乘法器。"lpm_mult"宏模塊的基本邏輯參數(shù)如表5.3所示。

表5.3“l(fā)pm_mult”宏模塊的基本邏輯參數(shù)

被乘數(shù)和乘數(shù)可以是無符號數(shù),也可以是帶符號數(shù),如二進(jìn)制補(bǔ)碼。圖5.7是3?×?3位無符號數(shù)二進(jìn)制乘法器電路,其中“l(fā)pm_mult”宏模塊的參數(shù)設(shè)置為

LPM_WIDTHA=3

LPM_WIDTHB=3圖5.73×3位無符號數(shù)乘法電路

圖5.83×3位無符號數(shù)乘法仿真波形

如果將‘lpm_mult”宏模塊的參數(shù)設(shè)置為

LPM_WIDTHA=3

LPM_WIDTHB=3

LPM_REPRESENTATION=SIGNED則“l(fā)pm_mult”執(zhí)行兩個(gè)二進(jìn)制補(bǔ)碼的乘法操作,仿真波形如圖5.9所示。

圖5.93×3位二進(jìn)制補(bǔ)碼乘法仿真波形

3.除法器

QuartusⅡ的Megafunction庫提供了兩種除法器宏模塊“divide”和“l(fā)pm_divide”,Altera推薦使用“l(fā)pm_divide”宏模塊設(shè)計(jì)除法器。表5.4給出了“l(fā)pm_divide”宏模塊的基本邏輯參數(shù)。

表5.4“l(fā)pm_divide”宏模塊的基本邏輯參數(shù)

圖5.10給出了8位除法器電路,其中“l(fā)pm_divide”宏模塊的參數(shù)設(shè)置為圖5.108位無符號數(shù)除法器

圖5.11是8位無符號數(shù)除法器的仿真波形,由于設(shè)置“LPM_PIPELINE=6”,所以商和余數(shù)從第六個(gè)時(shí)鐘周期(圖中283ns處)開始輸出。

圖5.118位無符號數(shù)除法器仿真波形

4.絕對值運(yùn)算

QuartusⅡ的Megafunction庫提供了絕對值運(yùn)算宏模塊“l(fā)pm_abs”,表5.5給出了“l(fā)pm_abs”宏模塊的基本邏輯參數(shù)。

表5.5“l(fā)pm_abs”宏模塊的基本邏輯參數(shù)

圖5.12給出了3位二進(jìn)制補(bǔ)碼絕對值運(yùn)算電路,其中“l(fā)pm_abs”宏模塊的參數(shù)設(shè)置為

LPM_WIDTH=3圖5.123位二進(jìn)制補(bǔ)碼絕對值運(yùn)算電路

圖5.13是仿真波形。由二進(jìn)制補(bǔ)碼的記數(shù)方法可知,其負(fù)數(shù)比正數(shù)多一個(gè),如圖5.13中的“100”代表十進(jìn)制數(shù)的“-4”,但3位二進(jìn)制補(bǔ)碼無法表示“+4”,這時(shí)對“100”做絕對值運(yùn)算便會發(fā)生溢出,“overflow”端口狀態(tài)由低電平轉(zhuǎn)變?yōu)楦唠娖健=鉀Q計(jì)算溢出的方法也很簡單,只要在“OUT[2..0]”的最高有效位上插入一個(gè)“0”,將3位二進(jìn)制補(bǔ)碼轉(zhuǎn)變?yōu)?位二進(jìn)制補(bǔ)碼,即“0(MSB),OUT2,OUT1,OUT0(LSB)”,則可保證3位二進(jìn)制補(bǔ)碼絕對值運(yùn)算的可靠性。這種方法適用于任意字長的二進(jìn)制補(bǔ)碼。

圖5.133位二進(jìn)制補(bǔ)碼絕對值運(yùn)算電路仿真波形

5.?dāng)?shù)值比較器兩個(gè)二進(jìn)制數(shù)A和B的大小關(guān)系總共有六種情況,分別是A=B、A≥B、A≤B、A>B、A<B以及A≠B,數(shù)值比較器可以對這六種情況做出判斷。在信號檢測和門限判決電路中經(jīng)常會用到數(shù)值比較器。Altera推薦設(shè)計(jì)人員使用“l(fā)pm_compare”宏模塊構(gòu)造數(shù)值比較器,以取代其它類型的數(shù)值比較器模塊。下面利用“l(fā)pm_compare”宏模塊構(gòu)造一個(gè)3位二進(jìn)制數(shù)值比較器,“l(fā)pm_compare”宏模塊的基本邏輯參數(shù)如表5.6所示。

表5.6“l(fā)pm_compare”宏模塊的基本邏輯參數(shù)

圖5.143位無符號二進(jìn)制數(shù)比較器電路圖5.153位無符號二進(jìn)制數(shù)比較器仿真波形

如果將“l(fā)pm_compare”的參數(shù)設(shè)置為

LPM_WIDTH=3

LPM_REPRESENTATION=SIGNED則可構(gòu)成3位二進(jìn)制補(bǔ)碼比較器電路。圖5.16是二進(jìn)制補(bǔ)碼比較器的仿真波形。

圖6.163位二進(jìn)制補(bǔ)碼比較器仿真波形

5.1.2邏輯門宏模塊庫

表5.7邏輯門宏模塊目錄

表5.8“l(fā)pm_decode”宏模塊的基本邏輯參數(shù)

圖5.173線-8線譯碼器電路

圖5.183線-8線譯碼器仿真波形

圖5.19是用“l(fā)pm_mux”宏模塊設(shè)計(jì)的四路數(shù)據(jù)采集電路,在原理圖輸入時(shí),當(dāng)選定“l(fā)pm_mux”模塊后,系統(tǒng)會提示設(shè)計(jì)人員設(shè)置模塊的參數(shù)?!發(fā)pm_mux”的邏輯參數(shù)如表5.9所示。

圖5.19四路數(shù)據(jù)采集電路

四路數(shù)據(jù)采集器將并行輸入的四路數(shù)據(jù)按照一定的次序合為一路高速數(shù)據(jù)輸出,每路數(shù)據(jù)線寬度為4,所以"lpm_mux"的參數(shù)設(shè)置為

LPM_WIDTH=4

LPM_WIDTHS=2其中A路輸入數(shù)據(jù)“DATAINA[3..0]”占用“data0x[3..0]”端口,B路輸入數(shù)據(jù)"DATAINB[3..0]"占用“data1x[3..0]”端口,C路輸入數(shù)據(jù)“DATAINC[3..0]”占用“data2x[3..0]”端口,D路輸入數(shù)據(jù)“DATAIND[3..0]”占用“data3x[3..0]”端口。

整個(gè)電路由多路復(fù)用器和控制電路兩部分組成。多路復(fù)用器接收四路輸入數(shù)據(jù),在“SEL[1..0]”的控制下,選擇輸出其中的一路數(shù)據(jù)??刂齐娐酚梢粋€(gè)計(jì)數(shù)器構(gòu)成,它周期性產(chǎn)生“00”、“01”、“10”、“11”四種控制信號,分別選通四路輸入數(shù)據(jù)流。

圖5.20是四路數(shù)據(jù)采集電路的仿真波形,其中已假設(shè)將四路輸入數(shù)據(jù)時(shí)鐘調(diào)整到與時(shí)鐘“CLK”同步的狀態(tài)。由圖中可看出,“SEL[1..0]”產(chǎn)生周期性的選通信號,依次將四路輸入數(shù)據(jù)連通到輸出端口上,經(jīng)D觸發(fā)器重新讀取后,在輸出端口“DATAOUT”就得到了合路以后的信號。

圖5.20四路數(shù)據(jù)采集電路的仿真波形5.1.3I/O宏模塊庫

Megafunction庫提供的參數(shù)化I/O宏模塊主要包括時(shí)鐘數(shù)據(jù)恢復(fù)(CDR)收發(fā)射機(jī)宏模塊、參數(shù)化鎖相環(huán)(PLL)宏模塊、雙數(shù)據(jù)速率(DDR)輸入輸出宏模塊、LVDS(低電壓差分信號)收發(fā)射機(jī)宏模塊等等,表5.10詳細(xì)列出了該庫所有宏模塊的名稱和功能描述。5.1.4存儲宏模塊庫存儲器是數(shù)字系統(tǒng)的重要組成部分,數(shù)據(jù)處理單元的處理結(jié)果需要存儲,許多處理單元的初始化數(shù)據(jù)也需要存放在存儲器中。存儲器還可以完成一些特殊的功能,如多路復(fù)用、速率變換、數(shù)值計(jì)算、脈沖成形、特殊序列產(chǎn)生以及數(shù)字頻率合成等。QuartusⅡ軟件的Megafunction庫提供了RAM、ROM和FIFO等參數(shù)化存儲器宏模塊,如表5.11所示,設(shè)計(jì)者可以很方便地利用這些宏模塊設(shè)計(jì)各種類型的存儲器。本節(jié)將通過設(shè)計(jì)實(shí)例向大家介紹RAM、ROM和FIFO宏模塊的基本使用方法。

1.RAM

RAM(RandomAccessMemory,隨機(jī)存取存儲器)可以隨時(shí)在任一指定地址寫入或讀取數(shù)據(jù),它的最大優(yōu)點(diǎn)是可以方便讀/寫數(shù)據(jù),但存在易失性的缺點(diǎn),掉電后所存數(shù)據(jù)便會丟失。

RAM的應(yīng)用十分廣泛,它是計(jì)算機(jī)的重要組成部分,在數(shù)字信號處理中RAM作為數(shù)據(jù)存儲單元,也必不可少。QuartusⅡ軟件提供了多種RAM宏模塊,這些宏模塊已在表5.11中列出,有關(guān)具體模塊參數(shù)的設(shè)置可以參考該軟件提供的幫助信息?!發(fā)pm_ram_dq”是參數(shù)化RAM模塊,具有分開的輸入/輸出端口,Altera推薦利用“l(fā)pm_ram_dq”實(shí)現(xiàn)異步存儲或者具有同步輸入和(或)輸出的存儲。這個(gè)宏模塊僅提供后向兼容,替換的是,Altera推薦利用altsyncram宏模塊。Altera強(qiáng)烈推薦使用同步而不是異步RAM功能。它的邏輯參數(shù)見表5.12和表5.13。下面我們就用“l(fā)pm_ram_dq”宏模塊設(shè)計(jì)一個(gè)數(shù)據(jù)存儲器。表5.12“l(fā)pm_ram_dq”宏模塊的基本邏輯參數(shù)(一)表5.12“l(fā)pm_ram_dq”宏模塊的基本邏輯參數(shù)(一)圖5.21給出了數(shù)據(jù)存儲器電路圖,及其中“l(fā)pm_ram_dq”宏模塊的參數(shù)設(shè)置。數(shù)據(jù)線和地址線的寬度都是8位,RAM存儲容量LPM_NUMWORDS為28字節(jié)。圖5.21數(shù)據(jù)存儲器電路圖5.22是數(shù)據(jù)存儲器的仿真波形,為了便于檢查存儲單元內(nèi)部數(shù)據(jù)信息,首先在“00~FF”地址段內(nèi)連續(xù)寫入"0~255",然后從仿真時(shí)間25.6μs時(shí)刻開始隨機(jī)產(chǎn)生地址信息,檢測“OUT”端口的輸出數(shù)據(jù)是否正確,這時(shí)“WE”端口狀態(tài)由高電平轉(zhuǎn)變?yōu)榈碗娖?。從圖5.22的“OUT”輸出波形可看出,存儲數(shù)據(jù)與寫入數(shù)據(jù)是完全一樣的,只不過數(shù)據(jù)輸出時(shí)存在一定的延遲。

圖5.22數(shù)據(jù)存儲器仿真波形(一)仔細(xì)觀察圖5.22中“OUT”端口波形,發(fā)現(xiàn)“WE”為高電平時(shí),“OUT”仍舊有數(shù)據(jù)輸出。如果在向RAM寫入數(shù)據(jù)時(shí),不希望這些數(shù)據(jù)出現(xiàn)在“OUT”端口上,可以對圖6.21電路做簡單的修改,主要方法是

(1)將“WE”信號用D觸發(fā)器延遲兩個(gè)時(shí)鐘周期;

(2)將第一步輸出的信號反相后再同“OUT76..0]”端口上的信號做邏輯"與"運(yùn)算。修改后的電路圖如圖5.23所示,新的數(shù)據(jù)輸出端口是“OUT1[7..0]”。

圖5.23修改后的數(shù)據(jù)存儲器電路

由圖5.24的仿真波形可以看出,在向RAM寫入數(shù)據(jù)時(shí),“OUT1[6..0]”端口上一直保持為低電平,只有當(dāng)"WE"為低電平時(shí),才會有數(shù)據(jù)輸出。

圖5.24數(shù)據(jù)存儲器仿真波形(二)

2.FIFO

FIFO(FirstInFirstOut,先進(jìn)先出)是一種特殊功能的存儲器,數(shù)據(jù)以到達(dá)FIFO輸入端口的先后順序依次存儲在存儲器中,并以相同的順序從FIFO的輸出端口送出,所以FIFO內(nèi)數(shù)據(jù)的寫入和讀取只受讀/寫時(shí)鐘和讀/寫請求信號的控制,而不需要讀/寫地址線。

FIFO分為同步FIFO和異步FIFO,同步FIFO是指數(shù)據(jù)輸入輸出的時(shí)鐘頻率相同,異步FIFO是指數(shù)據(jù)輸入輸出的時(shí)鐘頻率可以不相同。

FIFO在數(shù)字系統(tǒng)中有著十分廣泛的應(yīng)用,可以用作并行數(shù)據(jù)延遲線、數(shù)據(jù)緩沖存儲器以及速率變換器等。

QuartusⅡ軟件提供了六種FIFO宏模塊,這些宏模塊已在表6.11中列出,有關(guān)具體模塊參數(shù)的設(shè)置可以參考該軟件提供的幫助信息。利用FIFO可以很方便地實(shí)現(xiàn)數(shù)據(jù)速率的變換,下面我們就用“l(fā)pm_fifo_dc”宏模塊設(shè)計(jì)一個(gè)數(shù)據(jù)速率變換電路?!發(fā)pm_fifo_dc”是參數(shù)化雙時(shí)鐘FIFO模塊,可以用來構(gòu)成異步FIFO,它的邏輯參數(shù)見表5.14和表5.15。

表5.14“l(fā)pm_fifo_dc”宏模塊的基本邏輯參數(shù)(一)表5.15“l(fā)pm_fifo_dc”宏模塊的基本邏輯參數(shù)(二)圖5.25數(shù)據(jù)速率變換電路輸入數(shù)據(jù)流以突發(fā)形式進(jìn)入到FIFO中,每個(gè)突發(fā)包含8個(gè)字節(jié)的數(shù)據(jù),兩個(gè)突發(fā)間隔160ns,數(shù)據(jù)峰值速率為50Mb/s。在突發(fā)時(shí)間內(nèi),“WRREQ”為高電平,允許向FIFO寫入數(shù)據(jù),而在其它時(shí)間里,“WRREQ”保持低電平,禁止向FIFO寫入數(shù)據(jù)。當(dāng)“RDREQ”為高電平時(shí),在讀時(shí)鐘“RDCLOCK”的控制下,數(shù)據(jù)以連續(xù)比特流方式從FIFO的“OUT[7..0]”端口輸出,數(shù)據(jù)速率為25Mb/s。圖5.26是數(shù)據(jù)速率變換電路的仿真波形,從圖中可看出FIFO完成了數(shù)據(jù)速率的變換,將突發(fā)數(shù)據(jù)轉(zhuǎn)變?yōu)檫B續(xù)的數(shù)據(jù)流。

圖5.26數(shù)據(jù)速率變換電路仿真波形

3.ROM

ROM(ReadOnlyMemory,只讀存儲器)是存儲器中結(jié)構(gòu)最簡單的一種,它的存儲信息需要事先寫入,在使用時(shí)只能讀取,不能寫入。ROM具有不揮發(fā)性,即在掉電后,ROM內(nèi)的信息不會丟失。利用FPGA器件可以實(shí)現(xiàn)ROM功能,但它并不是真正意義上的ROM,因?yàn)榈綦姾?,包括ROM單元在內(nèi)的FPGA器件中所有信息都會丟失,再次工作時(shí)需要外部存儲器重新配置。

QuartusⅡ軟件提供的參數(shù)化ROM宏模塊是“l(fā)pm_rom”。表6.16和表6.17給出了“l(fā)pm_rom”宏模塊的參數(shù)設(shè)置。

當(dāng)inclock或outclock都不連時(shí),存儲器異步操作。輸出q[]?是異步的,反映的是address[]點(diǎn)存儲位置數(shù)據(jù)。將ROM設(shè)計(jì)成查找表(LUT,LookUpTable)的形式,可以完成各種數(shù)值運(yùn)算、脈沖成形和波形合成等功能。圖5.27是利用ROM實(shí)現(xiàn)的一個(gè)3?×?3位無符號數(shù)乘法器,及其中“l(fā)pm_rom”的參數(shù)設(shè)置。其中LPM_FILE?=?e:\work\rom.mif。定義地址線“ADDRESS[5..0]”的高三位為被乘數(shù),低三位為乘數(shù),尋址輸出結(jié)果為乘積。ROM存儲的數(shù)據(jù)都放在“rom.mif”文件內(nèi),但該文件目前可能并不存在,因此需要初始化ROM。這里介紹兩種初始化ROM的方法:一種是手工輸入的方法,適于數(shù)據(jù)量不大的情況;另一種方法是利用計(jì)算機(jī)高級語言初始化ROM,適于數(shù)據(jù)量較大的情況。圖5.27基于ROM的3×3位無符號數(shù)乘法器

對于第一種方法,首先新建一個(gè).mif文件(MemoryInitializationFile,存儲器初始化文件),輸入存儲字寬和存儲深度后,屏幕上會顯示一個(gè)表格,在表格中依次輸入與地址相對應(yīng)的數(shù)值,最后將文件存為“e:\work\rom.mif”。如果ROM存儲的數(shù)據(jù)量很大,手工輸入的方法既費(fèi)時(shí),又不可靠,這時(shí)利用計(jì)算機(jī)高級語言可以很容易地解決ROM初始化的問題。首先需要了解一下.mif文件的基本格式。.mif文件可以用文本編輯器打開,文件的結(jié)構(gòu)可分為六大部分,如表5.18所示。

表5.18.mif文件基本格式

每一個(gè).mif文件都遵循相同的格式,可以任意拿來一個(gè).mif文件(也可以按照第一種方法產(chǎn)生一個(gè)空的.mif文件),在此文件的基礎(chǔ)上進(jìn)行修改。首先用文本編輯器打開這個(gè)文件,按照設(shè)計(jì)的實(shí)際情況修改文件第二部分的數(shù)值。如有必要,還可修改文件的第三部分,為了便于編程,一般情況下都將數(shù)制修改成無符號十進(jìn)制數(shù)。最后將修改后的文件另存為“e:\work\rom.mif”?,F(xiàn)在只完成了第一步,.mif文件第五部分的修改需要通過計(jì)算機(jī)高級語言編程來完成。下面給出一段Fortran語言程序,它計(jì)算出3×3位無符號數(shù)乘法所有可能的結(jié)果,并按照.mif文件第五部分的格式將結(jié)果輸出到“rom.dat”文件中,然后用“rom.dat”里的數(shù)據(jù)將原來.mif文件的第五部分內(nèi)容完全覆蓋,存盤后即完成了ROM的初始化。由于這段Fortran程序的計(jì)算結(jié)果采用十進(jìn)制數(shù)表示,所以應(yīng)將.mif文件的第三部分中的數(shù)制改為無符號十進(jìn)制數(shù)(UNS)。

ROM初始化程序(Fortran語言)cThisprogramisusedtomakeaLUTforrom.mif.integerc5,c4,c3,c2,c1,c0,dataout(64),multc"c5c4c3c2c1c0"arecoefficients.c5=0c4=0c3=0c2=0c1=0c0=0do10c5=0,1do20c4=0,1do30c3=0,1do40c2=0,1do50c1=0,1

do60c0=0,1ctransformBINintoDECk=c5*2**5+c4*2**4+c3*2**3+c2*2**2+c1*2**1+c0*2**0ccalculatethecontentoftheLUTdataout(k)=(c5*2**2+c4*2**1+c3*2**0)*(c2*2**2+c1*2**1+c0*2**0)60continue50continue40continue30continue20continue10continuecwritetheresultsinto"rom.dat"file.

open(unit=2,file='rom.dat',status='new',access='sequential')do100k=0,63write(2,*)k,':',dataout(k),';'100continueclose(2)

end不管采用哪種ROM初始化方法,得到的計(jì)算結(jié)果都是相同的,圖5.28給出了仿真波形。與5.1.1節(jié)中3×3位乘法器相比較可看出,利用ROM構(gòu)造的乘法器,其輸出結(jié)果存在一個(gè)時(shí)鐘周期的延遲。

圖5.28基于ROM的3×3位無符號數(shù)乘法器仿真波形

以上是利用ROM宏模塊構(gòu)造了一個(gè)執(zhí)行乘法運(yùn)算的查找表,采用了直接尋址的方法,這種方法運(yùn)算速度快,但是要占用很大的存儲空間。當(dāng)被乘數(shù)與乘數(shù)的總字長為N時(shí),所需存儲空間的容量為N×2N比特。FPGA內(nèi)存儲單元的容量有限,為了節(jié)省存儲空間,可以采用犧牲運(yùn)算速度的方法,即所謂"以時(shí)間換空間"。根據(jù)等式

可將查找表設(shè)計(jì)成平方表的形式,再增加一些加減運(yùn)算,也可以得到兩數(shù)的乘積。假設(shè)a和b的字長均為N/2,則采用平方表的方法只需約(4N+4)×2N/2bit的存儲容量,當(dāng)N較大時(shí)(如N≥8),這種方法所需的存儲容量遠(yuǎn)遠(yuǎn)小于直接尋址的方法。

4.存儲器設(shè)計(jì)中應(yīng)注意的一個(gè)問題

RAM、FIFO和ROM等存儲器在許多電路中是不可或缺的關(guān)鍵部件,特別是在一些需要特殊運(yùn)算的場合,設(shè)計(jì)人員通常利用ROM構(gòu)造出各種各樣的查找表,以簡化電路的設(shè)計(jì),提高電路的處理速度和穩(wěn)定性。在FPGA器件中實(shí)現(xiàn)存儲器功能,需要占用芯片的存儲單元,而這種資源是十分有限的。例如在Altera公司FLEX10K系列的FPGA器件中,存儲容量在6114比特到20480比特之間,EAB的數(shù)目在3~10個(gè)之間。在實(shí)際情況下,一個(gè)存儲器至少要占用一個(gè)EAB,因此整個(gè)設(shè)計(jì)中所需要的存儲器單元的數(shù)目既受存儲容量的限制,又受EAB數(shù)目的限制。如果一個(gè)設(shè)計(jì)中使用了過多的存儲單元,設(shè)計(jì)人員就必須選用更大規(guī)模的器件,而此時(shí)往往導(dǎo)致大量的邏輯單元未被利用,這無疑會使得成本大大增加,給開發(fā)和調(diào)試工作帶來不利的影響。

5.2Maxplus2庫

5.2.1時(shí)序電路宏模塊

1.觸發(fā)器觸發(fā)器是數(shù)字電路中的常用器件,在后面介紹的許多電路中,都可以發(fā)現(xiàn)觸發(fā)器的身影。觸發(fā)器可以組成各種類型的計(jì)數(shù)器和寄存器。常用的觸發(fā)器類型主要分為D觸發(fā)器、T觸發(fā)器、JK觸發(fā)器以及帶有各種使能端和控制端的擴(kuò)展型觸發(fā)器等。表5.19列出了QuartusⅡ的Maxplus2庫提供的觸發(fā)器宏模塊的目錄。

表5.19觸發(fā)器宏模塊目錄

表5.19觸發(fā)器宏模塊目錄

表5.19觸發(fā)器宏模塊目錄

表5.19觸發(fā)器宏模塊目錄

2.鎖存器鎖存器主要分為RS鎖存器、門控RS鎖存器和D鎖存器三種形式,它的作用就是把某時(shí)刻輸入信號的狀態(tài)保存起來。觸發(fā)器實(shí)際上是一種帶有時(shí)鐘控制的鎖存器。鎖存器和觸發(fā)器狀態(tài)均跟隨輸入信號的電平值變化,二者不同之處在于鎖存器的狀態(tài)隨輸入信號實(shí)時(shí)變化,而觸發(fā)器的狀態(tài)要等到時(shí)鐘沿到來時(shí)才改變。

表5.20鎖存器宏模塊目錄

表5.20鎖存器宏模塊目錄

3.計(jì)數(shù)器計(jì)數(shù)器是數(shù)字系統(tǒng)中使用最廣泛的時(shí)序電路,幾乎每一個(gè)數(shù)字系統(tǒng)都離不開計(jì)數(shù)器。計(jì)數(shù)器可以對時(shí)鐘或脈沖信號計(jì)數(shù),還可以完成定時(shí)、分頻、控制和數(shù)學(xué)運(yùn)算等功能。根據(jù)輸入脈沖的引入方式不同,計(jì)數(shù)器可分為同步計(jì)數(shù)器和異步計(jì)數(shù)器;根據(jù)從計(jì)數(shù)過程中數(shù)字的增減趨勢不同,計(jì)數(shù)器可分為加法計(jì)數(shù)器、減法計(jì)數(shù)器和可逆計(jì)數(shù)器;根據(jù)計(jì)數(shù)器計(jì)數(shù)進(jìn)制的不同,計(jì)數(shù)器還可分為二進(jìn)制計(jì)數(shù)器和非二進(jìn)制計(jì)數(shù)器(如二-十進(jìn)制計(jì)數(shù)器)。

QuartusⅡ的Maxplus2庫提供了幾十種計(jì)數(shù)器宏模塊,在設(shè)計(jì)中可以任意調(diào)用,表5.21列出了這些宏模塊的目錄。

表5.21計(jì)數(shù)器宏模塊目錄

表5.21計(jì)數(shù)器宏模塊目錄

表5.21計(jì)數(shù)器宏模塊目錄

圖5.29是一個(gè)利用“8count”宏模塊構(gòu)成的“模128同步計(jì)數(shù)器”,“8count”是8位二進(jìn)制加/減計(jì)數(shù)器,采用同步或異步讀取預(yù)置數(shù)據(jù)和異步清零方式?!?count”宏模塊的邏輯參數(shù)如表5.22所示。

圖5.29模128同步計(jì)數(shù)器

表5.22“count”模塊的邏輯參數(shù)

下面簡要分析一下計(jì)數(shù)器的參數(shù)設(shè)置及其原理:*“CLK”時(shí)鐘輸入端口,“CLRN”為外部清零端口(低電平有效),“Q”為結(jié)果輸出端口;*“DNUP”接地,表示采用加法計(jì)數(shù)方式,在時(shí)鐘上升沿的驅(qū)動下,計(jì)數(shù)器的8個(gè)輸出端口“QH..QA”以二進(jìn)制方式顯示時(shí)鐘脈沖的數(shù)目,其中“QH”為最高有效位(MSB),“QA”為最低有效位(LSB);*“LDN”接讀取控制信號,而將“STEN”懸空(系統(tǒng)默認(rèn)值為接高電平),則將計(jì)數(shù)器配置為同步讀取方式;*數(shù)據(jù)預(yù)置端口“H..A”設(shè)置為零,指示計(jì)數(shù)器初始計(jì)數(shù)從“00000000”開始,其中“H”為最高有效位,“A”為最低有效位;*計(jì)數(shù)器從初始狀態(tài)“00000000”計(jì)數(shù)到“01111111”時(shí),表示已經(jīng)完成一個(gè)計(jì)數(shù)周期,在這里用一個(gè)8輸入與門檢測這一狀態(tài),當(dāng)“QG..QA”同時(shí)為高電平時(shí),與門輸出一個(gè)高電平脈沖信號,時(shí)間寬度為一個(gè)時(shí)鐘周期。

圖5.30模128同步計(jì)數(shù)器仿真波形

圖5.29中D觸發(fā)器的作用有兩個(gè),其中一個(gè)作用是消除與門輸出的毛刺信號。由于器件內(nèi)部存在延時(shí),計(jì)數(shù)器的輸出端口“QG..QA”上高低電平的翻轉(zhuǎn)并不是同時(shí)進(jìn)行的,相互之間會有幾個(gè)納秒的差異,這就有可能在與門輸出端產(chǎn)生毛刺。從仿真波形的組合節(jié)點(diǎn)19上可以看到這些毛刺,毛刺只出現(xiàn)在時(shí)鐘上升沿之后,而且持續(xù)時(shí)間很短(幾個(gè)納秒),不會與時(shí)鐘上升沿同時(shí)出現(xiàn),所以利用D觸發(fā)器就可以消除毛刺。從輸出引腳“Q”上的仿真波形可以看到組合節(jié)點(diǎn)19上的毛刺已經(jīng)被消除干凈了。計(jì)數(shù)器在清零后的初始狀態(tài)已經(jīng)為“00000000”,那么第一個(gè)時(shí)鐘周期對應(yīng)的計(jì)數(shù)器輸出端口狀態(tài)為“00000001”,這樣就使第一個(gè)計(jì)數(shù)周期內(nèi)只能計(jì)127個(gè)時(shí)鐘脈沖,而不是所希望的128個(gè)時(shí)鐘脈沖。所以D觸發(fā)器的另一個(gè)作用是為計(jì)數(shù)器產(chǎn)生一個(gè)時(shí)鐘周期的群延遲,使得在計(jì)數(shù)器清零后的所有計(jì)數(shù)周期內(nèi)的脈沖數(shù)目均為128。

在圖6.29“QH..QA”不同端口加上“非門”,再將這些輸出信號送入“AND8”中,則可以構(gòu)成“2~128”任意進(jìn)制同步計(jì)數(shù)器。圖5.29給出的“模128同步計(jì)數(shù)器”輸出的計(jì)數(shù)脈沖的時(shí)間寬度為一個(gè)時(shí)鐘周期,對于一些特殊的應(yīng)用,例如需要計(jì)數(shù)脈沖的時(shí)間寬度為半個(gè)時(shí)鐘周期,這樣的電路該如何實(shí)現(xiàn)呢?現(xiàn)還以上面介紹的“模128同步計(jì)數(shù)器”為例,修改后的電路如圖5.31所示。

圖5.31修改后的模128同步計(jì)數(shù)器

在圖5.29的基礎(chǔ)上,額外增加了一個(gè)二輸入“與門”和一個(gè)D觸發(fā)器?!芭c門”的作用是產(chǎn)生一個(gè)很小的延時(shí),它的輸出端連至D觸發(fā)器的時(shí)鐘輸入端。D觸發(fā)器的清零端口“CLRN”與系統(tǒng)時(shí)鐘“CLK”相連,輸入端口接高電平。組合節(jié)點(diǎn)23(TEST1)上的信號實(shí)際上就是圖5.29“Q”端口上的輸出信號,該信號經(jīng)過“與門”運(yùn)算后去激勵D觸發(fā)器。從圖5.32的仿真波形上可以看出,在計(jì)數(shù)脈沖出現(xiàn)時(shí),系統(tǒng)時(shí)鐘“CLK”處于高電平狀態(tài),在“與門”輸出信號的上升沿激勵下,D觸發(fā)器輸出端變?yōu)楦唠娖?。半個(gè)時(shí)鐘周期后,“CLK”處于低電平狀態(tài),D觸發(fā)器被清零,其輸出端相應(yīng)地變?yōu)榈碗娖?。由此,“Q”端口輸出的計(jì)數(shù)脈沖的寬度為半個(gè)時(shí)鐘周期,圖5.32的仿真波形清楚地顯示了這一變化。

圖5.32修改后的計(jì)數(shù)器仿真波形

當(dāng)計(jì)數(shù)器的計(jì)數(shù)周期是一個(gè)合數(shù)時(shí),數(shù)學(xué)上可以將該數(shù)寫為幾個(gè)整數(shù)的乘積,從計(jì)數(shù)器實(shí)現(xiàn)的角度上講,該計(jì)數(shù)器可以采用幾個(gè)計(jì)數(shù)器級聯(lián)的方式實(shí)現(xiàn),各個(gè)計(jì)數(shù)器計(jì)數(shù)周期的乘積就是整個(gè)計(jì)數(shù)器的計(jì)數(shù)周期。圖5.33所示的電路就是利用“模4計(jì)數(shù)器”和“模32計(jì)數(shù)器”級聯(lián)實(shí)現(xiàn)的“模128同步計(jì)數(shù)器”。采用計(jì)數(shù)器級聯(lián)方式,可以利用幾個(gè)短周期的計(jì)數(shù)器構(gòu)成一個(gè)長周期的計(jì)數(shù)器,但需要注意的是計(jì)數(shù)脈沖的時(shí)間寬度往往是時(shí)鐘周期的若干倍,圖5.33所示電路的計(jì)數(shù)脈沖寬度就是時(shí)鐘周期的四倍。

圖5.33采用計(jì)數(shù)器級聯(lián)方式實(shí)現(xiàn)的128同步計(jì)數(shù)器

4.分頻器對于一個(gè)時(shí)序電路系統(tǒng)來說,一般只有一個(gè)時(shí)鐘源,各個(gè)子系統(tǒng)所需的時(shí)鐘是由該時(shí)鐘源經(jīng)過分頻電路和倍頻電路得到的。分頻電路的設(shè)計(jì)與實(shí)現(xiàn)比倍頻電路簡單,它可以利用觸發(fā)器、分頻器和計(jì)數(shù)器等功能模塊來實(shí)現(xiàn)。

QuartusⅡ的Maxplus2庫提供了三種分頻器宏模塊,表5.23列出了這些宏模塊的名稱和功能,模塊參數(shù)的設(shè)置可以參考QuartusⅡ軟件提供的幫助信息。

表5.23分頻器宏模塊目錄

圖5.34用D觸發(fā)器實(shí)現(xiàn)的二分頻器

圖5.35雙時(shí)鐘5、10分頻器

表5.24“7456”宏模塊的邏輯參數(shù)

圖5.36雙時(shí)鐘5、10分頻器仿真波形

利用計(jì)數(shù)器可以實(shí)現(xiàn)特殊的分頻功能,圖5.37是一個(gè)利用“4count”計(jì)數(shù)器宏模塊實(shí)現(xiàn)的“9/8分頻器”電路?!?count”宏模塊的邏輯參數(shù)如表5.25所示。

圖5.379/8分頻器

表5.25“4count”宏模塊的邏輯參數(shù)

下面簡要分析一下該分頻器的參數(shù)設(shè)置及其原理:*“CLK”為時(shí)鐘輸入端口,“CLRN”為外部清零端口(低電平有效),“C”為9/8分頻結(jié)果輸出端口,“Q”為“9計(jì)數(shù)器”輸出端口;*“DNUP”接地,表示采用加法計(jì)數(shù)方式,在時(shí)鐘上升沿的驅(qū)動下,計(jì)數(shù)器的四個(gè)輸出端口“QD..QA”以二進(jìn)制方式顯示時(shí)鐘脈沖的數(shù)目;*“LDN”接讀取控制信號,“STEN”接高電平,將計(jì)數(shù)器配置為同步讀取方式;*數(shù)據(jù)預(yù)置端口“D..A”設(shè)置為零,指示計(jì)數(shù)器初始計(jì)數(shù)從“0000”開始;*計(jì)數(shù)器從初始狀態(tài)“0000”計(jì)數(shù)到“1000”時(shí)表示已經(jīng)完成一個(gè)計(jì)數(shù)周期,此時(shí)“QD”輸出高電平。

D觸發(fā)器用時(shí)鐘的下降沿觸發(fā),目的是使輸出脈沖滯后半個(gè)時(shí)鐘周期,圖5.38中節(jié)點(diǎn)12(TEST)的仿真波形描述了這一信號。節(jié)點(diǎn)12的信號與時(shí)鐘做“與”邏輯運(yùn)算,產(chǎn)生計(jì)數(shù)周期為9的計(jì)數(shù)脈沖,節(jié)點(diǎn)12上信號的反相信號與時(shí)鐘的“與”邏輯運(yùn)算產(chǎn)生“9/8”分頻信號。與計(jì)數(shù)器類似,將幾個(gè)分頻器級聯(lián)起來,可以實(shí)現(xiàn)高分頻比電路。如果級聯(lián)電路的最后一級采用2N分頻器,可以使輸出信號的占空比為50%。圖5.389/8分頻器仿真波形

5.多路復(fù)用器在多路數(shù)據(jù)傳送過程中,有時(shí)需要將多路數(shù)據(jù)中的任意一路信號挑選出來,完成這種功能的邏輯電路稱為多路復(fù)用器。多路復(fù)用器是一個(gè)多輸入、單輸出的邏輯電路,它在地址碼(或選擇控制信號)的控制下,從幾路輸入數(shù)據(jù)中選擇一個(gè),并將其送到輸出端,其功能類似于一個(gè)多擲開關(guān),所以有時(shí)也被稱為多路數(shù)據(jù)選擇器、多路開關(guān)或多路轉(zhuǎn)換器。多路選擇器常用于計(jì)算機(jī)、DSP中的數(shù)據(jù)和地址之間的切換,以及數(shù)字通信中的并/串變換、通道選擇等。

QuartusⅡ軟件的Maxplus2庫所提供的多路復(fù)用器宏模塊已在表5.26中列出,有關(guān)具體模塊的參數(shù)設(shè)置可以參考該軟件提供的幫助信息。表6.26多路復(fù)用器宏模塊目錄表6.26多路復(fù)用器宏模塊目錄

6.移位寄存器移位寄存器是具有移位功能的寄存器,常用于數(shù)據(jù)的串/并變換、并/串變換以及乘法移位操作、周期序列產(chǎn)生等。移位寄存器可分為左移寄存器、右移寄存器、雙向寄存器、可預(yù)置寄存器以及環(huán)形寄存器等。其中雙向移位寄存器同時(shí)具有左移和右移的功能,它是在一般移位寄存器的基礎(chǔ)上,加上左、右移位控制信號構(gòu)成的。表5.27列出了QuartusⅡ軟件的Maxplus2庫提供的移位寄存器宏模塊的目錄,有關(guān)具體模塊參數(shù)的設(shè)置可以參考該軟件提供的幫助信息。表5.27移位寄存器宏模塊目錄表6.27移位寄存器宏模塊目錄在數(shù)字通信系統(tǒng)中,數(shù)據(jù)流的串/并變換和并/串變換電路是經(jīng)常遇到的,利用移位寄存器可以實(shí)現(xiàn)數(shù)據(jù)流的串/并變換和并/串變換。圖5.39所示電路可以將一路數(shù)據(jù)流分成兩路,它使用了一個(gè)串入并出移位寄存器“74164”宏單元,表5.28給出了“74164”的邏輯參數(shù)。由于兩路輸出數(shù)據(jù)流的速率是輸入數(shù)據(jù)流速率的一半,所以利用一個(gè)T觸發(fā)器將主時(shí)鐘“CLK”二分頻,作為輸出數(shù)據(jù)流的時(shí)鐘。圖5.39串/并變換電路表5.28“74164”宏模塊的邏輯參數(shù)圖5.40是串/并變換電路的仿真波形,從波形圖上可以看出,輸入數(shù)據(jù)比特流“00011001011011110101111”經(jīng)串/并變換后,被分為兩路低速數(shù)據(jù)流,分別輸出“0010011000”和“01011011110”。圖5.40串/并變換電路仿真波形采用一個(gè)“74164”移位寄存器宏模塊最多可將輸入數(shù)據(jù)流分成八路,但在圖5.39所示的電路中,我們只用到了“74164”的兩級移位寄存器,這會不會浪費(fèi)FPGA器件的資源呢?我們知道,QuartusⅡ軟件具有邏輯優(yōu)化的功能,可以去除設(shè)計(jì)中的冗余電路,所以在這里使用“74164”并不會浪費(fèi)FPGA資源。從編譯生成的RPT文件中可以看到,整個(gè)串并變換電路只占用了五個(gè)邏輯單元,每個(gè)邏輯單元包含一個(gè)觸發(fā)器,圖5.39電路實(shí)際上總共用了五個(gè)觸發(fā)器,其中“74164”使用了兩個(gè)D觸發(fā)器,數(shù)據(jù)輸出端用了兩個(gè)D觸發(fā)器,二分頻電路使用了一個(gè)T觸發(fā)器。在電路設(shè)計(jì)中,除了可以利用表5.27中列舉的移位寄存器宏模塊以外,還可以利用觸發(fā)器設(shè)計(jì)所需要的移位寄存器。圖5.41是用D觸發(fā)器設(shè)計(jì)的一個(gè)帶有清零端的8位并入串出移位寄存器模塊,模塊名稱為“cshifreg”,圖5.42是該模塊的符號圖?!癱shifreg”的基本功能與“74165”相似,但比“74165”工作更加可靠,表5.29給出了“cshifreg”的邏輯參數(shù)表。圖5.41利用D觸發(fā)器設(shè)計(jì)的8位并入串出移位寄存器圖5.42“cshifreg”模塊的符號圖表5.29“cshifreg”宏模塊的邏輯參數(shù)5.2.2運(yùn)算電路宏模塊

1.邏輯運(yùn)算模塊表5.30給出了Maxplus2庫提供的邏輯運(yùn)算宏模塊的名稱和功能描述。表5.30邏輯運(yùn)算器宏模塊目錄2.加法器和減法器表5.31列出了QuartusⅡ的Maxplus2庫提供的加法器和減法器模塊的目錄,有關(guān)具體模塊的參數(shù)設(shè)置可以參考該軟件提供的幫助信息。

3.乘法器

QuartusⅡ的Maxplus2庫所提供的乘法器宏模塊已在表6.32中列出,有關(guān)具體模塊參數(shù)的設(shè)置可以參考該軟件提供的幫助信息。表5.32乘法器宏模塊目錄

4.?dāng)?shù)值比較器表5.33列出了QuartusⅡ的Maxplus2庫提供的數(shù)值比較器宏模塊的目錄,有關(guān)具體模塊參數(shù)的設(shè)置可以參考該軟件提供的幫助信息。表5.33數(shù)值比較器宏模塊目錄

5.編碼器和譯碼器

“編碼”就是用代碼去表示特定的信號。實(shí)現(xiàn)編碼的電路稱為“編碼器”,它是多輸入、多輸出的組合電路。普通編碼器在同一時(shí)刻只能有一個(gè)輸入端有信號輸入,而優(yōu)先編碼器允許幾個(gè)輸入端同時(shí)有信號到來,但各個(gè)輸入端的優(yōu)先權(quán)不同,輸出自動對優(yōu)先權(quán)較高的輸入進(jìn)行編碼。這種優(yōu)先編碼器在控制系統(tǒng)中有時(shí)是非常需要的?!白g碼”是“編碼”的相反過程,所謂譯碼器,就是對給定的碼組進(jìn)行“翻譯”,變成相應(yīng)的狀態(tài),使輸出通道中相應(yīng)的一路有信號輸出。譯碼器是多輸入、多輸出的組合邏輯電路,在數(shù)字裝置中用途比較廣泛。譯碼器除了把二進(jìn)制代碼譯成十進(jìn)制代碼外,還經(jīng)常用于各

溫馨提示

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

評論

0/150

提交評論