本发明专利技术公开了一种芯片算法仿真平台和方法。该平台包括:系统容器库、仿真控制单元、放置单元、连接单元和运行单元;所述系统容器库保存至少一个实现预定算法的系统容器;放置单元从系统容器库中选出所需的系统容器送至仿真控制单元,再由连接单元建立仿真控制单元中所有系统容器的连接关系,形成算法仿真模型;仿真控制单元将所形成的算法仿真模型送至运行单元,所述运行单元执行仿真操作并生成运行结果。本发明专利技术的这种平台和方法能够方便、快捷地用预先设置的系统容器实现所需的芯片算法,并对这些算法进行大量的测试和比较,从而提高所设计算法仿真模型的质量,更好地达到仿真的目的,减轻芯片设计人员的负担。
【技术实现步骤摘要】
本专利技术涉及芯片算法设计,尤指。
技术介绍
目前,芯片在通讯、电脑、智能化系统、自动控制和空间技术等诸多行业和领域都发挥着极其重要的作用,推动着整个社会的信息化发展。一般情况下,芯片生产包括两个阶段芯片设计和芯片制造。由于芯片制造的成本高,具体表现在每次投片都要花费几十万美元,而且一经流片,芯片内部的逻辑结构就无法改变,所以在芯片制造之前,需要进行谨慎、周密的芯片设计工作。所谓芯片设计指的是算法实现和外围逻辑电路设计等内容。其中,算法实现是指在芯片中将算法用电路来实现,这是保证芯片功能的核心部分,不同的芯片算法需要搭建不同的算法仿真模型来实现。外围逻辑电路设计指的是在实现芯片功能时,对辅助电路的设计,比如电源的连通、内部模块握手等。为了节约成本、避免失败,如何确保生产出来的芯片具有正确、可靠的性能是所有芯片生产公司都要面对的问题。其中,保证芯片设计的正确性是芯片生产的必要前提,许多芯片软件公司,比如synopsys、altera、xilinx等,都在从事相关方面的研究。由于现有的芯片设计通常采用硬件描述语言实现,比如VHDL、Verilog等,故芯片软件公司都会提供基于硬件描述语言的仿真软件平台,对芯片设计中的算法实现和外围逻辑电路设计进行仿真,以便在芯片生产之前确保芯片设计的正确性。但是,现有的仿真软件普遍存在以下问题 1、仿真速度慢。由于这些仿真软件都是基于硬件描述语言实现的,需要支持硬件所需的并行处理结构,而这种结构与计算机性能是不同的,故使用计算机进行仿真时,只能用解释程序来实现。也就是说,目前计算机上运行的所有仿真软件都是采用解释方式执行硬件描述语言,故执行速度非常慢,大大制约了芯片算法的查错速度,无法满足算法仿真模型的调试和分析需求。比如,用现有的仿真平台搭建的V568算法仿真模型,生成1幅简单的VGA图像需要1天以上的时间。2、占用的资源多。由于仿真软件非常复杂,故对计算机的性能要求也很高,往往需要在工作站上运行,甚至多台工作站同时运行。3、系统复杂。由于仿真软件的功能强大,不仅能做算法仿真,还能做外围逻辑电路仿真,故使用较为复杂。比如,需要为不同算法仿真模型建立特有的测试环境等。4、查错(Debug)困难。现有的仿真软件在判断仿真结果的正确性时,需要提供参照物。在定位出算法仿真模型的错误后,硬件设计工程师需要修改代码重新进行仿真,这将增加Debug过程的复杂度,还会导致硬件代码中出现大量的伪代码。
技术实现思路
有鉴于此,本专利技术的主要目的在于提供一种芯片算法仿真平台,专门用于对芯片算法进行仿真和验证,使得在该平台上搭建算法仿真模型更为简单、快捷。本专利技术的又一目的在于提供一种芯片算法仿真方法,以降低算法仿真模型设计和调试的复杂度。为达到上述目的,本专利技术的技术方案具体是这样实现的一种芯片算法仿真平台,该平台包括系统容器库、仿真控制单元、放置单元、连接单元和运行单元;所述系统容器库保存至少一个实现预定算法的系统容器; 放置单元从系统容器库中选出所需的系统容器送至仿真控制单元,再由连接单元建立仿真控制单元中所有系统容器的连接关系,形成算法仿真模型;仿真控制单元将所形成的算法仿真模型送至运行单元,所述运行单元执行仿真操作并生成运行结果。所述放置单元包括容器选择模块和容器注册表存储模块;所述容器选择模块从系统容器库获取系统容器送至仿真控制单元,并将容器编号记录在容器注册表存储模块中。所述连接单元包括PIN模块和连接关系表存储模块;所述PIN模块根据外部指令生成PIN,并用所生成的PIN建立系统容器的连接关系,再将所述连接关系记录到连接关系表存储模块中。所述PIN包括栈、读写探测器和状态存储器;所述栈用于在连接该PIN的两个系统容器之间传输数据;所述读写探测器对栈进行监测,并根据栈的操作设置状态存储器;在栈执行写操作时,读写探测器将状态存储器设置为写状态,在栈执行读操作时,读写探测器将状态存储器设置为读状态。所述系统容器包括输入端口、输出端口和转换模块;所述输入端口用于从与自身连接的PIN接收数据,并将接收到的数据送至转换模块;转换模块根据自身设定的算法对该数据进行处理,并输出处理结果到输出端口,由输出端口将所述处理结果送至与自身连接的PIN。所述系统容器还包括输入PIN状态判断模块和输出PIN状态判断模块;所述输入PIN状态判断模块用于查看与自身容器的输入端口连接的PIN,并在所述PIN为读状态时,控制转换模块接收输入端口的数据;所述输出PIN状态判断模块用于查看与自身容器的输出端口连接的PIN,并在所述PIN为写状态时,控制转换模块将处理结果送至输出端口发送。所述输入端口包括PIN注册表和存储器;所述PIN注册表用于保存与自身端口连接的PIN地址,存储器根据PIN注册表的记录从所述PIN地址获取数据送至转换模块进行处理。所述输入端口还包括地址计数器;所述地址计数器根据转换模块的数据使用情况,计算出未使用数据的起始地址告知存储器,存储器从起始地址开始将自身保存的未使用数据送至转换模块。所述输出端口根据自身PIN注册表中记录的PIN地址,将转换模块中的处理结果输出至对应的PIN。该平台进一步包括图像显示单元;所述图像显示单元与仿真控制单元连接,用于显示所搭建的算法仿真模型。所述图像显示单元进一步与运行单元连接,用于显示所述算法仿真模型的运行结果。一种芯片算法仿真方法,设置一个以上用于实现预定算法的系统容器,该方法包括以下步骤a、从所设置的所有系统容器中选出所需的系统容器,并逐级建立所选系统容器的连接关系,形成算法仿真模型;b、仿真运行步骤a形成的算法仿真模型,并生成运行结果。步骤a中选择系统容器时,按照选择顺序为每个选出的系统容器分配一个仿真编号;则步骤b所述仿真运行的方法具体为将初始信号赋予算法仿真模型的起始容器,按照仿真编号循环调用所述模型中的所有系统容器,并在每次循环调用完毕后,判断所述算法仿真模型是否生成运行结果,如果没有生成则再次执行循环调用过程,如果生成则流程结束;其中,每个系统容器被调用时,将判断自身的输入端口是否接收到数据,如果接收到则执行预定算法,并根据连接关系将处理结果输出给下一级系统容器,否则不予执行。步骤a所述建立连接关系的方法具体为在两个系统容器的指定端口之间设置PIN,并将所述PIN的地址分别保存在系统容器的端口中;则所述将处理结果输出给下一级的方法为当前系统容器查找自身端口中记录的PIN地址,并将处理结果发送到该地址对应的PIN;下一级系统容器根据自身端口中记录的PIN地址,从所述PIN获取该处理结果。由上述技术方案可见,本专利技术的这种芯片算法仿真平台和方法,专门用于芯片算法的仿真,使得本专利技术只需占用较少的资源就能得以实现,并且该平台和方法易于采用计算机语言,比如C/C++等编程实现,能够专门针对计算机特点提高仿真模型的运行速度。此外,本专利技术能够方便、快捷地用预先设置的系统容器组合出任意的算法仿真模型,并易于对所生成的算法仿真模型进行大量的测试和比较,以确保所设计算法仿真模型的正确性,更好地达到仿真的目的。再有,本专利技术的方法实现简单、易于上手,通过放置单元、连接单元和仿真控制单元就能搭建出所需的算法仿真模型,并通过运行单元获得所述算法仿真模型的运行结果,根本文档来自技高网...
【技术保护点】
一种芯片算法仿真平台,其特征在于,该平台包括:系统容器库、仿真控制单元、放置单元、连接单元和运行单元;所述系统容器库保存至少一个实现预定算法的系统容器;放置单元从系统容器库中选出所需的系统容器送至仿真控制单元,再由连接单元建 立仿真控制单元中所有系统容器的连接关系,形成算法仿真模型;仿真控制单元将所形成的算法仿真模型送至运行单元,所述运行单元执行仿真操作并生成运行结果。
【技术特征摘要】
1.一种芯片算法仿真平台,其特征在于,该平台包括系统容器库、仿真控制单元、放置单元、连接单元和运行单元;所述系统容器库保存至少一个实现预定算法的系统容器;放置单元从系统容器库中选出所需的系统容器送至仿真控制单元,再由连接单元建立仿真控制单元中所有系统容器的连接关系,形成算法仿真模型;仿真控制单元将所形成的算法仿真模型送至运行单元,所述运行单元执行仿真操作并生成运行结果。2.根据权利要求1所述的平台,其特征在于,所述放置单元包括容器选择模块和容器注册表存储模块;所述容器选择模块从系统容器库获取系统容器送至仿真控制单元,并将容器编号记录在容器注册表存储模块中。3.根据权利要求1所述的平台,其特征在于,所述连接单元包括PIN模块和连接关系表存储模块;所述PIN模块根据外部指令生成PIN,并用所生成的PIN建立系统容器的连接关系,再将所述连接关系记录到连接关系表存储模块中。4.根据权利要求3所述的平台,其特征在于,所述PIN包括栈、读写探测器和状态存储器;所述栈用于在连接该PIN的两个系统容器之间传输数据;所述读写探测器对栈进行监测,并根据栈的操作设置状态存储器;在栈执行写操作时,读写探测器将状态存储器设置为写状态,在栈执行读操作时,读写探测器将状态存储器设置为读状态。5.根据权利要求4所述的平台,其特征在于,所述系统容器包括输入端口、输出端口和转换模块;所述输入端口用于从与自身连接的PIN接收数据,并将接收到的数据送至转换模块;转换模块根据自身设定的算法对该数据进行处理,并输出处理结果到输出端口,由输出端口将所述处理结果送至与自身连接的PIN。6.根据权利要求5所述的平台,其特征在于,所述系统容器还包括输入PIN状态判断模块和输出PIN状态判断模块;所述输入PIN状态判断模块用于查看与自身容器的输入端口连接的PIN,并在所述PIN为读状态时,控制转换模块接收输入端口的数据;所述输出PIN状态判断模块用于查看与自身容器的输出端口连接的PIN,并在所述PIN为写状态时,控制转换模块将处理结果送至输出端口发送。7.根据权利要求5所述的平台,其特征在于,所述输入端口包括PIN注册表和存储器;所述PIN注册表用...
【专利技术属性】
技术研发人员:游明琦,涂坚,
申请(专利权)人:北京中星微电子有限公司,
类型:发明
国别省市:11[中国|北京]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。