用于FPGA验证的方法和装置制造方法及图纸

技术编号:6600600 阅读:154 留言:0更新日期:2012-04-11 18:40
本发明专利技术实施例公开了一种用于FPGA验证的方法和装置,涉及集成电路设计领域,能够满足多种IP核验证需要,通用性较好,该方法包括:将预设激励需求编译成机器码,所述预设激励需求是使用预设指令集描述的,所述机器码能够为处理器所识别;由所述处理器执行所述机器码,产生激励数据;将所述激励数据输入待检测模块;根据所述待检测模块的输出结果验证所述待检测模块是否正确。主要应用于FPGA验证。

【技术实现步骤摘要】

本专利技术涉及集成电路设计领域,尤其涉及用于FPGA验证的方法和装置
技术介绍
随着集成电路工艺技术的进步和集成电路设计水平的提高,越来越多的存储器控制器IP核(知识产权核,Intellectual Property core)被集成到系统芯片(SoC)中。若要对系统芯片进行FPGA原型验证,或者将IP核集成到基于FPGA实现的系统芯片上,为保证存储器控制器IP核在FPGA平台上能够正常工作,需要对存储器控制器IP核进行验证。由于带有DDR/DDR2/DDR3SDRAM控制器、NAND/NOR Flash ROM控制器、32 位 CPU (中央处理器)的SoC较复杂,所以,在将该SoC整体移植到FPGA平台后进行FPGA原型验证时, 对于检测出的问题很难定位。如果在将SoC整体移植到FPGA平台之前,能够先对各个存储器控制器IP核进行移植并实现FPGA验证,则可以大大减小SoC的验证难度,且更容易对验证处的问题进行定位。然而,现有技术中,在对各个IP核进行验证时,由于每种IP核的激励需求是由一套专用硬件实现的,所以对于需要对多种IP核进行验证时,则需要构建多台相应的硬件结构,同一测试平台能够处理的IP核种类具有局限性,通用性较差。
技术实现思路
本专利技术的实施例提供一种用于FPGA验证的方法和装置,能够满足多种IP核验证需要,通用性较好。为达到上述目的,本专利技术的实施例采用如下技术方案一种用于FPGA验证的方法,包括将预设激励需求编译成机器码,所述预设激励需求是使用预设指令集描述的,所述机器码能够为处理器所识别;由所述处理器执行所述机器码,产生激励数据; 将所述激励数据输入待检测模块;根据所述待检测模块的输出结果验证所述待检测模块是否正确。一种用于FPGA验证的装置,包括编译器,用于将预设激励需求编译成机器码,所述预设激励需求是使用预设指令集描述的,所述机器码能够为处理器所识别;处理器,用于执行所述机器码,产生激励数据;写入单元,用于将所述激励数据输入待检测模块;验证单元,用于根据所述待检测模块的输出结果验证所述待检测模块是否正确。本专利技术实施例提供的用于FPGA验证的方法和装置,采用预设指令集描述激励需求,通过编译器将该激励需求编译成机器码,并通过处理器执行由激励需求转换成的机器码,进而生成激励数据,鉴于处理器的高度可编程性,以及预设指令集描述的灵活性,克服了现有技术中使用一套硬件电路实现相应IP核所需激励需求的问题,能够灵活的适用于多种IP核的验证,具有较好的通用性。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的用于FPGA验证的方法的流程图;图2为本专利技术实施例提供的另一用于FPGA验证的方法的流程图;图3为本专利技术实施例提供的用于FPGA验证的装置的结构图;图4为本专利技术实施例提供的另一用于FPGA验证的装置的结构图。图5为本专利技术实施例提供的另一用于FPGA验证的装置的结构图具体实施例方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术实施例提供了一种用于FPGA验证的方法,如图1所示,包括以下步骤101、将预设激励需求编译成机器码,该预设激励需求是使用预设指令集描述的, 该机器码能够为处理器所识别。为了能够通过处理器产生激励数据,首先,使用编译器将采用预设指令集描述的激励需求编译成能够被本实施例中的处理器所识别的机器码。102、由处理器执行机器码,产生激励数据。处理器执行经编译器编译后的机器码,并且根据该机器码产生用于验证待检测模块的激励数据。103、将激励数据输入待检测模块。为了实现对待检测模块进行验证,将处理器产生的激励数据输入待检测模块,使待检测模块对输入的数据进行处理。104、根据待检测模块的输出结果验证待检测模块是否正确。在待检测模块将激励数据处理完毕,输出处理结果,根据待检测模块的输出结果验证待检测模块是否正确。本实施例提供的用于FPGA验证的方法,采用预设指令集描述激励需求,通过编译器将该激励需求编译成机器码,并通过处理器执行由激励需求转换成的机器码,进而生成激励数据,鉴于处理器的高度可编程性,以及预设指令集描述的灵活性,克服了现有技术中使用一套硬件电路实现相应IP核所需激励需求的问题,能够灵活的适用于多种IP核的验证,具有较好的通用性。作为本实施例的一种改进,本专利技术实施例提供另一种用于FPGA验证的方法,如图 2所示,包括以下步骤201、从程序存储器R0M(只读内存,Read-Only Memory)读取采用预设指令集描述的包含激励需求的源文件。为了使本实施例能够灵活的适用于多种IP核的验证,本专利技术实施例在提供激励需求的时候,采用预设的指令集来描述,预设的指令集可以包括读指令用于按照第一突发长度从第一指定地址读取数据,格式可以为Read(第一突发长度,第一指定地址);写指令用于按照第二突发长度将第一指定数据写入第二指定地址,格式可以为 Write(第二突发长度,第二指定地址,第一指定数据0,第一指定数据1,…);连续读指令用于从第三指定地址开始,每隔预设固定长度取一个地址,并从该地址中依次读取数据,格式可以为LoopRead (第三指定地址,读次数);连续写指令用于从第二指定数据开始,每隔第一指定长度获取一个数据,从第一起始地址开始,按照预设长度依次取写入地址,格式可以为Loopfeite (第一起始地址,第二指定数据,循环次数,第一指定长度,预设长度);检查指令用于以指定数据检查第四指定地址,格式可以为Check(第四指定地址,指定数据);连续检查指令用于从第二起始地址开始,每隔第三指定长度依次获取和循环次数相等的地址,从第二起始数据开始,每隔第二指定长度依次获取递增的多个数据,将获取到的数据,从第二起始数据开始,依次写入获取的每个地址中,格式可以为LoopCheck(第二起始地址,第二起始数据,循环次数,第二指定长度,第三指定长度)。上述指令集提供给使用者的形式类似C语言的函数,符合C语言的风格,人机交互友好。在对IP核进行验证时,可以根据所验证IP核的不同编写相应的测试程序,从而实现该装置在不同存储器IP核验证时的通用性。202、将预设激励需求通过编译器编译成机器码,该预设激励需求是使用预设指令集描述的,该机器码能够为处理器所识别。为了能够通过处理器产生激励数据,首先,将指令集组成的程序文件输入到编译器,使用编译器将采用预设指令集描述的激励需求编译成能够被本实施例中的处理器所识别的机器码。上述的指令集编译器能够将使用上述指令集组成的验证程序编译成处理器对应的二进制机器码,并在转换过程中提供一定的优化能力。通常意义上的编译器优化工作。优化是编译器的一个重要组成部分,由于编译器将源程序翻译成中间代码的工作是机械的、 按本文档来自技高网...

