CN114417780A - 状态同步方法、装置、电子设备及存储介质 - Google Patents
状态同步方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114417780A CN114417780A CN202111543452.0A CN202111543452A CN114417780A CN 114417780 A CN114417780 A CN 114417780A CN 202111543452 A CN202111543452 A CN 202111543452A CN 114417780 A CN114417780 A CN 114417780A
- Authority
- CN
- China
- Prior art keywords
- register
- value
- read
- bus
- updating
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/30101—Special purpose registers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
Abstract
本公开提供了状态同步方法、装置、电子设备及存储介质,涉及人工智能芯片等人工智能领域,其中的方法可包括:配置总线接口对第一只读寄存器进行状态更新监测;响应于配置总线接口根据监测结果确定第一只读寄存器的寄存器值发生更新,将更新后的寄存器值发送给总线代理,用于总线代理对应更新寄存器模型中第一只读寄存器的期望值和镜像值。应用本公开所述方案,可实现只读寄存器的状态与寄存器模型的实时同步更新等。
Description
技术领域
本公开涉及人工智能技术领域,特别涉及人工智能芯片等领域的状态同步方法、装置、电子设备及存储介质。
背景技术
在集成电路(IC,Integrated Circuit)芯片设计的前端验证过程中,往往需要获取当前设计中某些寄存器的状态,以便根据获取到的寄存器状态来预测或判断当前的设计行为是否正确。所述芯片可为语音芯片等。所述验证通常在通用验证方法学(UVM,Universal Verification Methodology)验证平台中实现,UVM验证平台中提供了寄存器模型(register model),用来根据配置总线操作结果(如读写操作)更新验证环境中的寄存器的期望值和镜像值。
但对于只读(RO,Read Only)属性的寄存器,其状态变化往往不取决于总线访问,而是取决于设计内部的一些控制逻辑的变化,因此,目前的寄存器模型,对于只读寄存器将无法完成其期望值和镜像值的实时更新,这样,在验证环境中需要根据只读寄存器的状态对设计行为进行判断或预测时,将会发生混乱和错误。
发明内容
本公开提供了状态同步方法、装置、电子设备及存储介质。
一种状态同步方法,包括:
配置总线接口对第一只读寄存器进行状态更新监测;
响应于所述配置总线接口根据监测结果确定所述第一只读寄存器的寄存器值发生更新,将更新后的寄存器值发送给总线代理,用于所述总线代理对应更新寄存器模型中所述第一只读寄存器的期望值和镜像值。
一种状态同步方法,包括:
总线代理获取来自配置总线接口的寄存器值,所述寄存器值为所述配置总线接口监测到第一只读寄存器的寄存器值发生更新后、发送的更新后的寄存器值;
所述总线代理根据所述寄存器值更新寄存器模型中所述第一只读寄存器的期望值和镜像值。
一种状态同步装置,包括:监测模块以及发送模块;
所述监测模块,用于对第一只读寄存器进行状态更新监测;
所述发送模块,用于响应于根据监测结果确定所述第一只读寄存器的寄存器值发生更新,将更新后的寄存器值发送给总线代理,用于所述总线代理对应更新寄存器模型中所述第一只读寄存器的期望值和镜像值。
一种状态同步装置,包括:获取模块以及更新模块;
所述获取模块,用于获取来自配置总线接口的寄存器值,所述寄存器值为所述配置总线接口监测到第一只读寄存器的寄存器值发生更新后、发送的更新后的寄存器值;
所述更新模块,用于根据所述寄存器值更新寄存器模型中所述第一只读寄存器的期望值和镜像值。
一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如以上所述的方法。
一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使计算机执行如以上所述的方法。
一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现如以上所述的方法。
上述公开中的一个实施例具有如下优点或有益效果:可实现只读寄存器的状态与寄存器模型的实时同步更新,从而避免了验证环境中需要根据只读寄存器的状态对设计行为进行判断或预测时发生的混乱和错误,进而提升了验证效率以及验证结果的准确性等。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1为本公开所述状态同步方法第一实施例的流程图;
图2为本公开所述状态同步方法第二实施例的流程图;
图3为本公开所述状态同步方法第三实施例的流程图;
图4为本公开所述状态同步装置第一实施例400的组成结构示意图;
图5为本公开所述状态同步装置第二实施例500的组成结构示意图;
图6示出了可以用来实施本公开的实施例的电子设备600的示意性框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
另外,应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
图1为本公开所述状态同步方法第一实施例的流程图。如图1所示,可包括以下具体实现方式。
在步骤101中,配置总线接口(interface)对第一只读寄存器进行状态更新监测。
在步骤102中,响应于配置总线接口根据监测结果确定第一只读寄存器的寄存器值发生更新,将更新后的寄存器值发送给总线代理(agent),用于总线代理对应更新寄存器模型中第一只读寄存器的期望值和镜像值。
可以看出,采用上述方法实施例所述方案,可实现只读寄存器的状态与寄存器模型的实时同步更新,从而避免了验证环境中需要根据只读寄存器的状态对设计行为进行判断或预测时发生的混乱和错误,进而提升了验证效率以及验证结果的准确性等。
优选地,在实际应用中,可在配置总线接口文件中增加只读寄存器状态更新的监测任务(task),利用所述任务对如第一只读寄存器的各只读寄存器进行状态更新监测。其中,可收集整理只读寄存器状态更新所需的逻辑信号集合以及相关操作,根据收集整理结果进行状态更新监测。
另外,若根据监测结果确定第一只读寄存器的寄存器值发生了更新,那么可将更新后的寄存器值发送给总线代理,用于总线代理根据更新后的寄存器值对应更新寄存器模型中第一只读寄存器的期望值和镜像值。
本公开的一个实施例中,可将更新后的寄存器值以及第一只读寄存器的地址信息等包装为数据传输报文(bus transaction),将得到的数据传输报文发送给总线代理,所述地址信息用于指示更新后的寄存器值对应的寄存器为第一只读寄存器。
借助于数据传输报文,可实现寄存器值以及地址信息等的高效准确的传输,从而为后续处理奠定了良好的基础。
本公开的一个实施例中,所述数据传输报文可为配置总线读操作的数据传输报文。即可将更新后的寄存器值以及第一只读寄存器的地址信息等包装为虚拟的读操作报文,实际为第一只读寄存器的状态更新信息。
考虑到第一只读寄存器的属性为只读,因此可将更新后的寄存器值以及第一只读寄存器的地址信息等包装为配置总线读操作的数据传输报文,从而与实际场景更为匹配等。
图2为本公开所述状态同步方法第二实施例的流程图。如图2所示,可包括以下具体实现方式。
在步骤201中,总线代理获取来自配置总线接口的寄存器值,所述寄存器值为配置总线接口监测到第一只读寄存器的寄存器值发生更新后、发送的更新后的寄存器值。
在步骤202中,总线代理根据获取到的寄存器值更新寄存器模型中第一只读寄存器的期望值和镜像值。
采用上述方法实施例所述方案,可实现只读寄存器的状态与寄存器模型的实时同步更新,从而避免了验证环境中需要根据只读寄存器的状态对设计行为进行判断或预测时发生的混乱和错误,进而提升了验证效率以及验证结果的准确性等。
本公开的一个实施例中,可获取来自配置总线接口的数据传输报文,并可从数据传输报文中获取所述寄存器值以及第一只读寄存器的地址信息,所述地址信息用于指示所述寄存器值对应的寄存器为第一只读寄存器。
借助于数据传输报文,可实现寄存器值以及地址信息等的高效准确的传输,从而为后续处理奠定了良好的基础。
本公开的一个实施例中,所述数据传输报文可为配置总线读操作的数据传输报文。即可将更新后的寄存器值以及第一只读寄存器的地址信息等包装为虚拟的读操作报文。
根据获取到的寄存器值,可对应更新寄存器模型中第一只读寄存器的期望值和镜像值。
本公开的一个实施例中,可获取寄存器模型的自动预测设置(set_auto_predict)属性的取值,并可按照所述取值对应的更新方式,根据获取到的寄存器值更新寄存器模型中第一只读寄存器的期望值和镜像值。
即针对不同的取值,可分别采用不同的更新方式,从而使得所述更新更具针对性,进而提升了更新结果的准确性等。
本公开的一个实施例中,若所述取值为第一取值,那么可通过总线代理中的驱动器(driver)将数据传输报文发送给寄存器模型对应的适配器(adapter),用于适配器通过总线到寄存器(bus2reg)函数更新寄存器模型中第一只读寄存器的期望值和镜像值,即根据数据传输报文中的寄存器值更新其中的地址信息对应的第一只读寄存器的期望值和镜像值,所述bus2reg函数可为内置重构的bus2reg函数。
本公开的一个实施例中,若所述取值为第二取值,那么可通过总线代理中的监视器(minitor)将数据传输报文发送给对应的寄存器预测器(register predictor),用于寄存器预测器通过调用寄存器模型对应的适配器内置重构的bus2reg函数、更新寄存器模型中第一只读寄存器的期望值和镜像值。
优选地,上述第一取值为1,第二取值为0。
无论通过上述哪种方式,在完成更新后,后续第一只读寄存器的期望值和镜像值的访问结果将与实际设计中第一只读寄存器的真实值一样,即实现了同步更新,而且,本公开所述方案无需对UVM验证平台中的各种组件进行修改,也就是说,UVM验证平台所提供的寄存器模型等的各项原有函数、任务和各项功能等都不会被破坏,具有很好的兼容性。
结合上述介绍,图3为本公开所述状态同步方法第三实施例的流程图。如图3所示,可包括以下具体实现方式。
在步骤301中,配置总线接口对第一只读寄存器进行状态更新监测。
在步骤302中,配置总线接口监测到第一只读寄存器的寄存器值发生了更新,将更新后的寄存器值以及第一只读寄存器的地址信息包装为数据传输报文。
优选地,数据传输报文中可至少包括以下三个域:
读写(WR):报文信息上报捕捉到的总线操作类型,所述类型可包括读操作(READ)和写操作(WRITE);
地址(ADDR):报文信息上报捕捉到的总线操作地址;
数据(DATA):报文信息上报捕捉到的总线操作数据。
具体到本实施例中,即有:
WR=读操作;
ADDR=第一只读寄存器的地址信息;
DATA=更新后的寄存器值。
在步骤303中,配置总线接口将数据传输报文发送给总线代理。
在步骤304中,总线代理确定寄存器模型的自动预测设置属性的取值是否为1,若是,则执行步骤305,否则,执行步骤308。
自动预测设置属性的取值为预先设定的,如可根据总线类型的不同等设置为不同的取值,所述不同的取值可包括1和0。
在步骤305中,总线代理将数据传输报文转交给总线代理中的驱动器。
在步骤306中,驱动器将数据传输报文通过分析端口(analysis port)发送给适配器。
在步骤307中,适配器通过其内置重构的bus2reg函数,根据数据传输报文中的寄存器值、更新寄存器模型中地址为数据传输报文中的地址信息的第一只读寄存器的期望值和镜像值,之后执行步骤301。
在步骤308中,总线代理将数据传输报文转交给总线代理中的监视器。
在步骤309中,监视器将数据传输报文通过分析端口发送给对应的寄存器预测器。
在步骤310中,寄存器预测器调用适配器内置重构的bus2reg函数,根据数据传输报文中的寄存器值、更新寄存器模型中地址为数据传输报文中的地址信息的第一只读寄存器的期望值和镜像值,之后执行步骤301。
可按照传统的更新方式,根据数据传输报文中的寄存器值更新第一只读寄存器的期望值和镜像值。
另外,上述各方法实施例中涉及到的寄存器模型、总线代理、适配器、分析端口以及寄存器预测器等均为UVM验证平台中的已有组件。
再有,需要说明的是,对于前述的各方法实施例,为了简单描述,将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制,因为依据本公开,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本公开所必须的。另外,某个实施例中没有详述的部分,可以参见其它实施例中的相关说明。
以上是关于方法实施例的介绍,以下通过装置实施例,对本公开所述方案进行进一步说明。
图4为本公开所述状态同步装置第一实施例400的组成结构示意图。该装置可应用于配置总线接口中。如图4所示,包括:监测模块401以及发送模块402。
监测模块401,用于对第一只读寄存器进行状态更新监测。
发送模块402,用于响应于根据监测结果确定第一只读寄存器的寄存器值发生更新,将更新后的寄存器值发送给总线代理,用于总线代理对应更新寄存器模型中第一只读寄存器的期望值和镜像值。
采用上述装置实施例所述方案,可实现只读寄存器的状态与寄存器模型的实时同步更新,从而避免了验证环境中需要根据只读寄存器的状态对设计行为进行判断或预测时发生的混乱和错误,进而提升了验证效率以及验证结果的准确性等。
本公开的一个实施例中,发送模块402可将更新后的寄存器值以及第一只读寄存器的地址信息包装为数据传输报文,进而可将所述数据传输报文发送给总线代理,所述地址信息用于指示所述寄存器值对应的寄存器为第一只读寄存器。
本公开的一个实施例中,所述数据传输报文可为配置总线读操作的数据传输报文。即可将更新后的寄存器值以及第一只读寄存器的地址信息等包装为虚拟的读操作报文。
图5为本公开所述状态同步装置第二实施例500的组成结构示意图。如图5所示,包括:获取模块501以及更新模块502。
获取模块501,用于获取来自配置总线接口的寄存器值,所述寄存器值为配置总线接口监测到第一只读寄存器的寄存器值发生更新后、发送的更新后的寄存器值。
更新模块502,用于根据所述寄存器值更新寄存器模型中第一只读寄存器的期望值和镜像值。
采用上述装置实施例所述方案,可实现只读寄存器的状态与寄存器模型的实时同步更新,从而避免了验证环境中需要根据只读寄存器的状态对设计行为进行判断或预测时发生的混乱和错误,进而提升了验证效率以及验证结果的准确性等。
本公开的一个实施例中,获取模块501可获取来自配置总线接口的数据传输报文,并可从数据传输报文中获取所述寄存器值以及第一只读寄存器的地址信息,所述地址信息用于指示所述寄存器值对应的寄存器为第一只读寄存器。
本公开的一个实施例中,所述数据传输报文可为配置总线读操作的数据传输报文。即可将更新后的寄存器值以及第一只读寄存器的地址信息等包装为虚拟的读操作报文。
根据获取到的寄存器值,更新模块502可对应更新寄存器模型中第一只读寄存器的期望值和镜像值。
本公开的一个实施例中,更新模块502可获取寄存器模型的自动预测设置属性的取值,按照所述取值对应的更新方式,根据获取到的寄存器值更新寄存器模型中第一只读寄存器的期望值和镜像值。
本公开的一个实施例中,若所述取值为第一取值,那么更新模块502可通过总线代理中的驱动器将数据传输报文发送给寄存器模型对应的适配器,用于适配器通过bus2reg函数更新寄存器模型中第一只读寄存器的期望值和镜像值,即根据数据传输报文中的寄存器值更新其中的地址信息对应的第一只读寄存器的期望值和镜像值。
本公开的一个实施例中,若所述取值为第二取值,那么更新模块502可通过总线代理中的监视器将数据传输报文发送给对应的寄存器预测器,用于寄存器预测器通过调用寄存器模型对应的适配器的bus2reg函数、更新寄存器模型中第一只读寄存器的期望值和镜像值。
图4和图5所示装置实施例的具体工作流程可参照前述方法实施例中的相关说明。
总之,采用本公开装置实施例所述方案,可实现只读寄存器的状态与寄存器模型的实时同步更新,从而使得第一只读寄存器的期望值和镜像值的访问结果与实际设计中第一只读寄存器的真实值一样,而且,本公开所述方案无需对UVM验证平台中的各种组件进行修改,也就是说,UVM验证平台所提供的寄存器模型等的各项原有函数、任务和各项功能等都不会被破坏,具有很好的兼容性。
本公开所述方案可应用于人工智能领域,特别涉及人工智能芯片等领域。人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术,人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术,人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语言处理技术以及机器学习/深度学习、大数据处理技术、知识图谱技术等几大方向。
另外,本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图6示出了可以用来实施本公开的实施例的电子设备600的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字助理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图6所示,设备600包括计算单元601,其可以根据存储在只读存储器(ROM)602中的计算机程序或者从存储单元608加载到随机访问存储器(RAM)603中的计算机程序,来执行各种适当的动作和处理。在RAM 603中,还可存储设备600操作所需的各种程序和数据。计算单元601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理,例如本公开所述的方法。例如,在一些实施例中,本公开所述的方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序加载到RAM 603并由计算单元601执行时,可以执行本公开所述的方法的一个或多个步骤。备选地,在其他实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行本公开所述的方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (21)
1.一种状态同步方法,包括:
配置总线接口对第一只读寄存器进行状态更新监测;
响应于所述配置总线接口根据监测结果确定所述第一只读寄存器的寄存器值发生更新,将更新后的寄存器值发送给总线代理,用于所述总线代理对应更新寄存器模型中所述第一只读寄存器的期望值和镜像值。
2.根据权利要求1所述的方法,其中,所述将更新后的寄存器值发送给总线代理包括:
将所述寄存器值以及所述第一只读寄存器的地址信息包装为数据传输报文,将所述数据传输报文发送给所述总线代理,所述地址信息用于指示所述寄存器值对应的寄存器为所述第一只读寄存器。
3.根据权利要求2所述的方法,其中,所述数据传输报文包括:配置总线读操作的数据传输报文。
4.一种状态同步方法,包括:
总线代理获取来自配置总线接口的寄存器值,所述寄存器值为所述配置总线接口监测到第一只读寄存器的寄存器值发生更新后、发送的更新后的寄存器值;
所述总线代理根据所述寄存器值更新寄存器模型中所述第一只读寄存器的期望值和镜像值。
5.根据权利要求4所述的方法,其中,所述获取来自配置总线接口的寄存器值包括:
获取来自所述配置总线接口的数据传输报文;
从所述数据传输报文中获取所述寄存器值以及所述第一只读寄存器的地址信息,所述地址信息用于指示所述寄存器值对应的寄存器为所述第一只读寄存器。
6.根据权利要求5所述的方法,其中,所述数据传输报文包括:配置总线读操作的数据传输报文。
7.根据权利要求5或6所述的方法,其中,所述根据所述寄存器值更新寄存器模型中所述第一只读寄存器的期望值和镜像值包括:
获取所述寄存器模型的自动预测设置属性的取值,按照所述取值对应的更新方式,根据所述寄存器值更新所述寄存器模型中所述第一只读寄存器的期望值和镜像值。
8.根据权利要求7所述的方法,其中,所述按照所述取值对应的更新方式,根据所述寄存器值更新所述寄存器模型中所述第一只读寄存器的期望值和镜像值包括:
若所述取值为第一取值,则通过所述总线代理中的驱动器将所述数据传输报文发送给所述寄存器模型对应的适配器,用于所述适配器通过总线到寄存器函数更新所述寄存器模型中所述第一只读寄存器的期望值和镜像值。
9.根据权利要求7所述的方法,其中,所述按照所述取值对应的更新方式,根据所述寄存器值更新所述寄存器模型中所述第一只读寄存器的期望值和镜像值包括:
若所述取值为第二取值,则通过所述总线代理中的监视器将所述数据传输报文发送给对应的寄存器预测器,用于所述寄存器预测器通过调用适配器的总线到寄存器函数、更新所述寄存器模型中所述第一只读寄存器的期望值和镜像值,所述适配器为所述寄存器模型对应的适配器。
10.一种状态同步装置,包括:监测模块以及发送模块;
所述监测模块,用于对第一只读寄存器进行状态更新监测;
所述发送模块,用于响应于根据监测结果确定所述第一只读寄存器的寄存器值发生更新,将更新后的寄存器值发送给总线代理,用于所述总线代理对应更新寄存器模型中所述第一只读寄存器的期望值和镜像值。
11.根据权利要求10所述的装置,其中,
所述发送模块将所述寄存器值以及所述第一只读寄存器的地址信息包装为数据传输报文,将所述数据传输报文发送给所述总线代理,所述地址信息用于指示所述寄存器值对应的寄存器为所述第一只读寄存器。
12.根据权利要求11所述的装置,其中,所述数据传输报文包括:配置总线读操作的数据传输报文。
13.一种状态同步装置,包括:获取模块以及更新模块;
所述获取模块,用于获取来自配置总线接口的寄存器值,所述寄存器值为所述配置总线接口监测到第一只读寄存器的寄存器值发生更新后、发送的更新后的寄存器值;
所述更新模块,用于根据所述寄存器值更新寄存器模型中所述第一只读寄存器的期望值和镜像值。
14.根据权利要求13所述的装置,其中,
所述获取模块获取来自所述配置总线接口的数据传输报文,从所述数据传输报文中获取所述寄存器值以及所述第一只读寄存器的地址信息,所述地址信息用于指示所述寄存器值对应的寄存器为所述第一只读寄存器。
15.根据权利要求14所述的装置,其中,所述数据传输报文包括:配置总线读操作的数据传输报文。
16.根据权利要求14或15所述的装置,其中,
所述更新模块获取所述寄存器模型的自动预测设置属性的取值,按照所述取值对应的更新方式,根据所述寄存器值更新所述寄存器模型中所述第一只读寄存器的期望值和镜像值。
17.根据权利要求16所述的装置,其中,
所述更新模块在所述取值为第一取值时,通过总线代理中的驱动器将所述数据传输报文发送给所述寄存器模型对应的适配器,用于所述适配器通过总线到寄存器函数更新所述寄存器模型中所述第一只读寄存器的期望值和镜像值。
18.根据权利要求16所述的装置,其中,
所述更新模块在所述取值为第二取值时,通过所述总线代理中的监视器将所述数据传输报文发送给对应的寄存器预测器,用于所述寄存器预测器通过调用适配器的总线到寄存器函数、更新所述寄存器模型中所述第一只读寄存器的期望值和镜像值,所述适配器为所述寄存器模型对应的适配器。
19.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-9中任一项所述的方法。
20.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行权利要求1-9中任一项所述的方法。
21.一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现权利要求1-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111543452.0A CN114417780B (zh) | 2021-12-16 | 2021-12-16 | 状态同步方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111543452.0A CN114417780B (zh) | 2021-12-16 | 2021-12-16 | 状态同步方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114417780A true CN114417780A (zh) | 2022-04-29 |
CN114417780B CN114417780B (zh) | 2022-11-01 |
Family
ID=81267366
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111543452.0A Active CN114417780B (zh) | 2021-12-16 | 2021-12-16 | 状态同步方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114417780B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114817411A (zh) * | 2022-06-23 | 2022-07-29 | 支付宝(杭州)信息技术有限公司 | 分布式图学习方法和装置 |
CN115080120A (zh) * | 2022-07-01 | 2022-09-20 | 北京百度网讯科技有限公司 | 寄存器的验证方法、装置、设备和介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4006457A (en) * | 1975-02-18 | 1977-02-01 | Motorola, Inc. | Logic circuitry for selection of dedicated registers |
WO1996008770A2 (en) * | 1994-09-16 | 1996-03-21 | Philips Electronics N.V. | Register status protection during read-modify-write operation |
CN102567149A (zh) * | 2010-12-09 | 2012-07-11 | 上海华虹集成电路有限责任公司 | Soc系统验证方法 |
CN105446844A (zh) * | 2014-09-01 | 2016-03-30 | 上海华虹集成电路有限责任公司 | 基于uvm验证方法学的只读寄存器验证测试平台及验证方法 |
CN106503308A (zh) * | 2016-10-08 | 2017-03-15 | 中国电子科技集团公司第五十八研究所 | 一种基于uvm的can控制器ip验证平台 |
EP3462455A1 (en) * | 2017-09-29 | 2019-04-03 | INTEL Corporation | Reading from a mode register having different read and write timing |
CN109981431A (zh) * | 2019-03-15 | 2019-07-05 | 西安微电子技术研究所 | 一种can总线控制器数据存储电路及数据存储方法 |
CN112131829A (zh) * | 2020-09-18 | 2020-12-25 | 山东云海国创云计算装备产业创新中心有限公司 | 一种芯片寄存器的验证方法、系统及相关装置 |
CN112835648A (zh) * | 2021-02-25 | 2021-05-25 | 中国科学院西安光学精密机械研究所 | 一种基于fpga的芯片内部寄存器高可靠配置方法 |
CN113076227A (zh) * | 2021-04-28 | 2021-07-06 | 深圳市汇春科技股份有限公司 | Mcu验证方法、系统和终端设备 |
-
2021
- 2021-12-16 CN CN202111543452.0A patent/CN114417780B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4006457A (en) * | 1975-02-18 | 1977-02-01 | Motorola, Inc. | Logic circuitry for selection of dedicated registers |
WO1996008770A2 (en) * | 1994-09-16 | 1996-03-21 | Philips Electronics N.V. | Register status protection during read-modify-write operation |
CN102567149A (zh) * | 2010-12-09 | 2012-07-11 | 上海华虹集成电路有限责任公司 | Soc系统验证方法 |
CN105446844A (zh) * | 2014-09-01 | 2016-03-30 | 上海华虹集成电路有限责任公司 | 基于uvm验证方法学的只读寄存器验证测试平台及验证方法 |
CN106503308A (zh) * | 2016-10-08 | 2017-03-15 | 中国电子科技集团公司第五十八研究所 | 一种基于uvm的can控制器ip验证平台 |
EP3462455A1 (en) * | 2017-09-29 | 2019-04-03 | INTEL Corporation | Reading from a mode register having different read and write timing |
CN109981431A (zh) * | 2019-03-15 | 2019-07-05 | 西安微电子技术研究所 | 一种can总线控制器数据存储电路及数据存储方法 |
CN112131829A (zh) * | 2020-09-18 | 2020-12-25 | 山东云海国创云计算装备产业创新中心有限公司 | 一种芯片寄存器的验证方法、系统及相关装置 |
CN112835648A (zh) * | 2021-02-25 | 2021-05-25 | 中国科学院西安光学精密机械研究所 | 一种基于fpga的芯片内部寄存器高可靠配置方法 |
CN113076227A (zh) * | 2021-04-28 | 2021-07-06 | 深圳市汇春科技股份有限公司 | Mcu验证方法、系统和终端设备 |
Non-Patent Citations (7)
Title |
---|
YONG GUO等: "A SPI Interface Module Verification Method Based on UVM", 《2020 IEEE INTERNATIONAL CONFERENCE ON INFORMATION TECHNOLOGY,BIG DATA AND ARTIFICIAL INTELLIGENCE (ICIBA)》 * |
任艳娜等: "基于I~2C总线的AD7745控制与读取方法", 《计算机测量与控制》 * |
桂玮楠: "UVM验证方法学在SSD主控SoC芯片验证中的应用", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 * |
章宇东: "SOC应用中寄存器组设计的自动化", 《航空电子技术》 * |
郭天天等: "FPGA实现PCI总线接口技术", 《电子产品世界》 * |
阎芳等: "基于UVM的多通路航空总线收发器IP验证", 《电光与控制》 * |
鞠志敏: "基于UVM的FPGA代码功能验证技术研究", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114817411A (zh) * | 2022-06-23 | 2022-07-29 | 支付宝(杭州)信息技术有限公司 | 分布式图学习方法和装置 |
CN115080120A (zh) * | 2022-07-01 | 2022-09-20 | 北京百度网讯科技有限公司 | 寄存器的验证方法、装置、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114417780B (zh) | 2022-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114417780B (zh) | 状态同步方法、装置、电子设备及存储介质 | |
CN113342345A (zh) | 深度学习框架的算子融合方法、装置 | |
CN112527281A (zh) | 基于人工智能的算子升级方法、装置、电子设备及介质 | |
CN113961419B (zh) | 存储器验证方法、装置、电子设备及存储介质 | |
CN115481594B (zh) | 计分板实现方法、计分板、电子设备及存储介质 | |
CN116306396A (zh) | 芯片验证方法及装置、设备和介质 | |
CN114743586A (zh) | 存储器模型的镜像存储实现方法、装置及存储介质 | |
CN115575931A (zh) | 标定方法、装置、电子设备及存储介质 | |
CN115391204A (zh) | 自动驾驶服务的测试方法、装置、电子设备及存储介质 | |
CN115309730A (zh) | 数据审核方法、装置、电子设备及存储介质 | |
CN114676062A (zh) | 用于接口的差异数据测试方法及装置、电子设备和介质 | |
CN114389969A (zh) | 客户端的测试方法、装置、电子设备和存储介质 | |
CN114218166A (zh) | 数据处理方法、装置、电子设备及可读存储介质 | |
CN114386577A (zh) | 用于执行深度学习模型的方法、设备和存储介质 | |
CN114118356B (zh) | 神经网络处理器验证方法、装置、电子设备及存储介质 | |
CN113139891A (zh) | 图像处理方法、装置、电子设备和存储介质 | |
CN113961405B (zh) | 状态切换指令验证方法、装置、电子设备及存储介质 | |
CN113900734B (zh) | 一种应用程序文件配置方法、装置、设备及存储介质 | |
CN115102850B (zh) | 配置比对方法、装置、电子设备及存储介质 | |
CN113961263B (zh) | 小程序分发方法、装置、设备和存储介质 | |
CN116302086A (zh) | 应用程序的处理方法、装置、电子设备与可读存储介质 | |
CN114860455A (zh) | 一种请求处理方法、装置、设备及存储介质 | |
CN117742711A (zh) | 面向低代码的页面渲染方法、装置、电子设备和存储介质 | |
CN114237816A (zh) | 获取虚设的数据的方法、装置、设备以及存储介质 | |
CN116010744A (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 |