收藏此站 联系我们 网站
当前位置:首页» 行业新闻 » 【建站服务】甘南做网站/制作网站/搭建网站/设计网站/开发网站-网站服务一站式-域名申请

【建站服务】甘南做网站/制作网站/搭建网站/设计网站/开发网站-网站服务一站式-域名申请

作者: 风兰 . 阅读量: 5 . 发表时间:2022-09-21 03:15:16

网站建设

上往建站提供服务器空间服务商百度快照排名网站托管百度推广运营,致力于设计外包服务与源代码定制开发360推广搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。


甘南做网站/制作网站/搭建网站/设计网站/开发网站-网站服务一站式

网站建设.png


键词:while, for, repeat, forever

Verilog 循环语句有 4 种类型,分别是 while,for,repeat,和 forever 循环。循环语句只能在 always 或 initial 块中使用,但可以包含延迟表达式。

while 循环

while 循环语法格式如下:

while (condition) begin
    …end

while 循环中止条件为 condition 为假。

如果开始执行到 while 循环时 condition 已经为假,那么循环语句一次也不会执行。

当然,执行语句只有一条时,关键字 begin 与 end 可以省略。

下面代码执行时,counter 执行了 11 次。

实例

`timescale 1ns/1ns
 
module test ;
 
    reg [3:0]    counter ;
    initial begin
        counter = 'b0 ;
        while (counter<=10) begin
            #10 ;
            counter = counter + 1'b1 ;
        end
    end
 
   //stop the simulation
    always begin
        #10 ;  if ($time >= 1000) $finish ;
    end
 
endmodule

仿真结果如下:

for 循环

for 循环语法格式如下:

for(initial_assignment; condition ; step_assignment)  begin
    …end

initial_assignment 为初始条件。

condition 为终止条件,condition 为假时,立即跳出循环。

step_assignment 为改变控制变量的过程赋值语句,通常为增加或减少循环变量计数。

一般来说,因为初始条件和自加操作等过程都已经包含在 for 循环中,所以 for 循环写法比 while 更为紧凑,但也不是所有的情况下都能使用 for 循环来代替 while 循环。

下面 for 循环的例子,实现了与 while 循环中例子一样的效果。需要注意的是,i = i + 1 不能像 C 语言那样写成 i++ 的形式,i = i -1 也不能写成 i -- 的形式。

实例

// for 循环语句
integer      i ;


signment 为初始条件。


condition 为终止条件,condition 为假时,立即跳出循环。


step_assignment 为改变控制变量的过程赋值语句,通常为增加或减少循环变量计数。


一般来说,因为初始条件和自加操作等过程都已经包含在 for 循环中,所以 for 循环写法比 while 更为紧凑,但也不是所有的情况下都能使用 for 循环来代替 while 循环。


下面 for 循环的例子,实现了与 while 循环中例子一样的效果。需要注意的是,i = i + 1 不能像 C 语言那样写成 i++ 的形式,i = i -1 也不能写成 i -- 的形式。


实例

// for 循环语句

integer      i ;

reg [3:0]    counter2 ;

initial begin

    counter2 = 'b0 ;

    for (i=0; i<=10; i=i+1) begin

        #10 ;

        counter2 = counter2 + 1'b1 ;

    end

end

repeat 循环

repeat 循环语法格式如下:


repeat (loop_times) begin

    …

end

repeat 的功能是执行固定次数的循环,它不能像 while 循环那样用一个逻辑表达式来确定循环是否继续执行。repeat 循环的次数必须是一个常量、变量或信号。如果循环次数是变量信号,则循环次数是开始执行 repeat 循环时变量信号的值。即便执行期间,循环次数代表的变量信号值发生了变化,repeat 执行次数也不会改变。


下面 repeat 循环例子,实现了与 while 循环中的例子一样的效果。


实例

// repeat 循环语句

reg [3:0]    counter3 ;

initial begin

    counter3 = 'b0 ;

    repeat (11) begin  //重复11次

        #10 ;

        counter3 = counter3 + 1'b1 ;

    end

end

下面 repeat 循环例子,实现了连续存储 8 个数据的功能:


实例

always @(posedge clk or negedge rstn) begin

    j = 0  ;

    if (!rstn) begin

        repeat (8) begin

            buffer[j]   <= 'b0 ;      //没有延迟的赋值,即同时赋值为0

            j = j + 1 ;

        end

    end

    else if (enable) begin

        repeat (8) begin

            @(posedge clk) buffer[j]    <= counter3 ;       //在下一个clk的上升沿赋值

            j = j + 1 ;

        end

     end

end

仿真结果如下图。


由图可知,rstn 拉高时,buffer 的 8 个向量同时赋值为 0。


第二个时钟周期后,buffer 依次被 counter3 赋值,实现了连续存储 8 个数据的功能。


甘南做网站/制作网站/搭建网站/设计网站/开发网站-网站服务一站式


上往建站提供搭建网站域名注册官网备案服务网店详情页设计企业网店专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管网页美工排版,致力于域名申请竞价托管软文推广全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机网站推广百度竞价托管网站建设上网建站推广服务网络公司有哪些等业务,专业团队服务,效果好。

服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)


关键词:网站建设,企业网站,网站制作,网页设计,高端网站建设,企业网站制作,网页制作,制作网站,网站设计,高端网页设计,高端网站设计,做网站,自适应网站

全国服务热线
18114747181
二维码
手机端二维码
上往建站
地址:全国各地都有驻点商务 |  网站建设上往建站
在线咨询QQ:1120768800
 
QQ在线咨询
售前咨询热线
18114747181
营销顾问
营销顾问
售后服务热线
400-000-1116
售后服务
售后服务