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

正文內(nèi)容

fpga現(xiàn)代數(shù)字系統(tǒng)設(shè)計(jì)(編輯修改稿)

2025-02-04 14:20 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 always @(a or b) if (a) o1 = b。 else o1 = 0。 endmodule 例: 下表以優(yōu)先級(jí)順序列出了 Verilog操作符。注意“與”操作符的優(yōu)先級(jí)總是比相同類(lèi)型的“或”操作符高。本章將對(duì)每個(gè)操作符用一個(gè)例子作出解釋。 操作符類(lèi)型 符號(hào) 連接及復(fù)制操作符 一元操作符 算術(shù)操作符 邏輯移位操作符 關(guān)系操作符 相等操作符 按位操作符 邏輯操作符 條件操作符 {} {{}} ! ~ amp。 | ^ * / % + = = = = = = = != != = amp。 ^ ~^ | amp。amp。 || ? : 最高 最低 優(yōu)先級(jí) + 加 減 * 乘 / 除 % 模 ? 將負(fù)數(shù)賦值給 reg或其它無(wú)符號(hào)變量使用 2的補(bǔ)碼算術(shù)。 ? 如果操作數(shù)的某一位是 x或 z,則結(jié)果為 x ? 在整數(shù)除法中,余數(shù)舍棄 ? 模運(yùn)算中使用第一個(gè)操作數(shù)的符號(hào) 例如: a=4?b010。b=4?b0010 a+b a*b a/b a%b 注意 :在算術(shù)運(yùn)算中,有一個(gè)操作數(shù)為不確定狀態(tài),則運(yùn)算結(jié)果都為不確定狀態(tài) 。 ! not amp。amp。 and || or ? 邏輯操作符的結(jié)果為一位 1,0或 x。 ?邏輯操作符只對(duì)邏輯值運(yùn)算。 ?如操作數(shù)為全 0,則其邏輯值為 false ?如操作數(shù)有一位為 1,則其邏輯值為 true ?若操作數(shù) 只 包含 0、 x、 z,則邏輯值為 x 邏輯反操作符將操作數(shù)的邏輯值取反。例如,若操作數(shù)為全 0,則其邏輯值為 0,邏輯反操作值為 1。 ~ 非 amp。 與 | 或 ^ 異或 ~ ^ 同或 ^ ~ 同或 ? 當(dāng)兩個(gè)操作數(shù)位數(shù)不同時(shí),位數(shù)少的操作數(shù)零擴(kuò)展到相同位數(shù)。非是單目操作數(shù)的,其他都是雙目操作數(shù)。 a = 439。b1011。 b = 839。b01010011。 c = a | b。 // a零擴(kuò)展為 839。b00001011 大于 小于 = 大于等于 = 小于等于 ? 其結(jié)果是邏輯 邏輯 0或不確定 x。 ? 如果有優(yōu)先級(jí)的,則先考慮優(yōu)先級(jí),再進(jìn)行比較 ( 1)邏輯等 == ( 2)邏輯不等! = ? 位寬不一樣的時(shí)候,要右對(duì)齊。 ? 若操作數(shù)有一位不確定,返回值為 X。 ( 3) case等( ===) ( 4) case等(! ===) ? 這是對(duì)操作數(shù)進(jìn)行逐位比較,不存在 X的返回值 縮減與( amp。) 縮減與非( ~amp。), 縮減或( |), 縮減或非( ~|), 縮減異或( ^) , 縮減同或( ~^)。 ? 這類(lèi)操作符對(duì)操作數(shù)有左向右進(jìn)行操作 ? 縮減運(yùn)算符只要一個(gè)操作數(shù) 例 a=4?b1101 amp。a=1amp。1amp。1amp。0amp。1=0 ? 左移 (),右動(dòng) () 格式:數(shù)值 左移或者右移 移動(dòng)的位數(shù) ? 所有數(shù)值向左或右移動(dòng)響應(yīng)的位數(shù),其空缺位補(bǔ) 0 例 a=5?b10101 b=a2 B=a3 ? 可以將多個(gè)操作數(shù)的某些位連接起來(lái)成為一個(gè)新的操作數(shù),進(jìn)行拼接時(shí),每個(gè)操作數(shù)必須是確定位寬。 ? 在拼接運(yùn)算時(shí),拼接的操作數(shù)按照順序羅列出來(lái),其間用逗號(hào)隔開(kāi)。 例: a=1?b1,b=2?b10,c=4?b1010 X={a,b,c} Y={a,b,2?b01} Z={a,b,3{2?b11}} ? 條件運(yùn)算符是三目的運(yùn)算符,格式為: 條件表達(dá)式 ?真值表達(dá)式 假值表達(dá)式 例: B=(a==2?b01)? c:d。 q=(sel)?a:b。 Verilog 行為建模 ? 行為建模: ? 強(qiáng)調(diào)的是行為,它說(shuō)明電路的功能。 ? 即是強(qiáng)調(diào)電路的輸入 /輸出功能。 ? 但是該行為與實(shí)現(xiàn)無(wú)關(guān),也就是對(duì)如何實(shí)現(xiàn)在行為域中隱蔽起來(lái)。 ? 行為級(jí)建模包括: initial語(yǔ)句和 always語(yǔ)句。 ? 行為描述主要包括: ? 過(guò)程語(yǔ)句 ? 過(guò)程賦值語(yǔ)句 ? 語(yǔ)句塊 ? 時(shí)序控制 ? 數(shù)據(jù)流控制 ? 過(guò)程語(yǔ)句 ? initial語(yǔ)句 格式: initial begin 執(zhí)行語(yǔ)句 1; 執(zhí)行語(yǔ)句 2; end 說(shuō)明: ?一個(gè)模塊中可以包含多個(gè) initial語(yǔ)句,所有語(yǔ)句都是從 0時(shí)刻開(kāi)始執(zhí)行,而且只能執(zhí)行一次。 ?initial語(yǔ)句常用于測(cè)試文本中信號(hào)的初始化,生成輸入仿真波形,監(jiān)測(cè)信號(hào)變化等。 ?initial語(yǔ)句也可以使用 forkjoin語(yǔ)句。 例 : reg[1:0]a,b。 reg c。 initial begin a=1; b=0。 10 begin a=2; b=3。 end 10 begin a=0; b=2。 end end initial c=1。 ? always語(yǔ)句 always語(yǔ)句通常配合事件的表示式使用。所謂事件就是一接線或緩存器發(fā)生狀態(tài)改變。例如:信號(hào)出現(xiàn)正沿、負(fù)沿或是數(shù)值改變時(shí),區(qū)塊內(nèi)的語(yǔ)句即被執(zhí)行。 格式: always@( 事件表達(dá)式 1 or 事件表達(dá) 2 or ....or 事件表達(dá)式 n) begin 語(yǔ)句區(qū) end ? 事件表達(dá)式中特定值的改變 always@(clk) q=d ; //當(dāng) clk值改變時(shí),執(zhí)行 q=d ? 時(shí)鐘信號(hào)的正沿觸發(fā) always@( posedge clk) q=d ; //當(dāng) clk正沿觸發(fā)時(shí),執(zhí)行 q=d ? 時(shí)鐘信號(hào)的負(fù)沿觸發(fā) always@(negedge clk) q=d ; //當(dāng) clk負(fù)沿觸發(fā)時(shí),執(zhí)行 q=d ? 時(shí)鐘信號(hào)或一個(gè)異步事件 always@(posedge clk or negedge clr) begin if (!clr) q=1?b0。 //清 0 else q=d。 //賦值 end ? 其它事件觸發(fā) always@(a or b or c) y=a|b|c。 ? 一個(gè)模塊可以有多個(gè) always語(yǔ)句,每個(gè) always語(yǔ)句只要有相應(yīng)的觸發(fā)事件產(chǎn)生,對(duì)應(yīng)執(zhí)行相應(yīng)的語(yǔ)句,與書(shū)寫(xiě)的先后順序無(wú)關(guān)。 例: always@(posedge clk or posedge rst) begin if (rst) //高電平復(fù)位信號(hào) counter=4?b0000。 else counter=counter+1; //開(kāi)始計(jì)數(shù) always@(counter) display(“the counter is =%d”,counter) end ? 同步 D觸發(fā)器的 always語(yǔ)句 module sy_d_ff(clk,d,q,q_b)。 input clk,d。 output q,q_d。 reg q。 assign q_b=~q。 always@(posedge clk) //時(shí)鐘上升沿觸發(fā) begin q=d。 end endmodule ? 賦值語(yǔ)句: 賦值符號(hào)左邊是 賦值目標(biāo) ,右邊是 表達(dá)式 ? 連續(xù)賦值語(yǔ)句 ? 連續(xù)賦值用于數(shù)據(jù)流行為建模。在連續(xù)賦值語(yǔ)句中常用 “ assign”關(guān)鍵字。 ? assign賦值語(yǔ)句執(zhí)行將數(shù)值賦給線網(wǎng),可以完成門(mén)將描述,也可以更高的抽象角度對(duì)線網(wǎng)電路進(jìn)行描述,多用于組合邏輯電路的描述。 ? 格式 : assign 賦值目標(biāo)線網(wǎng) =表達(dá)式; 例 :assign a=b|c。 assign {c,sum[3:0]}=a[3:0]+b[3:0]+c_in。 assign c=min(a,b)。 說(shuō)明: ? 式子左邊的 “ 賦值目標(biāo)線網(wǎng) ” 只能是線網(wǎng)型變量,不能是寄存器型變量。 ? 式子右邊表達(dá)式的操作數(shù)可以是線網(wǎng),也可以是寄存器,還可以是函數(shù)。 ? 一旦右邊的任何一個(gè)操作數(shù)變化,左邊表達(dá)式重新計(jì)算,再進(jìn)行新的一次賦值。 ? 賦值語(yǔ)句 ? 過(guò)程賦值語(yǔ)句的更新對(duì)象是寄存器、整數(shù)、實(shí)數(shù)等,一般出現(xiàn)在 initial和 always語(yǔ)句中。 ?阻塞賦值 ?非阻塞賦值 ? 連續(xù)賦值語(yǔ)句中,任何一個(gè)操作數(shù)的變化都會(huì)重新計(jì)算賦值表達(dá)式,重新進(jìn)行賦值。 ? 過(guò)程賦值 —阻塞賦值 阻塞式( blocking)的操作符為 “ = ” module bloc(clk,b,c)。 input clk,b。 output c。 wire clk,b。 wire a。 always@(posedge clk) begin a=b+1。 c=a。 end endmodule “ 阻塞賦值 “ 可以看作一步進(jìn)程: ? 當(dāng)沒(méi)有其它可以打斷賦值的描述時(shí),估計(jì)等式右邊的值并賦予左邊。 其完成后,才進(jìn)行下一條語(yǔ)句的執(zhí)行 ? 在同一個(gè) always塊里面,阻塞賦值結(jié)果將一直持續(xù)下去直到賦值結(jié)束。 ? 使用阻塞語(yǔ)句可能會(huì)得到意想不到的結(jié)果 。 ? 過(guò)程賦值 —非阻塞賦值 非阻塞式( nonblocking)的操作符為 “ = ” module bloc(clk,b,c)。 input clk,b。 output c。 wire clk,b。 wire a。 always@(posedge clk) begin a=b+1。 c=a。 end endmodule “ 非阻塞賦值 ” ? 非阻塞賦值在賦值開(kāi)始時(shí)計(jì)算表達(dá)式右邊的值,到了本次仿真周期結(jié)束時(shí)才更新被賦值變量,且也許其它語(yǔ)句的同時(shí)賦值。不影響其賦值結(jié)果 ? 非阻塞賦值為寄存器數(shù)據(jù)類(lèi)型而設(shè),所以只能被允許在程序塊里面出現(xiàn),比如 initial塊和always塊。不允許持續(xù)性賦 ? 當(dāng)為時(shí)序邏輯建模,使用 “ 非阻塞賦值 ” 。 ? 當(dāng)為鎖存器( latch)建模,使用 “ 非阻塞賦值 ” 。 ? 當(dāng)用 always塊為組合邏輯建模,使用 “ 阻塞賦值 ” ? 當(dāng)在同一個(gè) always塊里面既為組合邏輯又為時(shí)序邏輯建模,使用 “ 非阻塞賦值 ” 。 ? 不要在同一個(gè) always塊里面混合使用 “ 阻塞賦值 ”和 “ 非阻塞賦值 ” 。 ? 不要在兩個(gè)或兩個(gè)以上 always塊里面對(duì)同一個(gè)變量進(jìn)行賦值。 ? 使用 $strobe以顯示已被 “ 非阻塞賦值 ” 的值。 ? 不要使用# 0延遲的賦值 。 建議 : 例 :assign a=b|c。 assign {c,sum[3:0]}=a[3:0]+b[3:0]+c_in。 assign c=min(a,b)。 說(shuō)明: ? 式子左邊的 “ 賦值目標(biāo)線網(wǎng) ” 只能是線網(wǎng)型變量,不能是寄存器型變量。 ? 式子右邊表達(dá)式的操作數(shù)可以是線網(wǎng),也可以是寄存器,還可以是函數(shù)。 ? 一旦右邊的任何一個(gè)操作數(shù)變化,左邊表達(dá)式重新計(jì)算,再進(jìn)行新的一次賦值。 ? 語(yǔ)句塊 ? 順序塊 順序塊中的語(yǔ)句按書(shū)寫(xiě)順序執(zhí)行,由 beginend標(biāo)識(shí)。 格式: begin begin 塊名 執(zhí)行語(yǔ)句 1; 快內(nèi)變量、參數(shù)定義; 執(zhí)行語(yǔ)句 2;
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1