正在加载图片...
下载 第11章验证 本章介绍了如何编写测试验证程序( test bench)。测试验证程序用于测试和验证设计的正 确性。 Verilog hdl提供强有力的结构来说明测试验证程序, 11.1编写测试验证程序 测试验证程序有三个主要目的 1)产生模拟激励(波形)。 2)将输入激励加入到测试模块并收集其输出响应 3)将响应输出与期望值进行比较 Ⅴ erilog HDl提供了大量的方法以编写测试验证程序。在本章中,我们将对其中的某些方 法进行探讨。典型的测试验证程序形式如下: 通常测试验证程序没有输入和输出端I cal reg and net declarations Generate waveforms using initial always statements Instantiate module under test Moni tor output and compare with expected values endmodule 测试中,通过在测试验证程序中进行实例化,激励自动加载于测试模块。 112波形产生 有两种产生激励值的主要方法: 1)产生波形,并在确定的离散时间间隔加载激励。 2)根据模块状态产生激励,即根据模块的输出响应产生激励。 通常需要两类波形。一类是具有重复模式的波形,例如时钟波形,另一类是一组指定的 值确定的波形。 11.21值序列 产生值序列的最佳方法是使用 initial语句。例如 in⊥t⊥a1 Reset= #100 Reset=1 #80 Reset =0 #30 Reset 产生的波形如图11-1所示。 Initial语句中的赋值语句用时延控制产生波形。此外,语句内 时延也能够按如下实例所示产生波形。下载 第11章 验 证 本章介绍了如何编写测试验证程序 (test bench)。测试验证程序用于测试和验证设计的正 确性。Verilog HDL提供强有力的结构来说明测试验证程序。 11.1 编写测试验证程序 测试验证程序有三个主要目的: 1) 产生模拟激励(波形)。 2) 将输入激励加入到测试模块并收集其输出响应; 3) 将响应输出与期望值进行比较。 Verilog HDL提供了大量的方法以编写测试验证程序。在本章中,我们将对其中的某些方 法进行探讨。典型的测试验证程序形式如下: module T e s t _ B e n c h; / /通常测试验证程序没有输入和输出端口。 L o c a l _ r e g _ a n d _ n e t _ d e c l a r a t i o n s G e n e r a t e _ w a v e f o r m s _ u s i n g _ i n i t i a l _ & _ a l w a y s _ s t a t e m e n t s I n s t a n t i a t e _ m o d u l e _ u n d e r _ t e s t M o n i t o r _ o u t p u t _ a n d _ c o m p a r e _ w i t h _ e x p e c t e d _ v a l u e s e n d m o d u l e 测试中,通过在测试验证程序中进行实例化,激励自动加载于测试模块。 11.2 波形产生 有两种产生激励值的主要方法: 1) 产生波形,并在确定的离散时间间隔加载激励。 2) 根据模块状态产生激励,即根据模块的输出响应产生激励。 通常需要两类波形。一类是具有重复模式的波形,例如时钟波形,另一类是一组指定的 值确定的波形。 11.2.1 值序列 产生值序列的最佳方法是使用 i n i t i a l语句。例如: i n i t i a l b e g i n R e s e t = 0; #100 R e s e t = 1; #80 Reset = 0; #30 Reset = 1; e n d 产生的波形如图11 - 1所示。I n i t i a l语句中的赋值语句用时延控制产生波形。此外,语句内 时延也能够按如下实例所示产生波形
向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有