---
# System prepended metadata

title: 11/16 Note

---

# 第三組
## 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)


