使用可定制微控制器高效开发系统级芯片
扫描二维码
随时随地手机看文章
为了应对成本、尺寸、功耗和开发时间的压力,许多电子产品都建构于系统级芯片(SoC)之上。这个单片集成电路整合了大多数的系统功能。然而,随着这些器件越来越复杂,要在有限的时间里高成本效益地进行产品开发,已愈趋困难。不过,使用可定制微控制器,已可有效解决这个困扰。
使用基于业界标准、带有片上内存和各种产业标准接口的ARM处理器,再加上面向特定应用
逻辑和非标准接口的金属可编程设计模块((MP模块),构成的可定制微控制器是切实可行的SoC开发方法,能够解决上述问题,这个开发方法的特点是:
——采用经过验证的软/硬件模块、较短的金属布局布线的设计时间,以及并行的软/硬件开发,再加上业界标准ARM架构所提供的广泛支持,可以缩短设计时间。
——采用预先已经准备好的基础晶圆,仅针对定制部分添加金属层,可以缩短器件生产制造的时间。
——大大减少整合特定应用逻辑方面的设计费用,并减少制备制程中所需的光罩数目,可以降低开发成本。
——仿真板包括了处理器、内存、外围设备和标准接口,并用FPGA来代替MP模块,实现了软/硬件全速并行测试,提高了器件生产制造和软件开发的首次成功率。
可定制微控制器架构
如图1所示,可定制微控制器的基础为产业标准的ARM7或ARM9处理器内核,以及连接片上SRAM和ROM、外部总线接口和系统外围设备的多层AHB总线矩阵,并可桥接针对系统控制器和低速外围设备的高能效APB。该架构的主要特点是分布式DMA,这种DMA加上由AHB总线矩阵提供的并行数据信道,能为器件提供极高的内部数据带宽。由外围设备到内存的数据传输仅需极少的处理器干预,因此器件能支持多个高速内部接口,而不会降低处理器的性能。器件中的MP模块具有多个DMA端口,因此由它实现的专用IP也能受益于这种高速内部带宽。
图1 建基于ARM9的可定制微控制器架构
该架构具有齐备的标准外围设备和接口,能满足大多数应用对用户接口、联网/连接和储存的要求。此外,在MP模块中还可以实现各种外围设备实例或其它外围设备/接口。
如此一来,该架构实现了复杂的系统控制器,整合了所有的系统和功率管理功能,可以控制系统的启动和关闭。该控制器具有多个时钟源和外围设备开关控制线,使每个功能构件都能以支持应用的最小时钟频率运行,也可在不需要时进入闲置模式。因此能尽量降低器件的功耗。
金属可编程模块
如图2所示,金属可编程设计模块(MP模块) 的闸密度与实现器件固定功能部分的标准单元密度接近。MP模块需要足够的容量来实现第二个ARM处理器内核、一个数字信号处理器 (DSP)、额外的接口以及复杂逻辑模块,如GPS相关器(correlator)。它还需要一些内部功能和专门的外部连接,以提高其实现特定应用逻辑的效率。MP模块还需要多个分布式单埠及双埠RAM,并与需要他们的逻辑单元紧密耦合。
图2 金属可编程设计模块
可定制微控制器设计/制备流程
如图3所示,可定制微控制器设计流程的目标是要在最短时间内,以合理的成本和极高的首次硅和软件成功率,开发针对特定应用的系统级芯片(SoC),并包含软件和硬件。
图3 可定制微控制器设计流程
软/硬件并行开发:
设计流程调整为适合软/硬件并行开发,克服了系统级芯片开发的主要障碍之一。
迅速地把针对特定应用的硬件整合在微控制器平台上:
专为特定应用而设的硬件以RTL语言设计;这些RTL模块可以整合到已经包含了AHB接口、DMA信道、I/O信道等单元的MP模块代码模板中。
迅速整合针对特定应用的软件/操作系统与接口/外围设备驱动程序:
平台上所有接口/外围设备均有驱动程序。这些驱动程序也可作为MP模块中相同接口/外围设备的驱动程序模板。目前已经有很多业界领先的操作系统被移植到微控制器架构上。将这些软件模块与应用代码模块和用户接口整合起来的工作,可与硬件开发一同进行。
在物理设计/掩模光刻之前进行软/硬件实时仿真:
仿真板利用一个标准芯片实现了MCU平台,利用FPGA作为MP模块。这样就可以用接近真实的运行速度来仿真特定应用的硬件和底层软件,而且无需任何成本就可修正错误。
迅速完成布线布局,只需针对金属层:
采用成熟的布局方案快速完成MP模块的金属层布线布局。
高效、低成本的掩模光刻:
只需要对器件金属层进行掩模。
快速的制造过程,只需针对金属层:
各特定应用器件的光刻制备以预制的微控制器平台为起点,只需添加金属层。
以FPGA为基础的仿真板
设计流程的一个关键步骤是在仿真板(见图4) 对硬件以及至少底层软件进行仿真。该仿真板包括完整的内存、标准接口和网络连接,以及可按应用要求配置的其他附加连接。具体包括:
——器件固定功能部分用带外接FPGA接口的单芯片来实现。
——使用高密度的FPGA仿真MP模块,包括内嵌内存和外部I/O。
——采用FPGA配置内存为MP模块保存编译好的HDL代码。
——外部总线接口(EBI)和FPGA的外接I/O连接到扩展板上不同类型的内存,如SDRAM、移动DDRAM、NOR闪存、NAND闪存等。这些内存将加载应用的软件和参考数据集。
——所有标准接口(CAN、USB、Ethernet、I2S、AC97、ADC、MCI等)都通过收发器/物理层/编译码协议层与外部连接,因此可以对器件的外部接口和联网/通信链路进行全方位的测试和调试。
——图像化用户接口(GUI)的所有部件都连接到相应的板上器件或接口,比如LCD、键盘、触摸屏接口等。这样就可在板上完成GUI基本接口的测试。
——仿真板提供外部并行I/O(PIO)和FPGA I/O,用于连接特定应用的外接器件,以及实现非标接口。剩余的FPGA I/O也可用于验证。
——仿真板配有JTAG仿真器(ICE)埠;通过该端口可用带有JTAG-to-USB的接口和标准开发工具对ARM内核及其外围设备进行验证。
——仿真板还配有FPGA JTAG埠;通过该埠可用FPGA厂家提供的工具对FPGA的内部信号进行跟踪和分析。
图4 可定制微控制器的仿真板架构
这种MCU/FPGA组合可以接近最终器件的工作频率运行。这样就能完成器件的实时性测试,包括平台中的MCU和各种标准接口、MP模块中实现的各种功能,以及到目前为止已开发的所有软件。这种测试至少涵盖了如下测试对象:设备驱动程序、操作系统端口,以及用于控制MP模块各种功能的应用代码模块,而更改器件的软/硬件单元无需任何额外成本。
结论
可定制微控制器是特定应用系统级芯片的高效开发平台,其设计流程能够解决系统级芯片设计的大多数问题,而且开发成本较低、风险较小,并能提高硬件制备和软件开发的首次成功率。