HDCP转发器控制器模块级功能验证方法及验证环境平台与流程

文档序号:12364567阅读:330来源:国知局
HDCP转发器控制器模块级功能验证方法及验证环境平台与流程

本发明涉及集成电路设计SOC(系统级芯片)功能验证领域,特别是涉及一种HDCP(高带宽数字内容保护)转发器控制器模块级功能验证方法。本发明还涉及一种所述验证方法中采用的验证环境平台。



背景技术:

通用的验证方法学(UVM Universal Verification Methodology)是由美国Mentor(明导)、Cadence(铿腾电子科技)和Synopsys(新思科技)公司共同推出的基于system verilog(系统级硬件描述语言)语言的新一代验证方法学。该方法学为验证工程师提供了丰富的类库资源和可重用的方法;支持多个厂商的仿真器;高度自动化。



技术实现要素:

本发明要解决的技术问题是提供一种HDCP转发器控制器模块级功能验证方法,能够实现HDCP转发器控制器模块级功能验证;为此,本发明还要提供一种所述验证方法中采用的验证环境平台。

为解决上述技术问题,本发明的HDCP转发器控制器模块级功能验证方法,是采用如下技术方案实现的:采用UVM,使用8051MCU总线通用验证组件、HDCP转发器发送端通用验证组件和HDCP转发器接收端通用验证组件构建验证环境平台,并在验证环境平台中嵌入C语言算法参考模型,对HDCP转发器控制器实施模块级功能验证。

所述验证方法中采用的验证环境平台,采用system verilog语言,基于UVM完成;包括:

8051MCU总线通用验证组件(以下简称“MCU端”),是8051MCU总线接口端验证环境子模块,用于模拟被测设备HDCP转发器控制器的8051系统总线上的主设备,配置HDCP转发器控制器的内部寄存器,完成8051系统总线读写操作;

HDCP转发器发送端通用验证组件,是HDCP转发器发送端验证环境子模块,用来模拟HDMI(高清晰度多媒体接口)发送器的行为,发送加密数据及发起初始化认证、帧间实时认证等;

HDCP转发器接收端通用验证组件,是HDCP转发器接收端验证环境子模块,用来模拟HDCP转发器下游的HDMI设备的行为,接收加密数据并解密、初始认证、帧间实时认证等;

虚拟序列器,是虚拟的产生器,不连接任何实体驱动器,在所述8051MCU总线通用验证组件和HDCP转发器发送端通用验证组件的上层控制所述8051MCU总线通用验证组件与HDCP转发器发送端通用验证组件的激励序列单元产生顺序;

记分板,与所述8051MCU总线通用验证组件、HDCP转发器发送端通用验证组件和HDCP转发器接收端通用验证组件相连接,一方面采集8051MCU总线通用验证组件传递过来的初始认证寄存器、帧间实时认证值等,并分别与HDCP转发器发送端通用验证组件、HDCP转发器接收端通用验证组件的初始认证值、帧间实时认证值进行比较,判断HDCP认证算法是否正确;另 一方面采集所述HDCP转发器发送端通用验证组件发出的数据流和HDCP转发器接收端接收到的数据流,并进行比较,以判断HDCP流加密算法是否正确;

HDCP配置文件,负责管理整个验证环境平台,同步8051MCU总线通用验证组件、HDCP转发器发送端通用验证组件和HDCP转发器接收端通用验证组件的配置信息。

本发明采用新一代的验证方法学UVM,创建了三个通用验证组件:8051MCU总线通用验证组件、HDCP转发器发送端通用验证组件和HDCP转发器接收端通用验证组件,并使用了C语言算法参考模型,对HDCP转发器控制器实现模块级功能验证。HDCP转发器发送端通用验证组件和HDCP转发器接收端通用验证组件具有高重用性,可独立应用在基于HDCP算法加密的HDMI接收设备或发送设备的验证环境平台中。HDCP转发器发送端通用验证组件的基础激励序列单元是基于HDMI接口时序协议的,由此扩展的激励序列具有灵活、直观的特点,能精准地模拟HDCP转发器上游设备发出的HDMI信号,功能覆盖完全。C语言算法参考模型计算能力强大,支持多达256帧以上的音视频数据流加密运算,验证环境运行稳定。本发明是一种先进的、高效的功能验证方法。

