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 ...
随机推荐
- SSDT
2.系统服务调度表SSDT及SSSDT Shadow 系统服务:由操作系统提供的一组函数(内核函数),API可以间接或者直接的调用系统服务.操作系统以动态链接库(DLL)的形式提供API. SSDT: ...
- go modules学习
https://github.com/golang/go/wiki/Modules https://tonybai.com/2018/07/15/hello-go-module/ https://ww ...
- mac下google插件SwitchyOmega笔记
端口:
- 3、发送第一个api请求
接口地址:https://www.v2ex.com/api/topics/latest.json Method: GET Authentication: None 我们打开postman,方法选择ge ...
- Unity 之旋转
代码如下: bool RotateDelta(Vector3 direction) { direction.y = ; if (direction == Vector3.zero) return tr ...
- Debian怎么配置网卡(IP)
来自:http://jingyan.baidu.com/article/a3f121e4d27a53fc9152bb65.html Debian可以配置静态IP.动态IP使Debian连上互联网.用户 ...
- Python3 From Zero——{最初的意识:001~数据结构和算法}
一.从队列两端高效插入.删除元素,及保留固定数量的数据条目: collections.deque([iterable[,maxlen=N]]) a = collections.deque([1, 2] ...
- Solrj API读取core 索引库数据
private static String zkHost = "ip:2181,ip:2181,ip:2181"; private static CloudSolrServer s ...
- scrapy的使用-LinkExtractor
背景: 在爬取网站信息是需要获取特定标签下的某些内容,就需要获取这些标签下的链接,如果获取每一个,在通过这个获取它下面的信息,这样效率会很低,时间复杂度O(n^2),但如果先获取链接,再获取内容,则时 ...
- 12-MySQL-Ubuntu-数据表的查询-数据准备和基本查询(一)
一,数据准备 创建数据库.数据表 -- 创建数据库 create database python_test_1 charset=utf8; -- 使用数据库 use python_test_1; -- ...