VHDL復(fù)習(xí)題.doc_第1頁
VHDL復(fù)習(xí)題.doc_第2頁
VHDL復(fù)習(xí)題.doc_第3頁
已閱讀5頁,還剩19頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、習(xí)題比擬常用硬件描述語言 VHDL Verilog和ABEL語言的優(yōu)劣。1. VHDL描述語言層次較高,不易控制底層電路,因而對綜合器的性能要求較高。有多種 EDA工具選擇,已成為IEEE標(biāo)準(zhǔn)。應(yīng)用VHDL進(jìn)行工程設(shè)計的優(yōu)點是多方面的,具體如下:(1) 與其他的硬件描述語言相比,VHDL具有更強的行為描述能力。(2) VHDL 具有豐富的仿真語句和庫函數(shù),使得在任何大系統(tǒng)的設(shè)計早期,就能查驗設(shè) 計系統(tǒng)的功能可行性, 隨時可對系統(tǒng)進(jìn)行仿真模擬, 使設(shè)計者對整個工程的結(jié)構(gòu)和功能可行 性做出判斷。(3) VHDL 語句的行為描述能力和程序結(jié)構(gòu),決定了它具有支持大規(guī)模設(shè)計的分解和已 有設(shè)計的再利用功能

2、。(4) 用VHDL完成一個確定的設(shè)計,可以利用EDA工具進(jìn)行邏輯綜合和優(yōu)化,并自動把VHDL描述設(shè)計轉(zhuǎn)變成門級網(wǎng)表(根據(jù)不同的實現(xiàn)芯片)。(5) VHDL對設(shè)計的描述具有相對獨立性。(6) VHDL 具有類屬描述語句和子程序調(diào)用等功能,對于完成的設(shè)計,在不改變源程序 的條件下,只需改變類屬參量或函數(shù),就能輕易地改變設(shè)計的規(guī)模和結(jié)構(gòu)。2. Verilog:設(shè)計者需要了解電路的結(jié)構(gòu)細(xì)節(jié),對綜合器的性能要求較低。有多種EDA工具選擇,已成為IEEE標(biāo)準(zhǔn)。3. ABEL:設(shè)計者需要了解電路的結(jié)構(gòu)細(xì)節(jié),對綜合器的性能要求較低。支持ABEL的綜合器只有一家,ABEL正朝國際化標(biāo)準(zhǔn)努力。3.2 VHDL程

3、序一般包括幾個組成局部?每局部的作用是什么?(1) 三個根本組成局部:庫、程序包使用說明,實體描述和實體對應(yīng)的結(jié)構(gòu)體描述。(2) 庫、程序包使用說明:用于翻開調(diào)用本設(shè)計實體將用到的庫、程序包 實體描述:用于描述該設(shè)計實體與外界的接口信號說明 結(jié)構(gòu)體描述:用于描述該設(shè)計實體內(nèi)部的組成及內(nèi)部工作的邏輯關(guān)系結(jié)構(gòu)體配置語句主要用于層次化的方式對特定的設(shè)計實體進(jìn)行元件的例化,或是為實體選定某個特定的結(jié)構(gòu)體3.3 VHDL 語言中數(shù)據(jù)對象有幾種?各種數(shù)據(jù)對象的作用范圍如何?各種數(shù)據(jù) 對象的實際物理含義是什么?(1 )數(shù)據(jù)對象有三種:變量、常量、信號(2) 常量的作用范圍取決于其所定義的位置。假設(shè)在程序包中

4、定義,那么可以用在調(diào)用該程序包的所有設(shè)計實體中。 假設(shè)定義在實體中, 那么可在這個實體的所有結(jié)構(gòu)體中使用。 假設(shè)定義在結(jié) 構(gòu)體中,那么只能用于該結(jié)構(gòu)體。假設(shè)定義在進(jìn)程/ 子程序中,那么只能用于該進(jìn)程 /子程序。變量屬于局部量,作用范圍僅限于所定義的進(jìn)程或子程序內(nèi)部。信號屬于全局量, 作用范圍取決于其所定義的位置。 假設(shè)在程序包中定義, 那么可以用在調(diào) 用該程序包的所有設(shè)計實體中。 假設(shè)定義在實體中, 那么可在這個實體的所有結(jié)構(gòu)體中使用。 假設(shè) 定義在結(jié)構(gòu)體中,那么只能用于該結(jié)構(gòu)體。(3) 信號表示硬件中的連線,用于各并行語句模塊之間的通信。變量一般用于存儲局部/ 臨時數(shù)據(jù)。 常量表示電路中的恒

5、定電平,可使代碼中常數(shù)易于閱讀和修改。什么叫標(biāo)識符? VHDL的根本標(biāo)識符是怎樣規(guī)定的?1標(biāo)識符用來定義常量、變量、信號、端口、子程序或者參數(shù)的名字。2VHDL的根本標(biāo)識符就是以英文字母開頭,不連續(xù)使用下劃線,不以下劃線結(jié)尾的,由 26個英文大小寫字母,數(shù)字 0-9以及下劃線組成的字符串。信號和變量在描述和使用時有哪些主要區(qū)別?1 變量只能在進(jìn)程或子程序內(nèi)部定義,用于存儲局部/臨時數(shù)據(jù)。信號只能在進(jìn)程或子程序的外部定義,表示硬件中的連線,用于各并行語句模塊之間的通信。2 信號用signal關(guān)鍵字定義,賦值符號為=。變量用variable關(guān)鍵字定義,賦值符 號為:=3信號賦值,可以設(shè)定延時量,需

6、要延時一段時間后才執(zhí)行;變量賦值立即執(zhí)行。3.6 VHDL語言中的標(biāo)準(zhǔn)數(shù)據(jù)類型有哪幾類?用戶可以自己定義的數(shù)據(jù)類型有 哪幾類?并簡單介紹各數(shù)據(jù)類型。1 標(biāo)量型:屬單元素最根本的數(shù)據(jù)類型,通常用于描述一個單值數(shù)據(jù)對象,它包括實數(shù) 類型、整數(shù)類型、枚舉類型和時間類型。復(fù)合類型:可以由細(xì)小的數(shù)據(jù)類型復(fù)合而成,如可有標(biāo)量復(fù)合而成。復(fù)合類型主要有 數(shù)組型和記錄型。存取類型:為給定的數(shù)據(jù)類型的數(shù)據(jù)對象提供存取方式。文件類型:用于提供多值存取類型。2 用戶可自定義的數(shù)據(jù)類型:枚舉類型、整數(shù)類型、數(shù)組類型、記錄類型、時間類型、 實數(shù)類型等3.7 BIT數(shù)據(jù)類型和STD_LOGI數(shù)據(jù)類型有什么區(qū)別?BIT數(shù)據(jù)類

7、型只能取值 0或1,而STD_LOGIC數(shù)據(jù)類型是BIT數(shù)據(jù)類型的擴展,除了 0和1夕卜,還包括7種數(shù)據(jù)類型,分別是 U,X,Z,W丄,H,_用戶怎樣自定義數(shù)據(jù)類型?試舉例說明。利用類型定義語句 TYPE和子類型定義語句 SUBTYPE實現(xiàn)。女口 TYPE WEEK IS SON,MON,TUE,WED,THU,FRI,SAT SUBTYPE DIGITS INTEGER RANGE 0 TO 93.9 VHDL語言有哪幾類操作符?在一個表達(dá)式中有多種操作符時應(yīng)按怎樣的準(zhǔn)那么進(jìn)行運算?以下三個表達(dá)式是否等效:A=NOT B AND C OR D;A=NOT B AND C OR D; A=NO

8、T B AND C OR D.1主要有四種操作符 邏輯運算符,關(guān)系運算符,算術(shù)運算符,符號運算符此外還有重載運算符。2按照操作符的優(yōu)先級上下進(jìn)行運算3這三個表達(dá)式不等效。1式表達(dá)錯誤,對同一優(yōu)先級的不同運算符應(yīng)加上括號。2和3 式的運算順序不同。類型功能播柞孰期昨型+pa釜數(shù)一減蔓戴墾.一維數(shù)組算求慢作符買r乘蔓數(shù)和翩包括浮點數(shù)/除整數(shù)和實數(shù)包摘浮點數(shù)MOD整數(shù)REM整栽SLL逋葺左爸BIT或電爾型二紳1蛆諄輯右移FIT取眩叱鉀組SLa算術(shù)左移EIT或曲生型二維數(shù)組ERA算術(shù)右移EIT或布爾型一錐裁組邏輯循環(huán)左移皈或弦蘇維數(shù)組RBR.邏輯循環(huán)右移EIT或也如型二霾珈組常尊AD3膠對值藍(lán)數(shù)關(guān)系揍

9、作符二等于任何戴據(jù)糞型/=不等于任何數(shù)愣類型小于枚舉與華藪類型,及對底的一維對粗=丈于枚舉與整戴類型,及對應(yīng)的一維數(shù)組=大于黑于枚舉m整執(zhí)類型.建對險的一維數(shù)織續(xù)耒類型接作符功能揍作數(shù)邏輯揍椀A(chǔ)KD#BIT, BDOLEAH, STD LOGIC R或BET BOOLEAN* STD LCGICMAMDBIT BOOLEAN,STD LOGICNOR或非D1T, DDOLEA* 5TD LOOIC量CiR異或BIT,巳DOLEM STD LOGICXWORBIT, BOOLEL TD LOGICMOT非BHp BCOLEAN,STD .LOGIC+正負(fù)VHDL操作符優(yōu)先級:關(guān)系操作符的結(jié)果只有

10、 TRUE或 FALSB兩種。運歸符優(yōu)先頓閱 OCT,,泰汙.*/, MOD取鳳REM傀余最畐優(yōu)光飯+征號-須號tr十,亠、cfcSLL. SLAi ORL? SE1A, ROL, FOR=f=,r(=巖氐優(yōu)先叛AMD URf HAWD- NO* XOR- XNUR3.10 簡述六種移位操作符 SLL SRL SLA SRA ROL和ROR的含義及操作規(guī) 定?并舉例說明。1 SLL邏輯左移,bit或布爾一維數(shù)組SRL邏輯右移,bit或布爾一維數(shù)組SLA算數(shù)左移,bit或布爾一維數(shù)組SRA算數(shù)右移,bit或布爾一維數(shù)組ROL邏輯循環(huán)左移,ROR邏輯循環(huán)右移, 2 A= “10010101 A s

11、ll 2得 01010100邏輯左移,用0填補空位A srl 3得0001 001 0邏輯右移,用0填補空位A sla 3得10101111算術(shù)左移,用最左端位填補空位A sra 2得 11100101算術(shù)右移,用最右端位填補空位A rol 3得10101100循環(huán)左移A ror 5得 10101100循環(huán)右移bit 或布爾一維數(shù)組bit 或布爾一維數(shù)組3.11 什么叫重載操作符?使用重載操作符有什么好處?怎樣使用重載操作 符?含有重載操作符的運算怎樣確定運算結(jié)果? 1 對已存在的操作符重新定義,使其能進(jìn)行不同類型操作數(shù)之間的運算。 2方便各種不同數(shù)據(jù)類型間的運算。3引用數(shù)據(jù)包:STD_LOG

12、IC_ARITHSTD_LOGIC_UNSIGNE和 STD_LOGIC即可使用重載操 作符。3.12 VHDL程序設(shè)計中的根本語句系列有幾種?它們的特點如何?它們各使用在什么場所?它們各自包括些什么根本語句?答: 1 順序語句與并行語句。 2順序語句的執(zhí)行與它們的書寫順序根本一致指仿真或邏輯上的順序執(zhí)行,但實際 上硬件電路是并行工作的。順序語句用在進(jìn)程和子程序的內(nèi)部。并行語句的執(zhí)行與書寫順序無關(guān), 各語句是同時執(zhí)行的, 在執(zhí)行過程中各并行語句之間可通 過信號進(jìn)行通信,同步運行;也可以互為獨立 互不相關(guān),異步運行。3順序語句 :變量 / 信號賦值語句,流程控制語句 if, case, loop

13、, next, exit ,等待語 句,子程序調(diào)用語句,返回語句,空操作語句等。并行語句:進(jìn)程語句,塊語句,信號賦值語句,元件例化語句,生成語句,子程序調(diào) 用等語句。3.13 VHDL中信號賦值和變量賦值的有什么區(qū)別?其賦值符號是否異同?信號賦值延時更新數(shù)據(jù),一般生成時序電路,用的是 順序語句 ;when 選擇值 2 = 順序語句 ; end case;case語句可根據(jù)一個表達(dá)式的不同取值執(zhí)行不同的順序語句。使用時應(yīng)注意: 1.表達(dá)式的值可以是整型或枚舉型的,或是這些數(shù)據(jù)類型構(gòu)成的數(shù)組。2.選擇值可以是單個取值,如 4;也可以是一個取值范圍,如 2 to 5;也可以是多個并列的取值, 如2|

14、6 ;還可以是以上三種取值方式的混合。語句執(zhí)行時,根據(jù)選擇表達(dá)式的值來選擇執(zhí)行哪個順序語句, 選擇的結(jié)果和每個選擇值的順序無關(guān), 只要求對于選擇表達(dá)式的每個 可能取值,有且僅有一個選擇值與之匹配即可。 4.常用 when others 表示其它未列出的選擇 值。 5.“ = 后面的順序語句可以有多個。( 3) 標(biāo)號: for 循環(huán)變量 in 范圍 loop標(biāo)號: while 條件 loop順序語句 ;順序語句 ;end loop 標(biāo)號 ;end loop 標(biāo)號 ;for 循環(huán)用于循環(huán)次數(shù)的情況; while 循環(huán)用于循環(huán)次數(shù)未知的情況。 使用時應(yīng)注意: for 循環(huán)中的循環(huán)變量無需事先定義,可

15、自動加/減 1。(4) next; 無條件中止當(dāng)前循環(huán),返回循環(huán)起點,開始下次循環(huán)。exit; 無條件退出當(dāng)前循環(huán)。next loop標(biāo)號;無條件中止LOOP標(biāo)號標(biāo)明的循環(huán),返回LOOP標(biāo)號處,開始下次循環(huán)。 exit loop標(biāo)號;無條件退出LOOP標(biāo)號標(biāo)明的循環(huán)。next loop標(biāo)號when條件;條件為真時中止 LOOP標(biāo)號標(biāo)明的循環(huán),返回LOOP標(biāo)號處, 開始下次循環(huán)。exit loop標(biāo)號when條件;條件為真時退出 LOOP標(biāo)號標(biāo)明的循環(huán)。在CASE語句中在什么情況下可以不要WHEN OTHERS句?在什么情況下一定要WHEN OTHER語句?答:case語句執(zhí)行時,根據(jù)選擇表達(dá)式

16、的值來選擇執(zhí)行哪個順序語句,要求對于選擇表達(dá)式的每個可能取值, 有且僅有一個選擇值與之匹配。 因此, 當(dāng)已列出的選擇值能夠覆蓋選擇表 達(dá)式的所有可能取值時,可以不要 when others 語句。否那么,要用 when others 表示其它未 列出的選擇值。3.17 FOR- LOOP語句應(yīng)用于什么場合?循環(huán)變量怎樣取值?是否需要事先在 程序中定義? 在重復(fù)的次數(shù)的情況下可以使用該語句。循環(huán)變量的取值是根據(jù)系統(tǒng)的功能要求給定 的,要事先在程序上定義。分別用IF語句、CASE語句設(shè)計一個四一十六譯碼器。a:用IF語句設(shè)計一個四一十六譯碼器PROCESS(G1,g2a,g2b,sel)begin

17、if(g1=1and g2a=0and g2b=0)thenend if;end if;end process;b :用CASE語句設(shè)計一個四一十六譯碼器case sel iswhen Olll=yyy 用于數(shù)爼時,時隸示 二數(shù)組行序?qū)TRyCTUR(N如果塊站構(gòu)體只含育元件具煤裝配語旬或被動進(jìn)程吋, 厲性JSTUFLCTURE 返回 TRUE塊、構(gòu)埴如需由毘標(biāo)志指定塊或看林r苣名指定結(jié)徇體.乂不含有 元件具休裝配誡旬,那么E1IAV1QR運回TRUE典枸造FOSCALUEl舂敝VALUE的位畫序號枚舉糞型VAUVALUE)參數(shù)VALUE的橙晝值枚靜型SUCCIVALIJE)比AALUE的位