附图说明

下面结合附图与具体实施方式对本发明作进一步详细的说明:

图1是HDCP转发器控制器验证环境平台结构示意图;

图2是HDCP转发器发送端通用验证组件的激励序列单元扩展示意图;

图3是C语言算法参考模型的应用位置及记分板中数据的收集方向示意图。

具体实施方式

根据本发明提供的技术解决方案,结合附图选取实施例对发明内容的实施作如下具体描述:

所述HDCP转发器控制器模块级功能验证方法,采用UVM,使用8051MCU总线通用验证组件、HDCP转发器发送端通用验证组件和HDCP转发器接收端通用验证组件构建验证环境,并在验证平台中使用C语言算法参考模型,对HDCP转发器控制器实施模块级功能验证。

所述8051MCU总线通用验证组件,是8051MCU总线接口端验证环境子模块,用于完成8051系统总线读写操作,配置HDCP转发器控制器的内部寄存器。具体实施时,由8051MCU总线通用验证组件产生的8051MCU总线读写序列用来配置HDCP转发器控制器内部各寄存器、查询中断状态和读取密钥。

所述HDCP发送端通用验证组件,是HDCP转发器发送端验证环境子模块,用来模拟HDMI发送器的行为,发送加密数据及发起初始化认证、帧间实时认证等。HDCP转发器发送端通用验证组件产生的基础激励序列单元是基于HDMI接口时序协议的,代表HDMI某一种工作模式(视频数据周期、数据岛周期、控制周期);基于基础激励序列,又扩展了高一层次的激励序列,即以视频行为单位的行激励序列,每一行激励序列包括多个视频数据周期、数据岛周期及控制周期;基于行激励序列,又扩展出帧激励序列, 即每帧包括多个行激励序列;从而,HDCP转发器发送端通用验证组件可产生256帧以上的随机激励数据量,用以模拟HDMI发送器发出的音视频数据流和控制数据。

所述HDCP接收端通用验证组件,是HDCP转发器接收端验证环境子模块,用来模拟HDCP转发器下游的HDMI设备的行为,接收加密数据并解密、初始认证、帧间实时认证等。

所述C语言算法参考模型是第三方HDCP算法加密的自由软件,具有公正性和灵活性;它为HDCP算法加密的硬件实现提供了参考,同时也可以作为逻辑验证的工具。它会根据配置文件中所定义发送音视频格式、音视频帧数、音频数据包总数等计算加密音视频数据流、计算认证初始值R0、帧间密钥Ri、Pj等。

所述C语言算法参考模型被嵌入在HDCP转发器发送端通用验证组件的驱动器和HDCP转发器接收端通用验证组件的监视器中;一方面,基于HDMI协议的激励数据在进入被测设备HDCP转发器控制器之前会通过C语言算法参考模型进行加密,同时还会被HDCP转发器发送端通用验证组件的监视器收集并上传至记分板中待比较;另一方面,经被测设备HDCP转发器控制器转发后的数据在进入HDCP转发器接收端通用验证组件之前,会通过C语言算法参考模型解密;解密后的数据被HDCP转发器接收端通用验证组件中的监视器收集并传递到记分板中与发送数据比较;如果两者不同,则说明HDCP转发器控制器加密算法有误。

所述实施模块级功能验证是指,一方面,通过8051MCU总线通用验证 组件产生被测设备HDCP转发器控制器的寄存器配置(即读写)激励序列单元施加到HDCP转发器控制器的MCU总线接口上,初始化被测设备的接收端的密钥序列、伪随机数、加密控制信息等,初始化被测设备HDCP转发器控制器的发送端的密钥序列、伪随机数、加密控制信息等;另一方面,根据HDCP配置文件定义,在HDCP转发器发送端通用验证组件中产生一系列音频流接口信号激励序列单元(已加密,即可约束的基于HDMI协议的激励序列单元),施加在HDCP转发器控制器的接收接口上。这两种激励序列单元在虚拟序列器的协调下,通过约定的序列分别下发到8051MCU总线通用验证组件和HDCP转发器发送端通用验证组件中的序列器中,共同传入HDCP转发器控制器中,触发HDCP转发器控制器工作;即共同触发验证环境平台工作。此时,HDCP转发器控制器的输出端口会输出一系列音视频流,HDCP转发器接收端通用验证组件作为HDCP下游端口会接收这些音视频流,并解密该数据流。三个通用验证组件实现了激励的传入和结果的收集。

