1). 適用於DE2-70 的8bit 比較器的設計(可以下載到DE2-70)
module comp_8bit(
input [17:0]SW,
input [3:0] KEY,
output [17:0] LEDR,
output [7:0] LEDG,
output [6:0] HEX0,
output [6:0] HEX1,
output [6:0] HEX2,
output [6:0] HEX3,
output [6:0] HEX4,
output [6:0] HEX5,
output [6:0] HEX6,
output [6:0] HEX7
);
assign HEX0=7'b111_1111; //off 7-segment Display
assign HEX1=7'b111_1111;
assign HEX2=7'b111_1111;
assign HEX3=7'b111_1111;
assign HEX4=7'b111_1111;
assign HEX5=7'b111_1111;
assign HEX6=7'b111_1111;
assign HEX7=7'b111_1111;
wire [7:0]A,B;
reg [2:0]Y ;
assign A=SW[7:0];
assign B=SW[15:8];
assign LEDR[2:0]=Y;
always@(A,B)
begin
if (A==B)
begin
Y[0]=0;
Y[1]=1;
Y[2]=0; //{0,1,0};
end
else if (A>B)
begin
Y[1]=0;
Y[0]=1;
Y[2]=0; //{1,0,0};
end
else
begin
Y[1]=0;
Y[0]=0;
Y[2]=1; //{0,0,1};
end
end
endmodule
2). 不適用於DE2-70 的8bit 比較器的設計
module comp_8bit(
input [7:0]A,
input [7:0]B,
output reg [2:0]Y
);
always@(A,B)
begin
if (A==B)
begin
Y[0]=0;
Y[1]=1;
Y[2]=0; //{0,1,0};
end
else if (A>B)
begin
Y[1]=0;
Y[0]=1;
Y[2]=0; //{1,0,0};
end
else
begin
Y[1]=0;
Y[0]=0;
Y[2]=1; //{0,0,1};
end
end
endmodule
`timescale 1ns/1ps
module test_bench1;
reg [7:0]A;
reg [7:0]B;
wire [7:0]Y ;
comp_8bit DUT
(.A(A),.B(B),.Y(Y));
initial
begin
A=0; B=10;
end
always #50 A=A+1;
always #50 B=B-1;
endmodule
沒有留言:
張貼留言