文章目录
- 解决orcad无响应的有效方法
- 概述
- 笔记
- 备注
- 补充
- 好像必须要在英文(美国)语言的主环境下运行才行
- 补充 - orcad无响应的可能原因
- 补充 - 英文模式也不好使
- 补充 - orcad无响应的真实原因
- 解决orcad无响应的有效方法
- END
解决orcad无响应的有效方法
概述
在画H7的飞达控制底板.
打开orcad工程, 转到板子工程.
在板子工程中布线, 或者调整布局. 发现allegro操作有些时候特别的慢. 看提示, 是和orcad通讯.
在allegro中工作一会(5分钟不到), 回到orcad, 看到orcad卡住了, 没有响应.
以前不这样的.
去查资料, 一个兄弟写了博文, 说输入法必须英文是第一位的输入法.
笔记
环境: win10-22H2
去设置-语言中看时, 只有简体中文语言了. 记得以前是有中文和英文语言并存的. 不知道啥时候搞掉了.
当时, 只有一个中文简体语言, 选择添加语言, 找到英语(美国), 选择安装语言.
安装有选项, 当时勾选了让英文语言作为windows系统的主语言.
安装完后, 好多菜单都变成英文的了.
备注
当时自己查找原因时, 试过将orcad和allegro的内部通讯关掉, 不好使, allegro更卡了. 因为allegro就是要和orcad通讯的. 关掉内部通讯没用.
那个写博文的兄弟真聪明, 他注意到了orcad卡的时候, orcad占用的资源(CPU占用率, 内存占用率)并不高, 他马上怀疑是输入法和cadence有冲突.
我也注意到了出问题时, cadence资源占用率正常, 不过我就没往输入法上想.
补充
windows显示语言不能是英文, 否则一些依赖中文环境的软件不能正常运行.
还是要将windows显示语言改成中文, 首选语言改为英文.
好像必须要在英文(美国)语言的主环境下运行才行
在英文语言, windows显示语言为中文情况下, 布线了1个小时, allegro没问题, 但是orcad无响应.
观察了一下, 进程中并没有输入法的DLL附加.
那现在只能在用cadence时, 去语言设置中设置为英文语言 + windows显示语言为英文.
等其他依赖中文环境的软件运行时, 再将显示语言改为中文.
补充 - orcad无响应的可能原因
切到英文环境下, 只能说是好一些. 还是会发生orcad无响应的情况.
好像是在allegro中, 没有结束(Done)一个操作时, 就尝试执行其他操作时, orcad会产生无响应的情况.
试过了, 在allegro中每一个操作, 最后都右键看一下, 如果没有Done的菜单, 才说明是在普通模式下. 然后才允许进行其他操作.
这时, orcad才不会无响应. 感觉这是cadence软件的bug了.
确实如此
做了一个实验.
一个比较大的网络, e.g. GND. 在allegro中, 点击调整布线的按钮, 调整完后, 不右击完成操作. 直接保存, 此时, 如果allegro和orcad通讯反应慢, 再切到orcad时, orcad停止响应. 这应该就是cadence的bug了.
这种在allegro中操作未结束(Done) , 就直接执行下一个动作(e.g. 保存文件), 大概率会引起orcad停止响应.
补充 - 英文模式也不好使
中文输入法下的英文模式
纯英文模式
已经试了, 和英文模式没关系, orcad都会出现无响应.
原因是orcad干的活多, 效率差引起的.
补充 - orcad无响应的真实原因
真实的原因就是orcad效率差引起的.
效率是干活的时间比UI显示等待的时间长引起的, 可能orcad还有bug, 有时是等一段时间, 就会正常, 有时怎么等也还是无响应.
这次我的orcad工程有70张子原理图, 板子布线调整时, 点击一个比较大的网络. e.g. GND或者VCC_30V.
点击之前, 子原理图我都关了.
当点击VCC_30V之后, 因为每张子原理图中都有这个网络, orcad会自动打开每张含有VCC_30V的网络的原理图.
自动打开子原理图后, 在allegro中点击的VCC_30V会在每张子原理图中被自动选中.
当在allegro中, 自从点击比较大的网络后(e.g. VCC_30V), 此时, orcad就无响应了.
无响应时, 就是在逐张打开每张原理图, 在每张原理图中自动选中VCC_30V.
此时, 要等待很长时间. 如果此时没等orcad回到正常, 就继续在allegro中继续其他操作, 大概率orcad就永远无响应了.
如果我们能知道什么时候, 在allegro中进行一步操作时, orcad会干活. 我们就在这步操作后, 切到orcad中, 等待orcad中等待操作完成, 再会allegro中操作, orcad就不会永远无响应.
解决orcad无响应的有效方法
- 将系统语言, windows显示语言, 托盘中的输入法都设置为英文.
这个有点影响, 明显切换成全英文状态, orcad无响应的概率会小些. - 打开内部通讯, 但是关掉自动参考, 这个有明显效果.
经过实验, allegro是需要和orcad进行通讯的, 不能关掉内部通讯. 但是可以将自动参考关掉.
经过这2步后, 现在orcad再也没有出现过无响应的情况了.
还有一种情况, 如果orcad工程的子原理图比较多, 还是会出现allegro操作, orcad会稍微卡一下(10秒?)的问题, 但是卡住之后, 可以回归正常状态.
建议在allegro操作时, 看着左下方的提示, 如果显示busy, wait等不是ready的信息, 最好等信息回到ready状态再操作allegro.
还有就是当前操作必须是空闲状态(当前操作必须进行Done操作结束后), 再进行其他操作.
另外铺铜要在初步DRC之后才进行, 否则铺铜所在网络的线如果有DRC错误(e.g. GND连线有多余悬空分叉, 是有DRC错误的), 会导致allegro其他操作不正常(e.g. 更新封装失败).