在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3928|回复: 10

[求助] UVM 寄存器模型 后门访问的本质

[复制链接]
发表于 2022-4-12 11:59:21 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
UVM寄存器模型的后门访问,,一直不知道该怎么去理解这个本质,比如说写操作,粗暴一点来讲,我认为是类似force的一种操作。
真正的原理应该是DPI+VPI的操作。如下图:

image.png

有没有人能给我解答一下vpi_get_value()这个VPI接口,内部到底是怎么通过路径索引到RLT内部的寄存器的?

查找资料并没有发现有关vpi_get_value()这个PIL过多的介绍。
发表于 2022-4-13 22:23:28 | 显示全部楼层
去看源码
发表于 2022-4-14 11:38:47 | 显示全部楼层
IEEE协议里有讲。仿真器是C++写的,会把verilog用C++建模,这些VIP就是预留的标准接口,可以访问建模的object.
 楼主| 发表于 2022-4-14 14:32:02 | 显示全部楼层


源码应该是直接调的DPI,DPI里面调用了PLI。至于这个PLI是怎么实现的,应该是很内核的东西了。
 楼主| 发表于 2022-4-14 14:33:54 | 显示全部楼层
本帖最后由 许晴125 于 2022-4-15 16:05 编辑


年轻的韭菜 发表于 2022-4-14 11:38
IEEE协议里有讲。仿真器是C++写的,会把verilog用C++建模,这些VIP就是预留的标准接口,可以访问建模的obje ...


这是我觉得最靠谱的回答,老哥,有没有IEEE协议给我分享一份?

image.png

发表于 2022-4-15 16:22:45 来自手机 | 显示全部楼层
底层肯定是C语言实现的,学霸就是不一样,我看到c实现的就不会继续往下走了,曾经我有个同事就在这个点找到cadence 仿真工具irun的bug,那个bug是irun在verilog和vhdl混仿的时候,backdoor read有问题,那个同事直接给定位到哪一行代码有问题,真的是佩服
 楼主| 发表于 2022-4-18 10:39:04 | 显示全部楼层


eaglezhang01 发表于 2022-4-15 16:22
底层肯定是C语言实现的,学霸就是不一样,我看到c实现的就不会继续往下走了,曾经我有个同事就在这个点找到 ...


我发现我也算是微电子的科班出身,但是竟然没有一门课程讲verilog编译器的课程,对这块就是盲区。。。。。。。
发表于 2022-4-18 11:58:22 来自手机 | 显示全部楼层
本质上,DPI底层是用PLI/VPI实现的。PLI是Verilog标准的一部分,可以操作Verilog中除protect代码之外其他任何东西,包括process,expression,signal等。仿真器将Verilog代码编译翻译成仿真器内部可识别的数据结构,Verilog中每种语法元素都有对应的一种数据结构。仿真器开放PLI接口来访问这些数据结构,例如通过C函数传入的字符串创建vpiHandle对象,在数据库中寻找有没有该名字的对象,如果找到了,就可以操作该对象数据结构的value域,time域等。通过操作这些域,达到操作Verilog数据结构的目的,从而实现操作Verilog代码。
 楼主| 发表于 2022-4-18 14:25:50 | 显示全部楼层


saipolo 发表于 2022-4-18 11:58
本质上,DPI底层是用PLI/VPI实现的。PLI是Verilog标准的一部分,可以操作Verilog中除protect代码之外其他任 ...


请教大佬,有没有对应的文档来讲述这个过程?
发表于 2022-4-19 11:25:16 来自手机 | 显示全部楼层


许晴125 发表于 2022-4-18 14:25
请教大佬,有没有对应的文档来讲述这个过程?


PLI Handbook
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

×

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-5 19:38 , Processed in 0.025107 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表