为了克服片上系统(SoC)的设计挑战,半导体业正采取一种基于系统原型设计的设计方法。系统原型设计是将一个片上系统设计映射到一个基于FPGA的仿真平台上,在接近运行速度的情况下验证硬件和软件。这样,就缩短了设计周期,提高了对硅设计一次成功的把握。Atmel公司已经开发出一个仿真平台,用于基于嵌入式ARM微控制器的片上系统,该平台已经成功用于很多先进的片上系统应用中。
系统原型设计
片上系统(SoC)设计是半导体工业一个极大的挑战。它要制造出包含了数千万甚至数亿个晶体管的集成电路(IC),采用纳米尺寸工艺生产,在一片集成电路上要完成一个完整的最终用户应用所需的绝大部分功能。这些功能必须在尽可能最小的波形因数下、尽可能低的功耗下,以尽快和尽可能最低的开发成本和单位价格实现。
几乎所有的片上系统都围绕嵌入式微控制器(MCU)和/或数字信号处理器(DSP)核心设计,因此,需要付出和开发硬件构架同样的努力,来开发软件部分。大多数片上系统也嵌入了模拟功能,它们的精确性是总性能的一个决定因素。在整个设计中,所有时钟和关键信号通道速度都非常快,以避免时钟脉冲相位差和数据破坏,随着时钟频率的提高和工艺几何尺寸的缩小,实现时序收敛变得越来越困难。
半导体工业正在使用一种片上系统设计方法,以应对这些挑战。这个方法称作系统原型设计,包括投入生产前系统硬件和软件的仿真。它是片上系统设计流程的中心步骤,如图1所示。
图1 使用系统原型设计的片上系统设计流程
系统原型设计利用了现有技术的优势(FPGA的快速投入市场时间、低开发成本和灵活性,ASIC的高集成度、高性能、低功耗和低单位成本)。它要好于一个片上系统的第一版,从而可以对成品版本进行调试,新性能可以及时、高效地加入到产品中。
如果不使用系统原型设计,在整个片上系统(硬件和软件)全速运行之前,模板生产的成本已经发生。生产出原型后,才能进行批量生产。由于片上系统的复杂性,不大可能一次就生产出合格的产品。硬件改正导致了一个或多个模板更换的成本,还有额外的生产周期引起的延迟。大量的软件修改对方案的进度也是至关重要的。
如果使用系统原型设计,在综合和仿真后,设计被映射到基于FPGA的仿真平台上。这时,仿真平台和操作系统、器件驱动程序和已经开发出的应用软件一起被加载。整个系统在接近操作速度下工作(比仿真速度快几个数量级)。几乎不可能被仿真的系统性能可以被完全测试(比如对异步事件的响应和对多个接近同步中断的响应)。发现的任何错误可以通过修改硬件的VHDL或Verilog代码或者软件的C/C++代码来更正。
系统原型设计在原型阶段减小了硅产品可能产生的错误,帮助防止可能延迟产品发布的软件开发问题。它几乎可以省去原型重新生产的时间和成本,因此大大减小了开发成本和最终用户产品投放市场的时间。
配置的仿真板与成品集成电路比,有更多的进行追溯、实时探针和调试的工具。因此,可以在产品寿命周期内用于硬件的开发和调试或软件的升级。
这个仿真板也可以用于IP块和构架平台的开发。这在模块式、可重新使用的IP模块和构架平台开发中,是越来越重要的步骤,这些IP模块和构架平台由操作系统、软件驱动程序和测试工作台等完全支持。
片上系统仿真平台构架
将一个典型的片上系统映射到仿真平台的最有效的方法,是使用标准集成电路作为MCU/DSP核心和使用标准接口(USB、以太网等)。芯片上的存储器映射到板上的存储器,模拟元件被描述为分立元件。特殊应用逻辑被映射到高密度FPGA上,形成仿真平台的中心部件。
这就产生了仿真平台的一般构架,如图2所示。它具有用于软件和数据的嵌入式FPGA和板上的存储器。可以通过外部安装的存储器来扩展存储容量。MCU/DSP核心安装在独立的中间板上,有利于提高性能、灵活配置和方便升级。例如,一个MCU作为中间板上的集成电路可以将时钟频率置为100
MHz,但在FPGA上仿真时只能置为10 MHz。同样地,特殊应用接口(用于射频传输/接收和如语音合成或识别等功能)安装在定制接口板上。
图2 仿真板的一般构架(略)
如果遵守某些设计规则,那么用Verilog或VHDL进行的片上系统设计,可以直接映射到仿真板上。理想情况下,设计应该同步,并使用一个时钟。否则,不同的时钟域应该清楚地划分。对时钟树状结构一般需要分别处理。门控时钟需要转换为使能时钟,并可以使用FPGA上的时钟缓冲器进行限制。某些块(如存储器)需要用与FPGA等同的部件代替,或映射到外部器件上。模拟器件由分立模拟器件描述。
Atmel的片上系统仿真平台实现方法
Atmel的原型和仿真板(PEP)称作Mistral(图3),用于片上系统设计,设计围绕ARM微控制器核心和一个或更多的DSP核心(如来自ParthusCeva的Teak)进行。
图3 Atmel的Mistral仿真板(略)
Mistral在提供片上系统构架的最大灵活性的同时,也保留了执行的快速性。通过在单独的中间板上安装MCU/DSP核心来实现。大量的板上接口和存储器块兼容大多数工业标准。扩展插槽允许通过外部组件来扩充功能。
中央XilinxVirtex II FPGA仿真500K ASIC门的等效物,这对大多数片上系统已经足够了。但是,如果一个Mistral板的资源不足,可以通过高速链路将两个或更多个板连接起来。
其出色的构架性能包括板上和板外存储器的灵活组合。时钟通过一个外部的输入或一个具有多个可编程时钟源的板上时钟发生器实现。简单的用户输入(按键、双列直插开关和旋钮)被直接送到FPGA输入。用户输出包括发光二极管和一个通用I/O连接块。一个外部的人-机界面(MMI)板可以与大多数传统的用户接口连接,如液晶显示屏和键盘。还可以用其它的人机界面,如生物测定或言语综合/识别,来进行补充。
板上物理界面(PHY)、ADC/DAC、电平转换器、放大器和线路适配器,支持与很多工业标准信道的直接连接。包括以太网10/100、USB
1.0、2.0和On-the-Go (OTG)、CAN、串行、两线接口(TWI)和四线接口(QWI),以及扬声器输出和麦克风/音频线路输入。
MCU/DSP核心和本地存储器一起,安装在独立的中间板上。使用ARM9 RISC处理器的板如图4所示。也可以使用一个ARM7中间板。
图4 ARM9中间板(略)
ARM9中间板具有Trace 和JTAG端口,用于系统集成和调试。一个板上的快速SSRAM用来遮蔽ARM9代码和数据工作空间。与Mistral板的连接足够快,可以使MCU外设数据传输以接近MCU总线的速度进行。ARM代码从Mistra板上获得时钟,或通过一个安装在中间板上的PLL实现。
片上系统仿真平台的应用
Mistral可以用于很多复杂、高性能应用的开发,包括:
—移动通信用的基带和应用处理器(GSM 2G、2.5G 和3G, 专业移动无线电(PMR)等 )
—GPS基带处理器和应用主机处理器
—住宅或小型办公室网络的网关
—安全付费终端
—数字无线基带处理器
结论
随着片上系统复杂性不断增加,以及使用嵌入式微控制器/ DSP核心和重要的软件内容,仿真正在成为设计流程中的基本步骤,用来在原型生产前验证硬件和软件的所有方面。Atmel的Mistral原型和仿真平台将高性能和易用性结合起来,使得这个步骤近可能地快速并有效。它是在较短的时间内提供一次合格的硅产品的重要决定因素。作为一个使用中的新版系统构架和软件调试和开发平台,它对一个产品的长期改进也很有用。
|