新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于FPGA的可变长度移位寄存器优化设计

基于FPGA的可变长度移位寄存器优化设计

作者:时间:2011-07-24来源:网络收藏

本文以最大为N、宽度为1bit的为模型,讨论如何从结构上和有效的实现。至于宽度不为1bit的情况,可以此类推。

本文引用地址:http://www.eepw.com.cn/article/150431.htm

  1 的常用结构

  通常可变长度移位寄存器的结构可分为两种:一种是输入分支型(结构A),如图1所示;另一种是输出分支型(结构B),如图2所示。

  

可变长度移位寄存器的结构

  结构A与结构B有两个共同点:第一,都是由触发器链路加数据流向控制逻辑组成;第二,每级触发器的输入输出都是信号节点,因而各级都需要对本级节点的信号流向进行控制。结构A用n-to-2n译码器来控制信号流向,结构B则用2n:1多路复用器控制信号流向。对于基本逻辑单元为查找表(LUT)+触发器(FF)+多路复用器(MUX)结构的来说,直接采用结构A与结构B构造较长的移位寄存器时,触发器链和复杂的组合逻辑会消耗很多资源,即这两种结构不宜用于较长的可变长度移位寄存器。

  2 解决方案

  为解决上述问题,可以采用如下两个方法:

  (1)功能结构与硬件结构的搭配。根据移位寄存器结构类型,选择适宜的芯片以提高资源利用率,降低资源消耗。

  (2)移位寄存器结构。采用FPGA片内RAM来实现移位寄存器,利用片内RAM速度快、数量大的优点,直接减少基本逻辑单元的消耗,提高资源利用率。

  2.1 优化功能结构与硬件结构的搭配

  通过调整FPGA芯片类型与移位寄存器结构类型的搭配,可以提高资源利用率,降低资源消耗。下面以结构B为例,阐述如何应用Xilinx公司的Spartan-3系列芯片高效地实现N=128的可变长度移位寄存器。

  2.1.1 实现原理

  Spartan-3系列芯片的每个可配置逻辑块CLB[1]如图3所示,包含8个LUT、8个DFF和8个2:1多路复用器(4个F5MUX,2个F6MUX,1个F7MUX,1个F8MUX),而每个LUT都能配置成移位寄存器模式(SRL),相当于一个16级的可逐级寻址的移位寄存器。如图4所示,一个LUT就包含了构成结构B所需的全部要素,从而有效地实现N=16的可变长度移位寄存器[2].Q15是用于多级级联实现N>16的移位寄存器的进位输出。

  

Spartan-3系列芯片的每个可配置逻辑块CLB

  

LUT配置成可寻址的移位寄存器


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