数字IC必修之Verilog知识点——Task和Function,System Task(系统函数), System Function, Verilog-2001

  1. task和function
    task 和 function 的声明在module内部,且不需要先于调用之前。
    task:只能在procedural 内部调用,task的调用方式是statement本身,而不是表达式。
    function:可以在module的任何地方调用,是作为一种operands来使用。

  2. task

数字IC必修之Verilog知识点——Task和Function,System Task(系统函数), System Function, Verilog-2001

task可以有0个或多个argument(即input output), 可以有延时,上升沿下降沿的使用。

使用时的典型例子: read_reg(input [31:0] add, output [31:0] data);
往memory中写数据的方式

  1. function数字IC必修之Verilog知识点——Task和Function,System Task(系统函数), System Function, Verilog-2001

function 与task的区别是,只允许有input的arguments,不允许output,inout, 返回值就是function的名字,不允许有延时在function中。
也就是说task 可以调用 function 而function不能调用task。
至于task和funciton能不能综合的问题,主要是看在

  1. System Task

常用的几种:
$display,$write,$strobe
$monitor
$readmemh and $readmemb
$stop
$finish

数字IC必修之Verilog知识点——Task和Function,System Task(系统函数), System Function, Verilog-2001

  1. System Function
    $time ($stime)
    $random
    $bitstoreal
    $display ($time, “now the value of x is %h”, x)

Conversion Function
数字IC必修之Verilog知识点——Task和Function,System Task(系统函数), System Function, Verilog-2001

  1. XMR
    Cross-module references, or hierarchical references
    数字IC必修之Verilog知识点——Task和Function,System Task(系统函数), System Function, Verilog-2001

  2. verilog 2001 的new feature
    数字IC必修之Verilog知识点——Task和Function,System Task(系统函数), System Function, Verilog-2001
    数字IC必修之Verilog知识点——Task和Function,System Task(系统函数), System Function, Verilog-2001
    数字IC必修之Verilog知识点——Task和Function,System Task(系统函数), System Function, Verilog-2001
    数字IC必修之Verilog知识点——Task和Function,System Task(系统函数), System Function, Verilog-2001
    数字IC必修之Verilog知识点——Task和Function,System Task(系统函数), System Function, Verilog-2001
    二维数组

数字IC必修之Verilog知识点——Task和Function,System Task(系统函数), System Function, Verilog-2001
数字IC必修之Verilog知识点——Task和Function,System Task(系统函数), System Function, Verilog-2001
数字IC必修之Verilog知识点——Task和Function,System Task(系统函数), System Function, Verilog-2001
数字IC必修之Verilog知识点——Task和Function,System Task(系统函数), System Function, Verilog-2001
原来可能是一个32位数来存,现在可以指定位宽减少容量

数字IC必修之Verilog知识点——Task和Function,System Task(系统函数), System Function, Verilog-2001

例化的时候能知道具体的信息

localparam 不能被defparam 和 in_line parameter redefinition 修改

  1. Generate 可以综合
    用于循环产生例化、模块等等

    数字IC必修之Verilog知识点——Task和Function,System Task(系统函数), System Function, Verilog-2001
    数字IC必修之Verilog知识点——Task和Function,System Task(系统函数), System Function, Verilog-2001