0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于UVM的基带射频接口电路的验证

SwM2_ChinaAET 来源:未知 作者:李倩 2018-03-22 09:06 次阅读

随着SoC基带芯片设计规模高度集成化,验证周期将不断增加,占整个研发阶段的70%[1]。为了使基带芯片验证更具高效性,采用了当前主流的UVM验证方法学。UVM验证方法学[2]是由Accellera在2011年正式推出的,创建的验证平台不仅提供很多可用接口,而且多样化的Cadence VIP还为UVM环境搭建提供了必要的组件。因此可以实现高覆盖率的功能验证,使仿真验证时间大幅减小。

基带射频接口电路,是一种将基带芯片和射频芯片连接起来的数字串行接口。这种数字串行接口不仅节省硬件资源,而且可以通过载波聚合的方式使基带达到较高的上下行空口峰值传输速率。由于复杂的私有化协议接口,必须搭建一种合适的验证平台,快速全面地验证射频接口电路的功能。本文将使用UVM验证方法学对基带射频接口电路模块进行验证,验证方式将全面覆盖射频收发通路的所有功能点。

1UVM验证平台

基于UVM特性的验证设计(Design Under Verification),以System Verilog[3]硬件验证语言为基础,通过UVM库[4]调用各类验证组件,使验证工作分工明确。这个UVM库主要包含以下几部分:第一,层次化的验证结构。代理器(Agent)主要集合驱动器等模块;驱动器(Driver)负责将生成的激励按照规则加入到DUT的管脚或者内部;监测器(Monitor)检测DUV 的内部信号以及输出,实现多种监视操作;计分板(Scoreboard)对DUV值和Model预期的值作比较;参考模型(Reference model)使用SystemVerilog建立的和DUT相关的模型,输出期望值。第二,UVM序列器(Sequencer)[5]提供仲裁序列(Sequence)模块,使驱动器得到transaction类型数据包。第三,提供知识产权核(VIP),保证UVM环境中的各个组件快速集成。

典型的UVM验证平台如图1所示。在验证环境中,uvm_env包含了全部的验证组件,两个验证设计通过总线接口跟平台相连。验证平台按照自上而下的结构规范,从env顶层例化了五个模块,两个输入代理器模块,一个输出代理器模块,一个参考模型模块和一个计分板模块。输入代理器模块先对验证环境进行配置,然后通过序列器模块将激励源传送至驱动器模块,驱动器模块将数据通过interface传送至从端接收者,而监测器可以采集驱动器给验证设计的数据信号。输出代理监测器模块实时采样验证设计的输出信号,将采集到的结果放在计分板模块,并跟参考模型模块的输出信息进行比对,减小验证的错误率,降低验证风险。

2基带射频接口电路模块

基带射频接口模块包含射频接口的接收通路模块和发送通路模块。基带射频接口模块架构图如图2所示。此射频接口模块采用AXI标准总线协议,通过X2P转接桥将从机地址、数据信号传输至配置模块。其中接收通路的定时使能配置通过GPIO输出,SPI通过配置读写寄存器控制外部射频芯片,接收通路状态是由接收控制寄存器模块配置,在可配置的TBU时间点上打开和关闭射频接收。基带射频接口接收的数据流通过两个FIFO进行缓存,再使用两组DMA将数据流通过AXI主机搬到基带芯片中的存储器。发送通路过程跟接收通路过程互逆,发送状态通过发送控制寄存器进行配置,在可配置的TBU时间点上打开和关闭射频发送,基带芯片主机存储器的数据流通过AXI总线并使用4组DMA缓存至4个FIFO中,最终发送到射频芯片。在射频接口收发过程中,DMA搬数任务完成后发出中断,中断传入ARM处理器,使ARM处理器循环响应,配置多次任务。如果要对FIFO的数据重新缓存,就必须清空FIFO,在可配置的TBU时间点上对寄存器复位,将输出的数据从现在的采样点写到FIFO的起始地址上。

基带射频接口采用多模式多带宽的数据接口支持相应的接口速率,其中CMOS TDD(互补金属氧化物半导体时分双工)模式使用两组12 bit数据线,数据传输采用半双工方式,一个时钟周期可以发送双天线符号数据。在CMOS FDD(互补金属氧化物半导体频分双工)模式下,数据传输速率是CMOS TDD模式数据吞吐率的2倍。而LVDS(低电压差分信号)模式数据传输速率是CMOS TDD模式数据吞吐率的4倍。

1搭建基于UVM的基带射频接口电路验证平台

3.1 基带射频接口电路验证流程

基带射频接口采用AXI总线机制分别对基带射频的接收通路模块和发送通路模块进行验证,验证流程如图3所示。在验证环境中将软件接口数据包放置于virtual sequener,通过AXI接口传送给axi _sequencer,驱动器会得到axi_sequence产生的激励信号,这些激励信号分别作用于接收通路的验证设计和发送通路的验证设计。同时例化的两个axi_monitor不仅监视驱动器给射频接收和发送验证设计的数据流,而且可以监测record model,这个record model模型通过MATLAB实现跟射频接口同样的数据传输功能,并把数据信息放入计分板。另一个axi_monitor监测射频接收和发送通路数据信息传送至计分板的情况,一旦record model和监控产生的数据信息都传输到计分板,计分板将会比对两者数据,从而判断仿真是否异常。

