数字集成电路设计流程里,网表导出是关键一项,它会把逻辑综合后的门级网表,转变成物理设计工具可识别、处理的文件格式,此过程直接关联后续布局布线的质量和效率,是连……
数字集成电路设计流程里,网表导出是关键一项,它会把逻辑综合后的门级网表,转变成物理设计工具可识别、处理的文件格式,此过程直接关联后续布局布线的质量和效率,是连接前端设计与后端实现的桥梁。对于设计工程师来讲,掌握网表导出的核心要点,可以有效避开许多潜在的设计风险。
什么是网表导出
网表导出,本质来说,是一种数据格式的转变。经过逻辑综合的工具,像Design Compiler,会生成一种描述文件,它涵盖所有逻辑门实例以及它们的连接关系,此文件一般是特定工具独有的格式。网表导出的工作,就是把它转变成业界通用的标准格式,最常见的是Verilog网表或者VHDL网表,偶尔也包含EDIF或者SPEF等传递时序信息的格式。这一步保证了设计数据能够在不同厂商的EDA工具链里顺利传递。
网表导出的标准流程是什么
逻辑综合完成后方开启一个标准的网表导出流程,首先,工程师得在综合工具里保证设计的约束,即时序、面积、功耗方面基本得以满足,接着,于工具内执行“写网表”命令,还要指定目标格式与文件名,此过程中,工具会做最后的规则检查,像检查有无未驱动的输入端或者未连接的输出端之类,导出的文件一般得含有时序信息,即.sdf文件,以及设计约束,即.sdc文件,这些辅助文件对后端工具极为关键。
网表导出常见问题有哪些
最常出现于网表导出进程里的问题是名称映射有误,前端RTL代码当中的模块名、实例名或者线网名有可能涵盖工具所不支持的字符,像斜杠、括号,导出之际会被自动重新予以命名,致使后端工具没办法识别,这是其一。另一个普遍存在的问题当数层次结构缺失,也就是综合工具为了达成优化把某些层次打平,这兴许违背设计规则,此为其二。除此之外,时序约束未被准确嵌入网表,或者功耗信息遗失,同样会给后端设计造成困难,这是其三。
如何优化网表导出结果
倘若想要收获高质量的导出网表,那么在综合阶段一开始便采用统一的命名规范,以此来规避使用特殊字符。在导出这份网表之前,必须得运用工具自身所带的检查命令(就比如说像check_design这样的)去开展预验证。针对于关键模块而言,可保留它们的层次结构,进而防止打平时所引发的问题。与此同时,要保证把综合之后的那个时序约束文件(.sdc)跟网表一块儿交付给后端团队那边。定期去对比导出的网表跟原始RTL代码的功能仿真结果,这可是保证数据一致性的有效方式。
于实际项目里头,您是更偏向采用全然打平的网表,还是倾向保留部分层次的网表去开展后端设计?欢迎来评论区把您的经验以及见解给分享出来,要是觉着本文能起到帮助作用,那就请点赞予以支持。
微信扫一扫