SystemVerilog中的Program的学习笔记

1、SystemVerilog中的Program的作用?

	将验证部分与设计部分进行隔离(实现方式就是将软件验证部分放置program中)

2、SystemVerilog中的Program结束方式?

Program结束方式分为两种:1、隐式结束  2、显式结束
1、隐式结束:如果program种有一个initial,则执行完该initial过程块,program就自动结束,但如果有多个initial过程块,则执行最后一个过程块后program将自动结束。
2、显示结束:如果program中的某个initial过程块不能自动结束,即无限循环,那么就需要加上$exit(),退出该program,此即为显示结束方式。
注:因此program的隐式结束与显示结束的区别在于initial块能不能自动结束,若不能需要加$exit();

3、SystemVerilog中的Program与module的联系与区别?

programmodule
测试采样部分设计部分
软件领域硬件领域

4、使用 Program时需要注意的事项?
1、Program为软件领域,因此不可以出现与硬件相关的部分,因此不可以出现always(纯硬件),module(纯硬件),interface(含硬件部分),也不可以出现实例以及program的例化语句。
2、program的赋值方法:
1)如果是内部定义的变量采用阻塞赋值(即软件方式)
2)如果是驱动外部的硬件信号时应该使用非阻塞赋值(即硬件方式)
备注:
因UVM中有更加好的方式将验证与设计部分隔离开来,因此项目中program的使用不是很多。
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/54067.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JVM 之字节码(.class)文件

本文中的内容参考B站尚硅谷宋红康JVM全套教程 你将获得: 1、掌握字节码文件的结构 2、掌握Java源代码如何在JVM中执行 3、掌握一些虚拟机指令 4、回答一些面试题 课程介绍 通过几个面试题初始字节码文件为什么学习class字节码文件什么是class字节码文件分析c…

2022年03月 C/C++(四级)真题解析#中国电子学会#全国青少年软件编程等级考试

第1题:拦截导弹 某国为了防御敌国的导弹袭击, 发展出一种导弹拦截系统。 但是这种导弹拦截系统有一个缺陷: 虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。 某天, 雷达捕捉到敌国的…

【编码规范】从代码之丑聊代码规范

最近看了代码之丑,就打算整理下,总结一下。 代码命名 首先从命名来说的话,其实对于大多数程序员来说,可能基本都是翻译软件翻译下,然后就直接改成对应的类名、参数名、函数名等。其实仔细一想,命名其实是…

Vue3.0极速入门- 目录和文件说明

目录结构 以下文件均为npm create helloworld自动生成的文件目录结构 目录截图 目录说明 目录/文件说明node_modulesnpm 加载的项目依赖模块src这里是我们要开发的目录,基本上要做的事情都在这个目录里assets放置一些图片,如logo等。componentsvue组件…

SFM structure from motion

struction就是空间三维点的位置 motion 就是相机每帧的位移 https://www.youtube.com/watch?vUhkb8Zq-dnM&listPL2zRqk16wsdoYzrWStffqBAoUY8XdvatV&index9

Spark写数据到Doris报错node and exceeded the max retry times

用spark dataframe向doris写数据时,报下面错误: Failed to load data on BE: http://192.168.50.10:18040/api/mydb/dwd_virtual_table/_stream_load? node and exceeded the max retry times. 发现表没写入成功。刚开始很困惑,后来发现是…

西部AI小镇-构建自主虚拟世界

背景 未来曜文有接入市场上所有面向chatGPT开发的应用,例如开源聊天组件,西部小镇等 内容介绍 生成代理起床,做早餐,然后去上班;艺术家作画,作家写作;他们形成意见、互相关注并发起对话&…

Linux线程 --- 生产者消费者模型(C语言)

在学习完线程相关的概念之后,本节来认识一下Linux多线程相关的一个重要模型----“ 生产者消费者模型” 本文参考: Linux多线程生产者与消费者_红娃子的博客-CSDN博客 Linux多线程——生产者消费者模型_linux多线程生产者与消费者_两片空白的博客-CSDN博客…

基于Java+SpringBoot+Vue前后端分离党员教育和管理系统设计和实现

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…

ServiceManager接收APP的跨进程Binder通信流程分析

现在一起来分析Server端接收(来自APP端)Binder数据的整个过程,还是以ServiceManager这个Server为例进行分析,这是一个至下而上的分析过程。 在分析之前先思考ServiceManager是什么?它其实是一个独立的进程,由init解析i…

关于DDR协议的一些操作的理解3

1.ODT ODT操作的原因: DDR3中的ODT(On-die termination) - aerguqiuhui - 博客园 (cnblogs.com) 2.DDR中的差分信号 3.DDR中的write leaving

银河麒麟服务器、centos7服务器一键卸载mysql脚本

脚本 # 查看mysql相关的rpm包写到rmsql.sh文件中 rpm -aq | grep -i mysql >rmsql.sh # 修改文件为卸载mysql的脚本文件 sed -i -e s/^/yum remove -y / rmsql.sh # 修改文本权限 chmod 777 rmsql.sh # 全盘查找mysql相关文件,写到my.sh脚本中 find / -name mysq…

git及GitHub的使用

文章目录 git在本地仓库的使用github使用创建仓库https协议连接(不推荐,现在用起来比较麻烦)ssh连接(推荐)git分支操作冲突处理忽略文件 git在本地仓库的使用 1.在目标目录下右键打开git bash here 2.创建用户名和邮箱(注: 下载完…

UG/NX二次开发从业人员的职业规划

UG/NX二次开发是一项具有广泛应用和发展前景的技术领域,对于从业人员来说,制定合理的职业规划是实现个人职业发展和成就的关键。本文将探讨UG/NX二次开发从业人员的职业规划。 建立坚实的基础:作为UG/NX二次开发从业人员,首先要建…

框架(Git基础详解及Git在idea中集成步骤)

目录 基础: idea集成Git并添加项目到git仓库 1.idea集成git,集成.git.exe文件 2.初始化本地Git仓库项目 3. 将工作区代码添加到暂存区 4.将暂存区代码添加到本地仓库 5.Git本地库操作 Idea集成Gitee并提交代码到第三方库 1.setting里搜索gitee 2.添…

ASEMI快恢复二极管APT80DQ60BG特点应用

编辑-Z APT80DQ60BG参数描述: 型号:APT80DQ60BG 最大峰值反向电压(VRRM):600V 最大直流阻断电压VR(DC):600V 平均整流正向电流(IF):80A 非重复峰值浪涌电流(IFSM):600A 工作接点温度和储存温度(TJ, …

设计模式(11)观察者模式

一、概述: 1、定义:观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。 2、结构图: public interface S…

(三)行为模式:4、迭代器模式(Iterator Pattern)(C++示例)

目录 1、迭代器模式(Iterator Pattern)含义 2、迭代器模式的UML图学习 3、迭代器模式的应用场景 4、迭代器模式的优缺点 (1)优点 (2)缺点 5、C实现迭代器模式的实例 1、迭代器模式(Itera…

java学习-阻塞队列原理

JAVA 阻塞队列原理 阻塞队列,关键字是阻塞,先理解阻塞的含义,在阻塞队列中,线程阻塞有这样的两种情况: 当队列中没有数据的情况下,消费者端的所有线程都会被自动阻塞(挂起)&#x…

通过双层负载均衡实现HTTPS代理的高并发处理和容错能力

在互联网应用中,HTTPS代理服务器是承担用户请求的重要角色。当网站面临高并发请求时,单一的服务器可能无法满足需求,会导致性能下降和容错能力不足。为了解决这个问题,我们可以通过双层负载均衡技术来实现高并发处理和容错能力的提…