设备控制方法、装置、存储介质及电子设备
文献发布时间:2023-06-19 09:24:30
技术领域
本申请属于电子设备技术领域,尤其涉及一种设备控制方法、装置、存储介质及电子设备。
背景技术
随着移动互联网电子设备的快速普及,市场对高性能、低功耗的片上系统(Systemon a Chip,SoC)芯片的需求越来越大。在相关技术中,可以使用电子设计自动化(Electronic design automation,EDA)软件来完成芯片的功能设计、综合、验证、物理设计(包括布局、布线、版图等)等流程的设计。然而,相关技术中,使用电子设计自动化软件来进行芯片设计时自动化程度较低。
发明内容
本申请实施例提供一种的方法、装置、存储介质及电子设备,可以提高芯片设计的自动化程度。
第一方面,本申请实施例提供一种设备控制方法,包括:
获取多个静态随机存取存储器的坐标;
获取最优路径算法;
利用所述最优路径算法,计算将所有的所述静态随机存取存储器的坐标串连起来的最短路径;
按照所述最短路径对所有的所述静态随机存取存储器进行依次串连。
第二方面,本申请实施例提供一种设备控制装置,包括:
获取模块,用于获取多个静态随机存取存储器的坐标;以及获取最优路径算法;
计算模块,用于利用所述最优路径算法,计算将所有的所述静态随机存取存储器的坐标串连起来的最短路径;
串连模块,用于按照所述最短路径对所有的所述静态随机存取存储器进行依次串连。
第三方面,本申请实施例提供一种存储介质,其上存储有计算机程序,当所述计算机程序在计算机上执行时,使得所述计算机执行本申请实施例提供的设备控制方法中的流程。
第四方面,本申请实施例还提供一种电子设备,包括存储器,处理器,所述处理器通过调用所述存储器中存储的计算机程序,用于执行本申请实施例提供的设备控制方法中的流程。
在本申请实施例中,电子设备可以获取多个静态随机存取存储器的坐标以及最优路径算法。之后,电子设备可以利用该最优路径算法计算出将所有的静态随机存取存储器的坐标串连起来的最短路径,并按照该最短路径对所有的静态随机存取存储器进行依次串连。由于本申请实施例可以利用最优路径算法来自动生成将所有的静态随机存取存储器串连起来的最短路径,而不需芯片设计人员手动规划将所有的静态随机存取存储器串连起来的路径。因此,本申请实施例可以提高芯片设计的自动化程度。
附图说明
下面结合附图,通过对本申请的具体实施方式详细描述,将使本申请的技术方案及其有益效果显而易见。
图1是本申请实施例提供的设备控制方法的流程示意图。
图2是相关技术中使用双轨设计的静态随机存取存储器的内部结构示意图。
图3是各片静态随机存取存储器的端口的串连示意图。
图4是本申请实施例提供的设备控制方法的另一流程示意图。
图5至图6是本申请实施例提供的设备控制方法的场景示意图。
图7是本申请实施例提供的设备控制装置的结构示意图。
图8是本申请实施例提供的电子设备的结构示意图。
图9是本申请实施例提供的电子设备的另一结构示意图。
具体实施方式
请参照图示,其中相同的组件符号代表相同的组件,本申请的原理是以实施在一适当的运算环境中来举例说明。以下的说明是基于所例示的本申请具体实施例,其不应被视为限制本申请未在此详述的其它具体实施例。
可以理解的是,本申请实施例的执行主体可以是诸如智能手机或平板电脑等的电子设备。
请参阅图1,图1是本申请实施例提供的设备控制方法的流程示意图,流程可以包括:
101、获取多个静态随机存取存储器的坐标。
随着移动互联网电子设备的快速普及,市场对高性能、低功耗的片上系统(Systemon a Chip,SoC)芯片的需求越来越大。在相关技术中,可以使用电子设计自动化(Electronic design automation,EDA)软件来完成芯片的功能设计、综合、验证、物理设计(包括布局、布线、版图等)等流程的设计。然而,相关技术中,使用电子设计自动化软件来进行芯片设计时自动化程度较低。
比如,为了降低功耗,芯片内引入了关断机制以减少漏电问题。为降低功耗,芯片中的静态随机存取存储器(Static Random Access Memory,SRAM)的电路普遍采用了双轨(dual-rail)设计,即为SRAM电路提供两个电压,两个电压可以根据具体应用灵活调整以达到速度、功耗、良率上的最佳折中。电子设备的芯片中双轨形式的SRAM较常采用的一种电路形式可以如图2所示。
将SRAM的电路划分为两个不同的电压域,第一电压域的电源电压记为VDDP,第二电压域的电源电压记为VDDC,其中控制电路(control)、感应放大器(sense amplifier)、输入输出电路(io)处于VDDP电压域,而字线驱动电路(word line driver)和存储阵列(memory array)处于VDDC电压域。处于不同电压域的两部分电路相互配合。通常,VDDC随同标准单元(stand cell)同时掉电,其端口无需特殊处理,而VDDP工作在常开电压域,芯片中需将每片SRAM的控制输入端口sleep in以及控制输出端口sleep out按顺序串连,如图3所示,且整条链路必须工作在VDDP电压域中。但EDA软件工具无法将众多的SRAM按照合理的顺序进行串链,需要芯片设计人员手动规划,自动化程度较低。
在本申请实施例中,比如,电子设备中的EDA软件可以先获取芯片中的多个静态随机存取存储器中的每一个静态随机存取存储器的坐标。
在一些实施方式中,静态随机存取存储器的坐标可以是一个二维坐标。
102、获取最优路径算法。
比如,电子设备还可以获取最优路径算法。
103、利用最优路径算法,计算将所有的静态随机存取存储器的坐标串连起来的最短路径。
比如,在获取到多个静态随机存取存储器的坐标以及最优路径算法后,电子设备可以利用该最优路径算法计算出将所有的静态随机存取存储器的坐标串联起来的最短路径。
104、按照最短路径对所有的静态随机存取存储器进行依次串连。
比如,在计算出将所有的静态随机存取存储器的坐标串连起来的最短路径后,电子设备中的EDA软件可以按照该最短路径对所有的静态随机存取存储器进行依次串连。
可以理解的是,在本申请实施例中,电子设备可以获取多个静态随机存取存储器的坐标以及最优路径算法。之后,电子设备可以利用该最优路径算法计算出将所有的静态随机存取存储器的坐标串连起来的最短路径,并按照该最短路径对所有的静态随机存取存储器进行依次串连。由于本申请实施例可以利用最优路径算法来自动生成将所有的静态随机存取存储器串连起来的最短路径,而不需芯片设计人员手动规划将所有的静态随机存取存储器串连起来的路径。因此,本申请实施例可以提高芯片设计的自动化程度。
请参阅图4,图4为本申请实施例提供的设备控制方法的另一流程示意图,流程可以包括:
201、获取多个静态随机存取存储器的端口的坐标。
比如,电子设备中的EDA软件可以先获取芯片中的多个静态随机存取存储器中的每一个静态随机存取存储器的坐标。
在本申请实施例中,电子设备中的EDA软件可以先获取芯片中的多个静态随机存取存储器中的每一个静态随机存取存储器的控制输入端口sleep in的坐标。
202、获取蚁群算法。
比如,电子设备还可以获取蚁群算法。
需要说明的是,蚁群算法是一种用来寻找优化路径的概率型算法。蚁群算法的灵感来源于蚂蚁在寻找食物过程中发现路径的行为。这种算法具有分布计算、信息正反馈和启发式搜索的特征,本质上是进化算法中的一种启发式全局优化算法。
与其他优化算法相比,蚁群算法具有以下几个特点:第一,采用正反馈机制,使得搜索过程不断收敛,最终逼近最优解。第二,每个个体可以通过释放信息素来改变周围的环境,且每个个体能够感知周围环境的实时变化,个体间通过环境进行间接地通讯。第三,搜索过程采用分布式计算方式,多个个体同时进行并行计算,大大提高了算法的计算能力和运行效率。第四,启发式的概率搜索方式不容易陷入局部最优,易于寻找到全局最优解。
203、利用蚁群算法,计算将所有的静态随机存取存储器的坐标串连起来的最短路径。
比如,在获取到多个SRAM的控制输入端口sleep in的坐标以及蚁群算法后,电子设备可以利用该蚁群算法计算出将所有的SRAM的控制输入端口sleep in的坐标串联起来的最短路径。
204、根据最短路径,对所有的坐标进行排序,得到排序信息,该排序信息中的先后次序用于表示该最短路径对应的串连先后次序。
比如,在计算出将所有的SRAM的控制输入端口sleep in的坐标串联起来的最短路径后,电子设备可以根据该最短路径,对所有的SRAM的控制输入端口sleep in的坐标进行排序,从而得到对应的排序信息,该排序信息中的先后次序用于表示该最短路径对应的串连先后次序。
例如,芯片中包含10个SRAM,这10个SRAM分别记为第一SRAM、第二SRAM、第三SRAM,……,第九SRAM、第十RAM。这10个SRAM的控制输入端口sleepin的坐标依次为M
205、按照坐标在排序信息中的先后次序,对所有的静态随机存取存储器进行依次串连。
比如,在得到各个SRAM的控制输入端口sleep in的坐标在排序信息中的先后次序之后,电子设备中的EDA软件可以按照该先后次序对所有的静态随机存取存储器进行依次串连。
在本申请实施例中,各个静态随机存取存储器SRAM还可以包括控制输出端口sleep out。
那么,205中按照坐标在排序信息中的先后次序,对所有的静态随机存取存储器进行依次串连的流程,可以包括:按照坐标在排序信息中的先后次序,对所有的静态随机存取存储器进行依次串连,其中,按照该排序信息的先后次序,前一个静态随机存取存储器的控制输出端口sleep out和后一个静态随机存取存储器的控制输入端口sleep in相连。
例如,按照M
当然,在另一种实施方式中,获取的SRAM的坐标也可以是SRAM的控制输出端口sleep out的坐标。那么,电子设备可以利用蚁群算法计算出将所有的SRAM的控制输出端口sleep out的坐标串连起来的最短路径。之后,电子设备中的EDA软件可以按照该最短路径对所有的SRAM进行依次串连。
可以理解的是,一方面,由于本申请实施例可以利用最优路径算法来自动生成将所有的静态随机存取存储器串连起来的最短路径,而不需芯片设计人员手动规划将所有的静态随机存取存储器串连起来的路径。因此,本申请实施例可以提高芯片设计的自动化程度。
另一方面,由于本申请实施例可以自动生成将所有的静态随机存取存储器串连起来的最短路径,因此即便在芯片设计过程中静态随机存取存储器的位置被动态调整,也可以再次快速地生成最短路径,从而实现将芯片设计的工作量和设计周期尽量缩短,将串连带来的绕线和功耗问题尽可能降低。
在一种实施方式中,本申请实施例中的蚁群算法可以是基于精英蚂蚁系统的蚁群算法,或者是基于最大-最小蚂蚁系统的蚁群算法,等等。
在一种实施方式中,蚁群算法可以使用Python或Perl等任一语言进行实现。
在其他实施方式中,除了使用蚁群算法作为最优路径算法之外,还可以使用如下算法作为最优路径算法。比如,可以使用bellman-ford算法,dijkstra算法,spfa算法,floyd算法等等。
请参阅图5至图6,图5至图6为本申请实施例提供的设备控制方法的场景示意图。
比如,用户当前使用EDA软件进行芯片设计,其中在设计静态随机存取存储器时,需要将每片静态随机存取存储器的控制输入端口sleep in和控制输出端口sleep out按一定的顺序串连起来。例如,芯片中的静态随机存取存储器的平面示意图(floorplan)可以如图5所示,图中的每一个矩形框可以用于表示一片静态随机存取存储器SRAM。
在本申请实施例中,EDA软件可以先标出每片静态随机存取存储器的控制输入端口sleep in的坐标。之后,电子设备可以获取预设的蚁群算法,并利用该蚁群算法计算出将所有的静态随机存取存储器的控制输入端口sleep in的坐标串连起来的最短路径。
例如,在计算出将所有的静态随机存取存储器的控制输入端口sleep in的坐标串连起来的最短路径后,蚁群算法可以根据该最短路径对所有的坐标进行排序,得到排序信息,该排序信息中的先后次序用于表示该最短路径对应的串连先后次序。
之后,电子设备可以将上述排序信息输入到EDA软件中,EDA软件可以按照该先后次序对所有的静态随机存取存储器进行依次串连。例如,对所有的静态随机存取存储器进行依次串连所形成的路径图可以如图6所示,图6中的每一个三角形图标可以用于表示一片静态随机存取存储器所在的坐标位置,该坐标位置可以是一个具有X轴坐标和Y轴坐标的二维坐标。例如,图6中的水平方向可以具有X轴坐标,竖直方向可以具有Y轴坐标。并且,需要说明的是,图6中的三角形图标仅仅用于表示静态随机存取存储器所在的坐标位置,而不用于表示串连的方向等信息。
可以理解的是,本申请实施例中,一方面,可以实现对使用双轨电路设计的静态随机存取存储器进行串连的全自动化。另一方面,本申请实施例还可以利用蚁群算法给出将芯片内所有的静态随机存取存储器进行串连的最优串连路径,将串连带来的绕线和功耗问题尽可能降到最小。
请参阅图7,图7为本申请实施例提供的设备控制装置的结构示意图。设备控制装置300可以包括:获取模块301,计算模块302,串连模块303。
获取模块301,可以用于获取多个静态随机存取存储器的坐标;以及获取最优路径算法。
计算模块302,可以用于利用所述最优路径算法,计算将所有的所述静态随机存取存储器的坐标串连起来的最短路径。
串连模块303,可以用于按照所述最短路径对所有的所述静态随机存取存储器进行依次串连。
在一种实施方式中,所述计算模块302还可以用于:根据所述最短路径,对所有的所述坐标进行排序,得到排序信息,所述排序信息中的先后次序用于表示所述最短路径对应的串连先后次序。
那么,所述串连模块303可以用于:按照坐标在所述排序信息中的先后次序,对所有的所述静态随机存取存储器进行依次串连。
在一种实施方式中,所述获取模块301可以用于:获取多个静态随机存取存储器的端口的坐标。
在一种实施方式中,所述获取模块301可以用于:获取多个静态随机存取存储器的控制输入端口sleep in的坐标。
在一种实施方式中,所述最优路径算法包括蚁群算法。
在一种实施方式中,所述静态随机存取存储器还可以包括控制输出端口sleepout。
那么,所述串连模块303可以用于:按照坐标在所述排序信息中的先后次序,对所有的所述静态随机存取存储器进行依次串连,其中,按照所述排序信息的先后次序,前一个静态随机存取存储器的控制输出端口sleep out和后一个静态随机存取存储器的控制输入端口sleep in相连。
本申请实施例提供一种计算机可读的存储介质,其上存储有计算机程序,当所述计算机程序在计算机上执行时,使得所述计算机执行如本实施例提供的设备控制方法中的流程。
本申请实施例还提供一种电子设备,包括存储器,处理器,所述处理器通过调用所述存储器中存储的计算机程序,用于执行本实施例提供的设备控制方法中的流程。
例如,上述电子设备可以是诸如平板电脑或者智能手机等移动终端。请参阅图8,图8为本申请实施例提供的电子设备的结构示意图。
该电子设备400可以包括显示屏401、存储器402、处理器403等部件。本领域技术人员可以理解,图8中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
显示屏401可以用于显示诸如文字、图像等信息,显示屏401还可以用于接收用户的触摸操作等。
存储器402可用于存储应用程序和数据。存储器402存储的应用程序中包含有可执行代码。应用程序可以组成各种功能模块。处理器403通过运行存储在存储器402的应用程序,从而执行各种功能应用以及数据处理。
处理器403是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器402内的应用程序,以及调用存储在存储器402内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。
在本实施例中,电子设备中的处理器403会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行代码加载到存储器402中,并由处理器403来运行存储在存储器402中的应用程序,从而执行:
获取多个静态随机存取存储器的坐标;
获取最优路径算法;
利用所述最优路径算法,计算将所有的所述静态随机存取存储器的坐标串连起来的最短路径;
按照所述最短路径对所有的所述静态随机存取存储器进行依次串连。
请参阅图9,电子设备400可以包括显示屏401、存储器402、处理器403、电池404、扬声器405、麦克风406等部件。
显示屏401可以用于显示诸如文字、图像等信息,显示屏401还可以用于接收用户的触摸操作等。
存储器402可用于存储应用程序和数据。存储器402存储的应用程序中包含有可执行代码。应用程序可以组成各种功能模块。处理器403通过运行存储在存储器402的应用程序,从而执行各种功能应用以及数据处理。
处理器403是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器402内的应用程序,以及调用存储在存储器402内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。
电池404可以用于为电子设备的各个部件和模块提供电力支持,从而保证各个部件和模块能够正常运行。
扬声器405可以用于播放声音信号。
麦克风406可以用于采集周围环境中的声音信号,例如麦克风406可以用于采集用户发出的语音。
在本实施例中,电子设备中的处理器403会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行代码加载到存储器402中,并由处理器403来运行存储在存储器402中的应用程序,从而执行:
获取多个静态随机存取存储器的坐标;
获取最优路径算法;
利用所述最优路径算法,计算将所有的所述静态随机存取存储器的坐标串连起来的最短路径;
按照所述最短路径对所有的所述静态随机存取存储器进行依次串连。
在一种实施方式中,处理器403还可以执行:根据所述最短路径,对所有的所述坐标进行排序,得到排序信息,所述排序信息中的先后次序用于表示所述最短路径对应的串连先后次序。
那么,处理器403执行所述按照所述最短路径对所有的所述静态随机存取存储器进行依次串连时,可以执行:按照坐标在所述排序信息中的先后次序,对所有的所述静态随机存取存储器进行依次串连。
在一种实施方式中,处理器403执行所述获取多个静态随机存取存储器的坐标时,可以执行:获取多个静态随机存取存储器的端口的坐标。
在一种实施方式中,处理器403执行所述获取多个静态随机存取存储器的端口的坐标时,可以执行:获取多个静态随机存取存储器的控制输入端口sleep in的坐标。
在一种实施方式中,所述最优路径算法包括蚁群算法。
在一种实施方式中,所述静态随机存取存储器还可以包括控制输出端口sleepout。
那么,处理器403执行所述按照坐标在所述排序信息中的先后次序,对所有的所述静态随机存取存储器进行依次串连时,可以执行:按照坐标在所述排序信息中的先后次序,对所有的所述静态随机存取存储器进行依次串连,其中,按照所述排序信息的先后次序,前一个静态随机存取存储器的控制输出端口sleep out和后一个静态随机存取存储器的控制输入端口sleep in相连。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对设备控制方法的详细描述,此处不再赘述。
本申请实施例提供的所述设备控制装置与上文实施例中的设备控制方法属于同一构思,在所述设备控制装置上可以运行所述设备控制方法实施例中提供的任一方法,其具体实现过程详见所述设备控制方法实施例,此处不再赘述。
需要说明的是,对本申请实施例所述设备控制方法而言,本领域普通技术人员可以理解实现本申请实施例所述设备控制方法的全部或部分流程,是可以通过计算机程序来控制相关的硬件来完成,所述计算机程序可存储于一计算机可读取存储介质中,如存储在存储器中,并被至少一个处理器执行,在执行过程中可包括如所述设备控制方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)等。
对本申请实施例的所述设备控制装置而言,其各功能模块可以集成在一个处理芯片中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中,所述存储介质譬如为只读存储器,磁盘或光盘等。
以上对本申请实施例所提供的一种设备控制方法、装置、存储介质以及电子设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
- 电子设备、电子设备的控制方法及存储有控制电子设备的控制部所执行的程序的存储介质
- 分体式电子设备的控制方法、装置、存储介质及电子设备