论文部分内容阅读
随着电子系统的规模日益增大,企业和科研机构积累了很多的设计经验,但目前电子设计自动化工具直接提供的设计规则检查功能大都无法进行自定义规则审查。无法将积累的设计经验转变为设计工具中的自定义审查功能。虽然有些企业和科研机构使用工具中提供的接口函数开发插件以实现自定义审查功能,但会严重受制于设计工具。其运行效率普遍较低,且工具更换或升级后需要大量的维护工作。为了保证审查工具的通用性和运行效率,开发一套可以独立运行且兼容多种电子设计自动化工具的原理图审查系统显得尤为必要。由于不同厂商的原理图私有格式各不相同,甚至同一厂商不同版本间的原理图格式也不相同。为不同格式的原理图编写不同的解析模块显得不切实际。电子设计交换格式标准逐渐成为原理图的主流描述格式,得到各原理图设计工具的广泛支持。本论文基于电子设计交换格式和Python脚本开发了自定义规则原理图审查系统。首先将待审查的原理图以该格式导出,使用flex和bison构建词法分析器和语法分析器,在语法和语义处理部分提取原理图设计元素并保存至通用数据结构中,完成原理图解析。然后为审查系统提供多类扩展函数,实现对原理图对象的搜索匹配、对象属性的获取和生成审查报告等功能。扩展函数可进行有机的组合以灵活的实现自定义规则审查,审查规则使用Python脚本描述。最后在系统中嵌入Python解释器执行脚本进行审查。解释器中使用了多线程技术,可同时运行多条脚本以提高审查效率。同时审查系统中也设计了规则调试环境,在调试复杂脚本时工程师可使用断点调试和单步执行功能快速有效的完成规则开发。本论文开发完成的审查系统最终运行于服务器集群上,工程师只需上传电子设计交换格式的原理图文件和选择对应的规则脚本便可高效精确的完成原理图的自定义规则审查,缩短产品开发周期,为企业或科研单位提供“云审查平台”支撑。