CN109472061B - 一种可重用的仿真验证平台及仿真验证方法 - Google Patents

一种可重用的仿真验证平台及仿真验证方法 Download PDF

Info

Publication number
CN109472061B
CN109472061B CN201811211120.0A CN201811211120A CN109472061B CN 109472061 B CN109472061 B CN 109472061B CN 201811211120 A CN201811211120 A CN 201811211120A CN 109472061 B CN109472061 B CN 109472061B
Authority
CN
China
Prior art keywords
dut
channel
agent
mpu
module
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
CN201811211120.0A
Other languages
English (en)
Other versions
CN109472061A (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.)
China General Nuclear Power Corp
China Techenergy Co Ltd
Original Assignee
China General Nuclear Power Corp
China Techenergy 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 China General Nuclear Power Corp, China Techenergy Co Ltd filed Critical China General Nuclear Power Corp
Priority to CN201811211120.0A priority Critical patent/CN109472061B/zh
Publication of CN109472061A publication Critical patent/CN109472061A/zh
Application granted granted Critical
Publication of CN109472061B publication Critical patent/CN109472061B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/331Design verification, e.g. functional simulation or model checking using simulation with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/36Circuit design at the analogue level
    • G06F30/367Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本发明涉及一种可重用的仿真验证平台及仿真验证方法,属于FPGA产品功能仿真验证技术领域,解决了现有定向测试中存在的人工介入过多、工作量大、验证平台重用性低的问题。包括DUT以及验证组件,验证组件包括参数配置模块、测试用例模块、外存储代理器、通道代理器和MPU功能模型,参数配置模块用于配置其他验证组件的参数;测试用例模块用于接收参数配置模块发送的环境参数,并统一调度外存储代理器、通道代理器、MPU功能模型的激励序列;外存储代理器用于存储DUT内部的寄存器配置数据;通道代理器用于模拟DUT的外部通道;MPU功能模型用于根据测试用例模型的测试需求与DUT进行交互。本发明设计的仿真验证平台具有可重用、易扩展等特点。

Description

一种可重用的仿真验证平台及仿真验证方法
技术领域
本发明涉及FPGA产品功能仿真验证技术领域,尤其涉及一种可重用的仿真验证平台及仿真验证方法。
背景技术
由于FPGA具有超越微处理器和软件系统的优势,国内外多家核电仪控厂商将FPGA技术用于多样性驱动系统。当前基于FPGA技术的仪控系统在国内核电领域尚无成熟应用经验,为此核电业主和核监管机构都要求对FPGA技术的仪控产品进行严格的验证与确认,以保证其质量和可靠性。
对FPGA产品进行功能仿真是验证其正确性及安全性的重要手段。功能仿真验证是FPGA研发流程中最复杂、耗时的环节,平均约占整个研发周期的60-70%,加之产品上线需求的紧迫性,功能仿真验证己成为当下制约FPGA设计流程的瓶颈。因此,如何高效、全面地对FPGA产品功能进行测试,是本领域技术人员需要解决的问题。传统的仿真验证方法存在验证周期长、验证平台重用性低、自动化水平不高等问题。Accellera组织推出的通用验证方法学UVM(Universal Verification Methodology)是验证领域一种新兴的验证方法学,它综合了以往众多验证方法学的优点,代表验证界的最新发展。UVM对传统仿真验证方法进行了改进,它采用层次化建模方法,通过组件重用,缩短验证平台搭建时间;采用受约束随机激励,便于实现自动化测试,提高验证效率。
核电仪控系统中的FPGA器件,在系统中发挥着重要作用,因此需要搭建基于UVM的可重用的验证平台来对其进行高效、完备的验证。
发明内容
鉴于上述的分析,本发明旨在提供一种可重用仿真验证平台及仿真验证方法,用以解决现有定向测试中存在的人工介入过多、工作量大、验证平台重用性低的问题。
本发明的目的主要是通过以下技术方案实现的:
一种可重用的仿真验证平台,包括DUT以及验证组件,所述验证组件包括参数配置模块、测试用例模块、外存储代理器、通道代理器和MPU功能模型,
所述参数配置模块,用于配置测试用例模块中所需的环境参数;还用于初始化所述外存储代理器、通道代理器、MPU功能模型中的参数;
所述测试用例模块,用于接收所述参数配置模块发送的环境参数,完成随机化序列的构建,并统一调度所述外存储代理器、通道代理器、MPU功能模型的激励序列;
所述外存储代理器,用于存储DUT内部的寄存器配置数据;
所述DUT,在接收到外存储代理器发送的配置数据后,进行DUT内部相应寄存器的配置;还用于实现通道采集或输出及与MPU功能模型的通信。
所述通道代理器,用于模拟DUT的外部通道,协助DUT完成采集或完成输出评价;
所述MPU功能模型,用于根据测试用例模型的测试需求与DUT进行交互。
本发明有益效果如下:本发明设计的仿真验证平台,采用模块化结构,便于验证组件复用。既可横向复用,供其它项目使用;也可纵向复用,满足同项目中更高层级的集成。具有可重用、易扩展特点,可以快速搭建验证平台,通过约束产生随机激励,验证不同配置或不同类型IO产品的FPGA器件的功能,可显著提高FPGA产品验证的效率和质量。
在上述方案的基础上,本发明还做了如下改进:
进一步,所述测试用例模块包括序列产生器、虚拟定序器,
所述序列产生器,用于产生所述外存储代理器、MPU功能模块、通道代理器所需的激励序列;
所述虚拟定序器,用于将所述外存储代理器的激励序列发送至所述外存储代理器中的第一定序器,还用于将所述MPU功能模块的激励序列发送至所述MPU功能模块中的应用层序列生成器,还用于将所述通道代理器的激励序列发送至所述通道代理器中的第二定序器。
采用上述进一步方案的有益效果是:通过测试用例模块生成激励序列,对验证组件中的其他模块进行调度,不同的测试场景使用不同的序列组合,用于验证不同的功能。
进一步,所述外存储代理器包括第一定序器、第一驱动器、第一监视器,
所述第一定序器,用于将接收自测试用例模块中虚拟定序器的激励序列发送至第一驱动器;
所述第一驱动器,用于将所接收的激励序列由事务转化成逻辑信号,并通过总线将所述逻辑信号发送至DUT;
所述第一监视器,用于接收所述逻辑信号,并转化成事务,进行协议检查和数据比对,监控总线行为。
采用上述进一步方案的有益效果是:通过采用UVM方法学设计外存储代理器,能够保证外存储代理器实现驱动存储数据到DUT、监控总线行为的功能。
进一步,所述通道代理器包括第二定序器、第二驱动器、第二监视器,
所述第二定序器,用于当通道代理器为输出型时,将通道激励序列发送至第二驱动器;
所述第二驱动器,用于将来自第二定序器的激励序列由事务转化成逻辑信号,并驱动到所述被测DUT的通道输入端口;
所述第二监视器,用于当通道代理器为输入型时,采集监视来自DUT的通道信号。
采用上述进一步方案的有益效果是:通过采用UVM方法学设计通道代理器,能够保证通道代理器实现驱动信号、监控总线行为的功能。其中DUT为输入类时,如AI及DI类的DUT,通道代理器主要由第二定序器及第二驱动器发挥作用;当DUT为输出类时,如AO及DO类的DUT,通道代理器主要由监视器发挥作用。
进一步,所述通道代理器按照输入输出类型包括:外部DAC代理器、外部ADC代理器、外部DI输入通道代理器、外部DO输出通道代理器。
采用上述进一步方案的有益效果是:针对四类输入输出类型产品的应用场景,开发相应类型的外围通道代理器。在进行验证时,需在参数配置阶段进行通道代理器输入输出类型配置,选择相应产品类型的测试用例序列,进而开展相应类型产品的验证。
进一步,所述MPU功能模块包括物理层代理器、数据链路层模块、应用层模块,
其中,所述物理层代理器包括:总线定序器、总线驱动器、总线监视器;
所述数据链路层模块包括:数据链路层序列生成器、数据链路层序列、数据链路层定序器;
所述应用层模块包括:应用层序列生成器、应用层序列、应用层定序器。
采用上述进一步方案的有益效果是:MPU功能模块是复杂功能的器件,本发明提供的MPU功能模块可满足与FPGA通信交互、采集或输出数据处理等功能,MPU功能模块的核心功能是模拟自定义协议,所述自定义协议具体指DUT与MPU功能模块进行通信所需的自定义协议。
在本发明的另一具体实施例中,提供了一种使用所述仿真验证平台的仿真验证方法,所述方法步骤如下:
上电复位并初始化待测DUT;
配置通道代理器,确定待测DUT的外围通道模型;
完成MPU功能模型对DUT的通信配置;
通信配置完成后,DUT与MPU进行正常的周期通信,DUT与通道代理器进行采集或输出交互,MPU接收DUT的回传数据,并根据所述回传数据实现仿真验证。
本发明有益效果如下:本发明通过给出使用仿真验证平台使用方法,便于本领域的技术人员使用本发明设计的仿真验证平台,同时进一步验证了本发明仿真验证平台的可重用、易扩展特点,能够验证不同配置或不同类型IO产品的FPGA器件的功能,可显著提高FPGA产品验证的效率和质量。
在上述方案的基础上,本发明还做了如下改进:
进一步,所述上电复位并初始化待测DUT进一步包括:上电复位完成后,检查待测DUT在位状态、机箱、槽位号是否初始化成功;若成功,由测试用例模块控制外存储代理器,将所述外存储代理器内部存储的寄存器配置数据发送至待测DUT;
所述配置通道代理器,确定待测DUT的外围通道模型进一步包括:利用参数配置模块将环境参数发送至测试用例模块,测试用例模块根据所述环境参数选择生成相应的通道代理器,完成通道代理器的配置,并由此确定待测DUT的外围通道模型。
采用上述进一步方案的有益效果是:通过上电复位并初始化待测DUT,通信配置阶段确保待测DUT处于正常状态并完成相应寄存器的配置,验证通信配置阶段的器件功能,是后续步骤可靠实现的前提条件。
进一步,所述完成MPU功能模型对DUT的通信配置包括:测试用例模块控制MPU功能模型通过通信总线向待测DUT发送通信配置协议帧,待测DUT接收所述通信配置协议帧,并向MPU功能模型发送回包信息,MPU功能模型根据所述回包信息判断通信配置是否成功。
采用上述进一步方案的有益效果是:通信配置是MPU功能模型对DUT的通信的基础,通过测试用例模块的调度,能够实现MPU功能模型对DUT的通信配置,保证后期二者之间的正常通信。
进一步,所述通信配置完成后,DUT与MPU进行正常的周期通信进一步包括:
测试用例模块控制MPU功能模型通过通信总线向待测DUT发送仿真激励序列,待测DUT接收所述激励序列,根据所述仿真激励序列的内容执行相应内部处理或通道操作,并向MPU功能模型反馈执行结果。
采用上述进一步方案的有益效果是:通过DUT与MPU之间的通信交互,能够模拟MPU与I/O板卡之间的通信过程,实现仿真验证功能。
本发明中,上述各技术方案之间还可以相互组合,以实现更多的优选组合方案。本发明的其他特征和优点将在随后的说明书中阐述,并且,部分优点可从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过说明书、权利要求书以及附图中所特别指出的内容中来实现和获得。
附图说明
附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。
图1为本发明实施例中的可重用的仿真验证平台;
图2为本发明实施例中的MPU功能模块;
图3为本发明实施例中的仿真验证方法。
具体实施方式
下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理,并非用于限定本发明的范围。
本发明的一个具体实施例,公开了一种可重用的仿真验证平台,如图1所示,所述仿真验证平台包括待测DUT以及验证组件,
所述DUT(Device Under Test,测试中设备),一方面用于实现通道采集或输出(与现场传感或致动器交互),另一方面通过通信总线与主处理单元(MPU)进行通信。
所述验证组件进一步包括:参数配置模块、测试用例模块、外存储代理器、通道代理器、MPU功能模型,
其中,所述参数配置模块,用于配置测试用例模块中所需的环境参数,指导测试用例模块完成随机化序列的定义;还用于初始化所述外存储代理器、通道代理器、MPU功能模型中的参数;
所述测试用例模块,用于接收所述参数配置模块发送的环境参数,完成随机化序列的构建,并统一调度所述外存储代理器、通道代理器、MPU功能模型的激励序列;不同的测试场景使用不同的序列组合,用于验证不同的功能;
优选地,所述测试用例模块进一步包括:序列产生器、虚拟定序器,其中,所述序列产生器,用于产生所述外存储代理器、MPU功能模块、通道代理器所需的激励序列;
所述虚拟定序器,用于将所述外存储代理器的激励序列发送至所述外存储代理器中的第一定序器,还用于将所述MPU功能模块的激励序列发送至所述MPU功能模块中的应用层序列生成器,还用于将所述通道代理器的激励序列发送至所述通道代理器中的第二定序器。
所述外存储代理器,用于存储待测DUT内部的寄存器配置数据,还用于在待测DUT上电复位后,将所述配置数据通过IIC协议输出至待测DUT,以完成DUT内部相应寄存器的配置;其中,本发明所述的外存储代理器模拟的是EEPROM器件的功能;
优选地,所述外存储代理器进一步包括:第一定序器、第一驱动器、第一监视器,
其中,所述第一定序器,用于将接收自测试用例模块中虚拟定序器的激励序列发送至第一驱动器;
所述第一驱动器,用于将接收自第一定序器的激励序列由事务转化成逻辑信号,并通过总线将所述逻辑信号发送至DUT;
所述第一监视器,用于接收所述逻辑信号,并转化成事务,进行协议检查和数据比对,监控总线行为。
所述通道代理器,用于根据输入输出的不同类型,为DUT提供相应的输入或采集其输出的外围器件,用于模拟外部通道功能;
优选地,所述通道代理器进一步包括:第二定序器、第二驱动器、第二监视器,
其中,所述第二定序器,用于当通道代理器为输出型时,将通道激励序列发送至第二驱动器,此时对应DUT为输入类;
所述第二驱动器,用于将来自第二定序器的激励序列由事务转化成逻辑信号,并驱动到接口所述被测DUT的通道输入端口;
所述第二监视器,用于当通道代理器为输入型时,采集监视来自DUT的通道信号,此时对应DUT为输出类。
其中DUT为输入类时,如AI及DI类的DUT,通道代理器主要由第二定序器及第二驱动器发挥作用;当DUT为输出类时,如AO及DO类的DUT,主要由监视器发挥作用。
针对四类输入输出类型产品的应用场景,开发相应类型的外围通道模型。在进行验证时,需在参数配置阶段进行输入输出类型配置,选择相应产品类型的测试用例序列,进而开展相应类型产品的验证。
所述通道代理器按照输入输出类型进一步分为:外部DAC代理器、外部ADC代理器、外部DI输入通道代理器、外部DO输出通道代理器。
外部DAC代理器,开发一个数模转换代理器,用于将待测的AO类型FPGA输出端口的输出电流数据进行解析,将FPGA输出的数字量转化为模拟量。此代理器为基于SPI协议的总线代理器。
外部ADC代理器,开发一个模数转换代理器。用于AI类型的FPGA验证,完成通道电流采集。此功能模型检查FPGA下发的ADC配置数据正确性;确定ADC配置成功后,产生电流数据并通过SPI协议写入DUT的读取接口。此模型产生受约束的随机电流输入数据。
外部DI输入通道代理器,产生受约束的随机数字量输入信号,用于对DI类型FPGA进行验证。
外部DO输出通道代理器,用于接收DO板卡FPGA输出的数字量,具备监视功能。
所述MPU功能模型,用于进行通信协议的数据帧的组包及解析,根据测试用例模型的测试需求与DUT进行交互,具体包括:向DUT下发通信指令,并接收来自DUT上传的信息。
优选地,MPU功能模块是复杂功能的器件,本发明提供的MPU功能模块可满足与FPGA通信交互、采集或输出处理相关功能,MPU功能模块的核心功能是模拟自定义协议,所述自定义协议具体指DUT与MPU功能模块进行通信所需的自定义协议。
优选地,所述MPU功能模块内的通信协议部分进一步包括物理层代理器、数据链路层模块、应用层模块,
其中,所述物理层代理器进一步包括:总线定序器、总线驱动器、总线监视器;
所述数据链路层模块进一步包括:数据链路层序列生成器、数据链路层序列、数据链路层定序器;
所述应用层模块进一步包括:应用层序列生成器、应用层序列、应用层定序器;
如图2所示,其中,所述总线定序器用于接收数据链路层定序器发来的数据包,还用于将总线监视器收集到的总线响应数据上传到数据链路层代理器。总线驱动器用于将数据链路层数据以符合UART总线协议的事务单元打包,并将事务单元通过总线接口发送到待测DUT的UART接收信号端;总线监视器用于收集DUT的UART总线信号端输出的响应数据包。
物理层代理器,其数据格式由开始位、数据、校验位和停止位组成。物理层代理器还用于配置波特率、奇偶校验等参数。
数据链路层序列在应用层数据包基础上,通过数据链路层序列生成器添加上同步字节、定界符、帧长度、源地址、目的地址、冗余校验等信息,组成完整的数据链路层数据帧。数据链路层序列用于根据协议定义组成数据链路层数据包,还用于将数据链路层定序器接收到的物理层代理器响应数据包发送至应用层模块;数据链路层定序器还用于将数据链路层数据发送到物理层代理器的总线定序器上,还用于接收总线定序器传输来的响应数据事务。
应用层序列生成器根据选用的测试用例约束情况及应用层事务单元的参数配置情况,自动生成对应的应用层序列,由特定组包函数生成应用层数据包;应用层序列,主要由测试用例统一调度其序列生成器,适用于产生不同的应用层事务单元;应用层定序器用于将应用层数据包发送给数据链路层,还用于接收数据链路层传输来的响应数据包;所述应用层序列还有比较计分板,用于判断接收到的响应数据包是否合理。应用层数据包,包含如包序号、机箱、槽位、板卡类型、通道值、CRC等信息。具体到不同I/O类型,进行相应的扩展得到包含具体I/O特点的子类。应用层模块按DUT工作的通信阶段,将先后用于配置阶段和正常通信阶段。
将三个层次模型,集成到uvm_env基类形成一个命名为master_agent集成环境的组件,用来整体完成自定义协议的功能,完成通信数据下发及上传数据的接收。将master_agent组件集成到testbech中,同时在testbench中包含主控机箱和槽位号、主控地址、I/O类型、I/O槽位、I/O地址等配置参数,形成MPU仿真模型。
通过UVM方法搭建可重用的验证平台,可极大地提高验证的效率。本发明采用UVM进行验证的主要优点为:
1.采用模块化结构,便于验证组件复用。既可横向复用,供其它项目使用;也可纵向复用,满足同项目中更高层级的集成。
2.结合受约束随机激励、自动检查以及覆盖指标,可节省验证时间。
3.便于测试维护,在不修改testbench情况下,通过修改testcase的方式来改变测试用例,提高测试灵活性和效率。
传统的验证平台和方法在新的测试用例时往往需重新修改测试平台,代码修改量大、工作重复度高,不便于维护和扩展。本验证平台testcase库是相对独立的,具有良好的可重用性、可扩展性。在验证平台搭建好之后,测试人员可将精力集中于开发testcase上,更易于发现有价值的缺陷,提高测试的效率和产品质量。随着验证的深入,testcase库会越来越完善,进而达到更高的功能覆盖率,提高FPGA的可靠性。在后续测试维护,如回归测试时,可以调用相应的testcase编号,方便的进行回归验证。如需增加测试用例,仅需在测试用例模块产生相应序列,即可形成新的测试用例。
在本发明的另一具体实施例中,还提供了一种仿真验证方法,如图3所示,所述仿真方法包括以下步骤:
步骤S1:上电复位并初始化待测DUT;
步骤S11:上电复位完成后,待测DUT检查包括在位状态、机箱、槽位号在内的单元是否初始化成功;
步骤S12:若成功,由测试用例模块控制外存储代理器,将所述外存储代理器内部存储的寄存器配置数据发送至待测DUT;
在此过程中,测试用例模块的序列产生器,按照外存储代理器配置数据的顺序,指导生成外存储代理器所需的激励序列;并通过测试用例模块中的虚拟定序器,将所述激励序列发送到外存储模型的第一定序器上;外存储代理器的第一定序器将所述激励序列传递给外存储代理器中的第一驱动器,所述第一驱动器通过虚拟接口,将所述激励序列通过存储器传输总线,发送到待测DUT中;
步骤S2:配置通道代理器,确定待测DUT的外围通道模型;
利用参数配置模块将环境参数发送至测试用例模块,测试用例模块根据所述环境参数选择生成相应的通道代理器,完成通道代理器的配置,并由此确定待测DUT的外围通道模型;
步骤S3:完成MPU功能模型对DUT的通信配置;
测试用例模块控制MPU功能模型通过通信总线向待测DUT发送通信配置协议帧,待测DUT接收所述通信配置协议帧,并向MPU功能模型发送回包信息,MPU功能模型根据所述回包信息判断通信配置是否成功;
此过程中,测试用例模块的序列产生器产生MPU功能环境模型的应用层所需的激励序列,将所述激励序列发送到应用层,并经由数据链路层处理添加同步字节、冗余校验等信息,最终通过物理层的驱动器驱动到待测DUT;
待测DUT接收所述激励序列并生成回包信息,所述回包信息被物理层代理器的监视器接收,并经数据链路层发送至应用层,由应用层解析回包信息,进而判断通信配置是否成功;若成功,则进入正常通信阶段,否则在下一周期重新进行通信配置。
步骤S4:通信配置完成后,DUT与MPU进行正常的周期通信,DUT与通道代理器进行采集或输出交互,MPU接收DUT的回传数据,并根据所述回传数据实现仿真验证:
DUT与通道代理器进行采集或输出交互,由通道代理器进行DUT输出评价或由通道代理器提供DUT所需的采集信号;MPU对DUT回传的数据完成解析,并将数据期望值与接收到的回传数据进行对比,对仿真验证结果进行评价;
通信配置阶段成功后,进入正常通信周期阶段。此过程的数据下发及回传过程与配置过程类似。
测试用例模块控制MPU功能模型通过通信总线向待测DUT发送仿真激励序列,待测DUT接收所述激励序列,根据所述仿真激励序列的内容执行相应内部处理或通道操作,并向MPU功能模型反馈执行结果。
当待测DUT为输出型,如DO或AO型,MPU功能模型发送的仿真激励序列内包含MPU设备状态、输出信息及输出通道的相应要求,此时待测DUT执行相应的数据处理操作,并向通道代理器输出通道数据,通道代理器监视通道状态并对DUT输出的通道数值进行评价;同时待测DUT生成包含本设备故障状态及通道数据回读等内容的回包信息并反馈至MPU功能模型;
当待测DUT为输入型,如DI或AI型,MPU功能模型发送的激励序列内主要为MPU设备状态信息,此时待测DUT采集通道数据;通道数据由通道代理器产生,并由通道代理器驱动到DUT的通道采集接口。待测DUT采集到通道数据,进行内部处理,生成包含本设备故障状态、通道采集值、通道状态评价等内容的回包信息,并反馈至MPU功能模型。
该仿真验证方法实施例与仿真验证平台实施例基于相同的发明构思,其相通之处可相互借鉴,此处不再赘述。
本发明通过给出使用仿真验证平台使用方法,便于本领域的技术人员使用本发明设计的仿真验证平台,同时进一步验证了本发明仿真验证平台的可重用、易扩展特点,能够验证不同配置或不同类型IO产品的FPGA器件的功能,可显著提高FPGA产品验证的效率和质量。
本领域技术人员可以理解,实现上述实施例方法的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读存储介质中。其中,所述计算机可读存储介质为磁盘、光盘、只读存储记忆体或随机存储记忆体等。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。

Claims (7)

1.一种可重用的仿真验证平台,其特征在于,包括DUT以及验证组件,所述验证组件包括参数配置模块、测试用例模块、外存储代理器、通道代理器和MPU功能模型,
所述参数配置模块,用于配置测试用例模块中所需的环境参数;还用于初始化所述外存储代理器、通道代理器、MPU功能模型中的参数;
所述测试用例模块,用于接收所述参数配置模块发送的环境参数,完成随机化序列的构建,并统一调度所述外存储代理器、通道代理器、MPU功能模型的激励序列;
所述外存储代理器,用于存储DUT内部的寄存器配置数据;
所述DUT,在接收到外存储代理器发送的配置数据后,进行DUT内部相应寄存器的配置;还用于实现通道采集或输出及与MPU功能模型的通信;
所述通道代理器,用于模拟DUT的外部通道,协助DUT完成采集或完成输出评价;
所述MPU功能模型,用于根据测试用例模型的测试需求与DUT进行交互;
所述测试用例模块包括序列产生器、虚拟定序器,
所述序列产生器,用于产生所述外存储代理器、MPU功能模块、通道代理器所需的激励序列;
所述虚拟定序器,用于将所述外存储代理器的激励序列发送至所述外存储代理器中的第一定序器,还用于将所述MPU功能模块的激励序列发送至所述MPU功能模块中的应用层序列生成器,还用于将所述通道代理器的激励序列发送至所述通道代理器中的第二定序器;
所述外存储代理器包括第一定序器、第一驱动器、第一监视器,
所述第一定序器,用于将接收自测试用例模块中虚拟定序器的激励序列发送至第一驱动器;
所述第一驱动器,用于将所接收的激励序列由事务转化成逻辑信号,并通过总线将所述逻辑信号发送至DUT;
所述第一监视器,用于接收所述逻辑信号,并转化成事务,进行协议检查和数据比对,监控总线行为;
所述通道代理器包括第二定序器、第二驱动器、第二监视器,
所述第二定序器,用于当通道代理器为输出型时,将通道激励序列发送至第二驱动器;
所述第二驱动器,用于将来自第二定序器的激励序列由事务转化成逻辑信号,并驱动到DUT的通道输入端口;
所述第二监视器,用于当通道代理器为输入型时,采集监视来自DUT的通道信号。
2.根据权利要求1所述的可重用的仿真验证平台,其特征在于,所述通道代理器按照输入输出类型包括:外部DAC代理器、外部ADC代理器、外部DI输入通道代理器、外部DO输出通道代理器。
3.根据权利要求2所述的可重用的仿真验证平台,其特征在于,所述MPU功能模块包括物理层代理器、数据链路层模块、应用层模块,
其中,所述物理层代理器包括:总线定序器、总线驱动器、总线监视器;
所述数据链路层模块包括:数据链路层序列生成器、数据链路层序列、数据链路层定序器;
所述应用层模块包括:应用层序列生成器、应用层序列、应用层定序器。
4.一种使用权利要求1-3中任一项所述仿真验证平台的仿真验证方法,其特征在于,所述方法步骤如下:
上电复位并初始化待测DUT;
配置通道代理器,确定待测DUT的外围通道模型;
完成MPU功能模型对DUT的通信配置;
通信配置完成后,DUT与MPU进行正常的周期通信,DUT与通道代理器进行采集或输出交互,MPU接收DUT的回传数据,并根据所述回传数据实现仿真验证。
5.根据权利要求4所述的方法,其特征在于,所述上电复位并初始化待测DUT进一步包括:上电复位完成后,检查待测DUT在位状态、机箱、槽位号是否初始化成功;若成功,由测试用例模块控制外存储代理器,将所述外存储代理器内部存储的寄存器配置数据发送至待测DUT;
所述配置通道代理器,确定待测DUT的外围通道模型进一步包括:利用参数配置模块将环境参数发送至测试用例模块,测试用例模块根据所述环境参数选择生成相应的通道代理器,完成通道代理器的配置,并由此确定待测DUT的外围通道模型。
6.根据权利要求5所述的方法,其特征在于,所述完成MPU功能模型对DUT的通信配置包括:测试用例模块控制MPU功能模型通过通信总线向待测DUT发送通信配置协议帧,待测DUT接收所述通信配置协议帧,并向MPU功能模型发送回包信息,MPU功能模型根据所述回包信息判断通信配置是否成功。
7.根据权利要求4-6中任一项所述的方法,其特征在于,所述通信配置完成后,DUT与MPU进行正常的周期通信进一步包括:
测试用例模块控制MPU功能模型通过通信总线向待测DUT发送仿真激励序列,待测DUT接收所述激励序列,根据所述仿真激励序列的内容执行相应内部处理或通道操作,并向MPU功能模型反馈执行结果。
CN201811211120.0A 2018-10-17 2018-10-17 一种可重用的仿真验证平台及仿真验证方法 Active CN109472061B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811211120.0A CN109472061B (zh) 2018-10-17 2018-10-17 一种可重用的仿真验证平台及仿真验证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811211120.0A CN109472061B (zh) 2018-10-17 2018-10-17 一种可重用的仿真验证平台及仿真验证方法

