公众号记得加星标⭐️,第一时间看推送不会错过。
为了解决芯片行业的人才短缺问题,人们正在开发和测试各种新方法,从更广泛地部署人工智能工具到对工程专业毕业生进行核心学习领域以外的交叉培训。
在人工智能领域,新型工具能够帮助工程师更高效地设计和验证半导体硬件,从而弥补部分不足。大型语言模型和自然语言智能体人工智能工具可以被训练成定制化的助手。随着需要更先进的芯片来驱动用于辅助芯片设计的人工智能,这项技术将持续发展、演变和融合,形成一个循环。
与此同时,学术界正在尝试各种不同的方法来填补人才缺口,包括缩短培训时间、加强培训和交叉培训,以及利用机器学习工具、大型语言模型、多智能体人工智能和混合专家人工智能来训练软件工程师,使其能够胜任硬件工程师的工作。教会软件工程师如何设计硬件或许可行,但这并非易事。
“仍然需要一些教育和职业培训,” Cadence公司验证软件产品管理高级总监Matthew Graham表示。“要与人工智能或任何解决方案交互,必须对其工作原理有一定的基本了解。但这些人需要精通RTL编写吗?不需要。或许芯片开发人员不再需要学习SystemVerilog或VHDL的工作原理。或者,他们只需要一些基本了解,就像编写C、C++、Python或其他任何一种编程语言的人一样。他们都从根本上理解编译器会生成汇编代码和机器代码。他们实际上并不编写这些代码,也不需要编写,更不需要精通。他们只需要从根本上理解,当他们编写代码时,底层会发生这些事情。”
未来,芯片开发人员和验证工程师所需的技能将与现在的工程师有所不同。“他们的工作将更接近软件工程师,”格雷厄姆说道。“回想25年前我刚入行的时候,我从事集成电路开发,很快就转型成为一名验证工程师,因为我学习了面向对象编程。当时,面向对象编程不仅是计算机工程课程的一部分,也是电气工程课程的一部分,这在电气工程领域尚属首例。SystemVerilog的前身——Specman和Vera——出现后,人们发现,所有编写RTL代码的硬件工程师都不了解如何使用这项技术。因此,你,这位碰巧学过一些软件工程课程的电气工程师,现在可以成为一名验证工程师,因为这正是我们需要的技能。未来也会如此。未来会多一个软件组件。难道我们只会招收软件工程师,完全不对他们进行任何培训,他们就能开发硬件吗?我对此表示怀疑。这仍然需要一些特定的领域知识。”
传统硬件设计,尤其是在RTL或电路层面,需要对数字逻辑、时序、验证以及模拟电路概念有深入的理解。“与大多数软件环境相比,硬件工具链和工作流程通常更复杂、抽象程度更低,” Synopsys产品管理高级总监Anand Thiruvengadam表示。“硬件开发涉及物理约束、综合、时序收敛和制造工艺等诸多因素,这些通常并非软件工程师的专业领域。”
然而,新的工具正在实现更高层次的抽象,一些新的工具和平台允许以更高的层次描述硬件——更接近软件工程范式。“例如,一些系统允许使用高级语言或图形界面来指定硬件功能,然后这些描述会自动合成硬件描述,”Thiruvengadam说道。“人工智能驱动的工具可以帮助自动化硬件设计的许多底层细节,例如生成测试平台、优化布局或提出设计改进建议。这使得那些不具备深厚硬件专业知识的人也能做出有意义的贡献。”
ChipAgents研究主管、卡内基梅隆大学博士生张克勋认为,我们仍然需要硬件工程师来设计优秀的芯片,因为人工智能在软件工程领域的进展和大规模应用远比芯片设计领域更为广泛和成熟。“我们看到入门级、初级工程师的数量正在减少,”他说道。“经验丰富的软件工程师备受重视,因为人工智能本质上是一种工具。你可以用更好的工具做更多的事情,但你仍然需要使用工具的人能够充分理解问题,从而构建出他们所设计的架构。”
和如今大多数事物一样,芯片设计师也在利用人工智能来节省时间。“我该如何让工具更快地为我工作,而不是必须阅读文档的每一部分?” Baya Systems的首席商务官 Nandan Nayampally 说。“我能否向工具提出我的需求,然后它告诉我该怎么做?在开始制定规范时,人工智能能否为我提供一个良好的起点?如果它能提供一个起点,那么系统设计就能更快地完成。如果它能在设计过程中提供更多指导,就能帮助我提高设计效率。这就是设计师们看待人工智能的方式。它能否创建小型通用系统?它能否提供足够高效且无需进一步优化的简单起点?或许可以,但目前还无法做到。现在,更重要的是更好地了解工具,了解其功能,找到一个良好的起点,然后更快地进行优化,从而缩短设计周期,加快产品上市速度。”
如何让软件工程师设计硬件?
加州大学洛杉矶分校计算机科学杰出教授 Jason Cong 在过去二十年里一直在研究这个问题。
丛先生在DAC[1]引用美国劳工统计局的数据说:“大约有200万人自称是软件开发人员。我假设他们以软件编程为生。硬件设计师不到10万人。我找不到集成电路设计师这个类别,所以就把所有类别都归为一类了。”这些粗略的数字表明,软件工程师与硬件工程师的比例超过20比1。
丛教授和他的团队发表了许多关于如何帮助软件工程师设计硬件的技术论文,他在演讲中得出了这样的结论:“其中一个重要信息是,精心设计的AI/ML工具绝对可以帮助芯片设计。我向大家展示了我们如何将图神经网络(GNN)与逻辑学习模型(LLM)、捕获设计层次结构、程序转换、从FPGA到ASIC的任务转移以及利用专家团队进行领域转移结合起来。”
图 1:让软件工程师参与芯片设计的步骤
展望未来,我们将采用一种结合机器和人类智能的多智能体方法。“我的目标非常明确,我希望让这位接受过软件编程训练的年轻女士能够进行芯片设计,”Cong指出。衡量成功的标准是,硬件设计能够像编写另一个PyTorch库一样简单。“在我教授的本科CS-133课程中,我们取得了一些成功。在短短一周半的时间里,他们就能使用高级综合技术,并在AWS F1云平台上设计CNN加速器。”
(来源:semiengineering )
*免责声明:本文由作者原创。文章内容系作者个人观点,半导体行业观察转载仅为了传达一种不同的观点,不代表半导体行业观察对该观点赞同或支持,如果有任何异议,欢迎联系半导体行业观察。
今天是《半导体行业观察》为您分享的第4322期内容,欢迎关注。
加星标⭐️第一时间看推送
求推荐
热门跟贴