電子自動化第二階段

發佈日期:2024-12-09

彭俞臻

理工學院

資訊工程學系

在實作過程中,最具挑戰性的是如何有效地更新和追蹤節點交換的cost值。這需要設計出資料結構來高效管理交換過程,特別是在處理大型圖的時候。通過完成這項作業,我更清楚了如何平衡演算法的計算成本。KL演算法的應用場景非常廣泛,例如電子設計自動化(EDA)的晶片模組分割問題。透過這次學習,我體會到該演算法的實際價值,也學會如何將其與其他優化技術結合使用,以解決更複雜的問題。此外,也了解到DAG的核心特性在於拓撲排序(Topological Sorting)。這讓我們能夠按照依賴關係的順序來執行任務。拓撲排序在編譯器、排程系統和資料處理管線設計中都非常實用。邏輯合成的第一部分主要著重於布林代數的基礎以及如何將高階描述轉換為低階邏輯結構。這個過程涉及了從描述性的設計轉化為具體的邏輯電路,並在此基礎上進行功能實現。在學習這部分內容時,我重新認識了卡諾圖(Karnaugh Map)和布林函數簡化方法的價值。特別是在處理多輸入、多輸出的邏輯系統時,如何通過邏輯優化技術來減少閘門數量,從而提升電路效率。

這個階段的學習啟發了我去理解邏輯電路設計與硬體資源使用之間的權衡。這也幫助我為後續更複雜的合成技術(如電路佈局)奠定了基礎。