安全智能卡(钥匙)SOC芯片验证平台的设计与实现

上传人:ch****o 文档编号:156588926 上传时间:2022-09-27 格式:DOC 页数:90 大小:2.43MB
返回 下载 相关 举报
安全智能卡(钥匙)SOC芯片验证平台的设计与实现_第1页
第1页 / 共90页
安全智能卡(钥匙)SOC芯片验证平台的设计与实现_第2页
第2页 / 共90页
安全智能卡(钥匙)SOC芯片验证平台的设计与实现_第3页
第3页 / 共90页
点击查看更多>>
资源描述
分类号:校图书馆统一编制 单位代码:10140密 级:保密2年 学 号:403081233硕 士 学 位 论 文(封皮学校统一印制,封面的电子版信息,参见附件二)中文题目: 安全智能卡/钥匙SoC芯片验证平台设计与实现 The design and implementation of security IC card英文题目: /Key SoC verification platform 论文作者: 张 贺 指导教师: 吴 春 瑜 教授 专 业: 微电子学与固体电子学 完成时间: 二一一年四月 书脊2.5cm安全智能卡/钥匙SoC芯片验证平台设计与实现 张贺 2.5cm10cm辽宁大学申请辽宁大学硕士学位论文安全智能卡/钥匙SoC芯片验证平台设计与实现The design and implementation of security IC card /Key SoC verification platform作 者: 张 贺 指导教师: 吴 春 瑜 教授 专 业: 微电子学与固体电子学 答辩日期: 2011年 月 日 二一一年四月中国辽宁辽宁大学学位论文原创性声明本人郑重声明:所呈交的学位论文是本人在导师的指导下独立完成的。论文中取得的研究成果除加以标注的内容外,不包含其他个人或集体已经发表或撰写过的研究成果,不包含本人为获得其他学位而使用过的成果。对本文的研究做出重要贡献的个人和集体均已在文中进行了标注,并表示谢意。本人完全意识到本声明的法律结果由本人承担。学位论文作者签名: 年 月 日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交学位论文的原件、复印件和电子版,允许学位论文被查阅和借阅。本人授权辽宁大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编学位论文。学校须按照授权对学位论文进行管理,不得超越授权对学位论文进行任意处理。保密(),在2年后解密适用本授权书。(保密:请在括号内划“”)授权人签名: 指导教师签名:日期: 年 月 日 日期: 年 月 日摘 要随着集成电路技术的迅猛发展,SoC技术成为当今应用最为广泛的技术之一。SoC芯片设计使得集成电路的集成度和复杂性越来越高,而激烈的市场竞争又要求产品性能高,成本低上市时间短。在这种情况下,芯片的正确性和可靠性都面临巨大的挑战,因此,验证成为SoC设计中的一项至关重要的工作。在目前的SoC芯片设计流程中,验证占据了大部分的时间与资源,特别是功能验证有很大的工作量。验证平台技术是一种为SoC设计服务的验证技术,它能够出色完成SoC设计中多种多样的验证工作,提高设计效率,缩短设计时间,同时也对芯片的正确性和可靠性提供有力保障。由于SoC芯片的复杂性,验证平台技术也成为一项最有难度,最有挑战的课题。论文介绍了一款信息安全类SoC芯片的验证平台设计,即解决了实际项目中的具体问题,也对SoC验证技术这一课题进行了更深层次的探索。论文课题属于某款信息安全类SoC芯片设计项目中的一部分,主要负责SoC芯片功能验证以及验证方法的研究。首先,论文分析了现在SoC芯片的基本结构和芯片设计流程,充分的理解SoC芯片的架构是搭建良好验证平台的基础。SoC芯片的基本结构就是基于总线的结构,几乎所有的SoC芯片都是基于总线结构的,但是这并不意味着SoC芯片都相同,SoC芯片具有丰富的多样性。第二,论文研究了当前广泛使用的验证方法与技术,并对其进行分类比较,以便在平台设计中灵活的应用和选择这些验证方法,当前业界的验证方法多种多样,在芯片设计的不同阶段使用的验证手段也各不相同,所以如何在平台中选择正确有效的验证方法也是需要认真分析和考虑的。第三,进行验证平台设计,这款验证平台是基于软硬件协同验证和事务及仿真的验证方法,充分考虑了SoC芯片的共性即总线结构,因此平台的可重用性非常好。同时,平台也对该款芯片的特殊性进行了创新设计,针对性很强。在精心设计下,平台的可配置性和自动化程度都相当高,为SoC芯片的功能正确性和可靠性提供了有力保障,并提高了设计效率。论文的研究工作在以下几点进行了创新性研究:第一,SoC功能验证平台架构设计,通过对多种SoC芯片的结构和在SoC设计中验证需求的研究,对验证平台的结构进行精心设计,使之能够适应大多数SoC芯片的验证工作,可重用程度高。第二,同时支持软硬件协同验证和事务级仿真验证方法,通过对多种验证方法的研究,对平台进行设计,使之支持软硬件协同验证和事务级仿真的验证能力,这两种方法分别在不同情况下都有重要的应用,而且由于提高了抽象层次,验证的效率的效果都非常好。第三可配置程度高,在SoC芯片验证流程中,不同的阶段需要不同的验证环境和验证方式,或者在相同阶段验证对不同的模块进行验证也需要对改变验证环境的部分内容。在这款验证平台中可以方便的配置平台使其使用于验证的不同情况。第四,自动化程度高,在SoC功能验证中存在大量的重复工作,这款验证平台具有高度的自动化运行能力,帮组验证人员完成这些工作,为验证节省了大量的时间。第五,支持动态时序仿真验证,验证平台除了能够完成功能仿真验证,还能够实现网表仿真进行动态时需验证,也就是后仿真阶段的工作。第六,信息安全类SoC芯片特殊功能验证,由于本款SoC芯片是安全类芯片,故具有很多加密模块,保证这些特殊模块的正确性和可靠性非常重要,验证平台针对这一点进行了特殊设计。总之,论文在充分研究SoC基本结构以及大量验证方法的基础上,设计了一款可配置程度高,自动化程度高,可重用的SoC功能验证平台,同时对SoC验证方法进行了深入探索和研究。这款SoC芯片现已流片成功,验证平台在设计过程中起到了重要作用。关键词:SoC设计 功能验证 验证平台 软硬件协同验证 仿真ABSTRACTWith the rapid development of integrated circuit technology, SoC technology become one of the most widely used technology. SoC makes IC design more complex. Because market competition is fierce, SoC products require performance requirements, low cost and short time to market. In this case, the accuracy and reliability of the chip are facing enormous challenges. Therefore, validate SoC designs become a crucial task. In the current SoC chip design process, verify account for most of the time and resources, in particular, functional verification has a heavy workload. Verification platform technology is a design services for the verification of SoC technology, it can be completed well in a variety of SoC design verification work to improve design efficiency and shorten design time, but also the accuracy and reliability of the chip to provide effective protection. As the complexity of SoC chip, verification platform technology has become one of the most difficult, most challenging issues. This paper introduces a class of information security SoC chip design verification platform that addresses the specific problems of the actual project, but also on SoC verification technology was the subject deeper exploration. Paper topic belongs to a class of models of information security SoC chip design as part of the project, is responsible for SoC chip functional verification and authentication methods in. First, the paper analyzes the basic structure of current SoC chip and chip design process, full understanding of SoC chip architecture is verification platform to build a good foundation. SoC is based on the basic structure of the chip bus structure, almost all of the SoC chips are based on bus architecture, but this does not mean the same chip, SoC, SoC chip has a rich diversity. Second, the paper studied the current widely used authentication methods and technologies, and its classification comparison, the platform for the flexible design of the application and selection of these authentication methods, a variety of current industry validation methods, different chip design stage of the authentication methods also varied, so how to choose the right platform for an effective verification method also requires careful analysis and consideration. Third, verification platform design, this verification platform is based on the hardware and software co-verification and transaction authentication methods and simulation, full consideration of the SoC chip bus architecture that is common, so the reusability of the platform is very good. At the same time, the platform also has the particularity of the chip innovative design, highly targeted. In well-designed, the platform can be configured and a high degree of automation for SoC functional correctness and reliability of the chip to provide a strong guarantee and improve the design efficiency. Thesis research work conducted in the following innovative research: First, SoC functional verification platform architecture design, through a variety of SoC chip SoC design, structure and validation requirements in the study of the structure of the verification platform designed to enable it to adapt to the majority of the validation of SoC chips can be high degree of reuse. Second, while supporting hardware and software co-verification and transaction-level simulation method, the research on a variety of authentication methods, the design of the platform, it supports hardware and software co-verification and transaction-level simulation verification capability, the two methods were in different situations have important applications, but also due to increased level of abstraction to verify the effect of the efficiency is very good. Third. High degree can be configured in the SoC chip verification process, different stages require different verification environment, and authentication, or authentication at the same stage of validation of different modules also need to change part of the verification environment. In this verification platform can be easily configured to use the authentication platform for different situations. Fourth, the high degree of automation in the SoC functional verification there is a lot of duplication of work, this verification platform has highly automated operational capabilities, to help verify the staff to complete the work group, to verify the save a lot of time. Fifth, support for dynamic timing simulation, functional verification platform in addition to complete the simulation, but also enables the dynamic simulation netlist verification is required, that is after the simulation phase. Sixth, information security, a special class of SoC chip functional verification, as this paragraph is safe class SoC chip, chip, it has many encryption module to ensure the accuracy and reliability of specific modules is very important for verification platform that was specially designed . In short, the paper the basic structure of the full study and a large SoC verification method based on the design of a highly configurable, high degree of automation, re-usable SoC functional verification platform for SoC verification method also conducted in-depth exploration and research. The success of SoC silicon chip has been verified in the design process platform has played an important role. KEY WORD:Verification platform, Testbench, SoC, Functional verification目 录第1章绪论11.1 课题背景11.2 课题来源21.3 课题研究意义21.4 论文结构21.5 小结3第2章SoC芯片设计42.1 SoC概述42.2 SoC芯片典型结构42.2.1 微处理器52.2.2 存储器52.2.3 总线结构62.2.4 中断控制器62.2.5 定时计数器62.2.6 可编程I/O接口62.3 SoC芯片设计流程72.4 SoC设计中的关键技术72.4.1 IP核复用技术82.4.2 超深亚微米技术82.4.3 软硬件协同设计技术82.4.4 SoC时序分析与综合92.4.5 SoC可测性设计技术92.4.6 SoC低功耗设计技术92.5 SoC芯片验证技术92.5.1 验证流程102.5.2 验证方法102.5.3 验证平台142.6 小结15第3章 验证平台设计163.1 验证平台体系结构设计163.1.1 平台基础架构设计163.1.2 两种验证模式的平台架构设计173.1.3 CPU验证的平台架构设计183.2 验证平台功能模块设计203.2.1 监视器模块设计203.2.2 存储器模型293.2.3 激励发生器33总线数据比较模块:373.3验证平台目录结构设计423.4 小结44第4章 验证平台的实现与仿真454.1 验证平台工作模式设计464.1.1 Slave模式:464.1.2 Master模式:474.2 验证平台配置文件设计484.2.1 CLKRSTSTIM模块命令文件484.2.2 CLKPERSTIM模块命令文件494.2.3 IOSTIM模块命令文件504.3 验证平台的C环境实现504.3.1 C环境的编译器和连接器514.3.2 C语言源程序编辑及编译方法:514.3.3 Hex文件的格式:524.4 验证平台的C语言编程实现524.4.1 变量定义534.4.2 存储模式534.4.3 中断函数的编写534.5 验证平台C语言宏定义实现544.5.1 读寄存器544.5.2 写寄存器544.5.3 写读比544.5.4 写读并等待544.5.5 读并比较(BYTE)554.5.6 读并比较(BIT)554.5.7 比较并等待(BYTE)554.5.8 比较并等待554.5.9 小于比较554.5.10 大于比较551 输出注释信息554.6 验证平台的仿真实现564.6.1 仿真软件介绍564.6.2 Questasim软件仿真流程564.6.3 仿真目录设计574.6.4 仿真脚本设计574.6.5 仿真输出文件594.7 小结59第5章 基于平台的实例验证615.1 计时器模块TIME0结构615.2 验证向量625.2.1 Time0_mode0验证程序设计方案625.2.2 Time0_mode1验证程序设计方案645.3 验证步骤655.4验证结果655.4.1 Time0_mode0 验证结果655.4.2 Time0_mode0 验证结果665.5 小结68第6章 总结69致 谢71参考文献72图 表 目 录图目录图2-1 SoC基本结构5图2-2 SoC验证流程13图3-1 验证平台基本结构19图3-2 Master模式下验证平台结构20图3-3 Slave模式下验证平台结构21图3-4 CPU验证模式下验证平台结构(1)22图3-5 CPU验证模式下验证平台结构(2)23图3-6 SFRCAP模块25图3-7 IRAMCAP模块27图3-8 MEMCAP模块29图3-9 PRINTER模块31图3-10 EXT_PROGMEM模块33图3-11 EXT_DATA_MEM模块35图3-12 IRAM模块36图3-13 CLKRSTSTIM模块38图3-14 CLKPERSTIM模块39图3-15 JTAG模块40图3-16 IOSTIM模块41图3-17 SFRCOMP模块42图3-18 IRAMCOMP模块43图3-19 MEMCOMP模块45图3-20 验证平台根目录46图3-21 模块源代码目录47图3-22 平台工作目录48图4-1 Slave模式50图4-2 master模式52图4-3 C语言IDE软件 Keil55图4-4 仿真软件Questasim62图5-1 TIME0模块模式066图5-2 TIME0模块模式166图5-3 TIME0模块模式0验证方案68图5-4 TIME0模块模式1验证方案69图5-5 TIME0模块模式0仿真波形71图5-6 TIME0模块模式1仿真波形72表目录表3-1 SFRCAP模块信号25表3-2 SFRCAP模块输入输出文件25表3-3 IRAMCAP模块信号27表3-4 IRAMCAP模块输入输出文件27表3-5 MEMCAP模块信号29表3-7 PRINTER模块信号31表3-8 PRINTER模块输入输出文件32表3-9 EXT_PROGMEM模块信号33表3-10 EXT_PROGMEM模块输入输出文件34表3-11 EXT_DATA_MEM模块信号35表3-12 EXT_DATA_MEM模块输入输出文件35表3-13 IRAM模块信号36表3-14 IRAM模块输入输出文件37表3-15 CLKRSTSTIM模块信号38表3-16 CLKRSTSTIM模块输入输出文件38表3-17 CLKPERSTIM模块信号39表3-18 CLKPERSTIM模块输入输出文件39表3-19 JTAG模块信号40表3-20 JTAG模块输入输出文件40表3-21 IOSTIM模块信号41表3-22 IOSTIM模块输入输出文件41表3-23 SFRCOMP模块信号42表3-24 SFRCOMP模块输入输出信号42表3-25 IRAMCOMP模块信号43表3-26 IRAMCOMP模块输入输出文件44表3-27 MEMCOMP模块信号45表3-28 MEMCOMP模块输入输出文件46表4-1 S_CPU模块命令格式51表4-2 clkrststim模块命令格式52表4-3 clkperstim模块命令格式53表4-4 IOSTIM模块命令格式54表5-1 TIME0配置寄存器TCON67第1章 绪论1.1 课题背景1947年美国贝尔实验室研制出世界上第一个晶体管,成为微电子革命的开始;在此后的在六十多年里由于集成技术和大规模系统设计的飞速进步,电子工业取得了迅猛的发展,成为信息社会发展的强大的“引擎”;1965年,美国Intel公司的创始人之一戈登摩尔指出在单个硅片上集成的晶体管数目大约每18个月增加一倍,揭示了微电子技术惊人的发展速度1。20世纪六十年代以来,集成电路(IC)技术成为微电子产业的主导;集成电路在高性能计算、通信以及消费类电子等领域中的应用一直在飞速发展;事实上,也正是由于这些应用所需求的计算和信息处理能力成为电子领域快速发展的驱动力;随着各种数据处理和通信设备的功能越来越复杂,将众多功能集成在一小块电路上的需求实际上一直在增加2。而随着集成电路技术的进步,集成电路的集成度也越来越高,从1960年的每个芯片上一个门电路发展到现在的极大规模集成电路可达千万门级。随着IC设计的集成度越来越高,功能越来越丰富,IC设计的复杂程度也越来越大;由于消费类电子产品和通信产品成为市场热点,这些设备要求IC设计时间短,制造风险小,产品质量高,传统的ASIC设计已经跟不上设计需要,于是一场新的变革应运而生,那就是SoC(Systerm On a Chip,片上系统)技术和IP(Intelectual Property,知识产权核)技术;深亚微米技术的出现和EDA技术的发展为SoC技术的出现提供了可能;现在SoC技术得到了越来越广泛的应用,正在逐渐成为集成电路设计的主流;微电子技术在芯片级上正在由集成电路向集成系统的方向发展3。SoC又称为SLI(Systerm Level IC,系统级集成电路),是指在单一硅片上集成数字和模拟混合电路,包括嵌入式核(如MPU、MCU或DSP)、存储器(如SRAM、SDRAM、Flash ROM)、专用功能模块(如ADC、DAC、PLL、2D/3D图形运算单元)、I/O接口模块(如USB、UART、SPI、7816)等多功能的模块。SoC技术是在ASIC技术上发展起来的,和普通的ASIC相比SoC具有一些独特的优点,SoC芯片已经不再是单一功能的集成电路而是一整套有某种应用目的的电路系统。SoC设计十分庞杂,其主要内容包括:系统设计、RTL设计、IP核复用、总线架构、软硬件协同设计、仿真验证、逻辑综合、可测性设计、低功耗设计、版图设计、物理验证、后仿真等;除了硬件上的设计之外还有相应的软件开发和设计;虽然SoC技术还有很多尚未解决的问题,但是SoC技术正在快速的发展并越来越完善4-5。由于SoC设计规模很大,验证工作的难度远大于传统ASIC设计。SoC芯片设计的验证工作贯穿了整个芯片设计流程,从行为级硬件描述语言设计(RTL级设计)直到投片之前都需要做足够多的验证工作。其中,设计验证是最主要,最复杂,工作量最大,同时也是最灵活的部分。传统的流程中验证工作主要是由设计人员自己完成的,但这些工具和方法都无法满足当前SoC对于验证工作灵活性和完备性上的要求。为了解决SoC设计中的验证问题,提高SoC设计的验证水平,我们要使验证成为SoC芯片设计中的一个有机的组成部分,由于SoC芯片复杂度越来越高,搭建一个效率高、灵活性强、扩展性好的验证平台已经成为芯片成功的关键因素之一6。1.2 课题来源本课题源于某公司一款信息安全了SoC加密芯片项目。作为整个项目的一部分,本课题的任务是搭建一个功能强大,使用方便的功能验证平台,完成整个SoC系统和各模块的功能验证,缩短项目开发时间,提高一次投片成功率。1.3 课题研究意义在SoC设计流程中,验证工作的工作量十分巨大,而且验证技术的发展落后于SoC设计技术,使得验证技术成为SoC发展的瓶颈。因此,研究验证技术,发展验证技术是十分必要和迫切的。如今的SoC芯片的复杂程度越来越大,IP和重用率也越来越高,因此单一的验证技术不可能完成整个芯片的验证工作,因此如何将各种验证技术合理的结合在一起,提高验证工作的效率是验证工程师的一项重要工作。为所涉及的SoC芯片搭建一个验证平台是现在业界的普遍做法,但是如何搭建一个高效率的验证平台,合理的使用各种验证工具和验证方法也是摆在验证工程师面前的一大问题。本款信息安全SoC芯片设计项目制定了合理又详细的设计流程和计划,在计划中,验证工作绝对是一项重要的任务,只有对芯片的功能和新能进行充分的验证,才能保证SoC芯片正常流片,而项目的目标是一次流片成功,验证工作的重要性进一步提高。因此,设计一款合理而又有效的验证平台是具有非常实际的意义的。1.4 论文结构本论文共有六章,如下:第一章 绪论,介绍论文的课题背景,课题来源以及论文结构。第二章 SoC芯片设计,介绍SoC技术的概况,SoC芯片的基本结构,SoC芯片设计的设计流程及关键技术以及介绍SoC的验证技术。第三章 验证平台设计,介绍SoC芯片验证平台的组成结构,与平台各个模块的具体实现。第四章 验证平台的实现与仿真,介绍基于本验证平台的验证方法,并介绍验证平台实现的C语言环境。还介绍了平台的仿真过程,平台使用的仿真软件,以及平台的自动化仿真脚本。第五章 验证实例,介绍SoC芯片功能呢个模块TIME0的功能验证流程。第六章 总结1.5 小结本章主要介绍了论文的课题背景,课题来源和课题结构。SoC技术的发展日新月异,成为当今时代电子工业的主流技术。信息安全在当今时代也越来越重要。因此,信息安全类的SoC芯片具有很好的市场前景。在SoC设计中,验证工作占据非常重要的地位,是影响芯片质量和上市时间的关键因素。第2章 SoC芯片设计2.1 SoC概述在当今的后PC时代,嵌入式技术由于应用范围最为广泛已经成为21世纪最热门的技术之一。采用嵌入式技术开发的产品遍布于我们的生活之中,例如消费类的电子产品(MP3音乐播放器,电子书等)、办公自动化设备(传真机、打印机等)、商用设备(扫描设备,读卡机等)、家用电器(微波炉等,电磁炉等)、车用设备(传到控制、防锁死刹车器等)、通信设备(手机、交换机等)、军事武器设备(导弹等)、医疗设备(CT、B超等)。由于这些产品的数量庞大,虽然嵌入式计算机与台式计算机相比价格便宜,但是由于其销售额也是十分巨大,所以嵌入式技术的发展空间非常巨大。SoC可以理解成是一种新形式的嵌入式系统,其特点是在单一一块硅片里实现了一个计算机系统所需的全部硬件集成电路和嵌入式软件,属于微电子与计算机的新兴交叉学科;从微电子学的角度来看SoC技术提高了IC的性能,提高了IC的集成度,而且还减少了设计成本;SoC从整个嵌入式系统的角度出发,把模型算法、芯片结构、各层次电路甚至器件设计紧密结合起来考虑,在单个芯片上一次性完成了整个计算机系统的功能7。SoC作为一个专用器件,单个芯片本身就是系统,大大减少了通过“二次集成”构成系统的工作量;由于没有多次集成的附加效应,因此,SoC对整个系统的性能可提出几乎是无止境的要求;很多研究表明,由于SoC设计能够全盘考虑整个嵌入式系统的各种情况,可以再同样的工艺技术条件下实现更高性能的系统指标以及满足更低的成本目标8。2.2 SoC芯片典型结构一块典型的SoC芯片主要包括MPU(微处理器),RAM(随机存储器),ROM(程序存储器),总线控制器,可编程I/O接口,中断控制器,定时计数器,看门狗定时器,时钟控制模块以及用户自定义的特殊功能模块等。图2-1 SoC基本结构2.2.1 微处理器微处理器包括运算器电路和控制器电路。运算器电路是微处理器的运算部件包括ALU(算术逻辑单元)、ACC(累加器)、B寄存器、状态字寄存器等。控制电路是微处理器的控制部件,负责协调各部分电路的工作,包括PC(程序计数器),指令寄存器、指令译码器、定时与控制电路等。控制电路的主要功能是程序指令的执行,先从程序存储器中读取指令到指令寄存器,然后送入指令译码器译码,再将译码结果送到定时控制逻辑电路,再由控制逻辑电路产生各种控制信号送到SoC各个模块中,模块再进行相应的操作9。2.2.2 存储器存储器结构有两种,一种是哈佛结构,一种是普林斯顿结构。哈佛结构是一种并行体系结构,将存储器分为程序存储器和数据存储器两部分。程序存储器和数据存储器是两个独立分开的存储器,每个存储器被独立编址、独立访问。这种结构使得CPU可以同时获得程序指令和数据,数据的吞吐率提高了1倍,从而提高了CPU的执行速度。一般的情况下CPU先到程序存储器中取指,然后进行指令解码,解码後得到操作数据的地址,再到数据存储器的相应位置读取数据,在进行下一步的操作。而哈佛结构下具有流水线功能的CPU可以实现在执行指令的同时进行数据的操作。此外,程序指令存储和数据存储分开,还可以使指令和数据有不同的数据宽度10。普林斯顿结构,也称冯诺伊曼结构,这种结构下不区分程序存储器和数据存储器,程序与数据都保存在一个存储器里。程序和数据存储地址指向同一个存储器的不同物理位置,程序和数据的宽度相同11。此外,对于这两种不同的硬件结构,SoC系统的软件设计层次上编译连接的方式也不相同,本文不再进行描述。 总线结构现代的SoC都是基于总线(BUS)结构搭建的,总线是SoC的核心CPU与存储器和各个模块的连接通道。如果说CPU相当整个SoC系统的心脏,那么总线就相当于SoC的血液循环系统,总线结构保证了整个SoC系统的信息调度的畅通和有序。现在SoC芯片的总线结构越来越复杂,主流SoC总线结构有AMBA、WishBone、IIC、CoreConnect等。2.2.4 中断控制器中断功能使得SoC可以在正常运行固定程序的同时响应系统的突发事件,包括系统内子模块产生的事件和系统外部发生的事件,这涉及到SoC的软硬件之间的协同配合。当有突发事件产生时,子模块可以向中断控制器发送一个中断请求信号,中断控制器负责管理这些中断信号,它会根据现在系统运行情况以及中断请求的优先级决定是否将其发送给CPU,然后由CPU响应该中断,CPU响应完该中断后中断控制器会结束该中断请求。 定时计数器定时器计数器是SoC的一个必备模块,本质上它就是一个计数器,其计时功能是通过对时钟的计数来实现的。定时计数器在很多情况下都有应用。 可编程I/O接口SoC嵌入式芯片往往是一个大应用系统的核心部件,他需要与这个大系统的其它部分进行通信,I/O接口就是SoC微处理器与“外部世界”的连接电路。当前流行的接口电路有USB接口,UART接口,SPI接口,7816接口等等。2.3 SoC芯片设计流程SoC硬件设计包括两种设计方法,即自底向上的设计方法(Bottom-Up)和自顶向下的设计方法(Top-Down) 12。经典的SoC系统设计通常采用的都是自底向上的设计方法,其缺点是只有在实现所有底层模块设计之后才能进行整个系统的功能验证,这大大增加了设计时间13。现在的芯片设计一般都采用自顶向下的设计方法,相对于自底向上的设计方法来说,自顶向下的设计方法是从抽象到具体的过程,这种设计方法首先从整体上规划系统的功能和性能,再将整个系统逐步细分为规模较小的单一功能的模块,直到一直细化到实际的物理实现上;自顶向下的设计可以在设计的初步阶段就进行早期仿真,而整个系统芯片的物理实现则是是在设计的最后阶段,各个阶段的的验证和仿真都可以在计算机平台上以虚拟硬件的形式完成,从而非常实用地提高了设计效率,降低了开发成本,缩短了上市时间,节省了芯片设计所需要的人力和物力资源14。SoC芯片以知识产权(IP)核为功能单元搭建,以分层次的硬件描述语言描述系统功能和结构,借助大量EDA工具进行芯片设计及验证15。基于自顶向下的方法进行的SoC芯片设计的步骤主要包括:功能模块的定义、RTL级代码编写、模块功能验证、综合网表、物理版图实现等环节。其具体环节如下:一,系统统整体设计及规划;二,子模块设计及IP核的使用;三, 顶层模块集成;四, 功能仿真;五,逻辑综合;六,版图布局规划;七, 功耗分析;八,单元布局和优化;九,静态时序分析;十, 形式验证;十一, 可测性电路插入;十二, 时钟树综合;十三, 布线设计;十四, 寄生参数提取;十五, 后仿真;十六, 工程修改;十七, 物理验证16-21。2.4 SoC设计中的关键技术SoC是一种新的IC设计概念,其成功离不开一系列新技术的支持,这些新技术的出现是SoC成功的必要条件。其中特别是IP核复用技术,软硬件协同设计技术以及超深亚级微米工艺技术是SoC的三大支撑技术,正是它们才使SoC的实现成为可能22。除此之外,SoC时序分析与综合、SoC可测性设计、SoC低功耗设计也是SoC设计中的几项关键的技术。下面介绍一下这几项关键技术:2.4.1 IP核复用技术IP核复用技术是SoC设计中最重要的技术之一,IP是知识产权的意思,IP核的一种被广泛接受的定义是:一种事先定义,经验证实可以重复使用的,能够完成某些功能的组块23。根据不同的硬件描述级别IP核可以分为三种:即软核,固核和硬核;软核是可综合RTL级HDL代码的形式,硬核是经过完全布局布线后的GDSII文件形式,而固核则是硬核和软核的中间形式,大多数为FPGA的IP核24-26。IP核的复用在提高产品性能和可靠性的同时十分有效的缩短了产品开发周期并在一定程度上降低了成本。正因为有了这项技术和EDA软件的发展,SoC芯片设计才能满足当今市场对电子产品上市时间的要求,解决了设计周期与产品可靠性之间的矛盾。IP核本身的设计也必须满足特定规范,并经过充分的验证才能够在设计中复用。在使用IP核构建系统芯片时,将现有的IP核应用到实际的设计中经常会出现许多意想不到问题,这是由于业界并很难对IP核的复用制定一个普遍适用的规范,靠IP核的简单堆砌来设计SoC系统绝对达不到预期的设计目的,所以使用IP核时需要考虑多方面的因素,才能将IP核真正融入整个系统中,使系统芯片成为一个有机的整体。 超深亚微米技术SoC芯片设计要求集成度非常高,而SoC芯片的逻辑又非常复杂,规模又非常庞大,这些能够实现都要归功于超深亚微米工艺技术,超深亚微米技术将IC工艺线宽降低到深亚微米级,使得单位面积上集成度越来越高。然而超深亚微米工艺在提高芯片集成度的同时也给芯片设计带来了一系列的问题,比如时序收敛问题,制造工艺进入到超深亚微米级后,器件之间的连线延迟变得越来越大,之前芯片设计时估计器件延迟的方法在这种情况下已经没有可靠性,还有超深亚微米工艺的线间距和层间距很小,在高工作频率下,就会出现明显的天线效应,解决这些问题需要建立精确的时间与连线模型27。 软硬件协同设计技术SoC芯片实际上就是用微电子技术在一个芯片上实现的一个集成度非常高的嵌入式系统,所以SoC的设计还包括一部分嵌入式软件的设计。这就需要把硬件和软件结合起来进行统一的设计和规划,还要兼顾可测性设计和功耗,所以SoC需要软硬件协同设计。软硬件协同设计包括软硬件功能划分,基于硬件结构的软件设计,面向软件的硬件结构设计以及软硬件协同验证等,软硬件协同设计技术在SoC芯片的验证中的作用越来越重要28。2.4.4 SoC时序分析与综合由于SoC规模庞大,集成度高,并由超深亚微米工艺实现,所以SoC的时序分析和综合有了更高的要求,尤其是对SoC时序的预算,时序约束等要求有更高的精度,今年来EDA技术得到充分的发展,这些问题可以使用新的EDA技术予以解决29。 SoC可测性设计技术可测试性设计(Design for Test,简称DFT)也是SoC芯片设计的重要环节,它通过在芯片原始设计中插入各种用于提高芯片可测试性(包括可控制性和可观测性)的硬件逻辑,从而使芯片变得容易测试,这种测试方法也是现在业界广泛使用的方法,它大幅度地节省了流片后的芯片测试的成本30。 SoC低功耗设计技术低功耗设计一般来说是为SoC芯片的各个功能模块配置低功耗工作模式,在不使用该模块时可以关闭该模块的时钟以达到降低整个芯片功耗的目的,其中最重要的CPU模块一般有三种模式既运行模式、停止模式和休眠模式,运行模式时CPU正常工作;休眠模式时CPU运行在一个较低频率时钟下,可以快速唤醒;而停止模式时CPU时钟被停止,CPU停止工作。2.5 SoC芯片验证技术在SoC设计中验证永远是不可缺少的重要组成部分,验证就是用来证明一个设计正确性的过程,其目的是保证设计实现的功能特性(Function)与设计规范(Specification)的描述的一致性31。SoC芯片设计规模庞大、复杂程度高,因此对设计进行充分有效的验证是非常重要的,同时也是非常困难的,验证现已成为SoC芯片设计流程中最复杂、最耗时的环节,SoC设计中的验证工作需要投入的资源已经占到整个设计资源的60%80%32。1999年VSIA举行验证专题会时,许多世界级验证专家得出结论:“Verification is hard”,几周后把结论更正为“Verification is not hard,it is very hard”33。现在业界越来越达成一个共识,那就是单一的验证工具是无法解决所有的验证问题的,需要一系列复杂的工具和技术相互配合减少设计的错误数使设计达到可以接受的程度;经过多年发展,SoC验证研究领域在验证描述语言、验证方法学、验证流程、验证评估以及测试码提取等方面都取得了很大的发展,但总体上验证能力还是落后于设计能力,验证工作仍是整个 SoC 技术发展的瓶颈,怎样创建一种更好更有效率的设计验证方法是当前SoC业界最为关注的问题34-35。 验证流程根据SoC芯片的的设计流程的不同阶段我们可以将验证分为四个层次,在不同的设计层次中设计对象不同验证的内容也随之不同,下图反映了这种层次关系。图2-2 SoC验证流程.1 系统级验证系统级验证一般利用硬件描述语言的行为级描述来搭建所设计的SoC芯片的体系结构进行验证,主要验证SoC系统结构是不是合理,是不是能够满足设计的需要,是不是能够达到较好的性能,由于SoC芯片设计规模庞大,功能复杂,因此需要设计精细的验证模型,一般来说还需要搭建平台进行验证36。.2 RTL级验证RTL级验证的内容主要是功能验证,这部分验证工作并不关心电路的时序。功能验证的目的就是保证电路设计实现的功能与设计规范定义的功能相一致36。功能验证包括模块功能验证和系统功能验证两部分,它的验证对象就是SoC芯片的RTL级HDL源代码,这一阶段的验证主要使用模拟仿真验证的方法来实现。模块验证关注SoC芯片中每个功能模块的功能是否满足设计要求,无论功能模块是由自己开发的、还是第三方的IP核,在系统集成前验证各功能模块的工作都是必需进行的。模块功能验证是保证系统功能正确的基础,由于在项目的早期就开始进行模块功能验证,因此可以尽早发现模块设计的问题与缺陷,并及时进行改正,而且由于SoC系统的复杂性功能模块数量很多,所以模块功能验证的工作量非常之大。系统验证用于验证各个RTL级代码实现的模块组合到一起后是否能够完成SoC系统设计的功能,这部分验证工作在模块的功能验证完成后进行。.3 门级验证门级验证关注的是综合后或版图提取的门级网表的功能和时序是否满足设计规范。门级验证的内容包括等价性验证和时序验证,等价性验证一般使用形式验证的方法检查模块的RTL代码和网表的一致性,时序验证就是验证网表的时序是否符合设计要求,包括静态时序分析和动态时序分析。.4 版图验证版图阶段的验证包括两部分内容,一是验证版图的正确性,主要进行设计规则(DRC)检查、版图与原理图对照(LVS)和信号完整性分析,二是验证实际版图提取网表的时序是否符合设计要求。实际上门级网表阶段的验证和版图阶段的验证是一个迭代的过程,第一次综合的网表的延时信息只是所选器件的估计值,而在版图的布局布线阶段后根据版图还会提取出新的带有实际延迟信息的网表,这时还要对新的网表进行动态时序分析和验证。 验证方法业界对验证方法的分类比较笼统和模糊,现在被广泛使用的验证方法基本上可以分为:基于仿真的动态验证、形式验证、FPGA原型验证以及物理验证等。由于SoC芯片的复杂性,在实际工作中我们有必要这些验证方法结合起来灵活使用以达到最佳
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 建筑环境 > 建筑工程


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!