FPGA软件验证技术(上)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3、门级仿真
在逻辑综合完成后,针对综合后网表文件开展仿真测 试。 与功能仿真内容要求相同,不同之处是将RTL代码 换成综合后的网表文件。
4、逻辑等效性分析
在工具的支持下,对可编程逻辑器件的RTL级代码、 逻辑综合后的网表文件、布局布线后网表文件展开两 两文件的逻辑等效性对比,人工对工具的比对结果信 息进行二次分析,对不等价的比对点展开问题追踪和 定位。
谢谢!
2、仿真
常用的仿真工具
ISE QuartusII Modelsim Questasim
四、测试用例设计方法
功能分解法 等价类划分法 边界值分析法 错误推测法 因果图法
1、功能分解法
功能分解法是根据规格说明中的描述,按照给定的测 试输入,验证输出结果是否与功能描述相一致,一般 用于验证基本功能是否实现。 例:
搭建仿真环境 实例化被测设计 通过向DUT施加测试向量来对DUT进行仿真。 向终端输出仿真结果或是向波形窗口输出仿真波形用来 检查 将实际的结果与预期结果进行比对。
2、Testbench简介
CPU
clock
DUT
checker
外设
3、Testbench简介
Testbench详细设计方法敬请期待下次培训
FPGA软件验证技术
验证的重要性
验证,顾名思义就是通过仿真、时序分析、上板调 试等手段检验设计正确性的过程,在FPGA/IC开发 流程中,验证主要包括功能验证和时序验证两个部分。
一、FPGA的开发流程
设计输入,HDL代码,图形或原理图输入。 功能验证,也叫前仿真和功能仿真。 综合,将HDL代码等设计输入转换成最基本的与或 非等逻辑的网表。 布局布线,将网表逻辑根据所选器件进行实际单元的 连接与映射。 时序验证,主要进行电路的时序验证,包括静态时序 分析和时序仿真(后仿真)。 生成烧写文件,进行板上验证。
二、验证方法
1)设计检查 2)功能仿真 3)门级仿真 4)逻辑等效性分析 5)静态时序分析 6)时序仿真
1、设计检查
编码规则检查 代码审查
2、功能仿真
对RTL级代码进行功能仿真验证,验证设计逻辑功 能是否正确的过程。功能仿真不考虑延时信息。
2、功能仿真
语句覆盖率和分支覆盖率达100%,对未覆盖的语句 和分支进行未覆盖原因及影响域分析。 测试平台要求:依据测试需求规格说明和测试说明编 写testbench文件,应包含被测试可编程逻辑器件的 所有外围相关功能、性能、时序等要求的实现。
利用GMII接口接收网络数据包,并将网络数据包经过DDR2缓存, 由于网络数据包长度不固定(64字节到1514字节),为保证DDR2 存储空间有效的利用。将一个网络数据包截成固定长度存储到DDR 中。例如进行一次读写操作时仅进行128个字节。
边界值:127,128,129;255,256,257等
三、功能验证的常用方法
1)设计检查 2)仿真
1、设计检查
依据设计文档或设计准则,对代码和设计的一致性、 代码执行标准情况、代码逻辑表达的正确性、代码结 构的合理性以及代码的可读性进行审查。
设计检查的主要形式:编码规则检查和人工走读代码。
2、仿真
仿真的主要内容
根据测试需求设计测试用例。 搭建仿真环境。 提供测试激励。 在仿真环境中执行测试用例,记录并分析测试结果。
5、静态时序分析
分析逻辑综合或布局布线后得到的静态时序信息,根 据信息找出不满足建立/保持时间路径以及不符合约 束路径的过程。
静态时序分析是套用特定的时序模型,针对特定电路, 分析与其是否违反设计者给定的时序限制。
6、时序仿真
在布局布线完成后开展的仿真。时序仿真考虑门级延 时和走线延时。 由于时序仿真需要的测试周期较长,在实际测试中应 有针对性的展开时序仿真测试。
Hale Waihona Puke Baidu
解扰卡中解复用操作,设置进行单节目输出,PID过滤操作后, 组播输出的数据流需要包含所设置的PID,不包含未设置的PID。
MPTS
FPGA
SPTS
五、Testbench简介
Testbench是验证HDL设计的主要方法,目前已成 为验证高级语言设计的一种标准方法。
1、Testbench简介
Testbench主要完成以下几个任务:
对TS流同步搜索模块进行测试。
2、等价类划分法
等价类划分法是把所有可能的输入数据,即程序的输 入域划分成若干部分(子集),然后从每个子集中选 取少数具有代表性的数据作为测试用例。 例:
IP地址分类:单播,组播和广播。
3、边界值分析法
边界值分析法,是对等价分析法的一种补充,由长期 的测试工作经验得知,大量的错误是发生在输入输出 域的边界上。 例:
4、错误推测法
错误推测法是基于经验和直觉推测程序中所有可能存 在的错误,从而有针对性的设计测试用例的方法。 例:
以太网数据包打包输出,打包中各个以太网帧头和帧尾各个字段 可能出现错误。例如头部校验和和帧尾CRC添加错误。
5、因果图法
因果图法是一种利用图解法分析输入的各种组合情况, 从而设计测试用例的方法,它适用于检查程序输入条 件的各种组合情况。 例: