函数和任务

  • Verilog中函数与任务区别:

任务可以消耗时间,函数不能消耗时间;

函数里不能带有#10延时语句或者@(posedge clk)、wait(ready)的阻塞语句;

函数不能调用任务;

函数必须有返回值,并且返回值必须被使用;

1.函数(与C语言类似)

函数的参数可以声明为input、output、inout、ref;

Void函数不返回数值;

函数可以调用函数,但必须立即返回,即不能发生阻塞、等待行为;

如果调用具有返回值的函数,但没有使用该返回值,应添加void‘()进行转换;

Void’(some_function());

2.任务

任务的定义可以指定参数input、output、inout、ref;任务没有返回值;

任务可以消耗仿真时间;

任务可以调用其他任务或者函数;

3.任务和函数区别

  • 函数不会消耗仿真时间,而任务可能会消耗仿真时间;
  • 函数无法调用任务,而任务可以调用函数;
  • 一个函数只能返回一个数值,而任务不会返回数值;
  • 函数可以作为一个表达式中的操作数,而该操作数的值即函数的返回值;

4.参数传递

  • input、output、inout参数在调用方法时属于值传递,即传递过程中,外部变量的值会经过拷贝,赋值给形式参数;
  • 值传递的过程只会出现在方法的调用时和返回时;
  • ref参数在传递时不会发生值拷贝,而是将变量指针传递到方法中,因此在方法内部对于参数的任何操作会立即影响到外部变量;
  • 为了避免外部传入的ref参数会被方法修改,可以添加const修饰符,表示变量是只读变量;
  • SV允许方法声明输入参数时指定参数的默认值;
  • SV允许类似于模块例化,可以由参数位置在调用方法时传递参数,也可以由参数名字映射的方式来传递参数;

c语言延时函数_SystemVerilog函数和任务相关推荐

  1. c语言延时函数delay延时一秒_IMX6UL裸机实现C语言LED实验

    C 语言部分有两个文件 main.c 和 main.h,main.h 里面主要是定义的寄存器地址,在 main.h里面输入代码: #ifndef MAIN_H #define MAIN_H1 /*2 ...

  2. 51c语言延时作用,51单片机C语言延时函数怎么定义和使用

    描述 51单片机C语言延时函数怎么定义 C语言定义延时函数主要通过无意义指令的执行来达到延时的目的.C程序中可使用不同类型的变量来进行延时设计.经实验测试,使用unsigned char类型具有比un ...

  3. 延时作用是什么意思c语言,单片机中C语言延时函数

    原标题:单片机中C语言延时函数 延时程序计算2009-11-02 22:15单片机C语言延时程序用C语言写出来程序非常的简练,它是一种模块化的语言,一种比汇编更高级的语言,但是就是这样一种语言也还是有 ...

  4. 递归重入c语言延时函数多任务程序设计中的函数重入问题按照Keil的规范对函数添加关键字“reentrant”,将函数定义为可重入的 void Delay_MS(x) reentrant

    c语言延时函数_子牙篇(2)多任务程序设计中的函数重入问题 weixin_39559333 2020-11-29 09:07:44  39  收藏 文章标签: c语言延时函数 c语言延时函数delay ...

  5. 单片机中C语言延时函数

    单片机C语言延时程序计算2009-11-02 22:15单片机C语言延时程序用C语言写出来程序非常的简练,它是一种模块化的语言,一种比汇编更高级的语言,但是就是这样一种语言也还是有它不足之处:它的延时 ...

  6. 单片机c语言中延时函数的作用,单片机中C语言延时函数

    单片机C语言延时程序计算2009-11-02 22:15单片机C语言延时程序用C语言写出来程序非常的简练,它是一种模块化的语言,一种比汇编更高级的语言,但是就是这样一种语言也还是有它不足之处:它的延时 ...

  7. C语言学习及应用笔记之七:C语言中的回调函数及使用方式

    我们在使用C语言实现相对复杂的软件开发时,经常会碰到使用回调函数的问题.但是回调函数的理解和使用却不是一件简单的事,在本篇我们根据我们个人的理解和应用经验对回调函数做简要的分析. 1.什么是回调函数 ...

  8. 51单片机c语言编程函数,单片机C语言教程:C51函数

    其实一直出现在例子中的 main()也算是一个函数,只不过它比较特殊,编译时以它做为程序的开始段.有了函数C 语言就有了模块化的优点,一般功能较多的程序,会在编写程序时把每项单独的功能分成数个子程序模 ...

  9. c语言有哪些系统函数,C语言常用系统函数.doc

    C语言常用系统函数.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. 3.该文档所得 ...

最新文章

  1. 在博客园写了一年博客,收获的不仅仅是写作技能——我能一直保持积极的学习和工作态度...
  2. PowerDesigner生成数据库建表sql脚本
  3. C++正则表达式的使用
  4. 【PAT乙级】1052 卖个萌 (20 分)
  5. BZOJ-1951-古代猪文-SDOI2010-费马小定理+欧拉函数+lucas定理+中国剩余定理
  6. mysql insert慢_MySQL insert语句慢查询的优化
  7. Promise第二篇:你需要记着的API
  8. [另开新坑] 算导v3 #26 最大流 翻译
  9. 编译原理:利用yacc/bison进行语法分析
  10. bzoj 3680: 吊打XXX
  11. 《武义九州》隐私政策
  12. 项目管理project模板_项目管理常用的10张图表推荐
  13. 为什么if else过多会影响程序性能?(英文版)
  14. 凛冬之翼---php写入数据库时汉字全部变为空白
  15. 手机端H5页面时间插件
  16. ORACLE计算2个时间段相差时间小时、分、秒
  17. Seq2Seq模型及Attention机制
  18. 零售业小程序行业解决方案
  19. docker 镜像启动并完成服务部署
  20. 【经验】怎么把Word文字下面的红线去掉?

热门文章

  1. 【测试方法篇】效率测试
  2. SyntaxError: invalid syntax-python报错
  3. 续--Flask, Django - 区别
  4. 可持续字典树 Perfect Security
  5. .NET Core 开发之旅 (1. .NET Core R2安装教程及Hello示例)
  6. Hibernate所用15个jar包
  7. 动态规划在求解全源最短路径中的应用(JAVA)--Floyd算法
  8. vue+layui获取CheckBox的值
  9. 开关怎么使用_水龙头漏水怎么办?使用时把控开关力度很重要
  10. 批改网禁止粘贴怎么破_重大利好!教育部声明,要求家长批改作业等行为,发现一起严处一起...