CST仿真指导 | PCB导入与端口设置


前言

PCB是电子元件进行电气连接的重要载体,仿真中有很多要考虑PCB的场景。本文介绍如何在CST 3D中进行EDA Import,并对其进行切割、元器件赋值以及端口设置等操作。

关键词:EDA Import,PCB切割,Lumped Element,Port设置


1. EDA Import

EDA文件导入方法:Modeling > Import/Export。

以下,以导入一个Cadence Allegro绘制的PCB文件作为演示:
在这里插入图片描述

对PCB的Stackup叠层、Component器件、NET网络、Area区域(裁剪)等进行二次编辑。
在这里插入图片描述

为了提高效率,我们总希望最终导入到CST 3D中的模型是我们所关注的功能模块、网络或器件的PCB区域,可以通过选择NET或绘制区域进行切割。
在这里插入图片描述

如果对导入到3D的PCB模型不太满意,需要重新调整,在3D界面中可以通过EDA Import Dialog再次进入PCB编辑界面。
在这里插入图片描述

2. Lumped Element

在PCB的导入过程中,可以一并将信号走线周边的元器件导入,默认器件类型是理想元件。
在这里插入图片描述
当然,如果为了更加精确的仿真,还可选择导入器件的S参数或SPICE模型。

方法一:如下图所示,直接在EDA Import界面操作,选中器件后,更改器件类型为S参数或SPICE,并导入实际模型。
在这里插入图片描述

方法二:在PCB导入时先选择默认的理想元件,而后在CST 3D中再更改为实际模型。
在这里插入图片描述

3. Port设置

添加Port有两种形式:1)Pin to Reference Port、2)Pin to Pin Port;

以下,以创建一个电感的Port作为演示,比较二者的区别:

3.1 Pin to Reference Port

顾名思义是由器件Pin脚到参考面的Port,参考面是由软件自动在器件的上方生成的PEC sheet,如果在指定Ref.Net(参考NET)的情况下,该Sheet会与Ref.Net通过PEC连接。
在这里插入图片描述

根据CST 3D中生成的模型来看,电感的两个PIN分别参考PEC Sheet生成了Port。
在这里插入图片描述

若要进行场-路仿真,在CST电路中直接将两个Port与电感的两端连接即可:
在这里插入图片描述

3.2 Pin to Pin Port

与上面方法不同,生成的Port直接连接在器件两端的PIN上。
在这里插入图片描述

在CST 3D中呈现的结果,也只有一个Port:
在这里插入图片描述

这种情况下,在CST电路中要对电感进行连接,需要用到一个虚构的GND,如下图所示。
在这里插入图片描述


关注“电磁学社”,让电磁仿真不再复杂!

在这里插入图片描述

  • 关注回复 -

【资料】获取学习资料

【进群】加技术交流群

【咨询】产品解决方案

