一种批量处理高速信号及其脚位信息的方法和系统与流程

文档序号:23261325发布日期:2020-12-11 18:50阅读:214来源:国知局
一种批量处理高速信号及其脚位信息的方法和系统与流程

本申请涉及高速信号数据处理技术领域,特别是涉及一种批量处理高速信号及其脚位信息的方法和系统。



背景技术:

在办公环境中,excel是用于数据分析处理的常用工具。如何在自动化办公时,快速而准确地处理高速信号,并确定其脚位对应信息,是个非常重要的问题。

目前处理高速信号及其脚位对应信息的方法,通常是:从cadence工程文件的packaged文件夹中打开pstxnet.dat文件,找到对应的netname,筛选出高速信号后逐条整理。具体地,首先对高速信号进行数字顺序排序,再将tx_dn,tx_dp,rx_dn,rx_dp信号放到一起。每一个信号对应着自己的多个节点脚位,且在pstxnet.dat文件中差分信号会按照类型进行排列,也就是同类信号会被排到一起。

然而,目前处理高速信号及其脚位对应信息的方法中,由于pstxnet.dat文件中的差分信号是同类信号放在一起,而实际应用中为了观察信号的流向,需要按照tx_dn,tx_dp,rx_dn,rx_dp的顺序,使差分信号形成一个闭环回路。因此,pstxnet.dat文件中的差分信号顺序并不满足实际应用需求,需要先进行数字顺序排序,然后按照tx_dn,tx_dp,rx_dn,rx_dp的顺序排序,这就导致在数据分析和整理过程中造成大量重复性的操作,使得高速信号处理效率较低,而且由于需要对高速信号进行两种排序,数据整理过程容易出错,使得高速信号处理的准确性也较低。



技术实现要素:

本申请提供了一种批量处理高速信号及其脚位信息的方法和系统,以解决现有技术中的方法使得高速信号处理效率较低,准确性较低的问题。

为了解决上述技术问题,本申请实施例公开了如下技术方案:

一种批量处理高速信号及其脚位信息的方法,所述方法包括:

从cadence原理图工程文件中筛选出待处理高速信号及其对应的脚位信息;

利用python的excel数据处理模块,对所述待处理高速信号进行排序处理,获取目标排列方式的高速信号;

对目标排列方式的高速信号进行格式调整,获取高速互联表版式的高速信号。

可选地,所述从cadence原理图工程文件中筛选出待处理高速信号及其对应的脚位信息,包括:

从cadence原理图工程文件中提取出所有的信号名;

从所有的信号名中筛选出高速信号的信号名,且任一高速信号的信号名与一个高速信号相匹配。

可选地,所述从cadence原理图工程文件中提取出所有的信号名,包括:

利用cadence工具,从cadence原理图工程文件中导出archive原理图文件;

在所述archive原理图文件的packaged目录下确定初始格式的pstxnet.dat文件,所述pstxnet.dat文件中包括:archive原理图中所有的信号名及其对应的脚位信息;

调用python工具中的os功能模块和xlwt功能模块,将初始格式的pstxnet.dat文件转化为excel表格形式的pstxnet.dat文件。

可选地,所述从所有的信号名中筛选出高速信号的信号名,包括:

调用python工具中的xlrd功能模块和xlwt功能模块,利用关键词查找信号名的方法,提取高速信号及其对应的脚位信息。

可选地,所述利用python的excel数据处理模块,对所述待处理高速信号进行排序处理,获取目标排列方式的高速信号,包括:

从所有待处理高速信号中选择一组待处理高速信号;

安装python的excel数据处理模块;

利用所述excel数据处理模块,进行插入行和移动操作,将所述一组待处理高速信号按照目标排列方式进行排序;

重新从所有待处理高速信号中选择另一组待处理高速信号,直到所有待处理高速信号按照目标排列方式进行排序完毕。

可选地,所述对目标排列方式的高速信号进行格式调整,获取高速互联表版式的高速信号,包括:

获取目标排列方式的高速信号的初始格式,所述初始格式为:信号名+两个位号;

调用python的openpyxl模块,对初始格式的高速信号进行插入空白列和复制处理,获取高速互联表版式的高速信号,所述高速互联表版式的高速信号格式为:第一位号+信号名+第二位号+信号名。

可选地,所述方法还包括:

根据高速信号的脚位信息和信号名,在cadence原理图工程文件中验证高速互联表是否正确;

如果高速互联表正确,流程结束;

如果高速互联表不正确,重新从cadence原理图工程文件中筛选出待处理高速信号及其对应的脚位信息。

一种批量处理高速信号及其脚位信息的系统,所述系统包括:

筛选模块,用于从cadence原理图工程文件中筛选出待处理高速信号及其对应的脚位信息;

排序处理模块,用于利用python的excel数据处理模块,对所述待处理高速信号进行排序处理,获取目标排列方式的高速信号;

格式调整模块,用于对目标排列方式的高速信号进行格式调整,获取高速互联表版式的高速信号。

可选地,所述排序处理模块包括:

选择单元,用于从所有待处理高速信号中选择一组待处理高速信号;

预处理单元,用于安装python的excel数据处理模块;

排序单元,用于利用所述excel数据处理模块,进行插入行和移动操作,将所述一组待处理高速信号按照目标排列方式进行排序;

循环单元,用于重新从所有待处理高速信号中选择另一组待处理高速信号,直到所有待处理高速信号按照目标排列方式进行排序完毕。

可选地,所述系统中还包括:

验证模块,用于根据高速信号的脚位信息和信号名,在cadence原理图工程文件中验证高速互联表是否正确,如果高速互联表正确,流程结束,否则,启动筛选模块,直到高速互联表正确为止。

本申请的实施例提供的技术方案可以包括以下有益效果:

本申请提供一种批量处理高速信号及其脚位信息的方法,该方法首先从cadence原理图工程文件中筛选出待处理高速信号及其对应的脚位信息,然后利用python的excel数据处理模块对待处理高速信号进行排序处理,获取目标排列方式的高速信号,最后对目标排列方式的高速信号进行格式调整,获取高速互联表版式的高速信号。本实施例利用python自动化工具的系统文件和excel数据处理模块,能够快速而准确地从cadence原理图中筛选出待处理高速信号及其对应的脚位信息,为后续批量处理高速信号及其脚位信息提供支持,有利于大大提高对高速信号的处理效率和处理的准确性。通过调用python的自动化处理模块excel数据处理模块,使得数据可以根据实际需求进行智能处理,对数据处理的灵活性较高,还有利于提高高速信号处理效率。数据处理完成后,利用python自动化工具的排版模块对目标排列方式的高速信号进行格式调整,从而获取高速互联表版式的高速信号,实现对高速信号格式的智能化处理,有利于提高对高速信号的处理效率。本实施例采用批量处理的方式,能够避免对高速信号数据分析和整理过程中大量的重复性操作,有利于提高数据处理效率和数据处理的准确性,

另外,本实施例中还包括:根据高速信号的脚位信息和信号名,在cadence原理图工程文件中验证高速互联表是否正确,通过将最终排版后的高速信号拿回cadence原理图进行验证,根据高速信号的具体脚位,可以得知高速信号在板内的流向,从而形成一闭环反馈环节,能够有效提高高速互联表的准确性,从而提高对高速信号处理的准确性。而且这种闭环反馈环节还有利于大大提高信号获取速度,从而进一步提高对高速信号的处理效率。

本申请还提供一种批量处理高速信号及其脚位信息的系统,该系统中包括:筛选模块、排序处理模块以及格式调整模块。通过筛选模块,能够从cadence原理图工程文件中快速而准确地筛选出待处理高速信号及其对应的脚位信息,有利于提高高速信号的处理效率和处理的准确性。排序处理模块的设置,能够充分利用python的excel数据处理模块,对待处理高速信号进行排序处理,获取目标排列方式的高速信号,避免传统高速信号处理方法中分别排序的方式,有利于提高高速信号的处理效率和处理结果的准确性。格式调整模块的设置,能够对原始格式的高速信号调整,获取到高速互联表版式的高速信号,实现对字体字号样式对齐等格式实现智能化处理,大大提高高速信号处理效率。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例所提供的一种批量处理高速信号及其脚位信息的方法的流程示意图;

图2为筛选出待处理高速信号及其对应的脚位信息后输出结果示意图;

图3为将一组待处理高速信号按照目标排列方式进行排序后代码和结果示意图;

图4为本申请实施例所提供的一种批量处理高速信号及其脚位信息的系统的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

为了更好地理解本申请,下面结合附图来详细解释本申请的实施方式。

实施例一

参见图1,图1为本申请实施例所提供的一种批量处理高速信号及其脚位信息的方法的流程示意图。由图1可知,本实施例中批量处理高速信号及其脚位信息的方法,主要包括如下过程:

s1:从cadence原理图工程文件中筛选出待处理高速信号及其对应的脚位信息。

具体地,步骤s1又包括步骤s11和步骤s12:

s11:从cadence原理图工程文件中提取出所有的信号名。

从cadence原理图工程文件中提取出所有的信号名的过程包括:

s111:利用cadence工具,从cadence原理图工程文件中导出archive原理图文件。

s112:在archive原理图文件的packaged目录下确定初始格式的pstxnet.dat文件。

其中,pstxnet.dat文件中包括:archive原理图中所有的信号名及其对应的脚位信息。

以基于cadence软件的switchboard原理图工程文件为例,该原理图工程文件里面包含了上千个信号,上千个信号对应着上千个信号名,也就是netname,每个信号都有一个信号名。根据步骤s111和s112,利用cadence工具,从完整的工程文件中导出所需要的archive原理图文件,具体操作方式为:allegrodesignauthoring→tools→archive→newarchive,在packaged目录下有一个pstxnet.dat文件,pstxnet.dat文件包含了原理图中所有的netname以及对应的脚位信息。

确定初始格式的pstxnet.dat文件之后,执行步骤s113:调用python工具中的os功能模块和xlwt功能模块,将初始格式的pstxnet.dat文件转化为excel表格形式的pstxnet.dat文件。

初始格式的pstxnet.dat文件数据比较庞大,通过步骤s113,将其转换为excel表格形式,有利于更直观方便的进行信号名的提取,从而提高高速信号处理的效率和准确性。

本实施例中可以采用如下脚本,将初始格式的pstxnet.dat文件转化为excel表格形式的pstxnet.dat文件:

通过以上步骤s111-s113,最终输出excel表格形式的pstxnet.dat文件,该excel文件中包括一个信号名对应的所有属性。一个信号名的属性为:先是信号名,然后是信号名在原理图中的具体位置,该具体位置也就是信号名对应的连接器,最后是信号名在这个连接器中对应的具体脚位。例如:信号名a,对应着原理图中的b连接器,这个连接器有1-10个pin脚位,其中第8个pin是信号名a,所以就是找出a对应b.8。

从cadence原理图工程文件中提取出所有的信号名之后,执行步骤s12:从所有的信号名中筛选出高速信号的信号名,且任一高速信号的信号名与一个高速信号相匹配。

具体地,步骤s12为:调用python工具中的xlrd功能模块和xlwt功能模块,利用关键词查找信号名的方法,提取高速信号及其对应的脚位信息。

步骤s12中的方法可以采用如下代码实现:

继续参见图1可知,从cadence原理图工程文件中筛选出待处理高速信号及其对应的脚位信息之后,执行步骤s2:利用python的excel数据处理模块,对待处理高速信号进行排序处理,获取目标排列方式的高速信号。

具体地,步骤s2包括如下过程:

s21:从所有待处理高速信号中选择一组待处理高速信号。

