找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 2525|回复: 7
打印 上一主题 下一主题

Cadence 仿真流程

  [复制链接]

29

主题

123

帖子

-1万

积分

未知游客(0)

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

EDA365欢迎您!

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

x
第一章 在Allegro 中准备好进行SI 仿真的PCB 板图6 |" B/ W# i( ^4 U* ?  Z# i3 J
1)在Cadence 中进行SI 分析可以通过几种方式得到结果:7 N1 d. ~" ]: W0 E* J, k" [
  • Allegro 的PCB 画板界面,通过处理可以直接得到结果,或者直接以*.brd 存盘。
  • 使用SpecctreQuest 打开*.brd,进行必要设置,通过处理直接得到结果。这实际与上述方式类似,只不过是两个独立的模块,真正的仿真软件是下面的SigXplore 程序。
  • 直接打开SigXplore 建立拓扑进行仿真。
2)从PowerPCB 转换到Allegro 格式( Q  h! S$ u" U/ O
在PowerPCb 中对已经完成的PCB 板,作如下操作:& T. M1 P5 W+ J8 F4 \
在文件菜单,选择Export 操作,出现File Export 窗口,选择ASCII 格式*.asc 文件格式,并指定文件名称和路径(图1.1)。! w) p% w9 [  k
0 Q: v( Q! \7 ^# V( V
图1.1 在PowerPCB 中输出通用ASC 格式文件
. K4 S" U1 y) I  R1 ?/ e
' I$ T- ?% d5 y* _9 Z图1.2 PowerPCB 导出格式设置窗口. N- E) ]. q# Z' u7 K
点击图1.1 的保存按钮后出现图1.2 ASCII 输出定制窗口,在该窗口中,点击“Select All”项、在Expand Attributes 中选中Parts 和Nets 两项,尤其注意在Format 窗口只能选择PowerPCB V3.0 以下版本格式,否则Allegro 不能正确导入。' K  P8 A. K' D: e* [5 f8 j1 l

$ j" w4 ?( O$ K9 I- A3)在Allegro 中导入*.ascPCB 板图
& x$ [) g; V* _# n在文件菜单,选择Import 操作,出现一个下拉菜单,在下拉菜单中选择PADS 项,出现PADS IN 设置窗口(图1.3),在该窗口中需要设置3 个必要参数:3 \2 g; a: D1 ]& i) W& G. c
: O+ l5 }9 `/ i, y" F* j
图1.3 转换阿三次文件参数设置窗口( _+ e4 N, L3 S# Z! g1 \
i. 在的一栏那填入源asc 文件的目录. p6 F, c3 d9 h1 F
ii. 在第二栏指定转换必须的pads_in.ini 文件所在目录(也可将此文件拷入工作目录中,此例)2 o* r# ]# L. C# {/ p/ d- Q
iii. 指定转换后的文件存放目录
9 b! ^, i0 c7 x8 C& T, _" h7 X然后运行“Run”,将在指定的目录中生成转换成功的.brd 文件。0 r' v  j6 v2 _
注:pads_in.ini 所在目录路:.\Psd_14.2\Tools\PCB\bin 中。; `# S+ C- S% |9 A8 W4 X1 G4 M- \3 n
) z9 ]2 }/ ~* j; z9 x/ O5 g
4)在Allegro 文件菜单中使用打开功能将转换好的PCB 板调入Allegro 中。
2 _. A- @( k* D& C第二章 转换IBIS 库到dml 格式并加载
: A2 p- g, V4 h# S5 \) k1)库转换操作过程0 c  p$ s8 E4 S2 ]& e: r
在Allegro 菜单中选择Analyze \ SI/EMI SIM \Library 选项,打开“Signal Analyze Library Browser”窗口,在该窗口的右下方点击“Translatr ->”按钮,在出现的下拉菜单中选择“ibis2signois”项,出现“Select IBIS Source File”窗口(图2.1).按下“打开”按钮,随后出现转换后文件存放目的设置窗口,设置后按下“保存”键,出现保存认定窗口(图2.2)。注意:必须对此窗口默认的路径设置进行修改,否则无法生成.dml 文件。: d, Q: M. v, Y) g2 ~& Y' m

