第3章 ASIC设计流程

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

集成电路的设计过程: 集成电路的设计过程: 设计创意 + 仿真验证
功能要求 行为设计( 行为设计(VHDL) ) 行为仿真 是 综合、优化——网表 综合、优化——网表 时序仿真 是 布局布线——版图 版图 布局布线 后仿真 是 Sing off 否


—设计业 设计业— 设计业
集成电路芯片设计过程框架
• • • •
使用Primetime进行版图后的静态时序分析。 在 Design Compiler中进行设计优化(如需要)。 进行版图后带时间信息的门级仿真。 LVS和DRC验证,然后流片。
设计流程过程中, 设计流程过程中, 使用语言: 使用语言:VHDL/verilog HDL 各阶段典型软件介绍: 各阶段典型软件介绍: 输入工具: Summit Summit 公司 仿真工具: VCS, VSS Synopsys 公司 综合器:DesignCompile, BC Compile Synopsys 公司 布局布线工具: Dracula, Diva Cadence 公司 静态时序分析: Prime Time Synopsys 公司 测试: DFT Compile Synopsys 公司
2 顶层设计阶段
顶层设计是一个富有创造性的阶段,在这个 阶段,要定义产品的顶层架构。许多经典的工程 折中问题都需要在这个阶段做出决定。产品的开 销、设计的开销、产品上市时间、资源需求和风 险之间的对比也是顶层结构设计过程中的一部分。 这个阶段中的创造性思维对于产品的成功有着极 大的影响。创造性可以体现在产品的创意、顶层 架构设计创意和设计流程的创意等方面。这个阶 段的工作主要由少数具有结构设计和系统设计才 能的高级工程师参与。
ASIC项目的主要步骡包括: .预研阶段; .顶层设计阶段; .模块级设计阶段; .模块实现阶段; .子系统仿真阶段; .系统仿真,综合和版图设计前门级仿真阶段; .后端版面设计阶段; .测试向量准备阶段; .后端仿真阶段; .生产签字; .硅片测试阶段。
在实际的ASIC开发中,不可能像上述的那样能 够一帆风顺地从头至尾走完整个ASIC项目开发流程。 常常在某些阶段遇到困难,并且有的困难在本阶段是 不能解决的。所以下一个阶段往往会在遇到困难时向 上一个阶段产生反馈,比如在做模块级详细设计时发 现模块划分不合理,一个模块怎样设计都不能完成分 配给它的功能,或者是不能到达所要求的性能。这时 就要反馈到上级顶层设计,对系统模块重新进行划分 以解决问题。有时反馈还可能向更上一级发生。 总之,下图所示的流程是一个理想化的流程,在 实际开发中按照这一流程进行开发的同时,要灵活应 用反馈机制,不能认为一个步骤走过了,结果就固定 下来了,要解决问题只能在本阶段。
• 从全局布线后的版图中提取出估算的时间延时 信息。 • 将估算的时间延时信息反标注到Design Compiler 或者 Primetime。 • 在Primetime中进行静态时序分析。 • 在Design Compiler中进行设计优化。 • 设计的详细布线。 • 从详细布线设计中提取出实际时间延时信息。 • 将提取出的实际时间延时信息反标注到Design Compiler或者Primetime中。
流程: 流程:逻辑设计--子功能分解--详细时序框图--分块 逻辑仿真--电路设计(算法的行为级,RTL级描述)-功能仿真--综合(加时序约束和设计库)--电路网表-网表仿真。 输出: 输出: 功能设计(Function Design):将系统功能的实现方案 设计出来.通常是给出系统的时序图及各子模块之 间的数据流图。 逻辑设计(Logic Design):这一步是将系统功能结构 化.通常以文本(Verilog HDL 或VHDL),原理图,逻辑 图表示设计结果,有时也采用布尔表达式来表示设 计结果。 电路设计(Circuit Design):电路设计是将逻辑设计表 达式转换成电路实现。
该阶段的任务: .书写功能需求说明; .讨论几个顶层结构备选项; .分析这几ห้องสมุดไป่ตู้顶层结构选项——需要考虑技术灵活性 、资源需求及开发周期等; .完成顶层结构设计说明; .确定关键的模块(如果需要,这些模块可以尽早开始) .确定需要使用的第三方IP模块; .选择开发组成员; .确定新的工具; .确定开发路线/流程; .讨论风险; .预估硅片面积、输入输出引脚、开销和功耗等。
3 模块级详细设计阶段
在这个阶段,顶层结构将被合理划分成一些小 的模块。各个设计模块之间需要认真细致的合理划 分。确定功能,模块与模块之间的联系等。
ASIC的层次化结构最好用图示方式表示,如果绘图工具 使用合理,这些图可以直接用工具转成结构化的verilog或 VHDL代码。
本阶段的任务: .将顶层架构分解成更小的模块; .定义模块的功能和接口; .回顾上一阶段完成的初始项目开发计划和顶层结 构设计文档; .风险分析(如果需要,对已有的计划结构进行修改 以减少风险); .组织开发小组学习开发规范(代码编写风格,开发 环境的目录结构); .检查芯片设计规则(晶片温度,封装,引脚,芯片 供电等); .重新估计芯片的门数。
图:ASIC开发流程中各步骤
1 预研阶段
预研阶段是ASIC项目开发的最初始阶段,也是 开发部门和市场部门工作结合得最紧密的一个阶段。 预研阶段的工作就是要分析产品市场的商业机会,给 出初姑的产品结构,并验证产品结构对于商业机会的 把握程度。 该阶段的任务: .初始的产品系统结构设计; .产品初始规划和资源需求统计; .风险和成本分析。
第3章 ASIC设计开发流程
3.1 ASIC设计流程介绍 3.2 ASIC开发流程步骤详细描述
集成电路从设计到制造全过程,涉及到很多 方面的知识和内容,就本章而已,不可能完成全 部内容的学习讲解。我们这是从认识的角度去学 习集成电路的设计和制造流程,当然,最主要的 是学习集成电路的设计流程。 在开始本章课程学习前,我们先来看看集成 电路设计与制造全过程中的几个主要流程框架。
3.2 ASIC开发流程步骤详细描述 开发流程步骤详细描述
在实际工作中,不同的设计团队可能拥有不 同的ASIC设计开发流程,但是这些不同的开发 流程只是在对设计流程的各个阶段命名时有一 些细微的差别。总的来说,ASIC设计的必要步 骤是缺一不可的。一个ASIC芯片的设计必须要 有一个团结合作的团队才能够完成。 首先,我们来看看ASIC项目的主要步骤。 然后,详细描述各步骤的具体内容。
第五阶段:加工与完备 任务: 任务:联系生产加工,准备芯片的样片测试和应用 准备。 流程: 流程:工艺设计与生产--芯片测试--芯片应用。 输出: 输出:用户使用说明书。 上面我们描述了集成电路设计的五个阶段,每 一阶段有不同的任务,有具体的工作流程,也产生 对应的输出结果。 实际工作中,主要的设计具体任务内容可以用 下面的流程图来说明。
集成电路设计与制造的主要流程框架
系 统 需 求
设计
掩膜版
3.1 ASIC设计流程介绍 设计流程介绍
下面我们来介绍ASIC设计的基本流程。 设计过程可分五个阶段: 第一阶段:项目策划 第二阶段:总体设计 第三阶段:详细设计和可测性设计 第四阶段:时序验证与版图设计 第五阶段:加工与完备
第一阶段:项目策划 任务: 任务:形成项目任务书 (项目进度,周期管理等)。流 流 程:市场需求--调研--可行性研究--论证--决策--任务 书。 第二阶段:总体设计 任务: 任务:确定设计对象和目标,进一步明确芯片功能、 内外部性能要求,参数指标,论证各种可行方案,选 择最佳方式,加工厂家,工艺水准。 流程: 流程:需求分析--系统方案--系统设计--系统仿真。 输出: 输出:系统规范化说明(System Specification):包括系 统功能,性能,物理尺寸,设计模式,制造工艺,设计周期, 设计费用等等.
输出: 输出: 物理设计(Physical Design or Layout Design):物理 设计或称版图设计是VLSI设计中最费时的一步. 它要将电路设计中的每一个元器件包括晶体管, 电阻,电容,电感等以及它们之间的连线转换成集 成电路制造所需要的版图信息. 设计验证(Design Verification):在版图设计完成以 后,非常重要的一步工作是版图验证.主要包括: 设计规则检查(DRC),版图的电路提取(NE),电学 规检查(ERC)和寄生参数提取(PE)。
• 使用 Design Compiler自带静态时序分析器,进 行模块级静态时序分析。 • 使用 Formality工具,进行 RTL级和综合后门级 网表的 Formal Verification。 • 版图布局布线之前,使用PrimeTime工具进行整 个设计的静态时序分析。 • 将时序约束前标注到版图生成工具。 • 时序驱动的单元布局,时钟树插入和全局布线。 • 将时钟树插入到DC的原始设计中。 • 使用 Formality,对综合后网表和插入时钟树网 表进行 Formal Verification。
该阶段输出: .项目的时间和资源需求估计; .晶片面积的估计; .产品研发预算估计; .初始的产品系统结构设计; .风险分析; .设立产品的目标、可行性和里程碑; .设计路线和开发工具的选定。
可行性分析是预研阶段最重要的一个环节, 它是对该项目的利润模型、开发周期和风险性的 分析。
如果设立ASIC开发项目的目的是替代目前的一个成功 产品,那么降低成本和增强功能是项日的最主要需求。如 果设立ASIC开发项日的目的是去开拓新的市场或者替代目 前尚未成功的产品,开发时间将是项目中优先级最高的需 求。由于项目的开发策略会对整个项目的结构设计、开发 等产生巨大的影响,项目的规划者需要根据项目的具体情 况在预研阶段开始之前对项目的这些驱动因素进行归纳分 析,以制定项目的开发策略。
项目经理的任务: .完成项目计划; .确定资源(项目组、设备和工具); .组织培训课程。 该阶段输出: .功能需求说明; .顶层结构设计说明; .初始的开发计划和资源需求。
这个阶段需要递交的文档: 结构设计文档:在这个文档中,设计者需要清楚 地描述电路板、软件和ASIC的划分。通常ASIC作 为系统中的一个重要部分,它的功能需要在顶层结 构设计说明中详细的描述。 ASIC开发计划:这个计划必须经过项目管理人员 的验收通过。同时,还需要完成设计线路描述文档。 这个文档要定义项目开发中所需要的工具、技术和 方法。
第三阶段: 详细设计和可测性设计 任务: 任务:分功能确定各个模块算法的实现结构,确 定设计所需的资源按芯片的要求,速度,功耗, 带宽,增益,噪声,负载能力,工作温度等和时 间,成本,效益要求选择加工厂家,实现方式, (全定制,半定制,ASIC,FPGA等);可测性 设计与时序分析可在详细设计中一次综合获得, 可测性设计常依据需要采用FullScan,PartScan等 方式,可测性设计包括带扫描链的逻辑单元, ATPG,以及边界扫描电路BoundScan,测试 Memory的BIST。
典型ASIC设计具有下列相当复杂的流程,实际中 包含如下多项基本内容: • 结构及电气规定。 • RTL级代码设计和仿真测试平台文件准备。 • 为具有存储单元的模块插入BIST(Design For test 设计)。 • 为了验证设计功能,进行完全设计的动态仿真。 • 设计环境设置。包括使用的设计库和其他一些 环境变量。使用 Design Compiler工具,约束和 综合设计,并且加入扫描链(或者JTAG)。
第四阶段:时序验证与版图设计 任务:静态时序分析从整个电路中提取出所有 任务 时序路径,然后通过计算信号沿在路径上的延 迟传播,找出违背时序约束的错误(主要是 SetupTime 和 HoldTime),与激励无关。在深亚 微米工艺中,因为电路连线延迟大于单元延迟, 通常预布局布线反复较多,要多次调整布局方 案,对布局布线有指导意义。 流程: 流程:预布局布线(SDF文件)--网表仿真(带延时 文件)--静态时序分析--布局布线--参数提取-SDF文件--后仿真--静态时序分析--测试向量生 成。
相关文档
最新文档