1. 实验题目
八位比较器的设计与仿真
2. 实验目的
设计一个字节(8 位)的比较器,并进行仿真测试。
3. 实验要求
比较两个一字节数据 a[7:0],b[7:0]的大小,如a[7:0]大于b[7:0],则输出1,否则输出 0。
4.程序代码
Verilog代码:
module compare(a,b,out);
input [7:0] a,b;
output out;
assign out=(a[7:0]>b[7:0])?1:0;
endmodule
仿真代码:
`timescale 1ns/1ns
`include "./compare.v"
module comparetest;
reg[7:0] a,b;
wire equal;
initial
begin
a='b00000000;
b='b00000000;
#100 a='b00000000;b='b00000001;
#100 a='b00010001;b='b00000011;
#100 a='b00000001;b='b00000010;
#100 a=100;b=99;
#100 a=123;b=125;
#100 a=135;b=130;
#100 a=245;b=246;
#100 $stop;
end
compare compare(.out(out),.a(a),.b(b));
endmodule
5. 实验结果
本实验比较两个一字节数据a[7:0],b[7:0]的大小,根据本题波形分析,每隔100个时间单位后a与b重新赋值进行比较,第一段波形中a=b=000000二者相等,输出的out值为1,100个时间单位后b的值变为1,此时b>a,a与b不等,输出out值为0,后面给定的多组测试数据以此类推。