【经验】UVM学习笔记——TLM 1.0通信技术应用指南

2023-10-12 井芯微电子公众号
软件定义互连芯片,SDI3210,井芯微电子 软件定义互连芯片,SDI3210,井芯微电子 软件定义互连芯片,SDI3210,井芯微电子 软件定义互连芯片,SDI3210,井芯微电子

井芯微电子技术(天津)有限公司响应时代号召,致力于高端信息安全和网络交换芯片的发展。其中,在芯片的开发过程中,验证是整个程中至关重要的环节,特别是高端芯片的研发更是如此。软件定义互连SDI3210芯片是创新中心研发的全球首款基于软件定义互连的支持多种协议类型的交换芯片,最多可支持32个端口和32路高速通道,其中每个端口协议类型可定义为RapidIO、Fiber Channel、或者以太网,并且支持异构协议之间的实施转换,每个通道最高速率达10.3125G,提供了320Gbps的无阻塞交换能力。基于SDI3210的解决方案可实现异构协议网络的互连,适用于板内芯片到芯片、板间、机柜间互连等应用,现已成功应用于多种相关领域。在SDI3210芯片的研发过程中,UVM验证环节里广泛用到了TLM通信方式。本文将针对UVM的TLM通信技术进行相关描述和分享。


1、引言

TLM(Transaction Level Modeling,事务级建模)通信是UVM平台中最常用的通信方式。Transaction是一组具有特定信息的一个类,这些信息可以是协议帧和一些控制字段。UVM中的monitor将端口信息采集,打包成一个transaction,并加入一些控制字段,将其传递给reference model和scoreboard等组件,再对transaction的内容进行处理比对,完成对DUT功能的检测、验证,从而发现DUT的问题。所以,熟练的掌握UVM平台中各组件的transaction通信是验证工程师一个必备的技能。


2、端口介绍


在UVM各组件中,需要使用不同的类型的端口来实现transaction的发送和接收。常见的端口种类有PORT、 EXPORT、 IMP和Analysis等。下面,本文将逐一介绍这几类端口,并着重介绍使用FIFO进行通信。


PORT与EXPORT端口

PORT端口和EXPORT端口是UVM中最基本的通信端口。UVM中常用的PORT有uvm_blocking_put_port/uvm_blocking_get_port等。UVM中常用的EXPORT有uvm_blocking_put_export/uvm_blocking_get_export等。


无论是PORT端口还是EXPORT端口,都可以进行put、get等对transaction的基本操作。在UVM中使用connect函数来实现组件间的链接。如下图所示:组件A要将transaction发送到B组件,则可以在A组件中建立PORT端口,在B组件中建立EXPORT端口,来实现组件间的transcation传递。

其中A组件PORT代码实现如下图所示:

B组件EXPORT代码实现与PORT类似,不再赘述。

在A、B各自的模块建立PORT/EXPORT端口后,需要在env组件中将其连接起来。其中env的代码如下:

运行代码,即可看到A组件将transaction发送到B组件。


IMP端口

IMP端口也是一种常见的TLM通信端口,但是其只能和具有相应动作的PORT/EXPORT端口进行通信,是动作的被动承担者,按照控制流的优先级,依此为PORT、EXPORT和IMP。一个PORT可以连接一个IMP,并发起多种操作,反正则不成立。

UVM中IMP端口的应用如下图所示。

IMP端口的作用可以分为三步。首先,A_port.put任务会调用B_export.put任务。然后,B.B_export的put任务会调用B.B_imp的put任务。最后,B.B_imp.put任务会调用B的相关任务。B组件相关代码如下:

值得注意的是,在B组件中一定要加上put函数,否则会报错。


Analysis端口

除了上述几种端口外,UVM中还有一种常见的端口,被称作analysis端口,这也是在实际UVM平台搭建时最常用的端口之一。


Analysis端口分为analysis_port和analysis_export端口,本文着重介绍analysis_port端口。相比于其他类型的端口,analysis端口具有两个特点:第一,默认情况下,analysis端口可以连接多个IMP端口,而port和export端口只能和IMP进行一对一通信。简单来说,analysis端口是一种广播端口。第二,analysis端口没有阻塞和非阻塞的概念,不必等待其他端口的响应。


在实际应用中,例如monitor中对外的端口,常用的就是analysis_port。其使用方法如下代码:

在agent中,可以建立analysis端口和monitor的analysis端口连接起来,在monitor与agent外的组件进行通信时,只用agent的端口。其代码实现不再赘述。


UVM中利用FIFO进行通信

