tlm2.0在2009年成为osci标准,主要用于构造总线系统的systemc模型。尽管如此,当tlm2.0被引入到sv,它在构造testbench这件事情上也有所建树,为连接testbench与systemc模型提供了便利。
本文在介绍tlm2.0时将主要覆盖其三大特征:interface,socket和generic payload。
01
interface
tlm2.0跟tlm-1类似,有port、export和imp这些接口概念。在传输类型上,可以分为阻塞和非阻塞。其中非阻塞传输通过包含两个不同方向的传输路径来实现双向传输(bi-directional),这两个传输路径分别是前向传输路径(forward transport path)和反向传输路径(backward transport path)。这么一结合,就有了以下tlm2.0接口的九种基本类型。
接下来是传输函数。相比于tlm-1中传输函数put和get,tlm2.0使用的传输函数从systemc原原本本地迁移了过来,主要由下面三种传输函数。这些传输函数的原型定义在uvm_tlm_if类中,该类也是上面九种接口类的父类的父类的父类。
结合起来看,tlm2.0接口的基本类型中,会提供对应的传输函数供调用(比如:支持阻塞传输的三个接口类中,都会调用宏去实现传输函数b_transport),以及connect函数供建立连接关系(connect函数的主要目的是实现接口句柄的传递)。好在这一部分作为tlm2.0的底层实现,用户应用中可以不去关心。
02
socket
tlm2.0最主要的贡献是提出了socket的概念。socket在uvm tlm2.0中,实现上是对port、export和imp的又一层封装,以提供更加统一和简洁的连接。下面首先扩展一下知识面,说说socket。
socket,直译过来叫“插座”,后来由于功能相似被引入到软件领域,并被翻译成了“套接字”,首先广泛用于计算机网络领域。socket在计算机网络模型中,作为应用层和传输层之间的一个抽象层,这就意味着,socket为下游的传输层(tcp/ip)做了接口封装,并为上游应用层(用户进程)提供网络通信服务(service)。
从整个通信链路角度看,socket就像是某种规格的插座,服务端和客户端通过规格(域、套接字类型、协议)匹配的“线缆”插上两端(通过ip地址和端口名),即可实现端到端的通信,通信的过程不再需要去关心中间的通信协议和实现细节。
当socket的概念被引入到tlm建模,它依然保留着它原本的特点:端到端,协议统一,双向通信。当然,tlm sockets也有自己的特点,比如可用于流量控制的延时参数等等。 tlm2.0这套机制本身可以说是围绕socket接口展开的。socket涉及到的类有8个,都是一对一对的,使用的时候非常方便和干净。
根据阻塞性和在通信链路中的位置,socket类型可以按照下表分类。
其中is-a表示面向对象的继承关系,可以理解为“它本质是xxxx接口”;has-a表示对象之间的关联关系,可以理解为“它还有一个xxxx接口”,举个例子:用于非阻塞传输的initiator的socket(uvm_tlm_nb_initiator_socket),它本质是一个支持前向传输的port接口,同时它还有一个支持后向传输的imp接口。
03
generic payload
统一的通信事务(payload)可能是tlm2.0理想的用法,从uvm源码中可以看到在接口和socket涉及到transaction类型的地方,都用了默认类型uvm_tlm_generic_payload. generic payload的基类是uvm_sequence_item,本质上跟之前接触到的transaction没有什么两样,它可以被看做是tlm2.0为我们定义好的可以直接用于总线系统建模的事务模板。
因为是面向总线系统建模而创建的transaction,所以generic payload包含的域基本也都跟总线相关,比如地址(m_address)、数据(data[])、读/写(m_command)、突发长度(m_stream_width)、字节掩码(m_byte_enable[])、响应类型(m_response_status)等。如果还有更多的字段,比如memory属性、安全属性、id号等其他sideband信号,可以通过扩展m_extensions数据结构来进行添加。
常用无线技术的技术基础和相对优势
转载丨填补国内市场空白!这家人机接口芯片厂商另辟蹊径
畅快开黑 一加6T开通王者荣耀Vulkan模式
高密度印制电路板(HDI),高密度印制电路板(HDI)是什么
PIC单片机浮点数与十进制数转换
UVM中基于SOCKET通信的TLM2.0介绍
金立S11评测 1799元价格是优势
河北半导体研究研制出新型大面积SiC UV APD
半导体研发支出将在放缓后增加
赛灵思 UltraScale+ 系列简介
大健康将是LED未来发展趋势?
Fluke F317便携式真有效值钳型表的功能介绍
pc示波器、台式示波器和手册示波器的区别
ADI推出首款双通道16位DAC,可实现比竞争器件高70%的信号带宽
一款大功率稳压电源古老电路,Regulated power supply
二极管厂商:上海益台电子有限责任公司简介
具有上游压力换能器的超声流量计量系统的设计及原理
电脑蓝屏代码0x0000007e的原因与解决方法
余压监控系统可有效保障人员疏散逃离火灾现场
艾比格特智能移动硬盘评测 设计和价位都十分人性化