Bei der Ressourcenreservierung werden die Ressourcen instanziiert, die während der Erstellung des Taktschemas verplant wurden. Die Anzahl der einzelnen Ressourcen ergibt sich dabei direkt aus dem Taktschema. Von einem bestimmten Ressourcentyp werden genau so viele Einheiten benötigt, wie maximal in einem Taktschritt parallel aktiv sein müssen. Bei der Ressourcenzuordnung werden den einzelnen Operationen die instanziierten Ressourcen zugeordnet.
Für alle Daten, deren Generierung und Weiterverarbeitung in unterschiedlichen Taktschritten erfolgt, werden Register zur Speicherung benötigt. Die Anzahl der Register ergibt sich dabei aus der maximalen Anzahl gleichzeitig in einem Taktschritt zu speichernden Daten. Durch die Mehrfachverwendung von Registern für Daten, die ausschließlich in unterschiedlichen Taktschritten gültig sind, können Ressourcen eingespart werden. Das jeweils abzuspeichernde Datum wird in diesem Fall durch einen dem Registereingang vorangeschalteten Multiplexer selektiert. Die Dauer, die ein Datum in einem Register gespeichert werden muss, wird durch den ermittelten Ablaufplan des Algorithmus vorgegeben.
Wenn alle notwendigen Ressourcen instanziiert sind, müssen diese noch den einzelnen Operationen zugeordnet werden. Die Zuordnung sollte dabei so erfolgen, dass ein möglichst optimaler Datenfluss durch den Datenpfad gewährleistet ist und die Anzahl bzw. Breite der Multiplexer an den Blockeingängen minimal wird. Für die Minimierung der Multiplexerressourcen sollten die arithmetischen Makrozellen möglichst gleichmäßig ausgelastet werden, da eine Zuordnung vieler Operationen zu nur einer Ressource zu sehr komplexen und damit langsamen Multiplexerstrukturen führen würde.