例試設(shè)計(jì)一個(gè)邏輯電路課件_第1頁(yè)
例試設(shè)計(jì)一個(gè)邏輯電路課件_第2頁(yè)
例試設(shè)計(jì)一個(gè)邏輯電路課件_第3頁(yè)
例試設(shè)計(jì)一個(gè)邏輯電路課件_第4頁(yè)
例試設(shè)計(jì)一個(gè)邏輯電路課件_第5頁(yè)
已閱讀5頁(yè),還剩31頁(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è)計(jì)一個(gè)邏輯電路,X=xn-1xn-2…x1x0是該電路得串行輸入信號(hào),Z為它的輸出,表示X中包含的1個(gè)數(shù)。含1統(tǒng)計(jì)電路統(tǒng)計(jì)結(jié)果輸入序列X

對(duì)于這樣一個(gè)看似十分簡(jiǎn)單的邏輯電路,卻難以用狀態(tài)表對(duì)它進(jìn)行描述,對(duì)于這樣一個(gè)n位的串行輸入序列,將有2n種不同的組合,顯然不能按當(dāng)前已收到的序列來(lái)規(guī)定電路的狀態(tài)。如果這樣規(guī)定,則需要2n個(gè)狀態(tài);顯然也不能按當(dāng)前序列中已包含1的個(gè)數(shù)來(lái)規(guī)定狀態(tài),如果這樣,則需要n+1個(gè)狀態(tài),狀態(tài)表也將十分龐大。5-3

硬件描述語(yǔ)言VHDL即:分析:例試設(shè)計(jì)一個(gè)邏輯電路

由電路功能直接導(dǎo)出狀態(tài)表的方法并非對(duì)所有的電路設(shè)計(jì)都是適用的,但如果從為實(shí)現(xiàn)上述功能必須完成的操作出發(fā),問(wèn)題就可能很容易解決。由此可見(jiàn):(1)該電路為統(tǒng)計(jì)序列中含有的“1”的個(gè)數(shù),必須包含有一個(gè)加1計(jì)數(shù)器。(2)僅當(dāng)輸入信號(hào)為1時(shí)才進(jìn)行加1計(jì)數(shù),所以必須還應(yīng)有判別操作,要做的工作就是設(shè)計(jì)判別電路和計(jì)數(shù)器,并配置相應(yīng)的控制電路使它們能協(xié)調(diào)地工作,以完成預(yù)定的功能。例試設(shè)計(jì)一個(gè)邏輯電路開(kāi)始Z0n0n

n+1x=1?n=N?Z

Z+1NYNY例試設(shè)計(jì)一個(gè)邏輯電路算法設(shè)計(jì)的思想:是把系統(tǒng)應(yīng)實(shí)現(xiàn)的邏輯功能看作是應(yīng)完成的某種運(yùn)算或操作,若這一運(yùn)算或操作十分復(fù)雜,則可以把它分解成若干個(gè)子運(yùn)算或子操作系統(tǒng)的算法描述的特征。(1)含有若干個(gè)子運(yùn)算,實(shí)現(xiàn)對(duì)數(shù)據(jù)或信息的存儲(chǔ)傳輸或處理。(2)具有相應(yīng)的控制程序,控制各子運(yùn)算的執(zhí)行順序。在導(dǎo)出算法流圖后,便可將電路劃分成數(shù)據(jù)處理單元和控制單元??刂破饔?jì)A計(jì)BZCPCRCRC1C2Xn=N?結(jié)束﹥﹥﹥例試設(shè)計(jì)一個(gè)邏輯電路硬件描述語(yǔ)言VHDL概述:

隨著超大規(guī)模集成電路工藝的發(fā)展,待設(shè)計(jì)電路的規(guī)模越來(lái)越大,傳統(tǒng)的手工藝已無(wú)發(fā)適應(yīng)設(shè)計(jì)復(fù)雜數(shù)字系統(tǒng)的要求。然而超大規(guī)模集成電路的發(fā)展也推動(dòng)了計(jì)算機(jī)技術(shù)和數(shù)字技術(shù)的發(fā)展,使人們有可能開(kāi)發(fā)出功能強(qiáng)大的電子設(shè)計(jì)自動(dòng)化(簡(jiǎn)稱EDA)軟件,從而改變了人們的設(shè)計(jì)思想和設(shè)計(jì)方法,實(shí)現(xiàn)設(shè)計(jì)自動(dòng)化。