# D3 S1 I3 I* T( Q9 P( Y4 K/ O图2.1 IBIS 库转换原文件路径设置窗口
. ^0 O2 `* U8 \0 w% K原该窗口的默认设置为“ibis2signoise in=E:\_ED\30\82559.ibs out=82559.dml”,实际上ibis2signoise 是一个DOS 文件,可能在一些场合,可执行文件后面的命令参数中“in=”和“out=”被认为是非法字符,所以,将它修改为“ibis2signoise E:\_ED\30\82559.ibs ”即可,它将在IBIS 文件所在目录建立同名的dml 文件。
! `9 ?8 G0 n& F+ J$ e% q
8 E5 W6 i  p! U$ R图2.2 IBIS To dml 转换设置路径窗口(需修改)/ q! j' V+ A7 \/ H2 T) x
转换完成以后,会有报告文件弹出,在文件中只要没有“Error”提示,转换文件有效。
9 R; x" f! U' w+ e2 o
8 u! P; O2 g% Y2)加载转换后的dml 库
* \5 V& i5 f6 ~0 Z7 P* S9 \5 S1 | ' j/ W' O7 Q3 d4 U( H
图2.3 Signal Analyze Library Browser 窗口$ }$ {! |" y, a0 i. |; u' ?6 b9 J! g7 g
在Signal Analyze Library Browser 窗口(图2.3),加载转换后的dml 库文件。首先点击“Add Existing Library ->”按钮,出现下来菜单(图2.4),该菜单有四个选项:
- d# H( q# J4 K8 V6 [1 D) h' d1. Local Lib: 直接指定一个确定的库文件。这些库文件在:…\Psd_14.2\share\pcb \signal \SignalPartLib 中。
3 H6 [7 |- {' T& X- H' D 3 X1 m0 w$ U% `) v& X
图2.4 加载库文件的几个方法
! ^$ y4 Y- q6 K/ E0 K; N
$ o: ^# ~( x9 x' h- L# H( b2. Local Library Path :指定一个人目录并将目录中所有库文件调入。在…\Psd_14.2\share \pcb \signal\SignalPartLib 中安装时,内置有三个库文件目录(安装时没有选择附加的仿真用库):DEFAULT_LIB、Dig_lib(内含abt、als、alvc、fttl 四个子目录)、Packages。其中als 子目录中有X4ALS 系列标注逻辑器件库,如74als162 等。" S% ?' f$ C8 ?, v2 S
3. Standard Cadence Library:在加载两个索引文件(\Psd_14.2\share\pcb\signal):cds_models.ndx和cds_partlib.ndx,前者包括模块信息,后者包括仿真器件信息。3 S7 t- t& L+ t
3)加载成功以后可以点击set working 按钮,将其设置为工作库。
7 A5 q% [# w) T. P# J5 h, ]第三章 给器件加载对应模型
8 b, b+ S; ]  T7 }1) 给器件加载模型* g3 ?) @$ E: o
在Allegro 菜单中选择Analyze \ SI/EMI SIM \Model 选项,打开“Signal Model Assignmen”窗口(图3.1)。
9 r. ^  r) e- w8 G- n
6 A$ C1 w0 m! M: g; M图3.1 为器件指定模型窗口4 O9 {/ ?% z/ [6 b" Z1 [  H% V& q
在图3.1 中显示所有使用到的器件名称,选中一个准备设置模型的器件并点击Find 按钮,出现,Model Browser 窗口(图3.2)。在Model Name Pattern 窗口中填入“*”号,一些模型的名称进入下面的列表框,
+ d8 p- E$ M, ]( O" q" w 3 Q3 r+ Y* i, S- X$ `5 t- a
图3.2 浏览模型窗口                                       图3.2 创建模型窗口
- W$ J# \$ r4 Q- @/ ]+ p  S$ N# Q在列表框里点击你需要的模块后,在图3.1 中U1(和U2)的“Signal Name”列里就会出现它的模型名称。
- K4 B: G& K! ?/ C: E5 w5 G; {$ X. @  A& E
2)器件、元件的建模! {/ n; t, F) v' H! [
如果在图3.1 里准备加载的模型是无源器件或者是需要自己临时创建的模型,则点击在图3.1 中的create model 按钮出现图3.2 创建模型窗口, 对于电阻电容选择Espicemodel(选中蓝色箭头所指项目)后将出现,Creat ESpick Device Model窗口(图3.3)。其他有源器件用IBISdevice 模型(选中红色箭头所指项目),然后按提示输入value 及各管脚的功能即可,同时可以存盘生成*.dat 文件,这样以后进行仿真时直接load 即可。此时这个新建的模型就出现在所选器件的“模型名称“栏中。
+ t1 c! e" y2 t! U
# N1 L$ c4 `; C9 N图 3.3 无源器件建模窗口
# ~1 w6 }, U5 f4 a无源器件包括电阻。电容、电感,图中的Common 项是设置该元件是否有公用(接地或电源)管脚。1 _% o7 [3 Y1 y+ f2 j
第四章 定义板子的地线、电源电压
+ N- ?9 N. S- \器件仿真必须设置直流电源,否则仿真不能进行,只有定义了电压的电源和地信号,才能在拓补结构中将电源的信号模型调进来。此操作在Logic 菜单项中选择Identify Nets..选项,出现Identify DC Nets 窗口(图4.1 分别选中VCC 和GND 网络,在Voltage 栏填入5V 和OV,然后确认,完成设置。" N) K% y" E  j, O5 m% Z8 l
- O* l8 `/ s6 L( C
图 4.1 直流电源设置窗口
+ _2 G3 J( F7 }调整PCB 板叠层结构满足阻抗要求1 H! S( T- L' K5 y
该功能分别从Aleegro、SpecctraQuest 两个模块进入后进行设置。
7 Z% Q+ B. ]& S! A1 H4 f/ D3 m1) 从Allegro 主窗口设置
* r5 E- q3 f/ B7 @0 F1 s在Tools 菜单选择Setaup Advior 选项,出现DatBase Setup Advsor 窗口,直接按下“Next“按钮,出现新的DatBase Setup Advsor –Cross-Section 窗口,其中有个“Edit Cross-Section”按键,按下此键进入叠层设计窗口(图5.1),在这个类似Excel 表格式地窗口里,输入需要的各种参数,在表地最后一栏直接计算出该层的阻抗值。' j' Y" o' Z+ p! J& i! G7 Q/ h. l

. u: g3 m5 Z- L) s图5.1 叠层设置窗口
" `  H6 I& |# {5 P2) 从SpecctraQuest 窗口设置
/ H9 y( M$ R, P2 _' O8 N直接从Setup 菜单选择Cross-Section 项进入图5.1 窗口
- a* A, R1 v* ?( ?. {  V+ r第六章 设置仿真参数# a* U' y4 U, b- f) [( n: c  t7 X
在正式进行仿真之前,还需要对各参数进行设置,以便使最终结果更加准确的反映设计者的要求。这个步骤可以在SpecctraQuest 模块里,也可以在Sigxplore 中完成。具体需要设置的参数根据不同仿真有不同的要求,大致如下:! [" V( f- p- @# A1 z! V. ^6 a5 U
仿真的周期数(measurement cycle)时钟频率(Clock frequency)7 l+ e" y. ^' z# V
占空比(duty cycle)偏移量(offset)& Z2 h0 h' }* ^% a; g
固定仿真时间(fixed duration)波形取样时间(waveform resolution)
& J6 h) V5 S" j) ?7 m& ~截止频率(cutoff frequency)仿真模式(FTS mode)8 H8 O% n$ g( `2 p
驱动激励(drive excitation)测量模式(measurement mode)
+ f) U9 }4 \0 K4 [1) SpecctraQuest 模块里设置仿真参数
6 E. n) D, \1 P# y! `在SpecctraQuest 的菜单里选中Analyze\SI/EMI SIM\Prefences,出现参数设置窗口(图6.1)
/ B" x$ C$ M0 J% r# I4 m : E" G! ^0 ?# U
图6.1 仿真参数设置
2 u9 R+ g1 d; _* P6 C1 p$ {2) 在SigXplore 里的选中Analyze\Prefences 进入的参数设置窗口与图6.1 类似。
, z9 J" |2 s" u+ ?2 M第七章 用探针(Probe)指定仿真信号线4 |; R( B7 _% l5 U
1) 建立仿真信号线网表: _: r: \3 z& E' S/ f+ p
在SpecctraQuest 里的Logic 下拉菜单里,选择create list of nets,出现“CreatList of Net”窗口(图7.1)。在窗口上边的Net List Name 栏中填入自己起的网络名称,在“Net Filter”栏输入“* ”;在“Available nets”列表栏中选中需要仿真的网络并将其添加到右边“Selected Nets”! o, V, g4 G! a; ]9 c2 W0 x1 ?/ S
栏里。然后将生成的网表文件进行保存。
6 r5 ?9 {5 c/ F* a/ z4 x  j
! i: n  G" r+ h1 f0 y3 f图7.1 建立仿真网络
$ \% W, Z* `1 P  q6 k3 D+ z8 }9 D2) 选择仿真网络
+ F1 i0 c: k/ }  k" }选中Analyz\SI/EMI Sim\Probe 命令,在弹出的signal analysis 窗口的net 一栏,敲入*,或者通过list of nets,将网表文件调入。这样所有的net 都出现在最左边的框里,可以选择任何一个信号线进行模拟。(图7.2)
- P$ }) I+ T! b8 L7 ]4 J
& u: d6 Z8 U, i图7.2 选择仿真网络" f$ z1 H8 b+ i+ J& ^0 [
第八章 生成仿真结果报告、设定报告包括的参数' n+ T& ~0 g9 R7 K; R: p: d# a  G% m
选中要进行模拟的信号线之后,点击图7.2 下方Reports 功能键,在弹出analysis report generator窗口里进行不同的参数条件设置,如SSN, Reflection、CrossTalk 等等,参数设置完成之后,点击create report 就可以分别生成对反射,串扰,地弹等等的仿真结果报告。& r! }9 j. `% Y* p: p
第九章 提取电路拓扑结构(建立)
/ R/ {8 h1 f4 |3 R7 o) E) O
1) 通过在Aleegro 和SpecctraQuest 界面提取电路拓扑结构) I- x& |6 c/ j  n7 R
点击图7.2 中View Toplogy,假设没有任何设置错误,将直接进入拓扑界面。但一般会出现提示框(很难严格设置提取拓扑的每一个参数),告知不能进行提取,要你选择是否进入修订程序“Yes”,如果选择“No”程序将忽略一些错误直接进入拓扑界面(SigXploer 图8.1)。如果选择“Yes”,则依次进入下面的修正程序:3 ]' Z6 |/ z4 R* |
  • 进入Database Setup Advisor 进行 “Cross-Setion 叠层”修正
  • 进入Database Setup Advisor 进行 “Identify DC Nets 电源”修正
  • 进入Database Setup Advisor 进行“Device Setup 器件”修正
  • 进入Database Setup Advisor 进行“SI Model Asingment 模型定义”修正
  • 进入Database Setup Advisor 进行“Si Audit 审核”程序
  • 按下“Finish”完成全部校验过程。
) l. v, R- _2 f1 A: T) V% H
图8.1 SigXplore 中的拓扑结构(左边是驱动、中间是传输线、右边是接收)
8 h; |4 A# T$ @" `5 E" P& i# p2 \1.1 图8.1 窗口对应的功能“标签”(底部)
7 T9 `0 t1 ?( ?  M& q! U
& ]7 \- R% L+ t0 l/ p   q6 s4 w, u) ^9 e" d
图8.1 拓扑结构窗口中参数选项
$ \9 Y$ Y0 U; u1.1.1 Parameters 参数选项
  x5 K. \8 n- O在这个理表里可以进行参数的修改,每当选中一个欲修改的项目,在该项目栏右边会出现“ ”标记,点击它时将出现对应的编辑窗口。例如:修改电介质常数(蓝色箭头所指),首先选中此此项,再点击该项被选中出现的“ ”按钮,出现两个与该参数相关的窗口:“Set( ^% `$ G3 z. g: s
