硬件描述語言及器件ppt課件_第1頁
硬件描述語言及器件ppt課件_第2頁
硬件描述語言及器件ppt課件_第3頁
硬件描述語言及器件ppt課件_第4頁
硬件描述語言及器件ppt課件_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、硬件描畫言語及器件 教材:任勇峰等編著 主講教師:劉文怡08/09學(xué)年第1學(xué)期教學(xué)安排n第1講:VHDL概述及其開發(fā)環(huán)境 n第2講:VHDL的根本元素 n第3講:VHDL的進(jìn)程 n第4講:其它并行語句 n第5講:VHDL實(shí)例分析 n第6講:VHDL的順序描畫語句 n第7講:構(gòu)造體的描畫風(fēng)格 n第8講:計數(shù)器和形狀機(jī) n第9講:不同風(fēng)格的形狀機(jī)舉例 n第10講:VHDL綜合舉例第7講: 構(gòu)造體的描畫風(fēng)格 n1 順序語句回想n2 數(shù)據(jù)流描畫法n3 行為描畫法n4 構(gòu)造化描畫法n5 異或門的三種描畫法的實(shí)現(xiàn)對比1 順序語句回想n表達(dá)的是空間順序,而不是時間順序表達(dá)的是空間順序,而不是時間順序n“整個

2、順序語句的執(zhí)行只能是用整個順序語句的執(zhí)行只能是用“時辰來描畫時辰來描畫n把每條語句了解為一片電路,在順序構(gòu)造中,把每條語句了解為一片電路,在順序構(gòu)造中,“不執(zhí)行不執(zhí)行的電路也是存在的!的電路也是存在的!條件語句條件語句y = a when s=”00” else b when s=”01” else c when s=”10” else d; if s=”00” then y=a;elsif s=”01” then y=b;elsif s=” 10” then y=c;else y=d;end if;條件語句小結(jié)nIf If 后是條件表達(dá)式,記住單信號匹配常量為后是條件表達(dá)式,記住單信號匹配常

3、量為“字符,字符,如如 a=1;a=1;而信號向量匹配常量為而信號向量匹配常量為“字符串,如字符串,如 s=“00s=“00。n條件是有優(yōu)先級的,多個條件都可滿足時,執(zhí)行排在最前條件是有優(yōu)先級的,多個條件都可滿足時,執(zhí)行排在最前面的條件。面的條件。nIf If 、elseelse、end ifend if容易記住,但容易記住,但“elseifelseif的拼寫是錯的拼寫是錯的,正確的選項(xiàng)是的,正確的選項(xiàng)是“elsifelsif。n復(fù)雜的條件一定要加括號明確優(yōu)先級。復(fù)雜的條件一定要加括號明確優(yōu)先級。nIfIf語句不能直接用于構(gòu)造體,但條件代入語句可以。語句不能直接用于構(gòu)造體,但條件代入語句可以。

4、nIfIf語句可用于語句可用于processprocess中。中。選擇語句with s select y yyyy=d;end case;代入號右邊是逗號分代入號右邊是逗號分隔的多種條件和取值隔的多種條件和取值選擇條件的多種表示方式nCaseCase語句中的語句中的whenwhen主要有以下四種表達(dá)方式:主要有以下四種表達(dá)方式:n1 1when when 條件選擇值條件選擇值= =語句;語句;n2 2when when 條件選擇值條件選擇值| | 條件選擇值條件選擇值 | | | | 條件選擇值條件選擇值= =語句;語句;n3 3when when 條件選擇值條件選擇值 to to 條件選擇值

5、條件選擇值 = =語句;語句;n4 4when others =when others =順序語句;順序語句;n選擇語句要做到把一切條件都思索進(jìn)去,否那么會使整個選擇語句要做到把一切條件都思索進(jìn)去,否那么會使整個邏輯進(jìn)入不確定形狀。處理方法:邏輯進(jìn)入不確定形狀。處理方法:when otherswhen othersn各條件位置等同,無優(yōu)先順序,除各條件位置等同,無優(yōu)先順序,除othersothers外可以互換。外可以互換。循環(huán)語句nfor-loop語句語法格式為:語句語法格式為:n循環(huán)標(biāo)號:循環(huán)標(biāo)號: for 循環(huán)變量循環(huán)變量 in 變化范圍變化范圍 loopn 命令語句;命令語句;nend

6、loop 循環(huán)標(biāo)號:循環(huán)標(biāo)號:;nwhile 語句語法格式為:語句語法格式為: n循環(huán)標(biāo)號:循環(huán)標(biāo)號: while 條件條件 loopn 命令語句;命令語句;nend loop 循環(huán)標(biāo)號:循環(huán)標(biāo)號:;循環(huán)語句nFor-loopFor-loop語句用于循環(huán)次數(shù)確定的循環(huán),語句用于循環(huán)次數(shù)確定的循環(huán),whilewhilelooploop用用于由條件約束的循環(huán)不作要求。于由條件約束的循環(huán)不作要求。n對比對比 for-generate for-generate 和和 for-loop for-loop ,二者的效果是一樣的,二者的效果是一樣的,但前者可以用于構(gòu)造體,后者不能,只能用于進(jìn)程。但前者可以用

