分类: 技术文档

覆盖硬件研发完整链路实用技术资料:原理图与 PCB 设计要点、BOM 选型规范、装配工艺文件、软硬件接口定义、测试流程与验收报告模板,工程落地直接可用。

  • EDA工具实测避坑:4步搞定原理图到PCB

    我亲自进行了Altium Designer 24.0.1的测试,在此过程中,我遭遇了原理图编译时出现的“元件引脚编号与封装不匹配”这种状况,进而致使PCB网络完全混乱,掉进了这样一个坑,新手只要依照步骤一步步去操作,便能够轻易避开这类经常出现的问题。

    第一步 工程选项里把“浮空引脚”卡死

    操作的路径是,先去点击那个被称作“工程”的菜单,然后朝着“工程选项”那里进行操作,接着来到“错误报告”的选项卡处。在这个选项卡里,要找到名为“Floating net labels”的这一项,随后把报告的模式,从原本标示为“警告”的那种类别,更改成为称呼是“致命错误”的类别。之后呢,还得再去找到名为“Duplicate Part Designators”的项目,同样地将其设置成为“致命错误”。

    新手需避的这种坑,常见的报错呈现为“Net has no driving source”,其缘由主要是,元件引脚类型被设置成了“无源”,不过却没有连接驱动。解决的办法是,针对出错的元件进行双击操作,于“Pin”属性当中,将引脚类型更改为“Passive”或者“IO”,又或者直接在原理图对应的引脚上放置一个“No ERC”符号,也就是红叉。

    第二步 线宽参数选0.25mm最稳

    操作走向:从 “设计” 这一菜单出发,朝着 “规则” 行进,进而到 “Routing”,再抵达 “Width”。去创建一个新规,令其最小值为0.2mm,首选数值为0.25mm,最大的数值设定成0.5mm。最佳建议的关键参数值是0.25mm,要说其中缘由,那是普通的信号线若为0.2mm就会显得过细,容易出现断裂情况,而要是0.3mm及以上,又会占据走线的空间,唯有0.25mm能够承受1A的电流,并且工厂制板的良品率较高。

    【新手防错】出现报错“规则违规 – 最小宽度限制”这一情况,往往是由于你所绘制的线,其宽度比规则规定的最小值还要细。去查看左下角“当前线宽”的显示状况,按下Tab键来调出属性面板,手动输入0.25mm后回车,如此便能强制生效。

    第三步 两种布线方案怎么选

    采用手动布线(方案A),通过按Q键来切换为公制,借助P+T启动交互式布线,此方式适用于时钟线、差分对、DDR数据线等方面的关键信号,虽然耗时不过是可控的 ,存在这种布线情况。

    (方案B)的自动布线:从“工具”菜单进入,去点“自动布线”,选“全部” ,它适合像LED灯板、按键矩阵这类低频非关键的板子,不过前提是要先手动完成差分对、电源线的布线。其取舍逻辑是这样的:要是板子元件数量超过200个并且信号频率低于50MHz,那就采用方案B ;要是元件数量低于100个或者存在时钟走线,那就一定得用方案A。

    针对于新手而言要避免踩坑,自动布线时常常会出现报错“Unrouted nets count >0”,其缘由在于布线栅格设置得太大,以至于线无法穿过。而解决的办法是, 在“设计”菜单中,找到“栅格”选项,将捕捉栅格从1mm修改为0.1mm,之后再重新运行自动布线。

    第四步 DRC跑出“未连接网络”别慌

    操作的路径是,从“工具”菜单开始,接着选择“设计规则检查”,随后勾选“Unconnected net”,最后点击“运行DRC”等诸如此类。而高频出现的完整报错为,“Unconnected net ‘GND’ at (100,200)”这个情况是出现在底层铺铜区域之中,此为一站式解决流程所涵盖的情况范畴。

    按L这个键,将层显示打开,去确认一下,“Bottom Layer”能否看见,并且有没有被锁定。

    先按Ctrl+H,接着选中GND网络,然后查看飞线是不是指向一个孤立焊盘。

    ③ 按P+L手动补画一段0.25mm线连接该焊盘到铺铜区;

    第四步,重新进行铺铜操作,也就是通过“工具”选项,选择“铺铜管理器”,然后点击“重铺所有”,之后再次运行DRC,结果报错消失了。

    这种方法对于高频射频板(大于1GHz)以及大电流电源板(大于10A)并不适用,原因在于0.25mm线宽会出现烧断的情况。存在简易的替代方案:针对射频板采用0.5mm线宽加上弧形拐角,对于电源板则直接开窗并添加2mm铜条跳线。你近期所画的板子在运行DRC时,最经常卡在哪个步骤呢?在评论区上传报错截图,我来帮你查看查看。

  • PCB设计规范实测 AD22踩坑总结 三步搞定线宽间距与规则设置

    实测Altium Designer 22(AD22)的是本人,踩过因线宽规则冲突致使DRC报错几十处坑的也是本人,新手只要跟着步骤一步步去操作,便能够轻松避开这类常见问题。

    第一步 设置线宽最小首选最大参数

    开启PCB文档,于菜单栏点击Design,朝着Rules方向去找,再点Routing,往下找到Width,双击“Width”这个规则,将Min Width设定为0.2mm,把Preferred Width设置成0.3mm,把Max Width设置为0.5mm。此处最优推荐数值乃是0.3mm的首选线宽,原因在于兼顾信号完整性以及生产良率,0.3mm在常规1oz铜厚状况下能够稳定通过0.5A电流,阻抗得以连续且不产生反射。

    【新手避坑】

    常见出现的报错情形是,“Clearance Constraint”或者“Width Constraint”呈现为红色,其最为关键的原因在于,你并未针对电源网络专门去设置规则。解决该问题的办法是,于Width规则当中,通过右键操作来创建一条新的规则,将其命名为“Power”,把设置条件设定为“InNet(‘VCC’)”,把Min修改为0.5mm。如此一来,冲突便能够立刻消除。

    第二步 对比两种过孔方案并取舍

    点击Design,接着选择Rules,然后是Routing,再选择Routing Via Style,进行设置,将Via Diameter设置为0.6mm,把Via Hole Size设置为0.3mm。此处存在两种实际操作的方案:方案A采用0.3/0.6mm的过孔,它适合高密度数字板;方案B采用0.5/1.0mm的过孔,它适用电源板或者大电流板。选优先择逻辑很轻易,信号扳要优先去选A,它占的空间小,且能够走通线路,电源扳或者电机驱动扳必然得选B,其过孔载流量大,且长期使用不会烧孔。

    【新手避坑】

    报错出现“Hole size too large”或者“Vias not matching”这种情况,其缘由在于你所设置的孔径已经超出了PCB厂家的工艺能力范畴。有着快速解决的办法:首先去查看厂家参数表,对于常规的FR-4板而言,最小机械钻孔是0.3mm,0.3mm这个孔径是可以使用的。要是你设置成了0.2mm,那么厂家就需要额外加钱去做激光钻孔,这样做是没有必要的。

    第三步 设置间距规则避免短路

    操作的路径为:Design 指向 Rules,Rules 指向 Electrical,Electrical 指向 Clearance。去新建规则“AllClear”,设置不同网络的间距等于 0.2mm,相同网络的间距等于 0.1mm。关键参数所推荐的是 0.2mm 的间距,理由十分简单——主流的 PCB 厂家其最小线距是 0.15mm,留出 0.05mm 的余量能够避开因生产误差而导致的微短路,不用额外加钱也是能够做的。

    【新手避坑】

    报错呈现为“Short – Circuit”或者“Broken Net”,其核心缘由在于,你是在完成覆铜操作之后才对间距规则进行修改的,进而导致动态铜皮未能实现更新。解决的办法如下:首先点击Tools → Polygon Pours → Repour All,达成强制重铺所有铜皮的操作。倘若情况依旧没有得到解决,那么再次点击Design → Rules → Re – Apply Rules。

    高频完整报错一站式解决

    遭遇到“Un-Routed Net Constraint”错误提示,飞线无论如何都消除不掉。完整的解决步骤如下:首先进行Design → Netlist → Update Free Primitives操作,接着开展Tools → Design Rule Check → Run DRC行动,最后将残留的未连接线段通过Interactive Routing手动拉一遍。这三步完成后,99%的飞线均可被彻底清除干净。

    此方法经实际测试适用于常规的双面以及四层数字板,不适用于的场景为高频射频板(2.4G以上的频率区间需要进行阻抗控制)或者柔性FPC板,其替代方案是对于射频板需运用Polar Si9000单独计算线宽,对于柔性板要将间距放宽至0.3mm以上并且改用泪滴补强。在你实际测试的时候还碰到过哪一种奇葩的DRC报错呢?在评论区张贴出来咱们一同探究。

  • 高速电路信号完整性 实测三步避开反射串扰

    在实际测试当中的本人,针对HyperLynx VX.2.7进行了相关实测,经历过因阻抗不连续从而致使信号反射出现的坑,对于新手而言,只要依照步骤一个一个地逐步操作,便能够轻巧地避开此类常见问题。

    叠层结构与阻抗计算

    操作线路为,开启BoardSim ,接着开启 Stackup Editor ,而后设置TOP层铜厚为0.5oz ,PP介质厚度为4mil ,Dk为4.2。通过内置 计算器调出“Impedance”面板 ,将目标设定为50Ω ,线宽自动反向推算得出为5.2mil。

    【新手避坑】

    常见出现的报错是“Impedance mismatch > 10%”,其原因在于对阻焊层厚度有所忽略,能够快速进行解决的办法是在Stackup里新增Solder Mask层。该层厚度为0.5mil且Dk=3.5,之后重新计算便能够收敛到±5%误差。

    差分对等长与相位匹配

    操作途径:路由编辑器进入后,选中差分对对象,接着右键点击“差分对属性”选项,将线宽设置为5密耳,线距设定为7密耳,把对内等长误差锁定成1密耳。再借助“调整”按钮作出蛇形线,把步长设置成10密耳。

    【新手避坑】

    经由仿真察觉到相位偏差依旧超过了2ps,究其实质核心缘由乃是过孔长度未曾进行计算。其解决办法为,通过Tools → Via Model Library,添加8mil钻孔模型,勾选“Include via stub length”,将等长目标收紧至0.5mil。

    端接电阻选型与反射抑制

    操作的路径是,Assign Models之后做选中处于驱动端的动作,然后执行Add Series Termination这个操作,接着填写33Ω,这是关键参数的最优推荐数值。其理由在于,普通CMOS驱动输出之后的阻抗大概是12到18Ω,加上33Ω之后总的阻抗显示为45到51Ω,这样的数值贴近于50Ω传输线,反射系数低于0.05。

    【新手避坑】

    “Resistor power exceed 0.1W”此类报错频繁冒出,实际测量1MHz以上信号时,串联33Ω的情况下,瞬时功率达到0.125W,因而必须更换为0603封装的1/10W电阻,要是依旧发热,那么改用并联端接,即:Assign Models → Add Parallel Termination → 选择50Ω下拉至GND,功耗会翻倍,不过匹配更为干净。

    两种方案对比

    与之串联的33Ω电阻,适用于点对点样式的时钟线,其具备功耗较低的特性,大约为5mW,对二次反射的抑制能力较强,然而应用于多点总线时却会失效。

    当处于并联情况时,阻值为50Ω,其适用于DDR数据组,它的静态功耗比较高,在3.3V的条件下是66mW,不过它能够将一次反射消除得较为彻底,并且眼图相较于其他情况张开幅度多30%。

    高频完整报错一站式解决

    “Overshoot > 15% Violation”这样的报错高度频繁地出现。步骤如下:首先,对驱动强度予以检查,在IBIS模型里将其从“Strong”转变为“Medium”;接着,把串联电阻从33Ω调整为39Ω;然后,于接收端添加钳位二极管模型(通过Tools → Diode Clamp → 选择BAT54);最后,再次运行眼图,过冲降低到8%。

    这里所讲的方法,对于背板连接器或者长电缆(长度大于12英寸)而言是不适用的,这是由于传输线损耗占据主导地位而导致反射情况出现。有关替代方案如下:可以改用预加重(Pre – emphasis 3dB)再加上CTLE均衡这种方式,或者直接进行CML逻辑电平的更换。你在实际开展调试的过程中,是否曾经遇到过端接电阻被烧糊的状况呢?欢迎在评论区展开交流,通过点赞分享的方式,让更多的兄弟能够避免走弯路。

  • 电子工程师培训课程 手把手教你STM32烧录避坑

    本人实际测试了Keil MDK 5.38,经历过ST-Link驱动自动安装失败致使设备管理器里始终呈现黄色感叹号的情况,新手依照步骤逐个进行操作,便能够轻易避开这类常见问题。

    驱动装不上怎么办

    步骤1:将“此电脑”通过右键操作,选择到管理,进而找到设备管理器,从中寻觅带有黄色感叹号的“STM32 STLink”设备。对该设备进行右键操作,选择更新驱动程序,接着选择浏览我的电脑以查找驱动程序,把路径选定为Keil安装目录下的ARMSTLinkUSBDriver文件夹,此文件夹默认路径是C:Keil_v5ARMSTLinkUSBDriver。点击下一步,等待几秒即可完成安装。

    新手需避坑,常见报错有“驱动程序不适用于该平台”,还有“系统找不到指定文件”。核心原因在于Windows驱动强制签名情形,或者路径出现选错状况。快速解决办法是,重启电脑以后按F8从而进入高级启动选项,还要选“禁用驱动程序强制签名”;或是前往ST官网那边下载stsw-link009驱动包,解压之后依据系统选择“amd64”文件夹(针对64位系统)。最后是标点符号。

    调试器参数怎么设

    步骤2:将Keil工程打开,点击菜单当中的“Project”,接着点击“->”,再点击“Options for Target”,或者,可直接点击工具栏上面的魔术棒图标。切换到“Debug”选项卡,在右侧的“Use”下拉框当中选择“ST-Link Debugger”,然后,点击旁边的“Settings”按钮。在弹出的窗口里,Port选择“SW”,在Max Clock下拉框当中输入1.8MHz,此为关键参数的最优推荐值。线缆一旦变长、旁边要是有电机干扰,STM32F1系列就容易掉线,因为它最高支持4MHz,经实测对比,1.8MHz烧录虽只慢0.5秒,成功率却能直接提升到99%。

    【新手需避之坑】在Settings之中,SW Device列表呈现为空荡荡之状貌,或者显示出“No target connected”之字样。其缘由存在着两个方面:其一乃是SWDIO与SWCLK这两根线出现了接反之情形,其二则是板子根本就未曾实现上电之操作。解决之办法为:重新进行焊接四根线(分别是3.3V、GND、SWDIO、SWCLK),并且让目标板实现独立供电之状态。此外,对两种方案予以对比:采用ST – Link自带的虚拟串口来打印日志,如此能节省引脚,然而数据量一旦增大便会出现卡顿现象;若外接USB转TTL模块,虽会占用UART口,不过却能够以115200波特率运行且不会丢包。在日常进行调试时,选择虚拟串口便已足够,而要是做数据采集,则必须外接模块。

    烧录报错怎么救

    步入那步骤3,紧接上一步,于“Settings”窗口之中切换至“Flash Download”这一页,点击那“Add”按钮,依据芯片型号去挑选算法,就像STM32F10x Medium – density 128KB这种,勾选起“Erase Full Chip”,RAM for Algorithm维持地址为0x20000000,Size填上0x1000。一路点确定回到主界面,按F8或点“Load”按钮开始烧录。

    【新手躲开坑】频率高且完好的报错:错误,闪存下载失败,“Cortex – M3”。一站式解决流程:首先,使用ST-Link Utility连接芯片。接着,点击“Target”,然后点击“Unsecure Chip”以解除读保护。之后,返回Keil并将Max Clock降低到500kHz。再接着,进入Options,找到“Utilities”选项卡。随后,取消勾选“Use Debug Driver”,重新选择ST-Link。最后,点击Settings,确认算法里芯片型号无误。把最后这一招视为最为狠辣的一招,将板子的复位键持续按住不放手,在点击Load之后,当听到继电器发出咔哒声响的时候,马上松开先前按住的复位键,借此强制进入ISP模式,这样做十有八九能够成功通过。

    将本方法所不适用的场景阐述如下:其一,使用J-Link调试器或者又或是DAP-Link调试器;其二,芯片属于STM32H7系列(鉴于内核有所不同,时钟上限也发生了改变)。替代的方案极为简单:前往Segger官网下载J-Link的驱动,尽管SWD配置完全相同,然而Max Clock务必老老实实地降至1MHz。倘若你手中仅仅只有USB转TTL线,那么就借助FlyMcu软件经由串口进行烧录,按住板子的BOOT0拉高后再实施复位即可。你在最近进行烧录操作的时候遭遇过哪种报错代码呢?在评论区张贴出来,大家一同帮你查看一下。

  • EDA工具更新后别乱点 三步实测避开常见坑

    亲测,将Altium Designer从24.0.1升级到24.6.1,曾遭遇原理图编译报错,库路径全丢失的状况,新手只要依照步骤逐个操作,定能轻易躲开此类常见问题。

    备份迁移用户设置的正确姿势

    1. 启用Altium Designer,轻触顶部菜单DXP ,进而点击Preferences,于左侧挑选Data Management下的Backup,于右侧把“Backup count”设定成5,勾选“Compress backup files”,点击OK。将软件关闭,进入C:Users你的用户名AppDataRoamingAltium,把“Altium Designer_24”整个文件夹进行复制,复制完成后粘贴到D盘来进行备份。

    关于新手需避开的坑,常见的报错情况是,在下一次更新之后去打开旧的项目时,所有的原理图符号以及 PCB 封装都找寻不到,会出现“Missing component”这样的提示。其核心原因在于,新版本并未继承旧版本的库路径配置。而快速解决的办法是,手动去进行复制前面所提到的配置文件夹,在新安装完成之后直接粘贴回到原来的位置进行覆盖,然后再重新启动软件,如此便能够恢复全部的库映射。

    清理旧版本缓存和临时文件

    2. 于彻底卸载旧版本之时,要先把自带系统之“磁盘清理”工具运行起来,以此来删去临时性质的文件。紧接着进入C:ProgramDataAltium之处所,将对应着旧版本号的文件夹予以删除。按下Win+R组合键,输入%temp%,把所有以“Altium”起始的临时缓存给除掉。最终重启电脑,之后再去双击新版的安装包。

    【新手需防圈套】经常出现报错“Error 1606: 无法访问网络位置”,随后进行回滚操作。关键原因在于:Windows Installer缓冲产生冲突,旧版本遗留的注册表项造成干扰。那个一站式解决流程是这样的,首先要跑去微软官方的“msi清理工具”那儿,把和Altium相关的条目给清除掉,接着还得手动去删除注册表HKEY_CURRENT_USERSoftwareAltium下面的所有键值,最后呢,要用管理员身份去进行重装,这整个过程都别连着网络哦。

    重新配置库参数与规则

    3. 开启刚安装好的AD24,点击File,接着选择→Open来打开项目。于Projects面板上点击右键,选择“Add Library from File”,朝着备份的库文件(.IntLib)进行导航。随后点击设计工具,再选择→规则向导,将“Net Names with Multiple Drivers”参数设定为Fatal Error。推荐的理由在于,多驱动冲突属于逻辑综合的阶段里,最难去进行排查的隐患,将其设置成为致命错误,能够强制在设计规则检查的这个时候就暴露出来,避免在后期出现流片失败的情况。

    【新手须防】关键参数最佳推举数值是,在原理图编译规则里,把“Floating net labels”设定成Error水平,阀值挑选5,设置途径为,Project→Project Options→Error Reporting。现将两种实操方案予以对比,一种称之为方案A,其具体操作为完全卸载旧版之后再安装新版,此过程耗时大约40分钟,且干净没有残留,另一种是方案B,直接进行覆盖安装,仅需15分钟就能完成,不过偶尔会出现菜单错位的情况。对于生产环境而言,采用方案A,而在个人学习或者紧急改板时则使用方案B,需注意在采用方案B之后,务必要手动执行步骤1的配置备份恢复。

    本方法不适用的场景有:跨大版本进行更新,像从AD18升级到AD24这种情况,或者是在Linux系统下的KiCad。其替代方案是:对于跨大版本更新,建议先把所有库导出为ASCII格式,之后再新建空白项目逐个将其导入,以此避免格式不兼容的问题。你们在更新EDA工具的时候遇到过哪些奇葩的报错呢?在评论区说一说,顺便顺手点赞并分享出去,让更多的人能够避开这些坑。

  • PCB设计常见问题 手把手教你避开三个大坑

    我亲自对Altium Designer 24.01进行过实测,掉落下因敷铜不完整致使地平面出现断裂之情状,以及遭遇信号串扰加剧之状况,新手只要按照步骤一步步去操作,便能够轻易躲开这类常见问题。

    敷铜怎么连接

    开启Place ,进而点击Polygon Pour,于Properties面板之中将Net设定为GND ,Pour Mode选取Pour Over All Same Net Objects ,热焊盘连接宽度填写0.254mm。敷铜前所做的是,按下L键,以此调出View Configurations,接着勾选Polygon Pour区域,使其呈现高亮状态,这样做的目的在于,方便凭借肉眼去检查其完整性,是这样的操作流程。

    新手避坑

    常出现的报错是“Polygon Not Repour”,错误弹窗之中提示的区域呈现为空心的状貌。其核心的缘由在于,软件默认设置为Pour Over Same Net Objects Only,,这使得焊盘受到十字隔离的影响。快速的解决途径是,双击敷铜的区域,将其改选为Pour Over All,接着右键点击Polygon Actions,,选择Repour Selected。这儿顺便给出一个关键参数,敷铜与内层焊盘的间距,推荐为0.2mm,它能够防止短路,还不会致使热焊盘散热状况过度糟糕从而引发虚焊情况。

    线宽如何设定

    按压 D 与 R 这两个按键以打开 PCB Rules and Constraints Editor这个界面,进入 Routing 选项之中的 Width 这一二级选项,创建一个名为“Signal_0.25”的新规则名称,将最小宽度设定为等于 0.2 毫米,把最大宽度设定为等于 0.5 毫米,且将首选宽度确定为等于 0.25 毫米。进入Clearance,在退出之后再次进入,将Same Net Clearance进行设置,设置其数值为0.15mm,以此来避免同网络铜皮粘连,避免出现相连的情况。

    【新手避坑】

    许多新手跑完DRC后报出“Clearance Constraint Violation”,间距位置的红线呈现出密密麻麻的状态。其核心缘由在于,仅仅修改了线宽然而却没有对间距规则进行改动,按照默认的0.2mm间距在遇上0.2mm线宽时就直接挨在一起了。快捷的解决办法是,进入Clearance,将Minimum Clearance修改为0.18mm,对于高密度板而言可以下压到0.15mm不过加工费用会翻倍。于此给出一组实操方案的对比情况:方案A内容为全板线条宽度均统一设定为0.25mm,其Gerber输出速度较快不过走线的密度较低;方案B是电源线宽度为0.4mm、信号线宽度为0.2mm相互混合搭配,走线密度高然而DRC调校所耗费的时间较长。对于两层板应选择方案A,对于四层板则应选择方案B。

    DRC报错怎办

    遇见高频出现的报错“Un-Routed Net Constraint”,有一套一站式完整的解决流程,首先要点击Messages面板里的第一条错误,跳转之后按下Ctrl+H来高亮整条网络,要是断点处于小焊盘之间,那就用Interactive Routing手动补上一小段;要是整片区域是空着的,那就直接进行Route → Auto Route → Net(s)操作,只跑这条网络,不要点击All。跑完后重新Run DRC验证,绿勾即通过。

    【新手避坑】

    不能才一开始就去点击Auto Route All,若是那样做的话,整个板子就会重新走线,先前通过手工调整好的等长度线路就会全部报废。正确的操作顺序是这样的:首先通过手工方式完成关键线路(时钟、差分线路)的铺设,接着运用Auto Route → Board Shape来补充普通线路,最后对出现报错的网络进行单独修复。

    当前这种方法,并不适用于具备柔性特质的 PCB(也就是 FPC),以及频率超过 10GHz 的射频板,因为 FPC 的敷铜会致使应力裂纹的产生,而且射频板所需求的是共面波导模型,并非普遍的间距规则。替代方式为:柔性板采用网格铜,射频板直接照搬芯片厂商所给出的参考 Layout。在你实际进行打样的过程当中,因哪个 PCB 设计报错而被卡住的时间最为长久呢?欢迎在评论区上传截图,一同排除故障隐患。

  • EDA工具学习资料别乱找 实测三步从入门到上手

    我亲身进行了关于华大九天Empyrean Aether 2023.2版本的测试,遭遇过因为库路径配置出现错误进而致使仿真无法运行的情况,对于新手而言,只要依照下面依次的三个步骤逐一去进行操作,便能够较为容易地躲开这类常见的问题。

    操作一 配置基本库文件路径

    软件开启之后,依照顺序逐个点击 Setup → Library Path Editor,于弹出的那个对话框当中执行点击 Add 的操作,接下来键入 /home/eda/PDK/TSMC_65nm/libs。运用鼠标将 TSMC_65nm 这个库拖动至最上方,使其具备最高的优先级。

    【新手需防出错】,常常出现的报错之情况乃是“Library ‘xxxx’ not found”。其最为关键的缘由在于并非把PDK库路径添加得正确无误,又或者是其优先级比项目自身所带的库要低一点。解决的方式为:再次去检查路径是不是存在空格或者中文,在确认之后将工艺库拖动到首先的一行并且进行保存。

    操作二 创建新原理图并设置仿真器

    要点参数,沟道长度L,建议设定成,一百八十纳米,原因在于,六十五纳米工艺状况下,一百八十纳米能够切实抑制短沟道效应,与此同时,维持较高跨导,统筹兼顾功耗以及速度。

    【新手需防入坑】,添加元件之际常常会弹出 “Symbol not found” 这样的提示。产生这种情况的缘由在于,analogLib 路径出现损坏状况,或者是安装并不完整。能够快速获得解决办法的方式为,检查环境变量 CDS_LOAD_ENV 是不是指向正确的方向,或者重新进行基础库的安装。

    操作三 瞬态仿真设置与两种方案对比

    引发启动,点击菜单进入名为“ADE L”的选项,于“Analysis”之下,进入“Choose”之中,挑选“tran”,在“Stop Time”填上“10u”,于“Outputs”之下,进入“To Be Plotted”里面,点击原理图的输入节点以及输出节点。

    将方案进行对比:第一种情况是,采用默认的 gear2 积分方法,这种方法精度处于中等水平,不过收敛速度较快,它适用于时长在 10us 以上的长仿真;第二种情况为,把方法改成 trap 方法,此方法精度高,然而容易出现振荡现象,它适合亚 ns 级的瞬态细节。对于新手而言,选择 gear2 是最为稳妥的。

    【新手需留意避开的坑】,仿真出现报错情况,报错内容为“Internal time step too small”。具备完整性的解决流程是,先去核验输入信号是不是存在突变边沿,接着于Simulation → Options → Analog之中,将reltol从1e – 3放宽到1e – 2,最终把maxstep设定成1n,经过这三步之后,99%的情况能够运行成功。

    此方法不适用于数模混合顶层仿真,因为会缺少数字激励接口。简易的替代办法是,先用Vsource模拟数字波形来进行模块级验证,或者直接切换到XA或者SpectreAMS去运行混合信号。你在学习EDA的时候,卡住时间最长的一个操作是什么呢?欢迎留言分享,一同避开陷阱。

  • PCB丝印避坑指南 从入门到精准设置

    亲身测试了Altium Designer 24,遭遇过丝印糊成一团的情况,经历过字符压焊盘的状况,还碰到板厂返工三次的问题,新手只要依照步骤一步步去进行操作,便能够轻松躲开这类常见问题。

    丝印字高线宽最佳参数组合

    将 PCB Inspector 面板打开,把所有丝印文本进行框选,于 Height 栏当中输入 1.0mm,在 Stroke Width 填上 0.15mm。这一参数的组合可确保最小线宽以及字符清晰度,对绝大多数常规工艺完成适配(铜厚 1oz、阻焊使用绿油)。新手需避开的坑:常见出现的报错有「丝印过于细」或者「字符出现断线」,其最为核心的原因乃是线的宽度低于0.1mm,并且字的高度小于0.8mm。解决的办法是:统一将其改成0.15mm/1.0mm,要是板厂所要求的更高(像是字符呈现反白这种情况),那么字的高度最少得是1.2mm。

    手工调位与规则驱动两种方案对比

    有这么一种方案,它叫做一。这个方案呢,是通过手动去进行拖拽操作。具体行为是,先选中丝印,然后按下快捷键M加上XY这一系列操控组合,从而实现精准移动,以此来避开焊盘以及过孔这类特定区域。此方案适用于小板或者样品,它具备灵活的特性,然而却比较耗费时间。那个方案二,要去设置Design Rules → Silk To Solder Mask Clearance这边,会填入0.2mm这个数值,接着呢还要去跑Tools → Design Rule Check来进行自动排错,这可是批量生产的时候必定要用的,它能节省时间并且还能避免出现遗漏的情况。新手需避的坑是,手动调节完毕后却忘掉锁定位置,而后续要是更新原理图便会复位。快速解决的办法是,先选中丝印,接着按F11,随后把Locked勾上。

    完整报错解决流程 丝印压焊盘

    发生频率较高地出现报错:报错内容为“Silk screen overlap with pad”。具备一站式便利的流程:要先打开PCB Filter面板,接着输入(IsSilkscreen) And (IsComponent),之后点击Apply这个操作以实现高亮显示。接着去执行Reports,再选择Board Information,然后点击Report来生成丝印冲突列表。逐个去选中冲突字符,通过XY偏移朝着元件本体外侧进行移动,移动的距离是0.5mm至1mm。要是依旧压焊盘,那就把字符旋转90度,或者直接将其删除。新手要避开的坑:别想着把全部丝印都塞进元件框内,就算外移超出板边也没关系,板厂会进行裁剪的。最为极端的情形是,空间着实欠缺,于是放弃位号,转而采用标注层手动绘制箭头指向之举,不过板厂对此是全然予以支持的。

    本方法不适用场景

    在四层以上的高频板所处区域,或者是BGA封装的区域当中,上述提及的0.15mm线宽,有可能因为阻抗控制方面的需求,而被迫变得更粗。存在替代的方案:要直接去联系板厂,进而获取阻抗控制叠构表,按照表里面所推荐的丝印线宽以及避让距离,重新进行套用。除此之外,柔性PCB也就是FPC的丝印,必须得避开弯折的区域,推荐使用的做法只是运用覆盖膜开窗这种方式来做标识,不要去印任何的字符。

    在最后对你进行考查:当你将丝印线宽从0.15毫米改变为0.2毫米之后,DRC呈现“Silk to mask too big”这样的显示,其究竟是何种原因呢?不妨在评论区之中分享你关于排查的思考路径,要是感觉有用就点个赞然后再去转发!

  • 器件干涉排查实操:3步搞定间距冲突 避坑指南

    本人实际测试 Altium Designer 22,踩过因封装相互重叠致使 DRC 报错却寻觅不到根源所在的坑,新手依照步骤一步步去操作,便能够轻松躲开这类常见问题。

    1 打开规则并设置关键安全间距

    操作路径完整表述为:菜单栏之中的「设计」,接着是「规则」,再接着是「Electrical」,最后是「Clearance」所示路径。之后,要在“最小间距”框里输入那最优推荐值0.2mm,且需要勾选“不同网络”这一选项。关于这个值设定的理由是:要兼顾常规PCB厂家具备的最小加工能力以及信号串扰抑制这两方面,要是间距设定得太紧就容易出现短路情况,要是太松又会造成空间上的浪费。

    萌新需防踩雷,以下属常现报错情形为:有一种情况显现为“Clearance Constraint Violation”,然而当将画面放至较大倍数程度时,却无法瞧出究竟是何处出现了相互重叠的状况。而致使该项出错情况最为主要的缘由在于:不经意间遗漏了对于封装焊盘以及机械孔所存在的隐藏外扩层的关注。能够实现快速予以解决的有效办法是:先进入到名叫“高级”的设置界面之中,接着把对于“丝印到焊盘”部分的检测调整为开启状态,之后手动键入0.15mm 当作是次一级的约束条件。

    2 手动干涉检查与两种方案对比

    其操作的路径是,菜单栏当中的「工具」选项,接着进入到「设计规则检查」这项,随后仅仅勾选“元件间距”以及“丝印压焊盘”这两项,之后点击“运行”按钮。在这个时候就会弹出具体的坐标列表。针对于检出点的情况,提供两种实际操作的方案:

    方案A,是直接对元件坐标进行微调,这种方案适用于密度较低的双面板,其耗时比较短,不过存在可能出现反复周折的情况。

    有一个方案B,此方案是要对封装库进行修改,把本体轮廓朝着内部方向缩进0.1mm,这种情况适合进行批量重用,虽然能够做到一劳永逸,然而在前期的时候改库速度比较慢。

    选取与舍弃的逻辑是,器件数量少于50个,并且不存在未来会进行改版的情况,这时使用A,器件数量多于100个,或者是需要进行重复生产的,这种情况下使用B。

    【新手需防】方案A极易引发“推挤连锁反应”,你挪动一个电容,进而致使旁边的电阻产生干涉。快速解决之道:移动之前先将该区域所有器件选中,通过「排列」->「水平分散」强行拉开间距。

    3 高频完整报错一站式解决流程

    遭遇报错,报错内容为“Component height exceeds the keepout”,其完整流程是这样的。

    第一步:双击报错,定位到具体元件U5。

    这是第二步,要打开那个名为「属性」的面板,从中找到“高度”这一栏,把原本默认的2.5mm改成1.8mm,这是依据实测结构限制来进行的。

    第三步:同界面勾选“忽略标准库高度值”。

    第四步,再度运行DRC,报错情形不见。这个流程适用于百分之九十,因3D模型高度有误致使的干涉误报。

    【初涉者谨防出错之地】众多人员滞留在更改高度完毕之后报错仍旧存在的状况下,最为关键的致使出错的缘由是,忘掉了去保存更改完成之后的规则集合。能够迅速解决问题的方式是,点击规则界面左上角那处的“另存为”,将其命名为“无干涉规则”,接着再次去进行加载一回。

    此方法不适用于柔性电路板情形,也不适用于高压爬电距离场景,缘由在于软板发生变形会致使引入动态干涉。存在替代方案:转而采用物理打样进行验证,选取用0.3mm双倍安全间距来做补偿。你于近期所遭遇碰到的是哪一种器件干涉对象?欢迎你来留言告知你的软件版本情况,一道去探讨交流那些更为怪异奇特难搞奇葩的坑。

  • 封装兼容性校验怎么做 实测三步避坑指南

    本测试是在Python 3.9.7加上pip 21.3.1的环境下进行的,遇到过setuptools在打包时因依赖版本不兼容致使线上服务出现ImportError的情况,对于新手而言,只要依照步骤一步步去操作,便可轻松躲开这类常见问题。

    第一步 生成精确依赖锁定文件

    先在终端安装pip-tools,具体操作为使用pip install pip-tools==6.5.0。接着在项目根目录新建requirements.in,且在其中只写入像requests>=2.25.0这样的核心依赖。执行pip – compile requirements.in,将其输出文件指定为requirements.txt,并且使用,–resolver = backtracking作为参数,这个参数是最优推荐的,它能够深度解析依赖树,进而避免循环冲突。

    关于【新手避坑】,存在常见报错,即“No matching distribution found for xxx”,其核心原因在于,直接通过pip freeze > requirements.txt 把子依赖版本钉死,如此一来,换环境就会出现崩溃情况。解决办法是,使用pip-compile重新生成,并且每次在打包之前,都必须运行一遍。

    第二步 配置版本区间范围

    不要用==锁死,否则其他库一升级就炸。

    【新手需防入坑】,出现报错“ERROR: Could not find a version that satisfies”,一般状况下是区间设定得过窄。能够迅速解决的办法是:去执行pip install –dry-run 包名,以此查看可用版本,接着将下界降低至上一个稳定的小版本,举例来说,就是从>=2.26.0改回到>=2.25.0。

    第三步 执行校验命令并解决报错

    执行pip check ,要是输出No broken requirements found 那就通过 ,不然的话高频报错呈现这样: “xxx has requirement yyy , 但你有的是zzz”。关于一站式解决流程,其一,要对当前环境进行备份。怎样备份?就是执行pip freeze > backup.txt这个操作。其二,要将pip升级到最新版本。具体怎么做?那就是运行pip install –upgrade pip此指令。其三,临时使用旧解析器。如何使用?即得采取pip install –use-deprecated=legacy-resolver -r requirements.txt这一行为。其四,要放宽冲突包的版本上界,之后再重新编译。

    【新手需避坑】,不要直接去删除冲突包。正确的做法是,首先要新建虚拟环境,接着逐个安装核心依赖并运行pip check,以此来定位究竟具体是哪一个传递依赖出现问题。随后手动在requirements.in里锁定那个包的兼容版本。

    将两种方案予以对比:方案A采用pip-tools(依循上面三步),适用于依赖数量小于或等于20个的小型项目,具备轻量且无侵入的特性。方案B运用Poetry,能够自动解决兼容性问题,不过需要迁移pyproject.toml,适用于多人协作的大型工程。对于小型项目而言选择A,若要引入CI/CD则选择B。

    该方法不适用于C扩展模块的ABI兼容性校验,像numpy编译版本这种情况,或者.so文件链接冲突这种状况。替代方案是,直接借助Docker镜像固化整个系统环境,又或者换conda管理二进制包。别指望纯Python依赖工具能够搞定底层符号表问题。

    你于封装项目之际,所察觉到的最为令人作呕的兼容性报错究竟是什么呢?于评论区抛出来呀,我试试看有无更为厉害的操作。若觉得颇具效用便点个赞,转发予仍在遭受依赖所折磨的队友。