Costruire un percorso Manhattan a due pin
Instrada una net su una griglia DBU con limiti definiti e ispezionane i segmenti e la lunghezza totale.
Utilizza Altifigence CLI 0.1.9 su Linux per costruire un piccolo percorso Manhattan locale a due pin. L'input definisce una griglia rettangolare e net ordinate con coordinate di sorgente e destinazione in unità di database. Questo esempio collega una sorgente in (10, 10) a una destinazione in (30, 30) all'interno di una griglia 40 per 40. Salvalo come route-input.json prima di eseguire il comando.
Verifica che lo stato di uscita sia 0 prima di leggere un risultato salvato. Conserva separatamente l'output di errore standard e ispeziona i campi del risultato descritti di seguito.
Preparare l'input del percorso
{
"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
}
}
]
}Assegna a ogni net un identificatore univoco e non vuoto e mantieni entrambi gli estremi all'interno della griglia. Il costruttore conserva l'ordine delle net in input. Costruisce prima il segmento orizzontale, poi quello verticale, e omette qualsiasi segmento di lunghezza zero. Queste regole rendono l'esempio facile da verificare direttamente dalle coordinate.
Eseguire la costruzione
alti physical capabilities
alti physical two-pin-manhattan-route < route-input.json > route-result.jsonIspeziona route-result.json per controllare lo schema local-two-pin-manhattan-route, l'input richiesto, il digest dell'input, i percorsi e la lunghezza Manhattan totale. Per questo esempio, è previsto un segmento orizzontale da (10, 10) a (30, 10), seguito da un segmento verticale fino a (30, 30). Ogni segmento misura 20 DBU e il totale è 40 DBU. Conserva l'input originale insieme al risultato per poter ripetere la costruzione.
Ispezionare il risultato
Di seguito sono mostrati alcuni campi del risultato del percorso; il risultato completo include anche il digest dell'input e le coordinate dei segmenti.
{"schema":"altifigence.physical.local-two-pin-manhattan-route.v0","execution_performed":true,"requested_net_order":["net_z"],"total_manhattan_length_dbu":40}Controllare un input rifiutato
Una coordinata x della destinazione pari a 41 si trova fuori da questa griglia e produce invalid_job, codice di uscita 13, con job input is not an admitted local Physical job. Riporta sink.x a 30 all'interno della griglia, quindi ripeti la costruzione.