CN107194065A - 一种pcb设计中检查并设定约束值的方法 - Google Patents

一种pcb设计中检查并设定约束值的方法 Download PDF

Info

Publication number
CN107194065A
CN107194065A CN201710359606.8A CN201710359606A CN107194065A CN 107194065 A CN107194065 A CN 107194065A CN 201710359606 A CN201710359606 A CN 201710359606A CN 107194065 A CN107194065 A CN 107194065A
Authority
CN
China
Prior art keywords
binding occurrence
setting
pcb design
checking
occurrence
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710359606.8A
Other languages
English (en)
Other versions
CN107194065B (zh
Inventor
张敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201710359606.8A priority Critical patent/CN107194065B/zh
Publication of CN107194065A publication Critical patent/CN107194065A/zh
Application granted granted Critical
Publication of CN107194065B publication Critical patent/CN107194065B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明公开了一种PCB设计中检查并设定约束值的方法,它通过编写skill程序进行一键检查并设定约束值,同时根据修改后的约束值更新DRC,从而完成约束值的检查和设定操作。本发明通过编写检查并设定约束值的skill程序,可以实现一键检查并设定约束值,采用本发明的方法可快速检查并设定约束值,简化了设计中手动检查并设定约束值的过程,在提高效率的同时也避免了手动添加可能带来的遗漏和错误。

Description

一种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中添加load skill的语句,其次,在env文件中添加快捷键;
2)打开PCB设计布线工具allegro软件,按下快捷键,点击CM_Set即可运行skill程序;
3)运行完毕后打开约束值设置窗口进行检查添加的约束值是否正确。
进一步地,在PCB设计布线工具的配置文件allegro.ilinit中添加load cns_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指的是Design Rule Checking,即设计规则检查,此检查是基于用户设定的约束值进行,不符的结果用DRC符号标记。综上,设计后期的检查依靠DRC检查,而DRC检查是参照约束值,因此约束值的正确设定与检查十分重要。采用本发明的方法可快速检查并设定约束值,简化了设计中手动检查并设定约束值的过程,在提高效率的同时也避免了手动检查设定可能带来的遗漏和错误。
通过编写快速检查并设定约束值的skill程序,在Allegro(PCB设计布线工具)中执行程序后会跳出弹窗,点击弹窗里的设定约束值功能即可一键检查并设定约束值,设定完成后软件默认更新DRC(设计规则检查)。程序运行后的弹窗如图3所示,CM_Set按钮即为检查并设定约束值的按钮,直接点击运行即可。
图2为本发明所述skill程序的方法流程图,skill程序的具体设计流程如下。首先第一步,需要通过axlDBGetDesignUnit函数对设计单位进行检查,函数的返回值为设计单位和精度的字符串,约束值的设定是只需要设置数值,单位以当前设计的单位为准,例如当前设计单位为mils,约束值就以mils为单位,因此单位不同,设定完的结果完全不同。我司的设计是以两位精度的mils为单位的,因此设定约束值的程序中预置的检查标准为两位精度的mils。接下来第二步,需要创建新约束集,用于设定特殊约束,这个新约束集可以参照默认值新建。在此处是以电源为例添加特殊约束集,事实上,设计中还会添加到其他的特殊约束集,用于设定特殊对象、敏感信号的约束值,不与普通约束集通用。此类特殊约束集根据不同的设计规范会有差异。第三步,获取当前约束项目的关键词列表,这一步骤非常重要。第四步是采用两层循环嵌套的方式逐个获取每个约束集下的每一约束项目的约束值,此处在后文中详细介绍。第五步,检查第四步中获取的约束值的数值,大于等于6mils的跳过,小于6mils的则改为6mils。对于间距类的约束值,数值越大,则更难达到,要求更严格,,此处选择的数值6是我司规范中设定的通用默认值,可视为最低标准。第六步,根据设计规范设定特殊的约束值,这一设定各司会有差异。最后,程序会自动运行约束管理器,让使用者确认、查看结果。
本发明的核心技术要点在于获取当前约束项目的关键词列表和采用两层循环嵌套的方式逐个获取每个约束集下的每一约束项目的约束值。首先,获取当前约束项目的关键词列表是十分必要的,因为软件可以识别的关键词与通用名称有差异,例如’via_via指的是via to via spacing,而uvia_line指的是microvia to line spacing,同时,先后顺序不确定,例如uvia_line和line_uvia在理论上都是指microvia和line对象之间的spacing,但软件只能够识别uvia_line,line_uvia是无效参数。实现方法是通过axlCNSGetSpacing函数的参数全部缺省实现,参数不缺省时获取的是特定间距的约束值,全部缺省则返回约束项目关键词列表。其次,采用两层循环嵌套的方式逐个获取每个约束集下的每一约束项目的约束值,随后进行检查及设定。设计中含有多种约束,每种约束下包含若干约束集,每一约束集下包含若干约束项目,为达到遍历的效果,需要进行两层循环嵌套。外循环对约束集名称循环遍历,内循环对项目关键词循环遍历,两层循环嵌套可以达到覆盖全局的效果。
本发明实现遍历设定特殊约束值的功能的代码如图3所示。其实现方法是获取约束集列表,依次将约束集列表中的每个对象赋给j,再对j中的特殊约束值进行设置,这个特殊约束值可能根据各个公司的设计规范要求有所变化。其中:’via_via指的是via to viaspacing,而thrupin to smdpin只设定BOTTOM层面。
本发明的优点在于可实现一键检查并设定约束值,且不同设计中变化的部分都通过变量控制可以自动获取,没有应用限制,也不需手动修改。采用本发明可快速检查并设定约束值,简化了设计中手动检查并设定约束值的过程,在提高效率的同时,也避免了手动添加可能带来的遗漏和错误。
为将本发明的使用方法和优点表述清楚,以下详细叙述实施方式:
1)进行软件配置文件及快捷键的修改,首先,在allegro.ilinit文件中添加load(“cns_set.il”),其中,cns_set.il为源程序文件,此命令用于加载程序;其次,在env文件中添加快捷键,以按键F3为例,funckey F3cns_set,其中,cns_set为在程序中定义的命令,执行此命令后即运行本发明所指的程序,现在,此命令以快捷键F3代替.
2)打开allegro软件,按下字母F3,点击CM_Set即可运行程序。
3)运行完毕后打开约束值设置窗口,用户可检查添加的是否正确。
现在对上述实施方式的具体实施例结果进行展示:打开一个brd文件可以查看运行程序后得到的结果,以便对约束值的检查与设定。由于此brd文件为空,只有一个默认约束集,名称为DEFAULT。
以上所述只是本发明的优选实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也被视为本发明的保护范围。

Claims (9)

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中,新约束集参照默认值新建,用于设定特殊对象、敏感信号的约束值。
5.根据权利要求3所述的一种PCB设计中检查并设定约束值的方法,其特征是,新约束集包括电源特殊约束集。
6.根据权利要求2所述的一种PCB设计中检查并设定约束值的方法,其特征是,在步骤5,所述标准值为6mils,如果约束值数值大于等于6mils则跳过,否则修改为6mils。
7.根据权利要求1至6任意一项所述的一种PCB设计中检查并设定约束值的方法,其特征是,所述对约束值进行检查并设定的操作过程包括以下步骤:
1)进行skill程序软件配置文件及快捷键的修改,首先,在PCB设计布线工具的配置文件allegro.ilinit中添加load skill的语句,其次,在env文件中添加快捷键;
2)打开PCB设计布线工具allegro软件,按下快捷键,点击CM_Set即可运行skill程序;
3)运行完毕后打开约束值设置窗口进行检查添加的约束值是否正确。
8.根据权利要求7任意一项所述的一种PCB设计中检查并设定约束值的方法,其特征是,在PCB设计布线工具的配置文件allegro.ilinit中添加load cns_set.il源程序文件。
9.根据权利要求7所述的一种PCB设计中检查并设定约束值的方法,其特征是,所述快捷键包括按键F3。
CN201710359606.8A 2017-05-19 2017-05-19 一种pcb设计中检查并设定约束值的方法 Active CN107194065B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710359606.8A CN107194065B (zh) 2017-05-19 2017-05-19 一种pcb设计中检查并设定约束值的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710359606.8A CN107194065B (zh) 2017-05-19 2017-05-19 一种pcb设计中检查并设定约束值的方法

