01-布尔逻辑及HDL的问题

1,a,b,c 分别是一位的二进制数,如何比较三者是否想等?

   (1)用异或可以比较出2个数是否相等 

    f(x,y)= x Xor y = x'y+xy'

          描述:

              if a=b,out=0 else out=1

        修改:用Eql门来比较两个数是否相等比较好

          f(x,y) = x Eq y = xy + x'y'

         描述: if a=b,out=1 else out=0;

   (2)尝试使用 a Xor b ,得结果为c0  然后c0 Xor c

        (i)Xor(a,b) if a=b out=0 else out=1

        (ii)Xor(c0,c)if c0=c out=0 else out=1
      举反例验证:
    1,a=b c=0 out=0 //000 110
    2,a=b c=1 out=1 //001 111

    (3)问题转换成,如何使用000,111 经过某种运算方式,得出同样的结果??

 (4)尝试使用Eq门,

    c0 = Eq(a,b)

           out= Eq(c0+ Eq(a,b)) 依旧不对!

 (5)三者比较的原理是:

     Eq(a,b,c) =  abc+ a'b'c'  

 

          

 

 

    

posted on 2016-10-15 11:42  桃枝妖妖  阅读(259)  评论(0编辑  收藏  举报

导航