Parameter d1Constant”(图8.2)在Value 窗口直接输入修改数值。另一个是与介电常数密切相关的传输线结构。. p8 Y3 z6 M8 X. e

% I$ i1 p- l: g% _7 ]$ a图8.2 修正介电常数" I5 n1 z$ J% q
* A% ~! w: v5 k- `4 [
图8.3 与介电常数相关的传输线特性设置窗口+ t/ F' y8 c% h" E0 z: T
1.1.2 Meeasurements 选项
  _, T, B% [0 ?7 u5 V选项可以选择Reflection、Crosstalk 和EMI 分别进行仿真,其中Custom 是用作IC 晶圆(Die)的仿真的。在Results 里可以看到数据结果列表。8 T/ N- \: ^2 Y0 Y+ W  j
4 U/ \+ E9 r  P2 T3 n
2) 直接在SigXploer 中建立拓扑结构
  M9 E# ]4 u- ~1 j/ I) ]  h1.2.1 加载库
0 y4 U8 c" e: i( _6 k8 w; n在SigXploer 的Analyze 的Liberary 中加载库文件(类似图2.3)
. ~: B; \+ C0 M# n! R2 b9 `, \1.2.2 构造拓扑图$ e3 K4 d% Z8 g, D. ^5 r
1.2.2.1 放置传输线
4 A' T3 y" B4 M) Z在Edit 菜单选择Add Part(或者工具按钮)打开Model Browser 窗口来选择准备假如拓扑图的结构体。比如在图8.5 中选择的是传输类型,则所有传输线的模型列表出现,如果选择MicroStrip_1 模型,此时在Sigxplore 的主窗口,就有MicroStrip_1 图形在随光标移动,选定位置点击放置(图8.4)。3 P8 F/ g0 k8 F5 g) H
3 y1 C, v; k5 i0 n+ m
图8.4 在Sigxploer 中添加结构体
) M  Z/ Z3 s7 ]! d8 d1 F5 k
: z7 c. E# c% n6 F2 v' U" v% T# x! x1.2.2.2 放置器件(驱动和接收)
. D$ _+ h, u) P4 p  q9 r在图8.5 的Model Type Filter 里选择IbisDevice 类模型,(此例在库加载过程中只加了一个IBIS模型),所以出现的Browser 窗口里只有一个库(图8.6)。0 m& r+ s! o$ P- v) ~

