首页 > 其他 > 详细

barrel shifter, logarthmic shifter and funnel shifter

时间:2017-11-06 18:56:44      阅读:2083      评论:0      收藏:0      [点我收藏+]

1,shifter小集合

(1) simple shift

左移或右移补0

(2) arthmetic shift

左移补0,右移补符号位

(3) barrel shifter

桶型,顾名思义,应该头尾衔接,但实际应用时也有左移补0的例子

可以把barrel shifter想象成一个圆形转钮

技术分享

按逆时针方向转动

(4) funnel shifter

漏斗,运算结果是从一个长集合里取出一个短集合

2,barrel shifter

(1) 优点

相对于使用触发器的移位寄存器,barrel shifter的延时几乎是固定的,因为它使用的是组合逻辑。

理论上,barrel shifter的延时是固定的一级传输门,与移位级数无关;当然实际上随着级数增加,传输电容也会增大。

(2) 实现

一般有两种实现方法。

a) 在cross-bar上用CMOS实现

技术分享

(图片来自维基百科;X是输入,Y是输出)

技术分享

b) 对于硬件描述语言,可以用多个2选1 MUX实现

技术分享

说明可看:https://tams.informatik.uni-hamburg.de/applets/hades/webdemos/10-gates/60-barrel/shifter8.html

以8-bit barrel shifter为例,连线规则是:

 int1  = IN       , if S[2] == 0
       = IN   << 4, if S[2] == 1
 int2  = int1     , if S[1] == 0
       = int1 << 2, if S[1] == 1
 OUT   = int2     , if S[0] == 0
       = int2 << 1, if S[0] == 1
S[0]是第一级,S[n]是最后一级。
上述例子只有左移补0,没有头尾衔接的循环。想改进也很简单:第一级把b[7]连到b[0],依此类推即可。
(3) 资源消耗
n-bit barrel shifter消耗的MUX数量为: nlog2(n).
(4) 应用
barrel shifter常在硬件实现浮点运算时用到。
3,logarthmic shifter
逻辑数学运算,实际上是移位运算的特殊应用。
技术分享
4, funnel shifter
funnel shifter可以实现上述所有的shifter。
技术分享
根据A与B的关系,funnel shifter可实现的不同功能:
技术分享
funnel shifter的两种实现方法:
(1) 
技术分享
(2) 
技术分享

barrel shifter, logarthmic shifter and funnel shifter

原文:http://www.cnblogs.com/freshair_cnblog/p/7794414.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!