數(shù)字系統(tǒng)設(shè)計(jì)歷來(lái)存在兩個(gè)分支,即:系統(tǒng)硬件設(shè)計(jì)和系統(tǒng)軟件設(shè)計(jì),但是隨著計(jì)算機(jī)技術(shù)的發(fā)展和硬件描述語(yǔ)言HDL的出現(xiàn),使這種情況又有新的變化,數(shù)字系統(tǒng)的硬件結(jié)構(gòu)及其行為完全可以用HDL語(yǔ)言來(lái)描述和生成,這樣即使是軟件設(shè)計(jì)人員也同樣可以方便的借助HDL語(yǔ)言,設(shè)計(jì)出符合要求的硬件系統(tǒng)。例試設(shè)計(jì)一個(gè)邏輯電路

另外也為數(shù)字系統(tǒng)的硬件、軟件協(xié)同設(shè)計(jì)打下了良好的基礎(chǔ),數(shù)字系統(tǒng)的硬件、軟件設(shè)計(jì)可以在一開(kāi)始就進(jìn)行通盤(pán)考慮,進(jìn)行早期仿真,這就大大提高了系統(tǒng)設(shè)計(jì)的效率。所謂硬件描述語(yǔ)言:就是可以描述硬件電路的功能、信號(hào)連接關(guān)系及定時(shí)關(guān)系的語(yǔ)言。例試設(shè)計(jì)一個(gè)邏輯電路1.自下而上的設(shè)計(jì)方法1.自上而下的設(shè)計(jì)方法(核心是算法思想的設(shè)計(jì))2.采用通用的邏輯元器件2.系統(tǒng)中可大量采用ASIC芯片3.在系統(tǒng)硬件設(shè)計(jì)的后期進(jìn)行仿真和調(diào)試3.系統(tǒng)采用早期仿真,降低了硬件電路設(shè)計(jì)難度4.主要設(shè)計(jì)文件是原理圖4.主要設(shè)計(jì)文件是HDL編寫(xiě)的源程序

傳統(tǒng)的系統(tǒng)硬件設(shè)計(jì)方法與利用硬件描述語(yǔ)言(HDL)的硬件電路設(shè)計(jì)方法的比較:例試設(shè)計(jì)一個(gè)邏輯電路第三步:系統(tǒng)調(diào)試從選擇具體的元器件開(kāi)始,并用這些元器件進(jìn)行邏輯電路設(shè)計(jì),完成系統(tǒng)各獨(dú)立功能模塊,然后再連接。例:設(shè)計(jì)六進(jìn)制計(jì)數(shù)器第一步:選擇器件第二步:電路設(shè)計(jì)S5S4S3S2S1S0/0/0/0/0/0/0Q3

Q2

Q1

Q3n+1

Q2n+1

Q1n+1

Z000001000101000100110011100010010101010001例試設(shè)計(jì)一個(gè)邏輯電路1JQK2JQK3JQK&ZCP例試設(shè)計(jì)一個(gè)邏輯電路六進(jìn)制計(jì)數(shù)器

LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;

PORT(clk,clr,en:INSTD_LOGIC;qa,qb,qc:OUTSTD_LOGIC);ENDcnt6;

cnt6clrclkqaen

qcqbENTITYcnt6IS例試設(shè)計(jì)一個(gè)邏輯電路

ARCHITECTURErtlOFcnt6IS

SIGNALq:STD_LOGIC_VECTOR(2DOWNTO0);

BEGIN

PROCESS(clk)VARIABLEq6:INTEGER;

BEGIN

IF(clk’EVENTANDclk=‘1’)THEN

IF(clr=‘0’)THENq6:=‘0’;ELSIF(en=‘1’)THEN

IF(q6=5)THENq6:=0;

例試設(shè)計(jì)一個(gè)邏輯電路

ELSEq6:=q6+1;

ENDIF;ENDIF;ENDIF;q<=CONV_STD_LOGIC_VECTOR(q6,3)qa<=q(0);qb<=q(1);qc<=q(2);

ENDPROCESS;ENDrtl;

