把可编程逻辑同预设计的标准嵌入处理器内核、片内存储器和外设结合到复杂的单芯片系统中的新产品正在涌现,这在以前是根本不可思议的。集成了快速SDRAM控制器、UART、记时器和片内双口存储器等外设的高性能嵌入处理器和可编程逻辑的单芯片系统,比采用分立部件具有更高的系统性能,相对ASIC具有更短的设计周期。
除了向系统设计提供关键的IP模块外,把这些IP模块和片内的其它功能连接在一起的体系和总线结构也是至关重要的,它能够实现最大的系统级性能和效率。例如,总线体系通常是符合工业标准,以便和第三方或专用IP模块接口。支持多总线主和从模块,提供能够控制优先访问共享总线和外设资源的仲裁策略,这样能够实现不同任务的并行处理或同时运行。由多总线控制器共享访问片内快速双口存储器在许多应用中非常有用,如从系统存储空间中读取或写入临时数据。 总线体系也应该支持分离的业务。如运行CPU读取请求以放慢对外设如闪存的访问,但是允许其它总线控制器访问共享总线执行其它功能,而无需等待读操作完成。 SOPC体系也应该支持不同功能模块的多时钟域,这些模块用桥接接口同步逻辑连接在一起。这在需求情形下非常有用,如片内嵌入处理器工作于和可编程逻辑中实现的SDRAM控制器或总线控制器不同的时钟频率。这样就允许多种模块以自己的最高速度工作,不受芯片上其它低操作频率功能的限制。 在标准MIPS基于ISA的处理器和系统控制芯片组中,采用集成嵌入CPU的SOPC设计比采用分立处理器有更高的系统级性能。这些器件通常用于多功能打印机或作为高速网络交换的I/O处理器。目前的MIPS处理器,象QED/PMC Sierra或IDT系列的带宽都受限于MIPS SysAD总线(这是一种地址和数据复用的总线,目前最快的CPU为上限为133MHz,处理随时都会遇到高速缓冲不够用,必须使用外部存储器来提取数据,这时必须通过SysAD总线。然而,其中一些系统控制器芯片组目前仅仅支持SysAD总线的最高速度为125MHz,或者SDRAM控制器最高速度为133MHz。 相比而言,Altera的Excalibur EPXM系列等SOPC产品,集成了200MHz的MIPS 4Kc CPU内核和MIPS系统总线,该总线的工作频率和处理器的最高时钟(也就是200MHz)相同,克服了133MHz MIPS SysAD的总线瓶颈。另外,Altera的ARM922和基于MIPS的Excalibur产品都支持266MHz DDR SDRAM,也能够象软IP模块易于在接近的PLD结构中实现不同类型的PCI总线控制。
硬件设计工具通常包括对硬件描述语言如VHDL和Verilog的支持。第三方HDL综合工具,如Mentor Graphics的LeonardoSpectrum,Synopsys的FPGA Express和Synplicity的Synplify都是把RTL转换为门级网表的常用工具。PLD设计开发工具如Altera的Quartus II,提取网表,用优化的布局和时限在PLD结构进行实际的布局布线。若要用其它在PLD中实现的功能模块进行交互仿真,还必须提供精确的嵌入处理器和集成子系统的仿真模型。 对于嵌入式系统软件开发,重要的是要有完整的软件工具设计套件支持基于嵌入处理器的方案,包括编译器,调试器,汇编器,连接器,指令集仿真器,跟踪分析器和任何必要的支持库和应用。向MIPS和ARM这样工业标准体系支持多种实时操作系统(RTOS)以及嵌入系统软件开发的软件工具。 新的系统设计工具包括系统配置工具以及能够确定嵌入处理器子系统特定功能的工具。绝大部分的系统包含许多IP模块,它们是通过总线连接在一起。理想的系统构建工具能让设计者选择所需的IP模块,同时确定每个模块的参数,为各个模块设置不同的时钟域。象Altera的SOPC Builder工具实际上为每个IP模块生成可综合的代码,生成总线,配置子系统参数,还提供仿真模型。 建模支持通常有三个层次的模型。第一是系统模型,它指的是整个硬件-软件系统的功能模型。这通常用于联合仿真,如Mentor Graphics Seamless或Synopsys的Eagli-I等工具。这些工具的仿真比常见的硬件仿真要快,但是比实际硬件仿真要慢。第二类模型是采用嵌入处理器自系统仿真模型进行系统验证。这是基于和设计一样RTL的周期准确的仿真模型。它可以集成到仿真流程中,允许全芯片仿真,并可以观测处理器子系统内部的功能模块。它也可能使用仿真模型运行系统代码。第三类模型是独立模块验证,这通常是在系统集成之前进行。这包括处理器的总线功能模型,它描述了SOPC设计中特定的系统总线操作、时限和其它模块的接口。总线功能模型可以仅仅验证硬件。设计者可以在设计处理器接口的外设中使用总线功能模型。 对于调试工具,有硬件调试工具和软件调试工具。硬件调试工具包括逻辑分析仪宏功能,如Altera的SignalTapTM。这是参数化的嵌入逻辑分析仪,它可以通过IEEE Std.1149.1(Joint Test Action Group)JTAG电路访问PLD结构内的信号。它可以在器件运行器件捕获内部节点的信号,并用APEX PLD的嵌入系统块(ESB)RAM存储获取的数据。设计者可以系统速度分析内部逻辑,而无需把内部信号引到I/O管脚上。 支持ARM和MIPS体系的标准软件工具链具有源级图形调试器,可以通过同处理器连接的串行链路或JTAG(EJTAG)口进行软件调试。这样可以在代码上设置断点,和单步跟踪。ARM 922T内核也支持嵌入跟踪宏(Embeded Trace Macrocell),它监视ARM系统总线并把压缩的信息通过跟踪端口送给Trace Port Analyszer,这是存储跟踪口新的外部器件。调试工具从分析仪上提取数据,重新组织出处理器工作的历史记录。跟踪显示包括符号信息和调试源码链接。 采用Altera的Excalibur产品进行SOPC设计的例子见图1。在这个Voice-over-packet网关应用中,嵌入MIPS或ARM处理器和片内SDRAM控制器一起配合访问外部SDRAM,扩展总线接口用来和引导系统的外部闪存连接。在设计中,象10/100以太网MAC、Utopia总线接口、内容寻踪存储器(CAM)、回音抵消和HDLC支持等IP模块均有Altera或第三方IP伙伴提供。其它PBS支路接口包/话音变换、回音抵消、ATM/SAR功能和复用器/解复用器等所需的模块,用户可以用在PLD总使用自己的IP。SOPC产品将让设计者为特定的系统需要定制器件的功能,这些功能可能是需要标准的ASSP或很高的NRE和晶圆片掩膜费用和较长的开发周期才能完成。
|