蓝冠《Q374919》信号处理和通信算法经常使用动态比特旋转或移位。利用合并树可以提高性能,蓝冠 并使用更少的资源减少路由拥塞。嵌入式功能为高效结构提供了额外的选择。
信号处理和通信算法经常使用动态比特旋转或移位。利用合并树可以提高性能,并使用更少的资源减少路由拥塞。嵌入式功能为高效结构提供了额外的选择。
高效的移位、轮换、正规化结构
在信号处理应用中,蓝冠官网 我们经常遇到这样的情况,即数据必须被移位或由可变位数的位位置旋转。旋转器将从一端移位的位绕回另一端,而移位器丢弃从一端移位的位,而零填充(或复制符号)位则在另一端移位。移位器广泛用于浮点应用程序的标准化和反标准化,以及在定点应用程序的范围缩小。旋转器可以在通信帧制作、加密和其他需要重新对齐到引用的位元的地方找到。
设计者的自然倾向是使用如图1所示的n n:1选择器(又名多路复用器)来实现移位器或旋转器。每个多路复用器必须被映射到FPGA逻辑中,通常由小型(3到6个输入)查找表(LUTs)组成,其周围有专门的逻辑(例如,蓝冠注册 携带链),并可选地提供一个触发器。一个4输入- lut可以处理一个最大的2输入选择器非恒定输入。以这种方式构建的n个输入移位器需要n(n-1)个2输入选择器来构建n个多路复用器。信号到达输出时所经过的2:1选择器的个数是Log2n。同样值得注意的是,所有的输入部分连接到选择器树的所有输出比特(除了中常量输入位移器的情况下),这污浊的路由输入和有助于高扇入信号(输入信号上加载的数量)。路由拥塞和高扇入都会降低最大时钟性能。
用多路复用器实现的旋转器。红色虚线连接替换为移位器的“0”。
为了便于说明,图1中的旋转器只有四个移位位置,这将在大多数现代fpga中转换为一层逻辑(或最坏的两层逻辑)。然而,一个真实的旋转器通常是更宽的,将有尽可能多的移位位置,因为有位在输出。在这种情况下,多路复用器的大小的增长,必须构建的几个FPGA逻辑细胞,使用两个或两个以上层逻辑(或者使用较慢的宽与或逻辑增强FPGA逻辑细胞结构在某些设备)。由于增加的路由拥塞、增加的扇入和增加的信号所遍历的逻辑单元数,移位位置的数目增加,设计的速度就会减慢。