CN101093521B - 一种fpga仿真装置及其方法 - Google Patents

一种fpga仿真装置及其方法 Download PDF

Info

Publication number
CN101093521B
CN101093521B CN2007101297068A CN200710129706A CN101093521B CN 101093521 B CN101093521 B CN 101093521B CN 2007101297068 A CN2007101297068 A CN 2007101297068A CN 200710129706 A CN200710129706 A CN 200710129706A CN 101093521 B CN101093521 B CN 101093521B
Authority
CN
China
Prior art keywords
message
module
excited
tagged word
output
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.)
Expired - Fee Related
Application number
CN2007101297068A
Other languages
English (en)
Other versions
CN101093521A (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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN2007101297068A priority Critical patent/CN101093521B/zh
Publication of CN101093521A publication Critical patent/CN101093521A/zh
Application granted granted Critical
Publication of CN101093521B publication Critical patent/CN101093521B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明涉及一种FPGA仿真装置及其方法,其中装置在目前装置基础上在激励报文生成模块(14)输入端新增特征字生成模块(13);其中方法包括:预先配置含特征字的报文参数并保存至文件中;读取文件获取报文参数自动生成插入对应特征字的激励报文;通过接口模块输出激励报文或接收经由待测FPGA逻辑模块(2)与激励报文对应的响应报文;基于特征字进行报文比较并输出结果。这种装置与现有技术相比,取得了基于特征字的FPGA设计仿真对于效率上进步,可以按照各个测试用例直接仿真求得结果,节省了仿真时间,解决了FPGA验证困难的问题,减少了系统的软硬件设计难度,提高了系统整体设计效率等等。

Description

一种FPGA仿真装置及其方法
技术领域
本发明涉及数据通信,具体涉及FPGA仿真技术。
背景技术
随着数据通信技术的发展,特别是高带宽高速度的数据通信技术的出现,在数据通信芯片设计上,大规模,高速度,高复杂度的FPGA设计层出不穷,对于FPGA逻辑设计的正确性验证提出了很大的考验,特别是大规模的FPGA设计,其完成的逻辑功能既多又复杂,这样一样就得设计出相应的复杂FPGA验证装置来对FPGA进行仿真验证。
现在,用于FPGA仿真的仿真器包括:①中国发明专利申请“一种软硬件协同仿真/验证系统及矢量模式仿真/验证方法”,申请号200610020631.5,它是软硬件协同仿真的方法,并且须在FPGA内部做一个为了仿真而定制的适配器模块,这个模块本身的正确性与否还需要另外仿真的。又如②PCT专利申请“METHOD AND APPARATUS FOR CO-VERIFICATION OFDIGITAL DESIGNS”,国际公开号WO2005048062,它是一个把处理器逻辑放在FPGA中的设计,是专门为这样的FPGA设计的仿真器设计方法。但是,目前还没有基于特征字的FPGA仿真器或还没有基于特征字的FPGA仿真器被公开。
另,本发明申请中用到的专业术语及一些重要缩写:
FPGA:Field Programmable Gate Array现场可编程门阵列,一种可编程的芯片。
PLI:Programming language interface它是verilog-HDL硬件描述语言定义的一个C语言与verilog-HDL语言的程序接口。
DUT:Design Under Test待测设计。
signature:特征字签名。
BFM:Bus Function Module总线功能模型,一个模仿总线行为的模块。
ASCII码:American standard code for information interchange美国标准交换信息字符集。
发明内容
本发明需要解决的技术问题是提供一种FPGA仿真装置及其方法,能够基于特征字进行仿真。
本发明的上述第一个技术问题这样解决,提供一种FPGA仿真方法,利用FPGA仿真装置,包括:
1.1)预先配置报文参数并保存至文件中,所述报文参数包括对应单个报文中特征字的个数及每个特征字具体位置、长度和内容;
1.2)读取所述文件获取所述报文参数自动生成一个或多个激励报文并在每个激励报文中按所述报文参数要求插入对应特征字;
1.3)通过各自对应接口模块输出所述激励报文至待测FPGA逻辑模块或接收其响应报文;
1.4)基于特征字对所述激励报文及其经由待测FPGA逻辑模块的对应响应报文进行比较并输出结果。。
按照本发明提供的仿真方法,所述报文参数还包括包长、时间间隔和报文分隔符。
按照本发明提供的仿真方法,所述激励报文包括包长、间隔、私有协议封装、协议封装、带有特征字的报文内容和报文校验多个单元。
按照本发明提供的仿真方法,所述步骤1.2)包括向所述激励报文中填充对应包长,间隔及配置好的协议信息。
按照本发明提供的仿真方法,所述步骤1.2)包括特征字格式变换并向所述激励报文中填充对应16进制ASCII码格式特征字。
按照本发明提供的仿真方法,所述步骤1.2)还包括判断所述报文参数的合法性,对不符合FPGA逻辑模块要求的不生成对应激励报文。
按照本发明提供的仿真方法,所述步骤1.4)具体包括:
7.1)把所述激励报文及其经由待测FPGA逻辑模块输出的响应报文都读入缓存;
7.2)判断所述激励报文与响应报文的长度是否相等,是,进入下一步,否则进入步骤7.5);
7.3)读出响应报文中报文头内的私有协议,得出待征字相关的信息;
7.4)逐一判断输入报文中的待检测各特征字是否没被找到,是,输出错误信息;否则进一步判断被找到的特征字在响应报文中的位置是否与激励报文中的位置不一样,是,输出错误信息;若无任何错误信息输出直接跳过步骤7.5)和7.6)输出仿真测试成功,否则进入下一步;
7.5)汇总错误信息并将各个信息要点编号保存;
7.6)根据所述错误信息和编号输出具体仿真测试失败报表。
本发明的上述另一个技术问题这样解决,提供一种FPGA仿真装置,包括:
总线接口,测试连接待测FPGA逻辑模块,用于提供报文输入/出接口;
激励报文生成模块,输出连接总线接口,用于生成激励报文;
报文比较模块,输入连接总线接口和激励报文生成模块,用于比较激励报文及其经由待测FPGA逻辑模块输出的响应报文;
特征字生成模块,输出连接激励报文生成模块,用于给激励报文生成模块提供16进制ASCII码特征字并最终由激励报文生成模块生成含特征字的激励报文。。
按照本发明提供的仿真装置,该装置还包括与所述特征字生成模块输入端依次电连接的配置读取模块和配置输入模块。
按照本发明提供的仿真装置,该装置还包括与所述报文比较模块输出端依次电连接的验证结果分析模块和验证结果输出模块。
按照本发明提供的仿真装置,所述总线接口包括:
总线接口输入模块:总线接口输入模块是FPGA逻辑的接口,它是BFM模块,通过PLI接口将保存好的文本形式的报文读取出来,再模仿FPGA的总线动作将报文输入到FPGA逻辑DUT中去;
总线接口输出模块:从总线接口输入模块输出的信号由本模块接收,转换成报文的格式并保存成文本文件。
本发明提供的FPGA仿真装置及其方法,引入了特征字生成和处理并且设计了自动结果比较输出、使FPGA的验证能够精确定位且方便快捷,可以做许多上板之前的调试工作,减小上板调试的难度;另一方面可以制造出可以在完全系统上的测试用的报文,节省了时间,降低了后期系统开发的难度和提高了系统的可靠性,与现有技术相比,取得了基于特征字的FPGA设计仿真对于效率上进步,可以按照各个测试用例直接仿真求得结果,节省了仿真时间,解决了FPGA验证困难的问题,减少了系统的软硬件设计难度,提高了系统整体设计效率等等。
附图说明
下面结合附图和具体实施例进一步对本发明进行详细说明。
图1是本发明的基于特征字的FPGA仿真器结构图;
图2是本发明的配置输入文档结构图;
图3是本发明的激励报文结构图;
图4是本发明的激励报文生成模块流程图;
图5是本发明的出入报文比较模块流程图;
图6是本发明的验证结果分析模块流程图。
具体实施方式
如图1所示,本发明基于特征字的FPGA仿真器1包括:
配置输入模块11:它是各项报文配置的参数输入器,人工输入这些参数之后本模块把它保存为一个整理好的文本文件以待后期查询之用。
配置读取模块12:它把配置输入模块11产生文本文件存储的各项参数读取出来,传送给特征字生成模块13。
特征字生成模块13:它把配置读取模块12传送来的特征字签名按照设计需求分割处理等等,然后把处理完毕后的特征字签名转化为16进制的ASCII码发给激励报文生成模块14。
激励报文生成模块14:特征字生成模块13中的特征字签名传送过来之后,首先本模块检查各项参数是否符合设计配置的参数要求,如不符合给出错误信息,让重新输入。然后根据各项参数填充报文的包长,间隔,协议,及包内容填充,特征字也按照配置的特征字位置和长度填充。最后加上包的校验字,保存成文本以供后面模块使用。
总线接口输入模块15:总线接口输入模块15是FPGA逻辑的接口,它是BFM模块,通过PLI接口将保存好的文本形式的报文读取出来,再模仿FPGA的总线动作将报文输入到FPGA逻辑DUT中去。
总线接口输出模块16:从总线接口输入模块15输出的信号由本模块接收,转换成报文的格式并保存成文本文件。
报文比较模块17:本模块把激励报文生成模块14和总线接口输出模块16保存下来的文本文件读取来做比较,分析输入出输出二种报文的异同给验证结果分析模块18;
验证结果分析模块18:本模块接收报文比较模块17的得来的输入输出的报文的比较结果后,分析可能是总线接口输出模块16中哪一部分出现错误。
验证结果输出模块19:本模块在验证结果分析模块18得出结果之后把各报文的配置参数,相同点不同点,分析结果打印出来并输出文件,将此文件也输入配置文件,输入报文,输出报文,按测试用例编号分门别类保存,以待后用。
如图2所示,本发明的报文参数配置文件,由配置输入模块11产生然后归类保存的。下面介绍一下各控制字:
包长:为本报文的长度。
间隔:为本报文与上个报文发送完毕的时间间隔,用以控制发包速度,既是控制流量。
特征字的个数:意思是本个报文中的待查特征字的个数。
特征字N的位置:意思是特征字N在报文中的起始位置。
特征字N的长度:特征字N的长度。
特征字N:就是这个是特征字的字符串,比如“HELLO”
特征字的ID号:就是这个特征字的序号
星号分隔符:这里是报文之间的分隔符,用其它的符号也可以的。
如图3所示,本发明的报文结构,其中的协议封装和私有协议封装可以按照需求来定制。如私有协议中可以带有本报文中是否检测到待检测的特征字,特征字串是什么,其长度是多少,其在报文中的位置在哪,以及一些统计信息等等。
如图4所示,本发明的激励报文生成模块14生成激励报文流程具体包括以下步骤:
401)接收了特征字生成模块13送来的包长间隔等配置信息;
402)判断这些信息是否符合FPGA逻辑模块的要求,例如包长范围,间隔范围,特征字数量,特征字长度等等,如果符合则进入下一步,如不符合则转步骤4030):输出错误信息,结束仿真重新输入配置。
403)用符合仿真要求的配置信息和定义好的格式向激励报文中填充包长,间隔以及配置好的协议信息等等。
404)填充报文,报文内容随机设计。
405)判断报文是否已经填充到该写入特征字的位置,如果是的话呢转到步骤406)填充特征字,否的话继续填充报文。
406)按顺序填充特征字N。
407)判断所有的特征字是否填充完毕,如果是的话转到步骤408)填充报文到报文尾;否则转步骤405)判断是否是下一个特征字的位置。
408)填充报文到报文尾。
409)填充校验字。
410)把生成的报文存成文本文件以供后用。
411)打印出错信息,然后结束仿真。
如图5所示,本发明的报文比较模块17把激励报文生成模块14和总线接口输出模块16保存下来的文本文件读取来做比较,分析输入出输出二种报文的异同给验证结果分析模块18,具体包括以下步骤:
501)把输入激励的报文,和经由FPGA逻辑输出的报文都读入缓存。
502)判断输入的报文长度与输出的报文长度是否相等;(否,输出出错信息)
503)读出输出报文中的报文头中的私有协议,得出待征字相关的信息。
504)判断输入报文中的待检测特征字是否被找到;(否,输出出错信息)
505)判断被找到的特征字在输出报文中的位置是否与输入报文中的位置是一样的;(否:输出出错信息)
506)将本模块输出的出错信息汇总并将各个信息要点编号保存起来。
如图6所示,本发明的验证结果分析模块19接收验证结果分析模块18的得来的输入输出的报文的比较结果后,分析可能是总线接口输出模块16中哪一部分出现错误,具体包括以下步骤:
601)读出上一模块18输出的出错信息报告。
602)读取FPGA所有状态寄存器的状态值。
603)错误报告的第N项是否有错。这个地方是设置一个循环,来用遍历出错报告的编号项。
604)如果第N项有错的话则查本项对应的FPGA寄存器的值。
605)判断这个FPGA寄存器的值是否正确,是进入步骤607);否则进入下一步;
606)结合出错信息报告及FPGA状态寄存器的值是否正确查对应的表得出FPGA逻辑中哪个模块可能出错了并输出;
607)输出报表
608)N加1
609)判断是否遍历完毕,是结束;否则转入步骤603)。