3.2 基于UVM的基带射频接口电路验证平台

基带射频接口电路的验证平台如图4所示。这个待测的验证设计主要是发送模块和接收模块,通过接口将验证对象与验证向量连接起来,而验证向量是为了实现跟待测对象相同的功能。其中验证环境中的Agent是由VIP提供,剩余组件需自行设计。验证环境通过顶层env例化两个i_axi_agent,这两个i_axi_agent包含其他验证组件,并将内部的sequencer、driver以及monitor通过build_phase进行创建,使得各个验证组件能够紧密连接起来。这两种i_axi_agent组件包分别作用于射频接口的发送模块和接收模块,目的是为了使配置的active和passive模式能够对interface上的数据信息进行驱动和监测。o_axi_agnet例化模块中的monitor可以监视到测试对象发出的激励数据流,通过TLM接口机制传送到uvm_scoreboard。与此同时,由Matlab封装的record_model模型,通过passive模式占用的moitor去监测收发模型数据流,监测抽取的模型数据流要与DUV产生的激励数据信息进行对比。最终对比的数据流信息通过uvm_scoreboard计分板得出结论,以此判断基带射频接口在收发过程中的数据信息是否完备,统计覆盖率的要求是否达标。

基带射频接口内部的各个寄存器模块是通过APB总线传输地址和数据,而主机转接桥X2P作为通用IP给寄存器分配可用的地址空间。这些寄存器模型可以在内部通过多次例化,主要为射频的收发通路提供使能信息。而DMA模块是为了让射频收发模块的激励信息搬至正确的memory中,一旦搬完有限帧数据流,就会产生中断信息,中断信息会进入ARM处理器,内核发出指令阻止射频收发。SPI模块的引入能够使射频收发正常读写FIFO,同时为外部的射频子板提供模式切换功能。但是基带射频接口内部的模式切换却要采用mode寄存器模块。而这些寄存器模块都是为了给射频收发通路提供随机约束,得到满足要求的激励。

射频收发通路的随机约束信息需要通过ARM处理器的软件环境进行配置,将约束项目存放在transation数据包中,使数据激励能够成为驱动射频收发通路的条件,便于射频收发模块正常工作。同时这些约束项目申明了约束变量,变量列表如表1所示。

axi_sequencer将激励源传输给驱动器axi_driver,axi_driver需要进行软件配置才能够驱动待测模块。生成射频收发驱动配置信息的时序图如图5所示。软件配置环境如下:(1)对射频通路进行初始化,将接收和发送通路都打开,rx_path_mask设置为3 bit,tx_path_mask设置为15 bit。在此还应进行模式切换,分别对rx_mode和tx_mode进行软件配置选择接口是工作在CMOS TDD模式、CMOS FDD模式还是LVDS模式下。(2)时钟频率配置为了控制外面LPCU模块来满足符合要求的相应带宽的接口频率。(3)配置接收和发送通路使能信息,enable提供接收通路数据源的起始信息,tx_on提供发送通路数据源的位置信息,txnrx则为RFIC仿真模型提供发送通路使能信号。(4)输入DMA地址和DMA长度,使基带芯片的memory能够发送或接收数据,一旦数据流信息获取完毕发出中断dmareq,通知微处理器(arm)等待下次帧数据处理,只有当使能信息enable、tx_on、txnrx变成低电平,数据传输才能结束。(5)配置SPI读写寄存器,控制外部射频子板的模式切换,跟基带射频接口模式保持一致。

record model作为MATLAB封装下的模型,这个模型包含了收发数据源模块、数据格式转换模块、定时寄存器模块、时钟源模块以及收发数据寄存器模块,收发数据寄存器模块的数据流会通过scoreboard调用的写函数存入FIFO中,然后调用比较函数将存入FIFO的数据流与DUV中的数据流进行比对,若比对一致,则验证通过;否则,验证失败。之所以采用这样的比较方式,是因为在复杂的数据比对中更加提高验证的准确性,并使参考模型合理化分析射频接口电路功能的完备性与可靠性。

3.3 验证结果

本次验证主要以RFIU TDD 20 M测试例为例,对射频收发的功能点进行测试,对各个功能点对应的功能覆盖率进行统计,得到射频收发模块功能覆盖率为100%,并分别对射频收发通路的RTL进行代码覆盖率统计,得到代码覆盖率为100%。通过UVM验证,对比计分板上的数据和record_model参考模型的数据,发挥monitor自动监测的作用,监测到数据比对的一致性为100%。其余几种测试例的功能覆盖率能达到100%,并在计分板上得出的数据比对度为100%,从而可以说明射频接口收发模块的功能需求都已达到。

