barrel shifter, logarthmic shifter and funnel shifter
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的更多相关文章
- Power Gating的设计(模块)
Switching Fabric的设计: 三种架构:P沟道的switch vdd(header switch),N沟道的switch vss(footer switch),两个switch. 但是如果 ...
- antlr提取代码注释
1. 来由 为什么要写提取注释呢,起因是工作需要.弄这么个不太重要的功能点来讲,旨在抛砖引玉. 一般而言,大家使用antlr解析源代码的时候,不会关心注释和空格之类内容,默认会过滤掉,不会放到语法树里 ...
- Retimer、Redriver(Level Shifter)
重定时器Retimer和驱动器Redriver9(Level Shifter) 在高速串行通道的信号传输中,需要使用Redriver 和Retimer来保证信号传输的质量. Redriver,可以重新 ...
- 低功耗设计技术--Multi VDD--Level shifter
本文转自:自己的微信公众号<集成电路设计及EDA教程> 前面的推文中我们分别介绍了低功耗设计中的Multi-VDD技术以及门控电源技术.在实际的低功耗设计中,门控电源技术中也常常结合Mul ...
- jchdl - GSL实例 - Shifter
https://mp.weixin.qq.com/s/ngQji-xi4FCCbL_2ihUi_A Shifter是移位节点的父类,定义了输入输出线,但是没有定义具体的移位方式,这个留给子类去实现 ...
- Non-Inverting Level Shifter : +/-5V signal into a 0 to 3.3V
http://electronicdesign.com/boards/non-inverting-level-shifter-requires-only-one-op-amp-one-supply-v ...
- 转:Stimulsoft Reports.Fx 2013.3新增 Email、AutoPageScale支持以及图表组件Funnel Weighted Slices
原文来自于:http://www.infoq.com/cn/news/2014/01/stimulsoft-reports-fx-2013-3 Stimulsoft发布Reprots.Fx 2013. ...
- Writing Science 7.10 (The Opening and The Funnel)
Opening: 1.文章的第一句话必须要达到如下目标:找出推动研究的问题,介绍内容,并确定本文针对的观众.如果你足够聪明的话甚至可以将遇到的挑战以及结论写进来. 2.通过第一段话建立本文的重点和基调 ...
- ECharts学习总结(二)-----图表组件漏斗图(funnel)
今天在学习ECharts时,想要在ECharts图表的原生态Demo中抠出漏斗图,却不知如何下手,经过一番研究,特总结如下: 首先我们需要这样做 1.拷贝出两个js文件:esl.js 和echarts ...
随机推荐
- Git 学习(三)Git 创建版本库
获取 Git 仓库 什么是 Git 仓库呢,仓库又名版本库,我们可以把他理解为一个文件夹.这个文件夹里的所有东西都需要被 Git 给管理起来,对立面每个文件的修改.编辑.删除都将被 Git 记录,以便 ...
- Pytorch模型定义的三要
首先,必须继承nn.Module这个类,要让Pytorch知道这个类是一个Module. 其次,在_init_(self)中设置需要的组件,比如(Conv,Pooling,Linear,BatchNo ...
- ES6 学习 -- Generator函数
(1)语法说明:Generator函数其实是一个普通函数,其有两个特点,一是,function关键字与函数名之间有一个星号(*):二是Generator函数内部使用yield表达式,定义不同的状态,然 ...
- 机器突然宕机导致hdfs启动一直超时的行为
今天手里其中一个集群几个机器突然宕机,启动hdfs一直超时. clouder-scm-agent主要报了这个错RROR: Unexpected error 'getpwuid(): uid not f ...
- OC中Nil nil NULL 和 [NSNULL null]的区别
关于这个问题看过两三次了,但是每次过两个月脑袋里又会不清晰,索性记录一下加深一下印象. 一.nil 当一个对象置为nil时,这个对象的内存地址就会被系统收回.置空之后是不能进行retain,copy等 ...
- CTR预估的常用方法
1.CTR CTR预估是对每次广告的点击情况做出预测,预测用户是点击还是不点击. CTR预估和很多因素相关,比如历史点击率.广告位置.时间.用户等. CTR预估模型就是综合考虑各种因素.特征,在大量历 ...
- 【学术篇】SDOI2009 最优图像
又是一道辣鸡卡常数题…. luogu上有些题的时限还是有毒的… 最后也只能靠O2过掉了… 不过给我原题当时的2s我随便过给你看嘛, 哪怕评测姬慢50%都没关系的.. 贴一下codevs的截图… 你看最 ...
- elasticsearch.net一个查询问题
.Query(q => q.Bool(b => b.Must(m => m.MultiMatch(t => t .Fields(f => f.Field(obj => ...
- 一个有关group by的错误
事例:查询有奖金的每个部门的部门名和部门的领导编号和该部门的最低工资 SELECT department_name,MIN(salary),departments.manager_idFROM dep ...
- arc098D Xor Sum 2
题意:给你一个数列,问有多少对(l,r)满足A[l]+A[l+1]+...+A[r]=A[l]^A[l+1]^...^A[r]? 标程: #include<bits/stdc++.h> u ...




