From avikbose1145 at gmail.com Fri Jun 7 00:39:56 2013 From: avikbose1145 at gmail.com (Avik Bose) Date: Fri, 7 Jun 2013 10:09:56 +0530 Subject: [Hotspot] Inclusion of thermal vias in hotspot simulation Message-ID: Respected friends, In the HowTo file of HoSpot5.02 release it is written that to model 3D chip's thermal vias we have to change manually in the source code the thermal conductivity of the grid cells at which the thermal vias are located, to the desired values. My question is in order to do that which source code file I need to update and where, and also what are the desired values that I need to put. If anybody knows please help me out -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.cs.virginia.edu/pipermail/hotspot/attachments/20130607/2d278cad/attachment.html From waqasch86 at gmail.com Fri Jun 7 08:09:03 2013 From: waqasch86 at gmail.com (waqas ch) Date: Fri, 7 Jun 2013 14:09:03 +0200 Subject: [Hotspot] Inclusion of thermal vias in hotspot simulation In-Reply-To: References: Message-ID: Hi You can change the thermal conductivity of the individual grid cells in temperature_grid.c file. The function where it is located is the single_iteration_steady_grid and you can put 400W/mk if thermal via is of copper as the thermal conductivity. I hope it helps. Best regards Waqas On Fri, Jun 7, 2013 at 6:39 AM, Avik Bose wrote: > Respected friends, > In the HowTo file of HoSpot5.02 release it is > written that to model 3D chip's thermal vias we have to change manually in > the source code the thermal conductivity of the grid cells at which the > thermal vias are located, to the desired values. My question is in order to > do that which source code file I need to update and where, and also what > are the desired values that I need to put. If anybody knows please help me > out > > _______________________________________________ > HotSpot mailing list > HotSpot at mail.cs.virginia.edu > http://www.cs.virginia.edu/mailman/listinfo/hotspot > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.cs.virginia.edu/pipermail/hotspot/attachments/20130607/d6019b33/attachment.html From avikbose1145 at gmail.com Sun Jun 9 01:12:06 2013 From: avikbose1145 at gmail.com (Avik Bose) Date: Sun, 9 Jun 2013 10:42:06 +0530 Subject: [Hotspot] Inclusion of thermal vias in hotspot 3D stacking simulation Message-ID: Respected friends, I have come to know that to include thermal vias in hotspot 3D stacking capability, I have to change the thermal conductivity of each grid cells that constitute the pillar node in the single_iteration_steady_grid function of temperature_grid.c file of HotSpot release. Now I have some question regarding this. 1) In that fuction, there are two variables csum and wsum which indicates sum of the conductance and weighted sum of temperatures for a particular cell. Depending upon the layer and row and column of a cell, these two vaules are calculated using several macros like, NC,SC,EC,WC,BC,AC for csum, and NT,ST,ET,WT,BT,AT for wsum. For example the NC macro look like this : # define NC(l,n,i,j,nl,nr,nc) ((i > 0) ? (1.0/l[n].ry) : 0.0) I study some data structures and come to know that the l[n].ry field is the resistor of Y direction of the cell located at ith row. My question is what the value 1.0 signifies? Is it the thermal conductivity? or something else. 2) I came to know that 400W/mK is the conductivity value for copper via. Now suppose, if the pillar node constitutes (x1,y1),...,(xi,yi) cells then to change the conductivity of those cells to 400, do I have to put directly 400 to the csum field by just checking the row and column of the cells or I have to update the macros, that I am talking about above? If yes then how? 3) I am showing just a snippet of the first "if" construct of the function. Can anybody tell how to change the conductivity of the csum field If csum effects wsum then how to to that too? for(n=0; n < nl; n++) { for(i=0; i < nr; i++) { for(j=0; j < nc; j++) { if((n==LAYER_SI) && model_secondary) {//top silicon layer: above is metal, beneath is TIM csum = NC(l,n,i,j,nl,nr,nc) + SC(l,n,i,j,nl,nr,nc) + EC(l,n,i,j,nl,nr,nc) + WC(l,n,i,j,nl,nr,nc) + 1.0/l[metalidx].rz + BC(l,n,i,j,nl,nr,nc); wsum = NT(l,v,n,i,j,nl,nr,nc) + ST(l,v,n,i,j,nl,nr,nc) + ET(l,v,n,i,j,nl,nr,nc) + WT(l,v,n,i,j,nl,nr,nc) + v[metalidx][i][j]/l[metalidx].rz + BT(l,v,n,i,j,nl,nr,nc); If anybody have made use of thermal vias in HotSpot or knows how to do that then please help me out. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.cs.virginia.edu/pipermail/hotspot/attachments/20130609/f85421ed/attachment.html From acoskun at bu.edu Sun Jun 9 15:33:12 2013 From: acoskun at bu.edu (Ayse K. Coskun) Date: Sun, 9 Jun 2013 15:33:12 -0400 Subject: [Hotspot] HotSpot Digest, Vol 87, Issue 2 In-Reply-To: References: Message-ID: <683F6F62-CADA-475A-9026-8EEB2FE91921@bu.edu> BU's extended version on the HotSpot site (under "links") enables modeling thermal vias. I can provide an updated version of the extended version, too (a bit cleaner, some minor bugs fixed, no major differences). Ayse > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Sun, 9 Jun 2013 10:42:06 +0530 > From: Avik Bose > Subject: [Hotspot] Inclusion of thermal vias in hotspot 3D stacking > simulation > To: HotSpot at mail.cs.virginia.edu > Message-ID: > > Content-Type: text/plain; charset="iso-8859-1" > > Respected friends, > I have come to know that to include thermal > vias in hotspot 3D stacking capability, I have to change the thermal > conductivity of each grid cells that constitute the pillar node in the > single_iteration_steady_grid function of temperature_grid.c file of HotSpot > release. Now I have some question regarding this. > > 1) In that fuction, there are two variables csum and wsum which indicates > sum of the conductance and weighted sum of temperatures for a particular > cell. Depending upon the layer and row and column of a cell, these two > vaules are calculated using several macros like, NC,SC,EC,WC,BC,AC for > csum, and NT,ST,ET,WT,BT,AT for wsum. > > For example the NC macro look like this : > # define NC(l,n,i,j,nl,nr,nc) ((i > 0) ? (1.0/l[n].ry) : > 0.0) > I study some data structures and come to know that the l[n].ry field is > the resistor of Y direction of the cell located at ith row. My question is > what the value 1.0 signifies? Is it the thermal conductivity? or something > else. > > 2) I came to know that 400W/mK is the conductivity value for copper via. > Now suppose, if the pillar node constitutes (x1,y1),...,(xi,yi) cells then > to change the conductivity of those cells to 400, do I have to put directly > 400 to the csum field by just checking the row and column of the cells or I > have to update the macros, that I am talking about above? If yes then how? > > 3) I am showing just a snippet of the first "if" construct of the function. > Can anybody tell how to change the conductivity of the csum field If csum > effects wsum then how to to that too? > > for(n=0; n < nl; n++) { > for(i=0; i < nr; i++) { > for(j=0; j < nc; j++) { > if((n==LAYER_SI) && model_secondary) {//top silicon layer: above is metal, > beneath is TIM > csum = NC(l,n,i,j,nl,nr,nc) + SC(l,n,i,j,nl,nr,nc) + > EC(l,n,i,j,nl,nr,nc) + WC(l,n,i,j,nl,nr,nc) + > 1.0/l[metalidx].rz + BC(l,n,i,j,nl,nr,nc); > wsum = NT(l,v,n,i,j,nl,nr,nc) + ST(l,v,n,i,j,nl,nr,nc) + > ET(l,v,n,i,j,nl,nr,nc) + WT(l,v,n,i,j,nl,nr,nc) + > v[metalidx][i][j]/l[metalidx].rz + BT(l,v,n,i,j,nl,nr,nc); > > > > If anybody have made use of thermal vias in HotSpot or knows how > to do that then please help me out. > -------------- next part -------------- > An HTML attachment was scrubbed... > URL: http://www.cs.virginia.edu/pipermail/hotspot/attachments/20130609/f85421ed/attachment-0001.html > > ------------------------------ > > _______________________________________________ > HotSpot mailing list > HotSpot at mail.cs.virginia.edu > http://www.cs.virginia.edu/mailman/listinfo/hotspot > > > End of HotSpot Digest, Vol 87, Issue 2 > ************************************** From acoskun at bu.edu Sun Jun 9 15:33:12 2013 From: acoskun at bu.edu (Ayse K. Coskun) Date: Sun, 9 Jun 2013 15:33:12 -0400 Subject: [Hotspot] HotSpot Digest, Vol 87, Issue 2 In-Reply-To: References: Message-ID: <683F6F62-CADA-475A-9026-8EEB2FE91921@bu.edu> BU's extended version on the HotSpot site (under "links") enables modeling thermal vias. I can provide an updated version of the extended version, too (a bit cleaner, some minor bugs fixed, no major differences). Ayse > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Sun, 9 Jun 2013 10:42:06 +0530 > From: Avik Bose > Subject: [Hotspot] Inclusion of thermal vias in hotspot 3D stacking > simulation > To: HotSpot at mail.cs.virginia.edu > Message-ID: > > Content-Type: text/plain; charset="iso-8859-1" > > Respected friends, > I have come to know that to include thermal > vias in hotspot 3D stacking capability, I have to change the thermal > conductivity of each grid cells that constitute the pillar node in the > single_iteration_steady_grid function of temperature_grid.c file of HotSpot > release. Now I have some question regarding this. > > 1) In that fuction, there are two variables csum and wsum which indicates > sum of the conductance and weighted sum of temperatures for a particular > cell. Depending upon the layer and row and column of a cell, these two > vaules are calculated using several macros like, NC,SC,EC,WC,BC,AC for > csum, and NT,ST,ET,WT,BT,AT for wsum. > > For example the NC macro look like this : > # define NC(l,n,i,j,nl,nr,nc) ((i > 0) ? (1.0/l[n].ry) : > 0.0) > I study some data structures and come to know that the l[n].ry field is > the resistor of Y direction of the cell located at ith row. My question is > what the value 1.0 signifies? Is it the thermal conductivity? or something > else. > > 2) I came to know that 400W/mK is the conductivity value for copper via. > Now suppose, if the pillar node constitutes (x1,y1),...,(xi,yi) cells then > to change the conductivity of those cells to 400, do I have to put directly > 400 to the csum field by just checking the row and column of the cells or I > have to update the macros, that I am talking about above? If yes then how? > > 3) I am showing just a snippet of the first "if" construct of the function. > Can anybody tell how to change the conductivity of the csum field If csum > effects wsum then how to to that too? > > for(n=0; n < nl; n++) { > for(i=0; i < nr; i++) { > for(j=0; j < nc; j++) { > if((n==LAYER_SI) && model_secondary) {//top silicon layer: above is metal, > beneath is TIM > csum = NC(l,n,i,j,nl,nr,nc) + SC(l,n,i,j,nl,nr,nc) + > EC(l,n,i,j,nl,nr,nc) + WC(l,n,i,j,nl,nr,nc) + > 1.0/l[metalidx].rz + BC(l,n,i,j,nl,nr,nc); > wsum = NT(l,v,n,i,j,nl,nr,nc) + ST(l,v,n,i,j,nl,nr,nc) + > ET(l,v,n,i,j,nl,nr,nc) + WT(l,v,n,i,j,nl,nr,nc) + > v[metalidx][i][j]/l[metalidx].rz + BT(l,v,n,i,j,nl,nr,nc); > > > > If anybody have made use of thermal vias in HotSpot or knows how > to do that then please help me out. > -------------- next part -------------- > An HTML attachment was scrubbed... > URL: http://www.cs.virginia.edu/pipermail/hotspot/attachments/20130609/f85421ed/attachment-0001.html > > ------------------------------ > > _______________________________________________ > HotSpot mailing list > HotSpot at mail.cs.virginia.edu > http://www.cs.virginia.edu/mailman/listinfo/hotspot > > > End of HotSpot Digest, Vol 87, Issue 2 > ************************************** From shuaiwanghit at gmail.com Mon Jun 10 10:37:14 2013 From: shuaiwanghit at gmail.com (Shuai Wang) Date: Mon, 10 Jun 2013 22:37:14 +0800 Subject: [Hotspot] 'Block not found' problem in 3D IC simulation Message-ID: Dear Sir? I am using Hotspot 5.02 in grid mode for 3D IC simulation. But it tells me that ?block Unit2 not found?. I am wondering the reason. In detail, the lcf file *example0609.lcf *goes: # Layer 0: Silicon 0 Y Y 1.75e6 0.01 0.00015 floorplan0609EXCEL1.flp # Layer 1: thermal interface material (TIM) 1 Y N 4e6 0.25 2.0e-05 floorplan0609EXCEL1.flp # Layer 2: Silicon 2 Y Y 1.75e6 0.01 0.00015 floorplan0609EXCEL2.flp # Layer 3: thermal interface material (TIM) 3 Y N 4e6 0.25 2.0e-05 floorplan0609EXCEL2.flp The *floorplan0609EXCEL1.flp* file goes: Unit1 .0001 .000118 0 0 Unit3 .0001 .000102 0 .000118 Unit5A .0001 .000127 0 .00022 The *floorplan0609EXCEL2.flp* file goes: Unit2 .0001 .000118 0 0 Unit4 .0001 .000102 0 .000118 Unit5B .0001 .000127 0 .00022 The *gcc0609EXCEL1.flp* file goes: Unit1 Unit2 Unit3 Unit4 Unit5A Unit5B .01647 .01647 .01425 .01425 .01781 .01781 Then, I type the following code in the Linux operation system: [root at localhost HotSpot-5.02]# ./hotspot -c hotspot.config -f floorplan0609EXCEL2.flp -p gcc0609EXCEL1.ptrace -o example060922.ttrace -model_type grid -grid_layer_file example0609.lcf But the sytem tell me the following information: warning: layer configuration file specified. overriding default floorplan with those in lcf file... *error: block Unit2 not found* I have also tried similar code for 3D IC simulation in the past days, and everything goes well. Could you tell me what is wrong this time? I am really appreaciated if you could help me solve this problem. Thank you in advance. Best wishes. Shuai Wang Harbin Institute of Technology, China -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.cs.virginia.edu/pipermail/hotspot/attachments/20130610/942e0711/attachment-0001.html From wh6p at virginia.edu Tue Jun 11 11:44:26 2013 From: wh6p at virginia.edu (Wei Huang) Date: Tue, 11 Jun 2013 10:44:26 -0500 Subject: [Hotspot] 'Block not found' problem in 3D IC simulation In-Reply-To: References: Message-ID: Hi, in the power trace file, you need to use the same sequence as the blocks appear in the flp files, from layer 0 to layer N. So in your case, the entries in the *.ptrace file should be: "Unit1 Unit3 Unit5A Unit2 Unit4 Unit5B" Hope this helps. -Wei On Mon, Jun 10, 2013 at 9:37 AM, Shuai Wang wrote: > Dear Sir? > > > > I am using Hotspot 5.02 in grid mode for 3D IC simulation. But it tells me > that ?block Unit2 not found?. I am wondering the reason. > > In detail, the lcf file *example0609.lcf *goes: > > # Layer 0: Silicon > > 0 > > Y > > Y > > 1.75e6 > > 0.01 > > 0.00015 > > floorplan0609EXCEL1.flp > > > > # Layer 1: thermal interface material (TIM) > > 1 > > Y > > N > > 4e6 > > 0.25 > > 2.0e-05 > > floorplan0609EXCEL1.flp > > > > # Layer 2: Silicon > > 2 > > Y > > Y > > 1.75e6 > > 0.01 > > 0.00015 > > floorplan0609EXCEL2.flp > > > > # Layer 3: thermal interface material (TIM) > > 3 > > Y > > N > > 4e6 > > 0.25 > > 2.0e-05 > > floorplan0609EXCEL2.flp > > > > The *floorplan0609EXCEL1.flp* file goes: > > Unit1 .0001 .000118 0 0 > > Unit3 .0001 .000102 0 .000118 > > Unit5A .0001 .000127 0 .00022 > > > > The *floorplan0609EXCEL2.flp* file goes: > > Unit2 .0001 .000118 0 0 > > Unit4 .0001 .000102 0 .000118 > > Unit5B .0001 .000127 0 .00022 > > > > The *gcc0609EXCEL1.flp* file goes: > > Unit1 Unit2 Unit3 Unit4 Unit5A Unit5B > > .01647 .01647 .01425 .01425 .01781 .01781 > > > > > Then, I type the following code in the Linux operation system: > > [root at localhost HotSpot-5.02]# ./hotspot -c hotspot.config -f > floorplan0609EXCEL2.flp -p gcc0609EXCEL1.ptrace -o example060922.ttrace > -model_type grid -grid_layer_file example0609.lcf > > > > But the sytem tell me the following information: > > warning: layer configuration file specified. overriding default floorplan > with those in lcf file... > > *error: block Unit2 not found* > > > > I have also tried similar code for 3D IC simulation in the past days, and > everything goes well. Could you tell me what is wrong this time? I am > really appreaciated if you could help me solve this problem. Thank you in > advance. > > > > Best wishes. > > Shuai Wang > > Harbin Institute of Technology, China > > _______________________________________________ > HotSpot mailing list > HotSpot at mail.cs.virginia.edu > http://www.cs.virginia.edu/mailman/listinfo/hotspot > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.cs.virginia.edu/pipermail/hotspot/attachments/20130611/b6799763/attachment.html From fkaplan3 at bu.edu Fri Jun 21 11:50:26 2013 From: fkaplan3 at bu.edu (Fulya Kaplan) Date: Fri, 21 Jun 2013 11:50:26 -0400 Subject: [Hotspot] rk4 solver with adjusted step size Message-ID: Hi, I was examining the 4th order Runge Kutta solver with adaptive step size for the grid model. for (t = 0, new_h = MIN_STEP; t < time_elapsed && new_h >= MIN_STEP*DELTA; t+=h) { h = new_h; /* pass the entire grid and the tail of package nodes * as a 1-d array */ new_h = rk4(model, model->last_trans->cuboid[0][0], p, /* array size = grid size + EXTRA */ model->rows * model->cols * model->n_layers + extra_nodes, &h, model->last_trans->cuboid[0][0], /* the slope function callback is typecast accordingly */ (slope_fn_ptr) slope_fn_grid); new_h = MIN(new_h, time_elapsed-t-h); #if VERBOSE > 1 i++; #endif } The loop starts with the step size *h= MIN_STEP*. For the current power and temperatures, the function finds the new step size (new_h) that obeys the temperature accuracy constraints. At the end of a single rk4 function call, the grid temperatures that are computed based on the *new_h* are assigned as the current temperature (*yout* or *model->last_trans->cuboid[0][0]*). However, for the next iteration of the for loop, t is incremented by *h*, which is the previous step size. Shouldn't it be the *new_h*, intuitively? Basically, from time t=0 to t= new_h, you solve the differential equation and update the temperature, but increment the t by the old value *h. *Why is it so? Best. Fulya -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.cs.virginia.edu/pipermail/hotspot/attachments/20130621/b6aaa46c/attachment.html From ks4kk at virginia.edu Fri Jun 21 12:57:53 2013 From: ks4kk at virginia.edu (Karthik Sankaranarayanan) Date: Fri, 21 Jun 2013 12:57:53 -0400 Subject: [Hotspot] rk4 solver with adjusted step size In-Reply-To: References: Message-ID: Hi Fulya, The adaptive step-sizing that you have outlined happens inside the rk4 function in RCutil.c. It is the rk4 function that integrates from t=0 to t=h. It returns the new step-size to be used for the *next* rk4 call. Here is the snippet from that function. It is basically what you had outlined: /* try until accuracy is achieved */ do { h = new_h; ... /* accuracy OK. increase step size */ if (max <= RK4_PRECISION) { ... /* inaccuracy error. decrease step size and compute again */ } else { ... } } while (new_h < h); The code in temperature_grid.c that you have shown just uses that step size returned by rk4 function for time stepping. In other words, the rk4 function is internally consistent - it advances the solution by "h" (its argument) no matter what. The new_h calculated by it is for the *next* call. Thanks, -karthik On Fri, Jun 21, 2013 at 11:50 AM, Fulya Kaplan wrote: > Hi, > I was examining the 4th order Runge Kutta solver with adaptive step size > for the grid model. > > for (t = 0, new_h = MIN_STEP; t < time_elapsed && new_h >= MIN_STEP*DELTA; > t+=h) { > h = new_h; > /* pass the entire grid and the tail of package nodes > * as a 1-d array > */ > new_h = rk4(model, model->last_trans->cuboid[0][0], p, > /* array size = grid size + EXTRA */ > model->rows * model->cols * model->n_layers + extra_nodes, &h, > model->last_trans->cuboid[0][0], > /* the slope function callback is typecast accordingly */ > (slope_fn_ptr) slope_fn_grid); > new_h = MIN(new_h, time_elapsed-t-h); > #if VERBOSE > 1 > i++; > #endif > } > > The loop starts with the step size *h= MIN_STEP*. For the current power > and temperatures, the function finds the new step size (new_h) that obeys > the temperature accuracy constraints. At the end of a single rk4 function > call, the grid temperatures that are computed based on the *new_h* are > assigned as the current temperature (*yout* or * > model->last_trans->cuboid[0][0]*). However, for the next iteration of the > for loop, t is incremented by *h*, which is the previous step size. > Shouldn't it be the *new_h*, intuitively? Basically, from time t=0 to t= > new_h, you solve the differential equation and update the temperature, but > increment the t by the old value *h. *Why is it so? > > Best. > Fulya > > _______________________________________________ > HotSpot mailing list > HotSpot at mail.cs.virginia.edu > http://www.cs.virginia.edu/mailman/listinfo/hotspot > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.cs.virginia.edu/pipermail/hotspot/attachments/20130621/bf337711/attachment.html From shravanec2011 at gmail.com Sun Jun 30 09:45:48 2013 From: shravanec2011 at gmail.com (Shravankumar S Malagihal) Date: Sun, 30 Jun 2013 16:45:48 +0000 (UTC) Subject: [Hotspot] Invitation to connect on LinkedIn Message-ID: <2021979301.24619906.1372610748210.JavaMail.app@ela4-bed78.prod> LinkedIn ------------ I'd like to add you to my professional network on LinkedIn. - Shravankumar Shravankumar S Malagihal student at IIIT Bangalore India Confirm that you know Shravankumar S Malagihal: https://www.linkedin.com/e/-je4d2z-hikgzzmm-4p/isd/14605093148/xbyI6gjW/?hs=false&tok=0zFK6Vc4SJ4BQ1 -- You are receiving Invitation to Connect emails. Click to unsubscribe: http://www.linkedin.com/e/-je4d2z-hikgzzmm-4p/v4zvhl0_9nJhWIu3FCrqjlc_9DEqZ6kegiHXPKmxF5x/goo/HotSpot%40mail%2Ecs%2Evirginia%2Eedu/20061/I4860752022_1/?hs=false&tok=3nTB1qRZmJ4BQ1 (c) 2012 LinkedIn Corporation. 2029 Stierlin Ct, Mountain View, CA 94043, USA. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.cs.virginia.edu/pipermail/hotspot/attachments/20130630/07b0260e/attachment.html