以x16信号为例,在复杂的板子上,比如主板和中背板,x16的高速信号非常多,将每一类的x16信号进行一条一条的处理是非常麻烦的。采用本实施例中的方法,首先通过excel表格自带的筛选功能把待测的一组高速信号筛选出来。需要注意的是,本实施例中筛选高速信号可以用excel里的筛选功能,也可以通过python自动化实现。以p4e_cpu0_pe0_tx/rx_dn/dp<0:15>为例,有tx_dn,tx_dp,rx_dn,rx_dp信号,一共是16*4=64个信号,首先需要对这组高速信号进行重新排列,而且每个信号都有对应的两个脚位号,excel表格初始处理结果和图2相同。

确定一组待处理高速信号,执行步骤s22:安装python的excel数据处理模块。

步骤s22相当于排序前的预处理,也就是把待处理的excel表格激活。具体地,先安装python工具中支持数据处理的模块,即安装excel数据处理模块。以x16信号为例,通过步骤s22对每一组x16的高速信号进行排序前预处理,例如:

p4e_cpu0_pe0_tx_dn<0:15>信号,从0-15按顺序排列下来。这里会调用到python中的openpyxl功能模块,这是一个读写excel文档的python库,是一个综合的工具,能够同时读取和修改excel文档。openpyxl功能模块的安装方法为:直接在cmd里输入pipinstallopenpyxl,打开python软件,先导入openpyxl模块,激活要处理的工作表sheet,要处理的工作表命名为test.xlsx。通过步骤s22,能够提高后续的排序处理的效率。

s23:利用excel数据处理模块,进行插入行和移动操作,将一组待处理高速信号按照目标排列方式进行排序。

还是以x16信号为例,将p4e_cpu0_pe0_tx_dn<0:15>信号按0-15顺序排列,代码和结果如图3所示。需要注意的是,对于x8的高速信号,系统会自动排序,不存在0-8的顺序混乱问题。

s24:重新从所有待处理高速信号中选择另一组待处理高速信号,直到所有待处理高速信号按照目标排列方式进行排序完毕。

还是以前面的4组x16信号为例,将一组待处理高速信号排序完毕后,执行步骤s24,将其余3组x16信号进行处理,本实施例中可以采用for循环语句,因为对于每组x16信号,都是在<0>和<10>之间插入9行,随后<1>-<9>往上移15行,呈一定的规律性。这时可以设置参数i=9,j=15,再设置一个循环计数,因为有4组x16信号,所以循环4次后自动跳出循环。

根据实际需要,在第一组x16信号p4e_cpu0_pe0_tx_dn<0>和<1>之间插入3行,然后将下面三组的x16信号tx_dp<0>,dx_dn<0>,dx_dp<0>经过移动处理分别插入这三行,完成第一组差分对的排列。

因为呈现的规律性,本实施例可以按同样地方法循环16次,从而大大提高信号处理效率。循环方法如下:

(1).tx_dp<0>,dx_dn<0>,dx_dp<0>的单元格位置差16,相应地它们都是向上移动15行。

(2).tx_dn<0>和<1>的单元格位置相差4,因为上述有提到,<0>和<1>之间插入3行。再次利用规律(1),tx_dp<1>,dx_dn<1>,dx_dp<1>的单元格位置差16.这样可以完成第二组差分对的排列。

继续参见图1所示,获取目标排列方式的高速信号之后,执行步骤s3:对目标排列方式的高速信号进行格式调整,获取高速互联表版式的高速信号。

具体地,步骤s3包括如下过程:

s31:获取目标排列方式的高速信号的初始格式,初始格式为:信号名+两个位号。

s32:调用python的openpyxl模块,对初始格式的高速信号进行插入空白列和复制处理,获取高速互联表版式的高速信号,高速互联表版式的高速信号格式为:第一位号+信号名+第二位号+信号名。

