-pinmap_file = open("./pinmap.txt", "r")
-dedicated = False
-for lineno, line in enumerate(pinmap_file):
- line1 = line.split()
- if("muxed" in line):
- dedicated = False
- elif("dedicated" in line):
- dedicated = True
- digits = str.maketrans(dict.fromkeys('0123456789'))
- # ==== Logic for muxed pins ==== #
- if(len(line1) > 1 and not(dedicated)):
- if(lineno > N_IO):
- print(
- "ERROR: Parameter N_IO(" +
- str(N_IO) +
- ") is less than the pin number in line: " +
- str(lineno) +
- " of pinmap.txt")
- exit(1)
- # ==== Mux each generic IO cell with the mapping ===== #
- # provided in the pinmap file
- pinmux = pinmux + " cell" + str(line1[0]) + "_out="
- i = 0
- while(i < len(line1) - 1):
- pinmux = pinmux + "wrmux" + \
- str(line1[0]) + "==" + str(i) + "?" + line1[i + 1] + "_io:"
- if(i + 2 == len(line1) - 1):
- pinmux = pinmux + line1[i + 2] + "_io"
- i = i + 2
- else:
- i = i + 1
- pinmux = pinmux + ";\n"
- # ======================================================== #