0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

SoC电子系统级设计OSCI TLM抽象模型

麦辣鸡腿堡 来源:TrustZone 作者:TrustZone 2023-11-02 15:05 次阅读

当前,OSCI TLM1.0抽象模型在工业界的SoC电子系统级设计中已得到广泛应用,如早期的软硬件集成、系统性能分析、结构设计、功能验证等。但随着抽象层次的提高,采用TLM1.0标准进行建模的事务级模型缺乏实用性,并且仿真速度无法达到要求。

其目标是规范化TLM事务级模型建模标准,提出统一的API及数据结构,提高不同用户编写的TLM模型之间的互操作性。TLM2.0标准的体系结构如图4-28所示。

图片

图4-28 TLM 2.0标准的体系结构

TLM 2.0支持在发起者(主设备)和接收者(从设备)之间传递事务。主设备能够发起事务,即创建一个新的事务对象,并通过调用TLM2.0核心接口定义的方法进行传递。主设备与从设备之间可以直接相连,也可以通过互连单元(总线、片上网络等)进行相连。

互连单元是一个模块,它可以访问事务,但不是事务的发起者或接收者,而只是为发起者和接收者之间提供互连。事务对象所经由的互连单元、事务对象的发起者和接收者之间构成了事务对象所经过的路径。如图4-29所示,前向路径是主设备到从设备,或者互连单元的链路,或者链路级联。

事务通过主设备调用的方法直接返回,或者从设备通过另外的方法调用返回事务称为反向路径。为了支持前向、反向路径,模块间的每一个链接都需要一个端口称为主设备套接字或从设备套接字。

图片

图4-29 TLM 2.0通信中的前向和反向路径

为了增强互操作性,TLM2.0中发起事务的主设备和接收事务并作出响应的从设备必须遵循一定的接口标准,称为事务处理核心接口,包括阻塞传输接口、非阻塞传输接口、直接存储接口(DMI,Memory
Interface)和调试传输接口(Debug Transport Interface)。

其中,阻塞和非阻塞传输接口是主设备、从设备之间进行事务处理的基本接口。两者均支持时序标注(Timing annotation)和时间解耦(Temporal decoupling)。但阻塞传输接口没有阶段(Phase)参数,事务仅有开始和结束两个定时点,一个调用请求发出后,直到请求被处理完成该调用才返回。

而非阻塞传输接口在事务的整个生命周期内支持多阶段,即允许模型描述事务处理过程中的多个阶段细节(包括TLM 2.0已经与定义的阶段UNINITIALIZED_PHASE、BEGIN_REQ、END_REQ、BEGIN_RESP、END_RESP和用户可扩展阶段DECLARE_EXTENDED_PHASE),每一个阶段都有一个明确的定时点,调用请求可以不必等待事务处理完成即可返回。直接存储接口(DMI)允许主设备使用指针直接访问从设备所在的存储区域,而不需要使用如前所述的阻塞或非阻塞传输接口进行访问。

DMI避免了对阻塞和非阻塞传输接口函数的多次调用,能够显著提高模型仿真速度。调试传输接口为主设备提供了一个对从设备进行读写的方法,可以使主设备在仿真过程中对存储器、寄存器的内容进行扫描,可用于实现指令集仿真器ISS的单步、断点等调试功能。

总线是当前电子系统不同模块间进行交互的基本通道接口,对于总线的事务级建模至关重要。通常,事务级建模采用C++的类对事务进行描述,然而对于不同总线,总线读写事务类定义不同。

对于同一总线,不同设计者所编写的总线事务类也可能不同。这就导致了不同的TLM模型之间互操作性差,不利于系统集成。TLM2.0标准针对总线建模提出了通用Payload类,用于提高总线模型的互操作性。

通用Payload类提供了定义总线模型所需的基本属性(如地址、数据、字节使能、单字传输、突发传输、响应等),可方便、快捷地对当前已有的多数总线进行建模。同时,通用Payload还提供了扩展机制,以满足某些总线标准的特定需求。

为了进一步增强不同事务级模型之间的互操作性,TLM2.0标准对采用SystemC/C++进行高抽象层次建模的编码风格进行了规范,提出了松散时序(Loosely-timed)和近似时序(Approximately-timed)的编码风格(注意:编码风格只是规定了编程语言的规范形式,并不是指某一抽象层次或API)。

松散时序的编码风格主要使用阻塞传送接口,使用此种编码风格的模型对应了两个时间点,即事务处理的开始点和结束点。松散时序的编码风格支持如上提到的“时间解耦”,即模型的某部分功能可以在当前仿真时间之前运行,直到一个需要与其他部分进行同步的同步点。时间解耦能够有效地提高仿真速度,但降低了仿真精度。

松散时序编码风格非常适用于构建对硬件细节要求不多的嵌入式软件验证虚拟平台,如嵌入式操作系统等。近似时序编码风格主要通过非阻塞传送接口进行支持,主要用于体系结构的设计空间探测和性能分析。

在非阻塞传输接口中,一个事务往往被精确地划分为多个执行阶段,由不同的定时点进行分割,这些定时点包括请求的开始与结束、应答的开始与结束。为了提高仿真的精度,近似时序编码风格一般不使用时间解耦。

在实际应用中,松散时序编码风格和近似时序编码风格可以根据需要同时使用。此外,TLM2.0标准不提供对于无时序(Untimed)编码风格的支持,但无时序模型可以由TLM1.0标准提供支持(注意:无时序模型并不是指没有任何时序信息,而是仅包含有限时序信息的模型,在TLM 2.0标准中通常被归为松散时序的编码风格)。

同样,TLM 2.0也不提供对于周期精确(Cycle-accurate)编码风格的支持,设计者可借助SystemC和TLM1.0完成周期精确模型的建模。但OSCI将在未来的工作中对近似时序编码风格进行扩展提出规范化的周期精确的编码风格。各种编码风格的应用场合如表4-3所示。

图片

表4-3 OSCI TLM标准不同编码风格的应用

与TLM 1.0相比,TLM 2.0的改进如下。

• ① TLM 1.0没有标准的事务处理类,每一个应用根据需要创建专门的事务处理类,因此不同的模型之间的互操作性很差。TLM2.0中针对这一问题,增加了通用Payload类。

• ② TLM 1.0不支持时序标注,因此不同的模型之间缺乏标准的交换时序信息的方法。TLM1.0中一般通过调用wait函数实现延迟,仿真速度较慢。TLM 2.0中通过在阻塞和非阻塞传输接口中增加了时序标注,提高了仿真速度。

• ③ TLM 1.0要求通过值或常量引用来交换所有的事务处理对象和数据,影响了仿真速度。TLM2.0针对这一问题,在传输接口中允许扩展事务处理对象的生命周期到不同的传输调用中。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • soc
    soc
    +关注

    关注

    38

    文章

    4165

    浏览量

    218231
  • ESL
    ESL
    +关注

    关注

    1

    文章

    74

    浏览量

    21345
  • 模型
    +关注

    关注

    1

    文章

    3241

    浏览量

    48834
  • TLM
    TLM
    +关注

    关注

    1

    文章

    32

    浏览量

    24749
收藏 人收藏

    评论

    相关推荐

    电气与电子系统实验指导书

    电气与电子系统实验指导书 电气与电子系统课程设计指导书 电工实验中心 赵书淘 张建坡 编第1 部分 电气电子系统计算机辅助设计软件.............................11.1
    发表于 09-24 10:06

    电子系统设计实例PDF格式

    电子系统设计实例 [hide][[/hide]
    发表于 09-25 16:00

    一种电子系统测试性模型的研究

    和可用性有很大影响。在对测试性建模理论进行研究的基础上,借鉴多信号流图模型和eXpress信息模型,提出了一种适合电子系统的测试性模型——ESTIM(electrotic system
    发表于 04-22 11:28

    电子系统仿真与MATLAB

    MATLAB特别适用于对电子系统进行计算机仿真,本文主要阐述如何运用MATLAB对电子系统进行仿真,同时提供大量实例供参考和模拟
    发表于 05-04 21:25

    FPGA在车载电子系统的应用

    可编程逻辑器件(PLD)越来越受到车载电子系统市场的青睐,因为它的内在灵活性和能够在制造场所甚至最终销售点修改设计的能力。PLD器件针对的汽车电子系统市场包括驾驶辅助系统、信息娱乐系统
    发表于 07-25 06:36

    如何利用FPGA设计航空电子系统

    如何利用FPGA设计航空电子系统
    发表于 05-06 08:38

    天线的发展及其对电子系统的影响是什么?

    天线的发展及其对电子系统的影响是什么?
    发表于 05-27 07:04

    电子系统测试资料套件

    电子系统测试资料套件
    发表于 03-26 12:19 22次下载
    <b class='flag-5'>电子系统</b>测试资料套件

    电子系统模型分析与SYSTEMVIEW

    电子系统设计中的分析目的:电子系统设计结果是否符合设计规范(满足设计要求)。这需要通过测试来验证。优化系统设计。这需要通过测试来验证。 电子线路分析基本方法仿真分析:
    发表于 06-15 17:57 0次下载
    <b class='flag-5'>电子系统</b><b class='flag-5'>模型</b>分析与SYSTEMVIEW

    电子系统设计的基础知识

    电子系统设计的基础知识
    发表于 12-22 10:22 0次下载

    航空电子系统检测

    ,对航空电子系统进行形式化建模,并在此基础上。提出了一种形式化的系统综合检测方法,从静态和动态两个方面对航空电子系统进行检测,最后通过设计并实现一个综合检测
    发表于 02-06 17:22 1次下载

    汽车电子常见的电子系统盘点分析

    随着汽车科技的发展,电子系统正成为当下汽车中的标配,很多功能都需要电子系统配合才能使用,汽车中都有哪些常用的电子系统呢?
    发表于 12-24 14:34 6610次阅读

    FPGA电子系统设计项目实战

    FPGA电子系统设计项目实战说明。
    发表于 03-23 09:49 35次下载
    FPGA<b class='flag-5'>电子系统</b>设计项目实战

    如何减少电子系统的电磁干扰?

    如何减少电子系统的电磁干扰? 电磁干扰(EMI)是在电子系统设计和运行中常见的问题,它是由于电子设备中的快速电子流所产生。电子系统的低噪声、
    的头像 发表于 09-18 14:14 1195次阅读

    TLM抽象模型介绍

    层的通信模型,除RTL层之外的3层属于事务层。 消息层处于最高抽象层次,被SoC系统结构工程师用来做功能划分和系统
    的头像 发表于 11-02 14:57 743次阅读
    <b class='flag-5'>TLM</b><b class='flag-5'>抽象</b><b class='flag-5'>模型</b>介绍