在以上几种端口的通信方式中,接收transaction的组件基本上是被动接收数据,如何使各个组件都可以发送控制命令主动发送/接收transaction,就要使用到UVM中的FIFO通信。在SDI3210的设计验证平台中,就大量应用了FIFO通信技术。使用FIFO可以让monitor、scoreboard、reference_model实现主动的信息接收。其基本思想是在各组件中搭建一个FIFO,每个模块对其进行控制,主动发送/接收。其数据流如下图所示:

在各个模块中,需要定义不同类型的analysis端口。


在monitor中,需要定义uvm_analysis_port类型的端口,有两种目的。一种是将DUT接收的数据发送给reference model进行处理,另一个是将DUT输出的数据发送个scoreboard来进行数据最后的比对。

在reference model中,需要定义两种类型的port,一种是uvm_blocking_get_port,用来接收来自monitor的transaction;另一种是uvm_analysis_port,用来将处理好的transaction发送给scoreboard进行比对。

在scoreboard中,只有uvm_blocking_get_port一种类型的端口,负责接收来自reference model的exp_port和来自monitor的act_port。其中exp_port端口接收的transaction表示希望得到的transaction,act_port中得到的表示实际从DUT发出的transaction,如果这两者比对一致,则表示DUT正常处理了数据。

在env中,需要定义FIFO,并将各个组件的端口和FIFO链接起来,完成transaction的传递。代码如下:

FIFO的端口定义为uvm_tlm_analysis_fifo,由于将monitor封装到agent中,所以monitor的端口对外用agent的端口表示。


在connect phase中,连接格式:端口名.connect(FIFO名.端口类型)。使用FIFO通信后,有三个优点,首先是在接收transaction的组件中不用建立一个write函数,可以主动进行数据接收,不用跟着发送端的节奏。其次,在FIFO中隐藏了IMP,可以实现IMP的功能。最后是结构清晰,便于后期的维护和修改。


4、结语

本文对UVM中常用的端口类型做了介绍,并着重介绍了使用FIFO通信。好的验证平台是成功流片的坚实保障。其实,UVM中的端口应用和通信方式远不止这些,每种方法都有其利弊。在实际的验证工作中,能熟练的应用一种方法,并在不同的情况下灵活运用其他方法才是搭建一个可靠验证平台的关键。井芯微电子技术(天津)有限公司有丰富的设计和验证经验,至今已有多项科研成果已成功转化,在未来的通信基础设施的“芯”变革中迈出了坚实的一步。

授权代理商:世强先进(深圳)科技股份有限公司
技术资料,数据手册,3D模型库,原理图,PCB封装文件,选型指南来源平台:世强硬创平台www.sekorm.com
现货商城,价格查询,交期查询,订货,现货采购,在线购买,样品申请渠道:世强硬创平台电子商城www.sekorm.com/supply/
概念,方案,设计,选型,BOM优化,FAE技术支持,样品,加工定制,测试,量产供应服务提供:世强硬创平台www.sekorm.com
集成电路,电子元件,电子材料,电气自动化,电机,仪器全品类供应:世强硬创平台www.sekorm.com
  • +1 赞 0
  • 收藏
  • 评论 0

本文由ll转载自井芯微电子公众号,原文标题为:UVM学习笔记——TLM 1.0通信,本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关研发服务和供应服务

评论

   |   

提交评论

全部评论(0

暂无评论

相关推荐

【经验】PCIe能不能使用光纤连接?

PCIe在高速交换机领域也有很广泛的应用。交换机的软件通常运行在CPU芯片上,硬件运行在交换芯片或者FPGA上。上位机软件通过PCIe总线配置交换机的相关寄存器,也可以配置交换机的上行或者下行DMA读写操作,并进行CPU与交换芯片的数据交互,非常灵活。软件定义互联交换芯片SDI3210,就是采用PCIe(Gen2 x1)作为芯片的配置、维护、管理的主要通路,同时也是协议数据的传输通道。

2023-10-07 -  设计经验 代理服务 技术支持 采购服务

【经验】 基于ZYNQ的SDI交换芯片的配置管理方法介绍

本文基于逐步建立和扩展SDI软件定义互连生态的目的,推荐了一种相对适合、灵活、易于实现的SDI交换芯片的配置管理方案。并且目前国内已经具备Zynq7000器件的原位替代产品,未来可以使用国产ZYNQ器件+SDI交换芯片,将本文推荐的方式优化成全国产化方案。与此同时,期望和众多合作伙伴加强沟通交流,共同打造一个广泛、共赢的SDI软件定义互连应用生态!

2023-10-05 -  设计经验 代理服务 技术支持 采购服务

【经验】井芯微电子SDI3210软件定义互连交换芯片三大典型案例解析

SDI3210芯片是软件定义第一代芯片,主要面向软件定义国际主流标准协议而设计,可实现32个通道互连协议的软件定义,实现当前多种国际主流协议的互连互通,是网络互连方向“专用的可编程器件”,但又比FPGA有更快的互连协议解析能力。可广泛应用于移动网络基站设备、数据中心、高性能计算、视频监控、医疗成像、工业 控制、人工智能、大数据、5G、工业互联网等不同的场景中。

2023-10-02 -  设计经验 代理服务 技术支持 采购服务

【IC】井芯微SDI3210交换芯片,支持端口之间的无阻塞交换,最大交换带宽为320Gbps

SDI3210是一款可软件定义接口协议的交换芯片,每个端口协议类型可以定义为RapidIO协议,FIberiaChanneI(FC)协议,以太网协议,最大支持32个高速通道,支持异构协议的互连互通,支持端口之间的无阻塞交换,最大交换带宽为320Gbps,SDI3210可与以上三种协议的端点设备及交换设备对接。

2024-11-11 -  产品 代理服务 技术支持 采购服务

2023CIOE中国光博会圆满收官,井芯微电子携光芯片、电芯片、交换芯片等核心产品亮相展会现场

为期3天的CIEO中国国际光电博览会在深圳国际会展中心盛大举办,井芯微电子展示了公司的明星产品TSN交换芯片SE5128、ST2820-2Q100、ST2821-2S025以太网-PCIE网卡,以及产业化产品RapidIO交换芯片NRS1800、桥接芯片PRB0400、软件定义互连交换芯片ST3210、内生安全交换芯片ESW5610等多款国内自主产品。

2023-09-21 -  原厂动态 代理服务 技术支持 采购服务

RapidlO系统可靠性增强解决方案:NRS1800交换芯片支持客制化事件检测,可选择多种上报方式

井芯微电子交换芯片NRS1800支持用户按应用场景和需求客制化事件检测,可以根据主控系统设计和业务应用综合确定;当检测到事件时,也可选择多种上报方式,包括Port-write、中断和主控定期轮询等借助RapidIO互连技术自身定义的高性能、高可靠传输特性,基于专门的网络管理软件,引入RapidIO的错误检测与业务恢复机制,及时发现错误并进行处理,可以极大提升系统的稳定性和可靠性。

2024-10-25 -  产品 代理服务 技术支持 采购服务

井芯微与您相约第24届中国国际光电博览会,将展出多款网卡及交换芯片产品

井芯微电子技术(天津)有限公司于2020年在天津市滨海新区成立,致力于中国新基建核心芯片研制、生产和销售。井芯微秉承“高水平科技自立自强”发展理念,创造性提出软件定义互连、内生安全和类脑计算、数据中心四大战略方向,形成了新型研发机构、孵化平台、创新联盟、商业公司“四位一体”的独特模式,荣获天津市科学技术进步特等奖。

2023-09-05 -  原厂动态 代理服务 技术支持 采购服务
2024/5/8  - 井芯微电子  - 数据手册 代理服务 技术支持 采购服务

【经验】协议转换交换芯片SDI3210在3种千兆以太网中的应用可行性分析

本文介绍了SDI3210芯片功能及特性,引入1000Base-X、1000Base-T和SGMII之间的区别和各自的连接介质。介绍SDI3210评估系统,搭建3种以太网应用互连环境,经过转换,验证SDI3210在1000Base-X与1000Base-T环境互连,1000Base-X与SGMII环境互连中的应用可行性。用户可在评估系列平台上快速使用,大大降低研发成本和缩短开发周期。

2023-11-02 -  设计经验 代理服务 技术支持 采购服务

井芯微电子顺利完成A轮融资!将用于自主高端芯片产品的研发、研发体系建设、及开发环境的升级等

近日,井芯微电子技术(天津)有限公司顺利完成深创投集团等8家机构参与的A轮超亿元融资。本轮融资将助力井芯微电子自主高端芯片产品的研发、研发体系建设、及开发环境的升级等。

2023-07-31 -  原厂动态 代理服务 技术支持 采购服务

井芯微电子盛装亮相第102届中国电子展,全方位展示RapidIO嵌入式系统互连和软件定义互联技术产品

近日,第102届中国电子展在上海新国际博览中心圆满落幕!其中井芯微电子受邀参加,携核心产品在展会中盛装亮相,在现场全方位展示了公司在国内RapidIO嵌入式系统互连和软件定义互联方面原创性的技术产品,以及TSN(时间敏感网络)交换芯片、PCIE4.0 Switch、网卡芯片等明星产品,极致展现了井芯微电子在国内IC领域的产品优势

2023-12-09 -  原厂动态 代理服务 技术支持 采购服务

【IC】井芯微推出世界首款自研自制的软件定义互连芯片SDI3210,可支持32个端口可实现异构协议的互连互通的交换芯片

我国研发团队研制的世界首款软件定义互连芯片SDI3210问世,2019年该芯片被评为“中国芯”重大项目转化成果奖,并于2021年亮相“十三五”科技创新成就展。SDI3210可以实现异构协议的互连互通,在谱系简化、系统集成、安全防御等方面具有天然优势。

2023-08-08 -  新产品 代理服务 技术支持 采购服务

井芯微电子携多款首创芯片亮相2023世界半导体大会,致力于中国新基建核心芯片研制、生产和销售

7月19-21日2023世界半导体大会在南京国际博览中心举行。井芯微电子技术(天津)有限公司精彩亮相,同时推出公司研发的RapidIO交换芯片NRS1800、软件定义互连交换芯片ST3210、内生安全交换芯片ESW5610、桥接芯片PRB0400等多款首创芯片。

2023-08-09 -  原厂动态 代理服务 技术支持 采购服务

数据互联为什么在人工智能中占据越来越重要的位置?

井芯微电子作为以交换互连为核心战略方向的创业公司,正积极参与以软件定义互连为核心的Dielet(芯粒)互连接口标准,预计在2023年底的软件定义晶上系统技术与产业联盟大会上发布团体标准草案。通过软件定义,希望可以在规范上兼容UCIe接口标准,还可实现面向领域的特色定义,确保对先进Dielet互连成果开放性的同时,也探索我国发展软件定义晶上系统的自主之路。

2023-11-17 -  行业资讯 代理服务 技术支持 采购服务
展开更多

电子商城

查看更多

品牌:井芯微电子

品类:交换芯片

价格:

现货: 0

品牌:井芯微电子

品类:交换芯片

价格:

现货: 0

品牌:井芯微电子

品类:交换芯片

价格:

现货: 0

品牌:井芯微电子

品类:交换芯片

价格:¥7,500.0000

现货: 0

品牌:井芯微电子

品类:桥接芯片

价格:¥6,000.0000

现货: 0

品牌:井芯微电子

品类:网卡芯片

价格:¥6,500.0000

现货: 0

品牌:井芯微电子

品类:交换芯片

价格:¥700.0000

现货: 0

品牌:井芯微电子

品类:网卡芯片

价格:

现货: 0

品牌:井芯微电子

品类:以太网交换芯片

价格:

现货: 0

品牌:井芯微电子

品类:协议转换桥接芯片

价格:

现货: 0

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

现货市场

查看更多

暂无此商品

海量正品紧缺物料,超低价格,限量库存搜索料号

服务

查看更多

EDA芯片设计软件免费使用

世强深圳实验室提供Robei EDA软件免费使用服务,与VCS、NC-Verilog、Modelsim等EDA工具无缝衔接,将IC设计高度抽象化,并精简到三个基本元素:模块、引脚、连接线,自动生成代码。点击预约,支持到场/视频直播使用,资深专家全程指导。

实验室地址: 深圳 提交需求>

FloTHERM热仿真

提供稳态、瞬态、热传导、对流散热、热辐射、热接触、和液冷等热仿真分析,通过FloTHERM软件帮助工程师在产品设计初期创建虚拟模型,对多种系统设计方案进行评估,识别潜在散热风险。

实验室地址: 深圳 提交需求>

查看更多

授权代理品牌:接插件及结构件

查看更多

授权代理品牌:部件、组件及配件

查看更多

授权代理品牌:电源及模块

查看更多

授权代理品牌:电子材料

查看更多

授权代理品牌:仪器仪表及测试配组件

查看更多

授权代理品牌:电工工具及材料

查看更多

授权代理品牌:机械电子元件

查看更多

授权代理品牌:加工与定制

世强和原厂的技术专家将在一个工作日内解答,帮助您快速完成研发及采购。
我要提问

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

研发客服
商务客服
服务热线

联系我们

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

投诉与建议

E-mail:claim@sekorm.com

商务合作

E-mail:contact@sekorm.com

收藏
收藏当前页面