硬件描述語言及器件5(侯伯亨版)_第1頁(yè)
硬件描述語言及器件5(侯伯亨版)_第2頁(yè)
硬件描述語言及器件5(侯伯亨版)_第3頁(yè)
硬件描述語言及器件5(侯伯亨版)_第4頁(yè)
硬件描述語言及器件5(侯伯亨版)_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、適合班級(jí):11060441 11060442 教學(xué)東區(qū)10306H第五課VHDL語言構(gòu)造體的描述方式 行為描述方式(behaveioralbehaveioral) 寄存器傳輸(RTL)描述方式(dataflowdataflow) 結(jié)構(gòu)描述方式(structuralstructural)三種描述方式 所謂構(gòu)造體的行為描述(Behavioral Descriptions),就是對(duì)整個(gè)系統(tǒng)的數(shù)學(xué)模型的描述。行為描述在EDA工程中稱為高層次描述或高級(jí)描述 。 在行為描述方式的程序中大量采用算術(shù)運(yùn)算、關(guān)系運(yùn)算、慣性延時(shí)、傳輸延時(shí)等難于進(jìn)行邏輯綜合和不能進(jìn)行邏輯綜合的VHDL語句。 采用行為描述方式的VH

2、DL語言程序,在一般情況下只能用于行為層次的仿真,而不能進(jìn)行邏輯綜合。行為描述方式行為描述方式 代入語句 延時(shí)語句 多驅(qū)動(dòng)器描述語句 GENERIC語句在VHDL語言中一些專門用于 描述系統(tǒng)行為的語句: 代入語句是VHDL語言中進(jìn)行行為描述的最基本的語句。 代入語句最普遍的格式為: 信號(hào)量 = 敏感信號(hào)量表達(dá)式;代入語句代入語句 例如: (1)a=b; 該語句的功能是a得到b的值,b為敏感量,b值發(fā)生變化時(shí),該語句執(zhí)行; (2)z=a NOR(b NAND c); 3個(gè)敏感量a,b,c,無論哪一個(gè)的值發(fā)生變化時(shí),該代入語句被執(zhí)行; (3)a=b AFTER 5ns; 當(dāng)b發(fā)生變化5ns以后才代

3、入到信號(hào)a。 例5-1LIBRARY IEEE;-庫(kù)USE IEEE.STD_LOGIC_1164.ALL;-程序包ENTITY and2 IS-實(shí)體 PORT (a,b:IN STD_LOGIC; y:OUT STD_LOGIC);END and2;ARCHITECTURE and2_behaviour OF and2 IS -構(gòu)造體BEGIN y = a AND b AFTER 5 ns;END and2_behaviour; 在VHDL語言中,存在兩種延時(shí)類型:慣性延時(shí)和傳輸延時(shí)。這兩種延時(shí)常用于VHDL語言的行為描述方式。延時(shí)語句延時(shí)語句 在慣性模型中,系統(tǒng)或器件輸出信號(hào)要發(fā)生變化必須

4、有一段時(shí)間的延時(shí),這段延時(shí)時(shí)間常被稱為系統(tǒng)或器件的慣性或稱慣性延時(shí)。 在VHDL語言中,語句中如果不作特別說明,產(chǎn)生的延時(shí)一定是慣性延時(shí)。 特點(diǎn):當(dāng)一個(gè)系統(tǒng)或器件的輸入信號(hào)變化周期小于它的慣性延時(shí)時(shí),其輸出保持不變。 幾乎所有器件都存在慣性延時(shí),因此,硬件電路的設(shè)計(jì)人員為了逼真地仿真硬件電路的實(shí)際工作情況,在代入語句中總要加上慣性延時(shí)時(shí)間的說明。例如: a=b AFTER 5ns; 慣性延時(shí)說明只在行為仿真時(shí)有意義,邏輯綜合時(shí)將被忽略,或者在邏輯綜合前必須去掉延時(shí)說明。慣性延時(shí)慣性延時(shí) 傳輸延時(shí)常用于描述總線延時(shí)、連接線的延時(shí)及ASIC芯片中的路徑延時(shí)。 傳輸延時(shí)不是缺省的,必須在語句中明確說

