温度仿真的装置和方法与流程

文档序号:12596702阅读:554来源:国知局
本发明有关于事务层级(transactionlevel)模拟技术,并有关于事务层级的温度仿真装置和方法。
背景技术
::随着芯片系统设计复杂度的提升,传统的缓存器传输层级(register-transferlevel,RTL)设计流程所需的产品开发时程越来越长。此外,现今的芯片系统设计需要软硬件的高度整合,使得产品开发周期又增加了软件开发的时程,传统的缓存器传输层级设计流程并没办法在硬件设计的初期提供软件仿真的环境。因此,采用电子系统层级(ESL,ElectronicSystemLevel)设计来缩短系统软硬件开发时程,已成为一个必然的趋势。为了更进一步地重复利用已开发出来的电子系统层级模型,利用高位合成(High-LevelSynthesis)工具将电子系统层级模型转成缓存器传输层级也越来越受到广泛的应用。电子系统层级设计方法已证实能有效缩短系统软硬件开发时程,增加产品及时上市(Time-to-Market)的效益。此外,随着日趋复杂的系统设计,温度所造成的问题也越显重要,设计者在设计初期,除了需要针对设计成本、效能与功率消耗做必要的考虑及规划之外,更需要仿真温度变化所造成的影响,如是否会过热烧坏组件、是否要增加散热机制、设计布局改变、电压与频率的调整等等,都与温度有关。此外,功率消耗一直是芯片设计的重要问题,随着系统层级芯片的复杂度和速度愈来愈高,功率消耗更成为影响芯片以及系统效能和成本的关键。因此,将估测功率在更早的设计时间以及更高的设计层级(即事务层级),来进行是非常必要的。然而,现今在事务层级虽然可以估测功率消耗,却不易仿真温度,往往需要复杂的算法与热仿真软件(如ANSYS-Icepak和 Mentor-FloTHERM),它们不但成本高而且运算时间久,容量不够,较不适合用在事务层级温度仿真。因此,如何提升事务层级温度仿真的效率和效能,是一值得研究的课题。技术实现要素:有鉴于上述现有技术中存在的问题,本发明提供了一种藉由事务层级的温度仿真装置和方法。根据本发明的一实施例提供了一种温度仿真装置。此温度仿真装置适用于事务层级设计的包含多个区块的芯片。此温度仿真装置包括多个热感知事务层功率模型电路、仿真引擎、转换器以及温度仿真驱动器。多个热感知事务层功率模型电路,分别对应多个区块,且用以产生多个区块各自对应的功率信息,以及根据温度信息动态调整功率信息。仿真引擎用以根据兼容信息产生多个区块各自对应的温度信息。转换器用以产生仿真引擎兼容的兼容信息。温度仿真驱动器用以驱动仿真引擎,以及将温度信息分别传送给对应的多个区块。根据本发明的一实施例提供了一种温度仿真方法。温度仿真方法适用于事务层级设计的包含多个区块的芯片。此温度仿真方法的步骤包括,藉由多个热感知事务层功率模型电路产生多个区块各自对应的功率信息;根据功率信息产生仿真引擎兼容的兼容信息;根据兼容信息产生多个区块各自对应的温度信息;传送温度信息给对应的多个区块;以及根据温度信息动态调整功率信息。关于本发明其他附加的特征与优点,此领域的熟习技术人士,在不脱离本发明的精神和范围内,当可根据本发明并参考实施例中所揭露的执行联系程序的装置、系统、以及方法,做些许的更动与润饰而得到。附图说明图1显示根据本发明的一实施例的温度仿真装置100的方块图。图2显示根据本发明的一实施例的温度程序代码的示意图。图3A根据本发明一实施例的以粗调(Coarse)的方式设计的区块的示意图。图3B根据本发明一实施例的以细调(finegrid)的方式设计的区块的示意图。图4显示根据本发明的一实施例的区块被分成多个网格的一算法的示意图。图5显示根据本发明的一实施例述的热电阻-电容转换的示意图。图6显示根据本发明的一实施例的参数信息的示意图。图7显示根据本发明的一实施例的功率信息转换电流信息的示意图。图8根据本发明一实施例的温度仿真方法的流程图800。图9根据本发明一实施例的多个区块分成多个网格方法的流程图900。【符号说明】100温度仿真装置110-1内存区块110-2处理器区块110-3客制化区块120仿真引擎130转换器140温度仿真驱动器T1、T2、T3温度信息P1、P2、P3功率信息800、900流程图具体实施方式本章节所叙述的是实施本发明的最佳方式,目的在于说明本发明的精神而非用以限定本发明的保护范围,本发明的保护范围当视后附的申请专利范围所界定者为准。图1显示根据本发明的一实施例的温度仿真装置100的方块图。温度仿真装置100适用于一事务层级(transactionlevel)设计的芯片,其中此芯片包含对应不同功能的多个区块(IntellectualProperty,IP),例如:内存区块(memoryIP)、处理器区块(processorIP)、编码区块(encodeIP)、译码区块(decodeIP),或客制化区块(customizedIP,CIP),但本发明并不以此为限。如图1所示,仿真装置100中包括了内存区块110-1、处理器区块110-2、客制化区块110-3。根据本发明一实施例,内存区块110-1、处理器区块110-2、客制化区块110-3中分别包含了其所对应的热感知事务层功率模型(TransactionLevelPowerModel,TLPM)电路(图未显示),或者内存区块110-1、处理器区块110-2、客制化区块110-3分别可视为不同热感知事务层功率模型电路(图未显示)。此外,仿真装置100亦包括了一仿真引擎120、一转换器130以及一温度仿真驱动器140。在图1中的方块图,仅系为了方便说明本发明的实施例,但本发明并不以此为限。仿真装置100亦可包括其他不同区块和其他组件。根据本发明一实施例,内存区块110-1、处理器区块110-2、客制化区块110-3的热感知事务层功率模型电路可用以产生内存区块110-1、处理器区块110-2、客制化区块110-3各自对应的一功率信息P1、P2、P3,并将所产生的功率信息P1、P2、P3传送给转换器130。根据本发明一实施例,每一热感知事务层功率模型电路中会包含其对应的温度程序代码(thermalcoding)。图2显示根据本发明的一实施例的温度程序代码的示意图。以图2为例,假设经过温度的特征化(characterization)后,若在温度50度(℃)以下时,一热感知事务层功率模型电路的功耗为5瓦特(W),在温度100度以上时,此热感知事务层功率模型电路的功耗则为8瓦特,以及在温度50~100度时,温度和功率则成一线性关系。因此,如图2所示,就可将此热感知事务层功率模型电路的温度和功率的关系写成温度程序代码,并将此温度程序代码预先储存在此热感知事务层功率模型电路中。根据本发明一实施例,每一热感知事务层功率模型电路可藉由其所包含的温度程序代码,根据温度仿真驱动器140所提供的温度信息,来产生功率信息。根据本发明一实施例,每一区块会预先被分成多个网格(grid),其中每一网格可对应相同或不同的功率比重。以图3A-3B为例,当一区块经过一预先的分析后,若此区块产生的温度和功率分布均匀时(如图3A所示),就会考虑以粗调(Coarse)的方式(即不将此区块分成多个网格)设计该区块。若此区块产生的温度和功率分布不均匀(每一网格对应不同的功率比重)时(如图3B所示,每一网格对应的功率比重并未完全相同),就会考虑以细调(finegrid)的方式(即将此区块分成多个网格)设计该区块。根据本发明一实施例,每一区块预先被分成多个网格时,会计算每一区块被分成一第一数量(例如:1*1)的网格时所对应的一第一温度最大差值,和每一区块被分成一第二数量(例如:2*2)的网格时所对应的一第二温度最大差值,其中第二数量大于第一数量。接着,会去计算第二温度最大差值和第一温度最大差值的一第一差异值,并判断第一差异值是否大于一临界值。当第一差异值小于或等于此临界值,就采用第一数量的网格。当第一差异值大于此临界值时,则会再计算此区块被分成一第三数量(例如:4*4)的网格时所对应的一第三温度最大差值,其中第三数量大于第二数量。接着,计算第三温度最大差值计算和第二温度最大差值的一第二差异值,以及判断第二差异值是否大于此临界值。以此类推的作法,直到差异值小于或等于此临界值为止。根据本发明一实施例,不同数量的网格所对应的温度最大差值,系表示该区块分成不同数量的网格时,该区块所对应的最大温度值(Tmax)和最低温度值(Tmin)相减的差异值。根据本发明一实施例,上述流程可适用于一算法,但本发明并不以此为限。算法的流程则如图4所示,其中在图4中ΔTm表示被分成m*m个网格的一区块所对应的温度最大差值,温度最大差值则表示为ΔT=Tmax-Tmin,其中Tmax表示该区块对应的最大温度值,Tmin表示该区块对应的最低温度值。一开n会先设成1,也就是说会先计算分成1*1个网格的一区块所对应的温度最大差值ΔT1,以及计算分成2*2个网格的一区块所对应的温度最大差值ΔT2。接着再判断温度最大差值ΔT2和温度最大差值ΔT1相减的差异值是否会大于临界值。若差异值未大于临界值,采用分成1*1个网格的一区块。若差异值大于临界值,则将n=2代入。如上所述,会先计算分成2*2个网格的一区块所对应的温度最大差值ΔT2,以及计算 分成4*4个网格的一区块所对应的温度最大差值ΔT4。接着再判断温度最大差值ΔT2和温度最大差值ΔT4相减的差异值是否会大于临界值。若差异值未大于临界值,采用分成2*2个网格的一区块。若差异值大于临界值,则以此类推继续上述流程。根据本发明一实施例,每一热感知事务层功率模型电路会根据其所对应的区块是否有被分成多个网格,采用一粗调(Coarse)或一细调(finegrid)的网络设计。根据本发明一实施例,每一热感知事务层功率模型电路更包含一对应的查找表(look-uptable)。根据本发明一实施例,每一热感知事务层功率模型电路所包含的查找表预先根据每一热感知事务层功率模型电路所对应的不同温度和不同功率的关系被建立。根据本发明一实施例,当每一热感知事务层功率模型电路获得一温度信息时,即可根据其所包含的查找表,取得对应此温度信息的功率信息。根据本发明一实施例,当转换器130取得功率信息P1、P2、P3后,转换器130会将功率信息P1、P2、P3转换成仿真引擎120兼容的兼容信息。根据本发明一实施例,仿真引擎120可系一类SPICE仿真引擎(SPICE-likeSimulationEngine),例如:一PSPICE仿真引擎、一HSPICE仿真引擎、一Spectra仿真引擎,或一Nexxim仿真引擎,但本发明并不以此为限。根据本发明一实施例,转换器130会根据每一区块的布局(Floorplan)和材料(material),产生每一区块对应的一电阻电容网络,并根据电阻电容网络,产生对应电阻电容网络的一参数信息,其中此参数信息系兼容于仿真引擎120的格式。底下将会以图5图来做说明。图5显示根据本发明的一实施例的热电阻-电容转换的示意图。如图5所示,转换器130会根据内存区块110-1、处理器区块110-2和客制化区块110-3的布局和材料,产生内存区块110-1、处理器区块110-2和客制化区块110-3所对应的电阻电容网络,其中节电N1系对应内存区块110-1,节电N2系对应处理器区块110-2,以及节电N3系对应客制化区块110-3。接着,转换器130会根据电阻电容网络,产生对应电阻电容网络的一参数信息。图6显示根据本发明的一实施例的参数信息的示意图,其中R1_2N1N2valr1_2系表示节点N1和节点N2间的热电阻值,C1_2N1N2valc1_2 系表示节点N1和节点N2间的热电容值。以此类推,R1_3N1N3valr1_3系表示节点N1和节点N3间的热电阻值,C1_3N1N3valc1_3系表示节点N1和节点N3间的热电容值,R2_3N2N3valr2_3系表示节点N2和节点N3间的热电阻值,C2_3N2N3valc2_3系表示节点N2和节点N3间的热电容值。根据本发明一实施例,转换器130亦会将功率信息P1、P2、P3转换成电流信息。图7显示根据本发明的一实施例的功率信息转换电流信息的示意图。如图7所示,转换器130会将功率信息P1、P2、P3带入图7的函式,即可取得内存区块110-1、处理器区块110-2和客制化区块110-3所对应的电流信息,其中Tij表示时间,Pij表示功耗,i是区块的编号,j是时间点的编号,PWL则是SPICE既定的格式。因此,Isource1Iprocessor0PWL(T11P11T12P12…)即表示内存区块110-1的电流信息,Isource2Imemory0PWL(T21P21T22P22…)即表示处理器区块110-2的电流信息,Isource3ICIP0PWL(T31P31T32P32…)即表示客制化区块110-3的电流信息。本发明所述的兼容信息包含转换器130所产生的参数信息以及电流信息。当要进行温度仿真时,温度仿真驱动器140会主动去驱动仿真引擎120。仿真引擎120被驱动后,就会根据兼容信息进行仿真,以产生内存区块110-1、处理器区块110-2和客制化区块110-3所对应的温度信息T1、T2、T3。接着,仿真引擎120会将温度信息T1、T2、T3传送给温度仿真驱动器140。温度仿真驱动器会将温度信息T1、T2、T3分别传送给对应的内存区块110-1、处理器区块110-2和客制化区块110-3。内存区块110-1、处理器区块110-2和客制化区块110-3取得温度信息T1、T2、T3后,就会再根据温度信息T1、T2、T3,再产生新的功率信息P1、P2、P3,以进行大体上实时(substantiallyrealtime)动态调整更新温度和功耗。根据本发明一实施例,温度仿真装置100更包括一判断电路(图未显示)。判断电路系用以判断芯片系一二维(2dimension,2D)芯片或一三维(3dimension,3D)芯片。根据本发明一实施例,当芯片系二维芯片时,进行一传统的分析方法,例如:一数值分析方法(numericalmethod)、一解析方 法(analyticalmethod)等,当芯片系三维芯片时,则进行本发明的温度仿真方法。根据本发明一实施例,温度仿真装置100适用于不同时序层级的设计模型,例如:周期性精确(CycleAccurate,CA)、含时间的程序者观点(ProgrammerViewwithTiming,PVT)、程序者观点(ProgrammerView,PV)、无时间(untime)等。图8根据本发明一实施例的温度仿真方法的流程图800,此温度仿真方法适用于一事务层级设计的包含多个区块(例如:内存区块110-1、处理器区块110-2、客制化区块110-3)的一芯片。如图8所示,在步骤S810,藉由温度仿真装置100的多个热感知事务层功率模型电路产生多个区块各自对应的一功率信息。在步骤S820,藉由温度仿真装置100根据功率信息产生一仿真引擎(例如:一PSPICE仿真引擎、一HSPICE仿真引擎、一Spectra仿真引擎,或一Nexxim仿真引擎)兼容的一兼容信息。在步骤S830,藉由温度仿真装置100根据兼容信息产生多个区块各自对应的一温度信息。在步骤S840,藉由温度仿真装置100传送温度信息给对应的多个区块。在步骤S840,藉由温度仿真装置100根据温度信息动态调整功率信息。根据本发明一实施例,在步骤S810更包括藉由每一热感知事务层功率模型电路,透过一温度程序代码,根据温度信息,来产生功率信息。根据本发明一实施例,每一区块预会先被分成多个网格(grid),且每一网格对应相同或不同的功率比重。因此,根据本发明一实施例,在步骤S810更包括根据多个区块是否有被分成多个网格(grid),采用一粗调(Coarse)或一细调(finegrid)的网络设计。根据本发明一实施例,在步骤S810更包括预先根据不同温度和不同功率的关系在每一热感知事务层功率模型电路建立一查找表(lookuptable),并根据上述查找表,取得功率信息。根据本发明一实施例,在步骤S820更包括根据每一多个区块的布局和材料,产生每一多个区块对应的一电阻电容网络,接着根据上述电阻电容网络,产生对应上述电阻电容网络的一参数信息。此外,在步骤S820更包括将功率信息转换成对应每一区块的电流信息,其中上述兼容信息包含了参数信息以及电流信息。根据本发明一实施例,在步骤S810之后,会先判断上述芯片系一二维芯片或一三维芯片。若上述芯片系二维芯片时,就会进行一传统的分析方法,例如:一数值分析方法(numericalmethod)、一解析方法(analyticalmethod)等。图9根据本发明一实施例的多个区块分成多个网格方法的流程图900,此温度仿真方法适用于一事务层级设计的包含多个区块(例如:内存区块110-1、处理器区块110-2、客制化区块110-3)的一芯片。如图9所示,在步骤S910,计算区块被分成一第一数量的网格时所对应的一第一温度最大差值,和计算区块被分成一第二数量的网格时所对应的一第二温度最大差值,其中第二数量大于第一数量。在步骤S920,计算第二温度最大差值和第一温度最大差值的差异值(第一差异值)。在步骤S930,判断差异值是否大于一临界值。若差异值小于或等于一临界值时,进行步骤S940。在步骤S940,采用第一数量的网格来进行区块的分析。若差异值大于上述临界值时,回到步骤S910。在步骤S910,计算区块被分成一第三数量的网格时所对应的一第三温度最大差值,其中第三数量大于第二数量。接着,再进行步骤S920,计算第三温度最大差值和第二温度最大差值的差异值(第二差异值)。接着再进行步骤S930,判断差异值是否大于临界值。若差异值小于或等于一临界值时,就采用第二数量的网格来进行区块的分析。若差异值大于一临界值时,就继续回到步骤S810。根据本发明所提出的温度仿真方法,可将原本温度与功耗的仿真问题,转换成电压与电流的问题。本发明所提出的温度仿真方法可透过适当的设计与格式的转换,就可以利用类SPICE仿真工具来进行事务层级仿真温度,并大体上实时动态更新调整温度和功耗的信息,以达到高效能和高效率的模拟效果。此外,SPICE在电子电路已经是很成熟的模拟工具,其具有非常强大的解矩阵的能力与快速模拟的能力,因此透过本发明所提出的温度仿真方法将不用采取运算复杂度高的算法与热仿真软件。根据本发明所公开的方法和算法的步骤,可直接透过执行一处理器直接应用在硬件以及软件模块或两者的结合上。一软件模块(包括执行指令和相关数据)和其它数据可储存在数据内存中,像是随机存取内存(RAM)、闪 存(flashmemory)、只读存储器(ROM)、可抹除可规化只读存储器(EPROM)、电子可抹除可规划只读存储器(EEPROM)、缓存器、硬盘、可携式应碟、光盘只读存储器(CD-ROM)、DVD或在此领域现有技术中任何其它计算机可读取的储存媒体格式。一储存媒体可耦接至一机器装置,举例来说,像是计算机/处理器(为了说明的方便,在本说明书以处理器来表示),上述处理器可透过来读取信息(像是程序代码),以及写入信息至储存媒体。一储存媒体可整合一处理器。一特殊应用集成电路(ASIC)包括处理器和储存媒体。一用户设备则包括一特殊应用集成电路。换句话说,处理器和储存媒体以不直接连接用户设备的方式,包含于用户设备中。此外,在一些实施例中,任何适合计算机程序的产品包括可读取的储存媒体,其中可读取的储存媒体包括和一或多个所揭露实施例相关的程序代码。在一些实施例中,计算机程序的产品可包括封装材料。本说明书中所提到的「一实施例」或「实施例」,表示与实施例有关的所述特定的特征、结构、或特性是包含根据本发明的至少一实施例中,但并不表示它们存在于每一个实施例中。因此,在本说明书中不同地方出现的「在一实施例中」或「在实施例中」词组并不必然表示本发明的相同实施例。以上段落使用多种层面描述。而根据本发明的教示可以多种方式实现,在实施例中公开的任何特定架构或功能仅为一代表性的状况。根据本发明的教示,任何熟知此技艺的人士应理解在本发明公开的各层面可独立实作或两种以上的层面可以合并实作。虽然本发明已以较佳实施例公开如上,然其并非用以限定本发明,任何熟习此技艺者,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,因此本发明的保护范围当视权利要求保护范围为准。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1