Veriog中的四种结构(initial,always,task,function)

一,initial

作用:initial语句用于变量的初始化。。。

注意:一个模块中可以有多个initial语句。。。所有的initial语句是并行的。

二.always

 声明格式:  always <时序控制>  <语句>

注意:1)always语句由于其不断的活动,一般与时序控制一起结合实用。

           2)always可等待与电平敏感是触感事件。

e.g

       1)

      always @(posedge arrg)

      begin   //等待当arrg变为高电平时执行下面语句

      ///

      end

    2)

     always @(A or B)

      begin   //等待当A或者B发生变化时执行下面语句

      ///

      end

  3)

     always

      wait(enable)

      begin   //等待当enable为1时执行下面语句

      ///

      end

三.task

作用:用于定义一个任务

格式 1)定义

          task<任务名>

        <端口名及数据类型声明>

       <语句1>

       ........

       <语句n>

      endtask

     2)调用

     任务名(端口1,端口2,......端口n):

四.function

作用:用于定义一个函数

格式:

     1)定义

    function<返回值的类型或者范围>(函数名)

      <端口说明语句>

     <端口变量说明语句>

     begin

     <语句>

     . ......

      end

    endfunction

     2)调用

      <函数名>  (<表达式>,。。。<表达式>)

 

你可能感兴趣的:(FPGA)