讨论:OpenROAD项目旨在解决处理器设计的自动化问题

讨论:OpenROAD项目旨在解决处理器设计的自动化问题
Фото— Pexels — 抄送

数据 PWC 表示,半导体技术市场正在增长——去年达到 481 亿美元。 但最近它的增长率 下降。 下降的原因包括设备设计流程混乱和缺乏自动化。

几年前,英特尔的工程师 писали在创建高性能微处理器时,您必须使用 100-150 个独立的软件工具(EDA)。 在异构设备的情况下,这种情况可能会更加严重,其架构包括几种不同类型的芯片 - ASIC、FPGA、CPU 或 GPU。 因此,会出现设计错误,从而延迟产品的发布。

尽管有大量的辅助工具,工程师仍然被迫手动完成一些工作。 该书的作者“高级逻辑综合“他们说有时设计师 帐户 使用 Skill 或 Python 编写 XNUMX 万行脚本来创建库 细胞.

还编写脚本来解析 EDA 系统生成的报告。 当开发使用 22nm 工艺技术的芯片时,这些报告可能会占用多达 30 TB 的空间。

DARPA 决定纠正这种情况并尝试标准化设计流程。 也在代理处 考虑现有的芯片制造方法已经过时。 组织 запустила 五年计划 开放道路,旨在开发新工具来自动化芯片设计流程。

什么样的节目

该计划涉及多个项目,这些项目使用机器学习和云技术来自动化芯片创建的各个阶段。 作为该倡议的一部分 正在发展中 (图1)十余种仪器。 接下来我们将更详细地讨论其中的一些:Flow Runner、RePlAce、TritonCTS、OpenSTA。

流道 是管理 RTL 和 GDSII 库的工具。 后者是数据库文件,是交换集成电路及其拓扑信息的行业标准。 该解决方案基于Docker容器技术。 您可以在云端和本地运行 Flow Runner。 安装指南位于官方存储库中 在GitHub上.

代替 是一种基于机器学习的云解决方案,负责将组件放置在芯片上并自动布线。 经过 一些数据与经典系统相比,智能算法使工具的效率提高了 2-10%。 此外,在云中实施使扩展变得更加容易。 还提供安装和配置指南 在存储库中.

海卫一CTS — 用于优化提供给芯片的时钟脉冲的实用程序。 帮助以相同的延迟将时钟信号路由到设备的所有部分。 工作原理基于 H树。 这种方法 增加 与传统方法相比,信号分配效率提高30%。 开发商表示,未来这个数字可以增加到56%。 TritonCTS 源代码和脚本可用 在GitHub上.

OpenSTA — 用于静态时序分析的引擎。 它使设计人员有机会在实际组装之前检查芯片的功能。 OpenSTA 中的示例代码 看起来像 像这样

@@ -6,7 +6,7 @@ read_liberty -corner ff example1_fast.lib
read_verilog example1.v
link_design top
set_timing_derate -early 0.9
set_timing_derate -early 1.1
set_timing_derate -late 1.1
create_clock -name clk -period 10 {clk1 clk2 clk3}
set_input_delay -clock clk 0 {in1 in2}
# report all corners

该实用程序支持 Verilog 代码、Liberty 格式库、SDC 文件等的网表描述。

优点和缺点

来自IBM和IEEE的专家 标记云技术和机器学习早就应该在芯片生产中使用。 他们认为,DARPA项目可以成为实施这一想法的成功范例, 会放 行业变革的开始。

预计 OpenROAD 的开放性将围绕这些工具创建一个强大的社区并吸引新的初创公司。

讨论:OpenROAD项目旨在解决处理器设计的自动化问题
Фото— Pexels — 抄送

已经有参与者——密歇根大学的一个芯片开发实验室, 将是第一个,谁将测试 OpenROAD 开源工具。 但目前尚不清楚新的解决方案是否能够对最终产品的成本产生显着影响。

总体而言,在 DARPA 领导下开发的工具预计将对处理器行业产生积极影响,并且更多新项目将开始在该领域出现。 一个例子是一个工具 吉达 — 它允许您设计具有无限数量组件的芯片。 gEDA 包括用于微电路和电路板布线编辑和建模的实用程序。 该解决方案是为 UNIX 平台开发的,但其许多组件也可以在 Windows 下运行。 可以找到与他们合作的指南 在项目网站的文档中.

免费提供的工具为独立组织和初创公司提供了更多选择。 随着时间的推移,OpenROAD 的 EDA 工具开发和芯片设计新方法可能会成为行业标准。

我们在公司博客中写的内容:

来源: habr.com

添加评论