当前位置:文档之家› 数字集成电路论文ESL方法学的SOC设计与验证技术综述

数字集成电路论文ESL方法学的SOC设计与验证技术综述

数字集成电路论文

题目:ESL方法学的SOC设计与验证技术综述

系名称:信息工程

专业:电子科学与技术

班级:一班

学号:

姓名:

年月日

本文讨论电子系统级(ESL)设计和验证方法学在系统级芯片(SoC)设计中的应用。ESL 设计是能够让SoC 设计工程师以紧密耦合方式开发、优化和验证复杂系统架构和嵌入式软件的一套方法学,它还提供下游寄存器传输级(RTL)实现的验证基础。已有许多世界领先的系统和半导体公司采用ESL 设计。他们利用ESL 开发具有丰富软件的多处理器器件,这些器件为创新终端产品获得成功提供必需的先进功能性和高性能。

为什么中国的电子产业将会对ESL 感兴趣?因为中国领先的电子公司正在经历一场对他们竞争力非常关键的转型。通过采纳技术创新策略,中国将成为纯粹的知识产权(IP)提供者,而不是纯粹的IP 消费者。那些拥有知识产权的公司将持有通向IP 库的钥匙。

为成功地执行创新策略,中国公司必须采用创新领先公司所使用的先进设计方法学。ESL 设计正是这样一种方法学。它已经被诸多国际系统和半导体公司采用。在中国,大唐已率先在中国3G 手机技术-TD-SCDMA 开发中采用ESL 设计,清华大学及其一些产业合作单位也采用ESL 方法学开发先进的地面数字多媒体广播应用。

ESL 发展的背景

电子系统级(ESL ,Electronic System Level )设计方法和ESL 工具相对来说是一种较新的方法学和工具。虽然这种方法学的提出和工具的开发在20世纪90年代已经开始,但由于相关工具无法配合及市场需求较少,在过去几年EDA 产业一直居于不太起眼的位置。随着90nm 技术的出现,上亿门规模电路的开发及系统的复杂度得剧增,ESL 设计逐渐受到重视,但真正能够执行设计流程所需的ESL 工具,直到最近几年才开始陆续上市。

ESL 设计指系统级的设计方法,是从算法建模演变而来的。ESL 设计已经演变为嵌入式系统软、硬件设计、验证、调试的一种补充方法学。这些嵌入式系统包括SoC 系统、FPGA 系统、板上系统、多板级系统。

ESL 设计以抽象方式来描述SoC 系统,给软、硬件工程师提供一个虚拟原型平台,用以进行硬件系统结构的探察和软件程序的开发。在ESL 设计中,系统的描述和仿真的速度快,使设计工程师有充裕的时间分析设计内容。ESL 设计不仅能应用在设计初期与系统架构规划阶段,也能支持整个硬件与软件协同设计的流程。

引言

随着工艺能力和设计能力的快速发展,为了满足嵌入式系统市场对于成本、功能和功耗的要求,SoC(System on-a-Chip)设计技术已经成为一种发展趋势。众所周知,迄今为止在集成电路发展过程中,摩尔定律(单芯片上所能集成的晶体管数目每18个月翻一番)一直在起作用,因此SoC 的规模和功能在不断急剧膨胀,使得设计验证日益重要,向业界提出了巨大挑战,已成为了整个SoC 设计流程的瓶颈[1]

目前芯片一次投片成功率只有35%左右,造成芯片重复投片的主要原因就是验证不够充分。SoC 设计的验证需要投入的资源已占整个设计资源的60%~80%。1999年当VSIA 1举行验证专题会时,许多世界级验证专家得出结论:验证是件困难的事(hard ),几周后更把结论更正为“Verification is not hard,it is very hard”。现在愈来愈达成共识:单一的设计工具难以解决验证问题,而需要一系列复杂的工具和技术,来减少设计错误数,使之达到可接受的程度。

SoC经过6、7年的发展,有了广阔的市场。SoC验证研究领域在验证技术、验证方法学、测试码提取、验证描述语言、IP核重用验证、验证流程及验证评估方面取得了长足进步。但总体而言验证技术已经落后于设计和制造能力,模拟和验证工作成为整个SoC学科发展的制约瓶颈,给提高设计生产率造成了障碍。如何构建一种更快更好的设计验证方法学是当前SoC业界所关注的问题。

SoC概述

什么是SoC

SoC即系统级芯片,是一种专门用来描述高集成度器件的术语,也称SLI(System Level Integration)。SoC将系统的主要功能综合到一块芯片中,本质上是在作一种复杂的IC设计。SoC是集成电路设计和工艺的发展产物,它可以将整个系统集成在一个芯片上。

1995年美国的调查和咨询公司Dataquest对SoC的定义是,包括一个或多个计算引擎(微处理器/微控制器/数字信号处理器)、至少10万门得逻辑和相当数量的存储器。随着时间的不断推移和相关技术的不断完善,SoC的定义也在不断发展完善。现在的SoC中,要在芯片上整体实现CPU、DSP、数字电路、模拟电路、存储器及片上可编程逻辑等多种电路,综合实现图像处理、语音处理、通信协议、通信机能、数据处理等功能。

SoC按用途的不同可以分为两种类型,一种是专用SoC芯片,是专用集成电路(ASIC)向系统级集成的发展。另一种是通用型SoC芯片,将绝大部分部件,如MCU、DSP、RAM、I/O等集成在芯片上,同时提供用户设计所需的逻辑资源和软件编程所需的软件资源。

SoC的构成

在目前的集成电路设计理念中,IP是构成SoC的基本单元。所谓IP可以理解为是满足特定规范,并能在设计中复用的功能模块,又称IP核(IPCore)

从IP的角度出发,SoC可以定义为基于IP模块的复用技术,以嵌入式系统为核心,把整个系统集成在单个(或少数几个)芯片上,从而完成整个系统功能的复杂的集成电路。目前的SoC集成了诸如处理器、存储器及输入/输出端口等多种IP。

SoC设计方法的发展与挑战

未来的SoC中将会用到更多的处理器,以便更加灵活的支持不断出现的新应用。设计方法也会改进来应对新的挑战,它会对设计工具提出新的要求,产生新的设计技术。

1.系统级设计

SoC的设计应该是一个软件、硬件协同设计的过程,这也是一个SoC系统一个非常重要的标志。然而,传统的集成电路设计方法一般都是将系统级设计分为两个阶段:系统级软件开发阶段和电路级硬件设计阶段。需要特别指出的是,软件开发和硬件设计往往是相对独立进行的。在系统级,软件开发人员使用如C/C++等的高级编程语言进行系统描述和算法仿真,并分析系统在软件层面的各项指标,撰写系统设计书,然后移交给硬件设计工程师。在电路级,硬件设计师首先要花大量的时间理解系统设计书,之后才能利用VHDL或Verilog 硬件描述语言进行电路设计。在此手工转换的过程中,可能还会引入人为的错误因素。另外,为了验证软件开发的正确性,必须等到硬件全部完成之后才能开始软件测试和系统集成,大大延长了设计的进程。传统的设计方法使得软件和硬件之间很难进行早期的平衡和优化,并

有可能严重影响开发成本和开发周期。根据有关统计从系统级设计到电路级设计所花费的时间一般是系统级设计所花时间的3倍左右。因此在系统级设计与电路级设计之间架设一座桥梁,提高设计效率,保证设计成功,已经成为集成电路设计领域极为迫切的任务。

在更高抽象层次上的建模,如系统级建模,可以使硬件及软件工程师在同一个平台上设计。业界领先的公司采用电子系统级设计方法是因为它利用系统级建模,使设计工程师能够及早进行软件开发,实现快速设计和派生设计、快速硬件验证及快速硬件/软件验证。它还可以提供来验证下游RTL实现符合系统规范的功能测试平台。此外,ESL设计工具可以综合针对应用优化的定制处理器,以及快速开发和实现先进算法。

对于一个大型软件开发任务,尽可能早地开始软件开发很有必要,即使原有软件的复用程度很高。采用基于高级语言的ESL设计方法学,SoC架构工程师可以生成一个用来仿真的SoC行为模型,如果需要,还可以生成仿真SoC周期精确时序的高级模型。这个模型称为事物模型(TLM),它使软件设计工程师在RTL设计或者硅原型完成前的几个月就可以着手进行软件开发工作。

高层次的抽象使得多种验证可以更早地进行,减少了产品的面世时间,降低了产品的成本,并且可以更早地发现设计错误。

随着高级抽象层的事物级建模标准化,自动成设计的高层次综合技术正在向普及性发展。基于事物级建模的系统设计将成为重要的发展趋势之一。

2.基于可配置处理器设计与使用的SoC设计方法

当前普遍的SoC设计方法都是基于以一个或多个高性能通用RISC处理器核(如ARM、MIPS等)为核心,构成一整个片上系统体系架构。然而,通用处理器核的性能往往不能满足如信号处理、视频图像、协议实现、信息安全等数据密集型处理任务。现有的典型设计方案,大多是在SoC片上加载一个算法加速单元,通过硬件连线逻辑的设计方法来实现。但也可以看到,这样的设计方法会导致芯片面积和成本的急剧上升,同时算法加速单元的效率也可能会由于处理器核本身功能上非专用的缺陷而受到限制。

从前面的系统级设计方法可以看到,要最有效地发挥SoC的性能,尽可能早地与软件结合确定设计方案是一种行之有效的方法。而如果能够对软件设计出专用性强、算法实现效率高的特殊处理期核,则会更方便的实现SoC的高效性。于是,一种新型的处理器内核,可配置的、可扩展的微处理器核(Configurable Extensible Microprocessor Core)应用而生了。这样的处理器往往通过一个生成器或编译器直接生成,这种过程的特点是可以将高层次的应用需求以指令集、代码或者高级语言直接转换为高效的硬件设计和软件工具,从而极其方便地为设计者如何使用、整合、互联形成处理器提供了积极有效的帮助,也为以这样的一个或多个处理器为核心构成SoC提供了极大的参照便利,更重要的是能使其尽早结合软件应用来实现处理器和SoC性能的优化。

