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

Cadence布局布线常见问题详解

  [复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-4-30 10:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

x
1. 怎样建立自己的元件库?
9 W  Z) C! }4 M' `( Q- U% A; l- U  Z    建立了一个新的project后,画原理图的第一步就是先建立自己所需要的库,所采用的工具就是part developer. 首先在建立一个存放元件库的目录(如mylib),然后用写字板打开cds.lib,定义: Define mylib d:\board\mylib(目录所在路径). 这样就建立了自己的库。在concept_HDL的component->add,点击search stack,可以加入该库。
) F% @. ]6 ]( Q3 z/ d1 r
6 ^# X' L! H8 m' C: L
2. 保存时Save view和Save all view 以及选择Change directory 和不选择的区别?
9 J4 c, v7 R. a7 V' }- B% Y& R建立好一个元件库时,首先要先保存,保存尽量选择 save view。在concept-HDL中,我们用鼠标左键直接点击器件后,便可以对器件的外形尺寸进行修改,这时如果你再进入part developer做一些修改后,如果选择save all view会回到原来的外形尺寸,而选save view
. y) Q; o. U! a! p9 ^2 Z, B/ u2 S( r7 e2 m会保留改动后的外形。
    & ?: u8 W: G0 s
5 h9 }9 q' O- D& d; T
3. 如何建part库,怎么改变symbol中pin脚的位置?
* G8 t8 E4 M; V1 m" A- {2 z3 s    在project manager中tools/part developer可建立,选择库并定义part name,在symbol中add symbol,package中add package/addpin,依次输入pin:; S" B# n0 F& i- d6 W
package中:
5 G$ p3 A; `) x* {7 b4 J& ra, Name : pin’s logical name不能重复
  E+ r2 @/ ]: e2 lb, pin : pin的标号,原理图中backannotate后相应的标号. U, w/ o1 E# e- v
c, pin type: pin脚的类型(input,output等,暂可忽略)
1 }$ ?$ G( T% k% P1 @: @) hd, active:pin的触发类型  high(高电平),low(低电平)+ p) f8 {, R0 H5 N1 e1 X
e, nc:填入空脚的标号' @- g# ^* N+ G+ A$ Z$ j1 I
f,  total:此类型的所有pin脚数& u( L9 S' q8 l/ o, P$ @
g, 以下暂略
% S- P9 v0 `8 s7 R7 Jsymbol中:  ?% l3 O! t# i- a) c; Q/ Y
a, logical name:对应package中的name7 K# Y  L& Q2 z$ c: M! O
b, type:对应package中的type
# |' y5 `  U& Y, R+ K" Tc, position:pin脚在器件中位置(left , right , top , bottom)
. i- ~, j+ m& C2 p$ c7 N. wd, pintext:pin在器件中显示的name(对应package中的pin,但可重复,比如package中0 s+ _' O4 _& u/ D
的gnd1和gnd2都可设为gnd). {1 g1 i8 v0 M
e, active:对应package中的active5 i' b' X( `3 Q4 A) B
    修改:用part developer打开要修改的器件,*选择edit/restrict changes(若不选择,则器件被保护,修改后存盘无效),一般修改:
$ _: ]* s) Q/ p/ s7 B; e3 ha, package中相应pin的标号和name
$ F) n% K" c5 t: U; E# M4 j  lb, pin的active类型* n$ B5 o  S4 t! d1 U% R; H
c, symbol中各pin脚的顺序(pin脚的顺序在第一次存盘后再次打开会被改变,对于较多0 Y8 g- X% j* E. T# z$ H* {/ q
pin脚的器件,如232pins,修改较繁琐,故尽力保证的一次的成功率。pin脚在器件中的排列顺序是根据symbol中的顺序而定,故symbol中pin脚的顺序一定要正确,若有错需修改,选中pin按ctrl键配合上下键标可移动pin脚位置。! ]+ V8 ~+ Q. Y* U. b
9 h9 ]6 n7 X6 a3 P6 H6 K
4. 画电原理图时为什么Save及打包会出错?
: w+ b* {+ `, R4 L    当保存时出错,主要原因可能是:所画的信号线可能与元件的pin脚重合,或信号线自身重合;信号线重复命名;信号线可能没有命名;在高版本中( 版本14.0以上)中,自己所创建的库不能与系统本身带有的库名字相同;建库时,封装原件的管脚个数与原件库的管脚个数不同。打包时会出错的原因则有可能是所做的封装类型与元件不匹配(如pin脚的个数,封装的类型名等。
. n) }2 Q/ n# w$ o9 ]
) `- b8 f6 d$ u
5. 在电原理图中怎样修改器件属性及封装类型?
6 i  H. ~- e% `: @    在菜单Text下拉菜单中选择Attribute特性,然后点击器件,则弹出一Attribute 窗口,点击Add按钮,则可以加入name ,value,JEDEC_TYPE (封装类型) 等属性。
7 R+ Y( v8 o& M4 v$ ]+ F# \& l" P$ P
6. 如何在Pad Design中定义Pad/via?及如何调用*.pad?: T( z0 P. b' L# b! K& `+ I
在pad design中,建立pad 时,type选single类型,应该定义下面几层的尺寸:begin layer(有时是end layer), soldermask和 pastemask 。建立Via时,type一般选through,定义drill hole 的尺寸 和所有的layer层(注意定义thermal relief和anti pad)以及soldermask。一般Pastemask和Regular一样大,soldmask比layer的尺寸大几个Mil,而thermal relief和anti pad比regular pad的尺寸大10Mil以上。
8 T7 o: F- N5 K" z# g0 ~0 _6 v, C. n

: P; c7 G: l0 Q; \! h( x/ I# v7. 做封装库要注意些什么?
  `, w3 r8 _- E  D做封装既可以在allegro中File->New->package symbol,也可以使用Wizard(自动向6 {: C% a$ G4 ]4 @7 U$ v: s% x
导)功能。在这个过程中,最关键的是确定pad与pad的距离(包括相邻和对应的pad之间),以确保后期封装过程中元器件的Pin脚能完全的无偏差的粘贴在Pad上。如果只知道Pin的尺寸,在设计pad的尺寸时应该比Pin稍大,一般width大1.2~1.5倍,length长0.45mm左右。除了pad的尺寸需特别重视外,还要添加一些层,比如SilkScreen_top和Bottom,因为在以后做光绘文件时需要(金手指可以不要),Ref Des也最好标注在Silkscreen层上,同时注意丝印层不要画在Pad上。还应标志1号pin脚的位置,有一些特殊的封装,比如金手指,还可以加上一层Via keep out,或者route keep out等等,这些都可以根据自己的要求来添加。操作上要注意的是建好封装后,一定不要忘了点击Create symbol,不然没有生成*.psm文件,在Allegro就无法调用。
4 n. d8 o3 P: L

, x4 q  n1 W9 W- R  t' n" y8.为什么无法Import网表?
) w. Y3 O5 A% l+ g  在Allegro中File选项中选Import―――>logic,在import logic type选HDL-concept,注意在Import from栏确认是工作路径下的packaged目录,系统有可能自动默认为是physical目录。& y; B& C% n2 t
6 ?9 K4 m7 P: E
9.怎么在Allegro中定义自己的快捷键?# K( ]& ]# j& z) F% k% t2 {  H
在allegro下面的空白框内,紧接着command>提示符,打入alias F4(快捷键) room out(命令)。或者在cadence 安装目录/share/pcb/text里有个env文件,用写字板打开,找到Alias定义的部分,进行手动修改既可。- y) U+ W8 N- M

/ E/ A! D9 O+ F+ s+ Q  g10.怎么进行叠层定义?在布线完成之后如何改变叠层设置?
- C* r& r" z  q6 a在Allegro中,选Setup-Cross-section。如果想添加层,在Edit栏选Insert,删除为del,材料型号,绝缘层一般为FR-4,Etch层为Copper,层的类型,布线层选Conductor,铺铜层为Plane,绝缘层为Dielectric,Etch Subclass Name分别为Top,Gnd,S1,S2,Vcc,Bottom。. W# \$ u( ^8 @. r" G- G! @
Film Type一般选择Positive,plane层选择Negative。如果布线完成之后,发现叠层设置需要改动。比如原来设置的为3,4层是plane层,现在需要改为2,5层,不能简单的通过重命名来改变,可先在2,5层处添加两层plane层,然后将原来的plane层删除。

. n9 P) Z* [. E0 z2 ]+ e9 v% g, s% J! V! u
11.为什么在Allegro布局中元器件在列表中不显示或者显示而调不出来?
+ c5 o  v5 J! ]! c首先确定Psmpath,padpath的路径有没有设置,如果没有设置可以在Partdevelop里设置,或者在env文件中手动添加。也有可能器件在列表中存在,但是无法调出,可检查该器件所用到的*.pad文件及封装库文件*.dra,*.psm是否存在于你的工作目录×××/physical里。另外还有一种可能就是页面太小,不够摆放器件,可以在setup-draw size中调整。+ }: T8 v* a, t3 N* A7 _/ I% M
3 l8 x- M  f0 [: Z! @8 R( j
12.为什么器件位置摆放不准确,偏移太大?# D; y& C0 ?$ p4 W  g- M0 ]
    主要是因为Grids设置的问题,可在setup-grids中将每一层的Etch及Non-etch的grids的X、Y的spacing间隔调小。对于一些对位置要求比较严格的器件,比如插槽,金手指等用于接口的元器件,则应该严格按照设计者给定的位置尺寸,在命令行里用坐标指令进行定位。如:x 1200 3000 。3 x6 w- _6 f5 R4 S/ p

8 s- a& {' \; k% u" \# \9 M+ K13.怎样做一个Mechanical symbol,以及如何调用?
) h$ n+ _' e$ J5 z0 X- n: WAllegro中File-new,在drawing type中选择Mechanical symbol。主要是为了生成PCB板的外框模型,在这里面虽然也可以添加pad,但是没有管脚对应关系。Mechanical symbol 完成以后,生成*.dra文件。在Allgro中调用时,选择by symbol―>mechanical。注意右下角的library前面的勾打上。7 p1 t3 C3 V$ D* [9 a$ t

9 i; e6 Y: Z6 N0 o$ b* r6 P14.在布局后如何得到一个整理后的所有元件的库?
* e4 `: c2 B% u4 ^如果嫌physical目录下各类文件过分繁冗,想删除一些无用的文件,或者只有一个*.brd文件,想获取所有的元件及pad封装库的信息,可以采用这种办法:将*.brd另存在一个新的目录下,在File->选export->libraries,点中所有选项,然后export,即可在你的新目录下生成所有的*.pad,*.psm,*.dra文件。; s' A3 N5 G" j( _, D* I0 h' Z
% J9 n; ~  C7 s( Q
15.如何定义线与线之间距离的Rule?
: r0 N2 j: I6 }3 s% c    我们以定义CLK线与其它信号线之间的距离为例:5 |! Y) e# t& A6 ~: l. R3 U
在Allegro中:setup->constraints,在spacing rule set中点set values。首先add一个constraint set name,比如我们取名为CLOCK_NET,然后就在下面定义具体需要遵守的规则。
* O) O- M1 ]8 D比如line to line 我们定义为10 mil。接着在allegro主窗口的edit菜单下选择properties,会跳出你的Control工具栏,在find by name 中选择net,在右下角点击more。在新弹出的窗口的列表中选择你所想规定的CLK线,如CK0、CK1、CK2等等,确定右边的selected objects中以选中所有的线,点Apply。又会出现一个新窗口,在左边的available properties中选择NET_SPACING_TYPE,在左边给它赋值(名字随意),比如CLK。回到setup->constraints,7 Y+ v& `  h, k9 c
在刚才set values的下面点击Assignment table,即可将所定义的规则赋给所选用的net。/ }3 H8 O$ a$ |) u9 u: n1 S' T
在Specctra中,可先选中所要定义间距的信号线(select —>nets->by list),然后在rules中选selected net->clearance,在该窗口可定义一系列的布线规则,比如要定义线与线之间的间距,可在wire-wire栏定义,注意,当点Apply或者OK之后,该栏仍然显示-1(意思是无限制),只要看屏幕下方的空白栏,是否有定义过的信息提示。

( ]! f4 |. N" \: i' }% i, p$ @" l5 g& K1 o
16.为什么在Allegro中画线不能走45度角?
2 L6 r0 q7 z9 ^1 u$ l2 L2 L, R9 ~在control控制栏的line lock中,可将90改为45,如果想画弧线,可以将line改为Arc。
/ Z0 r# [$ `) C- K- r
1 L  a" B) R" n8 t2 M+ @' j9 P; r17.如何在CCT中定义走线最大最小距离?" W9 v( |5 R3 V
同上面定义间距的方法类似,在选中所要定义的线之后,rules->selected net->timing,则可以在minimum length和maximum length中定义走线的最长最短长度限制,也可以用时间延迟为限制来定义。还有一种方法就是在Specctra Quest中提取某一根信号线的拓补结构作为模型,在里面定义各段导线的长度限制,然后生成rule文件,可以约束相同类型信号线的走线。
9 o9 F; A& a" [1 Q4 @+ b
2 X" V+ K' [! w3 J5 p& v
18.在CCT中如何进行一些保存读盘操作(颜色设置、规则保存)?& x+ a$ s  n$ [5 m! G3 o
在Specctra里,可用file->write->session来保存当前布线,用file->write->rules did files来保存规则文件,调用时均使用file->execute do file,然后打需要调用的存盘文件,如Initial.ses或rules.rul 。在color palette中使用write colormap和来load colormap来保存和读取颜色设置。
2 \# E& k$ k3 W1 {2 K7 A7 u& H) ~9 u  H. p5 i+ n; h* F9 ?0 e4 Y
19.在CCT中怎么大致定义自动打孔的位置,怎么打一排过孔及定义其排列形状?
8 g1 L- [& J. w$ nCCT中有自动打过孔的功能,在Autoroute->Pre Route->Fanout 。可以指定过孔的方向,比如想把过孔都打在Pad的内部,则可以在location中选inside。其中也可以定义一些其他限制。另外有时我们可以选择一组线进行平行走线,这时就可能同时打一排过孔,右击鼠标选择set via pattern,可选择其排列形状。在窗口的右下方也有快捷按钮可以选择。% n8 ?% ]" d+ I5 `. O
  ?% _; {# G, r) {
20.为什么提示的最大最小距离不随走线的长度变化而改变?
# t5 L+ {- U9 X; V2 j我们在定义了最长最短走线的规则之后,在布线时会有数字显示,随时告诉你如果按当前走向布线会离所定义的规则有多大的偏差。一般在规则长度以内的用绿色字体显示,超过了或长度不够会有红色字体显示,并用+/—提示偏差量。但是这个提示的偏差量并不是简单的随你走线的长度变化而变化。它是根据你的布线方向,软件自动计算按此方向走线的长度与规定长度的比较,如果变换走线方向,它也会重新计算。2 b' r+ r; p( G- e0 M8 ~' C0 G- Q
& L6 y3 G' u; N1 H$ B2 U
21.怎么铺设Plane层?铺好后怎么修改?& o5 D) D' ]/ G) ~9 R9 N
铺铜这一步骤一定要在Allegro中进行,Add->shapes->Solid Fill,同时注意在Control工具栏中Active Class选Etch,Subclass选所要铺设的Plane层,如VCC或者GND。然后即可画外框,注意离outline有20 Mil左右的间距。Done之后会进入铺铜的操作界面,选Edit->Change net(by name)给Plane层命名。在shape—>parameters确定是否使用了Anti Pad和Thermal relief,接着选Void->Auto,软件会自动检测Thermal relief,完成之后会有log汇报,如果没有任何错误既可铺设shape,shape->Fill 。如果铺好之后又有过孔的改动,需要重新铺铜,则应选Edit->shape,点在shape上,然后右击鼠标选done,这样就会自动将连接在shape上的Thermal relief删除,不能硬删铺铜的shape层,否则那些Thermal relief将遗留在Plane层上。: W/ j8 h9 l: K/ G3 n

: S4 |  X& |/ t  i  ~22.怎么定义thermal-relief 中过孔与shape连线的线宽?  K8 K( M) @. ~% H# t
在Allegro的Setup->constraints里的set standard values中可定义每一层走线的宽度,比如,可以定义VCC和GND的线宽为10 Mil。在铺铜时注意shape->parameters里一些线宽的定义是否设置成DRC Value。, r$ O) T$ j( A7 _9 t5 m

( O1 K) C- Y+ T0 B7 S4 U3 x23.如何优化布线而且不改变布线的总体形状?
& I# k' h$ ]' u3 z布线完成之后,需要对其进行优化,一般采用系统自动优化,主要是将直角变为45度,以及线条的光滑性。Route->gloss->parameters,在出现的列表中,选Line smoothing,进行Gloss即可,但有时布线中为了保证走线距离相等,故意走成一些弯曲的线,优化时,点击Line Smoothing左边的方块,只选择convert 90’s to 45’s ,把其他的勾都去掉,这样进行优化时就不会将设计者故意弯曲的走线拉直或变形。
. z$ |* `4 Y; Y8 x

# q) H* p# `/ |/ K24.如何添加泪滴形焊盘以及加了之后如何删除?
4 X* P9 {* o6 P" J4 C在优化的parameters选项中只选择倒数第二个,Pad And T Connection Fillet ,并去掉其中的Pin选项,进行优化即可。想要删除的话,则只选Line smoothing中的dangling Lines进行优化。注意:如无特殊要求,现在我们不再进行此项优化。& Z! e1 F/ o/ p* T: P$ Y4 v/ @
1 _" k# Y6 n4 o) A0 ?4 K3 H3 A# T& m
25.布线完成之后如果需要改动封装库该如何处理?
3 J9 B2 E+ E. ]% V/ _' F( F在器件摆放结束后,如果封装库有改动,可以Place->update symbols,如果是pad有变化,注意要在update symbol padstacks前打勾。布线完成之后尽量避免封装库的改动,因为如果update,连接在Pin上的连线会随Symbol一起移动,从而导致许多连线的丢失,具体解决办法有待于研究。: {: H4 Y" o# ~' D3 {1 d  m
  s9 _( N3 _+ R$ c7 Q- U
26.为什么*.brd 无法存盘?% r8 ]  ^2 V' ]0 [9 S
遇到这种情况注意看屏幕下方的空白栏的提示,有可能是硬盘空间不够,还有一种可能是因为数据库出错,软件会自动存盘为*.SAV文件,这时可以重新进入Cadence(可能需要重起动),打开*.SAV,再另存为*.brd 。或在Dos下运行DBFix  .SAV,会自动将其转换为
. r4 ^3 p- w: f# l- z( v$ T  G*.brd文件,然后即可调用。+ U+ E. @- v. E, I4 D! s
( n1 [" T) l, m; c1 t
27.Allegro有哪些在Dos下的数据库修正命令?: q& g2 y9 R% \: t7 o- V  {# s
有时Allegro会出现一些非法超作,导致一些数据出错,我们可以在Dos方式下,在工作目录下(即physical目录下),运行一些修正命令,如Dbcheck *.brd , 或Dbfix *.brd 。不过实际中这些命令好像效果不大。8 Q* {: d7 v8 I

: X- q9 p) f4 k1 Y! ~4 i28.如何生成*.DML模型库?8 q* H9 B6 r; a( k) P$ L$ y5 M- l- I
    在dos模式,工作目录下,敲入brd2dml *.brd 命令,这样在该目录下会生成对应brd文件的模型库dml文件。
0 }( u  V  `) q2 V4 l7 |5 G2 n& w
6 P9 E! l* J9 |" X29.如何在Specctra Quest里使用IBIS模型进行仿真?
4 o* H; j- v& @& h) M首先将IBIS模型转化为*.dml文件。在Specctra Quest SI expert中Analyze->Si/EMI SI->library,在出现的新窗口的右下角,点击translate->ibis2signoise,然后在browse里选择*.ibs文件,将其转化为*.dml文件。然后在Analyze->SI/EMI SI->model Assign中将所有的器件加载对应的模型。然后就可以用probe提取信号线进行仿真了。+ k- g+ S3 X, O

8 G6 m* ]8 l1 Z  O30.生成Gerber file要哪些文件?如何产生?- V+ b; d( H( V# z
在PCB 布线完成以后,所做的最后一项工作就是产生生产厂家所需要的光绘文件,具体步骤在Allegro工具下完成。在Manufacture 菜单下点击Artwork 选项, 则出现一个artwork control form窗口。所提供的光绘文件除了包括已产生的TOP, GND, S1, S2, VCC, BOTTOM6层,还应包括silkscreen_top, silkscreen_botom, soldermask_top, soldermask_bottom, pastemask_top, pastemask_bottom, drill drawing file, 及drill hole。我们以制作Silkscreen的top层为例。5 n! D! f2 R; Y
1) 在Allegro窗口中,点击color 图标,在产生的窗口中,global visibility 选择
4 h% x* S; |8 r  U all invisibility, 关掉所有的显示。8 Z- I6 i: u  O4 P/ x  }* w
2)  在group 选择Geometry. 然后选中所有的subclass(Board_Geometry , package7 M8 g. H& c: s/ t7 `, F2 ~8 L
Geometry)下的silkscreen_top 。
1 L) j4 w2 v' N7 ^# L* v3) 同样在Group/ manufacture 中选择Autosilk_top 。 在Group/components ,subclass  REF DES 中选择 silkscreen。
' ]- h. T6 G1 N/ A4)  选择OK按钮 ,则在Allegro窗口中出现 silkscreen_top层 。
2 P3 \1 w! {5 b( U3 J2 P! j5)  在artwork control form 窗口,右键点击Bottom ,在下拉菜单中选择add ,   则在出现的窗口中输入:silkscreen_top, 点击O.K , 则在avilibity films 中出现了新加的silkscreen_top。& {& }+ P) ]% k- R) a
    注意:在FILM opition选中Use Aperure Rotation, 在Underined line width 中填写5(或10) ,来定义还没有线宽尺寸的线的宽度。
8 F# L/ V* w) ?( ^2 ^5 B按照上面的步骤,产生silkscreen_bottom层。soldermask_top和 soldermask_bottom 层分别在 :  Gemoetry 组和  Stackup 组(选择PIN 和VIA子集);Pastemask_top 和Pastemask_bottom 分别在Stackup组(选择PIN 和VIA子集);DrillDraw 包括Group组/Board Geometry中的outline、Dimension 和Manufacturing 中的 Ncdrill_Legend。这样,按照上面的步骤,分别添加上述各层。然后在  Artwork control form 窗口中 ,点击Select All   选中所有层 , 再点击 Apertures….按钮, 出现一新的窗口EditAperture Wheels, 点击EDIT, 在新出现的窗口中点击AUTO>按钮,选择with rotation, 则自动产生一些Aperture文件。然后点击O.K。在 Artwork control form 中点击 Creatartwork , 则产生了13个art文件。 回到 Allegro 窗口, 在 Manufacture  菜单下点击NC 选项中的Drill tape 菜单 ,产生一个*.tap 文件。到此,就产生了所有的14个光绘文件。4 @( B8 {9 x' s; W, d! t

) U5 W: i' K, S- [7 y4 m8 `31.如何调看光绘文件?及如何制作Negtive的Plane层光绘文件?( q8 `  e( m2 f  }
新建一个空白layout文件,File->import->Artwork,然后就可以在browse中选择*.art文件,Manual中选gerber 6×00。注意不要点OK,点击Load File。在调用Soldermask 时要在display pad targets前打勾。 调用silkscreen层时,可能会发现没有器件名标志。这是因为在上面制作光绘文件时,Underined line width没有定义宽度,而在以前制作封装库时,silk_screen层时标注的Ref也没有定义宽度,则在调用时会不显示。另外如果想制作Negtive的光绘文件。在制作光绘文件时,Gnd和Vcc层的Plot mode选为Negative就行。

评分

参与人数 1贡献 +10 收起 理由
kxx27 + 10 感谢分享

查看全部评分

该用户从未签到

2#
发表于 2008-6-14 15:44 | 只看该作者
很有价值,嘿嘿,收藏了,辛苦楼主.

该用户从未签到

3#
发表于 2008-6-28 15:29 | 只看该作者
谢谢楼主

该用户从未签到

4#
发表于 2009-12-14 16:28 | 只看该作者
谢谢楼主,辛苦了!

该用户从未签到

5#
发表于 2009-12-28 17:26 | 只看该作者
谢谢,辛苦了
头像被屏蔽

该用户从未签到

6#
发表于 2010-1-8 08:49 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

该用户从未签到

7#
发表于 2011-1-26 01:07 | 只看该作者
kankan   3Q
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-9-11 07:34 , Processed in 0.156250 second(s), 28 queries , Gzip On.

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

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

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