Magma Design Automation: Component placement op chips |
| in English |
Voor het klassieke plaatsingsprobleem beschouwen we de chip als een twee-dimensionaal vlak; de cellen worden voorgesteld door rechthoeken van verschillende afmetingen. Het plaatsen van de cellen moet zodanig gebeuren dat
Het probleem wordt in toenemende mate bemoeilijkt wanneer grote delen van de core area uitgesloten worden van plaatsing, meestal doordat hier voorgeplaatste grote functionele blokken liggen (denk aan geheugens en blokken die extern ontworpen worden). De uiteindelijke `vrije ruimte' binnen de core area is doorgaans vergelijkbaar met een kaas vol gaten. Vanzelfsprekend mogen cellen niet op deze blokken (`blockages') geplaatst worden, en het is deze extra eis die het plaatsingsprobleem wezenlijk moeilijker maakt.
Hierboven staat een voorbeeld van een typische `gatenkaas'. De groene gebieden zijn toegestaan, de witte geblokkeerd. (De `ruis' in de groene gebieden heeft niets te maken met de vrije ruimte). Merk op dat de vrije ruimte sterk onsamenhangend is.
De huidige algoritmes van Magma DA werken goed in het geval van grofweg convexe gebieden; in `gatenkazen' blijken ze echter gemakkelijk terecht te komen in locale minima die sterk suboptimaal zijn.
Vraag:
Hoe kan Magma DA ook in
het geval van gatenkazen goede oplossingen vinden?