使用这些可配置、可扩展的专用处理器作为SoC系统中子系统的底层构件,完全可以根据软件的需求作合适的调整,省略其中不必要的硬件组成部分,使得部分合适的软件能对其专用或共享,而其他软件程序则可以根据自身要求再“裁减”一套新的处理器核。从这点可以看出,处理器的效率肯定会得到大幅度的改善。

诚然,现今也有许多也有相当多的设计者使用多个高性能通用微处理器构成SoC,同样也能提高性能。但需要指出的是,这样环境下,至少一个处理器核的功能肯定得不到完全发挥,其内部对应用而无言应用的逻辑会使整个速度和功耗指标收到损失。但是专用可配置处理器在这点的优势上较为明显,自动生成的微处理器核只包含应有所需要的功能,因此基础指令集中一定不含有应用目标中不会使用和无关的功能,由此相应带来的面积、功耗和速

度等方面的负担也会得到相应的减少。因此,使用可配置、可扩展的专用处理器作为SoC 的功能模块,会成为SoC设计中的一种必然选择。

3.未来的SoC

高集成度的SoC设计只是这个问题中重要答案的一部分。在广泛的产品类型中,设计者努力争取将系统所有的重要数字功能,如网络开关、打印机、电话、数字电视等做在一个芯片上。同样,SoC设计也力争将所有的重量级功能,如高效通信信号处理、图像和视频信号处理、加密和其他应用加速功能,集到一个芯片上。

以前,绝大多数这样的功能都是靠使用专用的硬件加速器来实现。这就是得设计周期长、成本高,而且产品寿命短。以电子系统级设计为代表的先进的SoC设计方法的出现,使得多个处理器或DPS和可配置的处理器为中心的复杂SoC设计变得简单。而灵活的软件方案可以更有效地解决这个多变、复杂的应用问题。可以预测,以多个处理器和可配置的处理器为中心的复杂SoC必将成为未来的主流。

4.SoC的设计流程

用SoC 技术设计系统芯片,一般先要进行软硬件划分,将设计基本分为两部分:芯片硬件设计和软件协同设计。芯片硬件设计包括:

1.功能设计阶段。

设计人员产品的应用场合,设定一些诸如功能、操作速度、接口规格、环境温度及消耗功率等规格,以做为将来电路设计时的依据。更可进一步规划软件模块及硬件模块该如何划分,哪些功能该整合于SOC 内,哪些功能可以设计在电路板上。

2.设计描述和行为级验证

能设计完成后,可以依据功能将SOC 划分为若干功能模块,并决定实现这些功能将要使用的IP 核。此阶段将接影响了SOC 内部的架构及各模块间互

动的讯号,及未来产品的可靠性。决定模块之后,可以用VHDL 或Verilog 等硬件描述语言实现各模块的设计。接着,利用VHDL 或Verilog 的电路仿真器,对设计进行功能验证(functionsimulation ,或行为验证 behavioral simulation )。注意,这种功能仿真没有考虑电路实际的延迟,但无法获得精确的结果。

3.逻辑综合

确定设计描述正确后,可以使用逻辑综合工具(synthesizer )进行综合。综合过程中,需要选择适当的逻辑器件库(logic cell library ),作为合成逻辑电路时的参考依据。硬件语言设计描述文件的编写风格是决定综合工具执行效率的一个重要因素。事实上,综合工具支持的HDL 语法均是有限的,一些过于抽象的语法只适于做为系统评估时的仿真模型,而不能被综合工具接受。逻辑综合得到门级网表。

4.门级验证(Gate-Level Netlist Verification )

门级功能验证是寄存器传输级验证。主要的工作是要确认经综合后的电路是否符合功能需求,该工作一般利用门电路级验证工具完成。注意,此阶段仿真需要考虑门电路的延迟。

5.布局和布线

布局指将设计好的功能模块合理地安排在芯片上,规划好它们的位置。布线则指完成各模块之间互连的连线。注意,各模块之间的连线通常比较长,因此,产生的延迟会严重影响SOC 的性能,尤其在0.25 微米制程以上,这种现象更为显著。

SoC 验证研究内容

SoC 验证工作比较繁杂。Janick Bergeron 给“验证”下的定义是“证明一个设计的功能是否正确的过程”。SoC 的验证工作贯穿整个设计流程,从行为级HDL 2

设计,一直到芯片设计定案之前都需要做足够多的验证工作,当前验证工作已经占整个设计工作70%左右。图1是SoC“设计缺陷(BUG )”分布情况,其中功能缺陷超过60%。可见SoC 验证工作重点应在功能验证上。

SoC 验证研究内容很多,如:IP 核/模块级验证(Block-Level Verification )、系统级验证(System-Level Verification )、仿真验证(Simulation )、软硬件协同验证(Hardware/Software Co-verification)、等价性检查(Equivalent checking )、静态时序分析和时序验证(Static timing analysis & Timing Verification )、版图验证(Physical verification )等。随着验证技术的逐步发展,验证方法由最初的直接测试向量生成(Directed Test Vector Generation ),到约束随机

测试(Constrainted Random Test),再到覆盖驱动验证(Coverage- driven Verification),一直到最新的基于断言的验证方法(Assertion-based Verification),各种验证方法在不断创新发展。

SoC 验证流程与技术

SoC 验证流程与计划

SoC 的验证工作始终贯穿整个设计流程。从阶段划分上说,SoC 验证可以分为功能验证、等价性验证、静态时序分析、动态时序分析和版图验证等几个主要阶段,如图2所示。

有了SoC 验证流程还很不够,需要验证计划(Verification Plan ),这为SoC 验证工作提供重要质量保证,它规划如何来验证一个设计,主要包括以下内容:

1. 对模块和顶层的测试策略

2. 组成标准测试程序(Testbench )的各个组件的定义和规范,如BFM 3

、总线监视器

(Bus monitor )等

3. 用到的验证工具和流程

4. 仿真环境的定义和搭建

5. 关键的验证点

6. 验证工作结束的标准

SoC 验证流程图

功能验证内容

功能验证(Functional Verification )是验证中最复杂,工作量最大同时也是最灵活的部分,包括模块/IP 核级验证、系统级验证、模拟仿真等。

模块/IP 核级验证

任何SoC设计均由一系列模块组成。模块可能是自己开发,也可能是重用第三方的IP 核。不论哪种情况,在系统集成前做IP核验证工作是必需的。模块/IP核级验证流程如图3所示,软性检查(Link Checking)主要检查代码语法、可综合性、变量未初始化、结构化可支持性和端口失配性等;规范模型检查(Formal Model Checking)主要做设计特征遗漏性检查,以在早期发现错误状况,尤其对控制流设计效果明显,通过设计文档非正式说明、与设计者非正式沟通等途径抽取特征疑问,逐一验证,消除缺陷;功能验证(Functional V erification)

主要利用基准测试向量基于事件或基于时钟进行功能验证,如黑盒测试、白盒测试和灰盒测试(gray-box)等;协议检查(Protocol Checking)主要验证是否违犯总线协议或模块互连约定,按照协议逐一检查并比较结果;直接随机测试(Directed Random Testing)通过随机产生数据、地址、控制等信号检查功能正确性,减少模拟仿真工作量;代码覆盖率分析(Code Coverage )主要根据模拟仿真时统计代码被执行数,可以按陈述句、信号拴(Toggle)、状态机、可达状态、可触态、条件分支、通路和信号等进行统计分析,以提高设计可信度。

系统级验证

系统级验证主要确认芯片体系结构满足所赋予的功能/性能要求。系统级设计阶段将用户需求转换成功能/性能要求,并实现行为/功能设计,然后映射到相应的体系结构上(设计输入、硬IP核、软IP核、软/硬件划分、性能分析、总体优化、性价比评估等反复叠代),最后进行系统级验证,如图4所示。

在系统级验证中,往往要构建虚拟目标系统,如中科SoC芯片在实施验证时,将其所有对

外接口挂接许多虚拟IP核,同时编制了BIOS 4

、RTOS

5

及应用测试程序(包括驱动程序)。

首先做功能验证,验证是否满足要求;其次做软硬件性能验证;第三做系统级基准测试(自顶向下验证策略),抽取特定功能,编制测试向量/程序,定义对错条件,覆盖所有功能,形成基准测试程序(反复迭代),用于模拟仿真。

协议验证

为了验证协议行为,必须明确地定义所有可能发生的操作类型。强烈建议,将所有操作类型列出表格,并且对于每一种操作类型至少开发一个类型至少开发一个测试。在大多数SoC设计中,不是所有(协议支持的)可能的操作类型都是允许的。操作类型通常被限制在很小的数目,因此确定所有支持的操作类型并为它们开发各种测试不是一个巨大的任务。为

了将来在任何操作中使用多组数据进行协议行为的自动化测试,在片上总线中可以使用简单和规则的结构,如总线监视器。

通过在总线控制器中构建总线监视器,用于验证事务处理协议的可观测性和可控制性都得到增强。内嵌总线监视器允许对适当次序下的精确操作进行控制和观测,并且有利于调试。但是应注意,当在总线控制器中构建了总线监视器时,需要总线功能模型而不是全功能模型。

在模块化设计中,接口模块的行为描述和RTL 级描述可以与核的内部逻辑分开,以易于总线监视器接口之间的交流,并在行为级和RTL 级进行仿真。

在这个方法中,除被测试的核之外,每一个核的总线功能模型都取代了其物理网表。对于每个接口模块,使用各种核的总线功能模型及被测核的行为的或RTL 模型,建立一个RTL 级得测试平台以生成测试序列。该测试平台中确定性的测试数据(激励)应根据使用者希望的操作数据给出。使用这种方法,可以进行全局总线上的接口与事务处理协议的仿真,当数据从一个核直接传输到另一个核而不经过全局总线时,也可以进行点到点的接口仿真。

这种方法的一个局限,就是对于所有可能的数据值和每个接口收到的所有数据序列,都无法确保其行为正确;因此,随机数据也应该作为激励的一部分。使用随机数据需要特殊考虑,使核的逻辑不会被强行进入非法状态,并且在核的输入端不出现非法数据序列。为此,或者在随机数据产生时使用过滤器,或者在接口处设置一个可以抑制非法数据的检查器。

响应检查应由人工方式进行,因为即使测试使用确定的数据,也很难表征期望的数值;因此,自动检查只限于一般结果,例如检查非法的输出操作和状态机循环。

FPGA 验证

随着半导体制造技术不断的前进和相应的设计规模以及复杂度飞速的增长,使得传统的软件仿真工具已不可能完全解决功能验证的问题。而且一些需要处理大量实时数据的应用(如视频)也越来越多,因此要求能够在接近实时的条件下进行功能验证[2]。

FPGA 8验证成为SoC 设计流程中重要的一个环节,一方面作为硬件验证工具,可以将所设计的RTL 级代码综合实现后写入FPGA 芯片进行调试检错;另一方面可以进行软件部分的并行开发,在验证板上检测驱动程序、启动操作系统。FPGA 验证的流程相当于一个FPGA 设计的主要流程,它主要分为设计输入、综合、功能仿真(前仿真)、实现、时序仿真(后仿真)、配置下载、下载后板级调试检错这几个步骤。总的来说,FPGA 验证是整个SoC 设计中一个重要而且有效的验证步骤,用来改进RTL 级设计代码,验证功能的正确和完整性,提高SoC 流片成功率。

功能验证方法

直接测试向量生成

直接测试向量生成(Directed Test V ector Generation )遵守WYTWYVO 原则,即

What-Y ou-Thought-of-is-What-Y ou-V erify-Only ,所以需要产生大量的测试向量才能覆盖尽可能多的各种传输组合。这不但要耗费大量的时间和精力,而且很难达到满意的覆盖率。另外

这种方法还需要手工检查结果,只适合比较简单的模块或系统,已经逐渐淡出。

约束随机测试

直接测试向量往往需要手工加入,这样难免会遗漏一些考虑不到的情况,因此有学者提出了随机测试(Random Test)的方法。这种方法让测试向量随机生成,因此在足够长的时间内可以产生大量的随机向量,这样可以比较容易地覆盖到一些考虑不到的情况。

但随着验证技术的发展,验证工程师发现这种完全随机的验证方法一般需要比较长的时间才有可能达到令人满意的覆盖率,而且有些设备的传输类型只有几种,这样就导致把时间浪费在了一些根本不需要产生的测试向量上,所以又提出了约束随机测试(Constrained Random Test)这种新的验证方法,这种方法可以有效的缩短验证时间,在短时间内达到令人满意的覆盖率。

由于约束随机测试可以约束验证环境中各个层次上的属性,所以这种方法可以更真实地反映一个实际的系统。使用约束,特别是带权值(在整个测试中出现的比例)的约束可以很容易地按事先确定的比例产生验证工作所需要的具有某些特殊属性值的一类或几类测试向量,而且如果加入记分板(Scoreboard)技术和自检测(Self -check)技术,会更加易于发现设计中的错误。

覆盖驱动验证

覆盖率一般表示一个设计的验证进行到什么程度,也是一个决定功能验证是否完成的重要量化标准之一。覆盖主要指的是代码覆盖(Code Coverage)和功能覆盖(Functional Coverage)。代码覆盖可以在仿真时由仿真器直接给出,主要用来检查RTL代码哪些没有被执行到。使用代码覆盖可以有效地找出冗余代码,但是并不能很方便地找出功能上的缺陷。

使用功能覆盖则可以帮助我们找出功能上的缺陷。一般说来,对一个设计覆盖点的定义和条件约束是在验证计划中提前定义好的,然后在验证环境中具体编程实现,把功能验证应用在约束随机环境中可以有效检查是否所有需要出现的情况都已经遍历。功能验证与面向对象编程技术结合可以在验证过程中有效地增减覆盖点。这些覆盖点既可以是接口上的信号,也可以是模块内部的信号,因此既可以用在黑盒验证也可以用在白盒验证中。通过在验证程序中定义错误状态可以很方便地找出功能上的缺陷。

基于断言的验证方法

在验证过程中,一般很难找出跨多个时钟周期、顺序相关的一系列操作的时序和功能是否有不符合规范的地方,为此研究出基于断言的验证方法(Assertion -based V erification)来推动验证技术发展。这种方法要用基于断言的验证语言,比如OpenV eraAssertion语言(OV A)、SystemV erilog Assertion语言(SV A)、Property Specification 语言(PSL)等。

使用断言可以很方便的对一个给定输入的设计的期望行为进行精确的描述,从而可以很方便的描述输入/输出行为、总线协议以及设计中的一些复杂的关系。基于断言的验证语言

9可以使用简单的语言结构来建立精确的时序表达式。这些表达式可以代表HDL或者HVL

中的事件(events)、序列(sequences)和事务(transactions)等。通过检查这些表达式是否发生,可以很简单地进行功能覆盖的检查,并且这种覆盖率分析是针对跨多个时序周期的一

个事件序列或者整个传输的,所以比传统的覆盖驱动验证的抽象层次要高。

传统覆盖分析要专门为覆盖分析而写大量的代码,而断言的覆盖分析可以直接使用在协议检查或者事件描述中用到的那些时序表达式,因此编码会更加灵活、简洁。在验证环境中使用基于断言的验证语言书写的模块(一般为Checker 和Monitor )的可重用性优于用HDL 和HVL 写的模块,此外要结合仿真器在仿真环境中进行验证的工作,不过这些代码可以直接应用到形式验证(Formal V erifi- cation )上。

形式验证

形式验证(Formal Verification )主要是用来在覆盖所有可能的输入情况下检查是否与给定的规范一致。形式验证主要包括两部分:一是等价性检查(equivalence checking ),二是模型检查(model checking )。等价性检查主要是检查两个门级网表(gate-level netlist )之间是否一致,保证网表处理后不会改变电路的功能,或者保证网表能正确地实现RTL 代码所描述的功能,或者保证两种RTL 描述逻辑一致。这种方法主要是用来寻找实现(implementation )中的缺陷,而不是设计中的缺陷。因此这种方法很难发现同时存在于两种要比较的描述中的固有缺陷 [3]。

模型检查主要是检查RTL 代码是否满足规范中规定的一些特性(properties )。在规定这些特性时一般使用特性规范语言(Properties Specification Languages ),目前一般也使用基于断言的验证语言。由于这种方法可以在不需要仿真的前提下检查设计中所有可能出现的情况是否满足规定的特性,所以使用这种方法不会遗漏任何的边界情况(corner-case )。但是随着设计复杂度的增加和特性的增多,状态空间(state space )会成指数级增长,为了克服这一困难出现了一种新的验证方法——半形式验证(semi-formal verification ),如Synopsys 公司的Magellan 工具。这种方法把仿真技术的低复杂性和形式方法的完整性结合了起来。 时序验证

时序验证是用来避免时序异常的验证方法,主要包括静态时序分析(Static Timing Analysis )和动态时序分析(Dynamic Timing Analysis )。

静态时序分析(STA)根据设计规范的要求通过检查所有可能路径的时序,不需要通过仿真或测试向量就可以有效地覆盖门级网表中的每一条路径,在同步电路设计中快速地找出时序上的异常[4] 。静态时序分析可识别的时序故障包括:建立/保持和恢复/移除检查(包括反向建立/保持)、最小和最大跳变、时钟脉冲宽度和时钟畸变、门级时钟的瞬时脉冲检测、总线竞争与总线悬浮错误、不受约束的逻辑通道,还能计算经过导通晶体管、传输门和双向锁存的延迟,并能自动对关键路径、约束性冲突、异步时钟域和某些瓶颈逻辑进行识别与分类。时序分析工具目前主要有Primetime 、Time Craft 、Time Director 和SST Velocity 等。

动态时序分析主要指的是门级(或对版图参数提取结果)仿真。这种方法主要应用在异步逻辑、多周期路径、错误路径的验证中。随着设计向130nm 以下的工艺发展,只用静态分析工具将无法精确验证串扰等动态效应。通过动态时序分析与静态时序分析相结合可以验证时序逻辑的建立-保持时间,并利用动态技术来解决串扰效应、动态模拟时钟网络。

物理验证(Physical verification )

物理验证主要是进行设计规则检测(DRC 10)、版图与原理图对照(LVS 11

)和信号完整性分

析。SoC 设计要求采用一种不受设计类型约束的物理验证工具,如Hercules ,来完成这两项任务,为制造复杂SoC 提供灵活性和保证。.

随着加工工艺的不断提高,带来了大量的信号完整性问题。互连线变得又细又高,线间距也越来越小,互连路径与相邻连线间存在的耦合电容成倍增加,因耦合产生的噪声与伪信号等串扰效应可能成为影响集成电路延迟的重要因素。此外,电流在经过电路时会产生阻性电压降(IR drop )导致后面的门电路因电压降低而使其延迟增加,甚至达不到门槛电压。因此在STA 计算延迟时必须考虑串扰和电压降等对电路延迟带来的影响。这使时序验证越来越复杂,也越来越重要。

门级仿真

总线接口逻辑的门级网表应该进行功能和时序的验证。

形式验证可以用来验证门级网表的正确性。时序验证应使用验证流程,随后对延迟反标注的V erilog/VHDL 网表进行门级仿真。总线接口逻辑的门数一般比较少,因此,门级仿真可以有效地完成。

SoC 验证技术发展方向

