Skip to content
Open
Show file tree
Hide file tree
Changes from all 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