基于UVM的Level-2行情解码电路验证激励生成方法与验证平台技术

技术编号:32135554 阅读:13 留言:0更新日期:2022-01-29 19:43
本发明专利技术涉及一种基于UVM的Level

【技术实现步骤摘要】
基于UVM的Level

2行情解码电路验证激励生成方法与验证平台


[0001]本专利技术涉及一种基于UVM的Level

2行情解码电路验证激励生成方法与验证平台,属于数字电路


技术介绍

[0002]Level

2是上海证券交易所推出的行情产品,其行情数据由采用压缩编码的金融信息交换协议传输。组成部分依次为STEP头、FAST消息数据和STEP尾三部分。STEP(Securities Trading Exchange Protocol)为证券交易数据交换协议部分,FAST(FIX Adapted for Streaming)数据为压缩编码部分,包含了真正的行情信息。行情数据中的STEP协议部分以“字段=值”的格式组织而成。FAST数据仅包含“值”,其“字段”从传递的行情中剥离出去,以消息模板的形式存在,并且收发双方已知。FAST数据另一个特点就是消息模板中每个“字段”的“值”并不是全量传递的,根据实际行情数据的需要,会舍弃掉冗余“字段”的“值”。
[0003]在实盘交易中,行情系统的快慢直接决定了客户的成交率,以及收益的多少。目前已经有券商开始开发能适用于Level

2的行情解码电路。该行情解码电路的主要功能是解码Level

2行情数据,提取出FAST数据,按照消息模板解码出当前传递的行情各“字段”对应的“值”,以此恢复出完整的行情信息。Level

2行情数据具有数据结构复杂和传递信息灵活多样的特点,能解码Level

2行情的数字电路往往是规模庞大,功能复杂的。并且涉及证券业务的开展,要求设计的数字电路具有超高的可靠性与稳定性。因此通常会利用UVM(通用验证方法学)对设计的行情硬件电路进行验证。
[0004]现有的技术方案中,CN112486835A提供了一种应用于证券期货柜台的UVM验证平台和方法。然而此技术方案
技术实现思路
仅聚焦于基于FPGA实现的期货柜台验证,其输入激励无法随机的产生STEP协议传递的FAST数据,此技术方案也就无法涵盖Level

2行情的验证场景。
[0005]要利用UVM对Level

2行情解码电路进行验证,不光要关注每个“字段”如何有约束的产生随机激励,还需要关注FAST数据部分其“字段”的各种组合方式。如果为每种“字段”的组合方式都定义一个事务,那么同一个消息类型需要多个事务才能覆盖FAST“字段”所有的组合方式。不同的消息类型也有不同的消息模板,上面的传统随机激励生成方式将需要巨大的工作量,降低整体验证效率。也有遗漏个别的“字段”组合方式的风险,降低验证可靠性。同时,现有的验证方案大多参照设计需求的功能描述直接生成一个待解码的激励。要想得到期望输出,需要参考模型的实现细节与待测电路保持一致,这在一定程度上会增加验证平台的开发难度与周期。

技术实现思路

[0006]本专利技术要解决技术问题是:克服上述技术的缺点,提供一种基于UVM的Level

2行
情解码电路验证激励生成方法;并在此基础上提供一种可以降低开发难度与开发周期的Level

2行情解码电路验证平台。
[0007]为了解决上述技术问题,本专利技术提出的第一种技术方案是: 一种基于UVM的Level

2行情解码电路验证激励生成方法,包括如下步骤:(1)uvm_test启动一个验证案例,利用uvm_do使得序列生成器开始产生一个STEP事务;STEP事务选择例化一个FAST消息类;FAST消息类中包含存在位图序列以及与存在位图序列的序列一一对应的字段;(2)FAST消息类随机化存在位图序列与字段;存在位图序列压入第二字节队列;将存在位图序列标识为有效的对应字段压入第二字节队列;(3)STEP事务生成消息头,并将消息头压入第一字节队列;(4)STEP事务将FAST消息类中第二字节队列取出并压入第一字节队列;(5)STEP事务生成消息尾,压入第一字节队列。
[0008]上述方案进一步的改进在于:所述STEP事务继承自uvm_sequence_item基类,内部以string类型定义生成符合STEP协议的消息头和消息尾,确保压入字节队列时为ASCII编码形式。
[0009]上述方案进一步的改进在于:所述FAST消息类内定义有随机类型的存在位图序列和具体的FAST消息模板;FAST消息模板由该模板对应的各个字段变量组成,每个字段变量均为随机类型;FAST消息模板中的各个字段变量均有符合交易所规范的约束。
[0010]上述方案进一步的改进在于:STEP事务和FAST消息类具有将当前生成的消息数据写出到本地文件的功能;写出的消息数据为压入字节队列之前的状态。
[0011]为了解决上述技术问题,本专利技术提出的第二种技术方案是:一种基于UVM的Level