本实施例中openpyxl模块为一个读写excel文档的python库,当需要把系统中的excel内嵌到python中,并对表格进行读写数据的操作时,需要先导入openpyxl模块。

由以上步骤s31和s32可知,经过数据处理后,格式为信号名加两个位号的形式,为了方便理解和公司的规范要求,需要写成位号1+信号名+位号2+信号名的形式,所以会用到插入空白列和复制功能。由于openpyxl模块里没有复制功能,只能选择通过循环,依次读取某列的数值,再赋值到另外一列。

进一步地,本实施例中步骤s3还包括:

s33:对高速互联表统一字体,对齐样式。

在openpyxl模块中,可以调用设置字体和对齐的函数功能模块,分别是font和alignment。对于字体函数font,包括:name=字体名称,size=字体大小,bold=是否加粗,italic=是否斜体,color=字体颜色;对于对于对齐函数alignment,包括:horizontal=水平对齐模式,vertical=垂直对齐模式,text_rotation=旋转角度,wrap_text=是否自动换行。

s34:对高速互联表进行边框、填充样式、行高以及列宽设置。

进一步地,本实施例中获取高速互联表版式的高速信号之后,还包括步骤s4:根据高速信号的脚位信息和信号名,在cadence原理图工程文件中验证高速互联表是否正确。

如果高速互联表正确,执行步骤s5:流程结束。

如果高速互联表不正确,返回步骤s1:重新从cadence原理图工程文件中筛选出待处理高速信号及其对应的脚位信息,直到验证正确为止。

实施例二

在图1-图3所示实施例的基础之上参见图4,图4为本申请实施例所提供的一种批量处理高速信号及其脚位信息的系统的结构示意图。由图4可知,本实施例中批量处理高速信号及其脚位信息的系统,主要包括:筛选模块、排序处理模块和格式调整模块。

其中,筛选模块,用于从cadence原理图工程文件中筛选出待处理高速信号及其对应的脚位信息;排序处理模块,用于利用python的excel数据处理模块,对待处理高速信号进行排序处理,获取目标排列方式的高速信号;格式调整模块,用于对目标排列方式的高速信号进行格式调整,获取高速互联表版式的高速信号。

进一步地,筛选模块包括:提取单元和筛选单元。其中,提取单元用于从cadence原理图工程文件中提取出所有的信号名;筛选单元,用于从所有的信号名中筛选出高速信号的信号名,且任一高速信号的信号名与一个高速信号相匹配。

其中,提取单元又包括:导出子单元、pstxnet.dat文件确定子单元和excel表格转化子单元。其中,导出子单元,用于利用cadence工具,从cadence原理图工程文件中导出archive原理图文件;pstxnet.dat文件确定子单元,用于在archive原理图文件的packaged目录下确定初始格式的pstxnet.dat文件,pstxnet.dat文件中包括:archive原理图中所有的信号名及其对应的脚位信息;excel表格转化子单元,用于调用python工具中的os功能模块和xlwt功能模块,将初始格式的pstxnet.dat文件转化为excel表格形式的pstxnet.dat文件。

排序处理模块包括:选择单元、预处理单元、排序单元和循环单元。其中,选择单元,用于从所有待处理高速信号中选择一组待处理高速信号;预处理单元,用于安装python的excel数据处理模块;排序单元,用于利用excel数据处理模块,进行插入行和移动操作,将一组待处理高速信号按照目标排列方式进行排序;循环单元,用于重新从所有待处理高速信号中选择另一组待处理高速信号,直到所有待处理高速信号按照目标排列方式进行排序完毕。

进一步地,该系统中还包括有验证模块,用于根据高速信号的脚位信息和信号名,在cadence原理图工程文件中验证高速互联表是否正确,如果高速互联表正确,流程结束,否则,启动筛选模块,直到高速互联表正确为止。

该实施例中批量处理高速信号及其脚位信息的系统的工作原理和工作方法,在图1-图3所示的实施例中已经相识阐述,在此不再赘述。

以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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