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

正文內(nèi)容

第四章vhdl的主要描述語句(參考版)

2025-08-04 13:35本頁面
  

【正文】 ENTITY example IS PORT( in1, in2: IN STD_LOGIC。 位置映射 就是 PORT MAP語句中實(shí)際信號的書寫順序與 COMPONENT語句中端口說明中的 信號書寫順序保持一致 ,如下例所示: 位置映射示例 : LIBRARY IEEE。 元件例化語句的書寫格式為: 標(biāo)號名 : 元件名 [GENERIC MAP( 參數(shù)映射 ) ] PORT MAP(端口映射); 標(biāo)號名 是此元件例化的唯一標(biāo)志 , 在結(jié)構(gòu)體中標(biāo)號名應(yīng)該是唯一的 , 否則編譯時將會給出錯誤信息;接下來就是映射語句 , 映射語句就是把元件的參數(shù)和端口與實(shí)際連接的信號對應(yīng)起來 , 以進(jìn)行元件的引用 。 COMPONENT語句的一般書寫格式如下: COMPONENT 引用元件名 [GENERIC 參數(shù)說明 ; ] PORT 端口說明 ; END COMPONENT; 元件說明語句 在上面的書寫結(jié)構(gòu)中,保留字 COMPONENT后面的“引用元件名”用來指定要在結(jié)構(gòu)體中例化的元件,該元件必須已經(jīng)存在于調(diào)用的工作庫中; 如果在結(jié)構(gòu)體中要進(jìn)行參數(shù)傳遞,在 COMPONENT語句中,就要有傳遞參數(shù)的說明 ,傳遞參數(shù)的說明語句以保留字 GENERIC開始;然后是端口說明,用來對引用元件的端口進(jìn)行說明;最后以保留字 END COMPONENT來結(jié)束 COMPONENT語句。 在進(jìn)行元件例化時 , 首先要進(jìn)行例化元件的說明 , 元件說明部分使用 COMPONENT語句 , COMPONENT語句用來說明在結(jié)構(gòu)體中所要調(diào)用的模塊 。 在 引用元件時 , 要先在結(jié)構(gòu)體中說明部分進(jìn)行元件的說明 , 然后在使用元件時進(jìn)行元件例化 。 在結(jié)構(gòu)體中 , 描述只表示元件 ( 或模塊 ) 和元件 ( 或模塊 ) 之間的互連 , 就象網(wǎng)表一樣 。 USE IEEE. 。 在設(shè)計程序中 , 這些參數(shù)是待定的 , 在模擬時 , 只要用 GENERIC語句將待定參數(shù)初始化即可 。 ENTITY example IS END example; ARCHITECTURE behave OF example IS SIGNAL b: STD_LOGIC_VECTOR(1 DOWNTO 0); BEGIN ASSERT FALSE REPORT“This entity is a example to descript assert statement” SEVERITY NOTE; END behave; 參數(shù)傳遞語句 參數(shù)傳遞語句 ( GENERIC) 主要用來傳遞信息給設(shè)計實(shí)體的某個具體元件 , 如用來定義端口寬度 、 器件延遲時間等參數(shù)后并將這些參數(shù)傳遞給設(shè)計實(shí)體 。 USE IEEE. 。任何并行斷言語句都對應(yīng)著一個等價的被動進(jìn)程語句,被動進(jìn)程語句沒有輸出,因此 并行斷言語句的執(zhí)行不會引起任何事件的發(fā)生,只是在斷言條件為“ false”時給出一條信息報告。 ENTITY max IS PORT( in1: IN STD_LOGIC_VECTOR (7 DOWNTO 0); in2: IN STD_LOGIC_VECTOR (7 DOWNTO 0); in3: IN STD_LOGIC_VECTOR (7 DOWNTO 0); q: OUT STD_LOGIC_VECTOR (7 DOWNTO 0)) ; END max; ARCHITECTURE rtl OF max IS PROCEDURE maximun( a, b: IN STD_LOGIC_VECTOR; SIGNAL c: OUT STD_LOGIC_VECTOR) IS VARIABLE temp: STD_LOGIC_VECTOR (a?RANGE); BEGIN temp矢量長度與 a相同 IF (a b) THEN temp : = a; ELSE temp : = b; END IF; c = temp; END maximun; SIGNAL tmp1, tmp2: OUT STD_LOGIC_VECTOR(7 DOWNTO 0); BEG maximun( in1, in2, tmp1) ; maximun( tmp1, in3, tmp2) ; q = tmp2; END rtl; 并行斷言語句的書寫格式為: ASSERT 條件 [REPORT 報告信息 ] [SEVERITY 出錯級別 ] 并行斷言語句的書寫格式與順序斷言語句的書寫格式相同。 USE IEEE. 。 并行過程調(diào)用語句的一般書寫格式如下: PROCEDURE 過程名 ( 參數(shù) 1;參數(shù) 2; ┄ ) IS [定義語句 ]; 變量定義 BEGIN [順序處理語句 ] END 過程名; 下例是一個 取三個輸入位矢量最大值 的功能描述 , 在它的結(jié)構(gòu)體中使用了兩個并行過程調(diào)用語句 。 s0; WITH b SELECT 用 b進(jìn)行選擇 q = d0 WHEN “00”; d1 WHEN “01”; d2 WHEN “10” d3 WHEN OTHERS; 上面 4條語句是并行執(zhí)行的 END rtl; 并行過程調(diào)用語句 過程調(diào)用語句 在進(jìn)程內(nèi)部執(zhí)行時 , 它是一種順序語句 ;過程調(diào)用語句在結(jié)構(gòu)體的進(jìn)程之外出現(xiàn)時 , 它作為并發(fā)語句的形式出現(xiàn) 。 USE IEEE. 。 下面的例子是一個采用 選擇信號代入語句 描述的選通 8位總線的四選一多路選擇器 。選擇信號代入語句與 case語句相類似,都是對表達(dá)式進(jìn)行測試,當(dāng)表達(dá)式的值不同時,將把不同的表達(dá)式代入目的信號。 (3) 選擇信號代入語句 選擇信號代入語句的書寫格式為: WITH 表達(dá)式 SELECT 目的信號 = 表達(dá)式 1 WHEN 條件 1; 表達(dá)式 2 WHEN 條件 2; 表達(dá)式 3 WHEN 條件 3; ┇ 表達(dá)式 n WHEN 條件 n; VHDL在執(zhí)行選擇信號代入語句時, 目的信號是根據(jù)表達(dá)式的當(dāng)前值來進(jìn)行表達(dá)式代入的 。在保留字 WHEN的前面是驅(qū)動顯示數(shù)碼管的七位位矢量, WHEN的后面是譯碼的條件。 輸出端口output也以總線形式表示 , 它表示 6到 0的 7位邏輯向量 , 表示輸出是一個七位二進(jìn)制數(shù) , 以驅(qū)動共陰極顯示七段數(shù)碼管 。 在上例中 , 七段顯示譯碼器有一個輸入端口 input和一個輸出端口 output。 USE IEEE. 。 條件信號代入語句的書寫格式為: 目的信號 = 表達(dá)式 1 WHEN 條件 1 ELSE 表達(dá)式 2 WHEN 條件 2 ELSE 表達(dá)式 2 WHEN 條件 3 ELSE ┇ 表達(dá)式 n1 WHEN 條件 ELSE 表達(dá)式; 條件信號代入語句執(zhí)行時要先進(jìn)行條件判斷,如果條件滿足,就將條件前面的那個表達(dá)式的值代入目的信號;如果不滿足條件,就去判斷下一個條件;最后一個表達(dá)式?jīng)]有條件 ,也就是說在 前面的條件都不滿足時 , 就將該表達(dá)式的值代入目的信號 。 上面提到的并發(fā)信號代入語句是 事件驅(qū)動 的 , 例如: tmp2 = tmp1 AND Cin; S = tmp1 XOR Cin; 兩條語句, 只要 tmp1 和 Cin中的值有一個發(fā)生變化,即有事件發(fā)生,那么這兩條語句就會立即并發(fā)執(zhí)行。 USE IEEE. 。下面是一個用VHDL并發(fā)語句描述的全加器的例子。 對于并發(fā)信號代入語句來說 , 只有代入符號 “ =”右邊的對象有事件發(fā)生時才會執(zhí)行該語句 。 作為并發(fā)信號代入語句 , 在結(jié)構(gòu)體中他們是并行執(zhí)行的 , 他們的執(zhí)行順序與書寫無關(guān) 。條件信號代入語句 在 VHDL中提供了 三種并行信號代入語句 : USE IEEE. 。下面是 2輸入與門的另一種 VHDL描述,在描述的結(jié)構(gòu)體中采用了與上述并行信號代入語句等價的進(jìn)程語句。 USE IEEE. 。 并行信號代入語句的語法格式為: 信號量 = 敏感信號量表達(dá)式; 需要注意的是,一條信號代入語句與一個信號代入的進(jìn)程語句是等價的,我們可以把一條信號代入語句改寫成一個信號代入的進(jìn)程語句。 在實(shí)際應(yīng)用中,一個塊語句中又可以包含多個子塊語句,這樣循環(huán)嵌套以形成一個大規(guī)模的硬件電路。 USE IEEE. 。]]; [端口子句 [端口接口表 。如下例所示: 綜合后不需要存儲器的 VHDL進(jìn)程 label1: PROCESS( a, b, c) ┇ BEGIN ┇ 其中沒有其他同步描述 AND PROCESS label1; 綜合后需要存儲器的 VHDL進(jìn)程 label2: PROCESS ┇ BEGIN WAIT UNTIL clk?EVENT AND clk=?1?; s =?0?; WAIT UNTIL clk?EVENT AND clk=?1?; s =?1?; AND PROCESS label2; 不會形成存儲器的變量 label3: PROCESS( a, b, c) VARIABLE var: BIT; BEGIN var := a XOR b; s = var AND c; AND PROCESS label3; 需要存儲器的變量 label4: PROCESS TYPE state_table IS (stop, go); VARIABLE state: table_ state; BEGIN WAIT UNTIL clk?EVENT AND clk=?1?; CASE state IS state在賦值之前先被讀訪問 WHEN stop = state := go; WHEN go = state := stop; 這兩個語句是并發(fā)關(guān)系 END CASE; AND PROCESS label4; 綜合為觸發(fā)器的進(jìn)程 label5: PROCESS BEGIN WAIT UNTIL clk?EVENT AND clk=?1?; q = d; END PROCESS label5; 塊語句 ( BLOCK) 塊 ( BLOCK) 語句可以看作是結(jié)構(gòu)體中的子模塊 , 塊語句把許多并行語句組合在一起形成一個子模塊 , 而它本身也是一個并行語句 。 這個敏感量一般是一個同步控制信號,同步控制信號用在同步語句中 , 同步語句可以是敏感信號表、 WAIT UNTIL語句或是WAIT ON語句。 進(jìn)程語句的綜合是比較復(fù)雜的 , 主要涉及這樣一些問題:綜合后的進(jìn)程是用組合邏輯電路還是用時序邏輯電路來實(shí)現(xiàn) ? 進(jìn)程中的對象是否有必要用寄存器 、 觸發(fā)器 、 鎖存器或是 RAM等存儲器件來實(shí)現(xiàn) 。 進(jìn)程語句( PROCESS) 進(jìn)程語句是最主要的并行語句 , 它在 VHDL程序設(shè)計中使用頻率最高 , 也是最能體現(xiàn)硬件描述語言特點(diǎn)的一條語句 。GENERATE 生成語句 并行描述語句語句可以是結(jié)構(gòu)性的,也可以是
點(diǎn)擊復(fù)制文檔內(nèi)容
電大資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1