(转)SpyGlass工具介绍
Spyglass工具有五大模块: lint, CDC(多时钟域检查), LP(低功耗),Constraint(约束),DFT(可测试性)。
一,在RTL层面上预估芯片性能,从而引导设计人员开发出更加优化的RTL代码
SpyGlass平台针对VERILOG和VHDL用先进的静态和动态分析来检查和诊断设计中可能存在的潜在问题,然后用其分析和追踪引擎来追踪问题的根源,最后给出一个解决问题的方法和建议。SpyGlass能够指出SOC问题中的非常复杂的问题,例如跨时钟域问题、同步问题以及SOC设计中的集成问题。并且,SpyGlass还可以检查电子设计规则(ERC)来确保设计符合工业设计标准或者用户自己定义的标准。
SpyGlass还提供了四个功能强大的选项:
(一)SpyGlass CDC提供了业界最完整的多时钟域解决方案,能自动识别各种同步手段(包括HandShake,FIFO),能采用Formal引擎验证同步方法在功能上的正确性。
(二)SpyGlass Constraints帮助设计人员在设计的整个流程中生成,验证和管理他们的约束文件。
(三)SpyGlass DFT提供了能够预测ATPG的测试覆盖率分析的能力,基于这个选项,用户可以很容易地预计所作设计的可测试性并且利用工具提供的指导来提高设计的可测试性。
(四)SpyGlass LowPower能够让用户能够快速分析出设计中的功耗效率问题,从而在还没有达到后端工序的情况下快速地进行功耗的优化,在power estimate工具中,用户甚至可以在不进行逻辑综合和物理实现的情况下对功耗进行量化的计算。
二,采用更早期的RTL检查的方式,提高设计的性能
SpyGlass的性能提供了很多动态的好处:设计人员可以在设计早期就得到一个“golden”的RTL设计包,这样这个设计可以非常平滑地过渡到验证,逻辑综合以及后面的门级具体实现。SpyGlass能够将后端才能进行的平衡工作(例如时序功耗的分析)变到前端来进行,这样不仅能够大大地减少设计的往复,并且能够做到最大程度的花费的有效性,SpyGlass能够大大缩短设计周期,从几周到几个月不等,并且能够大大降低设计的费用。相比较而言,传统的设计是在后续的工序中发现和解决问题,这些后来的改动非常的耗时,并且效率也很低,很多时候改动并不能非常准确地反映到设计上,大多数情况下,这些改动并不能够返回到RTL源代码,这些情况下,会使设计的验证环境复杂化并且可重用性降低,这些其实都是没有必要的。
三,SpyGlass是针对复杂的,优化面积的设计理想的解决方案,并且能够跟现有的设计流程无缝地结合
由于现在设计越来越复杂,并且设计的尺寸越来越小,SpyGlass所带来的优势就越来越明显。SpyGlass所提供的可预计的分析和精确定位的方案为这些复杂和专项要求高的设计提供了早期分析的可能性。特别是针对小制程的设计,因为针对这种复杂的设计,设计中所允许的偏差越来越小。除此以外,SpyGlass 平台具有非常快速的运行时间,这样用户就可以能够对设计进行快速有效的分析,即使是针对现在最复杂的千万门设计,SpyGlass也能够在很短的时间内进行分析和修正,即使是针对比较复杂的比如多时钟域问题,多电压分析等等也可以快速指出问题并且提供修改建议。SpyGlass对现在市面上的所有的标准的工具和流程都能够很好地进行整合,事实上,SpyGlass能够在现有的工具的基础上大大提高这些工具的产出率以及这些工具输出结果的质量。
四,SpyGlass能够发现设计中很难发现的问题,对设计进行全方位的测试
SpyGlass能够快速发现和定位设计中的严重问题以及有待优化的问题,这些问题通常情况下都是要到后续流程、例如仿真、逻辑综合甚至布局布线中才能够被发现出来。这些问题包括组合逻辑回环、不经济的资源利用以及逻辑设计的不合理性等等,另外,SpyGlass还会针对设计中的可重用性以及很多类似STARC和OPENMORE的规则进行检查,用户也可以自定义自己的规则,这样对整个设计过程的统一规划以及管理都具有非常重要的意义
参考文献:
原文地址:http://bbs.eetop.cn/thread-160382-1-1.html
(转)SpyGlass工具介绍的更多相关文章
- 《连载 | 物联网框架ServerSuperIO教程》- 14.配制工具介绍,以及设备驱动、视图驱动、服务实例的挂载
注:ServerSuperIO二次开发套件授权码申请---截止到:2016-12-09 1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架Server ...
- json、javaBean、xml互转的几种工具介绍
json.javaBean.xml互转的几种工具介绍 转载至:http://blog.csdn.net/sdyy321/article/details/7024236 工作中经常要用到Json.Jav ...
- Linux性能工具介绍
l Linux性能工具介绍 p CPU高 p 磁盘I/O p 网络 p 内存 p 应用程序跟踪 l 操作系统与应用程序的关系比喻为“唇亡齿寒”一点不为过 l 应用程序的性能问题/功能问 ...
- Android APP压力测试(一)之Monkey工具介绍
Android APP压力测试(一) 之Monkey工具介绍 前言 本文主要介绍Monkey工具.Monkey测试是Android平台自动化测试的一种手段,通过Monkey程序模拟用户触摸屏幕.滑动. ...
- Android系统性能调优工具介绍
http://blog.csdn.net/innost/article/details/9008691 经作者授权,发表Tieto某青年牛的一篇<程序员>大作. Android系统性能调优 ...
- 简要介绍Apache、php、mysql安装和工具介绍
1 安装Apache 网站:www.Apache.org下载相应的Apache,目前下载了近期的:httpd-2.2.15-win32-x86-openssl-0.9.8msi 安装简要步骤如下图: ...
- [原创]Java静态代码检查工具介绍
[原创]Java静态代码检查工具介绍 一 什么是静态代码检查? 静态代码分析是指无需运行被测代码,仅通过分析或检查源程序的语法.结构.过程.接口等来检查程序的正确性,找出代码隐藏的错误和缺陷,如参数 ...
- RUF MVC5 Repositories Framework Generator代码生成工具介绍和使用
RUF MVC5 Repositories Framework Generator代码生成工具介绍和使用 功能介绍 这个项目经过了大半年的持续更新到目前的阶段基本稳定 所有源代码都是开源的,在gith ...
- 用户管理 之 Linux 用户管理工具介绍
Linux是一个多用户的操作系统,她有完美的用户管理工具,这些工具包括用户的查询.添加.修改,以及用户之间相互切换的工具等:通过这些工具,我们能安全.轻松的完成用户管理: 在这里我们要引入用户控制工具 ...
随机推荐
- Web Storage的方法
1.分为两种:localStorage与sessionStorage.2.存储形式:key-value的形式.sessionStorage 1.session定义:session指用户在浏览某个网站时 ...
- ssh隧道(端口转发)
本地转发: ssh -Nf -L [bind_address:]port:host:hostport sshServer -Nf 后台运行 -L 本地转发 [bind_address] 绑定本地地址, ...
- 【IOI2000】邮局设置问题
现在连基础DP都要看题解和代码才能写出来了,怎么办嘛QAQ 原题: 一些村庄建在一条笔直的高速公路边上,我们用一条坐标轴来描述这条公路,每个村庄的坐标都是整数,没有两个村庄的坐标相同.两个村庄的距离定 ...
- IOCP简单实现
本人工作是服务端性能测试,因工作需要开发机器人框架,选用底层的时候看到网上满大街的IOCP介绍,还有说IOCP比WSAAsyncSelect复杂等等,所以只好转WSAAsyncSelect实现. 因并 ...
- linux 下 文件权限和文件主
文件与文件夹的权限和所有者 1.chmod -R 755 file 777 含义与来源: 777含义:分别为:所有者.同组用户.其他用户 7的来源:文件有三种操作模式:读4.写2.执行1,分别值为42 ...
- KVM虚拟机管理
#定义新的存储池 virsh pool-define-as spool4lj dir - - - - "/home/lj/spool4lj" virsh pool-build sp ...
- Android OpenCV 图像识别
最近打算写一个android 平台opencv 的小程序,着手查找了一下资料.网络上的资料参差不齐,有一些都比较老旧,我参考了前面的方法找到了一个简单的搭建方法,分享给大家. 0,环境的搭建: jav ...
- 为什么要用Maven?
早期还在学怎么用Ant构建项目时,就有看到说Maven是Ant的替代品,但真正意义去了解Maven,还是因为以前的公司一老员工在做OpenJMS二次开发时,从网上下载了源码,然后用Maven构建它. ...
- QT学习之路--深入了解信号槽
槽函数可以和一个信号相连接,当这个信号发生时,它可以被自动调用.connect()语句的原型类似于:connect(sender, SIGNAL(signal), receiver, SLOT(slo ...
- VBS数组
定义一个数组: dim a(3).这里要注意在VBS里面数组不像其他的例如C,C#,JAVA等数组用[]作为数组标志.VBS采用的是().还需要注意的是,这里定义的数组包含a(0),a(1),a(2) ...