当前位置: 首页 > news >正文

IEEE JSSC更新|Tiny Tapeout:让每个人都能设计定制芯片

简介

由于成本高昂且需要专业技术,设计和制造定制集成电路的传统上仅限于大型公司和机构。然而,名为Tiny Tapeout的创新项目正在改变这一现状,让业余爱好者、学生和小型团队也能设计定制芯片。本文将探讨Tiny Tapeout的工作原理,以及如何使用它来创建自己的专用集成电路(ASIC)。

什么是Tiny Tapeout?

Tiny Tapeout是一个多项目芯片平台,大大降低了定制芯片设计的门槛。可以将数百个小型设计整合到一个芯片上,从而分担制造成本,同时让每个设计者都能收到并测试包含其设计的物理硬件。

Tiny Tapeout的主要功能包括:

  • 使用开源设计工具和工艺设计套件(PDK)
  • 基于云的设计流程,无需安装本地软件
  • 低成本——每项设计通常不到100美元
  • 保证提交的设计能够制造
  • 社区支持和协作学习

每次Tiny Tapeout生产运行(或"穿梭")会将约400个独立设计整合到一个芯片上。制造完成后,这些芯片将被安装到演示板上,以便于测试和连接。)

图1:Tiny Tapeout参与者构成

如图1所示,Tiny Tapeout吸引了来自各行各业的参与者,其中不乏业余爱好者、学生或教育工作者。这使其成为学习和试验定制芯片设计的绝佳平台。

设计流程

为Tiny Tapeout创建设计需要经过以下步骤:

1. 根据提供的模板创建GitHub存储库

2. 使用Verilog HDL或Wokwi可视化编辑器开发设计

3. 记录设计

4. 通过自动测试系统提交设计

5. 如果所有测试都通过,则提交到下一个可用班车

让我们更详细地研究一下这些步骤。

1.创建您的资源库

首先访问[Tiny Tapeout网站](https://tinytapeout.com),点击链接,根据模板创建新的资源库。这将为您设计所需的基本结构和工具。

2.开发您的设计

您有两种主要选择来创建您的设计:

  • Verilog HDL:如果您熟悉硬件描述语言,可以直接用Verilog编写设计。模板库中包含示例和文档,可帮助您快速入门。
  • Wokwi可视化编辑器:对于硬件设计新手,Wokwi提供了一个图形化原理图编辑器,您可以使用逻辑门和其他基本组件绘制电路。Tiny Tapeout网站包含Wokwi使用文。

您的设计将拥有一定数量的输入和输出引脚以及时钟信号。可用引脚的确切数量取决于具体的 Tiny Tapeout 运行,但通常在 8-24 个引脚之间。

3. 设计文档

良好的文档对于他人理解并可能基于您的工作很重要。模板库中包含一个自述文件,您应在其中描述您的设计功能、输入、输出以及任何其他相关细节。

4.自动测试

Tiny Tapeout的主要功能之一是其自动测试系统。当您将更改推送到GitHub库时,将触发一系列检查:

  • GDS生成:此步骤使用OpenLane工具将您的设计转换为用于芯片制造的GDSII格式。还会生成设计的有用可视化。
图2:自动系统生成的Tiny Tapeout设计的3D渲染
  • 验证:此步骤运行您包含的任何测试平台,以验证您的设计功能。
  • 文档:检查您是否包含所需的文档。
  • 预检查:运行设计规则检查,确保您的设计能够正确集成到多项目芯片中。

5. 提交给shuttle

一旦您的设计通过了所有自动检查,您就可以通过网站将其提交给下一个可用的Tiny Tapeout shuttle。穿梭通常每季度运行一次,当您的设计被接受时,您会收到通知。

硬件架构

随着时间的推移,Tiny Tapeout项目不断改进其硬件架构,以提高性能和功能。让我们来看看这一过程是如何发展的:

Tiny Tapeout 1-3:扫描链

最初的Tiny Tapeout运行使用扫描链架构。该架构将所有设计连接成一个长链,数据依次在每个设计中传输。虽然这种方法相对容易实现,但在速度和延迟方面存在局限性。

图3:早期Tiny Tapeout运行中使用的扫描链架构简化图

Tiny Tapeout 4+:多路复用器

从Tiny Tapeout 4开始,架构更新为使用基于多路复用器的方法。这允许在设计和更高的I/O带宽之间进行更快的切换。

图4:Tiny Tapeout 4中引入的多路复用器架构简化图

多路复用器架构具有以下优点:

  • I/O速度提升(最高可达50 MHz)
  • 每个设计可用的引脚更多(最多可达24个I/O引脚)
  • 支持更大规模的设计(最多可达8x2块)

未来发展

Tiny Tapeout仍在不断改进。未来运行计划包括:

  • 支持模拟和混合信号
  • 增加I/O引脚
  • 增加设计区域

测试您的设计

制造完成后,您将收到一块包含您设计的芯片(以及该穿梭器中的所有其他芯片),该芯片安装在小型载板上。该载板插入更大的演示板上,后者提供电源、时钟并方便访问I/O引脚。

图5:Tiny Tapeout演示板

演示板包括:

  • USB-C电源连接
  • 用于内核和I/O电源的稳压器
  • 20 MHz振荡器
  • 用于复位和单步时钟的按钮
  • 用于输入的DIP开关
  • 用于输出的七段LED显示屏
  • 用于所有I/O的接头,包括PMOD扩展端口

最新版本的演示板还包括一个Raspberry Pi RP2040微控制器。这允许对设计进行更高级的控制和测试,包括编写简单的Python脚本与您的芯片进行交互的能力。

图6:用于测试Tiny Tapeout设计的MicroPython脚本示例

示例项目

Tiny Tapeout社区已经制作了各种有趣的项目。以下几个示例可以激发您的设计灵感:

  1. 串行FPGA:一个可动态重新配置的5输入查找表(LUT),展示了类似FPGA的功能。
  2. 可综合的数字温度传感器:这种巧妙的设计以非常规的方式使用标准单元来创建温度敏感电路。
  3. 标准单元展示:包含 PDK 中可用的大部分标准单元的设计,便于测试和特性分析。
  4. FM 发射器:接收音频输入并对其进行调制,以创建 FM 无线电信号。
  5. USB 全速设备:USB 1.1 全速协议的硬件实现。
  6. RISC-V CPU:RV32IMA RISC-V处理器,能够启动Linux。

这些例子展示了Tiny Tapeout带来的广泛可能性,从简单的逻辑电路到复杂的数字系统。

结论

Tiny Tapeout在定制芯片设计平民化方面迈出了重要一步。通过降低技术和资金门槛,为更广泛的受众打开了ASIC设计的大门。无论您是想学习硬件设计的学生、有独特想法的业余爱好者,还是想把前沿技术引入课堂的教育工作者,Tiny Tapeout都能为您提供一条制作真实物理芯片的便捷途径。

该项目仍在不断发展,未来计划提供模拟支持、增加设计规模以及更多I/O选项。随着社区的发展,可供学习的集体知识和可用设计范围也在不断扩大。

要开始自己的Tiny Tapeout设计,请访问[Tiny Tapeout网站](https://tinytapeout.com),获取最新信息、并加入即将到来的班车。祝您设计愉快!

参考资料

  1. 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.

(更多技术文章或申请软件试用,请关注我们的微信公众号:逍遥设计自动化)


http://www.mrgr.cn/news/70732.html

相关文章:

  • FP独立站引流革命:GG斗篷技术解锁流量新策略
  • 【系统设计】理解带宽延迟积(BDP)、吞吐量、延时(RTT)与TCP发送窗口的关系:优化网络性能的关键
  • 软件开发公司怎么做到源代码防泄密,源代码防泄漏的十种解决方案
  • Android OpenGL ES详解——纹理:纹理过滤GL_NEAREST和GL_LINEAR的区别
  • JMeter进阶篇
  • 人工智能、机器学习与深度学习:层层递进的技术解读
  • 【C】一文速学----线程池原理与实战
  • 【计算机网络】网络框架
  • C0028.在Clion中快速生成头文件中声明的函数的方法
  • 车载诊断架构---域控下挂节点信息同步策略
  • 基于51单片机密码锁—有3个密码lcd1602显示
  • 【项目开发】RESTful架构及RESTful API设计指南
  • dapp获取钱包地址,及签名
  • js.零钱兑换
  • python:用 sklearn 转换器处理数据
  • 【C++ 篇】类之华章:超越固有模式,品味面向对象的璀璨光芒
  • OSG开发笔记(三十一):OSG中LOD层次细节模型介绍和使用
  • MySQL数据库的备份与还原
  • 大模型论文精华—20241111
  • 贪心算法day05(k次取反后最大数组和 田径赛马)
  • 3.keeplived配置文件
  • VideoChat:开源的数字人实时对话系统,支持自定义数字人的形象和音色
  • 二维差分矩阵 模板题
  • 李佳琦回到巅峰背后,双11成直播电商分水岭
  • 链式结构二叉树
  • 【QT常用技术讲解】任务栏图标+socket网络服务+开机自启动