coreSizeY = u(56*90.0)
chipBorder = u(2*214.0 + 8*13.0)
ioSpecs = IoSpecs()
- #pinmuxFile = './non_generated/litex_pinpads.json'
- #pinmuxFile = './coriolis2/ls180/litex_pinpads.json'
- #ioSpecs.loadFromPinmux( pinmuxFile )
- # I/O pads, East side.
+ # this should work fine, tested on nsxlib
+ cwd = os.path.split(os.path.abspath(__file__))[0]
+ pinmuxFile = '%s/non_generated/litex_pinpads.json' % cwd
+ # actual contents auto-generated and listed at:
+ # http://libre-soc.org/180nm_Oct2020/ls180/
+ ioSpecs.loadFromPinmux( pinmuxFile )
+
+ # XXX ioPadsSpec created but not used. saves time, saves errors. see
+ # wiki page for contents: http://libre-soc.org/180nm_Oct2020/ls180/
+ # if *not* using the auto-generated ioSpecs, ioPadsSpec should, really,
+ # be made exactly the same. which is more work.
+
+ # I/O pads, East side.
ioPadsSpec = []
ioPadsSpec += doIoPowerCap( IoPin.EAST|IoPin.A_BEGIN )
ioPadsSpec += [ (IoPin.EAST, None, 'sdram_cas_n' , 'sdram_cas_n' , 'sdram_cas_n' )
.format('ls180') ))
sys.exit(1)
if editor: editor.setCell( cell )
- #ls180Conf = ChipConf( cell, ioPads=ioSpecs.ioPadsSpec )
- ls180Conf = ChipConf( cell, ioPads=ioPadsSpec )
+ # use auto-generated (but from non_generated) io pads specs
+ # works fine with soclayout nsxlib, should work perfectly fine
+ # here, too
+ ls180Conf = ChipConf( cell, ioPads=ioSpecs.ioPadsSpec )
+ #ls180Conf = ChipConf( cell, ioPads=ioPadsSpec )
ls180Conf.cfg.etesian.bloat = 'Flexlib'
ls180Conf.cfg.etesian.uniformDensity = True
ls180Conf.cfg.etesian.aspectRatio = 1.0