MyFPGA Forum

 找回密码
 注册
搜索
查看: 5180|回复: 1
打印 上一主题 下一主题

for 语句中的赋值

[复制链接]
跳转到指定楼层
1#
发表于 2011-1-20 19:14:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 tuoluofu 于 2011-1-20 19:18 编辑

最近遇到一个问题,for语句中用非阻塞赋值,每个时钟周期只能循环一次,因为非阻塞赋值等到时钟周期结束时才会赋值。
     那么for语句中用阻塞赋值呢?是不是一个周期,可以将所有循环进行完呢?
希望得到您的指点!

always@(posedge iCLK or negedge iRST_N)
begin
        if(!iRST_N)
                a<=0;
        else
                for(i=0;i<10;i=i+1)
                begin
                        a<=a+b;
                end
end

always@(posedge iCLK or negedge iRST_N)
begin
        if(!iRST_N)
                a<=0;
        else
                for(i=0;i<10;i=i+1)
                begin
                        a=a+b;
                end
end
2#
发表于 2011-2-17 13:43:26 | 只看该作者
阻塞赋值一个周期不能循环完,因为只有当iCLK上升沿到来时always块才能运行一次,
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|MyFPGA

GMT+8, 2024-5-6 20:47 , Processed in 0.042078 second(s), 14 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表