37000Con威斯人(中国)有限公司-Weixin百科

/ EN
13922884048

技术交流

Technology Exchange
/
/

人工智能会抢走我们的所有工作吗?

发布时间:2025-07-10作者来源:37000Con威斯人浏览:634

作者 Simon Sabato为Cognichip公司联合创始人兼首席架构师 | 前谷歌员工 | 前英特尔员工 | 前思科员工 | 前Cadence员工 | 方法论、架构、设计。

图片

以下是他刚刚发表的一篇关于AI的文章:


一图胜千言……真的是这样吗?

我在20世纪90年代于加州大学伯克利分校学习芯片设计,那是一个芯片通过“门级设计”(与门、或门等)组合在一起的时代。我是一个爱好者和书呆子,从我记事起就开始摆弄电池和灯泡。在上大学的至少六年前,我就已经开始使用随处可见的“74xx”芯片构建电子设计,这些芯片在任何一家信誉良好的电子商店都能买到。当然,在大学里,事情变得更加严谨。我们学习如何将门电路组合在一起,以创建任意功能(如二进制加法器、交通信号灯控制器等),使用臭名昭著的“卡诺图”。然后,我们学习如何优化这些设计,使用[敏感词]批逻辑优化算法(比如伯克利分校自己的“Espresso”)。

想象一个电路,当按下“开始”按钮且我们没有按下“停止”按钮,并且处于“就绪”和“待命”状态时,会产生一个“开始”信号。多年来,这种电路的门级设计是通过类似这样的图形用户界面以原理图的形式输入的:

图片

它看起来足够简单,但在得出上述设计之前,其实已经做出了一些选择。我们可以将两个与门合并以节省一些面积。我们也可以将“停止”信号进一步推到下游,作为靠近输出端的“最终检查”。然后,在我们决定采用上述电路设计之后,我们还需要从每个门的几十种功耗/性能/面积变化中进行选择。

为了做出所有这些选择,“时序约束”被用来规定诸如“开始”导致“运行”之间允许的时间、处理“停止”信号的[敏感词]时间,以及如果“停止”和“开始”信号几乎同时接收时的预期行为等规则。

硬件描述语言(HDL)自20世纪80年代中期以来就已经存在,并且最近被纳入了伯克利分校的课程体系。HDL是一种类似于普通编程语言(如C或Python)的书面语言,但它增加了逻辑设计所需的额外概念——并行计算、严格的事件时序以及对任意数据类型的支持。在我的[敏感词]门计算机体系结构课程中,我们使用HDL来捕捉我们的门级设计——几个门组合起来实现两位数相加的电路被称为“全加器”,然后32个这样的全加器就构成了一个“32位加法器”,以此类推。

