本发明涉及电子设计自动化技术领域,具体提供一种检测电源线宽的方法。
背景技术:
随着电子信息技术的快速发展,电子产品已经快速融入到人们的生活中,科技的飞速发展,推动着电子产品的更新换代。随着集成电路高密度化的发展,提升以电子设计自动化EDA(Electronic Design Automation)设计软件进行PCB布线的需求,该自动布线方法具有完成速度快、准确性高等特点,更能适应市场对产品设计提出的要求。然而,在PCB板进行布线的过程中,电源线宽存在不符合规定要求的现象,从而影响PCB设计的品质。现有技术中,通过人工方式进行电源线宽检测及调整,但是,人工方式不仅时间长、效率低,而且调整过程中由于存在人为原因,容易发生调整错误的现象,为PCB品质带来很不利的影响。
技术实现要素:
本发明的技术任务是针对上述存在的问题,提供一种能自动的检测电源线宽,从而确保PCB设计的品质的检测电源线宽的方法。
为实现上述目的,本发明提供了如下技术方案:
一种检测电源线宽的方法,该方法调用Skill程序扫描捕捉电源线宽坐标的代码,通过调用电源线宽坐标,进行逐一检查,检测电源线宽是否符合标准,具体包括以下步骤:
S1:打开Skill程序,输入需检测电源线宽的名字;
S2:输入电源线宽最低标准;
S3:运行Skill程序,检测电源线宽是否符合标准;
S4:对不符合标准的电源线宽进行分类并给出具体坐标;
S5:修改不符合标准的电源线宽;
S6:再次运行Skill程序,点击不符合标准的坐标,再次进行检测电源线宽是否符合标准。
通过运行Skill程序检测PCB电源走线是否达到设计要求。打开Skill程序将,输入需要检测的电源线宽的名字及电源线宽的最低标准。检测PCB整板上电源线的分布并记录相应的坐标。根据记录的坐标对电源线宽进行逐一检测是否满足最低线宽要求,若满足最低线宽要求则输出DONE命令,若不满足最低线宽要求则对不满足线宽要求的坐标进行整理记录,运行完毕后输出不满足线宽要求的坐标。对不满足要求的线宽进行修改,再次运行Skill程序,点击不符合标准的坐标,再次进行检测电源线宽是否符合标准。
作为优选,所述步骤S1中,对不同位置的电源线宽分别命名。
作为优选,所述步骤S5中,人工修改不符合标准的电源线宽,人工修改后再次运行Skill程序,进行电源线宽的检测。
与现有技术相比,本发明具有以下突出的有益效果:本发明所述检测电源线宽的方法能够通过运行Skill程序自动的检测PCB整板电源线宽是否符合标准要求,对不符合标准要求的电源线宽人工进行修改后,再次运行Skill程序进行检测,直到电源线宽符合标准要求,提高了PCB的设计品质。
附图说明
图1是本发明所述检测电源线宽的方法的流程示意图。
具体实施方式
下面将结合附图和实施例,对本发明的检测电源线宽的方法作进一步详细说明。
实施例
如图1所示,本发明的检测电源线宽的方法调用Skill程序扫描捕捉电源线宽坐标的代码,通过调用电源线宽坐标,进行逐一检查,检测电源线宽是否符合标准,Skill程序设置在Cadence软件。
具体包括以下步骤:
S1:打开Skill程序,输入需检测电源线宽的名字。
将PCB上不同位置的线宽进行分别命名,对不同的电源线宽进行逐一检测,提高检测的准确性。
S2:输入电源线宽最低标准。
S3:运行Skill程序,检测电源线宽是否符合标准。当满足该最低标准时输出DONE命令。
S4:对不符合标准的电源线宽进行分类并给出具体坐标。以便进行后续步骤的检测。
S5:修改不符合标准的电源线宽。人工修改不符合标准的电源线宽。
S6:再次运行Skill程序,点击不符合标准的坐标,再次进行检测电源线宽是否符合标准。人工修改电源线宽后,再次运行Skill程序,检测修改后的电源线宽是否符合标准。
检测过程中Skill程序的运行代码如下:
;; if the boundary line crosses too close to the end
;; of the cline segment the intermediate x/y location (P3x,P3y)
;; may be greater than the end of the segment (p4x,p4y). If
;; this is the case then just delete the entire section from the
;; boundary line.
if( p4x > p3x then
axlDBCreateLine(cline1 segwidth etchlayer segnetname)
axlDBCreateLine(cline2 segwidth etchlayer segnetname)
else
axlDBCreateLine(cline1 segwidth etchlayer segnetname)
); endif
); End positive slope crossing bottom horizontal boundary line.
(;; Slope Crosses Negative Bottom Horizontal Boundary line.
(cXbeg > vlx && cXbeg < vrx && cYbeg < hty && cYbeg > hby && cYend < hby)
if(debug then
axlUIWPrint(nil " - Found Negative line crossing BOTTOM Horizontal line. -")
); endif
p1x = cXbeg
p1y = cYbeg
p4x = cXend
p4y = cYend
p3x = p4x - ( (hby - p4y) / abs(cslope))
p3y = hby
p2x = p3x - (cutwidth / abs(cslope))
p2y = p3y + cutwidth
cline1 = list(list(p1x p1y) list(p2x p2y))
cline2 = list(list(p3x p3y) list(p4x p4y))
etchlayer = cseg->layer
segnetname = cseg->net->name
segwidth = cseg->width
axlDeleteObject(cseg)
if(p1x < p2x then
axlDBCreateLine(cline1 segwidth etchlayer segnetname)
axlDBCreateLine(cline2 segwidth etchlayer segnetname)
else
axlDBCreateLine(cline2 segwidth etchlayer segnetname)
); endif
本发明所述检测电源线宽的方法的过程为:对PCB上不同电源线进行命名,打开Skill程序将需要检测的电源线宽的名字及对应的电源线宽的最低标准输入到程序中。检测PCB整板上电源线信号的分布并记录相应的坐标。根据记录的坐标对电源线宽进行逐一检测是否符合最低线宽标准,若符合最低线宽标准则输出DONE命令,若不符合最低线宽标准则对不符合线宽标准的坐标进行整理记录,运行完毕后输出不符合线宽标准的坐标。对不符合标准的电源线宽进行人工修改,再次运行Skill程序,点击不符合标准的坐标,再次进行检测电源线宽是否符合标准,直至所有电源线宽符合标准要求。
以上所述的实施例,只是本发明较优选的具体实施方式,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。