在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3057|回复: 10

[求助] 刚刚开始用task,请指教有没有错误(已经解决,设全局变量)

[复制链接]
发表于 2012-2-10 20:51:35 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 atlandis 于 2012-2-14 15:17 编辑

task AHB_master_assignment
(
         input  integer delay1,
         input  integer delay2,
         input  [7:0]    idata,
         input             ivld,
         output [7:0]  o_data,
         output          o_vld
);
begin
@(posedge clk)
#delay1
    o_data = idata;                  
//command
    o_vld  = ivld;

#delay2
@(posedge clk)
#delay1
    o_data = 8'b0;
    o_vld  = 1'b0;
end
endtask


////////////////////////////////////////////////////////////////////////////////
//  调用task, cmd_data和cmd_data_vld是我希望的输出,clk是系统时钟
////////////////////////////////////////////////////////////////////////////////
AHB_master_assignment(1,10,8'b10101010,1'b1,cmd_data,cmd_data_vld);



刚刚学习用task,请问有错么?
 楼主| 发表于 2012-2-10 21:34:37 | 显示全部楼层
回复 1# atlandis


   仿真了一下,发现 cmd_data,cmd_data_vld的值一直是0

请问,哪里出错了呢?
 楼主| 发表于 2012-2-11 11:17:43 | 显示全部楼层
回复 2# atlandis


   呵呵,贻笑大方了,逻辑错误,呵呵,应该设为全局变量
发表于 2012-2-12 07:37:40 | 显示全部楼层
请注意task的verilog官方说明,task中的output是在task执行结束的时刻赋值。也就是说output只返回task 运行结束时点的值。你要想实现task对一个变量(记住是reg类型)赋值并要想实时反映你的赋值信息,那就要在task体外面对这个变量进行声明。
reg a;
task con_a;
@(posedge clk) a =1;
#100;
@(posedge clk) a=0;
endtask
发表于 2012-2-12 07:39:47 | 显示全部楼层
请注意task的verilog官方说明,task中的output是在task执行结束的时刻赋值。也就是说output只返回task 运行结束时点的值。你要想实现task对一个变量(记住是reg类型)赋值并要想实时反映你的赋值信息,那就要在task体外面对这个变量进行声明。
reg a;
task con_a;
@(posedge clk) a =1;
#100;
@(posedge clk) a=0;
endtask
发表于 2012-2-14 11:30:33 | 显示全部楼层
长见识了!一直没有这么深入的了解这个task
 楼主| 发表于 2012-2-14 15:16:30 | 显示全部楼层
回复 5# wrhwindboy


    老大,应该早点说,呵呵呵,我花费了n久找错误,然后找到了,然后你回复了哦,呵呵
发表于 2012-2-15 11:23:34 | 显示全部楼层
我也受益。THX
发表于 2012-3-27 12:58:49 | 显示全部楼层
受教了!
发表于 2014-8-21 21:39:35 | 显示全部楼层
非常有用,非常感谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

X

小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-6-23 22:41 , Processed in 0.024380 second(s), 8 queries , Gzip On, MemCached On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表