3.1.1 Verdi的历史
相信做IC验证的朋友或多或少都使用过VCS和Verdi这两个工具,这两个工具目前都属于synopsys公司,但是Verdi的来源可谓一路坎坷。
Verdi最开始是由novas公司设计的,在2008年,被*的EDA厂家springsoft(源笙)收购了(我我最早使用Verdi的时候,是上海源笙提供培训)。在2012年,synopsys收购了spring soft公司,所以此时Verdi才正式属于synopsys。
联想一下,我们使用Verdi的时候会产生novas.rc和novas.conf这两个临时文件也就能够解释了。如果你再仔细观察,还会发现如果要dump fsdb文件(Verdi支持的非标准波形文件),那么在旧版本的VCS编译的时候,还必须加上-P参数指定Verdi的PLI接口,为什么这么麻烦,因为这两个软件本来就不是一家公司设计的。
这里要提一句,novas公司比较有意思,Verdi之前的版本叫Debussy,后来才更名为Verdi。大家都知道德彪西和威尔第是19世界的古典音乐大师,我猜novas的老板应该是个古典音乐迷,只是之前喜欢听德彪西,后来改成听威尔第了。
3.1.2 Verdi技术概述
Verdi®自动调试平台是一种用于调试数字电路设计的高级解决方案,可用于提高复杂的片上系统(SoC),ASIC和FPGA设计效率。传统的调试工具仅依靠结构信息和发挥工程师的个人能力从结构中推断出设计行为。 Verdi平台提供强大的技术,帮助工程师理解复杂和不熟悉的设计行为,自动化困难和繁琐的调试过程,统一各种复杂的设计环境,并推断设计的动态行为。
除了源代码浏览器的标准功能,原理图,波形,状态机图和波形比较(用于比较FSDB格式的仿真结果),Verdi平台还包括使用时间流视图自动跟踪信号活动的高级功能,基于断言的调试,功耗感知调试以及事务和消息数据的调试和分析。所有这些都可以在图形用户界面中使用,该平台使用支持多窗口对接的Qt平台,并且可以轻松定制。
Verdi平台使工程师能够在传统解决方案的一小部分时间内定位,理解和解决错误。这可以最大限度地提高昂贵工程师资源的效率,显着降低成本,并大大加快将硅片推向市场的过程。
首先Verdi提供了两个数据库。 所有分析引擎和可视化工具使用这些数据库。
- Knowledge Database (KDB):
在编译设计时,Verdi平台使用其内部综合技术识别和提取有关设计的特定结构,逻辑和功能信息,并将生成的详细设计信息存储在KDB中
现在Synopsys已经将该数据库整合到vcs的数据库下,以便保持流程和数据的一致性。使用vcs -lca -kdb
即可。在VCS课程中,我们已经讲过 - Fast Signal Database (FSDB):
FSDB以高效紧凑的格式存储仿真结果,包括来自SVTB或其他适用语言的事务数据和记录消息,以便快速访问数据。 Synopsys提供了可以链接到通用仿真器的目标文件,以直接以FSDB格式存储仿真结果。 你可以从提供的例程生成FSDB,也可以在读取和转换VCD文件后生成FSDB。 此外,还提供FSDB读/写API例程供客户使用
其次,基于KDB和FSDB,Verdi平台为不同的应用提供了一系列的分析引擎。
- 结构分析:分析设计结构以显示组件的连接方式
- 行为分析:分析设计和仿真结果,以显示设计的行为
- 断言评估:从之前的仿真中搜索有关设计操作的详细信息
- 事务/消息分析:分析FSDB文件中的事务和消息(日志)数据,并在nWave和电子表格视图中可视化
- 功耗状态评估:根据UPF中的功耗意图描述以及FSDB文件中相关信号的值评估功耗状态
最后也是最核心的就是可视化
Verdi平台以时间流视图的形式提供无与伦比的时间可视化功能。这一革命性的工具从设计数据和仿真结果中提取并显示多周期时间行为。
此外,Verdi平台还包括最先进的结构可视化和分析工具:nTrace用于源代码,nWave用于波形,nSchema用于原理图/逻辑图,nState用于有限状态机(FSM)。这些工具专注于以RTL中的信号关系,原理图/逻辑图中的物理连接,FSM气泡图中的状态和转换以及波形中的值变化的形式分析设计结构。
Verdi平台中的Property Tools窗口为断言提供集中支持,并允许从断言失败到相关设计活动的快速遍历。而事务/消息分析器可以在保存到FSDB文件的事务或日志信息的更高抽象级别上启用调试和分析。 Power Manager窗口提供电源意图的可视化,并支持与其他Verdi平台窗口的交叉探测。
下面的章节,让我们一起来探索Verdi的神秘世界吧。