CN106777608A - 精确快速低投入的fpga 延时估计方法 - Google Patents

精确快速低投入的fpga 延时估计方法 Download PDF

Info

Publication number
CN106777608A
CN106777608A CN201611099411.6A CN201611099411A CN106777608A CN 106777608 A CN106777608 A CN 106777608A CN 201611099411 A CN201611099411 A CN 201611099411A CN 106777608 A CN106777608 A CN 106777608A
Authority
CN
China
Prior art keywords
fpga
delay
transistor
time delay
parameter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201611099411.6A
Other languages
English (en)
Other versions
CN106777608B (zh
Inventor
钱涵晶
刘强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianjin University
Original Assignee
Tianjin University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tianjin University filed Critical Tianjin University
Priority to CN201611099411.6A priority Critical patent/CN106777608B/zh
Publication of CN106777608A publication Critical patent/CN106777608A/zh
Application granted granted Critical
Publication of CN106777608B publication Critical patent/CN106777608B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/3312Timing analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • G06N3/065Analogue means

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Geometry (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Logic Circuits (AREA)

Abstract

本发明涉及FPGA架构优化领域,为提出全面考虑影响电路延时的关键参数,允许在FPGA架构设计阶段协同探索架构级参数和晶体管级参数的可变性,既体现和保持参数间的物理意义,又减少神经网络的训练数据量,实现快速、精确、低投入的延时估计。为此,本发明,精确快速低投入的FPGA延时估计方法,步骤如下:1)确定拟合参数ɑ和有效迁移率μ;2)确定各子电路中每一类晶体管的负载电容;3)对FPGA中各子电路分别建立FPGA‑macro延时模型;4)进行分析和归一化;5)求解权重Ω和Φ以及隐藏神经元的数量m,使得训练误差Et和验证误差Ev最小。本发明主要应用于设计制造场合。

Description

精确快速低投入的FPGA延时估计方法
技术领域
本发明涉及FPGA架构优化领域,特别涉及一种FPGA延时计算模型。具体讲,涉及精确快速低投入的FPGA延时估计方法。
背景技术
随着应用的多样性发展,FPGA的架构不断变化,花费在架构探索上的时间也越来越多。传统的方法需要通过大量的实验才能决定符合延时要求的FPGA架构。架构设计师需要使用电路仿真工具来测量每一种FPGA架构下的关键路径延时,再利用布局布线工具仿真基准电路映射到FPGA架构上的延时,并根据结果对架构性能进行评估。事实上,这种实验的方法不可能探索所有的架构设计,因为这将花费巨大的精力和时间,尤其是在延时仿真阶段。相反,基于数值分析模型的方法能够快速地评估各个FPGA架构的性能。这种方法通过数值分析和典型实验,利用FPGA的架构参数对FPGA岛的典型关键路径进行建模,从而实现对FPGA架构的快速评估。
目前,研究人员已经基于Elmore模型建立了FPGA延时估计的数值分析模型。但是,Elmore模型对晶体管进行了线性等效,导致其精确度不高,而且不能直观地体现晶体管级参数(Vdd和Vt)对延时的影响。例如,延时随架构参数N的增大而增大,随Vdd的增大而减小,如果只考虑架构参数则会错过很多可能的优化结果,使结果不能达到最优。
神经网络具有强大的学习能力,能够学习任何系统的行为,并且可以快速模拟出这些系统对输入做出的响应。利用大量真实的FPGA延时数据来对神经网络进行训练,可以得到其输入与输出之间的关系,建立FPGA的延时模型。但这种方法对神经网络过度依赖,且需要大量的数据支持才能获得高精确度的延时估计结果,需要在前期投入大量的时间。
基于知识的神经网络结合了神经网络的强大学习能力和已有数值分析模型,使神经网络和分析模型彼此互补。所以,利用基于知识的神经网络来构建延时和FPGA架构参数及晶体管级参数之间的关系,是一种既可以提高模型的精度又不会显著增加估计时间的方法。而且相较于传统神经网络而言,基于知识的神经网络可以在较少的训练数据下得到精确的延时估计结果,节省了大量时间。
参考文献:
[1]A.M.Smith,G.A.Constantinides,P.Y.K.Cheung.FPGA architectureoptimization using geometric programming[J].Computer-Aided Design ofIntegrated Circuits and Systems.2010,29(8):1163-1176。
[2]I.Kuon,J.Rose.Exploring area and delay tradeoffs in FPGAs witharchitecture and automated transistor design[J].Very Large Scale Integration(VLSI)Systems.2011,19(1):71-84。
[3]C.Chiasson,V.Betz.COFFE:Fully-automated transistor sizing forFPGAs[C].//Field-Programmable Technology(FPT),Kyoto,2013:34-41。
发明内容
为克服现有技术的不足,本发明旨在提出一种估计FPGA电路延时的数值分析模型,全面考虑影响电路延时的关键参数,允许在FPGA架构设计阶段协同探索架构级参数和晶体管级参数的可变性。并将延时模型与人工智能神经网络相结合,既体现和保持参数间的物理意义,又减少神经网络的训练数据量,实现快速、精确、低投入的延时估计。为此,本发明采用的技术方案是,精确快速低投入的FPGA延时估计方法,步骤如下:
1)确定拟合参数ɑ和有效迁移率μ;
2)将FPGA中各子电路等效为RC模型,结合FPGA架构参数,确定各子电路中每一类晶体管的负载电容;
3)根据已确定好的拟合参数ɑ、有效迁移率μ和负载电容参数,对FPGA中各子电路分别建立延时模型,即FPGA-macro延时模型;
4)收集训练数据,并对其进行分析和归一化;
5)将FPGA-macro延时模型与神经网络相结合,建立KBNN延时模型并进行训练,求解权重Ω和Φ以及隐藏神经元的数量m使得训练误差Et和验证误差Ev最小。
一个实例中具体步骤进一步细化为:
1.确定拟合参数ɑ和有效迁移率μ
首先,分别建立由10、11、12个非门串联连接的非门链,并利用电路仿真工具HSPICE分别测量各非门链的延时,记为τ101112,通过计算得到PMOS晶体管的延时为tpmos=τ1211,NMOS晶体管的延时为tnmos=τ1110,利用公式(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,drv 2=Cj,CBdrv 2+N*K*Cj,localmux 1 (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)
通过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)。
本发明的特点及有益效果是:
1.相较于传统的利用实验的方法获得延时,该FPGA延时估计方法可以在短时间内完成延时的估计,不仅全面考虑了影响延时的参数,而且更加直观地反映了各参数与延时的关系,可以有效加快FPGA架构探索流程。
2.利用基于知识的人工智能神经网络,既减少了训练数据量又提高了估计精度,同时还摆脱了器件模型的束缚,使延时估计更加快速灵活。
附图说明:
图1为本发明的设计流程图。
图2为本发明应用流程图。
图3为FPGA连接块晶体管级结构及等效模型。
图4为该延时模型的神经网络结构。
图5为实验结果对比。
具体实施方式
本发明提供了一种基于神经网络的融合架构级和晶体管级参数的FPGA电路延时估计方法,可以与架构探索流程相结合,在保证精度的条件下加快架构探索速度。具体技术方案如下:
1)确定拟合参数ɑ和有效迁移率μ。
2)将FPGA中各子电路等效为RC模型,结合FPGA架构参数,确定各子电路中每一类晶体管的负载电容。
3)根据已确定好的拟合参数ɑ、有效迁移率μ和负载电容等参数,对FPGA中各子电路分别建立延时模型,即FPGA-macro延时模型。
4)收集训练数据,并对其进行分析和归一化。
5)将FPGA-macro延时模型与神经网络相结合,建立KBNN延时模型并进行训练,求解权重Ω和Φ以及隐藏神经元的数量m使得训练误差Et和验证误差Ev最小。
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。下面将以FPGA子电路中的连接块为例进行说明。
1.确定拟合参数ɑ和有效迁移率μ
首先,分别建立由10、11、12个非门串联连接的非门链,并利用HSPICE分别测量各非门链的延时,记为τ101112。通过计算可得PMOS晶体管的延时为tpmos=τ1211,NMOS晶体管的延时为tnmos=τ1110。利用公式(1)和公式(2)求得拟合参数ɑ和有效迁移率μ的值,(Vt1,Δt1)和(Vt2,Δt2)是在相同Vdd下得到的阈值电压和晶体管延时的组合。其中,We和Le分别是有效沟道宽度和长度,Vdd为供电电压,Vt为阈值电压,Ci和Cox分别代表负载电容和氧化电容。
2.确定负载电容
在获得ɑ和μ的值之后,根据图3所示的连接块等效模型确定各晶体管的负载电容。连接块中四类晶体管的负载电容获得方法如公式(3)-(6)所示。其中,W为布线通道宽度,Fcin为逻辑块输入引脚所能连接的布线轨道数目,N为逻辑块中基本逻辑单元的数量,K为LUT的输入数量。CCB,mux1,CCB,mux2和CCB,drv1,CCB,drv2分别表示连接块选择器和连接块缓冲器中晶体管的负载电容,其中,Cj,CBmux1,Cj,CBmux1是连接块多路选择器中晶体管的结电容,Cg,CBdrv1,Cg,CBdrv2和Cj,CBdrv1,Cj,CBdrv2分别是连接块缓冲器中晶体管的栅电容和结电容,Cj,localmux1是局部互连多路选择器中晶体管的结电容,ceil()为向上取整函数,floor()为向下取整函数:
CCB,drv 1=Cj,CBdrv 1+Cg,CBdrv 2 (5)
CCB,drv 2=Cj,CBdrv 2+N*K*Cj,localmux 1 (6)
其它架构参数,如Fs(开关块灵活性),Fcout(逻辑块输出引脚所能连接的布线轨道数目),L(线长),I(逻辑块输入数量)将出现在其它子电路的负载电容公式中。
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.数据收集并进行归一化
训练数据{N,K,W,L,I,Fs,Fcin,Fcout,Vdd,Vtn,Vtp,ΔT}有很大的数量级差异。如Fcin的取值是(0,1),然而W能够从几十到几百。这个巨大的差异会给训练过程的收敛增加难度,降低训练的KBNN模型的精度。因此,在训练开始之前,首先要将训练数据归一化到同一个数量级。其中,Vtn和Vtp分别为NMOS晶体管和PMOS晶体管的阈值电压,ΔT真实值与估计值之差。所以对每个参数x∈{N,K,W,L,I,Fs,Fcin,Fcout,Vdd,Vtn,Vtp,ΔT}进行公示(9)的所示操作:
其中,xmax和xmin是训练数据中x的最大值和最小值,x’max和x’min是由训练者自己确定的。
在训练完成后,为了使KBNN的输出处于正确的数量级,还将进行去归一化的过程。
5.建立KBNN延时模型并训练
基于上述已建立的FPGA-macro延时模型,结合神经网络可获得FPGA的KBNN延时模型。KBNN延时模型的结构如图4所示,这个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)
通过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)。
当训练完成,就可以得到一个可以反复使用的延时模型。通过这个模型,设计者可以快速且精确地判断这个FPGA架构是否符合设计要求,同时可以实现FPGA的架构探索。

