软硬件协同设计是电子系统复杂化后的一种设计新趋势,其中SoC和SoPC是这一趋势的典型代表。SoPC技术为系统芯片设计提供了一种更为方便﹑灵活和可靠的实现方式。在介绍系统级芯片设计技术的发展由来后,重点介绍SoPC设计系统芯片中的软硬件协同设计方法,并指出它比SoC实现方式所具有的优势。
1、概述
20世纪90年代初,电子产品的开发出现两个显著的特点:产品深度复杂化和上市时限缩短。基于门级描述的电路级设计方法已经赶不上新形势的发展需要,于是基于系统级的设计方法开始进入人们的视野。随着半导体工艺技术的发展,特别是超深亚微米(VDSM,<0.25 μm)工艺技术的成熟,使得在一块硅芯片上集成不同功能模块(成为系统集成芯片)成为可能。这种将各种功能模块集成于一块芯片上的完整系统,就是片上系统SoC(System on Chip)。 SoC是集成电路发展的必然趋势。
SoC设计技术始于20世纪90年代中期,它是一种系统级的设计技术。如今,电子系统的设计已不再是利用各种通用集成电路 IC(Integrated Circuit)进行印刷电路板PCB(Printed Circ
uit Board)板级的设计和调试,而是转向以大规模现场可编程逻辑阵列 FPGA (FieldProgrammable Gate Array)或专用集成电路 ASIC (ApplicationSpecific Integrated Circuit)为物理载体的系统级的芯片设计。使用ASIC为物理载体进行芯片设计的技术称为片上系统技术,即SoC;使用FPGA作为物理载体进行芯片设计的技术称为可编程片上系统技术www.cechina.cn,即SoPC(System on Programmable Chip)。SoC技术和SoPC技术都是系统级的芯片设计技术(统称为广义SoC)。
到目前为止,SoC还没有一个公认的准确定义,但一般认为它有三大技术特征:采用深亚微米(DSM)工艺技术,IP核(Intellectual Property Core)复用以及软硬件协同设计。SoC的开发是从整个系统的功能和性能出发,利用IP复用和深亚微米技术,采用软件和硬件结合的设计和验证方法控制工程网版权所有,综合考虑软硬件资源的使用成本,设计出满足性能要求的高效率、低成本的软硬件体系结构,从而在一个芯片上实现复杂的功能控制工程网版权所有,并考虑其可编程特性和缩短上市时间。使用SoC技术设计的芯片,一般有一个或多个微处理器芯片和数个功能模块。各个功能模块在微处理器的协调下,共同完成芯片的系统功能,为高性能、低成本、短开发周期的嵌入式系统设计提供了广阔前景。
SoPC技术最早是由美国Altera公司于2000年提出的,是现代计算机辅助设计技术、电子设计自动化EDA(Electronics Design Automation)技术和大规模集成电路技术高度发展的产物。SoPC技术的目标是将尽可能大而完整的电子系统在一块FPGA中实现控制工程网版权所有,使得所设计的电路在规模、可靠性、体积、功能、性能指标、上市周期、开发成本、产品维护及其硬件升级等多方面实现最优化。SoPC的设计以IP为基础,以硬件描述语言为主要设计手段www.cechina.cn,借助以计算机为平台的EDA工具,自动化、智能化地自顶向下地进行。
系统级芯片设计是一种高层次的电子设计方法,设计人员针对设计目标进行系统功能描述,定义系统的行为特性,生成系统级的规格描述。这一过程中可以不涉及实现工艺。一旦目标系统以高层次描述的形式输入计算机后,EDA系统就能以规则驱动的方式自动完成整个设计。为了满足上市时间和性能要求,系统级芯片设计广泛采用软硬件协同设计的方法进行。
2、SoPC设计中的软硬件协同设计
2.1 软硬件协同设计的背景
系统级芯片设计是微电子设计领域的一场革命,它主要有3个关键的支撑技术:
① 软、硬件的协同设计技术。主要是面向不同目标系统的软件和硬件的功能划分理论(Functional Partition Theory)和设计空间搜索技术。
② IP模块复用技术。IP是指那些集成度较高并具有完整功能的单元模块,如MPU、DSP、DRAM、Flash等模块。IP模块的再利用,除了可以缩短芯片的设计时间外,还能大大降低设计和制造的成本,提高可靠性。IP可分为硬IP和软IP。SoPC中使用的IP多数是软IP。软IP可重定制、剪裁和升级,为优化资源和提高性能提供了很大的灵活性。
③ 模块以及模块界面间的综合分析和验证技术。综合分析和验证是难点,要为硬件和软件的协同描述、验证和综合提供一个自动化的集成开发环境。
过去,最常用的设计方法是层次式设计,把设计分为3个域:行为域描述系统的功能;结构域描述系统的逻辑组成;物理域描述具体实现的几何特性和物理特性。采用自顶向下的层次式