WO2016197711A1 - 一种配置寄存器的方法和装置 - Google Patents

一种配置寄存器的方法和装置 Download PDF

Info

Publication number
WO2016197711A1
WO2016197711A1 PCT/CN2016/079934 CN2016079934W WO2016197711A1 WO 2016197711 A1 WO2016197711 A1 WO 2016197711A1 CN 2016079934 W CN2016079934 W CN 2016079934W WO 2016197711 A1 WO2016197711 A1 WO 2016197711A1
Authority
WO
WIPO (PCT)
Prior art keywords
register
module
control instruction
random number
uvm
Prior art date
Application number
PCT/CN2016/079934
Other languages
English (en)
French (fr)
Inventor
李军
甘甜
Original Assignee
中兴通讯股份有限公司
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 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2016197711A1 publication Critical patent/WO2016197711A1/zh

Links

Images

Classifications

    • 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/30Arrangements for executing machine instructions, e.g. instruction decode

Definitions

  • the present application relates to, but is not limited to, the field of time logic verification, and more particularly to a method and apparatus for configuring registers.
  • UVM Universal Verification Methodology
  • OVM Open Verification Methodology
  • DUTs with configuration bus.
  • SPI Serial Peripheral Interface
  • I2C Inter-Integrated Circuit
  • FIG. 1 is a schematic structural diagram of a device for implementing data stream excitation in a related art UVM. As shown in FIG. 1, the method for implementing data stream excitation includes:
  • the Transaction module obtains the packet structure information of each data packet in the target verification data packet, and packages the packet structure information of each data packet to the first sequence module by using a preset parameter type; the first sequence (sequence) The module generates a random number according to the packet structure information of each data packet, and generates frame data for all random numbers corresponding to each data packet; the first sequencer module is modeled by a preset object level (TLM, Transaction)
  • TLM object level
  • the Level Modeling port sends the frame data to the first driver module; the first driver module packs the frame data into a byte data stream and loads it into the DUT; the first monitor module monitors the input data of the DUT (ie, the first The driver module loads the data packet into the DUT, and sends the input data of the DUT to the reference module; the Reference module sends the expected data information to the score after completing the same function as the DUT according to the input data of the DUT.
  • a scoreboard module a second monitor module detects the detected data information output by the DUT, and sends the detected data information to the scoreboard module; the scoreboard module detects the data Desired data rate and comparing the information.
  • set the transaction packet structure and then simply set the number of loops of the ⁇ uvm_do_on class or the ⁇ uvm_do_on_with class in the sequence class, you can simply complete the infusion function of large random data.
  • the packet structure information includes a header, a static load, a load, an overhead byte, and a constraint of the data packet.
  • the transaction module can directly derive the transaction class obtained by the uvm_sequence_item class in the UVM library file, and the first sequence module can directly derive the first sequence class obtained by the uvm_sequence class in the UVM library file, and the first sequencer module
  • the first sequencer class obtained by the uvm_sequencer class in the library file of the UVM can be directly derived.
  • the first driver module can directly derive the first driver class obtained by the uvm_driver class in the UVM library file, and the Reference module can be directly derived.
  • the reference class obtained by the uvm_Reference class in the UVM library file is implemented.
  • the first monitor module can directly derive the first monitor class obtained by the uvm_monitor class in the UVM library file, and the second monitor module can directly derive the UVM library file.
  • the second monitor class obtained by the uvm_monitor class is implemented, and the scoreboard module can directly derive the scoreboard class obtained by the uvm_scoreboard class in the UVM library file.
  • the value of the write register needs to be manually input, and in the verification process, in order to ensure the code coverage and functional coverage of the verification, the value of the write register is required to be randomly changed, and the configuration of the related art is required.
  • the register method is difficult to guarantee a random change in the value written to the register.
  • the present application proposes a method and apparatus for configuring a register capable of ensuring a random change in the value of a write register.
  • the present application proposes a method for configuring a register, including:
  • the generated random number is written to the register according to the write control instruction.
  • the method for configuring the register further includes:
  • the register is read in accordance with the read control instruction.
  • the method of configuring the register is encapsulated into a top level platform file and the top level platform file is instantiated in a case class.
  • the application further provides a computer readable storage medium storing computer executable instructions that are implemented when the computer executable instructions are executed.
  • the application also provides an apparatus for configuring a register, comprising at least:
  • Generating a module configured to generate a random number, and generate a write control instruction to the register according to a correspondence between the preset register and the address and the generated random number;
  • the control module is configured to write the generated random number into the register according to the write control instruction.
  • the generating module is further configured to:
  • the control module is further configured to:
  • the register is read in accordance with the read control instruction.
  • the means for configuring the register is encapsulated into a top level platform file and the top level platform file is instantiated in a case class.
  • the present application includes: presetting a correspondence between a register and an address; generating a random number, and generating a write control instruction for the register according to a correspondence between the preset register and the address and the generated random number; The generated random number is written to the register according to the write control instruction.
  • the generated random number is written into the register according to the generated write control instruction, and a random change of the value written to the register is ensured.
  • UVM ultraviolet light
  • FIG. 2 is a flowchart of a method for configuring a register provided by the present application
  • FIG. 3 is a schematic structural diagram of an apparatus for configuring a register provided by the present application.
  • FIG. 4 is a schematic structural diagram of an apparatus for configuring a register according to an embodiment of the present invention.
  • the present application proposes a method for configuring a register, including:
  • Step 100 preset a correspondence between a register and an address
  • the register in the correspondence is a register in the DUT.
  • the register can be represented by the identifier of the register, for example, the name of the register, and the like.
  • Step 200 Generate a random number, and generate a write control instruction to the register according to a correspondence between the preset register and the address and the generated random number;
  • the write control command includes a register to be written, a corresponding address, and a generated random number.
  • a random number can be generated during the process of data stream excitation.
  • a random number generating function may be used to generate a random number.
  • the implemented method is well-known in the art and is not intended to limit the scope of protection of the present application, and details are not described herein again.
  • Step 201 Write the generated random number into the register according to the write control instruction.
  • the method of configuring the register further includes:
  • a read control instruction for the register is generated according to the correspondence relationship; the register is read according to the read control instruction.
  • the generated random number is written into the register according to the generated write control instruction, and a random change of the value written to the register is guaranteed.
  • the method of configuring the register is encapsulated into a top-level platform file, and the top-level platform file is instantiated in the case class.
  • the case class can be derived based on the entire verification platform.
  • Embodiments of the present invention further provide a computer readable storage medium storing computer executable instructions that are implemented when the computer executable instructions are executed.
  • the present application also provides an apparatus for configuring a register, including:
  • Generating a module configured to generate a random number, and generate a write control instruction to the register according to a correspondence between the preset register and the address and the generated random number;
  • the control module is configured to write the generated random number into the register according to the write control instruction.
  • the generating module is further configured to:
  • the control module is also set to:
  • the register is read according to the read control instruction.
  • the device of the configuration register is encapsulated into a top-level platform file and the top-level platform file is instantiated in the case class.
  • FIG. 4 is a schematic structural diagram of an apparatus for configuring a register. As shown in Figure 4, the method of configuring registers includes:
  • a correspondence between a register and an address is preset in the register model (Reg_model) module.
  • the second sequence module generates a random number, generates a write control instruction to the register according to the correspondence between the preset register and the address and the generated random number, and sends the generated write control instruction to the first adapter module;
  • An adapter module converts the write control command into a format recognizable by the second sequencer module; the second sequencer module sends the converted write control command to the second driver module; and the second driver module controls the DUT according to the converted write control command Write the generated random number into the register.
  • the second sequence module generates a read control instruction to the register according to the correspondence, and sends the generated read control instruction to the first adapter module; the first adapter module converts the read control instruction into a format recognizable by the second sequencer module; the second sequencer The module sends the converted read control command to the second driver module; the second driver module controls the DUT to read the register according to the converted read control command; the third monitor module detects the output data of the DUT read register; the predictor module outputs the data Sended to the second adapter module; the second adapter module converts the output data into a format recognizable by the reg_model module or the scoreboard module and sends it to the reg_model module or the scoreboard module.
  • the second sequencer module, the second driver module and the third monitor module simulate the function of the APB bus.
  • the virtual sequence class derived from the sequence class in the UVM can be used to instantiate the second sequence module and the first sequence module.
  • all modules in the device configuring the register and all modules in the device for exciting the data stream can be packaged into the top-level platform file, and the Virtual sequencer is instantiated in the top-level platform file, and is derived based on the entire verification platform. Instantiate the top-level platform file in the case class.
  • the virtual sequencer simultaneously instantiates the first sequence class, the first sequencer class, the second sequence class, and the second sequencer class to synchronize the data stream excitation and the register configuration.
  • the configuration of the registers can also be implemented in the form of a script call.
  • the reg_model module can directly derive the reg_model class obtained by the uvm_reg_model class in the UVM library file, and the second sequence module can directly derive the second sequence class obtained by the uvm_sequence class in the UVM library file, the first adapter module.
  • the first adapter class obtained by the uvm_adapter class in the UVM library file can be directly derived.
  • the second sequencer module can directly derive the second sequencer class from the uvm_sequencer in the UVM library file, and the second driver module can directly The second driver class obtained by the uvm_driver class in the library file of the derived UVM is implemented, and the third monitor module can directly derive the third monitor class obtained by the uvm_monitor class in the UVM library file.
  • the predictor module can directly derive the predictor class from the uvm_predictor class in the UVM library file.
  • the second adapter module can directly derive the second adapter class from the uvm_adapter class in the UVM library file.
  • each module/unit in the above embodiment may be implemented in the form of hardware, for example, by implementing an integrated circuit to implement its corresponding function, or may be implemented in the form of a software function module, for example, executing a program stored in the memory by a processor. / instruction to achieve its corresponding function.
  • Embodiments of the invention are not limited to any specific form of combination of hardware and software.
  • the present application includes: presetting a correspondence between a register and an address; generating a random number, and generating a write control instruction for the register according to a correspondence between the preset register and the address and the generated random number; The generated random number is written to the register according to the write control instruction.
  • the generated random number is written into the register according to the generated write control instruction, and a random change of the value written to the register is ensured.

Landscapes

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

Abstract

一种配置寄存器的方法和装置,其中,该配置寄存器的方法包括:根据预先设置的对应关系和生成的随机数生成对寄存器的写控制指令;根据生成的写控制指令将生成的随机数写入寄存器。通过上述方案,根据写控制指令将生成的随机数写入寄存器中,保证了写入寄存器的值的随机变化。

Description

一种配置寄存器的方法和装置 技术领域
本申请涉及但不限于时间逻辑验证领域,尤指一种配置寄存器的方法和装置。
背景技术
在集成电路(ASIC,Application Specific Integrated Circuit)芯片设计和现场可编逻辑门阵列(FPGA,Field Programmable Gate Array)设计中,逻辑工程师们按照设计说明书把具体的需求翻译成Verilog代码,在翻译过程中,会由于各种原因导致Verilog代码存在功能性的错误。为了保证设计功能的正确性,通过逻辑验证来定位并改正设计中的错误已成为一种必要手段。
在传统验证方式不断发展的背景,通用验证方法学(UVM,Universal Verification Methodology)的出现,对于提升验证效率有极大的帮助。它是基于开放验证方法学(OVM,Open Verification Methodology)发展而来的新一代验证方法学。在UVM的五步验证流程(即制定验证计划、开发验证平台、大规模激励验证、缩小范围激励验证、特别定制激励验证)中,开发验证平台是最基本的要求,但耗时最多的大规模激励验证阶段便是需要对待验证模块(DUT,Design Under Test)灌输大量的随机数据来保证代码覆盖率和功能覆盖率,这些灌输的随机数据中就包括了对寄存器的配置。UVM在system verilog的基础上,在实现UVM的库文件中定义了一些在验证平台中经常使用到的基类、宏、和块语句。这些库文件可以直接调用,方便对DUT的验证时定位错误。
随着光通信网络的演化和验证技术(即采用UVM来进行验证)的发展,以及FPGA的库文件与EDA工具编译的兼容性,ASIC芯片验证和FPGA逻辑验证趋向于统一。在这种前提下,光通信网络的硬件逻辑验证时数据流激励和寄存器实时随机配置,在验证平台中变得很重要,也是保障逻辑功能覆盖率的重要方式。一般地,需要添加激励数据并且对DUT内部的寄存器进行实时改变。在DUT的逻辑设计中,通常都会用到低速总线,比如外围总 线(APB,Advanced Peripheral Bus)、串行外围设备接口(SPI,Serial Peripheral Interface)总线、内部集成电路(I2C,Inter-Integrated Circuit)总线等等,称之为带配置总线的DUT。这些低速总线会连接到DUT中的待配置寄存器,通过低速总线来配置寄存器。
其中,图1为相关技术的UVM中实现数据流激励的装置的结构组成示意图。如图1所示,实现数据流激励的方法包括:
事物处理(Transaction)模块获取目标验证数据包中每一数据包的包结构信息,并将每一数据包的包结构信息以预置参数类型打包发送至第一sequence模块;第一序列(sequence)模块根据每一数据包的包结构信息生成随机数,且将每一数据包对应的所有随机数生成帧数据;第一定序器(sequencer)模块通过预置的事物级建模(TLM,Transaction Level Modeling)端口将帧数据发送给第一驱动(driver)模块;第一driver模块将帧数据打包成字节数据流,并加载到DUT中;第一monitor模块监控DUT的输入数据(即第一driver模块加载到DUT中的数据包),并将DUT的输入数据发送给参考(Reference)模块;Reference模块根据DUT的输入数据完成与DUT相同的功能后,将输出的期望数据信息发送给计分板(scoreboard)模块;第二监控(monitor)模块检测DUT输出的检测数据信息,并发送给scoreboard模块;scoreboard模块对检测数据信息和期望数据信息进行比较。其中,设置好transaction的数据包结构,然后在sequence类中只需设置`uvm_do_on类或`uvm_do_on_with类的循环次数,便可简单地完成大批量随机数据的灌输功能。
其中,包结构信息包括包头、静荷、负载、开销字节位及数据包的约束条件。
其中,transaction模块可以直接派生UVM的库文件中的uvm_sequence_item类得到的transaction类来实现,第一sequence模块可以直接派生UVM的库文件中的uvm_sequence类得到的第一sequence类来实现,第一sequencer模块可以直接派生UVM的库文件中的uvm_sequencer类得到的第一sequencer类来实现,第一driver模块可以直接派生UVM的库文件中的uvm_driver类得到的第一driver类来实现,Reference模块可以直接派生 UVM的库文件中的uvm_Reference类得到的Reference类来实现,第一monitor模块可以直接派生UVM的库文件中的uvm_monitor类得到的第一monitor类来实现,第二monitor模块可以直接派生UVM的库文件中的uvm_monitor类得到的第二monitor类来实现,scoreboard模块可以直接派生UVM的库文件中的uvm_scoreboard类得到的scoreboard类来实现。
在相关技术实现激励的过程中,配置寄存器的方法包括:用户手动将写入寄存器的值输入到force语句中,采用force语句进行层次化的引用来改变寄存器的值。例如,force a.b.c.d=1表示将a模块下的b模块下的c模块下的d寄存器的值改为1。
相关技术的配置寄存器的方法中,写入寄存器的值需要手动输入,而在验证过程中,为了保证验证的代码覆盖率和功能覆盖率,要求写入寄存器的值随机变化,而相关技术的配置寄存器的方法很难保证写入寄存器的值的随机变化。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
为了解决上述问题,本申请提出了一种配置寄存器的方法和装置,能够保证写入寄存器的值的随机变化。
为了达到上述目的,本申请提出了一种配置寄存器的方法,包括:
预先设置寄存器和地址之间的对应关系;
生成随机数,根据预先设置的寄存器和地址之间的对应关系和生成的随机数生成对寄存器的写控制指令;
根据写控制指令将生成的随机数写入寄存器。
可选地,在所述根据写控制指令将生成的随机数写入寄存器的步骤之后,所述配置寄存器的方法还包括:
根据所述对应关系生成对所述寄存器的读控制指令;
根据所述读控制指令读取所述寄存器。
可选地,所述配置寄存器的方法被封装到顶层平台文件中,并在case类中实例化所述顶层平台文件。
本申请另外提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令被执行时实现上述方法。
本申请还提出了一种配置寄存器的装置,至少包括:
设置模块,设置成预先设置寄存器和地址之间的对应关系;
生成模块,设置成生成随机数,根据预先设置的寄存器和地址之间的对应关系和生成的随机数生成对寄存器的写控制指令;
控制模块,设置成根据写控制指令将生成的随机数写入寄存器中。
可选地,所述生成模块还设置成:
在根据写控制指令将生成的随机数写入寄存器之后,根据所述对应关系生成对所述寄存器的读控制指令;
所述控制模块还设置成:
根据所述读控制指令读取所述寄存器。
可选地,所述配置寄存器的装置被封装到顶层平台文件中,并在case类中实例化所述顶层平台文件。
与相关技术相比,本申请包括:预先设置寄存器和地址之间的对应关系;生成随机数,根据预先设置的寄存器和地址之间的对应关系和生成的随机数生成对寄存器的写控制指令;根据写控制指令将生成的随机数写入寄存器。通过上述方案,根据生成的写控制指令将生成的随机数写入寄存器中,保证了写入寄存器的值的随机变化。
在阅读并理解了附图和详细描述后,可以明白其他方面。
附图概述
下面对本发明实施例中的附图进行说明,实施例中的附图是用于对本申请的进一步理解,与说明书一起用于解释本申请,并不构成对本申请保护范围的限制。
图1为相关技术的UVM中实现数据流激励的装置的结构组成示意图;
图2为本申请提供的配置寄存器的方法的流程图;
图3为本申请提供的配置寄存器的装置的结构示意图;
图4为本发明实施例提供的配置寄存器的装置的结构示意图。
本发明的较佳实施方式
为了便于本领域技术人员的理解,下面结合附图对本申请作进一步的描述,并不能用来限制本申请的保护范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的各种方式可以相互组合。
参见图2,本申请提出了一种配置寄存器的方法,包括:
步骤100、预先设置寄存器和地址之间的对应关系;
其中,对应关系中的寄存器为DUT中的寄存器。
寄存器可以采用寄存器的标识来表示,例如,寄存器的名称等。
步骤200、生成随机数,根据预先设置的寄存器和地址之间的对应关系和生成的随机数生成对寄存器的写控制指令;
本步骤中,写控制指令中包含有要进行写操作的寄存器及其对应的地址、生成的随机数。
本步骤中,可以在数据流激励的过程中生成随机数。
本步骤中,可以根据实际需要多次生成虽极少数。
本步骤中,可以采用随机数生成函数来生成随机数,实现的方法属于本领域技术人员的公知技术,并不用于限定本申请的保护范围,这里不再赘述。
步骤201、根据写控制指令将生成的随机数写入寄存器。
可选地,在所述根据写控制指令将生成的随机数写入寄存器的步骤之后,该配置寄存器的方法还包括:
根据对应关系生成对寄存器的读控制指令;根据读控制指令读取寄存器。
通过本申请的方案,根据生成的写控制指令将生成的随机数写入寄存器中,保证了写入寄存器的值的随机变化。
可选地,本申请的方法中,配置寄存器的方法被封装到顶层平台文件中,并在case类中实例化顶层平台文件。
其中,可以在整个验证平台的基础上派生出case类。
本发明实施例另外提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令被执行时实现上述方法。
参见图3,本申请还提出了一种配置寄存器的装置,包括:
设置模块,设置成预先设置寄存器和地址之间的对应关系;
生成模块,设置成生成随机数,根据预先设置的寄存器和地址之间的对应关系和生成的随机数生成对寄存器的写控制指令;
控制模块,设置成根据写控制指令将生成的随机数写入寄存器。
本申请的装置中,生成模块还设置成:
在根据写控制指令将生成的随机数写入寄存器之后,根据对应关系生成对寄存器的读控制指令;
控制模块还设置成:
根据读控制指令读取寄存器。
可选地,所述配置寄存器的装置被封装到顶层平台文件中,并在case类中实例化顶层平台文件。
下面通过具体实施例详细说明本申请的方法。
图4为配置寄存器的装置的结构示意图。如图4所示,配置寄存器的方法包括:
寄存器模型(Reg_model)模块中预先设置有寄存器和地址之间的对应关系。
第二sequence模块生成随机数,根据预先设置的寄存器和地址之间的对应关系和生成的随机数生成对寄存器的写控制指令,将生成的写控制指令发送给第一适应(adapter)模块;第一adapter模块将写控制指令转换成第二sequencer模块能够识别的格式;第二sequencer模块将转换后的写控制指令发送给第二driver模块;第二driver模块根据转换后的写控制指令控制DUT 将生成的随机数写入寄存器中。
第二sequence模块根据对应关系生成对寄存器的读控制指令,将生成的读控制指令发送给第一adapter模块;第一adapter模块将读控制指令转换成第二sequencer模块能够识别的格式;第二sequencer模块将转换后的读控制指令发送给第二driver模块;第二driver模块根据转换后的读控制指令控制DUT读取寄存器;第三monitor模块检测DUT读取寄存器的输出数据;predictor模块将输出数据发送给第二adapter模块;第二adapter模块将输出数据转换成reg_model模块或scoreboard模块能够识别的格式后发送给reg_model模块或scoreboard模块。
其中、第二sequencer模块、第二driver模块和第三monitor模块模拟了APB总线的功能。
其中,可以采用派生自UVM中的sequence类的Virtual sequence类来实例化第二sequence模块和第一sequence模块。
其中,可以将配置寄存器的装置中的所有模块和实现数据流激励的装置中的所有模块封装到顶层平台文件中,并在顶层平台文件中实例化Virtual sequencer,采用在整个验证平台基础上派生出来的case类中实例化顶层平台文件。
其中,Virtual sequencer中同时实例化第一sequence类、第一sequencer类、第二sequence类、第二sequencer类来实现数据流激励和寄存器配置的同步。
也可以通过脚本调用的形式来实现寄存器的配置。
其中,reg_model模块可以直接派生UVM的库文件中的uvm_reg_model类得到的reg_model类来实现,第二sequence模块可以直接派生UVM的库文件中的uvm_sequence类得到的第二sequence类来实现,第一adapter模块可以直接派生UVM的库文件中的uvm_adapter类得到的第一adapter类来实现,第二sequencer模块可以直接派生UVM的库文件中的uvm_sequencer来得到的第二sequencer类来实现,第二driver模块可以直接派生UVM的库文件中的uvm_driver类得到的第二driver类来实现,第三monitor模块可以直接派生UVM的库文件中的uvm_monitor类得到的第三monitor类来实现, predictor模块可以直接派生UVM的库文件中的uvm_predictor类得到的predictor类来实现,第二adapter模块可以直接派生UVM的库文件中的uvm_adapter类得到的第二adapter类来实现。
需要说明的是,以上所述的实施例仅是为了便于本领域的技术人员理解而已,并不用于限制本申请的保护范围,在不脱离本申请的发明构思的前提下,本领域技术人员对本申请所做出的任何显而易见的替换和改进等均在本申请的保护范围之内。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件(例如处理器)完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,例如通过集成电路来实现其相应功能,也可以采用软件功能模块的形式实现,例如通过处理器执行存储于存储器中的程序/指令来实现其相应功能。本发明实施例不限制于任何特定形式的硬件和软件的结合。
工业实用性
与相关技术相比,本申请包括:预先设置寄存器和地址之间的对应关系;生成随机数,根据预先设置的寄存器和地址之间的对应关系和生成的随机数生成对寄存器的写控制指令;根据写控制指令将生成的随机数写入寄存器。通过上述方案,根据生成的写控制指令将生成的随机数写入寄存器中,保证了写入寄存器的值的随机变化。

Claims (6)

  1. 一种配置寄存器的方法,包括:
    预先设置寄存器和地址之间的对应关系;
    生成随机数,根据预先设置的寄存器和地址之间的对应关系和生成的随机数生成对寄存器的写控制指令;
    根据写控制指令将生成的随机数写入寄存器。
  2. 根据权利要求1所述的方法,在所述根据写控制指令将生成的随机数写入寄存器的步骤之后,所述配置寄存器的方法还包括:
    根据所述对应关系生成对所述寄存器的读控制指令;
    根据所述读控制指令读取所述寄存器。
  3. 根据权利要求1所述的方法,所述配置寄存器的方法被封装到顶层平台文件中,并在case类中实例化所述顶层平台文件。
  4. 一种配置寄存器的装置,包括:
    设置模块,设置成预先设置寄存器和地址之间的对应关系;
    生成模块,设置成生成随机数,根据预先设置的寄存器和地址之间的对应关系和生成的随机数生成对寄存器的写控制指令;
    控制模块,设置成根据写控制指令将生成的随机数写入寄存器。
  5. 根据权利要求4所述的装置,所述生成模块还设置成:
    在根据写控制指令将生成的随机数写入寄存器之后,根据所述对应关系生成对所述寄存器的读控制指令;
    所述控制模块还设置成:
    根据所述读控制指令读取所述寄存器。
  6. 根据权利要求4所述的装置,所述配置寄存器的装置被封装到顶层平台文件中,并在case类中实例化所述顶层平台文件。
PCT/CN2016/079934 2015-06-09 2016-04-21 一种配置寄存器的方法和装置 WO2016197711A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510313365.4A CN106293625A (zh) 2015-06-09 2015-06-09 一种配置寄存器的方法和装置
CN201510313365.4 2015-06-09

Publications (1)

Publication Number Publication Date
WO2016197711A1 true WO2016197711A1 (zh) 2016-12-15

Family

ID=57503121

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/079934 WO2016197711A1 (zh) 2015-06-09 2016-04-21 一种配置寄存器的方法和装置

Country Status (2)

Country Link
CN (1) CN106293625A (zh)
WO (1) WO2016197711A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109117518A (zh) * 2018-07-21 2019-01-01 中国人民解放军战略支援部队信息工程大学 一种寄存器读写访问验证系统及方法
CN111523284A (zh) * 2020-03-30 2020-08-11 眸芯科技(上海)有限公司 转换芯片eda仿真配置的方法、装置及应用
CN112131829A (zh) * 2020-09-18 2020-12-25 山东云海国创云计算装备产业创新中心有限公司 一种芯片寄存器的验证方法、系统及相关装置
CN112527723A (zh) * 2020-12-16 2021-03-19 广州昂瑞微电子技术有限公司 一种基于uvm的spi验证平台及验证方法
CN114721986A (zh) * 2022-06-09 2022-07-08 井芯微电子技术(天津)有限公司 基于通用验证方法的异构直接存储器访问验证方法及系统
CN114841119A (zh) * 2022-05-11 2022-08-02 杭州云合智网技术有限公司 多用户模式下的寄存器建模方法、装置、设备及介质
CN115081366A (zh) * 2022-06-13 2022-09-20 杭州云合智网技术有限公司 寄存器突发访问的建模方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113705161B (zh) * 2021-08-10 2024-03-22 博流智能科技(南京)有限公司 Uvm寄存器模型快速生成方法及系统、芯片验证方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070022337A1 (en) * 2005-06-30 2007-01-25 International Business Machines Corporation Method and apparatus to verify non-deterministic results in an efficient random manner
CN102564248A (zh) * 2010-12-31 2012-07-11 贵州久联民爆器材发展股份有限公司 电子雷管的加密方法
CN102750467A (zh) * 2005-08-26 2012-10-24 索尼株式会社 信息处理设备、信息处理方法和计算机程序
CN103020395A (zh) * 2012-12-31 2013-04-03 上海高清数字科技产业有限公司 解复用接口模块的验证方法及验证系统
CN104486169A (zh) * 2015-01-07 2015-04-01 北京华力创通科技股份有限公司 可重用自动检测及随机验证系统和方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070022337A1 (en) * 2005-06-30 2007-01-25 International Business Machines Corporation Method and apparatus to verify non-deterministic results in an efficient random manner
CN102750467A (zh) * 2005-08-26 2012-10-24 索尼株式会社 信息处理设备、信息处理方法和计算机程序
CN102564248A (zh) * 2010-12-31 2012-07-11 贵州久联民爆器材发展股份有限公司 电子雷管的加密方法
CN103020395A (zh) * 2012-12-31 2013-04-03 上海高清数字科技产业有限公司 解复用接口模块的验证方法及验证系统
CN104486169A (zh) * 2015-01-07 2015-04-01 北京华力创通科技股份有限公司 可重用自动检测及随机验证系统和方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109117518A (zh) * 2018-07-21 2019-01-01 中国人民解放军战略支援部队信息工程大学 一种寄存器读写访问验证系统及方法
CN109117518B (zh) * 2018-07-21 2022-09-20 中国人民解放军战略支援部队信息工程大学 一种寄存器读写访问验证系统及方法
CN111523284A (zh) * 2020-03-30 2020-08-11 眸芯科技(上海)有限公司 转换芯片eda仿真配置的方法、装置及应用
CN111523284B (zh) * 2020-03-30 2023-05-26 眸芯科技(上海)有限公司 转换芯片eda仿真配置的方法、装置及应用
CN112131829A (zh) * 2020-09-18 2020-12-25 山东云海国创云计算装备产业创新中心有限公司 一种芯片寄存器的验证方法、系统及相关装置
CN112527723A (zh) * 2020-12-16 2021-03-19 广州昂瑞微电子技术有限公司 一种基于uvm的spi验证平台及验证方法
CN114841119A (zh) * 2022-05-11 2022-08-02 杭州云合智网技术有限公司 多用户模式下的寄存器建模方法、装置、设备及介质
CN114841119B (zh) * 2022-05-11 2024-04-12 云合智网(上海)技术有限公司 多用户模式下的寄存器建模方法、装置、设备及介质
CN114721986A (zh) * 2022-06-09 2022-07-08 井芯微电子技术(天津)有限公司 基于通用验证方法的异构直接存储器访问验证方法及系统
CN115081366A (zh) * 2022-06-13 2022-09-20 杭州云合智网技术有限公司 寄存器突发访问的建模方法
CN115081366B (zh) * 2022-06-13 2024-04-05 云合智网(上海)技术有限公司 寄存器突发访问的建模方法

Also Published As

Publication number Publication date
CN106293625A (zh) 2017-01-04

Similar Documents

Publication Publication Date Title
WO2016197711A1 (zh) 一种配置寄存器的方法和装置
US10007492B2 (en) System and method for automatically generating device drivers for run time environments
US9311437B2 (en) Modeling a bus for a system design incorporating one or more programmable processors
US7917348B2 (en) Method of switching external models in an automated system-on-chip integrated circuit design verification system
JP2017523488A (ja) メモリ物理層インタフェースのトレーニング用統合型コントローラ
US8296699B1 (en) Method and system for supporting both analog and digital signal traffic on a single hierarchical connection for mixed-signal verification
Francesconi et al. UVM based testbench architecture for unit verification
US20140100841A1 (en) Testing a Hardware Emulation Model of a Circuit with Software Checker Routines Designed for an RTL Model of the Circuit
CN115146568B (zh) 一种基于uvm的芯片验证系统及验证方法
US11321511B2 (en) Reset crossing and clock crossing interface for integrated circuit generation
US20130024178A1 (en) Playback methodology for verification components
US20050144436A1 (en) Multitasking system level platform for HW/SW co-verification
Kintali et al. Model-based design with Simulink, HDL Coder, and Xilinx system generator for DSP
US10430215B1 (en) Method and system to transfer data between hardware emulator and host workstation
Connell et al. Early hardware/software integration using SystemC 2.0
US10902171B1 (en) Clock crossing interface for integrated circuit generation
Jain et al. Generic System Verilog Universal Verification methodology based reusable verification environment for efficient verification of image signal processing IPs/SoCs
Nangia et al. Functional verification of I2C core using SystemVerilog
US6868545B1 (en) Method for re-using system-on-chip verification software in an operating system
Edelman et al. UVM SchmooVM-I want my c tests!
Putrya Method of free C++ code migration between SoC level tests and standalone IP-Core UVM environments
US9710581B1 (en) VIP assisted method and apparatus to enable SOC integration and software development
Ecker et al. Using a dataflow abstracted virtual prototype for HdS-design
Yeh et al. Enabling TLM-2.0 interface on QEMU and SystemC-based virtual platform
US9183331B1 (en) Formalizing IP driver interface

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16806609

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16806609

Country of ref document: EP

Kind code of ref document: A1