IC验证面试中常问知识点总结(七)附带详细回答!!!
15、 TLM通信
15.1 实现两个组件之间的通信有哪几种方法?分别什么特点?
最简单的方法就是使用全局变量,在monitor里对此全局变量进行赋值,在scoreboard里监测此全局变量值的改变。这种方法简单、直接,不过要避免使用全局变量,滥用全局变量只会造成灾难性的后果。
稍微复杂一点的方法,在scoreboard中有一个变量,这个变量设置为外部可以直接访问的,即public类型的,在monitor中对此变量赋值。要完成这个任务,那么要在monitor中有一个指向scoreboard的指针,否则虽然scoreboard把这个变量设置为非local类型的,但是monitor依然无法改变。这种方法的问题就在于,整个scoreboard里面的所有非local类型的变量都对monitor是可见的,而假如monitor的开发人员不小心改变了scoreboard中的一些变量,那么后果将可能会是致命的。
由config机制的特性可以想出第三种方法来,即从uvm_object派生出一个参数类config_object,在此类中有monitor要传给scoreboard的变量。在base_test中,实例化这个config_object,并将其指针通过config_db#(config_object)::set传递给scoreboard和monitor。。这种方法比上面的两种方法都要好,但是仍然显得有些笨拙。一是要引入一个专门的config_object类,二是一定要有base_test这个第三方的参与。在大多数情况下,这个第三方是不会惹麻烦的。但是永远不能保证某一个从base_test派生而来的类会不会改变这个config_object类中某些变量的值。也就是说,依然存在一定的风险。
a. TLM通信的优点是是什么?SV中用的是什么通信方式?TLM通信与mailbaox的对比?
-
通信函数可以定制化,例如你可以定制put()/get()/peek()的内容和参数,这其实比mailbox 的通信更加灵活。
-
将组件实现了完全的隔离,可以参考红宝书图12.4,因为只有通过层次化的TLM端口连接,我们就可以很好地避免直接将不同层次的数据缓存对象的句柄进行“空中传递”。而TLM 端口按照层次的连接,虽然看起来有点繁复,但也正因为这一点,可以使得组件之间保持很好的独立性。</
相关文章:
IC验证面试中常问知识点总结(七)附带详细回答!!!
15、 TLM通信 15.1 实现两个组件之间的通信有哪几种方法?分别什么特点? 最简单的方法就是使用全局变量,在monitor里对此全局变量进行赋值,在scoreboard里监测此全局变量值的改变。这种方法简单、直接,不过要避免使用全局变量,滥用全局变量只会造成灾难性的后果。 稍微复…...
【前端】如何制作一个自己的网页(8)
以下内容接上文。 CSS的出现,使得网页的样式与内容分离开来。 HTML负责网页中有哪些内容,CSS负责以哪种样式来展现这些内容。因此,CSS必须和HTML协同工作,那么如何在HTML中引用CSS呢? CSS的引用方式有三种࿱…...
Java之模块化详解
Java模块化,作为Java 9引入的一项重大特性,通过Java Platform Module System (JPMS) 实现,为Java开发者提供了更高级别的封装和依赖管理机制。这一特性旨在解决Java应用的封装性、可维护性和性能问题,使得开发者能够构建更加结构化…...
HTB:Knife[WriteUP]
目录 连接至HTB服务器并启动靶机 1.How many TCP ports are open on Knife? 2.What version of PHP is running on the webserver? 并没有我们需要的信息,接着使用浏览器访问靶机80端口 尝试使用ffuf对靶机Web进行一下目录FUZZ 使用curl访问该文件获取HTTP头…...
MOE论文详解(4)-GLaM
2022年google在GShard之后发表另一篇跟MoE相关的paper, 论文名为GLaM (Generalist Language Model), 最大的GLaM模型有1.2 trillion参数, 比GPT-3大7倍, 但成本只有GPT-3的1/3, 同时效果也超过GPT-3. 以下是两者的对比: 跟之前模型对比如下, 跟GShard和Switch-C相比, GLaM是第一…...
LeetCode322:零钱兑换
题目链接:322. 零钱兑换 - 力扣(LeetCode) 代码如下 class Solution { public:int coinChange(vector<int>& coins, int amount) {vector<int> dp(amount 1, INT_MAX);dp[0] 0;for(int i 0; i < coins.size(); i){fo…...
速盾:高防 cdn 提供 cc 防护?
在当今网络环境中,网站面临着各种安全威胁,其中 CC(Challenge Collapsar)攻击是一种常见的分布式拒绝服务攻击方式。高防 CDN(Content Delivery Network,内容分发网络)作为一种有效的网络安全防…...
【大数据应用开发】2023年全国职业院校技能大赛赛题第10套
如有需要备赛资料和远程培训,可私博主,详细了解 目录 任务A:大数据平台搭建(容器环境)(15分) 任务B:离线数据处理(25分) 任务C:数据挖掘(10分) 任务D:数据采集与实时计算(20分) 任务E:数据可视化(15分) 任务F:综合分析(10分) 任务A:大数据平台搭…...
【源码部署】解决SpringBoot无法加载yml文件配置,总是使用8080端口方案
打开idea,file ->Project Structure 找到Modules ,在右侧找到resource目录,是否指定了resource,点击对应文件夹会有提示...
2010年国赛高教杯数学建模B题上海世博会影响力的定量评估解题全过程文档及程序
2010年国赛高教杯数学建模 B题 上海世博会影响力的定量评估 2010年上海世博会是首次在中国举办的世界博览会。从1851年伦敦的“万国工业博览会”开始,世博会正日益成为各国人民交流历史文化、展示科技成果、体现合作精神、展望未来发展等的重要舞台。请你们选择感兴…...
使用nginx配置静态页面展示
文章目录 前言正文安装nginx配置 前言 目前有一系列html文件,比如sphinx通过make html输出的文件,需要通过ip远程访问,这就需要ngnix 主要内容参考:https://blog.csdn.net/qq_32460819/article/details/121131062 主要针对在do…...
[IOI2018] werewolf 狼人(Kruskal重构树 + 主席树)
https://www.luogu.com.cn/problem/P4899 首先,我们肯定要建两棵Kruskal重构树的,然后判两棵子树是否有相同编号节点 这是个经典问题,我们首先可以拍成dfs序,然后映射过去,然后相当于是判断一个区间是否有 [ l , r …...
snmpgetnext使用说明
1.snmpgetnext介绍 snmpgetnext命令是用来获取下一个节点的OID的值。 2.snmpgetnext安装 1.snmpgetnext安装 命令: yum -y install net-snmp net-snmp-utils [root@logstash ~]# yum -y install net-snmp net-snmp-utils Loaded plugins: fastestmirror Loading mirror …...
frameworks 之 触摸事件窗口查找
frameworks 之 触摸事件窗口查找 1. 初始化数据2. 查找窗口3. 分屏处理4. 检查对应的权限5.是否需要将事件传递给壁纸界面6. 成功处理 触摸流程中最重要的流程之一就是查找需要传递输入事件的窗口,并将触摸事件传递下去。 涉及到的类如下 frameworks/native/service…...
memset的用法
memset 是 C 语言标准库中的一个函数,用于将一块内存区域设置为特定的值。它的原型如下: c void *memset(void *s, int c, size_t n); - s 参数是要被填充的内存块的起始地址。 - c 参数是要填充的值。这个值会被转换为无符号字符,然后用来…...
阿里云国际站DDoS高防增值服务怎么样?
利用国外服务器建站的话,选择就具有多样性了,相较于我们常见的阿里云和腾讯云,国外的大厂商还有谷歌云,微软云,亚马逊云等,但是较之这些,同等产品进行比较的话,阿里云可以说当之无愧…...
open-cd中的changerformer网络结构分析
open-cd 目录 open-cd1.安装2.源码结构分析主干网络1.1 主干网络类2.neck2.Decoder3.测试模型6. changer主干网络 总结 该开源库基于: mmcv mmseg mmdet mmengine 1.安装 在安装过程中遇到的问题: 1.pytorch版本问题,open-cd采用的mmcv版本比…...
太速科技-426-基于XC7Z100+TMS320C6678的图像处理板卡
基于XC7Z100TMS320C6678的图像处理板卡 一、板卡概述 板卡基于独立的结构,实现ZYNQ XC7Z100DSP TMS320C6678的多路图像输入输出接口的综合图像处理,包含1路Camera link输入输出、1路HD-SDI输入输出、1路复合视频输入输出、2路光纤等视频接口,…...
asp.net Core 自定义中间件
内联中间件 中间件转移到类中 推荐中间件通过IApplicationBuilder 公开中间件 使用扩展方法 调用中间件 含有依赖项的 》》》中间件 参考资料...
掌握 C# 设计模式:从基础到依赖注入
设计模式是一种可以在开发中重复使用的解决方案,能够提高代码的可维护性、扩展性和复用性。C# 中常见的设计模式包括单例模式、工厂模式、观察者模式、策略模式等。本文将介绍这些常见的设计模式,并探讨 SOLID 原则和依赖注入(Dependency Inj…...
EasyAnimateV5图生视频实战:多图批量处理脚本开发(Python+requests API)
EasyAnimateV5图生视频实战:多图批量处理脚本开发(Pythonrequests API) 1. 项目背景与需求场景 在日常的内容创作和视频制作中,我们经常遇到这样的需求:需要将大量的静态图片转换为动态视频。无论是电商商品展示、社…...
springboot基于java搭建网站框架音乐系统_714i0lac
前言 SpringBoot基于Java搭建的音乐系统是一个集音乐播放、管理、推荐和社交功能于一体的综合性Web应用。该系统利用SpringBoot框架的快速开发特性,结合Java语言的稳定性和强大的生态系统,为音乐爱好者提供一个功能丰富、用户体验良好的在线音乐平台。一…...
阻塞和非阻塞、同步和异步、挂起
阻塞和非阻塞阻塞和非阻塞指的是线程在调用后,线程是否干等。挂起的是任务,阻塞的是线程,任务在线程中处理,线程可以处理不同的任务。即任务挂起、线程阻塞。阻塞的特征:线程完全工作或干等在语句从调用开始到返回结果…...
AB测试中的因果推断陷阱:为什么你的随机化试验可能不靠谱?
AB测试中的因果推断陷阱:为什么你的随机化试验可能不靠谱? 在电商大促期间,某平台将"满200减30"的优惠券随机发放给50%用户,一周后发现实验组GMV提升12%,看似效果显著。但进一步分析发现,实验组中…...
基于Python的IT行业岗位数据分析与可视化
摘要本文设计并实现了一个基于Python的IT行业岗位数据分析与可视化。随着信息技术的快速发展,数据分析和可视化技术在各个领域得到了广泛应用。本研究以IT行业招聘数据为研究对象,采用Python等技术,构建了一个功能完善的数据分析与可视化系统…...
同事离职,他在大群里发了一句“感谢一路相伴,江湖再见”,刚发出去,HR就让他撤回,理由是工作群不要发与工作无关的内容。
今天摸鱼的时候,听到一个极其荒诞又极其现实的职场鬼故事。隔壁部门的老李提了离职,今天是last day。这哥们儿可能平时武侠小说看多了,临走前在几百人的公司大群里发了一句:“感谢一路相伴,江湖再见”。结果呢…...
别再只用DWA了!ROS Melodic下TEB、DWB等5种局部规划器保姆级配置与实战对比
别再只用DWA了!ROS Melodic下5种局部规划器深度评测与工程实践指南 差速驱动机器人在仓库货架间穿梭时突然"卡死",在狭窄走廊中频繁出现路径震荡,遇到动态行人时避障反应迟钝——这些场景是否让你反复调整DWA参数到怀疑人生&#x…...
AirPlay协议开源实现全攻略:从Raspberry Pi到Linux的5种方案实测
AirPlay协议开源实现全攻略:从Raspberry Pi到Linux的5种方案实测 在智能家居和多媒体共享领域,AirPlay协议因其出色的用户体验和苹果生态的广泛普及而备受关注。然而,官方AirPlay服务仅限于苹果自家设备,这促使开发者社区涌现出多…...
坐标系工艺参数的设定
在一台专机机床上模拟圆弧程序时,发现G2和G3的方向是反的,G2轴按逆时针方向运行,G3轴按顺时针方向运行。测试程序如下:G19G0 G90 Y0 Z0G2 Y100 Z100 CR100 F500M30G2指令时,圆弧为逆时针方向G3指令时,圆弧为…...
SPI扩展CAN方案:从寄存器配置到多路通信实战
1. SPI扩展CAN方案的核心价值 在工业控制领域,CAN总线因其高可靠性和实时性被广泛使用。但随着设备节点增加,主控芯片原生CAN接口往往不够用。这时通过SPI接口扩展CAN通道就成了性价比极高的解决方案。我曾在多个工业现场实测,用10元级的MCP2…...
