最近在学习Verilog 数字系统教程这本书,看到课本上的一个关于比较器的例子。我就把代码抄写到软件中,然后写了一个简单的Textbench想看看波形,结果发现并不是我想要的结果,不知道是哪里有问题Textbench还是源程序?请各位大侠帮我看下!
源程序代码
module lianxi_compare_n(X,Y,XGY,XSY,XEY);
input [7:0] X,Y;
output XGY,XSY,XEY;
reg XGY,XSY,XEY;
always@(X or Y)
begin
if(X==Y)
XEY = 1;
else EY = 0;
if(X>Y) XGY = 1;
else -XGY = 0;
if(X else -XEY =0;
end
endmodule
自己写的测试:
`timescale 1ns/100ps
module comparetext;
reg [7:0] X,Y;
wire XGY,XSY,XEY;
initial
begin
X = 8'b00000000;
Y = 8'b00000000;
#100 X = 8'b00000001;Y = 8'b00000000;
#100 X = 8'b00000111; Y = 8'b00000111;
#100 X = 8'b00000001; Y = 8'b00000010;
#100 X = 8'd5; Y = 8'd9;
#100 X = 8'd10;Y = 8'd10;
#100 X = 8'd12; Y = 8'd8;
#100 $stop;
end
lianxi_compare_n compare_n(.X(X),.Y(Y),.XGY(XGY),.XSY(XSY),.XEY(XEY));
endmodule
输出结果是这样的
用户1687253 2013-9-27 09:35
用户436773 2013-8-14 09:51
用户403664 2013-8-13 15:50