飞道的博客

Verilog语法笔记(夏宇闻第三版)-循环语句

253人阅读  评论(0)

目录

forever语句:

repeat语句:

while语句:

for语句:


Verilog HDL中存在着四种类型的循环语句,用来控制执行语句的执行次数。

1) forever 连续的执行语句。

2) repeat 连续执行一条语句 n 次。

3) while 执行一条语句直到某个条件不满足。如果一开始条件即不满足(为假), 则语句一次也不能被执行。

4) for通过以下三个步骤来决定语句的循环执行。

a) 先给控制循环次数的变量赋初值。

b) 判定控制循环的表达式的值,如为假则跳出循环语句,如为真则执行指定的语句 后,转到第三步。

c) 执行一条赋值语句来修正控制循环变量次数的变量的值,然后返回第二步。

forever语句:

forever语句的格式如下:

 

forever循环语句常用于产生周期性的波形,用来作为仿真测试信号。它与always语句不同处在于不能独立写在程序中,而必须写在initial块中。

repeat语句:

repeat语句的格式如下:

在repeat语句中,其表达式通常为常量表达式。下面的例子中使用repeat循环语句及加法和移位操作 来实现一个乘法器。

while语句:

while语句的格式如下:

下面举一个while语句的例子,该例子用while循环语句对rega这个八位二进制数中值为1的位进行计数。

 

for语句:

for语句的一般形式为:

 它的执行过程如下:

下面分别举两个使用for循环语句的例子。例1用for语句来初始化memory。例2则用for循环语句来实 现前面用repeat语句实现的乘法器。

 在for语句中,循环变量增值表达式可以不必是一般的常规加法或减法表达式。下面是对rega这个八位二进制数中值为1的位进行计数的另一种方法。见下例:


转载:https://blog.csdn.net/weixin_50932441/article/details/128588866
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场