System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于PCIE组件的驱动与EDA联合仿真方法及系统技术方案_技高网

基于PCIE组件的驱动与EDA联合仿真方法及系统技术方案

技术编号:41060314 阅读:2 留言:0更新日期:2024-04-24 11:12
本发明专利技术公开基于PCIE组件的驱动与EDA联合仿真方法及系统;涉及芯片开发技术领域;基于驱动接口、PCIE组件、EDA工具实现;主机调用驱动接口向PCIE组件发送读写请求,并由驱动接口接收待测RTL芯片发送的主机内存读写请求;PCIE组件对PCIE配置空间读写请求处理打包为字节流后发给RTL芯片;RTL芯片由EDA工具发送主机内存读写请求,PCIE组件监测解析主机内存读写请求后发送给驱动接口通过驱动接口、PCIE组件和EDA工具模拟出真实的硬件接口,将驱动发起的真实业务转化为验证环境中的激励,再按照硬件接口时序发送给RTL芯片,实现在RTL芯片设计阶段将驱动程序和验证环境及RTL代码联合仿真。

【技术实现步骤摘要】

本专利技术涉及芯片验证,具体涉及基于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组件,并通过调用驱动接口接收待测rtl芯片发送的主机内存读写请求;所述读写请求包括:pcie配置空间读写请求、bar空间读写请求和cpu读写请求;

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_CPU_WR模块、GEN_CPU_RD模块、MCPU_SEND接口和MCPU_RECV接口;

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联合仿真方法,其特征在于,所述...

【专利技术属性】
技术研发人员:宋星亮陈勇杨成勇王万财廖彦
申请(专利权)人:成都北中网芯科技有限公司
类型:发明
国别省市:

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

1