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

最新文章

  1. 启动 Eclipse 弹出“Failed to load the JNI shared library jvm.dll”错误的解决方法
  2. java标准-密码用数组比用字符串安全
  3. Effective C++ -----条款18:让接口容易被正确使用,不易被误用
  4. MVC之校验
  5. C# 参考之方法参数关键字:params、ref及out
  6. Java中删除指定文件夹文件夹下面有内容也删除使用递归方案
  7. libevent安装及使用
  8. mvc+ef+oracle环境中报错:ORA-00001: 违反唯一约束条件
  9. %r与%s的区别
  10. Hibernate_10_继承的例子_单表
  11. HDU1115--Lifting the Stone(求凸多边形的重心)
  12. (二叉树 DFS 递归) leetcode 101. Symmetric Tree
  13. 小甲鱼Python视频课后答案(第一讲)---仅记录学习
  14. map里面的set方法
  15. salt 配置管理
  16. CentOS7安装BugFree
  17. js与jQuery差别
  18. Linux中Postfix反病毒和垃圾邮件工具(十)
  19. MongoDB(课时21 索引)
  20. Oracle 判断为空 all space

热门文章

  1. MySQL(进阶)
  2. SQL中的union,except,intersect用法
  3. 【mybatis-记录】
  4. DMA缓冲区乒乓操作的处理
  5. Educational Codeforces Round 52D(ARRAY,模拟最短路)
  6. 利用CSS制作脸书
  7. HTML常用标签与CSS基础知识
  8. Django 04 模板标签(if、for、url、with、autoeacape、模板继承于引用、静态文件加载)
  9. [Leetcode]007. Reverse Integer
  10. 简单的方法爬取b站dnf视频封面步骤解释