快捷搜索:

Verilog可综合的循环语句

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轮回。

您可能还会对下面的文章感兴趣: