基于Multi-Vt技术的低功耗FPGA及配套的EDA设计方法

文档序号:6438409阅读:460来源:国知局
专利名称:基于Multi-Vt技术的低功耗FPGA及配套的EDA设计方法
技术领域
本发明涉及现场可编程门阵列(FPGA)及其配套电子设计自动化(EDA)设计技术领域,特别涉及一种基于mult1-Vt技术的低功耗FPGA及配套的EDA设计方法。
背景技术
现场可编程门阵列(FPGA, Field Programmable Gate Array)内部主要由输入输出单元(IOB, Input/Output Block),逻辑单元块(LB, Logic Block)阵列,配置单元和布线资源组成。配置单元用于配置逻辑单元块的逻辑功能和控制布线资源之间的连接关系。根据需要对配置单元进行相应的配置即可以实现不同的电路功能。FPGA具有的用户可编程性和低开发成本等特性使它成为现代数字电路和系统中的核心技术,随着集成电路工艺技术的不断进步,现场可编程门阵列(FPGA)与专用集成电路(ASIC, Application Specific Integrated Circuit)的性能差距正在逐步缩小,再加上FPGA开发周期短,研发成本低,应用灵活等天然优势,使得FPGA开始在很多领域渐渐取代ASIC0与此同时,随着集成电路工艺进入深亚微米阶段,晶体管漏电流带来的静态功耗已经成为总功耗的主要组成部分之一。为了抑制漏电流带来的静态功耗,mult1-Vt技术应运而生。mult1-Vt技术的理念在于仅在电路的关键路径上采用低阈值的高性能晶体管,以此保证电路的性能,而在其余占电路绝大多数面积的非关键路径上采用高阈值的低功耗晶体管,从而在基本不影响电路性能的基础上很大程度上降低了电路的功耗。目前,mult1-Vt技术还主要用于ASIC方面,将mult1-Vt技术引入FPGA领域将对FPGA向高性能低功耗方向迈进具有重大意义,这将进一步拓展FPGA在低功耗领域的应用。然而相比于ASIC,在FPGA中引入mult1-Vt技术需要克服更多的障碍,由于FPGA内部的逻辑和布线资源有限,且位置是相对固定的,因此mult1-Vt在FPGA中的应用必须得到配套EDA 设计方法的支持,在综合(Synthesis)Jj^Jt (Mapping)、布局布线(Place and Route)各个步骤都需要EDA设计方法做出相应的配合措施。所以将mult1-Vt技术引入到FPGA的过程中必须从FPGA硬件结构和配套的EDA设计方法两方面共同出发。本发明提出一种基于mult1-Vt技术的低功耗FPGA及配套EDA设计方法,以促进mult1-Vt技术在FPGA领域的引入。

