公司动态
BOB半岛芯片小白零基础入门芯片设计两周设计出CPU
BOB半岛芯片小白零基础入门芯片设计两周设计出CPU据Tomshardware报道,一位名为Adam Majmuda软件工程师最近在X平台上分享了他在“没有任何经验”的情况下,只用了两周内就从头开始设计 CPU 的经验。
在这段短暂的时间内,Adam声称他已经了解了芯片架构的基础知识,吸收了芯片制造的细节,并使用EDA 工具准备了他的第一个完整芯片布局。他的“speed-running the chip stack”任务清单中的下一步是从头开始设计 GPU,接下来他将把这个设计流片出来。
这位初出茅庐的芯片设计师自称是一家 web3 开发公司的创始工程师之一,概述了他迄今为止在探索中所采取的步骤。在下文中,我们列出了他迄今为止已完成的步骤:
设计我的第一个完整芯片布局 - 使用 OpenLane(一种开源 EDA 工具)进行设计和优化;
正如前文所说,Majmudar 现在面临的重要一步是从头开始设计 GPU。他知道这将是一项艰巨的任务。他同时承认,经过初步调查,这比预想的要困难。这位初出茅庐的芯片设计师解释说,根本没有用于构建 GPU 的在线学习资源。“由于 GPU 公司都试图保守彼此的秘密,因此大多数 GPU 架构数据都是专有且闭源的,”该工程师发现。
尽管存在这一障碍,Majmudar 表示,大型 GPU 制造商的保密性使得该项目的这一部分对他来说更加有趣。Majmudar强调,Anthropic 的 Claude Opus AI 工具在 GPU 设计阶段非常有用。
“我一直向 Claude 提出每个单元必须如何工作的想法,然后它将以某种方式引导我找到正确的实施方法,然后我可以通过开源存储库进行确认,”该工程师解释道。然而,他观察到,“如果我公开搜索一些内容,什么也没有出现,这证明了实施细节的隐藏程度。”
仅用了两周左右的时间就完成了清单中的五分之三任务,上述有关 GPU 的担忧可能会让读者担心 Majmudar 可能遇到了障碍,甚至是难以逾越的墙。但事实似乎并非如此,因为他乐观地预测他的 GPU 设计将在“未来几天内”完成,并且会发送精简版本进行流片。
我首先学习了芯片如何从二进制到C的工作,这部分很关键。为了设计芯片,您需要对所有架构基础知识有深刻的了解,因为您需要不断处理逻辑、门、存储器等。
芯片设计工具都是围绕特定的制造工艺(称为工艺节点)构建的BOB半岛·体育(中国)官方网站,所以我需要了解这一点才能完全掌握芯片设计流程。
材料 - 半导体制造需要大量的材料,包括半导体、蚀刻剂、溶剂等,每种材料都有特定的品质,值得使用。
这里最重要的直觉是,芯片是通过定义不同层的布局来生产的。这些层的设计是芯片设计 (EDA) 过程的输出。
在计算机体系结构中,对晶体管的常见解释实际上过于简单化,而逐层设计实际的晶体管迫使我更多地研究实际的实现细节。
查看单个nMOS晶体管的电压和电流图(右图)与等效图的比较,也使CMOS的功率效率提升更加明显。
在下图中,每种不同的颜色都指定了不同的层,每层都由不同的材料/离子/等制成,并在制造过程的不同步骤中创建 - 例如,红色多晶硅层是顶部nMOS和底部pMOS晶体管的实际GATE,浅蓝色metal 1层是输入和输出的实际连接。
这部分对我来说是一个很酷的解锁,我第一次使用软件对硬件进行编程。我使用硬件描述语言 (HDL) Verilog 制作了我的第一个电路。
标准单元只是常见用途的晶体管排列(如 AND gate),它针对效率进行了大量优化,并专为特定的代工厂制造工艺而设计。
这些标准单元库几乎包含大多数设计实际需要的所有逻辑单元,因此您无需过多地关注 gate level。
我使用 Skywater 130nm 工艺节点的标准单元库创建了这个电路(来自一家名为 Skywater 的代工厂的特定制造工艺)。
我知道代码大多是无用的,但我想把它包括给任何好奇的人。时序图显示 3 个不同的旋钮被转动,相应的 LED 被打开。
由于硬件中的错误成本远远高于软件(因为一旦你的设计被制造出来,你就无法改变东西),使用广泛的测试和形式验证是设计过程的关键部分。
这是迄今为止最酷的部分。我使用 OpenLane(一种开源 EDA 工具)对我的设计执行整个综合、优化和布局过程,并提出了一个完整的芯片设计。
只是看到我的Verilog代码变成了实际的芯片布局,并且能够进入并玩弄所有层并点击进入每个门,这真是一个病态的解锁。
我的项目的最初目标是构建一个最小的 GPU。我没有意识到这将有多难。我的期望是,构建 GPU 将类似于构建 CPU,在线上有大量学习资源来弄清楚如何做到这一点。
NVIDIA 和 AMD 发布了高级架构概述,但完全没有记录其 GPU 如何在低级别工作的所有细节。这让我的事情变得更有趣了——我基本上有一些高级架构文档+一些开源 GPU 设计的尝试,以及关于 GPU 架构的公共学习资源为零。
从这一点开始,我一直在尝试根据我所知道的 GPU 架构的工作方式 + 必须是真实的内容,对 GPU 架构如何工作的细节进行逆向工程(当然在更简单的层面上)。
Claude Opus 在这里提供了巨大的帮助——我一直在向 Claude 提出我的想法,即每个单元必须如何工作,然后以某种方式(通过从它所知道的推断,或对专有数据的训练)它将引导我走向正确的实现方法,然后我可以去用开源存储库确认 然而BOB半岛·体育(中国)官方网站,如果我公开搜索一些东西, 没有显示任何内容,这证明了实现细节的隐藏程度。
所以知道现在,我仍在构建一个最小的 GPU 设计BOB半岛·体育(中国)官方网站。我还将记录一切是如何运作的,并发布一篇关于它的帖子,以便其他任何好奇的人都能更清楚地了解它。
这将在未来几天内发货,并且可能会发送一个精简版本,以便在 Skywater 130nm 工艺节点上流片。
推荐新闻
- BOB半岛·体育(中国)官方网站电脑主板2024-08-23
- BOB半岛芯片小白零基础入门芯片设计两周2024-08-23
- BOB半岛·体育(中国)官方网站从菜鸟到2024-08-23
- BOB半岛·体育(中国)官方网站电脑创建2024-08-23
- BOB半岛·体育(中国)官方网站中秋节小2024-08-23
联系我们
热线电话: 400-123-2366
公司传真: +86-123-2366
电子邮箱: admin@pn258.com
公司地址: 广东省广州市BOB半岛·体育(中国)官方网站