一种PCB设计中检查并设定约束值的方法技术

技术编号:16270178 阅读:24 留言:0更新日期:2017-09-22 21:50
本发明专利技术公开了一种PCB设计中检查并设定约束值的方法,它通过编写skill程序进行一键检查并设定约束值,同时根据修改后的约束值更新DRC,从而完成约束值的检查和设定操作。本发明专利技术通过编写检查并设定约束值的skill程序,可以实现一键检查并设定约束值,采用本发明专利技术的方法可快速检查并设定约束值,简化了设计中手动检查并设定约束值的过程,在提高效率的同时也避免了手动添加可能带来的遗漏和错误。

【技术实现步骤摘要】
一种PCB设计中检查并设定约束值的方法
本专利技术涉及一种PCB设计中检查并设定约束值的方法,属于服务器系统

技术介绍
目前在市场上有多款PCB设计软件,Cadence作为业界应用最广泛的软件,不仅是它拥有强大的功能和多款相关软件做支撑,还因为它提供了开放式的二次开发接口和较为完善的开发语言库,用户可根据自身的需要进行开发。skill语言是Cadence软件内置的一种基于C语言和LISP语言的高级编程语言,Cadence为skill语言提供了丰富的交互式函数,研究skill语言继而编写工具,投入应用可以大大提高工作效率。但是,目前的PCB设计软件中对约束值的检查和设定均是采用人工手动操作,人工手动操作不仅效率低,而且还经常出现遗漏和错误。
技术实现思路
针对上述不足,本专利技术提供了一种PCB设计中检查并设定约束值的方法,其能够实现一键检查并设定约束值的功能。本专利技术解决其技术问题采取的技术方案是:一种PCB设计中检查并设定约束值的方法,其特征是,它通过编写skill程序进行一键检查并设定约束值,同时根据修改后的约束值更新DRC。进一步地,所述skill程序包括以下步骤:步骤1,对设计单位进行检查:通过axlDBGetDesignUnit函数对设计单位进行检查,axlDBGetDesignUnit函数的返回值为设计单位和精度的字符串,约束值的设定是只需要设置数值,约束值以mils为单位(约束值的单位参考当前设计,因此需要对当前设计单位进行检查);步骤2,创建新约束集:创建新约束集用于设定特殊约束;步骤3,获取当前约束集约束项目的关键词列表;步骤4,采用两层循环嵌套的方式逐个获取每个约束集下的每一约束项目的约束值;步骤5,检查获取的约束值数值,如果约束值数值大于等于标准值则跳过,否则修改为标准值;步骤6,根据设计规范设定特殊的约束值;步骤7,运行约束管理器显示设计效果。进一步地,在步骤1中,约束值以以两位精度的mils为单位,设定约束值过程中预置的检查标准为两位精度的mils。进一步地,在步骤2中,新约束集参照默认值新建,用于设定特殊对象、敏感信号的约束值。进一步地,新约束集包括电源特殊约束集。进一步地,在步骤5,所述标准值为6mils,如果约束值数值大于等于6mils则跳过,否则修改为6mils。进一步地,所述对约束值进行检查并设定的操作过程包括以下步骤:1)进行skill程序软件配置文件及快捷键的修改,首先,在PCB设计布线工具的配置文件allegro.ilinit中添加loadskill的语句,其次,在env文件中添加快捷键;2)打开PCB设计布线工具allegro软件,按下快捷键,点击CM_Set即可运行skill程序;3)运行完毕后打开约束值设置窗口进行检查添加的约束值是否正确。进一步地,在PCB设计布线工具的配置文件allegro.ilinit中添加loadcns_set.il源程序文件。进一步地,所述快捷键包括按键F3。本专利技术的有益效果是:本专利技术通过编写检查并设定约束值的skill程序,可以实现一键检查并设定约束值,采用本专利技术的方法可快速检查并设定约束值,简化了设计中手动检查并设定约束值的过程,在提高效率的同时也避免了手动添加可能带来的遗漏和错误。本专利技术的优点在于可实现一键检查并设定约束值,且不同设计中变化的部分都通过变量控制可以自动获取,没有应用限制,也不需手动修改。附图说明下面结合说明书附图对本专利技术进行说明。图1为本专利技术的方法流程图;图2为本专利技术所述skill程序的方法流程图;图3为本专利技术运行skill程序后跳出弹窗的示意图。具体实施方式为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本专利技术进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本专利技术的不同结构。为了简化本专利技术的公开,下文中对特定例子的部件和设置进行描述。此外,本专利技术可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本专利技术省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本专利技术。本专利技术的一种PCB设计中检查并设定约束值的方法,它通过编写skill程序进行一键检查并设定约束值,同时根据修改后的约束值更新DRC。如图1所示,本专利技术的实现过程为:首先编写快速检查并设定约束值的skill程序,其次在PCB设计布线工具中执行skill程序,然后点击运行skill程序后跳出弹窗里的设定约束值功能按钮进行一键检查并设定约束值,最后根据修改后的约束值更新DRC,从而完成约束值的检查和设定操作。进一步地,如图2所述,所述skill程序包括以下步骤:步骤1,对设计单位进行检查:通过axlDBGetDesignUnit函数对设计单位进行检查,axlDBGetDesignUnit函数的返回值为设计单位和精度的字符串,约束值的设定是只需要设置数值,约束值以mils为单位(约束值的单位参考当前设计,因此需要对当前设计单位进行检查);步骤2,创建新约束集:创建新约束集用于设定特殊约束;步骤3,获取当前约束集约束项目的关键词列表;步骤4,采用两层循环嵌套的方式逐个获取每个约束集下的每一约束项目的约束值;步骤5,检查获取的约束值数值,如果约束值数值大于等于标准值则跳过,否则修改为标准值;步骤6,根据设计规范设定特殊的约束值;步骤7,运行约束管理器显示设计效果。在PCB设计中,前期需要设定约束值对设计进行约束,这些约束包含物理约束、间距约束、电气约束等不同约束集,而每一约束集下分为多个约束项目及其数值,检查与设定过程繁琐。同时,设计过程中可能修改会对约束值数值有所修改。在后期检查过程中,所有的约束值必须是正确的设定,这样才能正确显示出DRC并进行相应的修改。其中,DRC指的是DesignRuleChecking,即设计规则检查,此检查是基于用户设定的约束值进行,不符的结果用DRC符号标记。综上,设计后期的检查依靠DRC检查,而DRC检查是参照约束值,因此约束值的正确设定与检查十分重要。采用本专利技术的方法可快速检查并设定约束值,简化了设计中手动检查并设定约束值的过程,在提高效率的同时也避免了手动检查设定可能带来的遗漏和错误。通过编写快速检查并设定约束值的skill程序,在Allegro(PCB设计布线工具)中执行程序后会跳出弹窗,点击弹窗里的设定约束值功能即可一键检查并设定约束值,设定完成后软件默认更新DRC(设计规则检查)。程序运行后的弹窗如图3所示,CM_Set按钮即为检查并设定约束值的按钮,直接点击运行即可。图2为本专利技术所述skill程序的方法流程图,skill程序的具体设计流程如下。首先第一步,需要通过axlDBGetDesignUnit函数对设计单位进行检查,函数的返回值为设计单位和精度的字符串,约束值的设定是只需要设置数值,单位以当前设计的单位为准,例如当前设计单位为mils,约束值就以mils为单位,因此单位不同,设定完的结果完全不同。我司的设计是以两位精度的mils为单位的,因此设定约束值的程序中预置的检查标准为两位精度的mils。接下来第二步,需要创建新约束集,用于设定特殊约束,这个本文档来自技高网...
一种PCB设计中检查并设定约束值的方法

