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工具介绍的更多相关文章

  1. 《连载 | 物联网框架ServerSuperIO教程》- 14.配制工具介绍,以及设备驱动、视图驱动、服务实例的挂载

    注:ServerSuperIO二次开发套件授权码申请---截止到:2016-12-09 1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架Server ...

  2. json、javaBean、xml互转的几种工具介绍

    json.javaBean.xml互转的几种工具介绍 转载至:http://blog.csdn.net/sdyy321/article/details/7024236 工作中经常要用到Json.Jav ...

  3. Linux性能工具介绍

    l  Linux性能工具介绍 p  CPU高 p  磁盘I/O p  网络 p  内存 p  应用程序跟踪 l  操作系统与应用程序的关系比喻为“唇亡齿寒”一点不为过 l  应用程序的性能问题/功能问 ...

  4. Android APP压力测试(一)之Monkey工具介绍

    Android APP压力测试(一) 之Monkey工具介绍 前言 本文主要介绍Monkey工具.Monkey测试是Android平台自动化测试的一种手段,通过Monkey程序模拟用户触摸屏幕.滑动. ...

  5. Android系统性能调优工具介绍

    http://blog.csdn.net/innost/article/details/9008691 经作者授权,发表Tieto某青年牛的一篇<程序员>大作. Android系统性能调优 ...

  6. 简要介绍Apache、php、mysql安装和工具介绍

    1 安装Apache 网站:www.Apache.org下载相应的Apache,目前下载了近期的:httpd-2.2.15-win32-x86-openssl-0.9.8msi 安装简要步骤如下图: ...

  7. [原创]Java静态代码检查工具介绍

    [原创]Java静态代码检查工具介绍 一  什么是静态代码检查? 静态代码分析是指无需运行被测代码,仅通过分析或检查源程序的语法.结构.过程.接口等来检查程序的正确性,找出代码隐藏的错误和缺陷,如参数 ...

  8. RUF MVC5 Repositories Framework Generator代码生成工具介绍和使用

    RUF MVC5 Repositories Framework Generator代码生成工具介绍和使用 功能介绍 这个项目经过了大半年的持续更新到目前的阶段基本稳定 所有源代码都是开源的,在gith ...

  9. 用户管理 之 Linux 用户管理工具介绍

    Linux是一个多用户的操作系统,她有完美的用户管理工具,这些工具包括用户的查询.添加.修改,以及用户之间相互切换的工具等:通过这些工具,我们能安全.轻松的完成用户管理: 在这里我们要引入用户控制工具 ...

随机推荐

  1. Java和C/C++进行DES/AES密文传输(借鉴)

    Java和C/C++进行DES/AES密文传输 声明:对于新手来说很难解决的一个问题,终于在非常煎熬之后找到这篇文章,所以借鉴过来.原文地址http://blog.sina.com.cn/s/blog ...

  2. TCP发送接口的返回值

    原文链接: http://blog.csdn.net/ordeder/article/details/17240221 1. TCP发送接口:send() TCP发送数据的接口有send,write, ...

  3. python数据结构与算法——二叉树结构与遍历方法

    先序遍历,中序遍历,后序遍历 ,区别在于三条核心语句的位置 层序遍历  采用队列的遍历操作第一次访问根,在访问根的左孩子,接着访问根的有孩子,然后下一层 自左向右一一访问同层的结点 # 先序遍历 # ...

  4. java中的static关键词

    以下来自:http://www.cnblogs.com/codc-5117/archive/2011/12/04/2275298.html Static基本规则:             (1)一个类 ...

  5. 将war包部署到服务器的详细步骤

    第一步: 先将项目打包成war文件,也就是将在项目上单击鼠标右键,选择Export: 选择WAR file,点击下一步: 会出现如下所示,选择你要保存的位置,点击完成: 在你所选择的地方会有个如下所示 ...

  6. java导出excel报错:getOutputStream() has already been called for this response

    对于java导出excel报错的问题,查了很多都说是在使用完输出流以后调用以下两行代码即可 out.clear(); out = pageContext.pushBody(); 但这也许是页面上输出时 ...

  7. cvMat结构体详解

    /* *CvMat矩阵头 */ typedef struct CvMat { int type; //数据类型,比如CV_32FC1含义是32位浮点型单通道,再比如CV_8UC3含义是8位无符号整型三 ...

  8. Python 基础语法(三)

    Python 基础语法(三) --------------------------------------------接 Python 基础语法(二)------------------------- ...

  9. mysql-创建库之问题

    一.在登入mysql命令行,创建数据库时报错 ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'xiaolu ...

  10. linux shell 使用总结

    为什么执行脚本要使用./ +脚本名来执行脚本理解:因为如果直接使用脚本名,那么linux 系统会去path 路径查找如去/bin usr/bin 等查找,这个时候会找不到这个脚本名字,就会报错.使用. ...