完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
仿真验证概述 本文节选自特权同学的图书《FPGA设计实战演练(逻辑篇)》 配套例程下载链接:http://pan.baidu.com/s/1pJ5bCtt 仿真测试是FPGA设计流程中必不可少的步骤。尤其在FPGA规模和设计复杂性不断提高的今天,画个简单的原理图或写几行代码直接就可以上板调试的轻松活儿已经一去不复返。一个正规的设计需要花费在验证上的工作量往往可能会占到整个开发流程的70%左右。验证我们通常分为仿真验证和板级验证,在设计初步完成功能甚至即将上板调试前,通过EDA仿真工具模拟实际应用进行验证是非常有效可行的手段,它能够尽早的发现设计中存在的各种大小bug,避免设计到了最后一步才返工重来。因此,仿真在整个验证中的重要性可见一斑。(特权同学,版权所有) 提到仿真,我们通常会提testbench的概念。所谓testbench,即测试平台,详细的说就是给待验证的设计添加激励,同时观察它的输出响应是否符合设计要求。如图9.1所示,测试平台就是要模拟一个和待验证设计相连接的各种外围设备。(特权同学,版权所有) 图9.1 设计与验证 初学者在刚接触仿真这个概念的时候,可能以为仿真只是简单的用一些开发软件自带的波形发生器产生一些激励,然后观察一下最后的波形输出就完事了。但是对于大规模的设计,用波形产生激励是不现实的,观察波形的工作量也是可想而知的。例如,对于一个16位的输入总线,它可以有65536种组合,如果每次随机产生一种输入,那用波形岂不累死人。再说输出结果的观察,对应65536种输入的65536种输出,看波形肯定让人花眼缭乱。所以,testbench应该有更高效的测试手段。对于FPGA的仿真,使用波形输入产生激励是可以的,观察波形输出以验证测试结果也是可以的,波形也许是最直观的测试手段,但绝不是唯一手段。(特权同学,版权所有) 如图9.2所示,设计的测试结果判断不仅可以通过观察对比波形,而且可以灵活的使用脚本命令将有用的输出信息打印到终端或者产生文本进行观察,也可以写一段代码让他们自动比较输出结果。总之,testbench的设计是多种多样的,它的语法也是很随意的,不像RTL级设计代码那么多讲究,它是基于行为级的语法,很多高级的语法都可以在脚本中使用。因为它不需要实现到硬件中,它是运行在PC机上的一段脚本,所以相对RTL级可以做得更容易更灵活一些。但是,使用Verilog的验证脚本也有很多需要设计者留意的地方,它是一种基于硬件语言但是又服务于软件测试的语言,所以它常常游离于并行和顺序之间让人琢磨不透。不过,只要掌握好了这些关键点,是可以很好的让它服务于我们的测试。(特权同学,版权所有)
|
|
相关推荐
1个回答
|
|
谢谢分享 先去看看
|
|
|
|
只有小组成员才能发言,加入小组>>
879个成员聚集在这个小组
加入小组4485 浏览 0 评论
特权同学 Verilog边码边学 Lesson01 Vivado下载与安装
2598 浏览 1 评论
玩转Zynq连载50——[ex69] FIR滤波器IP仿真实例
4273 浏览 2 评论
玩转Zynq连载49——[ex68] MT9V034摄像头的图像FFT滤波处理
5225 浏览 1 评论
玩转Zynq连载48——[ex67] Vivado FFT和IFFT IP核应用实例
5213 浏览 0 评论
1909浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-5 14:28 , Processed in 2.280860 second(s), Total 47, Slave 37 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号