电子说
在数字 IC 设计中,总是需要对一些数据进行 大小的比较 ,例如比较两个或者三个以上的数据的大小,接着进行排序,最终输出等等。于是, 比较器 (Comparator)的数字逻辑电路就应运而生。
基于 8 位的数值比较器的 Verilog 代码和 RTL 电路
module Comparator(
input wire [7:0] a , // 比较数
input wire [7:0] b , // 比较数
output reg result, // 比较结果
output reg equal // 比较结果
);
// 行为描述
always @(a or b) begin
if(a > b)
{equal,result} <= 2'b01; // a 比 b 大
else begin
if(a < b)
{equal,result} <= 2'b00; // a 比 b 小
else
{equal,result} <= 2'b10; // 相等
end
end
// 数据流描述
// assign equal = (a == b) ? 1 : 0;
// assign result = (a > b) ? 1 : 0;
endmodule
代码详解
对两个**** 8 比特二进制输入信号的大小进行判断:如果 a 比较大,则 out 输出高电平;如果 b 比较大,则 out 输出低电平;如果 a 和 b 大小相等,那么,则 equal 输出高电平,否则 equal 输出低电平。
对于比较器的应用呢,其实,比较器在现实生活中也可以作为过滤器来使用。比如我们在统计成绩的时候,要把不及格的学生过滤掉,那么我们就可以利用比较器,过滤掉成绩不及格的学生。当输入的成绩小于 60 分的时候就不输出显示出来,那么最后统计出来的都是成绩合格的学生。
全部0条评论
快来发表一下你的评论吧 !