mokang0421的个人空间 https://blog.eetop.cn/1250963 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

8位数据中,"1"的个数识别

已有 1040 次阅读| 2017-3-9 23:16 |个人分类:daydayup0309|系统分类:硬件设计

Q:   统计出b0b1b2b3 b4b5b6b7里面 “1”的个数


如果能分割成 4 位,再分割成2位。
b01共有三种情况,0、1、2个"1".   可以表示成  b01={b0&b1,b0^b1}.
同理,b23 = {b2&b3,b2^b3};

画一个卡诺图:  (x^y)操作
       \ 00  01  10                      \ 00  01  10
           00|00  01  10                   00| 0    1    2
           01|01  00  11                   01| 1    2    3
           10|10  11  00                   10| 2    3    4  

可以看出  除了主对角线外,x^y 的值就是 b0123所包含的 "1"的个数。
        主对角线上,即x=y, 对应的b0123所含"1"的个数就是两倍。即 {b01,1'b0}


wire [1:0]   xor1_data = { (b0&b1)^(b2&b3), (b0^b1)^(b2^b3)};
wire           xor1_eq0 = | xor1_data;

wire  [2:0]  H_b0123 = xor1_eq0 ?  {1'b0,xor1_data} : {b0&b1,b0^b1,1'b0}; 
//////////////////////////////////////
wire [1:0]   xor2_data = { (b4&b5)^(b6&b7), (b4^b5)^(b6^b7)};
wire            xor2_eq0 = | xor2_data;

wire  [2:0]  H_b4567 =xor2_eq0 ?  {1'b0,xor2_data} : {b4&b5,b4^b5,1'b0}; 

wire [3:0]  H_b01234567 = H_b0123 + H_b4567 ;

我仿真了下代码,是可行的,至于具体综合的结果,希望各位拍砖.


/////////////////////////////////////////////////////////////////////////////////////////////////////////////////

(假如这个地方继续再画卡诺图),会发现 011亦或那部分会出现异常,
         \  000  001  010  011  100                     \  000  001  010  011  100  
  000 | 000  001  010  011  100               000 |   0       1      2      3       4   
  001 | 001  000  010  010  101               001 |   1       2      3      4       5
  010 | 010  011  000  001  110               010 |   2       3      4      5       6
  011 | 011  010  001  000  111                011 |   3       4      5      6       7   
  100 | 100  101  110  111  000               100 |   4       5      6      7       8   

能否找到一种,a+b = a^b的编码?


点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 2

    粉丝
  • 0

    好友
  • 0

    获赞
  • 0

    评论
  • 291

    访问数
关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-25 23:14 , Processed in 0.030479 second(s), 15 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部