何谓SOPC
时间:09-21
来源:互联网
点击:
SOPC一词主要是源自Altera, 其涵义是因为目前CPLD/FPGA的容量愈來愈大, 性能愈來愈好, 加上价格下跌的推波助澜之下, 以往ASIC产品才能具有的 SoC观念, 也能移植到CPLD/FPGA上, 并且因为CPLD/FPGA的可编程(Programmable)能力, 使得CPLD/FPGA不仅能实现一个高复难度的系统, 而且还能快速改变系统的特性. 类似的观念也鉴于Xilinx的Platform FPGA。
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的解决方案存在如下几种不够完美之处:
由于此类硬核多来自第3方公司,FPGA厂商通常无法直接控制其知识产权费用,从而导致FPGA器件价格相对偏高。
由于硬核是预先植入的,设计者无法根据实际需要改变处理器的结构,如总线规模、接口方式,乃至指令形式,更不可能将FPGA逻辑资源构成的硬件模块以指令的形式形成内置嵌入式系统的硬件加速模块(如DSP模块),以适应更多的电路功能要求。
无法根据实际设计需求在同一FPGA中使用多个处理器核。
无法裁减处理器硬件资源以降低FPGA成本。
只能在特定的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处理器。
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的解决方案存在如下几种不够完美之处:
由于此类硬核多来自第3方公司,FPGA厂商通常无法直接控制其知识产权费用,从而导致FPGA器件价格相对偏高。
由于硬核是预先植入的,设计者无法根据实际需要改变处理器的结构,如总线规模、接口方式,乃至指令形式,更不可能将FPGA逻辑资源构成的硬件模块以指令的形式形成内置嵌入式系统的硬件加速模块(如DSP模块),以适应更多的电路功能要求。
无法根据实际设计需求在同一FPGA中使用多个处理器核。
无法裁减处理器硬件资源以降低FPGA成本。
只能在特定的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处理器。
Altera CPLD FPGA SoC Xilinx 电子 集成电路 电路 嵌入式 Quartus ARM USB 总线 DSP VHDL 相关文章:
- 验证FPGA设计:模拟,仿真,还是碰运气?(08-04)
- 学习FPGA绝佳网站推荐!!!(05-23)
- 智能命令行设计及其在 SOPC 系统中的应用(08-14)
- 我的FPGA学习历程(05-23)
- 在FPGA中实现源同步LVDS接收正确字对齐(05-01)
- Altera FPGA下载配置(11-11)