【技术保护点】
1.一种用于FPGA验证的方法,其特征在于,包括:将预设激励需求编译成机器码,所述预设激励需求是使用预设指令集描述的,所述机器码能够为处理器所识别;由所述处理器执行所述机器码,产生激励数据;将所述激励数据输入待检测模块;根据所述待检测模块的输出结果验证所述待检测模块是否正确。

【技术特征摘要】
1.一种用于FPGA验证的方法,其特征在于,包括将预设激励需求编译成机器码,所述预设激励需求是使用预设指令集描述的,所述机器码能够为处理器所识别;由所述处理器执行所述机器码,产生激励数据; 将所述激励数据输入待检测模块;根据所述待检测模块的输出结果验证所述待检测模块是否正确。2.根据权利要求1所述的用于FPGA验证的方法,其特征在于,所述预设指令集包括 读指令用于按照第一突发长度从第一指定地址读取数据;写指令用于按照第二突发长度将指定数据写入第二指定地址; 连续读指令用于从第三指定地址开始,每隔预设固定长度取一个地址,并从该地址中依次读取数据;连续写指令用于将第一指定长度的递增数据写入递增地址; 检查指令用于以指定数据检查第四指定地址;连续检查指令用于以第二指定长度的递增数据连续检查第二指定长度的递增地址。3.根据权利要求1所述的用于FPGA验证的方法,其特征在于,在所述将所述激励数据输入待检测模块之前,所述方法还包括将所述激励数据转换成符合待检测模块接口协议标准的读写事务。4.根据权利要求1所述的用于FPGA验证的方法,其特征在于,在所述将预设激励需求编译成机器码之前,所述方法还包括读取采用预设指令集描述的包含激励需求的源文件。5.根据权利要求1所述的用于FPGA验证的方法,其特征在于,所述根据所述待检测模块的输出结果验证所述待检测模块是否正确为判断所述待检测模块的输出结果和预期结果是否满足预设函数关系,若所述待检测模块的输出结果和预期结满足预设函数关系,则所述待检测模块是正确的。6.一种用于FPGA验证的装置...

【专利技术属性】
技术研发人员:赵守磊
申请(专利权)人:青岛海信信芯科技有限公司
类型:发明
国别省市:95

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

1