【正文】
?所有比特: ? temp := “10101010”。 ?process之間是并發(fā)的。 when others。 end one。 end one。039。 信號定義成比特類型,可取 0和 1。 END PROCESS。 ? END LOOP L2 。 y: OUT STD_LOGIC ) 。 END ENTITY parity_check。 CASE sel IS WHEH “00”=d0=d。 else Y = ?Z?。 ? 常用的順序描述語句有:賦值語句、 IF語句、 CASE語句、 LOOP語句、 NEXT語句、EXIT語句、子程序、 RETURN語句、 WAIT語句和 NULL語句。] end if。 CASE語句應(yīng)用舉例 ? LOOP語句與其它高級語言中的循環(huán)語句相似,它可以使所包含的一組順序語句被循環(huán)執(zhí)行,其執(zhí)行次數(shù)可由設(shè)定的循環(huán)參數(shù)決定。 y=tmp 。 i := 0 。 BEGIN int_a:=a。子程序調(diào)用可以在任何地方根據(jù)其名稱調(diào)用子程序。 architecture one of mux4to1 is begin y=a when (sel1=39。) and (sel0=39。 注意: when others包含那些未被列出的可能。 end cmpl_sig。 … … .. 順序語句 N 。 46/38 信號賦值-延時( Delay) ?信號賦值可以在 process語句內(nèi)部也可以在外部進(jìn)行(如三種并行賦值語句)。 51/38 變量使用 舉例 1 變量說明 變量賦值 變量賦值給信號 52/38 變量使用舉例 2 val是個變量,只要有賦值給它,它就更新。要從時序上看。 . ? 注意 :邏輯綜合將對 wait和敏感信號表作出限制。039。 end mux4to1。) else c when (sel1=‘1’) and (sel0=‘0’) else d。) and (sel0=39。 end mux2to1。 EXIT語句舉例 ? 在進(jìn)程中(包括過程中),當(dāng)執(zhí)行到 WAIT(等待語句時),運(yùn)行程序?qū)⒈粧炱穑钡綕M足此語句設(shè)置的結(jié)束掛起條件后,才重新開始執(zhí)行進(jìn)程或過程中的程序。 END。 i:=i+1。循環(huán)次數(shù)范圍規(guī)定 LOOP語句中的順序語句被執(zhí)行的次數(shù)。 ( 4) case語句執(zhí)行必須選中,且僅能選中所列語句中的一條。 具有開關(guān)控制的 IF語句舉例 ? 一般格式: if 條件 then 順序語句 。- 當(dāng)條件 EN=1時, A隨 B變化;否則,該語句不執(zhí)行 end if。 ( 3) case語句中每一條件句的選擇值只能出現(xiàn)一次,不能有相同選擇值的條件語句出現(xiàn)。 ( 2)離散范圍必須是可計(jì)算的整數(shù)范圍。 abcd : WHILE ( i10 ) LOOP sum:=sum+i。 END PROCESS。 END PROCESS。 y:out bit)。039。139。 y:out std_logic)。 with sel select z = a when 39。 ? Process必須具有敏感信號表和 wait語句中的一個。 48/38 這兩個程序等效嗎? 不等效! process內(nèi)部時順序語句。 因此,更新過的 val的值用于 case語句。 ?信號賦值發(fā)生時會有時延,延時的類型有兩種: ? 固有( Inertial)延時(缺省的) ? 信號在傳輸過程中會時間長度增加。 END PROCESS。 architecture logic of cmpl_sig is begin x = (a and not sel) or (b and sel)。 40/38 如果信號類型換成 STD_LOGIC library ieee。039。039。 子程序調(diào)用語句 ? 調(diào)用過程的語句格