简介
由于成本高昂且需要专业技术,设计和制造定制集成电路的传统上仅限于大型公司和机构。然而,名为Tiny Tapeout的创新项目正在改变这一现状,让业余爱好者、学生和小型团队也能设计定制芯片。本文将探讨Tiny Tapeout的工作原理,以及如何使用它来创建自己的专用集成电路(ASIC)。
什么是Tiny Tapeout?
Tiny Tapeout是一个多项目芯片平台,大大降低了定制芯片设计的门槛。可以将数百个小型设计整合到一个芯片上,从而分担制造成本,同时让每个设计者都能收到并测试包含其设计的物理硬件。
Tiny Tapeout的主要功能包括:
- 使用开源设计工具和工艺设计套件(PDK)
- 基于云的设计流程,无需安装本地软件
- 低成本——每项设计通常不到100美元
- 保证提交的设计能够制造
- 社区支持和协作学习
每次Tiny Tapeout生产运行(或"穿梭")会将约400个独立设计整合到一个芯片上。制造完成后,这些芯片将被安装到演示板上,以便于测试和连接。)
如图1所示,Tiny Tapeout吸引了来自各行各业的参与者,其中不乏业余爱好者、学生或教育工作者。这使其成为学习和试验定制芯片设计的绝佳平台。
设计流程
为Tiny Tapeout创建设计需要经过以下步骤:
1. 根据提供的模板创建GitHub存储库
2. 使用Verilog HDL或Wokwi可视化编辑器开发设计
3. 记录设计
4. 通过自动测试系统提交设计
5. 如果所有测试都通过,则提交到下一个可用班车
让我们更详细地研究一下这些步骤。
1.创建您的资源库
首先访问[Tiny Tapeout网站](https://http://tinytapeout.com),点击链接,根据模板创建新的资源库。这将为您设计所需的基本结构和工具。
2.开发您的设计
您有两种主要选择来创建您的设计:
- Verilog HDL:如果您熟悉硬件描述语言,可以直接用Verilog编写设计。模板库中包含示例和文档,可帮助您快速入门。
- Wokwi可视化编辑器:对于硬件设计新手,Wokwi提供了一个图形化原理图编辑器,您可以使用逻辑门和其他基本组件绘制电路。Tiny Tapeout网站包含Wokwi使用文。
您的设计将拥有一定数量的输入和输出引脚以及时钟信号。可用引脚的确切数量取决于具体的 Tiny Tapeout 运行,但通常在 8-24 个引脚之间。
3. 设计文档
良好的文档对于他人理解并可能基于您的工作很重要。模板库中包含一个自述文件,您应在其中描述您的设计功能、输入、输出以及任何其他相关细节。
4.自动测试
Tiny Tapeout的主要功能之一是其自动测试系统。当您将更改推送到GitHub库时,将触发一系列检查:
- GDS生成:此步骤使用OpenLane工具将您的设计转换为用于芯片制造的GDSII格式。还会生成设计的有用可视化。
- 验证:此步骤运行您包含的任何测试平台,以验证您的设计功能。
- 文档:检查您是否包含所需的文档。
- 预检查:运行设计规则检查,确保您的设计能够正确集成到多项目芯片中。
5. 提交给shuttle
一旦您的设计通过了所有自动检查,您就可以通过网站将其提交给下一个可用的Tiny Tapeout shuttle。穿梭通常每季度运行一次,当您的设计被接受时,您会收到通知。
硬件架构
随着时间的推移,Tiny Tapeout项目不断改进其硬件架构,以提高性能和功能。让我们来看看这一过程是如何发展的:
Tiny Tapeout 1-3:扫描链
最初的Tiny Tapeout运行使用扫描链架构。该架构将所有设计连接成一个长链,数据依次在每个设计中传输。虽然这种方法相对容易实现,但在速度和延迟方面存在局限性。
Tiny Tapeout 4+:多路复用器
从Tiny Tapeout 4开始,架构更新为使用基于多路复用器的方法。这允许在设计和更高的I/O带宽之间进行更快的切换。
多路复用器架构具有以下优点:
- I/O速度提升(最高可达50 MHz)
- 每个设计可用的引脚更多(最多可达24个I/O引脚)
- 支持更大规模的设计(最多可达8x2块)
未来发展
Tiny Tapeout仍在不断改进。未来运行计划包括:
- 支持模拟和混合信号
- 增加I/O引脚
- 增加设计区域
测试您的设计
制造完成后,您将收到一块包含您设计的芯片(以及该穿梭器中的所有其他芯片),该芯片安装在小型载板上。该载板插入更大的演示板上,后者提供电源、时钟并方便访问I/O引脚。
演示板包括:
- USB-C电源连接
- 用于内核和I/O电源的稳压器
- 20 MHz振荡器
- 用于复位和单步时钟的按钮
- 用于输入的DIP开关
- 用于输出的七段LED显示屏
- 用于所有I/O的接头,包括PMOD扩展端口
最新版本的演示板还包括一个Raspberry Pi RP2040微控制器。这允许对设计进行更高级的控制和测试,包括编写简单的Python脚本与您的芯片进行交互的能力。
示例项目
Tiny Tapeout社区已经制作了各种有趣的项目。以下几个示例可以激发您的设计灵感:
- 串行FPGA:一个可动态重新配置的5输入查找表(LUT),展示了类似FPGA的功能。
- 可综合的数字温度传感器:这种巧妙的设计以非常规的方式使用标准单元来创建温度敏感电路。
- 标准单元展示:包含 PDK 中可用的大部分标准单元的设计,便于测试和特性分析。
- FM 发射器:接收音频输入并对其进行调制,以创建 FM 无线电信号。
- USB 全速设备:USB 1.1 全速协议的硬件实现。
- RISC-V CPU:RV32IMA RISC-V处理器,能够启动Linux。
这些例子展示了Tiny Tapeout带来的广泛可能性,从简单的逻辑电路到复杂的数字系统。
结论
Tiny Tapeout在定制芯片设计平民化方面迈出了重要一步。通过降低技术和资金门槛,为更广泛的受众打开了ASIC设计的大门。无论您是想学习硬件设计的学生、有独特想法的业余爱好者,还是想把前沿技术引入课堂的教育工作者,Tiny Tapeout都能为您提供一条制作真实物理芯片的便捷途径。
该项目仍在不断发展,未来计划提供模拟支持、增加设计规模以及更多I/O选项。随着社区的发展,可供学习的集体知识和可用设计范围也在不断扩大。
要开始自己的Tiny Tapeout设计,请访问[Tiny Tapeout网站](https://http://tinytapeout.com),获取最新信息、并加入即将到来的班车。祝您设计愉快!
参考资料
- M. Venn, "Tiny Tapeout: A shared silicon tape out platform accessible to everyone," in IEEE Solid-State Circuits Magazine, vol. 16, no. 2, pp. 20-29, Spring 2024, doi: 10.1109/MSSC.2024.3381097.
(更多技术文章或申请软件试用,请关注我们的微信公众号:逍遥设计自动化)