Claims (3)

1.一种精确快速低投入的FPGA延时估计方法,其特征是,步骤如下:
1)确定拟合参数ɑ和有效迁移率μ;
2)将FPGA中各子电路等效为RC模型,结合FPGA架构参数,确定各子电路中每一类晶体管的负载电容;
3)根据已确定好的拟合参数ɑ、有效迁移率μ和负载电容参数,对FPGA中各子电路分别建立延时模型,即FPGA-macro延时模型;
4)收集训练数据,并对其进行分析和归一化;
5)将FPGA-macro延时模型与神经网络相结合,建立KBNN延时模型并进行训练,求解权重Ω和Φ以及隐藏神经元的数量m使得训练误差Et和验证误差Ev最小。
2.如权利要求1所述的精确快速低投入的FPGA延时估计方法,其特征是,一个实例中具体步骤进一步细化为:
1)确定拟合参数ɑ和有效迁移率μ
首先,分别建立由10、11、12个非门串联连接的非门链,并利用电路仿真工具HSPICE分别测量各非门链的延时,记为τ101112,通过计算得到PMOS晶体管的延时为tpmos=τ1211,NMOS晶体管的延时为tnmos=τ1110,利用公式(1)和公式(2)求得拟合参数ɑ和有效迁移率μ的值,(Vt1,Δt1)和(Vt2,Δt2)是在相同Vdd下得到的阈值电压和晶体管延时的组合,其中,We和Le分别是有效沟道宽度和长度,Vdd为供电电压,Vt为阈值电压,Ci和Cox分别代表负载电容和氧化电容,
α ( V d d ) = l o g ( Δt 1 / Δt 2 ) l o g ( ( V d d - V t 2 ) / ( V d d - V t 1 ) ) - - - ( 1 )
μ ( V d d , V t ) = 1 2 * C i C o x * L e W e * V d d ( V d d - V t ) α * 1 Δ t - - - ( 2 )
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()为向下取整函数:
C C B , m u x 1 = c e i l ( ( W * F c i n ) / f l o o r ( W * F c i n ) ) * C j , C B m u x 1 + C j , C B m u x 2 - - - ( 3 )
C C B , m u x 2 = f l o o r ( W * F c i n ) * C j , C B m u x 2 + C g , C B d r v 1 - - - ( 4 )
CCB,drv 1=Cj,CBdrv 1+Cg,CBdrv 2 (5)
CCB,drv 2=Cj,CBdrv 2+N*K*Cj,localmux 1 (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由各子电路出现在布局布线后的基准电路的关键路径上的次数决定,
T C B = ( C C B , m u x 1 * ( V d d / 2 ) ) / ( μ * C o x * ( W e , C B , m u x 1 / L e ) * ( V d d - V t ) α ) + ( C C B , m u x 2 * V d d / 2 ) / ( μ * C o x * ( W e , C B , m u x 2 / L e ) * ( V d d - V t ) α ) + ( C C B , d r v 1 * V d d / 2 ) / ( μ * C o x * ( W e , C B , d r v 1 / L e ) * ( V d d - V t ) α ) + ( C C B , d r v 2 * V d d / 2 ) / ( μ * C o x * ( W e , C B , d r v 2 / L e ) * ( V d d - V t ) α ) - - - ( 7 )
T t o t a l = w 1 * T S B + w 2 * T C B + w 3 * T l o c a l m u x + w 4 * T f e e d b a c k + w 5 * T g e n e r a l _ o u t p u t + w 6 * ( T L U T + T L U T d r v ) - - - ( 8 )
4)数据收集并进行归一化
在训练开始之前,首先要将训练数据归一化到同一个数量级,所以对每个参数x∈{N,K,W,L,I,Fs,Fcin,Fcout,Vdd,Vtn,Vtp,ΔT}进行公示(9)的所示操作,其中,Vtn和Vtp分别为NMOS晶体管和PMOS晶体管的阈值电压,ΔT是真实值与估计值之差,
x ′ = x ′ m i n + x - x m i n x m a x - x m i n ( x ′ m a x - x ′ m i n ) - - - ( 9 )
其中,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)的形式:
y i = 1 1 + e - γ i - - - ( 10 )
γ i = ω i 0 + ω i 1 N + ω i 2 K + ω i 3 W + ω i 4 L + ω i 5 I + ω i 6 F c i n + ω i 7 F c o u t + ω i 8 F s + ω i 9 V d d + ω i 10 V t n + ω i 11 V t p - - - ( 11 )
三层MLP神经网络的输出为隐藏神经元的加权和,如公式(12)所示:
ΔT M L P = φ 0 + Σ k = 1 m φ k y k - - - ( 12 )
ΔTMLP是HSPICE仿真得到的真实值与FPGA-macro延时模型得到的估计值之差,而KBNN的输出则为三层MLP神经网络的输出ΔTMLP与知识神经元的输出Tknowledge之和,如公式(13)所示:
TKBNN_macro=Tknowledge+△TMLP (13)。
3.如权利要求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)。
CN201611099411.6A 2016-12-02 2016-12-02 精确快速低投入的fpga延时估计方法 Expired - Fee Related CN106777608B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611099411.6A CN106777608B (zh) 2016-12-02 2016-12-02 精确快速低投入的fpga延时估计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611099411.6A CN106777608B (zh) 2016-12-02 2016-12-02 精确快速低投入的fpga延时估计方法

