Comments (17)
@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.
@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.
@proppy Please check the updated version of the documentation. I think that should be better.
from globalfoundries-pdk-libs-gf180mcu_fd_pr.
@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.
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.
@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.
@proppy Namely this file: final_detailed_report.csv
from globalfoundries-pdk-libs-gf180mcu_fd_pr.
cc @mkkassem
from globalfoundries-pdk-libs-gf180mcu_fd_pr.
@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
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.
@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.
cc @mkkassem
from globalfoundries-pdk-libs-gf180mcu_fd_pr.
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.
@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.
@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 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.
Yes, Foundry tests are unit tests per rule
from globalfoundries-pdk-libs-gf180mcu_fd_pr.
@proppy @mkkassem DRC/LVS are no longer part of this repo.
from globalfoundries-pdk-libs-gf180mcu_fd_pr.
Related Issues (20)
- Please fix cells/xschem/symbols/vnpn_10x10.sym: S (substrate) terminal incorrectly named B HOT 1
- lvs script should be able to import xschem netlist HOT 4
- can LVPWELL be used without DNWELL? HOT 15
- CI runs is complaining about "`set-output` command is deprecated" HOT 4
- DRC PL.2_3.3V mixes gate length rules with gate width rules HOT 3
- Update Google repo with the latest updates in Efabless Version
- nfet_03v3_dw missing in PDK? HOT 3
- Typo in LVS command line arguments checking "--net" HOT 1
- Fix `gf180mcuC` `xschemrc`
- SPICE Model refactoring HOT 1
- parameter m (multiplier) in GF180mcuc PDK not working
- Missing 5V transistor in transistor models set for GF180 MCU HOT 7
- Layer map confusion regarding GF180 MCU top layer and metal 5 mapping. HOT 3
- NMOS/PMOS Pcell non symetrical
- CI fails with issue around qt5-default HOT 1
- Warnings from the `actions/setup-python@v3` GitHub Action on CI HOT 8
- incorrect symbol path in xschem tests
- Transient noise simulation in Ngspice HOT 1
- Issue with GF180 PDK and symbols import into Xschem and incompatibility with definitions in sm141064.spice HOT 11
- lvs script should be able to read X subcircuit HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from globalfoundries-pdk-libs-gf180mcu_fd_pr.