comments and whitespace cleanup
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Mon, 4 Mar 2019 09:12:13 +0000 (09:12 +0000)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Mon, 4 Mar 2019 09:12:13 +0000 (09:12 +0000)
TLB/src/CacheWalker.py

index d024067eca0b83aae0ba2bef569510fcdc76ed62..b075828eee5d02b8ebe651272f82c56ff1915451 100644 (file)
@@ -2,43 +2,44 @@ from nmigen import Memory, Module, Signal
 from nmigen.cli import main
 from math import log
 
-# The purpose of this module is to search a memory block given an
-# associativity.
-# This module will attempt to find a matching entry when given an address
-# and perform permission validation if successful.
-#
-# Arguments:
-#  data_size: (bit count) The size of the data words being processed
-#  assoc: (int) The associativity of the memory to be parsed
-#  mem: (nmigen.Memory) The memory to be parsed
-#  
-# Return:
-#  1. An entry was found -> Return PTE, set hit HIGH, set valid HIGH
-#  2. An entry was NOT found -> set hit LOW, set valid HIGH
-#  3. A permission fault occurs -> set hit LOW, set valid LOW
 class CacheWalker():
+    """ The purpose of this module is to search a memory block given an
+        associativity.  This module will attempt to find a matching
+        entry when given an address, and perform permission validation
+        if successful.
+    """
     def __init__(self, data_size, assoc, mem):
+        """ Arguments:
+            * data_size: (bit count) The size of the data words being processed
+            * assoc: (int) The associativity of the memory to be parsed
+            * mem: (nmigen.Memory) The memory to be parsed
+
+            Return:
+            1. An entry was found -> Return PTE, set hit HIGH, set valid HIGH
+            2. An entry was NOT found -> set hit LOW, set valid HIGH
+            3. A permission fault occurs -> set hit LOW, set valid LOW
+        """
         # Parameter parsing
         self.assoc = assoc # Assciativity of the cache
-        
+
         self.read_port = mem.read_port
         self.write_port = mem.write_port 
-        
+
         if (mem_size % assoc != 0):
             print("Cache Walker: Memory cannot be distributed between sets")
-        
+
         self.set_count = mem.depth / assoc # Number of sets in memory
         self.set_bit_count = log(set_count, 2) # Bit count for sets
         # Ensure set_bit_count is fully represented
         if(set_count % 2 != 0):
             set_bit_count += 1
-            
+
         self.assoc_bits = Signal(set_bit_count) # Bits for associativity
-            
+
         # Inputs
         self.vma = Signal(36) # Virtual Memory Address (VMA)
-        
+
         # Output
         self.hit = Signal(1) # Denotes if the VMA had a mapped PTE
         self.pte = Signal(64) # PTE that was mapped to by the VMA
-        self.valid = Signal(1) # Denotes if the permissions are correct
\ No newline at end of file
+        self.valid = Signal(1) # Denotes if the permissions are correct