当前位置: 首页 > news >正文

对systemverilog/verilog中forever语法的理解

  1、forever后面有无分号的区别

考虑下面两段代码:

        其中只有一处不同,下面的代码片段中,forever @(posedge clk)后面没有分号,当每个clk时钟上升沿到来时,begin ... end语句都会执行。

initial beginforever @(posedge clk)beginwait(a==1  && b==1 && c==1);$display("a==1 && b==1 && c==1");endend

        考虑下面这段代码,forever @(posedge clk);后面有分号,那么forever @(posedge clk);后面是空语句,begin ... end语句将永远不会执行。

initial beginforever @(posedge clk);beginwait(a==1  && b==1 && c==1);$display("a==1 && b==1 && c==1");endend

2、forever后面有无begin ... end 语句

        考虑下面的代码,forever @(posedge clk)后面没有分号,addr<=addr+1;没有在begin ... end中,那么每当clk上升沿到来时,只会执行addr<=addr+1;begin ... end 语句将永远不会执行。


logic [9:0] addr=0;initial beginforever @(posedge clk)addr<=addr+1;beginwait(a==1  && b==1 && c==1);$display("a==1 && b==1 && c==1");endend

        考虑下面的代码,forever @(posedge clk)后面没有分号,每一个时钟上升沿到来时,forever后面的begin ... end语句都会执行。

logic [9:0] addr=0;initial beginforever @(posedge clk)beginaddr<=addr+1;wait(a==1  && b==1 && c==1);$display("a==1 && b==1 && c==1");endend

   综上所述,如果希望forever后面的语句执行,第一:forever语句后面不要加分号;第二:forever语句后面执行的语句,用begin ... end语句包含进来。     

相关文章:

  • 【实战JVM】-基础篇-03-Java内存结构
  • mybatis 注解式 XML式 通用mapper(tk-mybatis)使用
  • Spring AOP源码分析
  • 基于MetaGPT构建LLM多智能体
  • c++ using 关键字
  • React 路由5版本的使用详解(基于Class类版本的使用react-router-dom@5)
  • 【编译原理复习笔记】中间语言
  • RK 11.0 多屏模式下修改鼠标进入方式
  • Web3 知识体系架构图
  • Shell编程规范与变量
  • VMware安装Windows11
  • ISCC——AI
  • getters的使用
  • uniapp开发微信小程序问题集锦(1)
  • Hadoop概览以及编译hadoop说明
  • Android框架之Volley
  • CEF与代理
  • docker python 配置
  • IDEA常用插件整理
  • JavaScript对象详解
  • Java程序员幽默爆笑锦集
  • Rancher-k8s加速安装文档
  • RxJS: 简单入门
  • vue-router的history模式发布配置
  • 多线程 start 和 run 方法到底有什么区别?
  • 给初学者:JavaScript 中数组操作注意点
  • 技术胖1-4季视频复习— (看视频笔记)
  • 简单实现一个textarea自适应高度
  • 两列自适应布局方案整理
  • 区块链技术特点之去中心化特性
  • 用jquery写贪吃蛇
  • 职业生涯 一个六年开发经验的女程序员的心声。
  • 看到一个关于网页设计的文章分享过来!大家看看!
  • scrapy中间件源码分析及常用中间件大全
  • 没有任何编程基础可以直接学习python语言吗?学会后能够做什么? ...
  • ​520就是要宠粉,你的心头书我买单
  • ​LeetCode解法汇总2808. 使循环数组所有元素相等的最少秒数
  • ​Spring Boot 分片上传文件
  • ​VRRP 虚拟路由冗余协议(华为)
  • ​低代码平台的核心价值与优势
  • #Datawhale AI夏令营第4期#多模态大模型复盘
  • #include<初见C语言之指针(5)>
  • ( )的作用是将计算机中的信息传送给用户,计算机应用基础 吉大15春学期《计算机应用基础》在线作业二及答案...
  • (1)(1.13) SiK无线电高级配置(六)
  • (BAT向)Java岗常问高频面试汇总:MyBatis 微服务 Spring 分布式 MySQL等(1)
  • (WSI分类)WSI分类文献小综述 2024
  • (ZT)北大教授朱青生给学生的一封信:大学,更是一个科学的保证
  • (阿里云万网)-域名注册购买实名流程
  • (一)十分简易快速 自己训练样本 opencv级联haar分类器 车牌识别
  • (转载)VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)
  • (转载)虚幻引擎3--【UnrealScript教程】章节一:20.location和rotation
  • **PHP分步表单提交思路(分页表单提交)
  • .form文件_SSM框架文件上传篇
  • .NET 8.0 发布到 IIS
  • .NET 漏洞分析 | 某ERP系统存在SQL注入