技术领域
[0001] 本
发明涉及计算机
图像处理领域,特别涉及一种
图形加速器IP验证方法和装置。
背景技术
[0002] 现在用于大规模SOC中的2D图形加速器
硬件IP设计比较复杂,用于2D图形加速器硬件IP设计正确性验证使用的C模型为了和2D图形加速器硬件IP的行为一致,需要和2D图形加速器硬件IP使用相同的寄存器配置,然后再进行仿真并生成验证数据,进而验证硬件IP读取不同的寄存器配置的正确性。当2D图形加速器硬件IP投入产品使用时,负责该2D图形加速器硬件IP模
块的
软件驱动人员要根据2D图形加速器硬件IP的寄存器配置,编写2D图形加速器硬件IP寄存器生成模块的代码,并再次验证寄存器生成模块的正确性。这样,不仅花费了软件驱动编写、验证的时间,且在硬件IP使用过程中,如果发生问题,需要先生成发生问题的2D图形加速器硬件IP寄存器配置,用于IP设计人员仿真硬件IP相对应的问题。
[0003] 综上所述,由于现有的2D图形加速器硬件IP设计过程时,硬件IP在读取寄存器配置的验证与上层应用驱动的验证相脱离,使得软件驱动人员需要在设计以及硬件IP投入使用时,重复验证对读取不同寄存器配置信息的准确性,不仅验证步骤繁琐、复杂,同时增加了人工成本和硬件成本。
发明内容
[0004] 为此,需要提供一种图形加速器IP验证的技术方案,用以解决现有的2D图形加速器硬件IP设计过程时,由于硬件IP在读取寄存器配置的验证与上层应用驱动的验证相脱离,使得软件驱动人员需要在设计以及硬件IP投入使用时,重复验证对读取不同寄存器配置信息的准确性,验证步骤繁琐、复杂,硬件成本高等问题。
[0005] 为实现上述目的,
发明人提供了一种图形加速器IP验证装置,所述装置包括上层应用、硬件C模型、硬件IP以及校验
电路,所述上层应用设置有第一
接口,所述第一接口与硬件C模型连接,所述硬件C模型设置有寄存器配置生成单元和寄存器单元,所述寄存器配置生成单元与寄存器单元连接,所述寄存器单元与硬件IP连接,所述校验电路与硬件C模型连接,所述硬件IP与校验电路连接;
[0006] 所述上层应用用于发送操作变换指令和第一图形信息至硬件C模型;
[0007] 所述硬件C模型用于接收操作变换指令和图形信息,并对第一图形信息执行该操作变换指令对应的操作变换,得到第二图形信息;
[0008] 所述寄存器配置生成单元用于将操作变换指令和第一图形信息转换为硬件配置信息,并将所述硬件配置信息存储于寄存器单元;所述硬件配置信息为可被硬件IP读取并执行的信息;
[0009] 所述硬件IP用于读取寄存器单元中的硬件配置信息并执行,得到第三图形信息;
[0010] 所述校验电路用于判断第二图形信息与第三图形信息是否一致,若是则校验通过,否则校验不通过。
[0011] 进一步地,所述操作变换指令包括旋转指令、平移指令、图形格式转换指令和缩放指令。
[0012] 进一步地,所述第一图形信息包括图形的长、宽以及该图形对应的格式。
[0013] 进一步地,所述上层应用还设置有显示单元,所述显示单元用于显示操作变换指令和第一图形信息的输入界面。
[0014] 以及发明人还提供了一种图形加速器IP验证方法,所述方法应用于图形加速器IP验证装置,所述装置包括上层应用、硬件C模型、硬件IP以及校验电路,所述上层应用设置有第一接口,所述第一接口与硬件C模型连接,所述硬件C模型设置有寄存器配置生成单元和寄存器单元,所述寄存器配置生成单元与寄存器单元连接,所述寄存器单元与硬件IP连接,所述校验电路与硬件C模型连接,所述硬件IP与校验电路连接;所述方法包括以下步骤:
[0015] 上层应用发送操作变换指令和第一图形信息至硬件C模型;
[0016] 硬件C模型接收操作变换指令和图形信息,并对第一图形信息执行该操作变换指令对应的操作变换,得到第二图形信息;
[0017] 寄存器配置生成单元将操作变换指令和第一图形信息转换为硬件配置信息,并将所述硬件配置信息存储于寄存器单元;所述硬件配置信息为可被硬件IP读取并执行的信息;
[0018] 硬件IP读取寄存器单元中的硬件配置信息并执行,得到第三图形信息;
[0019] 校验电路判断第二图形信息与第三图形信息是否一致,若是则校验通过,否则校验不通过。
[0020] 进一步地,所述操作变换指令包括旋转指令、平移指令、图形格式转换指令和缩放指令。
[0021] 进一步地,所述第一图形信息包括图形的长、宽以及该图形对应的格式。
[0022] 进一步地,所述上层应用还设置有显示单元,所述方法包括:
[0023] 显示单元显示操作变换指令和第一图形信息的输入界面。
[0024] 上述技术方案所述的图形加速器IP验证方法和装置,所述方法应用于图形加速器IP验证装置,所述装置包括上层应用、硬件C模型、硬件IP以及校验电路,所述上层应用设置有第一接口,所述第一接口与硬件C模型连接,所述硬件C模型设置有寄存器配置生成单元和寄存器单元,所述寄存器配置生成单元与寄存器单元连接,所述寄存器单元与硬件IP连接,所述校验电路与硬件C模型连接,所述硬件IP与校验电路连接;所述方法包括以下步骤:首先上层应用发送操作变换指令和第一图形信息至硬件C模型;而后硬件C模型接收操作变换指令和图形信息,并对第一图形信息执行该操作变换指令对应的操作变换,得到第二图形信息;而后寄存器配置生成单元将操作变换指令和第一图形信息转换为硬件配置信息,并将所述硬件配置信息存储于寄存器单元;所述硬件配置信息为可被硬件IP读取并执行的信息;而后硬件IP读取寄存器单元中的硬件配置信息并执行,得到第三图形信息;而后校验电路判断第二图形信息与第三图形信息是否一致,若是则校验通过,否则校验不通过。
[0025] 由于在2D图形加速器硬件IP验证阶段,在硬件C模型中增加了寄存器配置生成模块,生成2D图形加速器硬件IP使用的寄存器配置,在芯片产品化阶段,如果有对应的寄存器配置发生问题,可以直接将上层应用导出的参数通过第一接口导入C模型中,寄存器配置生成模块生成对应的寄存器配置,提供给IP设计者用于验证2D图形加速器硬件IP设计的正确性,使得2D图形加速器硬件IP的验证方式更接近于产品的使用方式。同时,第一接口可以直接移植到系统驱动中,因为在2D图形加速器硬件IP设计及验证阶段已经验证了寄存器配置生成模块的正确性,可以有效缩短该硬件IP的软件驱动中相关模块的编写和验证时间。
附图说明
[0026] 图1为现有的图形加速器IP验证装置的示意图;
[0027] 图2为本发明一实施方式涉及的图形加速器IP验证装置的示意图;
[0028] 图3为本发明一实施方式涉及图形加速器IP验证方法的
流程图。
[0029] 附图标记说明:
[0030] 101、上层应用;111、第一接口;
[0031] 102、硬件C模型;112、寄存器配置生成单元;113、寄存器单元;
[0032] 103、硬件IP;
[0033] 104、校验电路。
具体实施方式
[0034] 为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体
实施例并配合附图详予说明。
[0035] 请参阅图1,现有的图形加速器IP验证装置的示意图。现有的图形加速器硬件IP在验证时,与C模型一样,均是从寄存器单元中读取存储的配置信息,并生成配置信息对应的结果,即硬件C模型读取寄存器配置信息,生成第二图形信息,硬件IP读取寄存器配置信息,生成第三图形信息,而后校验电路将第二图形信息与第三图形信息进行比较,若一致则校验通过,否则校验不通过。当2D图形加速器硬件IP投入产品使用时,负责该2D图形加速器硬件IP模块的软件驱动人员要根据2D图形加速器硬件IP的寄存器配置,编写2D图形加速器硬件IP寄存器配置生成单元的代码,并再次验证寄存器生成模块的正确性。这样,花费了软件驱动编写、验证的时间。
[0036] 请参阅图2,本发明一实施方式涉及的图形加速器IP验证装置的示意图。所述装置包括上层应用101、硬件C模型102、硬件IP103以及校验电路104,所述上层应用101设置有第一接口111,所述第一接口111与硬件C模型102连接,所述硬件C模型102设置有寄存器配置生成单元112和寄存器单元113,所述寄存器配置生成单元112与寄存器单元113连接,所述寄存器单元113与硬件IP103连接,所述校验电路104与硬件C模型102连接,所述硬件IP103与校验电路104连接;
[0037] 所述上层应用用于发送操作变换指令和第一图形信息至硬件C模型;
[0038] 所述硬件C模型用于接收操作变换指令和图形信息,并对第一图形信息执行该操作变换指令对应的操作变换,得到第二图形信息;
[0039] 所述寄存器配置生成单元用于将操作变换指令和第一图形信息转换为硬件配置信息,并将所述硬件配置信息存储于寄存器单元;所述硬件配置信息为可被硬件IP读取并执行的信息;
[0040] 所述硬件IP用于读取寄存器单元中的硬件配置信息并执行,得到第三图形信息;
[0041] 所述校验电路用于判断第二图形信息与第三图形信息是否一致,若是则校验通过,否则校验不通过。
[0042] 在使用图形加速器IP验证装置的过程中,首先上层应用发送操作变换指令和第一图形信息至硬件C模型。硬件C模型即硬件仿真C模型,可以用于接收操作变换指令,生成图形变换对应的理想结果。优选的,在本实施方式中,所述操作变换指令包括旋转指令、平移指令、图形格式转换指令和缩放指令。所述第一图形信息包括图形的长、宽以及该图形对应的格式。所述图形对应的格式包括yuv、rgb格式等。
[0043] 而后硬件C模型接收操作变换指令和第一图形信息,并对第一图形信息执行该操作变换指令对应的操作变换,得到第二图形信息。第二图形信息即为硬件C模型结果操作变换指令后,生成的理想结果。例如所接收的操作变换指令为放大两倍的指令,则第二图形信息为第一图形信息的图形的长、宽放大两倍后得到的信息。
[0044] 而后寄存器配置生成单元将操作变换指令和第一图形信息转换为硬件配置信息,并将所述硬件配置信息存储于寄存器单元;所述硬件配置信息为可被硬件IP读取并执行的信息。对于硬件IP(待验证的硬件底层电路)而言,其无法直接执行上层应用发送的操作变换指令,因而需要对操作变换指令和第一图形信息进行转换,使之可以被硬件IP所读取并执行。
[0045] 而后硬件IP读取寄存器单元中的硬件配置信息并执行,得到第三图形信息。具体地,“硬件IP读取寄存器单元中的硬件配置信息并执行”包括:硬件IP读取寄存器单元中可被硬件IP所识别的第一图像信息,并对第一图形信息执行操作变换指令,所得到的第三图形信息即为实际生成的图形信息,即待验证的图形信息。
[0046] 而后校验电路判断第二图形信息与第三图形信息是否一致,若是则校验通过,否则校验不通过。
[0047] 在本实施方式中,所述上层应用还设置有显示单元,所述显示单元用于显示操作变换指令和第一图形信息的输入界面。这样,软件驱动人员就可以十分便捷明了的在输入界面中输入第一图形信息以及操作变换指令,增强了开发交互体验。
[0048] 以及发明人还提供了一种图形加速器IP验证方法,请参阅图3,所述方法应用于图形加速器IP验证装置,所述装置包括上层应用、硬件C模型、硬件IP以及校验电路,所述上层应用设置有第一接口,所述第一接口与硬件C模型连接,所述硬件C模型设置有寄存器配置生成单元和寄存器单元,所述寄存器配置生成单元与寄存器单元连接,所述寄存器单元与硬件IP连接,所述校验电路与硬件C模型连接,所述硬件IP与校验电路连接;所述方法包括以下步骤:
[0049] 首先进入步骤S301上层应用发送操作变换指令和第一图形信息至硬件C模型。硬件C模型即硬件仿真C模型,可以用于接收操作变换指令,生成图形变换对应的理想结果。优选的,在本实施方式中,所述操作变换指令包括旋转指令、平移指令、图形格式转换指令和缩放指令。所述第一图形信息包括图形的长、宽以及该图形对应的格式。所述图形对应的格式包括yuv、rgb格式等。
[0050] 而后进入步骤S302硬件C模型接收操作变换指令和第一图形信息,并对第一图形信息执行该操作变换指令对应的操作变换,得到第二图形信息。第二图形信息即为硬件C模型结果操作变换指令后,生成的理想结果。例如所接收的操作变换指令为放大两倍的指令,则第二图形信息为第一图形信息的图形的长、宽放大两倍后得到的信息。
[0051] 而后进入步骤S303寄存器配置生成单元将操作变换指令和第一图形信息转换为硬件配置信息,并将所述硬件配置信息存储于寄存器单元;所述硬件配置信息为可被硬件IP读取并执行的信息。对于硬件IP(待验证的硬件底层电路)而言,其无法直接执行上层应用发送的操作变换指令,因而需要对操作变换指令和第一图形信息进行转换,使之可以被硬件IP所读取并执行。
[0052] 而后进入步骤S304硬件IP读取寄存器单元中的硬件配置信息并执行,得到第三图形信息。具体地,“硬件IP读取寄存器单元中的硬件配置信息并执行”包括:硬件IP读取寄存器单元中可被硬件IP所识别的第一图像信息,并对第一图形信息执行操作变换指令,所得到的第三图形信息即为实际生成的图形信息,即待验证的图形信息。
[0053] 而后进入步骤S305校验电路判断第二图形信息与第三图形信息是否一致,若是则进入步骤S306校验通过,否则进入步骤S307校验不通过。
[0054] 在本实施方式中,所述上层应用还设置有显示单元,所述方法包括:显示单元显示操作变换指令和第一图形信息的输入界面。这样,软件驱动人员就可以十分便捷明了的在输入界面中输入第一图形信息以及操作变换指令,增强了开发交互体验。
[0055] 上述技术方案所述的图形加速器IP验证方法,所述方法应用于图形加速器IP验证装置,所述装置包括上层应用、硬件C模型、硬件IP以及校验电路,所述上层应用设置有第一接口,所述第一接口与硬件C模型连接,所述硬件C模型设置有寄存器配置生成单元和寄存器单元,所述寄存器配置生成单元与寄存器单元连接,所述寄存器单元与硬件IP连接,所述校验电路与硬件C模型连接,所述硬件IP与校验电路连接;所述方法包括以下步骤:首先上层应用发送操作变换指令和第一图形信息至硬件C模型;而后硬件C模型接收操作变换指令和图形信息,并对第一图形信息执行该操作变换指令对应的操作变换,得到第二图形信息;而后寄存器配置生成单元将操作变换指令和第一图形信息转换为硬件配置信息,并将所述硬件配置信息存储于寄存器单元;所述硬件配置信息为可被硬件IP读取并执行的信息;而后硬件IP读取寄存器单元中的硬件配置信息并执行,得到第三图形信息;而后校验电路判断第二图形信息与第三图形信息是否一致,若是则校验通过,否则校验不通过。
[0056] 由于在2D图形加速器硬件IP验证阶段,在硬件C模型中增加了寄存器配置生成模块,生成2D图形加速器硬件IP使用的寄存器配置,在芯片产品化阶段,如果有对应的寄存器配置发生问题,可以直接将上层应用导出的参数通过第一接口导入C模型中,寄存器配置生成模块生成对应的寄存器配置,提供给IP设计者用于验证2D图形加速器硬件IP设计的正确性,使得2D图形加速器硬件IP的验证方式更接近于产品的使用方式。同时,第一接口可以直接移植到系统驱动中,因为在2D图形加速器硬件IP设计及验证阶段已经验证了寄存器配置生成模块的正确性,可以有效缩短该硬件IP的软件驱动中相关模块的编写和验证时间。
[0057] 需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括……”或“包含……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的要素。此外,在本文中,“大于”、“小于”、“超过”等理解为不包括本数;“以上”、“以下”、“以内”等理解为包括本数。
[0058] 本领域内的技术人员应明白,上述各实施例可提供为方法、装置、或
计算机程序产品。这些实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。上述各实施例涉及的方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机设备可读取的存储介质中,用于执行上述各实施例方法所述的全部或部分步骤。所述计算机设备,包括但不限于:个人计算机、
服务器、通用计算机、专用计算机、网络设备、嵌入式设备、可编程设备、智能移动终端、智能家居设备、穿戴式智能设备、车载智能设备等;所述的存储介质,包括但不限于:RAM、ROM、磁碟、磁带、光盘、闪存、U盘、移动
硬盘、存储卡、记忆棒、网络服务器存储、网络
云存储等。
[0059] 上述各实施例是参照根据实施例所述的方法、设备(系统)、和计算机程序产品的流程图和/或方
框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到计算机设备的处理器以产生一个机器,使得通过计算机设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中
指定的功能的装置。
[0060] 这些计算机程序指令也可存储在能引导计算机设备以特定方式工作的计算机设备可读
存储器中,使得存储在该计算机设备可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0061] 这些计算机程序指令也可装载到计算机设备上,使得在计算机设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0062] 尽管已经对上述各实施例进行了描述,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和
修改,所以以上所述仅为本发明的实施例,并非因此限制本发明的
专利保护范围,凡是利用本发明
说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围之内。