Skip to content
This repository was archived by the owner on Apr 18, 2026. It is now read-only.

Synopsys Library Preparation flow#185

Open
20Mhz wants to merge 9 commits into
google:mainfrom
20Mhz:synopsys_pull
Open

Synopsys Library Preparation flow#185
20Mhz wants to merge 9 commits into
google:mainfrom
20Mhz:synopsys_pull

Conversation

@20Mhz

@20Mhz 20Mhz commented Oct 17, 2020

Copy link
Copy Markdown

Fixes #47

Adds library preparation scripts/flow for Synopsys Tools

@mithro

mithro commented Oct 19, 2020

Copy link
Copy Markdown
Contributor

Just wanted to say this is awesome work! Will hopefully get a chance to review it in the next week or so.

@tibicenas

Copy link
Copy Markdown

Fixes #47

Adds library preparation scripts/flow for Synopsys Tools

Hy everyone, thank you so much for the amazing job. I have a little problem in order to integrate the liberty files into Design Compiler, transform them into db format through lc_shell command. The PDK supplies the liberty files in the format .lib.json, so when I try to compile the libraries, I have errors about the liberty files (.lib) are not present. Are there any script to change the format of the files, from *.lib.json to *.lib? Thanks in advance.

@20Mhz

20Mhz commented Nov 20, 2020

Copy link
Copy Markdown
Author

Right, that's a dependecy. First you need to run make timing on base dir as usual.

@tibicenas

Copy link
Copy Markdown

Thank you very much, the command generates the Liberty files correctly.

@github-actions github-actions Bot added the documentation Improvements or additions to documentation label Mar 5, 2021
Splitting dielectrics as conformal layers cannot have thickness
@heavySea

heavySea commented May 7, 2021

Copy link
Copy Markdown

This is great! Thank you very much!

Is there a reason why the resulting files (TLU+, MW files, .db, ...) are not included in the repo? Is it under some NDA?
Or is it just due to the WIP status?

@RTimothyEdwards

Copy link
Copy Markdown

@heavySea : Because if you have a million dollars lying around for purchasing software, then you don't need an open PDK.

@20Mhz

20Mhz commented May 8, 2021

Copy link
Copy Markdown
Author

@RTimothyEdwards, I guess that'a more of an opinion on general adoption/usefulness... Keep in mind there are also universities that have access to the tools for research.

@heavySea There is no NDA, from my point of view it would make sense to merge, already submitted the pull request. Cheers

@heavySea heavySea left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

@20Mhz I've encountered a few minor problems while trying to build the files

Comment thread vendor/synopsys/Makefile
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

Comment thread vendor/synopsys/Makefile

$(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

@heavySea

Copy link
Copy Markdown

@RTimothyEdwards I don't think so at all. Like Ronald said, many universities have access to the tools aswell and use it for their work as well as for education. They can profit from an open PDK as much as anybody else. Moreover I think compatibility with industry tools might also raise acceptance of this project and open-source PDKs in general.

@20Mhz I guess my question was not clear enough. Why do you not include all the files in the result directory? Right now everyone requires to build the files themself. While it is not difficult thanks to your Makefile it still seems like an avoidable extra step.

@20Mhz

20Mhz commented May 11, 2021

Copy link
Copy Markdown
Author

@heavySea, got you, It seems we got derailed... The reasons are kind of similar to any other code distribution: size, version compatibility, transparency, etc.
I opened up the issue tracker on my cloned repo, feel free to open a ticket if you find an issue, you are also welcomed to discuss on slack.

@MohamedAliYounis

MohamedAliYounis commented Mar 5, 2022

Copy link
Copy Markdown

@tibicenas can you please till me in details how to get the .lib files from .lib.json files

@MohamedAliYounis

Copy link
Copy Markdown

@20Mhz could you please tell me in details how to get .lib files from .lib.json ? Thanks in advance

@20Mhz

20Mhz commented Mar 5, 2022

Copy link
Copy Markdown
Author

Hi,
That should just be
% make timing
Cheers,
Ronald

@mithro

mithro commented Mar 6, 2022

Copy link
Copy Markdown
Contributor

Hi!

I am interested in having these items merged into the repository but currently we (Google) don't have the bandwidth to review, maintain and test this functionality. Our resources are currently focus is on the fully open source tooling due to these tools being universally accessible and our mandate being around growing a community of new developers.

I have been meaning to reach out to @20Mhz and see if there is a way we can move forward with him taking on responsibility but I don't know if he has the time and resources to commit to that. It is unreasonable for us to expect him to do that work and I didn't want to put any pressure on him to take it on.

Hope that explains where things are at.

Tim '@mithro' Ansell

@MohamedAliYounis

Copy link
Copy Markdown

@20Mhz
Thanks for your help,
But I'm using CentOS and this command isn't exist or I have a misconception. Could you please help!
Thanks in advance,
Younis

@20Mhz

20Mhz commented Mar 6, 2022

Copy link
Copy Markdown
Author

Fixed mcon VIA resistivity and added temp coefficients for all vias
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Missing techfiles

6 participants