可变移位与桶形网络
Variable Shifter and Barrel Networks
把移距编码、循环与填充语义落实为阵列或分级选择网络。
速览
约 1 分钟固定移位可用布线完成;运行时可变移距需要选择网络。先区分循环、逻辑和算术填充,再讨论阵列、对数分级及辅助控制。
系统理解
约 2 分钟移位器通过有控制的数据选择而非时钟逐位搬运实现组合移位。阵列与对数描述选择网络的分解;前置填充与后置屏蔽描述填充值的组织,两组分类不能混淆。逻辑层数只是估计,选择控制、长环绕线、寄生与输出填充同样可能成为关键路径。
在加法器和数字逻辑基础之后理解专用算术数据通路,再连接处理器与信号处理应用。
关键参数
| 参数 | 单位 | 含义 |
|---|---|---|
| 字长与移距范围 | bit | 决定可选位置和边界行为 |
| 方向和类型 | — | 区分循环、逻辑及算术填充 |
| 网络级数与选择数 | — | 声明基数和计数模型 |
| 控制与数据到达 | — | 共同决定输出就绪 |
常见误区
- 循环与逻辑右移相同。
- 一层阵列使任意位宽延时恒定。
- 较少多路器级数必然更快。
工程深入
12 条结论 · 2 道例题把算术功能、数值语义和完整数据/控制路径共同验证,避免只以逻辑层数推断实现性能。
功能与填充约定
逻辑右移与循环右移的高位来源不同
逻辑右移用0填补空出的高位,循环右移把从低位移出的位送回高端。即使某组输入使二者结果恰好相同,也不能把它们当作同一操作。2
成立条件 固定N位数据,移位范围与超范围行为由接口约定。
循环右移可以用逐位模索引精确定义
N位字循环右移k位后,第i个输出取自输入的第(i+k)模N位。该定义保留全部位,不隐含逻辑移位的清零操作。2
- yi
- 第i位循环右移输出,单位 1
- a
- 输入位向量,位0为最低位,单位 1
- k
- 循环右移距离,单位 bit
- N
- 字长,单位 bit
成立条件 位0为最低位,0≤i<N、0≤k<N;索引公式只定义功能,不说明电路延时。
例题:动手算一次教学假设,可复算
比较同一字的循环、逻辑和补码算术右移。
已知
- 教学字A=10110010₂,N=8,k=3。
步骤
- ROR3(10110010₂) = 01010110₂,低端010回到高端,其余位右移。
- LSR3(10110010₂) = 00010110₂,高端填0。
- ASR3(10110010₂) = 11110110₂,原最高位为1,复制到高端。
选择网络必须同时实现距离和填充语义。
不能外推到 8位教学数据,距离3不超范围;算术结果按8位补码解释。
网络分解与控制
基2分级网络把距离拆成若干个二次幂选择
若可选距离为0至N−1且N是2的幂,使用log₂N级二选一网络,每一级选择通过或移动对应的2ⁱ位。按距离各位控制,就能组合出全部允许距离。12
- N
- 数据字长及可选距离数,单位 bit
- L
- 基2网络级数,单位 1
- k
- 所选移位距离,单位 bit
- bi
- 距离编码的第i位,单位 1
- Nmux
- 未优化均匀实现的二选一位多路器数,单位 1
成立条件 完整N位各级均匀网络的逻辑模型;边界填充、布线和缓冲另外计入。
例题:动手算一次教学假设,可复算
计算32位循环网络的级数、选择数和13位移距的控制分解。
已知
- 教学结构为32位字、支持0至31位循环右移,每级每个输出均用一个二选一位多路器。
步骤
- L = log₂32 = 5,五级分别选择1、2、4、8、16位。
- 13 = 1 + 4 + 8 = 01101₂,启用1、4、8位选择级,其余级通过。
- Nmux = 32 × 5 = 160,只计算声明的均匀逻辑网络。
逻辑级数随距离范围对数增长,但仍需看每级负载。
不能外推到 不含类型屏蔽、控制缓冲、寄存器及综合边界优化;不是晶体管数。
更高基的多路器减少级数也增加扇出与连线
将多个二进制距离位合并到四选一或八选一选择级能减少级数,却使每级选择结构、译码、扇出和布线变复杂。不能仅按更少级数判定更快或更省电。2
成立条件 所选基数应结合数据及控制到达时间、布局与负载比较。
填充位置与物理实现
前置填充与后置屏蔽是两种不同组织方式
可先组成带补充值的宽输入字再选择连续输出字段,也可先循环再用屏蔽字把移出位置替换为0或符号位。两者功能可对应,辅助逻辑的位置及宽度不同。2
成立条件 本文以具体数据流描述结构;不因不同教材的barrel中文译名直接判定同一拓扑。
出处
2 本教材 · 20 处引用- 1
数字集成电路:电路、系统与设计(第2版)
- 第 11 章§11.5;;PDF pp.460–461,第 438–439 页 支持:可变移位器是受控制的数据选择网络
- 第 11 章§11.5;;PDF pp.461,第 439 页 支持:补码算术右移复制符号位而不是循环送回低位;阵列方案需要一热选择而非直接连接二进制距离码;一层传输阵列不意味着物理延时与位宽无关;距离与类型控制的到达时间也应进入关键路径检查
- 第 11 章§11.5;;PDF pp.461–462,第 439–440 页 支持:基2分级网络把距离拆成若干个二次幂选择;长环绕线和高扇出控制会成为实现约束
- 第 11 章§11.5;;PDF pp.460–462,第 438–440 页 支持:只支持部分操作时可以删去不需要的选择与填充逻辑
- 2
CMOS超大规模集成电路设计(第4版)
- 第 11 章§11.8;;PDF pp.762,第 401 页 支持:可变移位器是受控制的数据选择网络;逻辑右移与循环右移的高位来源不同;补码算术右移复制符号位而不是循环送回低位
- 第 11 章§11.8;;PDF pp.762、768,第 401、403 页 支持:循环右移可以用逐位模索引精确定义
- 第 11 章§11.8;;PDF pp.762–763,第 401–402 页 支持:阵列方案需要一热选择而非直接连接二进制距离码;基2分级网络把距离拆成若干个二次幂选择;一层传输阵列不意味着物理延时与位宽无关;更高基的多路器减少级数也增加扇出与连线
- 第 11 章§11.8;;PDF pp.762–763、768、772,第 401–404 页 支持:前置填充与后置屏蔽是两种不同组织方式
- 第 11 章§11.8;;PDF pp.768,第 403 页 支持:长环绕线和高扇出控制会成为实现约束;距离与类型控制的到达时间也应进入关键路径检查
- 第 11 章§11.8;;PDF pp.768、772,第 403–404 页 支持:只支持部分操作时可以删去不需要的选择与填充逻辑
本页结论均已对照来源核对,其中 4 条目前只有一个来源,尚未经过同行专家审阅。发现不准确的地方,请告诉我们。
报告这一页的问题