芯片设计研发:搞砸了十次流片后,我才懂的那些事
说真的,流片前的那一晚,我根本睡不着。不是兴奋,是恐惧。一种深不见底的恐惧,就像你知道明天大概率会收到一坨价值连城的废铁——不,是硅。这行干久了,你就知道,硅有时候真不如铁。
模拟芯片版图设计细节
我抱着示波器看了三天三夜。头发一把一把地掉。最后发现——仅仅是一个寄生PNP管,在高温下漏电,把偏置电流全拉偏了。就那么一个小小的、版图上都没画出来的家伙。仿真?仿真模型根本没捕到这玩意儿。那是我第一次明白,芯片设计研发不是画电路图,是在和物理世界肉搏。
后来我们又流了三次片,每次都改一点,每次都出新的妖蛾子。有一次DRC干干净净,LVS完美通过,回来还是废的。原因是我们用的标准单元库有个坑——某个角落的时序在特定电压温度下会违例,而签核阶段的时序分析没覆盖那个corner。崩溃吗?习惯了。
都说EDA工具牛逼,可它坑起人来,也是毫不留情
现在搞数字前端,写RTL,综合,布局布线,听起来流程顺滑。但工具真不是万能的。
EDA工具芯片版图设计界面
有一次做AI加速芯片,内存墙问题严重。我们用了一个挺新的工具自动生成noc互联。结果它生成的拓扑结构在某个特定流量模式下死锁了。仿真跑了三天没跑出来,因为那个模式概率太低。等流片回来压测,直接挂掉。那个工具的AE(应用工程师)过来看了半天,最后挠着头说:“呃,理论上不应该啊……” 我当时就想把键盘拍他脸上。
说实话,现在EDA工具越来越复杂。光是signoff的选项就能排三页。有时候你觉得设置得万无一失,其实某个神秘开关没打开。而且,很多工具的license贵得离谱。小公司根本买不起全套,只能用那些阉割版,结果就是——跑出来的结果你敢信吗?不敢。还得靠老工程师的直觉去猜。这行,经验真是用钱堆出来的。
不过话说回来,最近几年也有些新气象。比如开源的EDA工具链开始有人搞了,虽然离商用还远,但至少能看到点希望。
现在搞芯片设计研发,得学点新东西了——Chiplet和RISC-V,你躲不开
几年前我们做SoC,顶多就是拼几个IP。现在不一样了。Chiplet简直是一夜之间火起来的。UCIe标准一出,大家都想用搭积木的方式做芯片。你想啊,一颗大芯片拆成几个小芯片,用高级封装拼在一起,既能用不同的工艺(比如计算die用3nm,IO die用28nm),又能提高良率。但问题也来了——Die-to-die的互联怎么设计? 时序、功耗、信号完整性,全是新的坑。
还有RISC-V。这玩意儿现在太热了。国内不少公司都在基于RISC-V做处理器核。我们组去年也搞了一个,基于开源内核改了流水线,加了自定义指令做AI加速。流片回来,性能居然超了ARM的M4,功耗还低了20%。当时觉得特不真实。不过开源的好处就是你能看到他们的代码,但坏处是——里面有些设计决策挺迷惑的,比如分支预测器那块,用了非常古老的算法。你得花大量时间去理解、去改。
基于RISC-V的芯片架构图
最近看新闻,中科院计算所的“香山”处理器开源了,而且还是用Chisel写的。啧,这语言… 算了,不提。但趋势很明显:芯片设计研发正在从大厂垄断走向平民化。只要你有想法,肯流片,小团队也能做出牛逼的东西。不过流片成本还是高啊,要不怎么那么多初创公司死在半路上。
就这样吧,不说了,新项目又要开始综合了。键盘敲得飞快,心里却还是有点慌。但这就是我们的生活。
第一次流片失败,我差点改行去卖煎饼
那时候刚入行,做一颗电源管理芯片。模拟的,懂吧?就是那些教科书上看起来无比优雅的运放、带隙基准,一上电,输出乱跳。整个芯片就是个振荡器,还特么不是设计出来的那种。
模拟芯片版图设计细节
我抱着示波器看了三天三夜。头发一把一把地掉。最后发现——仅仅是一个寄生PNP管,在高温下漏电,把偏置电流全拉偏了。就那么一个小小的、版图上都没画出来的家伙。仿真?仿真模型根本没捕到这玩意儿。那是我第一次明白,芯片设计研发不是画电路图,是在和物理世界肉搏。
后来我们又流了三次片,每次都改一点,每次都出新的妖蛾子。有一次DRC干干净净,LVS完美通过,回来还是废的。原因是我们用的标准单元库有个坑——某个角落的时序在特定电压温度下会违例,而签核阶段的时序分析没覆盖那个corner。崩溃吗?习惯了。
都说EDA工具牛逼,可它坑起人来,也是毫不留情
都说EDA工具牛逼,可它坑起人来,也是毫不留情
现在搞数字前端,写RTL,综合,布局布线,听起来流程顺滑。但工具真不是万能的。
EDA工具芯片版图设计界面
有一次做AI加速芯片,内存墙问题严重。我们用了一个挺新的工具自动生成noc互联。结果它生成的拓扑结构在某个特定流量模式下死锁了。仿真跑了三天没跑出来,因为那个模式概率太低。等流片回来压测,直接挂掉。那个工具的AE(应用工程师)过来看了半天,最后挠着头说:“呃,理论上不应该啊……” 我当时就想把键盘拍他脸上。
说实话,现在EDA工具越来越复杂。光是signoff的选项就能排三页。有时候你觉得设置得万无一失,其实某个神秘开关没打开。而且,很多工具的license贵得离谱。小公司根本买不起全套,只能用那些阉割版,结果就是——跑出来的结果你敢信吗?不敢。还得靠老工程师的直觉去猜。这行,经验真是用钱堆出来的。
不过话说回来,最近几年也有些新气象。比如开源的EDA工具链开始有人搞了,虽然离商用还远,但至少能看到点希望。
现在搞芯片设计研发,得学点新东西了——Chiplet和RISC-V,你躲不开
现在搞芯片设计研发,得学点新东西了——Chiplet和RISC-V,你躲不开
几年前我们做SoC,顶多就是拼几个IP。现在不一样了。Chiplet简直是一夜之间火起来的。UCIe标准一出,大家都想用搭积木的方式做芯片。你想啊,一颗大芯片拆成几个小芯片,用高级封装拼在一起,既能用不同的工艺(比如计算die用3nm,IO die用28nm),又能提高良率。但问题也来了——Die-to-die的互联怎么设计? 时序、功耗、信号完整性,全是新的坑。
还有RISC-V。这玩意儿现在太热了。国内不少公司都在基于RISC-V做处理器核。我们组去年也搞了一个,基于开源内核改了流水线,加了自定义指令做AI加速。流片回来,性能居然超了ARM的M4,功耗还低了20%。当时觉得特不真实。不过开源的好处就是你能看到他们的代码,但坏处是——里面有些设计决策挺迷惑的,比如分支预测器那块,用了非常古老的算法。你得花大量时间去理解、去改。
基于RISC-V的芯片架构图
最近看新闻,中科院计算所的“香山”处理器开源了,而且还是用Chisel写的。啧,这语言… 算了,不提。但趋势很明显:芯片设计研发正在从大厂垄断走向平民化。只要你有想法,肯流片,小团队也能做出牛逼的东西。不过流片成本还是高啊,要不怎么那么多初创公司死在半路上。
就这样吧,不说了,新项目又要开始综合了。键盘敲得飞快,心里却还是有点慌。但这就是我们的生活。