欧易

欧易(OKX)

国内用户最喜爱的合约交易所

火币

火币(HTX )

全球知名的比特币交易所

币安

币安(Binance)

全球用户最多的交易所

贻害初学者的画图方式

2022-10-12 02:30:39 855

摘要:之前看一专业微信大号标题“必须收藏:原理图设计规范126条checklist“,点了进去,没想到标题下、所有内容前是如下的这么个电路图,后面的126条我一点读下去的兴趣都没了。看官们会说“why”,“我觉得这图画得很好啊”,“苏老师您觉得这...

之前看一专业微信大号标题“必须收藏:原理图设计规范126条checklist“,点了进去,没想到标题下、所有内容前是如下的这么个电路图,后面的126条我一点读下去的兴趣都没了。

看官们会说“why”,“我觉得这图画得很好啊”,“苏老师您觉得这图哪里不好?”,这正是我在微信朋友圈里贴出去之后获得的纷纷反应,更感觉这样的电路图给年轻人的贻害之深,我觉得太需要写一篇文章来说说这事了,无奈前几天都在连载时钟方面的文章,直到今天才抽出空来说一下了。

首先我问大家个问题:原理图画了是给谁看的?

90%以上的人会说,当然是自己看的了,自己做的设计,自己画的图嘛。苏老师要说 --- 错❌! 原理图是自己画的,但不仅仅是给自己看的,更重要的是给其他人看,给机器(画图的工具软件)看!公司的其它同事、你的客户、帮你做Layout的工程师拿到你这张图,能很容易看得懂吗?显然很难看懂,至少要花很多时间琢磨才能看懂,太不直观了!比如你第一次到北京去旅游,下车你买了一份北京地图,每个区都分割成了块 - 海淀区、朝阳区。。。每个区的每条马路都用路名标示,你可以根据路名找到它们之间的连接关系。。。

我相信你拿着这样的地图一定会原地崩溃的,如果画图人在你面前,估计你抽他一巴掌的心都有。。。

其他人拿到你这样画的电路图也会有这种烦躁的心情的,别说替你Review了,根本就没心情去仔细看,Layout的工程师要根据你提供的原理图来做布局布线,估计他一边连线,一边骂你。

你会问 - 我画的图为什么要让他们看呢?这就是你的局限了,如果你一辈子都是在小公司里一个人玩硬件设计,这是OK的,你要想去BroadCom、想去华为,就这样的电路图拿出来,估计面试你的项目经理让你立马走人,因为你根本就没有Teamwork、Project flow这方面的意识。

你会问,那机器怎么就读不懂了?

从原理图到布局布线之间有个桥梁叫Netlist,这个netlist就是基于你原理图上的连接以及net名字,这里面就会存在着高度的风险 - 你认为A器件的管脚15跟B器件的管脚3都用了同一个net名字“Data3”,可是你在添加net name的时候手一哆嗦,把A器件管脚15的名字写成了Data8,由于页面上的net name太多,你也没有留意到这个错误,机器在生成netlist的时候并没有将这两个管脚俩连接起来,等你拿到板子花了两周的时间怎么也调试不出来的时候才发现这俩net名字标记错了,想飞线还飞不了, 因为器件是BGA的封装,你的脸估计都成“平方”了。

你会说,我不会这么倒霉吧?毕竟是小概率事件啊,我也会认真查找的啊。哎,要知道小概率事件是会经常发生的,这是一个定律!你越是认为不可能出现的事情就越容易出现,而且一出现就是大问题。即便这次侥幸没遇到,迟早有一天会让你吃尽苦头的。

你还会说,工具软件中不是有ERC检查么?我用ERC查一下不就好了。现在的工程师有多少人养成了每次都用ERC,并对ERC每行、每行都仔细检查的习惯?何况有的net名字拼写错误ERC未必能检查出来啊,比如在电路图上有多个VDD、VCC、VSS,你用错了其中一个,这些net是都在的,ERC是不报错的,但你确实连错地方了。

所以,第一张图,从别人理解的角度、从机器阅读的角度都是极不友好的,即便是对自己,检查每根信号线的连接也是一件非常费时费力的事情,总体上来讲对谁都不好。

有人会说,苏老师我同意你的说法,但这张图是针对开发板的,方便开发板用户使用才这么做的。那就更不应该了,因为很多用开发板的工程师以初学者居多,他们看到啥学啥,这种图、放在这么重要的一篇有理有据的文章的前面,给工程师产生的影响一定是非常大的,很容易让没有经验的工程师模仿这种做法,从而养成坏习惯。

那么,怎样才是比较好的电路图呢?我们看下面的一个跟我们小脚丫FPGA学习模块长得很像的MCU控制模块叫Teensy,3.6版本(网上可以搜到它的很多资料):

它的电路图是这个样子的:


是不是感觉非常清晰?看起来一目了然?而这个图中基本上没有用net进行信号的连接,基于这个原理图做的PCB布局布线出错的可能性也就大大降低。

总之,记住两个观点:

原理图最重要的是要让别人凭着直觉就能一下子看懂,设计任何产品的时候都不能只是站在自己的立场上看问题,要更多地想想别人会怎么解读;

在原理图的绘制中要尽可能不用net来进行信号线的连接,实在没有办法的情况下用net也是可以的,但一定要反复检查,尤其是将ERC、Netlist打印出来进行检查,不要完全相信电脑上用眼看到的东西。

培养好的意识和习惯非常重要!

版权声明:本站所有文章皆是来自互联网,如内容侵权可以联系我们( 微信:bisheco )删除!
友情链接
币圈社群欧易官网