2行情解码电路验证平台,包括:uvm_test、序列生成器和环境组件;所述uvm_test负责配置不同的验证案例,开启对应验证案例的序列生成器;并以此为根节点依照uvm树形层次结构例化验证平台各个组件;所述序列生成器按照uvm_test配置的验证案例,生成对应的随机激励,也即STEP事务;所述环境组件,包括输入代理、输出代理、参考模型和计分板;所述输入代理在环境组件中例化,包括序列启动器和驱动器;所述序列启动器负责将所述序列生成器生成的STEP事务传递给所述驱动器;所述驱动器接收所述序列启动器传递的STEP事务,并将STEP事务中包含的消息数据通过接口层传送到待测电路的输入端口以及所述参考模型;所述输出代理在环境组件中例化,包括监视器;所述监视器通过所述接口层接收待测电路输出的pin级信号,将其转化为事务;并作为实际输出发送到所述计分板;所述参考模型从所述序列生成器生成的STEP事务中,将FAST消息数据提取出来,并将其作为期望输出发送到所述计分板;所述计分板对比期望输出与实际输出是否一致,一致则判定待测电路的功能符合设计需求,反之则判定待测电路功能不符合设计需求,并中断验证过程。
[0012]所述接口层,连接待测电路输入端口、输出端口与验证平台;依照待测电路设计需
求的输入输出端口进行定义。
[0013]上述方案进一步的改进在于:所述驱动器将STEP事务中的字节队列取出,并转化为pin级信号通过所述接口层发送到待测电路的输入端口;所述参考模型通过uvm_tlm_analysis_fifo接收驱动器传递的STEP事务,并通过事务内的字段信息,取出FAST消息数据中的各部分组合成期望输出。
[0014]上述方案进一步的改进在于:STEP事务中保留了Level

2行情中STEP协议与FAST消息模板的字段信息;在字段信息的辅助下,STEP事务中作为消息体的FAST消息数据能够直接作为期望输出。
[0015]本专利技术提供的基于UVM的Level<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于UVM的Level

2行情解码电路验证激励生成方法,其特征在于,包括如下步骤:(1)uvm_test启动一个验证案例,利用uvm_do使得序列生成器开始产生一个STEP事务;STEP事务选择例化一个FAST消息类;FAST消息类中包含存在位图序列以及与存在位图序列的序列一一对应的字段;(2)FAST消息类随机化存在位图序列与字段;存在位图序列压入第二字节队列;将存在位图序列标识为有效的对应字段压入第二字节队列;(3)STEP事务生成消息头,并将消息头压入第一字节队列;(4)STEP事务将FAST消息类中第二字节队列取出并压入第一字节队列;(5)STEP事务生成消息尾,压入第一字节队列。2.根据权利要求1所述的基于UVM的Level

2行情解码电路验证激励生成方法,其特征在于:所述STEP事务继承自uvm_sequence_item基类,内部以string类型定义生成符合STEP协议的消息头和消息尾,确保压入字节队列时为ASCII编码形式;所述STEP事务中的第一字节队列用来存放和向驱动器传递消息头、消息体和消息尾。3.根据权利要求1所述的基于UVM的Level

2行情解码电路验证激励生成方法,其特征在于:所述FAST消息类内定义有随机类型的存在位图序列和具体的FAST消息模板;FAST消息模板由该模板对应的各个字段变量组成,每个字段变量均为随机类型;FAST消息模板中的各个字段变量均有符合交易所规范的约束;FAST消息类将在STEP事务中进行例化,用来产生随机化的消息体部分。4.根据权利要求1所述的基于UVM的Level

2行情解码电路验证激励生成方法,其特征在于:STEP事务和FAST消息类具有将当前生成的消息数据写出到本地文件的功能;写出的消息数据为压入字节队列之前的状态;即以明文的形式呈现;可以作为人工判读的参考。5.一种应用如权利要求1所述的基于UVM的Level<...

【专利技术属性】
技术研发人员:余乐张世伟李亚祺赵嵩
申请(专利权)人:北京工商大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1