Code Monkey home page Code Monkey logo

Comments (17)

atorkmabrains avatar atorkmabrains commented on May 17, 2024

@proppy The test coverage are listed in the tracking sheet:
https://docs.google.com/spreadsheets/d/1xxxg_VzZWJ1NNysSMcOVzyUin7M2dvtb_E7X-5WQKJ0/edit?usp=sharing

All rules unit tests are found in the GDS files in:
https://github.com/mabrains/globalfoundries-pdk-libs-gf180mcu_fd_pr/tree/main/rules/klayout/drc/testing/testcases

Please refer to the test patterns documentation in internal google git repos.

from globalfoundries-pdk-libs-gf180mcu_fd_pr.

atorkmabrains avatar atorkmabrains commented on May 17, 2024

@proppy BTW, we already have this documented in the testing DRC:
https://github.com/mabrains/globalfoundries-pdk-libs-gf180mcu_fd_pr/blob/main/rules/klayout/drc/testing/README.md#regression-outputs

cc @mkkassem

from globalfoundries-pdk-libs-gf180mcu_fd_pr.

atorkmabrains avatar atorkmabrains commented on May 17, 2024

@proppy Please check the updated version of the documentation. I think that should be better.

https://github.com/mabrains/globalfoundries-pdk-libs-gf180mcu_fd_pr/blob/main/rules/klayout/drc/testing/README.md

from globalfoundries-pdk-libs-gf180mcu_fd_pr.

proppy avatar proppy commented on May 17, 2024

@atorkmabrains is there a way to get the mapping between the GDS files in testing and the actual rules being covered?

from globalfoundries-pdk-libs-gf180mcu_fd_pr.

proppy avatar proppy commented on May 17, 2024

Alternatively is there a way to make the tracking spreadsheet you referenced public and link it from the README?

/cc @QuantamHD and @mithro

from globalfoundries-pdk-libs-gf180mcu_fd_pr.

atorkmabrains avatar atorkmabrains commented on May 17, 2024

@proppy Yes, please read the section as mentioned above: https://github.com/mabrains/globalfoundries-pdk-libs-gf180mcu_fd_pr/blob/main/rules/klayout/drc/testing/README.md#regression-outputs

from globalfoundries-pdk-libs-gf180mcu_fd_pr.

atorkmabrains avatar atorkmabrains commented on May 17, 2024

@proppy Namely this file: final_detailed_report.csv

from globalfoundries-pdk-libs-gf180mcu_fd_pr.

atorkmabrains avatar atorkmabrains commented on May 17, 2024

cc @mkkassem

from globalfoundries-pdk-libs-gf180mcu_fd_pr.

proppy avatar proppy commented on May 17, 2024

@atorkmabrains Thanks for the instructions, I was able to verify the coverage of the rules for the Manual_testcases.gds that @QuantamHD was initially asking about.

See the following notebook:
https://colab.research.google.com/gist/proppy/23d03ac768d85db7513d3ec033fc9af5/gf180mcu-klayout-playground.ipynb#scrollTo=vT0g7eE9ISdG

image

A few following questions:

  • it seems that some tests create a lyrdb file and some don't (ex: Manual_testcases), is that intentional?
  • is there a way to check which GDS testcase act as a "violator cell" for a given rule (i.e: trigger an excepted failure)

from globalfoundries-pdk-libs-gf180mcu_fd_pr.

atorkmabrains avatar atorkmabrains commented on May 17, 2024

@proppy Yes, all unit tests for each rule has a bunch of pass test cases, where the DRC for that rule shouldn't highlight and a bunch of fail test cases, where the DRC should highlight and we make sure that locations where it supposed to highlight it highlights and where it supposed not to highlight it doesn't highlight. If the DRC highlight in pass test case, that is false positive test case, and if it highlights in a fail test cases that's a false negative test case. And we investigated all those false positive and false negative test cases before. Please check our original summary of the analysis here:

https://docs.google.com/spreadsheets/d/117Djoc7bjs09jyru4CYNuxXDeraHz8717UGPKOaBA14/edit#gid=0

Also, Please check our slides at:
https://docs.google.com/presentation/d/1jMYQMGoihTglgvgFRTApGS_z6e_hdlRhD-zFyHu-65c/edit#slide=id.p
https://docs.google.com/presentation/d/1dmM19jXz1AyYz_-JTpomD9hVx87cd8V5PjW5EYrseQk/edit?usp=sharing
https://docs.google.com/presentation/d/15kvnHgidU8-gYRN1dv2YV_t_m3IRd5dm6YcchAgA3YA/edit?usp=sharing

Please let me know if you have further questions.

from globalfoundries-pdk-libs-gf180mcu_fd_pr.

atorkmabrains avatar atorkmabrains commented on May 17, 2024

cc @mkkassem

from globalfoundries-pdk-libs-gf180mcu_fd_pr.

proppy avatar proppy commented on May 17, 2024

all unit tests for each rule has a bunch of pass test cases [...] bunch of fail test cases

Is Manual_testcases.gds the only GDS "unit tests" testcase that fit with this definition? If yes, it seems that it only cover a portion of the rules (28) per #65 (comment).

from globalfoundries-pdk-libs-gf180mcu_fd_pr.

atorkmabrains avatar atorkmabrains commented on May 17, 2024

@proppy check this: rules/klayout/drc/testing/testcases/README.md

Unit tests are covered by all files in the testcases folder. Manual testcases file is just a portion of the tests.

from globalfoundries-pdk-libs-gf180mcu_fd_pr.

atorkmabrains avatar atorkmabrains commented on May 17, 2024

@proppy I have discussed that with @mithro before. That can't be done. Primitive renaming is a lateral change that affects everything and if you take one part and leave the other parts of the PDK unchanged, it will break the PDK. And there is another issue, doing PR will not work as well as the amount of changes are massive. And github doesn't allow that. I have shown this to @mithro and @mkkassem. That's why I was asking you guys to get the primitives renaming PRs in first before we change anything.

from globalfoundries-pdk-libs-gf180mcu_fd_pr.

proppy avatar proppy commented on May 17, 2024

@proppy check this: rules/klayout/drc/testing/testcases/README.md
Unit tests are covered by all files in the testcases folder. Manual testcases file is just a portion of the tests.

Yes, but other tests listed in the updated README are labelled as "foundry tests", not "unit tests".

Do they also follow the rules that you mentioned earlier?

all unit tests for each rule has a bunch of pass test cases [...] bunch of fail test cases

If either case, can we make this explicit in the README?

from globalfoundries-pdk-libs-gf180mcu_fd_pr.

atorkmabrains avatar atorkmabrains commented on May 17, 2024

Yes, Foundry tests are unit tests per rule

from globalfoundries-pdk-libs-gf180mcu_fd_pr.

atorkmabrains avatar atorkmabrains commented on May 17, 2024

@proppy @mkkassem DRC/LVS are no longer part of this repo.

from globalfoundries-pdk-libs-gf180mcu_fd_pr.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.