18、胃序號大的一牛相鄰悝置值杈舉類聖晦 gLUE)比WtLUE的位置序號小的一牛相鄰悝置值枚舉類衛(wèi)在VALUE左邊位旨的|冃鄰值枚舉產(chǎn)型RIGHT0F(VALUE5柱VALUE右辻位宣的相鄰追才婢類型EVENT如果肖前的也期間內(nèi)發(fā)生了事件那么迪回丁卍応否那么返 回 FALSE信號ACTIVE如黑當(dāng)箭的也期間內(nèi)信號有熱 貝腿回TRUE,否則返回FALSELAST E7/EMT從信號最近一怪的發(fā)生事件至今新繪歷的時間信號LAT_VALUE懸近一慶寧件發(fā)生之甫借號射值LAST_ACTrVE返回自信號前面一肌事件處理至今所觀歷時間信號建立和科信號同類型的信號*該信號緊跟著參考言號之 眉,什一個町選的眄間表

19、達(dá)式扌旨定延遲時間信號,?TABLE(TIME)恆當(dāng)在可選的吋問衣達(dá)式指定的時間時信弓無事件吋,該 屬性崖立一?值為TUJE的布爾型倍號信號QUIBTTCTIME)每肖卷考佑號在可選的時間討無事頂處理叭該屬!建立一-卜愷為TEUE的相加型信號信號TRANSACTtOM在此信號上百事件發(fā)生,或恆個專頃處理中,它的誼胡轉(zhuǎn) 時該厲性建交一個BIT型酬青軟每砂信號宥龜時重良 送回和L的值信號RAN(3E(N)返回按指定拆序范甌 鑒救N扌唸二錐數(shù)塩的第N行數(shù)粗REVERSERANC;E(N)1返回按指定逆序范耳 參數(shù)N指定二雉數(shù)組的第H行數(shù)粗試用EVEN屬性描述一種用時鐘CLK上升沿觸發(fā)的D觸發(fā)器及一種

20、用時 鐘CLK下降沿觸發(fā)的JK觸發(fā)器。LIBRARY IEEE;USE IEEE.STD LOGIC 1164.ALL;USE IEEE.STD LOGIC UNSIGNED.ALL;ENTITY dtrigger ISP0RT(clk: IN STD LOGIC;d : IN STD_LOGIC;q : OUT STD_LOGIC);END dtrigger;ARCHITECTURE behave OF dtrigger ISBEGINPROCESS(clk)BEGINIF clkEVENT AND clk=1 THENq:=d;END IF;END PROCESS;END behave;什

21、么叫進(jìn)程語句?你是如何理解進(jìn)程語句的并行性和順序性的雙重特性 的?1 進(jìn)程實際上是順序語句描述的一種進(jìn)程過程,進(jìn)程是用于描述事件的,process語句結(jié)構(gòu)包含了一個代表實體中局部邏輯行為的獨立的順序語句描述的進(jìn)程2一個結(jié)構(gòu)體中可以有多個并行進(jìn)程結(jié)構(gòu),而有一個進(jìn)程內(nèi)部結(jié)構(gòu)卻是由一系列順序語 句來構(gòu)成的,即進(jìn)程語句間是并行執(zhí)行的進(jìn)程的內(nèi)部是順序執(zhí)行的進(jìn)程語句是一種描述硬件行為的語句,進(jìn)程語句內(nèi)部是由順序語句構(gòu)成的,內(nèi)部執(zhí)行時是順 序性的,但進(jìn)程語句屬于并行語句,多個進(jìn)程之間的執(zhí)行并行運行。進(jìn)程的啟動條件是什么?如果進(jìn)程有兩個根本點敏感變量,其中一個由“0變“ 1,等待一段時間以后再由“ 1變“0;

22、而另一個只由“ 1變“0改變一次, 請問該進(jìn)程將執(zhí)行幾遍?答:進(jìn)程的啟動條件:敏感信號列表中的任何一個敏感信號的值發(fā)生變化,或者wait語句中的條件為真。3遍有人說,進(jìn)程中的語句順序顛倒一下并不會改變所描述電路的功能,這種說法對嗎?為什么?不對。因為PLC的掃描過程是從左到右,從上到下進(jìn)行的。同一進(jìn)程中的邏輯描 述語句是順序運行的。并行信號賦值語句有幾類?比擬其異同。11簡單信號賦值語句 2條件信號賦值語句 3選擇信號賦值語句2共同點:賦值目標(biāo)都是信號,都是并行語句,都相當(dāng)于一個隱含的進(jìn)程語句信號賦 值語句中的所有讀入信號都作為該進(jìn)程的敏感信號。不同點:簡單信號賦值語句是最簡單的并行語句,執(zhí)行

23、時直接將表達(dá)式的值賦給信號。條件信號賦值語句的功能與 if語句相同,在執(zhí)行時按書寫的先后順序測試每個條件,一旦條件為真,那么將表達(dá)式的值賦給信號。卜六譯碼器選擇信號賦值語句與 case語句相似。當(dāng)關(guān)鍵字 with后的選擇表達(dá)式的值發(fā)生變化時,就將 該值和每個選擇值進(jìn)行比擬,將選擇值匹配的子句中的表達(dá)式的值賦給信號。分別用條件信號賦值語句、選擇信號賦值語句設(shè)計一個四LIBRARY IEEE;USEIEEE.STD_LOGIC_116ALL;USEIEEE.STD_LOGIC_UNSIGNEDLL;ENTITYDECODERSPORTA, B, C,DIN STD_LOGIC;Y: OUT BIT

24、_VECTOR (15DOWNTO 0);END ENTITYDECODER;ARCHITECTUREART1OF DECODERISSIGNALSR: STD_LOGIC_VECTORD(3OWNTO 0);BEGINSR= D&C&B&A;Y(0)=1 WHEN SR=0000 ELSE0;Y(1)=1 WHEN SR=0001 ELSE0;Y(2)=1 WHEN SR=0010 ELSE0;Y(3)=1 WHEN SR=0011 ELSE0;Y(4)=1 WHEN SR=0100 ELSE0;Y(5)=1 WHEN SR=0101 ELSE0;Y(6)=1 WHEN SR=0110 EL

25、SE0;Y(7)=1 WHEN SR=0111 ELSE0;Y(8)=1 WHEN SR=1000 ELSE0;Y(9)=1 WHEN SR=1001 ELSE0;Y(10)=1 WHEN SR=1010 ELSE0;Y(11)=1 WHEN SR=1011 ELSE0;Y(12)=1 WHEN SR=1100 ELSE0;Y(13)=1 WHEN SR=1101 ELSE0;Y(14)=1 WHEN SR=1110 ELSE0;Y(15)連續(xù)實體端口名,4名字關(guān)聯(lián)是將例化元件的端口名與關(guān)聯(lián)端口名通過關(guān)聯(lián)連續(xù)符號“=一一對應(yīng)地聯(lián)系起來的方式;位置關(guān)聯(lián)是按例化元件端口定義順序?qū)⒗膶?yīng)的連

