0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FPGA中的testbench介绍

DIri_ALIFPGA 来源:未知 作者:李倩 2018-10-10 16:14 次阅读

testbench就是对写的FPGA文件进行测试的文件,可以是verilog也可以是VHDL。verilog和VHDL的国际标准里面有很多不能被综合实现的语句,比如initial,forever,repeat,延时语句#1等等,这些语句就是用来测试的时候使用的。运行环境一般是ise或者vivado或者quartus自带的仿真工具,或者如modelsim一样的第三方仿真工具。

测试机制

任何一个设计好的模块,都有输入和输出,此模块是否满足要求就是看给定满足要求的输入,是否能够得到满足要求的输出。所以testbench的测试机制就是:用各种verilog或者VHDL语法,产生满足条件的激励信号(也就是对被模块的输入),同时对模块的输出进行捕捉,测试输出是否满足要求。如下图,产生激励输出验证模块两个模块都属于testbench,最好的输出验证模块最终只需要给一个pass和fail的答案出来就可以了。不管是用一个信号表示pass和fail还是用$display()函数打印,最终简单明了的给出过或者不过的信息就好了。请大家写仿真文件的时候尽量做到这点。

运行顺序

跟大家解释一点,所有testbench本质上都是串行执行,因为在CPU环境下,没有可靠并行执行的能力。所有并行的语句,比如两个always模块,fork join语句块,都是软件模拟并行执行的。所以老一点的编译器,信号定义要在initial语句前面,initial的信号要先有初始值后面的语句才能从给定初值开始执行。所以大家写testbench的时候,要注意,最好先定义信号,再写initial语句,后面的语句交换顺序不影响,软件可以识别并按照IEEE标准的顺序去执行。

如果一个模块里面想用并行执行语句用fork join语句,顺序执行用begin end语句。initial语句可以写多个,都是并行执行的,当两个信号在initial冲突的时候,会先执行前面的initial的值。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1599

    文章

    21273

    浏览量

    592820
  • Verilog
    +关注

    关注

    28

    文章

    1324

    浏览量

    109285

原文标题:FPGA中的testbench

文章出处:【微信号:ALIFPGA,微信公众号:FPGA极客空间】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    testbench的差分时钟

    如果输入时钟时差分时钟信号,如何编写testbench
    发表于 09-15 19:37

    testbench设置的问题

    本帖最后由 平漂流 于 2017-5-21 11:09 编辑 如图,看Verilog仿真视频教程里面,在testbench设置时候,直接复制“blocking_vlg_tst”到top
    发表于 05-21 11:04

    LFSR testbench V1.2

    LFSR testbench The LFSR testbench can help you understand the LFSR basics: 1. Change
    发表于 05-14 11:18 50次下载

    怎样用VHDL写TESTBENCH

    一篇文章叫你学会用VHDL写TESTBENCH
    发表于 11-23 11:52 11次下载

    testbench_book

    verilog Testbench
    发表于 12-13 22:20 3次下载

    testbench怎么写_testbench经典教程VHDL

     testbench是一种验证的手段。首先,任何设计都是会有输入输出的。但是在软环境中没有激励输入,也不会对你设计的输出正确性进行评估。那么此时便有一种,模拟实际环境的输入激励和输出校验的一种“虚拟
    发表于 12-01 17:22 5.5w次阅读
    <b class='flag-5'>testbench</b>怎么写_<b class='flag-5'>testbench</b>经典教程VHDL

    FPGA教程之简单的Testbench设计的详细资料说明

    本文档的主要内容详细介绍的是FPGA教程之简单的Testbench设计的详细资料说明免费下载。
    发表于 03-01 16:52 15次下载
    <b class='flag-5'>FPGA</b>教程之简单的<b class='flag-5'>Testbench</b>设计的详细资料说明

    简单的Testbench设计

    testbench是一种验证的手段。首先,任何设计都是会有输入输出的。但是在软环境中没有激励输入,也不会对你设计的输出正确性进行评估。那么此时便有一种,模拟实际环境的输入激励和输出校验的一种“虚拟
    的头像 发表于 03-08 14:35 2017次阅读

    FPGA视频教程:简单的Testbench设计

    testbench是一种验证的手段。首先,任何设计都是会有输入输出的。但是在软环境中没有激励输入,也不会对你设计的输出正确性进行评估。那么此时便有一种,模拟实际环境的输入激励和输出校验的一种“虚拟平台”的产生。在这个平台上你可以对你的设计从软件层面上进行分析和校验。
    的头像 发表于 12-11 07:09 1976次阅读
    <b class='flag-5'>FPGA</b>视频教程:简单的<b class='flag-5'>Testbench</b>设计

    关于testbenchFPGA编程中的技巧

    定义信号类型:原来模块中的输入信号,定义成reg 类型,原来模块中的输出信号,定义为wire类型,但这里有个问题,如果在testbench中本身有一个模块需要,如用来产生时钟,送给要仿真的模块,那怎么定义信号类型呢?
    发表于 07-31 17:52 906次阅读

    介绍FPGAtestbench的编写技巧

    原来模块中的输入信号,定义成reg 类型,原来模块中的输出信号,定义为wire类型,但这里有个问题,如果在testbench中本身有一个模块需要,如用来产生时钟,送给要仿真的模块,那怎么定义信号类型呢?
    发表于 01-06 14:52 1754次阅读
    <b class='flag-5'>介绍</b><b class='flag-5'>FPGA</b>中<b class='flag-5'>testbench</b>的编写技巧

    FPGA验证简介之FPGA开发分析一个testbench

    、Johnson计数器、PN码发生器、频率计等,这些例子是经验丰富的工程师写的,我们可以学到编程思想、代码风格等方面的知识和经验,这些东西可能从学校老师或一般书籍都学习不到。 如果你用的不是Xilinx的FPGA,也就是说不使用ISE,那也没关系,HDL代码和testbench
    的头像 发表于 04-11 10:46 2822次阅读
    <b class='flag-5'>FPGA</b>验证简介之<b class='flag-5'>FPGA</b>开发分析一个<b class='flag-5'>testbench</b>

    testbench是什么? testbench测试的机制是什么?

    废话不多说直接上干货,testbench就是对写的FPGA文件进行测试的文件,可以是verilog也可以是VHDL。
    的头像 发表于 06-28 16:44 2170次阅读
    <b class='flag-5'>testbench</b>是什么? <b class='flag-5'>testbench</b>测试的机制是什么?

    Verilog Testbench怎么写 Verilog Testbench文件的编写要点

    之前在使用Verilog做FPGA项目中、以及其他一些不同的场合下,零散的写过一些练手性质的testbench文件,开始几次写的时候,每次都会因为一些基本的东西没记住、写的很不熟练,后面写的时候稍微
    的头像 发表于 08-01 12:44 1439次阅读
    Verilog <b class='flag-5'>Testbench</b>怎么写 Verilog <b class='flag-5'>Testbench</b>文件的编写要点

    Testbench自动化验证方法介绍

    自动化验证testbench结果可以减少人工检查的时间和可能犯的失误,尤其对于比较大的设计。
    的头像 发表于 09-04 09:15 491次阅读