CN114879811B - 一种芯片的时序控制方法 - Google Patents

一种芯片的时序控制方法 Download PDF

Info

Publication number
CN114879811B
CN114879811B CN202210811721.5A CN202210811721A CN114879811B CN 114879811 B CN114879811 B CN 114879811B CN 202210811721 A CN202210811721 A CN 202210811721A CN 114879811 B CN114879811 B CN 114879811B
Authority
CN
China
Prior art keywords
module
configuration
data block
configuration data
module group
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210811721.5A
Other languages
English (en)
Other versions
CN114879811A (zh
Inventor
耿晓祥
周建
王建中
马肖祥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangsu Yuntu Semiconductor Co.,Ltd.
Original Assignee
Suzhou Yuntu Semiconductor Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou Yuntu Semiconductor Co ltd filed Critical Suzhou Yuntu Semiconductor Co ltd
Priority to CN202210811721.5A priority Critical patent/CN114879811B/zh
Publication of CN114879811A publication Critical patent/CN114879811A/zh
Application granted granted Critical
Publication of CN114879811B publication Critical patent/CN114879811B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Logic Circuits (AREA)

Abstract

本发明涉及一种芯片的时序控制方法,所述方法包括:对芯片上包含的模块作层次划分,通过基于第一配置数据块和第二配置数据块的螺旋控制方式分次加载第二配置数据并作配置;差异化的管理第二配置数据块以对第二模块组作静态最优配置;基于历史信息获取第三配置模块并在恰当的时机覆盖替换第二配置模块以利用实时检测信息作动态配置;本发明通过基于第一配置数据块和第二配置数据块的螺旋控制方式减少参与后续工作的模块集合,自适应的设置和不同配置方式对应的重新配置次数为不同的配置方式提供差异化的配置冗余程度、使得模块能够获取最高效的配置方式,从而提高了芯片工作效率。

Description

一种芯片的时序控制方法
技术领域
本发明属于电子电路技术领域,尤其涉及一种芯片的时序控制方法。
背景技术
目前,随着电子、通讯等***的复杂度不断提高,电子产品的应用逐渐广泛。电子产品的功能实现,往往是通过不同的功能模块完成的。在电子产品的启动和工作过程中,需要时序控制芯片上各个功能模块的上电,工作,休眠,关机等工作。芯片在上电过程中会对不同的模块进行测试和配置;无序的控制,非差异化的控制,忽视模块工作状态的控制会大大的降低时序控制的效率;同时,由于功能模块的设计工艺、制式、平台与生产厂家的不同,使得不同平台的功能模块产品上电时序不同,产品迭代兼容性差,这样在复杂功能模块的协同配置过程中,随着模块使用时间长度的增加以及效率衰减,功能模块的配置数据无法协同性改变,这样功能模块的兼容性会大大降低,往往需要修改功能模块的时序配置;如果还采用传统的直接用芯片的原始设定时钟顺序加载数据,会加剧功能模块的兼容能力下降,此时,如果加载过程中电压或者时钟抖动导致加载时序或者某些数据传输错误,将会导致芯片无法正常工作;如何在不增加过多复杂度或者增加较少的复杂度的情况下,对芯片模块作静态和动态结合的时序控制,这是待解决的问题。
本发明通过模块及其组成部分的划分,以及基于第一配置数据块和第二配置数据块的螺旋控制方式减少参与后续工作的模块集合,自适应的设置和不同配置方式对应的重新配置次数为不同的配置方式提供差异化的配置冗余程度、使得模块能够获取最高效的配置方式,从而提高了芯片工作效率。
发明内容
为了解决现有技术中的上述问题,本发明提出了一种芯片的时序控制方法,所述方法包含:
步骤S1:芯片上电启动,加载第一模块组的第一初始数据块并校验第一初始数据块,若校验通过,加载第一配置数据块,基于第一配置数据块确定第二模块组;若校验未通过,返回步骤S1;其中:芯片包括多个模块;所述多个模块被划分为第一模块组、第二模块组和第三模块组;第一模块组、第二模块组和第三模块组包含的模块或其组合部分均不重合;
所述基于第一配置数据块确定第二模块组,具体为:基于第一配置数据块中的目标位置处的数据确定第二模块组;目标位置处为每个第二模块组中的模块或其组成部分设置状态位,当所述状态位为1时,确定所述模块或其组成部分在第二模块组中,否则,确定所述模块或其组成部分不在第二模块组中;
步骤S2:加载第二模块组的第二初始数据块并校验第二初始数据块,校验通过后,加载第二配置数据块;
步骤S3:基于第一配置数据块和第二配置数据块完成第一模块组和第二模块组的配置;若基于第一配置数据块的配置发生错误,则返回步骤S1,若基于第二配置数据块的配置发生错误,则进入步骤S4;否则,进入步骤S5;
所述基于第一配置数据块和第二配置数据块完成第一模块组和第二模块组的配置,具体为;基于第一配置数据块完成第一模块组的配置,基于第二配置数据块完成第二模块组的配置;
所述基于第二配置数据块完成第二模块组的配置,具体包括如下步骤:
步骤S3A1:获取第二模块组中的一未配置模块或其组成部分作为当前模块,获取其标识;若第二模块组均配置完毕,则进入步骤S3A5;其中:第二配置数据块基于各芯片模块或其组成部分的标识进行区分以形成和标识关联的一个或者多个第二数据块组;
步骤S3A2:获取和所述未配置模块标识对应的第二数据块组;其中:第二数据块组包括多个按照顺序排列的第二子块;每个第二子块对应未配置模块或其组成部分的一种配置形态;
步骤S3A3:基于当前第二子块对所述未配置模块进行配置;在配置完成后启动实时检测,并获取检测结果;判断配置是否成功,如果是,则当前模块配置成功,返回步骤S3A1;否则,进入步骤S3A4;当前第二子块的初始值是第二数据块组中的首个第二子块;
步骤S3A4:判断重新配置次数是否达到,如果达到,则设置当前第二子块为和当前第二子块相邻的下一第二子块,此时,如果不存在和当前第二子块相邻的下一第二子块,则记录模块或其组成部分标识及其对应的总重新配置次数,当前模块配置失败,返回步骤S3A1;如果存在,则返回并重新执行步骤S3A3;如果未达到,则直接返回步骤S3A3;其中:所述总重新配置次数是模块对应的所有第二子块进行的重新配置次数的加和;
步骤S3A5:若所有模块或其组成部分均成功配置,则进入步骤S5;在存在模块或其组成部分未成功配置的情况下,进入步骤S4通过外部通信的方式作动态配置;
步骤S4:从外部通信模块获取第三配置数据块,并基于所述第三配置数据完成第二模块组的动态时序控制;
所述从外部通信模块获取第三配置数据块,具体为:获取每个模块或其组成部分对应的总重新配置次数,并将其转换成第一配置模型的输入向量,将第一配置模型的输入向量输入第一配置模型中以得到第三配置数据块;其中:第三配置数据块中包括关于已成功配置的模块和未配置成功模块的配置数据;
所述将第一配置模型的输入向量输入第一配置模型中以得到第三配置数据块,具体为:获取和所述输入向量最接近的参考向量;根据所述参考向量查找预设表以得到第三配置数据块标识,基于所述第三配置数据标识查找配置表以得到第三配置数据块;
判断芯片采用第三配置数据块进行动态配置的累计次数,当所述累计次数超过累计阈值时,从第三配置数据块中选择一个第三配置数据块写入存储单元中以替代部分第二配置数据块;
步骤S5:所有模块及其组成部分均配置完成,芯片启动和/或配置完成。
进一步的,在重新返回步骤S1之前进行错误报警和人工反馈。
进一步的,第一初始数据块的尺寸小于第一配置数据块。
进一步的,所述第一初始数据块的大小为8bits。
进一步的,当电源模块包括第一电源模块和第二电源模块时,响应于芯片上电信号,顺序控制所述两个电源模块依次对第一模块组和第二模块组上电启动;在加载第一配置数据块前通过第一电源模块对第一模块组作上电启动,在加载第二配置数据块前通过第二电源模块对第二模块组作上电启动。
进一步的,当第二模块组中包含多个模块或其组成部分时,依次对其进行第二初始数据块的加载和校验。
进一步的,在存在模块或其组成部分未成功配置的情况下,返回步骤S1进行重新上电启动。
一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述的芯片的时序控制方法。
一种电子电路,所述电子电路实现所述的芯片的时序控制方法。
一种集成电路芯片,所述集成电路芯片上的硬件逻辑实现所述的芯片的时序控制方法。
本发明的有益效果包括:(1)基于不同粒度进行的模块划分,通过基于第一配置数据块和第二配置数据块的螺旋控制方式减少参与后续工作的模块集合,从而降低这些模块带来的芯片整体效率降低,提高芯片工作效率;同时,通过第一模块组和第二模块组的共同配置,使得相互配合的模块能够实现协同配置,提高了时序控制的效率;(2)将存储单元所呈现的层次化特性用于时序控制过程中,通过分层次配置能够避免故障存储单元带来的性能损失的同时作精准配置;还能够支持对芯片模块的适应性上电启动,从而达到适应性降低功耗的目的;(3)通过自适应的设置和不同配置方式对应的重新配置次数为不同的配置方式提供差异化的配置冗余程度、使得模块或其组成部分能够获取最高效的配置方式,从而提高了芯片工作效率;基于重新配置次数引导的参考向量查找方式可以获取和当前的芯片状态下,其所有功能模块的协调工作能力最强的配置方式;(4)通过记录重新配置次数及其发生位置,充分利用动态配置过程中不同配置形态在模块上的配置进展情况所蕴含的信息,利用该配置进展情况能够精确的获取更佳的适合所有模块的组合配置方式。
附图说明
此处所说明的附图是用来提供对本发明的进一步理解,构成本申请的一部分,但并不构成对本发明的不当限定,在附图中:
图1为本发明提供的芯片的时序控制方法示意图。
具体实施方式
下面将结合附图以及具体实施例来详细说明本发明,其中的示意性实施例以及说明仅用来解释本发明,但并不作为对本发明的限定。
如附图1所示,本发明提出一种芯片的时序控制方法,所述方法包括如下步骤:
步骤S1:芯片上电启动,加载第一模块组的第一初始数据块并校验第一初始数据块,若校验通过,加载第一配置数据块,基于第一配置数据块确定第二模块组;若校验未通过,重新返回步骤S1;其中:芯片包括多个模块;所述多个模块被划分为第一模块组、第二模块组和第三模块组;第一模块组、第二模块组和第三模块组均不重合;当第一模块组和第二模块组中包含了芯片上的所有模块及其组成部分时,第三模块组中不包括任何模块或模块的组成部分,反之亦然;对存储单元的划分粒度为存储单元、bank、存储单元块等中的一个或者多个的组合;本发明利用存储单元作为故障率较高,替换性较强的模块而存在的这个特点,通过分层次配置能够避免故障存储单元带来的性能损失的同时作精准配置;通过利用模块的层次性特性引入分层次的螺旋配置,来提高芯片时序控制的效率;通过对第一配置数据块的目标位置处数据的改变来改变对模块的划分;
优选的:在重新返回步骤S1之前进行错误报警和人工反馈;
优选的:第一初始数据块的尺寸小于第一配置数据块;此时,在每次上电启动后发送的第一初始数据块的内容是不同的;所述第一初始数据块的内容是随机的;在第一配置数据块的尺寸小于第一预设尺寸时,设置所述第一初始数据块的内容等于所述第一配置数据块;通过这样的方式减少一次数据加载的时间,提高时序控制效率;
优选的:所述第一初始数据块的大小为8bits;
优选的:在针对第一初始数据块的数据校验错误的次数小于错误次数阈值时,才设置所述第一初始数据块的内容等于所述第一配置数据块;当芯片可能产生恶意攻击或者不可知硬件错误时,可以适当牺牲时序控制效率来提高安全等级;
优选的:在芯片内部时钟工作稳定后,产生第一模块组和第二模块组的上电使能信号,完成第一模块组和第二模块组的上电启动;其中:第一模块组包括存储单元的第一部分;第二模块组包括存储单元的第二部分;第一模块组和第二模块组还包括CPU、内存、温度检测模块、外部通信模块等中的一个或多个;所述外部通信模块包括IO模块、可信控制模块、安全存储模块或网络模块;
优选的:当电源模块包括第一电源模块和第二电源模块时,响应于芯片上电信号,顺序控制所述两个电源模块依次对第一模块组和第二模块组上电启动;在加载第一配置数据块前通过第一电源模块对第一模块组作上电启动,在加载第二配置数据块前通过第二电源模块对第二模块组作上电启动;也就是说,在电源资源丰富的情况下本发明的芯片的时序控制方法支持对芯片模块及其组成部分的适应性上电启动,从而达到适应性降低功耗的目的,更少的功耗会带来很多好处,最直接的就是先天的温度降低;一种可能的情况是部分经常出错的存储单元就不进行上电配置了,这将从芯片启动的一刻起减少能耗;
所述基于第一配置数据块确定第二模块组,具体为:基于第一配置数据块中的目标位置处的数据确定第二模块组;目标位置处为每个第二模块组中的模块或其组成部分设置状态位,当所述状态位为1时,确定所述模块或其组成部分在第二模块组中,否则,确定所述模块或其组成部分不在第二模块组中;如果一个模块或其组织部分不在第一模块组和第二模块组中,则位于第三模块组中;第三模块组中的模块不作启动和配置,或在后续控制流程中启动和配置;
可替换的:所述基于第一配置数据块确定第二模块组,具体为:基于第一配置数据块中的目标位置处的数据确定第二模块组;所述目标位置记录准第二模块组中各个模块的历史工作状态;当准第二模块中存在一模块或其组成部分的历史工作状态为预设工作状态时,将所述一模块从准第二模块组中删除,以形成最终的第二模块组;被删除的模块就成为第三模块组中的一个模块而不进行配置;准第二模块组包括芯片中除了第一模块组外的其他模块;也就是说,当第一模块组是确定的时,准第二模块组也是确定的,并不会随着芯片的重复启动而改变;
优选的:通过累加的方式记录所述历史工作状态;例如:通过累加的方式记录一模块的累积报错次数、累积使用时间、导致芯片整体降频的次数等中的一个或多个;当目标位置处的数据值递增到溢出时确定历史工作状态为预设工作状态;为不同的模块或其组成部分分配不同尺寸的目标位置尺寸以调整计数的最大值,也就是进入预设工作状态的计数值;
也就是说,第一模块组和第二模块组的合并构成或不构成芯片所有模块的集合;在芯片中部分模块的工作效率较低或出现故障时,通过第一配置数据块的改变来减少参与后续工作的模块集合,从而降低这些模块带来的芯片整体效率降低,提高芯片工作效率;
步骤S2:加载第二模块组的第二初始数据块并校验第二初始数据块,校验通过后,加载第二配置数据块; 这一步骤的执行和步骤S1类似;
优选的:当第一模块组为存储单元的第一部分,第二模块组为存储单元的第二部分,且第一模块组和第二模块组共用一个访问通道时,不作第二初始数据块的加载和校验,直接加载第二配置数据块;
优选的:当第二模块组中包含多个模块或其组成部分时,依次对所包含的每个模块进行第二初始数据块的加载和校验;
步骤S3:基于第一配置数据块和第二配置数据块完成第一模块组和第二模块组的配置;若基于第一配置数据块的配置发生错误,则返回步骤S1,若基于第二配置数据块的配置发生错误,则进入步骤S4;否则,进入步骤S5;
优选的:基于第一配置数据块完成第一模块组的配置,基于第一配置数据块和第二配置数据块完成第二模块组的配置;也就是说,第二模块组可以共享第一模块组中的协同配置信息;虽然第一模块组和第二模块组采用螺旋方式进行上电和加载,但是在确定第二模块组后,通过第一模块组和第二模块组的共同配置,使得他们中的发生密切关联的部分、需要相互配合的部分能够实现协同配置,提高了时序控制的效率;
可替换的,所述基于第一配置数据块和第二配置数据块完成第一模块组和第二模块组的配置,具体为;基于第一配置数据块完成第一模块组的配置,基于第二配置数据块完成第二模块组的配置;
所述基于第二配置数据块完成第二模块组的配置,具体包括如下步骤:
步骤S3A1:获取第二模块组中的一未配置模块或其组成部分作为当前模块,获取其标识;若第二模块组均配置完毕,则进入步骤S3A4;其中:第二配置数据块基于各芯片模块或其组成部分的标识进行区分以形成和标识关联的一个或者多个第二数据块组;未配置模块并非一定是独立的功能模块,也可以是独立功能模块的组成部分,也即,所述未配置模块包括芯片上的功能模块或者存储单元的存储单元、bank或数据块;
步骤S3A2:获取和所述未配置模块标识对应的第二数据块组;其中:第二数据块组包括多个按照顺序排列的第二子块;每个第二子块对应未配置模块的一种配置形态;随着排列顺序的增长,对应的第二子块的对模块的配置形态越简单,实现的功能越简单、控制方式越简单;
步骤S3A3:基于当前第二子块对所述未配置模块进行配置;在配置完成后启动实时检测,并获取检测结果;判断配置是否成功,如果是,则当前模块配置成功,返回步骤S3A1;否则,进入步骤S3A4;当前第二子块的初始值是第二数据块组中的首个第二子块;
步骤S3A4:判断重新配置次数是否达到,如果达到,则设置当前第二子块为和当前第二子块相邻的下一第二子块,此时,如果不存在和当前第二子块相邻的下一第二子块,则记录模块标识及其对应的总重新配置次数,当前模块配置失败,返回步骤S3A1;如果存在,则返回并重新执行步骤S3A3;如果未达到,则直接返回步骤S3A3;其中:所述总重新配置次数是模块对应的所有第二子块进行的重新配置次数的加和;重新配置次数的初始值为0或历史累积值;如果所有的第二子块都达到了重新配置次数,也就是说,经过多次尝试所有的静态配置方式都是不可行的,通过记录重新配置次数加和对应的总重新配置次数指导基于外部通信进行的动态配置;一种简单的方式是,重新返回步骤S3作重新配置,通过避免随机错误来实现模块的成功配置;
优选的:记录每个未配置模块对应的第二子块的重新配置次数以构成模块错误向量,将所述模块错误向量和模块标识关联存储;总重新配置次数,或者更佳的,重新配置次数及其发生位置能够体现不同配置形态在模块上的配置进展情况,利用该配置进展情况能够精确的获取更佳的适合所有模块的组合配置方式;通过自适应的设置和不同配置方式对应的重新配置次数为不同的配置方式提供差异化的配置冗余程度、使得模块能够获取最高效的配置方式,从而提高了芯片工作效率;
优选的:同一未配置模块标识对应的第二子块的大小相等,由于子块时按照顺序排列的,只需要按照固定顺序改变访问地址即可,也就是说,通过顺序排列的方式能够提高控制效率;
优选的:每个第二子块对应的重新配置次数是相同或不同的;
步骤S3A5:若所有模块或其组成部分均成功配置,则进入步骤S5;在存在模块或其组成部分未成功配置的情况下,进入步骤S4通过外部通信的方式作动态配置;
可替换的:在存在模块或其组成部分未成功配置的情况下,重新返回步骤S3作重新配置,通过避免随机错误来实现模块的成功配置;
可替换的:在存在模块未成功配置的情况下,返回步骤S1进行重新上电启动;也就是通过尝试芯片内部模块的随机错误未发生来解决配置过程中发生的错误;
优选的:从可编程存储器、电子保险丝eFuse等存储介质中读取第二配置数据块;这配置数据块通过烧入的方式写入;但是这种方式的修改能力有限,在芯片内部的模块工作状态发生多样化改变,使用环境复杂的情况下, 无法进一步的提高自适应性;
步骤S4:从外部通信模块获取第三配置数据块,并基于所述第三配置数据完成第二模块组的动态时序控制;
所述从外部通信模块获取第三配置数据块,具体为:获取每个模块或其组成部分对应的总重新配置次数,并将其转换成第一配置模型的输入向量,将第一配置模型的输入向量输入第一配置模型中以得到第三配置数据块;其中:第三配置数据块中包括关于已成功配置的模块和未配置成功模块的配置数据;也就是说,第三配置数据块中提供的是第二模块组中所有模块的协同配置方案;
所述将第一配置模型的输入向量输入第一配置模型中以得到第三配置数据块,具体为:将第一配置模型的输入向量输入第一配置模型中以得到第三配置数据块标识,基于所述第三配置数据标识查找配置表以得到第三配置数据块;
优选的:所述配置表为预设表;
可替换的:所述将第一配置模型的输入向量输入第一配置模型中以得到第三配置数据块,具体为:获取和所述输入向量最接近的参考向量,所述最接近是为参考向量中的每个元素和输入向量中每个元素之间欧式距离的平均值最小;根据所述参考向量查找预设表以得到第三配置数据块标识,基于所述第三配置数据标识查找配置表以得到第三配置数据块;通过基于重新配置次数引导的参考向量查找方式可以获取和当前的芯片状态下,所有功能模块的协调工作能力最强的配置方式;
所述获取每个模块或其组成部分对应的总重新配置次数,并将其转换成第一配置模型输入向量,具体为:将每个总配置次数填入输入向量中和所述标识对应的元素位置上以形成输入向量;也就是说,输入向量的元素个数和模块的标识个数之间是一一对应的;
优选的:第一配置模型中保存输入向量和第三配置数据块标识之间的对应关系;实际上,重新配置次数和模块类型、模块配合、模块使用时间长度、模块的配置方式都存在直接或者间接的关系,通过输入向量的方式可以综合考量这些因素所对应第三配置数据块;
可替换的:所述获取每个模块及其对应的总重新配置次数,并将其转换成第一配置模型输入向量,具体为:基于模块或其组成部分标识和模块或其组成部分的使用时间长度查找其对应的参考配置次数,所述查找得到的参考配置次数是基于历史数据得到的,将每个配置次数填写入输入向量中和所述模块或其组成部分标识对应的元素位置上以形成参考向量;将每个总配置次数填写入输入向量中和所述标识对应的元素位置上以形成动态向量;基于参考向量和动态向量得到输入向量;
所述基于参考向量和动态向量得到输入向量,具体为:将参考向量和动态向量的均值向量作为输入向量;将实时获取的输入向量用参考数值调整后能够充分而最简单的利用历史数据;
所述基于所述第三配置数据完成第二模块组的动态时序控制,具体为:基于第三配置数据块对第二模块组中的每个模块进行重新配置;配置过程和步骤S3中类似;优选的:将第三配置数据覆盖第二配置数据,并返回步骤S1以进行重新配置;
优选的:判断芯片采用第三配置数据块进行动态配置的累计次数,当所述累计次数超过累计阈值时,从第三配置数据块中选择一个第三配置数据块写入存储单元中以替代部分第二配置数据块;由于每次采用外部通信方式进行配置时,都会获取第三配置数据块,而这些数据块是相同、部分相同或者完全不同的,也就是说第三配置数据块的个数为一个或者多个;
可替换的:从第三配置数据块中选择一个或者多个第三配置数据块写入存储单元中以替代全部第二配置数据块;选择一个和其他第三配置数据块之间内容相似度最高的第三配置数据块;所述相似度是根据两个第三配置数据块之间相同内容的比例计算得到的;例如:当两个第三配置数据块中有50%的部分是相同的时,这两个第三配置数据块之间的相似度时50%;通过这样的方式可以间接的选择一个最优的配置数据;
优选的:所述方法还包括步骤S5:所有模块配置完成,芯片启动和/或配置完成;
优选的:所述配置模型根据从多个芯片获取的模块标识及其对应的总配置次数作为样本数据进行训练得到;
可替换的:将芯片的模块标识及其对应的总配置次数输入第二配置模型以获取第三配置数据,获取配置模型的输出结果,在模型训练稳定后,用第三配置数据块覆盖第二配置数据块;第二配置模型为神经网络模型,其输出结果为第三配置数据块的标识;
所述第三配置模型的输入为所记录的每个未配置模块对应的第二子块的重新配置次数所构成得模块错误向量,也就是说,当模块为多个时,输入为和所述多个模块对应的多个错误向量所组成的矩阵,错误向量在和所述模块标识对应的位置输入;当利用错误向量信息时,信息构成较为复杂,通过神经网络模型相对复杂,但是能够从长远的角度获取全局更优的结果引导后续的上电启动过程中的时序控制和配置数据利用;对第三配置模型的训练是基于多个芯片的数据;在芯片启动后,将所记录的和模块标识关联存储的模块错误向量通过外部通信模块发送以用于进行第三配置模型的训练;
可以将第三配置模型放在用于芯片管理的大数据平台之上,用大数据信息对第三配置模型、甚至是第二配置模型进行管理;
术语“数据处理装置”、“数据处理***”、“用户设备”或“计算设备”包涵用于处理数据的所有种类的装置、设备和机器,举例包括可编程处理器、计算机、片上***、或者上述中的多个或其组合。所述装置能够包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件,所述装置还可以包括代码,创建用于所述计算机程序的执行环境,例如,构成处理器固件、协议栈、数据库管理***、操作***、跨平台运行环境、虚拟机或上述一个或多个的组合的代码。该装置和执行环境可以实现各种不同计算模型基础设施,诸如web服务、分布式计算、和网格计算基础设施。
计算机程序(也被称为程序、软件、软件应用、脚本或代码)能够以编程语言的任何形式来撰写,包括汇编或解释语言、说明或过程性语言,且其可以以任何形式部署,包括作为单机程序或者作为模块、组件、子例程、对象或适于在计算环境中使用的其他单元。计算机程序可以但不必与文件***中的文件相对应。程序能够存储在保持其他程序或数据(例如存储在标记语言文档中的一个或多个脚本)的文件的一部分中,在专用于所述程序的单个文件中,或者在多个协同文件中(例如,存储一个或多个模块、子例程或代码部分的文件)。计算机程序可以部署为在一个计算机上或位于一个站点或跨多个站点分布且由通信网络互连的多个计算机上执行。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。

Claims (10)

1.一种芯片的时序控制方法,其特征在于,包括:
步骤S1:芯片上电启动,加载第一模块组的第一初始数据块并校验第一初始数据块,若校验通过,加载第一配置数据块,基于第一配置数据块确定第二模块组;若校验未通过,返回步骤S1;其中:芯片包括多个模块;所述多个模块被划分为第一模块组、第二模块组和第三模块组;第一模块组、第二模块组和第三模块组包含的模块或其组合部分均不重合;
所述基于第一配置数据块确定第二模块组,具体为:基于第一配置数据块中的目标位置处的数据确定第二模块组;目标位置处为每个第二模块组中的模块或其组成部分设置状态位,当所述状态位为1时,确定所述模块或其组成部分在第二模块组中,否则,确定所述模块或其组成部分不在第二模块组中;
步骤S2:加载第二模块组的第二初始数据块并校验第二初始数据块,校验通过后,加载第二配置数据块;
步骤S3:基于第一配置数据块和第二配置数据块完成第一模块组和第二模块组的配置;若基于第一配置数据块的配置发生错误,则返回步骤S1,若基于第二配置数据块的配置发生错误,则进入步骤S4;否则,进入步骤S5;
所述基于第一配置数据块和第二配置数据块完成第一模块组和第二模块组的配置,具体为;基于第一配置数据块完成第一模块组的配置,基于第二配置数据块完成第二模块组的配置;
所述基于第二配置数据块完成第二模块组的配置,具体包括如下步骤:
步骤S3A1:获取第二模块组中的一未配置模块或其组成部分作为当前模块,获取其标识;若第二模块组均配置完毕,则进入步骤S3A5;其中:第二配置数据块基于各芯片模块或其组成部分的标识进行区分以形成和标识关联的一个或者多个第二数据块组;
步骤S3A2:获取和未配置模块标识对应的第二数据块组;其中:第二数据块组包括多个按照顺序排列的第二子块;每个第二子块对应未配置模块或其组成部分的一种配置形态;
步骤S3A3:基于当前第二子块对所述未配置模块进行配置;在配置完成后启动实时检测,并获取检测结果;判断配置是否成功,如果是,则当前模块配置成功,返回步骤S3A1;否则,进入步骤S3A4;当前第二子块的初始值是第二数据块组中的首个第二子块;
步骤S3A4:判断重新配置次数是否达到,如果达到,则设置当前第二子块为和当前第二子块相邻的下一第二子块,此时,如果不存在和当前第二子块相邻的下一第二子块,则记录模块或其组成部分标识及其对应的总重新配置次数,当前模块配置失败,返回步骤S3A1;如果存在,则返回并重新执行步骤S3A3;如果未达到,则直接返回步骤S3A3;其中:所述总重新配置次数是模块对应的所有第二子块进行的重新配置次数的加和;
步骤S3A5:若所有模块或其组成部分均成功配置,则进入步骤S5;在存在模块或其组成部分未成功配置的情况下,进入步骤S4通过外部通信的方式作动态配置;
步骤S4:从外部通信模块获取第三配置数据块,并基于所述第三配置数据完成第二模块组的动态时序控制;
所述从外部通信模块获取第三配置数据块,具体为:获取每个模块或其组成部分对应的总重新配置次数,并将其转换成第一配置模型的输入向量,将第一配置模型的输入向量输入第一配置模型中以得到第三配置数据块;其中:第三配置数据块中包括关于已成功配置的模块和未配置成功模块的配置数据;
所述将第一配置模型的输入向量输入第一配置模型中以得到第三配置数据块,具体为:获取和所述输入向量最接近的参考向量;根据所述参考向量查找预设表以得到第三配置数据块标识,基于所述第三配置数据标识查找配置表以得到第三配置数据块;
判断芯片采用第三配置数据块进行动态配置的累计次数,当所述累计次数超过累计阈值时,从第三配置数据块中选择一个第三配置数据块写入存储单元中以替代部分第二配置数据块;
步骤S5:所有模块及其组成部分均配置完成,芯片启动和/或配置完成。
2.根据权利要求1所述的芯片的时序控制方法,其特征在于,在重新返回步骤S1之前进行错误报警和人工反馈。
3.根据权利要求2所述的芯片的时序控制方法,其特征在于,第一初始数据块的尺寸小于第一配置数据块。
4.根据权利要求3所述的芯片的时序控制方法,其特征在于,所述第一初始数据块的大小为8bits。
5.根据权利要求4所述的芯片的时序控制方法,其特征在于,当电源模块包括第一电源模块和第二电源模块时,响应于芯片上电信号,顺序控制所述第一电源模块和第二电源模块依次对第一模块组和第二模块组上电启动;在加载第一配置数据块前通过第一电源模块对第一模块组作上电启动,在加载第二配置数据块前通过第二电源模块对第二模块组作上电启动。
6.根据权利要求5所述的芯片的时序控制方法,其特征在于,当第二模块组中包含多个模块或其组成部分时,依次对其进行第二初始数据块的加载和校验。
7.根据权利要求6所述的芯片的时序控制方法,其特征在于,在存在模块或其组成部分未成功配置的情况下,返回步骤S1进行重新上电启动。
8.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1-7中任一项所述的芯片的时序控制方法。
9.一种电子电路,其特征在于,所述电子电路实现如权利要求1-7中任一项所述的芯片的时序控制方法。
10.一种集成电路芯片,其特征在于,所述集成电路芯片上的硬件逻辑实现如权利要求1-7中任一项所述的芯片的时序控制方法。
CN202210811721.5A 2022-07-12 2022-07-12 一种芯片的时序控制方法 Active CN114879811B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210811721.5A CN114879811B (zh) 2022-07-12 2022-07-12 一种芯片的时序控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210811721.5A CN114879811B (zh) 2022-07-12 2022-07-12 一种芯片的时序控制方法

Publications (2)

Publication Number Publication Date
CN114879811A CN114879811A (zh) 2022-08-09
CN114879811B true CN114879811B (zh) 2022-09-20

Family

ID=82683437

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210811721.5A Active CN114879811B (zh) 2022-07-12 2022-07-12 一种芯片的时序控制方法

Country Status (1)

Country Link
CN (1) CN114879811B (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112596798B (zh) * 2020-12-25 2024-06-14 珠海一微半导体股份有限公司 一种芯片启动控制电路及控制方法
CN113238678A (zh) * 2021-05-18 2021-08-10 北京集创北方科技股份有限公司 控制装置、时序控制电路、控制方法、芯片及电子设备
CN114020518B (zh) * 2021-10-30 2023-04-07 深圳曦华科技有限公司 上电时序控制的方法及相关装置
CN114356588B (zh) * 2022-03-18 2022-06-17 苏州云途半导体有限公司 一种数据预加载方法和装置

Also Published As

Publication number Publication date
CN114879811A (zh) 2022-08-09

Similar Documents

Publication Publication Date Title
US10204698B2 (en) Method to dynamically inject errors in a repairable memory on silicon and a method to validate built-in-self-repair logic
US9069903B2 (en) Multi-platform test automation enhancement
US10558518B2 (en) Dynamic adjustments within memory systems
JP2006260568A (ja) アクティブ及び非アクティブ実行コアを有するマルチコアプロセッサ
CN111327490B (zh) 区块链的拜占庭容错检测方法及相关装置
CN111274077A (zh) 一种磁盘阵列可靠性测试方法、***、终端及存储介质
CN102831058B (zh) 一种测试方法和装置
JP7155626B2 (ja) フィールドデバイスコミッショニングシステムおよびフィールドデバイスコミッショニング方法
US20210374029A1 (en) System and Method for Monitoring Computing Platform Parameters and Dynamically Generating and Deploying Monitoring Packages
CN111723020A (zh) 一种电能表测试软件的测试方法、装置及其设备
US7475164B2 (en) Apparatus, system, and method for automated device configuration and testing
CN114879811B (zh) 一种芯片的时序控制方法
CN113127331B (zh) 一种基于故障注入的测试方法、装置及计算机设备
CN116302740A (zh) 内存故障修复能力评估方法、装置及计算机设备
US11556460B2 (en) Test case generation for software development using machine learning
CN115495301A (zh) 一种故障处理方法、装置、设备及***
US11288153B2 (en) Self-healing computing device
CN109374038B (zh) 一种基于应用样机的核安全级仪控产品的变更测试方法
US20070169117A1 (en) Firmware loading device
CN113742198B (zh) 测试方法、装置、电子设备及存储介质
US11556790B2 (en) Artificial neural network training in memory
Wang et al. Real-time system fault-tolerant scheme based on improved chaotic genetic algorithm
Kim et al. Automating Endurance Test for Flash-based Storage Devices in Samsung Electronics
CN113742148A (zh) 硬盘稳定可靠性测试方法、测试***及计算机存储介质
CN104979017A (zh) 用于测试及组装存储器模块的***及方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 808, 8th Floor, Building A10, No. 777 Jianshe West Road, Binhu District, Wuxi City, Jiangsu Province, 214000

Patentee after: Jiangsu Yuntu Semiconductor Co.,Ltd.

Address before: 215500 room 805, No. 1, Southeast Avenue, Changshu high tech Industrial Development Zone, Suzhou City, Jiangsu Province

Patentee before: Suzhou yuntu Semiconductor Co.,Ltd.