5、明。 舉例:傳輸延時(shí)傳輸延時(shí)b=a AFTER 20 ns圖1 慣性延時(shí)示例b=TRANSPORT a AFTER 20 ns圖2 傳輸延時(shí)示例 在VHDL語言中,創(chuàng)建一個(gè)驅(qū)動(dòng)器可以由一條信號(hào)代入語句來實(shí)現(xiàn)。當(dāng)有多個(gè)信號(hào)并行輸出時(shí),在構(gòu)造體內(nèi)部必須利用代入語句,對(duì)每個(gè)信號(hào)創(chuàng)建一個(gè)驅(qū)動(dòng)器。 多個(gè)驅(qū)動(dòng)器的輸出連接到同一條信號(hào)線時(shí),由判決函數(shù)決定輸出哪一個(gè)值。 多驅(qū)動(dòng)器的構(gòu)造體應(yīng)按如下方式描述: ARCHITECTURE sample OF sample IS BEGIN a=b AFTER 5ns; a=d AFTER 5ns;-爭(zhēng)議?多個(gè)賦值源 END sample ;多驅(qū)動(dòng)器描述語句多驅(qū)動(dòng)器描

6、述語句寄存器傳輸描述方式寄存器傳輸描述方式 對(duì)于用行為描述方式的VHDL語言程序只有改寫為寄存器傳輸描述方式才能進(jìn)行邏輯綜合 。 寄存器傳輸描述方式也稱為數(shù)據(jù)流描述方式。 在RTL描述方式中有兩種不同的方法: (1)寄存器之間的功能描述方式; (2)寄存器硬件一一對(duì)應(yīng)的直接描述方式。 下面舉一個(gè)二選一電路的例子,用兩種不同的方法來描述該電路。功能描述的功能描述的RTL描述方式描述方式entity mux2 isport( input: in std_logic _vector(1 downto 0); sel : in std_logic; y: out std_logic);end mux2

7、;architecture mux2_dataflow of mux2 isbegin y=input(0) when sel=1 else input(1);end mux2_dataflow; 此方法只需知道外部特性和功能就可以進(jìn)行正確的描述。二選一電路Input(0)Input(1)sely硬件一一對(duì)應(yīng)的硬件一一對(duì)應(yīng)的RTL描述方式描述方式entity mux2 isport( in0,in1,sel : in std_logic; y : out std_logic);end mux2;architecture mux2_dataflow of mux2 isSignal tmp1,t

8、mp2,tmp3: std_logic;begin tmp1=in0 AND sel; tmp2=in1 AND (NOT sel); tmp3=tmp1 OR tmp2; y=tmp3;end mux2_dataflow; 此方法需要了解電路內(nèi)部采用了哪些門電路等細(xì)節(jié),才能用VHDL語言進(jìn)行正確的描述。所以一般采用功能描述的RTL描述方式。 使用RTL描述方式應(yīng)注意的幾個(gè)問題: (1)“X”狀態(tài)的傳遞 所謂“X”狀態(tài)的傳遞實(shí)質(zhì)上是不確定信號(hào)狀態(tài)的傳遞,它將使邏輯電路產(chǎn)生不確定的結(jié)果,不確定“狀態(tài)”在RTL仿真時(shí)是允許出現(xiàn)的,但是在邏輯綜合后的門級(jí)電路仿真中是不允許出現(xiàn)。p83 例5-9和例5

9、-10 例5-9PROCESS(sel)BEGIN IF(sel=1)THENy=0; ELSEy=1; END IF;END PROCESS;例5-10PROCESS(sel)BEGIN IF(sel=0)THENy=1; ELSEy=0; END IF;END PROCESS;當(dāng)sel=X時(shí),輸出的y值將變?yōu)?,這是不合理的。PROCESS(sel)BEGIN IF(sel=1)THENy=0; ELSIF(sel=0)THENy=1; ELSEy=X; END IF;END PROCESS;將程序進(jìn)行修改,使將程序進(jìn)行修改,使RTL仿真結(jié)果和邏輯綜合的仿真結(jié)果一致仿真結(jié)果和邏輯綜合的仿真

