(verilog和vhdl)Testbench编程指南.pdf

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(verilog和vhdl)Testbench编程指南

Testbench 编程指南 Jason.chen@ TestBench 编程指南 如今数字设计的规模变得越来越庞大,设计的复杂程度也越来越 高,这就使得设计的验证变得越来越困难,而且费时费力。为了应对这 种挑战,验证工程师依靠各种验证工具和方法。对于大型设计,如几 百万门的设计,通常采用一整套正式的验证工具。然而,对于小一些 的设计,设计工程师发现往往采用带TestBench 的 HDL仿真工具是最 好的途径。 TestBench 已经变成验证高级语言设计的一种标准的方法。通常, TestBench 执行以下任务: 例化设计,使其可测试(DUT-design under test); 通过将测试向量应用到模型来仿真例化后的可测试的设计; 将结果输出到终端,或者输出波形窗口; 将真实的结果和期望的结果进行比较; 一般,TestBench采用工业标准的 VHDL 或者Verilog 硬件描述语 言来编写。TestBench 调用功能设计,然后仿真。复杂的测试文件执 行附加功能――例如,他们包含逻辑以决定合适的设计激励或者比较 真实的结果和期望的结果。 以下章节将讨论一个组织良好的测试文件的组成,以及例举了一 个带有自检的测试文件(自动将真实的结果和预期的结果进行比较)。 下图是一个标准的 HDL 验证的流程。自从测试文件可以用 VHDL 或者 Verilog编写以来,测试验证流程就可以在平台和供应商的工具交叉 1 Testbench 编程指南 Jason.chen@ 进行。同时,由于 VHDL 和 Verilog 都是标准的公用的语言,所以用 VHDL或者是 Verilog 描述的验证可以很简单的被再使用。 图 1. HDL 验证流程 测试文件构成: 测试文件可以采用VHDL或者 Verilog 语言编写。由于测试文件只 是用来仿真的,他们就不被用于综合的 RTL语言子集的语法所约束。 相反,所有行为结构都可以被使用。这样,测试文件可以被写的更通 用,更易于维护。 所有的测试文件都包含以下基本内容,如表 1。如上所属,测试 文件经常同时包含附加功能,如结果的可视化显示和内建错误检测。 表 1 VHDL Verilog 实体和结构体申明 模块申明 信号申明 信号申明 2 Testbench 编程指南 Jason.chen@ 顶层设计实例化 顶层设计实例化 提供激励 提供激励 以下例子展示了一些在测试文件中被频繁使用的结构。 时钟信号发生: 采用系统时钟时序化逻辑的设计需要产生一个时钟。重复时钟在 VHDL 或者 Verilog 源码中可以很简单的发生。以下就是在 VHDL 和 Verilog中的时钟发生例子: VHDL: --申明时钟周期常量 Constant clockperiod :time :=10 ns; --时钟发生方法之一: Clock=not clock after clockperiod/2; --时钟发生方法之二: Generate clock : process Begin Wait for (clockperiod/2); Clock=’1’; Wait for (clockperi

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档