所述验证环境平台自动化判断响应结果,自动化统计功能覆盖率。

参见图1所示,所述验证方法中采用的验证环境平台1,采用system verilog语言,基于UVM完成。其包括:8051MCU总线通用验证组件2、HDCP转发器发送端通用验证组件3、HDCP转发器发送端通用验证组件4、虚拟序列器6、记分板5和HDCP配置文件7。

所述8051MCU总线通用验证组件2、HDCP转发器发送端通用验证组件3和HDCP转发器接收端通用验证组件4均为可重用的通用验证组件;每个通用验证组件内部,包含一个或多个代理模块;每个代理模块由序列器、驱 动器和监控器构成。所述序列器是一个激励产生器,根据下方驱动器的需求,控制激励序列单元产生。所述驱动器是一个主动的实体,将抽象的数据序列转化成逻辑信号,驱动到被测设备HDCP转发器控制器接口上。所述监控器是一个被动的实体,负责收集接口信号和提炼事件,以便做覆盖率分析、协议检查和数据比较。

所述8051MCU总线通用验证组件2包含8051总线协议中的两个重要组件:主设备代理模块9,从设备代理模块10。主设备代理模块9工作在主动模式下(即序列器11、驱动器12、监视器13均工作)负责驱动总线读操作和写操作以及读写结果的收集。其中,所述序列器11负责生成测试所需的激励序列;所述驱动器12负责将寄存器读写激励序列转换成8051系统总线接口信号,驱动HDCP转发器控制器;所述监视器13,一方面监视8051系统总线操作是否满足协议要求,另一方面收集被测设备HDCP转发器控制器中密钥寄存器中的数据上传至记分板。从设备代理模块10工作在被动模式下(即序列器和驱动器不工作,只有监视器13工作),负责监视总线上的操作是否满足总线工作协议。虚拟序列器6通过向主设备代理模块9发送寄存器读写激励序列单元,实现HDCP转发器控制器MCU端寄存器读写激励序列单元的传达。

所述HDCP转发器发送端通用验证组件3,工作在主动模式下,即序列器11、驱动器12、监视器13均工作,模拟HDMI发送器的工作。其中,序列器11生成基于HDMI协议的激励序列,驱动器12将该激励序列转化成HDCP转发器控制器接口信号,发送音视频数据和发送控制信息;监视器13则监 视、并收集发送出去的接口信号,及时上传记分板5。

所述HDCP转发器接收端通用验证组件4,工作在被动模式下,即序列器11、驱动器12不工作,只有监视器13工作。此组件不产生激励序列也不负责激励序列的发送,只有监视器13负责收集HDCP转发器控制器传来的接口信号(加密数据流),并将收集到的接口信号上传至记分板5。

所述虚拟序列器6是虚拟的产生器,它并不产生任何激励,只是分别连接8051MCU总线通用验证组件2中的序列器11和HDCP转发器发送端通用验证组件3中的序列器11,并在两者的上层控制8051MCU总线通用验证组件和HDCP转发器发送端通用验证组件的激励序列单元的产生顺序。

所述记分板5,负责采集所述8051MCU总线通用验证组件2、HDCP转发器发送端通用验证组件3和HDCP转发器接收端通用验证组件4的数据并进行自动比较,以判断传输是否正确、HDCP转发器加密算法是否正确。

所述HDCP配置文件负责管理整个验证环境平台,同步8051MCU总线通用验证组件与HDCP转发器发送端通用验证组件、HDCP转发器接收端通用验证组件的配置信息。这些配置信息包括HDCP转发器发送端通用验证组件初始加密密钥、伪随机数、HDCP转发器接收端通用验证组件初始加密密钥、伪随机数、音视频流的帧数、数据包数、音频格式、视频格式等。所述视频格式包括视频播放的时序信息、图像宽高比、色彩空间、量化水平。

