复杂集成电路设计保证指南

上传人:木92****502 文档编号:127344879 上传时间:2020-04-01 格式:DOC 页数:48 大小:4.52MB
返回 下载 相关 举报
复杂集成电路设计保证指南_第1页
第1页 / 共48页
复杂集成电路设计保证指南_第2页
第2页 / 共48页
复杂集成电路设计保证指南_第3页
第3页 / 共48页
复杂集成电路设计保证指南_第4页
第4页 / 共48页
复杂集成电路设计保证指南_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《复杂集成电路设计保证指南》由会员分享,可在线阅读,更多相关《复杂集成电路设计保证指南(48页珍藏版)》请在金锄头文库上搜索。

1、ICS31.200L 56中华人民共和国国家标准GB/T XXXXX20XX复杂集成电路设计保证指南Complex Electronics Guidebookfor Design Assurance(征求意见稿)20XX-XX-XX发布20XX-XX-XX实施GB/T XXXXX-20XX前言本指导性技术文件按照GB/T 1.1-2009给出的规定起草。请注意本指导性技术文件的某些内容可能涉及专利,本标准的发布机构不承担识别这些专利的责任。本指导性技术文件由中华人民共和国工业和信息化部提出。本指导性技术文件由全国集成电路标准化分技术委员会(SAC/TC 78)归口。本指导性技术文件起草单位:中

2、国电子科技集团公司第二十四研究所。本指导性技术文件起草人:雷昕、胡珂流、刘锐、张涛、张颜林、周亮。45复杂集成电路设计保证指南1 范围本指导性技术文件规定了复杂集成电路常规性能设计、可靠性设计的相关要求与基本方法,作为指导复杂集成电路及可靠性设计的指南。本指导性技术文件适用于复杂集成电路的常规性能设计及可靠性设计。2 规范性引用文件下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅所注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。GB/T 9178 集成电路术语GJB 450 装备可靠性工作通用要求GJB 451 可靠性维修性保障性术语

3、GJB 6117 装备环境工程术语3 术语、定义和缩略语3.1 术语和定义GB/T 9178、GJB 450、GJB 451和GJB 6117确立的以及下列术语和定义适用于本指导性技术文件。3.1.1复杂集成电路定义复杂集成电路是指各种可编程或可设计的集成电路。3.1.1.1 可编程逻辑器件(PLDs)可编程逻辑器件(PLDs)是可以由硬件用户进行编程的集成电路。PLDs包含可配置的逻辑和触发器,并通过可编程互联单元将它们进行连接。存储单元用于控制和定义逻辑电路的功能,以及如何进行互连。PLDs各种类别主要包括:a)可编程阵列逻辑(PAL);b)通用阵列逻辑(GAL);c)可编程逻辑阵列(PL

4、A);d)复杂可编程逻辑器件(CPLD);e)现场可编程门阵列(FPGA)。3.1.1.2 可设计集成电路可设计集成电路指可以由用户进行设计,并提交给制造商创建多个副本,允许面向特定的设备需求开展专门设计的集成电路。可设计集成电路一旦完成设计和生产就不能被用户重新编程,专用集成电路(ASIC)和系统片上(SoC)是典型的可设计集成电路。3.1.2 复杂集成电路范围典型复杂集成电路包括简单/复杂可编程逻辑器件、专用集成电路(ASIC)和片上集成电路(SoC)。3.1.2.1 简单可编程逻辑器件简单可编程逻辑器件包括可编程阵列逻辑(PAL)、通用阵列逻辑(GAL)和可编程逻辑阵列(PLA)三种类型

5、。3.1.2.1.1 可编程阵列逻辑(PAL)PAL允许用户编程一系列的AND和OR门(或NAND / NOR)以创建所需的逻辑序列。PAL由可编程AND阵列组成,后跟随固定不可编程的OR阵列。如图1所示,输入信号施加到AND数组,进行逻辑运算后将其输入到OR阵列中。在OR阵列中,对各个AND阵列的结果进行组合以产生所需要的输出。图1 PAL电路结构PAL编程的原理是采用熔丝修调的方式,施加超过芯片使用要求的电压被用于熔断内部的熔丝,以实现连接或断开的功能,一旦编程PAL将无法再重新编程。熔丝分布图可以确定哪些保险丝是或者不是为特定的PAL而设置的。可以使用诸如PALASM或CUPL之类的语言

6、,转换为符合逻辑设计要求的JEDEC ASCII /十六进制文件。现代的用于支持PAL的软件允许从原理图,真值表或状态表直接转换到熔丝分布图。硬件描述语(HDL)也可以用于合成熔丝分布图。在完成分布图的创建后,必须将其提供给特定电子编程系统,用户可以从制造商或第三方获得以用于芯片的物理编程。3.1.2.1.2 通用阵列逻辑(GAL)GAL由可编程AND阵列,固定OR阵列和可编程输出逻辑组成。它采用电可擦写可编程只读存储器(EEPROM),而不是熔丝进行连接,这样可以擦除GAL并重新编程。GAL通过采用PAL编程器实现编程和重编程。3.1.2.1.3 可编程逻辑阵列(PLA)PLA在AND门面阵

7、中进行编程,PLA器件比PAL具有更多的设计选项,但缺点是性能的下降。PLA芯片基于熔丝,只能编程一次。设计工具和语言可以将逻辑设计转换为PLA编程所需的熔丝分布图。表1是各种简单可编程器件的主要特性比较:表1 简单可编程器件主要特性比较特性PALGALPLA输入可编程配置可编程配置可编程配置输出硬件连线硬件连线可编程配置灵活性中中高制造、编程和测试的难度中低高可重编程与否否是否3.1.2.2大规模可编程逻辑器件大规模可编程逻辑器件包括复杂可编程逻辑器件(CPLD)现场可编程门阵列(FPGA)专用集成电路(ASIC)和片上系统(SoC)四种类型,详细介绍见附录B。3.1.2.2.1 复杂可编程

8、逻辑器件(CPLD)CPLD包含一系列的PLD块,其输入和输出由全局互连矩阵连接在一起。CPLD使用EEPROM,SRAM或Flash来保存互连信息。一个CPLD相当于大约50个典型的PLD器件,可以替代数千甚至数十万的逻辑门。对于CPLD的编程取决于芯片和应用要求,一些CPLD可以通过PAL编程器进行编程,其他类型的CPLD可以通过计算机的串行线进行编程。CPLD能够解码数据流并能执行其指定的电路逻辑功能。用于编程和测试CPLD的接口是IEEE 1149.1标准定义的JTAG接口,该接口专门用于测试和边界的扫描。3.1.2.2.2 现场可编程门阵列(FPGA)FPGA集成了可配置逻辑块阵列,

9、可以通过分散的开关阵列重新排列各个逻辑块之间的互连。每个逻辑块都可以单独的编程为一个特定的逻辑功能(如AND,OR,XOR等),然后再编程开关阵列形成连接的功能块从而实现完整的逻辑功能。FPGA的规模从数万个逻辑门到过亿,FPGA可能会使用EEPROM、SRAM、反熔丝或Flash技术存储编程信息。FPGA的配置是易失性的,每当电源重启都必须重新进行加载。FPGA通常使用像Verilog或者VHDL这样的硬件描述语言(HDL)进行编程,HDL还允许FPGA设计要在硬件实现之前进行模拟和仿真。典型的CPLD和FPGA结构如图2所示。CPLD结构FPGA结构图2 CPLD和FPGA结构3.1.2.

10、2.3 专用集成电路(ASIC)ASIC是专为特定用途设计的集成电路,与芯片制造商生产的标准IC不同,ASIC是由最终用户设计然后量产。ASIC允许用户将许多器件和功能集成到单芯片中,降低成本并提高可靠性。ASIC的规模可大可小,可以根据用户需求进行相应的定制设计。3.1.2.2.4 片上系统(SoC)SoC将完整产品的所有电子部分整合到单个芯片中。SoC不仅包括微处理器(CPU),还包括所有必需的辅助IP单元,如DSP、比较器、AD/DA、PLL、定时器、存储器和数字逻辑等。典型的SoC架构如图3所示:图3 典型SoC架构示意图SoC有两种实现方式:a)软指令处理器架构:允许设计人员自定义C

