| 52 | Dans l'illustration çi-dessus, le routage a échoué car il reste 7 segments que le routeur |
| 53 | n'arrive pas à router. Cela se retrouve dans le taux de routage ({{{Wire Length Completion |
| 54 | Ratio}}} qui n'est que de {{{99.77%}}}. Le routeur indique aussi la longueur totale de |
| 55 | fil ayant été routée {{{275368}}} et celle restante {{{622}}}, en ''lambdas''. |
| 56 | Au fur et à mesure que vous allez améliorer le placement, le taux de routage atteindra |
| 57 | les {{{100%}}}, et la longueur de fil totale va (fortement) décroitre. |
| 58 | |
| 68 | Dans le cas des chemins de données, le problème du placement se réduit à un problème à |
| 69 | une dimension. Autrement dit, placer un chemin de donnée revient simplement à définir |
| 70 | l'ordre dans lequel les opérateurs (chaque opérateur est équivalent à une colonne) |
| 71 | sont placés. Dans notre cas, on adopte l'ordre de gauche à droite. |
| 72 | |
| 73 | {{{ |
| 74 | #!python |
| 75 | class contest ( Model ) : |
| 76 | def Interface ( self ) : |
| 77 | # [...] |
| 78 | return |
| 79 | |
| 80 | def Netlist ( self ) : |
| 81 | # [...] |
| 82 | return |
| 83 | |
| 84 | def Layout (self): |
| 85 | Place ( self.acc_buff, NOSYM, XY(0,0) ) # First column: absolute placement. |
| 86 | PlaceRight ( self.acc_reg, NOSYM ) # Second column, right of first. |
| 87 | PlaceRight ( self.inv_np, NOSYM ) # Thirst column, right of second. |
| 88 | PlaceRight ( self.inv_ra, NOSYM ) # ... |
| 89 | # [...] |
| 90 | return |
| 91 | }}} |
| 92 | |