Publications (2)

Publication Number Publication Date
CN106777608A true CN106777608A (zh) 2017-05-31
CN106777608B CN106777608B (zh) 2019-12-27

Family

ID=58883843

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611099411.6A Expired - Fee Related CN106777608B (zh) 2016-12-02 2016-12-02 精确快速低投入的fpga延时估计方法

Country Status (1)

Country Link
CN (1) CN106777608B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107729998A (zh) * 2017-10-31 2018-02-23 中国科学院计算技术研究所 一种用于神经网络处理器的方法
CN107832840A (zh) * 2017-10-31 2018-03-23 中国科学院计算技术研究所 一种用于神经网络处理器的方法
CN109255160A (zh) * 2018-08-17 2019-01-22 东南大学 基于神经网络的单元延时预测方法和单元延时灵敏度计算方法
CN110555486A (zh) * 2019-09-11 2019-12-10 北京百度网讯科技有限公司 模型结构的延时预测方法、装置以及电子设备
WO2020034631A1 (zh) * 2018-08-17 2020-02-20 东南大学 一种基于机器学习的电路路径延时波动预测方法
CN113343620A (zh) * 2021-08-09 2021-09-03 苏州贝克微电子有限公司 电路仿真方法、装置、设备及存储介质
CN115392166A (zh) * 2022-10-24 2022-11-25 北京智芯微电子科技有限公司 晶体管宽度的确定方法、装置、电子设备及介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102608452B (zh) * 2012-02-24 2015-01-21 安徽建筑大学 高速列车设备状态及电能质量监测系统与方法

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107832840A (zh) * 2017-10-31 2018-03-23 中国科学院计算技术研究所 一种用于神经网络处理器的方法
CN107729998A (zh) * 2017-10-31 2018-02-23 中国科学院计算技术研究所 一种用于神经网络处理器的方法
CN107832840B (zh) * 2017-10-31 2020-05-22 中国科学院计算技术研究所 一种用于神经网络处理器的方法
CN107729998B (zh) * 2017-10-31 2020-06-05 中国科学院计算技术研究所 一种用于神经网络处理器的方法
CN109255160B (zh) * 2018-08-17 2020-10-16 东南大学 基于神经网络的单元延时预测方法和单元延时灵敏度计算方法
CN109255160A (zh) * 2018-08-17 2019-01-22 东南大学 基于神经网络的单元延时预测方法和单元延时灵敏度计算方法
WO2020034631A1 (zh) * 2018-08-17 2020-02-20 东南大学 一种基于机器学习的电路路径延时波动预测方法
CN110555486A (zh) * 2019-09-11 2019-12-10 北京百度网讯科技有限公司 模型结构的延时预测方法、装置以及电子设备
CN110555486B (zh) * 2019-09-11 2022-04-19 北京百度网讯科技有限公司 模型结构的延时预测方法、装置以及电子设备
CN113343620A (zh) * 2021-08-09 2021-09-03 苏州贝克微电子有限公司 电路仿真方法、装置、设备及存储介质
CN113343620B (zh) * 2021-08-09 2021-11-16 苏州贝克微电子有限公司 电路直流分析仿真方法、装置、设备及存储介质
CN115392166A (zh) * 2022-10-24 2022-11-25 北京智芯微电子科技有限公司 晶体管宽度的确定方法、装置、电子设备及介质
CN115392166B (zh) * 2022-10-24 2023-01-20 北京智芯微电子科技有限公司 晶体管宽度的确定方法、装置、电子设备及介质

