一种访问逻辑IP的软硬件交互方法及装置制造方法及图纸

技术编号:38732365 阅读:7 留言:0更新日期:2023-09-08 23:21
本申请实施例提供一种访问逻辑IP的软硬件交互方法及装置,涉及芯片技术领域,能够在逻辑IP拆合时,复用软件驱动、降低成本且提升用户体验。该方法包括:第一软件驱动用于调用第一逻辑IP的功能,第二软件驱动用于调用第二逻辑IP的功能,第一逻辑IP和第二逻辑IP合并成第三逻辑IP,第三逻辑IP包括两个中断号和两组任务寄存器,以及包括第一逻辑IP和第二逻辑IP的所有功能。确定调用与第一逻辑IP相同的功能时,控制第一软件驱动配置第三逻辑IP的第一组任务寄存器,第一软件驱动对应第三逻辑IP的第一中断号。确定调用与第二逻辑IP相同的功能时,控制第二软件驱动配置第三逻辑IP的第二组任务寄存器,第二软件驱动对应第三逻辑IP的第二中断号。二中断号。二中断号。

【技术实现步骤摘要】
一种访问逻辑IP的软硬件交互方法及装置


[0001]本申请实施例涉及芯片
,尤其涉及一种访问逻辑IP的软硬件交互方法及装置。

技术介绍

[0002]随着芯片技术的发展,面向相同市场的芯片按其性能强弱和功能丰富性会分为高档位、中档位和低档位。低档位芯片追求低成本,由于逻辑知识产权(intellectual property,IP)的数量越多,芯片的成本越高,因此低档位芯片通常会将逻辑IP合并,把多个有部分计算可以复用的逻辑IP的功能合并到一个逻辑IP内,合并后的逻辑IP包括合并前的多个逻辑IP的所有功能。高档位芯片追求高性能,由于逻辑IP的数量越多,芯片的工作效率越高,因此高档位芯片通常会将多个逻辑IP各自独立。中档位芯片则看实际需求,适当合并一部分逻辑IP。
[0003]目前,一个逻辑IP对应一个软件驱动,在对逻辑IP拆开或合并(简称拆合)时也需要对软件驱动进行拆合重构,导致需要开发和维护多套不同架构的软件驱动,成本较高。并且,软件驱动的架构变动可能会导致应用程序编程接口(application programming interface,API)发生变化,进而用户使用方式也会发生变化,导致用户体验变差。

技术实现思路