11、PU架构,应用程序可根据CPU架构量身打造支持的特殊指令集、可用的外设和一些寄存器的。由于最终的架构要基于硅片进行实现,这些类型的架构非常适合应用于ASIC相关的高容量、低成本应用中。b)可配置处理器架构:该架构基于FPGA进行实现,在这些架构中可以根据需要添加、修改和扩展标准以及客户端的逻辑设计。通过将离散逻辑功能移动到内部FPGA,设计人员可根据基于标准处理器内核得到高度灵活的逻辑解算器。使用FPGA逻辑而不是代工逻辑,可以在设计周期的任何时刻进行修改。3.2 新型复杂集成电路新型复杂集成电路包括以可重构SoC和FPGA微处理器/系统为代表的一系列新型集成电路。3.2.1可重构SoC大多数

12、SoC设计都采用基于平台的解决方案,其中像微处理器内核这样的标准组件构成了SoC的重要部分。自定义组件则提供了更多的功能选择,这些组件中的一些是可以由用户进行配置的(例如SoC中集成的小型FPGA或CPLD),其他组件则可以根据设计者需求进行选择。集成自定义组件的SoC叫做可重构SoC,与传统的SoC相比除了提供相似的基于平台的功能解决方案之外,还可以通过可重构矩阵实现不同的功能组件和外设。通过可重构SoC的设计,可以简单的通过更改执行系统初始化的代码来改变硬件功能。比如,处理多个硬件编解码器(例如流媒体)或加密方法的应用,可以通过系统初始化代码将器件配置为特定编解码器或加密方法,然后在需要不

13、同数据流时重新配置为另一种编解码器或加密方法。3.2.2 FPGA微处理器/系统一部分SoC是完全在可编程逻辑器件,特别是在FPGA上实现的。FPGA微处理器系统则能够根据实际的应用要求通过重新编程FPGA来更改微处理器,并在应用程序改变时同步更改微处理器。3.3 缩略语及符号缩略语及符号参见附录A。4 复杂集成电路设计4.1 复杂集成电路设计流程4.1.1 复杂集成电路设计流程概述复杂集成电路、系统及子系统的设计起点是定义器件需求,设计和实现复杂集成电路的设计和实现流程如图4所示:图4 复杂集成电路设计实现流程复杂集成电路设的详细需求是由它们所在的系统以及使用的环境决定的:一个简单的家用电器

14、与先进的卫星应用相比,在器件上有更少的需求,家用电器通常不需要担心会导致翻转事件发生的高能量宇宙粒子。由于这些器件都是硬件的范畴,因此复杂集成电路的设计过程中涉及到芯片功能和约束(例如,所需的门数和需要的电压),以及设计如何与这些约束和功能相结合的一系列问题。4.1.2 复杂集成电路设计生命周期在典型的软件设计中,软件需求根据系统需求得到。软件开发遵循分解、迭代、进化、重复的设计方法。无论设计生命周期如何,都必须包括确定需求、创建设计、实现设计和验证实施的过程。与软件设计一样,复杂集成电路的设计和开发生命周期必须遵循特定的开发生命周期方法学。复杂集成电路的设计过程如图5所示:图5 复杂集成电路

15、设计流程复杂集成电路设计流程的起点是将系统或子系统需求分解为特定的复杂集成电路,分解完成之后,工程师以硬件描述语言来实现要求并生成设计。设计时必须对器件进行“编译”(设计综合),完成设计到逻辑门的映射。仿真用于验证设计是否正确,是否满足原始需求和性能目标。复杂集成电路的实现涉及到从逻辑设计映射到芯片的过程,芯片实现过程中包括了逻辑块在芯片内的布局以及块之间的路由。复杂集成电路设计实现阶段的最后一步是对设备进行“烧录”或编程。虽然从设计到流片前的仿真可以发现大多数的缺陷,但实际的硬件需要在最终的电路状态下添加实际的输入信号并测试输出。通常情况下,无法通过仿真达到电路测试的效果,因为在仿真过程中输入超出范围的信号可能很困难。而在实际项目中,用户在硬件设计完成后在各种条件下的功能测试是重要的验证步骤。实际测试中芯片中可能会存在错误,测试工具的问题也可能导致错误,有时实际的工作环境与预期的不同,也可能会影响器件的正确工作。在项目设计中,质量/硬件保证工程师需要从较高的设计层次上检视系统,以验证最终器件是否符合设计初衷并按照预定的过程运行。表2是软件和复杂集成电路开发过程的简单比较:表2 软件和复杂集成电

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 国内外标准规范

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号