芯片设计分为哪些步骤?为什么要分为前端后端?前端后端分别是什么意思?我尽可能的详细阐述一下,给刚刚入行的人做一个小科普。
可能有许多人在网上都看过芯片的制造过程,还有很多视频讲解,从沙子开始,一步一步到晶圆,再到一个个小chip,再封装出来给客户来用。不过这是芯片的制造过程,而不是所谓的设计过程。我现在想要分享的是数字芯片后端设计的知识内容,我这个店铺所有文章也将会全部围绕后端设计来展开。可能每一篇都涉及一个小小的方面,积少成多,后端本身也需要我们在工作中不断累积经验,不断学习。今天这一篇是我写的第一篇文章,就想讲一讲所谓的设计芯片,到底分为什么步骤,而后端所在的位置是哪里。
一般来讲,芯片最先有的是需求。比如某个公司想要一款拍照的芯片,这个芯片负责图片的转化处理之类,公司就会提出要求,说我现在想要一个什么样的芯片,所能完成的逻辑功能有哪些那些,输入什么数据,我期望能输出什么数据。此外还会要求芯片的功耗要不能超过多少,芯片的运行速度要多快,芯片的大小等等等等要求。这一系列要求被称之为spec,这个spec将贯穿整个芯片设计过程。一般来讲spec的规定也是一门大学问,需要专业的团队来进行。Spec定的越紧,芯片就越难设计制造,甚至在当前的科技水平制造不出来也是有可能。因此spec也要考虑实际的工艺要求等等,特别复杂。单单这一节其实也可以整理成书了。
之后就是前端的设计兄弟们干活了。我只能在这里说个大概吧。首先会有部分设计人员来写非常抽象的RTL代码,也就是我们说的verilog之类的硬件描述代码。写这种代码很像写软件程序,不同的是它是描述硬件行为的,完成的RTL代码可以保证输入所对应的输出,也就是完成电路的逻辑设计,目前先了解到这里即可。在这之后,前端还要进行synthesis“综合”的过程,就是用一些EDA tool来吧RTL翻译成芯片看得懂的语言。比如人写的