- }/ Y5 T. y' H+ u$ ^图8.5 设置拓扑结构体类型
/ r2 K+ I# J2 z
% i6 j9 H) A. |2 O7 l1 f图8.6 IBIS 器件结构体设置2 a2 i( [& V% l
双击“PowerPC_8245_35……”项出现图8.7 的8245 器件管脚列表,在此表中选择需仿真的管脚,同放置传输线的方法一样,放置结构体(注意:必须至少有驱动、传输线、接收三部分)。
, g' K( w% a9 k) j# L
2 \9 I# N  |  l* s8 p* I2 o图8.7 设置有源器件8245 的C1 管脚未驱动结构体$ d( j  G% F2 g2 L: k, `; x
1.2.2.3 仿真无源器件(电阻等); Y$ `0 ]: O, Z# V8 A5 F* J% Z
: K1 v% t- \# d, l" x, x
图8.9 选择“GenericElement”设置其它无源器件7 j0 |  ~$ {% p& g$ j6 Q: V. F  x
用同样的方法将电阻等无源器件加入到结构中。4 `8 L. B& H7 n5 U1 b2 J7 Q& k
1.2.2.4 连接结构体; l! I9 H, J; k( l0 q" g0 t& R" @# h
用鼠标在结构体的端点(焊盘处),拖曳进行画线,完成仿真拓扑图。(图8.10)
& E2 K2 v( U- r3 _2 G $ G- u- C- u( R/ ?8 Y/ H
图8.10 最后完成的拓扑结构图  `  M  v' |8 _0 Q; m4 h" x) ~! G0 ^  ~
1.2.2.5 设置驱动源波形8 |9 X6 O/ X: N, R4 j: T
点击结构体中驱动结构模块(点击模块上方标注文字,红色箭头处),出现激励设置窗口,在这里进行驱动波形的设置。
  S) o2 b- V  z/ Y, p第十章 仿真以及更改不同的电路条件重复仿真! O7 j* t/ V. \6 q  m
点击图8.10 箭头之处可进入相应的参数编辑窗口(红色箭头是设置驱动波形的地方),通过修改结构体参数,可进行重复仿真、分析。# S8 j4 F* p% _3 f
运行Analyze 中Simulate 进行仿真(或者使用图标)结果如下图:
2 d; Z/ s% k9 x# N
1 r5 I. v/ T* I4 ?! \9 q% w0 E/ O图10.1 仿真结果图形
$ c! W8 W' d( }/ m+ _- J第十一章 仿真结果分析
4 h. N  ]4 q% Q$ Q

" v# R2 V# X# {1 d) {图11.1 仿真结果显示
( u  q# B$ F5 n仿真结果在图8.10 下面的信息窗口显示出来如上图
+ A4 N6 _5 l( W9 o- s$ Y( XSIM ID(模拟的次数) diver(驱动端)0 s6 G. H! b: R1 c) _
receiver(接收端) cycle(仿真的周期)4 J+ E) Y" a4 `* w3 R1 i
FTS MODE(仿真模式) monotonic(单调性)
' m* H' f; |# S5 ~, r2 A  ^/ r# s( BNoise Margin(噪声裕量) overshoothigh(上过冲)/ q: i- o& l, N' v
overshootlow(下过冲) PropDelay(传输延迟,驱动端到接收端): s. q6 C4 V5 ^% Z1 u9 o+ O
switch delay(开关延迟) settle delay(建立时间)+ {0 Q( L4 v* c9 {/ C
可以对照信号波形图一起进行分析,一般要求噪声裕量足够大,上冲和下冲不要超过规定电压,没有明显的振铃现象,波形没有严重失真等等,但对于不同的电路,有时对于传输延迟时间的长短,或者上升时间的快慢有特别的要求,这也是具体进行仿真分析时要注意的地方。6 n* ?& ^, C) u4 ~# P" ]
第十二章 电气约束规则的定义
9 Q8 ?+ k! K, u1 {1 J* n; v/ Y经过仿真,基本可以找出最佳的阻抗匹配及布线长度的要求。此时,我们可以产生电气规则,以约束下一步的布局布线。其大致的操作是:在Sigxplore 的set 下拉菜单下选择constraints。然后即可根据需要定义各项规则,并可在Existing Rules 窗口里确认规则是否成功加入。 规则定义完成之后,需点击update SQ 快捷键将规则反馈到SpecctrQuest。

评分

参与人数 1贡献 +10 收起 理由
Allen + 10 辛苦了!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏5 支持!支持!1 反对!反对!

1

主题

61

帖子

-2万

积分

未知游客(0)

积分
-21970
2#
发表于 2008-6-4 18:33 | 只看该作者

40

主题

177

帖子

6345

积分

五级会员(50)

Rank: 5

积分
6345
3#
发表于 2008-9-27 22:45 | 只看该作者

好是好,但这个流程是很久以前的人写的,比较笼统,有些地方也没有说清楚

有没有一个具体一点的?

4

主题

64

帖子

1079

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1079
4#
发表于 2011-5-31 17:06 | 只看该作者
Allegro做前仿真时,是要全部布局完毕?还是布局重点部分啊?

0

主题

2

帖子

7

积分

初级新手(9)

Rank: 1

积分
7
5#
发表于 2011-5-31 21:05 | 只看该作者
謝謝分享寶貴經驗。

0

主题

9

帖子

-8995

积分

未知游客(0)

积分
-8995
6#
发表于 2011-6-22 09:18 | 只看该作者
好东西

26

主题

152

帖子

433

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
433
7#
发表于 2013-8-20 10:47 | 只看该作者
mark

26

主题

152

帖子

433

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
433
8#
发表于 2013-8-28 09:45 | 只看该作者
mark
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2025-2-24 05:50 , Processed in 0.068473 second(s), 42 queries , Gzip On.

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

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

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