Publications (2)

Publication Number Publication Date
CN109472061A CN109472061A (zh) 2019-03-15
CN109472061B true CN109472061B (zh) 2022-10-14

Family

ID=65664041

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811211120.0A Active CN109472061B (zh) 2018-10-17 2018-10-17 一种可重用的仿真验证平台及仿真验证方法

Country Status (1)

Country Link
CN (1) CN109472061B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110347542A (zh) * 2019-05-31 2019-10-18 北京华捷艾米科技有限公司 一种提高验证环境重用性的端口连接方法、系统及介质
CN110932726A (zh) * 2019-11-21 2020-03-27 江苏旭微科技有限公司 一种模数转换器验证方法
CN111082858B (zh) * 2019-12-16 2021-03-02 烽火通信科技股份有限公司 一种基于uvm的高复用性开销仿真系统及方法
CN111274750B (zh) * 2020-03-05 2023-05-30 中国工程物理研究院计算机应用研究所 一种基于可视化建模的fpga仿真验证系统和方法
CN111858217B (zh) * 2020-07-24 2022-07-15 浪潮(北京)电子信息产业有限公司 一种层次化验证方法、平台、设备及存储介质
CN112749523B (zh) * 2021-01-14 2024-08-06 中山大学 一种基于uvm的图像重建模块的验证平台及方法
CN113496107B (zh) * 2021-06-29 2024-04-09 山东华芯半导体有限公司 一种可综合的cpu模型
CN113671349B (zh) * 2021-08-22 2024-07-09 山东云海国创云计算装备产业创新中心有限公司 一种fpga芯片测试平台和fpga芯片测试方法
CN113626343B (zh) * 2021-10-12 2022-04-22 中科南京智能技术研究院 一种基于UVM的Router可重用验证平台
CN114218026B (zh) * 2021-11-29 2022-10-28 北京百度网讯科技有限公司 计分板生成方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106133537A (zh) * 2014-12-30 2016-11-16 京微雅格(北京)科技有限公司 一种fpga功能模块仿真验证方法及其系统
WO2016197768A1 (zh) * 2016-01-04 2016-12-15 中兴通讯股份有限公司 芯片验证方法、装置及系统
US9836372B1 (en) * 2014-02-14 2017-12-05 Maxim Integrated Products, Inc. Device verification system with firmware universal verification component
CN107463473A (zh) * 2017-09-01 2017-12-12 珠海泰芯半导体有限公司 基于uvm和fpga的芯片软硬件仿真环境

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9836372B1 (en) * 2014-02-14 2017-12-05 Maxim Integrated Products, Inc. Device verification system with firmware universal verification component
CN106133537A (zh) * 2014-12-30 2016-11-16 京微雅格(北京)科技有限公司 一种fpga功能模块仿真验证方法及其系统
WO2016197768A1 (zh) * 2016-01-04 2016-12-15 中兴通讯股份有限公司 芯片验证方法、装置及系统
CN107463473A (zh) * 2017-09-01 2017-12-12 珠海泰芯半导体有限公司 基于uvm和fpga的芯片软硬件仿真环境

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
UVM方法学在核安全级可编程逻辑仿真验证中的应用;张运涛等;《自动化博览》;20161115(第11期);全文 *
基于UVM方法的FPGA验证技术;习建博等;《电子科学技术》;20160510(第03期);全文 *

