首页 > 其他分享 >Spyglass的Lint检查的步骤

Spyglass的Lint检查的步骤

时间:2023-06-04 11:12:05浏览次数:37  
标签:Lint 检查 步骤 lint 点击 rtl 警告 Spyglass

  SpyGalss是Synopsys(新思科技)推出的一款静态Signoff平台,目前业界唯一可靠的RTL Sign off解决方案,可以帮助客户在设计早期发现潜在问题,保证产品质量,极大的减少设计风险,降低设计成本。笔者在转行做IC前没用过该软件,后面是入行后老员工指导需要用该软件进行跨时钟域检查,他说该软件对时钟域检查比较可靠,但是解决避免跨时钟域这些问题是比较难的,即使工具检查都没问题,实际流片可能也会出现问题。笔者以前一般只用vivado,modelsim等工具进行仿真,仿真完毕没问题就直接综合生成FPGA固件,这就是FPGA与IC的区别吧,芯片比FPGA更加的科学严谨。

  以下是Lint检查步骤

  1.打开SpyGlass,在命令端口输入spyglass。

 

       

 

  2.点击Add Files添加文件

 

       

 

  3.这里以spi文件为例,根据上一步弹出的添加文件框,选中需要添加的文件,然后点击Add,接着点击OK:

 

      

 

  4.点击Set Options,在右边的Value中输入顶层文件的文件名称:

       

 

  5.点击Read Design,再在左侧点击Run Design Read开始进行设计文件编译和分析,在读取完成后会在下方窗口列出问题,根据报错提示做相应的修改,这里没有报错。如下图所示:

       

 

   6.勾选Synthesize Netlist,然后重新前一步操作的Run Design Read。

 

       

 

   7.点击Goal Setup,然后勾选主窗口下Lint的第一项lint_rtl然后点击Run Goal(s) ,当运行完成,会自动弹出Analyze Result窗口。这里要一项一项的跑,然后分析,不然错误会被覆盖。

 

       

 

  8.等待一段时间,得到分析结果后,首先查看Lint分析结果。首先展开lint/lint_rtl文件夹消息。错误信息以红色显示,警告以橙色显示,信息以绿色显示。选择并展开lint/lint_rtl文件夹。双击第一条违规消息。此时与错误相关的代码会在RTL代码窗口中显示出来,右边框则显示该问题的错误或警告原因,并提示修改的方法。如下所示:

 

      

 

  根据警告号W415a在文件《SpyGlass lint Rules Reference Guide》中查找,也可以看右边Help Viewr说明。这里的警告大概是说当if条件满足时,r_rx_cnt的值赋了2次,if里头的赋值会覆盖前面累加的赋值。这里需把r_rx_cnt <= r_rx_cnt + 1’b1放进else里面。

   9.点击下面红框处可以查看违规代码的电路框图:

 

      

      

 

  10.修改好上面的代码后重新跑lint_rtl,直到把所有报错和一些潜在问题的警告消除后,再跑lint_turbo_rtl。如下:

 

      

 

  11.根据分析报告可以,可以看到有警告,还有紫色的一些提示:

 

      

 

  点击警告,发现Help Viewer也没提示,不管它;点击下面的紫色提示,结合右边框显示内容应该是要添加约束文件:

      

   12.根据要求添加约束文件之后,再跑lint_turbo_rtl

      

  13.接着进行下一步检查,lint_functional_rtl检查。发现有以下警告:

      

  这里提示内容是代码处1’b1是无符号型,clog是有符号型,应该改为一致的数据类型,这里把1‘b1改为1。重新跑lint_functional_rtl,发现问题解决。

      

  结论:Spyglass的lint检查主要是对代码块的语法,还有就是一些违规时序的检查,主要检查一些常见的容易修改的错误。lint的作用更多的是发现潜在的问题,有些警告可以根据实际情况做修改,也可以不用修改。

  网上Spyglass的教程很多,讲的都挺详细的,笔者当时也是照着教程一步一步跟着学。这里就不讲脚本指令操作的方式,因为正常使用Spyglass不会完全脱离UI界面。

