FPGA布线开关的电路设计
发布时间:2006-10-14 7:51:12   收集提供:gaoqian

郑泉智,杨银堂,高海霞

西安电子科技大学微电子研究所,西安 710071


  摘 要:在分析隔离岛式FPGA布线结构的基础上,设计了导通晶体管布线开关和三态缓冲布线开关。设计了级恢复电路,解决了导通晶体管开关引起的静态功耗问题。提出了基于扇入的三态缓冲开关bufm,避免了一般缓冲开关的扇出问题。最后,我们对各种布线开关的延时特性作了比较,提出了一些合理的建议。   

  关键词:现场可编程门阵列;布线开关;优化设计   

  现场可编程门阵列(FPGA)的用户可编程性和低开发成本使它成为实现现代电路和系统的一种重要技术。然而,由于布线开关的面积、电阻和电容都远大于金属导线,与掩膜编程门阵列(MPGA)相比,FPGA的逻辑密度和速度都非常低。FPGA的布线资源消耗了大部分芯片面积和电路延时[1],随着工艺水平进入深亚微米,总延时中布线延时的比例增加[2]。因此,设计快速、面积有效的布线开关,是提高FPGA的速度和密度的关键。   

  隔离岛式FPGA(这种结构已被广泛运用[3~5])的布线开关电路如图1所示,主要包括导通晶体管布线开关和三态缓冲布线开关。本文我们着手于布线开关的电路设计,研究各种布线开关延时和面积-延时性能及其存在的问题。针对存在的问题,提出了有效的解决办法。

  1 研究方法及其条件假定     

  本文我们用HSPICE工具仿真开关电路的延时特性。文中各种布线开关的延时结果是在TSMC-0.35 um工艺下的HSPICE仿真结果。所有的延时数据均在信号通过(Vdd-Vt)/2=1.35V下测得,最终延时结果为上升延时和下降延时的最大值。电路模拟过程中,我们假定所有布线导线在第三层金属上 按最小尺寸、最小间距进行布线。计算面积-延时积时,我们采用最小晶体管面积模型[6]计算各种布线开关的版图面积。另外,穿越一个逻辑块的导线段长度(1Tile长度)假设为300μm(Xlinx XC4000系列也是0.35μm工艺,1Tile长度=316μm[7])。



  2 导通晶体管布线开关设计

  2.1 导通晶体管布线开关尺寸优化   

  FPGA经常使用导通晶体管作为布线开关,它们需要的面积非常小,一个导通晶体管形成了一个双向开关,同时只需要一个SRAM控制位。对于短连接,使用导通晶体管开关非常快。但是,对于长连接,延时平方增加。加大导通晶体管减小了导通电阻,进而使得速度加快;但是如果太大,寄生电容增大,也浪费了面积。   

  信号通过导通晶体管开关连接的导线时,延时随串连导线段数目N的增加而平方增加,即Td=DdomN2[8]。式中Ddom为延时常数,定义为信号通过布线开关驱动1个逻辑块长度(1Tile长度)导线段的延时。减小延时常数可以提高基于导通晶体管的布线开关的速度。我们分别研究了不同尺寸导通晶体管驱动不同长度导线的延时特性。延时常数随开关晶体管尺寸变化情况如图2所示,随着开关尺寸的增加,延时常数迅速减小,当开关尺寸增大到一定程度后,延时常数不再减小,这是因为导通晶体管尺寸很大时,导线电阻超过了晶体管的导通电阻,进一步加大导通晶体管尺寸已经没有意义。图3是延时常数与开关面积的乘积随开关尺寸变化的情况(我们采用最小晶体管面积模型[1]估算布线开关的面积)。可以看出对于4,8或8-16Tile的导线段,16尺寸的导通晶体管开关具有较好的面积-延时积。

  2.2 导通晶体管存在的问题及其改进





  使用NMOS导通晶体管的一个缺点是当传送逻辑高时,后续电路中产生了漏电流。NMOS开关传送高电平时,其稳态输出电压近似为Vg-Vt,这里Vg是栅电压,Vt是阈值电压。产生了一个弱“1”,而不是强“1”,使得后续门中的NMOS管和PMOS管同时部分导通。产生了明显的漏电流和静态功耗。 0.35μm的情况如图4所示,通过一个NMOS导通晶体管后,3.3 V的输入降低到2.43 V,在后续缓冲器中产生了5.56μA的漏电流。当栅压加大到3.5 V时,输出电压从2.43 V升到2.6 V,漏电流降低到0.45μA。但是随着工艺尺寸进入深亚微米,栅氧化层越来越薄,加大栅压将出现器件可靠性问题。   

  图4(c)所示的级恢复电路[9]可代替大栅压技术,将弱“1”拉到强“1”。该电路包含一个倒比PMOS上拉管和一个灵敏倒相器,形成了正反馈电路。当存在弱“1”时,灵敏倒相器给上拉管施加一个低信号打开上拉PMOS,从而增强了弱“1”,直至弱“1”被拉为强“1”。然而,当级联数N较大时,级恢复电路妨碍了将电平拉到Vss,使得下降时间变得很大,甚至不能将高电平拉低。

  

  级恢复电路引起的下拉问题,可以通过避免上述情况的发生而加以解决。例如,让FPGA布线器在布局布线时限制布线开关的级联数目,或者从布线结构的设计上入手,避免此类情况的发生。使得在最坏情况下都可以将高电平拉低。

  3 三态缓冲布线开关的设计

  3.1 三态缓冲器尺寸优化   

  当需要长连接时,由于导通晶体管的延时平方增加,因此不适合使用导通晶体管。相反,三态缓冲布线开关的延时线性增长,适合于在大FPGA中使用。但是,缓冲开关对于短连接要比导通晶体管慢,而且比导通晶体管需要2~4倍更大的面积。   

  通常缓冲器通过级联多个倒相器构成,如图5所示,输入驱动第一个倒相器(输入级),驱动级产生最后输出,中间级尺寸按等比例因子增加。在驱动级后加一个NMOS导通晶体管形成三态缓冲器。我们研究发现,对于驱动级尺寸为B的缓冲器,在输入级宽长比Wp/Wn=

  2,驱动级宽长比Wp/Wn=1.5,比例因子为时,缓冲器延时最小。   

  为确定三态缓冲布线开关的最好尺寸,我们研究了信号通过三态缓冲开关并驱动不同长度导线段的延时特性。图6给出了延时随缓冲开关尺寸变化的情况,随着缓冲器尺寸增大,单位导线段延时迅速下降。当缓冲器尺寸大于4时,继续增大缓冲器尺寸,延时下降变缓。这是由于随着缓冲器尺寸的增大,缓冲器本身的寄生电容随之增大,缓冲器内部延时增加,部分抵消了总延时的下降。图7给出了缓冲器面积与单位长度延时积随缓冲器尺寸变化情况。从图中可以看出,6-8倍最小尺寸的缓冲器具 有最好的面积-延时性能。







  3.2 三态缓冲布线开关的缺点及其改进   

  图8(a)、(b)是基于上述三态缓冲器的两种三态缓冲布线开关:共用缓冲器布线开关buf[8]和不共用缓冲器布线开关bufns[10]。他们各有缺点,buf开关驱动的网络延时在有扇出时明显增大,bufns开关延时在有扇出没有明显增大,但需要更大的面积。基于多路选择器的开关bufm(图8(c))避免了扇出问题。bufm开关输入边为多路选择器树结构,在高扇  入条件下只需要少量的SRAMbit;与buf开关相比,bufm开关的不同之处在于缓冲器输出的大尺寸导通晶体管用缓冲器输入的小尺寸导通晶体管代替,因此,bufm开关也节约了面积。

  

  与buf和bufns开关不同,bufm开关输入边的NMOS导通晶体管在传逻辑“1”时有Vt的电压损失,由此引起的低电压摆幅需要输入级倒相器有较大的NMOS。我们研究发现,当输入级宽长比Wp/Wn=0.8-1时,bufm开关延时最小。而对于输出级,与buf和bufns一样,需要较大的上拉PMOS。   

  虽然bufm开关的输入边的多路选择器结构,增加了开关的内在延时(约6%)。bufm开关仍然优于前两种开关,图9是三种三态缓冲开关在不同扇出情况下的延时特性(模拟结果归一化为bufns扇出1)。从图中可以看出,在扇出为3时,bufns开关延时增加15%,buf则增加了63%,相比之下,bufm开 关在相似的扇出条件下,延时只增加6%。



  4 各种布线开关性能比较及其建议  

  为进一步比较各种布线开关的延时性能,我们 研究了上述4种布线开关在各自最优尺寸时驱动不同长度导线段的延时特性。从1到12改变导线段长度,整个过程中,保持它们有相似的负载(扇出均为1)。模拟结果如图10所示,对于短连接,导通晶体管速度最快,其它三种缓冲开关的延时几乎是它的两倍。随着驱动导线段数的增加,导通晶体管延时迅速增大。当导线段长度大于6时,导通晶体管延时超过bufm开关的延时,此后bufm开关延时最小。由于buf和bufns的扇出问题,只有在导线段数 大于8时,它们的延时才小于导通晶体管开关。

  

  考虑到导通晶体管开关同样存在扇出问题,我们建议:驱动小于4Tile长度的导线段,导通晶体管速度更快;驱动4-6Tile长度的导线段,导通晶体管和三态缓冲器的延时相近,考虑面积因素,导通晶体管开关仍有一定优势,但其扇出问题严重,建议使用bufm开关;当驱动大于6Tile长度的导线时,三态缓冲布线开关具有明显的优势,bufm开关优于另外两种开关。

  5 总 结     

  本文在研究FPGA布线结构的基础上,完成了布线开关的电路设计。在TSMC-0.35μm工艺下,HSPICE模拟结果表明:①8-16倍最小尺寸的导通晶体管开关和6-8倍最小尺寸的三态缓冲开关产生最小的面积-延时积。②在减小静态功耗上,级恢复技术是取代大栅压技术的有效方法。③基于扇入的三态缓冲器避免了基于扇出三态缓冲器的扇出问题,而且同样面积有效。④对于短连接,导通晶体管开关速度非常快,对于长连接,三态缓冲布线开关延时小于导通晶体管开关。⑤用bufm开关取代buf和bufns开关可以产生更小的延时和面积-延时积。

  参考文献

  [1] Brown S,Francis R,Rose J,Vranesic Z.Field-Programma-ble Gate Arrays[M].Kluwer Academic Publishers.1992.

  [2] Rose Jand Hill D.Architectural and Physical Design Chal-lengesfor One-Million Gate FPGAs and Beyond[C].ACMInt.Symp.on FPGAs,1997,129-132.

  [3] Xilinx Inc.XC4000Eand XC4000XSeries Field Programma-ble Gate Arrays.1999,14.

  [4] Lucent Technologies,DBFPGAData Book,1998.

  [5] Vantis Corporation.VF1 Field Programmable Gate Array[M].1998.

  [6] MUHAMMADIMRAN MASUD.FPGA ROUTING STRUC-TURES:A NOVELSWITCH BLOCK AND DEPOPULATEDINTERCONNECT MATRIX ARCHITECTURES[D].MasterThesis,The University of British Columbia,December,1999.

  [7] Xlinx XC4000 databook(DB).

  [8] Betz Vand RoseJ.Circuit design,transistorsizing,and wirelayoutof FPGAinterconnect[C].In:CustomIntegrated Cir-cuits Conference.1995,5:171-174.

  [9] Rabaey J.数字集成电路设计透视,清华大学出版社.217-220.1998.

  [10] Betz Vand Rose J.FPGARouting Architecture:Segmenta-tion and Buffering to Optimize Speed and Density[R].FP-GA99.

  
摘自《电子器件》
 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50