基于SystemC/TLM方法学的IP开发及FPGA建模
图中所示为用于开发中下一级输入的配置平台。这里的核心思想是确定系统的瓶颈并执行软硬件划分。该方案在进行软硬件划分方面是有效并安全的,因为平台提供能够用来识别出整个系统瓶颈的原始统计信息。该阶段中,实现了IP的功能模型,使其具备了具体的接口,并嵌入了功能性。而在软硬件划分阶段将对该方法学中所用的方案进行具体化。附加到该平台上的另一个是DMA-PL080的TLM模型,下一步是用MACHWRTL替代整个MACHWSystemC功能模型,如图2所示。整个周边环境是一样的,因此测试注入与其他步骤中的注入一样。与之前环境的变化是采用了负责到信号变换的事务处理适配器。由于该系统基于ARM,适配器的书写必须遵从信号级AHB总线接口。实际上,该平台将相同的环境表征为现实系统,不过与此同时,开始面对仿真性能方面的问题。显然,我们还不能用该配置来执行广泛的调试/验证,不过可以运行简单的测试(具有较短的仿真时间)。
图2:从SystemCMACHW向VHDLRTLMACHW适配器的转换。
由于在当前仿真环境中发现瓶颈,我们对基于硬件模拟XTREME服务器的平台进行评估,该平台基本提供了硬件所需的FPGA块,并提供了软件与整个环境的无缝集成。基于XTREME服务器中早期平台的移植只需要很少工作量,并且相对于基于ncsim的仿真环境,实现了5倍的仿真速度。很显然,这使得我们能够调试并执行VHDLRTL设计的验证,否则将会浪费过多时间。同时,基于Xtreme服务器的平台还提供了同等调试能力。
硬件/软件划分
系统中软硬件划分决策是最为重要的一个方面。之所以硬件/软件划分变得如此关键,是因为如下一些因素,如系统的实时处理需求,应用软件的存储限制以及其他因素。许多时候,设计开发阶段一些决策依赖于直觉判断或者先前的经验。但当某些事情发生错误时这将蕴含一个风险。随着系统复杂度以及流片成本的增加,这种决策方法可能会铸成大错。强调需要一种有助于实现更好软硬件划分决策的方法学具有许多原因。
在UWBMAC系统开发范例中,具有很多必须很好遵守的时间约束,这是因为应用层完全依赖于空中——即来自射频天线的全局广播定时。实现决策的方案建立在我们从具体的系统级平台的执行中所获取的经验。我们能够分析流水线数据通道中的数据流,能够有效地发现它们是否将对系统构成任何瓶颈。通常,当系统中的数据流发送时,数据帧必须从MAC发送到PHY,而对于接收,所产生的数据帧则从PHY到MAC,并存入到存储器中由软件进行进一步的分析。在仿真场景分析过程中,能够识别出是否需要在硬件中进行一些协议解析以采取及时的措施。
图3:系统中着重硬件支持需求的应用场景。
图3中详细给出了一个决策范例。根据协议的需求,接收数据中有一个控制包,它通知下次发送事件的通用定时,即何时发送下一个数据包。考虑到MAC硬件是一个典型的数据通道,并将控制帧传送到存储器中,软件对控制帧进行处理并决定打开发送窗口。在发送窗口打开出现问题时,用这种方案就能发现瓶颈。系统平台结果被用来确认这一理解,于是能够做出更好决策来实现效率更高的系统。图3中的另一个场景显示了软硬件划分后的结果。
第一个范例中,当软件处理控制帧时,全局定时如下:
窗口编程时间=T+tRP+tPM+tintr+tsw_lat>T+texp,故在系统中,SW没有对及时打开发送窗口的指令进行编程。
在第二个范例中,当MACHW处理控制帧时,全局定时为:
窗口编程时间=T+tprg_winexp,故系统中,HW对及时打开发送窗口的指令进行编程。
与此同时,现有的SPEAr板起到了很大的帮助作用,因为在板上测出了AES-CCM引擎的性能。因此能够推断出硬件中存在AES-CCM,因为AES-CCM软件算法给不出所需要的性能。
评论