集成电路的设计与验证.
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
半定制
标准单元是已设计好的具有一定逻辑功能的单元电 路,这些单元电路已经完成了紧凑的布局布线,经过 严格测试,能保证逻辑功能和严格时序.如门电路,触 发器,RAM等 单元电路由专用集成电路厂商设计好并放入他们的 标准单元库中提供给设计者. 需要所有掩膜层设计,周期相对长(2月),少量成本高 体积小,支持复杂设计,用户定制性能好,批量生产成 本低
系百度文库仿真、综合和版图设计前门级 仿真
输出 RTL级仿真和门级仿真 测试报告 综合后的网表
后端版面设计 (由ASIC生产商完成)
后端版图设计包括: 平面图设计,模块布局,时钟树插入,布线,时序分析 ASIC生产商输出: 布局布线完成后的时间面积信息 布局布线完成后的网表和标准延时信息 硅片制造的信息 连接负载文件, 电容负载文件, 标准时延格式文件 任务: 测试版和最终版网表的版图设计 检查网表和测试矢量的错误 生成版图设计后的时间和面积信息
时间
产品1 产品2 产品3 产品4 产品1 产品2 产品3 产品4 产品1 产品2 产品3 产品4 产品1 产品2 产品3 产品4
工序 b 流水线生产方式 图12.1 非流水线生产方式和流水线生产方式比较示意图
流水线的性能指标
流水线的吞吐率
解决流水线瓶颈的方法之一:瓶颈段细分
输入 S1 S2a S2b S2c S3 S4 输出
预研阶段 顶层设计阶段 模块设计阶段 模块实现阶段 子系统仿真阶段 系统仿真,综合和版面设计前门级仿真阶段 后端版面设计 测试矢量准备 后端仿真 生产 硅片测试
预研
任务: 初始的产品系统结构设计 产品的初始规划与资源需求统计 风险和成本分析 可行性分析:利润模型分析,开发周期分析,资源需求分析,初始架构设计 输出: 项目时间和资源需求估计 面积估计 研发预算估计 初始系统结构设计 风险分析 目标 可行性 设计线路 开发工具的选择
流水线的基本概念
(3) 各个功能段所需时间应尽量相等,否则,时间长 的功能段将成为流水线的瓶颈,会造成流水线的 “堵塞”和“断流”。这个时间一般为一个时钟 周期 (4) (拍); 流水线需要有“通过时间”(第一个任务流出结果 所 需的时间),在此之后流水过程才进入稳定工作状 (5) 态,每一个时钟周期(拍)流出一个结果; 流水技术适合于大量重复的时序过程,只有输入 端能连续地提供任务,流水线的效率才能充分发 挥。
ASIC的概念
ASIC (Application Specified Integrated Circuit) 专用集成电路 设计过程:ASIC设计者用HDL在RTL级实现逻辑功能
EDA工具提供商提供综合工具将RTL代码转换成ASIC生产商 提供的基本功能逻辑单元 布局布线工具完成后端版面设计
顶层设计阶段
任务:
书写功能需求说明 顶层结构必备项 分析必选项-需要考虑技术灵活性、资源需求及开发周期 完成顶层结构设计说明 确定关键的模块(尽早开始) 确定需要的第三方IP模块 选择开发组成员 确定新的开发工具 确定开发流程/路线 讨论风险 预计硅片面积、输入/输出引脚数 开销和功耗
模块级详细设计阶段
输出: 所有模块的设计文档 准确的项目开发计划 项目经理任务: 分析和管理开发风险 更新开发计划、分配工作 开始考虑芯片验证/确认 建立一个文档/代码管理机制
模块实现阶段
任务: 模块及设计、编码、测试和综合 芯片级的测试环境设计、编码和测试 给出一个更准确的芯片面积估计
FPGA基于SRAM技术,结构灵活,但逻辑不能 保持, 资源丰富,支持大规模电路设计(百万 门),价格昂贵 CPLD 基于Flash技术,逻辑写入后可以保持, 结构简单,逻辑延时小,功耗小,资源少,价格 低.
PLD市场目前只剩下Altera,Xilinx,Lattice,Actel, QuickLogic,Atmel六家公司,其中前5家为专业PLD公司, 并且前3家几乎占有了90%的市场份额,而我们一般使用 Altera,Xilinx公司的PLD居多,所以典型布局和布线的工 具为Altera公司的Quartus II和Maxplus II、Xilinx公司的 ISE和Foudation。 功能仿真:典型工具有Mentor公司的ModelSim、Synopsys 公司的VCS和VSS、Aldec公司 的Active、Cadense公司的 NC。 综合工具:典型工具有Mentor公司的LeonardoSpectrum、 Synopsys公司的DC、Synplicity公司的Synplify。
t
(b)时空图 图12.20 重复设置瓶颈段的流水线
流水线的基本概念
流水技术
流水技术是指:将一个重复的时序过程分解 成为若干个子过程,而每个子过程都可有效地在 其专用功能段上与其他子过程同时执行。
流水技术的特点
(1) 流水过程由多个相联系的子过程组成,每个 子过程称为流水线的“级”或“段”。“段” 的数 (2) 目称为流水线的“深度”。 每个子过程由专用的功能段实现;
芯片设计的特殊考虑 芯片制造商和工艺选择 设计的层次化 时序闭合性设计 可调试性设计 可测试性设计 可验证性设计 低功耗设计
制定架构(或功能)规范
制定功能验证计划
ASIC 设计思想
层次化设计 自上而下 自下而上 结合 串行设计 流水线技术 乒乓操作
流水线的基本概念
第一讲
集成电路的设计与验证
北京大学数字媒体研究所
集成电路产业发展历程 摩尔定律:每平方厘米的晶体管数每18个月翻一番
芯片的最大时钟频率大概每2.168年增长一倍
集成电路设计方法 手工设计阶段 计算机辅助设计 计算机辅助工程 电子设计自动化 (HDL语言和综合工具)
VLSI EDA
硬件描述语言: HDL hardware description language verilog HDL VHDL 实现从抽象的行为与功能描述到具体的内部 线路结构描述 自动综合工具:
DRC: Design Rule Check
ERC: Electrical Rule Check
RTL register-transfer level
等效性检查:检查两个设计在功能上是否等价 功能正确的参考设计 修改后的实现设计(待验 证的设计)
门阵列采用一种掩膜版编程的集成电路设计技术. 生产厂商提供的基片上完成生产的基本阵列,需要 定制的只有掩膜层只有布线层 二输入与非门 (门海) 效率低 嵌入式门阵列, 结构化专用集成电路 基片上已经集成了一些逻辑功能块 如处理器, RAM,DLL等 成本低 资源浪费 不够灵活 周期短(2周)
1 1 2 3 4 产品1 产品1 产品1 产品1 2 3 4 5 产品2 产品2 产品2 产品2 6 7 8 9 产品3 产品3 产品3 产品3 10 11 12 13 产品4 产品4 产品4 产品4 14 15 16
时间
工序
1 1 2 3 4 2 3 4 5 6
a 非流水线生产方式
7 8 9 10 11 12 13 14 15 16
版面设计后仿真/综合阶段
输出: 最终版本的网表 测试矢量文件 版面设计后仿真和静态时序分析结果 任务: 综合测试电路插入和测试矢量生成 生成一个版图设计文档 支持版图设计(平面设计和版图检查) 版图设计之后的重新综合
生产签字阶段 测试硅片准备阶段 硅片测试阶段
6 7 8 9 10 11 t11
7 8 9 10 11 12 t12
8 9 10 11 12
9 10 11 12
10 11 12
11 12
12
t
t13 t14 t15 t16 t17 时间
(b)时空图 图12.19 瓶颈段细分的流水线
流水线的性能指标
流水线的吞吐率
解决流水线瓶颈的方法之二:重复设置瓶颈段
t
t
t
(a)连接图
t
t
t
s
空间 S4 S3 S2c S2b S2a S1 1 t1 1 2 t2 1 2 3 t3 1 2 3 4 t4 1 2 3 4 5 t5 1 2 3 4 5 6 t6 2 3 4 5 6 7 t7
3 4 5 6 7 8 t8
4 5 6 7 8 9 t9
5 6 7 8 9 10 t10
模块实现阶段
输出: 所有的模块设计、代码和模块级的测试 初始的模块级综合 最终决定芯片的引脚
模块实现阶段
管理者的任务: 提供文档规范和对设计文档验收 设立和讲解验收过程 确定哪些部分在什么时候验收 每周组织会议 了解进度 对发现的问题进行解决 生产厂商谈判初始化版图设计的时间 以及需其他提交材 料 验收测试设计 分析测试覆盖率 开始安排资源准备 项目原型化和硅片测试 准备好第三方芯片的仿真模型 风险分析:项目进度 芯片面积 模块设计:细化设计说明->模块设计->编码->仿真->综合
架构(Architecture)设计 1、芯片架构选择和设计 2、芯片设计的特殊考虑 3、制定架构(或功能)规范(Architecture Specification) 4、制定芯片功能验证计划
芯片架构选择和设计 软硬件的划分 硬件功能模块的划分 IP选择和设计 模块互连机制的选择和设计 架构的建模和仿真
SOC system on chip IP (intellectual property) 知识产权 核(core) 设计好并通过验证的模块
全定制
所有版图都是设计者设计完成,制造厂商只需要将 其印刷在晶片上. 全定制设计开始于晶体管级 灵活:能控制所有的电路参数, 能达到最好的性能和最低功耗. 设计成本高,风险大. 适合于可多次复用,产量非常大或对性能功耗要求 非常苛刻的设计,如CPU, 标准单元电路
子系统仿真阶段
任务: 撰写并验收测试列表文档 撰写测试伪代码 仿真 输出: 仿真结果
系统仿真、综合和版图设计前门级 仿真
任务: 撰写和验收系统测试文档 编写测试代码 进行RTL级仿真和门级别仿真 记录跟踪问题的解决过程 检查芯片是否满足设计规范 开始撰写芯片的是使用指南 编写系统综合脚本、对系统进行综合 根据芯片特性,画出芯片内模块布局位置
顶层设计阶段
输出:
功能需求说明 顶层结构设计说明 初始的开发计划和资源需求 项目经理任务: 完成项目计划 确定资源(项目组、设备 工具) 组织培训课程
模块级详细设计阶段
任务: 顶层架构分解成更小的模块 定义模块的功能和接口 回顾并完善上一阶段完成的初始项目开发计划和 顶层结构设计文档 风险分析(作必要修改 降低风险) 组织开发小组学习开发规范(代码风格、开发环 境的目录结构、综合命令脚本) 检查芯片设计规则(温度 封装 引脚 供电) 重新估计芯片门数
S2a S1
输入
t1 t
数据 分配器
S2b S2c
数据 收集器
S3
S4
输出
t 3 t
t 4 t
t 2 3t
s
空间 S4 S3 S2c S2b S2a S1 1 t1 2 t2 1 3 t3 4 t4 5 t5 2 4 6 t6 7 t7 8 t8 1 3 5 7 9 t9 10 t10 11 t11 1 2 2 3 3 4 6 8 10 12 t12 t13 t14 t15 t16 t17 时间 4 5 5 6 6 7 9 11 7 8 8 9 9 10 12 10 11 11 12 12 (a)流水线