《UVM实战卷Ⅰ》学习笔记 第四章 UVM中的TLM1.0通信

写在前面:TLM有1.0和2.0,本书只讲述1.0

目录

4.1 TLM1.0

1.TLM通信解决的三个需求

2.控制流(initiator和target)和数据流(productor和consumer)

3.端口的分类

4.2 UVM中各种端口的互连

1.建立comp间通信三部曲

2.端口与端口谁可以连接谁呢?

 3.关于IMP需要知道的两个点

4.3 UVM中的通信方式

1.除了port/export/imp之外,另外还有端口analysis_port和analysis_export有什么特点(观察者模式/广播模式)?

2.在agent中声明一个句柄但是不实例化,只指向其中已例化的comp的成员变量

3.uvm_analysis_imp_decl在comp中帮助实现多个imp

4.fifo.analysis_export本质不是export而是imp

5.引入fifo后的变化

6.对比fifo和imp


4.1 TLM1.0

1.TLM通信解决的三个需求

1.transaction级数据在comp之间的传输

2.comp数据传输存在的阻塞和非阻塞问题

3.接收数据部件如何向发送数据部件请求数据

2.控制流(initiator和target)和数据流(productor和consumer)

在最开始的第一章,作者就提及了控制流和数据流,在TLM这章可以有具象的认识.

数据流顾名思义就是数据的流动,从productor到consumer

而控制流是命令或请求的发起与接收,从initiator到target

3.端口的分类

看似纷繁复杂的端口,理清思路即可.

以uvm_blocking_put_port为例说明其各个位置代表的意义:uvm_"是否阻塞"_"通讯方法"_"端口名".

各个元素与以下分类(排列组合可得所有结果):

是否阻塞:blocking/nonblocking

通讯方法:put/get/peek/get_peek/transport/master/slave

端口名:port/export/imp

4.2 UVM中各种端口的互连

1.建立comp间通信三部曲

1.定义端口

2.实现对应方法

3.在上层环境连接端口

2.端口与端口谁可以连接谁呢?

如下图,各个颜色的箭头代表同颜色端口可以连接的端口,相关代码见原书.

 3.关于IMP需要知道的两个点

书中4.2.1末尾和4.2.2全篇基本上谈的都是IMP,初学者容易读到头晕,其实主要讲的就是IMP的两个点:

1.只有imp这个最低级的端口才可以作为,port/export/imp这三者形成的连接的重点

2.imp需要在对应的comp中例化,并且要实现port中调用的函数方法,例如put等

4.3 UVM中的通信方式

1.除了port/export/imp之外,另外还有端口analysis_port和analysis_export有什么特点(观察者模式/广播模式)?

1.analysis_*可以连接多个imp,实现一对多通信

2.相比之前三个端口的参数"uvm_"是否阻塞"_"通讯方法"_"端口名"",analysis_*不讲是否阻塞,且通讯方法只有write.

2.在agent中声明一个句柄但是不实例化,只指向其中已例化的comp的成员变量

类似方法在2.3.5中也出现过,由于agent封装mon和drv,但是两个comp需要和其他comp频繁传输data,在agent声明一个对应的句柄,可以使数据传输更加层次清晰.

3.uvm_analysis_imp_decl在comp中帮助实现多个imp

4.fifo.analysis_export本质不是export而是imp

这点很具有迷惑性,可以参考代码4-40理解记忆

5.引入fifo后的变化

1.例化imp的comp中不用实现write函数,毕竟看起来是export

2.替代上边第三点提到的"uvm_analysis_imp_decl"

6.对比fifo和imp

1.fifo本质上是个仍然使用tlm的通信管道,但是隐藏了imp

2.由于fifo是个管道,自然要与两边的comp连接,给上层环境env增添了不少代码量

3.在端口众多以端口数组的形式出现的时候,fifo要简单很多

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
系统根据B/S,即所谓的电脑浏览器/网络服务器方式,运用Java技术性,挑选MySQL作为后台系统。系统主要包含对客服聊天管理、字典表管理、公告信息管理、金融工具管理、金融工具收藏管理、金融工具银行卡管理、借款管理、理财产品管理、理财产品收藏管理、理财产品银行卡管理、理财银行卡信息管理、银行卡管理、存款管理、银行卡记录管理、取款管理、转账管理、用户管理、员工管理等功能模块。 文重点介绍了银行管理的专业技术发展背景和发展状况,随后遵照软件传统式研发流程,最先挑选适用思维和语言软件开发平台,依据需求分析报告模块和设计数据库结构,再根据系统功能模块的设计制作系统功能模块图、流程表和E-R图。随后设计架构以及编写代码,并实现系统能模块。最终基本完成系统检测和功能测试。结果显示,该系统能够实现所需要的作用,工作状态没有明显缺陷。 系统登录功能是程序必不可少的功能,在登录页面必填的数据有两项,一项就是账号,另一项数据就是密码,当管理员正确填写并提交这二者数据之后,管理员就可以进入系统后台功能操作区。进入银行卡列表,管理员可以进行查看列表、模糊搜索以及相关维护等操作。用户进入系统可以查看公告和模糊搜索公告信息、也可以进行公告维护操作。理财产品管理页面,管理员可以进行查看列表、模糊搜索以及相关维护等操作。产品类型管理页面,此页面提供给管理员的功能有:新增产品类型,修改产品类型,删除产品类型。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值