soc学习资料

soc学习资料
soc学习资料

SoC片上系统初级学习资料

关键词:片上系统(SoC), 消费产品,嵌入式系统,IP复用,SoPC,实时操作系统

第1 章

SoC 简介

近10 年来,无论是消费类产品如电视、录像机,还是通信类产品如电话、网络设备,这些产品的核心部分都开始采用芯片作为它们的“功能中枢”,这一切都是以嵌入式系统技术得到飞速发展作为基础的。SoC (System on Chip,片上系统) 是ASIC(Application Specific Integrated Circuits) 设计方法学中的新技术,是指以嵌入式系统为核心,以IP 复用技术

为基础,集软、硬件于一体,并追求产品系统最大包容的集成芯片。狭意些理解,可以将它翻译为“系统集成芯片”,指在一个芯片上实现信号采集、转换、存储、处理和I/O 等功能,包含嵌入软件及整个系统的全部内容;广义些理解,可以将它翻译为“系统芯片集成”,指一种芯片设计技术,可以实现从确定系统功能开始,到软硬件划分,并完成设计的整个过程。

1.1 SoC

1.1.1 SoC 概述

SoC 最早出现在20 世纪90 年代中期,1994 年MOTOROLA 公司发布的Flex CoreTM 系统,用来制作基于68000TM 和Power PCTM 的定制微处理器。1995 年,LSILogic 公司为SONY 公司设计的SoC,可能是基于IP ( Intellectual Property)核进行SoC 设计的最早报道。由于SoC 可以利用已有的设计,显著地提高设计效率,因此发展非常迅速。SoC 是市场和技术共同推动的结果。从市场层面上看,人们对集成系统的需求也在提高。计算机、通信、消费类电子产品及军事等领域都需要集成电路。例如,在军舰、战车、飞机、导弹和航天器中集成电路的成本分别占到总成本的22%、24%、33%、45%和66%。

2。SOC 设计初级培训(Altera 篇)

随着通讯行业的迅猛发展和信息家电的迅速普及,迫使集成电路产商不断发展IC 新品种,扩大IC 规模,增强IC 性能,提高IC 的上市时间(Time to maeket) ,同时还需要实现品种的通用性和标准化,以利于批量生产,降低成本。据预测,SoC 销售额将从2002 年的136亿美元,增长到2007 年的347 亿美元,年增长率超过20%。

从技术层面上看,以下几个方面推动了SoC 技术的发展:

(1) 微电子技术的不断创新和发展,大规模集成电路的集成度和工艺水平不断提高,已从亚微米(0.5 到1 微米)进入到深亚微米(小于0.5 微米),和超深亚微米(小于0.25 微米)。其特点为:工艺特征尺寸越来越小、芯片尺寸越来越大、单片上的晶体管数越来越多、时钟速度越来越快、电源电压越来越低、布线层数越来越多、I/O 引线越来越多。这使得将包括的微处理器、存储器、DSP和各种接口集成到一块芯片中成为可能。

(2) 计算机性能的大幅度提高,使很多复杂算法得以实现,为嵌入式系统辅助设计提供了物理基础。

(3) EDA(Electronic Design Automation,采用CAD 技术进行电子系统和专用集成电路设计)

综合开发工具的自动化和智能化程度不断提高,为嵌入式系统设计提供了不同用途和不同级别的一体化开发集成环境。

(4) 硬件描述语言HDL(Hardware Description Language)的发展为电子系统设计提供了建立各种硬件模型的工作媒介。目前,比较流行的HDL 语言包括已成为IEEE STD1076 标准的VHDL、IEEE STD 1364 标准的Verilog HDL和Altera 公司企业标准的AHDL 等。

1.1.2 IP 复用技术

SoC 的设计基础是IP(Intellectual Property)复用技术。SoC 芯片需要集成一个复杂的系统,这导致了它具有比较复杂的结构,如果是从头开始完成芯片设计,显然将花费大量的人力物力。另外,现在电子产品的生命期正在不断缩短,这要求芯片的设计可以在更短的周期内完成。为了加快SoC 芯片设计的速度,人们将已有的IC 电路以模块的形式,在SoC 芯片设计中调用,从而简化芯片的设计,缩短设计时间,提高设计效率。这些可以被重复使用的IC 模块就叫做IP 模块(或者系统宏单元、芯核、虚拟器件)。IP 模块是一种预先设计好,已经过验证,具有某种确定功能的集成电路、器件或部件。它有3 种不同形式:软IP 核(soft IP core)、固IP 核(firm IP core)和硬IP 核(hard IP core)。

1.软IP 核

软IP 核主要是基于IP 模块功能的描述。它在抽象的较高层次上对IP 的功能进行描述,并且已经过行为级设计优化和功能验证。它通常以HDL 文档的形式提交给用户,文档中一般包括逻辑描述、网表,以及一些可以用于测试,但不能物理实现的文件。使用软IP,用户可以综合出正确的门电路级网表,进行后续结构设计,并借助EDA 综合工具与其他外部逻辑电路结合成一体,设计出需要的器件。虽然,软IP 的灵活性大,可移植性好,但同硬IP 相比,因为它不含有任何具体的物理信息,所以如果后续设计不当,很可能导致设计失败。另外,后续的布局布线工作也将花费大量的时间。

2.硬IP 核

硬IP 核主要是基于IP 模块物理结构的描述。它提供给用户的形式是电路物理结构掩模版图和全套工艺文件,是可以拿来就用的全套技术。其优点为,完成了全部的前端和后端设计,已有固定的电路布局局和具体工艺,可以确保性能,并缩短SoC 的设计时间。但因为其电路布局和工艺是固定的,同时也导致了灵活性较差,难以移植到不同的加工工艺。

3.固IP 核

固IP 核主要是基于IP 模块结构的描述,可以理解为介于硬IP 和软IP 之间的IP 核。

固IP 一般以门电路级网表和对应具体工艺网表的混合形式提交用户使用。以便用户根据需要进行修改,使它适合某种可实现的工艺流程。近年来电子产品的更新换代周期不断缩短,而系统芯片的复杂程度却在增长,为了缓和这一矛盾,SoC 设计普遍采用基于IP 模块的设计方法。因为IP模块是预先设计好的,并通过了验证,设计者可以把注意力集中于整个系统,而不必考虑各个模块的正确性和性能,这除了能缩短SoC 芯片设计的时间外,还能降低设计和制造成本,提高可靠性。IP 重用技术使芯片设计从以硬件为中心,逐渐转向以软件为中心,从门级的设计,转向IP 模块和IP 接口级的设计。构建一个系统是个复杂的过程,实际应用中,设计者往往到设计的后期才可以明确软件和硬件要实现的功能,系统要达到的性能等具体指标。而这些指标又实际决定了该选择哪个IP 模块。当然,不是所需要的IP 内核模块都可以从市场上买得到,为了垄断市场,一些公司开发出来的关键IP 内核模块是不愿意授权转让的。像这样的IP 内核模块就只有自己组织力量来开发了。

1.1.3 SoC 技术的优缺点

SoC 具有以下几方面的优势。

(1) 降低耗电量:随电子产品向小型化、便携化发展,对其省电需求将大幅提升,由于SoC 产品多采用内部讯号的传输,可以大幅降低功耗。

(2) 减少体积:数颗IC 整合为一颗SoC 后,可有效缩小电路板上占用的面积,达到重量轻、体积小的特色。

(3) 丰富系统功能:随微电子技术的发展,在相同的内部空间内,SoC 可整合更多的功能元件和组件,丰富系统功能。

(4) 提高速度:随着芯片内部信号传递距离的缩短,信号的传输效率将提升,而使产品性能有所提高。

(5) 节省成本:理论上,IP 模块的出现可以减少研发成本,降低研发时间,可适度节省成本。不过,在实际应用中,由于芯片结构的复杂性增强,也有可能导致测试成本增加,及生产成品率下降。虽然,使用基于IP 模块的设计方法可以简化系统设计,缩短设计时间,但随着SoC 复杂性的提高和设计周期的进一步缩短,也为IP 模块的重用带来了许多问题:

(1) 要将IP 模块集成到SoC 中,要求设计者完全理解复杂IP 模块的功能、接口和电气特性,如微处理器、存储器控制器、总线仲裁器等。

(2) 随着系统的复杂性的提高,要得到完全吻合的时序也越来越困难。即使每个IP 模块的布局是预先定义的,但把它们集成在一起仍会产生一些不可预见的问题,如噪声,这些对系统的性能有很大的影响。IP 模块的标准化可以在一定程度上解决上述问题。过去,各个芯片设计公司、IP 厂商和EDA 公司以自己内部的规范作为设计标准,但随着SoC 设计的中心向用户端的转移,IP 模块的广泛使用,以及越来越多EDA 工具的出现,这些内部标准已经无法适应SoC 设计的需要。

为了解决IP 模块的接口和通信协议问题,SoC 的主要供应商开发了自己的SoC 片上总线结构标准,如IBM 的Core Connect 和ARM 的AMBA,这些总线结构通常与一个处理器体系结构相关联,如PowerPC 或ARM。对公共通信原理、公共设计格式以及设计质量测量和保证的统一方法的需求推动了SoC 标准化的发展。所以,国际上出现了多个类似VSIA 这样的SoC标准化组织,VSIA 于1996 年成立,目前有200 多个成员,其目标是建立统一的系统级芯片业的目标和技术标准,通过规定开放标准,方便不同IP 模块的集成。

1.1.4 嵌入式系统设计方法

常见嵌入式系统经常采用以下3 种设计方法。

1.使用PCB CAD 软件和在线仿真器(ICE)

这种方法主要如下:

(1) 根据嵌入式应用系统要实现的功能要求,对系统功能细化,分成若干功能模块,画出系统功能框图,再对功能模块进行硬件和软件功能实现的分配。

(2) 硬件设计主要是根据性能参数要求对各功能模块所需要使用的元器件进行选择和组合,经过功能检验和性能测试后,找到相对优化的方案,画出电路原理图。接着,使用印制板(PCB)计算机辅助设计(CAD)软件对系统的元器件进行布局和布线,印制板加工、装配和硬件调试。

(3) 软件设计贯穿了整个系统的设计过程,包括任务分析、资源分配、模块划分、流程设计和细化、编码调试等。软件设计的工作量主要集中在程序调试,最有效的调试工具就是在线

仿真器。

2. 使用EDA 工具软件和EOS 为开发平台

随着半定制逻辑器件技术经历了可编程逻辑阵列PLA、可编程阵列逻辑PAL、通用阵列逻辑GAL、复杂可编程逻辑器件CPLD 和现场可编程门阵列FPGA 的发展过程,器件的集成度和性能不断提高。使用这些半定制器件,设计人员可以把原先要用印制板线路互连的若干标准逻辑器件自制成专用集成电路(ASIC),这样,不但可以降低系统综合成本、提高系统性能,而且还不需要设计人员精通半导体工艺和片内集成电路布局和布线的知识。使用该方法,设计人员从选择和使用标准通用集成电路器件,逐步转向使用EDA 工具软件自己设计和制作需要的集成电路器件。然后通过自下而上的设计方法,把自制的集成电路、可编程外围器件与嵌入式微处理器或微控制器在印制板上布局、布线构成系统。