标签:Lint,检查,步骤,lint,点击,rtl,警告,Spyglass
From: https://www.cnblogs.com/WenGalois123/p/17455352.html

相关文章

  • 【了不起的芯片 - 读书笔记】CPU 的制作流程 ( 晶圆制作 | 光刻机光刻流程 | 蚀刻过程
    文章目录一、晶圆制作二、光刻机光刻流程三、蚀刻过程四、涂层过程五、重复上述步骤若干次六、芯片封装一、晶圆制作晶圆制作是半导体芯片制造的关键过程,它涉及将硅晶片(或其他半导体材料)转化为可以用于集成电路制造的基础材料。下面是晶圆制作的主要步骤:单晶生长:通过化学气相沉......
  • 国产化麒麟系统在window系统上用hyper-v搭建虚拟机环境QT安装文件传输步骤
    团队自研股票软件关注微信公众号:QStockView,下载1    麒麟系统国产化hyper-v虚拟机环境经验1.1 简介随着国际环境的变化,软硬件国产化是现在迫切的需求,只有实现了自主研发,才能自立自强,才能实现民族伟大复兴,才能实现祖国的繁荣昌盛。为了实现这一目标,需要从window开发运......
  • 浏览器渲染HTML的步骤
       HTML被HTML解析器解析成DOMTree,CSS则被CSS解析器解析成CSSOMTree`。DOMTree和CSSOMTree解析完成后,被附加到一起,形成渲染树(RenderTree)。节点信息计算(重排),这个过程被叫做Layout(Webkit)或者Reflow(Mozilla)。即根据渲染树计算每个节点的几何信息生成布局......
  • Rabbitmq在linux服务器的安装步骤
    Linux系统:CentOS7.x(如果是CentOS8.x的话,需要修改下面两个环境版本号中的el7为el8)Erlang:erlang-22.3.4.12-1.el7.x86_64.rpmRabbitMQ:rabbitmq-server-3.8.13-1.el7.noarch.rpm 1安装erlang Linux系统:CentOS7.x(如果是CentOS8.x的话,需要修改下面两个环境版本号中的el7为e......
  • 恒创科技:提高国外云主机性能(Linux系统)的 4 个步骤
    ​随着外贸业务的兴起及不断发展,越来越多的企业和个人开始使用国外VPS云主机来部署自己的应用程序和网站。其中,Linux系统的国外VPS云主机创造了众多的可能性和功能,但仍有一些方法可以进一步提高LinuxVPS的整体性能。下面我们将通过简单的4个步骤告诉您如何实现它。......
  • Nginx的动静分离和平滑升级的操作步骤
    Nginx动静分离和平滑升级拓扑图:推荐步骤:在Centos01上安装Nginx服务,使用www.bdqn.com访问Nginx在Centos02配置DNS服务器使用,创建bdqn.com域和benet.com域分别添加主机指向Nginx主机IP地址和LAMP主机IP地址在Nginx服务器配置动静分离,静态数据图片访问Nginx动态php访问跳转到LAMP在Cen......
  • UG10.0拔模体命令使用操作步骤
    比如我们在使用UG10.0.0的时候,需要拔模体命令,那么我们如何操作呢?下面小编和大家分享一下具体的步骤和方法。UG10.0拔模体命令使用操作步骤在建模命令下,使用拉伸命令创建一个对称的实体,其绘图结果;用边倒圆角命令,为刚绘制的四方体的四条边线增加倒圆角特征;(其目的是为了使体的面存......
  • 作为一个后端,要拉前端代码下来在自己电脑,并且跑起来--以下步骤很精准
    1.安装nodejs--注意nodejs的版本--尽量不要用高版本的,坑多2.验证nodejs是都安装成功---cmd---node-v--出现版本号就说明安装成功2.安装vscode---类似idea--运行工具--打开前端项目如何运行vue项目(运行githug下载的vue项目)-CodeAntenna3.以上配置完成之后,用管理员身份打开vscod......
  • 在Eclipse中安装WebLogic12c的步骤
     1.  2.  3.  ......
  • WEB页面前后端开发步骤
    WEB页面前后端开发步骤 ......