Skip to content

GF180MCU Oklahoma State University Standard-Cell Library characterized with TT corner at 25 C #2

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 102 commits into
base: main
Choose a base branch
from

Conversation

stineje
Copy link

@stineje stineje commented Aug 10, 2022

Fixes #<issue_number_goes_here>

It's a good idea to open an issue first for discussion.

  • Tests pass
  • Appropriate changes to README are included in PR

@google-cla
Copy link

google-cla bot commented Aug 10, 2022

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@mithro mithro requested a review from QuantamHD August 10, 2022 19:17
@stineje stineje changed the title First Run at GF180MCU Oklahoma State University Standard-Cell Library GF180MCU Oklahoma State University Standard-Cell Library (19 cells) run with TT corner at 25 C Aug 10, 2022
Copy link
Contributor

@mithro mithro left a comment

Choose a reason for hiding this comment

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

The .sch files are not following the correct naming convention.

There still seems to be a directory name 12T?

@proppy
Copy link
Member

proppy commented Dec 7, 2022

Noticed that the PDK docs shows an area of 0.00000 for all cells, is that expected?

@stineje
Copy link
Author

stineje commented Dec 7, 2022 via email

@infinitymdm
Copy link

Hi @mithro , is there anything else keeping this from moving forward? All the issues I see mentioned in this conversation appear to be resolved (aside from the CLA)

@proppy
Copy link
Member

proppy commented Jan 20, 2023

Like discussed in the PR review comments, would be nice to get an update on the README that describe how this standard cell library differ from the one included in the PDK (reference voltage, feature size):
https://github.com/google/globalfoundries-pdk-libs-gf180mcu_osu_sc/pull/2/files#diff-7b3ed02bc73dc06b7db906cf97aa91dec2b2eb21f2d92bc5caa761df5bbc168f

@atorkmabrains
Copy link
Collaborator

@mithro @proppy @stineje

First thing that I noted, is that there are no CDL netlist. I can only see spice netlist. Any chance we can add CDL netlist as well.

Spice netlists are used for simulation.
CDL netlist are used for LVS.

Also, I recommend adding CI for running DRC and LVS of the GDS against the CDL netlist provided to make sure that netlist always match the GDS. Here is the recommended PV repo for running LVS: https://github.com/efabless/globalfoundries-pdk-libs-gf180mcu_fd_pv

I haven't finished my review. But I'll take a closer look tomorrow.

Copy link
Collaborator

@atorkmabrains atorkmabrains left a comment

Choose a reason for hiding this comment

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

@stineje area = 0 is common in all cells. And any comment on one cell applies to all of the generated output.

Extra common files need to be added per cell:

  • CDL files for all cells.
  • Different Verilog files (Functional, Behavioral, With Power, Without Power)
  • Xschem symbol files for each cell.

Also, if we can include the following CI for this repo would be great:

  • Run Klayout/magic DRC on all cells.
  • Run klayout LVS on all cells.
  • Add a CI that randomly pick 10 cells and run ngspice simulation on the spice netlist using models and match the measurement with the values in the "lib". I'm not sure if there an automated way in CI to detect which files has changed. And if there a lib file that has changed in this commit. It only runs that on that specific file. May be @proppy would know better about this.

There is one thing else related to LEF against GDS comparison. But I need to think about it and get back to you.

* See the License for the specific language governing permissions and
* limitations under the License.
cell (gf180mcu_osu_sc_gp12t3v3__addf_1) {
area : 0;
Copy link
Collaborator

Choose a reason for hiding this comment

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

@stineje Area is set to zero?

* See the License for the specific language governing permissions and
* limitations under the License.
cell (gf180mcu_osu_sc_gp12t3v3__addh_1) {
area : 0;
Copy link
Collaborator

Choose a reason for hiding this comment

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

Area is set to zero?

* See the License for the specific language governing permissions and
* limitations under the License.
cell (gf180mcu_osu_sc_gp12t3v3__clkbuf_1) {
area : 0;
Copy link
Collaborator

Choose a reason for hiding this comment

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

@stineje Area is set to zero?

Copy link
Collaborator

Choose a reason for hiding this comment

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

@stineje Could you please name them according to the naming scheme similar to this one?

I believe this file is behavioral without power supply

Behavioral pp for behavioral implementation with power supply:
https://github.com/google/globalfoundries-pdk-libs-gf180mcu_fd_sc_mcu9t5v0/blob/main/cells/addf/gf180mcu_fd_sc_mcu9t5v0__addf_2.behavioral.pp.v

Behavioral for behavioral implementation without power supply:
https://github.com/google/globalfoundries-pdk-libs-gf180mcu_fd_sc_mcu9t5v0/blob/main/cells/addf/gf180mcu_fd_sc_mcu9t5v0__addf_2.behavioral.v

Functional pp for behavioral implementation with power supply:
https://github.com/google/globalfoundries-pdk-libs-gf180mcu_fd_sc_mcu9t5v0/blob/main/cells/addf/gf180mcu_fd_sc_mcu9t5v0__addf_2.functional.pp.v

Functional for behavioral implementation without power supply:
https://github.com/google/globalfoundries-pdk-libs-gf180mcu_fd_sc_mcu9t5v0/blob/main/cells/addf/gf180mcu_fd_sc_mcu9t5v0__addf_2.functional.v

Copy link
Collaborator

Choose a reason for hiding this comment

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

@stineje Is it possible to include PNG/SVG for the GDS for each file? There is a script developed by @proppy that could generate those files for you.

Copy link
Collaborator

Choose a reason for hiding this comment

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

@stineje Could you please add symbol files for xschem for all cells? You could borrow them from: https://github.com/google/globalfoundries-pdk-libs-gf180mcu_fd_sc_mcu9t5v0/tree/main/cells

I believe there is a script that could generate that as well. May be @proppy and @mithro has it.

Copy link
Collaborator

@atorkmabrains atorkmabrains left a comment

Choose a reason for hiding this comment

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

@stineje area = 0 is common in all cells. And any comment on one cell applies to all of the generated output.

Extra common files need to be added per cell:

  • CDL files for all cells.
  • Different Verilog files (Functional, Behavioral, With Power, Without Power)
  • Xschem symbol files for each cell.

Also, if we can include the following CI for this repo would be great:

  • Run Klayout/magic DRC on all cells.
  • Run klayout LVS on all cells.
  • Add a CI that randomly pick 10 cells and run ngspice simulation on the spice netlist using models and match the measurement with the values in the "lib". I'm not sure if there an automated way in CI to detect which files has changed. And if there a lib file that has changed in this commit. It only runs that on that specific file. May be @proppy would know better about this.

There is one thing else related to LEF against GDS comparison. But I need to think about it and get back to you.

@atorkmabrains
Copy link
Collaborator

@mithro and @stineje I have completed my first iteration of review. I have done this review based @mithro request. We could do another round once all the changes are made.


* NGSPICE file created from gf180mcu_osu_sc_gp12t3v3__aoi22_1.ext - technology: gf180mcuC

.subckt gf180mcu_osu_sc_gp12t3v3__aoi22_1 Y A0 A1 B0 B1

Choose a reason for hiding this comment

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

This subcircuit definition appears to be missing the VDD and VSS inputs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: No status
Development

Successfully merging this pull request may close these issues.

8 participants