Skip to content

Synopsys Library Preparation flow#185

Open
20Mhz wants to merge 9 commits intogoogle:mainfrom
20Mhz:synopsys_pull
Open

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

Conversation

@20Mhz
Copy link
Copy Markdown

@20Mhz 20Mhz commented Oct 17, 2020

Fixes #47

Adds library preparation scripts/flow for Synopsys Tools

@mithro
Copy link
Copy Markdown
Contributor

mithro commented Oct 19, 2020

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
Copy link
Copy Markdown
Author

20Mhz commented Nov 20, 2020

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
Copy link
Copy Markdown

heavySea commented May 7, 2021

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
Collaborator

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

@20Mhz
Copy link
Copy Markdown
Author

20Mhz commented May 8, 2021

@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

Copy link
Copy Markdown

@heavySea heavySea left a comment

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

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


$(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
Copy link
Copy Markdown
Author

20Mhz commented May 11, 2021

@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
Copy link
Copy Markdown

MohamedAliYounis commented Mar 5, 2022

@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
Copy link
Copy Markdown
Author

20Mhz commented Mar 5, 2022

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

@mithro
Copy link
Copy Markdown
Contributor

mithro commented Mar 6, 2022

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
Copy link
Copy Markdown
Author

20Mhz commented Mar 6, 2022

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

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Missing techfiles

6 participants