控制工程网首页  |  产品  |  在线研讨会  |  视频  |  空间  |  论坛  |  博客  

社区公告

物联网与自动化一脉相承,本社区从工业控制和自动化的角度解读物联网产业的发展,向您介绍最新动态、技术和应用。欢迎您加入社区第一时间得到社区更新。
您所在的位置:首页 > 产业动态
  • 数字芯片是怎样设计出来的?
  • 发布时间:2022-12-02 www.cechina.cn
  •   要制造出芯片,首先要完成芯片设计。本文将概要介绍数字芯片设计的十大流程,以及各大流程中使用的主流EDA软件。
           芯片在我们的生活和工作中无处不在。例如,交通智能卡就嵌入了一颗带有微处理器、储存单元、芯片操作系统的芯片;而手机的主板则集成了数百颗芯片,有的负责无线电收发、有的负责功率放大、还有的负责存储照片和文件、处理音频,完成指纹、虹膜、面部的识别。当然,手机中最重要,也是价格最昂贵的还属CPU,它是手机的控制中枢和逻辑计算的中心,通过运行存储器内的软件及数据库来操控手机。
           根据处理的信号类型不同,芯片可以分为数字芯片和模拟芯片。要制造出芯片,首先要完成芯片设计。本文将概要介绍数字芯片设计的十大流程,以及各大流程中使用的主流EDA软件。

        芯片设计可以分为前端设计(即逻辑设计)和后端设计(即物理设计)。前端设计包括以下四个步骤:
           (1)算法或硬件架构设计与分析
           在明确芯片的设计需求之后,系统架构师会把这些市场需求转换成芯片的规格指标,形成芯片的Spec,也就是芯片的规格说明书。这个说明书会详细描述芯片的功能、性能、尺寸、封装和应用等内容。
           系统架构师会根据芯片的特点将芯片内部的规格使用划分出来,规划每个部分的功能需求空间,确立不同单元间联结的方法,同时确定设计的整体方向。这个步骤对之后的设计起着至关重要的作用,区域划分不够的,无法完成该区域内的功能实现,会导致之前的工作全部推翻重来。设计出来的东西,必须能够制造出来,所以芯片设计需要与产业链后端晶圆的制造和封装测试环节紧密合作,工程师不但需要考虑工艺是否可以实现相应电路设计,同时需要整合产业链资源确保芯片产品的及时供给。这里的算法构建会用到编程语言(MATLAB,C++, C,System C, System Verilog等),对于不同类型的芯片,工程师们会有不同的偏好选择。
           (2)RTL code(Register Transfer Level,寄存器传输级)实现
           由于芯片的设计及其复杂,设计人员并不在晶体级进行设计,而是在更高的抽象层级进行设计。RTL实现就是根据第一步的架构设计结果,转化为Verilog HDL或VHDL语言,这两种语言是世界上最流行的两种硬件描述语言,以文本形式来描述数字系统硬件的结构和行为的硬件编程语言,可以用于表示逻辑电路图、表达式等逻辑输出。所以,可以理解为上一步是统筹规划,第二步是具体去实现,设计工程师们通过敲一行行代码,去实现电路的功能。输出结果转化为Verilog HDL或VHDL语言。
           (3)编码检查与分析
           这一步就是检查代码有没有错误,保证代码不会出现什么歧义导致实现结果和设计目的不一致。一般来说,最常用的编码检查工具就是Synopsys的Spyglass,这个工具最主要检查的内容有两个,一个是Lint检查,一个是CDC (Clock Domain Crossing,跨时钟域)检查。Lint检察不仅可以检测出许多编译器编译过程中的错误,还可以关联很多文件进行错误的检查和代码分析;CDC检查则是对电路设计中同步电路设计的检查,在大型电子电路设计中,设计人员很难设计出整个大型的同步电路,而只能根据电路逻辑功能,划分为多个同步电路部分,由不同的时钟域控制。这些部分可能存在重叠,这会导致重叠部分的触发器状态变化不能在统一的时钟作用下完成,从而导致电路出现亚稳态。电路出现亚稳态会让组合逻辑电路输入状态不可顶知,甚至产生突然的跳变,因此需要进行CDC检查。
           (4)功能验证
           这一步是验证芯片设计与预定的设计需求是否相符的关键步骤,主要是验证电路设计逻辑功能的正确性,而非电路的物理特性(后面的步骤会讲到物理验证)。数字仿真器是数字集成电路逻辑功能验证的主要手段。随着超大规模集成电路的高速发展,高性能数字仿真器已经成为数字集成电路设计与验证中必备的一环。近年来数字仿真器技术发展很快,当今主流数字仿真软件可以支持数十亿晶体管规模的超大规模集成电路的逻辑功能进行高效精确的仿真验证。为了保证芯片的稳定性,这个阶段的过程时间会持续数月。EDA工程师常用的EDA工具是Mentor(西门子EDA)的Modelsim、Synopsys的VCS和Candence 的NC-Verilog。
        (5)逻辑综合(Synthesis)
           从这一步开始,就进入芯片设计的后端设计(物理设计)阶段了。主要负责将RTL code转换为实际后端使用的Netlist(网表,包含了RTL中所有的逻辑信息,以及离散傅立叶变换、门控时钟和I/O等)。网表的质量对芯片的布局布线工作起到决定性作用。该过程需要考虑工艺的电特性和物理特性等因素,要尽可能做到Performance(性能)、Power(功耗)和Area(面积)的PPA优化。Synthesis的质量在一定程度上取决于综合软件的性能,业界流行的两个逻辑综合工具是Synopsys的Design Compiler和Cadence的Genus,综合工程师的一个基本要求便是熟练的掌握两个工具的使用方法。
           (6)布局布线(PD)
           布局布线是数字后端中占比最大的工作,主要就是把网表转化成GDSII流格式(这是一种用于集成电路版图的数据转换的标准数据文件库格式,其中含有集成电路版图中的平面的几何形状、文本或标签等有关信息,由层次结构组成),确定各种功能电路的摆放位置。PD的步骤包括Floorplan(布局规划)、Place(功能电路的摆放)、CTS(时钟综合)、Optimize(优化)、Route(布线)和ECO(工程变更)等,确保各个模块满足时序和物理制造的要求。这个步骤是后端设计中最核心的工作。布局布线对工具的依赖程度较强,而且工具操作相对来说较为复杂。业界较为常用的是Cadence的Innovus和Synopsys的ICC。 
      Leplace图形界面
           (7)静态时序分析(STA)
           STA(Static Timing Analysis,静态时序分析)是芯片后端设计中的重要步骤。芯片上有海量的极其微小的金属元器件,这些元器件的大小不一,通过引线流过这些元器件的延时会有不同,由于元器件过于微小,芯片的布局布线肯定会受到这些不同大小元器件和之间引线的各种限制,而静态时序分析则是模拟各种元器件间的互联和各种不同状况的仿真,找出存在的各种问题。静态分析需要保证芯片设计中所有的路径,满足内部时序单元对建立时间和保持时间的设计要求。也就是说无论信号的起点是什么,信号都可以被及时地传递到该路径的终点。同时,也要满足电平跳变时间、电容、噪声、等要求。STA需要制定整个芯片的时序约束约束文件,选择芯片需要Signoff(签发)的Corner(工作范围)以及全芯片的Timing(时序) ECO流程,这个步骤的难度要求很高。STA阶段应用较广的是Synopsys的Primetime和Cadence的Tempus软件。值得一提的是国内鸿芯微纳的ChimeTime,它是一种静态时序签核工具,提供了SPICE仿真精度的签核结果。
           (8)物理验证
           物理验证也是流片(即试生产)前的一项重要事项。如果物理验证有错,那芯片生产就会失败。在布局布线工具中,真正的物理验证需要检查到器件底层。因此,物理验证需要将金属层和底层金属合并到一起,进行全芯片的DRC(设计规则检查)。同时,还需要做全芯片的LVS(版图与原理图一致性检查),ERC(电气规则检查),确保芯片没有违反任何物理设计规则。物理验证的主要工具在Mentor(西门子EDA)的Calibre中进行,Calibre也是业界标准的物理验证工具。
           (9)功耗分析(PA)
           功耗分析也是芯片签发的重要步骤,功耗分析的两大任务是分析IR drop(电压降)和EM(电迁移)。及时将结果反馈给布局布线任务组,让他们及时修改后端设计图,解决设计中潜在的问题。功耗分析常用的软件有Ansys公司的Redhawk,以及Cadence公司的Voltus和Synopsys公司的Ptpx。
           (10)时序仿真
           该步骤是对芯片实际工作时的状态进行仿真,即后仿真,来验证功能是否正常。时序仿真使用布局布线后器件给出的模块和连线的延时信息,在最坏的情况下对电路的行为进行实际评估。时序仿真使用的仿真器和上述第四步的功能仿真使用的仿真器是相同的,区别在于功能仿真是在布线前进行,仅仅关注输出和输入的逻辑关系是否正确,不考虑时间延时信息;而时序仿真是在布线后进行,不仅关注输出和输入的逻辑关系是否正确,同时还计算了时间延时信息。
           总结下来,数字芯片的前端设计是逻辑设计,用逻辑电路实现其预期的功能。后端部分则是对前端设计的物理实现。芯片设计完成后,Fabless(芯片设计)公司一般会将设计结果以GDSII格式记录的电路版图数据交给Foundry(芯片代工厂)进行Tape-out(流片)了,也就是试生产。
           为什么会叫Tape-out呢?因为在上世纪七八十年代,芯片的设计数据都是写到磁带或者胶片里传给工厂,设计团队将数据写入磁带叫Tape in,工厂读取磁带的数据叫Tape out,虽然随着科技的发展,自动化集成电路版图工具软件早已代替了磁带,但是这个叫法一直沿用下来了。当Tape out完成后,芯片就可以正式开始生产了。
           由于芯片的流片花费巨大,因此芯片的可靠性和可制造性,需要尽可能在设计阶段就能确保。主流EDA软件的验证和仿真功能十分完善,可以通过在各个阶段不断地进行验证仿真,减少在流片中的错误,降低流片的成本,确保芯片的可靠性。
           芯片设计非常专业,每一个设计阶段涉及到的各种软件种类繁多,虽然全球EDA软件市场只有数百亿美元的规模,但是它撬动的是万亿美元级的集成电路市场,因此,EDA软件产业具有重要的战略意义。
           当前,我国高速重视发展工业软件,国产EDA软件迎来了发展的春天,我国的EDA市场正在全面发力,涌现出华大九天、概伦电子、广立微、九同方、上海立芯、芯华章、芯愿景和鸿芯微纳等知名品牌。虽然EDA领域的“卡脖子”问题对我国高端芯片的设计与制造产生了较大影响,但同时也为国产EDA软件厂商带来更大的市场机会。通过更多芯片设计、制造和封装测试企业在实践中的应用,不断为国产EDA软件反馈应用需求和软件改进需求,将迅速提升我国EDA软件的技术水平。

物联网专家

>> 更多
  • 倪光南
    中国工程院院士,科学院计算所研究员,中国中文信息学会理事长
  • 姚建铨
    中国科学院院士,指出中国物联网还处在初级阶段水平较低
  • 邬贺铨

    中国工程院院士,光纤传送网与宽带信息网权威专家

  • 王志良
    北京科技大学物联网系主任,北京市物联网首席科学家