TLM(事务级建模方法,Transaction-level modeling)是一种高级的数字系统模型化方法,它将模型间的通信细节与函数单元或通信架构的细节分离开来。通信机制(如总线或者FIFO)被建模成信道,并且以SystemC接口类的形式向模块呈现。事务请求一般在调用这些信道模型的接口函数时发生,而接口函数封装了信息交换的底层细节。在事务层面上,TLM更强调数据传输的功能本身——数据的内容和传输的起止点,并尽可能少涉及具体实现。这种方法使得系统级设计者测试不同的总线架构(这些架构均支持公共的抽象接口)更加方便,通过这些公共接口进行模块间交互,无需对模块重新编码。

  SV中TLM是从SystemC中借鉴过来的,在UVM中具体分为TLM1 和TLM2 Socket. 首先,来看TLM1,uvm_tlm.svh的源代码。很典型的UVM实现方法在该文件中包括了所有用到的文件。

`include "tlm1/uvm_tlm_ifs.svh"
`include "tlm1/uvm_sqr_ifs.svh"
`include "base/uvm_port_base.svh" `include "tlm1/uvm_tlm_imps.svh" `include "tlm1/uvm_imps.svh"
`include "tlm1/uvm_ports.svh"
`include "tlm1/uvm_exports.svh"
`include "tlm1/uvm_analysis_port.svh" `include "tlm1/uvm_tlm_fifo_base.svh"
`include "tlm1/uvm_tlm_fifos.svh"
`include "tlm1/uvm_tlm_req_rsp.svh" `include "tlm1/uvm_sqr_connections.svh"

参考文献:

1 TLM. http://www.chipverify.com/uvm/tlm-preface

2 事务级建模. https://zh.wikipedia.org/wiki/%E4%BA%8B%E5%8A%A1%E7%BA%A7%E5%BB%BA%E6%A8%A1%E6%96%B9%E6%B3%95

uvm_tlm——TLM1事务级建模方法(一)的更多相关文章

  1. uvm_port_base——TLM1事务级建模方法(五)

    文件: src/tlm1/uvm_port_base.svh 类: uvm_port_base uvm_port_component_base派生自uvm_component,因此具有其所有特性.提供 ...

  2. uvm_tlm_if_base——TLM1事务级建模方法(三)

    文件: src/tlm1/uvm_tlm_ifs.svh 类: uvm_tlm_if_base 这个类没有派生自任何类,在类的中,定义了三类接口:第一类是阻塞性质的普通方法(task),put, ge ...

  3. uvm_analysis_port——TLM1事务级建模方法(二)

    UVM中的TLM1端口,第一类是用于uvm_driver 和uvm_sequencer连接端口,第二类是用于其他component之间连接的端口,如uvm_monitor和uvm_scoreboard ...

  4. uvm_sqr_ifs——TLM1事务级建模方法(四)

    与uvm_tlm_if_base 一样,这个类也没有派生自任何类,定义了如下几个接口:get_next_item, try_next_item, item_done, get, peek, put, ...

  5. RDIFramework.NET V2.7 Web版本升手风琴+树型目录(2级+)方法

    RDIFramework.NET V2.7 Web版本升手风琴+树型目录(2级+)方法 手风琴风格在Web应用非常的普遍,越来越多的Web应用都是采用这种方式来体现各个功能模块,传统的手风琴风格只支持 ...

  6. RDIFramework.NET V2.7 Web版本号升手风琴+树型文件夹(2级+)方法

    级+)"界面风格,以展示多级功能菜单,满足用户的要求.Web展示效果例如以下: 要以"手风琴+树型文件夹(2级+)"的风格来展示功能模块,我们须要在"系统配置& ...

  7. 【翻译自mos文章】当并行事务恢复进程在执行时,禁用并行事务恢复的方法

    当并行事务恢复进程在执行时,禁用并行事务恢复的方法 How to Disable Parallel Transaction Recovery When Parallel Txn Recovery is ...

  8. 基于点云的3ds Max快速精细三维建模方法及系统的制作方法 插件开发

                                 基于点云的3ds Max快速精细三维建模方法及系统的制作方法[技术领域][0001]本发明涉及数字城市三维建模领域,尤其涉及一种基于点云的3d ...

  9. hive建模方法

    转自:https://www.jianshu.com/p/8378b80e4b21 概述数据仓库这个概念是由 Bill Inmon 所提出的,其功能是将组织通过联机事务处理(OLTP)所积累的大量的资 ...

随机推荐

  1. p2071 座位安排

    传送门 题目 已知车上有N排座位,有N*2个人参加省赛,每排座位只能坐两人,且每个人都有自己想坐的排数,问最多使多少人坐到自己想坐的位置. 输入格式: 第一行,一个正整数N. 第二行至第N*2+1行, ...

  2. HDU 5862 Counting Intersections (离散化+扫描线+树状数组)

    题意:给你若干个平行于坐标轴的,长度大于0的线段,且任意两个线段没有公共点,不会重合覆盖.问有多少个交点. 析:题意很明确,可是并不好做,可以先把平行与x轴和y轴的分开,然后把平行y轴的按y坐标从小到 ...

  3. OpenStack API映射分析

    Nova代码阅读 确定服务类型 RPC服务 WSGI服务 查询cmd目录下的对应的服务启动脚本,根据服务创建方式来判断服务类型,service.WSGIService表示WSGI服务,service. ...

  4. 空字符串‘’ null false 区别

    1.''空字符串 .null 和false都是以值为0来存储的   只是数据结构不一致而已 空字符串------字符串数据格式 null -----------null数据格式 false ----- ...

  5. Hyperledger Cello 安装遇到问题

    Hyperledger Cello 安装遇到问题  8083 我跟着这篇教程 https://github.com/hyperledger/cello/blob/master/docs/setup_m ...

  6. 气泡提示 纯CSS

    tooltip(气泡提示) 依赖 脚本文件:CalvinTip.js 样式文件:toolTip.css 参数 elems HTMLNode 必须 气泡提示的元素 options Object 可选 多 ...

  7. P1072 HanksonHankson 的趣味题

    题意:给定$a_0,a_1,b_0,b_1$ 问有多少x满足1:$gcd(x,a_0)=a_1$ 2:$lcm(x,b_0)=b_1$ 思路:暴力枚举(当然不是死枚举) 枚举$a_1$的倍数,判断.. ...

  8. Nacos-spring-samples解析

    小白们在看这个用例的时候得注意,这个东东不知道他是为了让大家能够快速体验还是怎么的, 反正我一开始没整明白,有点想当然的去理解了: 我一直以为这个Nacos-spring-samples只是一个简单的 ...

  9. CSS之flex兼容

    我觉得写的很好的文章,但是我又没有时间去整理的. https://blog.csdn.net/u010130282/article/details/52627661 百分比 是在宽度自适应的时候要用 ...

  10. Command模式(命令设计模式)

    Command?? 把方法的调用用一个类的实例来承载,要管理工作的历史记录,创建这些方法执行的命令的集合,只需管理这些实例的集合即可,而且还可以随时再次执行过去的命令,或是将多个过去的命令整合为一个新 ...