日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

verilog中function用法_verilog中的function用法与例子

發布時間:2023/12/19 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 verilog中function用法_verilog中的function用法与例子 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

函數的功能和任務的功能類似,但二者還存在很大的不同。在 Verilog HDL 語法中也存

在函數的定義和調用。

1.函數的定義

函數通過關鍵詞 function 和 endfunction 定義,不允許輸出端口聲明(包括輸出和雙向

端口) ,但可以有多個輸入端口。函數定義的語法如下:

function [range] function_id;

input_declaration

other_declarations

procedural_statement

endfunction

其中,function 語句標志著函數定義結構的開始;[range]參數指定函數返回值的類型或

位寬,是一個可選項,若沒有指定,默認缺省值為 1 比特的寄存器數據;function_id 為所定

義函數的名稱,對函數的調用也是通過函數名完成的,并在函數結構體內部代表一個內部變

量,函數調用的返回值就是通過函數名變量傳遞給調用語句;input_declaration 用于對寒暑

各個輸入端口的位寬和類型進行說明,在函數定義中至少要有一個輸入端口;endfunction

為函數結構體結束標志。下面給出一個函數定義實例。

定義函數實例。

function? AND;

//定義輸入變量

input A, B;

//定義函數體

begin

AND = A? && B;

end

endfunction

函數定義在函數內部會隱式定義一個寄存器變量, 該寄存器變量和函數同名并且位寬也

一致。函數通過在函數定義中對該寄存器的顯式賦值來返回函數計算結果。此外,還有下列

幾點需要注意:

(1)函數定義只能在模塊中完成,不能出現在過程塊中;

(2)函數至少要有一個輸入端口;不能包含輸出端口和雙向端口;

(3) 在函數結構中, 不能使用任何形式的時間控制語句 (#、 wait 等) , 也不能使用 disable

中止語句;

(4)函數定義結構體中不能出現過程塊語句(always 語句)(這樣的話,函數就不能完成時序邏輯,只能做組合邏輯,是這樣嗎?) ;

(5)函數內部可以調用函數,但不能調用任務。

2.函數調用

和任務一樣,函數也是在被調用時才被執行的,調用函數的語句形式如下:

func_id(expr1, expr2, ........., exprN)

其中,func_id 是要調用的函數名,expr1, expr2, ......exprN是傳遞給函數的輸入參數列

表,該輸入參數列表的順序必須與函數定義時聲明其輸入的順序相同。下面給出一個函數調

用實例。

函數調用實例。

module comb15 (A, B, CIN, S, COUT);

input [3:0] A, B;

input CIN;

output [3:0] S;

output COUT;

wire [1:0] S0, S1, S2, S3;

function signed [1:0] ADD;

input A, B, CIN;

reg S, COUT;

begin(是否一般只能用begin...end過程塊?)

S = A ^ B ^ CIN;

COUT = (A&B) | (A&CIN) | (B&CIN);

ADD = {COUT, S};

end

endfunction

assign S0 = ADD (A[0], B[0], CIN),

S1 = ADD (A[1], B[1], S0[1]),

S2 = ADD (A[2], B[2], S1[1]),

S3 = ADD (A[3], B[3], S2[1]),

S = {S3[0], S2[0], S1[0], S0[0]},

COUT = S3[1];

endmodule

在函數調用中,有下列幾點需要注意:

(1)函數調用可以在過程塊中完成,也可以在 assign 這樣的連續賦值語句中出現。

(2)函數調用語句不能單獨作為一條語句出現,只能作為賦值語句的右端操作數。

總結

以上是生活随笔為你收集整理的verilog中function用法_verilog中的function用法与例子的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日本色网址 | 97久久久久 | 国产精品久久一区二区三区动 | 久久av高潮av无av萌白 | 一本一道久久综合 | 日韩一级在线观看 | 蜜臀aⅴ国产精品久久久国产老师 | 欧美成人国产va精品日本一级 | 日本大胆欧美人术艺术 | 亚洲欧美韩日 | 911香蕉 | 国产特黄aaaaa毛片 | 久久免费看视频 | 香蕉狠狠爱视频 | 亚洲色图 一区二区 | 伊人影院在线视频 | 国产高清视频免费 | 亚洲国产黄 | 成人区一区二区 | 夜噜噜 | 超碰一区二区 | 丰满女人又爽又紧又丰满 | 97人人爽人人爽人人爽 | 亚洲女优在线 | 久久久久久国产精品日本 | 日韩午夜激情视频 | 噜噜视频| 亚洲一区视频 | 国产美女www爽爽爽视频 | 99ri在线观看| 东方欧美色图 | 91理论片| 久久新| 在线免费观看黄色小视频 | 九九热视频在线 | 澳门黄色| 亚洲剧情在线 | 国产精品久久欧美久久一区 | 男人网站在线观看 | 欧美人与禽性xxxxx杂性 | 日韩av免费看 | 99久久精品免费看国产 | 精品一区二区三区电影 | 亚洲av毛片一区二二区三三区 | 欧洲亚洲精品 | 久久精品国产av一区二区三区 | v8888av| 成人网页在线观看 | 日韩一区二区精品视频 | 97人人爽人人爽人人爽 | 91久久一区二区三区 | 免费一区二区三区四区 | 美妇湿透娇羞紧窄迎合 | av一道本 | 国产二级一片内射视频播放 | 国产超碰人人爽人人做人人爱 | 99久久一区 | 亚洲另类自拍 | 久久露脸国语精品国产91 | 亚洲一区免费看 | 成人无高清96免费 | 久一视频在线观看 | 美女日批网站 | 欧美视频在线观看一区 | 一级片视频免费观看 | 美女露隐私网站 | 日本泡妞xxxx免费视频软件 | 欧美v在线 | 亚洲国产精品网站 | 国产亚洲欧美视频 | 99精品欧美一区二区蜜桃免费 | 精品国产乱码久久久久久108 | 亚洲国产成人一区二区精品区 | 五月天欧美 | 手机在线观看毛片 | 国产a视频免费观看 | 日韩一区二区a片免费观看 伊人网综合在线 | 成人精品在线播放 | 日本作爱视频 | 中字幕一区二区三区乱码 | 亚洲国产综合久久 | 18视频在线观看男男 | 黄色在线资源 | 一卡二卡三卡视频 | 亚洲精品无码一区二区 | 亚洲一区网站 | 一本一道久久a久久精品综合 | 暧暧视频在线观看 | 欧美精品日韩 | 成人动态视频 | 亚洲精品国产熟女久久久 | 中文永久免费观看 | 波多野结衣在线免费视频 | 日本xxxxxⅹxxxx69 | 久久久久久av | 日韩欧美手机在线 | 中文字幕一区二区三区人妻 | 免费看片成人 | 99久久人妻精品免费二区 |