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

正文內(nèi)容

語法要點詳細講解-wenkub.com

2024-08-28 04:22 本頁面
   

【正文】 該過程塊稱為同步塊。該過程塊稱為組合塊。 endspecify 語法詳細講解 脈沖寬度檢查 $width clear 脈沖寬度 6ns 可綜合建模類型只有兩種 : 1) 組合邏輯 : 任何時候,如果輸出信號直接由當前的輸入信號的組合決定,則此邏輯為組合邏輯。 ? 如果規(guī)定了任何輸入過渡,則必須規(guī)定所有輸入的所有過渡。 (x1) 1 : 1 : 1。 (01) 1 : ? : 1。 output q。使用此語句可以在仿真的開始對輸出進行賦值。 ? next state 欄中的 “ ” 表示輸出保持不變。 1 ? : : 。 input clock, data。 ? ?表示邏輯值可以為 0, 1或 x。 1 1 1 : 1。 0 1 1 : 0。 input A, B, CI。 0 ? 0 : 0。 input A, B, CI, table // A B CI : CO 1 1 ? : 1。 UDP 將 x 作為實際的未知值,而不是 Verilog 語言邏輯值來進行處理,因此使其比 Verilog語言提供的基本原語元件更加準確。 表中的下兩行表示:當 s 等于 0 時,不管 a邏輯值如何變化,輸出 o 將與輸入 b 保持一致。 ? 如果在表中沒有規(guī)定輸入組合,將輸出不確定邏輯值 (x)。 ? 1 0 : 1。 input s, a, b。 ? UDP 輸入端最多可以有 10 個,但是當輸入端的個數(shù)多于 5 個時,仿真時需要的內(nèi)存?zhèn)€數(shù)將呈現(xiàn)近似指數(shù)的增加。 ? 在仿真的開始時刻,可以使用 initial 語句把 UDP 的輸出初始化為一個已知值。 語法詳細講解 什么是 UDP? ? UDP 只能有一個輸出端,而且必須是端口說明列表的第一項。 ? 在 Verilog語言提供的幾種基本源語元件中,若在輸入中包含不確定值 x,則在輸出時可能出現(xiàn)不確定值 x;而在 UDP 中則不允許出現(xiàn)此種情況。 ? UDP 既可以用來表示時序邏輯元件,也可以表示組合邏輯元件。 ? 用戶定義的源語元件( UDP)。下一個狀態(tài)是否改變,將由條件語句決定;除非用強制性語句使狀態(tài)重復(例如:用循環(huán)語句或用 disable語句來強制改變狀態(tài)), ? 在隱式狀態(tài)機中,很難規(guī)定一個默認動作。 end endmodule 語法詳細講解 隱式有限狀態(tài)機 0 1 1 0 1 識別 11序列 clk rst out 注意: ? 在過程塊中可以使用多個時鐘沿(即每次狀態(tài)改變都用一個新的時鐘沿)、條件語句、循環(huán)語句、 disable語句來描述隱式 FSM。 ? 寫得比較好的狀態(tài)機常為不應產(chǎn)生的條件規(guī)定一個默認動作 。 end default: {state, out}=2?b00。 if(!datain) state=1?b0。 reg out。 一般情況下 , 常用的綜合工具不支持隱式狀態(tài)機的綜合 。 ? 一般情況下 , 如果狀態(tài)改變比較簡單 , 又定義得比較好 ,而且綜合工具支持隱式狀態(tài)機的綜合 , 就可以使用隱式狀態(tài)機 。i=i+1。 reg [7:0] memory [0:1023] integer i。 ……. endmodule 語法詳細講解 層次信息的顯示 ? 顯示任務結(jié)果如下: Displaying in Displaying in Displaying in 語法詳細講解 用文件中的數(shù)據(jù)初始化存儲器 ? 語法要點: $readmemb(〈 文件名 〉 , 〈 存儲器名 〉 )。 endmodule module top。 //只寫到文件 (handle1)中 end 語法詳細講解 關(guān)閉文件 ? 語法要點: $fclose (文件 _handle)。 //寫到文件 (handle1)和顯示器 (1)( stdout) desc2=handle2|handle1。 $fmonitor (文件描述號 , p1,p2,….pn)。 initial begin handle1= $fopen()。 always (posedge clk) addr = {$random(r_seed)} %1024。 defparam =16。 input [15:0] x,y。 $fdisplay… .. $fopen 。 ? 一般 情況下 disable語句是不可綜合的 。 //**禁止任務的執(zhí)行 diable arith_block。 always (posedge clk) begin : arith_block //***命名名為 arith_block的塊 *** reg [3:0] tmp1, tmp2。 input clk, en_mult。 ? 可以使用 disable禁止命名塊 。 endfunction always (posedge clk) begin … . D= reverse_bits(D)。 input [7:0] data。 所以參數(shù)化函數(shù)就有更廣泛的適用范圍 。 subtr = in_a – in_b。 input a, b。 end endfunction endmodule 語法詳細講解 Verilog 函數(shù) 若把函數(shù)定義為整型 、 實型或時間類型 , 就可以返回相應類型的數(shù)據(jù) 。 begin zero_count = 0。 //也可以用連續(xù)賦值語句調(diào)用函數(shù) wire [7:0] goo = zero_count (loo)。 在函數(shù)內(nèi) , 無論以函數(shù)名命名的變量被賦了多少次值 , 函數(shù)只有一個返回值 。 ? 雖然函數(shù)只能返回一個值 , 但是它的返回值 可以直接賦給一個由多個子信號拼接構(gòu)成的 信號變量 , 使其實際等效于產(chǎn)生了多個輸出 。 ? 傳遞給函數(shù)的變量順序與函數(shù)輸入口聲明的 順序相同 。 endfunction endmodule 語法詳細講解 Verilog 函數(shù) 雖然函數(shù)不能包含定時控制 ,但是可以在包含定時控制的過程塊中調(diào)用函數(shù) 。 input [7:0] a, b, c, d, e。 output [7:0] out。 output [7:0] result。 reg [15:0] out。 語法詳細講解 Verilog 任務 module mult(clk, a, b, out, en_mult)。 K=K+1) reverse_bits [MAXBITS – (K+1)] = data[K]。 inout [7:0] data。 在任務調(diào)用時 , 任務的輸入變量 ( 端口 ) 在任務內(nèi)部被當作寄存器類型變量處理 。 這種情況常發(fā)生在使用定時控制的任務中 。 ? 任務使 Verilog有更廣闊的適用范圍 。 ? 任務中可以包含 input, output和 inout端口變量的聲明 。 //任務調(diào)用 a=0。 endtask initial begin clk=0。 always 5 clk=!clk。 用于定時控制的信號,例如 clk,絕對不能作為任務的輸入,這是因為輸入值只向任務內(nèi)部傳遞一次。 ? 所有的輸入和輸出變量實際上都是本地寄存器 。 2) 不能包含任何延遲;函數(shù)在零時間執(zhí)行 。 ? 理解有限狀態(tài)機的作用 , 學會如何顯式地為有限狀態(tài)機建模 。 由于此模型為單口存儲模型 , 因此 wr變低電平時 , rd不能同時為高電平 , 否則就無法確定存儲器的讀出 /寫入的結(jié)果 。 always (negedge wr) datareg=databus。 inout databus。 input en_a_b,en_b_a。 如果控制信號同時有效 , 則結(jié)果不能確定 。 input en_a_b,en_b_a。 使用 Verilog中的基本元件( bufif1)為雙向口建模: 語法詳細講解 雙向口建模 b2 b1 en_a_b en_b_a bus_a bus_b 語法詳細講解 雙向口建模 [注意 ]: 在上頁的例子中,使用 en_a_b和 en_b_a 來控制元器件 bufifl,如果控制信號同時有效,則結(jié)果無法確定。 inout口默認為網(wǎng)絡(luò)連接類型。 ) ? 在設(shè)計中 , 每次只能從一個方向來驅(qū)動 inout口 。 語法詳細講解 存儲器的加載 語法詳細講解 怎樣使用雙向口 使用 inout關(guān)鍵字聲明端口為雙向口 。i=i+i) // initialize memory mema[i]={wordsize{1?b1}}。 可以在初始化塊中用一個循環(huán)或系統(tǒng)任務把初始數(shù)據(jù)存入存儲器的每個單元。 endmodule 語法詳細講解 存儲量可變的只讀存儲器建模 語法詳細講解 存儲量可變的只讀存儲器建模 上述的例子演示了怎樣通過設(shè)置字長和地址位數(shù)來編 寫 只讀存儲器的行為模塊。 //size of mem output [wordsize:1] mem_word。 例: module scalable_ROM (mem_word, address)。 //4 bits, 16 個單元 //從存儲器讀出到總線上 assign data=read? memory[addr]:4’bz。 inout [3:0] data。 endmodule 語法詳細講解 簡單 ROM 建模 my_rom_data 0000 0101 1100 0011 1101 0010 0011 1111 1000 1001 1000 0001 1101 1010 0001 1101 ROM的數(shù)據(jù)存儲在另外的一個獨立的文件中 語法詳細講解 簡單 ROM建模 上頁所示的 ROM模型說明: ?如何在 Verilog中用二維的寄存器組來定義存儲器。 reg [3:0] read_data。 例如:指出可以對存儲器做以下哪幾種操作: 1)只讀 2)讀寫 3)同步讀寫 4)多次讀,同時進行一次寫 5)多次同步讀寫,同時提供一些方法保證一致性 語法詳細講解 存儲器建模 `timescale 1ns/10ps module myrom(read_data,addr,read_en_)。 wait wait wait wait data1 data2 data3 data4 cpu_data clk data_valid data_rd read_cpu_state 語法詳細講解 存儲建模 目標 學會如何用 Verilog對存儲器建模。 wait (
點擊復制文檔內(nèi)容
教學課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1