一种支持时分交换的fpga互连结构的制作方法

文档序号:7522154阅读:228来源:国知局
专利名称:一种支持时分交换的fpga互连结构的制作方法
技术领域
本发明属于FPGA技术领域,具体涉及支持时分交换的FPGA互连结构。
背景技术
FPGA (Field Programmable Gate Array)即现场可编程门阵列,它是在 PAL,GAL, EPLD等可编程器件的基础上进一步发展的产物,它的出现既解决了定制电路的不足,又克服了原有可编程电路编程点有限的缺点。目前FPGA已经与ASIC和ASSP —起被列为三大核心芯片。自1985年Xilinx公司推出首个现场可编程门阵列FPGA芯片至今,FPGA已经历了 20多年的发展历程。凭借工艺技术的不断进步和解决方案的锐意创新,FPGA在逻辑密度、性能、功耗、成本等方面的突破使其应用领域日益拓展。其独特的可重构计算技术不仅能够降低数字系统的开发风险与开发成本、缩短上市时间,而且通过动态编程、远程在线重构等技术可以有效地降低系统的维护升级成本,因此FPGA在通讯、多媒体、工业控制、数值计算等领域得到了广泛的应用。综合所有这些因素,FPGA已经变得越来越重要。FPGA由CLB (configurable logic block,可编程逻辑块)和可编程互连组成,可编程互连主要由CB(connection box,连接盒)和SB (switch box,开关盒)组成,如图1 所示,可编程逻辑块通过可编程互连相连。在大规模FPGA芯片中,互连资源占芯片面积的 70%以上,同时互连延时也占整体延时的70%以上,因此互连资源的性能很大程度上决定了 FPGA器件的性能。传统互连资源结构的特点是通过空间上的大量冗余来满足实现各种逻辑电路需要的灵活性,比如开关矩阵中包含大量实现空间交换的互连开关[1] [2],而每次每个应用实例只用到其中很少一部分。现代商业FPGA中,即使一个复杂设计使用了 99%的逻辑资源, 其所使用的互连资源很可能不超过全部互连资源的5%。随着FPGA的规模变得越来越大,复杂度也越来越大,对FPGA的逻辑密度和速度要求也越来越高,同时每个互连通道的互连线数量也越来越大,传统的互连资源已经成为了速度、密度提升的瓶颈。国内外的研究者为了提高FPGA互连资源的性能做了大量研究[1]6 - pl94,分别在互连资源拓扑结构[3广W]、使用单方向驱动器[5]、开关矩阵拓扑结构W]、电路级改进[7]等方面做了很多努力。然而这些改进都是在空间结构上的改进,FPGA经过20多年的发展,从几家大FPGA厂商的主流产品结构趋于类同的特点,可以看出要在空间结构方面的在传统结构下做出突破性改进已经越来越困难了。FPGA实现的逻辑电路性能往往比ASIC实现慢几倍,是因为FPGA复杂的互连结构带来了大量延时,文献[纩9]提出了一些流水线互连资源结构,其目的在于通过流水线技术减少互连延时,加快速度,其代价是在互连资源中加入了寄存器,增加了芯片面积和功耗。同时,采用流水线互连后,会增加局部电路的时钟延时,为了保证全局功能正确性,需要在其他路径上增加相应时钟延时单元,这个过程被称为重定时(retiming),这个过程的代价是增加了电路输入输出的时钟延时。一般FPGA在使用是时钟频率都比较低,通常很少系统时钟会超过200MHz,在流水线结构的基础上,文献[l(Tll]提出了一种时分复用(TDM: Time-Division Multiplexed) 互连结构,但是,文献[11]中的结构需要一个高速的全局时钟信号,这个时钟速度与复用比例成正比,这个时钟会带来巨大功耗,同时时钟的速度的提升限制了每级流水线的延时, 使得长距离传输信号需要多级流水线,会导致流水线级数过多,进而使得重定时模块设计困难,在实际电路中难以实现。时分复用的思想在减少互连资源方面具有很大潜力,然而文献[l(Tll]等出发点主要仅仅考虑在全局互连的时分复用电路级实现,以上文献没有涉及具体的局部互连结构设计,引入时分复用后减少了全局互连连接性将会大大增加局部互连资源设计难度等问题。当前,商业上FPGA市场基本被XILINX和ALTERA垄断,尚未有国产FPGA产品出现。 我国每年国进口 FPGA要花40亿以上人民币。FPGA两家巨头凭借大量核心专利,占领国际市场,若没有根本性创新产品面市,外来者将很难进入该领域。目前,国内FPGA研究主要集中在传统结构上。本发明提出一种全新的FPGA互连资源结构就是为了突破国外的专利封锁,若该研究能够在国产FPGA芯片应用,将能够为FPGA 器件的国产化带来很大的社会效益和经济效益。参考文献Ian Kuon, Russell Tessier, and Jonathan Rose, “ FPGA Architecture: Survey and Challenges,,, Now Publishers Inc, 2008J. Rose and S. Brown, "Flexibility of interconnection structures for field programmable gate arrays, ” IEEE Journal of Solid-State Circuits, vol. 26, no. 3,pp. 277 - 282,March 1991.Li-Guang Chen, Jin-Mei Lai, Jia-Rong Tong "An AND-LUT Based Hybrid FPGA Architecture” 半导体学报,P19, VOL. 28, NO. 3, Mar 2007Fang ffu, Huowen Zhang, JinMei Lai*, Yuan Wang, Liguang Chen, Lei Duan, Jiarong Tong "Design and Implementation of a Delay-Optimized Universal Programmable Routing Circuit for FPGA" ASPDAC2009G. Lemieux, E. Lee, M. Tom, and A. Yu, "Directional and single-driver wires in FPGA interconnect, ,, in Proceedings: International Conference on Field-Programmable Technology, pp. 41 - 48, December 2004.G. Lemieux and D. Lewis, “Analytical framework for switch block design, ” in Proceedings: International Symposium on Field Programmable Logic and Applications, pp. 122 - 131, September 2002.M. Hutton, S. Shumarayev, V. Chan, P. Kazarian, V. Maruri, T. Ngai, J. Park, R. Patel, B. Pedersen, and J. Schleicher, “Interconnect enhancements for a high-speed PLD architecture,,,in Proceedings: ACM/SIGDA International Symposium on Field-programmable Gate Arrays, pp. 3 - 10, February 2002.D. Singh and S. Brown, “The case for registered routing switchesin field programmable gate arrays,,,in Proceedings: ACM/SIGDA International Symposium on Field—Programmable Gate Arrays, pp. 161 - 169, February 2001.Nicholas Croyle Weaver , "A Fixed Frequency FPGA Architecture,, , PHD thesis, Dept. of Computer Science, University of California at Berkeley, 2003.N. Weaver, J. Hauser, and J. ffawrzynek, “The SFRA: A corner-turn FPGA architecture,,,in Proceedings: ACM/SIGDA International Symposium on Field—Programmable Gate Arrays, pp. 3 - 12, February 2004.Rosemary Francis, Simon Moore, Robert Mul1 ins, "A Network of Time-Division Multiplexed Wiring for FPGAs,, Second ACM/IEEE International Symposium on Networks-on-Chip, Pages 35—44 , 2008。

发明内容
本发明的目的在于提供一种支持时分交换的FPGA (Time Division Exchange-FPGA,以下简称TDE-FPGA)互连结构。本发明提出的支持时分交换的FPGA互连结构,其电路结构如图10所示,即在传统 FPGA结构的互连电路中添加SER (Serializer,串化器)、DES (Deserializer,解串器)、TDM (Time Division Multiplex,时分复用单元)、TSE (Time Slot Exchange,时隙交换单元)等关键电路,以支持提出的TDE-FPGA结构。具体来说,是在传统CB结构的互连线段中加入串化器,将并行的互连线转为串行;并通过在SB的输入端,加入若干个时分交换单元,用支持时分交换的SB结构(TDE-SB)代替原来的传统SB结构,如图9所示。本发明是在流水线结构、时分复用、源同步互连的基础上,提出一种支持时分交换的新型FPGA互连结构,并对源同步、时分交换互连电路等关键电路进行设计,包括串行器 (SER)、解串器(DES)、时分复用电路(TDM)以及时隙交换电路(TSE)等。本发明采用时分交换代替开关矩阵中的空间交换,以减少互连资源占用芯片的面积,解决传统空间交换互连资源的可扩展性问题。将并行互连信号转换为串行信号,其本质上是一种流水线结构。时分交换FPGA互连结构采用源同步数据传输方式,即时钟信号一直伴随着数据信号传输,时钟通过一根独立的互连线进行传输。取消了高速全局时钟,通过在串化器SER中同时获得数据和时钟,采用异步模式同时传输数据和时钟信号,降低设计复杂性的同时可以获得较好的可靠性,也解决了高速时钟偏差引起信号稳定性的问题。本发明在时分交换中使用双口 RAM作为数据缓存。图2是传统FPGA互连结构中开关矩阵所使用的空间交换结构。图2表示一个4X4 的交叉矩阵,图中每个水平线段和垂直线段的交点处都有一个带编程点的控制开关,该编程点值为1时开关打开,为O时开关关闭。用户可以通过控制编程点的取值实现FPGA互连资源的可编程特性。传统FPGA空间交换互连结构是通过空间上的大量冗余来满足各种电路连接所需的灵活性,开关矩阵中包含大量实现空间交换的互连开关。而现代商业FPGA的应用中,即使一个复杂的设计使用了 99%的逻辑资源,其所使用的互连资源很可能不会超过全部互连资源的10%。从而造成了大量互连资源的浪费。图3表示一个最简单的时分交换原理,它由双口 RAM构成,工作原理类似于通信系统中使用的T型接线器,完成一条复用线上各时隙间信息的交换,其工作模式为“顺序写入,控制读出”。串行输入数据顺序存入存储器,再由编程点控制按另一顺序读出,实现串行数据在时间上的交换,打破了传统FPGA互连资源中的空间交换结构。图4就是图5中时分交换互连电路的时序示意图。图2中的空间交换和图3中的时分交换在逻辑上是等价的,均实现了互连线段1 和2、2和4、3和3、4和1的连接。不同的是空间交换适合并行信号,时分交换适合串行信号,而且时分交换不仅可以实现互连线段1和2、2和4、3和3、4和1的连接,还可以通过控制RAM,从而控制输出顺序,使得串行的1、2、3、4可以按任意顺序输出,实现任意的连接。简单来说,时分交换可以实现一个如图5所示的全连通开关矩阵,在减少互连资源的前提下可以大大增加互连的连接性。串行的时分复用互连结构非常适合用来做时分交换。时分交换FPGA互连结构可以减少互连资源面积,提高FPGA的逻辑密度。如果有NXN个信号需要进行交换,空间交换的资源复杂度为N2,而时分交换的资源复杂度为 NX Iog2N,除去时分交换需要的固定硬件开销,在N比较大的情况下,时分交换比起空间交换在面积上具有明显优势。另外,采用时分交换后,在不增加互连线段的前提下大大增加了互连资源的连接性,能够解决仅使用时分复用结构中局部互连资源设计的难题,解决普通时分复用互连的连接性不足问题。由于每个时分交换信号在解复用时都需要进行锁存,因此时分交换结构本质上是一种流水线结构,流水线结构相比传统FPGA结构可以成倍提高性能,甚至可以实现高速固定频率FPGA。同时,支持时分交换的FPGA结构(TDE-FPGA)采用源同步传输互连结构,如图6,时钟信号一直伴随着数据信号传输,时钟通过一根独立的互连线进行传输。其主要思想是在每个CLB的输出信号上设计一个可控振荡器,如图7所示,该振荡器在用户时钟边沿开始工作,生成一个高速时钟,将该时钟和串行信号同时传递给接收端。通过异步模式同时传递时钟和串行信号,取消了全局高速时钟,解决了高速时钟偏差引起信号稳定性的问题,大大降低了功耗,同时异步传输模式在时序上降低了对芯片整体同步的要求,降低了设计复杂性, 可以获得较好的可靠性。为开发新型高逻辑密度、高性能、低功耗FPGA打下基础。


图1FPGA结构图。
图2空间交换原理。
图3时分交换原理。
图4时分交换时序图。
图5时分交换实现的全连通开关矩阵。
图6源同步原理示意图。
图7源同步结构图。
图8传统FPGA互连结构。
图9TDE-SB示意图。
图 10 TDE-FPGA 结构。
图11带时钟生成的串化器。
图12解串器电路结构图。
图 13edge-to-pulse 电路。图 148Bits TDM(Time Division Multiplex)。图 I58Bits TDM 举例。图16TDM的等效示意图。图17TDM电路图。图 188Bits TSE(Time Slot Exchange)。图19TSE工作原理。图20等价的空间交换开关矩阵。图21TSE电路设计。图 22TDE-FPGA 示意图。图23TDM和TSE相结合。
具体实施例方式下面结合附图和具体实施方式
对本发明的方案做进一步描述。为了使传统FPGA结构支持时分交换,需对现有的传统FPGA结构做几个重大改 变
传统的FPGA互连资源由CB和SB组成,其中水平与竖直布线通道通过开关盒SB连接, CLB的输入输出与各布线通道通过连接盒CB连接。传统FPGA结构中的CB和SB均采用空 间交换结构,控制开关均由传输管或者传输管组成的MUX (多路选择器)构成,如图8所示。本发明将FPGA中的互连并行信号转换为串行信号,可以减少FPGA中互连资源的 数量和面积,若四倍复用,则可以减少3/4的互连线数量。但是如果只是简单地将并行信号 转换为串行信号,互连资源的减少(如果4倍复用,互连线只剩下1/4)大大减少了开关矩阵 的规模和互连资源的连接性,这种情况下会导致布通率下降,严重的话导致根本无法布线。 本发明应用时分交换互连结构,不仅可以将互连并行信号转换为串行信号,减少互连资源 的数量和面积,还可以提高布线的连通度和布通率。本发明在传统CB结构的互连线段中加入串化器,将并行的互连线转为串行;并通 过在SB的输入端,加入若干个时分交换单元,用支持时分交换的SB结构(TDE-SB)代替原 来的传统SB结构,如图9所示。支持时分交换的源同步流水线新型FPGA互连的电路结构如图10所示,具体是在 传统FPGA结构的互连电路中添加SERGerializer,串化器)、DES(Deserializer,解串器)、 TDM (Time Division Multiplex,时分复用单元)、TSE (Time Slot Exchange,时隙交换单 元)等关键电路,以支持提出的TDE-FPGA结构。以下重点阐述关键电路的原理及电路设计。1. SER的原理及电路设计
SER (Serializes串化器)是将并行的互连信号转换为串行信号,并在产生数据的同时 产生时钟,是带时钟生成的SER,从而实现源同步数据传输。串化器电路是TDE-FPGA的重要 组成部分,设计其电路时应在实现所需功能的基础上使SER的结构越简单越好,面积越小 越好。SER是基于移位寄存器,并在其电路结构的基础上做出一些改动和调整。图11是串 化器的电路结构图,图中的串行数据宽度M=4,输入为并行信号D0、DU D2、D3,输出为串 行的D0D1D2D3数据信号以及和数据信号并排传输的时钟信号Clkout。通过对图8中电路图进行简单的调整,可以实现不同的串行数据宽度。图11串化器中的时钟发生器(clock generator)是一个由使能信号控制的环形振荡器,产生M个连续的时钟脉冲。Go信号用来确定数据是否已经准备好,是否开始进行并串转换。每个并行输入信号通过M位的MUX连接到数据线上,而M位的MUX由clkO、clkl、 clk2、clk3控制。每个时钟脉冲到来时,一个数据位被传送至输出端,紧接着传送下一个数据位。同时,时钟边沿也通过信道和数据位一起进行传输。图11设计的SER有别于一般的并行移位寄存器,并行的数据位一旦到达,就被移位出去至接收端,不需要等到整个字里所有的数据位到达,其目的在于允许较早到达的数据位可以在较晚数据位到达之前就提前准备好,可以更早开始传输数据,而不是等待所有的数据位都准备好才开始进行传输,这样可以减少SER的潜在时间损耗。图11中最下排的 5个触发器,除了最左边的触发器,其余的4个触发器都被初始化为“O”的状态;时钟到来时,最左边触发器的输出被依次传送至下一个触发器。2. DES的原理及电路设计
解串器将串行数据转为并行数据,将来自不同线路的数据无缝的分配到并行的信道上。图12是DES (Deserializer,解串器)的电路结构图,图中数据宽度M=4的串行数据通过时钟信号采样进入4位串行的D触发器,直到4位串行数据全部得到采样后,此时一个 4位的并行数据被锁存至D触发器中。通过调整电路可以实现不同数据宽度的解串器。由于每一个时钟边沿都伴随着数据产生,DES需要一个edge-to-pulse电路,如图 13,理想情况下,数据和时钟边沿同时到达,edge-to-pulse转换器和触发器的等待时间提供了一定的裕度。如果需要更多的裕度,接收端可以调整为时钟边沿在数据中间值产生的时间点到达。和SER类似,DES可以尽快发送数据,一旦第一个数据位准备好,DES尽可能早地将数据传送给下游的逻辑单元进行运算。Edge-to-pulse 转换器是一个自复位异或门(Self-resetting XOR gate)。三个反相器的延迟决定了下拉电路的持续时间;自复位回路(Self-reset loop)的延迟决定了输出脉冲的宽度;保持器(Ke^er)用来保证没有时钟沿到达时,内部结点一直保持高电平。其中反相器上标识的1χ、2χ3χ分别表示1倍驱动能力反相器、2倍驱动能力反相器、4 倍驱动能力反相器;晶体管上标识的4χ表示晶体管的宽长比W/L=4,0. 5x表示晶体管的宽长比 W/L=0. 5。3. TDM的原理及电路设计
TDM(Time division multiplex,时分复用单元)通过对RAM进行编程实现多路串行信号的时分复用。来自互连通道的串行信号和来自逻辑单元的输出串行信号进入SB中,如图 14所示,所有的串行信号进入SB中,通过SB的转换,在SB的输出端加入时分复用单元。以下介绍TDM的工作原理,如图15所示,图中的数据复用度M=8,共有8路串行信号 A0A1A2A3A4A5A6A7、B0B1B2B3B4B5B6B7、C0C1C2C3C4C5C6C7、D0D1D2D3D4D5D6D7, E0E1E2E3E4E5E6E7、F0F1F2F3F4F5F6F7、G0G1G2G3G4G5G6G7、H0H1H2H3H4H5H6H7 进入 TDM 中,通过对3 X 8b i ts的RAM进行编程来控制第一个时隙的输出为AO、BO、CO、DO、EO、FO、GO、 HO中的任意一个时隙;控制第二个时隙的输出为Al、Bi、Cl、Dl、El、Fl、Gl、Hl中的任意一个时隙;控制第三个时隙的输出为A2、B2、C2、D2、E2、F2、G2、H2中的任意一个时隙;控制第四个时隙的输出为A3、B3、C3、D3、E3、F3、G3、H3中的任意一个时隙;控制第五个时隙的输出为A4、B4、C4、D4、E4、F4、G4、H4中的任意一个时隙;控制第六个时隙的输出为A5、B5、C5、 D5、E5、F5、G5、H5中的任意一个时隙;控制第七个时隙的输出为A6、B6、C6、D6、E6、F6、G6、 H6中的任意一个时隙;控制第八个时隙的输出为A7、B7、C7、D7、E7、F7、G7、H7中的任意一个时隙。举例说明,如图15中的复用度为8的八位时分复用单元,其输入为8路串行信号 A、B、C、D、E、F、G、H,可以通过时分复用单元中的RAM选择第一个时隙的输出为EO ;第二个时隙的输出为Bl ;第三个时隙的输出为G2 ;第四个时隙的输出为A3 ;第五个时隙的输出为 D4 ;第六个时隙的输出为C5 ;第七个时隙的输出为H6 ;第八个时隙的输出为F7,即经过TDM 单元的输出串行信号为E0B1G2A3D4C5H6F7。其工作原理类似于图13的八个八选一 MUX的组合,通过对每个MUX编程点的选值,分别控制每个MUX的输出。图16和图15中的时分复用功能一致,但是只能实现复用,不能完成时隙之间的交换。TDM单元的具体电路设计如图17所示,3X8bits的RAM由3个八位的移位寄存器(shifts)组成,TDM主要由3个八位移位寄存器,若干个NMOS晶体管和反相器组成,其中移位寄存器Siift 8的结构应该越简单越好,以达到减少面积的目的。4. TSE的原理及电路设计
TSE (Time Slot Exchange,时隙交换单元)实现串行信号的时隙交换,串行数据顺序存入存储单元,每个时隙的读出顺序由双口 RAM控制,其工作原理类似于T型接线器的“顺序写入,控制读出”工作模式。通过对双口 RAM进行编程,控制时隙以任意顺序输出。TSE的电路结构本质上是TDM单元加上一个DES单元,如图18所示。以下介绍TSE的工作原理,如图19所示,图中的串行信号A0A1A2A3A4A5A6A7经过 TSE单元完成时隙交换后,其输出为A2A3A7A0A5A1A4A6。其等价的空间交换开关矩阵如图 20所示,阵列大小为8X8,实现了互连线段0和2、1和3、2和7、3和0、4和5、5和1、6和 4、7和6的连接。当然,通过对RAM的编程点控制,可以使A0A1A2A3A4A5A6A7以任意时隙顺序输出,完成任意地连接。相当于实现一个全连通开关矩阵。在时分复用的基础上进行时隙交换,可大大增加互连的连接性。TSE单元的具体电路设计如图21所示,主要由TDM和一个DES组成,DES的结构应越简单越好,以达到减少面积的目的。将TDM单元和TSE单元结合起来同时应用于SB中,如图22,可以控制其任意时刻的输出时隙为任意时隙,甚至输出可以一直是同一个时隙,例如输出时隙全部为AO。图 23是在八位串行信号进行时分复用的基础上,再结合上面所提及的时隙交换,最后的输出为G2A3F7E0C5B1D4H6。通过TDM和TSE的功能结合,不仅实现了时分复用,而且在时分复用的基础上实现了时隙交换,相当于一个全连通矩阵的连接关系,实现了本发明提出的 TDE-FPGA 结构。
权利要求
1.一种支持时分交换的FPGA互连结构,其特征在于在传统FPGA结构的互连电路中添加串化器(SER)、解串器(DES)、时分复用单元(TDM)、时隙交换单元(TSE),以支持 TDE-FPGA结构;即在传统CB结构的互连线段中加入串化器,将并行的互连线转为串行;并通过在SB的输入端加入若干个时分交换单元,用支持时分交换的SB结构代替原来的传统 SB结构。
2.根据权利要求1所述的支持时分交换的FPGA互连结构,其特征在于所述的串化器 (SER)中,串行数据宽度M=4,输入为并行信号D0、D1、D2、D3,输出为串行的D0D1D2D3数据信号以及和数据信号并排传输的时钟信号Clkout。
3.根据权利要求2所述的支持时分交换的FPGA互连结构,其特征在于所述的解串器 (DES)中,数据宽度M=4的串行数据通过时钟信号采样进入4位串行的D触发器,直到4位串行数据全部得到采样后,此时一个4位的并行数据被锁存至D触发器中;解串器(DES) 中还包括一个edge-to-pulse转换器,该Edge-to-pulse转换器是一个自复位异或门;三个反相器的延迟决定了下拉电路的持续时间;自复位回路的延迟决定了输出脉冲的宽度; 保持器用来保证没有时钟沿到达时,内部结点一直保持高电平。
4.根据权利要求3所述的支持时分交换的FPGA互连结构,其特征在于所述的时分复用单元(TDM),由3个八位移位寄存器、若干个NMOS晶体管和反相器组成。
全文摘要
本发明属于FPGA技术领域,具体涉及一种支持时分交换的FPGA互连结构。本发明在流水线结构、时分复用、源同步互连的基础上,结合通信系统中常用的时隙交换原理,提出一种新型的FPGA互连资源结构,用时分交换代替原来的传统空间交换互连结构,该结构在时分复用互连资源中的开关矩阵上加入部分时隙交换,可以大大简化开关矩阵、输入输出选择器的设计。这种新型FPGA互连结构可以减少互连资源面积,提高FPGA逻辑密度,具有高性能,降低设计复杂性、提高可靠性和低功耗特点。
文档编号H03M9/00GK102340315SQ201110241339
公开日2012年2月1日 申请日期2011年8月22日 优先权日2011年8月22日
发明者余慧, 陈利光, 陈更生 申请人:复旦大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1