1.实验目的:对教材《数字逻辑基础与Verilog设计》上P96实验进行仿真。
2.实验原理:利用计算机进行仿真实验,使用Verilog语法。
3.实验软件:Quartur ii和计算机。
4.实验截图:
5.实验代码: 17:28:56
module comparator(X,Y,V,N,Z);
parameter n=32;
input [n-1:0]X,Y;
output reg V,N,Z;
reg[n-1:0]S;
reg[n:0] C;
integer k;
always @(X,Y)
begin
C[0]= 1’b1;
for(k=0;k< n;k=k+1)
begin
S[k]= X[k]~Y[k]C[k];
C[k+1]= (X[k]&~Y[k])|(X[k] & C[k])| (~Y[k] & C[k]);
end
V=C[n]^C[n-1];
N=S[n-1];
Z= !S;
end
endmodule
module comparator(X, Y, V, N, Z);
input [3:0] X, Y;
output V, N, Z;
wire [3:0] S;
wire [4:1]C;
fulladd stage0 (1’b1, X[0], ~ Y[0], S[0], C[1]);
fulladd stage1 (C[1], X[1], ~Y[1], S[1], C[2]);
fulladd stage2 (C[2], X[2], ~ Y[2], S[2], C[3]);
fulladd stage3 (C[3], X[3], ~ Y[3], S[3], C[4]);
assign V = C[4] ^C[3];
assign N= S[3];
assign Z= !S;
endmodule
module fulladd (Cin, x, y, s, Cout);
input Cin, x, y;
output s, Cout;
assign s=xyCin;
assign Cout=(x&y)|(x & Cin) |(y & Cin);
endmodule