Skip to content
Open
Show file tree
Hide file tree
Changes from 8 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions docs/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,13 @@ docutils
sphinx
sphinx-autobuild

# Verilog domain
sphinx-verilog-domain
# Verilog diagrams using Yosys + netlistsvg
git+https://github.com/SymbiFlow/sphinxcontrib-verilog-diagrams.git#egg=sphinxcontrib-verilog-diagrams
sphinxcontrib-hdl-diagrams

# Module diagrams
symbolator
git+https://github.com/SymbiFlow/symbolator.git#egg=symbolator

# pycairo
# vext.gi
Expand Down
65 changes: 65 additions & 0 deletions vendor/synopsys/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
LIBRARIES = ../../../libraries

LIB_NAME = sky130_fd_sc_hd

ROOT = $(realpath .)
SCRIPTS = $(ROOT)/scripts
RESULTS_DIR = $(ROOT)/results
LIBS_DIR = $(RESULTS_DIR)/lib
TECH_DIR = $(RESULTS_DIR)/tech
OUTPUT_DIR = $(LIBS_DIR)/$(LIB_NAME)
LOGS = $(ROOT)/logs

COMMON_OPTIONS = 'set target_lib_dir $(LIBRARIES)/$(LIB_NAME)/latest; set target_lib_name $(LIB_NAME); set output_dir $(OUTPUT_DIR)'
LC_OPTIONS = -x $(COMMON_OPTIONS)
LM_OPTIONS = -x $(COMMON_OPTIONS)
MW_OPTIONS = $(COMMON_OPTIONS)

all: $(LIB_NAME)_ndm tech

setup:
test -d work || mkdir work
test -d $(OUTPUT_DIR) || mkdir -p $(OUTPUT_DIR)
test -d $(LOGS) || mkdir $(LOGS)
test -d $(TECH_DIR) || mkdir -p $(TECH_DIR)
date > $@

$(LIB_NAME)_db: setup
cd work && lc_shell -f $(SCRIPTS)/lc.tcl $(LC_OPTIONS) |& tee $(LOGS)/lc_$@.log

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The |& before tee result in an error:
/bin/sh: 1: Syntax error: "&" unexpected

It works after removing the &
cd work && lc_shell -f $(SCRIPTS)/lc.tcl $(LC_OPTIONS) |& tee $(LOGS)/lc_$@.log

#! grep -q '^Error' $(LOGS)/lc_$@.log
date > $@

$(LIB_NAME)_mw: setup
cd work && echo $(MW_OPTIONS) > setup.tcl
cd work && Milkyway -nogui -file $(SCRIPTS)/mw.tcl |& tee $(LOGS)/mw_$@.log

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In some license-bundles standalone Milkyway must be called with
Milkyway -galaxy
Otherwise it will result in failed license checkout.

This could be fixed by introducing a new variable MW_GALAXY ?=0 and using:

ifeq ($(MW_GALAXY),1)
	cd work && Milkyway -galaxy -nogui -file $(SCRIPTS)/mw.tcl | tee $(LOGS)/mw_$@.log
else
	cd work && Milkyway -nogui -file $(SCRIPTS)/mw.tcl | tee $(LOGS)/mw_$@.log
endif

#! grep -q '^Error' $(LOGS)/mw_$@.log
date > $@

$(LIB_NAME)_ndm: $(LIB_NAME)_db $(LIB_NAME)_mw setup
cd work && icc2_lm_shell -f $(SCRIPTS)/lm.tcl $(LM_OPTIONS) |& tee $(LOGS)/lm_$@.log
date > $@

techfile: setup
test -d $(TECH_DIR)/milkyway/ || mkdir $(TECH_DIR)/milkyway/
cp $(ROOT)/milkyway/sky130_fd_sc_hd.tf $(TECH_DIR)/milkyway/skywater130_fd_sc_hd.tf
date > $@

tluplus: setup
test -d $(TECH_DIR)/star_rcxt/ || mkdir $(TECH_DIR)/star_rcxt/
cp $(ROOT)/milkyway/skywater130.mw2itf.map $(TECH_DIR)/star_rcxt/
cd work && grdgenxo -itf2TLUPlus -i $(ROOT)/star_rcxt/skywater130.nominal.itf -o $(TECH_DIR)/star_rcxt/skywater130.nominal.tluplus |& tee $(LOGS)/$@.log
date > $@

tech: techfile tluplus
date > $@

clean:
rm -rfv setup *_mw *_db *_ndm *_all techfile tluplus tech

clean_all: clean
rm -rf work
rm -rf $(LOGS)
rm -rf $(RESULTS_DIR)

# TODO:
#all: sky130_fd_sc_hd sky130_fd_sc_hdll sky130_fd_sc_hs sky130_fd_sc_ls sky130_fd_sc_ms
12 changes: 12 additions & 0 deletions vendor/synopsys/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
Support files for setting up the technology on Synospys Flow
Alpha quality, provided as-is, no guarantees.

```
git submodule update --init libraries/sky130_fd_sc_hd/latest
make sky130_fd_sc_hd
cd vendor/synopsys
make sky130_fd_sc_hd_db
make sky130_fd_sc_hd_mw
make sky130_fd_sc_hd_ndm
make tluplus
```
19 changes: 19 additions & 0 deletions vendor/synopsys/lm_output.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@

Library Manager (TM)

Version R-2020.09 for linux64 - Sep 01, 2020
This release has significant feature enhancements. Please review the Release
Notes associated with this release.

Copyright (c) 1988 - 2020 Synopsys, Inc.
This software and the associated documentation are proprietary to Synopsys,
Inc. This software may only be used in accordance with the terms and conditions
of a written license agreement with Synopsys, Inc. All other use, reproduction,
or distribution of this software is strictly prohibited.

lm_shell> exit
Maximum memory usage for this session: 63.54 MB
CPU usage for this session: 4 seconds ( 0.00 hours)
Elapsed time for this session: 15 seconds ( 0.00 hours)
Thank you for using Library Manager.

Loading