ps.gpio("", ('E', 16), 0, 8, 8)
ps.jtag("", ('E', 25), 0, 0, 4)
- ps.sys("", ('S', 0), 0, 0, 7)
- ps.vss("I", ('S', 7), 0, 2, 1)
- ps.vdd("I", ('S', 8), 0, 2, 1)
- ps.mi2c("", ('S', 9), 0, 0, 2)
- ps.mspi("0", ('S', 15), 0)
- ps.uart("0", ('S', 20), 0)
- ps.gpio("", ('S', 22), 0, 0, 8)
+ ps.vss("I", ('S', 0), 0, 2, 1)
+ ps.vdd("I", ('S', 1), 0, 2, 1)
+ ps.mi2c("", ('S', 2), 0, 0, 2)
+ ps.mspi("0", ('S', 8), 0)
+ ps.uart("0", ('S', 13), 0)
+ ps.gpio("", ('S', 15), 0, 0, 8)
+ ps.sys("", ('S', 23), 0, 0, 7)
ps.vss("I", ('S', 30), 0, 3, 1)
ps.vdd("I", ('S', 31), 0, 3, 1)
pad = None
# VSS
if name.startswith('vss'):
- name = 'p_%sck_' % name[:-2] + name[-1]
+ name = 'p_%s_' % name[:-2] + name[-1]
+ if 'i' in name:
+ name = 'power_' + name[-1]
+ name2 = 'vss'
+ else:
+ name = 'iopower_' + name[-1]
+ name2 = 'iovss'
+ pad = [name, name2]
# VDD
elif name.startswith('vdd'):
if 'i' in name:
- n_intpower += 1
+ n_intpower += 1
+ name = 'ground_' + name[-1]
+ name2 = 'vdd'
else:
- n_extpower += 1
- name = 'p_%sck_' % name[:-2] + name[-1]
+ n_extpower += 1
+ name = 'ioground_' + name[-1]
+ name2 = 'iovdd'
+ pad = [name, name2]
# SYS
elif name.startswith('sys'):
domain = 'SYS'
if name == 'sys_clk':
- name = 'p_sys_clk_0'
+ pad = ["p_"+name, name, name]
elif name == 'sys_rst':
#name = 'p_sys_rst_1'
pad = [name, name, name]
name = None
elif name == 'sys_pllclk':
name = None # ignore
+ elif name == 'sys_pllock':
+ name = 'sys_pllock'
+ pad = ['p_' + name, name, name]
elif name == 'sys_pllout':
name = 'sys_pll_48_o'
pad = ['p_' + name, name, name]
print ("I2C pad", name, pad)
# EINT
elif name.startswith('eint'):
+ domain = 'EINT'
i = name[-1]
name = 'eint_%s' % i
name2 = 'eint(%s)' % i
pad = ['p_' + name, name2, name2]
# PWM
elif name.startswith('pwm'):
+ domain = 'PWM'
name = name[:-4]
i = name[3:]
name2 = 'pwm(%s)' % i
domain = 'JTAG'
if name and not name.startswith('p_'):
- name = 'p_' + name
+ if 'power' not in name and 'ground' not in name:
+ name = 'p_' + name
if name is not None:
padbank[banknum] = name
# create domains
# whewwww. add the direction onto the pad spec list
pad.append(found[-1])
iopads.append(pad)
+ elif pad is not None:
+ iopads.append(pad)
# not connected
nc_idx = 0
for pl in [pe, pw, pn, ps]:
for i in range(len(pl)):
if pl[i] == '':
- pl[i] = 'nc_%d' % nc_idx
+ name = 'nc_%d' % nc_idx
+ name2 = 'nc(%d)' % nc_idx
+ pl[i] = name
+ pinmap[name] = name
+ iopads.append([name, name2, name2, "-"])
nc_idx += 1
print p.bankstart