在选择了每个门的确切变体后,用硬件描述语言(HDL)编写的上述设计可能看起来像这样:

    module launch_control ( input armed, ready, stop, go, output launch );   wire systems_go, not_stopped;   AND2_4X gate1 ( .IN1(armed), .IN1(ready), .OUT(systems_go) );   NOT_2X gate2 ( .IN(stop), .OUT(not_stopped) );   AND3_16X gate3 (.IN1(systems_go), .IN2(not_stopped), .IN3(go), .OUT(launch) );endmodule

    用“代码”来表达设计可以节省大量原本会花在图形用户界面中绘制导线上的时间(相信我,我两种方式都试过!)。如果你觉得“我觉得看图更容易理解”,你并没有错!只是代码更容易编写,而且维护起来更是难以估量地便捷。硬件描述语言(HDL)利用了为软件代码编写的全部基础设施——编辑器、版本控制系统、补丁格式等。在那门课程中,每个小型学生团队都构建了一个32位RISC CPU内核:一个具有算术逻辑单元、寄存器文件和缓存的全流水线设计。

    在20世纪90年代初,硬件描述语言(HDL)开始被用于测试设计。HDL具备像C这样的软件语言的所有功能:读写文件、生成随机输入、计算预期输出等。除此之外,它们还增加了用于建模高度并行系统(如上述电路放大数百万倍)所需的硬件特定功能。

    HDL还被用于在更高层次上对硬件设计进行原型开发。大多数硬件模块执行的算法相对简单,只是执行速度非常快。通常很容易在高层次上编写所需的函数。我们的火箭发射控制器可以被原型化为:

      module launch_control ( input armed, ready, stop, go, output launch );   assign launch = (go && !stop && armed && ready);endmodule

      这相当简单!它没有捕捉到具体的门电路组织和门类型的选择,但它确实代表了最终版本将要做的事情。这在编写测试用例、用原型化的部件构建并测试更大型系统等方面非常有用。与此同时,设计师会根据这种高层次的描述以及“时序约束”开始进行门级设计。通常,两种版本都会被保留下来——高层次的代码会运行得更快、更容易阅读,也更容易调试……而门级设计才是你实际要构建的物理对象。

      1994年:机器在芯片设计中击败人类?

      我清楚地记得我[敏感词]次听到“综合”这个词的情景。在那门计算机体系结构课程快结束时,我和一位助教出去喝了一杯。我们讨论了用代码构建设计比用原理图要方便得多,以及从“高级”代码开始,然后在看到整个CPU工作之后再将其转换为门电路是多么酷的一件事。他随口提到:“你知道吗,现在有一家公司开发了一种工具,可以自动将高级代码转换为门电路……他们叫Synopsys,他们把这叫作‘综合’……它有个很无聊的名字,叫‘设计编译器’……”

      我的[敏感词]反应是震惊,紧接着意识到这其实很有道理(“我怎么没想到呢?这其实就是一个‘编译器’……”)。下一个想法是,机器在将“高级”描述转换为特定情境下的完美解决方案方面超越人类,肯定还需要很长时间。

      在当时,大约是1994年,人们仍然主要靠手工编写大多数对性能要求极高的软件代码,尽管高级语言和编译器已经存在了几十年。我以为芯片设计是最“性能敏感”的领域,所以也许我们会永远在门级设计芯片!一般来说,硬件,尤其是芯片,建造成本极高——难道有人会为了节省一些工资而最终得到一个劣质产品吗?

      在酒吧的那次谈话之后不久,我开始了我在3Com公司的[敏感词]份全职工作,负责构建一款LAN+调制解调器接口卡。这项工作涉及设计一块密布芯片的印刷电路板(PCB),以及设计一个现场可编程门阵列(“FPGA”)中的逻辑电路,以协调我们卡片的两项功能。FPGA本质上是一种可编程芯片。它比“真正的”芯片更昂贵、速度更慢,但它是一种现成的部件,可以直接购买,而不需要花费大量的时间和金钱去制造定制芯片。在许多情况下,FPGA正是你所需要的。在3Com,我们的情况就是这样——我们不需要太多的门电路,也不需要它们运行得很快。我们只需要一个交通警察,来引导流量通过一个三岔路口。

      我知道我可以使用FPGA设计工具在图形用户界面中连接门电路,从而在门级完成这个设计。另一位设计师被分配来指导我。他来自走廊尽头的ASIC团队,他们最近刚刚完成了Etherlink III中的芯片设计,那是一款开始疯狂畅销的卡片……“互联网泡沫”已经开始了。

      那个产品中的ASIC是使用Synopsys设计编译器构建的,这个名字让我想起了什么。我的导师问我是否已经学过Verilog——“学校现在都在教这个,这是一种用代码而不是绘制门电路来设计硬件的方法”——我回答说我用这种方法构建过一个32位CPU。“太好了,”他回答道,接着说“那你就不需要培训了。”说完,他拿走了我最初精心绘制的几张原理图,开始用Verilog将它们“重写”。代码看起来完全陌生,但我太不好意思承认这一点了(又过了一年我才意识到,伯克利分校教的是VHDL,一种不同的语言)。

      我仍然没有被说服这个工具能设计得比我好,而且我不喜欢这种陌生的语言。我非常想放弃使用硬件描述语言(HDL)——我可以直接画出门电路,然后就完成了。我的导师一直劝我不要这样做;我记得有一次在挣扎的时候,我建议干脆放弃整个东西,花整个周末用原理图重新绘制设计,我还记得他的话(“我不会希望任何人那样做。我宁愿去打篮球”)。

      随着产品的演变,FPGA变得越来越复杂,空间也越来越紧张。高效设计变得越来越重要——也许我们对紧凑、高效设计的需求能让我在这场与这个可恶的工具的较量中获胜?!

      我决定手工构建一个关键的状态机。它只有几十个门电路,但它必须运行得非常快,以便在罕见情况下捕捉到一个短暂的事件。它必须被放置在FPGA的一个小的、未被使用的角落里。我精心设计了我的电路。我的导师总是喜欢接受挑战,他很快就回来展示了一个更好的版本。我没有气馁,进一步完善了我的设计,直到我确信不可能做得更好为止。然而,这个工具又找到了一个更好的解决方案。我开始怀疑综合生成的版本可能无法正常工作,因为它生成了一些难以辨认的门电路。我浪费了宝贵的时间去检查它,希望它犯了错误,结果却发现它只是非常巧妙。尽管我对此表示钦佩,但另一个改进版本又出现了。我放弃了检查它的成果,转而继续优化自己的设计。然而,又一个新版本出现了。

      我放弃了,得出结论:“这玩意儿迟早会抢走我们的所有工作……”

      这种想法,夹杂着一丝羞愧,在我的脑海中挥之不去。就好像我的同事有一根魔法棒,可以对设计编译器说:“专注于让这个设计更快……现在让它更小……”,而它就像施展魔法一样,飞速地筛选出数千种可能的解决方案。这感觉就像是他并不是在设计,而是在告诉它该设计什么。我怎么可能与之竞争呢??最终,我逐渐冷静了下来。毕竟,当一个袖珍计算器比我乘法算得更快时,我也没有自责过,不是吗?你知道他们是怎么说的——如果你无法战胜他们:那就全力以赴,转到ASIC团队,成为一名全职的Verilog编码员。

      有趣的是,Synopsys使用Verilog作为其工具的输入语言。Verilog并不是为编译成门电路而设计的,它可以表达许多综合工具无法转换成门电路的内容。我们最早学到的一件事就是语言的“可综合子集”,这是一个不断变化的边界,并且包含一个相当大的灰色地带(“它也许能做到,但你并不希望它做到”)。Verilog的表达能力意味着Synopsys(以及后来的其他公司)可以逐步扩展这个“可综合子集”。Verilog逐渐演变为更强大的SystemVerilog,就像C语言演变为C++一样。

      总体而言,我认为综合技术将生产力提高了大约1000%。让我们来思考一下,在这段时间里芯片设计发生了多大的变化,以及事情变得多么复杂。

      现代芯片可不是闹着玩的

      芯片设计团队过去可能只有十几个人,现在通常有大约一百人(范围很广——许多仍然由十几个人的核心团队完成,而有些则需要数百人)。过去,制造一块芯片的成本是5万美元,现在这个数字大约是2000万美元。我设计的[敏感词]块FPGA有3000个门,我的[敏感词]块ASIC有5万个门——相比之下,现代芯片的门电路数量达到了数十亿。

      我们应该把芯片视为一台机器。这台现代机器的齿轮被称为“门”:

      图片

      2输入端与非门

      上图是一个简单的门,包含四个晶体管。在纸上,导线看起来大约有5毫米宽,不同颜色代表不同的“层”——现代芯片大约有15层这样的结构。

      当我们说一款新手机配备了“5纳米芯片”时,我们说的就是这些导线。这意味着我们的图是按照1,000,000:1的比例绘制的(5毫米:5纳米)。一块典型的CPU芯片大约是12毫米×12毫米,按照这个比例绘制的话,它将是一个12公里×12公里的门电路阵列。

      为了感受这些芯片处理数字的速度有多快,请考虑以下情况。在2025年,我们的手机通常有6个CPU核心,每个核心在2.5GHz的时钟频率下每秒执行约4条指令,这意味着它们每纳秒可以处理60条指令。纳秒是十亿分之一秒,比光子以光速从手机传播到我们脸部所需的时间还要短……芯片是一台超高速的机器。

      如今回看芯片设计,很难想象如果没有逻辑综合这一革命性技术,它们是如何被设计出来的。老实说,综合确实取代了大部分涉及原理图级设计的工作:它不仅做得更好、更快,还让我们能够专注于设计更大、功能更丰富的芯片。作为回报,它为我们带来了如今蓬勃发展的半导体行业,该行业目前雇佣了33.8万名员工,并且支持了300个下游经济领域,为美国提供了超过2600万个工作岗位[^SIA^]。

      急需新的“综合”时刻

      尽管取得了令人印象深刻的增长和创新,半导体行业正面临另一个转折点。设计成本过高,且仍在上升。开发周期过长,且仍在增加。与此同时,就业市场数据预测,进入这一行业的工程师数量将出现巨大缺口。令人意外的是,芯片设计师的短缺问题比人工智能数据科学家更为令人担忧。

      人们已经多次尝试寻找芯片设计生产力的下一个飞跃:

      • 寄存器传输级(RTL)设计主要由SystemVerilog主导,但也有VHDL以及一些较小的“现代”语言,它们从根本上都处于“同一水平”——也就是说,编写一个程序在它们之间进行转换相对容易(与将RTL转换为门电路不同)。

      • 相比之下,高级综合工具接受多种输入语言(如C/C++、Python等),并将代码“展开”,通常转换为SystemVerilog。这种方法有其支持者和成功案例,但现实情况是,大多数主要芯片并不是这样设计的。从根本上说,这种方法似乎能够实现更快的设计周期,但代价是牺牲性能。在竞争激烈的市场中,我们通常不会选择牺牲性能。


      现在是时候在设计中迈向更高层次的抽象了,如果你愿意的话,可以称之为新的“综合”时刻。最近在人工智能领域取得的进步正在促使我们思考,自然语言是否可以成为我们的下一个“高级语言”。就像上次一样,这将很快从同事随意提及的事情,转变为以令人难以置信的结果直面我们。

      那么……人工智能会抢走我们的所有工作吗?

      回顾早期综合工具的使用,我现在可以自信地回答:不会。

      如果没有综合工具,确实我们需要更大的团队来设计当今的芯片,但芯片市场的规模也会小得多——产品种类更少,成本更高,性能更低。大多数芯片设计工作将是单调、重复且薪酬较低的。一小部分人会负责高级设计工作,然后一大群人来完成剩下的工作——就像在好莱坞大片中,一群动画师团队负责“按部就班地填充颜色”。

      芯片设计师会更愿意一直从事门级设计,而不是综合出定义了21世纪的惊人芯片吗?不,他们不会。

      综合工具推动了一个自1990年以来收入增长数倍的行业。出于类似的原因,我预计人工智能增强的芯片设计将增加工作岗位数量,并使工作更具吸引力。很快,将会有更多芯片被设计出来,每个芯片都更精准地针对其应用场景,具备更多功能,且成本更低、功耗更少。人工智能模型将使我们能够构建更多我们想要的芯片,而不仅仅是那些我们能够设计出来的芯片。


      免责声明:本文采摘自“电子森林”,本文仅代表作者个人观点,不代表37000Con威斯人及行业观点,只为转载与分享,支持保护知识产权,转载请注明原出处及作者,如有侵权请联系我们删除。

      服务热线

      0755-83044319

      霍尔元件咨询

      肖特基二极管咨询

      TVS/ESD咨询

      获取产品资料

      XML 地图