在对IP 核进行验证时,传统的方法是,IP 核提供者在提供IP 核的同时也要提供该IP 核的测试向量和测试环境,使用这些测试向量和测试环境来验证测试结果是否正确。这种方法的缺陷在于,虽然这个IP 核本身设计是正确的,但是在一个SoC 中,每个IP 核并不是独立存在的,它与其他的IP 核之间必然存在数据交互和总线竞争,没有其他IP 核协同验证是很难接近真实情况的,这样的验证也是不完备的[5] 。在SoC 的实际设计过程中,设计上的问题很多都是在对SoC 进行系统仿真验证的时候才暴露出来,主要体现在IP 核与IP 核之间信号时序的不匹配。这样的错误的定位和更正所需工作量都比较大,造成验证效率低下。在一个实际系统中,经常会有几个IP 核同时发出请求让总线仲裁。但是由于C 语言和汇编语言不支持并行的操作,因此使用这些语言书写的测试程序只能串行地去控制每个IP 核,因而很难模拟这种多个IP 核并发的情况。而使用FPGA 进行系统级测试时,由于FPGA 对外输出有限,系统工作起来只能通过有限的输入输出引脚来辅助定位,对于设计中的错误较难定位和纠正。

SoC 验证与其他数字芯片相比最大的不同在于:因为SoC 中需要集成大量的IP 核,而且由于IP 核经常是来自于不同的供应商,使得它们的验证更加困难。有时候甚至需要对IP 核进行部分修改才能适合具体SoC 的要求。因此IP 核协同验证成为IP 核验证中的一个难点。IP 核提供商所提供的测试向量和测试环境很难重用在多个IP 核协同验证的环境下。供应商有时不提供IP 核的RTL 描述,只是给出行为级的描述和接口时序文档。这样的IP 核不能烧入FPGA 进行系统级验证,这就要求我们能提供一个系统的验证环境来解决多个IP 核协同验证的问题。同时,如果每一次系统级验证都要重新搭建验证环境、编写验证代码,从时间上和人力上都是无法接受的。由于SoC 设计中系统结构和大量IP 核存在着可重用性,在SoC 验证中也可以尽量重用以前的验证代码,使之适应新的设计要求,从而提高验证效率。

为了解决上述设计中的问题,可采用灵活可配置的集合了多种验证手段的系统验证平台,下图所示的中科SoC 验证平台。该平台综合使用直接测试、约束随机测试、形式化属

性检查和覆盖驱动验证等多种方法,进行一定量的仿真工作,通过观察时序属性检测报告、数据检查报告、覆盖数据报告和波形来判断是否完成了验证工作。

结语及SoC的发展前景

随着半导体制造技术不断的快速发展,SoC设计规模以及复杂度飞速地的增长。尤其是在进入深亚微米工艺后,SoC设计和开发遇到了大量的信号完整性和设计完备性问题,为了验证整个芯片的正确性必须要做大量的验证工作,而芯片的上市压力又要求验证工作必须在尽可能短的时间内完成,SoC验证正越来越成为整个设计流程中的关键部分,灵活可配置的集合了多种验证手段的系统验证平台日益重要。为此,业界一直在努力开发新的工具和方法,比如新出现的硬件仿真加速器(Hardware Emulator Accelerator),同时不断完善。

在德国慕尼黑举行的“欧洲设计自动化和测试大会(DA TE )”的主题演讲中,韩国三星电子Jeong-Taek Kong(三星副总裁,半导体业务部门半导体研发中心CAE小组负责人)结合本公司的开发实例,讲述了SoC(芯片级系统)的相关课题,并对其未来发展做了展望。演讲的题目为“纳米时代的SoC:开发课题和无限潜能”。

Jeong-Taek Kong首先表示,半导体产业的发展过去主要受益于PC及便携产品,而现阶段的推动力则是IT产业,下一阶段的关键词将是“泛在(Ubiquitous)”。他指出,在当今纳米时代,1枚芯片上即可集成数亿个晶体管,设计技术人员已经能够通过半导体手段实现高级的系统理念,各类SoC令泛在社会的实现极具现实性。但SoC仍存在着如何降低耗电量和产品价格等诸多问题,从系统级设计,到制造技术,整个工序都必须取得突破。他强调说,尤其是EDA技术将是解决纳米元件物理性问题,以及系统复杂化问题的重要技术。

接着,他介绍了该公司开发的面向手机等领域的各种SoC产品。另外还对三星的技术开发实力夸奖了一番,他表示NAND型闪存尽管不属于SoC,却超越了摩尔法则,其集成度正以每年2倍的速度不断提高。同时他还指出,诸如质量不稳定和成品率下降等在工艺提高过程中所产生的问题正在日益显现,由此造成开发费用剧增。此外他还强调说,软件今后在开发费用中所占的比率将会不断增大。

随后,作为工艺发展过程中存在的重大问题,他举出了晶体管的后期单价(量产时)与最初6个月的初期单价(开发初期)之间的差距越来越大。从经济效益上来讲,这种差距包括技术性和战略性两个方面。在技术方面存在着设计效率、耗电量,以及DFM(可制造性设计,Design For Manufacturability)等课题;在战略性方面则存在着如何挖掘SoC关键性应用领域的问题,因此必须转变思维模式,进行创新。

在DFM方面,他还做了进一步的说明。介绍了通过引进统计学上的设计手法,提高成品率的案例。他表示将某种工艺的不稳定性数据反馈给设计人员这一点非常重要。在对低耗电量的研究方面,他举出了在移动产品领域使用MTCMOS,大幅降低泄漏电流的案例。此外,还介绍了通过TLM(Transaction Level Modeling)这种耗电量预测与优化手法,将耗电量降低56%的成功案例。对于设计效率方面的课题,他补充说ESL(Electronic System Level)设计必须要有进一步的发展。

他最后表示,大学、无工厂半导体开发商、EDA开发商和集成设备制造商(Integrated Device Manufacturer,IDM)之间的相互协作,对于SoC的顺利发展是必不可少的。他总结说,假如能把系统级设计、低耗电和验证等课题清理出来,并加以解决的话,SoC的未来将拥有无限的发展空间。

参考文献

[1] 柴远波张兴明著。现代SoC设计技术电子工业出版社2009.11

[2] 郭炜郭筝谢憧著。SoC设计方法与实现电子工业出版社2007.6

[3] Rochit Rajsuman 著于敦山盛世敏田泽译北京航空航天大学出版社2003.8

[4] 马光胜冯刚编著。SoC设计与IP核重用技术国防工业出版社2006.8

[5] 王道宪主编刘丽著。SoC原理、实现与应用国防工业出版社2005.2

[6] 赵鹏朱正学李金才著。SoC系统开发从实践到提高中国电力出版社2007.6

[7] 郭兵沈艳林永宏韩磊著。SoC技术原理与应用清华大学出版社2006.4

课程大纲_SoC设计方法与实现

《系统级芯片(SoC)设计》课程教学大纲 一、课程基本信息 课程代码: 课程名称:系统级芯片(SoC)设计 学时/学分:32/2 学时分配:授课:24 实验: 8 适用专业:集成电路设计与集成系统、电子信息技术、微电子、计算机工程授课学院:微电子学院、计算机学院 先修课程:电子线路基础、数字逻辑电路、超大规模集成电路设计专用语言同修课程: 教材及主要参考书: 教材:魏继增、郭炜等编《SoC设计方法与实现》(第4版), 电子工业出版社,2021。 参考书: (1)田泽著,《SoC设计方法学》,西北工业大学出版社,2016 (2)潘中良,《系统芯片SoC的设计与测试》,科学出版社,2009 二、课程简介 通过该课程的学习,使同学们掌握SoC设计的概念、设计流程、IP复用方法、SoC验证与测试、SoC低功耗设计和后端设计。通过上机实践锻炼SoC设计仿真与验证的能力,通过课程设计,培养学生进行系统级芯片设计、文献检索、综合分析、EDA软件使用、沟通交流、团队合作等能力。 三、课程目标 1. 工程知识能力:掌握系统级芯片的概念、架构、设计方法和技术等专业知识,并能够正确应用这些专业知识对系统级芯片的工程问题进行表述和分析; 2.设计开发能力:能够针对具体的应用需求,提出系统级芯片的设计原型方案,体现创新意识,并正确使用EDA工具软件对提出的系统级芯片设计方案进行实现、仿真和验证。 3. 沟通合作能力:能够根据系统设计需求,进行团队合作,完成团队分配

的工作,撰写设计方案,能够清晰地进行陈述发言表达自己的设计思想,与他人进行沟通和交流。 4. 情感素质:让学生了解国内集成电路行业面临的挑战,激发学生的兴趣与责任感,具有投身奉献集成电路行业的热情;通过SoC设计技术的研讨,使学生意识到精益求精的重要性;通过实验和课程设计环节,使学生在设计环节中要考虑社会、健康、安全、法律、文化以及环境等因素,培养成诚实守信、严谨求真等工程伦理素养。 四、基本要求 本课程涉及了数学、物理、电工电子、计算机、超大规模集成电路设计等领域相关理论基础与专业知识,与工程应用密切联系,具有很强的实用性。 教学过程中要注意与先修课程基础知识的联系,掌握系统级芯片设计的概念、设计流程、IP复用方法、验证与测试、低功耗设计和I/O环的设计。通过上机实践和课程设计锻炼系统级芯片设计、仿真与验证的能力。 在SoC设计趋势和挑战讲述中,注意让学生了解SoC面临的挑战及其存在的原理,激发学生的兴趣与责任感,为后续知识点的讲解提纲挈领。 在SoC设计流程和系统架构讲述中,应用数字逻辑电路、计算机体系结构和超大规模集成电路设计等专业知识,掌握SoC系统设计与超大规模集成电路设计的主要区别,掌握软硬件系统协同设计方法。 在SoC功能验证、测试、低功耗设计、后端设计、I/O环的设计等章节的讲述中,注重使学生掌握各个知识点的基本原理、现有技术及面临的难点。 通过课程设计,针对实际工程问题学生自主选题,进行系统级芯片设计训练,培养学生的文献检索、综合分析、系统设计、EDA软件使用、沟通交流等能力。同时,引导学生在设计环节中要考虑社会、健康、安全、法律、文化以及环境等因素。 五、教学内容 1. 授课与自学 第一章 SoC设计概述 第一节什么是SoC 第二节 SoC的优势