发明内容
(一 )要解决的技术问题为了在基本不影响性能的前提下,降低FPGA中晶体管漏电流带来的不可忽视的静态功耗,以推广FPGA技术在低功耗领域的应用, 本发明提出了一种基于mult1-Vt技术的低功耗FPGA及配套EDA设计方法。( 二 )技术方案本发明的技术方案包括一种基于mult1-Vt技术的低功耗FPGA和一种与所述FPGA相配套的EDA设计方法。基于mult1-vt技术的低功耗FPGA以现有的岛形结构为总体结构,基本逻辑单元(BLE)基于查找表(LUT)结构,可编程逻辑及布线开关的配置基于SRAM单元,其特征在于:编程电路采用高阈值低功耗晶体管实现;可编逻辑及布线开关的配置基于SRAM单元,且所有配置单元也均采用高阈值低功耗晶体管实现;各逻辑单元块按照一定的布局和比例,分别采用不同阈值的晶体管实现;各输入输出单元也按照一定的布局和比例,分别采用不同阈值的晶体管实现;该FPGA还包括FPGA架构文件,不同阈值的各逻辑单元块和各输入输出单元的布局和比例信息保存在FPGA架构文件中。可选的,其中用于实现逻辑单元块的晶体管包括低阈值高性能晶体管和高阈值低功耗晶体管。可选的,其中低阈值高性能的逻辑单元块布局方式是分区式、分布式、或者分区式与分布式兼而有之。可选的,其中用于实现输入输出单元的晶体管包括低阈值高性能晶体管和高阈值低功耗晶体管。可选的,其中低阈值高性能的输入输出单兀的布局方式是分区式、分布式、或者分区式与分布式兼而有之。所述的与FPGA相配套的EDA设计方法包含如下步骤:1.综合步骤,包括:读取所述FPGA的FPGA架构文件,根据FPGA的硬件结构进行工艺映射,得到基本逻辑单元级的电路网表,对工艺映射后的网表进行时序分析,识别出关键路径,并在关键路径上各个基本逻辑单元的属性中注明该单元的关键度;I1.映射步骤,包括:优先将关键路径上的基本逻辑单元打包进逻辑单元块或输入输出单元,接下来以常规方式将非关键路径上的基本逻辑单元打包进逻辑单元块或输入输出单元,通过时序分析在逻辑单元块和输入输出单元的属性中注明该逻辑单元块或输入输出单元是否为关键逻辑单元块或关键输入输出单元,根据不同阈值逻辑单元块和输入输出单元的时序模型进行循环时序分析,以最少的低阈值高性能逻辑单元块和输入输出单元完成设计;II1.布局布线步骤:以逻辑单元块或输入输出单元是否为关键逻辑单元块或关键输入输出单元为约束条件进行布局,然后进行常规布线并以常规方式产生码流文件,下载至FPGA中。可选的,在综合步骤中对工艺映射后的网表进行时序分析,设定关键路径上基本逻辑单元的属性criticality > O,设定非关键路径上基本逻辑单元的属性criticality =O0可选的,其中用于实现逻辑单元块或输入输出单元的晶体管包括低阈值高性能晶体管和高阈值低功耗晶体管,在进行循环时序分析时,循环过程逐次将低阈值高性能晶体管实现的逻辑单元块或输入输出单元替换进电路的关键路径。可选的,布局布线步骤中,读取FPGA架构文件中的信息,在常规布局的基础上添加如下的约束条件:属性critical = true的逻辑单元块只允许布局在FPGA低阈值高性能逻辑单元块的位置上,属性critical = false的逻辑单元块只允许布局在FPGA高阈值低功耗逻辑单元块的位置上。
可选的,布局布线步骤中,读取FPGA架构文件中的信息,在常规布局的基础上添加如下的约束条件:属性critical = true的输入输出单元只允许布局在FPGA低阈值高性输入输出单元的位置上;属性critical = false的输入输出单元只允许布局在FPGA高阈值低功耗输入输出单元的位置上。(三)有益效果从上述的技术方案可以看出,本发明的有益效果在于:通过在传统的FPGA架构中引入mult1-Vt技术,结合配套的EDA设计方法,可以在基本不影响电路性能的基础上大大降低电路的静态功耗,从而降低电路的整体功耗。本发明提及的FPGA硬件结构改进方案理论依据清晰,在原有FPGA设计方案的基础上无需较大改动,对于控制FPGA研发成本具有重要意义,具有现实可行性。在硬件结构设计方案的基础上,通过对配套的EDA设计方法各个流程添加相应的约束条件即可完成高性能低功耗电路的设计,软件代码改动小,特别在布局步骤中因约束条件的加入将得到缩短布局时间消耗的有益效果。


图1是基于mult1-Vt技术的低功耗FPGA结构示意图;图2是与mult1-Vt技术FPGA相配套的EDA设计方法流程;图3是综合步骤中时序分析识别出关键路径的基本逻辑单元级网表;图4是映射步骤后得到的标注了 critical属性的逻辑单元块级网表;图5是布局布线步骤完成后的最终电路设计示意图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。FPGA硬件结构方面的具体实施方式
如下:FPGA以现有的岛形结构为总体结构,基本逻辑单元(BLE)基于查找表(LUT)结构,可编程逻辑及布线开关的配置基于SRAM单元。鉴于在绝大多数应用环境下,用户对于FPGA的编程过程并不关心,对编程的速度也没有过高的要求,因此本发明的FPGA的编程电路采用高阈值低功耗晶体管实现。FPGA中配置单元的作用在于配置基本逻辑单元(BLE)的逻辑功能和控制布线开关的状态,FPGA —经配置后配置单元的状态保持不变,而配置单元本身并不属于功能电路,对设计电路的性能没有影响。FPGA中配置单元的面积比例高达约1/3,为了能有效的控制配置单元带来的这部分不可忽视的静态功耗,FPGA的所有配置单元均采用功耗尽可能低的高阈值晶体管实现。采用本发明的特点在于不影响电路性能的前提下,可以大大降低配置单元带来的静态功耗。FPGA的逻辑单元块(LB)是静态功耗的最主要来源,对此FPGA内部以逻辑单元块为单位,按照一定的布局和比例分别采用不同阈值的晶体管来实现。理论上关键路径的面积平均仅占整个电路面积的约20%,因此FPGA内部只需要较少比例的低阈值高性能逻辑单元块即可满足电路对性能上的要求,其余部分则采用高阈值低功耗逻辑单元块以便控制电路的静态功耗。如图1所示,阴影方框表示低阈值高性能逻辑单元块,无阴影方框表示高阈值低功耗逻辑单元块。低阈值高性能的逻辑单元块布局方式可以是分区式的,也可以是分布式的,或者是上述两种形式兼而有之,具体的分布方式和比例应根据FPGA面向的应用领域,通过众多应用实例的统计分析而得出。不同阈值的逻辑单元块的位置和比例信息写入FPGA架构文件,此文件将被配套的EDA设计方法利用,以提取该FPGA中不同阈值的逻辑单元块的位置和比例信息。FPGA的输入输出单元(IOB)是静态功耗的又一大来源,为了控制输入输出单元的静态功耗,FPGA内部以输入输出单元(IOB)为单位按照一定的布局和比例分别采用不同阈值晶体管来实现,如图1所示,阴影矩形框表示低阈值高性能输入输出单元,无阴影矩形框表示高阈值低功耗输入输出单元。与逻辑单元块类似,具体的分布方式和比例应根据FPGA面向的应用领域,通过众多应用实例的统计分析而得出。不同阈值的输入输出单元的位置和比例信息写入FPGA架构文件,此文件将被配套的EDA设计方法利用,以提取该款芯片中不同阈值的输入输出单元的位置和比例信息。配套的EDA设计方法技术方案如下:如图2所示,配套的EDA设计方法流程包括综合、映射和布局布线这几个步骤。1、综合步骤,读取FPGA架构文件,根据FPGA的硬件结构进行工艺映射,得到基本逻辑单元级的电路网表。接下来根据FPGA的单元库进行时序分析,标定出电路的关键路径及关键路径上基本逻辑单元的关键度。在综合步骤的输出文件中,以criticality属性表示基本逻辑单元的关键度,此属性值为整数型。如图3所示,当criticality = O时,表示该基本逻辑单元处在非关键路径上;当criticality > O时表示该基本逻辑单元处在关键路径上,基本逻辑单元的关键程度越大criticality的数值越大。2、映射步骤,读取综合步骤输出的网表文件,识别出criticality > O的基本逻辑单元,即关键路径上的基本逻辑单元,并做优先处理,将这些关键路径上的基本逻辑单元打包进逻辑单元块或输入输出单元,以criticality属性表示逻辑单元块或输入输出单元的关键度,其数值等于打包进该逻辑单元块或输入输出单元的全部基本逻辑单元的criticality之和,接下来按照常规方式打包非关键路径上的基本逻辑单元和输入输出单元。本实例中映射步骤将图3中虚线框内的基本逻辑单元打包进一个逻辑单元块中。以critical属性表示逻辑单元块或输入输出单元是否为关键逻辑单元块或关键输入输出单元,电路全部打包完毕后,初始化critical = false。接下来进行逻辑单元块级的网表时序分析并根据分析结果更新critical属性的循环过程。即根据不同阈值逻辑单元块和输入输出单元的时序模型进行循环时序分析,以其能以最少的低阈值逻辑单元块和输入输出单元完成设计。根据本发明的优选实施方式,在映射步骤,时序分析过程中critical = true的逻辑单元块和输入输出单元分别采用低阈值高性能的逻辑单元块时序模型和低阈值高性能的输入输出单元时序模型(首次循环过程critical = true的逻辑单元块和输入输出单元数目均为O) ,critical = false的逻辑单元块和输入输出单元分别采用高阈值低功耗的逻辑单元块时序模型和高阈值低功耗的输入输出单元时序模型。如果电路不满足性能要求,则选取critical = false,且criticality值最大的逻辑单元块或输入输出单元,设置该逻辑单元块或输入输出单元的属性critical = true,对critical属性更新后的网表再次做时序分析,如果电路性能仍然达不到要求则循环执行上述更新critical属性的过程,直至电路的性能要求得到满足终止循环,其流程如图2映射步骤所示。以上的循环过程逐次将低阈值高性能逻辑单元块或低阈值高性能输入输出单元替换进电路的关键路径,保证了以最少的低阈值高性能逻辑单元块和低阈值高性能输入输出单元完成设计,在满足性能要求的前提下,最大限度地降低了电路的功耗。以上循环过程结束后,得到如图4所示的逻辑单元块级电路网表,输出网表文件中逻辑单元块和输入输出单元的critical属性将作为布局布线步骤的重要约束条件。3、布局布线步骤,在常规布局的基础上添加如下的约束条件:属性critical =true的逻辑单元块只允许布局在FPGA芯片低阈值高性能逻辑单元块的位置上;属性critical = false的逻辑单元块只允许布局在FPGA芯片高阈值低功耗逻辑单元块的位置上;属性critical = true的输入输出单元只允许布局在FPGA芯片低阈值高性输入输出单元的位置上;属性critical = false的输入输出单元只允许布局在FPGA芯片高阈值低功耗输入输出单元的位置上。因上述约束条件的引入,将有效缩短布局过程的时间消耗。布局完成后进行常规布线即可。完成布局布线后的电路设计示意图如图5所示。经过上述的综合、映射和布局布线后,EDA设计方法以常规方式产生码流文件,下载至FPGA芯片中即最终完成了设计任务。以上所述的具体实施方式
,对本发明的目的、技术方案和有益效果进行了进一步详细说明,对于本领域的技术人员将十分易于理解。特别提出:以上所述仅为本发明的具体实施方式
而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种基于mult1-vt技术的低功耗FPGA,以岛形结构为总体结构,基本逻辑单元(BLE)基于查找表(LUT)结构,可编程逻辑及布线开关的配置基于SRAM单元,其特征在于,包含如下硬件结构: FPGA的编程电路及所有SRAM配置单元均采用高阈值低功耗晶体管实现; FPGA内部以逻辑单元块为单位,根据芯片面向的应用领域,通过众多应用实例的统计分析得出一定的布局和比例,分别采用不同阈值的晶体管来实现; FPGA内部以输入输出单元为单位,根据芯片面向的应用领域,通过众多应用实例的统计分析得出一定的布局和比例,分别采用不同阈值晶体管实现。
2.根据权利要求1所述的基于mult1-Vt技术的低功耗FPGA,其中用于实现逻辑单元块的晶体管包括低阈值高性能晶体管和高阈值低功耗晶体管。
3.根据权利要求2所述的基于mult1-Vt技术的低功耗FPGA,其中低阈值高性能的逻辑单元块布局方式是分区式、分布式、或者分区式与分布式兼而有之。
4.根据权利要求1所述的基于mult1-Vt技术的低功耗FPGA,其中用于实现输入输出单元的晶体管包括低阈值高性能晶体管和高阈值低功耗晶体管。
5.根据权利要求4所述的基于mult1-Vt技术的低功耗FPGA,其中低阈值高性能的输入输出单兀的布局方式是分区式、分布式、或者分区式与分布式兼而有之。
6.根据权利要求1所述的基于mult1-Vt技术的低功耗FPGA,将不同阈值单元的布局和比例信息写入FPGA架构文件。
7.一种与权利要求1所述的低功耗FPGA相配套的EDA设计方法,其特征在于包含如下步骤:合步骤,包括: 读取FPGA架构文件,根据FPGA的硬件结构进行工艺映射,得到基本逻辑单元级的电路网表, 对工艺映射后的网表进行时序分析,识别出关键路径,并在关键路径上各个基本逻辑单元的属性中注明该单元的关键度; I1.映射步骤,包括: 优先将关键路径上的基本逻辑单元打包进逻辑单元块或输入输出单元,接下来将非关键路径上的基本逻辑单元打包进逻辑单元块或输入输出单元, 通过时序分析在逻辑单元块和输入输出单元的属性中注明该单元块是否为关键逻辑单元块或关键输入输出单元, 根据不同阈值逻辑单元块和输入输出单元的时序模型进行循环时序分析,以最少的低阈值高性能逻辑单元块和输入输出单元完成设计; II1.布局布线步骤: 其中以逻辑单元块和输入输出单元是否为关键单元为约束条件进行布局,然后进行布线并产生码流文件,下载至FPGA芯片中。
8.根据权利要求7所述的EDA设计方法,其特征在于,在综合步骤中对工艺映射后的网表进行时序分析,设定关键路径上基本逻辑单元的属性criticality > O,设定非关键路径上基本逻辑单元的属性criticality = O。
9.根据权利要求7所述的EDA设计方法,其中用于实现逻辑单元块的晶体管包括低阈值高性能晶体管和高阈值低功耗晶体管,在进行循环时序分析时,循环过程逐次将低阈值高性能晶体管实现的逻辑单元块替换进电路的关键路径。
10.根据权利要求7所述的EDA设计方法,其中用于实现输入输出单元的晶体管包括低阈值高性能晶体管和高阈值低功耗晶体管,在进行循环时序分析时,循环过程逐次将低阈值高性能晶体管实现的输入输出单元替换进电路的关键路径。
11.根据权利要求7所述的EDA设计方法,其特征在于,布局布线步骤中,读取FPGA架构文件中的信息,在常规布局的基础上添加如下的约束条件:属性critical = true的逻辑单元块只允许布局在FPGA低阈值高性能逻辑单元块的位置上,属性critical = false的逻辑单元块只允许布局在FPGA高阈值低功耗逻辑单元块的位置上。
12.根据权 利要求7所述的EDA设计方法,其特征在于,布局布线步骤中,读取FPGA架构文件中的信息,在常规布局的基础上添加如下的约束条件:属性critical = true的输入输出单元只允许布局在FPGA低阈值高性输入输出单元的位置上;属性critical = false的输入输出单兀只允许布局在FPGA高阈值低功耗输入输出单兀的位置上。
全文摘要
本发明公开了一种基于Multi-Vt技术的低功耗FPGA及配套EDA设计方法,属于现场可编程门阵列(FPGA)及电子设计自动化(EDA)设计技术领域。本发明的FPGA以现有的岛形结构为总体结构,基本逻辑单元(BLE)基于查找表(LUT)结构,可编程逻辑及布线开关的配置基于SRAM单元。本发明的特征在于FPGA芯片的编程电路及所有的SRAM配置单元均采用高阈值低功耗晶体管实现;FPGA芯片的输入输出单元和逻辑单元块根据芯片面向的应用领域,通过众多应用实例的统计分析得出一定的布局和比例,分别采用不同阈值晶体管实现;综合步骤对基本逻辑单元级网表进行时序分析并标注关键路径和基本逻辑单元的关键度;映射步骤根据基本逻辑单元的关键度进行打包并标注打包后的逻辑单元块和输入输出单元是否属于关键逻辑单元块或关键输入输出单元;布局布线步骤中以逻辑单元块和输入输出单元是否为关键逻辑单元块或关键输入输出单元为约束条件进行布局。本发明在基本不影响电路性能的前提下,将大大降低电路的静态功耗,从而降低电路的总体功耗。
文档编号G06F17/50GK103106291SQ20111036121
公开日2013年5月15日 申请日期2011年11月15日 优先权日2011年11月15日
发明者郭旭峰, 刘贵宅, 李艳, 于芳 申请人:中国科学院微电子研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1