System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及芯片验证,具体涉及基于pcie组件的驱动与eda联合仿真方法及系统。
技术介绍
1、在芯片验证后期,相关的驱动开发会同步进行,而此时没有芯片产出,通常只能做前期的准备工作,虽然可以在原型机上进行驱动调试,但是原型机相比真实芯片通常会有诸多区别,其行为无法与真实芯片保持一致。
2、此外,在原型机上进行驱动开发,遇到问题时,定位难度大,定位周期长,对开发人员的精力耗费严重。且rtl版本还会有不时更新,原型机无法时刻与rtl版本保持一致,也会对开发过程产生影响。因此,实现一种可以将驱动代码和eda验证环境及rtl代码联合仿真的技术是一个亟需解决的问题。
技术实现思路
1、本专利技术所要解决的技术问题是:一般情况下在rtl芯片验证后期,才能进行驱动开发验证,验证过程定位难度大周期长,且原型机难以时刻与rtl芯片的版本保持一致,影响驱动开发验证过程;本专利技术目的在于提供基于pcie组件的驱动与eda联合仿真方法及系统,通过驱动接口、pcie组件和eda工具模拟出真实的硬件接口,将驱动发起的真实业务转化为验证环境中的激励,再按照硬件接口时序发送给rtl芯片,从而实现在rtl芯片设计阶段将驱动程序和验证环境及rtl代码联合仿真。
2、本专利技术通过下述技术方案实现:
3、本方案提供基于pcie组件的驱动与eda联合仿真方法,所述方法基于驱动接口、pcie组件、eda工具实现;
4、主机通过调用驱动接口发送读写请求给pcie组件,并通
5、所述pcie组件对pcie配置空间读写请求添加tag、生成tlp包并打包为字节流后,调用eda工具发送至待测rtl芯片;
6、所述待测rtl芯片通过eda工具发送主机内存读写请求,所述pcie组件监测解析主机内存读写请求后发送给驱动接口。
7、本方案工作原理:一般情况下在rtl芯片验证后期,才能进行驱动开发验证,验证过程定位难度大周期长,且原型机难以时刻与rtl芯片的版本保持一致,影响驱动开发验证过程;本专利技术目的在于提供基于pcie组件的驱动与eda联合仿真方法及系统,通过驱动接口、pcie组件和eda工具模拟出真实的硬件接口,将驱动发起的真实业务转化为验证环境中的激励,再按照硬件接口时序发送给rtl芯片,从而实现在rtl芯片设计阶段将驱动程序和验证环境及rtl代码联合仿真。
8、在rtl芯片设计阶段将驱动程序和验证环境及rtl代码联合仿真,驱动程序代码与rtl芯片代码分开编译,当驱动代码debug时,不需要反复编译rtl,节约调试时间,每次仿真可节约编译时间约为20分钟;其次,主机侧pcie相关tlp包的产生由验证平台插件完成,驱动代码调用接口与真实业务基本一致;本方案提供的基于pcie组件的驱动与eda联合仿真方法在实际应用过程中,通过日志和波形等手段可以快速定位问题,大幅缩短定位问题的时间。
9、进一步优化方案为,所述驱动接口包括:
10、cfg_wr接口,用于传输主机发送的pcie配置空间写请求;
11、cfg_rd接口,用于传输主机发送的pcie配置空间读请求,和待测rtl芯片发送的读数据;
12、mem_wr接口,用于传输主机发送的bar空间写请求;
13、mem_rd接口,用于传输主机发送的bar空间读请求,和待测rtl芯片发送的读数据;
14、call_back接口,用于传输待测rtl芯片发送的主机内存读写请求,和从主机内存读取的数据;
15、cpu_wr接口,用于传输主机发送的cpu写请求;
16、cpu_rd接口,用于传输主机发送的cpu读请求。
17、进一步优化方案为,所述pcie组件包括tag_man模块,
18、所述tag_man模块为每个pcie配置空间读写请求添加一个tag,tag_man模块中的tag总数为n,当tag_man模块中剩余tag的数量为n=0时,则阻塞pcie配置空间读写请求,直到有tag释放。
19、进一步优化方案为,所述tag_man模块包括wait_cpld单元,
20、所述wait_cpld单元检测待测rtl芯片返回的cpld,如果对应tag的cpld全部收到,则将cpld作为读数据返回驱动接口,同时释放tag。
21、进一步优化方案为,所述pcie组件还包括:gen_mem_rd模块、gen_mem_wr模块和pcie_send接口;
22、所述gen_mem_rd模块和gen_mem_wr模块判断驱动接口发来的读写请求的类型,若是cfg请求或mem读请求,则按照pcie协议生成对应的tlp包;若是mem写请求,则按照配置参数将mem写请求拆分为多个子mem写请求;
23、所述pcie_send接口将要发送的tlp包打包为字节流,调用eda工具发送至待测rtl芯片。
24、进一步优化方案为,所述pcie组件还包括:host_mem_req模块和pcie_recv模块;
25、所述pcie_recv模块用于监测来自待测rtl芯片的mem读写请求;
26、所述pcie_recv模块还用于将主机内存读写请求解析为tlp,对tlp进行初步解析,若tlp是一个mem读写请求,则发送给host_mem_req模块;若tlp是一个cpld,则发送给wait_cpld单元;
27、所述host_mem_req模块通过call_back接口将主机内存读写请求发给主机;
28、主机接收到主机内存请求后,如果是读请求,则向call_back接口返回读地址的数据;host_mem_req模块接收到读地址的数据后按照配置参数组成一个或多个cpld,再通过pcie_send接口发送到待测rtl芯片。
29、进一步优化方案为,所述pcie组件还包括:gen_cpu_wr模块、gen_cpu_rd模块、mcpu_send接口和mcpu_recv接口;
30、所述gen_cpu_wr模块用于按照mcpu_agent接口要求的格式生成cpu写请求包,并将cpu写请求包打包后通过mcpu_send接口发送至eda工具;
31、所述gen_cpu_rd模块用于按照mcpu_agent接口要求的格式生成cpu读请求包,并将cpu读请求包打包后通过mcpu_send接口发送至eda工具;
32、待测rtl芯片接收到cpu读请求后,通过mcpu_recv接口向gen_cpu_rd模块返回读地址的数据;gen_cpu_rd模块再通过cpu_rd接口将读地址的数据发送到待测rtl芯片。
33、进一步优化方案为,所述eda工具包括:dpi接口、pcie_agent本文档来自技高网...
【技术保护点】
1.基于PCIE组件的驱动与EDA联合仿真方法,其特征在于,所述方法基于驱动接口、PCIE组件、EDA工具实现;
2.根据权利要求1所述的基于PCIE组件的驱动与EDA联合仿真方法,其特征在于,所述驱动接口包括:
3.根据权利要求2所述的基于PCIE组件的驱动与EDA联合仿真方法,其特征在于,所述PCIE组件包括TAG_MAN模块,
4.根据权利要求3所述的基于PCIE组件的驱动与EDA联合仿真方法,其特征在于,所述TAG_MAN模块包括WAIT_CPLD单元,
5.根据权利要求3所述的基于PCIE组件的驱动与EDA联合仿真方法,其特征在于,所述PCIE组件还包括:GEN_MEM_RD模块、GEN_MEM_WR模块和PCIE_SEND接口;
6.根据权利要求4所述的基于PCIE组件的驱动与EDA联合仿真方法,其特征在于,所述PCIE组件还包括:HOST_MEM_REQ模块和PCIE_RECV模块;
7.根据权利要求1所述的基于PCIE组件的驱动与EDA联合仿真方法,其特征在于,所述PCIE组件还包括:GEN_
8.根据权利要求1所述的基于PCIE组件的驱动与EDA联合仿真方法,其特征在于,所述EDA工具包括:DPI接口、PCIE_AGENT组件和MCPU_AGENT组件;
9.根据权利要求1所述的基于PCIE组件的驱动与EDA联合仿真方法,其特征在于,所述待测RTL芯片为代码形式。
10.基于PCIE组件的驱动与EDA联合仿真系统,其特征在于,用于实现权利要求1-9任意一项所述的基于PCIE组件的驱动与EDA联合仿真方法;包括:驱动接口、PCIE组件、EDA工具;
...【技术特征摘要】
1.基于pcie组件的驱动与eda联合仿真方法,其特征在于,所述方法基于驱动接口、pcie组件、eda工具实现;
2.根据权利要求1所述的基于pcie组件的驱动与eda联合仿真方法,其特征在于,所述驱动接口包括:
3.根据权利要求2所述的基于pcie组件的驱动与eda联合仿真方法,其特征在于,所述pcie组件包括tag_man模块,
4.根据权利要求3所述的基于pcie组件的驱动与eda联合仿真方法,其特征在于,所述tag_man模块包括wait_cpld单元,
5.根据权利要求3所述的基于pcie组件的驱动与eda联合仿真方法,其特征在于,所述pcie组件还包括:gen_mem_rd模块、gen_mem_wr模块和pcie_send接口;
6.根据权利要求4所述的基于pcie组件的驱动与eda联合仿真方法,其特征在于,所述...
【专利技术属性】
技术研发人员:宋星亮,陈勇,杨成勇,王万财,廖彦,
申请(专利权)人:成都北中网芯科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。