*Q1: problem statement裡提到,給定15個macros,其中有5個hard macro以及10個soft macros......,請問這些數字是固定的嗎?換句話說,每個test cases都是這樣的條件嗎? *A1: 是的,這些數字是固定的。 ========================================================================== *Q2: 請問有關soft module的aspect ratio 可為range中之任何數嗎? 是否需要使得長與寬仍為整數且相乘"完全"等於原來面積? 謝謝! *A2: 可以為 range 中之任何數。 長與寬不必一定為整數,可以容許因小數產生的面積誤差 ========================================================================== *Q3: module根據以往的經驗是可以旋轉的 但以hard module 來看, 旋轉之後的長寬比仍然可以算是符合此 ratio 嗎? (長寬已顛倒, 那個為長, 那個為寬? ) 反觀 soft module, 旋轉之後的長寬比變成 1/ratio, 如果落在範圍外的話該如何界定呢? 建議 uppbound & lowerbound of soft module ratio 應該要為一個倒數的關係 而hard module 則可以旋轉, 有兩種ratio可選擇. 或許如此才是一個比較嚴謹的定義? *A3: 謝謝您的建議, module是可以旋轉沒有錯 一般module都會有一個參考點(通常是左下, 如圖'+') __W___ | | | L (+)______| 然後以此界定長(L)寬(W)比以及旋轉的方向(可參考DEF or LEF格式的定義) 如此就可以解決長寬比定義的問題 題目中沒有說明清楚, 是我的疏忽, (當然您所提的方法也是一種可能的解決方案) ========================================================================== *Q4: 我們發現,面積與net的長度有一定的關係,但是輸出的結果必須要放在chip_box的前 提下,才比較net的總長度和面積嘛? 假若,有較短的net的總長度,但是放不下在 chip_box裡面,那這樣算是可以接受的結果嘛? *A4: 輸出結果在 chip_box 的範圍之內是必要條件,各項比較必須基於此前提 ========================================================================== *Q5: 雖然之前有說test case中應是固定15個macros,5個hard marcos,10個soft macros 但公布的test case中,case2全為hard macro,case4全為soft macro 不知是否需解決此問題? 或者能解決不固定的macro數數,和不固定的soft and hard marcos問題會有額外的bonus呢? 謝謝! *A5: 若您的程式可處理不定個數的hard/soft macro,則可使用case 2及case 4來測試此項功能。 若成功,可加分。但若沒有此項功能,也不會扣分。 ========================================================================== *Q6: 本題精密度到底可到小數點下幾位,由於輸出結果包含 (1) 各macro右上角座標 (2) 各macro左下角座標 (3) 線長 (4) 總面積 各組誤差來源分別如下: (1) 各macro右上角座標:來自座標相加(減)造成的誤差 如:(0.3,0.2),(0.5,0.8) 兩組相加得(0.8,1.0) 但其實(0.3,0.2)原為(0.35,0.25),(0.55,0.86) 故兩組相加應得(0.9 ,1.1) 所以若僅精密到小數點下一位,會有如上的估計錯誤(誤差) (2) 各macro左下角座標:來自座標相加(減)造成的誤差 同上例所示。 (3) 線長:不僅來自座標相加減的誤差,可能還包含因(1)、(2)所造成誤差的累積誤差。 例如: 假若有兩個macro,個別左下及右上座標為: macro1: (0.2, 0.4),(0.5, 0.6) 即中心點為 (0.35, 0.5) macro2:(0.3, 0.8),(0.9, 1.2) 即中心點為 (0.6, 1.0) 則兩macro間的曼哈頓距離為=(0.6-0.35)+(1.0-0.5)=(0.25+ 0.5)=0.75 但實際上 macro1: (0.25, 0.42),(0.56, 0.68) 即中心點為 (0.405, 0.55) macro2:(0.35, 0.83),(0.96, 1.29) 即中心點為 (0.655, 1.06) 則兩macro間的曼哈頓距離為=(0.655-0.405)+(1.06-0.55)=(0.25+ 0.51)=0.76 故會有誤差。 (4) 總面積:不僅來自座標相乘除的誤差外,可能還包含因(1)、(2)所造成誤差的累積誤差。 例如: 面積為12.3*23.5=289.05,但實際上為12.38*23.59=292.0442。 基於以上,請否對以上四個輸出資料,提出精密度要求,謝謝! *A6: 小數的有效位數並無嚴格規定,可以自行決定。 ========================================================================== *Q7: 請問: 所謂net的求法是針對一個net做一棵tree,或是全部的net做一個tree? 若只針對一個net做一棵tree,則無法保證與其他的net之間會不會形成cycle, 但若以全部的net做一棵tree,則無法保證要求的maro之間會有連線( 可能因為會形成 cycle而被略過;或是因為weight 太大而不被考慮,但可能會間接經由其他net而有關聯 ) 所以目前對於題目要求的net有些模糊,麻煩請解惑,謝謝 。 *A7: 求法是一個 net 對應一棵 tree, 不需同時考慮與其他 net 的關係 ========================================================================== *Q8: 關於CAD競賽第一題的精密度問題, 所得到的答覆為: 在小數點上並無嚴格規定. 這在比較上是否會有失公平性. 因為取精密度較大的所得到的結果會大一點, 能夠給個統一的規定嗎? 或給精密度較高者額外的bonus嗎? 謝謝!! *A8: 如果兩者結果很接近,我們會以較低的精密度做比較(以相同基準) 至於精密度較高無法給予額外 bonus(因題目中並無規定此項可加分) ==========================================================================