建構雙接腳曼哈頓繞線

在設有邊界的 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,再重新執行建構。