本发明中需要验证的对象是HDCP转发器控制器8(DUT),HDCP转发器控制器一端通过8051总线接口与8051MCU总线通用验证组件2相连,一端通过发送端接口与HDCP转发器发送端通用验证组件3相连,还有一端通过 接收端接口与HDCP转发器接收端通用验证组件4相连。

首先,HDCP转发器发送端通用验证组件发出发送端随机数An_tx,发送端设备密钥选择向量AKSV_tx,然后读取被测设备HDCP转发器控制器的密钥选择向量BKSV_dut,计算出发送端认证答复信号R0_tx,并将它发送记分板中;8051MCU总线通用验证组件通过系统总线8051MCU总线配置HDCP转发器控制器的相关内部寄存器,读取An_tx、AKSV_tx,计算被测设备接收端认证答复信号R0`_tx,并发送至记分板比较,如果R0_tx等于R0`_tx,则被测设备的接收端初始认证通过,如不能通过则报错并退出,不再继续后面的验证。同样,HDCP转发器控制器还要和下游的HDCP转发器接收端通用验证组件再进行一次初始认证,此时由8051MCU总线通用验证组件配置HDCP转发器控制器的相关内部寄存器,产生被测设备发送端的随机数An_dut,读取HDCP转发器控制器寄存器得到的被测设备发送端密钥选择向量AKSV_dut,然后将An_dut,AKSV_dut发送至HDCP转发器接收端通用验证组件,随后,HDCP转发器接收端通用验证组件发出接收端设备的密钥选择向量BKSV_rx,双方再一次计算被测设备发送端认证答复信号R0_rx、HDCP转发器接收端认证答复信号R0`_rx,并比较。初始认证通过后,HDCP转发器发送端通用验证组件开始发送基于HDMI协议的数据流(接口信号激励)同时上传到记分板中等待比较。HDCP转发器控制器接收后解密,并转发至其发送端口,数据会在发送端口重新加密,HDCP转发器接收端通用验证组件将接收该数据并解密后上传至记分板,并与HDCP转发器发送端通用验证组件发出的数据流比较。此后,每隔128帧或16帧,HDCP转发器发送端通 用验证组件与HDCP转发器控制器接收端、HDCP转发器控制器发送端与HDCP转发器接收端通用验证组件之间还要进行帧间密钥值的计算与比较,即进行帧间的实时认证。

结合图2所示,HDCP转发器发送端通用验证组件产生的基础激励序列单元是基于HDMI接口时序协议的,代表HDMI某一种工作模式(视频数据周期17、数据岛周期16、控制周期15);基于基础激励序列,又扩展了高一层次的激励序列,即以视频行为单位的行激励序列,每一行激励序列包括多个视频数据周期17、数据岛周期16及控制周期15;基于行激励序列,又扩展出帧激励序列,即每帧包括多个行激励序列。

结合图3所示,数据流A在进入HDCP转发器控制器4之前,会被嵌入在HDCP转发器发送端通用验证组件的驱动器12中的C语言算法参考模型加密成A’,并传入HDCP转发器控制器;同时被HDCP发送端通用验证组件的监视器13上传记分板5。数据流B在流出HDCP转发器控制器4之后,会被嵌入在HDCP接收端通用验证组件的监视器13中的C语言算法参考模型解密为B’,并被上传至记分板5。数据流经过双重的加密解密,即HDCP转发器控制器发送端接口加密、HDCP转发器控制器接收时解密、HDCP转发器控制器发送时加密、HDCP转发器控制器接收端解密,数据保持不变。即A等于B’。

图3中,A为原始数据流,A’为加密数据流,A,,为解密A’的数据流(A==A,,),B为加密A,,的数据流,B’为解密B的数据流(A==A,,==B’)。

以上通过具体实施方式对本发明进行了详细的说明,但这些并非构成 对本发明的限制。在不脱离本发明原理的情况下,本领域的技术人员还可做出许多变形和改进,这些也视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1