微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > 复杂系统级芯片的软件/硬件协同验证

复杂系统级芯片的软件/硬件协同验证

时间:11-06 来源:EETCHINA 点击:

系统级芯片一个 典型软件原型的简单框图。它由一个CPU调试器(例如,ARM调试器)一个CPU ISS(例如ARM模拟器)和外围设备C 模型。利用软件原型开发的软件和固件可以通过ICE下载到快速原型或目标硬件系统并为仿真作配置。

建立一个基于微处理器的系统的软件原型,需要以下软件构件: 1. 处理器源代码调试器,这个软件模块由调试核和用户界面所集成,可以使使用者去控制目标系统在调试周期中所处的状态。调试、编译和(目标代码)连接工具集位 于和调试核集成的调试宿主机器。调试器可以通过一个ICE连接到目标硬件系统。调试器可以被用作读/写寄存器和内存,控制和重启系统和模拟器中的处理器。 2. 指令集模拟器(ISS),该软件模块在没有考虑时延地前提下模拟处理器指令。特定的处理器生产商会提供相应的ISS。例如,ARM 提供的ARMulator模拟ARM处理器系列,提供和外围设备C模型的接口,并帮助构成一个软件原型。3. 外围设备C模型,其中寄存器的所有细节,字节定义,外围的中断行为都应该包含在该C 模型中。这可以使固件和应用软件仅做少量的改动或不改动就可在实际硅片中使用。

在实际应用中,软件原型有以下的局限性:a. 容量有限:软件原型仅在早期接口和代码段调试应用。B. 速度有限:在大多数情况,模拟速度是一个十分敏感的问题,因为模拟器总不能和实际的处理器一种快。C. 模型的准确性:外围设备C模型仅是功能正确, 而不是时钟周期正确和管脚正确。D. 同步性:对于像外围设备数据同步性的需求一般难于解决。

构成一个软件原型必须遵行以下步骤:1. 分析为设计所选取的处理器的特征。2. 检查所选处理器ISS是否能够和所选外围C模型接口。如果ISS无相应的接口,软件原型就无法构成。3. 分析接口,内存地址,寄存器,字节定义,外围设备中断行为,并完成相应C模型。4. 完成需要利用软件原型去验证的应用程序。并将处理器ISS,外围C模型,应用程序编译成可在宿主机运行的可执行程序。5. 运行编译程序和调试器并开始调试。如果有一些错误,其起因可能是因为外围设备模型和应用程序的错误。如需要进行性能测试,则可在相应的仿真或快速原型环境 下进行,最终当实际硅片完成,软件既可被用于最后软件和硬件集成。在举例的蓝牙系统级芯片(如图2所示)的软件原型中,分别为UART,并行接口,中断控 制器模块构造C模型,ARM7TDMI处理器被ARMulator所代替。 其中ARMulator由一个ARM 处理器内核模型,内存接口, 执行环境中操作系统接口,和一个协处理器接口组成,同时和ARM调试器接口。

快速原型系统

快速原型系统(RPS)是设计的硬件设计的表现。成功快速原型的关键在于尽可能快的实现一个原型。这里将着重论述针对应用的 可重置系统原型系统(ARPS)。这种方法将目标设计映射到普遍可得的商用器件上而且具有一定的扩展能力和可重用特性。通常,这些原型的构成围绕嵌入式处 理器的BSP,通过增加附加构件(内存,FPGA,IP核)。根据所选的IP,BSP可以在SoC完成前被用来开发和调试硬件和软件。例如,很多IP供应 商,ARM,DSPGroup,MIPS,Motorola都提供基于他们处理器IP的BSP。这些BSP可划分为两种,一种基于微处理器,例如将在举例 中的提到的ARM基于AMBA的BSP。这款组成包括一个ARM7TDMI处理器芯片,仲裁器,地址解码器,内存,两个时钟,中断控制器,两个UART, 并口,两个PC卡插槽,和(闪存/EPROM,SRAM,DARM)内存控制器。BSP有辅助软件和一个ICE帮助开发和调试,它在20 MHz 时钟下,并连接LA。另一种基于DSP。较典型例如DSP Group基于OkaDSP的BSP。它的构成包括一个DSP,地址解码器,扩充内存,和胶合逻辑。它运行在40MHZ 时钟速度,可以连接LA,通过一个PC附加模块提供体调试特征。

ARPS除了具有应用范围大,性能高,支持模拟/混合信号器件(AMS)的集成等RPS的共性外。同时,ARPS具有如下 的特殊优点:首先,有助于快速理解IP功能,包括处理器和外围设备。其次可以证明设计产品的特征。有能力连接ICE和LA设备做调试。能够便利地探测和监 控系统内的管脚和信号。最后可以通过插入附加IP模块来进行设计扩展。

在实际应用中,ARPS有以下的局限性:首先将整个设计划分到多个FPGA将是一个工程挑战并占据大量的时间,这往往是因 为FPGA的最多管脚数(I/O接口)一般有限(通常400~450)。其次,除非未来的产品基于相同的平台,否则ARPS的重用仅限于选定的应用领域。 最后,也是较重要的一点,如果需要额外的功能模块,相应花费的开发时间将颇为可观。其中将

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top