3.使用SoC 的设计技术

SoC 的设计技术,是从“集成电路”级设计到“集成系统”级设计转变的结果。其设计是从整个系统性能出发,把微处理器、模型算法、外围器件乃至器件的设计紧密结合起来,并通过系统软件和硬件的协同设计,在单个芯片上完成整个系统的功能。当然,实际应用时,不是所有的系统都能在一个芯片上实现的,也许要使用几个芯片。

SoC 设计的基础就是通过授权,使用成熟优化的IP 内核模块来进行设计集成和二次开发,提高系统设计周期和可靠性。总的来说,购买IP 内核模块不仅可以降低开发风险,还能节省开发费用。

这3 种设计方法各有各的应用范围。一般,前2 种方法多是用来设计较为简单的应用系统,而复杂的系统则多采用第3 种方法。

1.1.5 简单设计流程

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

1.功能设计阶段。

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

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

能设计完成后,可以依据功能将SOC 划分为若干功能模块,并决定实现

这些功能将要使用的IP 核。此阶段将接影响了SOC 内部的架构及各模块间互

动的讯号,及未来产品的可靠性。

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

3.逻辑综合

确定设计描述正确后,可以使用逻辑综合工具(synthesizer)进行综合。综合过程中,需要选择适当的逻辑器件库(logic cell library),作为合成逻辑电路时的参考依据。硬件语言设计描述文件的编写风格是决定综合工具执行效率的一个重要因素。事实上,综合工具支持

的HDL 语法均是有限的,一些过于抽象的语法只适于做为系统评估时的仿真模型,而不能被综合工具接受。逻辑综合得到门级网表。

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

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

5.布局和布线

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

6.电路仿真

在这个阶段,除了重复验证SOC 的功能是否外,还需要确认在考虑门电路延迟和连线延迟的条件之下,电路能否正常运作。电路仿真是基于最终时序的版图后仿真,往往作为流片前签收sign-off 的条件。所有时序的仿真,一般是使用SDF(标准延时)文件来输入延时信息。由于需要考虑的参考很多,这次仿真时间将数倍于先前的仿真。同时进行的软件协同设计,要考虑指令集、指令编译系统、开发集成环境、模拟仿真设备等。在硬件和软件设计的过程中,需要进行系统验证,一般对于数字电路采用FPGA 基本就可以实现验证过程,而对于数模混合电路的系统芯片来说,验证则要复杂得多。如图1-1 所示,就是SOC 开发的一个简单流程。图1-1 SOC 开发的简单流程除了拥有经验丰富的设计团队,成功的SoC 芯片设计还需要如下几个方面的准备和整合:

(1) 先进的设计工具及可靠的设计方法。设计工具和方法决定了SoC 设计效率和芯片性能的基础。对于在进行具体的SoC 设计的同时,高效和及时的EDA 厂商的设计工具本地化支持,以及先进设计方法的交流也是一个SoC 芯片设计成功及能持续提高的重要保证。

(2) 适当的IP(包括IP 提供商及其IP 的选择)和可靠的Library(包括Library 提供商的选择)。

(3) Foundry 及其工艺的考虑和选择。SOC 设计初级培训(Altera 篇)

对于SoC 芯片设计,除了重视EDA 设计工具和方法的确定,整个芯片Tape-out 的供应链的管理也非常重要,尤其是深亚微米(Deep Sub-Micron)的设计。其中包括,Foundry 及其制造工艺的确定,和与该工艺相对应的IP 和Library 的选择。先进的EDA 设计工具和方法,适当的工艺、IP 和Library 的确定可以降低芯片设计和制造中不必要的风险、时间延误、和费用支出,并提高芯片设计一次成功的可能。

1.2 SoPC

以往的SoC 设计依赖于固定的ASIC。其设计方法通常采用全定制和半定制电路设计方法,设计完成后如果不能满足要求,经常需要重新设计再进行验证,这将导致开发周期变长,开发成本增加。另外,如果要对固定ASIC 的设计进行修改、升级,也将花费昂贵的代价进行重复设计。与ASIC 比较,可编程逻辑器件(PLD)的设计要灵活得多,它不仅开发周期较短,而且规模效应具有成本优势。因此,著名的可编程逻辑器件生产厂家美国Altera 公司

提出了基于PLD 的SoC 设计方案———SoPC (System on a Programmable Chip,片上可编程系统)。SoPC 是SoC 技术和可编程逻辑技术结合的产物,是一种特殊的嵌入式系统。首先它是SoC,即可以由单个芯片完成整个系统的主要逻辑功能;其次,它还是可编程系统,具有灵活的设计方式,可裁减、可扩充、可升级,并具备一定的系统可编程功能。

1.2.1 SoPC 的特点

SoPC 设计技术涵盖了嵌入式系统设计技术的全部内容,包括:以处理器和实时多任务操作系统(RTOS)为中心的软件设计技术、以PCB 和信号分析为基础的高速电路设计技术、软硬件协同设计技术。

SoPC 结合了SoC、PLD 和FPGA 各自的优点,具备以下特点:

至少包含一个嵌入式处理器内核

具有小容量片内高速RAM 资源

丰富的IP Core 资源可供选择

足够的片上可编程逻辑资源

处理器调试接口和FPGA 编程接口

可能包含部分可编程模拟电路

