Beispiel #1
0
def promotePartitions():
    global paConfigNamePrefix, layout
    output = "promote_run -run {%s} -partition_names { {system}" % (paConfigNamePrefix + '1')
    for slotNum in range(layout.getNumSlots()):
        output += " {%s}" % ("hw_task_" + str(slotNum))
    output += " }\n"
    return output
Beispiel #2
0
def removeOtherReconfigModules():
    global dynamicThreads, layout
    output = ""
    for slotNum in range(layout.getNumSlots()):
        output += "load_reconfig_modules -reconfig_modules {hw_task_%i:%s}\n" % (slotNum, dynamicThreads[0])
        for threadNum in range(1, len(dynamicThreads)):
            output += "delete_reconfig_module -reconfig_module {hw_task_%i:%s}\n" % (slotNum, dynamicThreads[threadNum])
    return output
Beispiel #3
0
def setPblockSizes():
    global layout
    output = ""
    for slotNum in range(layout.getNumSlots()):
        slot = layout.slots[slotNum]
        output += "resize_pblock pblock_hw_task_%d -add {%s" % (slotNum,
                slot.getSliceRange())
        for rangeType in slot.ranges.keys():
            output += " " + slot.ranges[rangeType]
        output += "} -locs keep_all -replace\n"
    return output
Beispiel #4
0
def addFirstReconfigModules():
    '''add the first reconfigurable modules (dynamic threads) for each 
    slot'''
    global layout, dynamicThreads, dynamicThreadsNetlistFileNames 
    output = ""
    for slotNum in range(layout.getNumSlots()):
        output += """\
add_reconfig_module -name {%s} -cell {%s} -file {%s}
save_design
""" % (dynamicThreads[0], "hw_task_" + str(slotNum),
        dynamicThreadsNetlistFileNames[0])
    return output
Beispiel #5
0
def createOtherPartialModuleRuns():
    global dynamicThreads, layout, paConfigNamePrefix
    output = ""
    for runNum in range(1, len(dynamicThreads)):
        output += "create_run -name %s -part %s -srcset sources_1 -constrset constrs_1 -flow {ISE 12} -strategy {ISE Defaults}\n" % (
                    paConfigNamePrefix + str(runNum + 1), layout.target.getPart())
        output += "config_partition -run {%s} -implement\n" % (paConfigNamePrefix + str(runNum + 1))
        for slotNum in range(layout.getNumSlots()):
            output += "config_partition -run {%s} -cell {%s} -reconfig_module {%s} -implement\n" % (
                    paConfigNamePrefix + str(runNum + 1), "hw_task_" + str(slotNum),
                    dynamicThreads[runNum])
    return output
Beispiel #6
0
def addOtherReconfigModules():
    # adds reconfigurable modules other than the dummy ones
    '''add other reconfigurable modules (dynamic threads) for an extensible
    design'''
    global layout, dynamicThreads, dynamicThreadsNetlistFileNames 
    output = ""
    for slotNum in range(layout.getNumSlots()):
        for threadNum in range(1, len(dynamicThreads)):
            output += "add_reconfig_module -name {%s} -cell {%s} -file {%s}\nsave_design\n" % (
                    dynamicThreads[threadNum], "hw_task_" + str(slotNum),
                    dynamicThreadsNetlistFileNames[threadNum])
    return output
Beispiel #7
0
def addReconfigModules():
    '''add all reconfigurable modules (dynamic threads)'''
    global layout, dynamicThreads, dynamicThreadsNetlistFileNames 
    output = ""
    for slotNum in range(layout.getNumSlots()):
        output += """\
add_reconfig_module -name {%s} -cell {%s} -file {%s}
save_design
""" % (dynamicThreads[0], "hw_task_" + str(slotNum),
        dynamicThreadsNetlistFileNames[0])
        for threadNum in range(1, len(dynamicThreads)):
            output += "add_reconfig_module -name {%s} -cell {%s} -file {%s}\n" % (
                    dynamicThreads[threadNum], "hw_task_" + str(slotNum),
                    dynamicThreadsNetlistFileNames[threadNum])
    return output