利用profiler工具提高NC-Verilog仿真效率

大家进行芯片验证时,一般都会遇到仿真速度很慢、效率不高的问题。
目前发现了一个方法可以debug上述问题。即,利用NC的profiler工具。

关于profiler工具,我把文档《Cadence® NC-Verilog® Simulator Help》中的原文贴出来:
The pro?ler is a tool that measures where CPU time is spent during simulation. Although it was developed primarily to help Cadence R&D diagnose performance bottlenecks in the simulator, some of the information in the output ?le can help you to identify inef?cient HDL coding practices. Once you have determined what code the simulator is spending most of its time running, improving the ef?ciency of this code will have the greatest effect on simulation performance.
The pro?ler works by interrupting the simulation at regular intervals (currently 100 times per second) and noting what was executing at that time. It keeps track of the number of “hits” on different activities, which approximates the amount of CPU time spent in these activities.
The pro?ler is easy to run and has minimal impact on simulation performance and memory usage. To run the pro?ler, use the -profile command-line option when you invoke the simulator (ncsim). Use +ncprofile if you are running in single-step invocation mode with the ncverilog command.

就是说,NC-Verilog在仿真引擎内集成了一个profiler工具,该工具每秒中断仿真器100次,并在终端记录下来,仿真结束时会生成一个日志文件(ncprof.out)。
日志文件里会列出被中断次数最多的模块、代码行和结构类型,这些信息可以帮助诊断是哪些代码或模块在仿真时耗费了最多的时间。
通过修改这些模块,就能提升仿真效率。而Profiler功能本身,对仿真只产生非常小的影响。

我们通过-profile选项打开上述功能,仿真命令如下:

ncverilog +ncprofile <other_options> 

或者

ncsim –profile snapshot_name <other_options>
时间: 2024-10-06 18:07:46

利用profiler工具提高NC-Verilog仿真效率的相关文章

mac 如何安装photoshop cc 2017 ?作为前端切图仔如何利用它来提高我们的工作效率?

作为前端切图仔一名,或多或少要与ps打上交到,你如果是大厂的话,可能不需要,小厂也有不需要的.这里是需要自己抠图的小伙伴的干活. 如何利用ps 提高我们的工作效率: 首先我们需要安装下载 photoshop cc 2014版本以上: window 下可直接在百度软件中心下载(这里我为聪明的朋友贴上地址): http://rj.baidu.com/soft/detail/40767.html 本屌是mac,搞起来就比较费劲,通常来说也是很简单的,但是我安装时候会发生201 错误,这就比较尴尬, 找

如何利用 Visual Studio 自带工具提高开发效率

原文:如何利用 Visual Studio 自带工具提高开发效率 Visual Stuido 是一款强大的Windows 平台集成开发工具,你是否好好地利用了它呢? 显示行号 有些时候(比如错误定位)的时候,显示行号将有利于我们进行快速定位. 如何显示 1. 工具 / 选项 / 文本编辑器 -> 选择对应的语言 2. 勾选 "行号" 使用书签 和平常意义的书签类似,当我们希望在日后某一时刻快速定位到一处代码时使用.比如在项目例会上,你需要演示本周你所做的一些改进,在开会前可以事先

利用jTessBoxEditor工具进行Tesseract3.02.02样本训练,提高验证码识别率,tesseract训练样本

http://www.bkjia.com/Pythonjc/1131343.html 利用jTessBoxEditor工具进行Tesseract3.02.02样本训练,提高验证码识别率,tesseract训练样本 1.背景 前文已经简要介绍tesseract ocr引擎的安装及基本使用,其中提到使用-l eng参数来限定语言库,可以提高识别准确率及识别效率. 本文将针对某个网站的验证码进行样本训练,形成自己的语言库,来提高验证码识别率. 2.准备工具 tesseract样本训练有一个官方流程说明

提高程序员工作效率的5个工具

提高程序员工作效率的5个工具 这份清单是我们期待已久的,这些高效的工具对于程序员是大有帮助的,你一旦开始使用,就会离不开它们. 1. Git   以前是有不少的版本控制工具,有好用的,同时也有不太好用的,但总的来说它们都没有很好的发展.这时候Git出现了,还有GitHub,EGit,一旦你用上了这个神奇的工具,估计你就很难再碰到更好的VCS了.还没用过Git?赶快试一下吧. 2. Stack Overflow   不开玩笑,2005年的时候你用google搜过技术相关的资料吗?又或者1995年那

Web API应用架构在Winform混合框架中的应用(4)--利用代码生成工具快速开发整套应用

前面几篇介绍了Web API的基础信息,以及如何基于混合框架的方式在WInform界面里面整合了Web API的接入方式,虽然我们看似调用过程比较复杂,但是基于整个框架的支持和考虑,我们提供了代码生成工具的整合,使得开发整套应用是非常方便和高效的.本文主要介绍如何利用代码生成工具Database2Sharp,如何迅速生成基于Web API的Winform应用. 1.代码生成工具的功能介绍 代码生成工具Database2Sharp,是我为整个开发过程开发的一款核心软件,已经走过了10个年头,随着开

利用 AWK 的数值计算功能提升工作效率(转载)

Awk 是一种优秀的文本样式扫描和处理工具.转文侧重介绍了 awk 在数值计算方面的运用,并通过几个实际工作中的例子,阐述了如何利用 awk 的计算功能来提高我们的工作效率.转文源自IBM Bluemix,链接:http://www.ibm.com/developerworks/cn/linux/l-cn-awkinwork/ Awk 是一种优秀的文本样式扫描和处理工具. Awk 与 sed 和 grep 有些相似, 但功能比后者强不少. awk 提供的功能包括样式载入, 流控制,数学运算符,进

10大协作办公工具:实现团队工作效率最大化

10大协作办公工具:实现团队工作效率最大化 2012-07-17 17:29 原创 Danice 4条评论 近年来移动互联网的 迅速发展以及越来越多的创业公司把他们数据迁移到云服务器上,创业从此不必再拘泥于固定的办公地点,在家办公.异地办公.移动办公等远程办公模式已经逐渐 受到越来越多企业——特别是初创企业——的亲睐.远程办公对公司的成员来说它是一个有效并且有用的方式,因为它允许公司成员之间可以在很远的距离进行沟 通,从而节约了大量的交通时间和成本:对于整个团队来说,也能大大提高工作效率.基于这

提高SQL Server数据库效率常用方法

1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成了瓶颈效应. 3.没有创建计算列导致查询不优化. 4.内存不足 5.网络速度慢 6.查询出的数据量过大(可以采用多次查询,其他的方法降低数据量) 7.锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷) 8.sp_lock,sp_who,活动的用户查看,原因是读写竞争资源. 9.返回了不必要的行和列 10.查询语句不好,没有优化 ●可以通过如下方法来优化查询 : 1.把数据.日志.索引放到不同的

提高SQL的查询效率

原文地址:http://www.cnblogs.com/rollenholt/p/3691594.html 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: 1 select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: 1 select