找回密码
 注册
关于网站域名变更的通知
查看: 39489|回复: 76
打印 上一主题 下一主题

IPC网表文件详解和相应软件的操作

  [复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2015-6-11 16:23 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
IPC网表和相应软件的操作
什么是ipc网表文件?
准确的说应该是IPC-D-356网表文件,大家简称ipc网表文件。
它是一种特定格式的记录设计文件各逻辑关系的网络集合文件。
详细见以下英文描述(翻译水平有限就不翻译了)
The IPC-D-356 format was designed to define a standard netlist format by which bare board
+ M9 t0 n+ Q) J: ~test information can be represented. In the simplest of forms, this means it must be able to store
6 G7 E8 V, z( D' `! znetlist information along with XY coordinates, and even reference designators and pin numbers
, ^" F/ V6 E. G, l: c(if they exist). I feel like ending this article here before it gets unmanageable, but then Pete
% j9 H9 ^% {7 Q( e! _Waddell wouldn’t be happy, so let’s proceed. If all the information that a test system would
5 W% }8 Y$ @0 g) rneed to know to verify and test a bare board could be represented in a single file, it would bring
$ u, A# w$ m: H# R# O9 h- |/ Zconsistency to the testing world. IPC-D-356 does just that.
The IPC-D-356 format can carry a lot of information such as comments, format specifiers, field9 T5 \- K  _7 {) _) k7 T6 j% p/ ~
parameters
5 U! D5 O- J8 S# O( [" h
为什么要网表对比操作?主要是以下2点
1,pcb软件输出的光绘文件,有时会变异,会造成开短路,通过对比能保证网络一致性(概率很小)
2,工厂端通常要修改设计文件以便符合生产,修改当中就可能会造成开短路,通过对比可以保证网络一致性(作用主要是此点,保障工厂修改完的文件网络没有问题)
Since testing bare boards is a manufacturing process, the design engineer seldom thinks about* I5 G( J( q- U7 J' [0 a
the problem of testing the PCB before it is stuffed with parts. Therefore, most CAD packages
+ ?6 Z5 X  M1 i( @do not even provide the option of exporting a coordinate based netlist in this format. CAM
8 W8 g% l# h& ]8 {8 O$ G) s: \- j/ wsoftware is the common source of this information. Net connectivity is computed from the
0 Z1 D3 p* |2 cGerber data and the file is exported. Nets are numbered because the original CAD netlist was
3 N, W+ S/ _$ y) E7 |  R. onot used. The RefDes/Pin# fields are also not filled in because this information does not exist in$ J% W. W+ e) @6 W2 @
the Gerber data. The IPC-D-356 file is then read by the bare board test system. The net
7 R8 A/ c6 Y2 {/ w8 c' N' Rinformation replaces the need for the old “golden board” technique. This process is the way the
2 ?% ~9 o9 W2 u; Pmajority of the industry is working today.

7 u- j" q! }9 ^% C, ?8 @/ S
; G! _) S+ I5 H# ~
4 n  d: z+ u+ b) h9 m* m
- V" ~# p2 k3 E) w
/ O9 [0 i- U6 {  p8 @( K4 o

该用户从未签到

推荐
 楼主| 发表于 2015-6-26 16:33 | 只看该作者
Cam350对比网表:) |; l  {. |% r  x, U
详见附件(同事写的文档,拿来给大家参考
/ v4 r4 W( t4 A' ]/ \( W- e/ C. s% `0 j
1 a1 V/ V. Q: Q5 H; O# R1 ^8 O

cam350对比网表.rar

957.67 KB, 下载次数: 1681, 下载积分: 威望 -5

点评

楼主提供个盲埋孔板的IPC网表对比呀  详情 回复 发表于 2015-11-17 00:33

该用户从未签到

推荐
 楼主| 发表于 2015-6-12 08:51 | 只看该作者
allegro输出的ipc网表(最规范的文件,严格按ipc格式要求)3 a9 u) C4 D5 q/ r

- w# ^) K* [+ |8 e: I0 x/ m1 {9 D5 `9 B( c1 M% U
protel输出的ipcb网表; H& \3 p- |$ Z3 |, T0 d) `; n# j

4 o$ q4 ?' T. Y" N
( p  F2 C9 r4 l, Wmentor输出的ipc网表: |6 [& I9 x: u, O  x4 _
( I! o* h9 a$ s% |" Z0 X- F& O

5 g9 g- X" ^2 L8 V% J) P4 j3 p) Bpads输出的ipc网表(本身软件不自带,后面国外朋友写的程序)( d: v9 L# p, G9 ~% n/ p

; [5 f* C4 E8 }8 D$ l0 k+ O: E4 t0 W# @0 |" Z- C
% v& g) ~& D+ `* B

$ e% s& _( e5 _) w8 M0 F4 ?

该用户从未签到

推荐
 楼主| 发表于 2015-6-19 15:26 | 只看该作者
本帖最后由 dzyhym@126.com 于 2015-6-19 15:27 编辑 % ~. a2 n" O, g& u6 B5 R8 {8 C
0 k* `) Z; _& d8 q0 G4 x
Genesis对比网表结果分析:
! \- J( R5 P5 j9 ~IPC网表与Gerber进行比较后它会有哪几种现象呢,主要是以下四个。
  Z8 x9 N, y$ ~
Shorted(短路) Broken(开路) Missing(丢失) Extra(多余) 通常分析前面的开短路,后面二个暂时不作探讨。
如对比网表有问题主要通过以下几点分析:
  • 文件各层属性定义是否正确,比如正负片属性定义反了将导致gerber网表错误。
    8 [5 W6 H7 d( k" s$ U$ k
: u. H/ j) @/ ]4 W4 h% _8 ~
  • 钻孔层所贯穿的层次是否正确定义,比如盲、埋孔;孔径金属、非金属等(有些slot槽孔连接地或电源,如没有添加就会报开路)

    ! Z# T! |3 f8 p
) o8 B0 H- h6 |* ?
  • Gerber文件中线路层是否有边框,边框是否将两个不同网络连接。

    4 ]* U; l6 r; y  I# V7 i( W

- X4 c4 q$ G( k9 \. a5 |
  • 在按Compare之前,网表是否与Gerber之间没有对位。

    7 C" r- O  Q' u* I5 p
4 G1 S: r3 K$ t8 g7 t+ Z5 G1 z
  • 网表格式是否读入完全正确,比如IPC356A读入格式为IPC356。(注:正常盲埋孔的网表格式为IPC356A,如果为IPC356则有可能有问题)
    * t2 N6 D. D6 V$ Z* C# g+ R1 n

2 c$ H0 H  H( |! i) H
  • 顾客提供的IPC网表是否100%正确(部分cad提供的网表是有错误的可能哦)。
    1 s' u3 u0 A$ J# K+ I. f; _$ @

6 {( f5 c* y, P/ E4 B4 f
  • Genesis软件比较后报出假错,比如低版本有错误,而高版本是正常(软件Bug)。
    3 m" c  Q, G, b' Y- Y. Z% P8 r
9 s5 e! J/ p1 M6 U1 p1 E9 {( }" `
  • 拼板的图形与单板的网表比较
    $ ^+ f  f! |1 Z# Y8 x7 I) B
$ j$ N  N5 ?$ ]

( x, q" c+ F7 S% ]% b: E! u
2 h/ }( \8 p& A$ w# L( ?) _

/ l& _5 J; W/ I3 @- |

# `% X. t  A9 `5 t- T- {7 I- S

6 G# b& G0 X, C  w, w* v
1 D0 `" i* }7 G

' K, N( j" f8 T, T/ R/ Q
. o& s( M+ i$ ]7 p& m: l7 `
4 c: \+ Y, L6 u! y) G* l/ F, Y

  C- j, O3 V# Q; N& u) o. W9 Y) i( P' f- ^; X7 ~7 Y

该用户从未签到

3#
发表于 2015-6-12 14:57 | 只看该作者
支持一个,等待后续操作说明

该用户从未签到

4#
 楼主| 发表于 2015-6-15 09:09 | 只看该作者
Allegro输出网表文件:
5 N& a& p3 w' O使用File->Export->IPC 356 菜单执行输出网表命令,输出IPC-D-356A 格式网表文件。' N* [6 c9 _8 n7 n% w+ p2 d: Z' C
IPC 自然网表文件命名为:PCB 编码.ipc,如B0101_030301.ipc3 x4 ^! t% r" o  r. {) e3 }
: z5 _, t. N* E4 l$ K8 o

( w. y9 ^- p+ P" B& CAD输出网表文件:! R6 Q" F! b0 @8 V
1,选File-Fabrication outputs-test point report. g& b, I; d) i8 @5 U

  p) `5 f1 t- F+ Z2,选择IPC-D-356A,点OK,即可输出IPC网表
9 Q4 B: |$ G+ I; ]% j2 |1 `
" _$ {+ y* D- @3 n: l
0 B, X/ l$ t* w' ~/ b: _! ]

该用户从未签到

5#
 楼主| 发表于 2015-6-16 08:46 | 只看该作者
Mentor输出IPC网表文件:
8 Y! l" ?( _) c, x6 a9 [1.点击OUTPUT-Report writer
" u/ W6 Z* X( p% c
2 J6 i- _% r5 h! n; f
9 M  E8 B$ V( ?" ?1 R9 ~  I+ N+ h5 V2 e2.在弹出的菜单按照默认选择,点击OK
9 B, K, l! l* O6 c* l1 y4 y 4 n" R3 e9 @9 N6 l

5 A+ V# u# ~; p" G! h- j8 N3.在弹出的Report writer里面选择:TOOLS-Launcher
; S, b. a) |& p& s* G. T/ ~   F2 b/ ?: m2 K! V9 u9 {: g

/ g+ N: _& h, E% ^$ Q) @" I4.在Application Launcher选择IPC-D-356并点点击RUN
2 ~0 [7 R* x& I  r; l% @ , k  q$ n2 V+ b5 Y6 ?
* i5 @0 Q7 X3 [+ F2 v) ~, x, k
5,选择IPC网表的存放路径(默认是放在PCB文件夹的PCB-vbreport-output),然后点击OK,IPC网表生成
. {' q3 o$ c* R9 X9 X* ?4 V8 t 5 a% P; ]6 o* L  T

% ?& a. J; M2 U7 D& k/ P" F1 {& h0 @' O1 P8 ~$ t" k  j. m

: q+ t. a$ {1 \' [5 \

该用户从未签到

6#
 楼主| 发表于 2015-6-17 08:46 | 只看该作者
Pads输出IPC网表文件:6 I+ I. n$ s9 q+ y
1 选择tools-basic scripts菜单(如第一次运行需要load file加载script)& [3 t6 z% v- Q; A! c1 b
$ H: E% A7 e9 Y2 P/ c  @  }; _3 k/ U
6 e3 g* t: J* m, T4 w
2 选中相应的script 然后run运行之
2 v/ O& e4 I8 T
+ R; J/ [" ]1 ~) o
" z% O5 X) t& i: }8 F3 在接下来的界面选择英制,BROWSE为选择输出的网表位置,一路OK即可输出网表/ H: [' h1 p/ i/ s5 J- r9 v
3 G7 Z0 X6 V* V/ F+ A

% E; B$ f9 i# T; e% p- D

点评

版主能否提供一下这个脚本出来  详情 回复 发表于 2018-4-3 10:34

该用户从未签到

7#
 楼主| 发表于 2015-6-18 08:54 | 只看该作者
Genesis对比网表:- T0 G* v3 a* P! u
1,将光绘文件和ipc网表一起input进genesis
" H" U+ r! [; M7 r+ Z $ w+ y* h: t9 T1 q, C" x
: K8 N8 @. A7 B+ j
2,定义光绘各层属性(务必正确)7 p- R7 b, k! u
1 ~( c* C- |* K0 J4 m

7 S& b! M5 D+ y6 c. s3,使用Net Analyzer进行网络比较。将上半部的Step 中的net step设为CAD,点击Recalc按钮;将下半部的Step 中的net step设为Current,点击Recalc按钮。
, e+ {) X2 Z$ e9 G- h- |) {' ?  M4,对位:选择上半部的Register…按钮,弹出新窗口,选择Automatic按钮进行自动对位。3 l! @7 R2 Q  z2 |& N, `
; J6 F  N! D, v
5,将下半部的Step 中的net step设为Current-Based-CAD,点击Recalc按钮。4 b" y, d$ m# A% c6 b
6,网络比较:点击Compare按钮,查看比较报告9 u- Y" A+ t. e2 w
5 H" z7 \5 I# D5 i* G

/ I# h8 j4 W0 x3 B

( q1 x0 o" v5 c- ~
- c" Z9 j" `9 D; H
& v; Y# h+ q9 B! D% ~

7 V! `9 g2 K, n: N) L+ a: q% t+ J! c+ [2 i* [3 M

点评

对于IPC网表比对这一块儿 有点儿简洁了,能写得更细一些吗  详情 回复 发表于 2015-6-19 11:50

该用户从未签到

8#
发表于 2015-6-19 11:50 | 只看该作者
dzyhym@126.com 发表于 2015-6-18 08:54# o# Y' g* E: h) U$ _! G; K- _" I
Genesis对比网表:
- @( X& M% m3 ?* s* `1,将光绘文件和ipc网表一起input进genesis
, f* x9 Y9 A5 u1 N- U- e9 g
对于IPC网表比对这一块儿 有点儿简洁了,能写得更细一些吗
8 n# }' [4 M; y' m( m# r' n% n

点评

再详细就是genesis操作了 input=操作 需要讲?  详情 回复 发表于 2015-6-19 15:16

该用户从未签到

9#
 楼主| 发表于 2015-6-19 15:16 | 只看该作者
仁爱 发表于 2015-6-19 11:50
  ]% Q) I! ^" S+ U对于IPC网表比对这一块儿 有点儿简洁了,能写得更细一些吗

" e  M6 G8 Z9 \/ r* y' `再详细就是genesis操作了 input=操作 需要讲?) a6 U- J& w! s5 J

点评

比如说:有椭圆形孔,怎么弄,过孔的属性,盘的属性如何编辑  详情 回复 发表于 2015-7-6 14:19

该用户从未签到

11#
 楼主| 发表于 2015-6-22 17:01 | 只看该作者
本帖最后由 dzyhym@126.com 于 2015-6-23 09:44 编辑 6 b7 E7 ]+ }) M

% O4 l5 |: ~4 \" {, a/ a6 hGenesis对比网表结果实战分析:
8 y2 \6 ]- N% w# i7 `/ T1 光绘中边框将一些网络连接了,实际上是不同网络。3 a0 ^4 t8 j6 w" d! z# s
   7 U2 S2 u- G# n2 Q. }
2 下面是genesis没有定义边框的网表对比结果图片:
7 @" Z$ a8 m+ F* e3 \6 O6 n+ O 0 F" e& m: Y% V# X+ p

: H* Q* v. E- r3 A3下面是genesis定义边框的网表对比结果图片,可以看到开短路各只有一个了,这2个是客户要求固定短路不用理会了。4 m* ^% J2 U3 ?: x% s9 s* V. w
  M2 Z$ x/ b4 o' h9 u  T' R. [$ g
2 ?& m& `" W, [! n6 y' {- I# z
  i; B5 `  R' N3 W% S0 l" I

& }4 E0 ]. p! R( U

该用户从未签到

12#
 楼主| 发表于 2015-6-23 09:55 | 只看该作者
本帖最后由 dzyhym@126.com 于 2015-6-23 09:56 编辑
9 L* T9 w( K7 R) A0 G6 ]
& s1 C3 h6 w2 R/ ^# c网表文件引起的问题:
1 ~7 L# Z4 f7 D0 c' n( O! O有时发现开短路特别多,并且和某个器件或几个器件有关系,通过genesis和pcb对比分析发现网络没有问题,但网表比较就是有问题。这时应该怀疑网表文件是否存在问题(pads输出的ipc网表较多出现类似问题。)/ g  z/ Y' Z2 k' Z7 Y

% {( {% \6 ]$ i$ a! q( ]上面一段网表文件可以明显看到u14器件的a后面没有层面信息,这样导致读入到genesis缺少信息,所以对比网表时会产生问题。到pcb中更改封装再重新导出ipc网表就没有问题了。
+ ]" \8 Y2 ?# p! F5 J0 l2 r# c& L6 e3 ^; Y: V

3 d8 j& j9 F: ^3 T1 P- N

! t7 V$ O4 v0 v
, Q# V; |+ S1 a

" r5 B3 k  c* `9 ^
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-17 11:09 , Processed in 0.140625 second(s), 29 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表