一种芯片仿真平台中的数据处理方法及系统技术方案

技术编号:2851438 阅读:211 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种芯片仿真平台中的数据处理方法,将芯片仿真平台所能提供的各个算法处理分别封装至各个数据转换单元;当要按算法仿真模型处理数据时,该方法包括:A.按当前算法仿真模型中各个算法处理的组合方式连接该算法仿真模型中各个算法处理对应各个数据转换单元,并向当前算法仿真模型中的初始算法处理对应的数据转换单元输入数据;B.每一数据转换单元对自身接收到的数据进行对应的算法处理并输出,由当前算法仿真模型中最后的算法处理对应的数据转换单元输出结果数据。本发明专利技术还公开了一种系统,用于本发明专利技术方法及系统能准确对数据进行算法仿真模型的算法处理。

【技术实现步骤摘要】

本专利技术涉及芯片仿真技术,特别涉及一种芯片仿真平台中的数据处理方法及系统
技术介绍
目前,芯片已在电子
发挥着重要作用,大部分电子设备的运行都依赖于其内部芯片的实现。芯片的实现包括两个阶段芯片设计和芯片制造。所谓芯片设计包括算法实现和外围逻辑电路设计。其中,算法是芯片的灵魂,其用于描述芯片所实现的功能,所谓算法实现包括算法研究、在芯片中实现研究得到的算法等等;所谓外围逻辑电路指为实现芯片功能而设计的辅助电路,比如电源的连通、内部模块的握手等。之后,要在芯片设计的基础之上进行芯片制造,而芯片制造的成本非常高,每次投片的成本通常在几十万美元左右。芯片制造的主要步骤就是要依据芯片设计结果进行流片。但是,芯片一经流片,其内部的逻辑就不能再被改变,如果芯片设计出现问题,就只能重新流片,这将给公司带来巨大损失。由于芯片流片的成本非常高,这就对芯片设计提出了很高要求,如何确保芯片设计的正确性,是所有芯片公司都要面对的重要课题。在芯片设计的过程中,通常需要构建芯片仿真软件平台来对芯片功能的正确性进行验证。目前,芯片仿真软件平台主要使用的硬件描述语言有VHDL、Verilog等,业界已存在一些基于VHDL、Verilog等主流硬件描述语言的芯片仿真平台,能处理芯片算法仿真和芯片外围逻辑电路仿真。其中,芯片仿真的关键在于算法仿真,原因在于芯片的核心为其所承载的算法,算法将直接决定芯片实现的功能。所以,在芯片正确性的验证中,最重要的就是芯片功能的验证也就是芯片算法的验证。虽然目前基于硬件描述语言的芯片仿真平台能够验证芯片的算法,但还存在以下缺点1、仿真速度慢因为硬件描述语言用于描述硬件的功能,它支持硬件所需的并行处理结构,这种结构与计算机的特性是不同的,如要在计算机上对硬件描述语句进行仿真,只能通过解释程序来实现。也就是说,目前所有基于硬件描述语言的仿真平台都是对这些硬件描述语句进行解释执行,其执行速度是非常慢的。举例来说,如在V568芯片中对V568的芯片语句进行仿真,则一幅VGA的图像即分辨率为640×480的图像数据格式至少需要一天以上的时间来处理。2、占用较多资源由于这些芯片仿真平台非常复杂,因此对计算机的要求也很高,往往需要运行在工作站上,甚至需要多台工作站同时运行,这将耗费大量处理资源,使芯片仿真成本较高。3、实现复杂由于这些芯片仿真平台功能非常强大,所以使用非常复杂,比如需要建立测试环境等等,而且每种芯片的内部功能都可能不同,那么就要为每种芯片建立一个仿真环境,这样实现起来难度相当大。鉴于上述基于硬件描述语言的芯片仿真平台的缺点,最近,业界还提出了一种基于C/C++等语言的芯片仿真平台,该种芯片仿真平台与计算机的特性相符合,可运行在一台计算机之上,因此,运行速度自然比基于硬件描述语言的仿真平台快很多,易于调试(debug),而且不会占用太多处理资源,具有较强的可实施性。此外,该种基于C/C++等语言的芯片仿真平台能为用户提供诸如动态创建算法仿真模型、运行算法仿真模型等功能,使用户能按仿真需要灵活建立所要仿真的芯片算法组合,从而易于用户调整芯片算法的组合方式,以仿真得到芯片算法的最佳组合。这里,每一算法仿真模型对应一种或多种芯片算法的组合,用户在一次芯片算法仿真过程中可能选择一个或多个算法仿真模型来进行仿真处理。其中,算法仿真模型对应的各个算法处理的组合方式用于指示构成该算法仿真模型的各个算法处理、以及各个算法处理之间的执行顺序,各个算法处理之间的执行顺序将定义出该算法仿真模型中的初始算法处理和最后的算法处理,在按算法仿真模型对数据进行算法处理时要对数据首先进行该初始算法处理、数据经过最后的算法处理之后才成为当前算法仿真模型的算法处理结果数据。但是,目前还不存在一种理想的数据处理机制能按动态创建的算法仿真模型中各个芯片算法的组合方式处理数据,并保证数据处理的准确性。
技术实现思路
有鉴于此,本专利技术的主要目的在于提供一种芯片仿真平台中的数据处理方法及系统,能有效按算法仿真模型准确完成芯片算法数据处理。为达到上述目的,本专利技术的技术方案是这样实现的本专利技术公开了一种芯片仿真平台中的数据处理方法,将芯片仿真平台所能提供的各个算法处理分别封装至各个数据转换单元;当要按算法仿真模型处理数据时,该方法包括A.按当前算法仿真模型中各个算法处理的组合方式连接该算法仿真模型中各个算法处理对应各个数据转换单元,由当前算法仿真模型中的初始算法处理对应的数据转换单元从数据源接收数据;B.每一数据转换单元对自身接收到的数据进行对应的算法处理并输出,由当前算法仿真模型中最后的算法处理对应的数据转换单元输出结果数据。其中,所述步骤A进一步包括在相连的数据转换单元之间连接数据缓存单元;所述步骤B进一步包括每一数据缓存单元从输入端连接的数据转换单元接收数据进行缓存,输出数据给输出端连接的数据转换单元,并记录自身的存储状态;所述初始算法处理对应的数据转换单元接收数据进行算法处理的方法为当自身输出端连接的数据缓存单元的存储状态为空、且数据源仍有数据可接收时,从数据源接收数据进行算法处理;所述最后算法处理对应的数据转换单元接收数据进行算法处理的方法为当自身输入端连接的数据缓存单元的存储状态非空时,从自身输入端连接的数据缓存单元接收数据进行算法处理;除所述初始算法处理对应的数据转换单元和最后算法处理对应的数据转换单元之外的其它数据转换单元接收数据进行算法处理的方法为当自身输入端连接的数据缓存单元的存储状态非空、且输出端连接的数据缓存单元的存储状态为空时,从输入端连接的数据缓存单元接收数据进行算法处理。步骤B中,所述数据转换单元在对数据进行算法处理之前进一步缓存接收到的数据,并记录自身缓存的有效数据长度;所述初始算法处理对应的数据转换单元接收数据的方法为当自身缓存的有效数据长度为零、且数据源仍有数据可接收时,从数据源接收数据进行算法处理;所述初始算法处理对应的数据转换单元对接收到的数据进行算法处理的方法为所述数据转换单元当输出端连接的数据缓存单元的存储状态为空、且数据源仍有数据可接收时,对自身缓存的数据进行算法处理;所述最后算法处理对应的数据转换单元接收数据的方法为当自身缓存的有效数据长度为零、且输入端连接的数据缓存单元的存储状态非空时,从输入端连接的数据缓存单元接收数据并缓存;所述最后算法处理对应的数据转换单元对接收到的数据进行算法处理的方法为当自身输入端连接的数据缓存单元的存储状态非空时,对自身缓存的数据进行算法处理;除所述初始算法处理对应的数据转换单元和最后算法处理对应的数据转换单元之外的其它数据转换单元接收数据的方法为当自身缓存的有效数据长度为零、且输入端连接的数据缓存单元的存储状态非空时,从输入端连接的数据缓存单元接收数据并缓存;除所述初始算法处理对应的数据转换单元和最后算法处理对应的数据转换单元之外的其它数据转换单元对接收到的数据进行算法处理的方法为所述数据转换单元当输出端连接的数据缓存单元的存储状态为空、且输入端连接的数据缓存单元的存储状态非空时,对自身缓存的数据进行算法处理。其中,所述步骤A进一步包括在相连的数据转换单元之间连接数据缓存单元,并在所述初始算法对应的数据转换单元的输入端连接数据缓存单元,在所述最后算法对应的数本文档来自技高网
...

【技术保护点】
一种芯片仿真平台中的数据处理方法,其特征在于,将芯片仿真平台所能提供的各个算法处理分别封装至各个数据转换单元;当要按算法仿真模型处理数据时,该方法包括:A.按当前算法仿真模型中各个算法处理的组合方式连接该算法仿真模型中各个算法处理对 应各个数据转换单元,由当前算法仿真模型中的初始算法处理对应的数据转换单元从数据源接收数据;B.每一数据转换单元对自身接收到的数据进行对应的算法处理并输出,由当前算法仿真模型中最后的算法处理对应的数据转换单元输出结果数据。

【技术特征摘要】
1.一种芯片仿真平台中的数据处理方法,其特征在于,将芯片仿真平台所能提供的各个算法处理分别封装至各个数据转换单元;当要按算法仿真模型处理数据时,该方法包括A.按当前算法仿真模型中各个算法处理的组合方式连接该算法仿真模型中各个算法处理对应各个数据转换单元,由当前算法仿真模型中的初始算法处理对应的数据转换单元从数据源接收数据;B.每一数据转换单元对自身接收到的数据进行对应的算法处理并输出,由当前算法仿真模型中最后的算法处理对应的数据转换单元输出结果数据。2.根据权利要求1所述的方法,其特征在于,所述步骤A进一步包括在相连的数据转换单元之间连接数据缓存单元;所述步骤B进一步包括每一数据缓存单元从输入端连接的数据转换单元接收数据进行缓存,输出数据给输出端连接的数据转换单元,并记录自身的存储状态;所述初始算法处理对应的数据转换单元接收数据进行算法处理的方法为当自身输出端连接的数据缓存单元的存储状态为空、且数据源仍有数据可接收时,从数据源接收数据进行算法处理;所述最后算法处理对应的数据转换单元接收数据进行算法处理的方法为当自身输入端连接的数据缓存单元的存储状态非空时,从自身输入端连接的数据缓存单元接收数据进行算法处理;除所述初始算法处理对应的数据转换单元和最后算法处理对应的数据转换单元之外的其它数据转换单元接收数据进行算法处理的方法为当自身输入端连接的数据缓存单元的存储状态非空、且输出端连接的数据缓存单元的存储状态为空时,从输入端连接的数据缓存单元接收数据进行算法处理。3.根据权利要求2所述的方法,其特征在于,步骤B中,所述数据转换单元在对数据进行算法处理之前进一步缓存接收到的数据,并记录自身缓存的有效数据长度;所述初始算法处理对应的数据转换单元接收数据的方法为当自身缓存的有效数据长度为零、且数据源仍有数据可接收时,从数据源接收数据进行算法处理;所述初始算法处理对应的数据转换单元对接收到的数据进行算法处理的方法为所述数据转换单元当输出端连接的数据缓存单元的存储状态为空、且数据源仍有数据可接收时,对自身缓存的数据进行算法处理;所述最后算法处理对应的数据转换单元接收数据的方法为当自身缓存的有效数据长度为零、且输入端连接的数据缓存单元的存储状态非空时,从输入端连接的数据缓存单元接收数据并缓存;所述最后算法处理对应的数据转换单元对接收到的数据进行算法处理的方法为当自身输入端连接的数据缓存单元的存储状态非空时,对自身缓存的数据进行算法处理;除所述初始算法处理对应的数据转换单元和最后算法处理对应的数据转换单元之外的其它数据转换单元接收数据的方法为当自身缓存的有效数据长度为零、且输入端连接的数据缓存单元的存储状态非空时,从输入端连接的数据缓存单元接收数据并缓存;除所述初始算法处理对应的数据转换单元和最后算法处理对应的数据转换单元之外的其它数据转换单元对接收到的数据进行算法处理的方法为所述数据转换单元当输出端连接的数据缓存单元的存储状态为空、且输入端连接的数据缓存单元的存储状态非空时,对自身缓存的数据进行算法处理。4.根据权利要求1所述的方法,其特征在于,所述步骤A进一步包括在相连的数据转换单元之间连接数据缓存单元,并在所述初始算法对应的数据转换单元的输入端连接数据缓存单元,在所述最后算法对应的数据转换单元的输出端连接数据缓存单元;所述步骤B进一步包括每一数据缓存单元从数据源或输入端连接的数据转换单元接收数据进行缓存,输出数据,并记录自身的存储状态;步骤B中,所述数据转换单元接收数据进行算法处理的方法为所述数据转换单元当输出端连接的数据缓存单元的存储状态为空、且输入端连接的数据缓存单元的存储状态非空时,从输入端连接的数据缓存单元接收数据进行算法处理。5.根据权利要求4所述的方法,其特征在于,步骤B中,所述数据转换单元在对数据进行算法处理之前进一步缓存接收到的数据,并记录自身缓存的有效数据长度;所述数据转换单元接收数据的方法为所述数据转换单元当自身缓存的有效数据长度为零、且输入端连接的数据缓存单元的存储状态非空时,从输入端连接的数据缓存单元接收数据并缓存;所述数据转换单元对接收到的数据进行算法处理的方法为所述数据转换单元当输出端连接的数据缓存单元的存储状态为空、且输入端连接的数据缓存单元的存储状态非空时,对自身缓存的数据进行算法处理。6.根据权利要求2至5任一项所述的方法,其特征在于,步骤B中,所述数据缓存单元记录自身存储状态的方法为当数据缓存单元接收到数据时,该数据缓存单元记录自身存储状态为非空;当数据缓存单元输出数据时,如果自身缓存的有效数据长度为零,则该数据缓存单元记录自身存储状态为空。7.根据权利要求1至3任一项所述的方法,其特征在于,所述初始算法处理对应的数据转换单元从数据源接收数据的方法为按预先在该数据转换单元内设置的作为数据源的源文件地址从该数据源接收数据;所述最后算法处理对应的数据转换单元输出数据的方法为按预先在该数据转换单元内设置的数据输出的目标文件地址向该目标文件输出数据。8.根据权利要求4或5所述的方法,其特征在于,所述数据缓存单元从数据源接收数据的方法为按预先在该数据缓存单元内设置的作为数据源的源文件地址从该数据源接收数据;所述最后算法处理对应的数据转换单元输出端连接的数据缓存单元输出数据的方法为按预先在该数据缓存单元内设置的数据输出的目标文件地址向该目标文件输出数据。9.一种芯片仿真平台中的数据处理系统,其特征在于,...

【专利技术属性】
技术研发人员:游明琦
申请(专利权)人:北京中星微电子有限公司
类型:发明
国别省市:11[中国|北京]

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

1