例試設(shè)計(jì)一個(gè)邏輯電路第一層:是行為描述,(較小規(guī)模系統(tǒng)時(shí)常常省略)實(shí)質(zhì)是對(duì)整個(gè)系統(tǒng)的數(shù)學(xué)模型進(jìn)行描述。第二層:是RTL(寄存器)描述,要想得到硬件的具體實(shí)現(xiàn),必須將行為方式描述的VHDL程序改寫(xiě)成RTL描述的VHDL程序。第三層:是邏輯綜合,將RTL描述的程序轉(zhuǎn)換成用基本邏輯元件(宏單元)表示的文件,相當(dāng)于在人工設(shè)計(jì)硬件電路時(shí),根據(jù)系統(tǒng)要求畫(huà)出了系統(tǒng)的電原理圖。例試設(shè)計(jì)一個(gè)邏輯電路一.VHDL語(yǔ)言描述數(shù)字系統(tǒng)的基本方法在電原理圖中如果要描述一個(gè)”與非”,會(huì)想到兩件事:&cba&cba(1)確定輸入輸出(2)確定功能同理:在VHDL中,所有的部件(小至一個(gè)門(mén),大至一個(gè)CPU芯片或整個(gè)系統(tǒng))都是用設(shè)計(jì)實(shí)體(DesignEntity)來(lái)描述,設(shè)計(jì)實(shí)體是描述電路的基本方法。描述電路的輸入、輸出具體指明了對(duì)應(yīng)的行為、元件及內(nèi)部的連接關(guān)系,即定義具體的功能。設(shè)計(jì)實(shí)體實(shí)體:構(gòu)造體:例試設(shè)計(jì)一個(gè)邏輯電路1.實(shí)體ENTITY

實(shí)體名

IS[類屬參數(shù)說(shuō)明][端口說(shuō)明]END

實(shí)體名*大寫(xiě)字母表示實(shí)體描述的框架,所用的詞都是VHDL語(yǔ)言的保留用詞,是不可缺少和省略的部分(大小寫(xiě)視為一樣,為區(qū)別,關(guān)鍵詞用大寫(xiě))。例試設(shè)計(jì)一個(gè)邏輯電路ENTITYmux2ISGENERIC(m:TIME:=1ns);PORT(d0,d1,se1:INBIT;q:OUTBIT);ENDmux2&&1>1d0d1se1q例:二選一選擇器電原理圖例試設(shè)計(jì)一個(gè)邏輯電路tmp2:=d1AND(NOTse1);tmp3:=tpm1ORtmp2;tmp<=tmp3Q<=tmpAFTERmENDPROCESS;ENDconnect;ARCHITECTUREconnectOFmux2ISSIGNALtmp:BIT;BEGINPROCESS(d0,d1,se1)VARIABLEtmp1,tmp2,tmp3:BIT;BEGINtmp1:=d0ANDse1;例試設(shè)計(jì)一個(gè)邏輯電路(1)類屬參數(shù)說(shuō)明(必須放在端口說(shuō)明之前,用于指定參數(shù))GENERIC(m:TIME:=1ns)該語(yǔ)句指定了構(gòu)造體內(nèi)m的值為1ns,這樣語(yǔ)句q<=tmpAFTERm;表示tmp經(jīng)1ns才送到q。即:GENERIC利用類屬參數(shù)為q建立一個(gè)延遲值。(2)端口說(shuō)明

