原创 task解惑

2010-6-7 18:34 1566 4 4 分类: FPGA/CPLD

任务:使设计者可以从设计中不同位置执行共同的代码段。


任务开始处声明任务的输入输出,声明顺序直接影响调用中的顺序。


任务中可以定义局部变量,只有在任务中才可见。


任务可以被声明为automatic类型,这样的任务,内部声明的所有局部变量在每次任务调用时都进行动态分配即局部变量不会对两个单独或者并发的任务调用产生影响。静态任务中,在每次任务调用中的局部变量都使用同一个存储空间。


直到任务结束退出时,输出变量值才传递给调用的变量。


task automatic read_ram;


input [3:0] address;


output  [3:0] data;


data <= ram[address]; //ram是全局变量


endtask


任务调用


reg [3:0] m_address,m_data;


read_ram(m_address,m_data);

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
4
关闭 站长推荐上一条 /3 下一条