Also Published As

Publication number Publication date
CN106777608B (zh) 2019-12-27

Similar Documents

Publication Publication Date Title
CN106777608A (zh) 精确快速低投入的fpga 延时估计方法
Sarkar et al. Artificial neural networks for event based rainfall-runoff modeling
CN111797581A (zh) 用于生成晶体管的模型的系统和方法
WO2022247388A1 (zh) 一种数字集成电路众工艺角延时预测方法
CN102439468A (zh) 考虑了时间和空间相关性的统计形式活动分析
US9898566B2 (en) Method for automated assistance to design nonlinear analog circuit with transient solver
US20210295167A1 (en) Generative networks for physics based simulations
CN105259331A (zh) 一种节理岩体单轴强度预测方法
Hasani et al. Compositional neural-network modeling of complex analog circuits
Cheng et al. How to control the crack to propagate along the specified path feasibly?
Magerl et al. Echo state networks for black-box modeling of integrated circuits
Strofylas et al. Using synchronous and asynchronous parallel differential evolution for calibrating a second-order traffic flow model
Ma et al. Comparison of machine learning techniques for predictive modeling of high-speed links
CN108829908B (zh) 一种基于深度自编码器网络的电路结构可靠性预测方法
Muhsen et al. Enhancing NoC-Based MPSoC performance: A predictive approach with ANN and guaranteed convergence arithmetic optimization algorithm
Liu et al. Knowledge-based neural network model for FPGA logical architecture development
CN106776442A (zh) Fpga晶体管尺寸调整方法
Nasser et al. Power modeling on FPGA: A neural model for RT-level power estimation
Machado et al. Si elegans: FPGA hardware emulation of C. elegans nematode nervous system
JP2017513110A (ja) ニューロモーフィックモデル開発のためのコンテキストリアルタイムフィードバック
Smith Data Driven Surrogate Models for Faster SPICE Simulation of Power Supply Circuits
Zaum et al. An accelerated mixed-signal simulation kernel for SystemC
El-Madany et al. Spacecraft neural network control system design using FPGA
CN114398823A (zh) 一种利用复杂网络和机器学习预测电路拥塞度方法
Kaul et al. An artificial intelligence approach to multi-level mixed-mode qualitative simulation of cmos ics

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20191227

Termination date: 20211202

CF01 Termination of patent right due to non-payment of annual fee