Publications (2)

Publication Number Publication Date
CN107194065A true CN107194065A (zh) 2017-09-22
CN107194065B CN107194065B (zh) 2020-08-25

Family

ID=59874564

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710359606.8A Active CN107194065B (zh) 2017-05-19 2017-05-19 一种pcb设计中检查并设定约束值的方法

Country Status (1)

Country Link
CN (1) CN107194065B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108153963A (zh) * 2017-12-21 2018-06-12 郑州云海信息技术有限公司 一种pcb设计中检查连接器连接层面数的方法
CN108762873A (zh) * 2018-05-29 2018-11-06 郑州云海信息技术有限公司 一种在PCB设计中layout review的装置及方法
CN111367744A (zh) * 2020-03-08 2020-07-03 苏州浪潮智能科技有限公司 一种印刷电路板总成测试方法和装置
CN112115656A (zh) * 2020-09-23 2020-12-22 恒为科技(上海)股份有限公司 一种快速设置内存条约束的方法及装置
CN112770492A (zh) * 2019-10-18 2021-05-07 恒为科技(上海)股份有限公司 一种高速信号过孔的设计方法、系统及存储介质
CN117709294A (zh) * 2024-02-05 2024-03-15 英诺达(成都)电子科技有限公司 集成电路的约束验证方法、装置、电子设备、介质及产品

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060259891A1 (en) * 2005-05-10 2006-11-16 Wei-Fan Ting System and method of generating an auto-wiring script
CN101990672A (zh) * 2008-02-05 2011-03-23 特林布尔规划解决方案股份有限公司 具有动态成本计算的交互式路径规划
CN103049619A (zh) * 2012-12-31 2013-04-17 上海宇芯科技有限公司 一种利用表格完成芯片设计集成功能的方法
CN103593527A (zh) * 2013-11-15 2014-02-19 浪潮电子信息产业股份有限公司 一种一键设置pcb板中不同类型布线规则bga的设计方法
CN105404745A (zh) * 2015-11-30 2016-03-16 惠州市金百泽电路科技有限公司 一种快速设置pcb板层颜色的方法
CN106126813A (zh) * 2016-06-23 2016-11-16 浪潮集团有限公司 一种自动检查高速线线宽的方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060259891A1 (en) * 2005-05-10 2006-11-16 Wei-Fan Ting System and method of generating an auto-wiring script
CN101990672A (zh) * 2008-02-05 2011-03-23 特林布尔规划解决方案股份有限公司 具有动态成本计算的交互式路径规划
CN103049619A (zh) * 2012-12-31 2013-04-17 上海宇芯科技有限公司 一种利用表格完成芯片设计集成功能的方法
CN103593527A (zh) * 2013-11-15 2014-02-19 浪潮电子信息产业股份有限公司 一种一键设置pcb板中不同类型布线规则bga的设计方法
CN105404745A (zh) * 2015-11-30 2016-03-16 惠州市金百泽电路科技有限公司 一种快速设置pcb板层颜色的方法
CN106126813A (zh) * 2016-06-23 2016-11-16 浪潮集团有限公司 一种自动检查高速线线宽的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
杨菊: ""PCB设计规则自动化审查的研究与实现"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108153963A (zh) * 2017-12-21 2018-06-12 郑州云海信息技术有限公司 一种pcb设计中检查连接器连接层面数的方法
CN108762873A (zh) * 2018-05-29 2018-11-06 郑州云海信息技术有限公司 一种在PCB设计中layout review的装置及方法
CN112770492A (zh) * 2019-10-18 2021-05-07 恒为科技(上海)股份有限公司 一种高速信号过孔的设计方法、系统及存储介质
CN111367744A (zh) * 2020-03-08 2020-07-03 苏州浪潮智能科技有限公司 一种印刷电路板总成测试方法和装置
CN111367744B (zh) * 2020-03-08 2022-07-08 苏州浪潮智能科技有限公司 一种印刷电路板总成测试方法和装置
CN112115656A (zh) * 2020-09-23 2020-12-22 恒为科技(上海)股份有限公司 一种快速设置内存条约束的方法及装置
CN117709294A (zh) * 2024-02-05 2024-03-15 英诺达(成都)电子科技有限公司 集成电路的约束验证方法、装置、电子设备、介质及产品
CN117709294B (zh) * 2024-02-05 2024-04-30 英诺达(成都)电子科技有限公司 集成电路的约束验证方法、装置、电子设备、介质及产品

