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