from spec.interfaces import Pinouts
-def specgen(of, pth, pinouts, bankspec, pinbanks, fixedpins):
+def specgen(of, pth, pinouts, bankspec, muxwidths, pinbanks, fixedpins,
+ fastbus):
""" generates a specification of pinouts (tsv files)
for reading in by pinmux.
with open(os.path.join(pth, 'interfaces.txt'), 'w') as f:
for k in pinouts.fnspec.keys():
s = pinouts.fnspec[k]
- f.write("%s\t%d\n" % (k.lower(), len(s)))
+ line = [k.lower(), str(len(s))]
+ for b in fastbus:
+ if b.startswith(k.lower()):
+ line.append(b)
+ line = '\t'.join(line)
+ f.write("%s\n" % line)
s0 = s[list(s.keys())[0]] # hack, take first
gangedgroup = pinouts.ganged[k]
with open(os.path.join(pth, '%s.txt' % k.lower()), 'w') as g:
keys = sorted(bankspec.keys())
for bank in keys:
pinstart = bankspec[bank]
- of.write("* %s %d %d\n" % (bank, pinstart, pinbanks[bank]))
- g.write("%s\t%d\t%d\n" % (bank, pinstart, pinbanks[bank]))
+ wid = muxwidths[bank]
+ of.write("* %s %d %d %d\n" % (bank, pinstart, pinbanks[bank], wid))
+ g.write("%s\t%d\t%d\t%d\n" % (bank, pinstart, pinbanks[bank], wid))