-
- for lineno, line in enumerate(pinmapfile):
- line1 = line.split()
- if len(line1) <= 1:
- continue
- self.pinnumbers.append(int(line1[0]))
- if len(line1) == 2: # dedicated
- self.dedicated_cells.append(line1)
- else:
+ self.bankwidths = {}
+ self.banksize = {}
+ self.bankstart = {}
+
+ fname = 'pinspec.txt'
+ if pth:
+ fname = os.path.join(pth, fname)
+ with open(fname) as bankwidths:
+ for lineno, line in enumerate(bankwidths):
+ line1 = line[:-1].split('\t')
+ self.bankwidths[line1[0]] = int(line1[3])
+ self.banksize[line1[0]] = int(line1[2])
+ self.bankstart[line1[0]] = int(line1[1])
+
+ # == capture the number of IO cells required == #
+ fname = 'pinmap.txt'
+ if pth:
+ fname = os.path.join(pth, fname)
+ with open(fname) as pinmapfile:
+ for lineno, line in enumerate(pinmapfile):
+ line1 = line[:-1].split('\t')
+ if len(line1) <= 3:
+ continue
+ self.pinnumbers.append(int(line1[0]))
+ self.muxed_cells_bank.append(line1[1])
+ self.muxed_cells_width.append(int(line1[2]))
+ # XXX TODO: dedicated pins in separate file
+ #if len(line1) == 2: # dedicated
+ # self.dedicated_cells.append(line1)
+ #else:
+ for i in range(3, len(line1)):
+ # XXX HORRIBLE HACK!!
+ if line1[i].startswith('pwm'):
+ line1[i] = 'pwm%s_out' % line1[i][4:]
+ line1 = [line1[0]] + line1[3:]
+ print "line", line1