您的位置:首页 > 编程语言

Verilog 编程实验(3)-二位比较器的设计与实现

2016-10-10 22:54 267 查看
二位比较器的真值表:



Implementation part:

module comp2bit(a,b,a_eq_b,a_gt_b,a_lt_b);
input [1:0]a,b;
output a_eq_b,a_gt_b,a_lt_b;
assign a_eq_b = (a == b)? 1'b1: 1'b0;
assign a_gt_b = (a > b)? 1'b1: 1'b0;
assign a_lt_b = (a < b)? 1'b1: 1'b0;

endmodule


Simulation part:

module comp2bitsTest2;

// Inputs
reg [1:0] a;
reg [1:0] b;

// Outputs
wire a_eq_b;
wire a_gt_b;
wire a_lt_b;

// Instantiate the Unit Under Test (UUT)
comp2bit uut (
.a(a),
.b(b),
.a_eq_b(a_eq_b),
.a_gt_b(a_gt_b),
.a_lt_b(a_lt_b)
);

initial begin
// Initialize Inputs
a = 0;
b = 0;

// Wait 100 ns for global reset to finish
#100;

// Add stimulus here
#200
a <= 2'b00;
b <= 2'b00;

#200
a <= 2'b00;
b <= 2'b01;

#200
a <= 2'b00;
b <= 2'b10;

#200
a <= 2'b00;
b <= 2'b11;

#200
a <= 2'b01;
b <= 2'b00;

#200
a <= 2'b01;
b <= 2'b01;

#200
a <= 2'b01;
b <= 2'b10;

#200
a <= 2'b01;
b <= 2'b11;

#200
a <= 2'b10;
b <= 2'b00;

#200
a <= 2'b10;
b <= 2'b01;

#200
a <= 2'b10;
b <= 2'b10;

#200
a <= 2'b10;
b <= 2'b11;

#200
a <= 2'b11;
b <= 2'b00;

#200
a <= 2'b11;
b <= 2'b01;

#200
a <= 2'b11;
b <= 2'b10;

#200
a <= 2'b11;
b <= 2'b11;
end

endmodule


Simulation Behavioral Model:



RTL Schematic:



欢迎指正~~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: