- 1、本文档共43页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
TestBench的书写ppt
TestBench的书写 TestBench的目标 TestBench的基本框架 书写TestBench的几种主要方法 HDL调试的主要方式 提高模拟验证效率的主要方法 综合前后模拟验证结果一致性的确定 TestBench的目标 测试、验证HDL代码的正确性; 测试、验证Design的功能、时序正确性; 待测试、验证的模块加载到模拟验证环境; 产生模拟验证所需的输入激励; 对输入激励码,构造出其对应的正确输出结果; 提供一种机制,自动判断Design的正确性 The Simulation Environment This is a simplified picture of the overall simulation environment. This section concentrates on testbench development strategies. HDL代码调试 输入激励码的产生方式 由其它硬件/软模型产生待验证模块所需的输入激励码; 用HDL代码生成(On-the-fly); 事先产生所需的输入激励码并存于相应的文件中,使用时从文件中读取 由其它硬件/软模型产生待验证模块所需的输入激励码 优点: 能较全面模拟、验证Design在各种情形下的正确性; 自动产生待验证模块的输入激励码 易于管理、验证速度快 缺点: 必须有相应模块的硬件/软件模型支持; 必须有专门的验证环境支持; 代价昂贵 使用领域: 模型(Protocol)验证、系统模拟、设计投片前的确认。 用HDL代码生成DUT的输入激励码 注意事项: 将时钟信号、置/复位信号与其它信号分开并分别加以处理; 注意各种(各组)输入信号的时序关系; 注意所采用的延时表示方式(绝对延时/相对延时); 注意各种输入激励与时钟信号的关系 用HDL代码生成DUT的输入激励码 输入激励码产生方式: 用单独的always语句或assign赋值语句产生时钟信号; 用简单的initial语句块产生置/复位信号的激励; 在initial语句块中用循环语句块产生按一定规律变化的信号的激励码; 用Task过程产生特殊信号的输入激励; 用三态buffer产生或监控Bidirectional信号的激励; 必要时预估DUT的输出变化情形并加以比较 用HDL代码生成DUT的输入激励码 用HDL代码生成DUT的输入激励码 用HDL代码生成DUT的输入激励码 在initial语句块中用循环结构描述具有一定变化规则的输入激励信号 用HDL代码生成DUT的输入激励码 用HDL代码生成DUT的输入激励码 Using Verilog Tasks Use Verilog tasks in your testbench to encapsulate repeated operations. Using Concurrent Statements Use fork-join blocks in your testbench to concurrently activate parallel tasks. Applying Stimulus Some common stimulus application techniques include: In-line stimulus,applied from an initial block Stimulus applied from a loop or always block Stimulus applied from an array of vectors or integers Stimulus that is recorded during one simulation and played back in another simulation In-Line Stimulus In-line stimulus has the following characteristics: You list the variables only when their values change You can easily define complex timing relationships between signals The testbench can become very long for tests of real designs Stimulus From Loops Stimulus applied from a loop has the following characteristics: For each iteration you assign a new stimulus vector The timing re
文档评论(0)