• SOPC及其技术


    微电子技术的近期发展成果,为SOC的实现提供了多种途径。对于经过验证而又具有批量的系统芯片,可以做成专用集成电路ASIC而大量生产。而对于一些仅为小批量应用或处于开发阶段的SOC,若马上投入流片生产,需要投入较多的资金,承担较大的试制风险。最近发展起来的SOPC技术则提供了另一种有效的解决方案,即用大规模可编程器件的FPGA来实现SOC的功能。 可编程逻辑器件产生于20世纪70年代。其出现的最初目的是为了用较少的PLD品种替代种类繁多的各式中小规模逻辑电路。在30多年的发展过程中,PLD的结构、工艺、功耗、逻辑规模和工作速度等都得到了重大的进步。尤其是在20世纪90年代,出现了大规模集成度的FPGA,单片的集成度由原来的数千门,发展到数十万甚至数百万门。芯片的I/O口也由数十个发展至上千个端口。有的制造商还推出了含有硬核嵌入式系统的IP。因此,完全可能将一个电子系统集成到一片FPGA中,即SOPC,为SOC的实现提供了一种简单易行而又成本低廉的手段,极大地促进了SOC的发展。 SOPC技术是美国Altrea公司于2000年最早提出的,并同时推出了相应的开发软件Quartus II。SOPC是基于FPGA解决方案的SOC,与ASIC的SOC解决方案相比,SOPC系统及其开发技术具有更多的特色,构成SOPC的方案也有如下多种途径。 1.基于FPGA嵌入IP硬核的SOPC系统 即在FPGA中预先植入嵌入式系统处理器。目前最为常用的嵌入式系统大多采用了含有ARM的32位知识产权处理器核的器件。尽管由这些器件构成的嵌入式系统有很强的功能,但为了使系统更为灵活完备,功能更为强大,对更多任务的完成具有更好的适应性,通常必须为此处理器配置许多接口器件才能构成一个完整的应用系统。如除配置常规的SRAM、DRAM、Flash外,还必须配置网络通信接口、串行通信接口、USB接口、VGA接口、PS/2接口或其他专用接口等。这样会增加整个系统的体积、功耗,而降低系统的可靠性。但是如果将ARM或其他知识产权核,以硬核方式植入FPGA中,利用FPGA中的可编程逻辑资源和IP软核,直接利用FPGA中的逻辑宏单元来构成该嵌入式系统处理器的接口功能模块,就能很好地解决这些问题。对此,Altera和Xilinx公司都相继推出了这方面的器件。例如,Altera的Excalibur系列FPGA中就植入了ARM922T嵌入式系统处理器;Xilinx的Virtex-II Pro系列中则植入了IBM PowerPC405处理器。这样就能使得FPGA灵活的硬件设计和硬件实现更与处理器的强大软件功能有机地相结合,高效地实现SOPC系统。 2.基于FPGA嵌入IP软核的SOPC系统 将IP硬核直接植入FPGA的解决方案存在如下几种不够完美之处: l 由于此类硬核多来自第3方公司,FPGA厂商通常无法直接控制其知识产权费用,从而导致FPGA器件价格相对偏高。 l 由于硬核是预先植入的,设计者无法根据实际需要改变处理器的结构,如总线规模、接口方式,乃至指令形式,更不可能将FPGA逻辑资源构成的硬件模块以指令的形式形成内置嵌入式系统的硬件加速模块(如DSP模块),以适应更多的电路功能要求。 l 无法根据实际设计需求在同一FPGA中使用多个处理器核。 l 无法裁减处理器硬件资源以降低FPGA成本。 l 只能在特定的FPGA中使用硬核嵌入式系统,如只能使用Excalibur系列FPGA中的ARM核,Virtex-II Pro系列中的PowerPC核。 如果利用软核嵌入式系统处理器就能有效地克服解决上述不利因素。 目前最有代表性的软核嵌入式系统处理器分别是Altera的Nios和Nios II核,及Xilinx的MicroBlaze核。特别是前者,即Nios CPU系统,使上述5方面的问题得到很好地解决。 Altera的Nios核是用户可随意配置和构建的32位/16位总线(用户可选的)指令集和数据通道的嵌入式系统微处理器IP核,采用Avalon总线结构通信接口,带有增强的内存、调试和软件功能(C或汇编程序程序优化开发功能);含由First Silicon Solutions(FS2)开发的基于JTAG的片内设备(OCI)内核(这为开发者提供了强大的软硬件调试实时代码,OCI调试功能可根据FPGA JTAG端口上接收的指令,直接监视和控制片内处理器的工作情况)。此外,基于Quartus II平台的用户可编辑的Nios核含有许多可配置的接口模块核,包括:可配置高速缓存(包括由片内ESB、外部SRAM或SDRAM,100MB以上单周期访问速度)模块,可配置RS232通信口、SDRAM控制器、标准以太网协议接口、DMA、定时器、协处理器等。在植入(配置进)FPGA前,用户可根据设计要求,利用Quartus II和SOPC Builder,对Nios及其外围系统进行构建,使该嵌入式系统在硬件结构、功能特点、资源占用等方面全面满足用户系统设计的要求。Nios核在同一FPGA中被植入的数量没有限制,只要FPGA的资源允许。此外,Nios可植入的Altera FPGA的系列几乎没有限制,在这方面,Nios显然优于Xilinx的MicroBlaze。 另外,在开发工具的完备性方面、对常用的嵌入式操作系统支持方面,Nios都优于MicroBlaze。就成本而言,由于Nios是由Altera直接推出而非第3方产品,故用户通常无需支付知识产权费用,Nios的使用费仅仅是其占用的FPGA逻辑资源费。因此,选用的FPGA越便宜,则Nios的使用费就越便宜。 特别值得一提的是,通过Matlab和DSP Builder,或直接使用VHDL等硬件描述语言设计,用户可以为Nios嵌入式处理器设计各类加速器,并以指令的形式加入Nios的指令系统,从而成为Nios系统的一个接口设备,与整个片内嵌入式系统融为一体。例如,用户可以根据设计项目的具体要求,随心所欲地构建自己的DSP处理器系统,而不必拘泥于其他DSP公司已上市的有限款式的DSP处理器。 3.基于HardCopy技术的SOPC系统 通过强化SOPC工具的设计能力,在保持FPGA开发优势的前提下,引入ASIC的开发流程,从而对ASIC市场形成直接竞争。这就是Altera推出的HardCopy技术。 HardCopy就是利用原有的FPGA开发工具,将成功实现于FPGA器件上的SOPC系统通过特定的技术直接向ASIC转化,从而克服传统ASIC设计中普遍存在的问题。 与HardCopy技术相比,对于系统级的大规模ASIC(SOC)开发,有不少难于克服的问题,其中包括开发周期长、产品上市慢,一次性成功率低、有最少的投片量要求、设计软件工具繁多且昂贵、开发流程复杂等。例如,此类ASIC开发,首先要求有高的技术人员队伍、高达数十万美元的开发软件费用和高昂的掩膜费用,且整个设计周期可能长达一年。ASIC设计的高成本和一次性低成功率很大部分是由于需要设计和掩膜的层数太多(多达十几层)。然而如果利用HardCopy技术设计ASIC,开发软件费用仅2000美元(Quartus II),SOC级规模的设计周期不超过20周,转化的ASIC与用户设计习惯的掩膜层只有两层,且一次性投片的成功率近乎100%,即所谓的FPGA向ASIC的无缝转化。而且用ASIC实现后的系统性能将比原来在HardCopy FPGA上验证的模型提高近50%,而功耗则降低40%。一次性成功率的大幅度提高即意味着设计成本的大幅降低和产品上市速度的大幅提高,3种SOC方案的比较如表1-1所示。 表1-1 3种SOC方案的比较 项 目 基于ASIC的SOC 基于FPGA的SOC(SOPC) 基于HardCopy的SOC 单片成本 低 较高 较低 开发周期 长(超过50周) 短(少于10周) 较短(少于20周) 开发成本 设计工程成本高掩模成本高软件工具成本高(超过30万美元) 设计工程成本低无掩模成本软件工具成本低(低于2000美元) 设计工程成本低掩模成本低软件工具成本低(低于2000美元) 一次投片情况 一次投片成功率低、成本高、耗时长 可现场配置 一次投片成功率近乎100%,成本低、耗时短 集成技术 0.25μs~65nm 0.25μs~90nm 0.25μs ~90nm 可重构性 不可重构 可重构 不可重构 HardCopy技术是一种全新的SOC级ASIC设计解决方案,即将专用的硅片设计和FPGA至HardCopy自动迁移过程结合在一起的技术,首先利用Quartus II将系统模型成功实现于HardCopy FPGA上,然后帮助设计者把可编程解决方案无缝地迁移到低成本的ASIC上的实现方案。这样,HardCopy器件就把大容量FPGA的灵活性和ASIC的市场优势结合起来,实现对于有较大批量要求并对成本敏感的电子系统产品上。从而避开了直接设计ASIC的困难,而从原型设计提升至产品制造,通过FPGA的设计十分容易地移植到HardCopy器件上,达到降低成本,加快面市周期的目的。HardCopy器件(如HardCopy Stratix系列、Excalibur系列FPGA)避免了ASIC的风险,它采用FPGA的专有迁移技术。其HardCopy ASIC是直接在Altera PLD体系之上构建的,采用有效利用面积“逻辑单元海”内核。本质上,HardCopy器件是FPGA的精确复制,剔除了可编程性,专用配置和采用金属互连使用的走线。这样,器件的硅片面积就更小,成本就更低,而且还改善了时序特性。

    ★emouse 思·睿博客文章★ 原创文章转载请注明:http://emouse.cnblogs.com
  • 相关阅读:
    Hadoop学习:Map/Reduce初探与小Demo实现
    OCR OneNote
    百度OCR识别示例
    Sqlserver 中添加数据库登陆账号并授予数据库所有者权限
    IIs 中运行asp程序出现“An error occurred on the server when processing the URL. Please contact the system administrator.”错误
    SqlServer 删除重复记录
    Chrome 制作绿色便携版
    Asp.net 在网页编写C#代码示例-- 一个简单的web MsSql 命令执行环境
    C# 中如何将List<string>里的集合转换成字符串并按指定的字符进行分隔?
    使用SQL SERVER FOR XML PATH将多个结果集转换成一行并进行去重处理
  • 原文地址:https://www.cnblogs.com/emouse/p/2198169.html
Copyright © 2020-2023  润新知