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.xdnf.cn/news/12023.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【JAVA基础】MAVEN的安装及idea的引用说明

本篇文章主要讲解,maven的安装及集成在idea中进行构建项目的详细操作教程。 日期:2024年11月11日 作者:任聪聪 所需材料: 1、idea 2024版本及以上 2、maven 3.9.9安装包 3、一个空java springBoot项目,可以使用阿里云…

【西门子官方车轨级S7-1500F安全PLC标准 SICAR架构应用实例】

SICAR架构概述 SICAR架构硬件 SICAR核心功能块 SICAR工艺功能块 SICAR诊断和生产信息 SICAR 初始化FC 各个 OpMode 的特殊功能模式,只能由其所授权的 HMI 或者 Panel 在对应的操作模式下 来激活(未选择任何 OpMode 时,则对所有 OpMode 选择该…

Cynet:全方位一体化安全防护工具

前言 1999年,布鲁斯施奈尔曾说过:“复杂性是安全最大的敌人。”彼时还是19年前,而现在,网络安全已然变得更加繁杂。 近日我在网上冲浪过程中发现了这么一个平台性质的软件,看似具有相当强的防护能力。 根据Cynet的描…

.普通铜导线、漆包线、普通电线能代替绕线电阻材料吗

5.普通铜导线、漆包线、普通电线能代替绕线电阻材料吗 不能, 电阻温度系数和电阻率不一样 纯金属的电阻温度系数都非常大,只有几款电阻合金温度系数比较小,且电阻率大,适合作绕线电阻。 线绕电阻大多是用精密锰铜漆包线。电阻温…

李佳琦回到巅峰背后,双11成直播电商分水岭

时间倏忽而过,又一年的双11即将宣告结束。 从双11正式开始前的《新所有女生的offer》,到被作为“比价”标杆被其他平台直播间蹭、被与其他渠道品牌比较,再到直播间运营一时手快多发了红包……整个双11周期下来,李佳琦直播间在刷新…

“牛市筹码峰”,筹码密集的地方就是买点或卖点 源码(手机+电脑)

使用技巧 “牛市筹码峰”无需下载专业的财务数据,通过计算当前流通股本和成本分布,提供对筹码密集区域的分析。它采用未来函数的方式,不影响使用,且兼容手机和电脑平台。 在股市中,筹码密集的地方会形成所谓的“筹码峰…

【AIGC】2017-NIPS-神经离散表征学习

2017-NIPS-Neural Discrete Representation Learning 神经离散表征学习摘要1. 引言2. 相关工作3. VQ-VAE3.1 离散隐变量3.2 学习3.3 先验 4 实验4.1 与连续变量的比较4.2 图像4.3 音频4.4 视频 5 结论参考文献 神经离散表征学习 作者:Aaron van den Oord, Oriol Vin…

每日OJ题_牛客_JZ38字符串的排列_DFS_C++_Java

目录 牛客_JZ38字符串的排列_DFS 题目解析 C代码 Java代码 牛客_JZ38字符串的排列_DFS 字符串的排列_牛客题霸_牛客网 描述: 输入一个长度为 n 字符串,打印出该字符串中字符的所有排列,你可以以任意顺序返回这个字符串数组。 例如输入…

企业知识库管理系统的创新模式及其智能化转型

在知识经济时代,企业知识库管理系统已成为企业知识管理、共享和创新的核心工具。本文将探讨企业知识库管理系统的创新模式及其智能化转型,分析其在提升企业核心竞争力中的作用。 一、知识库管理系统的创新模式 从存储到共享:传统的信息管理模…

办公新装备,好用还不贵

电脑采购预算低低低低……经费不足怎么办?买移动云笔电 线上开会时间长长长长……电量告急怎么办?用#移动云笔电 电脑运维时间久久久久……分身乏术怎么办?换#移动云笔电

嵌入式学习-网络高级-Day03

嵌入式学习-网络高级-Day03 基于webserver的工业数据采集 HTTP协议 http简介 http特点 http协议格式 客户端请求数据格式 请求行: 请求头部 空行: 请求体 服务器响应数据格式 webserver源码分析 postman的使用 整体流程分析 任务 html html简介 html标签…

补: 力扣145 : 二叉树的后序遍历

天才的回归 ---- 二叉树的后序遍历 描述: **给你一棵二叉树的根节点 root ,返回其节点值的 后序遍历 ** 示例: 解法:递归就不说了,看下遍历法,与先序和中序略有不同 简单来说注意两个点: 1&…

刷题强训(day05) -- 游游的you、腐烂的苹果、孩子们的游戏(圆圈中最后剩下的数)

目录 1、游游的you 1.1 题目 1.2 思路 1.3 代码实现 2、腐烂的苹果 2.1 题目 2.2 思路 2.3 代码实现 3、孩子们的游戏(圆圈中最后剩下的数) 3.1 题目 3.2 思路 3.3 代码实现 3.3.1 环形链表 ​编辑3.3.2 动态规划 ​编辑 1、游游的you 1.1 题目 1.2 思路 根据题…

数据库sql初识以及-增删改查

查看已有数据库show databases; 创建数据库:create database数据库名字 DEFAULT CHARSET utf8 COLLATE utf8_general_ci; 删除数据库drop database 名字 进入数据库:use 数据库; 查看文件夹中所有数据表:show tables; 创建表: create t…

Java:一段代码,无限可能

Java,诞生于1995年,如今已走过近三十载春秋。它历经互联网泡沫的兴衰、移动互联网的浪潮,以及云计算和大数据的洗礼,依然屹立在编程语言的舞台中央,散发着耀眼的光芒。这篇文章将带你回顾Java的辉煌历史,探…

vue中:class语法的{}[]两种用法及其使用场景例子

语法 :class"对象/数组" ① 传对象 →键就是类名&#xff0c;值是布尔值。如果值为 true&#xff0c;则当前元素含有这个类实现这个类的样式&#xff0c;否则没有这个类&#xff0c;不去实现 <div class"box":class"{ 类名1:布尔值&#xf…

【SpringBoot】黑马大事件笔记-day3

目录 文章管理部分 自定义注解校验 注解的概念 元注解 规定约束的注解 分页查询 OSS文件上传 获取AccessKey 上期回顾&#xff1a; 【SpringBoot】 黑马大事件笔记-day1 【SpringBoot】 黑马大事件笔记-day2 文章管理部分 自定义注解校验 先来看一下接口文档了解需求&#xff…

webpack loader全解析,从入门到精通(10)

webpack 的核心功能是分析出各种模块的依赖关系&#xff0c;然后形成资源列表&#xff0c;最终打包生成到指定的文件中。更多复杂的功能需要借助 webpack loaders 和 plugins 来完成。 1. 什么是 Loader Loader 本质上是一个函数&#xff0c;它的作用是将某个源码字符串转换成…

基于Vue的电子商城后台管理系统

摘 要 随着数字化时代的到来&#xff0c;人们对软件市场的需求不断加大&#xff0c;可视化管理系统代替人工管理的趋势持续上升&#xff0c;尤其电子商城类项目&#xff0c;针对后台管理的多样化需求尤为迫切。所以&#xff0c;为满足市场与日俱增的需求&#xff0c;开发电子…

Mysql数据类型面试题15连问

整数类型的 UNSIGNED 属性有什么用&#xff1f; MySQL 中的整数类型可以使用可选的 UNSIGNED 属性来表示不允许负值的无符号整数。使用 UNSIGNED 属性可以将正整数的上限提高一倍&#xff0c;因为它不需要存储负数值。 例如&#xff0c; TINYINT UNSIGNED 类型的取值范围是 0 ~…