day09循环语句

循环语句分为四种:

  • for语句

for(表达式1;表达式2;表达式3)语句//一般形式
for(循环变量赋值;循环执行条件;循环变量增值)执行语句//简单应用形式

用for语句描述的7人投票表决器,若超过4人(含4人)投赞成票,则pass

module vote(
    output pass,
    input [6:0] vote
);
    reg[2:0]sum;//sum为reg型,用于统计赞成的人数
    integer i;//必须声明为一个整形的变量
    reg pass;
always @ (vote)
    begin
        sum = 0;                           //sum初值为0
        for(i=0;i<=6;i=i+1)               //for语句
            if(vote[i]==1)
                sum = sum + 1;            //只要有人投赞成票
            else sum = sum                //避免写成锁存器
            if(sum[2])pass = 1;     //若超过4人赞成,则表决通过,判断sum为100在十进制种为4,则sum[2]肯定大于1,就可以pass了
            else pass = 0;
    end
endmoduleS 
  • repeat语句---连续执行一条语句n次

  • while语句---执行一条语句直到条件不满足

  • 若一开始条件就不满足,则该语句一次也不执行

begin
    循环变量赋初值;
    while(循环执行条件)
    begin
        <执行条件>
        循环变量增值;
    end
end

PS:可知for语句比while语句更简单

  • forever语句---无线循环的执行语句,直到disable语句中断

  • 无条件连续执行forever后面的语句或语句块

有两种方式
1.forever 语句
2.forever
    begin
        .....
    end
  • 常用在测试模块种产生周期性波形,作为仿真激励信号

  • 常用disable语句跳出循环

  • ps:不同于always语句,不能独立写在程序种,一般用在initial块中

initial
    begin:Clocking
        forever #10 clk = !clk
    end
initial
    begin:stimulus
    .....
    disable Clocking;//停止时钟
 end

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值