正在加载图片...
128mwi1mD硬述语言 China°b6M 下载 :0: 2]Sum, w⊥ re cout /待测试验证模块的实例 Adder 3Bit FI (A, B, cin, Sum, Cout initial begin: INIT LABLE integer Mon Out File Mon Out File= fopen ("mon out") Sreadmemb ("test. vec", vmem for (J=l: J<= WORDS: J=J+ 1) begin Ex,C。 ut Ex vmem[ #5;∥/延迟5个时间单位,等待电路稳定 i£((sum = Sum EX I(c。ut Cout Ex display ("****Mismatch on vector sb****wnem [J] display ("No mismatch on vector sb"Vmem [J]) //将输入向量和输出结果输入到文件 sfdisp1ay(Mon0utF11e,"nput=影bb, Output8器 sfcl。se( Mon out Fi1e) endmodule 下面是模拟执行后文件“mon.out”包含的内容。 Input =0100100, output =1000 116其他实例 1161时钟分频器 下面是应用波形方法的完整测试验证程序。待测试的模块名为Di。输出响应写入文件以 便于以后进行比较 module Div (Ck, Reset, Tes tN, End input ck, Reset, Tes tN output Ena reg [0: 3] Counter128 Verilog HDL 硬件描述语言 下载 i n t e g e r J ; w i r e [0:2] S u m; w i r e C o u t; / /待测试验证模块的实例。 A d d e r 3 B i t F1 (A, B, Cin, Sum, Cout) ; i n i t i a l b e g i n : I N I T _ L A B L E i n t e g e r M o n _ O u t _ F i l e; Mon_Out_File = $f o p e n (" m o n . o u t ") ; $r e a d m e m b ("test.vec", Vmem) ; f o r (J = 1; J <= W O R D S; J = J + 1) b e g i n {A, B, Cin, Sum_Ex, Cout_Ex} = Vmem [J] ; #5; //延迟5个时间单位,等待电路稳定。 i f ( (Sum ! = = Sum_Ex) | | (Cout ! = = Cout_Ex) ) $d i s p l a y ("****Mismatch on vector %b *****", V m e m [J] ) ; e l s e $d i s p l a y ("No mismatch on vector %b", V m e m [J] ) ; / /将输入向量和输出结果输入到文件: $f d i s p l a y (Mon_Out_File,"Input = %b%b%b, Output = %b%b", A, B, Cin, Sum, Cout) ; e n d $f c l o s e (M o n _ O u t _ F i l e) ; e n d e n d m o d u l e 下面是模拟执行后文件“m o n . o u t”包含的内容。 Input = 0100100, Output = 1000 Input = 0100111, Output = 1100 11.6 其他实例 11.6.1 时钟分频器 下面是应用波形方法的完整测试验证程序。待测试的模块名为 D i v。输出响应写入文件以 便于以后进行比较。 m o d u l e D i v (Ck, Reset, TestN, Ena) ; i n p u t Ck, Reset, TestN; o u t p u t E n a; r e g [0:3] C o u n t e r; al w a y s @ (p o s e d g e C k) b e g i n i f (~ R e s e t)
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有