单芯片、低功耗、微封装

目前,0.13 微米的ASIC 产品制造价格仍然相当昂贵,相反,集成了硬核或软核CPU、DSP、存储器、外围I/O 及可编程逻辑的SoPC 芯片在应用的灵活性和价格上有极大的优势。

1.2.2 SoPC 解决方案

近年来PLD 器件密度的提高,芯片规模的扩大和性能的提升为SoPC 提供了物质基础。下面以Altera 公司的SoPC 解决方案为例,介绍一下SoPC 技术的应用。

Altera 公司起初是生产可编程逻辑器件及其开发工具,并拥有一些IP 核的公司。随着技术的发展,尤其是通信技术的发展,对带宽和速度的要求越来越高,Altera 率先推出自己的SoPC 解决方案,将处理器、存储器、I/O 口、LVDS、CDR 等系统设计需要的东西集成到一个PLD 器件上,构建成一个可编程的片上系统。

1.Nios 软核

在2000 年,Altera 发布了Nios 处理器,推出了一个基于APEX 系列FPGA的嵌入式处理器解决方案,这是Altera Excalibur 嵌入处理器计划中的第一个产品,它将可编程逻辑器件和处理器的能力结合到了一起,成为业界第一款为可编程逻辑优化的可配置处理器。这种Nios 处理器是1 种参数化的软核,设计人员可以通过编写一些新的HDL 模块或改写已有HDL 模块中的参数来对软核进行优化,及增加外围电路的功能。使用Nios 软核的SoPC 解决方案具有如下特点:

(1) 可配置为32 位或16 位的CPU,使设计人员能够在速度与占用资源上做出最优选择。

(2) 带有大量的外设和接口库,如UART、时钟、DMA、SDRAM、并行I/O 等。这些特性使得SoC 的设计变得简单化,提高了设计可靠性,降低了设计成本。Nios 软核主要面向对速度的要求不高的低端应用,因为Nios 软核只占用芯片内部很少的一部分逻辑单元,所以成本较低。同ASIC 相比较,如果将处理器放到ASIC 中,不但需要付给处理器厂商专利费,而且ASIC 的投资大,风险也大。Nios 则没有这个问题,由于它是可配置的,所以还可以应用于Altera公司其他的FPGA 芯片上,如Stratix、APEX II 等。值得一提的是Stratix

系列带有DSP 功能块,将Nios 核嵌入其中,可以提供比一般的DSP 更高的性能,加上本身具有的可编程功能,它将提供更高性能的DSP 应用。

2.ARM922T 硬核

在速度要求较高的高端应用,如通信领域,软核的处理速度不够,Altera就推出了基于ARM 硬核的SoPC 解决方案。例如,Excalibur EPXA1 中就使用了嵌入的ARM922T 硬核做为处理器,它具有如下特点:

(1) 芯片内嵌入了200MHz (210MIPS)的ARM922T RISC(精简指令集计算机) CPU,并带

有容量各为8K 字节的指令和数据缓冲区。

(2) 芯片内包含存储器管理单元(MMU),可以给RTOS (实时操作系统)提供多线程的支持。

(3) 片上集成了存储器和多种外部设备接口,包括:SRAM/DPRAM、UART、32 位时钟、存储器控制器等。Excalibur 系列将ARM 处理器的高速计算能力和可编程功能结合到一起,使设计人员从繁重的处理器设计工作中解脱出来,从而将大部分精力用在系统功能的实现上。当应用要求更高的性能时,Altera 还推出了更高速的硬核和更先进的PLD结构,提供给客户一个更快速的解决方案。

3.EDA 开发工具

为了支持SoPC 的开发,Altera 公司还推出了一系列EDA 设计工具,如Quartus II,以及SoPC Builder。Quartus II 是一个集成开发环境,设计人员可在里面完成SoPC 的全部设计,包括系统的生成、编译、仿真,并可以下载到开发器件中,进行实时评估和验证。尤其,该软件还可以集成SoPC Builder 开发工具,令SoPC 的开发更为便捷。SoPC Builder 是一个自动化的系统开发工具,可以简化SoPC 的设计工作。它提供了一个强大的设计平台以搭建基于总线的系统,其内部包含了一系列的模块,如处理器、存储器、总线、DSP 等IP 核。使用SoPC Buider,设计人员能够快速地调用和集成内建的IP 核库,定义一个从硬件到软件的完整系统。

1.3 常用总线和Ip

1.3.1 常用总线结构

为了使IP 核集成更快速、更方便,缩短进入市场的时间,迫切需要一种标准的互联方案,在这一背景下产生的片上总线OCB(on-chip bus)技术。目前,基于IP 核互连的总线结构较有影响力的有三种:IBM公司的Core Connect,ARM 公司的AMBA(Advanced MicrocontrollerBusArchitecture)和SilicoreCorp公司的Wishbone。

1.CoreConnect 总线

IBM 公司的CoreConnect 总线提供了三种基本结构:处理器内部总线PLB(Processor Local Bus)、片上外围总线OPB(On-ChipPeripheral Bus)和设备控制总线DCR(Device Control Register)。

(1) PLB 标准是为总线传输的主要发出者和接受者之间提供高带宽、低延迟的连接。其主要特征为:

高性能处理器内部总线;

交叠的读和写功能(最快每周期两次传输);

支持分段传输;

读和写分开;

32~64 位数据总线;

32 位地址空间;

支持16~64 字节突发传输模式;

4 级仲裁优先权;

特殊DMA(Direct Memory Access)模式。

