可能有许多人在网上都看过芯片的制造过程,还有很多视频讲解,从沙子开始,一步一步到晶圆,再到一个个小chip,再封装出来给客户来用。不过这是芯片的制造过程,而不是所谓的设计过程。我现在想要分享的是数字芯片后端设计的知识内容,我这个店铺所有文章也将会全部环绕后端设计来展开。可能每一篇都涉及一个小小的方面,集腋成裘,后端本身也须要我们在事情中不断累积履历,不断学习。本日这一篇是我写的第一篇文章,就想讲一讲所谓的设计芯片,到底分为什么步骤,而后端所在的位置是哪里。
一样平常来讲,芯片最先有的是需求。比如某个公司想要一款拍照的芯片,这个芯片卖力图片的转化处理之类,公司就会提出哀求,说我现在想要一个什么样的芯片,所能完成的逻辑功能有哪些那些,输入什么数据,我期望能输出什么数据。此外还会哀求芯片的功耗要不能超过多少,芯片的运行速率要多快,芯片的大小等等等等哀求。这一系列哀求被称之为spec,这个spec将贯穿全体芯片设计过程。一样平常来讲spec的规定也是一门大学问,须要专业的团队来进行。Spec定的越紧,芯片就越难设计制造,乃至在当前的科技水平制造不出来也是有可能。因此spec也要考虑实际的工艺哀求等等,特殊繁芜。单单这一节实在也可以整理成书了。
之后便是前真个设计兄弟们干活了。我只能在这里说个大概吧。首先会有部分设计职员来写非常抽象的RTL代码,也便是我们说的verilog之类的硬件描述代码。写这种代码很像写软件程序,不同的是它是描述硬件行为的,完成的RTL代码可以担保输入所对应的输出,也便是完成电路的逻辑设计,目前先理解到这里即可。在这之后,前端还要进行synthesis“综合”的过程,便是用一些EDA tool来吧RTL翻译成芯片看得懂的措辞。比如人写的时候可以写a=b+c,综合出来可能便是一个或门。怎么综合也是一个大学问,里面的门道繁芜着呢,这些我往后都该当会写一写。本日这篇便是一个总览性子的。综合后我们会拿到netlist网表文件,现在就轮到后端咯。
作为一名PD,芯片后端设计职员不必过多关心这个电路的实际逻辑功能是什么,我们的事情便是把一份抽象的netlist转化为实际的电路。没错,便是中学物理学到的有电源、导线、用电器那样的电路。芯片虽然小,但是里面非常繁芜,但再怎么繁芜,归根结底还是一个个电路组成。这详细要怎么操作呢?网表文件中会给出各个器件的链接关系,总的来说,便是根据这一份链接关系,把各个器件摆好然后连好导线就可以了。做好后,我们会天生一份全体芯片的版图,称为GDS file。这个file记录的是什么位置要用什么材料,不会有详细的standard cell或者IP。工厂拿到这个GDS后,就可以相应进行生产了。当然,生产过程也非常繁芜,但这已经不是我们的设计范畴了,属于制造范畴,我就不谈论了。
总结一下,前真个事情便是根据spec哀求,设计天生netlist,后端根据netlist天生gds给工厂。没想到总结得这么大略,但个中的东西,真是繁芜的深不见底啊,往后我会逐步地写,每一篇就只会涉及一小个方面,只管即便详细。这样实在对我自己也能加深印象,有助于事情能力提升。
微信公众号及全网ID:伟酱的芯片后端之路