def apply(self, sdfg): # Avoid import loops from dace.transformation.interstate import NestSDFG from dace.transformation.interstate import FPGATransformState sdfg_id = sdfg.sdfg_list.index(sdfg) nesting = NestSDFG(sdfg_id, -1, {}, self.expr_index) nesting.promote_global_trans = True nesting.apply(sdfg) fpga_transform = FPGATransformState( sdfg_id, -1, {FPGATransformState._state: 0}, self.expr_index) fpga_transform.apply(sdfg)
def apply(self, _, sdfg): # Avoid import loops from dace.transformation.interstate import NestSDFG from dace.transformation.interstate import FPGATransformState sdfg_id = sdfg.sdfg_id nesting = NestSDFG(sdfg, sdfg_id, -1, {}, self.expr_index) nesting.promote_global_trans = self.promote_global_trans nesting.apply(sdfg, sdfg) # The state ID is zero since we applied NestSDFG and have only one state in the new SDFG fpga_transform = FPGATransformState(sdfg, sdfg_id, -1, {FPGATransformState.state: 0}, self.expr_index) fpga_transform.apply(sdfg, sdfg)