本发明属于证券期货柜台领域。涉及一种应用于证券期货柜台极速柜台的验证平台和方法。
背景技术:
随着全球化市场的发展,参与证券期货交易的用户越来越多,数据量也越来越多,对交易的时延要求也越来越高,因此基于fpga的证券期货交易极速系统也应运而生;由于证券期货交易系统产品的特殊性,所以对产品有超高的稳定性、准确性和安全性要求。
传统fpga测试运用结构体的形式,定义账户信息、交易所信息、资金账户、合约、操作符(买卖、开平操作)等字段,用结构体实例表示客户端和交易所端激励,固化写在用例的txt文本中,每个用例访问文件句柄得到发包序列。这个方法自动化率低下、涵盖的业务场景单一,测试过程冗长且可靠性差。
若使用定向测试,编写固定的激励向量,激励待测设计,仿真结束之后通过波形或者结果文件确保设计的正确性。这种渐进的测试方式或许在待测设计规模不大、复杂度较小时可以胜任,不过如果设计复杂度翻倍,则需要用更多的时间和人力。
在验证平台的比对模块,一般用goldendata的方法,这种方法最后比对出结果,无法关联rtl代码第一时间发现问题,需要开发联合排查,增加定位的难度。
技术实现要素:
1、所要解决的技术问题:
现有的fpga测试运用结构体的形式的方法自动化率低下,涵盖的业务场景单一,测试过程冗长且可靠性差,而且在验证平台的验证方法无法关联rtl代码第一时间发现问题,需要开发联合排查,增加定位的难度。
2、技术方案:
为了解决以上问题,本发明提供了一种应用于证券期货柜台的验证平台,包括待测单元,所述待测单元和覆盖率模块连接,所述断言模块和待测单元连接,配置模块、激励模块、客户激励分别和待测单元和参考模型连接,所述参考模块和计分板比对连接,所述待测单元通过采样模块和计分板对比模块连接,所述配置模块配置上场数据;所述激励模块用于模拟模拟交易的过程;所述采样模块采集各个fpga模块的输出,对采样的数据区分报文类型进行数据解析,所述断言,在读写冲突关键时序时,在和期待时序不符合时输出警告;所述计分板比对,将模块采集结果和参考模型输出一一对应,比对操作和数据的一致性,准确高效锁定故障点,综合得到验证结果。
所述激励模块分为客户激励、交易所激励、模拟上层软件激励所述客户激励模拟客户报单、撤单输入,按照udp协议封装;所述交易所激励模拟交易所报单回报、撤单回报、报单状态、成交回报、拒单回报等回复,按照tcp协议封装;所述上层软件激励,模拟软件访问,通过cpu接口接入,实现客户激励和交易所激励的生成输入。
所述上场数据包括但不仅限于账户信息、交易所信息、资金账户、合约信息、持仓信息和风控使能、风控警戒阈值配置。
所述激励模块设置错误插入,配置插入包头尾不对称、字段缺失、字段错误、数据长度不匹配等错误,验证待测代码的鲁棒性。
本发明还提供一种基于所述的应用于证券期货柜台的验证平台的验证方法
3、有益效果:
本发明运用uvm的验证方法学构建的验证平台,随机化更加充分,再结合脚本、覆盖率分析报告进行验证管理,能在短期时间内达到收敛,大大提升测试效率和可靠性,本发明在验证架构上,拥有完备的参考模型,运用system_verilog语言实现了验证平台的期望输出,与采样到的rtl的业务输出、表项更新进行比对,故障的给出直接定位到具体模块的输出,或者时序的断言错误,易定位易修改。
附图说明
图1为验证平台框架的示意图。
图2为验证方法示意图。
具体实施方式
下面结合附图来对本发明进行详细说明。
如图1所述,继承uvm提供的uvm_sequence(激励组件)、uvm_component(树形结构)、uvm_scoreboard(计分板组件)、uvm_test(测试组件)、uvm_env(环境组件)基类,根据事务级传输模型的定义进行扩展设计,搭建验证平台的树形结构。验证平台分为配置、激励模块、采样模块、断言模块、参考模型和计分板比对模块。
所述配置模块配置上场数据,包括但不仅限于账户信息、交易所信息、资金账户、合约信息、持仓信息和风控使能、风控警戒阈值配置等。
所述激励模块分为客户激励、交易所激励、模拟上层软件激励。激励设置错误插入,可以配置插入类似包头尾不对称、字段缺失、字段错误、数据长度不匹配等错误,验证待测代码的鲁棒性。
客户激励:模拟客户报单、撤单输入,按照udp协议封装。
交易所激励:模拟交易所报单回报、撤单回报、报单状态、成交回报、拒单回报等回复,按照tcp协议封装。
上层软件激励;模拟软件访问,通过cpu接口接入,实现上下行激励的生成输入。
采样模块:采样各个fpga模块的输出,对采样的数据区分报文类型进行数据解析。
断言模块:在类似读写冲突等关键时序时,设置断言,和期待时序不符合时输出告警。
计分板比对模块:将模块采集结果和参考模型输出一一对应,比对操作和数据的一致性,准确高效锁定故障点,综合得到验证结果。
本发明还提供了本发明还提供一种基于所述的应用于证券期货柜台的验证平台的验证方法,如图2所示,包括以下步骤:第一步,搭建验证平台;第二步:验证用例;用例分为定向用例和自动化用例;自动化用例的随机化包括:配置参数的随机化,客户发包报文字段的随机化,客户报文的下行操作的随机化,对接rtl顶层控制接口的随机化,对接rtl顶层接口数据发包间隔、流量的随机化;第三步:验证管理:运用perl脚本语言,管理验证报告。
在第二步中,所述客户发包文字段包括买卖、开平、数量和类别。
在第二步中,所述客户报文的下行操作包括一次成交、分次成交、撤单、拒单。
在第一步中,验证平台中的参考模型中,激励模块灌入参考模型,按照激励类型,参考模型中实现客户激励、交易所激励、模拟上层软件激励的业务通路贯通输出。
依据输入激励、配置信息,完成错误激励的正常处理;根据资金、合约和持仓进行内部风控的判断和拦截,实时完成相应的资金变化、合约变化、持仓变化和实时盈亏等表项同步更新。
实施例
一个定向用例的场景是:
1、客户端客户1报单1(买开)
2、客户端客户2报单2(卖平)
3、客户端客户1报单3(卖平)
4、交易所端回复客户1报单1第一次撮合成交
5、客户端客户1报单3撤单
6、交易所端客户1报单3全部成交
7、交易所端客户1报单3撤单失败
8、交易所端回复客户2报单2全部撮合成交
9、交易所端回复客户1报单1第二次撮合成交
随机用例的场景是:
配置有n个客户,客户端报单(开平、买卖、价格和数量等字段)随机发送,客户端针对报单的撤单随机发送,交易所端的报单、撤单是否拒绝随机,撮合成交随机。数据流量也进行随机化。
随机激励的设计由开发和验证依据数据协议和业务场景评审得到,随机激励下可以碰撞出定向用例无法发现的故障。在验证管理里,同一个用例会使用不同的种子回归,也会提升覆盖率。覆盖率分析会在所有用例结束时分析出覆盖率盲区,根据结果分析代码中未测到的部分,增添新用例进行覆盖,最终覆盖率达到100%;
验证平台上,拥有完备的参考模型,运用system_verilog语言实现了验证平台的期望输出,与采样到的rtl的业务输出、表项更新进行比对,故障的给出直接定位到具体模块的输出,或者时序的断言错误,易定位易修改。
虽然本发明已以较佳实施例公开如上,但它们并不是用来限定本发明的,任何熟习此技艺者,在不脱离本发明之精神和范围内,自当可作各种变化或润饰,因此本发明的保护范围应当以本申请的权利要求保护范围所界定的为准。
1.一种应用于证券期货柜台的验证平台,包括待测单元,其特征在于:所述待测单元和覆盖率模块连接,所述断言模块和待测单元连接,配置模块、激励模块、客户激励分别和待测单元和参考模型连接,所述参考模块和计分板比对连接,所述待测单元通过采样模块和计分板对比模块连接,所述配置模块配置上场数据;所述激励模块用于模拟模拟交易的过程;所述采样模块采集各个fpga模块的输出,对采样的数据区分报文类型进行数据解析,所述断言,在读写冲突关键时序时,在和期待时序不符合时输出警告;所述计分板比对,将模块采集结果和参考模型输出一一对应,比对操作和数据的一致性,准确高效锁定故障点,综合得到验证结果。
2.如权利要求1所述的应用于证券期货柜台的验证平台,其特征在于:所述激励模块分为客户激励、交易所激励、模拟上层软件激励所述客户激励模拟客户报单、撤单输入,按照udp协议封装;所述交易所激励模拟交易所报单回报、撤单回报、报单状态、成交回报、拒单回报等回复,按照tcp协议封装;所述上层软件激励,模拟软件访问,通过cpu接口接入,实现客户激励和交易所激励的生成输入。
3.如权利要求1所述的应用于证券期货柜台的验证平台,其特征在于;所述上场数据包括但不仅限于账户信息、交易所信息、资金账户、合约信息、持仓信息和风控使能、风控警戒阈值配置。
4.如权利要求2所述的应用于证券期货柜台的验证平台,其特征在于:所述激励模块设置错误插入,配置插入包头尾不对称、字段缺失、字段错误、数据长度不匹配等错误,验证待测代码的鲁棒性。
5.一种基于如权利要求1-4任一权利要求所述的应用于证券期货柜台的验证平台的验证方法,包括以下步骤:第一步,搭建验证平台;第二步:验证用例;用例分为定向用例和自动化用例;自动化用例的随机化包括:配置参数的随机化,客户发包报文字段的随机化,客户报文的下行操作的随机化,对接rtl顶层控制接口的随机化,对接rtl顶层接口数据发包间隔、流量的随机化;第三步:验证管理:运用perl脚本语言,管理验证报告。
6.如权利要求5所述的方法,其特征在于:第三步中,管理验证报告的方法为:回归现有用例,用例指定或随机回归的种子号,回归次数可配置;用例的最终结果分析,输出本次回归验证总述;包括:用例成功和失败个数,失败用例展示种子号和错误点具体打印;覆盖率分析报告,直观反映验证的完整程度,供给开发和验证共同分析,针对遗漏功能点和边界问题增添用例,逐步提升覆盖率。
7.如权利要求5所述的方法,在第二步中,所述客户发包文字段包括买卖、开平、数量和类别。
8.如权利要求5所述的方法,其特征在于;在第二步中,所述客户报文的下行操作包括一次成交、分次成交、撤单、拒单。
9.如权利要求5所述的方法,其特征在于:在第一步中,验证平台中的参考模型中,激励模块灌入参考模型,按照激励类型,参考模型中实现客户激励、交易所激励、模拟上层软件激励的业务通路贯通输出。
10.如权利要求9所述的方法,其特征在于:依据输入激励、配置信息,完成错误激励的正常处理;根据资金、合约和持仓进行内部风控的判断和拦截,实时完成相应的资金变化、合约变化、持仓变化和实时盈亏等表项同步更新。
技术总结