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

正文內(nèi)容

第四章vhdl的主要描述語句-展示頁

2025-08-10 13:35本頁面
  

【正文】 ,則程序繼續(xù)執(zhí)行 IF語句中所含的順序處理語句;如果條件不成立,程序?qū)⑻^ IF語句所包含的順序處理語句,而向下執(zhí)行 IF的后繼語句。 IF語句按其書寫格式可分為以下 3種。 IF語句 在 VHDL語言中, IF語句的作用是根據(jù)指定的條件來確定語句的執(zhí)行順序。 ( 4) WAIT FOR 時(shí)間表達(dá)式 超時(shí)等待語句 例如: WAIT FOR 40 ns; 在該語句中 , 時(shí)間表達(dá)式為常數(shù) 40ns, 當(dāng)進(jìn)程執(zhí)行到該語句時(shí) , 將等待 40ns, 經(jīng)過 40ns之后 , 進(jìn)程執(zhí)行 WAIT FOR的后繼語句 。 WAIT UNTIL語句有以下三種表達(dá)方式: WAIT UNTIL 信號 = VALUE; WAIT UNTIL 信號 ’ EVENT AND信號 = VALUE; WAIT UNTIL 信號 ’ STABLE AND信號 = VALUE; 例如: WAIT UNTIL clock = “1”; WAIT UNTIL rising_edge( clk) ; WAIT UNTIL clk =?1?AND clk? EVENT; WAIT UNTIL NOT clk? STABLE AND clk= “1”; 一般的,在 一個(gè)進(jìn)程中使用了 WAIT語句后,綜合器會綜合產(chǎn)生時(shí)序邏輯電路。此信號改變后 , 且滿足 WAIT UNTIL語句中表達(dá)式的條件 。 即WAIT UNTIL語句需滿足以下條件: WAIT UNTIL后面跟的是布爾表達(dá)式 , 在布爾表達(dá)式中隱式地建立一個(gè)敏感信號量表 , 當(dāng)表中任何一個(gè)信號量發(fā)生變化時(shí) ,就立即對表達(dá)式進(jìn)行一次測評 。VHDL規(guī)定 , 已列出敏感信號表的進(jìn)程不能使用任何形式的 WAIT語句 。 例 [A]與 例 [B]是等價(jià)的。當(dāng)進(jìn)程處于等待狀態(tài)時(shí),其中敏感信號發(fā)生任何變化都將結(jié)束掛起,再次啟動進(jìn)程。 ( 2) WAIT ON 信號表 敏感信號等待語句 這種形式的 WAIT語句使進(jìn)程暫停,直到敏感信號表中某個(gè)信號值發(fā)生變化。這幾類 WAIT語句可以混合使用。當(dāng)進(jìn)程執(zhí)行到等待語句時(shí),就將被掛起并設(shè)置好再次執(zhí)行的條件。 WAIT語句 WAIT語句在進(jìn)程中起到與敏感信號一樣重要的作用, 敏感信號觸發(fā)進(jìn)程的執(zhí)行 , WAIT語句同步進(jìn)程的執(zhí)行 ,同步條件由 WAIT語句指明。 d = INERTIAL 2 AFTER 3ns, 1 AFTER 8ns。要求 “ =”兩邊的信號變量類型和位長度應(yīng)該一致 。 信號賦值語句 在 VHDL語言中 , 用符號 “ =”為信號賦值 。斷言語句 ( Assert) NULL 語句 EXIT 語句 LOOP 語句 IF 語句 信號賦值語句 ( Signal Evaluate) VHDL順序語句主要包括: 應(yīng)該注意區(qū)分 VHDL語言的軟件行為與描述綜合后的硬件行為的差異。 順序語句可以用來進(jìn)行算術(shù)運(yùn)算 、 邏輯運(yùn)算 、 信號和變量的賦值 、 子程序調(diào)用等 , 還可以進(jìn)行條件控制和迭代 。第四章 VHDL的主要描述語句 VHDL順序語句 VHDL并行語句 VHDL順序語句 順序語句是指完全按照程序中書寫的順序執(zhí)行各語句 , 并且在結(jié)構(gòu)層次中前面的語句執(zhí)行結(jié)果會直接影響后面各語句的執(zhí)行結(jié)果 。 順序描述語句只能出現(xiàn)在進(jìn)程或子程序中 , 用來定義進(jìn)程或子程序的算法 。 注意,這里的順序是從仿真軟件的運(yùn)行和順應(yīng) VHDL語法的編程邏輯思路而言的,其相應(yīng)的硬件邏輯工作方式未必如此。 用 VHDL語言進(jìn)行設(shè)計(jì)時(shí),按描述語句的執(zhí)行順序進(jìn)行分類,可將 VHDL語句分為順序執(zhí)行語句( Sequential)和并行執(zhí)行語句( Parallel)。變量賦值語句 ( Variable Evaluate) WAIT語句 CASE 語句 NEXT 語句 RETURN 語句 過程調(diào)用語句 ( Procedure Call) REPORT 語句 變量賦值語句 變量賦值語句語法格式為: 變量賦值目標(biāo) := 賦值表達(dá)式 例 : VARIABLE s: BIT := ?0?; PROCESS( s) VARIABLE count: INTEGER := ?0? 變量說明 BEGIN count := s+1 變量賦值 END PROCESS。 信號賦值語句的規(guī)范書寫格式如下: 目的信號量 = [TRANSPORT][INERTIAL]信號變量表達(dá)式; 其中 [TRANSPORT]表示傳輸延遲 , [INERTIAL]表示慣性延遲 。 例 : s =TRANSPORT t AFTER 10ns。 例: s = a NOR( b AND c) ; 3個(gè)敏感量 a, b, c中任何一個(gè)發(fā)生變化,該語句都將被執(zhí)行。進(jìn)程在仿真運(yùn)行中處于執(zhí)行或掛起兩種狀態(tài)之一。 WAIT語句可以設(shè)置 4種不同的條件:無限等待、時(shí)間到、條件滿足以及敏感信號量變化 ?,F(xiàn)分別介紹如下: ( 1) WAIT 無限等待語句 這種形式的 WAIT語句在關(guān)鍵字 “ WAIT”后面不帶任何信息 ,是無限等待的情況 。 WAIT ON語句后面跟著的信號表,在敏感信號表中列出等待語句的敏感信號。 例 [A] PROCESS BEGIN y = a AND b; WAIT ON a, b; END PROCESS; 例 [B] PROCESS( a, b) BEGIN y = a AND b; END PROCESS; 在 例 [A]中執(zhí)行所有語句后,進(jìn)程將在 WAIT語句處被 掛起 ,直到 a或 b中任何一個(gè)信號發(fā)生變化,進(jìn)程才重新開始。 需要注意的是 , 在使用 WAIT ON語句的進(jìn)程中 ,敏感信號量應(yīng)寫在進(jìn)程中的 WAIT ON語句后面;而在不使用 WAIT ON語句的進(jìn)程中 , 敏感信號量應(yīng)在開頭的關(guān)鍵詞 PROCESS后面的敏感信號表中列出 。 ( 3) WAIT UNTIL 條件 條件等待語句 這種形式的 WAIT語句使進(jìn)程暫停 , 直到預(yù)期的條件為真 。 如果其結(jié)果使表達(dá)式返回一個(gè)“ 真 ” 值 , 則進(jìn)程脫離掛起狀態(tài) , 繼續(xù)執(zhí)行下面的語句 。在條件表達(dá)式中所含的信號發(fā)生了變化; 這兩個(gè)條件缺一不可,且必須按照上述順序來完成。 時(shí)序邏輯電路的運(yùn)行依賴 WAIT UNTIL表達(dá)式的條件,同時(shí)還具有數(shù)據(jù)存儲的功能。 例如: WAIT FOR( a*( b+c)) ; 在此語句中,( a*( b+c))為時(shí)間表達(dá)式, WAIT FOR語句在執(zhí)行時(shí),首先計(jì)算表達(dá)式的值,然后將計(jì)算結(jié)果返回作為該語句的等待時(shí)間。 IF語句可用于選擇器、比較器、編碼器、譯碼器、狀態(tài)機(jī)等的設(shè)計(jì),是 VHDL語言中最常用的語句之一。 這類語句書寫格式為: IF 條件 THEN 順序語句 END IF; 當(dāng)程序執(zhí)行到這種門閂控制型 IF語句時(shí),首先判斷語句中所指定的條件是否成立。 例 : 利用 IF語句引入 D觸發(fā)器 LIBRARY IEEE。 ENTITY dff IS PORT( clk, d: IN STD_LOGIC; q: OUT STD_LOGIC)。 END IF。 END rtl。即依據(jù) IF所指定的條件是否滿足,程序可以進(jìn)行兩條不同的執(zhí)行路徑。 ELSE c = b。 END PROCESS。 這種語句的書寫格式為: IF 條件 THEN 順序語句 ELSEIF 順序語句 ELSEIF 順序語句 ┇ ELSE 順序語句 END IF; 這種多選擇控制的 IF語句,實(shí)際上就是條件嵌套。當(dāng)所有設(shè)置的條件都不滿足時(shí),程序執(zhí)行ELSE和 END IF之間的順序處理語句。 USE IEEE. 。 END mux4; ARCHITECTURE rtl OF mux4 IS BEGIN PROCESS (input, sel) BEGIN IF (sel=“00”) THEN y= input( 0) ; ELSIF( sel=“01”) THEN y= input( 1) ; ELSIF( sel=“10”) THEN y= input( 2) ; ELSE y= input( 3) ; END IF。 END rtl。 CASE語句的結(jié)構(gòu)為: CASE 表達(dá)式 IS WHEN 條件選擇值 = 順序語句 , ┇ WHEN 條件選擇值 = 順序語句 , END CASE; 其中 WHEN條件選擇值可以有四種表達(dá)方式; ( 1) 單個(gè)普通數(shù)值 , 形如 WHEN 選擇值 = 順序語句; ( 2) 并列數(shù)值 , 形如 WHEN 值 /值 /值 = 順序語句; ( 3) 數(shù)值選擇范圍 , 形如 WHEN 值 TO值 = 順序語句; ( 4) WHEN OTHERS = 順序語句; 當(dāng)執(zhí)行到 CASE語句時(shí),首先計(jì)算 CASE和 IS之間的表達(dá)式的值,然后根據(jù)條件語句中與之相同的選擇值,執(zhí)行對應(yīng)的順序語句,最后結(jié)束 CASE語句。CASE語句中每一條語句的選擇值只能出現(xiàn)一次 , 即不能有相同選擇值的條件語句出現(xiàn) 。CASE語句執(zhí)行中必須選中 , 且只能選中所列條件語句中的一條 , 即 CASE語句至少包含一個(gè)條件語句 。除非所有條件語句中的選擇值能完全覆蓋 CASE語句中表達(dá)式的取值,否則最末一個(gè)條件語句中的選擇必須用“ OTHERS”表示,它代表已給出的所有條件語句中未能列出的其他可能的取值。使用 OTHERS是為了使條件語句中的所有選擇值能覆蓋表達(dá)式的所有取值,以免綜合過程中插入不必要的鎖存器。 例 [1] CASE語句使用 CASE mand IS WHEN “00”= c = a。 WHEN “10”= c = e。 WHEN OTHERS = NULL。 例 [2] CASE語句使用 CASE sel IS WHEN 1TO 9 = c = 1。 WHEN OTHERS = c = 3。 在 例 [2]中,第一個(gè) WHEN語句的意思是當(dāng) sel 的值是從 1到 9 中任意一個(gè)數(shù)值時(shí),信號 c的值取 1;第二個(gè) WHEN語句的意思是當(dāng) sel 的值為 11或 12兩者之一時(shí),信號 c 的取值為2;第三個(gè) WHEN語句的意思是當(dāng) sel 的值不為前面兩種情況時(shí),信號 c 的取值為 3。 LIBRARY IEEE。 ENTITY decoder3_8 IS PORT( a, b, c, g1, g2a, g2b: IN STD_LOGIC; y: OUT STD_LOGIC_VECTOR (7 DOWNTO 0); END decoder3_8; ARCHITECTURE rtl OF decoder3_8 IS SIGNAL indata: STD_LOGIC_VECTOR (2 DOWNTO 0); BEGIN indata = c amp。 a; PROCESS( indata, g1, g2a, g2b) BEGIN IF( g1=?1?AND g2a=?0? AND g2b=?0?) THEN CASE indata IS WHEN “000”= y =“11111110”; WHEN “001”= y =“11111101”; WHEN “010”= y =“11111011”; WHEN “011”= y =“11110111”; WHEN “100”= y =“11101111”; WHEN “101”= y =“11011111”; WHEN “110”= y =“10111111”;
點(diǎn)擊復(fù)制文檔內(nèi)容
電大資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1