一文读懂SoC的原理和技术应用

一文读懂SoC的原理和技术应用 SoC的定义多种多样,由于其内涵丰富、应用范围广,很难给出准确定义。一般说来,SoC称为系统级芯片,也有称片上系统,意指它是一个产品,是一个有专用目标的集成电路,其中包含完整系统并有嵌入软件的全部内容。同时它又是一种技术,用以实现从确定系统功能开始,到软/硬件划分,并完成设计的整个过程。 System on Chip,简称Soc,也即片上系统。从狭义角度讲,它是信息系统核心的芯片集成,是将系统关键部件集成在一块芯片上;从广义角度讲, SoC是一个微小型系统,如果说中央处理器(CPU)是大脑,那么SoC就是包括大脑、心脏、眼睛和手的系统。国内外学术界一般倾向将SoC定义为将微处理器、模拟IP核、数字IP核和存储器(或片外存储控制接口)集成在单一芯片上,它通常是客户定制的,或是面向特定用途的标准产品。 SoC定义的基本内容主要在两方面:其一是它的构成,其二是它形成过程。系统级芯片的构成可以是系统级芯片控制逻辑模块、微处理器/微控制器CPU 内核模块、数字信号处理器DSP模块、嵌入的存储器模块、和外部进行通讯的接口模块、含有ADC /DAC 的模拟前端模块、电源提供和功耗管理模块,对于一个无线SoC还有射频前端模块、用户定义逻辑(它可以由FPGA 或ASIC实现)以及微电子机械模块,更重要的是一个SoC 芯片内嵌有基本软件(RDOS或COS以及其他应用软件)模块或可载入的用户软件等。系统级芯片形成或产生过程包含以下三个方面: 1) 基于单片集成系统的软硬件协同设计和验证; 2) 再利用逻辑面积技术使用和产能占有比例有效提高即开发和研究IP核生成及复用技术,特别是大容量的存储模块嵌入的重复应用等; 3) 超深亚微米(VDSM) 、纳米集成电路的设计理论和技术。 SoC设计的关键技术 SoC关键技术主要包括总线架构技术、IP核可复用技术、软硬件协同设计技术、SoC验证

SystemC 的验证方法和流程介绍

SystemC 的验证方法和流程介绍 1 引言当前集成电路制造技术迅速发展,SoC(system-on-chip)设计已经成为集成电路设计的发展方向。随着SoC 设计的复杂度提高,在开发SoC 的过程中,验证工作越发重要和繁重,所占的开销占据总开销的40%70%。SoC 设计的验证过程不但影响到芯片的成功设计,而且影响到芯片的上市时间,因此验证的正确性及其耗时的缩短成为了SoC 设计的关键。 传统设计中,系统级设计使用高级语言C/C++等描述功能模块的算法,验证的时候使用硬件描述语言(VHDL 或Verilog HDL)。系统验证之前必须通过手工将原始的C/C++代码转换为VHDL/Verilog HDL 代码,这个转换过程耗时大并且容易产生错误。在系统验证过程中,使用传统硬件描述语言对复杂模块的验证需要耗费大量时间。 为了提高系统级验证效率,本文针对视频芯片中的运动估计与补偿单元模块(MECU)提出了基于SystemC 的验证方法和流程。该方法大大缩短了系统验证的搭建时间和系统验证过程的时间。本文利用SystemC 支持设计者在不同抽象级建模的特点,给MECU 添加了低抽象级接口,使该单元能够和视频芯片内部其它模型通讯以便完成整个芯片的系统级验证。本文最后的仿真结果证明了该设计流程的有效性。 2 SystemC 语言SystemC 是由C++衍生而来,本质是在C++的基础上添加了硬件扩展库和仿真核,这使SystemC 可以在不同抽象级对复杂电子系统建模。它既可以描述纯功能的模型和系统体系结构,又可以描述软硬件的具体实现,进行软硬件的协同验证。SystemC 包括以下建模元素:*模块(module)相当于C++的类定义,是一个可以多层次的实体。一个模块可以嵌套其他模块和一些进程,是SystemC 里面最基本的单元。 *进程(process)用来描述模块的功能,包含于模块中。进程是由事件(event)来触发的,这种触发的方式使进程可以并行执行,实现了硬件系统的并行特性,SystemC 包括三种不同的进程。 *接口(interface)定义了一组方法实现目标,但是不实现这些方法。 *通道(channel)实现了接口定义的方法,分为基本通道和层次化通道。

数字集成电路知识点整理

Digital IC :数字集成电路是将元器件和连线集成于同一半导体芯片上而制成的数字逻辑电路或系统 第一章 引论 1、数字IC 芯片制造步骤 设计:前端设计(行为设计、体系结构设计、结构设计)、后端设计(逻辑设计、电路设计、版图设计) 制版:根据版图制作加工用的光刻版 制造:划片:将圆片切割成一个一个的管芯(划片槽) 封装:用金丝把管芯的压焊块(pad )与管壳的引脚相连 测试:测试芯片的工作情况 2、数字IC 的设计方法 分层设计思想: 每个层次都由下一个层次的若干个模块组成, 自顶向下 每个层次、每个模块分别进行建模与验证 SoC 设计方法:IP 模块(硬核(Hardcore)、软核(Softcore)、固核(Firmcore ))与设计复用 Foundry (代工)、Fabless (芯片设计)、Chipless (IP 设计)“三足鼎立”——SoC 发展的模式 3、 数字IC 的质量评价标准(重点:成本、延时、功耗,还有能量啦可靠性啦驱动能力啦之类的) NRE (Non-Recurrent Engineering) 成本 设计时间和投入,掩膜生产,样品生产 一次性成本 Recurrent 成本 工艺制造(silicon processing ),封装(packaging ),测试(test ) 正比于产量 一阶RC 网路传播延时:正比于此电路下拉电阻和负载电容所形成的时间常数 功耗:emmmm 自己算 4、EDA 设计流程 IP 设计 系统设计(SystemC ) 模块设计(verilog ) 版图设计(.ICC) 电路级设计(.v 基本不可读) 综合过程中用到的文件类型(都是synopsys 版权): .db

SOC一页纸整理_直接打印版_电子科大

