首页 > 其他 > 详细

verilog之function

时间:2020-08-08 18:04:52      阅读:74      评论:0      收藏:0      [点我收藏+]

verilog之function

1、基本作用

function,就是声明一个函数。与task的区别就是有参数。function的返回值就是函数名(可以设置位宽),输入值任意,均作为输入参数。代码块需符合verilog的语法规则。如放在assign块中的函数需要使用wire变量,always语句中的函数需要使用reg型的变量。不可在function内部加入赋值类型的标志。

2、实际例子

module fun_user (
    input a,
    input b,
    input c,
    output [3:0] d,
    output [3:0] d2
);
    
function [3:0] dataout;
input a;
input b;
input c;
dataout={a,b,c};
endfunction

assign    d=dataout(a,b,c);


endmodule

 

3、反思小结

function函数在verilog中的作用显然不如高级语言。一方面可综合语句确实不适合做成函数,另外一方面verilog并不擅长高级逻辑。verilog在verilog中主要的应用是精简代码,减少相似度高的代码块。task则是减少相同的代码块。两者在verilog中都不是关键作用。

verilog之function

原文:https://www.cnblogs.com/electricdream/p/13457793.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!