Also Published As

Publication number Publication date
CN107194065B (zh) 2020-08-25

Similar Documents

Publication Publication Date Title
CN107194065A (zh) 一种pcb设计中检查并设定约束值的方法
US8752001B2 (en) System and method for developing a rule-based named entity extraction
US11907107B2 (en) Auto test generator
US9158538B2 (en) User-extensible rule-based source code modification
US20140156282A1 (en) Method and system for controlling target applications based upon a natural language command string
Moore Python GUI Programming with Tkinter: Develop responsive and powerful GUI applications with Tkinter
US8745581B2 (en) Method and system for selectively copying portions of a document contents in a computing system (smart copy and paste
US20120174061A1 (en) Code suggestion in a software development tool
US20060167873A1 (en) Editor for deriving regular expressions by example
US8302069B1 (en) Methods and systems utilizing behavioral data models with variants
CN102467498A (zh) 翻译方法及装置
US9311077B2 (en) Identification of code changes using language syntax and changeset data
CN105446725A (zh) 用于模型驱动开发的方法和系统
JP4001286B2 (ja) プログラム保守支援装置、プログラム保守支援方法、およびプログラム
Nguyen Hands-on application development with PyCharm: Accelerate your Python applications using practical coding techniques in PyCharm
EP4363965A1 (en) Source code synthesis for domain specific languages from natural language text
Monteiro et al. Combining natural language processing and blockchain for smart contract generation in the accounting and legal field
WO2021086704A1 (en) Rules generation using learned repetitive code edits
US8548798B2 (en) Representations for graphical user interfaces of operators, data types, and data values in a plurality of natural languages
CN113821496B (zh) 数据库迁移方法、系统、设备及计算机可读存储介质
WO2023287786A1 (en) Collaborative industrial integrated development and execution environment
CN106681723A (zh) 一种用户界面ui的开发方法和装置
Arbuckle Learning Python Testing
CN110879699A (zh) 领域专用语言dsl的图形化处理方法和设备
Moore et al. Python GUI Programming-A Complete Reference Guide: Develop responsive and powerful GUI applications with PyQt and Tkinter

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20200727

Address after: 215100 No. 1 Guanpu Road, Guoxiang Street, Wuzhong Economic Development Zone, Suzhou City, Jiangsu Province

Applicant after: SUZHOU LANGCHAO INTELLIGENT TECHNOLOGY Co.,Ltd.

Address before: 450018 Henan province Zheng Dong New District of Zhengzhou City Xinyi Road No. 278 16 floor room 1601

Applicant before: ZHENGZHOU YUNHAI INFORMATION TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant