LibreSOCMem.setup()
pll.setup()
+# XXX TODO, important! fix the directions of the PLL cells
+# https://gitlab.lip6.fr/vlsi-eda/coriolis/-/issues/47
+def fix_pll():
+ for cell in pll.getCells():
+ for net in cell.getNets():
+ # TODO: review
+ if net.getName() == 'vdd':
+ net.setType( Net.Type.POWER )
+ net.setDirection( Net.Direction.IN )
+ # TODO: review
+ elif net.getName() == 'vss':
+ net.setType( Net.Type.GROUND )
+ net.setDirection( Net.Direction.IN )
+ # TODO: review
+ elif net.getName() == 'ck':
+ net.setType( Net.Type.CLOCK )
+ net.setDirection( Net.Direction.IN )
+ # TODO review, should be good
+ elif net.getName() in ['div_out_test', 'vco_test_ana', 'out_v']:
+ net.setDirection( Net.Direction.OUT )
+ # last option, set it as an input
+ else:
+ net.setDirection( Net.Direction.IN )
+
+# XXX TODO uncomment this line: fix_pll()
+
+# XXX TODO same thing for spblock_512xxxetcxxx for "q" output data
db = DataBase.getDB()
af = AllianceFramework.get()