sopc

发布时间:2024-05-12 21:01:05 作者:汉语成语

SoPC即片上可编程系统(SoPC-SystemonaProgrammableChip),是一种灵活、高效的SoC解决方案。它将处理器、存储器、I/O口、LVDS等系统需要的功能模块集成到一个PLD器件上,构成一个可编程的片上系统。它是PLD与SOC技术融合的结果。

构成三种方案

1基于FPGA嵌入IP硬核的SOPC系统:

该方案是指在FPGA中预先植入处理器.最常用的是含有ARM32位知识产权处理器核的器件。为了到达通用性,必须为常规的嵌入式处理器集成诸多通用和专用的接口,但增加了成本和功耗.如果将ARM或其它处理器核以硬核方式植入FPGA中,利用FPGA中的可编程逻辑资源,按照系统功能需求来添加接口功能模块,既能实现目标系统功能,又能降低系统的成本和功耗.这样就能使得FPGA灵活的硬件设计与处理器的强大软件功能有机地结合在一起,高效地实现SOPC系统。

IP硬核直接植入FPGA存在以下不足:IP硬核多来自第三方公司,FPGA厂商无法控制费用,从而导致FPGA器件价格相对偏高.IP硬核预先植入,使用者无法根据实际需要改变处理器结构.更不能嵌入硬件加速模块(DSP).无法根据实际设计需要在同一FPGA中集成多个处理器.无法根据实际设计需要裁减处理器硬件资源以降低FPGA成本.只能在特定的FPGA中使用硬核嵌入式处理器

2基于FPGA嵌入IP软核的SOPC系统:

IP软核处理器能有效克服上述不足:目前最有代表性的软核处理器分别是Altera公司的NiosII核,以及Xilinx公司的MicroBlaze核.特别是NiosII核,能很好的解决上述五方面的问题.Altera的NiosII核是用户可随意配置核构建的32位嵌入式处理器IP核,采用Avalon总线结构通信接口;包含由FS2开发的基于JTAG的片内设备内核.在费用方面,由于NiosII是由Alter公司直接提供而非第三方厂商产品,故用户通常无需支付知识产权费用,NiosII的使用费用仅仅是其瞻仰的FPGA逻辑资源的费用

3基于HardCopy技术的SOPC系统:

HardCopy就是利用原有的FPGA开发工具,将成功实现于FPGA器件上的SOPC系统通过特定的技术直接向ASIC转化,从而克服传统ASIC设计中普遍存在的问题.ASIC(SOC)开发中难于克服的问题包括:开发周期长,产品上市慢,一次性成功率低,有最少投片量要求,设计软件工具繁多且昂贵,开发流程复杂等.

利用HardCopy技术设计ASIC,开发软件费用少,SOC级规模的设计周期不超过20周,转化的ASIC与用户设计习惯的掩模层只有两层,且一次性投片的成功率近乎100%,即所谓的FPGA向ASIC的无缝转化用ASIC实现后的系统性能将必原来在HardCopyFPGA上验证的模型提高近50%,而功耗则降低40%.

HardCopy技术是一种全新的SOC级ASIC设计解决方案,即将专用的硅片设计和FPGA至HardCopy自动迁移过程结合在一起的技术,首先利用QuartusII将系统模型成功实现于HardCopyFPGA上,然后帮助设计者把可编程解决方案无缝地迁移到低成本的ASIC上.这样,HardCopy器件就把大容量FPGA的灵活性和ASIC的市场优势结合起来,实现对于有较大批量要求并对成本敏感的电子产品上,从而避开了直接设计ASIC的困难.

三种方案的比较

特点

SOPC结合了SOC和PLD、FPGA各自的优点,一般具备以下基本特征:

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

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

丰富的IPCore资源可供选择;

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

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

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

单芯片、低功耗、微封装。

开发流程

SOPC的开发流程通常包括2个方面:基于QuartusII,SOPCBuilder的硬件设计,基于NiosIIIDE的软件设计.对于比较简单的NiosII系统,一个人便可执行所有设计.对于比较复杂的系统,硬件和软件设计可以分开进行.SOPC的开发过程中要使用到QuartusII,SOPCBuilder以及NiosIIIDE

SOPCBuilder:它是NiosII软核处理器的开它是NiosII软核处理器的开发包,用于实现NiosII系统配置,生成以及与NiosII系统相关的监控和软件调试平台的生成;

NiosIDE:用于完成基于NiosII系统的软件开发和调试,并可借助其自带的Flash并可借助其自带的Flash编程器完成对Flash以及EPCS的编程操作.

QuartusII:用于完成NiosII系统的分析综合,硬件优化,适配,配置文件编程下载以及硬件系统测试等;

硬件开发

用SOPCBuilder软件从NiosII处理器内核和NiosII开发套件提供的外设列表中选取合适的CPU,存储器以及各外围器件,并定制和配置它们的功能;分配外设地址及中断号;设定复位地址;生成系统.用户也可以添加用户自身定制指令逻辑到NiosII内核以加速CPU性能;添加用户自己设计的IP模块.硬件开发使用QuartusII和SOPCBuilderGUI处理器库选择并配置外设.

解决方案

近年来PLD器件密度的提高,芯片规模的扩大和性能的提升为SoPC提供了物质基础。下面以Altera公司的SoPC解决方案为例,介绍一下SoPC技术的应用。Altera公司起初是生产可编程逻辑器件及其开发工具,并拥有一些IP核的公司。随着技术的发展,尤其是通信技术的发展,对带宽和速度的要求越来越高,Altera率先推出自己的SoPC解决方案,将处理器、存储器、I/O口、LVDS、CDR等系统设计需要的东西集成到一个PLD器件上,构建成一个可编程的片上系统。

1.Nios软核在2000年,Altera发布了Nios处理器,推出了一个基于APEX系列FPGA的嵌入式处理器解决方案,这是AlteraExcalibur嵌入处理器计划中的个产品,它将可编程逻辑器件和处理器的能力结合到了一起,成为业界款为可编程逻辑优化的可配置处理器。这种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、APEXII等。值得一提的是Stratix

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

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

(1)芯片内嵌入了200MHz(210MIPS)的ARM922TRISC(精简指令集计算机)CPU,并带有容量各为8K字节的指令和数据缓冲区。

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

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

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