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的更多相关文章

  1. Power Gating的设计(模块)

    Switching Fabric的设计: 三种架构:P沟道的switch vdd(header switch),N沟道的switch vss(footer switch),两个switch. 但是如果 ...

  2. antlr提取代码注释

    1. 来由 为什么要写提取注释呢,起因是工作需要.弄这么个不太重要的功能点来讲,旨在抛砖引玉. 一般而言,大家使用antlr解析源代码的时候,不会关心注释和空格之类内容,默认会过滤掉,不会放到语法树里 ...

  3. Retimer、Redriver(Level Shifter)

    重定时器Retimer和驱动器Redriver9(Level Shifter) 在高速串行通道的信号传输中,需要使用Redriver 和Retimer来保证信号传输的质量. Redriver,可以重新 ...

  4. 低功耗设计技术--Multi VDD--Level shifter

    本文转自:自己的微信公众号<集成电路设计及EDA教程> 前面的推文中我们分别介绍了低功耗设计中的Multi-VDD技术以及门控电源技术.在实际的低功耗设计中,门控电源技术中也常常结合Mul ...

  5. jchdl - GSL实例 - Shifter

    https://mp.weixin.qq.com/s/ngQji-xi4FCCbL_2ihUi_A   Shifter是移位节点的父类,定义了输入输出线,但是没有定义具体的移位方式,这个留给子类去实现 ...

  6. 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 ...

  7. 转: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. ...

  8. Writing Science 7.10 (The Opening and The Funnel)

    Opening: 1.文章的第一句话必须要达到如下目标:找出推动研究的问题,介绍内容,并确定本文针对的观众.如果你足够聪明的话甚至可以将遇到的挑战以及结论写进来. 2.通过第一段话建立本文的重点和基调 ...

  9. ECharts学习总结(二)-----图表组件漏斗图(funnel)

    今天在学习ECharts时,想要在ECharts图表的原生态Demo中抠出漏斗图,却不知如何下手,经过一番研究,特总结如下: 首先我们需要这样做 1.拷贝出两个js文件:esl.js 和echarts ...

随机推荐

  1. 解决方案-CRM:Vtiger CRM

    ylbtech-解决方案-CRM:Vtiger CRM vtiger CRM是一套基于Web以销售能力自动化(SFA)为主的客户关系管理系统(CRM).它基于是SugarCRM专业版(SPL1.1.2 ...

  2. python 19 lambda函数

    转自http://www.cnblogs.com/BeginMan/p/3178103.html 一.lambda函数 1.lambda函数基础: lambda函数也叫匿名函数,即,函数没有具体的名称 ...

  3. 关于__init__.py

    假设程序目录结构如下: ├── checkpoints/ ├── data/ │ ├── __init__.py │ ├── dataset.py │ └── get_data.sh ├── mode ...

  4. Qt学习笔记----基础知识

    一.qt的本质 qt的本质是c++的图形界面类库,本身是mvc结构.qt能火最大程度 归功于它跨平台的特性,一次编码,多次编译应用. 注意:qt由于历史原因,经历了奇趣.诺基亚.digit公司,导致q ...

  5. pytorch clamp 与clamp_区别

    pytorch clamp 与clamp_ ,有下划线的表示修改并付给自身,无下划线的表示需要返回处理后的值,比如: h = k.clamp(min=0) #将结果存入h,k保留原值 k.clamp_ ...

  6. JS事件 鼠标单击事件( onclick )通常与按钮一起使用。onclick是鼠标单击事件,当在网页上单击鼠标时,就会发生该事件。同时onclick事件调用的程序块就会被执行

    鼠标单击事件( onclick ) onclick是鼠标单击事件,当在网页上单击鼠标时,就会发生该事件.同时onclick事件调用的程序块就会被执行,通常与按钮一起使用. 比如,我们单击按钮时,触发  ...

  7. element-ui表格点击一行展开

    转载:https://www.cnblogs.com/xiaochongchong/p/8127282.html <template> <el-table :data="t ...

  8. _proto_和prototype

    _proto_和prototype 实例对象中有一个属性,_proto_,也是对象,叫原型,不是标准的属性,浏览器使用的, 构造函数中有一个属性,Prototype,也是对象,叫原型,是标准属性,程序 ...

  9. Cookie 干货

    从前端开发看Cookie Cookie是浏览器端的存储机制 存在意义: 为了解决“如何记住用户信息”而发明的: 当用户访问网页时,他的名字可以存储在cookie中 下次用户访问该页面时,cookie会 ...

  10. yii2中使用定义在 params.php文件中的配置

    yii2 使用 配置文件中在 params 的配置, 可以用 Yii::$app->params['key1']形式访问 参考 yii can't access Yii::$app->pa ...