浅谈Azure 上的芯片设计工作流

描述

  作者 王树桐

  微软客户工程师

  电子设计自动化(英语:Electronic design automation,缩写:EDA)是指利用计算机辅助设计(CAD)软件,来完成超大规模集成电路(VLSI)芯片的功能设计、综合、验证、物理设计(包括布局、布线、版图、设计规则检查等)等流程的设计方式。在传统芯片设计环境中,计算平台是核心职能之一,它依赖IT硬件底层的支撑,满足更高效、安全的大量EDA计算的需要。然而,随着应用需求的发展,以及设计复杂性的提升,这样的芯片设计环境的不足愈加凸出。具体包括:IT资源不足、数据安全担忧、机器负载不均衡、仿真速度慢、图形界面卡顿、项目环境不一致、运维工作量大、技术支持困难、服务器配置不一致以及协同困难 等等问题。这些问题往往会对芯片设计工作效率造成持续影响。

  从云计算的角度来看,Azure 作为 HPC 平台提供的安全性、可靠性和可伸缩性非常适合 EDA。此外,Azure 一直在不断发展。各种企业组织可以从众多的不断增长的云服务中进行选择,这些云服务使开发人员能够使用他们喜欢的工具和框架在庞大的全球网络上构建,管理和部署应用程序。

  对于考虑迁移到云的半导体公司,Azure 提供:

  高性能且可销售的基础架构,能够支持生产级芯片设计工作。

  将EDA工具迁移到Azure上的策略,帮助企业优化成本并且提高效率。

  丰富的合作伙伴生态系统,包括半导体公司、代工厂、工具供应商、SOT(外部半导体组装和测试)和系统集成商(实施顾问)。

  解决常见行业障碍的解决方案,例如产品差距、安全性和自身成本。

  01Azure 上的芯片设计工作流

  复杂芯片设计过程中的每个步骤(从前端设计的初始规范到后端设计的最终 GDSII 流片)都有一套专用的 EDA 工具。Azure 服务和开发者工具可以优化这些工作流中使用的设计和协作环境,使得团队拥有最佳产出。Azure 还提供了一些机制来帮助组织做出最佳性能和成本组合的工作流选择。

   前端(逻辑)设计

  使用软件进行仿真模拟,前端设计能够从规范式形式转向逻辑验证设计。与软件研发一样,此阶段是具有一些块级的仿真模拟和代码调试。此工作流受益于 Azure DevOps 工具和服务,这些工具和服务通过提高团队协作和敏捷实践来改进设计周期。

 

Azure

 

  图 1.前端设计阶段的步骤使用软件仿真

  当开发设计模块时,团队可以通过运行功能仿真来验证设计元素的正确性。RTL(寄存器传输级)仿真使设计人员能够确认设计在逻辑上将按预期运行。为了最大限度地减少仿真时间,这些不同的设计元素在数十到数千个系统中并行仿真,具体取决于设计的规模和可用资源。Azure 具有近乎无限的计算资源,可以通过允许更多作业并行运行来加速验证过程,从而缩短总周转时间。

 

Azure

 

  图 2.EDA 软件将逻辑设计映射到物理设计和代工流程

  许多后端工作有非常大的计算和内存需求。这些工作负载可以扩展到多核,并依靠高性能存储来访问庞大的数据集。对于许多产品团队,甚至是大公司的产品团队来说,维持如此大的内核数量和内存系统的可用性是一个非常大的挑战。即使系统位于数据中心,保持访问这几个系统的可行性来运行大型后端工作仍是一个挑战,这同时会限制这些工作负载的规模,从而延长周转时间。

  此类工作流非常适合在 Azure 上运行,可以在数小时内启动数千个内核以交付结果,而不是本地设置所需的几天

  02、适用于EDA工作的Azure 架构

  用于硅设计的 Azure 基础架构对计算和内存密集型应用程序进行了优化,用高性能文件系统和高效的作业调度来支持这些应用程序,来最大限度地提高 EDA 软件许可投资的吞吐量和性能。图 3 显示了 Azure 上 EDA 的高级体系结构,并介绍了计算、存储、网络和业务流程组件,这些组件将在本节中更详细地介绍。

 

Azure

 

  图 3. 此高级体系结构支持 Azure 上的 EDA 工作负荷

  此体系结构包括以下组件子:

  Azure compute。Azure 提供具有一系列内存与核心成比率的虚拟机类别,可满足不同的工作负载要求。

  Azure NetApp Files. 这种高性能的计量文件储存服务让用户迁移和运行基于文件的EDA工具更方便,不需要额外改变代码。在 Microsoft 的支持下,Azure NetApp Files 构建在 NetApp ONTAP 存储操作系统上,为 EDA 客户提供他们已经熟悉的界面和功能。

  Azure HPC Cache. HPC 缓存优化了 NFS 延迟和元数据和读取操作的吞吐量,以支持大型横向扩展 HPC 集群。 HPC 缓存支持单个文件每秒高达 20 GiB 的读取吞吐量,对元数据读取请求提供微秒级响应,并横向扩展需要数百万个文件和目录的工作负载,从而减少对高需求读取量的争抢和网络瓶颈。

  Azure Blob storage. 凭借巨大的容量和可扩展性,Blob 存储在热、冷或存档层中存储了数百到数十亿个对象,具体取决于数据访问的频率。 Azure Blob 存储提供了一种更具成本效益的方式来存储数十年的历史设计数据,同时保持对该数据的即时可访问性

  Azure CycleCloud. 这是一个免费工具,可以在 Azure 中创建、管理、操作和优化 HPC 集群。例如,您可以在 20 分钟内预置 50,000 个计算核心。

  网络。 Azure 虚拟网络架构基于软件定义网络 (SDN) 技术,为过度配置的网络资源提供高带宽和低延迟。建议使用 Azure ExpressRoute 线路,在 Azure 数据中心和本地基础结构之间建立快速连接。

  此外,Azure还支持流行的并行虚拟文件系统,例如 Lustre 和 BeeGFS,这些系统在Azure Marketplace中随时可用。

  03、迁移到Azure的步骤

  Azure 提供了一种系统化的方法来支持当今的云迁移,以及一个有助于未来创新的平台。一些世界上最大的半导体公司已经在Microsoft的帮助下使用 Azure,对其高要求的基础结构 EDA 工作流提供支持。这些公司可以随着需求动态地添加和删除资源,并只需为所需的部分付费 。Azure 还提供可靠的安全性,帮助保护其芯片知识产权。受信任的Azure 解决方案能让公司可以根据需求灵活地选择云模型 - 以高倍数、附加或专用资源突发到云,或者将整个工作迁移到 Azure 中。

    开始的六个步骤

  许多半导体 IT 组织都在犹豫迁移决策,而这些考虑既复杂又耗时。我们建议采用六步过程来开始使用 Azure:

  1 对软件和工作负载进行编目。

  2 对性能或工作负荷进行分类。

  3 定义在 Azure 中移动到工作流或启动工作流的成功条件。

  4 构建用于云集成的核心基础架构组件。

  5 获得开发所需的技能。

  6 开发云生产支持的模型,为改变而替换一些必要组件 和变更管理。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分