# 第三組 ## Parser 在vector裡面塞滿struct softmodule跟fixedmodule分開寫 依照題目給定的項目寫struct ## 演算法 使用跟晶片一樣大的二維陣列 0表空位,其餘數字表Macro 缺:怕memory不夠 遇0開始找最大正方形以放置softmodule 缺:大case:光找到0就不容易/容易爆掉/redundancy大 解:mptree 考慮softmodule變形: 有一個基礎矩形,不夠放softmodule的話往上下左右找 缺:初始矩形應可更動/可凹可凸 建議:用tree/graph # 第二組/我們 建議:怕FM演算法消耗大/若一開始暫不處理softmodule變形,擔憂後期銜接 # 第一組 ## Parser map/linked list ## 演算法 ### 1 將chip切左右兩邊 使用Fm演算法 計算Fixedmodule與softmodule的連線總數 ![IMG_1225](https://hackmd.io/_uploads/r17RmnmV6.jpg) ### 2 以Macro重疊面積與線長為判斷基準 成功繼續/失敗退回 改變形狀:上下左右多一排少一排 ![IMG_9372](https://hackmd.io/_uploads/Hk88mnQEp.jpg) ### 3 以數學方式尋找所有可能性 缺:大case可能不好做 解:加限制 退火 ![IMG_9373](https://hackmd.io/_uploads/S1ldQhX4p.jpg)