一种基于可编程基本逻辑单元的数据移位寄存电路的制作方法

文档序号:6764675阅读:177来源:国知局
一种基于可编程基本逻辑单元的数据移位寄存电路的制作方法
【专利摘要】本发明公开了一种基于可编程基本逻辑单元的数据移位电路,其包括2n位移位寄存器、n输入查找表和配置信息存储块;所述2n位移位寄存器包括串联的2n个移位寄存器单元,输入数据在该串联的2n个移位寄存器单元中逐位移动;所述n输入查找表被配置成多路选择开关,其根据从配置信息存储模块输入的移位位数m选择输出第m个移位寄存器单元的输出数据;所述配置信息存储模块,用于存储输入数据的移位位数m,其输出与n输入查找表的输出相连。该数据移位电路是在BLE结构上基于复用BLE内部的可配置CSRAM实现,同时只需要一个时钟信号即可以完成移位寄存器功能。
【专利说明】一种基于可编程基本逻辑单元的数据移位寄存电路【技术领域】
[0001]本发明属于电子电路设计领域,具体涉及一种基于可编程基本逻辑单元的数据移位寄存电路。
【背景技术】
[0002]可编程基本逻辑单元BLE (Basic Logic Element)是FPGA中最小的逻辑单元,它包含一个η (η ^ 2)输入的查找表LUT (Lookup Table)、一个触发器以及进位链和级联链等。由若干个BLE和控制逻辑互连构成FPGA的基本单元LC (Logic Cluster)。每个BLE包括一个带η输入的查找表和一个触发器,查找表由可配置的静态存储器(CSRAM)构成的函数发生器组成,用来快速实现组合逻辑,触发器用来实现时序逻辑。BLE的输出可以通过触发器寄存输出,也可以旁路直接输出。
[0003]BLE作为FPGA内部核心单元模块,具备三种基本工作模式如下:
[0004]1、常规模式下,BLE内部带η个输入的查找表可实现任意η输入函数的逻辑功能,对于更多输入变量的逻辑功能,则须用多个BLE级联对其进行扩展;
[0005]2、运算模式下完成I位全加/全减器;
[0006]3、加/减计数模式或者可清零计数模式下完成一位计数。
[0007]对于最终BLE工作于哪种基本模式和如何输出,由内部配置CSRAM和外部控制信号决定。
[0008]随着集成电路设计复杂度的不断提高,要求BLE不仅需要实现上述基本工作模式外,还需要提供分布式数据存储和数据移位寄存操作功能。目前,国外XILINX、ALTERA等可编程逻辑器件供应商掌握大量的FPGA开发技术,其中文献[I] (Xilinx Corporation,“Virtex II Pro and Virtex II Pro X Platform FPGAs:Complete Data Sheet”,2005)中XILINX公司提出了一种具有移位寄存器功能的BLE结构,此外专利申请CN200810038576.1也提出了一种同时具有分布式数据存储和数据移位寄存操作功能的LE结构,但上述结构均需要一个产生两相非交叠时钟信号的时序电路。
[0009]本发明提出具有移位寄存器功能的BLE结构,该结构基于复用BLE内部的可配置CSRAM,同时只需要一个时钟信号即可以完成移位寄存器功能。

【发明内容】