Also Published As

Publication number Publication date
CN109472061A (zh) 2019-03-15

Similar Documents

Publication Publication Date Title
CN109472061B (zh) 一种可重用的仿真验证平台及仿真验证方法
CN109039824B (zh) 一种车载终端无线远程通信协议自动化测试系统及方法
CN107463473B (zh) 基于uvm和fpga的芯片软硬件仿真环境
CN109684672A (zh) 一种soc芯片系统级验证系统及方法
CN109406916B (zh) 一种用于半导体存储器老化测试装置的测试平台
CN101523232B (zh) 联网测试系统
CN114036013B (zh) 一种基于uvm的应答器芯片多模块同步验证平台和验证方法
CN107562969B (zh) 航空发动机控制系统软件的集成方法和装置
US20090094575A1 (en) System and Method For Applying Model-Based Testing To Train Control Systems
CN108038294B (zh) Uvm环境搭建方法和系统
CN107729233B (zh) 一种控制器软件的仿真方法及装置
CN105808432A (zh) 轨道交通牵引传动控制单元软件自动化测试系统及方法
CN104503771B (zh) 一种列车网络控制系统集成开发平台
CN107135210A (zh) 一种汽车模拟通讯协议解析器及其解析方法
CN104598373B (zh) 一种多技术融合的嵌入式软件测试方法
CN109358599A (zh) 一种列车运行监控装置的自动测试系统、方法及装置
CN104572108B (zh) 一种列车网络控制系统软件开发方法
CN108345265A (zh) 硬件设备的编程方法、可视化编程平台、存储器和处理器
CN109726061A (zh) 一种SoC芯片的验证方法
CN116089281A (zh) 一种芯片测试方法、测试平台和设备
CN114385480A (zh) 一种用于车辆fota功能自动验证的硬件在环测试系统
CN113779913B (zh) 一种面向ai多芯片系统的验证平台结构和测试方法
US20110246975A1 (en) Control architecture and process for porting application software for equipment on board an aircraft to a consumer standard computer hardware unit
CN112925705B (zh) 一种基于无人值守的运载火箭飞行软件验收方法与系统
CN108228965B (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