[0004]本申请实施例提供一种访问逻辑IP的软硬件交互方法及装置,可以在对逻辑IP进行拆开或合并时,复用软件驱动、降低成本且提升用户体验。
[0005]为达到上述目的,本申请实施例采用如下技术方案:
[0006]第一方面,本申请实施例提供一种,一种访问逻辑IP的软硬件交互方法,第一软件驱动用于调用第一逻辑知识产权IP的功能,第二软件驱动用于调用第二逻辑IP的功能,第三逻辑IP为第一逻辑IP和第二逻辑IP合并后得到的,第三逻辑IP包括两个中断号和两组任务寄存器,两组任务寄存器为第一组任务寄存器和第二组任务寄存器,第三逻辑IP包括第一逻辑IP和第二逻辑IP的所有功能;该方法包括:确定调用与第一逻辑IP相同的功能时,控制第一软件驱动配置第三逻辑IP的第一组任务寄存器,其中,第一软件驱动对应第三逻辑IP的第一中断号。确定调用与第二逻辑IP相同的功能时,控制第二软件驱动配置第三逻辑IP的第二组任务寄存器,其中,第二软件驱动对应第三逻辑IP的第二中断号。
[0007]由此,本申请提供的访问逻辑IP的软硬件交互方法,能够在逻辑IP拆合时,复用合并前的软件驱动,使合并后的软件驱动不需要开发和维护新的软件架构,相比于现有技术中合并逻辑IP需要对软件驱动进行重构,新开发和维护新的软件架构,导致成本高且用户使用方式发生变化,本申请有效降低了成本,并且软件驱动复用也不会导致API接口发生变化,因此能够提升用户体验。
[0008]在一种可能的设计中,第一操作系统包括第一软件驱动,第二操作系统包括第二软件驱动,第一软件驱动与第二软件驱动相同或不同。由此,本申请提供的访问逻辑IP的软
硬件交互方法,在两个操作系统中能够包括两个相同的软件驱动,该两个相同的软件驱动能够调用同一个逻辑IP,该逻辑IP支持双耳朵机制。从而在两个操作系统之间不需要通过核间通信的方式去调用该逻辑IP的功能,降低了延时和工作复杂度,有效提高了系统的工作效率。此外,本申请提供的访问逻辑IP的软硬件交互方法,还能够使位于不同操作系统的两个不同的软件驱动调用同一个逻辑IP的功能。
[0009]在一种可能的设计中,每组任务寄存器包括多套任务寄存器,第一软件驱动对应第一互斥锁寄存器,第二软件驱动对应第二互斥锁寄存器;控制第一软件驱动配置第三逻辑IP的第一组任务寄存器包括:控制第一软件驱动锁定第一互斥锁寄存器,对第一组任务寄存器的多套任务寄存器中的至少一套任务寄存器进行配置,控制第一软件驱动解锁第一互斥锁寄存器;控制第二软件驱动配置第三逻辑IP的第二组任务寄存器包括:控制第二软件驱动锁定第二互斥锁寄存器,对第二组任务寄存器的多套任务寄存器中的至少一套任务寄存器进行配置,控制第二软件驱动解锁所述第二互斥锁寄存器。由此,本申请提供的访问逻辑IP的软硬件交互方法,在正常工作情况下,软件驱动访问逻辑IP时,软件驱动需要先锁定其对应的互斥锁寄存器,再对其对应的任务寄存器进行配置。即在软件驱动配置任务寄存器之前增加了锁定对应的互斥锁寄存器这一条件,从而能够通过该条件控制软件驱动能否继续配置任务寄存器。
[0010]在一种可能的设计中,第三逻辑IP复位时,控制第一软件驱动锁定第一互斥锁寄存器和第二互斥锁寄存器,第三逻辑IP复位完成后,控制第一软件驱动解锁第一互斥锁寄存器和第二互斥锁寄存器;或,控制第二软件驱动锁定第一互斥锁寄存器和第二互斥锁寄存器,第三逻辑IP复位完成后,控制第二软件驱动解锁第一互斥锁寄存器和第二互斥锁寄存器。由此,本申请提供的访问逻辑IP的软硬件交互方法,在双耳朵逻辑IP或多耳朵逻辑IP复位时,由其中一个软件驱动执行复位操作,并且控制该软件驱动锁定所有的互斥锁寄存器。因此其他软件驱动无法锁定其对应的互斥锁寄存器,即无法对其对应的任务寄存器进行配置。从而可以避免由于其他软件驱动无法获知是否进行复位操作,而继续配置任务寄存器,导致写配置丢失,读状态错误的情况,合理执行逻辑IP的复位操作。
[0011]在一种可能的设计中,第一软件驱动对应第一时钟开关寄存器,第二软件驱动对应第二时钟开关寄存器,第一时钟开关寄存器和第二时钟开关寄存器用于控制第三逻辑IP的逻辑时钟;该方法还包括:控制第一时钟开关寄存器和第二时钟开关寄存器都关闭时,第三逻辑IP的逻辑时钟关闭;控制第一时钟开关寄存器或第二时钟开关寄存器打开时,第三逻辑IP的逻辑时钟打开。由此,本申请提供的访问逻辑IP的软硬件交互方法,在双耳朵逻辑IP机制下引入两个逻辑时钟寄存器,并且只要有一个时钟开关寄存器是打开的,逻辑IP的逻辑时钟即为打开状态,只有两个时钟开关寄存器都关闭时,逻辑IP的逻辑时钟才为关闭状态。从而能够合理控制逻辑时钟的开关状态。
[0012]在一种可能的设计中,每组任务寄存器包括多套任务寄存器,每套任务寄存器包括任务优先级寄存器,任务优先级寄存器用于反映一套任务寄存器的优先级;该方法还包括:控制第三逻辑IP根据每套任务寄存器对应的优先级,执行每套任务寄存器。由此,本申请提供的访问逻辑IP的软硬件交互方法,在逻辑IP的每套任务寄存器中都设置有任务优先级寄存器,使得逻辑IP根据每套任务寄存器的优先级确定执行的先后顺序,从而合理安排任务抢占流程。
[0013]在一种可能的设计中,控制第三逻辑IP根据每套任务寄存器对应的优先级,执行每套任务寄存器包括:控制第一软件驱动遍历第一组任务寄存器的多套任务寄存器,找到处于空闲态的第一套任务寄存器;控制第一软件驱动配置第一套任务寄存器,第一套任务寄存器由空闲态变为等待态;控制第二软件驱动遍历第二组任务寄存器的多套任务寄存器,找到处于空闲态的第二套任务寄存器;控制第二软件驱动配置第二套任务寄存器,第二套任务寄存器由空闲态变为等待态;控制第三逻辑IP遍历处于等待态的第一套任务寄存器和第二套任务寄存器,比较第本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种访问逻辑IP的软硬件交互方法,其特征在于,第一软件驱动用于调用第一逻辑知识产权IP的功能,第二软件驱动用于调用第二逻辑IP的功能,第三逻辑IP为所述第一逻辑IP和所述第二逻辑IP合并后得到的,所述第三逻辑IP包括两个中断号和两组任务寄存器,所述两组任务寄存器为第一组任务寄存器和第二组任务寄存器,所述第三逻辑IP包括所述第一逻辑IP和所述第二逻辑IP的所有功能;所述方法包括:确定调用与所述第一逻辑IP相同的功能时,控制所述第一软件驱动配置所述第三逻辑IP的所述第一组任务寄存器,其中,所述第一软件驱动对应所述第三逻辑IP的第一中断号;确定调用与所述第二逻辑IP相同的功能时,控制所述第二软件驱动配置所述第三逻辑IP的所述第二组任务寄存器,其中,所述第二软件驱动对应所述第三逻辑IP的第二中断号。2.根据权利要求1所述的方法,其特征在于,第一操作系统包括所述第一软件驱动,第二操作系统包括所述第二软件驱动,所述第一软件驱动与所述第二软件驱动相同或不同。3.根据权利要求1或2所述的方法,其特征在于,每组任务寄存器包括多套任务寄存器,所述第一软件驱动对应第一互斥锁寄存器,所述第二软件驱动对应第二互斥锁寄存器;所述控制第一软件驱动配置所述第三逻辑IP的所述第一组任务寄存器包括:控制所述第一软件驱动锁定所述第一互斥锁寄存器,对所述第一组任务寄存器的多套任务寄存器中的至少一套任务寄存器进行配置,控制所述第一软件驱动解锁所述第一互斥锁寄存器;所述控制第二软件驱动配置所述第三逻辑IP的所述第二组任务寄存器包括:控制所述第二软件驱动锁定所述第二互斥锁寄存器,对所述第二组任务寄存器的多套任务寄存器中的至少一套任务寄存器进行配置,控制所述第二软件驱动解锁所述第二互斥锁寄存器。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:所述第三逻辑IP复位时,控制所述第一软件驱动锁定所述第一互斥锁寄存器和所述第二互斥锁寄存器;所述第三逻辑IP复位完成后,控制所述第一软件驱动解锁所述第一互斥锁寄存器和所述第二互斥锁寄存器;或,控制所述第二软件驱动锁定所述第一互斥锁寄存器和所述第二互斥锁寄存器;所述第三逻辑IP复位完成后,控制所述第二软件驱动解锁所述第一互斥锁寄存器和所述第二互斥锁寄存器。5.根据权利要求1或2所述的方法,其特征在于,所述第一软件驱动对应第一时钟开关寄存器,所述第二软件驱动对应第二时钟开关寄存器,所述第一时钟开关寄存器和所述第二时钟开关寄存器用于控制所述第三逻辑IP的逻辑时钟;所述方法还包括:控制所述第一时钟开关寄存器和所述第二时钟开关寄存器都关闭时,所述第三逻辑IP的逻辑时钟关闭;控制所述第一时钟开关寄存器或所述第二时钟开关寄存器打开时,所述第三逻辑IP的逻辑时钟打开。6.根据权利要求1或2所述的方法,其特征在于,每组任务寄存器包括多套任务寄存器,每套任务寄存器包括任务优先级寄存器,所述任务优先级寄存器用于反映一套任务寄存器的优先级;所述方法还包括:
控制所述第三逻辑IP根据所述每套任务寄存器对应的优先级,执行所述每套任务寄存器。7.根据权利要求6所述的方法,其特征在于,所述控制所述第三逻辑IP根据所述每套任务寄存器对应的优先级,执行所述每套任务寄存器包括:控制所述第一软件驱动遍历所述第一组任务寄存器的多套任务寄存器,找到处于空闲态的第一套任务寄存器;控制所述第一软件驱动配置所述第一套任务寄存器,所述第一套任务寄存器由空闲态变为等待态;控制所述第二软件驱动遍历所述第二组任务寄存器的多套任务寄存器,找到处于空闲态的第二套任务寄存器;控制所述第二软件驱动配置所述第二套任务寄存器,所述第二套任务寄存器由空闲态变为等待态;控制所述第三逻辑IP遍历处于等待态的所述第一套任务寄存器和所述第二套任务寄存器,比较所述第一套任务寄存器的优先级和所述第二套任务寄存器的优先级;当所述第一套任务寄存器的优先级高于所述第二套任务寄存器的优先级时,控制所述第三逻辑IP执行所述第一套任务寄存器,所述第一套任务寄存器由等待态变为忙碌态;所述第三逻辑IP执行完所述第一套任务寄存器后,所述第一套任务寄存器由忙碌态变为空闲态,控制所述第三逻辑IP根据所述第一中断号向所述第一软件驱动上报任务完成的中断状态。8.根据权利要求7所述的方法,其特征在于,所述方法还包括:当所述第一套任务寄存器的优先级和所述第二套任务寄存器的优先级相同时,控制所述第三逻辑IP比较所述第一套任务寄存器的配置时间和所述第二套任务寄存器的配置时间,当所述第二套任务寄存器的配置时间早于所述第一套任务寄存器的配置时间时,控制所述第三逻辑IP执行所述第二套任务寄存器。9.根据权利要求1或2所述的方法,其特征在于,每组任务寄存器包括多套任务寄存器,每套任务寄存器包括任务取消寄存器,所述任务取消寄存器用于指示所述第三逻辑IP取消执行所述第三逻辑IP中的一套任务寄存器。10.根据权利要求9所述的方法,其特征在于,所述方法还包括:控制所述第一软件驱动配置第一任务取消寄存器,所述第一任务取消寄存器位于第一套任务寄存器中;当所述第一套任务寄存器处于忙碌态,控制所述第三逻辑IP执行完所述第一套任务寄存器,根据所述第一中断号向所述第一软件驱动上报任务完成的中断状态;当所述第一套任务寄存器处于等待态,控制所述第三逻辑IP取消执行所述第一套任务寄存器,根据所述第一中断号向所述第一软件驱动上报取消任务的中断状态。11.一种访问逻辑IP的装置,其特征在于,第一软件驱动用于调用第一逻辑知识产权IP的功能,第二软件驱动用于调用第二逻辑IP的功能,第三逻辑IP为所述第一逻辑IP和所述第二逻辑IP合并后得到的,所述第三逻辑IP包括两个中断号...

【专利技术属性】
技术研发人员:李俊婵李大禹
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1