亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? ec66 中國(guó)電子技術(shù)信息網(wǎng) - 中文版verilog hdl簡(jiǎn)明教程(4).htm

?? 中文版Verilog HDL 簡(jiǎn)明教程。HTML格式
?? HTM
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):
          <TD height=20><FONT color=#f3f3f3>
            <P align=center>2003-9-4</FONT></P></TD></TR></TBODY></TABLE>
      <TABLE cellSpacing=0 width=150 border=0>
        <TBODY>
        <TR>
          <TD height=20><FONT color=#ffffff>相關(guān)文章:</FONT> </TD></TR>
        <TR>
          <TD height=20>
            <DIV align=center><A 
            href="http://www.ec66.com/article/list.asp?indexid=604"><FONT 
            color=#ffffff>Verilog HDL網(wǎng)上資源</FONT></A><BR><A 
            href="http://www.ec66.com/article/list.asp?indexid=603"><FONT 
            color=#ffffff>中文版Verilog HDL簡(jiǎn)明教程(5)</FONT></A><BR><A 
            href="http://www.ec66.com/article/list.asp?indexid=601"><FONT 
            color=#ffffff>中文版Verilog HDL簡(jiǎn)明教程(3)</FONT></A><BR><A 
            href="http://www.ec66.com/article/list.asp?indexid=600"><FONT 
            color=#ffffff>中文版Verilog 
        HDL簡(jiǎn)明教程(1、2)</FONT></A><BR></DIV></TD></TR></TBODY></TABLE>
      <TABLE cellSpacing=0 width=150 border=0>
        <TBODY>
        <TR>
          <TD height=20></TD></TR>
        <TR>
          <TD height=20>
            <P align=center><FONT color=#ffffff>==關(guān)于文章版權(quán)==</FONT></P></TD></TR>
        <TR>
          <TD height=20><FONT 
            color=#ffffff><BR>“本站”本站站主原創(chuàng)文章,未經(jīng)本人(帝國(guó)老手/aoe)許可其他媒體一律不得轉(zhuǎn)載。<BR><BR>“本站整理”本站站主根據(jù)個(gè)人見(jiàn)解及他人經(jīng)驗(yàn)總結(jié)整理的文章,其他媒體轉(zhuǎn)載必須標(biāo)明出處為我站。<BR><BR>“某單位或個(gè)人”全文轉(zhuǎn)載來(lái)自網(wǎng)絡(luò)上的文章,其他媒體轉(zhuǎn)載與我站無(wú)關(guān)。<BR><BR>“未知”(1)來(lái)自網(wǎng)絡(luò),由于來(lái)源混亂,無(wú)從考證作者,其他媒體轉(zhuǎn)載與我站無(wú)關(guān)。<BR><BR>“未知”(2)其文章也是本站站主原創(chuàng)的,只所以標(biāo)注“未知”,主要是因?yàn)橐梦淖诌^(guò)多或其他原因。建議其他媒體轉(zhuǎn)載標(biāo)明出處為我站。<BR><BR>我站版權(quán)請(qǐng)標(biāo)注:“www.EC66.com”或“中國(guó)電子技術(shù)信息網(wǎng)”字樣。</FONT></TD></TR>
        <TR>
          <TD height=20></TD></TR></TBODY></TABLE></TD>
    <TD vAlign=top width=600 height=240>
      <TABLE height=20 cellSpacing=0 cellPadding=0 width=600 border=0>
        <TBODY>
        <TR>
          <TD bgColor=#5b9595>&nbsp;</TD></TR></TBODY></TABLE>
      <TABLE cellSpacing=3 cellPadding=0 width=600 border=0>
        <TBODY>
        <TR>
          <TD bgColor=#aecece height=20>
            <DIV align=center><FONT color=#0a52d8><B>中文版Verilog 
            HDL簡(jiǎn)明教程(4)</B></FONT> </DIV></TD></TR>
        <TR>
          <TD width=600>〖文章轉(zhuǎn)載或出處〗≡中國(guó)電子技術(shù)信息網(wǎng)≡ 網(wǎng)址:www.EC66.com</TD></TR>
        <TR>
          <TD 
            width=600>中文版Verilog&nbsp;HDL簡(jiǎn)明教程:第4章&nbsp;表&nbsp;達(dá)&nbsp;式&nbsp;<BR><BR>  &nbsp;<BR>  本章講述在Verilog&nbsp;HDL中編寫表達(dá)式的基礎(chǔ)。<BR>  表達(dá)式由操作數(shù)和操作符組成。表達(dá)式可以在出現(xiàn)數(shù)值的任何地方使用。<BR><BR>4.1&nbsp;操作數(shù)<BR><BR>  操作數(shù)可以是以下類型中的一種:<BR>  1)&nbsp;常數(shù)<BR>  2)&nbsp;參數(shù)<BR>  3)&nbsp;線網(wǎng)<BR>  4)&nbsp;寄存器<BR>  5)&nbsp;位選擇<BR>  6)&nbsp;部分選擇 <BR>  7)&nbsp;存儲(chǔ)器單元<BR>  8)&nbsp;函數(shù)調(diào)用<BR><BR>4.1.1&nbsp;常數(shù)<BR><BR>  前面的章節(jié)已講述了如何書寫常量。下面是一些實(shí)例。<BR><BR>256,7&nbsp;//非定長(zhǎng)的十進(jìn)制數(shù)。<BR>4'b10_11,&nbsp;8'h0A&nbsp;//定長(zhǎng)的整型常量。<BR>'b1,&nbsp;'hFBA&nbsp;//非定長(zhǎng)的整數(shù)常量。<BR>90.00006&nbsp;//實(shí)數(shù)型常量。<BR>"BOND"&nbsp;//串常量;每個(gè)字符作為8位ASCII值存儲(chǔ)。<BR><BR>  表達(dá)式中的整數(shù)值可被解釋為有符號(hào)數(shù)或無(wú)符號(hào)數(shù)。如果表達(dá)式中是十進(jìn)制整數(shù),例如,12被解釋為有符號(hào)數(shù)。如果整數(shù)是基數(shù)型整數(shù)(定長(zhǎng)或非定長(zhǎng)),那么該整數(shù)作為無(wú)符號(hào)數(shù)對(duì)待。下面舉例說(shuō)明。<BR><BR>12是01100的5位向量形式(有符號(hào))<BR>-12是10100的5位向量形式(有符號(hào))<BR>5'b01100是十進(jìn)制數(shù)12(無(wú)符號(hào))<BR>5'b10100是十進(jìn)制數(shù)20(無(wú)符號(hào))<BR>4'd12是十進(jìn)制數(shù)12(無(wú)符號(hào))<BR><BR>  更為重要的是對(duì)基數(shù)表示或非基數(shù)表示的負(fù)整數(shù)處理方式不同。非基數(shù)表示形式的負(fù)整數(shù)作為有符號(hào)數(shù)處理,而基數(shù)表示形式的負(fù)整數(shù)值作為無(wú)符號(hào)數(shù)。因此-44和-6'o54&nbsp;(十進(jìn)制的44等于八進(jìn)制的54)在下例中處理不同。<BR><BR>integer&nbsp;Cone;<BR>.&nbsp;.&nbsp;.<BR>Cone&nbsp;=&nbsp;-44/4<BR>Cone&nbsp;=&nbsp;-6'o54/&nbsp;4;<BR><BR>  注意-44和-6'o54以相同的位模式求值;但是-44作為有符號(hào)數(shù)處理,而-6'o54作為無(wú)符號(hào)數(shù)處理。因此第一個(gè)字符中Cone的值為-11,而在第二個(gè)賦值中Cone的值為1073741813。<BR><BR>4.1.2&nbsp;參數(shù)<BR><BR>  前一章中已對(duì)參數(shù)作了介紹。參數(shù)類似于常量,并且使用參數(shù)聲明進(jìn)行說(shuō)明。下面是參數(shù)說(shuō)明實(shí)例。<BR><BR>parameter&nbsp;LOAD&nbsp;=&nbsp;4'd12,&nbsp;STORE&nbsp;=&nbsp;4'd10;<BR>LOAD&nbsp;和STORE為參數(shù)的例子,值分別被聲明為12和10。<BR><BR>4.1.3&nbsp;線網(wǎng)<BR><BR>  可在表達(dá)式中使用標(biāo)量線網(wǎng)(1位)和向量線網(wǎng)(多位)。下面是線網(wǎng)說(shuō)明實(shí)例。<BR><BR>wire&nbsp;[0:3]&nbsp;Prt;&nbsp;//Prt&nbsp;為4位向量線網(wǎng)。<BR>wire&nbsp;Bdq;&nbsp;//Bbq&nbsp;是標(biāo)量線網(wǎng)。<BR><BR>  線網(wǎng)中的值被解釋為無(wú)符號(hào)數(shù)。在連續(xù)賦值語(yǔ)句中,<BR><BR>assign&nbsp;Prt&nbsp;=&nbsp;-3;<BR>Prt被賦于位向量1101,實(shí)際上為十進(jìn)制的13。在下面的連續(xù)賦值中,<BR>assign&nbsp;Prt&nbsp;=&nbsp;4'HA;<BR>Prt被賦于位向量1010,即為十進(jìn)制的10。<BR><BR>4.1.4&nbsp;寄存器<BR><BR>  標(biāo)量和向量寄存器可在表達(dá)式中使用。寄存器變量使用寄存器聲明進(jìn)行說(shuō)明。例如:<BR><BR>integer&nbsp;TemA,&nbsp;TemB;<BR>reg&nbsp;[1:5]&nbsp;State;<BR>time&nbsp;Que&nbsp;[1:5];<BR><BR>  整型寄存器中的值被解釋為有符號(hào)的二進(jìn)制補(bǔ)碼數(shù),而reg寄存器或時(shí)間寄存器中的值被解釋為無(wú)符號(hào)數(shù)。實(shí)數(shù)和實(shí)數(shù)時(shí)間類型寄存器中的值被解釋為有符號(hào)浮點(diǎn)數(shù)。<BR><BR>TemA&nbsp;=&nbsp;-10;&nbsp;//TemA值為位向量10110,是10的二進(jìn)制補(bǔ)碼。<BR>TemA&nbsp;=&nbsp;'b1011;&nbsp;//TemA值為十進(jìn)制數(shù)11。<BR><BR>State&nbsp;=&nbsp;-10;&nbsp;//State值為位向量10110,即十進(jìn)制數(shù)22。<BR>State&nbsp;=&nbsp;'b1011;&nbsp;//State值為位向量01011,是十進(jìn)制值11。<BR><BR>4.1.5&nbsp;位選擇<BR><BR>  位選擇從向量中抽取特定的位。形式如下:<BR><BR>net_or_reg_vector&nbsp;[bit_select_expr]<BR><BR>  下面是表達(dá)式中應(yīng)用位選擇的例子。<BR><BR>State&nbsp;[1]&nbsp;&amp;&amp;&nbsp;State&nbsp;[4]&nbsp;//寄存器位選擇。<BR>Prt&nbsp;[0]&nbsp;|&nbsp;Bbq&nbsp;//線網(wǎng)位選擇。<BR><BR>  如果選擇表達(dá)式的值為x、z,或越界,則位選擇的值為x。例如State&nbsp;[x]值為x。<BR><BR>4.1.6&nbsp;部分選擇<BR><BR>  在部分選擇中,向量的連續(xù)序列被選擇。形式如下:<BR><BR>net_or_reg_vector&nbsp;[msb_const_expr:1sb_const_expr]<BR><BR>  其中范圍表達(dá)式必須為常數(shù)表達(dá)式。例如。<BR><BR>State&nbsp;[1:4]&nbsp;//寄存器部分選擇。<BR>Prt&nbsp;[1:3]&nbsp;//線網(wǎng)部分選擇。<BR>選擇范圍越界或?yàn)閤、z時(shí),部分選擇的值為x。<BR><BR>4.1.7&nbsp;存儲(chǔ)器單元<BR><BR>  存儲(chǔ)器單元從存儲(chǔ)器中選擇一個(gè)字。形式如下:<BR><BR>memory&nbsp;[word_address]<BR><BR>例如:<BR>reg&nbsp;[1:8]&nbsp;Ack,&nbsp;Dram&nbsp;[0:63];<BR>.&nbsp;.&nbsp;.&nbsp;<BR>Ack&nbsp;=&nbsp;Dram&nbsp;[60];&nbsp;//存儲(chǔ)器的第60個(gè)單元。<BR><BR>  不允許對(duì)存儲(chǔ)器變量值部分選擇或位選擇。例如,<BR><BR>Dram&nbsp;[60]&nbsp;[2]&nbsp;不允許。<BR>Dram&nbsp;[60]&nbsp;[2:4]&nbsp;也不允許。<BR><BR>  在存儲(chǔ)器中讀取一個(gè)位或部分選擇一個(gè)字的方法如下:將存儲(chǔ)器單元賦值給寄存器變量,然后對(duì)該寄存器變量采用部分選擇或位選擇操作。例如,Ack&nbsp;[2]&nbsp;和Ack&nbsp;[2:4]是合法的表達(dá)式。<BR><BR>4.1.8&nbsp;函數(shù)調(diào)用<BR><BR>  表達(dá)式中可使用函數(shù)調(diào)用。函數(shù)調(diào)用可以是系統(tǒng)函數(shù)調(diào)用(以$字符開(kāi)始)或用戶定義的函數(shù)調(diào)用。例如:<BR><BR>$time&nbsp;+&nbsp;SumOfEvents&nbsp;(A,&nbsp;B)<BR>/*$time是系統(tǒng)函數(shù),并且SumOfEvents是在別處定義的用戶自定義函數(shù)。*/<BR><BR>4.2&nbsp;操作符<BR><BR>  Verilog&nbsp;HDL中的操作符可以分為下述類型:<BR><BR>  1)&nbsp;算術(shù)操作符<BR>  2)&nbsp;關(guān)系操作符<BR>  3)&nbsp;相等操作符<BR>  4)&nbsp;邏輯操作符<BR>  5)&nbsp;按位操作符<BR>  6)&nbsp;歸約操作符<BR>  7)&nbsp;移位操作符<BR>  8)&nbsp;條件操作符<BR>  9)&nbsp;連接和復(fù)制操作符<BR><BR>  下表顯示了所有操作符的優(yōu)先級(jí)和名稱。操作符從最高優(yōu)先級(jí)(頂行)到最低優(yōu)先級(jí)(底行)排列。同一行中的操作符優(yōu)先級(jí)相同。<BR>  除條件操作符從右向左關(guān)聯(lián)外,其余所有操作符自左向右關(guān)聯(lián)。下面的表達(dá)式:<BR><BR>A&nbsp;+&nbsp;B&nbsp;-&nbsp;C<BR>等價(jià)于:<BR>(A&nbsp;+&nbsp;B&nbsp;)&nbsp;-&nbsp;C&nbsp;//自左向右<BR>而表達(dá)式:<BR>A&nbsp;?&nbsp;B&nbsp;:&nbsp;C&nbsp;?&nbsp;D&nbsp;:&nbsp;F<BR>等價(jià)于:<BR>A&nbsp;?&nbsp;B&nbsp;:&nbsp;(C&nbsp;?&nbsp;D&nbsp;:&nbsp;F)&nbsp;//從右向左<BR>圓擴(kuò)號(hào)能夠用于改變優(yōu)先級(jí)的順序,如以下表達(dá)式:<BR>(A&nbsp;?&nbsp;B&nbsp;:&nbsp;C)&nbsp;?&nbsp;D&nbsp;:&nbsp;F<BR><BR>4.2.1&nbsp;算術(shù)操作符<BR><BR>  算術(shù)操作符有:<BR><BR>*&nbsp;+(一元加和二元加)<BR>*&nbsp;-(一元減和二元減)<BR>*&nbsp;*(乘)<BR>*&nbsp;/(除)<BR>*&nbsp;%(取模)<BR><BR>  整數(shù)除法截?cái)嗳魏涡?shù)部分。例如:<BR><BR>7/4&nbsp;結(jié)果為&nbsp;1<BR>取模操作符求出與第一個(gè)操作符符號(hào)相同的余數(shù)。<BR>7%4&nbsp;結(jié)果為&nbsp;3<BR>而:<BR>-&nbsp;7%4&nbsp;結(jié)果為&nbsp;-3<BR><BR>  如果算術(shù)操作符中的任意操作數(shù)是X或Z,那么整個(gè)結(jié)果為X。例如:<BR><BR>'b10x1&nbsp;+&nbsp;'b01111&nbsp;結(jié)果為不確定數(shù)'bxxxxx<BR><BR>1.&nbsp;算術(shù)操作結(jié)果的長(zhǎng)度<BR>  算術(shù)表達(dá)式結(jié)果的長(zhǎng)度由最長(zhǎng)的操作數(shù)決定。在賦值語(yǔ)句下,算術(shù)操作結(jié)果的長(zhǎng)度由操作符左端目標(biāo)長(zhǎng)度決定。考慮如下實(shí)例:<BR><BR>reg&nbsp;[0:3]&nbsp;Arc,&nbsp;Bar,&nbsp;Crt;<BR>reg&nbsp;[0:5]&nbsp;Frx;<BR>.&nbsp;.&nbsp;.&nbsp;<BR>Arc&nbsp;=&nbsp;Bar&nbsp;+&nbsp;Crt;<BR>Frx&nbsp;=&nbsp;Bar&nbsp;+&nbsp;Crt;<BR><BR>  第一個(gè)加的結(jié)果長(zhǎng)度由Bar,Crt和Arc長(zhǎng)度決定,長(zhǎng)度為4位。第二個(gè)加法操作的長(zhǎng)度同樣由Frx的長(zhǎng)度決定(Frx、Bat和Crt中的最長(zhǎng)長(zhǎng)度),長(zhǎng)度為6位。在第一個(gè)賦值中,加法操作的溢出部分被丟棄;而在第二個(gè)賦值中,任何溢出的位存儲(chǔ)在結(jié)果位Frx[1]中。<BR>  在較大的表達(dá)式中,中間結(jié)果的長(zhǎng)度如何確定?在Verilog&nbsp;HDL中定義了如下規(guī)則:表達(dá)式中的所有中間結(jié)果應(yīng)取最大操作數(shù)的長(zhǎng)度(賦值時(shí),此規(guī)則也包括左端目標(biāo))。考慮另一個(gè)實(shí)例:<BR><BR>wire&nbsp;[4:1]&nbsp;Box,&nbsp;Drt;<BR>wire&nbsp;[1:5]&nbsp;Cfg;<BR>wire&nbsp;[1:6]&nbsp;Peg;<BR>wire&nbsp;[1:8]&nbsp;Adt;<BR>.&nbsp;.&nbsp;.<BR>assign&nbsp;Adt&nbsp;=&nbsp;(Box&nbsp;+&nbsp;Cfg)&nbsp;+&nbsp;(Drt&nbsp;+&nbsp;Peg);<BR><BR>  表達(dá)式左端的操作數(shù)最長(zhǎng)為6,但是將左端包含在內(nèi)時(shí),最大長(zhǎng)度為8。所以所有的加操作使用8位進(jìn)行。例如:Box和Cfg相加的結(jié)果長(zhǎng)度為8位。<BR><BR>2.&nbsp;無(wú)符號(hào)數(shù)和有符號(hào)數(shù)<BR>  執(zhí)行算術(shù)操作和賦值時(shí),注意哪些操作數(shù)為無(wú)符號(hào)數(shù)、哪些操作數(shù)為有符號(hào)數(shù)非常重要。無(wú)符號(hào)數(shù)存儲(chǔ)在:<BR>*&nbsp;線網(wǎng)<BR>*&nbsp;一般寄存器<BR>*&nbsp;基數(shù)格式表示形式的整數(shù)<BR>  有符號(hào)數(shù)存儲(chǔ)在:<BR>*&nbsp;整數(shù)寄存器<BR>*&nbsp;十進(jìn)制形式的整數(shù)<BR>  下面是一些賦值語(yǔ)句的實(shí)例:<BR><BR>reg&nbsp;[0:5]&nbsp;Bar;<BR>integer&nbsp;Tab;<BR>.&nbsp;.&nbsp;.<BR>Bar&nbsp;=&nbsp;-4'd12;&nbsp;//寄存器變量Bar的十進(jìn)制數(shù)為52,向量值為110100。<BR>Tab&nbsp;=&nbsp;-4'd12;&nbsp;//整數(shù)Tab的十進(jìn)制數(shù)為-12,位形式為110100。<BR><BR>-4'd12&nbsp;/&nbsp;4&nbsp;//結(jié)果是1073741821。<BR>-12&nbsp;/&nbsp;4&nbsp;//結(jié)果是-3<BR><BR>  因?yàn)锽ar是普通寄存器類型變量,只存儲(chǔ)無(wú)符號(hào)數(shù)。右端表達(dá)式的值為'b110100(12的二進(jìn)制補(bǔ)碼)。因此在賦值后,Bar存儲(chǔ)十進(jìn)制值52。在第二個(gè)賦值中,右端表達(dá)式相同,值為'b110100,但此時(shí)被賦值為存儲(chǔ)有符號(hào)數(shù)的整數(shù)寄存器。Tab存儲(chǔ)十進(jìn)制值-12(位向量為110100)。注意在兩種情況下,位向量存儲(chǔ)內(nèi)容都相同;但是在第一種情況下,向量被解釋為無(wú)符號(hào)數(shù),而在第二種情況下,向量被解釋為有符號(hào)數(shù)。<BR>  下面為具體實(shí)例:<BR><BR>Bar&nbsp;=&nbsp;-&nbsp;4'd12/4;<BR>Tab&nbsp;=&nbsp;-&nbsp;4'd12&nbsp;/4;<BR><BR>Bar&nbsp;=&nbsp;-&nbsp;12/4<BR>Tab&nbsp;=&nbsp;-&nbsp;12/4<BR><BR>  在第一次賦值中,Bar被賦于十進(jìn)制值61(位向量為111101)。而在第二個(gè)賦值中,Tab被賦于與十進(jìn)制1073741821(位值為0011...11101)。Bar在第三個(gè)賦值中賦于與第一個(gè)賦值相同的值。這是因?yàn)锽ar只存儲(chǔ)無(wú)符號(hào)數(shù)。在第四個(gè)賦值中,Bar被賦于十進(jìn)制值-3。<BR>  下面是另一些例子:<BR><BR>Bar&nbsp;=&nbsp;4&nbsp;-&nbsp;6;<BR>Tab&nbsp;=&nbsp;4&nbsp;-&nbsp;6;<BR>Bar被賦于十進(jìn)制值62(-2的二進(jìn)制補(bǔ)碼),而Tab被賦于十進(jìn)制值-2(位向量為111110)。<BR><BR>  下面為另一個(gè)實(shí)例:<BR><BR>Bar&nbsp;=&nbsp;-2&nbsp;+&nbsp;(-4);<BR>Tab&nbsp;=&nbsp;-2&nbsp;+&nbsp;(-4);<BR>Bar被賦于十進(jìn)制值58(位向量為111010),而Tab被賦于十進(jìn)制值-6(位向量為111010)。<BR><BR>4.2.2&nbsp;關(guān)系操作符<BR><BR>  關(guān)系操作符有:<BR><BR>*&nbsp;&gt;(大于)<BR>*&nbsp;&lt;(小于)<BR>*&nbsp;&gt;=(不小于)<BR>*&nbsp;&lt;=(不大于)<BR><BR>  關(guān)系操作符的結(jié)果為真(1)或假(0)。如果操作數(shù)中有一位為X或Z,那么結(jié)果為X。例如:<BR><BR>23&nbsp;&gt;&nbsp;45<BR>結(jié)果為假(0),而:<BR>52&lt;&nbsp;8'hxFF<BR>結(jié)果為x。如果操作數(shù)長(zhǎng)度不同,長(zhǎng)度較短的操作數(shù)在最重要的位方向(左方)添0補(bǔ)齊。例如:<BR>'b1000&nbsp;&gt;&nbsp;=&nbsp;'b01110<BR>等價(jià)于:<BR>'b01000&nbsp;&gt;&nbsp;=&nbsp;'b01110<BR>結(jié)果為假(0)。&nbsp;<BR><BR>4.2.3&nbsp;相等關(guān)系操作符<BR><BR>  相等關(guān)系操作符有:<BR><BR>*&nbsp;=&nbsp;=(邏輯相等)<BR>*&nbsp;!=(邏輯不等)<BR>*&nbsp;=&nbsp;=&nbsp;=(全等)<BR>*&nbsp;!=&nbsp;=(非全等)<BR><BR>  如果比較結(jié)果為假,則結(jié)果為0;否則結(jié)果為1。在全等比較中,值x和z嚴(yán)格按位比較。也就是說(shuō),不進(jìn)行解釋,并且結(jié)果一定可知。而在邏輯比較中,值x和z具有通常的意義,且結(jié)果可以不為x。也就是說(shuō),在邏輯比較中,如果兩個(gè)操作數(shù)之一包含x或z,結(jié)果為未知的值(x)。<BR>  如下例,假定:<BR><BR>Data&nbsp;=&nbsp;'b11x0;<BR>Addr&nbsp;=&nbsp;'b11x0;<BR>那么:<BR>Data&nbsp;=&nbsp;=&nbsp;Addr<BR>不定,也就是說(shuō)值為x,但:<BR>Data&nbsp;=&nbsp;=&nbsp;=&nbsp;Addr<BR>為真,也就是說(shuō)值為1。<BR><BR>  如果操作數(shù)的長(zhǎng)度不相等,長(zhǎng)度較小的操作數(shù)在左側(cè)添0補(bǔ)位,例如:<BR><BR>2'b10&nbsp;=&nbsp;=&nbsp;4'b0010<BR>與下面的表達(dá)式相同:<BR>4'b0010&nbsp;=&nbsp;=&nbsp;4'b0010<BR>結(jié)果為真(1)。<BR><BR>4.2.4&nbsp;邏輯操作符<BR><BR>  邏輯操作符有:<BR><BR>*&nbsp;&amp;&amp;&nbsp;(邏輯與)<BR>*&nbsp;||&nbsp;(邏輯或)&nbsp;<BR>*&nbsp;!(邏輯非)<BR><BR>  這些操作符在邏輯值0或1上操作。邏輯操作的結(jié)構(gòu)為0或1。例如,&nbsp;假定:&nbsp;<BR><BR>Crd&nbsp;=&nbsp;'b0;&nbsp;//0為假<BR>Dgs&nbsp;=&nbsp;'b1;&nbsp;//1為真<BR>那么:<BR>Crd&nbsp;&amp;&amp;&nbsp;Dgs&nbsp;結(jié)果為0&nbsp;(假)<BR>Crd&nbsp;||&nbsp;Dgs&nbsp;結(jié)果為1&nbsp;(真)<BR>!&nbsp;Dgs&nbsp;結(jié)果為0&nbsp;(假)<BR>對(duì)于向量操作,&nbsp;非0向量作為1處理。例如,假定:<BR>A_Bus&nbsp;=&nbsp;'b0110;<BR>B_Bus&nbsp;=&nbsp;'b0100;<BR>那么:<BR>A_Bus&nbsp;||&nbsp;B_Bus&nbsp;結(jié)果為1<BR>A_Bus&nbsp;&amp;&amp;&nbsp;B_Bus&nbsp;結(jié)果為&nbsp;1<BR>并且:<BR>!&nbsp;A_Bus&nbsp;與!&nbsp;B_Bus的結(jié)果相同。<BR>結(jié)果為0。<BR>如果任意一個(gè)操作數(shù)包含x,結(jié)果也為x。<BR>!x&nbsp;結(jié)果為x<BR><BR>4.2.5&nbsp;按位操作符<BR><BR>  按位操作符有:<BR><BR>*&nbsp;~(一元非)<BR>*&nbsp;&amp;(二元與)<BR>*&nbsp;|(二元或)<BR>*&nbsp;^(二元異或)<BR>*&nbsp;~^,&nbsp;^~(二元異或非)<BR><BR>  這些操作符在輸入操作數(shù)的對(duì)應(yīng)位上按位操作,并產(chǎn)生向量結(jié)果。下表顯示對(duì)于不同操作符按步操作的結(jié)果。<BR><BR>  例如,假定,<BR>A&nbsp;=&nbsp;'b0110;<BR>B&nbsp;=&nbsp;'b0100;<BR>那么:<BR>A&nbsp;|&nbsp;B&nbsp;結(jié)果為0110<BR>A&nbsp;&amp;&nbsp;B&nbsp;結(jié)果為0100<BR>如果操作數(shù)長(zhǎng)度不相等,&nbsp;長(zhǎng)度較小的操作數(shù)在最左側(cè)添0補(bǔ)位。例如,<BR>'b0110&nbsp;^&nbsp;'b10000<BR>與如下式的操作相同:&nbsp;<BR>'b00110&nbsp;^&nbsp;'b10000<BR>結(jié)果為'b10110。<BR><BR>4.2.6&nbsp;歸約操作符<BR><BR>  歸約操作符在單一操作數(shù)的所有位上操作,并產(chǎn)生1位結(jié)果。歸約操作符有:<BR><BR>*&nbsp;&amp;&nbsp;(歸約與)<BR>如果存在位值為0,&nbsp;那么結(jié)果為0;若如果存在位值為x或z,結(jié)果為x;否則結(jié)果為1。<BR>*&nbsp;~&amp;&nbsp;(歸約與非)<BR>與歸約操作符&amp;相反。<BR>*&nbsp;|&nbsp;(歸約或)<BR>如果存在位值為1,那么結(jié)果為1;如果存在位x或z,結(jié)果為x;否則結(jié)果為0。<BR>*&nbsp;~|&nbsp;(歸約或非)<BR>與歸約操作符|相反。<BR>*&nbsp;^&nbsp;(歸約異或)<BR>如果存在位值為x或z,那么結(jié)果為x;否則如果操作數(shù)中有偶數(shù)個(gè)1,&nbsp;結(jié)果為0;否則結(jié)果為1。<BR>*&nbsp;~^&nbsp;(歸約異或非)<BR>與歸約操作符^正好相反。<BR>如下所示。假定,<BR>A&nbsp;=&nbsp;'b0110;<BR>B&nbsp;=&nbsp;'b0100;<BR>那么:<BR>|B&nbsp;結(jié)果為1<BR>&amp;&nbsp;B&nbsp;結(jié)果為0<BR>~&nbsp;A&nbsp;結(jié)果為1<BR>歸約異或操作符用于決定向量中是否有位為x。假定,<BR>MyReg&nbsp;=&nbsp;4'b01x0;<BR>那么:<BR>^MyReg&nbsp;結(jié)果為x<BR>  上述功能使用如下的if語(yǔ)句檢測(cè):<BR><BR>if&nbsp;(^MyReg&nbsp;=&nbsp;=&nbsp;=&nbsp;1'bx)<BR>$&nbsp;display&nbsp;("There&nbsp;is&nbsp;an&nbsp;unknown&nbsp;in&nbsp;the&nbsp;vector&nbsp;MyReg&nbsp;!")<BR><BR>注意邏輯相等(==)操作符不能用于比較;邏輯相等操作符比較將只會(huì)產(chǎn)生結(jié)果x。全等操作符期望的結(jié)果為值1。<BR><BR>4.2.7&nbsp;移位操作符<BR><BR>  移位操作符有:<BR><BR>*&nbsp;&lt;&lt;&nbsp;(左移)<BR>*&nbsp;&gt;&gt;&nbsp;(右移)<BR><BR>  移位操作符左側(cè)操作數(shù)移動(dòng)右側(cè)操作數(shù)表示的次數(shù),它是一個(gè)邏輯移位。空閑位添0補(bǔ)位。如果右側(cè)操作數(shù)的值為x或z,&nbsp;移位操作的結(jié)果為x。假定:<BR><BR>reg&nbsp;[0:7]&nbsp;Qreg;<BR>.&nbsp;.&nbsp;.<BR>Qreg&nbsp;=&nbsp;4'b0111;<BR>那么:<BR>Qreg&nbsp;&gt;&gt;&nbsp;2&nbsp;是&nbsp;8'b0000_0001<BR><BR>  Verilog&nbsp;HDL中沒(méi)有指數(shù)操作符。但是,移位操作符可用于支持部分指數(shù)操作。例如,如果要計(jì)算ZNumBits的值,可以使用移位操作實(shí)現(xiàn),例如:<BR><BR>32'b1&nbsp;&lt;&lt;&nbsp;NumBits&nbsp;//NumBits必須小于32。<BR>同理,可使用移位操作為2-4解碼器建模,如<BR>wire&nbsp;[0:3]&nbsp;DecodeOut&nbsp;=&nbsp;4'b1&nbsp;&lt;&lt;&nbsp;Address&nbsp;[0:1];<BR>Address[0:1]&nbsp;可取值0,1,2和3。與之相應(yīng),DecodeOut可以取值4'b0001、4'b0010、4'b0100和4'b1000,從而為解碼器建模。<BR><BR>4.2.8&nbsp;條件操作符<BR><BR>  條件操作符根據(jù)條件表達(dá)式的值選擇表達(dá)式,形式如下:<BR><BR>cond_expr&nbsp;?&nbsp;expr1&nbsp;:&nbsp;expr2<BR><BR>如果cond_expr&nbsp;為真(即值為1),選擇expr1;如果cond_expr為假(值為0),選擇expr2。&nbsp;如果cond_expr&nbsp;為x或z,結(jié)果將是按以下邏輯expr1和expr2按位操作的值:&nbsp;0與0得0,1與1得1,其余情況為x。<BR>如下所示:<BR><BR>wire&nbsp;[0:2]&nbsp;Student&nbsp;=&nbsp;Marks&nbsp;&gt;&nbsp;18&nbsp;?&nbsp;Grade_A&nbsp;:&nbsp;Grade_C;<BR><BR>計(jì)算表達(dá)式Marks&nbsp;&gt;&nbsp;18;&nbsp;如果真,&nbsp;Grade_A&nbsp;賦值為Student;&nbsp;如果Marks&nbsp;&lt;&nbsp;=18,&nbsp;Grade_C&nbsp;賦值為Student。下面為另一實(shí)例:<BR><BR>always<BR>#5&nbsp;Ctr&nbsp;=&nbsp;(Ctr&nbsp;!=&nbsp;25)&nbsp;?&nbsp;(Ctr&nbsp;+&nbsp;1)&nbsp;:&nbsp;5;<BR>過(guò)程賦值中的表達(dá)式表明如果Ctr不等于25,&nbsp;則加1;否則如果Ctr值為25時(shí),&nbsp;將Ctr值重新置為5。<BR><BR>4.2.9&nbsp;連接和復(fù)制操作<BR><BR>  連接操作是將小表達(dá)式合并形成大表達(dá)式的操作。形式如下:<BR><BR>{expr1,&nbsp;expr2,&nbsp;.&nbsp;.&nbsp;.,exprN}<BR><BR>  實(shí)例如下所示:<BR><BR>wire&nbsp;[7:0]&nbsp;Dbus;<BR>wire&nbsp;[11:0]&nbsp;Abus;<BR><BR>assign&nbsp;Dbus&nbsp;[7:4]&nbsp;=&nbsp;{Dbus&nbsp;[0],&nbsp;Dbus&nbsp;[1],&nbsp;Dbus[2],&nbsp;Dbus[3]};<BR>//以反轉(zhuǎn)的順序?qū)⒌投?位賦給高端4位。<BR>assign&nbsp;Dbus&nbsp;=&nbsp;{Dbus&nbsp;[3:0],&nbsp;Dbus&nbsp;[7:4]};<BR>//高4位與低4位交換。<BR>由于非定長(zhǎng)常數(shù)的長(zhǎng)度未知,&nbsp;不允許連接非定長(zhǎng)常數(shù)。例如,&nbsp;下列式子非法:<BR>{Dbus,5}&nbsp;//不允許連接操作非定長(zhǎng)常數(shù)。<BR>復(fù)制通過(guò)指定重復(fù)次數(shù)來(lái)執(zhí)行操作。形式如下:<BR>{repetition_number&nbsp;{expr1,&nbsp;expr2,&nbsp;...,exprN}}<BR>以下是一些實(shí)例:<BR>Abus&nbsp;=&nbsp;{3{4'b1011}};&nbsp;//位向量12'b1011_1011_1011)<BR>Abus&nbsp;=&nbsp;{{4{Dbus[7]}},&nbsp;Dbus};&nbsp;/*符號(hào)擴(kuò)展*/<BR>{3{1'b1}}&nbsp;結(jié)果為111<BR>{3{Ack}}&nbsp;結(jié)果與{Ack,&nbsp;Ack,&nbsp;Ack}相同。<BR><BR>4.3&nbsp;表達(dá)式種類<BR><BR>  常量表達(dá)式是在編譯時(shí)就計(jì)算出常數(shù)值的表達(dá)式。通常,常量表達(dá)式可由下列要素構(gòu)成:<BR>  1)&nbsp;表示常量文字,&nbsp;如'b10和326。<BR>  2)&nbsp;參數(shù)名,如RED的參數(shù)表明:<BR><BR>parameter&nbsp;RED&nbsp;=&nbsp;4'b1110;<BR><BR>  標(biāo)量表達(dá)式是計(jì)算結(jié)果為1位的表達(dá)式。如果希望產(chǎn)生標(biāo)量結(jié)果,&nbsp;但是表達(dá)式產(chǎn)生的結(jié)果為向量,&nbsp;則最終結(jié)果為向量最右側(cè)的位值。<BR><BR>習(xí)題<BR><BR>1.&nbsp;說(shuō)明參數(shù)GATE_DELAY,&nbsp;參數(shù)值為5。<BR>2.&nbsp;假定長(zhǎng)度為64個(gè)字的存儲(chǔ)器,&nbsp;每個(gè)字8位,編寫Verilog&nbsp;代碼,按逆序交換存儲(chǔ)器的內(nèi)容。即將第0個(gè)字與第63個(gè)字交換,第1個(gè)字與第62個(gè)字交換,依此類推。<BR>3.&nbsp;假定32位總線Address_Bus,&nbsp;編寫一個(gè)表達(dá)式,計(jì)算從第11位到第20位的歸約與非。<BR>4.&nbsp;假定一條總線Control_Bus&nbsp;[15:0],編寫賦值語(yǔ)句將總線分為兩條總線:Abus&nbsp;[0:9]和Bbus&nbsp;[6:1]。<BR>5.&nbsp;編寫一個(gè)表達(dá)式,執(zhí)行算術(shù)移位,將Qparity&nbsp;中包含的8位有符號(hào)數(shù)算術(shù)移位。<BR>6.&nbsp;使用條件操作符,&nbsp;編寫賦值語(yǔ)句選擇NextState的值。如果CurrentState的值為RESET,&nbsp;那么NextState的值為GO;如果CurrentState的值為GO,則NextState&nbsp;的值為BUSY;如果CurrentState的值為BUSY;則NextState的值為RESET。<BR>7.&nbsp;如何從標(biāo)量變量A,B,C和D中產(chǎn)生總線BusQ[0:3]?&nbsp;如何從兩條總線BusA&nbsp;[0:3]和BusY&nbsp;[20:15]形成新的總線BusR[10:1]?<BR>&nbsp;</TD></TR>
        <TR>
          <TD width=600></TD></TR>
        <TR>
          <TD width=600><B>鄭重聲明</B><BR>&nbsp;&nbsp; 
            近年來(lái)我站數(shù)百篇“原創(chuàng)文章”被一些媒體肆意轉(zhuǎn)載,不但不標(biāo)明出自“中國(guó)電子技術(shù)信息網(wǎng)”,而且把相關(guān)字眼刪除!這是無(wú)視技術(shù)價(jià)值的盜竊行為,是對(duì)技術(shù)人員辛勤勞動(dòng)的蔑視,我對(duì)此種行為表示強(qiáng)烈的譴責(zé)。<BR>&nbsp;&nbsp; 
            “本是同根生,相煎何太急”,考慮到我們做技術(shù)的都是同門兄弟,對(duì)以前的盜竊行為不再追究,今后再有此類事件,最低處理限度是“明示于天下”。在這里向轉(zhuǎn)載過(guò)又標(biāo)注了出處的兄弟媒體表示崇高的敬意!<BR>&nbsp;&nbsp; 
            兄弟網(wǎng)站如果引用本站“原創(chuàng)文章”,請(qǐng)首先經(jīng)本人許可,并標(biāo)注“www.EC66.com”或“中國(guó)電子技術(shù)信息網(wǎng)”字樣。<BR>&nbsp;&nbsp; 
            歡迎個(gè)人下載使用!</TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><BR><BR></DIV>
<DIV align=center>
<P 
align=center>本站所載文章力求原創(chuàng),部分資料轉(zhuǎn)自網(wǎng)上,轉(zhuǎn)載文章均注明出處。<BR>假如您認(rèn)為某些文章侵犯了您的權(quán)益,請(qǐng)告知我們,我們將在最短的時(shí)間內(nèi)刪除有關(guān)文章。<BR>如果您對(duì)文章內(nèi)容有任何心得或異議,請(qǐng)到<A 
href="http://www.ecbbs.com/" target=_blank><FONT 
color=red>技術(shù)論壇</FONT></A>發(fā)表高見(jiàn)!</P>
<P align=center>中國(guó)電子技術(shù)信息網(wǎng) 文章管理系統(tǒng)由:Aoe 制作<BR>Copyright (C) 2001-2006 EC66.COM All 
Rights Reserved</P></DIV></BODY></HTML>

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品视频在线免费观看| 亚洲一区在线电影| 欧美日韩国产三级| 成人高清免费观看| 男男gaygay亚洲| 亚洲免费看黄网站| 国产欧美一区视频| 日韩欧美国产三级电影视频| 一本一道综合狠狠老| 国产福利一区在线| 蜜桃一区二区三区四区| 亚洲激情图片一区| 中文字幕在线一区| 久久久高清一区二区三区| 欧美一级爆毛片| 精品视频在线免费| 色偷偷久久一区二区三区| 国产一区二区三区免费观看| 奇米888四色在线精品| 亚洲综合成人在线| 亚洲人快播电影网| 中文字幕欧美一| 国产精品伦一区| 久久精品水蜜桃av综合天堂| 精品999久久久| 精品久久国产字幕高潮| 51精品久久久久久久蜜臀| 欧洲精品中文字幕| 日本丰满少妇一区二区三区| 成人av免费在线播放| 大桥未久av一区二区三区中文| 久久精品二区亚洲w码| 毛片av中文字幕一区二区| 五月天国产精品| 日韩高清不卡一区二区三区| 肉丝袜脚交视频一区二区| 午夜精品一区在线观看| 午夜精品视频在线观看| 日韩经典一区二区| 青青国产91久久久久久| 久久成人精品无人区| 久久国产夜色精品鲁鲁99| 蜜臀av一级做a爰片久久| 蜜桃一区二区三区四区| 狠狠狠色丁香婷婷综合久久五月| 久久97超碰色| 国产成人在线视频网站| 成人免费看视频| 色老综合老女人久久久| 在线看国产日韩| 欧美老年两性高潮| 日韩欧美综合一区| 久久新电视剧免费观看| 国产精品全国免费观看高清| 中文字幕五月欧美| 亚洲国产精品久久久久婷婷884 | 亚洲一二三区在线观看| 视频在线观看一区| 国产在线一区观看| 99久久99久久精品免费观看| 在线观看av不卡| 日韩欧美国产精品一区| 久久精品欧美日韩| 亚洲三级在线看| 日韩精品一卡二卡三卡四卡无卡| 麻豆久久一区二区| 白白色亚洲国产精品| 欧美亚洲动漫精品| 精品国产乱码久久久久久久| 国产精品久久久久aaaa| 亚洲成人一区二区在线观看| 国产一区美女在线| 色综合网站在线| 欧美xxxxx裸体时装秀| 国产精品午夜春色av| 亚洲成人av资源| 国产高清视频一区| 欧美色综合久久| 国产亚洲欧美日韩俺去了| 亚洲老司机在线| 精品一二三四在线| 色呦呦一区二区三区| 欧美v亚洲v综合ⅴ国产v| 亚洲丝袜精品丝袜在线| 久久精品国产亚洲高清剧情介绍| 不卡的av电影| 日韩一卡二卡三卡| 成人欧美一区二区三区| 捆绑调教一区二区三区| 91色综合久久久久婷婷| 亚洲精品在线三区| 亚洲国产精品自拍| 成人av在线看| 欧美不卡视频一区| 亚洲无人区一区| av高清久久久| 欧美成人一区二区三区| 一区二区高清免费观看影视大全| 久久99久久99精品免视看婷婷 | 日韩欧美国产精品一区| 亚洲欧美经典视频| 顶级嫩模精品视频在线看| 7878成人国产在线观看| 亚洲精品v日韩精品| 成人一级视频在线观看| 日韩欧美视频一区| 亚洲h在线观看| 99精品欧美一区二区三区小说| 亚洲精品一区二区三区精华液| 亚洲第一主播视频| 色域天天综合网| 18成人在线观看| 成人免费高清在线观看| 国产亚洲成年网址在线观看| 麻豆精品一二三| 91精品欧美综合在线观看最新| 一级女性全黄久久生活片免费| proumb性欧美在线观看| 亚洲国产精品传媒在线观看| 紧缚奴在线一区二区三区| 日韩三级av在线播放| 日韩精品电影在线观看| 欧美夫妻性生活| 亚洲成a人片综合在线| 欧美亚州韩日在线看免费版国语版| 亚洲丝袜自拍清纯另类| 99re视频精品| 亚洲区小说区图片区qvod| 99国产精品一区| 亚洲视频在线观看一区| 99久久精品免费| 亚洲精品国产一区二区精华液 | 久久久久久99久久久精品网站| 久久狠狠亚洲综合| 精品乱人伦一区二区三区| 经典三级一区二区| 久久精品夜夜夜夜久久| 成人午夜在线播放| 亚洲欧洲成人av每日更新| 99久久婷婷国产精品综合| 亚洲男人天堂av网| 色狠狠一区二区| 五月天丁香久久| 精品免费日韩av| 国产精品资源网站| 亚洲欧洲精品一区二区三区| 色天天综合色天天久久| 亚洲一区自拍偷拍| 国产精品久久久久婷婷| 色哟哟在线观看一区二区三区| 亚洲综合一区二区三区| 91精品国产乱码久久蜜臀| 奇米色一区二区| 欧美韩国日本不卡| 91成人在线观看喷潮| 日本视频中文字幕一区二区三区| 精品黑人一区二区三区久久| 国产一区二区三区| 亚洲日韩欧美一区二区在线| 欧美日韩亚洲综合在线 | 亚洲人成在线播放网站岛国| 欧洲生活片亚洲生活在线观看| 日本亚洲三级在线| 久久日韩粉嫩一区二区三区| 成人av午夜电影| 亚洲国产精品一区二区www在线 | 91免费视频网| 亚洲va欧美va国产va天堂影院| 精品欧美一区二区久久| 成人sese在线| 人妖欧美一区二区| 中文天堂在线一区| 欧美日韩一区高清| 国产高清在线精品| 亚洲一区二区偷拍精品| 久久蜜桃香蕉精品一区二区三区| 91香蕉视频mp4| 麻豆精品在线看| 亚洲精品综合在线| 精品剧情v国产在线观看在线| 色综合婷婷久久| 国产一区福利在线| 亚洲一区二区三区美女| 国产色爱av资源综合区| 欧美美女黄视频| 成人国产电影网| 激情欧美一区二区| 亚洲国产精品久久久久婷婷884| 国产亚洲1区2区3区| 91精品国产入口| 99国产欧美另类久久久精品| 精品一区二区三区av| 亚洲永久精品国产| 中文字幕一区二区三| 精品国产区一区| 91麻豆精品久久久久蜜臀| 色婷婷亚洲婷婷| 国产.欧美.日韩| 激情五月播播久久久精品| 五月婷婷另类国产|