一、SoC设计绪论 SOC:System on Chip的缩写,称为芯片级系统,也有称片上系统,意指它是一个产品,是一个有专用目标的集成电路,其中包含完整系统并有嵌入软件的全部内容。(BD) 优势:更复杂的系统、低成本、高可靠性、缩短设计时间、减少反复次数、更小尺寸、低功耗。 SOC发展与挑战:设计成本(软硬件划分,非周期性、设计错误,较长设计和验证,设计方法)、集成密度、时序收敛、信号完整(信号在电路中产生正确响应的能力)、低功耗(动态、静态如泄漏电流、可制造性与成品率。SOC设计方法的趋势:IP复用将不仅在硬件领域,在软件设计领域同样需要;基于平台设计,今后的设计将在一个应用平台上完成,该平台将包括一个或多个处理器和逻辑单元;可编程\可配置\可扩展的处理器核的使用,会使得原有的设计流程和设计者思维发生变化;系统级验证,利用高级语言搭建验证平台和编写验证向量,需要相应的工具支持;软\硬件协同综合,是的在同样的约束条件下,系统达到最优的设计性能。 二、SoC设计流程 软、硬件协同设计指的是软、硬件的设计同步进行。不同:更需要了解整个系统的应用,定义出合理的芯片架构,是的软硬件配合达到系统最佳工作状态,因而软硬件协同设计被越来越多采用;SOC是以IP复用为基础的。协同设计方法:系统需求说明;高级算法建模与仿真;软硬件划分过程;软硬件同步设计;硬件系统测试。软硬件实现的优缺点:硬件优(速度快、复杂度低系统简单、软件设计时间少)缺(成本高、研发厂、良品率低、辅助设计工具成本高),软件优(低成本、辅助工具便宜、易调试)缺(性能差、高硬件要求、开发进度难确定)SOC芯片设计步骤:模块定义\代码编写\功能及性能验证\综合优化\物理设计等。具体细分为:硬件设计定义\模块设计及IP复用\顶层模块集成\前仿真\逻辑综合\版图布局规划\电源网络功耗分析\单元布局和优化\DFT插入\时钟树综合\布线设计\功耗分析\信号完整性\优化\寄生参数提取\布局后仿真\ECO修改\后仿真\物理验证\交付芯片制造厂三、SoC设计与EDA工具 ESL电子系统级:功能设计、基于应用的结构设计、基于平台的结构设计。动态验证(仿真)+静态验证(分析) 验证的目的:原始描述正确性;逻辑功能是否符合设计规范的要求;结果的时序是否符合原始设计规范的性能指标;结果是否包含违反物理设计规则的错误。动态验证(仿真):从电路的描述提取模型,然后将外部激励信号或数据施加于此模型,观察实时响应。电路级SPICE 和NanoSim(Synopsys);逻辑仿真VCS ModleSim静态验证:分析电路的某些特性是否满足设计要求,验证电路正确性。动态仿真主要是模拟电路的功能行为,必须给激励信号,且耗费时间。静态验证针对所有的工作环境,只限于数字逻辑电路,准确性低。形式验证+静态时序分析。逻辑综合:将RTL级的描述转换为门级网表的过程。将RTL描述转换成未优化的门级布尔描述(翻译);简化布尔方程(优化);布尔描述映射为实际的逻辑电路(映射)优化策略:器件复用、时序重排、状态机重新编译验证:用来检查电路的功能是否正确,对设计负责,基于事件或事件驱动;测试:检查芯片制造过程中的缺陷,对器件质量负责,基于故障模型。常用可测性设计内部扫描\ATPG\存储器内建自测试\边界扫描可测性:可控制性+可观察性 物理验证:设计规则检查\电气规则检查\版图电路同一性比较EDA公司:Synopsys,Cadence,Mentor Graphics, Magma Eda发展趋势:1支持软硬件协同设计的ESL工具2支持良率设计的DFM工具3提高EDA工具本身的性能 四、SoC系统结构设计 完整的SOC设计包括:架构设计、软件结构设计、硬件设计。SOC中使用较多的通用处理器:ARM、MIPS、PowerPC ESL成为主流的原因:嵌入式软件开发工作量增加;架构开发开发工作量;产品开发周期长,需要设计方法和EDA工具在设计的早期提供软硬件协同的设计环境。ESL:通过搭建一个系统的完整虚拟原型来描述系统怎样工作的,并为进一步的实现提供一个解决方案。 特点:1更早的软件开发2更高层次的硬件设计3设计的可配置性和自动生成4方便的架构设计5快速测试和验证。核心:事务级建模。(模块之间的数据和事件的交互)Esl设计包括功能设计和架构设计。 五、IP复用的设计方法 IP复用原因:设计复杂度迅速增加;对周期简短的要求越来越高;若每次产品模块要从头设计的话,成本高昂 IP:知识产品,一种事先定义,经验证可以重复使用能完成某些功能的组块。Ip复用的挑战:1可重用性和多IP集成2复杂冗长的验证和仿真时间3来自商务模式的挑战 依设计流程分:软核固核硬核。差异:基础IP\标准IP\明星IP 软核:利用硬件描述语言,依照所制定的规格,将系统所需的功能写成RTL级程序,这个RTL文件称为软核。优:元代码形式提供,高灵活性。缺:缺乏对时序面积和功耗的预见性,自主知识产权不容易保护。固核:借助EDA,从单元库选逻辑门,将RTL文件转换成以逻辑呈现网表,这个综合后的网表文件即固核,比如软核可靠性高,性强。 硬核:验证后,进入实体设计步骤,先进行功能组块的位置配置行布局布线设计,做完实体设计后产生GDSII文件称为硬核。硬制造厂商对它实行全权控制,知识产权容易保护。 明星IP复杂性高,不易模仿,进入门槛高,竞争者少,产品有高所需的研发时间也比较长。通常需要长时间的市场验证才能确保性及稳定性,高开发成本。 七、同步电路设计及其与异步信号 同步电路:电路中的所有受时钟控制的单元全部由一个统一的全优:保证电路系统的时钟收敛,避免了竞争冒险现象;减少了电噪声影响的可能性。缺:时钟偏移;功耗 异步设计:电路中的数据传输可以在任何时候发生,电路中没有或局部的控制时钟。优:模块化特性突出;对延迟不敏感;没有潜在的高性能特性;潜在的高性能特性;好的电磁兼容性;有低缺:遇到毛刺、竞争冒险;设计复杂、缺少EDA工具的支持。同异步交互问题:若强行让所有的设备或模块都工作在同一个时则不得不工作在低频率,降低了系统的性能。 衙门天:违反了触发器保持或建立时间且触发器锁存到一个无效亚稳态解决:等待足够长的时间会恢复,这个延时通常通过在采触发器后再加一级触发器来实现,称为同步器。不能完全解决;都会触发脱离亚稳态;工作频率过高,则发生亚稳态可能性大。SOC规划:尽可能使用同步设计;注意电路设计的缺陷;减少不数量;尽可能将异步交互电路归入同一模块;避免使用电平触发钟树延迟;避免亚稳态。 八、综合策略与静态时序分析方法 逻辑综合:利用工具将RTL代码转化为门级网表的过程。 自顶向下:顶层设计与其子模块同时编译。优:仅需要对顶层施将整个设计作为整体来优化。缺:编译时间长。自底向上:单独进行约束和综合,完成后,赋予它们不再优化属性,将它们整合块中,进行综合。优:各个模块可以单独并行设计,因而对整个管理很方便。在定义与优化各模块时有很大的灵活性。缺:1顶层键路径在其他层面看来不一定是需要优化的关键路径,2定义子件,耗时太长,3导致过多脚本维护。 设定设计的约束条件:定义时钟;设定设计规则约束;输入/输出约束。环境约束条件:设计的工艺参数(PTV)、IO端口的属性物理综合:无需使用连线负载模型,计算延时方法不是通过计算通过布局信息得到。物理综合的约束条件:芯片尺寸、引脚位置信息、版图规划信息。 操作模式:RTL到门级(输入信息是RTL级设计电路、版图规划件),门级到布局后级(输入门级网表、版图规划信息、库文件十、可测性设计 可测性设计:基于故障模型的结构测试服务,检测生产故障。优的可制造性;降低产品的测试成本;缩短产品的制造周期;可以具生成测试矢量;提升芯品品质。缺:增大芯片面积;增加设计响功耗速度等性能。 扫描测试:内部扫描而非边界扫描,扫描时序分成时序和组合两内部节点可以控制并且可以观察。测试矢量的施加及传输是通过特殊设计的带有扫描功能的寄存器代替,使其连接成一个或几个存器链来实现。基本单元就是扫描触发器。扫描设计规则:使用单元进行替换;在原始输入端能够控制所有时钟端和复位端;时作为触发器的输入信号;三态总线在扫描测试模式处处于非活跃无法识别的逻辑应加以屏蔽和旁路。原理:??????? 存储器测试必要性:存储器物理结构密度大,SOC对存储器的需存储器包括:地址解码单元、存储单元、读写控制单元。存储器单元固定故障、状态跳变故障、单元耦合故障。内建自测必须附向量生成器、BIST控制器、响应分析器。 存储器测试算法:棋盘式图形算法、March算法、数据保留测试RTL级自动生成BIST电路并集成的EDA mBISTArchitect(Mentor),SoCBIST(Sysnopsys) 边界扫描测试:为了解决印制电路版上芯片与芯片时间的互联测原理是在输入输出端口都增加一个寄存器,通过将I/O的寄存器连以将数据串行输入被测单元,并且从相应端口串行读出。 十一、低功耗设计 低功耗设计原因:便携式设备-电池寿命;桌面系统-高功耗;高功统可靠性及性能降低、高功耗要加散热设备、增加成本。

适用于系统设计和功能验证的ESL方法学

适用于系统设计和功能验证的ESL方法学 为了使ESL工具在行业中广泛采用,供应商将需要研究正确的方法以及与现有设计流程共存的途径。走向有效的ESL的之路既需要功能验证,也需要快速把设计功能从概念转换到最优化实现的能力。其它的挑战在于使供应商同意基本的定义。目前,存在三个设计方法学:算法、处理器/存储器和控制逻辑。这些方法被进一步划分为基于平台和架构设计类。此外,还有几种可以使用ESL工具的情况。首先,至少存在硬件和软件上的某些基准。ESL还考虑了设计中的高级抽象的讨论,并且不仅仅是更高抽象语言语法。最后,还需要解决系统级任务。 ESL的发展 ESL的发展分别影响到软件和硬件领域(见图1)。在硬件方面,我们看到逐渐向更高级的设计抽象等级发展。最初使用多边形来开始设计,但是后来在电子硬件设计早期转向使用原理图。后来,设计工程师采用了集成的原理图获取和仿真工具。目前,他们使用HDL 来实现大部分的设计。一个有趣的观察是:大量的设计工程师还使用图形工具进行调试和分析。设计的可视化依然是在功能描述中的设计过程的一个关键部分。同样地,某种程度上需要依赖于图形来理解更高的复杂性。这在实质上提高了设计抽象。 在软件流程上,我们见证了从位和字节级的机器代码、汇编语言到编译语言的转变。面向对象的语言的最新趋势已经在软件实现中得到广泛的使用。面向对象编程(OOP)方法相对于程序编程方法的主要优势在于,它使程序设计工程师能创建在增加新的对象类型时不需要模块被改变。程序设计工程师可以创建继承很多现有对象的很多功能的新对象。这种OOP方法也被用于SystemVerilog语言中来构建复杂的测试基准,这种基准用于系统级设计验证,通过支持断言、功能覆盖和经改善的受约束随机测试发生可以实现很大的验证优势。在设计范例中的这些改变使得设计质量更高,并且在软件/硬件开发领域实现更高的复用。

数字集成电路论文ESL方法学的SOC设计与验证技术综述

数字集成电路论文 题目:ESL方法学的SOC设计与验证技术综述 系名称:信息工程 专业:电子科学与技术 班级:一班 学号: 姓名: 年月日

本文讨论电子系统级(ESL)设计和验证方法学在系统级芯片(SoC)设计中的应用。ESL 设计是能够让SoC 设计工程师以紧密耦合方式开发、优化和验证复杂系统架构和嵌入式软件的一套方法学,它还提供下游寄存器传输级(RTL)实现的验证基础。已有许多世界领先的系统和半导体公司采用ESL 设计。他们利用ESL 开发具有丰富软件的多处理器器件,这些器件为创新终端产品获得成功提供必需的先进功能性和高性能。 为什么中国的电子产业将会对ESL 感兴趣?因为中国领先的电子公司正在经历一场对他们竞争力非常关键的转型。通过采纳技术创新策略,中国将成为纯粹的知识产权(IP)提供者,而不是纯粹的IP 消费者。那些拥有知识产权的公司将持有通向IP 库的钥匙。 为成功地执行创新策略,中国公司必须采用创新领先公司所使用的先进设计方法学。ESL 设计正是这样一种方法学。它已经被诸多国际系统和半导体公司采用。在中国,大唐已率先在中国3G 手机技术-TD-SCDMA 开发中采用ESL 设计,清华大学及其一些产业合作单位也采用ESL 方法学开发先进的地面数字多媒体广播应用。 ESL 发展的背景 电子系统级(ESL ,Electronic System Level )设计方法和ESL 工具相对来说是一种较新的方法学和工具。虽然这种方法学的提出和工具的开发在20世纪90年代已经开始,但由于相关工具无法配合及市场需求较少,在过去几年EDA 产业一直居于不太起眼的位置。随着90nm 技术的出现,上亿门规模电路的开发及系统的复杂度得剧增,ESL 设计逐渐受到重视,但真正能够执行设计流程所需的ESL 工具,直到最近几年才开始陆续上市。 ESL 设计指系统级的设计方法,是从算法建模演变而来的。ESL 设计已经演变为嵌入式系统软、硬件设计、验证、调试的一种补充方法学。这些嵌入式系统包括SoC 系统、FPGA 系统、板上系统、多板级系统。 ESL 设计以抽象方式来描述SoC 系统,给软、硬件工程师提供一个虚拟原型平台,用以进行硬件系统结构的探察和软件程序的开发。在ESL 设计中,系统的描述和仿真的速度快,使设计工程师有充裕的时间分析设计内容。ESL 设计不仅能应用在设计初期与系统架构规划阶段,也能支持整个硬件与软件协同设计的流程。 引言 随着工艺能力和设计能力的快速发展,为了满足嵌入式系统市场对于成本、功能和功耗的要求,SoC(System on-a-Chip)设计技术已经成为一种发展趋势。众所周知,迄今为止在集成电路发展过程中,摩尔定律(单芯片上所能集成的晶体管数目每18个月翻一番)一直在起作用,因此SoC 的规模和功能在不断急剧膨胀,使得设计验证日益重要,向业界提出了巨大挑战,已成为了整个SoC 设计流程的瓶颈[1] 。 目前芯片一次投片成功率只有35%左右,造成芯片重复投片的主要原因就是验证不够充分。SoC 设计的验证需要投入的资源已占整个设计资源的60%~80%。1999年当VSIA 1举行验证专题会时,许多世界级验证专家得出结论:验证是件困难的事(hard ),几周后更把结论更正为“Verification is not hard,it is very hard”。现在愈来愈达成共识:单一的设计工具难以解决验证问题,而需要一系列复杂的工具和技术,来减少设计错误数,使之达到可接受的程度。

一种soc时钟复位管理电路设计与验证

一种soc时钟复位管理电路设计与验证 SOC时钟复位管理电路设计与验证 摘要:SOC(System on Chip)是一种集成了各种功能模块的芯片,其中时钟复位管理电路是保证SOC正常工作的重要组成部分。本文将介绍SOC时钟复位管理电路的设计与验证方法,包括时钟源选择、复位信号生成和验证测试等方面,旨在为SOC设计者提供参考和指导。 1. 引言 SOC是当今集成电路设计的主流趋势,它将各种功能模块集成到一个芯片上,实现了高度集成和高性能的特点。而时钟复位管理电路作为SOC的重要组成部分,起到了时钟信号的生成、分配和复位控制等关键作用。 2. 时钟源选择 时钟源是SOC系统中的主要时钟信号发生器,其稳定性和精度对系统的工作性能和可靠性有着重要影响。常见的时钟源有晶体振荡器、PLL锁相环和外部时钟输入等。在进行时钟源选择时,需要根据SOC系统的需求和设计目标,综合考虑时钟频率、相位噪声、功耗和成本等因素,选择适合的时钟源。 3. 复位信号生成 复位信号是SOC系统中的重要控制信号,用于初始化系统的各个模

块和外设,确保系统在正常工作状态下启动。常见的复位信号生成方法有以下几种: (1)基于时钟控制:通过对时钟信号进行分频、延时或者锁相等操作,生成复位信号。这种方法简单可靠,但对时钟信号的稳定性要求较高。 (2)外部复位:通过外部输入信号触发复位操作,可以由外部设备或者按键等触发。这种方法适用于需要对SOC进行软复位的场景。 (3)软复位:通过软件控制的方式进行复位操作,一般通过对寄存器或者特定地址写入复位命令实现。软复位相比硬件复位更加灵活,可以根据系统需求进行定制。 4. 复位验证测试 在完成时钟复位管理电路的设计后,需要进行验证测试以确保其功能和性能满足设计要求。常见的复位验证测试方法有以下几种: (1)功能测试:通过验证复位信号是否能够正确初始化系统各个模块和外设,确保系统在复位后能够正常工作。 (2)时序测试:通过测试复位信号的起始时间、持续时间和延迟等时序参数,确保复位信号的时序满足设计要求。 (3)可靠性测试:通过长时间运行或者大量数据测试,验证复位电

基于SoC芯片系统级验证的高效性能评估研究与实现

基于SoC芯片系统级验证的高效性能评估研究与实现 基于SoC芯片系统级验证的高效性能评估研究与实现 摘要: 随着SoC(System on Chip)芯片的发展,系统级验证和性能 评估成为了一个十分重要的研究领域。本文旨在研究和实现基于SoC芯片系统级验证的高效性能评估方法。首先,我们将介绍SoC芯片与系统级验证的基本概念。然后,我们将探讨如何在SoC芯片系统级验证中进行高效性能评估。最后,我们将通过实验来验证所提出的方法。通过本文的研究和实现,我们希望能提供一种高效准确的SoC芯片性能评估方法,为SoC芯片的开发和应用提供实用的指导。 关键词:SoC芯片;系统级验证;性能评估;方法;实现 1、引言 SoC芯片是一种将多个不同功能模块集成在一颗芯片上的集成 电路,具有体积小、功耗低、性能高等优势,被广泛应用于许多领域。随着SoC芯片规模的不断增大,其系统级验证和性能评估成为了一个重要的挑战。有效的系统级验证和性能评估方法可以提前发现芯片设计中的问题,并优化芯片性能。 2、SoC芯片与系统级验证的基本概念 SoC芯片是一种将处理器核、存储单元、高速总线、外设等集 成在一颗芯片上的集成电路。系统级验证是在SoC芯片设计完成后对整个系统进行验证的过程,其目的是发现和解决系统设计中的问题,确保系统的正确性和可靠性。 3、高效性能评估方法的研究与实现 (1)SoC芯片性能评估的需求分析:在进行SoC芯片性能评 估之前,首先需要明确评估的目标和需求。根据实际应用需求,

确定性能评估的指标,并制定相应的评估方法。 (2)基于仿真的性能评估方法:仿真是一种常用的SoC 芯片性能评估方法。通过建立SoC芯片的仿真模型,可以对系统进行全面的仿真和测试,获得性能指标的估计结果。在进行仿真时,需要考虑多个因素,如处理器核频率、存储带宽、总线速度等。 (3)基于实际应用场景的性能评估方法:除了仿真外,还可以通过实际应用场景来评估SoC芯片的性能。通过在实际环境中执行应用程序,获得真实的性能指标。这种方法能更好地反映SoC芯片的实际性能,但其成本和难度较高。 (4)实验设计与分析:本文通过针对某一具体SoC芯片设计了一系列实验,并进行了详细的实验设计与分析。通过对实验结果的分析,可以验证所提出的高效性能评估方法的有效性和准确性。 4、实验结果与讨论 通过对实验结果的分析,我们发现所提出的高效性能评估方法能够较准确地评估SoC芯片的性能,并找出系统瓶颈和优化的方向。实验结果表明,在特定的应用场景下,我们的方法能够提高SoC芯片的性能。 5、结论 本文研究和实现了基于SoC芯片系统级验证的高效性能评估方法。通过对实验结果的分析,证明了所提出的方法的有效性和准确性。这对于SoC芯片的开发和应用具有重要意义。未来,我们还将进一步研究和改进SoC芯片的系统级验证和性能评估方法,为SoC芯片的发展提供有力的支持

高集成度数模混合soc设计技术

高集成度数模混合soc设计技术 高集成度数模混合SoC设计技术 随着信息技术的快速发展,集成电路设计技术也在不断演进。高集成度数模混合SoC(System on Chip)设计技术作为一种新兴的设计方法,已经成为当今集成电路设计领域的热门话题。本文将介绍高集成度数模混合SoC设计技术的基本概念、优势和应用领域,并对其未来发展进行展望。 高集成度数模混合SoC设计技术是一种将模拟和数字电路集成在一个芯片上的设计方法。传统的集成电路设计通常是将数字电路和模拟电路分别设计,然后通过接口进行连接。而高集成度数模混合SoC设计技术充分利用了数模混合集成电路的优势,将数字电路和模拟电路集成在同一个芯片上,从而实现更高的集成度和更低的功耗。 高集成度数模混合SoC设计技术的优势主要体现在以下几个方面。首先,由于数字电路和模拟电路集成在一起,可以减少电路之间的接口数量和复杂度,从而提高整体性能和可靠性。其次,通过高集成度的设计,可以大幅度减小芯片的体积,实现更小巧、轻便的设备。再次,高集成度数模混合SoC设计技术可以降低功耗,提高能源利用效率。最后,该技术还可以降低生产成本和设计周期,提高生产效率。

高集成度数模混合SoC设计技术在多个领域都有广泛的应用。首先,在通信领域,高集成度数模混合SoC设计技术可以实现高速数据传输和多种通信协议的兼容,从而提高通信设备的性能和稳定性。其次,在消费电子产品领域,高集成度数模混合SoC设计技术可以实现多种功能的集成,例如智能手机、平板电脑等,从而提高用户体验。此外,在医疗设备、汽车电子、工业控制等领域,高集成度数模混合SoC设计技术也有着广泛的应用前景。 尽管高集成度数模混合SoC设计技术在集成电路设计领域具有广泛的应用前景,但是仍然存在一些挑战和问题。首先,由于数字电路和模拟电路在物理特性上存在差异,需要克服模拟电路和数字电路之间的互相干扰和耦合问题。其次,高集成度数模混合SoC设计技术对设计人员的技术要求较高,需要掌握模拟和数字电路的设计方法和技巧。此外,高集成度数模混合SoC设计技术的设计周期相对较长,需要投入大量的人力和物力资源。 展望未来,高集成度数模混合SoC设计技术有望在集成电路设计领域取得更大的突破和进展。随着半导体工艺的发展和技术的成熟,集成度将进一步提高,功耗将进一步降低。此外,随着人工智能、物联网等新兴技术的快速发展,对于高集成度数模混合SoC设计技术的需求也将进一步增加。因此,高集成度数模混合SoC设计技术有望成为未来集成电路设计的主流技术之一。

SoC芯片介绍

SoC芯片介绍 什么是SOC 随着设计与制造技术的发展,集成电路设计从晶体管的集成发展到逻辑门的集成,现在又发展到IP的集成,即SoC(System?on?a?Chip)设计技术。SoC可以有效地降低电子/信息系统产品的开发成本,缩短开发周期,提高产品的竞争力,是未来工业界将采用的最主要的产品开发方式。虽然SoC一词多年前就已出现,但到底什么是SoC则有各种不同的说法。在经过了多年的争论后,专家们就SoC的定义达成了一致意见。这个定义虽然不是非常严格,但明确地表明了SoC的特征: 实现复杂系统功能的VLSI;采用超深亚微米工艺技术; 使用一个以上嵌入式CPU/数字信号处理器(DSP); 外部可以对芯片进行编程; 怎样去理解 SoC中包含了微处理器/微控制器、存储器以及其他专用功能逻辑,但并不是包含了微处理器、存储器以及其他专用功能逻辑的芯片就是SoC。SoC 技术被广泛认同的根本原因,并不在于SoC可以集成多少个晶体管,而在于SoC可以用较短时间被设计出来。这是SoC的主要价值所在——缩短产品的上市周期,因此,SoC更合理的定义为:SoC是在一个芯片上由于广泛使用预定制模块IP(Intellectual Property)而得以快速开发的集成电路。从设计上来说,SoC就是一个通过设计复用达到高生产率的硬件软件协同设计的过程。从方法学的角度来看,SoC是一套极大规模集成电路的设计方法学,包括IP核可复用设计/测试方法及接口规范、系统芯片总线式集成设计方法学、系统芯片验证和测试方法学。SOC 是一种设计理念,就是将各个可以集成在一起的模块集成到一个芯片上,他借鉴了软件的复用概念,也有了继承的概念。也可以说是包含了设计和测试等更多技术的一项新的设计技术。 SOC的一般构成 从大处来分,SOC含有: 1.逻辑核包括CPU、时钟电路、定时器、中断控制器、串并行接口、其它外围设备、I/O端口以及用于各种IP核之间的粘合逻辑等等; 2.存储器核包括各种易失、非易失以及Cacha等存储器; 3.模拟核包括ADC、DAC、PLL以及一些高速电路中所用的模拟电路。 目前 SOC遇到的难题 今天SoC的发展也至少遇到了以下四大难以逾越的挑战: 第一.IP的种类和复杂度越来越大以及通用接口的缺乏均使得IP的集成变得越来越困难;

soc验证流程和方法

soc验证流程和方法 SOC verification is a critical process in the development of modern integrated circuits, helping to ensure the functionality, performance, and reliability of complex System-on-Chip designs. SOC验证是现代集成电路发展过程中的关键步骤,有助于确保复杂片上系统设计的功能性,性能和可靠性。 One common method for SOC verification is simulation, where the behavior of the design is tested using software models before the physical chip is manufactured. Simulation allows engineers to identify and correct errors in the design early in the development process, reducing the chances of expensive rework later on. 一种常见的SOC验证方法是模拟,即在制造物理芯片之前,使用软件模型测试设计的行为。模拟允许工程师在开发过程的早期识别和纠正设计中的错误,减少贵重的重做机会。 Another approach to SOC verification is formal verification, which involves mathematically proving that the design meets its specifications. Formal verification is particularly useful for verifying complex algorithms or properties that are difficult to test with

soc设计方法

soc设计方法 SOC设计方法(System-on-a-Chip Design Methodology)是一种集成电路设计方法,旨在将多个硬件和软件组件集成在一颗芯片上,以实现系统级功能。本文将介绍SOC设计方法的基本概念、流程和应用。 一、SOC设计方法的基本概念 SOC设计方法是现代集成电路设计的一种重要方法,它通过将多个功能模块、硬件和软件组件集成在一颗芯片上,实现系统级功能。SOC设计方法的基本概念包括:功能集成、资源共享、性能优化、功耗控制等。功能集成是指将多个独立的功能模块集成到一颗芯片上,实现系统级功能。资源共享是指不同功能模块之间共享芯片上的硬件和软件资源,提高资源利用率。性能优化是指通过硬件和软件的优化,提高芯片的性能。功耗控制是指通过硬件和软件的优化,降低芯片的功耗。 二、SOC设计方法的流程 SOC设计方法的流程包括:需求分析、架构设计、功能设计、集成设计、验证和测试等。 需求分析阶段是SOC设计的起点,主要确定系统的需求和功能。通过对系统需求的分析,确定芯片的功能、性能和功耗等指标。 架构设计阶段是SOC设计的关键步骤,主要确定芯片的体系结构和功能模块的划分。在这个阶段,需要考虑系统的性能、功耗和资源

利用率等因素,并进行合理的权衡和设计。 功能设计阶段是SOC设计的核心环节,主要完成各个功能模块的详细设计和编码。在这个阶段,需要根据需求和架构设计的要求,进行功能模块的设计和实现。 集成设计阶段是将各个功能模块进行集成,形成整个系统的过程。在这个阶段,需要进行模块之间的接口设计和调试,确保各个功能模块的正确集成。 验证和测试阶段是对设计的全面验证和测试,以确保芯片的功能和性能符合需求。在这个阶段,需要进行功能验证、性能测试和功耗验证等。 三、SOC设计方法的应用 SOC设计方法在现代集成电路设计中得到广泛应用。它可以应用于各个领域,如消费电子、通信、汽车电子、医疗电子等。 在消费电子领域,SOC设计方法可以将多个功能模块集成在一颗芯片上,实现智能手机、平板电脑等设备的多种功能,提高系统性能和功耗控制。 在通信领域,SOC设计方法可以实现网络设备、调制解调器等设备的集成设计,提高通信系统的性能和资源利用率。 在汽车电子领域,SOC设计方法可以实现车载娱乐系统、导航系统等设备的集成设计,提高驾驶体验和安全性能。 在医疗电子领域,SOC设计方法可以实现医疗设备、健康监测器等

SOC实验报告

SOC实验报告 一、实验目的 1、了解SOC系统的结构和基本内容; 2、了解FPGA基本工作原理和内容; 3、了解FPGA的基本开发过程 4、学会使用Xilinx ISE软件进行设计、仿真、综合、下载调试; 5、熟悉FPGA设计实验的软硬件环境,加深对PoleStar实验版的认识,为后面的实验 的学习做好准备。 二、实验设备 PC主机、Xilinx ISE开发软件、PoleStar实验平台 三、实验原理 1、SOC 嵌入式SOC:是指在嵌入式系统中广泛应用的,有专门应用范围的SOC芯片,是在单个芯片上集成一个完整的系统,对所有或部分必要的电子电路进行包分组的技术。所谓完整的系统一般包括中央处理器、存储器、以及外围电路等。 具体地说, SoC设计的关键技术主要包括总线架构技术、IP核可复用技术、软硬件协同设计技术、SoC验证技术、可测性设计技术、低功耗设计技术、超深亚微米电路实现技术等,此外还要做嵌入式软件移植、开发研究,是一门跨学科的新兴研究领域。 2、F PGA FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA具有以下特点: 1)采用FPGA设计ASIC电路(特定用途集成电路),用户不需要投片生产,就能得 到合用的芯片。 2)FPGA可做其它全定制或半定制ASIC电路的中试样片。 3)FPGA内部有丰富的触发器和I/O引脚。 4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。 5) FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。 可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。 FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。 3、F PGA的简单开发流程

