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

正文內(nèi)容

語法詳細(xì)講解強(qiáng)制激勵(參考版)

2024-10-02 10:13本頁面
  

【正文】 使用阻塞方式對一個變量進(jìn)行賦值時,此變量的值在在賦值語句執(zhí)行完后就立即改變。 非阻塞賦值在塊結(jié)束后才完成賦值操作,此賦值方式可以避免在仿真出現(xiàn)冒險和競爭現(xiàn)象。 else q=?bx。 reg q。 input d, clk, en。 always (negedge clk) if(en) q=d。 output q。 在條件語句每個分支中,當(dāng)過程塊沒有為每個輸出賦值時,就會產(chǎn)生反饋 語法詳細(xì)講解 怎樣產(chǎn)生同步反饋 產(chǎn)生反饋: module dffn(q,d,clk,en)。 always (enable or data) if(enable) q=data。 output q。 module latch(q, data, enable)。在下面的例子中,當(dāng) enable 為低電平時,沒有定義怎樣處理 q 和 data, 因此 data 的值將會被保存下來。 else out=0。 if(e==1) out=(a|b)amp。 input a, b, c, d, e。 always (a or b or c or d or e) orand(out, a, b, c, d, e)。 output out。 下面的 or/and 塊中調(diào)用了任務(wù): module orandtask(out, a, b, c, d, e)。 endfunction endmodule 語法詳細(xì)講解 函數(shù) 任務(wù)僅用于測試模塊中,因為: ? 不包含時間控制的任務(wù)與函數(shù)的作用相似。(c|d)。 function forand。 wire out。 input a, b, c, d, e。 下面是 or/and 塊,其中在連續(xù)賦值語句中調(diào)用了函數(shù)。 end endcase endmodule 語法詳細(xì)講解 case 指令的例外情況 函數(shù)不包含時間控制,因此它們綜合為組合邏輯。 default: begin a=?bx。 b=1。 b=1。 b=0。 reg a, b。 input [1:0] sl。 當(dāng)設(shè)置了 case 指令為 full 時,也可從 case 語句中綜合出鎖存器。 endcase endmodule 語法詳細(xì)講解 帶有指令的完整 case 語句 在此例中, 雖然沒有定義所有可能的選擇,但其中的指令通知優(yōu)化器沒有定義的選擇將不會發(fā)生。 always (a or b or c) case (a) //ambit synthesis case = full 2?b00: d=b。 output d。 語法詳細(xì)講解 帶有缺省項的完整條件語句 module dircase(a, b, c, d) input b, c。 endmodule 語法詳細(xì)講解 帶有缺省項的完整條件語句 在前面的例子中,雖然沒有定義所有可能的選擇,但為沒有定義的選擇定義了缺省的行為。~b) e=~c。b) e=d。 reg e。 input a, b, c, d。 default: e=?bx。 always (a or b or c or d) case ({a,b}) 2?b11: e=d。 output e。 語法詳細(xì)講解 不完整條件語句 module case(a, b, c, d, e)。 因此, e 將保存原來的值,直到 a 變?yōu)? 1。~b) e=~c。b) e=d。 reg e。 input a, b, c, d。 2?b10: e=~c。 reg e。 input a, b, c, d。~b) e=1?b1。b) e=1?b0。~b) e=~c。b) e=d。 reg e。 input a, b, c, d。 2?b00: e=1?b1。 2?b10: e=~c。 reg e。 input a, b, c, d。 ? //ambit synthesis case=full 設(shè)定忽略沒有包含在 case 語句中的情形(這些情形不會發(fā)生),這樣可以更好的優(yōu)化邏輯并可避免發(fā)生鎖存。 case 指令的含義如下所示: ? //ambit synthesis case=parallel 對解碼邏輯進(jìn)行并行編譯,沒有優(yōu)先級。 //ambit synthesis on //ambit synthesis off //ambit synthesis case=full、 parallel、 mux 語法詳細(xì)講解 綜合指令 結(jié)構(gòu)指令 //ambit synthesis architecture=cla or rpl 有限狀態(tài)機(jī)指令 //ambit synthesis enum xyz //ambit synthesis stat_vector sig state_vector_flag 注:指令中通常包括綜合工具或公司的名稱,例如:上面指令中的ambit 表示使用的 Envisia Ambit 綜合指令。 ? 不同的綜合工具有不同的指令語法,當(dāng)它們使用指令的目的都是優(yōu)化 RTL 代碼。 endmodule 語法詳細(xì)講解 過程連續(xù)賦值 ? 大部分綜合工具都能處理指令。 always (en) if(en) assign q=d。 output q。 module latch_quasi(q, en, d)。(c|d)。 assign out=3amp。 input a, b, c, d, e。 語法詳細(xì)講解 敏感列表 在進(jìn)行連續(xù)賦值時,輸入的任何改變都將導(dǎo)致輸出的同步更新。對于不完整列表,不同的綜合工具處理的方法不同:一些綜合工具認(rèn)為不完整列表是不合 語法詳細(xì)講解 敏感列表 法的,而其他的綜合工具則發(fā)出警告并將其當(dāng)作完整列表處理。 else q=b。 語法詳細(xì)講解 敏感列表 reg q。 input a, b, sl。 else q=b。 reg q。 input a, b, sl。 ? 在第二個例子中, a 和 b 也用作 always 塊的條件。 end endmodule 語法詳細(xì)講解 寄存器 在下面的例子中, a、 b 和 sl 均是塊的輸入。b) rega=c。 reg y, rega。 input a, b, c。 end endmodule 在下面的例子中, rega 只是有時被賦新值;因此此例是一個以 y 作為輸出的鎖存器。 else rega=0。 always (a or b or c) begin 語法詳細(xì)講解 寄存器 if(aamp。 output y。 module ex3reg(y, a, b, c)。 語法詳細(xì)講解 寄存器 組合寄存器示例 在下面的兩個例子中, rega 是一個臨時變量且被優(yōu)化掉。 end 語法詳細(xì)講解 寄存器 always (posedge clk) q=rega。 always (posedge clk) begin rega=0。 output q。 module ex2reg(d, clk, q)。 q=rega。 always (posedge clk) begin rega=0。 output q。 module ex1reg(d, clk, q)。 ? 如果當(dāng)塊的任何輸入的值改變時,此信號變量的值并一定改變,則此信號變量在綜合輸出中屬于鎖存器。 ? 否則,信號可以被優(yōu)化掉。 語法詳細(xì)講解 過程塊 當(dāng)在同步塊中使用 reg 類型的信號變量時: ? 如果此信號變量在一個時鐘周期中被附值,而在另一個時鐘周期中創(chuàng)建了其實例,則此信號變量僅作為硬件寄存器使用。 always (posedge clk or negedge rst_) if(!rst_) q=0。 always (posedge clk) //實現(xiàn) D 觸發(fā)器 q=d。 ? 單個邊沿 過程塊到達(dá)控制信號的單個邊沿(下降沿或上升沿)產(chǎn)生同步邏輯。 always (a or b) // 實現(xiàn)與門 y=aamp。 語法詳細(xì)講解 第十九部分 Verilog綜合建模類型 綜合工具一般不支持下面的 Verilog 結(jié)構(gòu): initial 一些循環(huán)語句: repeat forever while for 的非結(jié)構(gòu)用法 一些數(shù)據(jù)類型 event real time 語法詳細(xì)講解 不受支持的 Verilog 結(jié)構(gòu) UDPs fork…join 塊 wait 過程連續(xù)賦值語句 assign 和 deassign force 和 release 一些操作符 = = = ! = = 語法詳細(xì)講解 不受支持的 Verilog 結(jié)構(gòu) ? 兩個邊沿的任一個 過程塊到達(dá)所有輸入信號的任一個邊沿產(chǎn)生組合邏輯。 如果邏輯中具有記憶功能,則此邏輯為時序邏輯。 ? 如果規(guī)定了任何輸入過渡,則必須規(guī)定所有輸入的所有過渡。 (1x) ? : ? : 。 (x1) 1 : 1 : 1。 (0x) 0 : 0 : 0。 (01) 1 : ? : 1。 reg q。 output q。但在測試 UDP 的功能時,初始賦值相當(dāng)有用。使用此語句可以在仿真的開始對輸出進(jìn)行賦值。 ? initial q=1’b1。 ? next state 欄中的 “ ” 表示輸出保持不變。 輸出初始化為 1‘ b1. ? 表示無須考慮輸入和當(dāng)前狀態(tài)的值 注: ? 鎖存器的動作行為如下: 當(dāng)時鐘信號為 0時,輸入數(shù)據(jù)的值直接傳給輸出。 1 ? : : 。 table // clock data current next // state state 0 1 : ? 1。 input clock, data。 output q。 ? ?代表 0, 1或 x。 ? 大量使用全加器時,這將大大減少內(nèi)存的需要。 1 1 1 : 1。 1 0 1 : 0。 0 1 1 : 0。 0 0 1 : 1。 input A, B, CI。 endtalbe endprimitive 語法詳細(xì)講解 組合示例:全加器 //全加器求和實現(xiàn)部分 primitive U_ADDR2_S(S, A, B,CI)。 0 ? 0 : 0。 ? 1 1 : 1。 input A, B, CI, table // A B CI : CO 1 1 ? : 1。 // 全加器進(jìn)位實現(xiàn)部分 primitive U_ADDR2_C(CO, A, B, CI)。 UDP 將 x 作為實際的未知值,而不是 Verilog 值來進(jìn)行處理,使其比嵌入原器件更加準(zhǔn)確。它們表示:當(dāng)輸入 a 和 b 的邏輯值相同時,如果 sel 等于 x, 則輸出 o 的值 將與輸入 a 和 b 的值相同。 表中的下兩行表示:當(dāng) s 等于 0 時,不管 a 如何取值,輸出 o 將與輸入 b 保持一致。 ? 表中的 ?的意義是:重復(fù)的輸入 0, 1或 x ; 邏輯
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1