IC验证学霸笔记2——Verilog基本语法之循环语句(六)

循环语句分为以下4种:

for语句——通过三个步骤来决定语句的循环执行:

1.给控制循环次数的变量赋初值;

2.判定循环执行条件,若为假则跳出循环;若为真,则执行指定语句后,转到第三步

3.修改循环变量的值,返回第二步

repeat——连续执行一条语句n次;

while——执行一条语句,直到循环条件不满足;若一开始条件不满足,则该语句一次也不能执行

forever——无限连续的执行语句,可用disable语句中断。

for语句

形式:

for(循环变量赋初值;循环执行条件;循环变量增值) 执行语句

例:用for语句描述7人投票表决器:超过4人投赞成票,则表决通过
例:用for语句初始化memory
例:用for语句实现两个二进制数乘法

repeat语句(不可综合)

无条件连续执行一条或多条语句n次

格式:

repeat(循环次数表达式)语句

例:用repeat语句和移位操作实现两个8位二进制数乘法

while 语句

有条件的执行一条或多条语句

首先判断循环执行条件表达式是否为真。若为真,则执行后面的语句或语句块;然后再回头判断循环执行条件表达式是否为真,若为真,再执行一次后边的语句;如此不断,直到条件表达式不为真.

格式:while(循环执行条件表达式) 语句

注1:首先判断循环执行条件表达式是否为真,若为假,则其后的语句一次也不执行

注2:在执行语句中,必须有一条改变循环执行条件表达式的值的语句

注3:while语句只有当循环块有事件控制(即@(posedge clk))时才可综合。

例:用while语句对一个8位二进制中值为1的位进行计数

例:用for语句对一个8位二进制中值为1的位进行计数

forever语句

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

格式:forever 语句;

常用在测试模块中产生周期性的波形,作为仿真激励信号。

常用disable语句跳出循环。

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

语句的顺序执行
在always模块内,逻辑按书写的顺序执行。

顺序语句——always模块内的语句

在always模块内,若随意颠倒赋值语句的书写顺序,可能导致不同的结果



always模块,assign语句,实例元件都是同时执行的,它们在程序中的先后顺序对结果并没有影响。

注:优秀验证学员随堂笔记,已经征求到学生的同意,会持续给牛友们分享!
大家看完记得 一键三连!多多支持

#做项目##芯片设计工程师##芯片IC验证工程师##你为什么选择硬件行业##不去互联网还可以去硬件行业#
全部评论
楼主笔记做的真好
点赞 回复 分享
发布于 2022-08-04 19:52

相关推荐

10-13 13:49
南京大学 财务
饿魔:笑死我了,你简直是个天才
点赞 评论 收藏
分享
09-26 19:45
门头沟学院 Java
点赞 评论 收藏
分享
评论
3
3
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务