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

正文內(nèi)容

語法要點詳細講解(參考版)

2024-09-05 04:22本頁面
  

【正文】 如下例所示: always (posedge clk) //實現(xiàn) D 觸發(fā)器 q=d。 ? 由單個跳變沿引起的過程塊: 由控制信號的跳變沿(下降沿或上升沿)啟動的過程塊通過綜合可以生成同步邏輯。如下例所示: always (a or b) // 實現(xiàn)與門 y=aamp。 語法詳細講解 可綜合風格的 Verilog建模類型 綜合工具不支持下面的 Verilog 結(jié)構(gòu): 1) initial 2) 循環(huán)語句: 3) repeat 4) forever 5) while 6) for 的非結(jié)構(gòu)用法 7) 一部分數(shù)據(jù)類型 8) event 9) real 10) time 語法詳細講解 不能綜合的 Verilog結(jié)構(gòu) 11) UDPs 12) fork…join 塊 13) wait 14) 過程連續(xù)賦值語句 15) assign 和 deassign 16) force 和 release 17) 部分操作符 18) = = = 19) ! = = 語法詳細講解 不能綜合的 Verilog 結(jié)構(gòu) ? 由輸入信號中任意一個電平發(fā)生變化所引起的過程塊: 由輸入信號中的某一個電平發(fā)生變化啟動的過程塊,可以通過綜合產(chǎn)生組合邏輯。 2) 時序邏輯: 如果邏輯中具有記憶功能,則此邏輯為時序邏輯。 endspecify 語法詳細講解 檢查保持時間的系統(tǒng)任務 $hold //Hold check is set //posedge of clear is the reference //the next negedge of clear is the data_event //violation reported if Tposedge_clk Tnegedge_clk 6 specify $width ( posedge clear, 6)。 語法詳細講解 跳 邊沿敏感的時序邏輯示例: D 觸發(fā)器 建立時間和保持時間的概念: 語法詳細講解 $setup 和 $hold 時間的概念 clock holdup time data setup time 3 5 //setup check is set //clock is the reference //data is being checked for violation //violation reported if Tposedge_clk Tdata3 specify $setup (data, posedge clock, 3)。 // 忽略時鐘穩(wěn)定時的數(shù)據(jù)改變 endtable endprimitive ? 在大多數(shù)情況下,可以在任何表入口語句中規(guī)定一個輸入過渡。 語法詳細講解 跳 邊沿敏感的時序邏輯示例: D 觸發(fā)器 // 忽略時鐘的下降沿 (?0) ? : ? : 。 (x1) 0 : 0 : 0。 (0x) 1 : 1 : 1。 table // clk dat state next (01) 0 : ? : 0。 input clk, data。 語法詳細講解 電平敏感的時序邏輯示例:鎖存器 primitive d_edge_ff (q, clk, data)。 在實際的部件模型中,很少使用初始賦值。 是時序 UDP 的初始化語句。 ? 輸出必須定義為寄存器類型,用來保存前一個狀態(tài)。 當時鐘信號為 1時,輸出保持當前狀態(tài)不變。 endtable endprimitive 語法詳細講解 電平敏感的時序邏輯示例:鎖存器 注意此寄存器的用法,此寄存器用來存儲。 0 0 : ? 0。 initial q=1?b1。 reg q。 語法詳細講解 組合邏輯示例:全加器 primitive latch(q, clock, data)。 ? 事件的數(shù)目將大大降低。 endtable endprimitive 語法詳細講解 組合邏輯示例:全加器 若使用 UDP 設計全加器,僅需要兩個 UDP; 而使用 Verilog 原語元件,則需要 5 個 Verilog語言提供的基本原語元件。 1 1 0 : 0。 1 0 0 : 1。 0 1 0 : 1。 table // A B CI : S 0 0 0 : 0。 output S。 ? 0 0 : 0。 0 0 ? : 0。 1 ? 1 : 1。 output CO。 語法詳細講解 舉例說明 可以只使用兩個 UDP 來描述全加器的邏輯功能。這種行為不能使用 Verilog 語言提供的基本原語元件進行建模。 表中 的最后兩行使此器件的描述更加的全面、準確。 ? 表中開始兩行表示:當 s等于 1 時,不管 b 邏輯值如何變化,輸出 o 將與 輸入 a 保持一致。 ? 表的列中元素的順序應與端口列表中的一致。 endtable endprimitive 原語名 輸出端口必須為第一個端口 注: ? 在模塊外定義 UDP 。 0 0 x : 0。 ? 0 0 : 0。 table // a b s : o 0 ? 1 : 0。 output o。下表列出了當輸入數(shù)目不同時,在仿真過程中,對每個輸入信號,計算機中所需要開銷的內(nèi)存數(shù)目。如果邏輯功能要求有多個輸出端時,則需要把其它的原語元件連接到 UDP的 輸出,或同時使用多個 UDP,保證其最終輸出只有一個。 ? UDP 不支持綜合,即不能通過綜合把它轉(zhuǎn)變?yōu)殚T級結(jié)構(gòu)邏輯。 ? UDP 不支持 Z(高阻)邏輯值。 ? UDP 可以有多個輸入端,最多允許有 10 個。一般的仿真器處理行為模型表示的邏輯所需時間比處理用門級語句表示的相同邏輯所需時間少;而硬件仿真器正好相反。 ? 由幾個原語元件組成的邏輯可以用一個 UDP表示。 語法詳細講解 什么是 UDP? 注意: ? UDP 是一種緊湊的表示簡單邏輯關(guān)系部件的方法。 ? UDP 的行為是使用真值表來描述的 。 ? UDP 是一個獨立元件, 不能用實例調(diào)用的方法調(diào)用其他的模塊。 UDP 可用于 ASIC 庫中的基本元件( cell)設計,以及小規(guī)模芯片和中規(guī)模芯片的設計。 語法詳細講解 用戶定義的原語 在 Verilog 結(jié)構(gòu)建模時,可以使用: ? 二十多個門級源語元件( primitives)。 語法詳細講解 隱式有限狀態(tài)機 目標 ? 學會怎樣使用用戶定義的原語來創(chuàng)建邏輯。 ? 當下一個激活時鐘沿到達時,狀態(tài)就有可能發(fā)生改變。隱式 FSM往往是不可綜合的。 (posedge clk) //狀態(tài)二:輸出第二位 out=datain。 語法詳細講解 顯式有限狀態(tài)機 轉(zhuǎn)到下一個狀態(tài) 默認狀態(tài)指針 0 1 1 0 1 識別 11序列 clk rst out begin: seq_block out=1?b0。 ? 要改變當前的狀態(tài) , 必須改變狀態(tài)變量的值 , 其改變要與時鐘沿同步 。 endcase endmodule 注: ? 在過程塊中可以使用一個時鐘沿和 case 語句來描述一個顯式狀態(tài)機 。 state=1?b0。 else state=1?b1。 else case(state) 1?b0: begin out=1?b0。 reg state。 output out。 語法詳細講解 有限狀態(tài)機( FSMs) 語法詳細講解 顯式有限狀態(tài)機 module exp(out, datain, clk, rst)。 代碼中主要包含循環(huán)語句 、 嵌入的定時控制 , 有時也含有命名事件 、 wait 和 disable 語句 。 如果狀態(tài)改變比較復雜 , 最好使用顯式狀態(tài)機 , 這樣效果更好 。 ? 任何狀態(tài)機都必須有復位控制信號 , 狀態(tài)的改變必需只與某單一時鐘信號沿同步 。) $display (memory [%0d]=%b, i, memory)。i1024。 inititial begin $readmemb (,memory)。 舉例: module test。 $readmemb(〈 文件名 〉 , 〈 存儲器名 〉 ,起始地址 )。 M m3( )。 M m1( )。 ………. initial $display (Displaying in %m)。 舉例: $fclose(handle1)。 fdisplay(desc3, Display 3…… , )。 fdisplay(desc2, Display 2…… , )。 fdisplay(desc1, Display 1…… , )。 integer desc1,desc2,desc3。 //bit 2 set ……… end 語法詳細講解 寫到文件中去 ? 語法要點: $fdisplay (文件描述號 , p1,p2,….pn)。 //bit 1 set handle2= $fopen()。h0000_0001(bit 0 set) integer handle1, handle2…..。 …. //用來測試地址為 0到 1024之間任意值時的 Rom。 …. initial r_seed=2。 endmodule 語法詳細講解 隨機數(shù)的產(chǎn)生 $random ? 語法要點: $random。 lpm_add_sub m (.cin(cin), .dataa(x), .datab(y), .result(s), .cout(cout))。 output [15:0] s。 input cin。 $fclose。 $fmonitor。 在上頁的例子中 , 只禁止命名塊也可以得到預期的結(jié)果:命名塊中所有的事件 , 包括任務和函數(shù)的執(zhí)行都將 被取消 。 語法: disable 〈 塊名 〉 或 disable 〈 任務名 〉 ? 禁止執(zhí)行命名塊或任務后 , 所有在事件隊列中由該命名塊/任務安排的事件都將被刪除 。 //**禁止命名塊的執(zhí)行 end //在此定義任務和函數(shù) ………… .. endmodle 注意: ? disable語句用來終止命名塊或任務的執(zhí)行 。 //任務調(diào)用 end 語法詳細講解 禁止命名塊和任務 always (negedge en_mult) begin //停止計算 disable multme。 //***本地變量 *** {tmp, tmp2} = f_or_and(a, b, c, d, e)。 reg [
點擊復制文檔內(nèi)容
教學課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1