[0010]为解决上述问题,本发明提出了一种基于可编程基本逻辑单元的数据移位电路,其包括:多个串联的移位寄存器单元,所述移位寄存器单元由两级串联的带门控开关缓冲器的可编程基本逻辑单元中的静态存储器构成,其中所述移位寄存器单元的数据输入端为第一级静态存储器的门控开关缓冲器的输入端;所述移位寄存器单元的数据输出端为第二级静态存储器的输出,所述移位寄存器单元的时钟端与第一级静态存储器的门控开关缓冲器的门控开关输入端直接相连,并与第二级静态存储器的门控开关缓冲器的门控开关输入端通过一反相器相连。[0011]本发明还提出了一种基于可编程基本逻辑单元的数据移位电路,其包括:2n位移位寄存器、η输入查找表和配置信息存储块;
[0012]所述2η位移位寄存器包括串联的2η个移位寄存器单元,输入数据在该串联的2"个移位寄存器单元中逐位移动;
[0013]所述η输入查找表被配置成多路选择开关,其根据从配置信息存储模块输入的移位位数m选择输出第m个移位寄存器单元的输出数据;
[0014]所述配置信息存储模块,用于存储输入数据的移位位数m,其输出与η输入查找表的输出相连。
[0015]本发明还提出了一种由基于可编程基本逻辑单元的数据移位寄存器实现的数据移位方法,其中所述数据移位寄存器包括2"位移位寄存器、η输入查找表和配置信息存储块;该方法包括:
[0016]步骤1:在可编程基本逻辑单元的常规模式下,将η输入查找表配置成多路选择开关;
[0017]步骤2:输入数据串行输入到所述2η位移位寄存器的数据输入端,所述2η位移位寄存器包括串联的2η个移位寄存器单元,所述输入数据在时钟脉冲的作用下在所述串联的2"个移位寄存器单元中逐位移动;
[0018]步骤3:所述多路选择开关根据从配置信息存储模块输入的移位信息,选择第m个所述移位寄存器单元的输出数据,将其作为移位后的数据进行输出,其中所述移位信息为移位位数m。
[0019]本发明提出具有移位寄存器功能的BLE结构,该结构基于复用BLE内部的可配置CSRAM,同时只需要一个时钟信号即可以完成移位寄存器功能。
【专利附图】

