当今数字芯片技术飞速发展,数字半导体芯片已经渗透到社会生活的各个领域,从消费电子产品、工业自动化设备到航天技术都能看到半导体芯片技术的身影。国家在芯片技术上的投入和重视程度也提升到战略层面,芯片设计制造正在成为新一代的国之重器。
01 EDA是什么?
EDA 是芯片之母,是芯片产业皇冠上的明珠,是集成电路设计最上游、最高端的产业。EDA(Electronic Design Automation)是电子设计自动化的简称,EDA的发展经历了CAD、CAE等阶段,随着集成电路技术发展,EDA 越来越被业界予以“芯片设计软件工具”的代名词。2018 年全球集成电路产值近 5 千亿美金,中国集成电路进口金额超 3 千亿美金,EDA 是集成电路产业产能性能源头,从仿真、综合到版图,从前端到后端,从模拟到数字再到混合设计,以及后面的工艺制造等,EDA 软件工具涵盖了 IC 设计、布线、验证和仿真等所有方面,是集成电路产业的“摇篮”。
利用EDA工具,工程师将芯片的电路设计、性能分析、设计出IC版图的整个过程交由计算机自动处理完成。在没有EDA工具之前,设计电路要依靠手工,但对于大规模集成电路有上亿晶体管的设计用手工简直是不可能的。可以说有了EDA工具,才有了超大规模集成电路设计的可能。
硬件描述语言(HDL-Hardware Description Language)是一种用于设计硬件电子系统的计算机高级语言,就是用软件编程的方式来描述复杂电子系统的逻辑功能、电路结构和连接形式。硬件描述语言是EDA技术的重要组成部分,是EDA设计开发中很重要的软件工具。
目前国内外的EDA软件主要供应商包括Synopsys、Cadencen、Mentor Graphics、华大九天、芯愿景、芯禾科技等,EDA应用涵盖了通用、专用芯片的设计制造等场景。
02 EDA工作流程和IO特点
EDA典型的工作流程包括了以下几个阶段:
—前端设计阶段(逻辑设计)
- 设计规范
- 功能验证
- 合成
- 逻辑验证
—后端设计阶段(物理设计)
- 布局和布线
- 静态时序分析
- 物理验证
—生产制造
- 流片
这些阶段相互作用以形成EDA的数字设计流程:
在前端设计阶段,工程师通过将VHDL等源文件编译为芯片模型来完成芯片设计,然后通过在大型计算集群中分发任务来验证芯片设计。调度程序将仿真和模拟任务分发到不同的计算节点上,这些计算节点通过共享文件系统来访问后端的芯片模型。在整个前端设计过程中,工程师需要不断改进设计,整个过程需要多次迭代,因此,前端设计阶段会生成大量仿真工作。创建、调度和执行build和仿真作业的效率,决定了将芯片推向市场所需的时间。
当大量作业并行运行时,会产生大量IO负载,EDA应用程序需要读取并编译数百万个小的源文件,用以构建和模拟芯片设计。后端的共享文件存储管理各种芯片设计目录和文件,以便不同的用户、脚本和应用程序可以访问数据。
在前端验证阶段,数据访问模式往往是随机的,并带有大量小文件。前端工作负载需要极高的并发性,从而满足大量作业并行访问的需要,这些作业将生成大量随机访问的IO。此外,由于伴随着大量小文件访问,这个阶段对元数据访问性能是极大的考验。
从一些公开的数据上看,半导体芯片设计过程中,对元数据调用(包括GETATTR,ACCESS和LOOKUP)占所有调用的85%以上,而“读取”和“写入”不到15%。对于传统NAS阵列或单MDS的分布式文件存储架构而言,将会面临较大的挑战。
在后端设计和验证阶段,数据访问模式将主要以顺序访问为主。后端设计阶段的工作负载往往由较少数量的任务组成,这些任务具有顺序的IO访问特点,并且运行时间较长。在后端设计阶段的工作任务,主要考验后端文件系统的并行访问带宽。
结合前端设计和后端设计两个阶段的IO访问特点来看,EDA芯片设计和仿真过程中,对元数据和数据,小文件IOPS及大文件顺序访问带宽,都有极高的要求。这一过程与大型的程序(如Linux内核)并行编译过程中产生的IO特点相似。
芯片设计阶段涉及的所有作业的输出都可能产生TB级的数据。尽管有些数据是临时性(如时序仿真等)的,但这些数据仍然需要最高级别的存储性能,才能对芯片设计整个流程进行保障。
半导体行业巨头Intel发布的一份报告显示,在过去10年,Intel用于半导体设计和制造的内部基础设施投入中,计算和存储的CAGR达到30%以上,并且没有减少任何IDC站点。
尽管英特尔在EDA场景中可能独占鳌头,但我们从行业数据中可以看到,绝大多数的半导体设计企业对基础设施的投入年增长率都超过20%。
03 如何满足EDA场景的存储需求
文件存储主导
在存储系统中,EDA工作流都是将大量的数据通过文件系统进行共享和访问,并且在系统中生成深层的目录结构,使得文件系统在EDA存储系统中占主导地位。
YRCloudFile高性能分布式文件存储,具备卓越的性能、灵活的水平扩展性、海量小文件存储能力等特性,可以满足EDA应用中大规模计算集群以文件方式并行访问数据的需求。
超高并发性能
大多数EDA工作流需要极高的并发性,YRCloudFile能够满足数千高性能Linux计算群集的并发要求,提供远高于标准NAS协议(NFS、SMB)的并发能力。
EDA工作负载中产生的大量元数据操作,可以通过YRCloudFile灵活扩展的元数据服务进行满足和匹配,解决了EDA负载对元数据性能的要求。
灵活弹性扩展
EDA工作负载在执行过程中,会产生TB级的数据或中间结果,YRCloudFile分布式文件系统采用分布式架构,将所有磁盘进行统一管理,提供统一命名空间,支持容量和性能的水平扩展,可按需实现快速扩容,满足EDA对大容量存储的需求。