Verilog中供给了四种循环句子,可用于操控句子的履行次数,分别为:for,while,repeat,forever。其间,for,while,repeat是可归纳的,但循环的次数需求在编译之前就确认,动态改动循环次数的句子是不行归纳的。forever句子是不行归纳的,首要用于发生各种仿真鼓励。
一、repeat句子
repeat句子履行指定循环数,假如循环计数表达式的指不确认,即为x或z时,那么循环次数按0次处理。
repeat句子的语法是为:
repeat(循环次数表达式) begin
句子快;
end
其间,循环次数表达式用于指定循环次数,可所以一个整数、变量或许数值表达式。假如是变量或许数值表达式,其数值只在第一次循环时得到核算,然后能够事前确认循环次数,句子快为重复履行的循环体。
二、while句子
while句子完成的是一种条件循环,只要在指定的循环条件为真时才会重复履行循环体,假如表达式在开始时不为真(假、x或z),那么进程句子将永久不会被履行。
while循环的语法是:
while(循环履行条件表达式) begin
句子块;
end
在上述格局中,循环履行条件表达式代表了循环体得以持续重复履行时有必要满意的条件,通常是一个逻辑表达式。在每一次履行循环体之前,都需求对这个表达式是否建立进行判别。
while句子在履行时,首要判别循环履行条件表达式是否为真,假如真,履行后边的句子块,然后再重复判别循环履行条件表达式是否为真,如此不断,知道循环履行条件表达式不为真。因而,在履行句子中,有必要有改动循环履行条件表达式的值的句子,不然循环将变成死循环。
三、for循环
和while循环句子相同,for循环句子完成的循环也是一种条件循环,依照指定的循环次数重复履行进程赋值句子,其语法格局如下:
for(表达式1;表达式2;表达式3)
句子块;
for循环最简略的运用方式是很简单了解的,其方式为:
for(循环变量赋初值;循环履行条件;循环变量增值)
句子块;
for循环的履行进程能够分为以下几步:
1、履行循环变量赋初值句子
2、履行循环履行条件句子,判别循环变量的值是否满意循环履行条件。若成果为真,履行循环体句子,然后继 续履行下面的第三步,不然完毕循环。
3、履行循环变量增值句子,并跳转到第二步。
留意:以上三种循环对应的逻辑实质是相同的,三者之间是能够彼此转化的。
四、循环句子的深化了解
Verilog HDL是一种硬件描绘言语,假如希望在代码中完成,则需求EDA东西将其翻译成根本的门逻辑,而在硬件电路中并没有循环电路的原型,因而在运用循环句子时要非常当心,有必要时间留意其可归纳性。
辅导准则:尽管根据循环句子的Verilog HDL规划显得相对精简,阅览起来比较简单;但面向硬件的规划和软件规划的关注点是不相同的,硬件规划并不寻求代码的矮小,而是规划的时序、面积和功能等特征。在规划中应该运用计数器来替代for循环。