基于模式的SoC设计方法研究
图2 状态模式的系统结构
State 模式不指定哪一个参与者定义状态转换准则. 如果该准则是固定的, 那么它们可在Context 中完全实现. 然而若让State 子类自身指定它们的后继状态以及何时进行转换, 通常更灵活、更合适. 这需要Context 增加一个接口, 让State 对象显式地设定Context 的当前状态。
首先定义类BusProtocol ,它提供了一个片上总线的基本协议通道并处理改变状态的请求。BusProtocol 在state 成员变量中保持一个BusState 类的实例。类BusState 复制了BusProtocol的状态改变接口。每一个BusState 操作都以一个BusProtocol 实例作为一个参数, 从而让BusState 可以访问BusProtocol 中的数据和改变总线的状态。BusProtocol 将所有与状态相关的请求委托给它的BusState 实例state。BusProtocol 还提供了一个操作用于将这个变量设为一个新的BusState。BusProtocol 的构造器将该状态对象初始化为BusIdle 状态。
(2) 层适配模式
层适配模式为SoC通信建模提供分层的协议转换,将不同架构的网络协议通过接口的匹配,实现各层次的数据通信,提供事务级建模各层的适配方式。系统建模中通信机制可以分为4 层,其中事务级建模分为3 层,即除L0 之上的3 层为事务级。其中:L3 为消息层,这一层没有任何的时间信息,系统行为是事件驱动的,并建立点到点的通信. L2 为事务层,这一层的系统模型带有时间信息,但并不是时钟精确周期,系统是时间驱动执行的。
事务层将理想的结构映射到需要考虑资源分配和设计约束的结构中,完成SoC体系结构的分析和建模,并开始软件的开发。L1为传输层,它在RTL层之上,系统由精确到周期的行为组成,但比RTL 级的仿真速度要快。传输层建模一般对应一定的总线协议,将精确到周期的协议映射到给定的硬件接口和总线结构上,隐藏了接口的管脚,将事务直接映射到总线周期。层适配模式将通过适配完成各层次的模型转换。如图3 所示,TL1 Master Adapter通过适配TL1通道和TL2 通道,使TL1 Master 和TL2 Slave 通信。
图3 层适配模式结构
(3) 包装器模式
包装器模式的目的是通过调整接口和IP 组件的行为来适应特定的应用环境,它属于结构型模式.在SoC设计中,功能组装正在逐渐代替功能设计,而成为主流的设计方法。因此,各个IP模块的互连,以及与片上总线的通信成为研究的重点。IP的本质特征是可重用性,通常必然满足以下基本特征:通用性好,正确性有保证,可移植性好。因为许多IP在设计之初都是针对特定的应用,而很少考虑到要与外来电路搭配使用。IP的定义没有一个通用的接口标准,因为芯片实现的功能千差万别,性能方面的要求也由于应用领域的差异而不同,即使同样功能的IP模块在速度、面积、功耗、对外接口等方面也表现各异包装器模式的系统结构如图4 所示。
图4 包装器模式的系统结构
通过包装器模式的封装,能适配各种IP 接口。即使用包装器模式来调整组件接口以适应于环境要求。包装器模式的匹配程度,对IP Component 的接口与其他的接口进行匹配的工作量各个WrapperModel 可能不一样。从简单的接口转换(例如改变操作名) 到支持完全不同的操作集合,WrapperModel 的工作量取决于Component 接口与需要转
换接口的相似程度。
结束语
在SoC设计中,可重用性是应该考虑的一个很重要的因素. 除了IP复用,设计的可重用也是非常重用的。在讨论将现有软件设计模式应用到SoC设计当中后,提出了SoC设计模式,主要针对高层次的SoC设计中的最常用的一些设计方法,以及构筑SoC系统的基本组件和基本结构。除了上述的3 种模式,还提出的一系列的SoC设计模式中,总线模式属于体系结构的模式,包装器模式和层适配模式属于结构型模式,总线协议模式、管道模式和FSM模式属于行为型模式。下一步的工作是深入研究系统级设计方法,以及基于UML的软件设计模式描述如何自动地转换为元(meta) 程序。
- 嵌入式系统快速重启的研究(11-16)
- 嵌入式定位系统的实用设计与软件算法实现(11-28)
- 基于单片机便携式颜色自适应识别电路的设计(06-04)
- 一种ASIC硬件图像匹配最大互相关算法的设计和实现(06-23)
- AVR定时器的工作类型模式介绍(07-26)
- 基于USB从机技术的绝缘电阻表自动检定系统通信接口设计(10-29)