google / skywater-pdk-sky130-raw-data

Raw data collected about the SKY130 process technology.
https://sky130-pdk.rtfd.io
Apache License 2.0
50 stars 17 forks source link

Adding comparison against simulation for nfet #26

Open atorkmabrains opened 1 year ago

atorkmabrains commented 1 year ago

Fixes #25 Adding comparison against simulation for nfet. Please note that the plot is interactive and you would need to run it on Google colab for example to view it. We noted that most of the sites are close to the measurements with the exception of one site 5290.

cc @akinakturk @mithro @QuantamHD @mohamedmonem123

google-cla[bot] commented 1 year ago

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.

atorkmabrains commented 1 year ago

@mohamedmonem123 Could you please add some screenshots of the plots for different sites here specially the one that has high error?

mohamedmonem123 commented 1 year ago

it is noticed that a large difference between simulated current (Blues) & measured current (Reds).

image image image

mithro commented 1 year ago

This looks super interesting!

mithro commented 1 year ago

@msaligane @bmurmann - As experts in the analog field, any thoughts?

bmurmann commented 1 year ago

Contact issues or errors in the site map?

akinakturk commented 1 year ago

There is some data measured by epfl as well. Their data have some inconsistencies; however, if you look at the empirical data, their numbers are similar to those measured / posted (not in the range of simulated). Even though there are some naming issues, the epfl data for device 5290-1 is the same as that of 5290_3. Both datasets have the same max current of approximately 47mA. The other device is 5290 - 7 / 5290_9. The epfl max current is slightly larger. If you scale the 5290-1 / 5290_3 current by W, L, m, you get roughly 16mA, which is similar to what we posted.

On Mon, May 8, 2023 at 3:15 AM mohamedmonem123 @.***> wrote:

it is noticed that a large difference between simulated current (Blues) & measured current (Reds).

  • Here some screenshots for plots captured from other sites and in which simulated current (Blues) is close to measured current (Reds)

[image: image] https://user-images.githubusercontent.com/110307528/236759412-4f4c4c4b-ed9e-4577-ae72-dce8ff0e79fb.png [image: image] https://user-images.githubusercontent.com/110307528/236759448-44a1beaa-695c-4764-bc1a-85b60346ab11.png [image: image] https://user-images.githubusercontent.com/110307528/236759477-dcc4029e-3dcf-4539-8a6b-b83853b54fa8.png

— Reply to this email directly, view it on GitHub https://github.com/google/skywater-pdk-sky130-raw-data/pull/26#issuecomment-1537872846, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACPNITWSXZLVAXDSGS6WJGLXFCMRPANCNFSM6AAAAAAXZBHSXU . You are receiving this because you were mentioned.Message ID: @.***>

--


Akin Akturk CoolCAD Electronics LLC 5000 College Avenue, Ste. 2105 College Park, MD 20740

azwefabless commented 1 year ago

3 guesses, all of which I've seen in the past: 1)If all of these measurements were take on a single touchdown of the probe card at a single location I'd guess that this is dirt on the probe tip. 2) If this data is repeatable across multiple locations then I'd guess there is a manufacturing or GDS problem with this test structure. If this issue happens at all locations then I'd check the Id versus the W and L of the device and do a mathematical sanity check. If it is likely a multiplier or unit issue in the model and the model number is off base. (I'd start here as I'm not aware of ANY device in S8 that was developed and characterized for half an amp of current.) ;-)

atorkmabrains commented 1 year ago

@bmurmann @mithro @QuantamHD @msaligane

Here are the steps that we have followed:

  1. We read the following document row by row and filtered nfet_01v8 devices using "New Style Name".
  2. Read the device site id from "Mod #" column.
  3. Read device dimensions and parameters from "Description" that includes all parameters including stress parameters.
  4. Read data file for the site id and pin number from files.
  5. Create a netlist from template
  6. Simulate the netlist in ngspice.
  7. Plot and compare results.

The user can select the "site id" from a drop down list interactively in the noteobook and that changes the plot: https://github.com/google/skywater-pdk-sky130-raw-data/blob/f0f38fa96332c127f46afe9f182d9de0179b36f6/notebooks/sky130_plot_simdata_compare.ipynb

I would really appreciate if someone could review our code and see if we missed anything.

@azwefabless Good point with regards to the device being characterized at 500mA. Is it possible to check if the data has incorrect scaling somehow. One comment about that specific site is that the entire site shared source and drain connection for transistors connected to that site. All other sites, shared gate and bulk connections. I have filtered out the nfet_01v8 connections here: https://docs.google.com/spreadsheets/d/10SRKPZtcHI4L2gfeMYfPlzchbu2y6lkMRXf0wKD0xCU/edit?usp=sharing&resourcekey=0-XBt4e7MJevdHEHRvlk0gMw

@akinakturk 47mA seems kind of the correct range.