系统中软硬件划分决策是最为重要的一个方面。之所以硬件/软件划分变得如此关键,是因为如下一些因素,如系统的实时处理需求,应用软件的存储限制以及其他因素。许多时候,设计开发阶段一些决策依赖于直觉判断或者先前的经验。但当某些事情发生错误时这将蕴含一个风险。随着系统复杂度以及流片成本的增加,这种决策方法可能会铸成大错。强调需要一种有助于实现更好软硬件划分决策的方法学具有许多原因。
在UWB MAC系统开发范例中,具有很多必须很好遵守的时间约束,这是因为应用层完全依赖于空中——即来自射频天线的全局广播定时。实现决策的方案建立在我们从具体的系统级平台的执行中所获取的经验。我们能够分析流水线数据通道中的数据流,能够有效地发现它们是否将对系统构成任何瓶颈。通常,当系统中的数据流发送时,数据帧必须从MAC发送到PHY,而对于接收,所产生的数据帧则从PHY到MAC,并存入到存储器中由软件进行进一步的分析。在仿真场景分析过程中,能够识别出是否需要在硬件中进行一些协议解析以采取及时的措施。
图3:系统中着重硬件支持需求的应用场景。
图3中详细给出了一个决策范例。根据协议的需求,接收数据中有一个控制包,它通知下次发送事件的通用定时,即何时发送下一个数据包。考虑到MAC硬件是一个典型的数据通道,并将控制帧传送到存储器中,软件对控制帧进行处理并决定打开发送窗口。在发送窗口打开出现问题时,用这种方案就能发现瓶颈。系统平台结果被用来确认这一理解,于是能够做出更好决策来实现效率更高的系统。图3中的另一个场景显示了软硬件划分后的结果。
第一个范例中,当软件处理控制帧时,全局定时如下:
窗口编程时间=T+t RP +tPM+tintr+tsw_lat>T+texp,故在系统中,SW没有对及时打开发送窗口的指令进行编程。