add SVG generator
[pinmux.git] / src / pinmux_generator.py
index 04d3cf98981e45b77d4b9e0a044671e491239e58..859634eb4a76f1e83666d32945d20504ff9c8630 100644 (file)
@@ -21,6 +21,7 @@ import os.path
 import sys
 import json
 from spec import modules, specgen, dummytest
+from spec.ifaceprint import create_sv
 
 
 def printhelp():
@@ -89,20 +90,20 @@ if __name__ == '__main__':
         with open(fname, "w") as of:
             with open(pyname, "w") as pyf:
                 ps = module.pinspec()
-                pm, chip = module.pinparse(ps, pinspec)
-                litexmap = ps.pywrite(pyf, pm)
                 pinout, bankspec, pin_spec, fixedpins = ps.write(of)
-                chip['litex.map'] = litexmap
-                chip = json.dumps(chip)
-                with open("%s/litex_pinpads.json" % pinspec, "w") as f:
-                    f.write(chip)
-
+                #chip['litex.map'] = litexmap
                 if testing:
                     dummytest(ps, output_dir, output_type)
                 else:
                     specgen(of, output_dir, pinout,
                             bankspec, ps.muxwidths, pin_spec, fixedpins,
                             ps.fastbus)
+                pm, chip = module.pinparse(ps, pinspec)
+                litexmap = ps.pywrite(pyf, pm)
+                jchip = json.dumps(chip)
+                with open("%s/litex_pinpads.json" % pinspec, "w") as f:
+                    f.write(jchip)
+                create_sv("%s/%s.svg" % (pinspec, pinspec), chip)
     else:
         if output_type == 'bsv':
             from bsv.pinmux_generator import pinmuxgen as gentypes