)
相关阅读Design Compilerhttps://blog.csdn.net/weixin_45791458/category_12738116.html?spm1001.2014.3001.5482check_design命令可用来检查设计中是否存在一致性问题用LINT类消息表示例如无负载的输入端口、无驱动的输出端口等本文将详细讨论该命令的使用方式。check_design命令的BNF范式有关BNF范式可以参考以往文章为check_design [-summary] [-no_warnings] [-one_level] [-multiple_designs] [-no_connection_class] [-nosplit] [-unmapped] [-cells] [-ports] [-designs] [-nets] [-tristates] [error-ids] [-html_file_name html_file] //注该命令的选项和参数顺序任意仅显示汇总-summary选项用于指定只分类(Designs、Inputs/Outputs、Cells、Nets类)报告警告(Warning)和错误(Error)消息汇总而不逐条显示警告和错误消息。默认情况下check_design命令的输出由警告和错误消息汇总、逐条显示的警告消息和错误消息组成。此时输出将包含下面的信息。Information: Use the check_design command for more information about warnings. (LINT-98)抑制警告消息-no_warnings选项用于指定只输出错误消息实测其与-summary选项作用一致疑似为bug。指定只对当前设计执行检查-one_level选项用于指定只对当前设计不包括子设计进行检查。默认情况下check_design命令会对当前设计及其子设计进行检查。指定检查多实例化设计-multiple_designs选项用于指定额外进行多实例化设计(MIM)相关的检查(LINT-45)。默认情况下不会进行多实例化设计相关的检查。指定不进行连接类别相关检查-no_connection_class用于指定不进行连接类别(Connection Class)相关的检查连接类别用于描述在特定工艺下的连接要求只有相同连接类别的引脚和端口才可以合法连接。关于连接类别约束的更多信息可以参考下面的博客。Design Compiler什么是代价函数(Cost Function)https://blog.csdn.net/weixin_45791458/article/details/149296216?ops_request_miscelastic_search_miscrequest_idd2b8a7d97d5259884103e3b2a91d5b2dbiz_id0utm_mediumdistribute.pc_search_result.none-task-blog-2~all~ElasticSearch~search_v2-1-149296216-null-null.541^v3^pc_search_result_blog1utm_term%E4%BB%A3%E4%BB%B7%E5%87%BD%E6%95%B0spm1018.2226.3001.4450该选项在处理GTECH网表或普通网表时很有用因为这类设计中可能会出现连接类别违例。指定不换行-nosplit选项用于指定当字段长度超出列宽时不进行换行适合用diff比较或后处理。指定进行未映射单元相关检查-unmapped选项用于指定额外进行未映射单元(unmapped)相关的检查如LINT-61。默认情况下不会进行未映射单元相关的检查。指定只进行单元类检查-cells选项用于指定只进行单元类检查包括但不限于LINT-0设计中某个叶单元的输入引脚未连接到任何线网工具会根据逻辑库假定其逻辑值、LINT-1设计中某个单元的输出未驱动任何负载线网该单元可能会被工具优化删除、LINT-10设计中某个单元没有输出引脚若未受属性保护例如dont_touch属性可能会在综合时被移除、LINT-32设计中某个子模块实例的引脚被连接到常量0或1需要确认该连接是否符合预期、LINT-33设计中某个子模块实例的多个引脚连接到了同一条线网需要确认这些重复连接是否符合预期、LINT-58设计中某个叶单元的输入引脚连接到了一条无驱动的线网、LINT-59设计中某个层次单元的输入引脚内部有负载但外部未连接线网工具会为其假定一个逻辑值、LINT-60设计中某个层次单元的输入引脚既无内部负载也未连接线网工具会为其假定一个逻辑值、LINT-61设计中存在未映射单元。指定只进行端口类检查-ports选项用于指定只进行端口类检查包括但不限于LINT-5设计中的某个输出端口没有被任何信号驱动、LINT-6设计中的某个输入端口连接到多驱动线网并参与线逻辑可能是端口方向定义错误、LINT-8设计中的某个输入端口没有连接到设计内部任何逻辑即该输入端口无负载、LINT-28设计中的某个端口未连接到任何线网需确认该端口是否为有意保留、LINT-29设计中的某个输入端口被直接连接到输出端口也就是直接Feedthrough某些工艺可能要求中间插入缓冲器、LINT-31设计中的一个输出端口被直接连接到另一个输出端口也就是Logically Equivalent Outputs某些工艺可能不允许这种连接、LINT-52设计中的某个输出端口被直接连接到常量0或1通常可能是设计错误。指定只进行设计类检查-designs选项用于指定只进行设计类检查包括但不限于LINT-25某个设计没有任何输出端口若未受dont_touch属性保护其实例可能会在综合时被删除、LINT-46某单元的非主输出引脚被连接使用但对应的主输出引脚未连接违反工艺库的连接规则这发生在使用发射极耦合逻辑(ECL, Emitter Coupled Logic)工艺的设计中、LINT-55某设计不包含任何单元和线网即黑盒。指定只进行线网类检查-nets选项用于指定只进行线网类检查包括但不限于LINT-2某条线网有驱动端但没有任何负载相关线网及其驱动逻辑可能会被综合优化删除、LINT-3设计中某条线网没有任何驱动源工具会根据逻辑库为其假定一个逻辑值、LINT-4设计中某条线网存在多个驱动源工具会根据逻辑库假定其为线与逻辑、LINT-35设计中某条线网存在多个驱动源工具会根据逻辑库假定其为线或逻辑、LINT-38设计中某条线网存在多个驱动源但工具无法确定其线逻辑类型可能是设计或逻辑库描述存在问题、LINT-47设计中某条线网违反逻辑库定义的连接类别约束即该线网上连接的引脚不具备共同的合法连接类别、LINT-54设计中某条多驱动线网的驱动源之一是常量通常可能是设计错误。指定只进行三态相关检查-tristates选项用于指定只进行三态相关检查包括但不限于LINT-34设计中的三态总线上存在非三态驱动源可能导致三态总线功能异常、LINT-63设计中某条线网只有一个三态驱动源需确认是否确实需要使用三态结构。指定消息ID可以指定一条消息的IDLINT类消息进行报告此时将只列出该消息的详情。该参数与其他选项的兼容性不好因此需避免一起使用。指定重定向到HTML文件-html_file_name选项指定在check_design命令输出到标准输出的同时还生成HTML形式的报告如图1所示点击数字4会展开报告显示4个高亮显示的违规项。图1 HTML版的check_design报告简单使用在综合的过程中Design Compiler可能出现以下信息以提示用户使用check_design命令进行检查。Information: Thereare * potential problems in your design. Please run check_design for more information. (LINI-99) Information: Use the check_design command for more information about warnings. (LINT-98)