move cell bit width function to Parse class
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Tue, 10 Jul 2018 04:30:02 +0000 (05:30 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Tue, 10 Jul 2018 04:30:02 +0000 (05:30 +0100)
src/bsv/actual_pinmux.py
src/parse.py

index d2ce8160341df4890df5f777ea0b1202906542a7..fd61085a596ca8454b9868ad7d713f1495b3cbfa 100644 (file)
@@ -24,13 +24,6 @@ dedicated_wire = '''
 digits = maketrans('0123456789', ' ' * 10)  # delete space later
 
 
-def get_cell_bit_width(p):
-    max_num_cells = 0
-    for cell in p.muxed_cells:
-        max_num_cells = max(len(cell) - 1, max_num_cells)
-    return int(math.log(max_num_cells + 1, 2))
-
-
 def cn(idx):  # idx is an integer
     return "cell%s_mux" % str(idx)
 
@@ -147,7 +140,6 @@ def init(p, ifaces):
         the last one, and we do not want the "default" (last line)
         to be the output.
     """
-    p.cell_bitwidth = get_cell_bit_width(p)
     p.pinmux = ' '
     global dedicated_wire
     for cell in p.muxed_cells:
index af70d1af207ad39b0cd35466440801b151ec20dc..9c45944f76f0650de180f4fe2cc91fcc53fc0049 100644 (file)
@@ -61,9 +61,12 @@ class Parse(object):
         if verify:
             self.do_checks()
 
+        self.cell_bitwidth = self.get_cell_bit_width()
+
         # == user info after parsing ================= #
         self.N_IO = len(self.dedicated_cells) + len(self.muxed_cells)
         print("Max number of IO: " + str(self.N_IO))
+        print("Muxer bit width: " + str(self.cell_bitwidth))
         print("Muxed IOs: " + str(len(self.muxed_cells)))
         print("Dedicated IOs: " + str(len(self.dedicated_cells)))
 
@@ -100,6 +103,13 @@ class Parse(object):
 
         # TODO
 
+    def get_cell_bit_width(self):
+        max_num_cells = 0
+        for cell in self.muxed_cells:
+            max_num_cells = max(len(cell) - 1, max_num_cells)
+        return int(math.log(max_num_cells + 1, 2))
+
+
 
 if __name__ == '__main__':
     p = Parse()