mirror of
https://github.com/TinyTapeout/tt-support-tools.git
synced 2026-11-03 04:36:09 +01:00
svg and png conversion moved to docs
This commit is contained in:
@@ -2,6 +2,9 @@ import logging
|
|||||||
import re
|
import re
|
||||||
import subprocess
|
import subprocess
|
||||||
import os
|
import os
|
||||||
|
import glob
|
||||||
|
import gdstk
|
||||||
|
import cairosvg
|
||||||
|
|
||||||
|
|
||||||
# documentation
|
# documentation
|
||||||
@@ -57,3 +60,13 @@ def create_pdf(yaml):
|
|||||||
p = subprocess.run(pdf_cmd, shell=True)
|
p = subprocess.run(pdf_cmd, shell=True)
|
||||||
if p.returncode != 0:
|
if p.returncode != 0:
|
||||||
logging.error("pdf command failed")
|
logging.error("pdf command failed")
|
||||||
|
|
||||||
|
|
||||||
|
def create_svg(args):
|
||||||
|
gds = glob.glob(os.path.join(args.run_dir, 'results/final/gds/*gds'))
|
||||||
|
library = gdstk.read_gds(gds[0])
|
||||||
|
top_cells = library.top_level()
|
||||||
|
top_cells[0].write_svg('gds_render.svg')
|
||||||
|
|
||||||
|
if args.create_png:
|
||||||
|
cairosvg.svg2png(url='gds_render.svg', write_to='gds_render.png')
|
||||||
|
|||||||
@@ -0,0 +1,4 @@
|
|||||||
|
gdstk
|
||||||
|
cairosvg
|
||||||
|
requests
|
||||||
|
yaml
|
||||||
@@ -24,6 +24,8 @@ if __name__ == '__main__':
|
|||||||
|
|
||||||
# documentation
|
# documentation
|
||||||
parser.add_argument('--create-project-pdf', help="create a single page PDF", action="store_const", const=True)
|
parser.add_argument('--create-project-pdf', help="create a single page PDF", action="store_const", const=True)
|
||||||
|
parser.add_argument('--create-svg', help="create a svg of the GDS layout", action="store_const", const=True)
|
||||||
|
parser.add_argument('--create-png', help="create a png of the GDS layout", action="store_const", const=True)
|
||||||
|
|
||||||
# configure
|
# configure
|
||||||
parser.add_argument('--create-user-config', help="create the user_config.tcl file with top module and source files", action="store_const", const=True)
|
parser.add_argument('--create-user-config', help="create the user_config.tcl file with top module and source files", action="store_const", const=True)
|
||||||
@@ -67,5 +69,8 @@ if __name__ == '__main__':
|
|||||||
elif args.create_project_pdf:
|
elif args.create_project_pdf:
|
||||||
documentation.create_pdf(project_yaml)
|
documentation.create_pdf(project_yaml)
|
||||||
|
|
||||||
|
elif args.create_svg or args.create_png:
|
||||||
|
documentation.create_svg(args)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
parser.print_help()
|
parser.print_help()
|
||||||
|
|||||||
Reference in New Issue
Block a user