您好,欢迎访问三七文档
SoC介绍1SoC定义近10年来,无论是消费类产品如电视、录像机,还是通信类产品如电话、网络设备,这些产品的核心部分都开始采用芯片作为它们的“功能中枢”,这一切都是以嵌入式系统技术得到飞速发展作为基础的。SoC(SystemonChip,片上系统)是ASIC(ApplicationSpecificIntegratedCircuits)设计方法学中的新技术,是指以嵌入式系统为核心,以IP复用技术为基础,集软、硬件于一体,并追求产品系统最大包容的集成芯片。狭意些理解,可以将它翻译为“系统集成芯片”,指在一个芯片上实现信号采集、转换、存储、处理和I/O等功能,包含嵌入软件及整个系统的全部内容;广义些理解,可以将它翻译为“系统芯片集成”,指一种芯片设计技术,可以实现从确定系统功能开始,到软硬件划分,并完成设计的整个过程。2SoC发展中的焦点技术SoC设计的最大门槛是专门技术、IP库和SoC总线架构支持,需要广泛的多功能IP和将客户逻辑与之集成在一起的设计艺术,以满足客户产品开发的需求。SoC的发展离不开应用领域的需求牵引。进行片上系统设计时,首先要考虑的问题是系统的体系结构。为了提高开发模块的重复利用率,降低开发成本,用户采用了SoC(芯片内部)总线、芯片间总线(如SPI、I2C、UART、并行总线)、板卡间总线(ISA、PCI、VME)、设备间总线(USB、1394、RS232)。SoC总线为用户提供了一个堪称“理想”的环境:片上系统模块间不会面临干扰、匹配等传统问题;但是片上系统的时序要求却异常严格。2.1IP复用技术SoC芯片需要集成一个复杂的系统,这导致了它具有比较复杂的结构,如果是从头开始完成芯片设计,显然将花费大量的人力物力。另外,现在电子产品的生命期正在不断缩短,这要求芯片的设计可以在更短的周期内完成。为了加快SoC芯片设计的速度,人们将已有的IC电路以模块的形式,在SoC芯片设计中调用,从而简化芯片的设计,缩短设计时间,提高设计效率。这些可以被重复使用的IC模块就叫做IP模块(或者系统宏单元、芯核、虚拟器件)。由此许多第三方IP供应商得到快速发展,它们的成功要么具有独一无二的且极具价值的IP,要么具有良好声誉的库。SoC设计者通过重用证明了的IP,不仅利用了最新工艺技术优势,而且减少了开发周期和风险。SoC的设计基础是IP(IntellectualProperty)复用技术。2.1IP复用技术(续)IP模块是一种预先设计好,已经过验证,具有某种确定功能的集成电路、器件或部件。它有3种不同形式:软IP核(softIPcore)固IP核(firmIPcore)硬IP核(hardIPcore)2.2SoC技术的优缺点SoC具有以下几方面的优势。(1)降低耗电量:随电子产品向小型化、便携化发展,对其省电需求将大幅提升,由于SoC产品多采用内部讯号的传输,可以大幅降低功耗。(2)减少体积:数颗IC整合为一颗SoC后,可有效缩小电路板上占用的面积,达到重量轻、体积小的特色。(3)丰富系统功能:随微电子技术的发展,在相同的内部空间内,SoC可整合更多的功能元件和组件,丰富系统功能。(4)提高速度:随着芯片内部信号传递距离的缩短,信号的传输效率将提升,而使产品性能有所提高。(5)节省成本:理论上,IP模块的出现可以减少研发成本,降低研发时间,可适度节省成本。不过,在实际应用中,由于芯片结构的复杂性增强,也有可能导致测试成本增加,及生产成品率下降。2.4SoC技术的优缺点(续)虽然,使用基于IP模块的设计方法可以简化系统设计,缩短设计时间,但随着SoC复杂性的提高和设计周期的进一步缩短,也为IP模块的重用带来了许多问题:(1)要将IP模块集成到SoC中,要求设计者完全理解复杂IP模块的功能、接口和电气特性,如微处理器、存储器控制器、总线仲裁器等。(2)随着系统的复杂性的提高,要得到完全吻合的时序也越来越困难。即使每个IP模块的布局是预先定义的,但把它们集成在一起仍会产生一些不可预见的问题,如噪声,这些对系统的性能有很大的影响。3SoPC以往的SoC设计依赖于固定的ASIC。其设计方法通常采用全定制和半定制电路设计方法,设计完成后如果不能满足要求,经常需要重新设计再进行验证,这将导致开发周期变长,开发成本增加。另外,如果要对固定ASIC的设计进行修改、升级,也将花费昂贵的代价进行重复设计。与ASIC比较,可编程逻辑器件(PLD)的设计要灵活得多,它不仅开发周期较短,而且规模效应具有成本优势。SOPC(Systemonaprogrammablechip:片上可编程系统)是Altera公司提出来的一种灵活、高效的解决方案,它将处理器、存储器、I/O口、LVDS、CDR等系统设计需要的东西集成到一个PLD器件上,构建成一个可编程的片上系统,它所具有的灵活性、低成本可让系统设计者获益非浅。SoPC是SoC技术和可编程逻辑技术结合的产物,是一种特殊的嵌入式系统。首先它是SoC,即可以由单个芯片完成整个系统的主要逻辑功能;其次,它还是可编程系统,具有灵活的设计方式,可裁减、可扩充、可升级,并具备一定的系统可编程功能。3.1SoPC的特点SoPC设计技术涵盖了嵌入式系统设计技术的全部内容,包括:以处理器实时多任务操作系统(RTOS)为中心的软件设计技术、以PCB和信号分析为基础的高速电路设计技术、软硬件协同设计技术。SoPC结合了SoC、PLD和FPGA各自的优点,具备以下特点:至少包含一个嵌入式处理器内核具有小容量片内高速RAM资源丰富的IPCore资源可供选择足够的片上可编程逻辑资源处理器调试接口和FPGA编程接口可能包含部分可编程模拟电路单芯片、低功耗、微封装3.2SoPC解决方案近年来PLD器件密度的提高,芯片规模的扩大和性能的提升为SoPC提供了物质基础。下面以Altera公司的SoPC解决方案为例,介绍一下SoPC技术的应用。Altera公司起初是生产可编程逻辑器件及其开发工具,并拥有一些IP核的公司。随着技术的发展,尤其是通信技术的发展,对带宽和速度的要求越来越高,Altera率先推出自己的SoPC解决方案,将处理器、存储器、I/O口、LVDS、CDR等系统设计需要的东西集成到一个PLD器件上,构建成一个可编程的片上系统。在2000年,Altera发布了Nios处理器,推出了一个基于APEX系列FPGA的嵌入式处理器解决方案,主要面向对速度的要求不高的低端应用在速度要求较高的高端应用,如通信领域,软核的处理速度不够,Altera就推出了基于ARM硬核的SoPC解决方案。3.3Nios软核在2000年,Altera发布了Nios处理器,推出了一个基于APEX系列FPGA的嵌入式处理器解决方案,这是AlteraExcalibur嵌入处理器计划中的第一个产品,它将可编程逻辑器件和处理器的能力结合到了一起,成为业界第一款为可编程逻辑优化的可配置处理器。这种Nios处理器是1种参数化的软核,设计人员可以通过编写一些新的HDL模块或改写已有HDL模块中的参数来对软核进行优化,及增加外围电路的功能。使用Nios软核的SoPC解决方案具有如下特点:(1)可配置为32位或16位的CPU,使设计人员能够在速度与占用资源上做出最优选择。(2)带有大量的外设和接口库,如UART、时钟、DMA、SDRAM、并行I/O等。这些特性使得SoC的设计变得简单化,提高了设计可靠性,降低了设计成本。Nios不足速度慢,150MIPS。Sram工艺和连线特性使NIOSII无法提供一个高性能的可配置的片上总线灵活性不是神话,实现高度的灵活性仍然有大的技术难度功耗大,电源管理难于实现3.3.1NIOS结构AlteraFpgaCycloneNios(cpu)DMAAvalonBuaModuleInstrDataDataUARTInterfacetoSmclan91c111Tooff-chipmemory3.3.2NIOSII的开发方法硬件开发环境:QuartusII4.0,SOPCbuilder,原理图设计,Cyclone下载软件开发环境:IDE软件开发工具SoPCbuilder为了支持SoPC的开发,Altera公司还推出了一系列EDA设计工具,如QuartusII,以及SoPCBuilder。QuartusII是一个集成开发环境,设计人员可在里面完成SoPC的全部设计,包括系统的生成、编译、仿真,并可以下载到开发器件中,进行实时评估和验证。尤其,该软件还可以集成SoPCBuilder开发工具,令SoPC的开发更为便捷。SoPCBuilder是一个自动化的系统开发工具,可以简化SoPC的设计工作。它提供了一个强大的设计平台以搭建基于总线的系统,其内部包含了一系列的模块,如处理器、存储器、总线、DSP等IP核。使用SoPCBuider,设计人员能够快速地调用和集成内建的IP核库,定义一个从硬件到软件的完整系统。使用中的Sopcbuilder元件选择区设置地址以及中断号主频3.3.3Nios软件设计主要有以下流程获得软件开发包。Sopcbuilder会在工程文件夹中自动生成你的工程的软件开发包。通过使用软件开发包中的头文件和库文件,会大大节省时间。编写与编译应用程序。可以使用文本编辑器书写C语言代码和汇编程序,然后使用nios-build工具编译程序。编译后的代码存为Srec格式。下载可执行文件到开发板中。调试程序代码。转变成自启动代码。转换设计从Nios开发板到目标硬件。3.3.4Nios软件开发工具Nios软件开发包中有许多软件开发工具,大都包含在NiosSDKShell中。NiosSDKShell提供了一个与UNIX相似的PC机平台,有许多UNIX系统经常用到的命令和工具,同时,NiosSDKShell提供了许多用于调试和产生Nios程序的工具。几个常用的命令:Nios-build(NB)Nios-build可以对Nios源程序进行编译、汇编、和连接。Nios-build产生的文件以.srec结尾,这种文件可以直接下载到Nios开发板中。Nios-build用法如下:nios-build[option]sourcefile,其中option选项可以设置代码首地址、输出文件名等功能。Nios-run(NR)Nios-run可以将.srec格式的代码或数据直接下载到有GERMS监控程序运行的Nios开发板中。Nios-run的用法如下:nios-run[option][filename],其中option选项可以设置串口通信的波特率、使用的串口号等功能。
本文标题:SoC介绍
链接地址:https://www.777doc.com/doc-3310623 .html