CN109669872A - 一种验证方法和装置 - Google Patents
一种验证方法和装置 Download PDFInfo
- Publication number
- CN109669872A CN109669872A CN201811584904.8A CN201811584904A CN109669872A CN 109669872 A CN109669872 A CN 109669872A CN 201811584904 A CN201811584904 A CN 201811584904A CN 109669872 A CN109669872 A CN 109669872A
- Authority
- CN
- China
- Prior art keywords
- module
- code
- cpld
- signal
- cpld code
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Tests Of Electronic Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本申请提供一种验证方法和装置,所述方法包括:在复杂可编程逻辑器件CPLD代码设计完成后,在成品印刷电路板PCBA打板之前,第一模块控制第二模块与CPLD代码进行交互;所述第一模块根据所述交互的信号对所述CPLD代码进行验证。通过上述技术方案,可以在板卡打板前实现CPLD代码的交互,从而进行准确的代码验证,并且可以减少板卡的调试成本。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种验证方法和装置。
背景技术
在服务器系统中,CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)广泛应用于主板及背板等各个板卡中,主要用来实现服务器板卡的时序控制、板卡信息交互、指示灯控制等功能,在服务器系统中起着重要的作用。
CPLD代码是否正确体现了是否实现了需求的功能,在目前的CPLD代码设计验证通常采用以下两种方式:
第一种如图1所示,是在板卡开发过程中,对CPLD代码进行仿真实验,但因此时还没有成品电路板,只能对代码设计中的输入信号进行初始设定,并查看输出是否符合设计要求。该方式无法实现CPLD代码的交互,因此无法获得准确的验证结果。
第二种如图2所示,是在PCBA(Printed Circuit Board Assembly,成品印刷电路板)板卡回板后,利用CPLD软件在线仿真工具,直接连接板卡并抓取待验证信号,进行代码仿真验证。此种仿真方式可直接抓取、捕获CPLD代码中实际信号波形,更清晰、直观,易于分析系统中问题根源。该方式效果直观、理想,但需要待板卡回板后才可实施。若验证结果是存在问题,则需要对板卡进行调试才能定位是否是CPLD代码存在问题,增加了板卡的调试成本。
发明内容
本申请所要解决的技术是提供一种验证方法和装置,可以在板卡打板前进行准确的代码验证,并且可以减少板卡的调试时间。
为了解决上述技术问题,本申请提供了一种验证方法,所述方法包括:
在复杂可编程逻辑器件CPLD代码设计完成后,在成品印刷电路板PCBA打板之前,第一模块控制第二模块与CPLD代码进行交互;
所述第一模块根据所述交互的信号对所述CPLD代码进行验证。
可选地,所述第一模块设置有以下内容中的一种或多种:
从CPLD代码中写入的数据及对应的地址、从CPLD代码中读取的数据。
可选地,所述第一模块根据所述交互的信号对所述CPLD代码进行验证包括:
所述第一模块根据所述第二模块对CPLD代码进行读/写操作的信号,对所述CPLD代码进行验证。
可选地,所述对所述CPLD代码进行验证包括:
通过波形展示所述进行读/写操作的信号;
根据所述波形对所述CPLD代码进行验证。
可选地,所述第一模块和第二模块通过仿真软件编写代码。
本申请还提供一种验证装置,所述装置包括:
第一模块和第二模块;
所述第一模块,用于在复杂可编程逻辑器件CPLD代码设计完成后,在成品印刷电路板PCBA打板之前,控制第二模块与CPLD代码进行交互;还用于根据所述交互的信号对所述CPLD代码进行验证;
所述第二模块,用于根据所述第一模块的控制与所述CPLD代码进行交互。
可选地,所述第一模块设置有以下内容中的一种或多种:
从CPLD代码中写入的数据及对应的地址、从CPLD代码中读取的数据。
可选地,所述第一模块用于根据所述交互的信号对所述CPLD代码进行验证是指:
所述第一模块根据所述第二模块对CPLD代码进行读/写操作的信号,对所述CPLD代码进行验证。
可选地,所述对所述CPLD代码进行验证包括:
通过波形展示所述进行读/写操作的信号;
根据所述波形对所述CPLD代码进行验证。
可选地,所述第一模块和第二模块通过仿真软件编写代码。
与现有技术相比,本申请包括:在复杂可编程逻辑器件CPLD代码设计完成后,在成品印刷电路板PCBA打板之前,第一模块控制第二模块与CPLD代码进行交互;所述第一模块根据所述交互的信号对所述CPLD代码进行验证。通过上述技术方案,可以在板卡打板前实现CPLD代码的交互,从而进行准确的代码验证,并且可以减少板卡的调试成本。
附图说明
图1是现有技术中的验证方法的示意图;
图2是现有技术中的另一验证方法的示意图
图3是本发明实施例一的验证方法的流程示意图;
图4是本发明实施例一的验证装置的结构示意图;
图5是示例一的验证方法的流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
实施例一
如图1所示,本实施例提供一种验证方法,所述方法包括:
步骤S100、在复杂可编程逻辑器件CPLD代码设计完成后,在成品印刷电路板PCBA打板之前,第一模块控制第二模块与CPLD代码进行交互;
步骤S102、所述第一模块根据所述交互的信号对所述CPLD代码进行验证。
通过上述技术方案,可以在板卡打板前实现CPLD代码的交互,从而进行准确的代码验证。此外,由于可以在板卡打板前进行验证,可及时发现CPLD代码的问题,减少板卡调试时间,提高产品研发的效率。
可选地,所述第一模块可以设置有以下内容中的一种或多种:
从CPLD代码中写入的数据及对应的地址、从CPLD代码中读取的数据。
可选地,所述第一模块根据所述交互的信号对所述CPLD代码进行验证可以包括:
所述第一模块根据所述第二模块对CPLD代码进行读/写操作的信号,对所述CPLD代码进行验证。
可选地,所述对所述CPLD代码进行验证可以包括:
通过波形展示所述进行读/写操作的信号;
根据所述波形对所述CPLD代码进行验证。
本实施可以获得完整的信号交互波形,从而可以更直观形象地分析判断CPLD代码中存在的问题。
可选地,所述第一模块和第二模块可以通过仿真软件编写代码。
如图2所示,本实施例还提供一种验证装置,所述装置包括:
第一模块10和第二模块20;
所述第一模块10,用于在复杂可编程逻辑器件CPLD代码设计完成后,在成品印刷电路板PCBA打板之前,控制第二模块与CPLD代码进行交互;还用于根据所述交互的信号对所述CPLD代码进行验证;
所述第二模块20,用于根据所述第一模块的控制与所述CPLD代码进行交互。
可选地,所述第一模块可以设置有以下内容中的一种或多种:
从CPLD代码中写入的数据及对应的地址、从CPLD代码中读取的数据。
可选地,所述第一模块用于根据所述交互的信号对所述CPLD代码进行验证可以是指:
所述第一模块根据所述第二模块对CPLD代码进行读/写操作的信号,对所述CPLD代码进行验证。
可选地,所述对所述CPLD代码进行验证可以包括:
通过波形展示所述进行读/写操作的信号;
根据所述波形对所述CPLD代码进行验证。
可选地,所述第一模块和第二模块可以通过仿真软件编写代码。
通过上述技术方案,可以在板卡打板前实现CPLD代码的交互,从而进行准确的代码验证。此外,由于可以在板卡打板前进行验证,可及时发现CPLD代码的问题,减少板卡调试时间,提高产品研发的效率。
示例一
下面结合具体示例进一步说明本申请的验证方法。
现有技术中,CPLD芯片硬件设计通常是作为接收端,CPLD代码中只含有I2C从模块Slave模块,而不涉及Master模块的内容,因此无法模拟出CPLD代码与Master模块的交互。本示例中,通过仿真软件Modelsim编写Testbeach模块(相当于第一模块)和I2C Master模块(相当于第二模块),可以模拟I2C Master模块与CPLD芯片进行信息交互,向CPLD发送数据或命令。本示例中,I2C Master模块可以是BMC(Baseboard Management Controller,基板管理控制器),也可以是其他CPLD模块,利用I2C通信协议,实现I2C Master模块与I2CSlave的通信。
本示例中,I2C Master模块用于在I2C通信中与Slave模块进行信息交互。Testbeach模块用于调用I2C Master模块和Slave模块,从而控制I2C Master模块和Slave模块之间进行信息交互。
本示例中,可以在Testbeach模块中预先设定I2C Master模块与I2C Slave模块信息交互的信息内容,例如预先设定I2C Master模块对I2C Slave模块的写入的数据和对应的地址、读取的数据等。Testbeach模块还用于提取I2C Master模块与I2C Slave模块信息交互中待验证的信号,并对信号进行波形展示,通过波形分析,可以看出系统中I2C Slave模块实际通信交互过程中I2C信号输入、响应正误。
如图5所示,本示例的验证方法可以按照以下方式进行:
步骤S201、CPLD代码设计完成后,利用Modelsim软件编写I2C Master模块及Testbeach模块代码;
步骤S202、通过Testbeach模块调用I2C Master模块和Slave模块进行工程综合、编译;
步骤S203、提取I2C通信中需要验证的信号;
步骤S204、通过波形分析验证通信交互过程中I2C信号输入、响应的正确性。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本申请不限制于任何特定形式的硬件和软件的结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种验证方法,其特征在于,所述方法包括:
在复杂可编程逻辑器件CPLD代码设计完成后,在成品印刷电路板PCBA打板之前,第一模块控制第二模块与CPLD代码进行交互;
所述第一模块根据所述交互的信号对所述CPLD代码进行验证。
2.如权利要求1所述的方法,其特征在于:
所述第一模块设置有以下内容中的一种或多种:
从CPLD代码中写入的数据及对应的地址、从CPLD代码中读取的数据。
3.如权利要求2所述的方法,其特征在于,所述第一模块根据所述交互的信号对所述CPLD代码进行验证包括:
所述第一模块根据所述第二模块对CPLD代码进行读/写操作的信号,对所述CPLD代码进行验证。
4.如权利要求1所述的方法,其特征在于:所述对所述CPLD代码进行验证包括:
通过波形展示所述进行读/写操作的信号;
根据所述波形对所述CPLD代码进行验证。
5.如权利要求1至4任一所述的方法,其特征在于:
所述第一模块和第二模块通过仿真软件编写代码。
6.一种验证装置,其特征在于,所述装置包括:
第一模块和第二模块;
所述第一模块,用于在复杂可编程逻辑器件CPLD代码设计完成后,在成品印刷电路板PCBA打板之前,控制第二模块与CPLD代码进行交互;还用于根据所述交互的信号对所述CPLD代码进行验证;
所述第二模块,用于根据所述第一模块的控制与所述CPLD代码进行交互。
7.如权利要求6所述的装置,其特征在于:
所述第一模块设置有以下内容中的一种或多种:
从CPLD代码中写入的数据及对应的地址、从CPLD代码中读取的数据。
8.如权利要求7所述的装置,其特征在于,所述第一模块用于根据所述交互的信号对所述CPLD代码进行验证是指:
所述第一模块根据所述第二模块对CPLD代码进行读/写操作的信号,对所述CPLD代码进行验证。
9.如权利要求8所述的装置,其特征在于:所述对所述CPLD代码进行验证包括:
通过波形展示所述进行读/写操作的信号;
根据所述波形对所述CPLD代码进行验证。
10.如权利要求6至9任一所述的装置,其特征在于:
所述第一模块和第二模块通过仿真软件编写代码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811584904.8A CN109669872A (zh) | 2018-12-24 | 2018-12-24 | 一种验证方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811584904.8A CN109669872A (zh) | 2018-12-24 | 2018-12-24 | 一种验证方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109669872A true CN109669872A (zh) | 2019-04-23 |
Family
ID=66146132
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811584904.8A Pending CN109669872A (zh) | 2018-12-24 | 2018-12-24 | 一种验证方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109669872A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112632552A (zh) * | 2019-09-24 | 2021-04-09 | 技嘉科技股份有限公司 | 服务器启动方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101140314A (zh) * | 2007-10-12 | 2008-03-12 | 电子科技大学 | 现场可编程门阵列布线信道验证方法及系统 |
CN102147831A (zh) * | 2011-04-22 | 2011-08-10 | 青岛海信信芯科技有限公司 | 逻辑验证方法和装置 |
CN103236122A (zh) * | 2013-04-08 | 2013-08-07 | 浪潮集团有限公司 | 基于pci总线接口芯片和cpld芯片的税控核验卡 |
CN103472748A (zh) * | 2013-09-04 | 2013-12-25 | 青岛海信信芯科技有限公司 | 时序控制电路的验证系统和验证方法 |
CN104978265A (zh) * | 2014-04-09 | 2015-10-14 | 罗森伯格(上海)通信技术有限公司 | Pcba测试方法及系统 |
CN204992516U (zh) * | 2015-09-28 | 2016-01-20 | 北京瑞吉德胜科技有限公司 | 微机保护装置及电力设备 |
CN108984403A (zh) * | 2018-07-09 | 2018-12-11 | 天津芯海创科技有限公司 | Fpga逻辑代码的验证方法及装置 |
-
2018
- 2018-12-24 CN CN201811584904.8A patent/CN109669872A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101140314A (zh) * | 2007-10-12 | 2008-03-12 | 电子科技大学 | 现场可编程门阵列布线信道验证方法及系统 |
CN102147831A (zh) * | 2011-04-22 | 2011-08-10 | 青岛海信信芯科技有限公司 | 逻辑验证方法和装置 |
CN103236122A (zh) * | 2013-04-08 | 2013-08-07 | 浪潮集团有限公司 | 基于pci总线接口芯片和cpld芯片的税控核验卡 |
CN103472748A (zh) * | 2013-09-04 | 2013-12-25 | 青岛海信信芯科技有限公司 | 时序控制电路的验证系统和验证方法 |
CN104978265A (zh) * | 2014-04-09 | 2015-10-14 | 罗森伯格(上海)通信技术有限公司 | Pcba测试方法及系统 |
CN204992516U (zh) * | 2015-09-28 | 2016-01-20 | 北京瑞吉德胜科技有限公司 | 微机保护装置及电力设备 |
CN108984403A (zh) * | 2018-07-09 | 2018-12-11 | 天津芯海创科技有限公司 | Fpga逻辑代码的验证方法及装置 |
Non-Patent Citations (1)
Title |
---|
陈穗光: "I2C总线接口协议设计及FPGA 的实现", 《山西电子技术》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112632552A (zh) * | 2019-09-24 | 2021-04-09 | 技嘉科技股份有限公司 | 服务器启动方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113312879B (zh) | 芯片电路功能验证系统、方法、设备及存储介质 | |
CN106940428B (zh) | 芯片验证方法、装置及系统 | |
US7729877B2 (en) | Method and system for logic verification using mirror interface | |
US10007492B2 (en) | System and method for automatically generating device drivers for run time environments | |
CN105738854A (zh) | 智能电表嵌入式应用的模拟存储器测试板系统及测试方法 | |
CN105446847B (zh) | 一种arinc659总线的自动化测试系统及其方法 | |
US8051402B2 (en) | Method and apparatus for implementing communication between a software side and a hardware side of a test bench in a transaction-based acceleration verification system | |
CN108763743B (zh) | 验证平台、方法及电子设备 | |
CN102480467B (zh) | 一种基于网络通讯协议的soc软硬件协同仿真验证方法 | |
CN112417798B (zh) | 一种时序测试方法、装置、电子设备及存储介质 | |
CN102147831A (zh) | 逻辑验证方法和装置 | |
CN109445691A (zh) | 一种提高ftl算法开发和验证效率的方法及装置 | |
CN115146568A (zh) | 一种基于uvm的芯片验证系统及验证方法 | |
CN110941934A (zh) | 一种fpga原型验证开发板分割仿真系统、方法、介质及终端 | |
CN110134596A (zh) | 测试文档的生成方法及终端设备 | |
CN102750401A (zh) | 用于生成基于cim的电力系统电路模型的系统和方法 | |
CN101131663B (zh) | 计算机PCI/PCI Express设备安装正确性的检测方法 | |
CN109669872A (zh) | 一种验证方法和装置 | |
CN117094269A (zh) | 一种验证方法、装置、电子设备及可读存储介质 | |
CN102136081A (zh) | Ic卡及其数据更新方法 | |
CN116719729A (zh) | 通用验证平台、通用验证方法、介质及电子设备 | |
Feng et al. | Design and application of reusable SoC verification platform | |
CN116340150A (zh) | 一种基于uvm的可重用的寄存器性能交互验证系统及其应用 | |
US7447619B2 (en) | Apparatus and method for composite behavioral modeling for multiple-sourced integrated circuits | |
CN109582334A (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 |