(2) OPB 标准为连接具有不同的总线宽度及时序要求的外设和内存提供了一条途径,并尽量减小对PLB 性能的影响。其主要特性如下:

片上外围总线、支持多个主设备;

32 位地址空间;

读和写数据总线分开;

8~32 位数据总线;

动态总线宽度;

支持重试模式(如果主设备要求的从设备忙,主设备隔一段时间再次请求);

支持突发(burst)传输模式;

支持DMA。

(2) DCR 是用来规范CPU 通用寄存器设备,控制寄存器之间传输数据。DCR 总线在内存

地址映射中取消了配置寄存器,减少取操作,增加处理器内部总线的带宽。其主要特征如下:

10 位地址总线;

32 位数据总线;

同步和异步的传输;

分布式结构。

CoreConnect 拥有完备的一整套技术文档,在技术上可行性较强,可以应用在类似于工作站这样的高性能系统的连接,对于简单的嵌入式应用来说可能有点太复杂,提供的许多特性无法用到。

2.AMBA 总线

AMBA 总线体系结构定义了2 种总线:AHB(Advanced High-performanceSOC 设计初级培训(Bus)和APB(Advance Peripheral Bus),如图1-2 所示。图1-2 AMBA 总线体系结构

(1) AHB 主要用于连接高性能、高吞吐率的设备,完成ARM 芯核与CPU外围部分例如存储通道控制器,DMA 控制器,SPI 接口等的整合。它的主要特性包括:

多控制器;

分段传输;

单周期总线控制权移交;

32~128 位总线宽;

包含一种访问保护机制,用来区别特权访问和无特权访问模式,或指令和数据提取等; 突发传输模式最大为16 节;

访问空间限制在32 位;

支持仲裁、REQ、GNT 和LOCK;

支持字节、半字和字传输。

(2) APB 是专为降低功耗以及接口复杂性而设计的外围互联总线,它常被用于连接一些低带宽、低速传输的外设,主要特征如下:

低性能、低功率外围总线;

单控制器;

32 位地址空间;

32 位数据总线;

分开读和写数据总线。

3.Wishbone 总线

Wishbone 总线是Silicore 公司推出的片上总线协议。它的结构极其简单、灵活,又完全公开、完全免费,获得众多支持。主要特征如下:

所有应用使用一个总线体系结构;

支持多控制器;

64 位地址空间;

8~64 位数据总线(可扩展);

单周期读和写;

支持重试;

支持内存映射,FIFO(FISRT IN FIRSTO U T )和十字互连接口;

由终端用户定义仲裁方式。

同前 2 种总线结构相比,Wishbone 只定义了一种高速总线,在既需要高速总线又需要低速总线的系统中,使用两个Wishbone 接口,比起设计两个不同的接口要简单些。

4.Avalon 总线

这里,再介绍下将要用到的Avalon 总线。Avalon 总线发布于2000 年的秋天,是Altera 公司针对FPGAs 而设计的一种SOPC 接口标准。它提供了各设备之间连接的接口,可以用于片上处理器和外设之间的连接。Avalon 总线具有支持SOPC,结构简单和可参数化配置等特点。主要特征如下:

32 位地址空间,共计4Gbytes;

所有Avalon 总线信号都是和Avalon 总线时钟同步的,这种设计简化了Avalon 总线的时序行为,便于和高速外设的连接;

地址、数据和控制信号使用独立的端口,以简化外设的设计;

Avalon 总线自动为所有外设产生片选信号,简化了Avalon 总线外设的设计;

支持多主设备结构。多个主设备可以共存于Avalon 总线之中,Avalon 总线会自动产生仲裁逻辑;

基于向导的配置。用户可以使用图形化的向导来配置Avalon 总线的相关参数;

动态的总线宽度。Avalon 总线会自动处理不同位宽设备间的信SOC 设计初级培训

号,使不同位宽的设备可以顺利通讯;

1.3.2 常用IP

众多的IP 提供商包括纯IP 提供商、设计服务公司等都可以向设计者提供各种各样的IP 核。目前,比较著名的IP 提供商包括ARM、Rambus、Synopsys、TTPCom、ParthusCeva、

Virage Logic、Artisan、MIPS、Mentor 和Mosys 等公司。如图1-3 所示为2002 年各嵌入式内核所占的市场份额。图1-3 2002 年各嵌入式内核所占的市场份额ARM 作为业内领先的32 位嵌入式RISC(Reduced Instruction Set Computer CPU)微处理器解决方案供应商,自1990 年正式成立以来,发展迅速。下面就以ARM 公司为例,进行介绍。ARM 的IP 核技术包括芯片内核、结构延伸、软件开发工具和片上系统解决方案,具有功耗低、性能高、成本低等特点。适用于多种领域,ARM 的用户遍及多个行业,包括:汽车、消费、娱乐、成像、工业、控制、网络、存储、安保和无线应用。ARM 公司的“chipless”模式非常独特,它从不直接介入芯片的生产和销售领域,而是一直以IP 提供者的身份向各大半导体制造商出售知识产权。这种独特的模式,使设计公司、OEM、软件及工具开发公司及制造公司都与ARM结成了合作伙伴关系,使其半导体行业产业链上游的上游,成为许多全球性RISC 标准的缔造者。目前,采用ARM 公司IP 核的半导体公司已多达103 家,包括Intel、TI、Motorola、ST、IBM、ADI、美国国家半导体、Infineon、NEC、LSI 等半导体巨擘,RTOS 软件厂商超过50 家如微软、WindRiver 等公司,EDA工具厂商超过30 家如Cadence、Synopsys 等。ARM 处理器核当前有6 个系列产品ARM7,ARM9,ARM9E,ARM10E,SecurCore 以及ARM11 系列。进一步还包括与其合作伙伴一同研发的产品,如Intel XScale 微体系结构和StrongARM 产品。其中每一类又根据其包含的不同功能模块而分成多种型号。在ARM 内核中常用的四个模块分别用T、D、M 和I 来表示,它们可供生产厂商根据不同用户的需求来选择配置。

(1) T 表示Thumb,该内核可从16 位指令集扩充到32 位ARM 指令集。

(2) D 表示Debug,该内核中包含可用于调试的结构,通常为一个边界扫描链JTAG,以便进入CPU 调试模式,从而进行断点设置、单步调试等工作。

(3) M 表示Multiplier,是8 位乘法器。

(4) I 表示Embedded ICE Logic,包含用于实现断点观测及变量观测的逻辑电路,其中的TAP 控制器可接入到边界扫描链。

1.ARM7

ARM7采用ARMV4T结构,分为三级流水,空间统一的指令与数据Cache,平均功耗为0.6mW/MHz,时钟速度为20MHz~133MHz,每条指令平均需要1.9 个时钟周期,处理速度为0.9MIPS/MHz。其中的ARM710,ARM720 和ARM740 为内带Cache 的ARM 核。ARM 7 的运算速度一般为150DMIPS。ARM7 是小型、快速、低能耗、集成式RISC 内核,广泛应用于手持式计算、数据通信和消费类多媒体。

2.ARM9

ARM9 采用ARMV4T 结构,采用五级流水处理以及分离的Cache 结构,平均功耗为0.7mW/MHz。时钟速度为100MHz~233MHz,每条指令平均需要1.5 个时钟周期,处理速度为1.1MIPS/MHz。其中,ARM920、ARM940 和ARM9E 为含Cache 的CPU 核。性能为132MIPS(120MHz 时钟,3.3V 供)或220MIPS(200MHz 时钟)。ARM 9 的运算速度一般为300DMIPS。ARM9 是低价、低能耗、高性能系统微处理器,配有Cache、内存管理和写缓冲。多应用于高级引擎管理、保安系统、顶置盒、便携计算机和高档打印机。

ARM9E 应该属于ARM10 系列,它也采用了ARMV5TE 结构,其性能得到了大大提高。其中,ARM968E-S(tm)是ARM9E 系列的最新产品,它同时也是ARM9E 系列内核中最小的、最低功耗的产品,可以为网络、汽车、电子消费娱乐品、无线方案等提供理想的技术方

案。ARM968E-S 内核含有低延迟的AMBA(tm) AHB-lite 总线接口,内核与DMA 时钟分离,在闲置状态下的功耗更低。ARM968E-S 内核比ARM966E-S(tm)内核的面积小20%,功耗至少降低10%。延长了电池使用寿命。

3.ARM10

ARM10 采用ARMV5TE 结构,采用六级流水处理,指令与数据分离的Cache 结构。时钟速度为300MHz,每条指令平均需要1.2 个周期。其中ARM1020 为带Cache 的版本。ARM 10 的运算速度一般为500DMIPS。ARM10 速度快,能够支持多种商用操作系统,适用于高性能手持式因特网设备及数字式消费类产品。

3.ARM11

ARM11 采用ARMV6 结构,采用8 级流水处理,动态分支预测与返回堆栈。ARM11 的时钟速度达到550MHz,采用了0.13 微米的工艺技术,支持IEM技术,可以大大减少功耗。ARM 11 的运算速度一般为1000DMIPS。ARM还发布了四个新的ARM11 系列微处理器内核(ARM1156T2-S 内核、ARM1156T2F-S 内核、ARM1176JZ-S 内核和ARM11JZF-S 内核)、应用ARM1176JZ-S 和ARM11JZF-S 内核系列的PrimeXsys 平台、相关的CoreSight技术。

ARM1156T2-S 和ARM1156T2F-S 是首批含有ARM Thumb-2 内核技术的产品,主要用于多种深嵌入式存储器、汽车网络和成像应用产品,提供了更高的CPU 性能和吞吐量,并增加了许多特殊功能,可解决新一代装置的设计难题。它们采用AMBA 3.0 AXI 总线标准,可满足高性能系统的大量数据存取需求。Thumb-2 内核技术结合了16 位、32 位指令集体系结构,提供更低的功耗、更高的性能、更短的编码,该技术提供的软件技术方案较现用的ARM 技术方案减少使用26%的存储空间、较现用的Thumb 技术方案增速25%。ARM1176JZ-S 和ARM1176JZF-S 内核是首批以ARM TrustZone 技术实现手持装置和费电子装置中公开操作系统的超强安全性的产品,同时也是首次对可节约高达75%处理器功耗的ARM 智能能量管理(ARM Intelligent Energy Manager)进行一体化支持。主要为服务供应商和运营商所提供的新一代消费电子装置的电子商务和安全的网络下载提供支持。

4.StrongARM

StrongARM 处理器采用ARMV4T 的五级流水结构,性能较高。它最初是与DEC 联合研制的,后来授权给Intel,Intel 公司用SA110 命名该通用嵌入式标准处理器。该系列还包括SA1100 PDA 系统芯片和SA1500 多媒体处理器芯片。ARM 芯片的选择要根据实际需求而定。例如,如果希望使用WinCE 或Linux 等操作系统以减少软件开发时间,就需要选择ARM720T 以上带有MMU(memory management unit)功能的ARM 芯片,ARM720T、StrongARM、ARM920T、ARM922T、ARM946T 都带有MMU 功能。而ARM7TDMI 没有MMU,不支持Windows CE 和大部分的Linux,但目前有uCLinux 等少数几种Linux 不需要MMU 的支持。

SOC设计方法与实现

关于对 《SoC设计方法与实现》的一点认识 '

| 目录 摘要 (3) 一 SoC概述 (3) 二SoC设计现状 (4) 1 芯核的设计流程 (7) 2 软硬件协同设计的流程 (8) 3 Soc的系统级设计流程 (8) 三 SoC发展的现状 (10) ( 1 SoC在中国发展的现状 (10) 2 国外SOC的发展现状 (11) 四SOC的未来发展趋势 (12) ;

\ 摘要 通过将近四周的学习,我已经对SoC有了一些基本的认识。在任课教师的指导下,我完成了此篇论文。本文主要从什么是SoC ,SoC 有什么用途,SoC的设计,SOC发展的现状和未来趋势这五个方面来简单论述的,在论述的过程中查阅了一部分文献资料,并且兼顾含有了集成电路的相关知识。 关键词 SoC 用途发展趋势 一 SoC概述 \ 随着集成电路1技术进入新的阶段,市场开始转向追求体积更小、成本更低、功耗更少的产品,因此出现了将多个甚至整个系统集成在一个芯片2上的产品––系统芯片(system on a chip,SoC)。系统芯片将原来由多个芯片完成的功能,集中到单个芯片中完成。更具体地说,它在单一硅芯片上实现信号采集、转换、存储、处理和I/O等功能,或者说在单一硅芯片上集成了数字电路、模拟电路、信号采集、 1 1952年5月,英国皇家研究所的达默就在美国工程师协会举办的座谈会第一次提到了集成电路的设想。他说:“可以想象,随着晶体管和半导体工业的发展,电子设备可以在一块固体块上实现,而不需要外部的连接线。这块电路将有绝缘层、导体和具有整流放大作用的半导体等材料组成”,这就是最早的集成电路的概念。 2通常所说的“芯片”是指集成电路,它是微电子产业的主要产品。

SOC的软硬件协同设计方法和技术

SOC的软硬件协同设计方法和技术 摘要: 随着嵌入式系统与微电子技术的飞速发展,硬件的集成度越来越高,这使得将CPU、存储器和I/O设备集成到一个硅片上成为可能,SOC应运而生,并以其集成度高、可靠性好、产品问世周期短等特点逐步成为当前嵌入式系统设计技术的主流。传统的嵌入式系统设计开发方法无法满足Soc设计的特殊要求,这给系统设计人员带来了巨大的挑战和机遇,因此针对Soc的设计方法学己经成为当前研究的热点课题。 论文首先分析了嵌入式系统设计的发展趋势,论述了传统设计开发方法和工具的局限性,针对Soc设计技术的特点探究了Soc软硬件协同设计方法的流程,并讨论了目前软硬件协同设计的现状。 关键词: 软硬件协同设计,可重用设计,SOC 背景: 计算机从1946年诞生以来,经历了一个快速发展的过程,现在的计算机没有变成科幻片电影中那样贪婪、庞大的怪物,而是变得小巧玲珑、无处不在,它们藏身在任何地方,又消失在所有地方,功能强大,却又无影无踪,这就是嵌入式系统。嵌入式系统是以应用为中心、计算机技术为基础、软件硬件可剪裁、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。嵌入式系统是将先进的计算机技术、微电子技术和现代电子系统技术与各个行业的具体应用相结合的产物,这一点决定了它必然是一个技术密集、高度分散、不断创新的知识集成系统。嵌入式系纫‘泛应用于国民经济和国防建设的各个领域,发展非常迅速,调查数据表明,嵌入式系统的增长为每年18%,大约是整个信息技术产业平均增长的两倍[1],目前世界上大约有2亿台通用计算机,而嵌入式处理器大约60亿个,嵌入式系统产业是二十一世纪信息产业的重要增长点。 随着集成电路制造工艺的飞速发展,嵌入式系统硬件的集成度越来越高,这使得将嵌入式微处理器、存储器、I/O设备等硬件组成部件集成到单个芯片上成为可能,片上系统SoC (System on Chip)应运而生[2]。SOC极大地缩小了系统体积;减少了板级系统SoB(System on Board)中芯片与芯片之间的互连延迟,从而提高了系统的性能; 强调设计重用思想,提高了设计效率,缩短了设计周期,减少了产品的上市时间。因此SOC以其集成度高、体积小、功耗少、可靠性好、产品问世周期短等优点得到了越来越广泛地应用,并且正在逐渐成为当前嵌入式系统设计的主流技术[3]。但Soc设计不同于传统嵌入式系统的开发,如何快速、有效地开发和设计Soc产品是当前嵌入式设计开发方法学的一个十分重要的研究领

基于ARM的SoC设计入门.

基于ARM的SoC设计入门 2005-12-27 来源:电子工程专辑阅读次数: 1033 作者:蒋燕波 我们跳过所有对ARM介绍性的描述,直接进入工程师们最关心的问题。 要设计一个基于ARM的SoC,我们首先要了解一个基于ARM的SoC的结构。图1是一个典型的SoC的结构:

图1 从图1我们可以了解这个的SoC的基本构成: ARM core:ARM966E

?AMBA 总线:AHB+APB ?外设IP(Peripheral IPs):VIC(Vector Interrupt Controller), DMA, UART, RTC, SSP, WDT ?Memory blocks:SRAM, FLASH ?模拟IP:ADC, PLL 如果公司已经决定要开始进行一个基于ARM的SoC的设计,我们将会面临一系列与这些基本构成相关的问题,在下面的篇幅中,我们尝试讨论这些问题。 1. 我们应该选择那种内核? 的确,ARM为我们提供了非常多的选择,从下面的表-1中我们可以看到各种不同ARM内核的不同特点:

表1 ARM已经给出了基本的参考意见:

?如果您在开发嵌入式实时系统,例如汽车控制、工业控制或网络应用,则应该选择Embedded core。 ?如果您在开发以应用程序为主并要使用操作系统,例如Linux, Palm OS, Symbian OS 或Windows CE等等,则应选择Application core。 ?如果您在开发象Smart card,SIM卡或者POS机一样的需要安全保密的系统,则需要选择Secure Core。 举个例子,假如今天我们需要设计的是一个VoIP电话使用的SoC,由于这个应用不需要使用到操作系统,所以我们可以考虑使用没有MMU的内核。另外由于网络协议盏对实时性的要求较高,所以我们可以考虑ARM9系列的内核。又由于VoIP有语音编解码方面的需求,所以需要有DSP功能扩展的内核,所以ARM946E-S或ARM966E-S应该是比较合适的选择。 当然,在实际工作中的问题要比这个例子要复杂的多,比如在上一个例子中,我们也可以选择ARM7TDMI内核加一个DSP的解决方案,由ARM来完成系统控制以及网络协议盏的处理,由单独的DSP来完成语音编解码的功能。我们需要对比不同方案的面积,功耗和性能等方面的优缺点。同时我们还要考虑Cache size,TCM size,实际的内核工作频率等等相关问题,所以我们需要的一个能构快速建模的工具来帮助我们决定这些问题。现在的EDA工具为我们提供了这样的可能,例如Synopsys?的CCSS(CoCentric System Studio)以及Axys?公司的Maxsim?等工具都可以帮助我们实现快速建模,并在硬件还没有实现以前就可以提供一个软件的仿真平台,让我们在这个平台上进行软硬联仿,评估我们设想的硬件是否满足需求。 2.我们应该选择那种总线结构? 在提供内核给我们的同时,ARM也提供了多种的总线结构。例如ASB,AHB,AHB lite,AXI等等,在定义使用何种总线的同时,我们还要评估到底怎样的总线频率才能满足我们的需求,而同时不会消耗过多的功耗和片上面积。这就是我们平时常说的Architecture Exploration的问题。 和上一个问题一样,这样的问题也需要我们使用快速建模的工具来帮我们作决定。通常,这些工具能为我们提供抽象级别很高的TLM(Transaction Level Models)模型来帮助我们建模,常用的IP在这些工具提供的库中都可以找到,例如各种ARM core,AHB/APB BFM(Bus Function Model),DMAC以及各种外设IP。这些工具和TLM模型提供了比RTL仿真快100~10000倍的软硬联仿性能,并提供系统的分析功能,如果系统架构不能满足需要,那么瓶颈在系统的什么地方,是否是内核速度不够?总线频率太低?Cache太小?还是中断响应开销太多?是否需要添加DMA?等等,诸如此类的问题,我们多可以在工具的帮助下解决。

SOC设计方法

SOC设计方法 时间:2011-01-13 19:02:31 来源:作者: 本文通过对集成电路IC技术发展现状的讨论和历史回顾,特别是通过对电子整机设计技术发展趋势的探讨,引入系统芯片(System on Chip,简称SOC)的定义,主要特点及其设计方法学等基本概念,并着重探讨面向SOC的新一代集成电路设计方法学的主要研究内容和发展趋势。 关键词:SOC 软硬件协同设计超深亚微米高层次综合IP核设计再利用引言 人类进入21世界面临的一个重要课题就是如何面对国民经济和社会发展信息化的挑战。以网络通信、软件和微电子为主要标志的信息产业的飞速发展既为我们提供了一个前所未有的发展机遇,也营造了一个难得的市场与产业环境。 集成电路作为电子工业乃至整个信息产业的基础得益于这一难得的机遇,呈现出快速发展的态势。以软硬件协同设计(Software/Hardware Co-Design)、具有知识产权的内核(IP核)复用和超深亚微米(Very Deep Sub-M集成电路ron,简称VDSM)技术为支撑的SOC是国际超大规模集成电路(VLSI)的发展趋势和新世纪集成电路的主流。 与此同时,集成电路设计技术的进步滞后于集成电路制造技术的进步已成为制约未来集成电路工业进一步健康发展的关键。传统的、基于标准单元库的设计方法已被证明不能胜任SOC的设计;现行的面向逻辑的集成电路设计方法在深亚微米集成电路设计中遇到了难以逾越的障碍;芯片设计涉及的领域不再局限于传统的半导体而且必须与整机系统结合;集成电路设计工程师们从来没有像今天这样迫切地需要汲取新知识,特别是有关整机系统的知识。所以尽快开展面向SOC的新一代集成电路设计方法学研究对于推动集成电路的发展是至关重要的。 回顾20世纪后半叶集成电路工业的历史,不难看出著名的MOORE(摩尔)定律一直在准确地描述着集成电路技术的发展。专家们普遍认为,在新的世纪中,这一著名定律仍将长期有效。尽管MOORE定律揭示的集成电路工艺技术的进步规律是那样的诱人,且其发展速度之高在现代社会是少有的,但是今天正在蓬勃发展的网络技术的进步相比(见图1)还是相形见绌,远远不能满足信息产业发展的要求。

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的一般构成

相关主题
相关文档
最新文档