In erster Linie wird eine Implementierung gesucht, deren Kosten möglichst gering sind, indem eine flächenminimale Zellenkombination gesucht wird. Bei zeitkritischen Pfaden können stattdessen auch die schnellsten verfügbaren Zellen ausgewählt werden. Die Berücksichtigung der Performance in Form von Verzögerungszeiten während der Abbildung ist schwierig, da der lastabhängige Teil der Verzögerung erst am Ende der Abbildung bestimmt werden kann.
Häufig verwendete heuristische Methoden basieren auf einer Baum-Abdeckung. Diese besteht aus vier Schritten:
- Aufbau des DAG
- Partitionierung des Graphs (der Schaltung) in Bäume
- Dekomposition der Bäume (Schaltungsteile) in Basisfunktionen
- Abdeckung aller Bäume (der Schaltung) mit Zellen aus der Bibliothek
Die Abdeckung eines DAGs ist ein NP-hartes Problem, seine exakte Lösung ist daher zu aufwendig. Dagegen sind Abdeckungsalgorithmen für Bäume praktikabel. Daher wird der DAG in einen Wald von Bäumen zerlegt.