Verilog中forever、repeat、while、for四类循环语句(含Verilog实例)

这篇具有很好参考价值的文章主要介绍了Verilog中forever、repeat、while、for四类循环语句(含Verilog实例)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

        当搭建FPGA逻辑时,使用循环语句可以使语句更加简洁易懂,Verilog中存在四类循环语句,如标题,几种循环语句的具体介绍和用法如下:

(1)forever:连续的执行语句

        语法格式:forever<statement>

        forever循环语句常用于产生周期性的时钟波形作为仿真测试信号。与always语句的区别在于其不能独立存在于程序中,必须搭配initial语句共同使用,示例如下:

initial 
    begin
        clk = 1'b0;  //对时钟赋初值0
        forever begin
            #6.734 clk = ~clk; //每隔6.734个时间单位对时钟信号进行一次翻转
        end
    end

(2)repeat:按照固定的次数执行某个语句

        语法格式:repeat (<expression>)<statement>

        repeat循环语句执行指定的循环次数,如果循环计数判断表达式<expression>的值处于不定态(x或z)时,那么循环次数默认为0。

reg [3:0]    i_a;
reg [3:0]    o_b;
repeat(7) begin //进行7次左移,每次移位1比特
    o_b= i_a<<1;
end

(3)while: 当给定符合条件时执行该循环,不符合则跳过

        语法格式:while(<expression>)begin.....end

        while循环执行过程赋值语句,直到指定的条件<expression>为假。如果表达式条件由真跳转至假(包括假、x及z),那么过程语句将永远不被执行。

wire       judge_single;
while (judge_single) begin //当judge_single拉高时,执行循环
    count = count+1;
end

(4)for: 通过给次数变量不断赋值,来控制循环步长、初值和终止值

        语法格式:(循环变量赋初值;循环结束条件;循环变量步进值)

integer k;
reg [7:0] data_in;
reg [7:0] data_out;
for(k=0,k<8,k=k+1) //从0到7之间循环计数
always @(posedge clk)begin
    if(data_vld)
        data_out[k] <= data_in[7-k] //实现字节转换
    else
        data_out[k] <= 'd0
end

总结:forever语句:多用于在仿真中生成周期性的时钟信号(仿真必用);

           repeat语句:可以指定次数的循环,在指定循环次数方面和for循环语句有一定的相似性,但其局限之处在于不能指定步进长度,应用场景较少(本人不常用);

            while语句:通过判断条件成立与否确定循环次数,个人感觉和if的在判断功能上有些重复。(本人不常用);

           for循环语句:可用于实现位宽转换、生成循环矩阵、或在同一时钟周期下生成多个相同功能模块等情况,在实际工程实现中有较多的应用场景(个人较常用);

说明:以上总结均为个人观点,若有批判性意见,欢迎批评指正。文章来源地址https://www.toymoban.com/news/detail-543156.html

到了这里,关于Verilog中forever、repeat、while、for四类循环语句(含Verilog实例)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 《Python入门到精通》循环语句 while循环,for循环

    「作者主页」: 士别三日wyx 「作者简介」: CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」: 小白零基础《Python入门到精通》 while

    2024年02月14日
    浏览(58)
  • 【Python基础】- for/while循环语句

      🤵‍♂️ 个人主页:@艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞👍🏻 收藏 📂加关注+ 目录 Python循环语句 while循环 无限循环 while 循环使用 else 语句 for 循环 range对象 列表推导

    2024年02月09日
    浏览(51)
  • 【C# 基础精讲】循环语句:for、while、do-while

    循环语句是C#编程中用于重复执行一段代码块的关键结构。C#支持 for 、 while 和 do-while 三种常见的循环语句,它们允许根据条件来控制代码块的重复执行。在本文中,我们将详细介绍这三种循环语句的语法和使用方法。 for 循环是一种常见的循环结构,用于在给定条件下重复执

    2024年02月13日
    浏览(41)
  • 【Python基础】- for/while循环语句(文末送书)

      🤵‍♂️ 个人主页:@艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞👍🏻 收藏 📂加关注+ 目录 Python循环语句 while循环 无限循环 while 循环使用 else 语句 for 循环 range对象 列表推导

    2024年02月08日
    浏览(58)
  • Python条件控制和循环语句(if while for )

    同样需要注意冒号和缩进。另外,在 Python 中没有 do..while 循环。 while+else whlie+break break跳出本层循环的含义 标志位的使用 while+continue 死循环: 程序中坚决不能出现死循环 for循环不会出现死循环,它的循环条件不是我们来控制,是人家内部已经控制好了 for循环和while循环都是

    2024年02月11日
    浏览(48)
  • Python的流程控制语句,while循环和嵌套、for循环、break和continue、冒泡排序

    流程控制语句是用于控制程序的执行顺序的语句。在Python中,主要有while循环和嵌套、for循环、break和continue语句、冒泡排序等。 while循环和嵌套: while循环用于多次执行一段代码,直到条件不再满足为止。嵌套是将一个while循环放在另一个while循环内部,实现多层循环。 示例

    2024年01月18日
    浏览(100)
  • 【Linux】Shell脚本之流程控制语句 if判断、for循环、while循环、case循环判断 + 实战详解[⭐建议收藏!!⭐]

    👨‍🎓 博主简介   🏅云计算领域优质创作者   🏅华为云开发者社区专家博主   🏅阿里云开发者社区专家博主 💊 交流社区: 运维交流社区 欢迎大家的加入! 🐋 希望大家多多支持,我们一起进步!😄 🎉如果文章对你有帮助的话,欢迎 点赞 👍🏻 评论 💬 收藏

    2024年02月13日
    浏览(49)
  • 十九、MySQL 循环结构之LOOP、WHILE、REPEAT、LEAVE、ITERATE 详解

    LOOP 循环语句用来重复执行某些语句。LOOP 内的语句一直重复执行直到循环被退出(使用 LEAVE 子句),跳出循环过程。LOOP 语句的基本格式如下: 举例1:使用 LOOP 语句进行循环操作,id值小于10时将重复执行循环过程。 举例2:应用LOOP语句求前100项的和。首先定义变量i和s,分

    2024年02月04日
    浏览(61)
  • 【C语言趣味教程】(11) 循环语句Ⅰ:while 循环 | 循环的类型 | 流程图基础 | 循环的定义 | 死循环 | while 循环嵌套 | break 语句 | continue 语句

        🔗 《C语言趣味教程》👈 猛戳订阅!!! \\\"我们先来思考一个富有哲学性的问题,人类的本质是什么?我们知道,人类的本质就是复读机!那复读机的本质又是什么?复读机的本质就是循环!本章的主题就是循环,我们来好好研究研究,还是和上一章一样,我们先介绍

    2024年02月03日
    浏览(56)
  • 【Python】循环语句 ② ( while 嵌套循环 | 代码示例 - while 嵌套循环 )

    while 嵌套循环 就是 在 外层循环 中 , 嵌套 内层循环 ; while 嵌套循环 语法格式 : while 嵌套循环 也是基于 空格缩进 , Python 中基于 空格缩进 判定代码逻辑的层次关系 ; 外层循环 的 循环操作 前面有 四个空格缩进 , 内层循环 的 while 和 循环条件 所在的语句 前面有 四个空

    2024年02月06日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包