電子設計自動化演算法

技術映射(technology mapping)

技術映射是邏輯合成中的一個步驟,把抽象、與製程無關的布林運算網路,翻譯成取自特定標準元件庫的真實閘。可以把它想成:把一份用通用動詞(「混合」「收乾」)寫的食譜,翻譯成某間廚房實際擁有的器具——這台烤箱、那台果汁機、這個尺寸。先前的最佳化已找出良好的邏輯結構;映射則必須用元件庫裡的元件(AND-OR-INV、複雜的 AOI、全加器)來覆蓋這個結構,讓結果在所選製程上達到最快、最小或最低功耗。

主流技巧是用小樣式覆蓋整個網路:先把邏輯分解成 2 輸入閘或查找表的基底,再跑一個動態規劃匹配——由輸入往輸出方向,為每一個邏輯錐選出最便宜的元件庫元件。現代工具(ABC 的映射器)在 And-Inverter 圖上運作,並使用「切割列舉」——列出每個節點可達的小型子函數——以找到低深度、低面積的覆蓋。對 FPGA 而言,同一套演算法則把邏輯打包進 k 輸入的 LUT,而非標準元件。

在 And-Inverter 圖上以切割為基礎的動態規劃映射

Keating 的洞見:結構化(選擇布林形式)與映射(用元件覆蓋它)是兩個分開的問題——把一個糟糕的結構映射得再好仍會輸,這就是合成為何要反覆穿插重整與映射,而非各做一次。

又称
library bindingcell mapping技術映射