CN111209717A - 分别输出表底层器件坐标的方法 - Google Patents
分别输出表底层器件坐标的方法 Download PDFInfo
- Publication number
- CN111209717A CN111209717A CN202010013966.4A CN202010013966A CN111209717A CN 111209717 A CN111209717 A CN 111209717A CN 202010013966 A CN202010013966 A CN 202010013966A CN 111209717 A CN111209717 A CN 111209717A
- Authority
- CN
- China
- Prior art keywords
- component
- file
- information
- bottom layer
- outputting
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 239000010410 layer Substances 0.000 claims abstract description 32
- 239000002344 surface layer Substances 0.000 claims abstract description 13
- 238000004806 packaging method and process Methods 0.000 claims description 5
- 238000013461 design Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 239000000203 mixture Substances 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 101100275316 Danio rerio comtb gene Proteins 0.000 description 1
- 208000035155 Mitochondrial DNA-associated Leigh syndrome Diseases 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 208000003531 maternally-inherited Leigh syndrome Diseases 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了电路板技术领域中的一种分别输出表底层器件坐标的方法,在Allegro软件中加载quick_placebyTB的执行文件,依次判断每一个元器件的管脚是否被镜像,若该元器件的管脚被镜像,则将该元器件的信息列表输出到底层文件中,反之则输出到表层文件中。本发明使用Allegro软件提供的扩展skill接口,同样可以输出器件坐标文件,而且可以分别输出表底层器件坐标文件,缩短时间,提高效率。
Description
技术领域
本发明涉及电路板技术领域,具体的说,是涉及一种分别输出表底层器件坐标的方法。
背景技术
作为电子元器件电气连接载体的印制电路板(Printed Circuit Board,PCB板),被广泛运用于各种领域。随着高速时代的发展和电子产品的不断更新换代,电子产品实现的功能越来越多,产品上使用的元器件个数也随之增多,使得PCB板的设计越来越复杂。
在PCB板制作过程中,摆放完元器件后进行贴片的时候,需要使用到各个元器件的坐标。而在许多场合,进行PCB设计时需要将表底层元器件的坐标分开。然而进行PCB设计时用到的Allegro软件输出的器件坐标报表中,表底层器件是在一起的,这就需要设计人员从输出的报表文件中,利用Excel或其他软件进行筛选,才能做出表底层器件坐标分开的文件。然而这种操作方式花费了大量的时间和精力去完成,且容易造成筛选结果误差大的缺陷。
上述缺陷,值得解决。
发明内容
为了克服现有的技术的不足,本发明提供一种分别输出表底层器件坐标的方法。
本发明技术方案如下所述:
分别输出表底层器件坐标的方法,其特征在于,在Allegro软件中加载quick_placebyTB的执行文件,依次判断每一个元器件的管脚是否被镜像,若该元器件的管脚被镜像,则将该元器件的信息列表输出到底层文件中,反之则输出到表层文件中。
根据上述方案的本发明,其特征在于,通过Allegro软件提供的扩展skill接口,将quick_placebyTB执行文件写入到Allegro软件中。
进一步的,修改D:\Cadence\SPB_16.6\share\local\pcb\skill下的allegro.ilinit文件,在里面添加load("quick_placebyTB.il")的代码,使得Allegro软件能够执行分别输出表底层器件坐标的指令。
根据上述方案的本发明,其特征在于,在识别元器件管脚是否被镜像并输出表底层文件的过程中,具体包括:
定义输出文件,并将确定的坐标单位信息输出到定义的输出文件中;
根据整板摆放的元器件获取整板的总元器件信息列表,然后判断元器件管脚的isMirrored信息;
输出元器件列表信息;
所有元器件的信息判断完成后,输出到定义的输出文件上面。
进一步的,在输出元器件列表信息的过程中,
(1)先获取元器件的参考信息,创建列表;
(2)获取元器件的X变量、Y变量,通过X变量、Y变量分别提取元器件的X坐标值和Y坐标值,创建列表;
(3)通过获取元器件的旋转变量,提取元器件的角度,创建列表;
(4)获取元器件的封装信息,创建列表。
根据上述方案的本发明,其有益效果在于,本发明使用Allegro软件提供的扩展skill接口,通过skill程序分别输出表底层器件坐标,减少通过利用excel表格或者其它软件,经过筛选后,才能做出表底层器件坐标分开的文件所花的时间,提高效率。
附图说明
图1为本发明的实现流程图。
图2为本发明输出元器件列表的流程图。
具体实施方式
下面结合附图以及实施方式对本发明进行进一步的描述:
一种分别输出表底层器件坐标的方法,通过Allegro软件提供的扩展skill接口,对整板的元器件数据库进行编辑操作,通过修改Allegro软件的部分配置文件,从而对整板放置的元器件数据库进行直接修改。
在本实施例中,通过Allegro软件提供的扩展skill接口,将quick_placebyTB执行文件写入到Allegro软件中。具体的,修改D:\Cadence\SPB_16.6\share\local\pcb\skill下的allegro.ilinit文件,在里面添加load("quick_placebyTB.il")的代码,使得Allegro软件能够执行分别输出表底层器件坐标的指令。该代码含义是在Allegro软件中加载此执行文件,文件名为“quick_placebyTB”。将文件quick_placebyTB.il放到Allegro设计文件同一目录下,执行命令将加载此目录下的执行文件并运行,该目录为skill文件的存放目录。
打开要输出坐标的PCB,在allegro的Command栏中敲入quick_tb,然后点击Enter,place_Bot.txt和place_Top.txt就会在该PCB的文件夹下生成。本实施例通过判断每一个元器件的管脚是否被镜像来判断该元器件为表层和底层区分开来。若该元器件的管脚被镜像,则将该元器件的信息列表输出到底层文件place_Bot.txt中,反之则输出到表层文件place_Top.txt中。
如图1所示,在识别元器件管脚是否被镜像并输出表底层文件的过程中,具体包括:
1、定义输出文件,并将确定的坐标单位信息(如“UUNITS=MILS”),并输出到定义的输出文件中。
部分代码如下:
defun(quick_placebyTB()/*定义主函数quick_placebyTB*/
cur_units=axlGetParam("paramDesign")->units/*通过获取指定paramDesign参数的dbid获取单位值*/
outputtitle=strcat("UUNITS="upperCase(cur_units))/*将单位值由小写转化为大写字母*/
writep1=outfile("./place_Bot.txt")
writep2=outfile("./place_Top.txt")
fprintf(writep1,outputtitle)/*将单位信息分别在两个文件中打印输出*/
fprintf(writep2,outputtitle)
fprintf(writep1,"\n")
fprintf(writep2,"\n")
close(writep1)
close(writep2)
2、(1)根据整板摆放的元器件获取整板的总元器件信息列表。
部分代码如下:
allcomDB=axlDBGetDesign()->components/*获取所有components的dbid*/
foreach(comDB allcomDB/*循环创建pin_dbid的链表及输出到文件*/
(2)判断元器件管脚的isMirrored信息。
部分代码如下:
cur_compinslist=comDB->pins/*创建获取pins bdid的链表cur_compinslist*/
cur_compin=car(cur_compinslist)/*获取链表cur_compinslist第一个参数*/
cur_comTB=cur_compin->isMirrored/*判断此pin是否镜像即是在top层还是bot层,调用子函数outputloc分别打印输出到两个文件*/
if(equal(cur_comTB t);bottom
then
outputloc(comDB"./place_Bot.txt")
else
outputloc(comDB"./place_Top.txt")
)
3、输出元器件列表信息。
如图2所示,在输出元器件列表信息的过程中,根据PCB文件上面的元器件数据库信息(元器件的Reference;X坐标、Y坐标;元器件在板上的摆放角度;元器件封装信息等),定义输出函数outputloc(compdbid loctiontxt),然后通过此函数去查找和获取相应的元器件数据库信息,创建列表。具体的:
(1)先获取元器件的参考信息(如R1),创建列表;
(2)获取元器件的X变量、Y变量,通过X变量、Y变量分别提取元器件的X坐标值和Y坐标值,创建列表;
(3)通过获取元器件的旋转变量,提取元器件的角度(如0,90度等),创建列表;
(4)获取元器件的封装信息(如R0402),创建列表。
部分代码如下:
defun(outputloc(compdbid loctiontxt)/*定义子函数outputloc,通过pin_dbid查找相关信息,输出*/
cur_comref=compdbid->name;string"U52"/*获取器件位号,创建链表cur_comref*/
cur_comloc=compdbid->symbol->xy;list'(x y)flonum/*获取器件的x和y坐标,创建链表cur_comloc*/
comrot=compdbid->symbol->rotation;flonum90/*获取器件是否旋转,创建器件旋转角度链表comrot*/
cur_comnam=compdbid->symbol->name;string"SO-8"/*获取器件封装名创建链表cur_comnam(封装名字母如SC0402)*/
xloc=sprintf(nil"%f"car(cur_comloc))/*获取链表cur_comloc第一元素即所有x坐标值*/
yloc=sprintf(nil"%f"nth(1cur_comloc))/*获取链表cur_comloc第二元素即所有y坐标值*/
cur_comrot=sprintf(nil"%f"comrot)/*获取链表cur_comrot中所有的角度值*/
4、所有元器件的信息判断完成后,输出到定义的输出文件上面。
部分代码如下:
writep=outfile(loctiontxt"a")/*定义变量writep将相关信息通过此变量打印输出*/
fprintf(writep,cur_comref)
fprintf(writep,"")
fprintf(writep,xloc)
fprintf(writep,"")
fprintf(writep,yloc)
fprintf(writep,"")
fprintf(writep,cur_comrot)
fprintf(writep,"")
fprintf(writep,cur_comnam)
fprintf(writep,"\n")
close(writep)
本发明使用Allegro软件提供的扩展skill接口,同样可以输出器件坐标文件,而且可以分别输出表底层器件坐标文件,缩短时间,提高效率。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。
上面结合附图对本发明专利进行了示例性的描述,显然本发明专利的实现并不受上述方式的限制,只要采用了本发明专利的方法构思和技术方案进行的各种改进,或未经改进将本发明专利的构思和技术方案直接应用于其它场合的,均在本发明的保护范围内。
Claims (7)
1.分别输出表底层器件坐标的方法,其特征在于,在Allegro软件中加载quick_placebyTB执行文件,依次判断每一个元器件是位于表层还是底层,并将该元器件的信息列表输出到对应的表层文件或底层文件中。
2.根据权利要求1所述的分别输出表底层器件坐标的方法,其特征在于,通过Allegro软件提供的扩展skill接口,将quick_placebyTB执行文件加载到Allegro软件中。
3.根据权利要求2所述的分别输出表底层器件坐标的方法,其特征在于,修改D:\Cadence\SPB_16.6\share\local\pcb\skill下的allegro.ilinit文件,在里面添加load("quick_placebyTB.il")的代码,使得Allegro软件能够执行分别输出表底层器件坐标的指令。
4.根据权利要求1所述的分别输出表底层器件坐标的方法,其特征在于,通过判断元器件的管脚是否被镜像,来判断元器件是位于表层还是底层:若该元器件的管脚被镜像,则将该元器件的信息列表输出到底层文件中,反之则输出到表层文件中。
5.根据权利要求4所述的分别输出表底层器件坐标的方法,其特征在于,在识别元器件管脚是否被镜像并输出表底层文件的过程中,具体包括:
定义输出文件,并将确定的坐标单位信息输出到定义的输出文件中;
根据整板摆放的元器件获取整板的总元器件信息列表,然后判断元器件管脚的isMirrored信息;
分别输出元器件列表信息至表层文件和底层文件中;
所有元器件的信息判断完成后,输出到定义的输出文件上面。
6.根据权利要求5所述的分别输出表底层器件坐标的方法,其特征在于,元器件信息列表包括元器件的Reference;X坐标、Y坐标;元器件在板上的摆放角度;元器件封装信息。
7.根据权利要求6所述的分别输出表底层器件坐标的方法,其特征在于,在输出元器件列表信息的过程中,
(1)先获取元器件的参考信息,创建列表;
(2)获取元器件的X变量、Y变量,通过X变量、Y变量分别提取元器件的X坐标值和Y坐标值,创建列表;
(3)通过获取元器件的旋转变量,提取元器件的角度,创建列表;
(4)获取元器件的封装信息,创建列表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010013966.4A CN111209717B (zh) | 2020-01-07 | 2020-01-07 | 分别输出表底层器件坐标的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010013966.4A CN111209717B (zh) | 2020-01-07 | 2020-01-07 | 分别输出表底层器件坐标的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111209717A true CN111209717A (zh) | 2020-05-29 |
CN111209717B CN111209717B (zh) | 2024-01-23 |
Family
ID=70789554
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010013966.4A Active CN111209717B (zh) | 2020-01-07 | 2020-01-07 | 分别输出表底层器件坐标的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111209717B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113836843A (zh) * | 2021-09-27 | 2021-12-24 | 深圳创维-Rgb电子有限公司 | 一种pcb元器件信息对比方法、装置、终端及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030065755A (ko) * | 2002-01-31 | 2003-08-09 | 현대자동차주식회사 | 차량용 전기 회로도의 이미지 파일 생성방법 |
CN105447240A (zh) * | 2015-11-17 | 2016-03-30 | 浪潮集团有限公司 | 一种自动建立pcb设计层面和底片的实现方法 |
CN105825032A (zh) * | 2016-04-08 | 2016-08-03 | 浪潮集团有限公司 | 一种自动得出结构框中心坐标的方法 |
CN105912768A (zh) * | 2016-04-08 | 2016-08-31 | 浪潮集团有限公司 | 一种自动测量板卡尺寸的方法 |
CN106020830A (zh) * | 2016-05-25 | 2016-10-12 | 浪潮集团有限公司 | 一种Allegro软件中自动删除unconnected via的方法 |
CN107085641A (zh) * | 2017-04-21 | 2017-08-22 | 济南浪潮高新科技投资发展有限公司 | 一种Allegro软件中快速定位铜皮void的方法 |
CN107480369A (zh) * | 2017-08-10 | 2017-12-15 | 郑州云海信息技术有限公司 | 一种pcb设计中分类显示drc的设计、操作方法 |
-
2020
- 2020-01-07 CN CN202010013966.4A patent/CN111209717B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030065755A (ko) * | 2002-01-31 | 2003-08-09 | 현대자동차주식회사 | 차량용 전기 회로도의 이미지 파일 생성방법 |
CN105447240A (zh) * | 2015-11-17 | 2016-03-30 | 浪潮集团有限公司 | 一种自动建立pcb设计层面和底片的实现方法 |
CN105825032A (zh) * | 2016-04-08 | 2016-08-03 | 浪潮集团有限公司 | 一种自动得出结构框中心坐标的方法 |
CN105912768A (zh) * | 2016-04-08 | 2016-08-31 | 浪潮集团有限公司 | 一种自动测量板卡尺寸的方法 |
CN106020830A (zh) * | 2016-05-25 | 2016-10-12 | 浪潮集团有限公司 | 一种Allegro软件中自动删除unconnected via的方法 |
CN107085641A (zh) * | 2017-04-21 | 2017-08-22 | 济南浪潮高新科技投资发展有限公司 | 一种Allegro软件中快速定位铜皮void的方法 |
CN107480369A (zh) * | 2017-08-10 | 2017-12-15 | 郑州云海信息技术有限公司 | 一种pcb设计中分类显示drc的设计、操作方法 |
Non-Patent Citations (1)
Title |
---|
刘斌峰等: "SMT 产前数据快速准备软件设计与开发" * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113836843A (zh) * | 2021-09-27 | 2021-12-24 | 深圳创维-Rgb电子有限公司 | 一种pcb元器件信息对比方法、装置、终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111209717B (zh) | 2024-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109543307B (zh) | Pcb设计版图的开短路检查方法、检测系统及电子设备 | |
US8037436B2 (en) | Circuit verification apparatus, a method of circuit verification and circuit verification program | |
US7590963B2 (en) | Integrating multiple electronic design applications | |
US20180341741A1 (en) | Method for performing netlist comparison based on pin connection relationship of components | |
US20060259891A1 (en) | System and method of generating an auto-wiring script | |
US6629307B2 (en) | Method for ensuring correct pin assignments between system board connections using common mapping files | |
CN106020830A (zh) | 一种Allegro软件中自动删除unconnected via的方法 | |
CN104346502B (zh) | 一种基于odb++文件转化为可编辑pcb版图的方法 | |
CN102982217B (zh) | 丝印的处理方法和装置 | |
CN111209717A (zh) | 分别输出表底层器件坐标的方法 | |
CN101364174B (zh) | 印刷电路板测试文件生成系统及方法 | |
US7111275B2 (en) | Electronic circuit design analysis system | |
US7519937B2 (en) | Circuit diagram processing system and method | |
CN109543327A (zh) | 一种pcb设计中零件摆放方法及装置 | |
CN110750462A (zh) | 一种fpga白盒测试平台 | |
CN111625879A (zh) | 一种能在PCB上快速抓取元器件Group的方法 | |
CN106980518A (zh) | 工艺设计文件批量检查的方法 | |
CN110489297A (zh) | 一种基于图形界面的fpga调试信号设置方法 | |
CN115993961A (zh) | 一种基于GaAs和FO-WLP工艺异质异构集成PDK的开发方法 | |
CN113721824B (zh) | 一种cr5000平台一键设置库路径的方法 | |
JP2940124B2 (ja) | 基板cad装置 | |
CN110852035A (zh) | 可自主学习的pcb设计平台 | |
JPH04246778A (ja) | 半導体集積回路の配置方式 | |
CN109857380A (zh) | 一种工作流文件编译方法及装置 | |
US7299441B2 (en) | Method for improving efficiency in laying out electronic components |
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 | ||
CB02 | Change of applicant information |
Address after: 11F, Metro financial technology building, 9819 Shennan Avenue, Shenda community, Yuehai street, Nanshan District, Shenzhen, Guangdong 518000 Applicant after: EDADOC Co.,Ltd. Address before: 518000 Kangjia R&D Building, 28 Sci-tech South 12 Road, Nanshan District, Shenzhen City, Guangdong Province, 12H-12I, 12th floor Applicant before: EDADOC Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |