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

正文內(nèi)容

語法要點詳細(xì)講解-資料下載頁

2024-09-01 04:22本頁面

【導(dǎo)讀】雙向總線、UDP、綜合指令。。。。復(fù)習(xí)如何編寫較復(fù)雜的測試文件,對所做的設(shè)計。進(jìn)行完整的測試和驗證。掌握組織模塊測試的常用方法;學(xué)會編寫常用的。用并行塊能表示以同一個時間起點算起的多個事。件的運行,并行地執(zhí)行復(fù)雜的過程結(jié)構(gòu),如循環(huán)或任務(wù)?;虮磉_(dá)式進(jìn)行連續(xù)賦值。兩種不同方式均不允許賦值語句間的時間控制。force的賦值優(yōu)先級高于assign。如果先使用assign,再使用force對同一信號賦值,release,則所有賦的值均不再存在。三個例子分別說明如何在門級和行為級建立不同波形的時鐘模型。模型產(chǎn)生的,則仿真器的性能就能得到提高。而門級描述的模型開始延遲有半個周期是不確定的。

  

【正文】 ? 注意: ? UDP 是一種緊湊的表示簡單邏輯關(guān)系部件的方法。 ? 在 Verilog語言提供的幾種基本源語元件中,若在輸入中包含不確定值 x,則在輸出時可能出現(xiàn)不確定值 x;而在 UDP 中則不允許出現(xiàn)此種情況。 ? 由幾個原語元件組成的邏輯可以用一個 UDP表示。在仿真時使用這樣的 UDP來代替分散的原語元件可以節(jié)省計算資源,加快仿真速度。一般的仿真器處理行為模型表示的邏輯所需時間比處理用門級語句表示的相同邏輯所需時間少;而硬件仿真器正好相反。 語法詳細(xì)講解 什么是 UDP? ? UDP 只能有一個輸出端,而且必須是端口說明列表的第一項。 ? UDP 可以有多個輸入端,最多允許有 10 個。 ? UDP 所有端口變量必須是標(biāo)量,不允許使用雙向端口。 ? UDP 不支持 Z(高阻)邏輯值。 ? 在仿真的開始時刻,可以使用 initial 語句把 UDP 的輸出初始化為一個已知值。 ? UDP 不支持綜合,即不能通過綜合把它轉(zhuǎn)變?yōu)殚T級結(jié)構(gòu)邏輯。 語法詳細(xì)講解 UDP的 特點 注: ? UDP 只能有一個輸出。如果邏輯功能要求有多個輸出端時,則需要把其它的原語元件連接到 UDP的 輸出,或同時使用多個 UDP,保證其最終輸出只有一個。 ? UDP 輸入端最多可以有 10 個,但是當(dāng)輸入端的個數(shù)多于 5 個時,仿真時需要的內(nèi)存?zhèn)€數(shù)將呈現(xiàn)近似指數(shù)的增加。下表列出了當(dāng)輸入數(shù)目不同時,在仿真過程中,對每個輸入信號,計算機(jī)中所需要開銷的內(nèi)存數(shù)目。 語法詳細(xì)講解 UDP的 特點 語法詳細(xì)講解 UDP的 特點 輸入端口的個數(shù) 所需內(nèi)存的字節(jié)數(shù) 15 1 6 5 7 17 8 56 9 187 10 623 組合邏輯示例: 21 多路器 語法詳細(xì)講解 舉例說明 primitive multiplexer(o, a, b, s)。 output o。 input s, a, b。 table // a b s : o 0 ? 1 : 0。 1 ? 1 : 1。 ? 0 0 : 0。 ? 1 0 : 1。 0 0 x : 0。 1 1 x : 1。 endtable endprimitive 原語名 輸出端口必須為第一個端口 注: ? 在模塊外定義 UDP 。 ? 如果在表中沒有規(guī)定輸入組合,將輸出不確定邏輯值 (x)。 ? 表的列中元素的順序應(yīng)與端口列表中的一致。 ? 表中的 ?的意義是:重復(fù)的輸入 0, 1或 任意不確定邏輯值 (x)。 ? 表中開始兩行表示:當(dāng) s等于 1 時,不管 b 邏輯值如何變化,輸出 o 將與 輸入 a 保持一致。 表中的下兩行表示:當(dāng) s 等于 0 時,不管 a邏輯值如何變化,輸出 o 將與輸入 b 保持一致。 表中 的最后兩行使此器件的描述更加的全面、準(zhǔn)確。它們表示:當(dāng)輸入 a 和 b 的邏輯值相同時,如果 sel 邏輯值不確定,則輸出 o 的值 將與輸入 a 和 b 的值相同。這種行為不能使用 Verilog 語言提供的基本原語元件進(jìn)行建模。 UDP 將 x 作為實際的未知值,而不是 Verilog 語言邏輯值來進(jìn)行處理,因此使其比 Verilog語言提供的基本原語元件更加準(zhǔn)確。 語法詳細(xì)講解 舉例說明 可以只使用兩個 UDP 來描述全加器的邏輯功能。 // 全加器進(jìn)位實現(xiàn)部分 primitive U_ADDR2_C (CO, A, B, CI)。 output CO。 input A, B, CI, table // A B CI : CO 1 1 ? : 1。 1 ? 1 : 1。 ? 1 1 : 1。 0 0 ? : 0。 0 ? 0 : 0。 ? 0 0 : 0。 endtalbe endprimitive 語法詳細(xì)講解 組合邏輯示例:全加器 向上一級進(jìn)位 下一級來的進(jìn)位 //全加器求和實現(xiàn)部分 primitive U_ADDR2_S(S, A, B,CI)。 output S。 input A, B, CI。 table // A B CI : S 0 0 0 : 0。 0 0 1 : 1。 0 1 0 : 1。 0 1 1 : 0。 1 0 0 : 1。 1 0 1 : 0。 1 1 0 : 0。 1 1 1 : 1。 endtable endprimitive 語法詳細(xì)講解 組合邏輯示例:全加器 若使用 UDP 設(shè)計全加器,僅需要兩個 UDP; 而使用 Verilog 原語元件,則需要 5 個 Verilog語言提供的基本原語元件。 ? 當(dāng)設(shè)計需要使用大量全加器時,采用 UDP來表示全加器,將大大減少內(nèi)存的需要。 ? 事件的數(shù)目將大大降低。 ? ?表示邏輯值可以為 0, 1或 x。 語法詳細(xì)講解 組合邏輯示例:全加器 primitive latch(q, clock, data)。 output q。 reg q。 input clock, data。 initial q=1?b1。 table // clock data current next // state state 0 1 : ? 1。 0 0 : ? 0。 1 ? : : 。 endtable endprimitive 語法詳細(xì)講解 電平敏感的時序邏輯示例:鎖存器 注意此寄存器的用法,此寄存器用來存儲。 輸出初始化為 1?b1. ? 表示無須考慮輸入和當(dāng)前狀態(tài)的值 注: ? 鎖存器的動作行為如下: 當(dāng)時鐘信號為 0時,輸入數(shù)據(jù)的值直接傳給輸出。 當(dāng)時鐘信號為 1時,輸出保持當(dāng)前狀態(tài)不變。 ? next state 欄中的 “ ” 表示輸出保持不變。 ? 輸出必須定義為寄存器類型,用來保存前一個狀態(tài)。 ? initial q=1?b1。 是時序 UDP 的初始化語句。使用此語句可以在仿真的開始對輸出進(jìn)行賦值。 在實際的部件模型中,很少使用初始賦值。但在測試 UDP 的功能時,初始賦值相當(dāng)有用。 語法詳細(xì)講解 電平敏感的時序邏輯示例:鎖存器 primitive d_edge_ff (q, clk, data)。 output q。 input clk, data。 reg q。 table // clk dat state next (01) 0 : ? : 0。 (01) 1 : ? : 1。 (0x) 1 : 1 : 1。 (0x) 0 : 0 : 0。 (x1) 0 : 0 : 0。 (x1) 1 : 1 : 1。 語法詳細(xì)講解 跳 邊沿敏感的時序邏輯示例: D 觸發(fā)器 // 忽略時鐘的下降沿 (?0) ? : ? : 。 (1x) ? : ? : 。 // 忽略時鐘穩(wěn)定時的數(shù)據(jù)改變 endtable endprimitive ? 在大多數(shù)情況下,可以在任何表入口語句中規(guī)定一個輸入過渡。 ? 如果規(guī)定了任何輸入過渡,則必須規(guī)定所有輸入的所有過渡。 語法詳細(xì)講解 跳 邊沿敏感的時序邏輯示例: D 觸發(fā)器 建立時間和保持時間的概念: 語法詳細(xì)講解 $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)。 endspecify 語法詳細(xì)講解 檢查建立時間的系統(tǒng)任務(wù): $setup //Hold check is set //clock is the reference //data is being checked for violation //violation reported if Tdata Tposedge_clk 5 specify $hold ( posedge clock, data, 5)。 endspecify 語法詳細(xì)講解 檢查保持時間的系統(tǒng)任務(wù) $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)。 endspecify 語法詳細(xì)講解 脈沖寬度檢查 $width clear 脈沖寬度 6ns 可綜合建模類型只有兩種 : 1) 組合邏輯 : 任何時候,如果輸出信號直接由當(dāng)前的輸入信號的組合決定,則此邏輯為組合邏輯。 2) 時序邏輯: 如果邏輯中具有記憶功能,則此邏輯為時序邏輯。在任何給定的時刻,如果輸出不能完全由輸入信號確定,則此邏輯具有記憶功能。 語法詳細(xì)講解 可綜合風(fēng)格的 Verilog建模類型 綜合工具不支持下面的 Verilog 結(jié)構(gòu): 1) initial 2) 循環(huán)語句: 3) repeat 4) forever 5) while 6) for 的非結(jié)構(gòu)用法 7) 一部分?jǐn)?shù)據(jù)類型 8) event 9) real 10) time 語法詳細(xì)講解 不能綜合的 Verilog結(jié)構(gòu) 11) UDPs 12) fork…join 塊 13) wait 14) 過程連續(xù)賦值語句 15) assign 和 deassign 16) force 和 release 17) 部分操作符 18) = = = 19) ! = = 語法詳細(xì)講解 不能綜合的 Verilog 結(jié)構(gòu) ? 由輸入信號中任意一個電平發(fā)生變化所引起的過程塊: 由輸入信號中的某一個電平發(fā)生變化啟動的過程塊,可以通過綜合產(chǎn)生組合邏輯。該過程塊稱為組合塊。如下例所示: always @(a or b) // 實現(xiàn)與門 y=aamp。b。 ? 由單個跳變沿引起的過程塊: 由控制信號的跳變沿(下降沿或上升沿)啟動的過程塊通過綜合可以生成同步邏輯。該過程塊稱為同步塊。如下例所示: always @(posedge clk) //實現(xiàn) D 觸發(fā)器 q=d。 語法詳細(xì)講解 可綜合的
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1