2015-11-07 11 views
0
def scoreboard(opcode, reg1): 
    oc = opcode 
    r = reg1 
    scoreboard[oc][r] 
    return scoreboard 




print ('****PIPELINING*****') 
while(1): 
    stage_count = stage_count+1 
    print '\n---PIPE STAGE', stage_count, '---' 

if (ic == 0): 
    ip, ic, opcode, reg1, reg2, addr = if_id(ip,ic) 
    clock = clock + 2; 

    opc, reg1 = scoreboard(opcode,reg1) 
    print scoreboard 
    #print ("----Instruction Fetch & Instruction Decode ----") 
    print 'IF&ID: operation:', opcodes[ opcode ] [1] 
    if_id_flag = 0 
    of_ex_flag = 0 
    wb_flag = 0 

Это две части моего кода выполнения для ассемблера. Я получаю сообщение об ошибке в коде табло: функция не подлежит расшифровке. Есть ли другой способ реализации этого кода? Я хочу распечатать табло для трехэтапного конвейера, то есть код операции и регистр.Как печатать табло для трехступенчатой ​​архитектуры конвейера в python? Получение функции не подсеточной ошибки

ответ

0

scoreboard - это функция, но выделенная линия подпишет ее как массив. Исправьте это. У вас есть глобальный массив с тем же именем, что и функция?

def scoreboard(opcode, reg1): 
    oc = opcode 
    r = reg1 
    scoreboard[oc][r] # <<<<<< 
    return scoreboard