比较器的数字逻辑电路设计

电子说

1.3w人已加入

描述

数字 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 分的时候就不输出显示出来,那么最后统计出来的都是成绩合格的学生。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分