FPGA設(shè)計(jì)及應(yīng)用 褚振勇:第7章 MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用_第1頁
FPGA設(shè)計(jì)及應(yīng)用 褚振勇:第7章 MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用_第2頁
FPGA設(shè)計(jì)及應(yīng)用 褚振勇:第7章 MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用_第3頁
FPGA設(shè)計(jì)及應(yīng)用 褚振勇:第7章 MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用_第4頁
FPGA設(shè)計(jì)及應(yīng)用 褚振勇:第7章 MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用_第5頁
已閱讀5頁,還剩195頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第7章MAX+PLUSⅡ開發(fā)軟件中的

宏模塊及其應(yīng)用77..11時時序序電電路路宏宏模模塊塊77..22運(yùn)運(yùn)算算電電路路宏宏模模塊塊

77..33存存儲儲器器宏宏模模塊塊第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用7.1時序電路宏模塊7.1.1觸發(fā)器觸發(fā)器是數(shù)字電路中的常用器件,在后面介紹的許多電路中,都可以發(fā)現(xiàn)觸發(fā)器的身影。觸發(fā)器可以組成各種類型的計(jì)數(shù)器和寄存器。常用的觸發(fā)器類型主要分為D觸發(fā)器、T觸發(fā)器、JK觸發(fā)器以及帶有各種使能端和控制端的擴(kuò)展型觸發(fā)器等。第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用表7.1簡要列出了MAX+PLUSⅡ提供的觸發(fā)器宏模塊的目錄,有關(guān)具體模塊參數(shù)的設(shè)置可以參考該軟件提供的幫助信息。第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用功

述參數(shù)化D或T觸發(fā)器參數(shù)化D觸發(fā)器和移位寄存器參數(shù)化T觸發(fā)器帶使能端的D觸發(fā)器用擴(kuò)展電路實(shí)現(xiàn)的D觸發(fā)器帶預(yù)置和清零端的與門JK觸發(fā)器宏模塊名稱Lpm_HLpm_dffLpm_tenadffexpdff7470第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用表7.1觸發(fā)器宏模塊目錄7471帶預(yù)置端的JK觸發(fā)器7472帶預(yù)置和清零端的與門JK觸發(fā)器7473帶清零端的X.IJK觸發(fā)器7474帶異步預(yù)置和異步清零端的XRD觸發(fā)器7476帶異步預(yù)置和異步清零端的XY.JK觸發(fā)器7478帶異步預(yù)置、公共清零和公共時鐘端的JK觸發(fā)器74107帶清零端的XY.JK觸發(fā)器第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用宏模塊名稱功能描述74109帶預(yù)置和清零端的雙JK觸發(fā)器74112帶預(yù)置和清零端的雙JK時鐘下降沿觸發(fā)器74113帶預(yù)置端的雙JK時鐘下降沿觸發(fā)器74114帶異步預(yù)置、公共清零和公共時鐘端的雙JK時鐘下降沿觸發(fā)器74171帶清零端的四D觸發(fā)器74172帶三態(tài)輸出的多端口寄存器,741734位D型寄存器74174帶公共清零端的十六進(jìn)制D觸發(fā)器74174b帶公共清零端的十六進(jìn)制D觸發(fā)器第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用74376

帶公共時鐘和公共清零端的四JK觸發(fā)器74377

帶使能端的八進(jìn)制D觸發(fā)器74377b帶使能端的八進(jìn)制D觸發(fā)器74378帶使能端的十六進(jìn)制D觸發(fā)器74379

帶使能端的四D觸發(fā)器74396八進(jìn)制存儲寄存器74548帶三態(tài)輸出的8位兩級流水線寄存器74670帶三態(tài)輸出的4位寄存器文件74821帶三態(tài)輸出的10位總線接口觸發(fā)器74821b帶三態(tài)輸出的10位D觸發(fā)器74822帶三態(tài)反相輸出的10位總線接口觸發(fā)器74822b帶三態(tài)反相輸出的10位反相輸出D觸發(fā)器第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用帶三態(tài)輸出的9位總線接口觸發(fā)器帶三態(tài)輸出的9位D觸發(fā)器帶三態(tài)反相輸出的9位總線接口觸發(fā)器帶三態(tài)反相輸出的9位反相輸出D觸發(fā)器功

述帶三態(tài)輸出的8位總線接口觸發(fā)器帶三態(tài)輸出的八進(jìn)制D觸發(fā)器帶三態(tài)反相輸出的9位總線接口觸發(fā)器帶三態(tài)反相輸出的八進(jìn)制反相輸出D觸發(fā)器7482374823b7482474824b宏模塊名稱7482574825b7482674826b第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用JK觸發(fā)器是多功能觸發(fā)器,其符號如圖7.1所示,表7.2是它的邏輯參數(shù)表。第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用圖7.1JK觸發(fā)器輸入

端口輸出端口PRNCLRNCLKJKQLHXXXHHLXXXLLLXXX非法HH個XX保持原狀態(tài)HH個LL保持原狀態(tài)HHHHHH個個個第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用LHH表7.2

JK觸發(fā)器邏輯參數(shù)HL翻轉(zhuǎn)HLHD觸發(fā)器的輸出就是時鐘脈沖到來之前的數(shù)據(jù)輸入端D的狀態(tài),所以輸出和輸入的狀態(tài)變化之間存在一個時鐘周期的延時,因而又稱之為延時觸發(fā)器。D觸發(fā)器的符號如圖7.2所示,表7.3是邏輯參數(shù)表。第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用圖7.2

D觸發(fā)器輸

端口輸出端口PRNCLRNCLKDQL

H

X

X

HHLXXLL

L

X

X非法L

LH

HX保持原狀態(tài)X保持原狀態(tài)HH個HH個HHLHHH第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用表7.3

D觸發(fā)器邏輯參數(shù)T觸發(fā)器與D觸發(fā)器類似,只有一個數(shù)據(jù)輸入端和一個時鐘輸入端。表7.4給出了T觸發(fā)器的邏輯參數(shù)。T觸發(fā)器與D觸發(fā)器之間最基本的區(qū)別在于D觸發(fā)器輸出狀態(tài)完全取決于D輸入端是高電平還是低電平,而T觸發(fā)器的輸出狀態(tài)并不隨T輸入端電平變化而變化,只有T輸入是高電平時,在時鐘的激勵下,輸出狀態(tài)才改變一次,也就是說T觸發(fā)器具有二分頻能力。圖7.3就是利用T觸發(fā)器設(shè)計(jì)的二分頻電路。第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用輸

端口輸出端口PRNCLRNCLKTQHHXXHHLXXLlLXX非法HH個L保持原狀態(tài)HH個H翻轉(zhuǎn)HHLX保持原狀態(tài)第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用表7.4T觸發(fā)器邏輯參數(shù)圖7.3利用T觸發(fā)器設(shè)計(jì)的二分頻電路第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用在普通JK型、D型和T型觸發(fā)器的基礎(chǔ)上,MAX+PLUSⅡ軟件還提供了具有擴(kuò)展功能的觸發(fā)器宏模塊,如具有預(yù)置、清零端和三態(tài)輸出端的觸發(fā)器,如果在電路設(shè)計(jì)中靈活加以運(yùn)用,可以大大提高電路設(shè)計(jì)的效率和性能。第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用7.1.2鎖存器鎖存器主要分為RS鎖存器、門控RS鎖存器和D鎖存器三種形式,它的作用就是把某時刻輸入信號的狀態(tài)保存起來。觸發(fā)器實(shí)際上是一種帶有時鐘控制的鎖存器。鎖存器和觸發(fā)器狀態(tài)均跟隨輸入信號的電平值變化,二者不同之處在于鎖存器的狀態(tài)隨輸入信號實(shí)時變化,而觸發(fā)器的狀態(tài)要等到時鐘沿到來時才改變。表7.5列出了MAX+PLUSⅡ提供的鎖存器宏模塊的目錄,有關(guān)具體模塊參數(shù)的設(shè)置可以參考該軟件提供的幫助信息。第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用功能描述參數(shù)化鎖存器用擴(kuò)展電路實(shí)現(xiàn)的鎖存器用擴(kuò)展電路實(shí)現(xiàn)的輸入鎖存器用擴(kuò)展電路實(shí)現(xiàn)的SR,與非門鎖存器用擴(kuò)展電路實(shí)現(xiàn)的SR或非門鎖存器4位雙穩(wěn)態(tài)鎖存器4位雙穩(wěn)態(tài)鎖存器帶清零端的雙4位鎖存器帶有清零端、可設(shè)定地址的鎖存器宏模塊名稱l

pm

latchexp

latchinpltchnandltchnor

ltch747574777411674259第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用表7.5鎖存器宏模塊目錄742794路SR鎖存器74373帶三態(tài)輸出的八進(jìn)制透明D鎖存器74373b帶三態(tài)輸出的八進(jìn)制透明D鎖存器743754位雙穩(wěn)態(tài)鎖存器745498位2級流水線鎖存器74604帶三態(tài)輸出的八進(jìn)制2輸入多路鎖存器74841帶三態(tài)輸出的10位總線接口D鎖存器74841b

帶三態(tài)輸出的10位總線接口D鎖存器74842帶三態(tài)輸出的10位總線接口D鎖存器第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用74842b

帶三態(tài)輸出的10位總線接口D反相鎖存器74843帶三態(tài)輸出的9位總線接口D鎖存器74844帶三態(tài)輸出的9位總線接口D反相鎖存器74845帶三態(tài)輸出的8位總線接口D鎖存器74846帶三態(tài)輸出的8位總線接口D反相鎖存器74990

8位透明讀回鎖存器第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用7.1.3計(jì)數(shù)器計(jì)數(shù)器是數(shù)字系統(tǒng)中使用最廣泛的時序電路,幾乎每一個數(shù)字系統(tǒng)都離不開計(jì)數(shù)器。計(jì)數(shù)器可以對時鐘或脈沖信號計(jì)數(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ù)器)。第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用MAX+PLUSⅡ提供了幾十種計(jì)數(shù)器宏模塊,在設(shè)計(jì)中可以任意調(diào)用,表7.6簡要列出了這些宏模塊的目錄,有關(guān)具體模塊參數(shù)的設(shè)置可以參考軟件提供的幫助信息。第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用功能描述參數(shù)化計(jì)數(shù)器(限于FLEX系列器件)格雷碼計(jì)數(shù)器通用4位加/減計(jì)數(shù)器,帶有異步設(shè)置、讀取、清零和級聯(lián)功能的左/右移位寄存器16位二進(jìn)制加/減計(jì)數(shù)器,帶有異步設(shè)置的左/右移位寄存器16位二進(jìn)制加/減計(jì)數(shù)器,帶有異步清零和設(shè)置的左/右移位寄存器4位二進(jìn)制加/減計(jì)數(shù)器,同步/異步讀取,異步清零8位二進(jìn)制加/減計(jì)數(shù)器,同步/異步讀取,異步清零雙十進(jìn)制計(jì)數(shù)器第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用表7.6計(jì)數(shù)器宏模塊目錄宏模塊名稱lpm———

countergray4unl

cnt16cud

slr16cudsrb4count8count74687469雙二進(jìn)制計(jì)數(shù)器7490十進(jìn)制/二進(jìn)制計(jì)數(shù)器(不推薦使用)7492十二進(jìn)制計(jì)數(shù)器74934位二進(jìn)制計(jì)數(shù)器741434位計(jì)數(shù)/鎖存器,帶有7位輸出驅(qū)動器741604位十進(jìn)制計(jì)數(shù)器,同步讀取,異步清零741614位二進(jìn)制加法計(jì)數(shù)器,同步讀取,異步清零741624位二進(jìn)制加法計(jì)數(shù)器,同步讀取,同步清零741634位二進(jìn)制加法計(jì)數(shù)器,同步讀取,同步清零74168同步4位十進(jìn)制加/減計(jì)數(shù)器74169同步4位二進(jìn)制加/減計(jì)數(shù)器第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用74176可預(yù)置十進(jìn)制計(jì)數(shù)器74177可預(yù)置二進(jìn)制計(jì)數(shù)器741904位十進(jìn)制加/減計(jì)數(shù)器,異步讀取7419l4位二進(jìn)制加/減計(jì)數(shù)器,異步讀取741924位十進(jìn)制加/減計(jì)數(shù)器,異步清零741934位二進(jìn)制加/減計(jì)數(shù)器,異步清零74196可預(yù)置十進(jìn)制計(jì)數(shù)器74197可預(yù)置二進(jìn)制計(jì)數(shù)器74290十進(jìn)制計(jì)數(shù)器74292可編程分頻器/數(shù)字定時器74293二進(jìn)制計(jì)數(shù)器第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用74294

