基于Python扩展函数的电路图审查方法与流程

文档序号:15982944发布日期:2018-11-17 00:32阅读:428来源:国知局

本发明属于电子设计自动化技术领域,更进一步涉及一种电路图的审查方法,可用于对电子设计自动化eda工具生成的电路原理图进行检测与修正。

背景技术

随着计算机科学和电子科学的发展,许多功能丰富的电子设计自动化eda工具的使用,使电子系统的设计效率得到了极大的提高。但要想得到达到设计目标且稳定性较好的设计,设计验证是其中不可缺少的重要的环节。虽然许多eda工具内部有集成的设计验证工具,但在产品的设计周期逐渐缩短和设计复杂度逐渐提高的背景下,eda工具自带的设计验证工具并不能很好的满足工程师的需求。

目前,市面上主流eda工具提供的设计验证方法在使用过程中主要存在以下几个问题:

1)由于eda工具的种类繁多,而且各eda工具之间并没有很好的兼容性,这就要求用户针对不同eda的设计使用不同的eda工具,这不仅增加了工程师的工作量,而且增加了协同设计的困难度。

2)目前eda工具的设计验证功能没有很好的可扩展性。工程师在设计过程中可能随时会提出不同的审查需求,而目前的工具常常并不能满足这些需求。

3)目前eda工具对优秀的设计经验并不能很好的继承。在一些大型设计团队和企业中,往往内部会有很多成功的设计经验来指导后续的设计和验证工作,但目前的工具很难满足这个需求。

针对上述问题,现有的解决方案主要有两种:1、如果设计团队和企业用了多种eda工具,则他们根据每种eda工具开发相应的设计验证工具;2、针对一种eda工具开发出相应的设计验证工具,然后将其他eda工具的数据转换成该eda工具可识别的数据,然后再使用开发的设计验证工具在其环境下工作。

然而,这两种方案都各自存在以下不足。

第一种解决方案是复杂度高,这种复杂性对使用者而言不仅要会使用三种eda工具,而且还要再熟悉其相应的设计验证工具,这无形中增加了工程师的很多负担,而且会产生重复开发的问题。

第二种解决方案是没有从根本上解决各种eda工具之间的兼容问题,这就限制了工具的使用范围,而且该方案的审查验证过程只能在该eda环境下运行,极大地限制了使用的灵活性。



技术实现要素:

本发明的目的在于克服上述现有技术的缺陷,提出一种基于python扩展函数的电路图审查方法,以有效的解决重复开发问题和降低工程师在进行审查任务时的复杂性,提高审查的灵活性和效率。

本发明的技术思路是:通过对各eda工具生成的标准制式文件edif做数据处理,获得所设计的专用数据结构;根据提供的接口函数,按用户需求编译审查脚本或者直接从数据库下载审查脚本;通过执行脚本完成审查,生成审查报告。其实现步骤包括如下:

(1)用户输入待审查电子设计交换格式edif文件的位置和名称信息,获得待审查edif电路图文件:

(2)解析edif电路图文件:

(2a)遍历(1)中的edif文件,根据edif标准中规定的关键字要求,提取(1)中的edif文件中符合该要求的关键字信息;

(2b)根据(2a)中获得到的关键字信息,根据edif标准中规定的语法要求,提取(1)中edif文件符合该要求的语法信息;

(2c)对不符合edif标准中规定的关键字信息和语法信息词进行报错,并终止运行;

(3)根据(2)中获得到的关键字信息和语法信息,搭建公用数据结构:

(3a)将(2)中提取到的关键字信息按照页、器件、管脚或网络进行分类,并将其填充到与公用数据结构相对应的页、器件、管脚或网络类中;

(3b)根据(2)中提取到的语法信息,先判断该条语法信息所属的关键字,再将该条语法信息填充到公用数据结构相对应的语法段中;

(4)构建三类python扩展函数:

(4a)根据(3)中公用数据结构中的页、器件、管脚和网络的信息,构建实例获取类python扩展函数,获得电路图页、器件、管脚和网络;

(4b)根据公用数据结构中的语法段信息,构建属性遍历类python扩展函数,获得电路图中页、器件、管脚和网络的属性信息;

(4c)根据审查需求,构建智能审查报告类python扩展函数,生成xml格式的审查报告;

(5)根据审查需求查询数据库,确定是否需要进行脚本编写:

(5a)明确审查需求,并根据审查需求从规则数据库中查询中是否有可以满足该审查需求的审查脚本:如果有,则跳转到(6a),否则,执行(5b);

(5b)根据(4)提供的三类python扩展,进行脚本编写,并将编写的脚本上传服务器,转步骤(6b);

(6)获得脚本,进行审查:

(6a)根据(5a)中的审查需求从规则数据库下载审查脚本,进行任务审查获得审查报告,修改电路图。

(6b)根据(5b)上传的脚本文件,进行任务审查获得审查报告,修改电路图。

本发明与现有的技术相比具有以下优点:

第一,本发明通过提供给用户一套完备的接口函数,可以供用户自定义审查规则,极大的提高了本发明的易用性和灵活性;同时本发明利用计算机多线程技术实现了多实例、多脚本审查,利用数据库技术实现了用户自定义编写或调用审查规则的功能。

第二,由于本发明的原始输入文件为edif格式的标准制式文件,而不是各eda工具中的原始电路图信息,所以可以很好的解决各eda工具之间的兼容性的问题。

第三,本发明对提供的python扩展函数进行了详细的分类,对于不熟悉编程语言的硬件工程师而言,他们可以根据本发明提供的python扩展函数的分类指引而非常容易的完成一个脚本的编写,极大的减小了工程师的负担。

第四,本发明不仅屏蔽了各eda工具间的差异性,而且可以脱离客户端独立运行,即本发明可通过计算机技术和数据库技术从而实现云端运行,极大提高了运行的稳定性和效率。

第五,本发明由于提供了可以生成xml格式的智能审查报告python扩展函数,通过该函数的使用,可以实现用户审查结果的智能化管理,使结果更加快捷明了的呈现在用户面前,提升了审查效率。

附图说明

图1是本发明的实现流程图。

具体实施方式

下面结合附图对本发明做进一步的描述。

参照图1,本发明的具体实施步骤如下。

步骤1.获得待审查电子设计交换格式edif文件。

待审查电子设计交换格式edif文件是指:在各电子设计自动化eda工具中,用户确定需要审查的电路图文件,针对该电路图文件,用户通过eda工具生成edif标准制式文本文件。

步骤2.解析edif电路图文件。

(2a)遍历步骤1中输入的edif文件内容,根据edif标准中规定的关键字信息,提取该edif文件中符合该标准的关键字信息;

(2b)根据已经提取到的关键字信息,根据edif标准中规定的语法要求,提取该edif文件中的语法信息,并对该edif文件中不符合edif标准的关键字信息和语法信息进行报错后终止程序运行。

步骤3.获取公用数据结构。

(3a)对步骤(2a)中提取到的关键字信息按照页、器件、管脚或网络进行分类,并将其填充到与公用数据结构相对应的页、器件、管脚或网络类中;

(3b)判断步骤(2b)中提取到的语法信息所属关键字,并将该语法信息填充到公用数据结构相应关键字的相应语法段中。

步骤4.构建三类python扩展函数:

(4a)根据步骤(3a)中公用数据结构中的页、器件、管脚和网络的信息,构建实例获取类python扩展函数,该类函数功能为:获得电路图页、器件、管脚和网络。该类python扩展函数包括:获得电路图器件信息函数、获得电路图管脚信息函数、获得电路图网络信息函数、获得电路图模块信息函数、获得电路图分页信息函数;

(4b)根据步骤(3b)中公用数据结构中的语法信息,构建属性遍历类python扩展函数,该类函数功能为:获得电路图中页、器件、管脚和网络的属性信息,该类python扩展函数包括:遍历电路图器件属性函数、遍历电路图管脚属性函数、遍历电路图网络属性函数;

(4c)根据审查需求,构建智能审查报告生成类python扩展函数,该类函数功能为:生成xml格式的审查报告;该类python扩展函数包括:报告标题生成函数和报告主题内容生成函数。

步骤5.根据审查需求查询规则数据库,确定是否需要进行脚本编写。

(5a)构建规则数据库:将已有的审查脚本存储到规则数据库中,建立审查脚本和审查需求的一一对应关系;

(5b)根据审查需求从规则数据库中查询是否有可以满足该审查需求的审查脚本:如果有,则跳转到(6a),否则,执行(5c);

(5c)根据(4)提供的三大类python扩展函数,进行脚本编写,并将编写的脚本上传服务器,转步骤(6b)。

步骤6.获得脚本,进行审查。

(6a)根据(5b)中的审查需求从规则数据库下载审查脚本,进行任务审查获得审查报告,修改电路图。

(6b)根据(5c)上传的脚本文件,进行任务审查获得审查报告,修改电路图。

以上描述仅是本发明的一个具体实例,并未构成对本发明的任何限制,显然对于本领域的专业人员来说,在了解了本发明内容和原理后,都可能在不背离本发明原理、结构的情况下,进行形式和细节上的各种修改和改变,但是这些基于本发明思想的修正和改变仍在本发明的权利要求保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1