*Q1: 1.給定的cell的座標代表的意義為何??? 2.cell跟cell一定要相連才能構成pattern嗎???以及他們的相對位置呢??? 3.pattern可以旋轉嗎??? 4.以下三種算同一個pattern嗎??? +----+----+ | A1 | B1 | | | | +----+ | | | | | +----+ +----+ | B1 | | | | +----+ | | A1 | | | | +----+----+ +----+----+ | B1 | A1 | | | | | +----+ | | | | +----+ *A1: 1.座標代表的意義為左下與右上的座標. 2.cell跟cell不需要相連才能構成pattern. 只要它們的相對位置一樣即可. 3.In real case, we should consider the rotation possibility, but in this topic the answer is NO. All of the cell is placed as R0 (no rotation, no mirror). 4.都不算 ========================================================================== *Q2: figure 1中: 1. (b)中的C1和C2可以再合併成D1,C3和C4可以再合併成D2,形成新的instance type D嗎? 若不行,是因為C1和C2間有間隔嗎?或是只能合併一次?有沒有其他範例可以說明? *A2: Yes, we can form a new instance type of D by grouping two C1/C2 (C3/C4) together, i.e. TOP / \ D1 D2 / \ / \ C1 C2 C1 C2 / \ A1 B1 ..... Then the total instances will be 6 (A1, B1, C1, C2, D1, D2); instance type: TOP, D, C, A, B And the total storage cost will be 5 x 6 + (2 + 1 + 1 + 20 + 30) = 84 You can find that the total cost is larger then the example we shown with Fig. 1-(b) solution, 83. So, sometime, more levels of hierarchy might not be the most optimized solution in considering the total storage cost. Please refer to the example2 in "測試檔”。 ========================================================================== *Q3: 請問一下比賽最後用的測試檔 是否都像現在提供的測試檔一樣 都是方形呢? *A3: Yes, all of the cell instances' bounding boxes are rectangular. ========================================================================== *Q4: 1. Cell A,B,C,... 顯然是由 真實的Cell 跟 Dummy Cell 組成 但我想 英文數字只有 26個 如果 Real Cell + Dummy Cell 超過26個怎麼辦? 要取名叫做什麼名字? 又或者是 在test case中 有超過26個的可能性嗎? 2. 在Cadence給的記憶體範例中 有256個Cell ,我想請教 本題目的Numbers of Maximun Input Cell 為多少? 也就是在檔案中 會讀入的Cell 數量最多會有幾個? 3. 我觀察過Test Case ,我發現16_16.txt test case Generate出來 右上方的點似乎有錯誤 (我不敢確定,煩請指正) 4. 這個程式的目的比較針對 General Case 還是針對 很規律的Case? (因為題目的範例 Cell很規律,記憶體很規律我才會問這個問題,本來是不應該問的) 舉例 在 16_16.txt中 TOP#1/A#1 0,0 8,8 // 這個點是正確的 顯示 A為一個 8*8 的 Cell TOP#1/A#2 0,10 8,9 // 此處 右上方的點 應為 8,18 但題目只有9 顯然 它用程式產生test cases時 不是用 10+8 而是用 1+8 才會出現這樣的錯誤 TOP#1/A#3 0,20 8,10 // 這是 誤把 20+8 變成 2+8 TOP#1/A#4 0,30 8,11 // 30+8 變成 3+8 TOP#1/A#5 0,40 8,12 // 剩下所有的 Cell 幾乎都犯一樣的錯誤 還有 題目第三頁 Output 這一行 TOP #1/C#3/B#1 45,20 60,18 // 此處應該為0不是20 *A4: 1. The cell name is a string of characters (combination of alpha-numeric characters). The maximum string length of the cell name is 256 characters. The names for the dummy cells can not be duplicated with the real cell names. 2. There is no limitation on the number of instances, and number of input cells. The limitation would be the 32-bit limitation of computer system. 3. Thanks for finding the error. Attached is the new input file for the test case. 4. You should consider the general case. Though the case shown in the example is a regular structure of cell instances, you should not assume all of the cases have the similar structures. There will be an extreme testcase with random logic design posted in the web site later on. ========================================================================== *Q5: The rectangular is always square or not ? *A5: The rectangular is not necessary to be square. ========================================================================== *Q6: 1. 這個 Clustering 題目 最多一次要處理 幾個 Cell???? 2. 如果 Cell 或dummy Cell 用到了 Z 那再來要怎麼辦? 用 AA嗎 還是 ? *A6: 1. There is no limitation for the number of cell types. It could be thousands of cells. 2. The cell name is a string of characters (combination of alpha-numeric characters). The maximum string length of the cell name is 256 characters. The names for the dummy cells can not be duplicated with the real cell names. ========================================================================== *Q7: 1. 給我們一個檔案, 裡面的 任何兩個Cell 只要 overlap 到 是否意味著 這是一個錯誤的輸入? 還是說 不管 反正照作? 2. test case裡面有一個file cell數量高達 20萬, 我認為去處理這種數量級的 輸入 很可能會發生 記憶體不夠的情況, 我想請教一下 以第七題來說,Program run的環境 是在怎樣的平台之下. (就是問 處理第七題最低的CPU等級,以及記憶體容量為 ?) 或者 到時候我們給 result 要附上 我們是在怎樣的 platform下作處理... *A7: 1. The layout design allows cell overlapping. The overlapped cell instances can also be considered in forming dummy cells --- as long as the relative positions of the cell placements are the same. By the way, could you point me which testcase has the overlapped cell instances ? 2. A 32-bit system should be able to handle the case, depending on the program's data structure, it should be able to run through the testcase under few GBytes swap space machine. The report should contain the machine's configuration with CPU clock rate and main memory capacity. ========================================================================== *Q8: (please refer to http://www.cs.nthu.edu.tw/~cad/Problems/P7/1.bmp to find the figure) 顯然 紅色 Cell 與 藍色cell可以 merge 成四組 但是他們彼此之間是重合的. 我會問這個問題有兩個原因 1. 在vlsi design Cell 不管是 floorplan placement 或是 Routing 考慮的都是 不重疊的 Cell 此為其一 2. 我無法擔保 這些Cell 20萬個的input 都不會重疊, 雖然我程式一樣可以work 但是我的疑惑是 萬一重疊這是合理的嗎? 在我的思考之中, 除非 Cell 可以擺置在不同 Layer 不過我想 應該是不可以重疊在一起 *A8: Yes, the example demonstrated for the cell overlapping situation could be happened in the layout. Also, we can merge them into four types of dummy cells. 1. But, for custom design, it is not true. 2. You can consider the cell overlapping case, cause it happened in the real case. There is no cell overlap condition in the provided testcases. If your program can handle the situation, it will be a plus. The testcases have been simplified with empty cell contents in the input file, in the real design, instances' cell boundaries could be overlapped, shapes on the same Mask layer could be overlapped also. ========================================================================== *Q9: 對於任何一隊的程式 你們去跑Test Case 最大可容忍的 Run Time 為多少? 比如 一個20萬個 Cell 或是任意量輸入的 input 在多少小時 內 跑出結果 算是 Pass 在多少小時內仍然跑不出來算是 Fail ? *A9: For the testcase with 200K cell instances or any large case, we would expect runtime no longer than 8 hours (overnight). ==========================================================================