(1)OCP-IP TLM抽象模型
OCP-IP(Open Core Protocol International Partnership)是推动IP核接口标准化的国际组织。OCP-IP提出了一个4层的通信模型,除RTL层之外的3层属于事务层。
消息层处于最高抽象层次,被SoC系统结构工程师用来做功能划分和系统级的结构分析。消息层没有时间信息,是事件驱动的。
主设备和从设备之间的一次事务包含了多个数据的传输,这些数据可能处于非常抽象的层次。事务层在RTL层之上,被SoC系统结构工程师用来进行体系结构分析、周期性能估计,以及详细的硬件性能分析、软硬件划分和软硬件协同开发。
事务模型有时间信息,但不是精确到周期,系统是时间驱动执行的。主设备和从设备之间的一个事务可能包含几个数据的传输。执行这个事务所需要的时间由主设备和从设备来估计。通常的事务级系统模型与总线协议无关,因为总线协议总是与精确到时钟周期的系统有关。事务模型和硬件仿真模型一起用来做为下层接口的驱动。
传输层模型用于详细建模任务,建立精确到周期的测试平台,精确到周期的性能仿真。传输层是周期精确的,但接口的引脚被抽象隐藏,接口是字节精确的。
表4-2所示为传输层和RTL层的比较。将精确到周期的协议映射到给定的硬件接口和总线结构上。寄存器传输层模型是引脚和比特精确。RTL模型可以使用VHDL或Verilog或SystemC描述。
(2)OSCI TLM 1.0抽象模型
OSCI(The Open SystemC Initiative)是由集成电路行业的公司和一些大学组成的非营利组织,致力于推动SystemC成为系统级设计的开源标准。OSCI提出的事务级抽象层次如图4-26所示。
表4-2 OCP-IP的通信抽象层次中传输层和RTL层的比较
图4-26 OSCI提出的事务级抽象层次
图4-26中,在算法模型和RTL模型之间的三层抽象属于事务级抽象。
下面分别介绍这三层抽象。
• ① 程序员观点层(Programmer’s View):该层模型包含的接口只有函数调用而没有通信事件。这一层只带有很少的时序信息,通常与没有时间信息的功能行为描述相关。
• ② 带有时间信息的程序员观点层(PVT,Programmer’s View plus Timing):这是一个周期近似的事务级模型,用于建模功能行为和模块之间的通信协议。可以分析通信的时延和吞吐量,并可在软件开发和体系结构的验证中提供足够的仿真精度。
• ③周期精确层:这是一个周期精确的模型,模块的内部行为以及模块和外部的通信可以是周期总数精确或者周期完全精确的。模块内部的行为建模可以不对寄存器建模以提高仿真速度。这是一个事务级模型,在RTL抽象层之上。在通信建模中同一时钟边沿触发的多个信号可以包装在一起作为一个传输,因此仿真性能要比RTL抽象好。
OSCI事务级模型工作小组定义了一组普通、可复用的事务级模型接口,以及目标通过性语法。API包括一个用户层、一个协议层和一个传输层。值得注意的是,该标准只提供了一个基础层。
IP供货商将需要提供符合特定总线标准的API及相应IP的事务级模型。因此,IP供货商就制作了所谓的“第二适配层”,在此之上用户可以建构系统和半导体IP。该标准将促进IP的共享和复用,鼓励EDA工具的开发,并使电子OEM厂商更容易使用事务级模型。
OSCI发布的新标准可以使事务级建模从高阶用户走向主流用户群,该标准将为IP供货商进入事务级模型市场铺路,而且这些模型都可以被整合进系统级芯片(SoC)和EDA工具中。这在以前是不可能实现的,因为每个公司都使用自己制作的事务级模型。
利用新的OSCI事务级模型库编写出来的模型可以透过标准接口而互相连接,这将进一步增强高层IP模型的复用性和可用性,如图4-27所示。OSCI和OCP-IP提出的模型都支持三层的TLM抽象。OSCI的带有时间信息的程序员抽象层与OCP-IP的第二层事务层接近,而周期精确层则与OCP-IP的第一层传输层抽象类似。
图4-27 OSCI定义的基于SystemC的层次标准(资料来源:OCSI)
基于SystemC的事务级建模的主要任务是利用SystemC进行相应的通信抽象,实现通信机制,其具有两大特点。
• ①功能与通信分离:实现具体算法的功能部分与实现数据和事件传输的部分分离。功能由SystemC的模块(sc_module)来实现,而通信由通道(Channel)来实现。
• ②接口方法调用:一组给定的通信方法被称为接口,包括数据接口和控制接口。而通道由一个或者多个接口来实现。模块能够使用它们的端口来与实现相应接口的通道进行互连。
全部0条评论
快来发表一下你的评论吧 !