论文部分内容阅读
由于电子电路规模的日益增大、功能愈加复杂,原理图检视环节在电子设计流程中的角色越加重要。虽然当前市面上的EDA工具都有提供原理图检视功能,但是在用户的使用过程中存在着诸多问题:首先,在检视原理图过程中需要考虑的需求很多。但是目前EDA工具只能提供简单的ERC(Electrical Rule Check)检视,并不能完全满足原理图检视的功能需求;其次,虽然许多EDA工具的使用极大提高了电子设计效率,但是由于各EDA工具针对其设计数据的存储都有自己的私有数据格式,EDA工具之间没有很好的兼容性,导致原理图检视成本大幅上升;最后,在企业的长期发展中必然会涌现、积累大量的原理图检视经验。企业是希望可以利用这些优秀的经验来继续指导新产品的设计,但是现有的EDA工具是无法实现的。针对目前原理图检视过程中存在的问题,本文在充分研究EDIF标准和各EDA工具对原理图的描述后,综合使用多种编程语言,设计实现了一种全新的原理图检视系统。首先,为实现本检视系统与EDA工具的解耦并支持检视多种EDA工具的原理图设计,我们在深入研究业界广泛支持的EDIF200标准的基础上,基于图形数据结构的设计思想使用词法分析器和语法分析器,设计实现了本检视系统私有的数据存储方式“原理图公共数据结构”。该数据存储方式可以全面、准确的描述原理图结构。其次,为应对原理图检视过程中可能不断出现的各种检视规则,我们以Python脚本的形式具体化用户的检视规则。通过在检视系统中扩展嵌入Python解释器以运行用户的自定义脚本。同时,为提升检视效率,我们自主设计与实现了四大类Python扩展接口函数,实现了对原理图中设计元素信息的提取、属性的获取和检视结果的生成。基于这些扩展接口函数,用户可以以Python脚本的形式快捷方便的自定义任意检视规则。然后,为继承、共享企业内优秀的原理图检视规则(Python脚本),我们使用数据库技术实现了Python脚本的存储、修改和调用,实现了检视规则一次开发永久有效。最后,为了便于用户开发检视规则(Python脚本),我们以PyCharm为基础开发了适应本系统的脚本开发环境。同时,为了更好的提升用户的使用体验,我们支持以XML报表或图形化界面的形式反馈检视结果。本课题开发的原理图检视系统已在华为公司内部多个产品线成功应用,并获得普遍的好评。目前,该检视系统正在华为公司内全面推广使用。