[发明专利]精确快速低投入的FPGA延时估计方法有效
申请号: | 201611099411.6 | 申请日: | 2016-12-02 |
公开(公告)号: | CN106777608B | 公开(公告)日: | 2019-12-27 |
发明(设计)人: | 钱涵晶;刘强 | 申请(专利权)人: | 天津大学 |
主分类号: | G06F17/50 | 分类号: | G06F17/50;G06N3/063 |
代理公司: | 12201 天津市北洋有限责任专利代理事务所 | 代理人: | 刘国威 |
地址: | 300072*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 精确 快速 投入 fpga 延时 估计 方法 | ||
1.一种精确快速低投入的FPGA延时估计方法,其特征是,步骤如下:
1)确定拟合参数ɑ和有效迁移率μ;
2)将FPGA中各子电路等效为RC模型,结合FPGA架构参数,确定各子电路中每一类晶体管的负载电容;
3)根据已确定好的拟合参数ɑ、有效迁移率μ和负载电容参数,对FPGA中各子电路分别建立延时模型,即FPGA-macro延时模型;
4)收集训练数据,并对其进行分析和归一化;
5)将FPGA-macro延时模型与神经网络相结合,建立KBNN延时模型并进行训练,求解权重Ω和Φ以及隐藏神经元的数量m使得训练误差Et和验证误差Ev最小;具体步骤进一步细化为:
1)确定拟合参数ɑ和有效迁移率μ
首先,分别建立由10、11、12个非门串联连接的非门链,并利用电路仿真工具HSPICE分别测量各非门链的延时,记为τ10,τ11,τ12,通过计算得到PMOS晶体管的延时为tpmos=τ12-τ11,NMOS晶体管的延时为tnmos=τ11-τ10,利用公式(1)和公式(2)求得拟合参数ɑ和有效迁移率μ的值,(Vt1,Δt1)和(Vt2,Δt2)是在相同Vdd下得到的阈值电压和晶体管延时的组合,其中,We和Le分别是有效沟道宽度和长度,Vdd为供电电压,Vt为阈值电压,Ci和Cox分别代表负载电容和氧化电容,
2)确定负载电容
在获得ɑ和μ的值之后,根据连接块等效模型确定各晶体管的负载电容,连接块中四类晶体管的负载电容获得方法如公式(3)-(6)所示,其中,W为布线通道宽度,Fcin为逻辑块输入引脚所能连接的布线轨道数目,N为逻辑块中基本逻辑单元的数量,K为查找表LUT的输入数量,CCB,mux1,CCB,mux2和CCB,drv1,CCB,drv2分别表示连接块选择器和连接块缓冲器中晶体管的负载电容,其中,Cj,CBmux1,Cj,CBmux2是连接块多路选择器中晶体管的结电容,Cg,CBdrv1,Cg,CBdrv2和Cj,CBdrv1,Cj,CBdrv2分别是连接块缓冲器中晶体管的栅电容和结电容,Cj,localmux1是局部互连多路选择器中晶体管的结电容,ceil()为向上取整函数,floor()为向下取整函数:
CCB,drv 1=Cj,CBdrv 1+Cg,CBdrv 2 (5)
CCB,drv2=Cj,CBdrv2+N*K*Cj,localmux1 (6)
3)建立FPGA-macro延时模型
根据已确定的参数,连接块的延时表示为公式(7)的形式,We,CB,mux1和We,CB,mux2分别为连接块中一级多路选择器和二级多路选择器的晶体管有效沟道宽度,We,CB,drv1和We,CB,drv2为连接块缓冲器中的晶体管有效沟道宽度,典型关键路径的延时由各子电路的加权和得到,表示为公式(8)的形式,TSB为开关块的延时,TCB为连接块延时,Tlocalmux为局部互连块延时,Tfeedback为反馈路径延时,Tgeneral_output为输出路径延时,TLUT为查找表延时,TLUTdrv为查找表缓冲器延时,权重w1-w6由各子电路出现在布局布线后的基准电路的关键路径上的次数决定,
4)数据收集并进行归一化
在训练开始之前,首先要将训练数据归一化到同一个数量级,所以对每个参数x∈{N,K,W,L,I,Fs,Fcin,Fcout,Vdd,Vtn,Vtp,ΔT}进行公示(9)的所示操作,其中,Vtn和Vtp分别为NMOS晶体管和PMOS晶体管的阈值电压,ΔT是真实值与估计值之差,
其中,xmax和xmin是训练数据中x的最大值和最小值,x’max和x’min是由训练者自己确定,Fs为开关块灵活性,Fcout为逻辑块输出引脚所能连接的布线轨道数目,L为线长,I为逻辑块输入数量;
在训练完成后,为了使KBNN的输出处于正确的数量级,还将进行去归一化的过程;
5)建立KBNN延时模型并训练
基于上述已建立的FPGA-macro延时模型,结合神经网络可获得FPGA的KBNN延时模型,这个KBNN结构中共包含五种神经元:输入神经元、隐藏神经元、MLP输出神经元、知识神经元和KBNN输出神经元,输入神经元和隐藏神经元之间的权重为Ω=(ωij,i=1,2,...,m,j=0,1,...,11),隐藏神经元和MLP输出神经元之间的权重为Φ=(φk,k=0,1,...,m),隐藏神经元的激活函数和隐藏神经元的输入分别表示为公式(10)和公式(11)的形式:
三层MLP神经网络的输出为隐藏神经元的加权和,如公式(12)所示:
ΔTMLP是HSPICE仿真得到的真实值与FPGA-macro延时模型得到的估计值之差,而KBNN的输出则为三层MLP神经网络的输出ΔTMLP与知识神经元的输出Tknowledge之和,如公式(13)所示:
TKBNN_macro=Tknowledge+△TMLP (13)。
2.如权利要求1所述的精确快速低投入的FPGA延时估计方法,其特征是,通过FPGA-macro模型和HSPICE获得400组训练数据和20组测试数据,对KBNN延时模型进行训练,找到符合训练误差Et和验证误差Ev的权重Ω和Φ以及隐藏神经元的数量m,训练过程如下:
1)初始化:给出训练数据,测试数据,三层神经网络模型和最大迭代次数Nmax,并对Ω,Φ和m赋初值,iter为迭代次数;
2)找到三层神经网络模型的权重参数Ω和Φ,使得训练误差Et最小;
3)对三层神经网络进行验证,用更新的Ω,Φ和测试数据计算测试误差Ev;
4)调整m;
如果Ev≈0或iter>Nmax,则停止训练;
否则,iter=iter+1;
如果Et≈0,Ev》0,则增加训练数据并返回2);
如果Et》0,则增加隐藏神经元数量,使m=m+1并返回2)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津大学,未经天津大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611099411.6/1.html,转载请声明来源钻瓜专利网。