
IC验证
文章平均质量分 54
XtremeDV
行走在码农和硅农之间
展开
-
IC设计为filelist添加`if/ifndef-`else-`endif, 提供不同场景下的filelist
使用方法如下:-define必须放在最后。原创 2024-07-24 21:07:39 · 543 阅读 · 0 评论 -
使用 IEEE (1735) Verilog 标准机制进行 IP 保护
在跑仿真的时候,如果使用第三方IP,经常会遇到第三方IP中有加密代码,有时又会遇到同样的环境既可以用VCS跑,也可以用XRUN跑,我就好奇第三方IP如何支持两个公司的加解密方式的。两家好像是不兼容的,经过查阅VCS和XRUN的文档,最终发现了端倪,他们可以使用IEEE-1735 加密格式(具体语法这里不做介绍)。然后使用Synopsys或者Cadence提供的工具,就可以对代码就行加密了,加密后的代码就同时支持VCS和XRUN仿真了。最终用户应能编译这些加密文件,而无需担心公开密钥或解密。原创 2024-04-10 10:57:55 · 2747 阅读 · 1 评论 -
linux timeout 命令在仿真时间控制中的使用
跑仿真的时候,如果testcase出现hang住的情况,需要添加watchdog功能,将仿真kill掉,我们可以利用linux的timeout命令实现watchdog功能。使用&&连接的指令,只有当前一条指令成功执行(即返回0)时,才会执行后面的指令。很遗憾,timeout和不timeout均打印最后的WARNING信息。表示“或”,第一条指令执行返回0时(成功执行),第二条指令不会执行。据此,我们可以将timeout命令用到仿真命令中,如下所示。&&和||有相同的优先级,也就是说。原创 2023-03-29 21:37:43 · 832 阅读 · 1 评论 -
Xrun MSIE flow遇到INTERNAL EXCEPTION with “ifmgr - pt_build() -size calculated incorrectly“
xrun MSIE INTERNAL EXCEPTION原创 2022-09-28 10:34:12 · 1674 阅读 · 2 评论 -
makefile中变量传递到target调用的shell脚本中遇到的问题?
makefile 导入变量到子shell原创 2022-09-28 10:16:33 · 947 阅读 · 0 评论 -
如何从 .vcs.timestamp 中排除环境变量以避免在 LSF 上提交作业时重新编译DUT?
VCS避免在 LSF 上提交作业时重新编译DUT?翻译 2022-08-23 17:14:23 · 609 阅读 · 0 评论 -
今天为什么仍必须进行门级仿真(GLS)详细讲解
下面我将详细描述捕获只有在GLS才能发现的16种类型芯片的致命bug的方式,这在我之前在文章中描述过。请确保阅读该文章以了解我在这里所说的内容。GLS成本VS收益率:工程永远是金钱。是的,从技术上讲,上一篇文章列出的16种错误类型中的某些可以被其他方法捕获,但是使用这些其他方法捕获它们将非常昂贵。为了使GLS具有成本效益,您的验证团队必须制定一个GLS计划,该计划应:有效地在流片之前发现所有重要的错误,但就人力资源,工具和计算资源而言并不昂贵。使用这29条提示,可以让您指派一名工程师在设翻译 2021-02-09 21:25:21 · 6926 阅读 · 1 评论 -
今天为什么仍必须进行门级仿真(GLS)
今天为什么仍必须进行门级仿真(GLS)使用门级仿真(GLS),在最终流片前2天,我发现了芯片中的功能和时序错误,包括细微但致命的时序错误。继续阅读前,我必须发出“注意”警告:GLS可能是一项极其昂贵的任务,如果做错了,在芯片投入生产之前就无法发现关键的设计缺陷。但是,如果做对了,我今天发现Gatesims的成本/收益会越来越好。无论如何,GLS都发现了形式上的,STA,ABV,lint和仿真甚至都不会发现到的芯片错误。如果您不进行GLS,则可能会冒很大的风险。就是说,让我摆上舞台…该死的零延迟问题…翻译 2021-02-08 11:33:05 · 2235 阅读 · 3 评论 -
什么是back annotation
该术语通常用于连接网表仿真和STA,其中通过网表中每个单元的传播延迟被称为sdf(synopsys delay format)文件的特殊文件中指定的延迟值所覆盖。在网表仿真过程中,将给定源的延迟置于网表中的库单元上的过程称为反向注释。通常,对应于网表中每个单元的延迟值将来自仿真库,即库单元的Verilog模型。但是这些延迟不是单元的实际延迟,因为每个延迟都是在不同环境,不同物理位置,不同负载,不同扇入中的网表中实例化的。网表中两个相似单元在两个不同物理位置的延迟取决于上述因素,芯片可能会显着不同。因此,为了翻译 2021-02-07 14:21:53 · 5020 阅读 · 1 评论 -
关于Xcelium的MSIE flow这一篇就够了
目录前言一、MSIE是什么?二、MSIE有什么好处?三、使用步骤1.MSIE IIP流程2.MSIE PII 流程总结前言 Xcelium为了应对复杂的SOC设计和减少re-elaborate设计的时间提出了MSIE的流程(Multi-Snapshot Incremental Elaboration)下面就简单介绍下,我们在SOC验证中使用的MSIE流程一、MSIE是什么?Multi-Snapshot Incremental Elaboration(MSIE) provides a form原创 2021-01-27 18:41:19 · 7465 阅读 · 11 评论 -
获取Synopsys coverage report excel 文件单元格RGB值
打开生成的vplan反标后的xml文件,另存为xlsm,excel需要打开宏。ALT+F11打开VBA编辑器, 选择 “插入”-》“模块”,复制如下代码,保存即可。Public Function wRGB(rng As Range) Dim intColor As Long Dim rgb As String intColor = rng.Interior.Color r = Hex(intColor And 255) g = Hex(intColor \ 256 And 255) b原创 2020-08-03 14:08:12 · 469 阅读 · 1 评论 -
仅仅收集某模块的端口上的toggle coverage
可以通过在-cm_hier文件中收集coverage中排除的模块的端口收集 toggle coverage。假设不想收集模块foo(及其下的任何信号或层次结构)的code coverage。 为此,请在-cm_hier文件中添加-moduletree foo。现在,要收集和分析foo模块端口的toggle coverage,请在-cm_hier文件中添加一个块,以启用foo模块端口的tog...原创 2020-05-02 22:33:33 · 2580 阅读 · 0 评论 -
推荐一款好用的IC设计中生成register model的工具
无意中发现一个开源的工具,使用systemRDL文件作为输入,可以生成寄存器相关的RTL module,UVM中使用的regmodel,C和verilog的头文件(包含寄存器某个字段的偏移以及mask bits),以及html的文档。资源如下:https://github.com/zhajio1988/Open_RegModel生成的html文档示例如下:https://systemr...原创 2019-10-18 10:44:13 · 3008 阅读 · 2 评论 -
SystemVerilog for循环中的fork join_none
module test; initial begin main(); end task main(); // fork join_any block1 fork #5 $display("THREAD 1 %0t", $time); #25 $display("THREAD 2 %0t", $ti...原创 2019-09-26 11:35:34 · 2840 阅读 · 0 评论 -
ubuntu安装ghdl最新版本
1.https://github.com/ghdl/ghdl.git下载ghdl的开发版本$ ./configure --prefix=/usr/local$ make但是需要Ada compiler编译器,还是需要下载安装,比较费劲2. 可以使用如下方法先安装旧版本的ghdl,下面的命令会把Ada编译器也安装了。sudo add-apt-repository ppa:...原创 2019-09-24 15:56:11 · 1304 阅读 · 4 评论 -
CentOS6.5安装Emacs后无法启动,libotf.so.0问题的解决
运行环境CentOS 6.5安装该版本后发现无法打开Emacs,使用yum -qa指令发现系统中已经安装了程序,然后在终端中输入emacs后还是不能打开,出现了下面的提示: emacs: error while loading shared libraries: libotf.so.0: cannot open shared object file: No such file...转载 2019-05-07 09:41:15 · 377 阅读 · 0 评论 -
华芯不死,热血永存
从事集成电路行业有七八年了,很庆幸能踏入这个快速发展,技术密集的高科技行业。芯片验证,是我所爱,所好,所行的工作。针对中国半导体产业的发展,网上已经有太多的文章,来给行业把脉诊断,开出药方。各种各样的声音层出不穷,有唱衰的,大势宣传和外企合作就是卖国的;有起风了,猪都能飞的,做芯片肯定挣大钱的。但是究竟集成电路行业究竟发展的怎么样呢,估计除了从业者,大多数国人持怀疑态度的居多,作为从业者的我也同样...原创 2019-04-23 23:38:02 · 1915 阅读 · 10 评论 -
有关Verdi编译和FSDB存储的常见问题解答
Q1。存储信号后,我可以看到除库单元格外的所有信号的值。为什么NF显示库单元格中的信号?A.在运行VCS编译之前,检查是否设置了NOVAS_FSDB_SKIP_CELL_INSTANCE环境变量。如果是这种情况,则在此环境变量上使用unsetenv。Q2。如何禁用FSDB并行转储?A.使用命令setenv FSDB_NO_PARALLEL 1禁用并行转储方案。Q3。有没有办法跳...翻译 2019-04-03 11:05:48 · 9654 阅读 · 0 评论 -
推荐一款好用的跑仿真的开源python脚本
YASAYet Another Simulation ArchitectureYASA是一款开源的SV/UVM testbench的仿真框架。它支持synopsys vcs和cadence irun。支持synopsys 2-step或者3-step的仿真flow。它支持SV/UVM或者纯verilog的testbench,支持lsf作业调度系统。它提供了一系列灵活的配置选项。用户可配置的文...原创 2019-04-01 11:02:21 · 4919 阅读 · 12 评论 -
一般可重用的IP没有人使用
我不能告诉你在过去的几十年里,这条线有多少次跳入了我的脑海,可能是因为我在1998年的某个时候算了一笔账。 经理:“......他们为什么要在盒子上保证?” 汤米:“'因为他们知道他们卖出的所有东西都是保证的一部分。” 这是来自电影汤米男孩的交流,这是我大学时代的经典之作。汤姆卡拉汉,新大学毕业生(几乎没有),并打到卡拉汉汽车宝座的继承人,在他的父亲,大汤姆,突然死于心脏病发作后,被推入家...翻译 2018-06-05 10:23:26 · 448 阅读 · 0 评论 -
驱动和固件(driver和firmware)
设备驱动程序是一种特定形式的软件程序,旨在实现与硬件设备的交互。没有所需的设备驱动程序,相应的硬件设备将无法工作。驱动程序通常通过与硬件连接的通信子系统或计算机总线与硬件通信。设备驱动程序是与操作系统和硬件相关的。设备驱动程序充当硬件设备与使用它的程序或操作系统之间的转换器。 固件是一种永久蚀刻在硬件设备(如键盘,硬盘驱动器,BIOS或视频卡)中的软件程序。它被编程为提供永久指令来与其他设...原创 2018-06-07 14:29:04 · 8890 阅读 · 4 评论 -
验证中的软件仿真(Simulation)
仿真器是一个运行硬件模型的软件。它可以用几种抽象级别并使用各种语言编写。例如,系统的仿真模型可能以一种称为SPICE的语言以非常详细的抽象级别书写,并由相同名称的仿真器执行仿真。今天大多数数字模型都是使用称为寄存器传输级(RTL)的抽象语言(使用Verilog或VHDL语言)编写的。最近,SystemC已经成为一种更抽象的系统建模语言。大多数商业仿真器接受多种抽象和语言,但很少支持所有这些抽象和语...翻译 2018-06-07 16:28:20 · 1621 阅读 · 0 评论 -
验证中的硬件模拟(Emulation)
模拟是一种将设计转化为能够在专用硬件上执行的实现的技术。这个实现与最终的实现没有任何对应关系,它是针对特定的技术库。相反,模拟器具有许多能够承担的功能(例如FPGA),可编程互连(尽管一些早期模拟器使用固定互连)的模块和试图在可编程元件之间分割电路的软件工具链,配置互连并提供一个运行时环境,使模拟器看起来类似于逻辑仿真器。模拟器可以连接到运行在逻辑仿真器中的测试平台或电路的其他部分。这有时称为协同...翻译 2018-06-07 16:45:17 · 8542 阅读 · 0 评论 -
验证中的FPGA原型验证
什么是FPGA原型? FPGA原型设计是一种成熟的技术,用于通过将RTL移植到现场可编程门阵列(FPGA)来验证应用专用IC(ASIC),专用标准产品(ASSP)和片上系统(SoC)的功能和性能。 (FPGA)。 由于硬件复杂性不断增加,需要验证的相关软件数量不断增加,因此它今天的使用范围更加广泛。 为什么公司使用FPGA原型? FPGA已经被用于验证相对成熟的RTL,因为它们可...翻译 2018-06-07 17:14:30 · 18067 阅读 · 0 评论 -
验证中的形式验证
什么是形式验证 形式验证是使用基于数学变换的静态分析来确定硬件或软件行为的正确性的技术集合的总体术语,与动态验证技术(如软件仿真)对比。 随着设计规模的增加和仿真时间的增加,验证团队一直在寻找方法来减少将系统验证到可接受的覆盖范围所需的向量数量。形式验证可能非常快,因为它不必评估每个可能的状态,以证明给定的逻辑在所有条件下都满足一组属性。但是,其性能在很大程度上取决于它所部署的逻辑类型以...翻译 2018-06-07 17:52:40 · 10028 阅读 · 0 评论 -
验证覆盖率
验证覆盖率试图回答这个问题:“你怎么知道你已经完成了验证?”实际上,覆盖率只能提供部分答案,但合理使用覆盖策略和指标可以为SoC设计团队提供对取得进展的充分认识。目前在众多团队中使用的战略是将尽可能多的覆盖数据输入到一个统一的数据库中,这些统计数据库可以被各种用户和工具查询,以提供仪表盘功能,显示朝向给定目标的进展情况或勾画出部分设计需要更全面的运用。设计范围的数据库和访问软件的一个例子是Cade...翻译 2018-06-08 11:10:38 · 5003 阅读 · 0 评论 -
RTL Signoff
寄存器传输级(RTL)Signoff是在进入下一阶段之前,在IC设计和验证RTL的阶段必须满足的一系列明确的要求。下一个阶段通常是综合,然后是布局和布线。 RTL Signoff的理由是为了确保在RTLSignoff中尽可能早地在RTL上执行正确的验证,检查和修复,而不是等到在后期阶段才发现它们,从而导致代价高昂的返工。 RTL Signoff流程鼓励局部迭代,而不是由后端发现的问题导致的...翻译 2018-06-11 11:18:30 · 2291 阅读 · 0 评论 -
Verdi 不加载filelist,load design方法
仿真后调试流程要自动加载Unified Compile编译的KDB,请使用以下命令Verdi命令行选项:-simflow使Verdi及其实用程序能够使用来自synopsys_sim.setup的库映射并从KDB库路径导入设计。-simBin <simv_path>指定simv可执行文件的路径。 这确保了VCS和Verdi使用来自synopsys_sim....原创 2018-07-25 15:36:18 · 4301 阅读 · 0 评论 -
Verdi power aware debug
原创 2018-07-25 15:31:42 · 1191 阅读 · 0 评论 -
参数化的Interfaces和可重用VIP(2/3)
本篇是讨论SystemVerilog接口和接口参数化处理策略的三部分系列的第二部分。在本系列的第一部分中,介绍了SystemVerilog接口的基本概念,并介绍了接口的参数化会给测试平台代码带来的问题。这篇文章将描述这个问题的一个可能的解决方法,但是要付出一定的代价...特洛伊木马:偷袭方法虚拟接口不支持多态,因为它们与静态设计元素相关联。但是,SystemVerilog类确实支持多态...翻译 2018-12-07 16:51:38 · 1014 阅读 · 2 评论 -
参数化的Interfaces和可重用VIP(3/3)
本篇是讨论SystemVerilog接口和接口参数化处理策略的三部分系列的第三部分。在本系列的第一部分中,介绍了SystemVerilog接口的基本概念,并描述了这些接口的参数化会引入testbench代码的问题。在第二部分中,描述了使用访问者类来屏蔽VIP代码与参数化效果的方法,但是该解决方案对VIP访问该接口施加了新的限制。在本系列的最后一篇文章中,介绍了一个允许测试平台使用参数化接口的过...翻译 2018-12-07 17:01:20 · 2478 阅读 · 4 评论 -
Synopsys VCS 编译时,启用debug选项
如果你在使用VCS就行仿真工作的时候,对vcs命令提供的一大堆选项,感到困惑,一筹莫展的时候,请看看这篇短短的博客吧!别担心,记不住,就用vcs -help命令啊,或者查看VCS MX UG啊。但是今天我要讲的困惑我很久的debug*系列选项。如果想在仿真时,使用调试功能,不管后处理调试模式,还是交互式调试模式,首先都需要在编译或者elaboration的时候,使能debug功能。VCS ...原创 2019-03-27 11:17:07 · 29956 阅读 · 4 评论 -
Verification 3.0即将登场,你准备好了吗?
Verification 3.0的迁移工作正在顺利进行,Verification 2.0将迅速变为更简单的任务,用于越来越小的滞后优化设计。 从来没有如此多的变化在如此狭窄的时间框架内融合,使得新的验证方法变得至关重要。 Verification 3.0有五个基础,但并非所有这些基础都是今天完全开发的。包括在这个列表中的是验证引擎的连续统一体,大规模计算时代,智能测试平台,硬件和软件的合并以及...翻译 2018-06-04 14:15:17 · 563 阅读 · 0 评论