文章摘要
作者抓住免费机会,在两周内从零开始设计包含JTAG调试和矩阵乘法加速器的AI芯片,虽自嘲不够时髦,但充满热情迎接挑战。
文章总结
两周冲刺:一个AI加速器与JTAG调试芯片的诞生
项目背景
作者抓住了一次免费使用GlobalFoundries 180nm工艺的实验性流片机会,在两周极限时间内完成了一个包含2×2脉动阵列乘法器(AI加速器核心)和JTAG调试接口的芯片设计。这个看似"不酷"的项目实际暗藏雄心——通过硅验证的调试基础设施为未来自主流片铺路。
技术亮点
双模块设计
- 脉动阵列:采用Booth Radix-4乘法器与Wallace树结构,实现8位整数矩阵乘法,通过数据重用来降低内存访问能耗(DRAM访问能耗比计算操作高2-3个数量级)
- JTAG TAP:支持标准指令和自定义
USER_REG指令,可读取计算单元内部寄存器状态,为芯片调试提供"观察窗口"
极限开发流程
压缩在10天内完成架构设计→RTL编码→仿真验证→FPGA仿真→固件开发→物理实现的完整流程,依赖高度自动化的开源工具链:- LibreLane整合OpenROAD/Yosys等工具实现"无人工干预"综合
- Tiny Tapeout提供从Verilog到GDSII的一站式流片服务
- 自定义Makefile实现单命令FPGA工程构建(
make fpga_prog debug=1)
设计约束突破
- 仅使用8个输入/输出引脚,通过串行化处理并行数据
- 牺牲一个数据引脚作为JTAG时钟输入,形成双时钟域设计
- 放弃SRAM宏使用(实验性流片限制),采用寄存器存储权重
幕后花絮
- 实际有效工作时间仅10天(前4天在恢复上一个流片项目的疲惫)
- 验证阶段通过OpenOCD"逆向工程"JTAG协议(因无法获取IEEE付费标准)
- 最终芯片标识伪装成英伟达加速器(MFG ID 0x06b)
- 开发期间唯一赞助商:华夫饼(作者深夜精神食粮)
未来方向
- 扩展脉动阵列规模(当前2×2为预留他人流片空间)
- 增加浮点运算单元和扫描链诊断功能
- 终极目标:脱离 shuttle 实现完全自主流片
(全文保留技术细节但删减了部分布尔代数推导和功耗数据表格,完整数据可查看原文档链接)
评论总结
这篇评论主要围绕三个观点展开:
- 技术实践热情
- SV_BubbleTime分享了自己参与免费实验性项目的经历:"有机会加入使用GlobalFoundries 180nm工艺的免费实验性项目时,我立即抓住机会设计了自己的JTAG!"
- "So when the opportunity arose to join an experimental shuttle using global foundries 180nm for FREE I jumped onto the opportunity and designed my own JTAG!"
- 技术多样性认知
- CrispinS赞赏技术领域的多样性:"这类博文让我想起科技世界是包含众多学科的广阔海洋,并不全是全栈Web开发"
- "the tech world is a vast ocean that encompasses so many disciplines; it's not all full stack web development"
- 同时坦言理解有限:"我其实没看懂她写的大部分内容(95%)"
- "I did not understand 95% of what she wrote"
- 开源工具关注
- saidinesh5询问开源工具可用性:"有人知道Tiny Tapeout项目中有多少工具是开源的吗?"
- "does anyone know how many of the tools involved in the Tiny Tapeout project are available open source?"
- 指出商业EDA工具许可昂贵的问题:"专有EDA工具的许可证非常昂贵,大多数EDA从业者并不关心开源工具,因为他们公司会支付许可费用"
- "The licences for proprietary EDA tools are very expensive...most EDA people didn't really care for any open source tools - as their companies paid for the licenses"