PORT(端口名{,端口名}:方向數(shù)據(jù)類型名 端口名{,端口名}:方向數(shù)據(jù)類型名);a)端口名:賦予每個(gè)外部引腳的名稱,通常用一個(gè)或幾個(gè)英文字母,或用英文字母加數(shù)字來(lái)命名之。例試設(shè)計(jì)一個(gè)邏輯電路b)端口方向: 方向定義含義IN輸入OUT輸出(內(nèi)部不可使用)INOUT雙向BUFFER輸出(內(nèi)部可再使用)LINKAGE不指定方向,無(wú)論哪 一方向都可連接dclkOUTqdclkq&BUFFER例試設(shè)計(jì)一個(gè)邏輯電路c)數(shù)據(jù)類型:POPT(d0,d1,sel:INBIT; q:OUTBIT; bus:OUTBIT-VECTOR(TDOWNTO0)*說(shuō)明符號(hào)不同特別要注意d0,d1,sel,q都是BIT類型“0”或“1”,bus是BIT-VECTOR類型,由B7-B08位構(gòu)成

在VHDL中有10種標(biāo)準(zhǔn)數(shù)據(jù)類型,而在邏輯電路中常用到兩種:BIT或BIT-VECTOR(一組二進(jìn)制數(shù)的值)。例:例試設(shè)計(jì)一個(gè)邏輯電路LIBRARYIEEE;USEIEEE.STD-LOGIC-1164.ALL;ENTITYmuISPOPT(d0,d1,sel:INSTD-LOGIC; q:OUTSTD-LOGIC;bus:OUTSTD-LOGIC-VECTOR(TDOWNTO0);ENDmu;STD-LOGIC代替BIT,類型不一樣。有9種。BIT在VHDL標(biāo)準(zhǔn)庫(kù)中存在,不用說(shuō)明,STD-LOGIC在IEEE庫(kù)的1164集合中定義,必須加庫(kù)說(shuō)明和包說(shuō)明語(yǔ)句(在實(shí)體說(shuō)明前)。例試設(shè)計(jì)一個(gè)邏輯電路ARCHITECTURE

構(gòu)造體名OF

實(shí)體名IS[定義語(yǔ)句]內(nèi)部信號(hào),常數(shù),數(shù)據(jù)類型,函數(shù)等的定義;BEGIN[并行處理語(yǔ)句];END

構(gòu)造體名;(1)構(gòu)造體名稱的命名

可以由設(shè)計(jì)者自由命名,但大多數(shù)以行為(behaviur)、數(shù)據(jù)流(dateflow)、寄存器傳輸(rtl)或者結(jié)構(gòu)(structural)、方程(funct)來(lái)命名,使得閱讀者能直接進(jìn)入設(shè)計(jì)者所采用的描述方式。例:ARCHITECTURESTRUC/connectOFMUXIS表明connet是從屬于MUX的結(jié)構(gòu)體。2.構(gòu)造體例試設(shè)計(jì)一個(gè)邏輯電路(2)定義語(yǔ)句

位于ARCHITECTURE和BEGIN之間,用于對(duì)構(gòu)造體內(nèi)部所使用的數(shù)據(jù)對(duì)象進(jìn)行定義。VHDL中由四類對(duì)象:SIGNAL(信號(hào))、VARIABLB(變量)、CONSTANT(常量)、FILE(文件)。對(duì)象的說(shuō)明格式為:對(duì)象類別標(biāo)示符表;子類型標(biāo)示[:=初值]數(shù)據(jù)類型可缺省SIGNALclock:BIT;VARIABLEi:INTEGER:=13CONSTANTdelay:TIME:=5ns例:例試設(shè)計(jì)一個(gè)邏輯電路

信號(hào)類型的對(duì)象相當(dāng)于元件之間的連線,端口說(shuō)明中的對(duì)象均為信號(hào)類型可不作說(shuō)明,但需指明流向,而在結(jié)構(gòu)體中則不需說(shuō)明由內(nèi)部信號(hào)流向決定。VHDL有很強(qiáng)的數(shù)據(jù)類型,但一個(gè)對(duì)象只能有一種類型,施加于該對(duì)象的操作必須與該類型匹配(類型、位長(zhǎng))(a)標(biāo)準(zhǔn)的數(shù)據(jù)類型10種整數(shù)、實(shí)數(shù)、位、位矢量、布爾量、字符、時(shí)間、錯(cuò)誤等級(jí)、自然數(shù)、字符串。例試設(shè)計(jì)一個(gè)邏輯電路(b)用戶定義的數(shù)據(jù)類型例:TYPEweekIS(sun,mon,tue,wed,thu,fri,sat);(c)用戶定義的子類型SUBTYPEiobusISSTD-LOGIC-VECTOR(7DOWNTO0);TYPE數(shù)據(jù)類型名{,數(shù)據(jù)類型名}數(shù)據(jù)類型定義,格式:整型、浮點(diǎn)型、枚舉型、時(shí)間型等。定義了一個(gè)week的數(shù)據(jù)類型,比使用代碼0、1直觀方便多了。用戶對(duì)已定義的數(shù)據(jù)類型,作一些范圍的限制形成的一種新的數(shù)據(jù)類型.。格式:SUBTYPE子類型名IS數(shù)據(jù)類型名[范圍]例:例試設(shè)計(jì)一個(gè)邏輯電路3.運(yùn)算操作符分三類見(jiàn)P278表5-3-1算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符例試設(shè)計(jì)一個(gè)邏輯電路二.VHDL語(yǔ)言的基本設(shè)計(jì)單元構(gòu)成分五部分:庫(kù)說(shuō)明、集合說(shuō)明、實(shí)體描述、構(gòu)造體描述和配置描述。LIBRARYIEEE;USEIEEE.STD-LOGIC-1164.ALL;ENTITYmux2ISPOPT(d0,d1,sel:INSTD-LOGIC; q:OUTSTD-LOGIC);ENDmux2ARCHITECTURErtlOFmux2ISBEGINPROCESS(d0,d1,sel)VARIABLEtmp1,tmp2,tmp3:STD-LOGIC;庫(kù)說(shuō)明(因?yàn)槭褂昧薎EEE庫(kù)中定義的集合)包集合說(shuō)明STD-LOGIC數(shù)據(jù)類型在1164集合中定義實(shí)體說(shuō)明構(gòu)造體說(shuō)明例:一個(gè)完整的設(shè)計(jì)單元構(gòu)成例試設(shè)計(jì)一個(gè)邏輯電路BEGINtmp1:=d0ANDsel;tmp2:=d1AND(NOTsel);tmp3:=tmp1ORtmp2;ENDPROCESS;ENDtrl;ARCHITECTURErtlOFmux2ISENDtrl2;CONFIGURATIONrtl-mux2OFmux2ISFORtrl1ENDFOR;ENDrtl-mux2;…..構(gòu)造體說(shuō)明配置說(shuō)明

在本例題中包含了一個(gè)實(shí)體和兩個(gè)構(gòu)造體,配置說(shuō)明編譯時(shí)應(yīng)選中rtl1構(gòu)造體,如只有一個(gè),配置說(shuō)明可省。例試設(shè)計(jì)一個(gè)邏輯電路1.構(gòu)造體的子結(jié)構(gòu)描述

在規(guī)模較大的電路設(shè)計(jì)中,全部電路都用唯一的一個(gè)模塊來(lái)描述是非常不方便的。為此,電路設(shè)計(jì)者總希望將整個(gè)電路分成若干個(gè)相對(duì)比較獨(dú)立的模塊來(lái)進(jìn)行電路的描述。這樣一個(gè)構(gòu)造體可以用幾個(gè)子結(jié)構(gòu),即:相對(duì)比較獨(dú)立的模塊來(lái)構(gòu)成。VHDL可以有三種形式的子結(jié)構(gòu)描述語(yǔ)句BLOCK、PROCESS、SUBPROGRAMS(a)進(jìn)程語(yǔ)句PROCESS[進(jìn)程標(biāo)號(hào):]PROCESS[(敏感信號(hào))][IS] <說(shuō)明區(qū)>:用以說(shuō)明數(shù)據(jù)類型,子程序,變量 BEGIN <順序語(yǔ)句> ENDPROCESS[進(jìn)程標(biāo)號(hào)] 格式:例試設(shè)計(jì)一個(gè)邏輯電路進(jìn)程語(yǔ)句用于描述一個(gè)操作過(guò)程,進(jìn)程內(nèi)部是順序執(zhí)行的。敏感信號(hào):對(duì)相對(duì)獨(dú)立執(zhí)行的并行語(yǔ)句進(jìn)行協(xié)調(diào),實(shí)行同步和異步操作。僅當(dāng)敏感信號(hào)發(fā)生變化時(shí),才被激活。例:P282-283(b)斷言語(yǔ)句ASSERTASSERT語(yǔ)句等價(jià)于一個(gè)進(jìn)程語(yǔ)句,它不作任何操作,僅用以判斷某一條件是否成立,若不成立,則報(bào)告一串信息給設(shè)計(jì)師。故稱之為斷言語(yǔ)句。例:P284例試設(shè)計(jì)一個(gè)邏輯電路2.構(gòu)造體的結(jié)構(gòu)描述方式

所謂構(gòu)造體的結(jié)構(gòu)描述方式,就是在多層次的設(shè)計(jì)中,高層次的設(shè)計(jì)模塊調(diào)用低層次的設(shè)計(jì)模塊,或者直接用電路設(shè)計(jì)單元來(lái)構(gòu)成一個(gè)復(fù)雜的邏輯電路的描述方式.。 ENTITYmux2ISPORT(d0,d1,sel:INBIN; q:OUTBIT);例:&&&>1U1d1seld0U3U2nselabaaqENDmux2例試設(shè)計(jì)一個(gè)邏輯電路ARCHITECTURESTRUCTOFmux2ISCOMPONENTand2PORT(a,b:INBIT; c:OUTBIT;ENDCOMPONENT;COMPONENTor2PORT(a,b:INBIT; c:OUTBIT);ENDCOMPONENT;*COPONENT為實(shí)體內(nèi)部元件的說(shuō)明,指明了在該電路中所使用的已生成的模塊,供本構(gòu)造體調(diào)用。*用PORTMAP()語(yǔ)句將生成的模塊端口與所設(shè)計(jì)的各模塊端口聯(lián)系起來(lái)*SIGNAL為信號(hào)對(duì)象說(shuō)明,

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論