[发明专利]一种芯片验证C模型的驱动系统及方法有效
申请号: | 201610065948.4 | 申请日: | 2016-01-29 |
公开(公告)号: | CN105740053B | 公开(公告)日: | 2018-12-28 |
发明(设计)人: | 杨宗悦 | 申请(专利权)人: | 烽火通信科技股份有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 武汉智权专利代理事务所(特殊普通合伙) 42225 | 代理人: | 沈林华 |
地址: | 430074 湖北省*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 芯片 验证 模型 驱动 系统 方法 | ||
1.一种芯片验证C模型的驱动系统,其特征在于:该系统包括虚拟仪表、和虚拟仪表进行通信的C模型(C MODEL,C语言建模模型)接口模块、内嵌于C模型接口模块中的C模型模块、以及和C模型接口模块进行通信的寄存器表项模拟模块;虚拟仪表和C模型接口模块各自的进程独立;C模型接口模块和寄存器表项模拟模块为同一进程,C模型接口模块和寄存器表项模拟模块直接通过函数调用进行访问;
所述虚拟仪表用于:将驱动信息通过socket机制发送至C模型接口模块;
所述C模型接口模块包括收包模块、收包队列模块和处理模块;
所述收包模块用于:从虚拟仪表中接收驱动信息得到包,将包发送至收包队列模块;
所述收包队列模块用于:将从收包模块接收的包形成收包队列,将经C模型模块处理完毕的原始包弹出,将处理模块的发送包链表返回至虚拟仪表;
所述处理模块用于:收取收包队列模块中的包,调用C模型模块处理包;将C模型模块处理产生的发送包链表发送至收包队列模块;
所述C模型模块用于:根据寄存器表项模拟模块的寄存器表项,对处理模块收取的包进行处理,得到发送包链表。
2.如权利要求1所述的芯片验证C模型的驱动系统,其特征在于:所述C模型模块的总入口以回调函数的形式,内嵌在C模型接口模块中。
3.一种基于权利要求1或2所述系统的芯片验证C模型的驱动方法,其特征在于:该方法包括独立的收包线程和处理线程;收包线程包括以下步骤:
S101:收包模块判断是否有驱动信息从虚拟仪表发送至收包模块,若是,转到S102,否则重新执行S101;
S102:收包模块解析驱动信息,提取解析得到的包后,调用收包队列模块的专用插入函数,将解析的包发送至收包队列模块;
所述处理线程包括以下步骤:
S201:处理模块判断收包队列模块中是否存在包,若是,转到S202,否则重新执行S201;
S202:处理模块收取收包队列模块中的包后,调用C模型对当前包进行处理,得到当前包的发送包链表,转到S203;
S203:收包队列模块将经C模型模块处理完毕的原始包弹出,处理模块将当前包的发送包链表通过收包队列模块返回至虚拟仪表,返回成功后释放当前包的发送包链表。
4.如权利要求3所述的芯片验证C模型的驱动方法,其特征在于:S101中所述收包模块判断是否有驱动信息从虚拟仪表发送至收包模块时,通过收包专用socket句柄进行判断。
5.如权利要求3所述的芯片验证C模型的驱动方法,其特征在于:S201中所述处理模块判断收包队列模块中是否存在包时,调用收包队列模块的专用get函数进行判断。
6.如权利要求3所述的芯片验证C模型的驱动方法,其特征在于,S202具体包括以下步骤:处理模块收取收包队列模块中的包后,调用C模型模块的入口回调函数、并根据寄存器表项模拟模块的寄存器表项,对当前包进行处理,得到当前包的发送包链表。
7.如权利要求3所述的芯片验证C模型的驱动方法,其特征在于,S203之后还包括以下步骤:S204:判断当前包是否为收包队列模块中的最后一个包,若是,结束,否则继续执行S202。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于烽火通信科技股份有限公司,未经烽火通信科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610065948.4/1.html,转载请声明来源钻瓜专利网。