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

正文內容

[信息與通信]verilog語言-資料下載頁

2025-08-18 16:23本頁面
  

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