7.4.1 SOPC开发
可编程的片上系统(system on programmable chip,SOPC)将处理器、存储器、I/O、LVDS和CDR等系统设计需要的功能模块集成到一个可编程器件上,构成一个可编程的片上系统。SOPC既利用了CPU操作的灵活性,也具有FPGA的并行计算及底层接口处理能力,是一种灵活、高效的SoC解决方案。
与ASIC的SoC解决方案相比,SOPC系统及其开发技术具有更多的特色,构成SOPC的方案也有多种途径。常见的SOPC方案有以下三种:
(1)基于FPGA嵌入IP硬核的SOPC系统。该方案是指在FPGA中预先植入处理器。最常用的是含有ARM32位知识产权处理器核的器件。为了达到通用性,必须为常规的嵌入式处理器集成诸多通用和专用的接口,但增加了成本和功耗。如果将ARM或其他处理器核以硬核方式植入FPGA中,利用FPGA中的可编程逻辑资源,按照系统功能需求来添加接口功能模块,既能实现目标系统功能,又能降低系统的成本和功耗。这样就能使得FPGA灵活的硬件设计与处理器的强大软件功能有机地结合在一起,高效地实现SOPC系统。
(2)基于FPGA嵌入IP软核的SOPC系统。目前最有代表性的软核处理器分别是Altera公司的NiosⅡ核、Xilinx公司的MicroBlaze核。NiosⅡ核处理器的特点如下:①最大处理性能提高了3倍;②CPU内核面积最大可缩小1/2;③32位RISC嵌入式处理器具有超过200DMIP的性能,成本只有35美分;④可在多种系统设置组合中进行选择,满足成本和功能要求;⑤可延长产品生命周期,防止出现处理器逐渐过时的情况。
(3)基于HardCopy技术的SOPC系统。HardCopy就是利用原有的FPGA开发工具,将成功实现于FPGA器件上的SOPC系统通过特定的技术直接向ASIC转化,从而克服了传统ASIC设计中普遍存在的问题。ASIC(SoC)开发中难以克服的问题包括开发周期长、产品上市慢、一次性成功率低、有最少投片量要求、设计软件工具繁多且昂贵、开发流程复杂等。
总之,SOPC技术的目标就是将尽可能大而完整的电子系统在单一可编程片上系统中实现,使得所设计的系统在规模、可靠性、体积、功耗、功能、性能指标、上市周期、开发成本、产品维护和硬件升级等多方面实现最优化,而这也是SOPC技术发展的根本方向。