公众号记得加星标,第一时间看推送不会错过。
FOSSi 基金会推出了用于开源芯片设计的 OpenLane EDA 工具流的后续产品。
LibreLane 是对 OpenLane 的彻底重新设计,其兼容流程可以自由创建、定制和分发。它使用基于 Python 的基础架构来实现高度可定制且可重复的 ASIC 流程。
默认的 Classic 流程几乎完美地复制了 OpenLane,甚至支持完全相同的配置文件,而且还允许人们编写完全自定义的高级数据流,从而实现无与伦比的灵活性。
OpenLane 由现已解散的 eFabless 公司发布,它整合了 Yosys、OpenROAD、Magic 和 KLayout 等现有项目,创建了一个仅需一个文件即可配置的 RTL-to-GDSII 流程。它与 SkyWater 130nm 硅工艺和 Pragmatic Semi 塑料工艺配合使用。
“回到 Efabless,早在 2022 年,我的同事Kareem Farid、 Mohamed Shalan和我就开始了一个重写 OpenLane 的项目,我们简单地将其命名为 OpenLane 2,”开发人员 Mohamed Donn Gaber 说。
OpenLane 2是对 OpenLane 的彻底重写,目标是继续支持 OpenLane 配置文件,但提供比 OpenLane 以往更高的灵活性和一致性。OpenLane 2 于 2024 年 2 月在 Efabless 进行了软启动,但我们耐心等待,直到收到具有严格时序要求的硅片,以验证 STA 结果的质量,直到我们正式向当时的客户推荐新流程。大约一年后,我们进行了相关的测试,但由于资金困难,Efabless 几天后就关闭了。
此后,他加入了自由开源硅基金会来维护该工具。
“我们设计 LibreLane 时秉持三个目标,”他说道。“首要且最重要的原则是保留 OpenLane 的易用性:与 OpenLane 类似,LibreLane 允许使用一个 Tcl、JSON 或 YAML 文件完全配置流程,从而实现从 RTL 到 GDSII 的转换。 LibreLane 与 OpenLane 的不同之处在于,我们希望提供一个文档齐全的 API,方便用户创建自己的流程。”
LibreLane 的核心理念是明确地表示设计的当前状态。它将设计状态定义为一个简单的对象,该对象存储了表示设计的各种文件的路径:网表、设计交换格式 文件、JSON 网表等,以及一系列指标。例如,design__die__area 指标返回设计的面积(以平方微米为单位)。这些对象是不可变的,这意味着它们无法修改,只能复制,并且可以完全序列化为 JSON 以便于追溯,因此它们可以在流程中的多个点保存,以显示流程的进展情况。
对于 EDA 任务来说,步骤本质上是接收一个状态并输出另一个状态的函数。例如,布局规划步骤接收一个包含网表的状态,并使用 DEF 文件创建一个新的状态。布线步骤接收一个包含 DEF 文件的状态,并使用新的 DEF 文件创建一个新的状态。
Donn Gaber 表示:“通过对 EDA 任务进行这样的建模,我们能够使步骤高度可重复,因为没有全局数据库发生变异,但它还允许流程通过在多个线程上运行多个步骤来尝试并行探索多种配置。”
流程是步骤的集合。它们可以是简单的、串行的 SequentialFlows,一步一步地运行,也可以是完全自定义的函数,用于执行类似于前面提到的并行探索的操作。流程提供了更简单的配置,并且能够更轻松地从命令行控制执行,而这在逐步运行时较为困难。
最后,Config 模块负责将步骤的所有各种输入配置变量公开给用户,允许他们使用 Tcl、JSON 或 YAML 文件以及 Python 字典来配置流程。Configuration 模块还负责处理验证和类型检查,这曾是 OpenLane 的一个痛点:如果输入变量恰好无效,流程就会在未确定的位置崩溃。与 States 一样,Config 也是不可变的,事后无法修改,但流程可能会创建派生配置,为不同的步骤提供略有不同的配置。
该工具的一个优点是它允许集成其他工具。eFabless 的设计人员将该流程与 Synopsys Design Compiler 和 PrimeTime 工具结合使用,并采用自定义步骤,从芯片设计中榨取了略微更高的性能。
Tiny Tapeout 还使用基于 LibreLane 的定制流程来实现 Tiny Tapeout 3.5 的顶层多路复用器,并将其作为每个后续数字 Tiny Tapeout 项目的 ASIC 实现后端。LibreLane 已应用于包括Greyhound和Piel在内的学术项目。重要的是,ChipFoundry 已同意从其 ChipCreate CC2509 交换平台开始采用 LibreLane 作为其主要流程,从而延续 OpenLane 在推动开源 EDA 技术商业化方面的传统。
LibreLane 2.4.0 是分叉并重命名后的第一个版本,适用于 macOS 和 Linux。入门指南将向您展示如何安装所有必需的依赖项。
今天是《半导体行业观察》为您分享的第4139期内容,欢迎关注。
加星标第一时间看推送,小号防走丢
求推荐
声明:本网转发此文章,旨在为读者提供更多信息资讯,所涉内容不构成投资、消费建议。文章事实如有疑问,请与有关方核实,文章观点非本网观点,仅供读者参考。