当前位置: 首页 > news >正文

免费搭建自己的官网长沙百度seo

免费搭建自己的官网,长沙百度seo,app软件制作多少钱,企业营销活动有哪些关于function的应用无论是在systemverilog还是verilog中都有很广泛的应用,但是一直有一个模糊的概念困扰着我,今天刚好有时间来搞清楚并记录下来。 关于fucntion的返回值的问题: function integer clog2( input logic[255:0] value);for(cl…

关于function的应用无论是在systemverilog还是verilog中都有很广泛的应用,但是一直有一个模糊的概念困扰着我,今天刚好有时间来搞清楚并记录下来。

关于fucntion的返回值的问题:

function integer clog2( input logic[255:0] value);for(clog2 = 0; value>0; clog2= clog2+1)value = value>>1;clog2 = clog2-1;
//      param = clog2-1;
//      return 8;
endfunction
logic[3:0] param;
initial
begin$display("==========start print sim result============");$display("clog2 = %b",clog2(256'b1000));$display("============end print sim result=============");
//  $display("param = %b",param);
end

上述function vcs编译之后打印的结果为:

==========start print sim result============
clog2 = 00000000000000000000000000000011
============end print sim result=============

function中如果没有return语句(这是systemverilog增加的特性),那么默认返回与函数名相同的变量作为函数的返回值;

如果以下面的方式code:

function integer clog2( input logic[255:0] value);for(clog2 = 0; value>0; clog2= clog2+1)value = value>>1;clog2 = clog2-1;
//      param = clog2-1;return 8;
endfunction
logic[3:0] param;
initial
begin$display("==========start print sim result============");$display("clog2 = %b",clog2(256'b1000));$display("============end print sim result=============");
//  $display("param = %b",param);
end

那么编译之后打印的结果是什么呢?

==========start print sim result============
clog2 = 00000000000000000000000000001000
============end print sim result=============

看到了吧,function会以return语句声明的值作为函数的返回值;

这里还有两个小case需要注意一下,就是for()语句是连同它下面的value = value>>1;作为执行单元的,执行完了之后才会执行下一个;那行的语句。

还有这里要另外注意:

function 返回值的类型:

void:如果你想调用函数并且忽略它的返回值,可以使用void进行声明函数类型,比如函数只用来打印一些想要的信息:

function void load_array();int len = 32'b0;if(len<=0)begin$display("bad len");end// return;
endfunction 
//int arry[];
initial
begin$display("====================================");$display("this is the load array function's print");load_array();$display("====================================");//$display("load_array = %d",load_array());
end

打印结果:

====================================
this is the load array function's print
bad len
====================================

但是你如果把这句解开:

 $display("load_array = %d",load_array());

那就会报错了,因为这里使用了load_array()的返回值,但是void函数是没有返回值的。

报错:

Void functions cannot be used in contexts which require return values

 函数类型还有logic,int,static,automatic,数组,结构体等等类型;

Systemverilog中static、automatic区别_automatic变量-CSDN博客

 

http://www.qdjiajiao.com/news/3883.html

相关文章:

  • 做的好的营销型网站有哪些脚本外链生成工具
  • 中国建设网站官方网站黄页88网络营销宝典
  • 做服装批发在哪个网站好互联网营销工具
  • wordpress keyshotseo怎么优化方法
  • 惠州网络推广公司seo网络推广排名
  • 网站建设公司取名百度竞价可以自学吗
  • 上社网站建设优化设计
  • 如何用zblog做棋牌网站地推拉新接单平台
  • 廊坊企业官网搭建台州seo排名优化
  • word和the wordpress四川企业seo推广
  • 可以做打赏视频的网站一个新产品怎么推广
  • 做公司网站需要的材料有哪些免费顶级域名注册网站
  • 怎么用vs2010做网站网销怎么销售的
  • 做网站首页图片素材林哥seo
  • 电视墙装修效果图2023新款北京网站优化排名推广
  • 专门做二手房车的网站网站优化团队
  • 新洲建设局网站软文写作的基本要求
  • 网站制作公司 深圳线上推广的公司
  • 常州天宁区做网站公司磁力天堂最新版地址
  • 中企动力做的网站后台怎么登陆seo月薪
  • 专业网站设计公司排名做一个简单网页
  • 整站优化昌吉可以吗?chatgpt 网址
  • 网站建设多长时间关键词工具软件
  • 网站系统分析报告营销网站类型
  • 做网站还能挣钱吗整站关键词排名优化
  • 泉州做网站排名备案查询站长工具
  • 资料库网站应该怎么做百度推荐现在为什么不能用了
  • 外贸网站如何选择域名网络营销岗位职责和任职要求
  • 建设政府网站的目的电商seo优化
  • 深圳企业网站建设服务平台营销网络营销