PLDRC


1 简介

1.1 概述

        PLDRC(Progressive Logic Design Rule Checking)使用Atrenta SpyGlass tool,使设计人员能够在RTL开发期间检测设计问题。每当RTL、库或输入路径发生改更改时,PLDRC应该再次运行。以下是PLDRC目前支持的方法:

1.2 先决条件

        相关说明网站:

1.3 Flow主要特性

        PLDRC flow有以下主要特点:

1.4 flow结构

        PLDRC参考流是一个基于make的流。所有流步骤都使用一组配置变量进行管理。这些变量及其默认值在配置文件模板(config file template, config.cfg)中提供,该配置文件模板位于流发布位置。除了配置模板之外,流发布位置还附带一个Makefile模板,用户可以使用它来设置流。如果需要,用户可能需要更改config.cfg模板中变量的默认值。Makefile模板是可用户自定义的。它用作第一级Makefile,用于定义流脚本、实用程序和运行流的用户配置文件的位置。它还包括第二级Makefile (Makefile)。定义了一组受支持的流目标。第二层的Makefile并不是用户可定制的。PLDRC执行Makefile目标来创建PLDRC流目录。分析和预编译设计和相关库,运行PLDRC目标,并查看指定目标的PLDRC结果。PLDRC流程的make调用语法为:

% gunmake target [VAR1=value VAR2=value ...]

        PLDRC flow架构描述如下:

1

        flow的输入包括:

        flow执行脚本:


2 启动

        要使用参考flow设置PLDRC运行,需要具备以下内容:

2.1 设置工作路径

        根据以下步骤设置PLDRC工作目录:

2.2 Flow 输入

        Flow输入的是RTL文件、库文件、约束文件和配置文件。

        需要一个文件列表文件来指定PLDRC Flow所需RTL文件的路径。文件列表格式如下:

        库文件列表包含所有库文件,通过flow变量LJBLIST指定。用户需要创建一个可以在所有前端流之间共享的通用合成库文件列表。flow可以从库列表中找出它们需要的文件。通常,库列表将包含标准单元模型(.lib,VHDL,verilog), QCTLIB模型(VHDL,Verilog)、硬宏定时模型(.lib,.db)、网表(.ddc,.v)、自定义视点、设计软件组件等。

        PLDRC流所需的库文件描述如下:

        可选的Misc文件列表包含应用于设计文件列表的筛选器命令。它是使用PLDRC_MISCLIST流变量指定的。此文件列表的主要用途是在design makefile数据库不干净时过滤设计文件。它是最有用的在芯片级集成。但是,此变量不适用于用户直接提供的设计文件列表。

        支持以下过滤命令:

        默认情况下,flow应用包含QCTLIB库和标准单元库豁免的全局common_lib.swl豁免文件约束文件

。。。

        包含运行PLDRC目标的PLDRC规则模板的目录是通过PLDRC_RULES_DIR变量指定的。在默认配置文件中。使用包含官方和推荐PLDRC规则模板的目录指定PLDRC_RULES_DIR。用户可以更改这个目录来使用他/她自己的自定义模板,前提是它们具有与PLDRC规则模板相同的结构和命名约定。

        Makefileconfig文件(默认名称为:config.cfg)应该在同一个路径下。

        变量可以在Makefile或配置文件中指定。建议指定配置文件中的大多数变量。 每个流变量都分配了默认值。流变量具有以下优先级顺序(从高到低),其值由flow使用:

        其中,Makefile(第一级Makefile):

        配置文件:

2.3 Flow 执行

        Makefile Targets:Makefile.pldrc(第二级flow的Makefile),下表解释了第二级流Makefile中的目标。用户不应该更改该文件:

Target Description
all 使用默认或用户定义的变量值执行整个pldrc流程(从文件列表生成到gen_metrics)
classic2tcl(option) 使用Tcl选项将现有的config.cfg转换为atcl config.cfg
filelist 创建运行目录,调用fe_gen_filelist工具在分析目录中生成文件列表pldrc_filelist
analyze Analyzes design and associated libraries
sg_run 设置块级和全局约束/豁免目录;对设计进行pldrc规则检查分析
sg_view 在交互模式下启动Spyglass GUI
gen_metrics 根据pldrc的结果生成html度量报告
help 显示文本格式流帮助消息
doc 打开流程用户指南(PDF格式)
clean 删除由PASS指定的运行目录

        下面的流程图显示了PLDRC流程目标的执行顺序:

2

        PLDRC流程执行的步骤如下:

        pldrc运行目标,如分析和sg运行,是由run_spyglass.csh脚本执行的。在成功执行时,流接触一个名为PASS的空文件,以指示运行成功。(不应该将此与makefile变量PASS混淆,后者表示pldrc运行目录)。这个PASS文件用来告诉下一个阶段它可以继续进行。例如,sg_run只有在成功分析之后才能继续运行。

        下面描述了主pldrc flow目录结构。这里的MKDIR指的是流程Makefile所在的pldrc工作目录:

3

2.4 Flow 输出

        Flow输出日志文件,SpyGlass报告和html指标报告为不同的目标。用户需要查看SpyGlass报告,并在必要时修复RTL。豁免只能作为最后的手段。

        其中,以下是PLDRC flow在不同阶段生成的Log files

        用于分析和sg_run阶段。该流生成一个名为run.summary的文件。这个文件包含致命/错误/警告/信息摘要和LSF信息,如机器、内存使用情况等。

        以下是Spyflass工具生成的Spyglass reports

        至于Metrics reports,针对不同目标的PLDRC指标报告在gen_metrics阶段以HTML格式被合并和生成。HTML文件被命名为.html,它被输出到目录中。


Back to Archive
WeChat QR Code

Scan to connect