可編程分頻器/數(shù)字定時器74390

雙十進(jìn)制計(jì)數(shù)器74393

雙4位加法計(jì)數(shù)器

,

異步清零74490

雙4位十進(jìn)制計(jì)數(shù)器第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用宏模塊名稱功能描述74568十進(jìn)制加/減計(jì)數(shù)器,同步讀取,同步和異步清零74569二進(jìn)制加/減計(jì)數(shù)器,同步讀取,同步和異步清零745908位二進(jìn)制計(jì)數(shù)器,帶有三態(tài)輸出寄存器745928位二進(jìn)制計(jì)數(shù)器,帶有輸入寄存器74668同步十進(jìn)制加/減計(jì)數(shù)器74669同步4位二進(jìn)制加/減計(jì)數(shù)器74690同步十進(jìn)制計(jì)數(shù)器,帶有輸出寄存器,多重三態(tài)輸出,異步清零7469l同步二進(jìn)制計(jì)數(shù)器,帶有輸出寄存器,多重三態(tài)輸出,異步清零第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用74693同步二進(jìn)制計(jì)數(shù)器,帶有輸出寄存器,多重三態(tài)輸出,同步清零74696同步十進(jìn)制加/減計(jì)數(shù)器,帶有輸出寄存器,多重三態(tài)輸出,異步清零74697同步二進(jìn)制加/減計(jì)數(shù)器,帶有輸出寄存器,多重三態(tài)輸出,異步清零74698同步十進(jìn)制加/減計(jì)數(shù)器,帶有輸出寄存器,多重三態(tài)輸出,同步清零74699同步二進(jìn)制加/減計(jì)數(shù)器,帶有輸出寄存器,多重三態(tài)輸出,同步清零第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用圖7.4是一個利用“8count”宏模塊構(gòu)成的“模128同步計(jì)數(shù)器”,“8count”是8位二進(jìn)制加/減計(jì)數(shù)器,采用同步或異步讀取預(yù)置數(shù)據(jù)和異步清零方式?!?count”宏模塊的邏輯參數(shù)如表7.7所示。第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用圖7.4模128同步計(jì)數(shù)器表7.7“8count

”宏模塊的邏輯參數(shù)第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用下面簡要分析一下計(jì)數(shù)器的參數(shù)設(shè)置及其原理:·“CLK”為時鐘輸入端口,“CLRN”為外部清零端口(低電平有效),“Q”為結(jié)果輸出端口;·“DNUP”接地,表示采用加法計(jì)數(shù)方式,在時鐘上升沿的驅(qū)動下,計(jì)數(shù)器的8個輸出端口“QH..QA”以二進(jìn)制方式顯示時鐘脈沖的數(shù)目,其中“QH”為最高有效位(MSB),“QA”為最低有效位(LSB);第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用·“LDN”接讀取控制信號,而將“STEN”懸空(系統(tǒng)默認(rèn)值為接高電平),則將計(jì)數(shù)器配置為同步讀取方式;·數(shù)據(jù)預(yù)置端口“H..A”設(shè)置為零,指示計(jì)數(shù)器初始計(jì)數(shù)從“00000000”開始,其中“H”為最高有效位,“A”為最低有效位;第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用·計(jì)數(shù)器從初始狀態(tài)“00000000”計(jì)數(shù)到“01111111”時,表示已經(jīng)完成一個計(jì)數(shù)周期,在這里用一個8輸入與門檢測這一狀態(tài),當(dāng)“QG..QA”同時為高電平時,與門輸出一個高電平脈沖信號,時間寬度為一個時鐘周期。圖7.5給出了仿真波形,其中“TEST”節(jié)點(diǎn)顯示與門輸出信號的波形。第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用圖7.4中D觸發(fā)器的作用有兩個,其中一個作用是消除與門輸出的毛刺信號。由于器件內(nèi)部存在延時,計(jì)數(shù)器的輸出端口“QG..QA”上高低電平的翻轉(zhuǎn)并不是同時進(jìn)行的,相互之間會有幾個納秒的差異,這就有可能在與門輸出端產(chǎn)生毛刺。從仿真波形“TEST”節(jié)點(diǎn)上可以看到這些毛刺,毛刺只出現(xiàn)在時鐘上升沿之后,而且持續(xù)時間很短(幾個納秒),不會與時鐘上升沿同時出現(xiàn),所以利用D觸發(fā)器就可以消除毛刺。從輸出引腳“Q”上的仿真波形可以看到“TEST”節(jié)點(diǎn)上的毛刺已經(jīng)被消除干凈了。第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用圖7.5模128同步計(jì)數(shù)器仿真波形計(jì)數(shù)器在清零后的初始狀態(tài)已經(jīng)為“00000000”,那么第一個時鐘周期對應(yīng)的計(jì)數(shù)器輸出端口狀態(tài)為“00000001”,這樣就使第一個計(jì)數(shù)周期內(nèi)只能計(jì)127個時鐘脈沖,而不是所希望的128個時鐘脈沖。所以D觸發(fā)器的另一個作用是為計(jì)數(shù)器產(chǎn)生一個時鐘周期的群延遲,使得在計(jì)數(shù)器清零后的所有計(jì)數(shù)周期內(nèi)的脈沖數(shù)目均為128。第7章

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

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用圖7.6修改后的模128同步計(jì)數(shù)器在圖7.4的基礎(chǔ)上,額外增加了一個二輸入“與門”和一個D觸發(fā)器?!芭c門”的作用是產(chǎn)生一個很小的延時,它的輸出端連至D觸發(fā)器的時鐘輸入端。D觸發(fā)器的清零端口“CLRN”與系統(tǒng)時鐘“CLK”相連,輸入端口接高電平。節(jié)點(diǎn)“TEST1”上的信號實(shí)際上就是圖7.4“Q”端口上的輸出信號,該信號經(jīng)過“與門”運(yùn)算后去激勵D觸發(fā)器。第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用從圖7.7的仿真波形上可以看出,在計(jì)數(shù)脈沖出現(xiàn)時,系統(tǒng)時鐘“CLK”處于高電平狀態(tài),在“與門”輸出信號的上升沿激勵下,D觸發(fā)器輸出端變?yōu)楦唠娖?。半個時鐘周期后,“CLK”處于低電平狀態(tài),D觸發(fā)器被清零,其輸出端相應(yīng)地變?yōu)榈碗娖?。由?“Q”端口輸出的計(jì)數(shù)脈沖的寬度為半個時鐘周期,圖7.7的仿真波形清楚地顯示了這一變化。第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用圖7.7修改后的計(jì)數(shù)器仿真波形當(dāng)計(jì)數(shù)器的計(jì)數(shù)周期是一個合數(shù)時,數(shù)學(xué)上可以將該數(shù)寫為幾個整數(shù)的乘積,從計(jì)數(shù)器實(shí)現(xiàn)的角度上講,該計(jì)數(shù)器可以采用幾個計(jì)數(shù)器級聯(lián)的方式實(shí)現(xiàn),各個計(jì)數(shù)器計(jì)數(shù)周期的乘積就是整個計(jì)數(shù)器的計(jì)數(shù)周期。圖7.8所示的電路就是利用“模4計(jì)數(shù)器”和“模32計(jì)數(shù)器”級聯(lián)實(shí)現(xiàn)的“模128同步計(jì)數(shù)器”。采用計(jì)數(shù)器級聯(lián)方式,可以利用幾個短周期的計(jì)數(shù)器構(gòu)成一個長周期的計(jì)數(shù)器,但需要注意的是計(jì)數(shù)脈沖的時間寬度往往是時鐘周期的若干倍,圖7.8所示電路的計(jì)數(shù)脈沖寬度就是時鐘周期的四倍。第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用圖7.8采用計(jì)數(shù)器級聯(lián)方式實(shí)現(xiàn)的128同步計(jì)數(shù)器第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用7.1.4分頻器對于一個時序電路系統(tǒng)來說,一般只有一個時鐘源,各個子系統(tǒng)所需的時鐘是由該時鐘源經(jīng)過分頻電路和倍頻電路得到的。分頻電路的設(shè)計(jì)與實(shí)現(xiàn)比倍頻電路簡單,它可以利用觸發(fā)器、分頻器和計(jì)數(shù)器等功能模塊來實(shí)現(xiàn)。MAX+PLUSⅡ提供了三種分頻器宏模塊,表7.8簡要列出了這些宏模塊的名稱和功能,模塊參數(shù)的設(shè)置可以參考MAX+PLUSⅡ軟件提供的幫助信息。第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用宏模塊名稱功能