26、續(xù)實體端口名一一列出的方式。3.38 一個包集合由那兩大局部組成?包集合通常包含哪些內(nèi)容? 程序包首和程序包體組成局部可以是 USE語句、子程序定義、子程序體、數(shù)據(jù)類型說明子類型說明和常類說明3.29 什么叫子程序?過程語句用于什么場合?其所帶參數(shù)是怎樣定義的?函 數(shù)語句用于什么場合?其所帶參數(shù)是怎樣定義的?1子程序是一個 VHDL 程序模塊,這個模塊利用順序語句來定義和完成算法,因此只能 使用順序語句。 VHDL 子程序與其他軟件語言程序中的子程序的應(yīng)用目的是相似的,能更有 效地完成重復(fù)性的工作。子程序有兩種類型,即過程和函數(shù)2過程語句主要用在子程序。過程語句與其他高級語句中的子程序相當(dāng),他

27、的參數(shù)可以 使輸入也可以是輸出,即過程中的輸入輸出參數(shù)都應(yīng)列在緊跟過程名的括號中。3函數(shù)語句相當(dāng)于其他高級語言中的函數(shù)。語句中圓括號內(nèi)所有參數(shù)都是輸入?yún)?shù)或者輸入信號。因此,在括號內(nèi)指定端口方向“IN可以省略。FUNCTIO N的輸入值由調(diào)用者復(fù)制到輸入?yún)?shù)中,假設(shè)無特別制定在 FUNCTIO N的語句中按常數(shù)處理庫由哪些局部組成?在 VHDL語言中常見的有幾種庫?編程人員怎樣使用 現(xiàn)有的庫?1設(shè)計庫由假設(shè)干程序包組成,每個程序包都有一個包聲明和一個可選的包體聲明。在設(shè) 計庫中,包聲明和包體聲明是分別編譯的。2在VHDL語言中常見的由1.標(biāo)準(zhǔn)設(shè)計庫:std, 2.用戶現(xiàn)行工作庫:work,設(shè)計

28、庫:IEEE。3.31 一個包集合由哪兩大局部組成?包集合體通常包含哪些內(nèi)容?(1)程序包首和程序包體(2 )組成局部可以是 USE語句、子程序定義、子程序體、數(shù)據(jù)類型說明子類型說明和常類 說明3.32 什么是結(jié)構(gòu)體的行為描述方式?它應(yīng)用于什么場合?用行為描述方式所編寫的VHDL程序是否都可以進(jìn)行邏輯綜合?( 1)行為描述:設(shè)計實體按算法的路徑進(jìn)行描述,他不是對某一個器件的描述,而是對整 個設(shè)計單元的數(shù)學(xué)模型描述。( 2)主要用于系統(tǒng)數(shù)學(xué)模型的仿真或系統(tǒng)工作原理的仿真。(3)故其大量采用的算術(shù)運算、關(guān)系運算、慣性延時、傳輸延時等描述方式是難以或不能 進(jìn)行邏輯綜合的。3.33 什么叫數(shù)據(jù)流描述方

29、式?它和行為描述方式的主要區(qū)別在哪里?用數(shù)據(jù)流描述方式所編寫的VHDL程序是否都可以進(jìn)行邏輯綜合?(1 )數(shù)據(jù)流描述也稱 RTL描述,它以類似于存放器傳輸級的方式描述數(shù)據(jù)的傳輸和變換, 以規(guī)定設(shè)計中的各種存放器形成為特征,然后再存放器之間插入組合邏輯。( 2)行為描述只表示輸入與輸出間轉(zhuǎn)換的行為,它不包含任何結(jié)構(gòu)信息, 而數(shù)據(jù)流的描述會伴有大量的有關(guān)這種結(jié)構(gòu)信息的“流出。(3)類似于存放器傳輸級的方式描述數(shù)據(jù)的傳輸和變換,認(rèn)為數(shù)據(jù)是從一個設(shè)計流出,從輸入到輸出的觀點稱為數(shù)據(jù)流風(fēng)格,所以不是所有的VHDL程序都可以進(jìn)行邏輯綜合。3.34 什么是結(jié)構(gòu)體的結(jié)構(gòu)描述方式?實現(xiàn)結(jié)構(gòu)描述方式的主要語句是哪

30、兩個?(1) 結(jié)構(gòu)描述:是描述該設(shè)計單元的硬件結(jié)構(gòu),即該硬件是如何組成的。復(fù)雜數(shù)字邏輯系 統(tǒng)的層次化設(shè)計法 (設(shè)計中高層次的模塊調(diào)用低層次的模塊, 或者直接用門電路設(shè)計單元直 接設(shè)計一個復(fù)雜的邏輯電路)。( 2)采用元件例化語句或生成語句進(jìn)行設(shè)計。3.35 什么叫狀態(tài)機?狀態(tài)機的根本結(jié)構(gòu)如何?狀態(tài)機的種類有哪些?答:( 1)狀態(tài)機是一類很重要的時序電路,是許多數(shù)字電路的核心部件。(2) 狀態(tài)機的根本結(jié)構(gòu)包括輸入信號、輸出信號和一組存放器,它用于記憶狀態(tài)機的內(nèi)部 莊濤。狀態(tài)機可認(rèn)為是組合邏輯和存放器邏輯的特殊組合。它包括兩個主要局部: 組合邏輯局部和存放器局部。 存放器局部用于存儲狀態(tài)機的內(nèi)部狀

31、態(tài); 組合邏輯局部又分為 狀態(tài)譯碼器和輸出譯碼器。 狀態(tài)譯碼器確實狀態(tài)機的下一個狀態(tài), 即確定狀態(tài)機的鼓勵方程; 輸出譯碼器確定狀態(tài)機的輸出,即確定狀態(tài)機的輸出方程。(3) 兩種典型的狀態(tài)機是摩爾( MOORE狀態(tài)機和米立(MELAY狀態(tài)機。3.36 閱讀第 節(jié)中的例 、例 、例 、例、例 、例 、 例 、例 3.9.14 、例 、例 3.9.18 、例 3.9.20 和例 3.9.22 ,畫出系統(tǒng)原 理框圖,闡述系統(tǒng)工作原理,并對主要語句作出注釋。1 3-8 線譯碼器下面我們分別以四種方法描述一個 3-8 線譯碼器。【例 】LIBRARY IEEE;USE IEEE.STD_LOGIC_11

32、64.;ALL;_ALLENTITY DECODER ISPORT(INP: IN STD_LOGIC_VECTOR(2 DOWNT;O 0) OUTP:OUT BIT_VECTOR (7 DOWNTO;0)END ENTITY DECOD;ER 方法1:使用SLL邏輯運算符ARCHITECTURE ART1 OF DECODER ISBEGINOUTP= 00000001 SL (CONV_INTEGER(INP;) END ARCHITECTURE AR;T1方法2:使用PROCES語句ARCHITECTURE ART2 OF DECODER ISBEGINPROCESS(INP) ISB

33、EGINOUTP1);OUTP(COVN_INTEGER(INP)= 1END PROCES;SEND ARCHITECTURE AR;T2方法3:使用 WHEN-ELSE語句 ARCHITECTURE ART3 OF DECODER ISBEGINOUTP(0)=1 OUTP(1)=1 OUTP(2)=1 OUTP(3)=1 OUTP(4)= 1 OUTP(5)= 1 OUTP(6)= 1 OUTP(7)OUTPOUTPOUTPOUTPOUTPOUTPOUTPOUTPOUTP= XXXXXX;XXEND CAS;EEND ARCHITECTURE AR;T428-3 線優(yōu)先編碼器下面我們用三

34、種方法設(shè)計 8-3 線優(yōu)先編碼器。8-3線優(yōu)先編碼器,輸入信號為A、B、C D、E、F、G和H,輸出信號為OUT0 0UT1和OUT2。輸入信號中A的優(yōu)先級別最低,依次類推,H的優(yōu)先級別最高。 【例 】LIBRARY IEE;EUSE IEEE.STD_LOGIC_1164.;ALLENTITY ENCODER ISPORT A, B, C, D, E, F, G, H:IN STD_LOGI:COUT0, OUT1, OUT2:OUT STD_LOGIC;END ENTITY ENCOD;ER方法 1 :使用條件賦值語句ARCHITECTURE ART1 OF ENCODER ISSIGNA

35、 OUTS:STD_LOGIC_VECTOR2 DOWNT;O 0BEGINOUTS 2 DOWNTO 0= 111 WHEN H=1 ELSE110 WHEN G=1 ELSEELSEELSEELSEELSEELSEELSE101 WHEN F=1100 WHEN E=1011 WHEN D=1010 WHEN C=1001 WHEN B=1000 WHEN A=1 XXX;OUT0=OUTS0;OUT1=OUTS1;OUT2=0 AND INPUTSI/= 1 LOOP-此處的“ /=表示不等于I:=I-1;END LOO;P (OUT2,OUT1,OUT0)=CONV_STD_LOGIC

36、_VECT,OR3()I; END PROCES;SEND ARCHITECTURE AR;T2 方法 3:使用 IF 語句 LIBRARY IEE;EUSE IEEE.STD_LOGIC_1164.;ALL ENTITY ENCODER ISPORT(IN1:IN STD_LOGIC_VECTOR(7 DOWNT;O 0)OUT1:OUT STD_LOGIC_VECTOR(2 DOWNTO;0) END ENTITY ENCOD;ERARCHITECTURE ART3 OF ENCODER ISBEGINPROCESS(INT1) ISBEGINIF IN1(7)=1 ELSIF IN1(6

37、)= 1 ELSIF IN1(5)= 1 ELSIF IN1(4)= 1 ELSIF IN1(3)= 1 ELSIF IN1(2)= 1 ELSIF IN1(1)= 1 ELSIF IN1(0)= 1THEN OUT1=111;THEN OUT1=110;THEN OUT1=101;THEN OUT1=100;THEN OUT1=011;THEN OUT1=010;THEN OUT1=001;THEN OUT1=000;ELSE OUT1=XX;XEND IF ;END PROCES;SEND ARCHITECTURE AR;T33四選一選擇器 選擇器常用于信號的切換,四選一選擇器可以用于四路

38、信號的切換。四選一選擇器有四個信號輸入端INP(O尸INP(3),兩個信號選擇端A和B和一個信號輸 出端丫。當(dāng)A、B輸入不同的選擇信號時,就可以使INP(O尸INP(3)中某個相應(yīng)的 輸入信號與輸出端丫接通?!纠?】LIBRARY IEEEENTITY MUX41 ISPORT (INP: IN STD_LOGIC_VECTOR(3 DOWNTO O)A, B:IN STD_LOGICY:OUT STD_LOGIC)END ENTITY MUX41ARCHITECTURE ART OF MUX41 ISSIGNA SE :STD_LOGIC_VECTOR(1 DOWNTO O)BEGINSEL

39、=B&APROCESS(INPSEC) ISBEGINIF(SEL=00)THEN Y=INP(0)ELSIF (SEL=01)THEN Y=INP(1)ELSIF (SEL=11)THEN Y=INP(2)ELSE YENDOUT7.ODIN7.0L DIN7.0例 】LIBRARY IEEEENTITY TRI_BUF8 ISPORT (DIN IN STD_LOGIC_VECTOR(7 DOWNTO 0)EN: IN STD_LOGICDOUT: OUT STD_LOGIC_VECTOR(7 DOWNTO 0)END ENTITY TRI_BUf8ARCHITECTURE ART OF

40、TRI_BUF8 ISBEGINPROCESS(ENDIN) ISBEGINIF(EN= 1 )THENDOUT=DINELSE DOUT=ZZZZZZZZEND IFEND PROCESSEND ARCHITECTURE ART3) 雙向總線緩沖器雙向總線緩沖器用于數(shù)據(jù)總線的驅(qū)動和緩沖,典型的雙向總線緩沖器。圖中BIDIR的雙向總線緩沖器有兩個數(shù)據(jù)輸入/輸出端A和B, 個方向控制端DIR和一個 選通端EN。EN=O時雙向緩沖器選通。假設(shè) DIR=O,那么A=B,反之那么B=A。ENDIR例 】LIBRARY IEEE;LLENTITY BIDIR ISPORT(A B: INOUTSTD_L

41、OGIC_VECTOR(7 DOWNTO 0)EN, DIR IN STD_STD_LOGI;)END ENTITY BIDJRARCHITECTURE ART OF BIDIR ISSIGNA AOUT, BOUT: STD_LOGIC_VECTOR(7 DOWNTO 0)BEGINPROCESS(AEN, DIR) IS -A 為輸入BEGINIF(EN=0 )AND (DIR1 )THEN BOUT=AELSE BOUT=ZZZZZZZZEND IF ;B=BOUT-B 為輸出END PROCESSPROCESS(BEN, DIR) IS-B為輸入BEGINIF(EN=0 )AND (D

42、IR1 )THEN AOUT=BELSE AOUT=ZZZZZZZZEND IF ;A=AOUT-A 為輸出END PROCESSEND ARCHITECTURE ART5. 時序邏輯電路設(shè)計本節(jié)的時序電路設(shè)計主要有觸發(fā)器、存放器、計數(shù)器、序列信號發(fā)生器和 序列信號檢測器等的設(shè)計實例。1 觸發(fā)器1) D觸發(fā)器例 】LIBRARY IEEEENTITY DCFQ ISPORT(D, CLK:IN STD_LOGI;C Q: OUT STD_LOGIC;) END ENTITY DCF;Q ARCHITECTURE ART OF DCFQ ISBEGINPROCESS(CLK) IS BEGIN- 時鐘上升沿觸發(fā)IF (CLKEVENT AND CLK= 1 )THENQ=D;END IF;END PROCES;SEND ARCHITECTURE A;RT4) JK觸發(fā)器【例 】LIBRARY IEE;EUSE IEEE.STD_LOGIC_1164.;ALLENTITY JKCFQ ISPORT(,J K,CLK:IN STD_LOGI;C Q,QB:BUFFER STD_LOG;IC) END ENTITY JKC;FQ ARCHITECTURE ART OF

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論