一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

芯片性能数据采集方法、计算机装置及计算机可读存储介质与流程

2022-10-29 05:31:36 来源:中国专利 TAG:


1.本发明涉及芯片的芯片性能数据的采集领域,具体地,是一种芯片性能数据采集方法以及实现这种方法的计算机装置、计算机可读存储介质。


背景技术:

2.随着电子技术的发展,现在的电子设备普通使用各种芯片,例如fpga(现场可编程门阵列)等。由于芯片架构设计过程中需要通过对芯片的性能数据进行分析,从而对芯片的架构进行优化,以提升芯片的性能。通常,在芯片设计早期通过获取芯片或某些关键子系统的性能分析数据,对于指导芯片架构的设计和优化,尤其是规避设计风险起到至关重要的作用。而随着芯片的规模越来越大,芯片性能数据的采集、分析的重要性也越来越突出。
3.对于小规模的芯片而言,可以直接基于eda仿真获取性能数据,传统的方式是通过ip自身提供的性能数据相关的寄存器获取性能数据。但是,这种方式所获取的数据非常有限,无法体现芯片的性能数据随仿真时间的变化趋势,并且每次增加或者修改数据类型时都需要修改ip设计,这就使得性能数据的获取丧失了灵活性提高了复杂度。
4.另一种方法是是与虚拟平台结合,在rtl设计和验证平台中插入不可综合的采集模块按仿真时间周期性的采集性能数据。对于在硬件加速器或者fpga上进行仿真的大规模芯片或子系统,需要独立设计可综合的性能采集模块并配合虚拟平台进行性能数据的采集,目前一些商用硬件加速器厂商提供非公开的类似解决方案,如synopsys,mentor等。但由于硬件加速器厂商提供的解决方案是非公开的解决方案,芯片的设计、生产厂家难以自行设计满足自身特定需求的性能数据采集方案,限制了芯片的性能测试。


技术实现要素:

5.本发明的第一目的是提供一种扩展灵活且能够适用于大规模的芯片上的芯片性能数据采集方法。
6.本发明的第二目的是提供一种实现上述芯片性能数据采集方法的计算机装置。
7.本发明的第三目的是提供一种实现上述芯片性能数据采集方法的计算机可读存储介质。
8.为实现本发明的第一目的,本发明提供的芯片性能数据采集方法包括至少一个性能计算模块采集目标芯片的目标性能数据,并在每个采样周期结束后,将该采样周期内所采集目标性能数据发送至性能采集模块;性能采集模块将性能计算模块所采集的目标性能数据进行封装,并且将封装后的目标性能数据发送至性能收集模型;其中,性能收集模型运行于虚拟平台,性能采集模块与性能计算模块、目标芯片均运行于同一硬件电路模块中。
9.由上述方案可见,由于本方法直接通过运行在现场可编程门阵列上等硬件电路模块的性能计算模块采集目标芯片的目标性能数据,可以根据实际使用的需要,扩展性能计算模块的数量,并且设定每一个性能计算模块所采集的目标性能数据的类型,使得目标性能数据的类型扩展非常方便、灵活,以满足不同型号的芯片测试需求。
10.另一方面,由于是通过运行在虚拟平台上的性能收集模型对目标芯片上的目标性能数据进行收集再进行分析,而性能采集模块与性能计算模块均是运行在现场可编程门阵列的硬件电路,性能采集模块与性能计算模块可以采用足够高的采样频率进行采样,加上性能收集模型可以对大量的数据进行快速的处理,能够针对大规模的芯片进行性能数据的采集。
11.一个优选的方案是,性能计算模块采集目标性能数据前:性能采集模块向性能计算模块发送第一配置参数,第一配置参数包括采样周期的时间长度。
12.这样,各个性能计算模块可以按照规定的采样周期对目标性能参数进行采集,方便性能采集模块对多个性能计算模块所采集的数据进行存储。
13.进一步的方案是,性能采集模块向性能计算模块发送第一配置参数前:性能收集模型向性能采集模块发送第二配置参数,第二配置参数包括采样周期的时间长度以及每一性能数据包的长度。
14.由此可见,性能收集模型可以根据需要设定目标性能数据采集的采样周期,一方面能够确保正确的采集目标性能数据,另一方面能够确保性能计算模块按照设定的采样周期进行目标性能数据的采集。
15.更进一步的方案是,性能采集模块向性能计算模块发送第一配置参数包括:性能采集模块在配置有效信号为高电平时,通过配置数据总线向性能计算模块发送第一配置参数。
16.可见,性能采集模块通过将配置有效信号设定为高电平,从而让性能计算模块在高电平时间段内接收第一配置参数,可以确保第一配置参数正确传输。
17.进一步的方案是,性能采集模块向性能收集模型所发送的数据包包括包头数据以及负载数据,其中,包头数据包括:负载数据的类型、最后一笔数据包标志位、性能计算模块的数量、数据包的总长度。
18.由此可见,通过设置最后一笔数据包标志位等参数,性能收集模型可以知晓当前接收的数据是否为最后一笔数据,确保性能计算收集能够正确接收所有的目标性能数据。
19.一个优选的方案是,包头数据还包括以下至少一个:性能数据覆盖标志位、性能数据采样丢失标志位。
20.由此可见,通过性能数据覆盖标志位、性能数据采样丢失标志位,性能收集模型能够知晓性能采集模块在采集多个性能计算模块所采集的目标性能数据时,是否出现目标性能数据被覆盖或者丢失的情况。
21.更进一步的方案是,性能计算模块向性能采集模块发送目标性能数据包括:性能计算模块在性能采集准备信号与性能有效信号均为高电平时,通过性能数据总线发送目标性能数据。
22.这样,性能采集模块能够在准确的时间段内发送目标性能数据,以确保性能采集模块能够准确接收各性能采集模块所采集的目标性能数据。
23.更进一步的方案是,性能计算模块向性能采集模块发送目标性能数据包括:性能计算模块在发送最后一笔目标性能数据后,发出最后一笔性能数据指示信号。
24.这样,性能采集模块能够准确知晓当前接收的目标性能数据是否为最后一笔数据,从而确保所有目标性能数据能够正确的被接收。
25.为实现上述的第二目的,本发明提供的计算机装置包括处理器以及存储器,存储器存储有计算机程序,计算机程序被处理器执行时实现上述芯片性能数据采集方法的各个步骤。
26.为实现上述的第三目的,本发明提供计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述芯片性能数据采集方法的各个步骤。
附图说明
27.图1是实现本发明芯片性能数据采集方法实施例的框架图。
28.图2是本发明芯片性能数据采集方法实施例的流程图。
29.图3是本发明芯片性能数据采集方法实施例中第一配置参数传输的时序图。
30.图4是本发明芯片性能数据采集方法实施例中性能计算模块向性能采集模块发送目标性能数据的时序图。
31.以下结合附图及实施例对本发明作进一步说明。
具体实施方式
32.本发明的芯片性能数据采集方法应用于对芯片的性能数据进行采集,尤其是针对fpga等硬件电路模块上的芯片的性能数据进行采集。本发明的芯片性能数据采集方法需要借助于一个虚拟平台实现,优选的,该虚拟平台为通过计算机程序实现的平台,该计算机程序运行在一个控制器上,该控制器设置有处理器以及存储器,存储器上存储有计算机程序,处理器通过执行该计算机程序实现上述的芯片性能数据采集方法。
33.芯片性能数据采集方法实施例:
34.本实施例是一种大规模rtl(register-transfer level,寄存器传输级)设计在fpga、硬件加速器上仿真时周期性采集性能数据到上位机的方法,并确保rtl设计与性能数据采集系统彼此独立,并为增加或修改性能数据类型提供足够的灵活性。
35.本实施例应用一个虚拟平台对fgpa等硬件电路模块上芯片的性能数据进行采集,并且将所采集的数据上传至上位机进行分析。参见图1,虚拟平台10上运行有性能收集模型11,虚拟平台是一个由计算机程序实现的平台,性能收集模型11是一个软件程序模块,用于收集待测试的芯片的性能数据,且性能收集模型11可以将所收集的性能收集发送至上位机以对芯片的性能数据进行分析,以确定芯片的性能是否符合要求。
36.现场可编程门阵列20上运行有数据传输通道21、性能采集模块22以及目标芯片23,并且设置有多个性能计算模块31、32、33,当然,性能测试模块的数量不限于三个,可以根据实际使用情况设置一个、两个或者更多的性能计算模块。本实施例中,目标芯片23是待测试的芯片,多个性能计算模块采集目标芯片23的目标性能数据,并且将所采集的目标性能数量发送至性能采集模块22,性能采集模块22将所采集的目标性能数据通过数据传输通道21发送至性能收集模型11。
37.本实施例中,性能收集模型11以动态参数的形式向现场可编程门阵列20输出各种参数,具体的,性能收集模型11通过数据传输通道21向性能采集模块22输出参数,本实施例中,数据传输通道21采用开源的riffa框架实现,当然,也可以采用其他形式的数据传输通道。性能收集模型11向数据传输通道21发送的参数为第二配置参数,第二配置参数将传输
至性能采集模块22。
38.性能采集模块22将根据所接收到的参数,对各个性能计算模块进行参数配置,即性能采集模块22向各个性能计算模块发送第一配置参数,各个性能计算模块将按照第一配置参数进行工作。优选的,性能采集模块22与各个性能计算模块交互的逻辑、各性能计算模块中的采样周期计数均基于采样时钟实现,且性能采集模块22与各个性能计算模块之间的时钟信号为异步时钟。这样,各个性能计算模块将根据目标芯片23的实际工作频率采用相匹配的时钟信号对目标性能数据进行采集,确保能够准确的采集各个目标性能数据。而性能采集模块22则采用与性能收集模型11相匹配的时钟信号进行工作,确保性能采集模块22所采集的目标性能数据能够正确的发送至性能收集模型11,以避免性能收集模型11无法正确接收性能采集模块22所采集的目标性能数据的问题。
39.具体的,第一配置参数包括采样周期的长度等,性能采集模块22接收到第一配置参数后,对各个性能计算模块进行参数配置,各个性能计算模块按照采样周期对目标性能数据进行采样,在每个采样周期计满时将该采样周期内的所采集到的目标性能数据保存,然后通知性能采样模块22,同时开始下一采样周期的目标性能数据的计算。性能采样模块22读取所有性能计算模块传输的目标性能数据,并将多个性能计算模块所计算的目标性能数据进行封装,形成一个数据包,通过数据传输通道21发送给性能收集模型11。
40.性能收集模型11将所接收到的所有目标性能数据根据现场可编程门阵列20的实际工作频率和期望工作频率进行换算,获得换算后的性能数据并保存,当需要结束仿真时,性能收集模型性能采集模块22结束采样,性能采集模块22立即结束目标性能数据采样,并将已经采集但未发送到性能收集模型11的目标性能数据进行封装,然后将封装后的目标性能数据发送至性能收集模型11。
41.下面结合图2介绍本实施例的工作流程。首先,执行步骤s1,由性能收集模型11向性能采集模块22发送第二配置参数。具体的,性能收集模型11向性能采集模块22发送的第二配置参数包括寄存器配置的数据包,该数据包包括包头数据和负载数据两部分,其中包头数据包括读写类型、传输数据(trans)个数(一个传输数据对应一个寄存器的访问请求),负载数据包括每个传输数据的存储地址、数据长度,如果该数据包的类型是写类型,则负责数据还包括向性能采集模块22写入的具体数据。当然,第二配置参数还包括对性能采集模块22设置的采样周期、每个数据包的长度和其他相关信息,例如设定了每一个采样周期的长度等。
42.接着,执行步骤s2,性能采集模块22将相关配置发送给与之相连的各个性能计算模块,如性能计算模块31、32、33等。需要说明的是,虽然现场可编程门阵列20设置了三个性能计算模块31、32、33,但实际工作时,并一定是所有性能计算模块31、32、33均工作,可以根据实际需要使用一部分性能计算模块执行性能计算的工作。例如,每一个性能计算模块分别用于计算目标芯片23的一种类型的性能,如计算目标芯片23的存储单元的占用率、仲裁信息等,因此,性能采集模块22将配置各个性能计算模块31、32、33的参数,即向性能计算模块发送第一配置参数。
43.为了确保性能采集模块22与各个性能计算模块31、32、33之间的正取通信,需要设计性能采集模块22与各个性能计算模块31、32、33之间的通信协议,该通信协议包括两部分,一部分是用于性能采集模块22对各个性能计算模块31、32、33的参数配置,另一部分是
实现各个性能计算模块31、32、33将计算的目标性能数据向性能采集模块22的传输。
44.下面结合图3介绍性能采集模块22对各个性能计算模块31、32、33的参数配置的协议。性能采集模块22向性能计算模块进行第一配置参数的写入时,需要将配置有效信号设置为高定平信号,即性能采集模块22使用一个引脚来传输配置有效信号,当不需要传送第一配置参数时,配置有效信号为低电平信号,当需要传送第一配置参数时,配置有效信号为高电平信号。当性能采集模块22将配置有效信号设置为高电平信号后,同时通过配置数据总线向需要进行目标性能数据计算的性能计算模块传输第一配置参数。各个性能计算模块在配置有效信号为高电平信号期间无条件的从配置数据总线接收第一配置参数,每拍一笔数据。各个性能计算模块所接收到的第一配置参数包括各性能计算模块的采样周期的长度。为了尽量减少配置阶段的延时,每笔第一配置参数的含义和先后顺序可以是预先定义的,性能采集模块22按照预先定义的顺序发送第一配置参数。如果第一配置参数的先后顺序无法保证是固定的顺序,可以增加配置地址或者配置类型信号,配置类型信号用于表示每笔数据的含义。
45.性能计算模块接收到第一配置参数后,将执行步骤s3,按照规定的采样周期对相应的目标性能参数进行采样、计算,并且在一个采样周期结束的时候,将该采样周期所采集的目标性能数据传送至性能采集模块22。具体的,当一个采样周期计满,性能计算模块会将该周期所采集的目标性能数据写入预设的寄存器并进行保存,同时向性能采样模块22发出读取目标性能数据的请求信号,等待该采样周期所采集的目标性能数据被读取,同时开始下一采样周期的计数和目标性能数据计算。在一个采样周期结束时,性能采样模块将读取所有性能计算模块所采集的目标性能数据。
46.下面结合图4介绍性能计算模块向性能采集模块传输目标性能数据的工作原理。性能计算模块与性能采集模块之间采用预先设定的采样性能数据通信协议进行目标性能数据的传输,性能计算模块在采样周期结束时,将该采样周期的目标性能数据写入到预先设定的寄存器中,并且将性能数据有效信号置为高电平。当性能采样模块检测到性能数据有效信号被置为高电平信号后,将性能采集准备信号也置为高电平,当性能数据有效信号、性能采集准备信号均为高电平信号时,性能采集模块将读取存储在预设设定的寄存器中的目标性能数据。在当前一笔数据被读取完毕后,性能计算模块将发送下一笔目标性能数据。当性能计算模块发送最后一笔目标性能数据的时候,将最后一笔性能数据指示信号置为高电平信号,此时,性能采集模块将知晓当前一笔数据是最后一笔目标性能数据,在读取最后一笔目标性能数据后,将结束当前采样周期的目标性能数据的读取。
47.性能采集模块22接收性能计算模块的采集的目标性能数据后,执行步骤s4,根据第二配置参数将收到的目标性能数据进行封装,将封装后的目标性能数据发送给虚拟平台10的性能收集模型11。具体的,性能采集模块22向性能收集模型11发送的数据包包括包头数据和负载数据,其中包括数据包括负载类型、最后一笔数据包标志位、性能计算模块的数量、数据包的总长度、性能数据覆盖标志位、性能数据采样丢失标志位。
48.其中,负载类型是表示负载数据为读寄存器数据还是待写入的目标性能数据;最后一笔数据包标志位表示该数据包是最后一笔目标性能数据包;性能计算模块的数量表示参与性能采样的性能计算模块的数量;数据包的总长度是该数据包中的目标性能数据的总长度。
49.由于性能采样模块22从性能计算模块所采样的目标性能数据使用的时钟信号与向数据传输通道21发送的数据包的时钟信号是异步时钟,即两个时钟信号不是同步的,并且采样到的目标性能数据会写入到存储单元,如果数据传输通道21发送数据包的速度过慢,会导致存储单元中的目标性能数据还未发送就被新的目标性能数据所覆盖,从而导致丢失一部分目标性能数据,因此,包头数据的性能数据覆盖标志位用于指示上述的这种情况是否发生。
50.如果性能收集模型11配置的采样周期小于性能采样模块22读取所有性能计算模块的目标性能数据结果所需的时间,会导致某些性能计算模块未被读取的目标性能数据被新的采样周期所采集的新的目标性能数据所覆盖掉,导致前一周期的目标性能数据丢失。因此,性能数据采样丢失标志位用于指示上述的这种情况发生。
51.另外,如果负载类型是待写入的目标性能数据,则负载数据包括主机标识、该采样周期内的总数据量、平均延时、平均读/写延时、最大读/写延时以及其他扩展的目标性能数据类型等数据。
52.性能收集模型11接收到封装后的目标性能数据后,将执行步骤s5,根据现场可编程门阵列20上各个主机的实际工作频率和期望工作频率换算出各个目标芯片23相对应的性能数据并保存。当性能收集模型11希望结束仿真时,将通知性能采集模块22结束采样,即执行步骤s6,向性能采集模块22发出结束性能数据采集的通知。性能采集模块执行步骤s7,在接收到结束性能采集的通知后,立即结束目标性能数据的采样,并且将已经采集但还未发送的目标性能数据进行封装,将封装后的目标性能数据发送给性能收集模型11,并将最后一个数据包的包头数据中将最后一笔数据包标志位置为“1”。这样,性能收集模型11收到最后一笔数据包后结束仿真。
53.本实施例可以应用在正如现场可编程门阵列、硬件加速器、asic芯片或者其他硬件电路上的目标芯片的性能数据的采集。由于本实施例能够让芯片设计人员自行设定性能计算模块的数量、各性能计算模块所采集、计算的目标性能数据的类型,使得目标芯片的性能数据采集非常方便,且可以进行灵活的扩展。
54.另外,由于性能采集模块、性能计算模块与目标芯片是运行在同一硬件电路模块中,因此,性能计算模块能够以较高的采样频率对目标芯片进行采样,满足目标性能参数的采样要求。而性能收集模型则运行在一个虚拟平台上,通过虚拟平台可以对所采集到的目标性能数据进行转换、计算、分析,针对大规模的芯片,本实施例也能够提供足够的运算能力,满足大规模芯片的仿真要求。
55.计算机装置实施例:
56.本实施例的计算机装置可以是运行上述虚拟平台的计算机装置,该计算机装置包括有处理器、存储器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述芯片性能数据采集方法的各个步骤。
57.例如,计算机程序可以被分割成一个或多个模块,一个或者多个模块被存储在存储器中,并由处理器执行,以完成本发明的各个模块。一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在终端设备中的执行过程。
58.本发明所称处理器可以是中央处理单元(central processing unit,cpu),还可
以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分。
59.存储器可用于存储计算机程序和/或模块,处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
60.计算机可读存储介质实施例:
61.上述计算机装置所存储的计算机程序如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述芯片性能数据采集方法的各个步骤。
62.其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
63.最后需要强调的是,本发明不限于上述实施方式,例如目标芯片的类型的改变,或者所采集的目标性能数据的改变、采样周期的改变等,这些改变也应该包括在本发明权利要求的保护范围内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献