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

正文內(nèi)容

[信息與通信]verilog語(yǔ)言-資料下載頁(yè)

2025-08-18 16:23本頁(yè)面
  

【正文】 e CurrTime。real說(shuō)明的變量的缺省值為0。不允許對(duì)real聲明值域、位界限或字節(jié)界限。  當(dāng)將值x和z賦予real類型寄存器時(shí),這些值作0處理。real RamCnt。. . .RamCnt = 39。b01x1Z。RamCnt在賦值后的值為39。b01010。 參數(shù)  參數(shù)是一個(gè)常量。參數(shù)經(jīng)常用于定義時(shí)延和變量的寬度。使用參數(shù)說(shuō)明的參數(shù)只被賦值一次。參數(shù)說(shuō)明形式如下:parameter param1 = const_expr1, param2 = const_expr2, . . . ,paramN = const_exprN。下面為具體實(shí)例:parameter LINELENGTH = 132, ALL_X_S = 1639。bx。parameter BIT = 1, BYTE = 8, PI = 。parameter STROBE_DELAY = ( BYTE + BIT) / 2。parameter TQ_FILE = /home/bhasker/TEST/。參數(shù)值也可以在編譯時(shí)被改變。改變參數(shù)值可以使用參數(shù)定義語(yǔ)句或通過(guò)在模塊初始化語(yǔ)句中定義參數(shù)值。PART 4. VerilogHDL簡(jiǎn)介本章講述在Verilog HDL中編寫表達(dá)式的基礎(chǔ)。表達(dá)式由操作數(shù)和操作符組成。表達(dá)式可以在出現(xiàn)數(shù)值的任何地方使用。 操作數(shù)  操作數(shù)可以是以下類型中的一種:  1) 常數(shù)  2) 參數(shù)  3) 線網(wǎng)  4) 寄存器  5) 位選擇  6) 部分選擇   7) 存儲(chǔ)器單元  8) 函數(shù)調(diào)用 常數(shù)  前面的章節(jié)已講述了如何書寫常量。下面是一些實(shí)例:256,7 //非定長(zhǎng)的十進(jìn)制數(shù)。439。b10_11, 839。h0A //定長(zhǎng)的整型常量。39。b1, 39。hFBA //非定長(zhǎng)的整數(shù)常量。 //實(shí)數(shù)型常量。BOND //串常量;每個(gè)字符作為8位ASCII值存儲(chǔ)?! ”磉_(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ō)明:12是01100的5位向量形式(有符號(hào))12是10100的5位向量形式(有符號(hào))539。b01100是十進(jìn)制數(shù)12(無(wú)符號(hào))539。b10100是十進(jìn)制數(shù)20(無(wú)符號(hào))439。d12是十進(jìn)制數(shù)12(無(wú)符號(hào))  更為重要的是對(duì)基數(shù)表示或非基數(shù)表示的負(fù)整數(shù)處理方式不同。非基數(shù)表示形式的負(fù)整數(shù)作為有符號(hào)數(shù)處理,而基數(shù)表示形式的負(fù)整數(shù)值作為無(wú)符號(hào)數(shù)。因此44和639。o54 (十進(jìn)制的44等于八進(jìn)制的54)在下例中處理不同。integer Cone。. . .Cone = 44/4Cone = 639。o54/ 4?! ∽⒁猓?4和-639。o54以相同的位模式求值;但是-44作為有符號(hào)數(shù)處理,而-639。o54作為無(wú)符號(hào)數(shù)處理。因此第一個(gè)字符中Cone的值為-11,而在第二個(gè)賦值中Cone的值為1073741813。 參數(shù)  前一章中已對(duì)參數(shù)作了介紹。參數(shù)類似于常量,并且使用參數(shù)聲明進(jìn)行說(shuō)明。下面是參數(shù)說(shuō)明實(shí)例:parameter LOAD = 439。d12, STORE = 439。d10。LOAD 和STORE為參數(shù)的例子,值分別被聲明為12和10。 線網(wǎng)  可在表達(dá)式中使用標(biāo)量線網(wǎng)(1位)和向量線網(wǎng)(多位)。下面是線網(wǎng)說(shuō)明實(shí)例。wire [0:3] Prt。 //Prt 為4位向量線網(wǎng)。wire Bdq。 //Bbq 是標(biāo)量線網(wǎng)?! 【€網(wǎng)中的值被解釋為無(wú)符號(hào)數(shù)。在連續(xù)賦值語(yǔ)句中,assign Prt = 3。Prt被賦于位向量1101,實(shí)際上為十進(jìn)制的13。在下面的連續(xù)賦值中,assign Prt = 439。HA。Prt被賦于位向量1010,即為十進(jìn)制的10。 寄存器  標(biāo)量和向量寄存器可在表達(dá)式中使用。寄存器變量使用寄存器聲明進(jìn)行說(shuō)明。例如:integer TemA, TemB。reg [1:5] State。time Que [1:5]?! ≌图拇嫫髦械闹当唤忉尀橛蟹?hào)的二進(jìn)制補(bǔ)碼數(shù),而reg寄存器或時(shí)間寄存器中的值被解釋為無(wú)符號(hào)數(shù)。實(shí)數(shù)和實(shí)數(shù)時(shí)間類型寄存器中的值被解釋為有符號(hào)浮點(diǎn)數(shù)TemA = 10。 //TemA值為位向量10110,是10的二進(jìn)制補(bǔ)碼。TemA = 39。b1011。 //TemA值為十進(jìn)制數(shù)11。State = 10。 //State值為位向量10110,即十進(jìn)制數(shù)22。State = 39。b1011。 //State值為位向量01011,是十進(jìn)制值11。 位選擇  位選擇從向量中抽取特定的位。形式如下:net_or_reg_vector [bit_select_expr]  下面是表達(dá)式中應(yīng)用位選擇的例子。State [1] amp。amp。 State [4] //寄存器位選擇。Prt [0] | Bbq //線網(wǎng)位選擇?! ∪绻x擇表達(dá)式的值為x、z,或越界,則位選擇的值為x。例如State [x]值為x。 部分選擇  在部分選擇中,向量的連續(xù)序列被選擇。形式如下:net_or_reg_vector [msb_const_expr:1sb_const_expr]  其中范圍表達(dá)式必須為常數(shù)表達(dá)式。例如。State [1:4] //寄存器部分選擇。Prt [1:3] //線網(wǎng)部分選擇。選擇范圍越界或?yàn)閤、z時(shí),部分選擇的值為x。 存儲(chǔ)器單元  存儲(chǔ)器單元從存儲(chǔ)器中選擇一個(gè)字。形式如下:memory [word_address]例如:reg [1:8] Ack, Dram [0:63]。. . .Ack = Dram [60]。 //存儲(chǔ)器的第60個(gè)單元?! 〔辉试S對(duì)存儲(chǔ)器變量值部分選擇或位選擇。例如,Dram [60] [2] 不允許。Dram [60] [2:4] 也不允許?! ≡诖鎯?chǔ)器中讀取一個(gè)位或部分選擇一個(gè)字的方法如下:將存儲(chǔ)器單元賦值給寄存器變量,然后對(duì)該寄存器變量采用部分選擇或位選擇操作。例如,Ack [2] 和Ack [2:4]是合法的表達(dá)式。 函數(shù)調(diào)用  表達(dá)式中可使用函數(shù)調(diào)用。函數(shù)調(diào)用可以是系統(tǒng)函數(shù)調(diào)用(以$字符開(kāi)始)或用戶定義的函數(shù)調(diào)用。例如:$time + SumOfEvents (A, B)/*$time是系統(tǒng)函數(shù),并且SumOfEvents是在別處定義的用戶自定義函數(shù)。*/ 操作符  Verilog HDL中的操作符可以分為下述類型:  1) 算術(shù)操作符  2) 關(guān)系操作符  3) 相等操作符  4) 邏輯操作符  5) 按位操作符  6) 歸約操作符  7) 移位操作符  8) 條件操作符  9) 連接和復(fù)制操作符  下表顯示了所有操作符的優(yōu)先級(jí)和名稱。操作符從最高優(yōu)先級(jí)(頂行)到最低優(yōu)先級(jí)(底行)排列。同一行中的操作符優(yōu)先級(jí)相同?! 〕龡l件操作符從右向左關(guān)聯(lián)外,其余所有操作符自左向右關(guān)聯(lián)。下面的表達(dá)式:A + B C等價(jià)于:(A + B ) C //自左向右而表達(dá)式:A ? B : C ? D : F等價(jià)于:A ? B : (C ? D : F) //從右向左圓擴(kuò)號(hào)能夠用于改變優(yōu)先級(jí)的順序,如以下表達(dá)式:(A ? B : C) ? D : F 算術(shù)操作符  算術(shù)操作符有:* +(一元加和二元加)* -(一元減和二元減)* *(乘)* /(除)* %(取模)  整數(shù)除法截?cái)嗳魏涡?shù)部分。例如:7/4 結(jié)果為 1取模操作符求出與第一個(gè)操作符符號(hào)相同的余數(shù)。7%4 結(jié)果為 3而: 7%4 結(jié)果為 3  如果算術(shù)操作符中的任意操作數(shù)是X或Z,那么整個(gè)結(jié)果為X。例如:39。b10x1 + 39。b01111 結(jié)果為不確定數(shù)39。bxxxxx1. 算術(shù)操作結(jié)果的長(zhǎng)度  算術(shù)表達(dá)式結(jié)果的長(zhǎng)度由最長(zhǎng)的操作數(shù)決定。在賦值語(yǔ)句下,算術(shù)操作結(jié)果的長(zhǎng)度由操作符左端目標(biāo)長(zhǎng)度決定??紤]如下實(shí)例:reg [0:3] Arc, Bar, Crt。reg [0:5] Frx。. . .Arc = Bar + Crt。Frx = Bar + Crt。  第一個(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]中?! ≡谳^大的表達(dá)式中,中間結(jié)果的長(zhǎng)度如何確定?在Verilog HDL中定義了如下規(guī)則:表達(dá)式中的所有中間結(jié)果應(yīng)取最大操作數(shù)的長(zhǎng)度(賦值時(shí),此規(guī)則也包括左端目標(biāo))??紤]另一個(gè)實(shí)例:wire [4:1] Box, Drt。wire [1:5] Cfg。wire [1:6] Peg。wire [1:8] Adt。. . .assign Adt = (Box + Cfg) + (Drt + Peg)。  表達(dá)式左端的操作數(shù)最長(zhǎng)為6,但是將左端包含在內(nèi)時(shí),最大長(zhǎng)度為8。所以所有的加操作使用8位進(jìn)行。例如:Box和Cfg相加的結(jié)果長(zhǎng)度為8位。2. 無(wú)符號(hào)數(shù)和有符號(hào)數(shù)  執(zhí)行算術(shù)操作和賦值時(shí),注意哪些操作數(shù)為無(wú)符號(hào)數(shù)、哪些操作數(shù)為有符號(hào)數(shù)非常重要。無(wú)符號(hào)數(shù)存儲(chǔ)在:* 線網(wǎng)* 一般寄存器* 基數(shù)格式表示形式的整數(shù)  有符號(hào)數(shù)存儲(chǔ)在:* 整數(shù)寄存器* 十進(jìn)制形式的整數(shù)  下面是一些賦值語(yǔ)句的實(shí)例:reg [0:5] Bar。integer Tab。. . .Bar = 439。d12。 //寄存器變量Bar的十進(jìn)制數(shù)為52,向量值為110100。Tab = 439。d12。 //整數(shù)Tab的十進(jìn)制數(shù)為12,位形式為110100。439。d12 / 4 //結(jié)果是1073741821。12 / 4 //結(jié)果是3  因?yàn)锽ar是普通寄存器類型變量,只存儲(chǔ)無(wú)符號(hào)數(shù)。右端表達(dá)式的值為39。b110100(12的二進(jìn)制補(bǔ)碼)。因此在賦值后,Bar存儲(chǔ)十進(jìn)制值52。在第二個(gè)賦值中,右端表達(dá)式相同,值為39。b110100,但此時(shí)被賦值為存儲(chǔ)有符號(hào)數(shù)的整數(shù)寄存器。Tab存儲(chǔ)十進(jìn)制值-12(位向量為110100)。注意在兩種情況下,位向量存儲(chǔ)內(nèi)容都相同;但是在第一種情況下,向量被解釋為無(wú)符號(hào)數(shù),而在第二種情況下,向量被解釋為有符號(hào)數(shù)?! ∠旅鏋榫唧w實(shí)例:Bar = 439。d12/4。Tab = 439。d12 /4。Bar = 12/4Tab = 12/4  在第一次賦值中,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?! ∠旅媸橇硪恍├樱築ar = 4 6。Tab = 4 6。Bar被賦于十進(jìn)制值62(-2的二進(jìn)制補(bǔ)碼),而Tab被賦于十進(jìn)制值-2(位向量為111110)?! ∠旅鏋榱硪粋€(gè)實(shí)例:Bar = 2 + (4)。Tab = 2 + (4)。Bar被賦于十進(jìn)制值58(位向量為111010),而Tab被賦于十進(jìn)制值-6(位向量為111010)。 關(guān)系操作符  關(guān)系操作符有:* (大于)* (小于)* =(不小于)* =(不大于)  關(guān)系操作符的結(jié)果為真(1)或假(0)。如果操作數(shù)中有一位為X或Z,那么結(jié)果為X。例如:23 45結(jié)果為假(0),而:52 839。hxFF結(jié)果為x。如果操作數(shù)長(zhǎng)度不同,長(zhǎng)度較短的操作數(shù)在最重要的位方向(左方)添0補(bǔ)齊。例如:39。b1000 = 39。b01110等價(jià)于:39。b01000 = 39。b01110結(jié)果為假(0)。 相等關(guān)系操作符  相等關(guān)系操作符有:* = =(邏輯相等)* !=(邏輯不等)* = = =(全等)* != =(非全等)  如果比較結(jié)果為假,則結(jié)果為0;否則結(jié)果為1。在全等比較中,值x和z嚴(yán)格按位比較。也就是說(shuō),不進(jìn)行解釋,并且結(jié)果一定可知。而在邏輯比較中,值x和z具有通常的意義,且結(jié)果可以不為x。也就是說(shuō),在邏輯比較中,如果兩個(gè)操作數(shù)之一包含x或z,結(jié)果為未知的值(x)。  如下例,假定:Data = 39。b11x0。Addr = 39。b11x0。那么:Data = = Addr不定,也就是說(shuō)值為x,但:Data = = = Addr為真,也就是說(shuō)值為1?! ∪绻僮鲾?shù)的長(zhǎng)度不相等,長(zhǎng)度較小的操作數(shù)在左側(cè)添0補(bǔ)位,例如:239。b10 = = 439。b0010與下面的表達(dá)式相同:439。b0010 = = 439。b0010結(jié)果為真(1)。 邏輯操作符  邏輯操作符有:* amp。amp。 (邏輯與)* || (邏輯或)* !(邏輯非)  這些操作符在邏輯值0或1上操作。邏輯操作的結(jié)構(gòu)為0或1。例如, 假定:Crd = 39。b0。 //0為假Dgs = 39。b1。 //1為真那么:Crd amp。amp。 Dgs 結(jié)果為0 (假)Crd || Dgs 結(jié)果為1 (真)! Dgs 結(jié)果為0 (假)對(duì)于向量操作, 非0向量作為1處理。例如,假定:A_Bus = 39。b0110。B_Bus = 39。b0100。那么:A_Bus || B_Bus 結(jié)果為1A_Bus amp。amp。 B_Bus 結(jié)果為 1并且:! A
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1