(kt) jia@jia-kt:~/autod1-tmp/ktransformers$ gdb ./ktransformers/local_chat.py gdb: /home/jia/anaconda3/envs/kt/lib/libtinfo.so.6: no version information available (required by gdb) gdb: /home/jia/anaconda3/envs/kt/lib/libncursesw.so.6: no version information available (required by gdb) gdb: /home/jia/anaconda3/envs/kt/lib/libncursesw.so.6: no version information available (required by gdb) gdb: /home/jia/anaconda3/envs/kt/lib/libncursesw.so.6: no version information available (required by gdb) GNU gdb (Ubuntu 12.1-0ubuntu1~22.04.2) 12.1 Copyright (C) 2022 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: <https://www.gnu.org/software/gdb/bugs/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word"... "/home/jia/autod1-tmp/ktransformers/./ktransformers/local_chat.py": not in executable format: file format not recognized (gdb) core-file /home/jia/autod1-tmp/ktransformers/core.144757 warning: Can't open file /dev/zero (deleted) during file-backed mapping note processing [New LWP 145157] [New LWP 144757] [New LWP 144758] [New LWP 144762] [New LWP 144760] [New LWP 144768] [New LWP 144765] [New LWP 144766] [New LWP 144772] [New LWP 144763] [New LWP 144764] [New LWP 144771] [New LWP 144774] [New LWP 144769] [New LWP 144770] [New LWP 144767] [New LWP 144776] [New LWP 144775] [New LWP 144773] [New LWP 144777] [New LWP 145156] [New LWP 144779] [New LWP 144759] [New LWP 145155] [New LWP 145160] [New LWP 145161] [New LWP 144792] [New LWP 144761] [New LWP 145158] [New LWP 145159] [New LWP 144784] [New LWP 144778] [New LWP 145162] [New LWP 145170] [New LWP 145166] [New LWP 144782] [New LWP 145174] [New LWP 144785] [New LWP 145176] [New LWP 144788] [New LWP 144787] [New LWP 145168] [New LWP 145163] [New LWP 144781] [New LWP 144780] [New LWP 145177] [New LWP 145173] [New LWP 145164] [New LWP 144786] [New LWP 145171] [New LWP 145178] [New LWP 145165] [New LWP 145179] [New LWP 145169] [New LWP 145172] [New LWP 145175] [New LWP 144783] [New LWP 145167] [New LWP 145180] warning: Section `.reg-xstate/145157' in core file too small. --Type <RET> for more, q to quit, c to continue without paging--
03-19
<think>嗯,用户遇到了在GDB中调试Python脚本的问题,并且出现了一些库版本和核心转储的问题。首先,我需要分析用户提供的日志信息,理解问题的根本原因。 用户尝试用GDB打开一个Python脚本(local_chat.py),但GDB提示文件格式不被识别。这是因为GDB主要用于调试可执行文件,比如编译后的二进制文件,而Python脚本是文本文件,无法直接通过GDB调试。所以错误信息“not in executable format”是正常的,这时候用户可能需要使用专门针对Python的调试工具,比如pdb或者IDE集成的调试器。 接下来,用户加载了一个核心转储文件(core.144757)。GDB在加载核心文件时报告了一些警告,比如无法打开已删除的/dev/zero文件,这可能是因为程序在运行时使用了该设备,但核心转储时该文件已被删除。不过,这个警告通常不会影响主要的调试过程,但需要留意是否有其他更严重的错误。 另外,用户的环境变量中conda环境的库(libtinfo.so.6和libncursesw.so.6)版本信息缺失,导致GDB报错。这可能是因为conda安装的库系统自带的版本不一致,或者缺少必要的符号信息。这个问题可能影响GDB的正常功能,比如显示某些调试信息,但可能不会完全阻止调试。建议用户检查conda环境中的这些库版本,或者尝试使用系统自带的库,通过设置LD_LIBRARY_PATH来优先使用系统库。 用户可能需要确定程序崩溃的原因,所以需要查看核心转储中的堆栈跟踪。在GDB中,使用bt命令可以查看当前线程的堆栈,而thread apply all bt则能查看所有线程的堆栈,帮助定位死锁或并发问题。此外,检查核心文件生成时的可执行文件是否当前版本一致,否则符号信息不匹配会导致调试困难。 可能用户在使用某个Python库或扩展模块时发生了崩溃,比如涉及C扩展的部分。这时候需要确保调试时加载了带有调试符号的库。对于Python本身,可能需要安装debug版本的Python或相关包。 总结下来,用户需要逐步确认以下几点: 1. 使用正确的调试工具处理Python脚本,而非GDB直接调试。 2. 检查conda环境中的库版本冲突问题,必要时调整环境变量。 3. 分析核心转储文件,确定崩溃点,检查多线程问题。 4. 确保调试环境崩溃时的环境一致,符号信息完整。</think>根据您提供的调试信息,这里分步骤分析问题: 1. **GDB调试Python脚本的格式错误** ``` "/home/jia/.../local_chat.py": not in executable format ``` - 根本原因:GDB无法直接调试Python脚本文件 - 解决方案: - 使用`gdb python`启动调试器后执行`run local_chat.py` - 或使用Python专用调试工具如`pdb`:`python -m pdb local_chat.py` 2. **库版本警告分析** ``` gdb: /home/jia/anaconda3/.../libtinfo.so.6: no version information available ``` - 问题定位:Conda环境中的ncurses库系统gdb不兼容 - 验证方法: ```bash ldd $(which gdb) | grep curses # 查看gdb依赖的curses库路径 ls -l /home/jia/anaconda3/envs/kt/lib/libncurses* # 检查conda库版本 ``` - 临时解决方案: ```bash export LD_LIBRARY_PATH=/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH gdb ./ktransformers/local_chat.py ``` 3. **核心转储分析** ``` [New LWP 145157]... # 出现大量线程 warning: Section `.reg-xstate/145157' in core file too small ``` - 关键诊断步骤: ```gdb (gdb) bt full # 查看当前线程完整堆栈 (gdb) info threads # 列出所有线程状态 (gdb) thread apply all bt # 获取全部线程回溯 ``` - 常见问题原因: - 多线程竞争条件 - Python C扩展模块崩溃 - 内存越界访问(需检查是否有使用C/C++扩展) 4. **后续操作建议** - 确保生成core dump时的执行环境调试环境一致 - 检查是否加载了带调试符号的Python解释器: ```bash apt install python3-dbg # Ubuntu安装调试版本 ``` - 对于涉及CUDA的操作,建议检查GPU内存状态: ```bash nvidia-smi --query-compute-apps=pid,used_memory --format=csv ``` 建议优先使用`gdb python core.144757`加载核心转储,然后通过`bt`命令查看崩溃时的堆栈轨迹。如果涉及Python/C混合编程,需要确保相关C扩展模块编译时包含调试符号(-g选项)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

电磁学社

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值