【附图说明】
[0020]图1是可配置的静态存储器CSRAM的内部结构图;
[0021]图2是可配置的静态存储器CSRAM的外部逻辑示意图;
[0022]图3是本发明中带门控开关缓冲器的可配置的静态存储器CSRAM的逻辑示意图;
[0023]图4是本发明中移位寄存器单元的内部结构示意图;
[0024]图5是本发明中移位寄存器单元的外部逻辑示意图;
[0025]图6是本发明中基于可编程基本逻辑单元的移位寄存器的结构示意图。
【具体实施方式】
[0026]为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
[0027]FPGA芯片的可重复配置特性来源于器件内部众多的静态存储器CSRAM,这些CSRAM单元的内容决定了芯片所要实现的具体逻辑功能以及用到的输入、输出端口等,相当于对芯片进行了配置。在实现一个具体的电路时,首先需要确定CSRAM的内容,然后,FPGA才会按照用户设定的模式工作。FPGA中的CSRAM有多个用途,第一个用途是存储FPGA的逻辑功能块的配置信息,这些配置信息设定了逻辑功能块的工作模式及其所要完成的具体任务。第二个用途是存储与FPGA中的布线资源相关的配置信息,这些配置信息用来确定各个逻辑功能块之间的信号传输路径。CSRAM的第三个用途是存储与IO相关的配置信息,这些配置信息将用来确定芯片与片外信号之间的通信等。
[0028]本发明公开了一种基于可编程基本逻辑单元BLE的数据移位寄存电路,其包括:2n位移位寄存器、η个输入LUT、配置信息存储CSRAM块等;其中,η个输入LUT在可编程基本逻辑单元BLE的移位寄存器模式下被配置为MUX2nX I的多路选择开关功能。
[0029]所述2n位移位寄存器由多个基于可编程基本逻辑单元BLE中的可配置的静态存储器CSRAM构成。其中,可编程基本逻辑单元BLE通常的CSRAM的结构如图1所示,该CSRAM包括两个传输门M1、M2、两个反相器INV1、INV2、两个控制端csl、cs2和两个双向端口 iol、io2,其第一个双向端口 iol经第一个传输门Ml后与第一个反相器INVl的输入和第二个反相器INV2的输出相连,第一个反相器INVl的输出与第二个传输门M2相连,第二个双向端口 io2经第二个传输门M2与第一个反相器输出INVl和第二个反相器INV2的输入相连,第二个反相器INV2的输出与第一个传输门Ml相连;两个控制端csl、cs2分别控制传输门Ml、M2是否导通或关闭,当Ml和M2均导通时,iol和io2为逻辑反向关系。图2为该带四个端口的CSRAM的外部逻辑结构示意图,其中iol和io2均为双向端口,可配置为输入端或输出端;csl和cs2分别为iol和io2的控制端。所述可编程基本逻辑单元电路BLE在基本的工作模式即常规模式、运算模式和加/减计数模式或数据移位寄存模式下工作,不同的工作模式均需要通过对大量的上述CSRAM进行配置来实现。在数据移位寄存工作模式下,CSRAM的带控制端的传输门Ml、M2配置为导通状态,该导通状态由与该控制端相连接csl和cs2的外部CSRAM值决定,即所述配置信息存储CSRAM块中存储的配置信息决定。
[0030]本发明中所述2n位移位寄存器所使用的CSRAM,是在上述CSRAM结构的基础上,在输入端增加了一个带门控开关缓冲器BUF,带门控开关缓冲器BUF的输出端与所述CSRAM的iol相连,如图3所示。
[0031]图4为本发明中2"位移位寄存器所采用的移位寄存器单元的内部结构,采用图3中的两个带门控开关缓冲器BUF的CSRAM进行串联,时钟端elk与第一级BUFl的输入端enl直接连接并与第二级BUF2的en2通过一个反相器进行连接,前一级CSRAM的输出端OUT与后一级BUF2的输入端IN2相连;在时钟信号的控制下,数据将从第一级带门控开关缓冲器BUF的CSRAM的D端口即BUFl的输入端INl输入,第二级带门控开关缓冲器BUF的CSRAM的输出端口即CSRAM2的输出端口 io2为数据输出Q。图5为图4所描述的移位寄存器单元的外部逻辑结构示意图,其中D、elk端为均为输入端,Q端为输出端。
[0032]图6给出了本发明的移位长度可编程配置的移位寄存器的电路结构示意图,其中2n个移位寄存器单元均采用图5所示的电路结构。将2n个移位寄存器单元进行串连,具有η个输入端即An、An-l、An-2、...、A2、A1的LUT在BLE常规模式下被配置为MUX2nX I的多
路选择开关功能,2n位移位寄存器的输出即Q2n.....Q3、Q2、Ql与LUT相连接,通过LUT的
η输入端选择2η位移位寄存器输出中的一位作为该MUX的OUT输出,移位寄存器中的数据可以在时钟脉冲作用下依次逐位移动,数据以串行输入IN端、串行输出到OUT端,可以实现I位至2η位即可变长度的移位寄存器操作。移位长度根据由CSRAM块控制的η输入端An、An-1、An-2、...、A2、Al的二进制值确定,如表I所示,当FPGA芯片进入配置状态,外部配置信号对CSRAM块进行配置并确定η输入端值,实现移位长度的选择和数据输出。如表I所示,当An、An-l、An-2.....Α2、Α1配置为全O数值时,实现I位移位操作,选择Ql端作为OUT端输出;以此类推,该电路可通过配置实现I位至2n位即可变长度的移位寄存器操作。
[0033]表1LUT配置实现移位寄存器输出选择
【权利要求】
1.一种基于可编程基本逻辑单元的数据移位电路,其包括:多个串联的移位寄存器单元,所述移位寄存器单元由两级串联的带门控开关缓冲器的可编程基本逻辑单元中的静态存储器构成,其中所述移位寄存器单元的数据输入端为第一级静态存储器的门控开关缓冲器的输入端;所述移位寄存器单元的数据输出端为第二级静态存储器的输出,所述移位寄存器单元的时钟端与第一级静态存储器的门控开关缓冲器的门控开关输入端直接相连,并与第二级静态存储器的门控开关缓冲器的门控开关输入端通过一反相器相连。
2.如权利要求1所述的电路,其特征在于,所述数据移位电路还包括由可编程基本逻辑单元的LUT配置成的多路选择开关电路和配置信息存储电路;其中所述配置信息存储电路用于存储表示移位位数m的配置信息,所述多路选择开关电路根据所述移位配置信息选择输出第m个移位寄存器单元的输出数据。
3.如权利要求2所述的电路,其特征在于,所述构成移位寄存器单元的静态存储器包括两个传输门、两个反相器、两个控制端和两个双向端口,其第一个双向端口经第一个传输门后与第一个反相器的输入和第二个反相器的输出相连,第一个反相器的输出与第二个传输门相连,第二个双向端口经第二个传输门与第一个反向启动额输出和第二个反相器的输入相连,第二个反相器的输出与第一个传输门相连;两个控制端分别控制两个传输门是否导通,当两传输门均导通时,两双向端口为逻辑反向关系。
4.如权利要求3所述的电路,其特征在于,在所述可编程基本逻辑单元的数据移位寄存工作模式下,传输门Ml、M2被配置为导通状态。
5.如权利要求3所述的电路,其特征在于,所述带门控开关缓冲器的静态存储器还包括带门控开关缓冲器,所述带门控开关缓冲器的输出端与所述静态存储器的第一双向端口相连,所述静态存储器的第二双向端口与下一级开门控开关缓冲器的输入相连。
6.一种基于可编程基本逻辑单元的数据移位电路,其包括:2"位移位寄存器、η输入查找表和配置信息存储块; 所述2η位移位寄存器包括串联的2η个移位寄存器单元,输入数据在该串联的2η个移位寄存器单元中逐位移动; 所述η输入查找表被配置成多路选择开关,其根据从配置信息存储模块输入的移位位数m选择输出第m个移位寄存器单元的输出数据; 所述配置信息存储模块,用于存储输入数据的移位位数m,其输出与η输入查找表的输出相连。
7.如权利要求6所述的数据移位电路,其特征在于,所述移位寄存器单元由两级串联的带门控开关缓冲器的可编程基本逻辑单元中的静态存储器构成,其中所述移位寄存器单元的数据输入端为第一级静态存储器的门控开关缓冲器的输入端;所述移位寄存器单元的数据输出端为第二级静态存储器的输出,所述移位寄存器单元的时钟端与第一级静态存储器的门控开关缓冲器的门控开关输入端直接相连,并与第二级静态存储器的门控开关缓冲器的门控开关输入端通过一反相器相连。
8.如权利要求7所述的数据移位电路,其特征在于,所述构成移位寄存器单元的静态存储器包括两个传输门、两个反相器、两个控制端和两个双向端口,其第一个双向端口经第一个传输门后与第一个反相器的输入和第二个反相器的输出相连,第一个反相器的输出与第二个传输门相连,第二个双向端口经第二个传输门与第一个反向启动额输出和第二个反相器的输入相连,第二个反相器的输出与第一个传输门相连;两个控制端分别控制两个传输门是否导通,当两传输门均导通时,两双向端口为逻辑反向关系。
9.如权利要求6所述的数据移位电路,其特征在于,所述配置信息存储模块由可编程基本逻辑单元中的静态存储器构成。
10.一种由基于可编程基本逻辑单元的数据移位寄存器实现的数据移位方法,其中所述数据移位寄存器包括2n位移位寄存器、η输入查找表和配置信息存储块;该方法包括: 步骤1:在可编程基本逻辑单元的常规模式下,将η输入查找表配置成多路选择开关; 步骤2:输入数据串行输入到所述2η位移位寄存器的数据输入端,所述2η位移位寄存器包括串联的2η个移位寄存器单元,所述输入数据在时钟脉冲的作用下在所述串联的2"个移位寄存器单元中逐位移动; 步骤3:所述多路选择开关根据从配置信息存储模块输入的移位信息,选择第m个所述移位寄存器单 元的输出数据,将其作为移位后的数据进行输出,其中所述移位信息为移位位数m。
【文档编号】G11C19/00GK103632726SQ201310038530
【公开日】2014年3月12日 申请日期:2013年1月31日 优先权日:2013年1月31日
【发明者】魏金宝, 杨海钢 申请人:中国科学院电子学研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1