首页 新闻 > 科技 > 正文

详细阐述:一个技术员眼里的芯片设计

IP核分软核和硬核,现在貌似也有软硬结合的核…它是什么东西呢?比如ARM指令授权,它就是软核,它只规定了CPU的指令集,好比建桥,它只告诉你桥应该建多长、多宽、大概长什么样,但是具体细节没有,不告诉你电路在芯片上怎么摆放,怎么连线。软核的好处是给了很大的发挥空间,模仿、抄袭也简单,以后做类似东西可以参考。硬核就是它只告诉你电路在芯片上具体长什么样子,把它摆上去用就行了。硬核的好处是它一般都是经过其它芯片验证的,很容易了解它的具体性能。但你几乎不可能修改它,也很难了解它的实现细节,毕竟有几千万个mos管,人怎么分析。

本文引用地址:http://www.eepw.com.cn/article/201610/311472.htm

中国的IC设计公司,自主IP核不多,因此很多都是从类似ARM和Ceva这类公司购买,但客观地说,现在芯片设计分工越来越细,每个公司只是完成其中一小部分,就算是高通,也用了很多其他公司的IP核。

一个公司想把所有活都干了,那绝对是不可能的,就算做到了,它的芯片也不会有竞争力。其实玩搭积木也是很有技术含量的,海思肯定是国内玩得最好的公司。目前公司的一个目标也是把越来越多的模块自主化,但是需要时间。

先从最底层芯片说起,开头说了mos管,现在说说与非门。上面说了mos管是芯片的最小单位,但这是对于芯片制造厂而言的。芯片设计时不会直接画mos管,在数字电路中,使用的最小单位是门电路,与非门就是用得最广泛的一种。一个与非门大概要4个mos管组成,与非门大家应该都非常熟悉。如下图:

大家都知道,家里的开关有两种状态嘛,打开和关闭。当上图中的开关1和开关2两个开关中只有1个开关打开时,经过与非门处理,开关3就打开了。如果开关1和开关2两个开关都关闭或者两个开关都打开,经过与非门处理,开关3就关闭了。其实和与非门类似的东西生活中随处可见。比如说有的人家里有一个灯,这个灯在家门口设了一个开关,方便进出家门时开关灯。在床边也设了个开关,方便晚上睡觉时关灯。这个其实就是一个与非门,两个开关控制同一个灯。一个开关打开,灯就亮了,两个开关同时打开或者关闭,灯就灭了。

这样的话,用一个与非门和一个与门就模拟了最简单的一个加法器,最大只能计算1+1。计算机中有几亿个这样的门电路,它们组合起来就能做非常复杂的运算。现在的大部分CPU都是64位的,这种CPU肯定会有64位加法器甚至128位加法器。拿64位加法器来说,它最大可以计算出18446744073709551616 + 18446744073709551616。

说到这里,不得不说说芯片频率。

先说说1G频率是什么概念,让大家有个至关的认识,这个数字就是说每秒钟10亿(1,000,000,000)次。为什么会有这个东西呢?刚才我说了与非门,开关3是随着开关1和开关2的变化而变化的,对人类来说,开关3的变化速度很快,是瞬间的,但这个变化总是需要一点时间的。开关3可能是另外一个门电路的输入开关,如果变化到一半,它的下一个门电路就接受开关3的输入,可能会产生很严重的问题。

一般来说,一层门电路需要等它的上一层门电路完全变化完毕,输出稳定之后,它才接收上一层的输入,开始变化。这个时候就需要有一个指挥家来指挥这些门电路什么时候开始变化,这个指挥家就是芯片频率,指挥家会定时发出脉冲,1G就是每秒1一次脉冲。门电路等脉冲到来的时候就开始做这个变化。

从上面可以看出,指挥家指挥得越快,芯片运算速度越快。但要说明一点,两倍的频率并不代表两倍的性能。因为CPU和内存、外设频率不同步,它们之间的频率相差越多,CPU空转的次数越多。另外再说一点,门电路变化的过程其实就是mos充电放电的过程,mos管充电放电越快,芯片的频率可以做到越高,而二级效应会减慢mos充电放电的速度。如果mos管想要充电放电快一点,要提高mos管电压,这样就提高了芯片的功耗。

而关于芯片设计过程,大家对IP核、指令集和架构这些东西都比较感兴趣。

先说说ARM的IP核吧,ARM授权包括指令集和CPU核心架构。据我了解,除了高通外,其它芯片厂商都使用了ARM的CPU核心架构,也就是经常可以听到的A9 A15。高通比较高端,CPU核心架构自己搞,如果搞得比A9 A15好的话确实可以提高CPU性能,但由于ARM收取高昂的核心架构修改费用,所以要付更多的钱给ARM。指令集是CPU与上层的编译器、操作系统和应用程序的接口,使用ARM指令集意味着你做的CPU可以兼容安卓系统、安装应用、C编译器。

如果哪个公司自己整一套全新的指令集,那它做出来的CPU一点用处没有,既没有操作系统也没用应用。此前联想出了个K800,用的是英特尔Atom CPU,这款CPU非常特别,使用X86指令集,结果是一出悲剧,很多游戏兼容不了。不过英特尔还得感谢谷歌,否则这个CPU连安卓都兼容不了。目前来看,CPU不用ARM指令集很难玩转,而且随着越来越多应用只支持ARM,ARM的地位会越来越巩固,就像电脑CPU,如果不用X86指令集,连Windows都很难安装,这是一个垄断的帝国。

下面说说CPU核心架构,说之前不得不先谈谈PDK。PDK是ProcessDesign Kit 工艺设计包,它和晶圆厂的制作工艺紧密相关。PDK是什么呢,它描述了一个具体工艺基本元器件的电器特性。比如台积电28nm工艺和40nm工艺做出来的mos管电器特性肯定不一样。28nm工艺和40nm工艺做出来的mos管额定电流范围、电压范围肯定不同,在相同外界输入下,输出曲线也肯定不一样。芯片公司如果没有PDK,根本不知道设计出来的电路性能如何,也没办法跑仿真。简单一点说,你拿40nm PDK设计电路,用28nm工艺生产,生产出来的芯片绝对一点用处没有。所以说芯片设计非常苦逼,搞编程的,代码可以重用,搞芯片设计的,如果换了生产工艺,很多东西得要从头再来。

ARM给IC设计厂商的CPU核心架构只是FPGA代码,它不是工艺相关的,数字前端设计的工作会少不少,但后端设计有大量的工作要做。但ARM提供的仅仅是一个计算核心,外围一个都没有。外围包括一些什么呢?比如USB IP核,没有这个,手机就没有USB功能;比如GPU,这个不用我多说吧;比如音频IP核,杜比音效就是这么来的;比如视频解码IP核,没有这个,看视频只能软解;还有CPU功耗控制IP核等等。

对于很多IC设计公司来说,这些外围的IP核很多都是外购的。因此看CPU真心不能只看频率,外围IP有好有坏,有些比较高端的IP核授权费用非常高。即使买了很多IP核,但芯片也绝不是闭着眼睛就能整出来的。

顺便说一下,高通芯片外围的IP核很多也是外购的。

所以说芯片设计并不是简单的事情,很多人认为国内的IC设计公司毫无技术含量这种说法是无稽之谈。

关键词: 芯片 IC设计

最近更新

关于本站 管理团队 版权申明 网站地图 联系合作 招聘信息

Copyright © 2005-2018 创投网 - www.xunjk.com All rights reserved
联系我们:33 92 950@qq.com
豫ICP备2020035879号-12