【技术保护点】
一种PCB设计中检查并设定约束值的方法,其特征是,它通过编写skill程序进行一键检查并设定约束值,同时根据修改后的约束值更新DRC。

【技术特征摘要】
1.一种PCB设计中检查并设定约束值的方法,其特征是,它通过编写skill程序进行一键检查并设定约束值,同时根据修改后的约束值更新DRC。2.根据权利要求1所述的一种PCB设计中检查并设定约束值的方法,其特征是,所述skill程序包括以下步骤:步骤1,对设计单位进行检查:通过axlDBGetDesignUnit函数对设计单位进行检查,axlDBGetDesignUnit函数的返回值为设计单位和精度的字符串,约束值的设定是只需要设置数值,约束值以mils为单位;步骤2,创建新约束集:创建新约束集用于设定特殊约束;步骤3,获取当前约束集约束项目的关键词列表;步骤4,采用两层循环嵌套的方式逐个获取每个约束集下的每一约束项目的约束值;步骤5,检查获取的约束值数值,如果约束值数值大于等于标准值则跳过,否则修改为标准值;步骤6,根据设计规范设定特殊的约束值;步骤7,运行约束管理器显示设计效果。3.根据权利要求2所述的一种PCB设计中检查并设定约束值的方法,其特征是,在步骤1中,约束值以以两位精度的mils为单位,设定约束值过程中预置的检查标准为两位精度的mils。4.根据权利要求2所述的一种PCB设计中检查并设定约束值的方法,其特征是,在步骤2中,新约束集参照默认值...

【专利技术属性】
技术研发人员:张敏
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1