Claims (10)

1.一种FPGA仿真方法,其特征在于,利用FPGA仿真装置(1),包括:
1.1)预先配置报文参数并保存至文件中,所述报文参数包括对应单个报文中特征字的个数及每个特征字具体位置、长度和内容;
1.2)读取所述文件获取所述报文参数自动生成一个或多个激励报文并在每个激励报文中按所述报文参数要求插入对应特征字;
1.3)输出所述激励报文至待测FPGA逻辑模块(2),接收待测FPGA逻辑模块(2)的响应报文;
1.4)基于特征字对所述激励报文及其经由待测FPGA逻辑模块(2)的对应响应报文进行比较并输出结果,具体包括:
b)判断所述激励报文与响应报文的长度是否相等,是,进入下一步,否则进入步骤e;
c)读出响应报文中报文头内的私有协议,得出待检测特征字相关的信息;
d)逐一判断输入报文中的待检测各特征字是否没被找到,是,输出错误信息;否则进一步判断被找到的特征字在响应报文中的位置是否与激励报文中的位置不一样,是,输出错误信息;若无任何错误信息输出直接跳过步骤e)输出仿真测试成功,否则进入下一步;
e)汇总错误信息并将各个信息要点编号保存。
2.根据权利要求1所述仿真方法,其特征在于,所述报文参数还包括包长、时间间隔和报文分隔符。
3.根据权利要求1所述仿真方法,其特征在于,所述激励报文包括包长、间隔、私有协议封装、协议封装、带有特征字的报文内容和报文校验多个单元。
4.根据权利要求3所述仿真方法,其特征在于,所述步骤1.2)包括向所述激励报文中填充对应包长,间隔及配置好的协议信息。
5.根据权利要求3所述仿真方法,其特征在于,所述步骤1.2)包括特征字格式变换并向所述激励报文中填充对应16进制ASCII码格式特征字。
6.根据权利要求4或5所述仿真方法,其特征在于,所述步骤1.2)还包括判断所述报文参数的合法性,对不符合FPGA逻辑模块要求的不生成对应激励报文。
7.根据权利要求1或3所述仿真方法,其特征在于,所述步骤1.4)中,步骤b)之前还包括步骤a):
a)把所述激励报文及其经由待测FPGA逻辑模块输出的响应报文都读入缓存;
步骤e)之后还包括步骤f):
f)根据所述错误信息和编号输出具体仿真测试失败报表。
8.一种FPGA仿真装置,包括:
总线接口,测试连接待测FPGA逻辑模块(2),用于提供报文输入/输出接口,包括总线接口输入模块和总线接口输出模块,其中,
总线接口输入模块,是FPGA逻辑的接口,用于模仿FPGA的总线动作将报文输入到FPGA逻辑DUT中去;
总线接口输出模块,用于接收总线接口输入模块输出的信号,转换成报文的格式并保存;
激励报文生成模块(14),输出连接总线接口,用于生成激励报文;
报文比较模块(17),输入连接总线接口输出模块和激励报文生成模块(14),用于比较激励报文及其经由待测FPGA逻辑模块(2)输出的响应报文;
其特征在于,还包括特征字生成模块(13),
所述特征字生成模块(13),输出连接激励报文生成模块,用于给激励报文生成模块提供16进制ASCII码特征字并最终由激励报文生成模块生成含特征字的激励报文;
其中,所述报文比较模块(17)包括:
报文长度判断模块,用于判断所述激励报文与响应报文的长度是否相等,是则触发读信息模块,否则触发错误信息汇编模块;
读信息模块,用于读出响应报文中报文头内的私有协议,得出待检测特征字相关的信息,触发特征字检测模块;
特征字检测模块,用于逐一判断输入报文中的待检测各特征字是否没被找到,是则输出错误信息,否则进一步判断被找到的特征字在响应报文中的位置是否与激励报文中的位置不一样,是则输出错误信息;若无任何错误信息输出则输出仿真测试成功,否则触发错误信息汇编模块;
错误信息汇编模块,用于汇总错误信息并将各个信息要点编号保存。
9.根据权利要求8所述仿真装置,其特征在于,该装置还包括与所述特征字生成模块输入端依次电连接的配置读取模块(11)和配置输入模块(12)。
10.根据权利要求8所述仿真装置,其特征在于,该装置还包括与所述报文比较模块输出端依次电连接的验证结果分析模块(18)和验证结果输出模块(19)。
CN2007101297068A 2007-07-24 2007-07-24 一种fpga仿真装置及其方法 Expired - Fee Related CN101093521B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2007101297068A CN101093521B (zh) 2007-07-24 2007-07-24 一种fpga仿真装置及其方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2007101297068A CN101093521B (zh) 2007-07-24 2007-07-24 一种fpga仿真装置及其方法