双核SoC芯片扫描链测试设计与实现

双核SoC芯片扫描链测试设计与实现 刘广东;石国帅;徐浩然 【摘要】针对芯片生产过程中可能引入短路和断路等制造缺陷的问题,实现了基于扫描链测试的双核SoC芯片可测性设计电路;根据双核SoC中DSP硬核、CPU软核特点采用不同的扫描链设计方案:利用DSP硬核中已有扫描链结构,将DSP测试端口复用到芯片顶层端口,在CPU软核和其它硬件逻辑中插入新的扫描链电路;扫描链测试支持固定型故障测试和时延相关故障测试;针对时延故障测试,设计了片上时钟控制电路,利用PLL输出高速时钟脉冲进行实速测试;采用自动测试向量生成工具产生测试向量,结果表明,芯片固定型故障的测试覆盖率可以达到97.6%,时延故障测试覆盖率可以达到84.9%,满足芯片测试覆盖率要求.%In order to detect the defect of manufacturing such as short and open circuit,the scan based DFT circuit of dual core SoC is re alized.The scan structure has been inserted into the hard-core DSP,so the DSP's test ports are connected to the SoC chip leads.Scan chains are inserted into the CPU core and other hardware logic.Scan based test supports stuck-at fault and transition fault test.According to the transition fault,an on-chip clock control circuit is designed to use high speed PLL clock for at-speed test.The ATPG tool is used to generate test vectors,the result shows that the stuck-at fault test coverage rate can reach 97.6%,transition fault test coverage rate can reach 84.9 %,meet the test coverage requirements of the chip. 【期刊名称】《计算机测量与控制》 【年(卷),期】2017(025)004

相关主题
文本预览
相关文档 最新文档