7、于構(gòu)造體,后者不能,只能用于進(jìn)程。n循環(huán)變量不用定義,不能給循環(huán)變量賦值,但可以把循環(huán)循環(huán)變量不用定義,不能給循環(huán)變量賦值,但可以把循環(huán)變量的值作為賦值源。變量的值作為賦值源。2 數(shù)據(jù)流描畫法n數(shù)據(jù)流描畫數(shù)據(jù)流描畫(Dataflow Description) (Dataflow Description) 描畫了數(shù)據(jù)流程的描畫了數(shù)據(jù)流程的運(yùn)動途徑、運(yùn)動方向和運(yùn)動結(jié)果而這些分配方式在運(yùn)動途徑、運(yùn)動方向和運(yùn)動結(jié)果而這些分配方式在VHDLVHDL言言語中可以分成如下三種:語中可以分成如下三種:n1 1直接式的信號代入直接式的信號代入“=。n2 2條件式信號代入條件式信號代入“when-elsewhen

8、-else。n3 3選擇式信號代入選擇式信號代入“with-select-whenwith-select-when。n前面講到的簡單例子大都是采用數(shù)據(jù)流描畫法。前面講到的簡單例子大都是采用數(shù)據(jù)流描畫法。n二路選擇器的電路系統(tǒng)表示圖。二路選擇器的電路系統(tǒng)表示圖。數(shù)據(jù)流描畫法entity mux2 isport(a: in bit_vector(7 downto 0);b: in bit_vector(7 downto 0);c: in bit;y: out bit_vector(7 downto 0);end mux2;architecture mux2_dataflow of mux2 isb

9、egin y=a when c=0 else b;end mux2_dataflow;3 行為描畫法n行為描畫用于表示輸入與輸出間轉(zhuǎn)換的行為,它不需求包行為描畫用于表示輸入與輸出間轉(zhuǎn)換的行為,它不需求包含任何構(gòu)造方面的信息。含任何構(gòu)造方面的信息。n采用自頂向下的設(shè)計方法進(jìn)展集成電路硬件設(shè)計時,采用自頂向下的設(shè)計方法進(jìn)展集成電路硬件設(shè)計時,經(jīng)常是在設(shè)計的最初階段采用行為描畫的方法,將整個電經(jīng)常是在設(shè)計的最初階段采用行為描畫的方法,將整個電路的根本框架構(gòu)造建立起來,即將整個設(shè)計分為假設(shè)干功路的根本框架構(gòu)造建立起來,即將整個設(shè)計分為假設(shè)干功能模塊,每個功能模塊均運(yùn)用行為描畫語句描畫其要實(shí)現(xiàn)能模塊,每

10、個功能模塊均運(yùn)用行為描畫語句描畫其要實(shí)現(xiàn)的功能。在確定整個設(shè)計思緒和方法正確之后,再對整個的功能。在確定整個設(shè)計思緒和方法正確之后,再對整個設(shè)計進(jìn)展細(xì)分,將各個功能模塊運(yùn)用構(gòu)造描畫的方法詳細(xì)設(shè)計進(jìn)展細(xì)分,將各個功能模塊運(yùn)用構(gòu)造描畫的方法詳細(xì)實(shí)現(xiàn),以完成設(shè)計。實(shí)現(xiàn),以完成設(shè)計。n它描畫的根本單元是進(jìn)程它描畫的根本單元是進(jìn)程process語句語句,通常運(yùn)用通常運(yùn)用ifthenelse、caseiswhen等具有順序性的指令等具有順序性的指令來完成。來完成。 行為描畫法實(shí)現(xiàn)比較器nARCHITECTUREbehavioralOF comparatornBEGINn Comp:PROCESS(a,b)

11、n BEGINn IFa bTHEN G 1;n ELSE G 0;n ENDIF;n ENDprocesscomp;nENDbehavioral; 行為描畫法實(shí)現(xiàn)存放器entity reg isport(a:in bit_vector(7 downto 0);clk:in bit;c:in bit;y:out bit_vector(7 downto 0) );end reg;architecture reg_behavior of reg isbeginprocess(clk)beginif (clkevent and clk=1) thenif c=1 theny=a;end if;end

12、 if;end process; 當(dāng)clk上升沿到達(dá)且c為高時,輸出aend reg_behavior;aycclk4 構(gòu)造描畫法元件組合法n構(gòu)造化描畫用于表示構(gòu)成硬件的子元件以及這些子元件之構(gòu)造化描畫用于表示構(gòu)成硬件的子元件以及這些子元件之間的銜接關(guān)系,或者說構(gòu)造描畫是將硬件電路當(dāng)成一些相間的銜接關(guān)系,或者說構(gòu)造描畫是將硬件電路當(dāng)成一些相互銜接的元件集合?;ャ暯拥脑?。n它比行為描畫更詳細(xì),特別是在描畫與硬件的對應(yīng)關(guān)系上,它比行為描畫更詳細(xì),特別是在描畫與硬件的對應(yīng)關(guān)系上,構(gòu)造描畫要比行為描畫更為明顯、直觀。構(gòu)造描畫要比行為描畫更為明顯、直觀。n構(gòu)造描畫的優(yōu)點(diǎn)是可以利用層級方式,將大型硬

13、件電路分構(gòu)造描畫的優(yōu)點(diǎn)是可以利用層級方式,將大型硬件電路分解為小電路或模塊來設(shè)計、仿真和驗(yàn)證。解為小電路或模塊來設(shè)計、仿真和驗(yàn)證。n描畫的步驟是首先聲明元件例示語句描畫的步驟是首先聲明元件例示語句component,其次再闡明這些元件間彼此銜接的對應(yīng)關(guān)系其次再闡明這些元件間彼此銜接的對應(yīng)關(guān)系,即各元件間即各元件間的銜接映射。的銜接映射。 構(gòu)造描畫法n例如,課本圖例如,課本圖3-4是是2-4譯碼器,其中,圖譯碼器,其中,圖a是邏輯符是邏輯符號,圖號,圖b是邏輯圖。是邏輯圖。 na2-4譯碼器邏輯符號;譯碼器邏輯符號; b2-4譯碼器邏輯圖譯碼器邏輯圖 構(gòu)造描畫法n思緒:先選擇元器件,然后運(yùn)用元器

14、件搭建邏輯。思緒:先選擇元器件,然后運(yùn)用元器件搭建邏輯。n元器件:元器件:非門反相器非門反相器2 2個個n三輸入與門三輸入與門4 4個個n首先分別運(yùn)用首先分別運(yùn)用VHDLVHDL言語建立兩個工程,分別實(shí)現(xiàn)反相器和言語建立兩個工程,分別實(shí)現(xiàn)反相器和三輸入與門的邏輯,作為備用元件。三輸入與門的邏輯,作為備用元件。P62P62,例,例3-25/263-25/26n其次建立譯碼器工程,采用其次建立譯碼器工程,采用componentcomponent語句聲明上述兩個語句聲明上述兩個備用元件,在構(gòu)造體中采用備用元件,在構(gòu)造體中采用port map port map 語句完成上圖中各語句完成上圖中各元件的銜

15、接。元件的銜接。(P63(P63,例,例3-27)3-27)n竅門:把連線編號,按編號定義運(yùn)用的信號。竅門:把連線編號,按編號定義運(yùn)用的信號。構(gòu)造描畫法n凡從外部引入或輸出的信號,定義到凡從外部引入或輸出的信號,定義到entityentity中;中;n元件之間的銜接信號,需求定義到構(gòu)造體中。元件之間的銜接信號,需求定義到構(gòu)造體中。n一切連在一同的連線,只能定義一次。一切連在一同的連線,只能定義一次。entity v2to4dec isport(i0,i1,en:in std_logic;y0,y1,y2,y3:out std_logic);end v2to4dec;architecture v

16、2to4dec_structure of v2to4dec iscomponent inv port(i:in std_logic;o:out std_logic);end component;component and3x port(i0,i1,i2 :in std_logic;o:out std_logic);end component;signal i0_not, i1_not:std_logic;beginu1:inv port map (i0, i0_not);u2:inv port map (i1, i1_not);u3:and3x port map (i0_not, i1_not

17、, en, y0);u4:and3x port map (i0, i1_not, en, y1); u5:and3x port map (i0_not, i1, en, y2);u6:and3x port map (i0, i1, en, y3);end v2to4dec_structure;邏輯門的符號表示 異或門電路三種描畫風(fēng)格的實(shí)現(xiàn)的比較ABY000011101110異或門的表達(dá)式:y =ab ab 行為描畫法的實(shí)現(xiàn)library ieee;use ieee.std_logic_1164.all;entity yihuo1 isport(a,b:in std_logic;y:out std_logic);end yihuo1;architecture yihuo1_behavior of yihuo1 isbeginprocess(a,b)beginif a=b theny=0;elsey=1;end if;end process;end yihuo1_behavior;數(shù)據(jù)流描畫法的實(shí)現(xiàn)library ieee;use ieee.std_logic_1164.all;entity yihuo3 isport(a,b:in std_logic;y:out std

溫馨提示

  • 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

提交評論