根据Synopsys的Design Compile工具对射频接口电路的RTL代码进行综合,得到射频接收通路的约束面积为0.3 mm2,功耗为39 mW;射频接口电路发送通路的约束面积为0.5 mm2,功耗为58 mW。设计综合报告如图6所示。

4结束语

UVM作为数字IC验证最前沿的方法学,尽管前端仿真搭建平台的周期较长,但是执行效率很高,明显缩短整个研发的验证时间。本文利用AXI总线验证组件搭建基于UVM的基带射频接口电路验证平台,实现了射频接口收发模块功能,在一定范围内,控制了约束面积和功耗,有利于整个基带芯片顺利量产。同时将这种验证架构用在基带芯片其他模块上,能够提高验证效率,并使基带射频接口电路的UVM验证平台发挥着重要的指导作用。在数字接口设计中具有重要的应用价值。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 电路
    +关注

    关注

    169

    文章

    5467

    浏览量

    169184
  • 射频
    +关注

    关注

    101

    文章

    5331

    浏览量

    165705
  • UVM
    UVM
    +关注

    关注

    0

    文章

    181

    浏览量

    18935

原文标题:【学术论文】基于UVM的基带射频接口电路的验证

文章出处:【微信号:ChinaAET,微信公众号:电子技术应用ChinaAET】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    IC验证"为什么要学习UVM呢"

    Synopsys在VMM中的寄存器解决方案RAL。同时,UVM还吸收了VMM中的 一些优秀的实现方式。可以说,UVM继承了VMM和OVM的优点,克服了各自的缺点,代表了验证方法学的发展方向。学了
    发表于 12-01 15:09

    IC验证"UVM验证平台"组成(三)

    model)。一个简单的验证平台框图:在UVM中,引入了agent和sequence的概念,因此UVM验证平台的典型框图长这样:通知:本章更新后在更新一篇《IC
    发表于 12-02 15:21

    IC验证"一个简单的UVM验证平台"是如何搭建的(六)

    本帖最后由 IC那些事儿 于 2020-12-4 15:50 编辑 上次更新完《IC验证"UVM验证平台"组成》后本打算不再更新......但有人反映要继续更新...继续
    发表于 12-04 15:48

    IC验证"UVM验证平台加入factory机制"(六)

      加入factory机制 上一节《IC验证"一个简单的UVM验证平台"是如何搭建的(五)》给出了一个只有driver、使用UVM搭建的验证
    发表于 12-08 12:07

    IC验证UVM验证平台加入objection机制和virtual interface机制“(七)

    在上一节中,**《IC验证"UVM验证平台加入factory机制"(六)》**虽然输出了“main_phase is called”,但是“data is drived”并没有
    发表于 12-09 18:28

    数字IC验证之“什么是UVM”“UVM的特点”“UVM提供哪些资源”(2)连载中...

    原文链接:https://zhuanlan.zhihu.com/p/345775995大家好,我是一哥,上章内容主要讲述两个内容,芯片验证以及验证计划。那本章我们主要讲述的内容有介绍什么是uvm
    发表于 01-21 16:00

    如何去设计一种射频前端到基带(SoC)的接口

    如何去实现IEEE 802.16a/d/e WirelessMAN?如何去设计一种射频前端到基带(SoC)的接口
    发表于 05-25 06:58

    什么是uvmuvm的特点有哪些呢

    大家好,我是一哥,上章内容我们介绍什么是uvmuvm的特点以及uvm为用户提供了哪些资源?本章内容我们来看一看一个典型的uvm验证平台应该
    发表于 02-14 06:46

    基于UVM的CPU卡芯片验证平台

    基于UVM的CPU卡芯片验证平台_钱一文
    发表于 01-07 19:00 4次下载

    基于UVM验证平台设计研究

    基于UVM验证平台设计研究_王国军
    发表于 01-07 19:00 4次下载

    基于UVM的CAN模块自验证方法

    基于UVM的CAN模块自验证方法_熊涛
    发表于 01-08 14:47 3次下载

    一种基于UVM的混合信号验证环境

    一种基于UVM的混合信号验证环境_耿睿
    发表于 01-07 21:39 1次下载

    UVM验证平台执行硬件加速

    UVM已经成为了一种高效率的、从模块级到系统级完整验证环境开发标准,其中一个关键的原则是UVM可以开发出可重用的验证组件。获得重用动力的一个方面表现为标准的仿真器和硬件加速之间的
    发表于 09-15 17:08 14次下载
    <b class='flag-5'>UVM</b><b class='flag-5'>验证</b>平台执行硬件加速

    ASIC芯片设计之UVM验证

    百度百科对UVM的释义如下:通用验证方法学(Universal Verification Methodology, UVM)是一个以SystemVerilog类库为主体的验证平台开发框
    发表于 11-30 12:47 1073次阅读

    fpga验证uvm验证的区别

    FPGA验证UVM验证在芯片设计和验证过程中都扮演着重要的角色,但它们之间存在明显的区别。
    的头像 发表于 03-15 15:00 131次阅读