TC9012协议功能验证

2016-05-03 03:38炬芯珠海科技有限公司聂玉庆西安联合学院
电子世界 2016年7期

炬芯(珠海)科技有限公司 聂玉庆西安联合学院 许 悦



TC9012协议功能验证

炬芯(珠海)科技有限公司聂玉庆
西安联合学院许悦

【摘要】本文讨论TC9012编码协议的功能验证。在VMM验证方法学架构下,实现TC9012协议编码功能验证,通过多变量参数化TC9012协议建模,能覆盖到所有场景的验证。并在driver/monitor/scoreboard之间增加同步握手机制,使验证组件在数据帧发送、坏数据帧丢弃、正确数据帧采样、数据比对上完全可控。

【关键词】TC9012协议;VMM验证方法学;同步握手机制;解码引擎

1 TC9012协议简介

TC9012通信协议使用脉冲位置编码方式(PPM)对各比特数据进行调制,该编码方式效率高,抗干扰性能好。支持38KHz载波频率,每个脉冲为560us时间宽度,逻辑1发送比特占据2.25ms时间宽度,逻辑0发送比特占据1.12ms时间宽度,调制载波占空比为1/3。

一完整数据帧为108ms,包括导引码、用户码、数据码以及同步位。导引码包括4.5ms宽度载波作为红外接收器增益参数和4.5ms载波关断波形。用户码是连续两次8比特数据原码,数据码是8比特数据原码以及8比特数据反码,发送两次是为提高可靠性考虑。最后是同步位,用于确定数据码反码最后一比特是逻辑0还是逻辑1。一完整数据帧格式如图1所示。

图1 完整一帧数据格式

用户操作红外发射器时,如果一直按住按键,TC9012协议码指令也仅发送一次,并在每间隔108ms时间长度发送一帧重复码,重复码包含4.5ms高电平增益脉冲和4.5ms低电平脉冲,以及1比特逻辑1或逻辑0,还有560us高电平脉冲同步位。数据传送波形以及重复码数据格式如图2所示。

图2 数据帧传送波形和重复码数据格式

2 验证对象分析

红外接收电路首先对接收信号进行去毛刺过滤,避免后续协议引擎在解码时造成干扰,从而误报出脉冲宽度违例以及数据格式违例等的接收错误。然后协议解码引擎对过滤毛刺后的信号进行解码。输入一帧有效数据,解码引擎数据处理时,会把解码信息分别更新到用户码和数据码寄存器,并在数据处理完成后产生一个中断信号送出。寄存器的访问操作通过AHB总线实现。

(1)一帧非重复码,只有导引码、用户码、数据码以及同步位每一部分都正确时,才产生中断,并且用户码和数据码的寄存器会更新。

(2)一帧重复码,只有导引码、1bit有效信号以及同步位都正确,并且上一帧为正确非重复码,才会产生中断,否则就算连续两帧正确重复码,也不会产生中断。并且用户码和数据码寄存器不会更新,而是保持上一次正确非重复码后的值。

(3)一帧数据,只要有任何一个错误,均不会产生中断,并且用户码和数据码的寄存器不会更新,而是保持上一次正确非重复码后的值。

(4)接收电路的去毛刺过滤功能可以旁路。

(5)模块使能可以打开或关闭。

(6)中断信号只能写寄存器清除,否则中断信号一直保持。

(7)用户码不匹配、数据码不匹配,以及接收出错指示信号既可写寄存器清除,也能在下一帧正确数据来后自动清除。

(8)检测到重复码的状态指示信号,只能通过写寄存器清除。

图3 验证环境架构

3 验证架构实现

验证对象有两个接口,AHB总线负责寄存器读写访问,串行输入输出负责协议信号接收和中断输出。解码过程中,如果接收到正确非重复码,会把接收信号解码信息更新进用户码和数据码寄存器,并在解码完成后产生中断信号,所以可以运用中断信号作为读解码信息寄存器的标志信号;如果接收到正确重复码,并不一定就会产生中断信号,此时可以在每帧重复码数据发送完毕后,触发一个事件,通知数据采样监控组件monitor可以去读解码信息寄存器。读解码信息寄存器完成后,触发一个事件,通知计分板组件scoreboard去做数据比对,并在数据比对完成后触发一个事件通知driver去取新的一帧数据并将激励施加给DUT。而driver在每一帧激励数据发送完毕后,等待计分板给出数据比对完成的通知再去取新的一帧数据。这样每一帧数据的驱动、采样、比较之间就有了同步握手机制。整个验证环境实现结构如图3所示。

图4 正常一帧非重复码波形

图5 正常一帧重复码波形

4 实际仿真结果及分析

在验证环境开发时,开发重点是协议模型实现。对于一帧数据,包括了导引码、用户码、数据码和同步位。对于导引码,分别对导引码的高低电平、脉冲宽度参数化;对于用户码和数据码,对每一比特信息,将其高低电平以及脉冲宽度参数化;对于同步位,将其高电平以及脉冲宽度参数化。一帧完整的数据,任何一个变量不符合协议约定,均认为出错,所以通过对各变量随机约束,能够覆盖到所有的验证场景。实际仿真波形如图4、图5所示。

5 结论

在验证组件之间增加握手机制,控制每一帧数据发送、采样和数据比对协同,保证验证环境里各组件在同一时刻使用的是同一帧数据,不会出现数据帧乱序。在协议建模时,对一帧数据的每一部分都参数化,并根据工作场景对各参数设置约束,通过大量跑随机仿真用例,能够覆盖到所有场景,并达到覆盖率出口条件。

参考文献

[1]Verification Methodology Manual for SystemVerilog.Janick Bergeron, Eduard Cerny,Alan Hunter,Andrew Nightingale. ISBN-10: 0-387-25556-7.

[2]VMM User Guide. July 2011, Synopsys.

[3]VMM Golden Reference Guide.First Edtion, January 2010. ISBN:0-9547345-7-2.

[4]TC9012红外解码.深圳市明芯微电子有限公司.

聂玉庆(1978-),男,陕西汉中人,硕士,工程师,研究方向:数字集成电路设计与验证。

作者简介: