电子产业一站式赋能平台

PCB联盟网

搜索
查看: 75|回复: 0
收起左侧

芯片设计中常提到的flow是什么?

[复制链接]
匿名  发表于 2024-8-6 10:22:00 |阅读模式
flow可以简单的理解为“流程”,但在不同的芯片设计公司,不同的设计阶段,流程又千变万化,不尽相同。
对于工程师来讲,入职一家公司以后,要尽快从同事那搞到“flow notes”,也就是平时的记录的flow笔记或者说明,以便快速上手。
芯片设计中的“跑flow”意味着按照这一系列既定的流程进行设计工作,每个阶段都有相应的设计工具和方法学支持,以保证设计的高效和准确性。Flow工程师则负责,建设、维护和优化这一流程,确保设计团队能够高效地完成芯片设计项目。
好像看了以上,外行人还是没有很懂,那我举个例子好了,我们把设计一款芯片比作做一道菜:青椒土豆丝,那么问题就来了:
土豆丝的粗细要做到什么程度?

先下油、再热锅,还是先热锅,下油?

葱姜蒜爆锅爆多久?

先下青椒,还是先下土豆丝?

什么时候放盐?什么时候放鸡精?

炒至什么时候出锅?
......
每一个环节有细微的差别,都会导致做出来的青椒土豆丝口味不同,同样,不同流程做下来的芯片,PPA和本身的质量上也会有差别。

而flow的存在,在一定程度上实现了设计的标准化、高效性和准确性,以上所有的步骤,都要通过用脚本搭建的flow约束住。如果哪一天发现flow工具在某一corner case下支持的不够好,就要flow工程师去更新flow,一般flow都是通过makefile、perl、TCL这些语言搭建起来的。

芯片工程师的一大特点就是【懒】,一个好的flow应该会自己跑,所以很多时候,芯片设计工程师或者flow工程师都在想着尽可能的让其“自动化”,最好是有了芯片的spec,一键生成GDSII,直接交给FAB制造。

如此的话,那设计工程师和flow工程师是不是就失业了?其实不会,原因如下:
首先,没有100%完美的flow,一键出wafer只是完美的设想。
是flow,就难免会有bug,尤其是新开发的一套flow,修bug是工作的主要内容之一。
因为flow自动化节省下来的时间,要么玩手机,要么去解决更有挑战的问题。
我一直秉持一个观点,对资深或者优秀的芯片工程师的定义,就是是否具备从零搭建芯片设计flow的能力,这才是基础,是核心。

可能在大公司做flow,不要求全面了解芯片设计,只要脚本能力强就行。但要为一家公司从零搭建flow,没有对应得前端设计/验证/DFT/后端的背景是做不好的。

芯片行业的名词太多了,很多翻译成中文又不准确,心疼这一行的HR和猎头们,摸摸头~
回复

使用道具

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


联系客服 关注微信 下载APP 返回顶部 返回列表