10、結(jié)果一致PROCESS(sel)BEGIN IF(sel=0)THENy=1; ELSIF(sel=1)THENy=0; ELSEy=X; END IF;END PROCESS; (2)寄存器RTL描述的限制: 禁止在一個(gè)進(jìn)程中存在兩個(gè)寄存器描述; 禁止使用IF語句中的ELSE項(xiàng); 在一個(gè)進(jìn)程中,不能同時(shí)對(duì)時(shí)鐘上升沿和下降沿敏感,在判斷時(shí)鐘上升沿或下降沿的IF語句中不能出現(xiàn)ELSE項(xiàng)。 寄存器RTL描述中必須代入信號(hào)值。p84 例5-11、例5-12和例5-13(3)關(guān)聯(lián)性強(qiáng)的信號(hào)應(yīng)放在一個(gè)進(jìn)程中 在許多較復(fù)雜的電路中,它有多個(gè)輸入和輸出,有些信號(hào)互相的關(guān)聯(lián)度很高,而有些信號(hào)相互的關(guān)聯(lián)度很低,

11、在這種情況下,為了在邏輯綜合后,使電路的面積和速度指標(biāo)更高,通常將關(guān)聯(lián)度高的信號(hào)放在一個(gè)進(jìn)程中,將電路分成幾個(gè)進(jìn)程來描述。 p85 - 86,例5-14和例5-15 所謂結(jié)構(gòu)描述方式,就是在多層次的設(shè)計(jì)中,高層次的設(shè)計(jì)模塊調(diào)用低層次的設(shè)計(jì)模塊,或者直接用門電路設(shè)計(jì)單元來構(gòu)成一個(gè)復(fù)雜的邏輯電路的描述方式。 它比行為描述更具體,特別是在描述與硬件的對(duì)應(yīng)關(guān)系上,結(jié)構(gòu)描述要比行為描述更為明顯、直觀。 結(jié)構(gòu)描述的優(yōu)點(diǎn)是可以利用層級(jí)方式,將大型硬件電路分解為小電路或模塊來設(shè)計(jì)、仿真和驗(yàn)證。結(jié)構(gòu)描述方式結(jié)構(gòu)描述方式 例如:例如:2-4譯碼器,其中圖(譯碼器,其中圖(a)是邏輯符號(hào),圖()是邏輯符號(hào),圖(b)

12、是邏輯圖。是邏輯圖。 結(jié)構(gòu)描述的基本柜架(a)2-4譯碼器邏輯符號(hào)譯碼器邏輯符號(hào)(b)2-4譯碼器邏輯圖譯碼器邏輯圖 思路:(1)先選擇元器件,然后使用元器件搭建邏輯。(2)元器件:非門(反相器)2個(gè)、三輸入與門4個(gè)(3)首先分別使用VHDL語言建立兩個(gè)工程,分別實(shí)現(xiàn)反相器和三輸入與門的邏輯,作為備用元件。(4)其次建立譯碼器工程,采用component語句聲明上述兩個(gè)備用元件,在結(jié)構(gòu)體中采用port map 語句完成上圖中各元件的連接。(5)訣竅:把連線編號(hào),按編號(hào)定義使用的信號(hào)。 注意:(1)凡從外部引入或輸出的信號(hào),定義到entity中;(2)元件之間的連接信號(hào),需要定義到結(jié)構(gòu)體中。(3

13、)所有連在一起的連線,只能定義一次。entity v2to4dec isport( i0,i1,en:in std_logic; y0,y1,y2,y3:out std_logic);end v2to4dec;architecture v2to4dec_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

14、_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, 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;精讀P88-P91 例5-16-例5-19結(jié)構(gòu)描述方式能較方便的進(jìn)行

15、多層次的結(jié)構(gòu)設(shè)計(jì)。結(jié)構(gòu)描述方式能較方便的進(jìn)行多層次的結(jié)構(gòu)設(shè)計(jì)。異或門的三種描述風(fēng)格 表達(dá)式:y= a(!b)+(!a)b異或門寄存器RTL(dataflow)描述風(fēng)格architecture yihuo3_dataflow of yihuo3 isbeginy=a xor b;end yihuo3_dataflow; 異或門的行為(behavior)描述風(fēng)格 architecture yihuo1_behavior of yihuo1 is beginprocess(a,b)beginif a=b theny=0;elsey=1;end if;end process; end yihuo1_b

16、ehavior; 異或門結(jié)構(gòu)(structure)描述風(fēng)格 Architecture a of yihuo2 iscomponent not2port(a:in std_logic;c: out std_logic);end component;component and2port(a,b:in std_logic;c: out std_logic);end component;component or2 port(a,b:in std_logic;c: out std_logic);end component;signal tmp00,tmp01,tmp1,tmp2:std_logic;beginu0:not2 port map(a1,tmp0

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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)論