找回密码
 注册
查看: 39039|回复: 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
" b8 e! G% Z* a6 K( }+ T9 t; w) n$ ~test information can be represented. In the simplest of forms, this means it must be able to store' c& I% z6 Q. p: B  b% P+ v
netlist information along with XY coordinates, and even reference designators and pin numbers: ~, _# h& \* u( m
(if they exist). I feel like ending this article here before it gets unmanageable, but then Pete5 O0 B( S! {% U. P; Z' C5 ]$ X
Waddell wouldn’t be happy, so let’s proceed. If all the information that a test system would
1 @: l* |+ q* H  b, u, Ineed to know to verify and test a bare board could be represented in a single file, it would bring% C5 x6 J9 y0 i7 k
consistency 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, field* [2 ~, X4 H4 ~) r8 q, w& I
parameters

. [7 A0 G& |. `2 ~" l5 q
为什么要网表对比操作?主要是以下2点
1,pcb软件输出的光绘文件,有时会变异,会造成开短路,通过对比能保证网络一致性(概率很小)
2,工厂端通常要修改设计文件以便符合生产,修改当中就可能会造成开短路,通过对比可以保证网络一致性(作用主要是此点,保障工厂修改完的文件网络没有问题)
Since testing bare boards is a manufacturing process, the design engineer seldom thinks about
; f8 \2 F2 K6 _8 n5 q7 N& f+ bthe problem of testing the PCB before it is stuffed with parts. Therefore, most CAD packages, y1 x. I0 g/ S( ]5 m& g% T
do not even provide the option of exporting a coordinate based netlist in this format. CAM
. Y$ G) P* d$ h" r4 lsoftware is the common source of this information. Net connectivity is computed from the
# v) \% D5 z, Y6 X' f9 t' i7 y2 kGerber data and the file is exported. Nets are numbered because the original CAD netlist was& z$ m* p' k+ J  ^) a3 m  v& S
not used. The RefDes/Pin# fields are also not filled in because this information does not exist in
5 S2 o: x1 |/ S' r6 P% q( M% |the Gerber data. The IPC-D-356 file is then read by the bare board test system. The net
% ~' C" ^+ f+ f+ iinformation replaces the need for the old “golden board” technique. This process is the way the
: O1 x1 L$ }# u- k+ umajority of the industry is working today.
% R) E8 p. H) u, E

/ t# d7 D' I9 ]8 z8 ]
. n+ z( U% [' @/ j! U
3 `) b$ D* F' c0 l; K" L) y4 @

; Z! \/ e' y3 i' \& D. f2 l4 K

该用户从未签到

推荐
 楼主| 发表于 2015-6-26 16:33 | 只看该作者
Cam350对比网表:
: s# u# @3 ]( q# t0 o0 {8 a, D# L详见附件(同事写的文档,拿来给大家参考
: x& l  G6 |. O+ w
% n% P, E, q) G' {5 K1 I  t
& S, Y5 Q, }0 d4 x4 Z

cam350对比网表.rar

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

点评

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

该用户从未签到

推荐
 楼主| 发表于 2015-6-12 08:51 | 只看该作者
allegro输出的ipc网表(最规范的文件,严格按ipc格式要求)( z$ L; i# p& c4 V: ]
+ @( o- I5 E: q8 D& |. Y
) h( B( Z6 x/ R0 e* Z! d4 I! M/ w" P% e
protel输出的ipcb网表' L, s1 f( T1 i& }" P9 e
5 Q; a3 `( p. z9 {7 y) B
% c" x& y' a2 q! V2 V$ s
mentor输出的ipc网表3 L6 f) S4 m8 J7 ?5 s

3 D" l" U& E  D* X8 G
& k# l) _; Y" T9 f- g2 ]4 gpads输出的ipc网表(本身软件不自带,后面国外朋友写的程序)- b4 z- L# C, G# t

: \; {- i. _: Z$ L& S4 w  f; G( x4 c1 W. [
1 Y0 @) T3 o% O: U. x# n

) P3 O$ P, P& i5 v% w! K

该用户从未签到

推荐
 楼主| 发表于 2015-6-19 15:26 | 只看该作者
本帖最后由 dzyhym@126.com 于 2015-6-19 15:27 编辑
4 G/ [+ d8 i7 |/ y% ~
  J* j1 h! d$ @7 C5 ?. P( C7 I. g/ EGenesis对比网表结果分析:% h8 c5 o: ?, b8 x' N# h$ @
IPC网表与Gerber进行比较后它会有哪几种现象呢,主要是以下四个。
2 m. T9 X" @6 `1 S  P
Shorted(短路) Broken(开路) Missing(丢失) Extra(多余) 通常分析前面的开短路,后面二个暂时不作探讨。
如对比网表有问题主要通过以下几点分析:
  • 文件各层属性定义是否正确,比如正负片属性定义反了将导致gerber网表错误。
    % [# c# Q0 @, h. w% b8 ^+ b
: _! T4 v# b4 F
  • 钻孔层所贯穿的层次是否正确定义,比如盲、埋孔;孔径金属、非金属等(有些slot槽孔连接地或电源,如没有添加就会报开路)
    * I) C2 V# [! [6 i9 u0 N
0 C* d: P, f0 A$ P9 W; K
  • Gerber文件中线路层是否有边框,边框是否将两个不同网络连接。

    6 V. {' p( V" @+ `% O& ]

7 c, e6 G4 l  K: g
  • 在按Compare之前,网表是否与Gerber之间没有对位。

    $ L2 M4 h* U8 |+ Z' p3 _
3 [+ _+ G$ e6 a) @1 v
  • 网表格式是否读入完全正确,比如IPC356A读入格式为IPC356。(注:正常盲埋孔的网表格式为IPC356A,如果为IPC356则有可能有问题)

    5 h( l3 i2 z0 z6 \$ [0 B

( I1 i; U; _: r
  • 顾客提供的IPC网表是否100%正确(部分cad提供的网表是有错误的可能哦)。
    3 [1 N9 f) B- D# p% o1 u1 r
8 u. g/ S, G( {
  • Genesis软件比较后报出假错,比如低版本有错误,而高版本是正常(软件Bug)。
    / l. `% t8 Q& c( k
: y; O4 n6 q( \# z; |# I( ]
  • 拼板的图形与单板的网表比较
    0 o1 M3 x# |, G& A3 n: ~

  E% D/ \! |* c; z6 X: S
! s* m3 w; U6 D8 z
& N5 ^: E- E3 h) v- @

  u0 N4 g. G8 ~. y

9 {* p1 o. k2 b9 T2 d

+ B+ S! R  s1 W5 l( S* _) f( V. N

/ i3 \, G" q+ A; }" \0 c3 l

) n0 T/ C. b7 i- g0 k' `
" g! a0 A! W0 c7 j6 F

. {: q9 Z: f4 F1 q8 @; K, D

3 q, S6 v  d: m1 ?$ v, |' U
: @* e- Z* N9 m" _  {9 S" h

该用户从未签到

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

该用户从未签到

4#
 楼主| 发表于 2015-6-15 09:09 | 只看该作者
Allegro输出网表文件:( M- B: r8 q. z( k, t7 K& Z
使用File->Export->IPC 356 菜单执行输出网表命令,输出IPC-D-356A 格式网表文件。
. g" z0 l; j% lIPC 自然网表文件命名为:PCB 编码.ipc,如B0101_030301.ipc
+ m2 r% e: p# E; s / P5 K$ K  n, P; `* x6 g
/ i: C% E2 [- {% u/ Y& Y
AD输出网表文件:
1 _/ W7 _1 S, ~' V0 z1,选File-Fabrication outputs-test point report) e- A# W: L& b% ]$ Q* ?
3 c( i4 _! J$ M' X4 Q4 d. Y5 ?
2,选择IPC-D-356A,点OK,即可输出IPC网表
' G! [  Z9 I. C# T' V / g& ]1 u; w  i% `0 ^, M; ]  k

6 E5 V- d. v' }3 e

该用户从未签到

5#
 楼主| 发表于 2015-6-16 08:46 | 只看该作者
Mentor输出IPC网表文件:
* B& }/ C' S7 m7 s5 j! {. v1.点击OUTPUT-Report writer! y: X* C, d9 q1 @6 l5 i# j

4 R. [: {! E0 [8 A. G  ]
4 b- ~" ^' }: Z! e* n+ N8 _, B2.在弹出的菜单按照默认选择,点击OK5 J# c$ ]9 }( x1 f, `* V! x5 U. x% f6 z
  V1 |- v. w( V

" u) r6 l0 {( |' t3.在弹出的Report writer里面选择:TOOLS-Launcher
' E2 O8 U* Z8 U4 \& p( K, T3 a
2 ~1 j* k' `, R' s, T; F. o- K; D$ Z# j$ g3 [  f' ?
4.在Application Launcher选择IPC-D-356并点点击RUN; e& q3 e* ]2 a8 n* X9 v  R7 _

) l2 l1 O! g' H8 A2 p
7 _* B+ d% Q4 ?3 H! Q5,选择IPC网表的存放路径(默认是放在PCB文件夹的PCB-vbreport-output),然后点击OK,IPC网表生成
2 F* c) p; _4 W% y
0 C; S* r, M) l# I1 K/ Y- Z
' y) p- T' g$ `% P/ C
8 n4 `' V! Z& H# ]$ ^5 B7 D6 `% x

该用户从未签到

6#
 楼主| 发表于 2015-6-17 08:46 | 只看该作者
Pads输出IPC网表文件:# H6 k  }: F  {" I! f% l# X' D
1 选择tools-basic scripts菜单(如第一次运行需要load file加载script)! B0 }. O" z7 T  @0 o9 U5 a$ D
' H; P& C- ], ?& X( g7 ^
) n4 l$ y/ b5 g( W, p
2 选中相应的script 然后run运行之
) o4 x! h! z$ L. p* ^9 z
4 p, P+ \( D& X9 i# Y7 U) ?) Z: Y" J# Q% m" U$ P% v
3 在接下来的界面选择英制,BROWSE为选择输出的网表位置,一路OK即可输出网表
2 B3 H! R! M# r , U& Q, X. L6 w+ p3 D& G

8 l7 V- I, D4 x) d3 x7 x: ^+ P

点评

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

该用户从未签到

7#
 楼主| 发表于 2015-6-18 08:54 | 只看该作者
Genesis对比网表:
! k5 b2 h3 `! ^* A0 ]. B1,将光绘文件和ipc网表一起input进genesis
( b0 m# x/ L" f
4 M$ d* x/ P; n# E9 n1 k
# @* j/ ?/ ^4 r6 P2,定义光绘各层属性(务必正确)
5 z" Q8 Y$ Z) ~& T0 _
! ?3 r7 W) G8 v) `  B! g- v4 ^, h6 e5 o
3,使用Net Analyzer进行网络比较。将上半部的Step 中的net step设为CAD,点击Recalc按钮;将下半部的Step 中的net step设为Current,点击Recalc按钮。
; I8 \: h  @7 S( k: Y- \4,对位:选择上半部的Register…按钮,弹出新窗口,选择Automatic按钮进行自动对位。
' S. t/ {( Z) q, U! A6 J" |% R
, O* [3 w; j9 [/ S! }& G& w9 {5,将下半部的Step 中的net step设为Current-Based-CAD,点击Recalc按钮。
: i) b6 w) G4 d6,网络比较:点击Compare按钮,查看比较报告0 o7 p6 y. W" s% D3 C$ ]& L
& }- @! [; @8 n
7 T" G4 Q) n- u- t: E5 E$ k
& ]8 d1 p. U% X. Z" l0 V' m

& L3 o( q: s; s0 H* e2 C2 z9 x2 ]& \4 f
" Q1 j' L3 U. _' x' \

+ e9 z7 ]- u; \: X

点评

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

该用户从未签到

8#
发表于 2015-6-19 11:50 | 只看该作者
dzyhym@126.com 发表于 2015-6-18 08:54/ N  R: N8 _# n+ F
Genesis对比网表:
& s: m$ N  u" O& [1,将光绘文件和ipc网表一起input进genesis
3 T  B8 W5 L5 P, f
对于IPC网表比对这一块儿 有点儿简洁了,能写得更细一些吗! F$ l1 Z1 F* \, E' W7 z, \3 R

点评

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

该用户从未签到

9#
 楼主| 发表于 2015-6-19 15:16 | 只看该作者
仁爱 发表于 2015-6-19 11:509 [! k# a. v+ V* A: S
对于IPC网表比对这一块儿 有点儿简洁了,能写得更细一些吗

! Y2 M$ W/ K5 V! T5 L/ ?4 c) R再详细就是genesis操作了 input=操作 需要讲?
# L7 F3 z3 |" `

点评

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

该用户从未签到

11#
 楼主| 发表于 2015-6-22 17:01 | 只看该作者
本帖最后由 dzyhym@126.com 于 2015-6-23 09:44 编辑 , I, C, T0 S$ f: ]  F0 w

# S& c2 ]( c' m; f2 v3 [. HGenesis对比网表结果实战分析:
' {9 L! H! }- F1 光绘中边框将一些网络连接了,实际上是不同网络。: K" y+ l% G1 L% ?* v6 A' y% U
   $ ~, P: L0 Z6 u9 P- {
2 下面是genesis没有定义边框的网表对比结果图片:
& O1 |5 J5 q$ I* d
! V5 E9 x8 H. Q- }) \! d4 ~% |: J1 x4 F( y% q! ?4 R, g
3下面是genesis定义边框的网表对比结果图片,可以看到开短路各只有一个了,这2个是客户要求固定短路不用理会了。
, j/ [5 y1 b( o2 Q8 q. [   ^' K: \# ~+ Y  J- D( r9 \5 [
& ^6 S+ {4 y6 \7 i; V
4 a, C- I% v2 k: P5 r
. t; d* [- h, \; i8 y% E! q) p# q

该用户从未签到

12#
 楼主| 发表于 2015-6-23 09:55 | 只看该作者
本帖最后由 dzyhym@126.com 于 2015-6-23 09:56 编辑
" I' l# e6 x+ T; W
8 H% k, }' V; ?( }网表文件引起的问题:
' }: D( H: ^# a0 D/ E  U4 B5 N9 W有时发现开短路特别多,并且和某个器件或几个器件有关系,通过genesis和pcb对比分析发现网络没有问题,但网表比较就是有问题。这时应该怀疑网表文件是否存在问题(pads输出的ipc网表较多出现类似问题。)1 Z9 A' d# t$ A- v' @* k
) @( L1 t. {* M1 u$ L) p
上面一段网表文件可以明显看到u14器件的a后面没有层面信息,这样导致读入到genesis缺少信息,所以对比网表时会产生问题。到pcb中更改封装再重新导出ipc网表就没有问题了。7 {! L8 q' r9 W1 O' S3 h) Q
9 a% X5 D' h4 b* Y' W2 t" E2 }6 U4 a

2 z' ?' u& G2 g$ f( g( J7 i
8 Z% q  A6 A0 [' ?* U1 E* k

6 F4 Q2 h, i" X; N
0 }: ~* j" N4 R! L$ w
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-5-24 04:40 , Processed in 0.109375 second(s), 29 queries , Gzip On.

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

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

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