freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

vhdlandpld第03章vhdl程序結(jié)構(gòu)(xxxx年9月)-閱讀頁

2025-02-15 16:57本頁面
  

【正文】 函數(shù)首 ? FUNCTION 函數(shù)名 (參數(shù)表 ) RETURN 數(shù)據(jù)類型 IS 函數(shù)體 ? [ 說明部分 ] ? BEGIN ? 順序語句 ? END FUNCTION 函數(shù)名 。在進(jìn)程或結(jié)構(gòu)體中不必定義函數(shù)首,而在程序包中必須定義函數(shù)首。如果將所定義的函數(shù)組成程序包入庫的話,定義函數(shù)首是必需的,這時的函數(shù)首就相當(dāng)于一個入庫貨物名稱與貨物位置表,入庫的是函數(shù)體。 ? ELSE RETURN b。 ? END FUNCTION max。 結(jié)束 PACKAGE BODY 語句 ? ... ? USE WORK. ? ENTITY axamp IS ? PORT(...)。 ? ARCHITECTURE bhv OF axamp IS ? BEGIN ? ... ? out1 = max(dat1,dat2)。 順序函數(shù)調(diào)用語句 ? END PROCESS。 第 3章 VHDL程序結(jié)構(gòu) ? 2 函數(shù)體 ? 函數(shù)體包含一個對數(shù)據(jù)類型 常數(shù) 變量等的局部說明,以及用以完成規(guī)定算法或轉(zhuǎn)換的順序語句部分。 第 3章 VHDL程序結(jié)構(gòu) ? 重載函數(shù) (OVERLOADED FUNCTION) ? VHDL 允許以相同的函數(shù)名定義函數(shù)。函數(shù)還可以允許用任意位矢長度來調(diào)用。 ? USE 。 ? ELSE RETURN b。 ? END FUNCTION max。 ? ELSE RETURN b。 ? END FUNCTION max。 ? ELSE RETURN b。 ? END FUNCTION max。 結(jié)束 PACKAGE BODY 語句 ? 以下是調(diào)用重載函數(shù) max的程序 ? LIBRARY IEEE 。 ? USE ? ENTITY axamp IS ? PORT(a1,b1 : IN STD_LOGIC_VECTOR(3 DOWNTO 0)。 ? a3,b3 : IN INTEGER 0 TO 15。 ? c2 : OUT BIT_VECTOR(4 DOWNTO 0)。 ? END。 對函數(shù) max( a,b IN STD_LOGIC_VECTOR)的調(diào)用 ? c2 = max(a2,b2)。 對函數(shù) max( a,b IN INTEGER) 的調(diào)用 ? END 第 3章 VHDL程序結(jié)構(gòu) ? 過程 (PROCEDURE) ? VHDL中,子程序的另外一種形式是過程 PROCEDURE 過程的語句格式是 ? PROCEDURE 過程名 參數(shù)表 過程首 ? PROCEDURE 過程名 參數(shù)表 IS ? [說明部分 ] ? BIGIN 過程體 ? 順序語句 ? END PROCEDURE 過程名 ? 與函數(shù)一樣,過程也由兩部分組成 即由過程首和過程體構(gòu)成。 第 3章 VHDL程序結(jié)構(gòu) ? 1. 過程首 ? 過程首由過程名和參數(shù)表組成。如果沒有指定模式 則默認(rèn)為 IN。 ? PROCEDURE pro2 CONSTANT a1 : IN INTEGER ? VARIABLE b1 : OUT INTEGER ) 。過程體的順序語句部分可以包含任何順序執(zhí)行的語句,包括 WAIT 語句,但需注意,如果一個過程是在進(jìn)程中調(diào)用的,且這個進(jìn)程已列出了敏感參量表 則不能在此過程中使用 WAIT語句。 ? m : IN INTEGER 。 ? BEGIN ? v1 := * a 。 賦初始值 ? Q1 : FOR t IN 1 TO m LOOP ? v2 := v2 * v1 。 當(dāng) v2 v1 跳出循環(huán) LOOP ? END LOOP Q1 ? END PROCEDURE p 。 ? 程序 326 ? PROCEDURE calcu ( v1, v2 : IN REAL 。 ? PROCEDURE calcu ( v1, v2 : IN INTEGER 。 ? ... ? calcu (, , signl) 。 ? 如果要在一項 VHDL 設(shè)計中用到某一程序包,就必須在這項設(shè)計中預(yù)先打開這個程序包,使此設(shè)計能隨時使用這一程序包中的內(nèi)容。 ? 通常 庫中放置不同數(shù)量的程序包 而程序包中又可放置不同數(shù)量的子程序,子程序中又含有函數(shù)、過程、設(shè)計實體、元件等基礎(chǔ)設(shè)計單元。 設(shè)計庫對當(dāng)前項目是默認(rèn)可視的,無需用 LIBRARY和 USE等語句以顯式聲明。 表示打開 IEEE庫。 第 3章 VHDL程序結(jié)構(gòu) ? 還有一些程序包雖非 IEEE 標(biāo)準(zhǔn),但由于其已成事實上的工業(yè)標(biāo)準(zhǔn),也都并入了 IEEE 庫,這些程序包中,最常用的是 Synopsys 公司的 STD_LOGIC_ARITH、STD_LOGIC_SIGNED和 STD_LOGIC_UNSIGNED程序包。另外需要注意的是,在 IEEE 庫中符合 IEEE ? 標(biāo)準(zhǔn)的程序包并非符合 VHDL語言標(biāo)準(zhǔn),如 STD_LOGIC_1164程序包,因此在使用 VHDL設(shè)計實體的前面必須以顯式表達(dá)出來。由于 STD 庫符合 VHDL 語言標(biāo)準(zhǔn) 在應(yīng)用中不必如 IEEE 庫那樣以顯式表達(dá)出來。因而是用戶的臨時倉庫,用戶設(shè)計項目的成品、半成品模塊,以及先期已設(shè)計好的元件都放在其中。 第 3章 VHDL程序結(jié)構(gòu) ? (4) VITAL庫 ? 使用 VITAL 庫,可以提高 VHDL 門級時序模擬的精度,因而只在 VHDL 仿真器中使用。實際上 由于各 FPGA/CPLD生產(chǎn)廠商的適配工具,都能為各自的芯片生成帶時序信息的 VHDL 門級網(wǎng)表。 第 3章 VHDL程序結(jié)構(gòu) ? 2 庫的用法 ? 在 VHDL 語言中,庫的說明語句總是放在實體單元前面,這樣,在設(shè)計實體內(nèi)的語句就可以使用庫中的數(shù)據(jù)和文件。 ? 例: ? LIBRARY IEEE 。 ? USE 。 第 3章 VHDL程序結(jié)構(gòu) ? 對于必須以顯式表達(dá)的庫及其程序包的語言表達(dá)式應(yīng)放在每一項設(shè)計實體最前面成為這項設(shè)計的最高層次的設(shè)計單元,庫語句一般必須與 USE 語句同用,庫語句關(guān)鍵詞 LIBRARY 指明所使用的庫名, USE 語句指明庫中的程序包。 VHDL 要求一項含有多個設(shè)計實體的更大的系統(tǒng)中,每一個設(shè)計實體都必須有自己完整的庫說明語句和 USE語句。 ? 第二語句格式的作用是,向本設(shè)計實體開放指定庫中的特定程序包內(nèi)所有的內(nèi)容。 ? 表明打開 IEEE 庫中的 STD_LOGIC_1164 程序包,并使程序包中所有的公共資源對于本語句后面的 VHDL 設(shè)計實體程序全部開放,即該語句后的程序可任意使用程序包中的公共資源 。為了使已定義的常數(shù)、數(shù)據(jù)類型、元件調(diào)用說明以及子程序能被更多的 VHDL 設(shè)計實體方便地訪問和共享,可以將它們收集在一個 VHDL 程序包中。這一點對于大系統(tǒng)開發(fā),多個或多組開發(fā)人員同步并行工作顯得尤為重要。 ? (1) 常數(shù)說明 ,在程序包中的常數(shù)說明結(jié)構(gòu)主要用于預(yù)定義系統(tǒng)的寬度,如數(shù)據(jù)總線通道的寬度。 ? (3) 元件定義,元件定義主要規(guī)定在 VHDL 設(shè)計中參與文件例化的文件 已完成的設(shè)計實體 對外的接口界面。 第 3章 VHDL程序結(jié)構(gòu) ? 通常程序包中的內(nèi)容應(yīng)具有更大的適用面和良好的獨立性,以供各種不同設(shè)計需求的調(diào)用,如 STD_LOGIC_1164程序包定義的數(shù)據(jù)類型STD_LOGIC 和 STD_LOGIC_VECTOR ? 一旦定義了一個程序包,各種獨立的設(shè)計就能方便地調(diào)用。所有這些信息雖然也可以在每一個設(shè)計實體中進(jìn)行逐一單獨的定義和說明,但如果將這些經(jīng)常用到的 并具有一般性的說明定義放在程序包中供隨時調(diào)用,顯然可以提高設(shè)計的效率和程序的可讀性。 ? TYPE bcd IS RANGE 0 TO 9 。 ? USE 。 drive : out segments) 。 ? ARCHITECTURE simple OF decoder IS ? BEGIN ? WITH input SELECT ? drive = B1111110 WHEN 0 , ? B0110000 WHEN 1 , ? B1101101 WHEN 2 , ? B1111001 WHEN 3 , ? B0110011 WHEN 4 , ? B1011011 WHEN 5 , ? B1011111 WHEN 6 , ? B1110000 WHEN 7 , ? B1111111 WHEN 8 , ? B1111011 WHEN 9 , ? B0000000 WHEN OTHERS 。 第 3章 VHDL程序結(jié)構(gòu) ? 2. 程序包體 ? 程序包體將包括在程序包首中已定義的子程序的子程序體。對于沒有具體子程序說明的程序包體可以省去。程序包首可以獨立地被使用,但在程序包中若有子程序說明時,則必須有對應(yīng)的子程序包體,這時,子程序體必須放在程序包體中。 ? (2) STD_LOGIC_ARITH程序包 ? 此程序包在 STD_LOGIC_1164 程序包的基礎(chǔ)上擴展了三個數(shù)據(jù)類型 UNSIGNED、 SIGNED 和 SMALL_INT 并為其定義了相關(guān)的算術(shù)運算符和轉(zhuǎn)換函數(shù)。 ? (4) STANDARD和 TEXTIO程序包 第 3章 VHDL程序結(jié)構(gòu) ? 配置 (CONFIGURATION) ? 配置可以把特定的結(jié)構(gòu)體關(guān)聯(lián)到 (指定給 )一個確定的實體 . ? 配置語句的一般格式如下 ? CONFIGURATION 配置名 OF 實體名 IS ? 配置說明 ? END 配置名 。 ? LIBRARY IEEEE 。 ? ENTITY nand IS ? PORT (a : IN STD_LOGIC 。 ? c : OUT STD_LOGIC ) 。 ? ARCHITECTURE one OF nand IS ? BEGIN ? c = NOT (a AND b) 。 ? ARCHITECTURE two OF nand IS ? BEGIN ? c = ‘1’ WHEN (a = ‘0’) AND (b = ‘0’) ELSE ? ‘1’ WHEN (a = ‘0’)AND(b = ‘1’) ELSE ? ‘1’ WHEN (a = ‘1’)AND(b = ‘0’) ELSE ? ‘0’ WHEN (a = ‘1’)AND(b = ‘1’) ELSE ? ‘0’ 。 ? CONFIGURATION first OF nand IS ? FOR one ? END FOR; ? END first 。 ? USE 。 ? s : IN STD_LOGIC 。 ? qf : OUT STD_LOGIC 。 ? ARCHITECTURE rsf OF rs1 IS ? COMPONENT nand ? PORT ( a : IN STD_LOGIC 。 ? c : OUT STD_LOGIC 。 ? BEGIN ? U1: nand PORT MAP ( a = s, b = qf, c = q ) 。 ? END rsf 。 ? END FOR ? END FOR ? END sel
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1