述freqdiv

2

、4

、8

、16分頻器7456

雙時鐘5

、10分頻器7457雙時鐘5

、6

、10分頻器第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用表7.8分頻器宏模塊目錄圖7.9中給出了可以用一個D觸發(fā)器和反相器實(shí)現(xiàn)的二分頻器電路,2N次分頻電路(N≥1)可采取將圖7.9所示電路級聯(lián)的方式實(shí)現(xiàn)。圖7.10是利用“7456”宏模塊構(gòu)成的雙時鐘5、10分頻器,“7456”的邏輯參數(shù)如表7.9所示。由仿真波形圖7.11可以看出,“CLKA”和“CLKB”可以分別使用兩種不同頻率的時鐘信號。第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用圖7.9用D觸發(fā)器實(shí)現(xiàn)的二分頻器數(shù)第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用表7.9“

7456

”宏模塊的邏輯參第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用圖7.10雙時鐘5、10分頻器圖7.11雙時鐘5、10分頻器仿真波形第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用利用計(jì)數(shù)器可以實(shí)現(xiàn)特殊的分頻功能,圖7.12是一個利用“4count”計(jì)數(shù)器宏模塊實(shí)現(xiàn)的“9/8分頻器”電路?!?count”宏模塊的邏輯參數(shù)如表7.10所示。第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用圖7.129/8分頻器表7.10“4count”宏模塊的邏輯參數(shù)第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用下面簡要分析一下該分頻器的參數(shù)設(shè)置及其原理:·“CLK”為時鐘輸入端口,“CLRN”為外部清零端口(低電平有效),“C”為9/8分頻結(jié)果輸出端口,“Q”為“9計(jì)數(shù)器”輸出端口;·“DNUP”接地,表示采用加法計(jì)數(shù)方式,在時鐘上升沿的驅(qū)動下,計(jì)數(shù)器的四個輸出端口“QD..QA”以二進(jìn)制方式顯示時鐘脈沖的數(shù)目;·“LDN”接讀取控制信號,“STEN”接高電平,將計(jì)數(shù)器配置為同步讀取方式;第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用·數(shù)據(jù)預(yù)置端口“D..A”設(shè)置為零,指示計(jì)數(shù)器初始計(jì)數(shù)從“0000”開始;·計(jì)數(shù)器從初始狀態(tài)“0000”計(jì)數(shù)到“1000”時表示已經(jīng)完成一個計(jì)數(shù)周期,此時“QD”輸出高電平。D觸發(fā)器用時鐘的下降沿觸發(fā),目的是使輸出脈沖滯后半個時鐘周期,圖7.13中“TEST”節(jié)點(diǎn)的仿真波形描述了這一信號?!癟EST”節(jié)點(diǎn)信號與時鐘做“與”邏輯運(yùn)算,產(chǎn)生計(jì)數(shù)周期為9的計(jì)數(shù)脈沖,“TEST”節(jié)點(diǎn)信號的反向信號與時鐘的“與”邏輯運(yùn)算產(chǎn)生“9/8”分頻信號。第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用圖7.139/8分頻器仿真波形與計(jì)數(shù)器類似,將幾個分頻器級聯(lián)起來,可以實(shí)現(xiàn)高分頻比電路。如果級聯(lián)電路的最后一級采用2N分頻器,可以使輸出信號的占空比為50%。第7章

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

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用MAX+PLUSⅡ軟件所提供的多路復(fù)用器宏模塊已在表7.11中列出,有關(guān)具體模塊的參數(shù)設(shè)置可以參考該軟件提供的幫助信息。圖7.14是用“l(fā)pm-mux”宏模塊設(shè)計(jì)的四路數(shù)據(jù)采集電路,在原理圖輸入時,當(dāng)選定“l(fā)pm-mux”模塊后,系統(tǒng)會提示設(shè)計(jì)人員設(shè)置模塊的參數(shù)?!發(fā)pm-mux”的邏輯參數(shù)表7.12所示。第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用功能

