diff --git a/DRAMSys/analyzer/scripts/tests.py b/DRAMSys/analyzer/scripts/tests.py index b27d99fa..813e098b 100755 --- a/DRAMSys/analyzer/scripts/tests.py +++ b/DRAMSys/analyzer/scripts/tests.py @@ -223,7 +223,7 @@ def commandbus_slots_are_used_once(connection): cursor = connection.cursor() - if dramconfig.bankwiseLogic: + if (dramconfig.bankwiseLogic == "1"): excludedPhases = "('REQ','RESP','PRE_ALL')" else: excludedPhases = "('REQ','RESP','PRE_ALL','PDNA','PDNP','SREF','REFA')" @@ -277,7 +277,7 @@ def phase_transitions_are_valid(connection): validTransitions['PDNP'] = set(['PRE_ALL', 'ACT', 'REFA', 'PDNA', 'PDNP']) validTransitions['SREF'] = set(['PRE_ALL', 'ACT', 'REFA', 'PDNA', 'PDNP']) - if dramconfig.bankwiseLogic: + if (dramconfig.bankwiseLogic == "1"): query = """SELECT PhaseName, phases.ID FROM @@ -291,7 +291,7 @@ def phase_transitions_are_valid(connection): FROM phases INNER JOIN transactions ON phases.transact=transactions.ID WHERE - ((TBank=:bank) OR PhaseName IN ('PRE_ALL', 'SREF', 'PDNP, 'PDNA', 'REFA')) + ((TBank=:bank) OR PhaseName IN ('PRE_ALL', 'SREF', 'PDNP', 'PDNA', 'REFA')) AND PhaseName NOT IN ('REQ','RESP') ORDER BY PhaseBegin""" for bankNumber in range(dramconfig.numberOfBanks): @@ -372,12 +372,12 @@ def timing_constraits_on_the_same_bank_hold(connection): validTransitions = {} -if dramconfig.bankwiseLogic: - query = """SELECT PhaseName, phases.ID, PhaseBegin, PhaseEnd FROM phases INNER JOIN transactions ON phases.transact=transactions.ID WHERE TBank=:bank - AND PhaseName NOT IN ('REQ','RESP') ORDER BY PhaseBegin""" -else: - query = """SELECT PhaseName, phases.ID, PhaseBegin, PhaseEnd FROM phases INNER JOIN transactions ON phases.transact=transactions.ID - WHERE (TBank=:bank OR PhaseName IN ('PRE_ALL', 'SREF', 'PDNP, 'PDNA', 'REFA')) AND PhaseName NOT IN ('REQ','RESP') ORDER BY PhaseBegin""" + if (dramconfig.bankwiseLogic == "1"): + query = """SELECT PhaseName, phases.ID, PhaseBegin, PhaseEnd FROM phases INNER JOIN transactions ON phases.transact=transactions.ID WHERE TBank=:bank + AND PhaseName NOT IN ('REQ','RESP') ORDER BY PhaseBegin""" + else: + query = """SELECT PhaseName, phases.ID, PhaseBegin, PhaseEnd FROM phases INNER JOIN transactions ON phases.transact=transactions.ID + WHERE ((TBank=:bank) OR PhaseName IN ('PRE_ALL', 'SREF', 'PDNP', 'PDNA', 'REFA')) AND PhaseName NOT IN ('REQ','RESP') ORDER BY PhaseBegin""" for bankNumber in range(dramconfig.numberOfBanks): cursor.execute(query, {"bank": bankNumber}) lastRow = cursor.fetchone() @@ -397,7 +397,7 @@ def row_buffer_is_used_correctly(connection): cursor = connection.cursor() - if dramconfig.bankwiseLogic: + if (dramconfig.bankwiseLogic == "1"): query = """SELECT PhaseName, phases.ID FROM @@ -406,14 +406,14 @@ def row_buffer_is_used_correctly(connection): ((TBank=:bank) OR (PhaseNAME = "REFA" AND TBank=0) OR (PhaseNAME = "PRE_ALL" AND TBank=0)) AND PhaseName NOT IN ('REQ','RESP') ORDER BY PhaseBegin""" else: - # REFA, PRE_ALL, PDNA, PDNP and SREF are stored to bank0 for all the other banks we have also to grep this command: + # REFA, PRE_ALL, PDNA, PDNP and SREF are stored to bank0 for all the other banks we have also to grep this commands: # PhaseName IN ('PRE_ALL', 'SREF', 'PDNP, 'PDNA', 'REFA') query = """SELECT PhaseName, phases.ID FROM phases INNER JOIN transactions ON phases.transact=transactions.ID WHERE - ((TBank=:bank) OR PhaseName IN ('PRE_ALL', 'SREF', 'PDNP, 'PDNA', 'REFA')) + ((TBank=:bank) OR PhaseName IN ('PRE_ALL', 'SREF', 'PDNP', 'PDNA', 'REFA')) AND PhaseName NOT IN ('REQ','RESP') ORDER BY PhaseBegin""" # phases that precharge the bank and close the rowbuffer @@ -455,7 +455,7 @@ def no_commands_during_refresh(connection): test_query = """SELECT PhaseName FROM phases INNER JOIN transactions ON phases.transact=transactions.ID WHERE ((PhaseBegin >= ? and PhaseEnd <= ?) or (PhaseBegin <= ? and PhaseEnd > ?) or (PhaseBegin < ? and PhaseEnd >= ?)) and PhaseName NOT IN ('REQ','RESP','REFB') and TBank = ?""" else: query = """SELECT PhaseBegin, PhaseEnd FROM phases WHERE PhaseName = 'REFA' """ - test_query = """SELECT PhaseName FROM phases WHERE ((PhaseBegin >= ? and PhaseEnd <= ?) or (PhaseBegin <= ? and PhaseEnd > ?) or (PhaseBegin < ? and PhaseEnd >= ?)) and PhaseName NOT IN ('REQ', 'RESP', 'REFA')""" + test_query = """SELECT PhaseName FROM phases WHERE ((PhaseBegin >= ? and PhaseEnd <= ?) or (PhaseBegin <= ? and PhaseEnd > ?) or (PhaseBegin < ? and PhaseEnd >= ?)) and PhaseName NOT IN ('REQ','RESP','REFA')""" cursor.execute(query); result = cursor.fetchall(); @@ -602,7 +602,6 @@ def write_to_read_and_read_to_write_hold(connection): readToWrite = currentRow[1] - lastRow[1] if (readToWrite < minReadToWrite): return TestFailed("Write {0} starts {1} after start of read {2}. Minimum time is {3}".format(currentRow[0], formatTime(readToWrite), lastRow[0], formatTime(minWriteToRead))) - lastRow = currentRow return TestSuceeded()