Publications (2)

Publication Number Publication Date
CN101093521A CN101093521A (zh) 2007-12-26
CN101093521B true CN101093521B (zh) 2011-09-21

Family

ID=38991777

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101297068A Expired - Fee Related CN101093521B (zh) 2007-07-24 2007-07-24 一种fpga仿真装置及其方法

Country Status (1)

Country Link
CN (1) CN101093521B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101262380B (zh) * 2008-04-17 2011-04-06 中兴通讯股份有限公司 一种用于fpga仿真的装置及方法
CN101908985B (zh) * 2010-08-05 2016-06-29 中兴通讯股份有限公司 一种报文校验的方法及装置
CN102541830B (zh) * 2010-12-21 2013-12-25 深圳市恒扬科技有限公司 一种仿真平台中仿真报告生成的方法及装置
US9286423B2 (en) 2012-03-30 2016-03-15 International Business Machines Corporation Cycle accurate and cycle reproducible memory for an FPGA based hardware accelerator
US9230046B2 (en) 2012-03-30 2016-01-05 International Business Machines Corporation Generating clock signals for a cycle accurate, cycle reproducible FPGA based hardware accelerator
CN103970634B (zh) * 2014-04-24 2017-06-09 浪潮电子信息产业股份有限公司 一种大型互连芯片用基于添加检测逻辑的背靠背环回验证方法
CN105704083A (zh) * 2014-11-24 2016-06-22 中兴通讯股份有限公司 以太网激励报文的产生方法、装置及仿真系统
CN104536807B (zh) * 2014-12-30 2018-05-18 武汉理工大学 基于fpga的dc/dc实时仿真器及方法
CN109710536B (zh) * 2018-12-29 2022-03-18 湖北航天技术研究院总体设计所 一种自动提取fpga软件验证结果仿真波形的系统及方法
CN111339731B (zh) * 2020-01-21 2021-01-08 中国人民解放军军事科学院国防科技创新研究院 一种面向SoC的FPGA验证平台和验证方法
CN114338434A (zh) * 2020-09-25 2022-04-12 深圳市中兴微电子技术有限公司 激励报文发送方法、装置、电子设备及存储介质
CN114330178B (zh) * 2021-12-28 2023-03-14 杭州朗迅科技有限公司 一种嵌入式硬件电路调试验证的驱动系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1870593A (zh) * 2006-04-12 2006-11-29 杭州华为三康技术有限公司 基于现场可编程逻辑阵列的读写缓存单元的方法及装置
US7228520B1 (en) * 2004-01-30 2007-06-05 Xilinx, Inc. Method and apparatus for a programmable interface of a soft platform on a programmable logic device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7228520B1 (en) * 2004-01-30 2007-06-05 Xilinx, Inc. Method and apparatus for a programmable interface of a soft platform on a programmable logic device
CN1870593A (zh) * 2006-04-12 2006-11-29 杭州华为三康技术有限公司 基于现场可编程逻辑阵列的读写缓存单元的方法及装置

Also Published As

Publication number Publication date
CN101093521A (zh) 2007-12-26

Similar Documents

Publication Publication Date Title
CN101093521B (zh) 一种fpga仿真装置及其方法
CN107038280B (zh) 一种软硬件协同仿真的验证系统及其方法
CN108763743B (zh) 验证平台、方法及电子设备
CN104268079B (zh) 一种pos应用程序测试的方法及系统
CN102736975B (zh) 一种对可信计算密码支撑平台进行测试的测试方法及系统
CN100511149C (zh) 逻辑仿真测试系统和方法
CN115828839A (zh) 一种soc芯片系统级验证系统及方法
CN115952758B (zh) 芯片验证方法、装置、电子设备及存储介质
CN109743301A (zh) 一种基于Modbus协议的数据收发系统及方法
CN105653409B (zh) 一种基于数据类型转换的硬件仿真器验证数据提取系统
CN102480467A (zh) 一种基于网络通讯协议的soc软硬件协同仿真验证方法
CN112084802B (zh) 一种rfid标签芯片验证系统
CN110399304A (zh) 一种脚本的测试方法及系统
CN115656791A (zh) 芯片可测性设计的测试方法及测试平台
CN115684896A (zh) 芯片可测性设计测试方法、测试平台及其生成方法及装置
CN106708764A (zh) 一种机载航电系统通用io处理系统
CN104636521A (zh) 基于vmm的智能卡芯片安检验证方法及验证环境平台
CN111124790B (zh) 一种可重用仿真接口模型的生成系统
CN104866640A (zh) 一种全fifo电路设计方法及其通用验证平台
CN115684894B (zh) 芯片可测性设计的测试方法及测试平台
CN116306479A (zh) 基于uvm的以太网phy通用验证平台及验证方法
CN102495778A (zh) 一种测试单包正则匹配逻辑的系统和方法
CN115470106A (zh) 一种可重构芯片的验证方法和系统
CN113496108A (zh) 一种应用于仿真的cpu模型
CN111124897B (zh) 一种可重用仿真接口模型的生成方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110921

Termination date: 20160724

CF01 Termination of patent right due to non-payment of annual fee