述參數(shù)化多路復(fù)用器2線一l線多路復(fù)用器16線一1線多路復(fù)用器8位總線的2線一l線多路復(fù)用器8線一l線多路復(fù)用器8線一l線多路復(fù)用器8線一l線多路復(fù)用器雙4線一l線多路復(fù)用器宏模塊名稱lpm---mux2lmux161roux2X8mux81mux7415174151b74153第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用表7.11多路復(fù)用器宏模塊目錄74157四2線一l線多路復(fù)用器74158帶反相輸出的四2線一l線多路復(fù)用器74251帶三態(tài)輸出的8線一

1線數(shù)據(jù)選擇器74253帶三態(tài)輸出的雙4線一l線數(shù)據(jù)選擇器74257帶三態(tài)輸出的四2線一

1線多路復(fù)用器74258帶三態(tài)反相輸出的四2線一土線多路復(fù)用器74298帶存儲功能的四2輸入多路復(fù)用器74352

帶反相輸出的雙4線一l線數(shù)據(jù)選擇器/多路復(fù)用器74353帶三態(tài)反相輸出的雙4線一

1線數(shù)據(jù)選擇器/多路復(fù)用器74354

帶三態(tài)輸出的8線一l線數(shù)據(jù)選擇器/多路復(fù)用器74356

帶三態(tài)輸出的8線一l線數(shù)據(jù)選擇器/多路復(fù)用器74398帶存儲功能的四2輸入多路復(fù)用器74399帶存儲功能的四2輸入多路復(fù)用器第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用圖7.14四路數(shù)據(jù)采集電路表7.12“l(fā)pm-mux”宏模塊的邏輯參數(shù)第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用四路數(shù)據(jù)采集器將并行輸入的四路數(shù)據(jù)按照一定的次序合為一路高速數(shù)據(jù)輸出,每路數(shù)據(jù)線寬度為4,所以“l(fā)pm-mux”的參數(shù)設(shè)置為LPM-WIDTH=4LPM-WIDTHS=2第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用“l(fā)pm-mux”輸入端口“data[][]”的數(shù)據(jù)線寬度為16,用“DATAIN[15..0]”表示,其中A路輸入數(shù)據(jù)“DATAINA[3..0]”占用“DATAIN[3..0]”,B路輸入數(shù)據(jù)“DATAINB[3..0]”占用“DATAIN[7..4]”,C路輸入數(shù)據(jù)“DATAINC[3..0]”占用“DATAIN[11..8]”,D路輸入數(shù)據(jù)“DATAIND[3..0]”占用“DATAIN[15..12]”。第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用整個電路由多路復(fù)用器和控制電路兩部分組成。多路復(fù)用器接收四路輸入數(shù)據(jù),在“SEL[1..0]”的控制下,選擇輸出其中的一路數(shù)據(jù)??刂齐娐酚梢粋€計(jì)數(shù)器構(gòu)成,它周期性產(chǎn)生“00”、“01”、“10”、“11”四種控制信號,分別選通四路輸入數(shù)據(jù)流。圖7.15是四路數(shù)據(jù)采集電路的仿真波形,其中已假設(shè)將四路輸入數(shù)據(jù)時鐘調(diào)整到與時鐘“CLK”同步的狀態(tài)。由圖中可看出,“SEL[1..0]”產(chǎn)生周期性的選通信號,依次將四路輸入數(shù)據(jù)連通到輸出端口上,經(jīng)D觸發(fā)器重新讀取后,在輸出端口“DATAOUT”就得到了合路以后的信號。第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用圖7.15四路數(shù)據(jù)采集電路的仿真波形第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用7.1.6移位寄存器移位寄存器是具有移位功能的寄存器,常用于數(shù)據(jù)的串/并變換、并/串變換以及乘法移位操作、周期序列產(chǎn)生等。移位寄存器可分為左移寄存器、右移寄存器、雙向寄存器、可預(yù)置寄存器以及環(huán)形寄存器等。其中雙向移位寄存器同時具有左移和右移的功能,它是在一般移位寄存器的基礎(chǔ)上,加上左、右移位控制信號構(gòu)成的。表7.13簡要列出了MAX+PLUSⅡ軟件提供的移位寄存器宏模塊的目錄,有關(guān)具體模塊參數(shù)的設(shè)置可以參考該軟件提供的幫助信息。第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用功

述參數(shù)化組合邏輯移位器參數(shù)化移位寄存器8位桶形移位器8位桶形移位器串入串出移位寄存器帶異步預(yù)置和異步清零端的4位移位寄存器4位并行移位寄存器5位移位寄存器帶JK串行輸入和并行輸出端的4位移位寄存器宏模塊名稱lpm—cl

shiftlpm---shiftreg

barrels

tbarrl

stb74917494749574967499第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用表7.13移位寄存器宏模塊目錄74164

串入并出移位寄存器74164b串入并出移位寄存器74165并行讀2,8位移位寄存器74165b并行讀X8位移位寄存器74166帶時鐘禁止端的8位移位寄存器741784位移位寄存器74179帶清零端的4位移位寄存器74194帶并行讀入端的4位雙向移位寄存器741954位并行移位寄存器741988位雙向移位寄存器第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用741998位并行移位寄存器74295帶三態(tài)輸出端的4位右移/左移移位寄存器74299

8位通用移位/存儲寄存器74350帶三態(tài)輸出端的4位移位寄存器74395帶三態(tài)輸出端的4位可級聯(lián)移位寄存器74589帶輸入鎖存和三態(tài)輸出的8位移位寄存器74594帶輸出鎖存的8位移位寄存器74595帶輸出鎖存和三態(tài)輸出的8位移位寄存器74597帶輸入寄存器的8位移位寄存器74671帶強(qiáng)制清零和三態(tài)輸出端的4位通用移位寄存器/鎖存器第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用74672帶同步清零和三態(tài)輸出端的4位通用移位寄存器/鎖存器7467316位移位寄存器7467416位移位寄存器第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用宏模塊名稱功

述在數(shù)字通信系統(tǒng)中,數(shù)據(jù)流的串/并變換和并/串變換電路是經(jīng)常遇到的,利用移位寄存器可以實(shí)現(xiàn)數(shù)據(jù)流的串/并變換和并/串變換。圖7.16所示電路可以將一路數(shù)據(jù)流分成兩路,它使用了一個串入并出移位寄存器“74164”宏單元,表7.14給出了“74164”的邏輯參數(shù)。由于兩路輸出數(shù)據(jù)流的速率是輸入數(shù)據(jù)流速率的一半,所以利用一個T觸發(fā)器將主時鐘“CLK”二分頻,作為輸出數(shù)據(jù)流的時鐘。第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用圖7.16串/并變換電路表7.14“74164”宏模塊的邏輯參數(shù)第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用圖7.17是串/并變換電路的仿真波形,從波形圖上可以看出,輸入數(shù)據(jù)比特流“00011001011011110101111”經(jīng)串/并變換后,被分為兩路低速數(shù)據(jù)流,分別輸出“0010011000”和“01011011110”。第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用圖7.17串/并變換電路仿真波形采用一個“74164”移位寄存器宏模塊最多可將輸入數(shù)據(jù)流分成八路,但在圖7.16所示的電路中,我們只用到了“74164”的兩級移位寄存器,這會不會浪費(fèi)FPGA器件的資源呢?我們知道,MAX+PLUSⅡ軟件具有邏輯優(yōu)化的功能,可以去除設(shè)計(jì)中的冗余電路,所以在這里使用“74164”并不會浪費(fèi)FPGA資源。從編譯生成的.rpt文件中可以看到,整個串并變換電路只占用了五個邏輯單元,每個邏輯單元包含一個觸發(fā)器,圖7.16電路實(shí)際上總共用了五個觸發(fā)器,其中“74164”使用了兩個D觸發(fā)器,數(shù)據(jù)輸出端用了兩個D觸發(fā)器,二分頻電路使用了一個T觸發(fā)器。第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用在電路設(shè)計(jì)中,除了可以利用表7.13中列舉的移位寄存器宏模塊以外,還可以利用觸發(fā)器設(shè)計(jì)所需要的移位寄存器。圖7.18是用D觸發(fā)器設(shè)計(jì)的一個帶有清零端的8位并入串出移位寄存器模塊,模塊名稱為“cshifreg”,圖7.19是該模塊的符號圖?!癱shifreg”的基本功能與“74165”相似,但比“74165”工作更加可靠,表7.15給出了“cshifreg”的邏輯參數(shù)表。第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用表7.15“cshifreg”宏模塊的邏輯參數(shù)第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用圖7.18利用D觸發(fā)器設(shè)計(jì)的8位并入串出移位寄存器第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用圖7.19“cshifreg”模塊的符號圖第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用7.2運(yùn)算電路宏模塊7.2.1加法器和減法器加法器是數(shù)字系統(tǒng)中最基本的運(yùn)算電路,其它運(yùn)算電路如減法器、乘法器和除法器等都可以利用加法器實(shí)現(xiàn)。表7.16列出了MAX+PLUSⅡ提供的加法器和減法器宏模塊的目錄,有關(guān)具體模塊的參數(shù)設(shè)置可以參考該軟件提供的幫助信息。第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用宏模塊名稱

述Lpm_add_sub參數(shù)化加法器/減法器8ladd

8位全加器8fa

ddb

8位全加器7480

門控全加器7482

2位二進(jìn)制全加器7483帶快速進(jìn)位的4位二進(jìn)制全加器74183

雙進(jìn)位存儲全加器74283

帶快速進(jìn)位的4位全加器74385帶清零端的4位加法器/減法器表7.16加法器和減法器宏模塊目錄第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用Altera推薦設(shè)計(jì)者使用“l(fā)pm-add-sub”宏模塊構(gòu)造加法器和減法器,以取代表7.16所示的其它類型的加法器和減法器宏模塊。下面利用“l(fā)pm-add-sub”宏模塊構(gòu)造一個3位二進(jìn)制加法器/減法器,“l(fā)pm-add-sub”宏模塊的基本邏輯參數(shù)如表7.17所示。第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用表7.17“l(fā)pm-add-sub”宏模塊的基本邏輯參數(shù)第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用圖7.20給出了加法器的電路,其中“l(fā)pm-add-sub”的參數(shù)設(shè)置為LPM-WIDTH=3LPM-DIRECTION=ADDLPM-REPRESENTATION=UNSIGNEDcout=usedoverflow=unused第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用整個加法器電路是非常簡單的,只要將輸入數(shù)據(jù)線和輸出數(shù)據(jù)線與“l(fā)pm-add-sub”模塊的輸入/輸出端口正確連接,就可以完成3位加法器功能。“cin”是向最低數(shù)據(jù)位(LSB)的進(jìn)位端口,缺省值為0。圖7.21給出了仿真波形。在數(shù)據(jù)轉(zhuǎn)換時刻,由于每一路信號經(jīng)過的延遲都不相同,所以輸出信號中會帶有一些毛刺,后續(xù)電路可以在信號保持時間內(nèi)重新讀取輸出數(shù)據(jù),以避免毛刺的影響。第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用圖7.203位加法器電路第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用圖7.21

3位加法器仿真波形如果將“l(fā)pm_add_sub”的參數(shù)設(shè)置為LPM_WIDTH=3LPM_DIRECTION=SUBLPM_REPRESENTATION=UNSIGNEDcout=usedoverflow=unused并將“cin”端口接高電平,則圖7.20所示電路就可以做減法運(yùn)算。3位減法器電路如圖7.22所示,圖7.23給出了3位減法器的仿真波形。第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用圖7.223位減法器電路第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用圖7.233位減法器仿真波形上面給出的兩個電路(即圖7.20和圖7.22所示電路)都是通過設(shè)置“LPM_DIRECTION”參數(shù)來定義“l(fā)pm_add_sub”模塊執(zhí)行加法運(yùn)算或減法運(yùn)算。如果希望“l(fā)pm_add_sub”模塊的運(yùn)算功能可控,能夠在不同的時間段內(nèi)分別執(zhí)行加法或減法運(yùn)算,則可以通過“add_sub”端口實(shí)現(xiàn)。在將“add_sub”端口設(shè)置為有效時,必須關(guān)閉“LPM_DIRECTION”參數(shù),否則軟件會提示出錯信息。第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用“add_sub”端口為高電平時,“l(fā)pm_add_sub”模塊執(zhí)行加法運(yùn)算;“add_sub”端口為低電平時,“l(fā)pm_add_sub”模塊執(zhí)行減法運(yùn)算。在做加法運(yùn)算時,“cin”端口應(yīng)保持低電平;做減法運(yùn)算時,“cin”端口應(yīng)保持高電平,所以“cin”端口狀態(tài)與“add_sub”端口狀態(tài)是反相關(guān)系。圖7.24給出了3位可控加/減法器電路,圖7.25是仿真波形。第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用圖7.243位可控加/減法器電路圖7.253位可控加法器/減法器仿真波形第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用對于無符號數(shù)加法,當(dāng)“cout”為低電平時,表示加法運(yùn)算正常;當(dāng)“cout”為高電平時,表示加法運(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”為高電平時,表示減法運(yùn)算正常;當(dāng)“cout”為低電平時,表示被減數(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)。第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用上面向大家介紹了使用“l(fā)pm_add_sub”宏模塊進(jìn)行無符號數(shù)加/減法器的設(shè)計(jì),對于3位二進(jìn)制補(bǔ)碼的加/減法運(yùn)算,需要將部分參數(shù)設(shè)置為LPM_REPRESENTATION=SIGNEDcout=unusedoverflow=used具體的電路圖和仿真波形這里就不再給出了。第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用對于二進(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é)果是無效的。第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用7.2.2乘法器在數(shù)字通信系統(tǒng)和數(shù)字信號處理中,乘法器是必不可少的。利用加法器雖然可以構(gòu)造出乘法器,但使用模塊化的通用乘法器可以大大提高系統(tǒng)的效率和性能。MAX+PLUSⅡ所提供的乘法器宏模塊已在表7.18中列出,有關(guān)具體模塊參數(shù)的設(shè)置可以參考該軟件提供的幫助信息。第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用功

述參數(shù)化乘法器2位帶符號數(shù)值乘法器2X4位并行二進(jìn)制乘法器4位并行二進(jìn)制乘法器4位并行二進(jìn)制乘法器4X4位并行二進(jìn)制乘法器同步6位速率乘法器2位并行二進(jìn)制乘法器4X4位并行二進(jìn)制乘法器(輸出結(jié)果的最高4位)4X4位并行二進(jìn)制乘法器(輸出結(jié)果的最低4位)宏模塊名稱Lpm_multmult2mult24mult4mult4btmult474977426l7428474285第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用表7.18乘法器宏模塊目錄Altera同樣建議設(shè)計(jì)者盡可能使用“l(fā)pm_mult”宏模塊設(shè)計(jì)乘法器,以取代表7.18所示的其它乘法器宏模塊。下面就利用“l(fā)pm_mult”宏模塊設(shè)計(jì)一個3×3位二進(jìn)制乘法器。“l(fā)pm_mult”宏模塊的基本邏輯參數(shù)如表7.19所示。第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用表7.19“l(fā)pm_mult”宏模塊的基本邏輯參數(shù)第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用圖7.263×3位無符號數(shù)乘法電路被乘數(shù)和乘數(shù)可以是無符號數(shù),也可以是帶符號數(shù),如二進(jìn)制補(bǔ)碼。圖7.26是3×3位無符號數(shù)二進(jìn)制乘法器電路,其中“l(fā)pm_mult”宏模塊的參數(shù)設(shè)置為LPM_WIDTHA=3LPM_WIDTHB=3圖7.27給出了該乘法器的仿真波形,從中可看出乘法器可以對輸入的兩個無符號整數(shù)正確地執(zhí)行乘法運(yùn)算。為避免毛刺信號的影響,后續(xù)電路應(yīng)仔細(xì)處理乘積信號中的毛刺。第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用圖7.273×3位無符號數(shù)乘法仿真波形第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用如果將“l(fā)pm_mult”宏模塊的參數(shù)設(shè)置為LPM_WIDTHA=3LPM_WIDTHB=3LPM_REPRESENTATION=SIGNED則“l(fā)pm_mult”執(zhí)行兩個二進(jìn)制補(bǔ)碼的乘法操作,仿真波形如圖7.28所示。第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用圖7.283×3位二進(jìn)制補(bǔ)碼乘法仿真波形第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用利用“l(fā)pm_mult”宏模塊設(shè)計(jì)的乘法器,既可以用FPGA器件的邏輯單元實(shí)現(xiàn),也可以用片內(nèi)RAM實(shí)現(xiàn),設(shè)計(jì)人員對此可以綜合考慮,充分利用片內(nèi)的各種資源。如果利用片內(nèi)RAM構(gòu)造乘法器,則需要將“l(fā)pm_mult”的“USE_EAB”參數(shù)設(shè)置為“ON”。除了使用乘法器宏模塊以外,還可以采用存儲器來實(shí)現(xiàn)乘法運(yùn)算,這部分內(nèi)容將在7.3.3節(jié)中介紹。第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用7.2.3除法器MAX+PLUSⅡ提供了兩種除法器宏模塊“divide”和“l(fā)pm_divide”,Altera推薦使用“l(fā)pm_divide”宏模塊設(shè)計(jì)除法器。表7.20給出了“l(fā)pm_divide”宏模塊的基本邏輯參數(shù)。第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用表7.20“

l

pm_divide

”宏模塊的基本邏輯參數(shù)第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用圖7.29給出了8位除法器電路,其中“l(fā)pm_divide”宏模塊的參數(shù)設(shè)置為LPM_WIDTHN=8LPM_WIDTHD=8LPM_PIPELINE=6圖7.30是8位無符號數(shù)除法器的仿真波形,由于設(shè)置“LPM_PIPELINE=6”,所以商和余數(shù)從第六個時鐘周期(287ns)開始輸出。第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用圖7.298位無符號數(shù)除法器圖7.308位無符號數(shù)除法器仿真波形第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用7.2.4絕對值運(yùn)算MAX+PLUSⅡ提供了絕對值運(yùn)算宏模塊“l(fā)pm_abs”,表7.21給出了“l(fā)pm_abs”宏模塊的基本邏輯參數(shù)。圖7.31給出了3位二進(jìn)制補(bǔ)碼絕對值運(yùn)算電路,其中“l(fā)pm_abs”宏模塊的參數(shù)設(shè)置為LPM_WIDTH=3第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用表7.21“

l

pm_abs

”宏模塊的基本邏輯參

數(shù)第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用圖7.313位二進(jìn)制補(bǔ)碼絕對值運(yùn)算電路第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用圖7.32是仿真波形。由二進(jìn)制補(bǔ)碼的記數(shù)方法可知,其負(fù)數(shù)比正數(shù)多一個,如圖7.32中的“100”代表十進(jìn)制數(shù)的“-4”,但3位二進(jìn)制補(bǔ)碼無法表示“+4”,這時對“100”做絕對值運(yùn)算便會發(fā)生溢出,“overflow”端口狀態(tài)由低電平轉(zhuǎn)變?yōu)楦唠娖?。解決計(jì)算溢出的方法也很簡單,只要在“OUT[2..0]”的最高有效位上插入一個“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ǔ)碼。第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用圖7.32

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

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用7.2.5數(shù)值比較器兩個二進(jìn)制數(shù)A和B的大小關(guān)系總共有六種情況,分別是A=B、A≥B、A≤B、A>B、A<B以及A≠B,數(shù)值比較器可以對這六種情況做出判斷。在信號檢測和門限判決電路中經(jīng)常會用到數(shù)值比較器。表7.22列出了MAX+PLUSⅡ提供的數(shù)值比較器宏模塊的目錄,有關(guān)具體模塊參數(shù)的設(shè)置可以參考該軟件提供的幫助信息。第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用

74518B

8位恒等比較器

74684

8位數(shù)值/恒等比較器 74686

8位數(shù)值/恒等比較器

746888位恒等比較器

8mcompb

8位數(shù)值比較器7485

4位數(shù)值比較器745188位恒等比較器第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用功

述參數(shù)化比較器8位數(shù)值比較器表7.22

數(shù)值比較器宏模塊目錄宏模塊名稱lpm—compare8mcompAltera推薦設(shè)計(jì)人員使用“l(fā)pm_compare”宏模塊構(gòu)造數(shù)值比較器,以取代表7.22所示的其它類型的數(shù)值比較器模塊。下面利用“l(fā)pm_compare”宏模塊構(gòu)造一個3位二進(jìn)制數(shù)值比較器,“l(fā)pm_compare”宏模塊的基本邏輯參數(shù)如表7.23所示。第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用表7.23“

l

pm_compare

”宏模塊的基本邏輯參數(shù)第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用圖7.33是利用“l(fā)pm_compare”宏模塊設(shè)計(jì)的3位無符號二進(jìn)制數(shù)值比較器,其中“l(fā)pm-compare”的參數(shù)設(shè)置為LPM_WIDTH=3LPM_REPRESENTATION=UNSIGNED圖7.34是該電路的仿真波形。第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用圖7.333位無符號二進(jìn)制數(shù)比較器電路第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用圖7.343位無符號二進(jìn)制數(shù)比較器仿真波形第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用如果將“l(fā)pm_compare”的參數(shù)設(shè)置為LPM_WIDTH=3LPM_REPRESENTATION=SIGNED則可構(gòu)成3位二進(jìn)制補(bǔ)碼比較器電路。圖7.35是二進(jìn)制補(bǔ)碼比較器的仿真波形。由于比較器內(nèi)部信號的延遲各不相同,所以在輸出信號中出現(xiàn)毛刺,設(shè)計(jì)人員應(yīng)對毛刺信號進(jìn)行妥善處理,以避免其對后續(xù)電路的影響。第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用圖7.353位二進(jìn)制補(bǔ)碼比較器仿真波形第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用“編碼”就是用代碼去表示特定的信號。實(shí)現(xiàn)編碼的電路稱為“編碼器”,它是多輸入、多輸出的組合電路。普通編碼器在同一時刻只能有一個輸入端有信號輸入,而優(yōu)先編碼器允許幾個輸入端同時有信號到來,但各個輸入端的優(yōu)先權(quán)不同,輸出自動對優(yōu)先權(quán)較高的輸入進(jìn)行編碼。這種優(yōu)先編碼器在控制系統(tǒng)中有時是非常需要的。第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用7.2.6編碼器和譯碼器“譯碼”是“編碼”的相反過程,所謂譯碼器,就是對給定的碼組進(jìn)行“翻譯”,變成相應(yīng)的狀態(tài),使輸出通道中相應(yīng)的一路有信號輸出。譯碼器是多輸入、多輸出的組合邏輯電路,在數(shù)字裝置中用途比較廣泛。譯碼器除了把二進(jìn)制代碼譯成十進(jìn)制代碼外,還經(jīng)常用于各種數(shù)字顯示的譯碼、組合控制信號等等。表7.24和表7.25分別列出了MAX+PLUSⅡ提供的編碼器和譯碼器宏模塊的目錄,有關(guān)具體模塊參數(shù)的設(shè)置可以參考該軟件提供的幫助信息。第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用宏模塊名稱

述7414710線一4線BCD編碼器741488線一3線八進(jìn)制編碼器74348帶三態(tài)輸出的8線一3線優(yōu)先權(quán)編碼器第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用表7.24編碼器宏模塊目錄功能

述參數(shù)化譯碼器4位二進(jìn)制-16線譯碼器4位二進(jìn)制-16線譯碼器宏模塊名稱Lpm_decode16dmux16ndmux第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用表7.25譯碼器宏模塊目錄宏模塊名稱

述7442l線一工0線BCD一十進(jìn)制譯碼器7443

余3碼一十進(jìn)制譯碼器7444余3格雷碼一十進(jìn)制譯碼器7445BCD碼一十進(jìn)制譯碼器7446

BCD碼一7段譯碼器7447

BCD碼一7段譯碼器7448

BCD碼一7段譯碼器7449

BCD碼一7段譯碼器74137帶地址鎖存的3線一8線譯碼器第7章

MAX+PLUSⅡ開發(fā)軟件中的宏模塊及其應(yīng)用741383線一8線譯碼器74139雙線一4線譯碼器74145BCD碼一十進(jìn)制譯碼器741544線一

16線譯碼器74155雙2線一4線譯碼器/多路輸出選擇器74156雙2線一4線譯碼器/多路輸出選擇器74246BCD碼—

7段譯碼器74247BCD碼一7段譯碼器’74248

BCD碼一7段譯碼器74445

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論