建構雙接腳曼哈頓繞線
在設有邊界的 DBU 網格上為單一網路繞線,並檢查其線段與總長度。
使用 Linux 上的 Altifigence CLI 0.1.9,在本機建構小型雙接腳曼哈頓繞線。輸入定義矩形網格,以及具有資料庫單位來源與接收端座標的有序網路。此範例在 40 × 40 的網格中,將位於 (10, 10) 的單一來源連接至位於 (30, 30) 的單一接收端。執行命令之前,請將其儲存為 route-input.json。
讀取已儲存的結果之前,請先確認結束狀態為 0。另行保留標準錯誤輸出,並檢查下文說明的結果欄位。
準備繞線輸入
{
"grid_bounds": {
"x_min": 0,
"y_min": 0,
"x_max": 40,
"y_max": 40
},
"nets": [
{
"net_id": "net_z",
"source": {
"x": 10,
"y": 10
},
"sink": {
"x": 30,
"y": 30
}
}
]
}為每個網路指定唯一且非空白的識別碼,並讓兩個端點都位於網格內。建構器會保留輸入的網路順序。它會先建構水平線段,再建構垂直線段,並略過長度為零的線段。這些規則讓您可以直接根據座標輕鬆審查此範例。
執行建構
alti physical capabilities
alti physical two-pin-manhattan-route < route-input.json > route-result.json檢查 route-result.json 中的 local-two-pin-manhattan-route 結構描述、請求的輸入、輸入摘要值、routes 與曼哈頓總長度。此範例預期會產生從 (10, 10) 到 (30, 10) 的水平線段,接著是通往 (30, 30) 的垂直線段。每個線段長 20 DBU,總長為 40 DBU。請將原始輸入與結果一併保留,以便重複執行建構。
檢查結果
下方顯示繞線結果的部分欄位;完整結果也包含輸入摘要值與線段座標。
{"schema":"altifigence.physical.local-two-pin-manhattan-route.v0","execution_performed":true,"requested_net_order":["net_z"],"total_manhattan_length_dbu":40}檢查遭拒的輸入
接收端的 x 座標若為 41,就會超出此網格範圍,並產生 invalid_job、結束代碼 13,以及 job input is not an admitted local Physical job。請將 sink.x 設回網格內的 30,再重新執行建構。