复杂系统级芯片的软件/硬件协同验证
包括FPGA实现,PCB封装等。
基于以上的特点,通常运用ARPS方法时总假定系统设计已经完成,软件和硬件划分已经完成,所需的SoC的IP集合和 BSP以被确定和选取。构成一个ARPS验证必须遵行以下步骤:1. 选择并分析可用IP的BSP,并将其映射到目标SoC设计。2. 如缺乏所需的IP模块,选取适当FPGA器件并完成相应RTL代码综合,模拟,和布线。3. 对相应BSP进行配置并和额外设计的模块连接。4. 利用ICE和LA调试器件驱动和应用程序代码,并分别修复软/硬件错误。
举例的蓝牙SoC的ARPS由ARM的基于AMBA的BSP构成。该BSP由架构(图3)中除了USB, 编解码器, 蓝牙连接控制模块以外的所有模块组成。遗漏的这三个模块可以集成到一个ASB模块中,并插入BSP所提供的接口。蓝牙连接控制器和编解码器的数字部分可以 在一个FPGA中实现。AMS模块(数模, 模数转换, USB模拟部分器件)可以通过标准芯片连接到外部的FPGA。有关设计可参照www.arm.com 的设计准则来完成。随BSP提供的软件工具包含一个源代码调试器、编译器=汇编、(目标代码)连接器,这些可以被用作软件的开发和调试。应用软件和固件可 以利用这个该ARPS来测试。
SoC中的调试技巧
因为没有外接管脚可以连接ICE 和LA,SoC中的处理器内核对于调试和分析是不可见的。这就需要新的调试技巧和工具去解决嵌入式内核的调试和分析问题:BDM核,基于扫描链的调试方法(JTEG)和Nexus 5001 Forum:
1. BDM 已经被融入Motorola 微处理器。这是通过增加一个小的调试逻辑和附加的微处理器代码来实现。这种模型使用一个外在处理器来控制微处理器的目标系统并通过串口检测内部寄存器和内 存,而目标系统和主系统的联系通过一个BDM导线。BDM技术不需求任何目标处理器资源,例如片上内存和I/O管脚。
2. JTAG (IEEE 1149.1) 标准源于边界扫描,一开始为芯片制造的测试所设计。该标准同时可以执行器件内测试,例如ATPG和BIST。
很多内核供应商和半导体公司利用JTAG 标准来实现仿真模拟,通过添加调试逻辑去测试处理器内部寄存器,指令,数据线内容,还可以通过设立断点控制软件的执行。处理器内核,例如ARM, MPIS和POWERPC 都有基于JTAG的仿真模拟特性。
3. Nexus 5001 Forum 建立于1998, 定义了一个嵌入式处理器调试和接口标准。该标准为处理器和构架独立而且支持多内核和多处理器的设计。 Forum 由处理器供应商,工具供应商,和器件制造商组成, 同时也称为IEEE-ISTO 5001 标准, 有关可参照www.ieee-isto.org/Nexus5001。
任何调试技巧都依赖于一定的工具。调试工具分两种,硬件工具和软件工具。硬件调试工具用于调试硬件目标系统。 它包括ROM模拟器(RE)、ICE和LA. 图2显示 ICE /RE,LA和硬件模块之间的连接,其中ICE连接CPU,RE连接系统ROM。
一个RE插入目标硬件原型上ROM/FLASH插口,映射目标ROM到内部ROM,这可以快捷地完成代码修改,通过消除EPROM擦/写周期加速调试过程。ICE是一个硬件设备,物理代替并模拟被测目标系统的处理器。而LA则被用作目标系统的高速数据采集。
软件调试工具则包括ISS 和cycle accurate simulator(CAS)。模拟器是一种软件工具以用来仿真处理器的功能。它和外围设备的C模型接口,在得到实际硅片前建立一个代表目标设计的系统。 这可以使开发者开始开发固件,驱动程序和应用程序。对于前者,顺序执行程序指令并不考虑系统时钟。而对于CAS, 处理器的行为以时钟周期为基准,处理器内部细节,例如流水线,处理器接口,总线协议,都可以做详细地模拟仿真。通常情况下,ISS的速度较CAS快。
本文小结
在复杂SoC器件中协同验证硬件和软件需要新的方法和工具。随着软件数量在即所谓基于嵌入式内核系统级芯片框架的系统级芯片 上的不断增加,设计周期中较早地集成软硬件是至关重要的。本文重点阐述了软件/硬件协同验证的基本特征,四种较为完善的协同验证环境及其各自特点。并以蓝 牙系统级芯片设计中的应用为例针对其中的软体原型和原型系统进行详细地阐述。提供一个完整的基于软核和硬连线宏功能块的硬/软件验证和调试的解决方案。
作者:朱方
摩托罗拉中国有限公司
Email:a19372@email.mot.com
- 采用多内核无线虚拟系统原型的系统级调试(11-07)
- 嵌入式测试方案及高速测试技术(03-10)
- 低功耗制造性测试的设计-第二部分(01-29)
- SoC的发展将使测试与测量设备嵌入芯片(10-21)
- 基于PSoC的防高压电容测量设计与实现(03-27)
- 降低设备功耗的方法 - 精确测量(06-26)