Verilog时间控制语句

Verilog中的时间控制语句用于控制模块中的时间行为。以下是Verilog中常用的时间控制语句:

#:延迟语句

@:敏感语句

wait:等待语句

forever:无限循环语句

repeat:重复语句

while:循环语句

for:循环语句


#:延迟语句

用于在模拟中引入延迟。

例如,#10表示延迟10个时间单位。

@:敏感语句

用于指定模块在特定条件下等待信号的变化。

例如,@posedge clk表示等待时钟信号的上升沿。当时钟信号的上升沿到来时,模块会被触发执行后续语句。@语句通常用于需要根据信号的变化来触发某些操作的情况,例如时钟边沿触发的操作或等待输入信号的变化。

wait:等待语句

用于在模块中等待特定条件的发生。

例如,wait(en)表示等待en信号为真。在等待期间,模块的执行会被暂停,直到en信号为真才会继续执行后续语句。wait语句通常用于需要等待某个条件满足的情况,例如等待输入信号的变化或等待某个状态的改变。

注意:wait语句只要条件满足都会执行后续语句,固写多条wait条件相同的语句时,当特定条件满足时会执行最后一条wait语句的后续语句;而写有多条相同@语句时,会依次根据敏感信号列表中信号变化而触发模块,从而执行后续语句。(有待多次验证)

forever:无限循环语句

用于在模块中创建无限循环。

例如,forever begin ... end表示无限循环执行begin和end之间的语句。

repeat:重复语句

用于重复执行一组语句特定次数。

例如,repeat(10) begin ... end表示重复执行begin和end之间的语句10次。

while:循环语句

用于在满足特定条件时重复执行一组语句。

例如,while(en) begin ... end表示当en信号为真时重复执行begin和end之间的语句。

for:循环语句

用于按照特定的计数器值重复执行一组语句。

例如,for(i=0;i<5;i=i+1)begin ... end表示按照i的值从0到4重复执行begin和end之间的语句。

这些时间控制语句可以用于控制模块中的时间行为,例如延迟信号的传播、等待特定条件的发生以及循环执行一组语句等。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值