when muxwidth == 1 output pin directly
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Tue, 31 Jul 2018 07:59:44 +0000 (08:59 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Tue, 31 Jul 2018 07:59:44 +0000 (08:59 +0100)
src/bsv/actual_pinmux.py

index d39600b478af9925dbfe95e22f590dcc6e38a4f3..7156fd154af5d8edbadbfbcdad481f6e309568bf 100644 (file)
@@ -61,6 +61,7 @@ def fmt(ifaces, cells, idx, suffix=None):
         cell = cells[idx]
     else:
         cell = ''
+    #print "fmt", idx, cells, cell
     if not cell:
         return 'val0'
     temp = transfn(cell)
@@ -110,13 +111,15 @@ def mkmux(p, ifaces, cell, suffix, outenmode):
     ret += "      // %s muxer for cell idx %s\n" % (comment, cellnum)
     ret += "      %s%s=\n" % (cn(cellnum), suffix)
     i = 0
-    for i in range(
-            0, p.get_muxwidth(cellnum) - 1):  # full mux range (minus 1)
-        comment = mkcomment(ifaces, cell, i, outenmode)
-        cf = fmt(ifaces, cell, i, suffix)
-        ret += fmtstr % (cn(cell[0]), i, cf, comment)
-    comment = mkcomment(ifaces, cell, i + 1, outenmode)
-    ret += "\t\t\t" + fmt(ifaces, cell, i + 1, suffix)  # last line
+    mwid = p.get_muxwidth(cellnum)
+    if mwid > 1:
+        for i in range(0, mwid - 1):  # full mux range (minus 1)
+            comment = mkcomment(ifaces, cell, i, outenmode)
+            cf = fmt(ifaces, cell, i, suffix)
+            ret += fmtstr % (cn(cell[0]), i, cf, comment)
+        i += 1
+    comment = mkcomment(ifaces, cell, i, outenmode)
+    ret += "\t\t\t" + fmt(ifaces, cell, i, suffix)  # last line
     ret += ";%s\n" % comment
 
     return ret