在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1447|回复: 2

[求助] 请教:串转并为什么一般使用移位寄存?

[复制链接]
发表于 2023-5-25 16:07:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
RT,请问各位大神,为什么在串转并的时候一般使用移位寄存的方式,而不是直接放到对应位上面?
例如下面的code,为什么不用注释里的方法?




  1. // case(r_ser_bit_cnt)
  2.             //     3'h0:   r_buf_data    <= {i_ser_din,7'h0};
  3.             //     3'h1:   r_buf_data[6] <= i_ser_din;
  4.             //     3'h2:   r_buf_data[5] <= i_ser_din;
  5.             //     3'h3:   r_buf_data[4] <= i_ser_din;
  6.             //     3'h4:   r_buf_data[3] <= i_ser_din;
  7.             //     3'h5:   r_buf_data[2] <= i_ser_din;
  8.             //     3'h6:   r_buf_data[1] <= i_ser_din;
  9.             //     3'h7:   r_buf_data[0] <= i_ser_din;
  10.             //     default:;
  11.             // endcase



  12.             r_buf_data <= {r_buf_data[6:0],i_ser_din};



复制代码





发表于 2023-5-25 17:53:29 | 显示全部楼层
如果位宽增加很多,综合后的逻辑移位寄存器的逻辑要比case的译码器逻辑简单的多,对应的功耗,速度,面积都有一定的优势,虽然移位寄存器在每一拍寄存器都会变化(其实可以通过计数器将寄存器分组增加ICG以降低功耗),但是case综合出的组合逻辑也会引入较大的功耗。
发表于 2023-5-26 08:48:21 | 显示全部楼层
赞同楼上
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-11-23 12:19 , Processed in 0.014290 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表