一种数据转换方法及***
技术领域
本发明属于数据信息转换技术改进领域,尤其涉及一种EDA工具数据处理转换方法及***。
背景技术
随着电子产业的飞速发展,越来越多的电子研发及生产工作利用EDA软件***进行数据处理,数据格式也随之增多。由于不同的EDA软件对数据的要求不一致,数据的格式也难以达到统一。在现有技术中,通常针对不同EDA数据分别进行数据处理,这种做法存在成本高,处理复杂,统一性差等问题。如果能有一种方法及***统一这些数据,方便数据传送及使用,就可以满足各种数据自由交换的目的。
电子行业现有的EDIF数据格式从一定程度上可以解决电子设计数据的兼容性问题,但由于EDIF产生于30多年前,当时的电子设计规模和复杂度与现在相差很远,比如电路层次结构、电路设计约束、IC器件管脚数量及其引发的符号拆分、多个电源***等问题,在EDIF中都没有办法精确地描述,各种原理图工具对EDIF的兼容性并不完善,无法满足当前电子设计数据的可互换性。
现有的EDA工具软件、生产设备种类繁多,每个工具软件都有着各自的输出数据格式,且各不相同,相互转换各自独立。其实每一种数据格式为了满足生产使用的要求都带有板框、走线、过孔、器件、圆弧等信息,但是这些信息处于分散的状态,需要通过软件使用特定的方式进行筛选调整,以便让输出数据符合相应生产使用或者数据查看的要求,这样就大大限制了它的通用性。
发明内容
本发明的目的在于提供一种数据转换方法及***,旨在解决上述的技术问题。
本发明是这样实现的,一种数据转换方法,所述数据转换方法包括以下步骤:
A、将EDA工具软件生成的数据文件转换成文字流;
B、对生成的每行文字流进行内容进行读取;
C、对读取到的重要节点信息进行布尔型标记值;
D、判断布尔型标记值是否为真,如是,则进入相应的段落进行数据处理并执行步骤E,如否,则舍弃;
E、在段落中提取信息转换为需要的数据格式并存储到自定义数据结构中;
F、将自定义数据结构中的内容以中间格式的数据结构保存并输出。
本发明的进一步技术方案是:所述步骤F后包括步骤:
G、接收输出的中间格式数据并进行数据应用。
本发明的进一步技术方案是:所述步骤G中包括以下步骤:
G1、读取中间格式数据文档;
G2、对全局参数整个程序进行初始化处理;
G3、加载整个原始数据并进行读取;
G4、对原始数据每一层的节点进行数据逐一加载;
G5、数据加载完后对数据对象进行初始化工作;
G6、数据初始化完成后对数据进行微调完成数据加载并应用。
本发明的进一步技术方案是:所述步骤G1中还包括以下步骤:
G11、加载数据文档节点、识别文档类型、版本及打开程序。
本发明的进一步技术方案是:所述步骤G4中包括以下步骤:
G41、在进入第二层数据节点后加载各种资源节点需进行程序初始化。
本发明的进一步技术方案是:所述步骤G5中依次将Part、2Dline、Netnames、Buses、Offpages、TieDots数据进行初始化工作。
本发明的进一步技术方案是:所述步骤G41中依次对字体、笔画、填充、pin模板资源、symbol模板资源进行程序初始化。
本发明的另一目的在于提供一种数据转换***,所述数据转换***包括
数据转换模块,用于将EDA工具软件生成的数据文件转换成文字流;
读取模块,用于对生成的每行文字流进行内容进行读取;
标记模块,用于对读取到的重要节点信息进行布尔型标记值;
判断模块,用于判断布尔型标记值是否为真,如是,则进入相应的段落进行数据处理并执行步骤E,如否,则舍弃;
转换定义模块,用于在段落中提取信息转换为需要的数据格式并存储到自定义数据结构中;
保存输出模块,用于将自定义数据结构中的内容以中间格式的数据结构保存并输出。
本发明的进一步技术方案是:所述保存输出模块后还包括:
接收应用模块,用于接收输出的中间格式数据并进行数据应用。
本发明的进一步技术方案是:所述接收应用模块中包括:
文档读取单元,用于读取中间格式数据文档;
全局参数处理单元,用于对全局参数整个程序进行初始化处理;
原始数据加载读取单元,用于加载整个原始数据并进行读取;
数据加载单元,用于对原始数据每一层的节点进行数据逐一加载;
数据对象初始化单元,用于数据加载完后对数据对象进行初始化工作;
微调加载单元,数据初始化完成后对数据进行微调完成数据加载并应用;
所述文档读取单元中还包括:
文档分析模块,用于加载数据文档节点、识别文档类型、版本及打开程序;
所述数据加载单元中包括:
资源节点模块,用于在进入第二层数据节点后加载各种资源节点需进行程序初始化;
所述数据对象初始化单元中依次将Part、2Dline、Netnames、Buses、Offpages、TieDots数据进行初始化工作;
所述资源节点模块中依次对字体、笔画、填充、pin模板资源、symbol模板资源进行程序初始化。
本发明的有益效果是:良好的可读性;二进制数据,人们无法知道某个数据具体代表什么。然而通过本发明的数据中间格式,人们可以使用特定的标记为数据定义相关的语义。例如,可以规定某个数据代表总线,某个数据代表元件等。这样一来,数据的可读性就大大提高了。便于信息的检索;本发明的数据转换通过给数据内容贴上标记来描述其含义,并且把数据的显示格式分离出去,所以对数据的搜索就可以简单高效地进行。在此情况下,搜索引擎没有必要再去遍历整个文档,而只需查找指定标记的内容就可以了。可以轻松的跨平台应用;本发明的将原始数据转换为文本数据,所以很容易被人和机器阅读,也非常容易使用,便于不同设备和不同***间的信息交换。支持不同文字不同语种间的信息交互;本发明转换的中间格式依托于Unicode标准,是一个支持世界上所有主要语言的混合文字符号编码***。一个文档通常是采用一种语言,它可以是中文、英文、日文、***文中的任何一种。这就是说,该数据转换技术不但使得各种信息能在不同的计算机***之间交互,还能跨语种、跨文化进行交互。便于信息的长期保存;现代社会的绝大部分资料都是以电子文档形式保存的,并且不同格式保存的文档需要有相应的不同软件来将其打开。若干年后,很可能某些电子文档还在,但能够打开这些文档的软件则已遭淘汰而无法找到。此外,许多电子文档基本上是完好的,但哪怕仅有几个二进制位的错误就将导致整个文档不能打开。相比之下,以本发明生成的数据格式保存的文档就不会有上述问题。因为转换后的数据文档是基于文本的,并且文档中的每项数据都有清晰的语义,非常容易被打开和阅读。此外,该数据文档能够很容易地转换为其他格式的文档,所以非常适合用来作为信息的长期保存。适合面向对象的程序开发;该数据格式是非常容易阅读的,不但对人,对机器也是如此。数据的逻辑结构是一种树形的层次结构,文档中的每一个元素都可以影射为一个对象,同时也可以有相应的属性和方法,因而非常适合于使用面向对象的程序设计方式来开发处理。
附图说明
图1是本发明实施例提供的数据转换方法的流程图。
图2是本发明实施例提供的数据转换***的结构框图。
具体实施方式
图1示出了本发明提供的数据转换方法的流程图,其详述如下:
步骤S1,将EDA工具软件生成的数据文件转换成文字流;在若干个EDA工具软件中的生成的数据文件,将这些数据文件分别发送个共用的数据结构中,在其中将这些数据文件分别转换成文字流数据信息。
步骤S2,对生成的每行文字流进行内容进行读取;对生成的文字流数据信息使用文字流读取对象中的读取行的方法进行读取,并对文字流数据信息一行一行的进行内容进行读取,使其完成的读取出来。
步骤S3, 对读取到的重要节点信息进行布尔型标记值;在读取文字流数据信息中过程中,对读取到重要节点信息的时候,对其设置相应的布尔型标记值。
步骤S4, 判断布尔型标记值是否为真,如是,则进入相应的段落进行数据处理并执行步骤E,如否,则舍弃。
步骤S5, 在段落中提取信息转换为需要的数据格式并存储到自定义数据结构中;在段落处理的时候,首先将需要的信息提取出来,然后根据特定的方式,将提取出来的信息,转换为需要的数据格式,同时存储到自定义数据结构中。
步骤S6, 将自定义数据结构中的内容以中间格式的数据结构保存并输出。当读取完最后一行,并处理完最后一行信息之后,将自定义数据结构中的内容,以中间格式的数据结构保存,并输出中间格式文档到相应路径。
步骤S7, 接收输出的中间格式数据并进行数据应用。设备接收到输出的中间核实的数据信息,将这些信息分析还原成原始数据信息进行应用,在应用过程中进行如下过程,1、读取中间格式数据文档;首先加载文档节点,识别文档类型,版本以及打开程序。2、对全局参数整个程序进行初始化处理;判断确定为类型后,加载参数节点,对全局参数进行整个程序的初始化。3、加载整个原始数据并进行读取;在加载真个接收的原始数据过程中,同时对原始数据信息进行整个数据进行读取。4、对原始数据每一层的节点进行数据逐一加载;进入原始数据节点后,再进入原始数据的第二层节点,依次加载每一层的数据。进入第二层数据节点后,首先开始加载各种资源节点,进行程序初始化,比如字体,笔画,填充,pin模板资源,symbol模板资源等。5、数据加载完后对数据对象进行初始化工作;模板资源加载完成后,再在进行数据对象的初始化工作。依次将Part,2Dline,Netnames,Buses,Offpages,TieDots等数据进行初始化工作。6、数据初始化完成后对数据进行微调完成数据加载并应用。数据初始化工作完成,数据微调,至此数据加载完成。
现代社会的绝大部分资料都是以电子文档形式保存的,并且不同格式保存的文档需要有相应的不同软件来将其打开。若干年后,很可能某些电子文档还在,但能够打开这些文档的软件则已遭淘汰而无法找到。此外,许多电子文档基本上是完好的,但哪怕仅有几个二进制位的错误就将导致整个文档不能打开。相比之下,以本发明生成的数据格式保存的文档就不会有上述问题。因为转换后的数据文档是基于文本的,并且文档中的每项数据都有清晰的语义,非常容易被打开和阅读。此外,该数据文档能够很容易地转换为其他格式的文档,所以非常适合用来作为信息的长期保存。
本发明的另一目的在于提供一种数据转换***,所述数据转换***包括
数据转换模块,用于将EDA工具软件生成的数据文件转换成文字流;
读取模块,用于对生成的每行文字流进行内容进行读取;
标记模块,用于对读取到的重要节点信息进行布尔型标记值;
判断模块,用于判断布尔型标记值是否为真,如是,则进入相应的段落进行数据处理并执行步骤E,如否,则舍弃;
转换定义模块,用于在段落中提取信息转换为需要的数据格式并存储到自定义数据结构中;
保存输出模块,用于将自定义数据结构中的内容以中间格式的数据结构保存并输出。
所述保存输出模块后还包括:
接收应用模块,用于接收输出的中间格式数据并进行数据应用。
所述接收应用模块中包括:
文档读取单元,用于读取中间格式数据文档;
全局参数处理单元,用于对全局参数整个程序进行初始化处理;
原始数据加载读取单元,用于加载整个原始数据并进行读取;
数据加载单元,用于对原始数据每一层的节点进行数据逐一加载;
数据对象初始化单元,用于数据加载完后对数据对象进行初始化工作;
微调加载单元,数据初始化完成后对数据进行微调完成数据加载并应用。
所述文档读取单元中还包括:
文档分析模块,用于加载数据文档节点、识别文档类型、版本及打开程序。
所述数据加载单元中包括:
资源节点模块,用于在进入第二层数据节点后加载各种资源节点需进行程序初始化。
所述数据对象初始化单元中依次将Part、2Dline、Netnames、Buses、Offpages、TieDots数据进行初始化工作。
所述资源节点模块中依次对字体、笔画、填充、pin模板资源、symbol模板资源进行程序初始化。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。