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

正文內(nèi)容

電路計算機輔助設計-文庫吧資料

2024-08-02 04:04本頁面
  

【正文】 的“選擇值”與表達式的值不同時,則執(zhí)行“ default”后的語句。 else y=3’b000。 else if(~a[2]) y=3’b010。 else if(~a[4]) y=3’b100。 else if(~a[6]) y=3’b110。 reg[2:0] y。 input[7:0] a。 ? 系統(tǒng)對表達式的值進行判斷, 若為 0, x, z按“假”處理;若為 1,按“真”處理,執(zhí)行指定的語句。 endmodule ( 2)條件語句 ? 條件語句包含 if語句和 case語句,它們都是順序語句,應放在 always塊中。 //屬于 reg型變量 reg q。 //屬于 wire型變量,由隱含規(guī)則定義。 ? 例 2 上升沿觸發(fā)的 D觸發(fā)器的 Verilog HDL源程序 module D_FF(q,d,clock)。 ? 語句執(zhí)行結(jié)束后, r的值是 75,而不是 3,因為第 3行是非阻塞賦值語句“ n=m”,該語句要等到本塊語句結(jié)束時, n的值才能改變。 n=m。 ? 例如 下面的塊語句包含 4條賦值語句 always (posedge clock) m=3。 ? 因此,過程賦值語句也稱為阻塞賦值語句。 //1表示輸出與輸入信號之間具有 1個單位的時間延遲 endmodule ③ 過程賦值語句 ? 過程賦值語句出現(xiàn)在 initial和 always塊語句中,賦值符號是“ =”,語句格式為: 賦值變量 =表達式; ? 過程賦值語句“ =”左邊的賦值變量必須是(寄存器) reg型變量,其值在該語句結(jié)束時即可得到。camp。 assign 1 y=~(aamp。 output y。連續(xù)賦值語句用于邏輯門和組合邏輯電路的描述。d); ? 連續(xù)賦值語句的“ =”兩邊的變量都應該是 wire型變量。bamp。camp。 //與語句 assign y=~(aamp。 Verilog HDL有 4種賦值方法:門基元、連續(xù)賦值、過程賦值和非阻塞賦值。在這些語句中,有些語句屬于順序執(zhí)行語句,有些語句屬于并行執(zhí)行語句。 register型變量是在 always、initial等過程語句種定義,并通過過程語句賦值。與寄存器的記憶功能相對應,可以作為模塊各器件間的信息傳遞通道。 ? 常見的 s型變量及說明 類型 功能說明 wire、 tri 連線類型(兩者功能完全相同) wor、 trior 具有線或特性的連線(兩者功能一致) wand、 triand 具有線與特性的連線(兩者功能一致) tri tri0 分別為上拉電阻和下拉電阻 supply supply0 分別為電源(邏輯 1)和地(邏輯 0) s1 s2 s3 ② 寄存器型變量 ? register型變量是用來描述硬件系統(tǒng)的基本數(shù)據(jù)對象。 ①網(wǎng)絡型變量 ? s型變量是輸出值始終根據(jù)輸入變化而更新的變量,一般用來定義硬件電路中的各種物理連線。 ? 關(guān)鍵字 Alwaysand Assignattribute Begin Buf Bufif0 Bufif1 Case Casex Casez Cmos Deassign Defaultdefparam Disable edge else end endattribute endcase endfunction endmodule endprimitive endspecify endtable endtask event for force forever fork function highz0 highzl if initial inout input integer join large macromodule medium module nand negedge nmos nor not notif0 notifl or output parameter pmos posedge primitive pull0 pull1 pulldown pullup rcmos real realtime reg release repeat rtranifl scalared signed small specify specpram strength strong0 strong1 supply0 supply1 table task time tran tranif0 tranif1 tri tri0 tri1 triand trior triteg unsigned vectored wait wand weak0 weak1 while wire wor xnor xor ( 7)變量 ? 變量是在程序運行時其值可以改變的量。在 IEEE標準 ——Verilog HDL 13641995中規(guī)定了 102個關(guān)鍵詞,都采用小寫形式。 ? 例如 ina、 inb、 adder、 adder name_adder是正確的,而 1a ?b是錯誤的。 ? ③標識符區(qū)分大小寫。 ? 定義標識符規(guī)則: ? ①首字符不能是數(shù)字,必須以字母或下劃線“ _”開頭。 ( 5)標識符 ? 標識符是模塊、寄存器、端口、連線、示例和 beginend塊等元素的名稱,是賦給對象的唯一的名稱。 ( 4)字符串 ? 字符串是雙引號“”括起來的字符序列,必須包含在同 一行中,不能多行書寫。 Verilog HDL的編程最終是與硬件相對應的。 Verilog HDL中的進制 base進制代碼取值 對應的進制 b或 B 二進制 o或 O 八進制 d或 D 十進制 h或 H 十六進制 Verilog HDL中的實型數(shù)值常量就是浮點數(shù),可以用十進制與科學計數(shù)法兩種形式書寫。 例如 4’h6a8c, 表示一個 4位十六進制數(shù)。第二種是定義位寬和進制的表示法,這種表示方法通常是無符號數(shù)。 例如 parameter Vcc=5, fbus=8’b11010001。在數(shù)值常量的任意位置可以隨意插入下劃線“ _”以提高可讀性。 ( 3)數(shù)值常量 ? Verilog HDL中的數(shù)值常量有整型和實型兩大類,分為十進制、十六進制、八進制或二進制。所有操作符(?:除外)在表達式中都是從左向右結(jié)合的。 邏輯與 11 || 邏輯或 12 ?: 條件操作符 ?列表頂部是最高優(yōu)先級,底部是最低優(yōu)先級。 縮減與、縮減與非 8 ^、 ^~ 縮減異或、縮減同或 9 |、 ~ | 縮減或、縮減或非 10 amp。 ? 同其他高級語言類似,各類操作符號之間有優(yōu)先級之分,如下表: 優(yōu)先級序號 操作符 操作符名稱 1 ! 、 ~ 邏輯非、按位取反 2 *、 /、 % 乘、除、求余 3 +、 加、減 4 、 左移、右移 5 、 =、 、 = 小于、小于等于、大于、大于等于 6 ==、 !=、 ===、 !== 等于、不等于、全等、不全等 7 amp。還可以用常數(shù)來指定重復的次數(shù)。 并接操作符 {, } 例如 {a,{2{a,b}}} 等價于 {a,a,b,a,b}。 三元操作符,即條件操作符有三個操作數(shù)。 例如:設 A=8’b11010001 則 A4 結(jié)果 A=8’b00001101 而 A4 結(jié)果 A=8’b00010000。 |A=1 或縮減運算 A中的數(shù)字全為 0時,結(jié)果才為 0。 例如: A=8’b11010001 則 amp。如“ amp。 歸約與 ~amp。和 || 為二元操作符; !為一元操作符,即只有一個操作數(shù)。 邏輯與 || 邏輯或 ! 邏輯非 amp。B=8b’00010001 分類 操作符及功能 簡要說明 邏輯操作符 amp。將操作數(shù)按位進行邏輯運算。 按位與 | 按位或 ^ 按位異或 ^ ~ (~ ^) 按位同或 位運算是將兩個操作數(shù)按對應位進行邏輯操作。 例如: A=8’b1101xx01 B=8’b1101xx01 則 A= =B 運算結(jié)果為 x(未知); A= = =B 運算結(jié)果為 1(真)。 相等與全等操作符的區(qū)別:相等運算兩個操作數(shù)必須逐位相等,不定態(tài)和高阻態(tài)的比較結(jié)果為不定值。如果操作數(shù)之間的關(guān)系成立,返回值為 1;關(guān)系不成立,則返回值為 0。 例如, 5%6的值是 5; 13%5余數(shù) 3。操作數(shù)可以是物理數(shù)據(jù)類型,也可以是抽象數(shù)據(jù)類型。 ( 2)操作符 ? Verilog HDL 中定義了操作符,又稱運算符,按照操作數(shù)的個數(shù),可以分為一元、二元和三元操作符;按功能可以大致分為算術(shù)操作符、邏輯操作符、比較操作符等幾大類。 ? Verilog HDL 有單行注釋和多行段注釋兩種注釋形式。在必要的地方插入間隔符可以增強源文件的可讀性。 ( 1)間隔符與注釋符 ? 間隔符又稱空白符,包括空格符、 tab符號、換行符及換頁符等。一個完整的源程序都應當加上必要的注釋,以加強程序的可讀性。 ④除了 end或以 end開頭的關(guān)鍵字(如 endmodule)語句外,每條語句后必須要有分號“;”。 ②每個模塊首先要進行端口定義,并聲明輸入( input)、輸出( output)或雙向( inouts),然后對模塊的功能進行邏輯描述。 //對 memory存儲器進行初始化 end ? 從以上例子中可以看出 Verilog HDL程序設計模塊的 基本結(jié)構(gòu) : ① Verilog HDL程序是由模塊構(gòu)成的。 addrsize。 語句 2。 ④ 用 initial塊語句建模 ? Initial塊語句與 always語句類似,不過在程序中它只執(zhí)行 1次就結(jié)束了?!闭Z句產(chǎn)生進位輸出 cout,在語句中“ amp。“ assign cout = amp。(posedge clk)是時間控制敏感函數(shù),表示 clk上升沿到來的敏感時刻。out。 else out=out+1。 always (posedge clk) begin if (load) out=data。 output cout。 input [7:0] data。 (邏輯符號圖是由計算機對計數(shù)器電路的 Verilog HDL源代碼編譯后產(chǎn)生的元件符號,圖中的輸入 /輸出標識符自動被改為大寫,而源程序中的標識符都是小寫。 例 2 8位二進制加法計數(shù)器的設計 ? 8位二進制加法計數(shù)器的邏輯符號如圖。一個程序設計模塊中,可以包含一個或多個 always語句。 and是 Verilog HDL元件庫中與門元件名, myand3是例化出的三輸入端與門名, y是與門輸出端, a、b、 c是輸入端。 ② 用元件例化( instantiate)方式建模 ? 元件例化方式建模是利用 Verilog HDL提供的元件庫實現(xiàn)的。”語句實現(xiàn) 1位全加器的進位輸出 cout與和輸出 sum的建模。 assign {cout, sum} = ina+inb+cin。 input ina, inb, cin。 ? 例 1 一位全加器的設計 ? 1位全加器的邏輯符號: sum是全加器的和輸出端, cout是進位輸出端, ina和 inb是兩個加數(shù)輸入端, cin是低位進位輸入端。 ① 用 assign語句建模 ? 用 assign語句建模的方法很簡單,只需要在“ assign”后面再加一個表達式。 ( 3)功能描述 ? 功能描述是 Verilog HDL程序設計中最主要的部分,用來描述設計模塊的內(nèi)部結(jié)構(gòu)和模塊端口間的邏輯關(guān)系,在電路上相當于器件的內(nèi)部電路結(jié)構(gòu)。 ( 2)信號類型聲明 ? 信號類型聲明是聲明設計電路的功能描述中所用的信號的數(shù)據(jù)類型和函數(shù)。 I/O聲明格式如下: input 端口 1,端口 2,端口 3, … ; //聲明輸入端口 output 端口 1,端口 2,端口 3, … ; //聲明輸出端口 ? 例如, 1位全加器的 I/O聲明為 input ina, inb, cin。例如 1位全加器 adder模塊的端口定義為 ? module adder (sum,
點擊復制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1