[发明专利]一种芯片验证C模型的驱动系统及方法有效
申请号: | 201610065948.4 | 申请日: | 2016-01-29 |
公开(公告)号: | CN105740053B | 公开(公告)日: | 2018-12-28 |
发明(设计)人: | 杨宗悦 | 申请(专利权)人: | 烽火通信科技股份有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 武汉智权专利代理事务所(特殊普通合伙) 42225 | 代理人: | 沈林华 |
地址: | 430074 湖北省*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 芯片 验证 模型 驱动 系统 方法 | ||
本发明公开了一种芯片验证C模型的驱动系统及方法,涉及通信技术芯片开发领域。该系统的虚拟仪表用于:将驱动信息发送至C模型接口模块;收包模块用于:从虚拟仪表中接收驱动信息得到包,将包发送至收包队列模块;收包队列模块用于:将包形成收包队列,将经C模型模块处理完毕的原始包弹出,将处理模块的发送包链表返回至虚拟仪表;处理模块用于:收取收包队列模块中的包,调用C模型模块处理包;将处理产生的发送包链表发送至收包队列模块;C模型模块用于:根据寄存器表项模拟模块的寄存器表项,对处理模块收取的包进行处理,得到发送包链表。本发明能够提高芯片验证C模型的转发效率和工作效率,简化芯片验证C模型的驱动过程。
技术领域
本发明涉及通信技术芯片开发领域,具体涉及一种芯片验证C模型的驱动系统及方法。
背景技术
随着全球通信技术的IP化进程不断深入,例如包处理芯片之类芯片的应用需求日益增多,包处理相关的协议也随之增多,从而使得此类芯片的开发日趋复杂。为解决这些问题,产生了以C语言开发的模型验证作为功能验证方法。
但是,现有的功能验证方法对包处理芯片进行验证时,只能依次处理对包处理芯片中待处理的包,不仅操作过程比较复杂,而且工作效率和包转发效率均较低。
发明内容
针对现有技术中存在的缺陷,本发明解决的技术问题为:提高芯片验证C模型的转发效率和工作效率,简化芯片验证C模型的驱动过程。
为达到以上目的,本发明提供的芯片验证C模型的驱动系统,该系统包括虚拟仪表、和虚拟仪表进行通信的C MODEL wrapper、内嵌于C模型接口模块中的C模型模块、以及和C模型接口模块进行通信的寄存器表项模拟模块;虚拟仪表和C模型接口模块各自的进程独立;C模型接口模块和寄存器表项模拟模块为同一进程,C模型接口模块和寄存器表项模拟模块直接通过函数调用进行访问;
所述虚拟仪表用于:将驱动信息通过socket机制发送至C模型接口模块;
所述C模型接口模块包括收包模块、收包队列模块和处理模块;
所述收包模块用于:从虚拟仪表中接收驱动信息得到包,将包发送至收包队列模块;
所述收包队列模块用于:将从收包模块接收的包形成收包队列,将经C模型模块处理完毕的原始包弹出,将处理模块的发送包链表返回至虚拟仪表;
所述处理模块用于:收取收包队列模块中的包,调用C模型模块处理包;将C模型模块处理产生的发送包链表发送至收包队列模块;
所述C模型模块用于:根据寄存器表项模拟模块的寄存器表项,对处理模块收取的包进行处理,得到发送包链表。
在上述技术方案的基础上,所述C模型模块的总入口以回调函数的形式,内嵌在C模型接口模块中。
本发明提供的基于上述系统的芯片验证C模型的驱动方法,该方法包括独立的收包线程和处理线程;收包线程包括以下步骤:
S101:收包模块判断是否有驱动信息从虚拟仪表发送至收包模块,若是,转到S102,否则重新执行S101;
S102:收包模块解析驱动信息,提取解析得到的包后,调用收包队列模块的专用插入函数,将解析的包发送至收包队列模块;
所述处理线程包括以下步骤:
S201:处理模块判断收包队列模块中是否存在包,若是,转到S202,否则重新执行S201;
S202:处理模块收取收包队列模块中的包后,调用C模型对当前包进行处理,得到当前包的发送包链表,转到S203;
S203:收包队列模块将经C模型模块处理完毕的原始包弹出,处理模块将当前包的发送包链表通过收包队列模块返回至虚拟仪表,返回成功后释放当前包的发送包链表。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于烽火通信科技股份有限公司,未经烽火通信科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610065948.4/2.html,转载请声明来源钻瓜专利网。