ucb-art / BAG_framework

BSD 3-Clause "New" or "Revised" License
134 stars 48 forks source link

New fixes #1

Closed ayan-biswas closed 4 years ago

ayan-biswas commented 4 years ago
  1. Fix error in bottom metal vs top metal extension depending on direction of bottom metal
  2. Add extra features to jinja template for Calibre LVS + StarRC extraction
  3. Enable Calibre LVS + QRC extraction
  4. Allow gds to be passed in to run_rcx (similar to run_lvs)
danielrayray43041 commented 4 years ago

Hi there, I am a graduate student from Taiwan and I use BAG to do research. I have encountered a problem while extracting RC via BAG . Therefore, I tried to use the method provided from the @ayan-biswas commits "Adding support for Calibre LVS + QRC extraction" on 26 Aug 2019 and revised all the codes. However, it still doesn't work. Then, I have gone to see the "bag_config.yaml" to check what is going on, and I find that it needs a "qrc_options.yaml" as a RCX runset file. Unfortunately, I can't find anywhere under the files downloaded from here and Cadence cds_ff_mpt. Therefore, I would like to ask if this is a key file to run extraction successfully. If you have any instructions, please let me know. Thanks a lot. Appreciate

here is my email address: rayyeh942@gmail.com Daniel qrc_options yaml

ayan-biswas commented 4 years ago

Hi there, I am a graduate student from Taiwan and I use BAG to do research. I have encountered a problem while extracting RC via BAG . Therefore, I tried to use the method provided from the @ayan-biswas commits "Adding support for Calibre LVS + QRC extraction" on 26 Aug 2019 and revised all the codes. However, it still doesn't work. Then, I have gone to see the "bag_config.yaml" to check what is going on, and I find that it needs a "qrc_options.yaml" as a RCX runset file. Unfortunately, I can't find anywhere under the files downloaded from here and Cadence cds_ff_mpt. Therefore, I would like to ask if this is a key file to run extraction successfully. If you have any instructions, please let me know. Thanks a lot. Appreciate

here is my email address: rayyeh942@gmail.com Daniel qrc_options yaml

Cadence does not provide a working extraction flow for cds_ff_mpt, hence we cannot support it in BAG. The qrc_options.yaml file is an artifact of extraction setup from a different real PDK. BAG supports PEX, StarRC, and QRC extraction flows of various real PDKs that we have access to at UC Berkeley.

danielrayray43041 commented 4 years ago

Dear @ayan-biswas Thanks for your rapid reply. You save me some time! I will go to seek help. Thanks! By the way, I notice that you have used Calibre to run LVS, thus I change my "checker_cls" to bag.verification.calibre.Calibre. However, the whole process not only cannot run toward RCX, but it dies in LVS, and even cannot find the log file. Therefore, it is hard to debug. So, Do you have met such situation? If you have any instructions, please let me know. Appreciate Thanks a lot.

here is my email address: rayyeh942@gmail.com Daniel LVS_failed_log

ayan-biswas commented 4 years ago

Dear @ayan-biswas Thanks for your rapid reply. You save me some time! I will go to seek help. Thanks! By the way, I notice that you have used Calibre to run LVS, thus I change my "checker_cls" to bag.verification.calibre.Calibre. However, the whole process not only cannot run toward RCX, but it dies in LVS, and even cannot find the log file. Therefore, it is hard to debug. So, Do you have met such situation? If you have any instructions, please let me know. Appreciate Thanks a lot.

here is my email address: rayyeh942@gmail.com Daniel LVS_failed_log

BAG supports LVS using Calibre, PVS, and ICV, depending on the runsets that are available to us from the PDK. For Cadence's cds_ff_mpt, we have LVS runsets using PVS only, hence PVS is used for LVS in this PDK. Please revert your checker class to our working setup.

danielrayray43041 commented 4 years ago

Dear @ayan-biswas Thanks a lot!!!! You save me lots of time again. Thank you so much. So, I summarize the main point that I should access the 'qrc_options.yaml' file from UC Berkeley first and revert my checker class to the original working setup because of the orientation of Cadence's cds_ff_mpt. Very thanks for sparing your time for my questions. Appreciate

Daniel

ayan-biswas commented 4 years ago

Dear @ayan-biswas Thanks a lot!!!! You save me lots of time again. Thank you so much. So, I summarize the main point that I should access the 'qrc_options.yaml' file from UC Berkeley first and revert my checker class to the original working setup because of the orientation of Cadence's cds_ff_mpt. Very thanks for sparing your time for my questions. Appreciate

Daniel

I am a grad student from UC Berkeley. The qrc_options.yaml file does not exist for cds_ff_mpt because Cadence does not provide an extraction flow for this PDK, as far as I know, and hence we cannot setup extraction for cds_ff_mpt in BAG. If you can find a way to run extraction in cds_ff_mpt using command line/GUI, please let me know and I can set it up using BAG. Thanks for your interest in this project.

danielrayray43041 commented 4 years ago

Dear @ayan-biswas Thanks for your help. You are an extremely kind person. Thank you so much. For running extraction in cds_ff_mpt, I have tried to run manually via GUI and succeed. Here is my procedure:

  1. Add "set path = ($QRC_HOME/bin $PVSHOME/tools/bin $path )" and "unsetenv ASSURAHOME" in .cshrc file in order to build the 'QRC' toolbar on the layout suite. (I have posted an article, "Can't Find Quantus QRC toolbar on the Layout Suite", on Cadence's Custom IC Design Forums. You can go to find the link.)
  2. Run LVS test via PVS to get the svdb file and then have the appropriate setup in QRC. Here is the reference website: https://www.graser.com.tw/images/product_virtuoso/Virtuoso_Post-Layout_Simulation_Methodology.pdf (Sorry for Mandarin version, but I think the pictures help)

I am not sure if this is what you are talking about. If you have any instructions, please let me know Appreciate

Daniel Quantus_extraction

danielrayray43041 commented 4 years ago

Dear @ayan-biswas I would like to ask about which PDK provided by Cadence provide the extraction flow that can be used in BAG? Would you mind offering me any example file (qrc_options.yaml) in order to rewrite it according to cds_ff_mpt?
Very thanks for your kindness! If you have any instructions, please let me know! Appreciate

Sincerely Daniel

ayan-biswas commented 4 years ago

Dear @ayan-biswas I would like to ask about which PDK provided by Cadence provide the extraction flow that can be used in BAG? Would you mind offering me any example file (qrc_options.yaml) in order to rewrite it according to cds_ff_mpt? Very thanks for your kindness! If you have any instructions, please let me know! Appreciate

Sincerely Daniel

Daniel, it turns out that we were using an old version of the PDK which did not have the necessary QRC collateral for cds_ff_mpt, and that's why we could not support it in BAG earlier. We downloaded the new version (cds_ff_mpt_v0.5) from Cadence, and have enabled extraction now. If you update the workspace (BAG2_cds_ff_mpt) and the submodules (BAG_framework and cds_ff_mpt), you should be able to get "RCX passed". Thanks for bringing this problem to our attention.

danielrayray43041 commented 4 years ago

Dear @ayan-biswas Many thanks for your help! I will try it later. You are such a kind person. Appreciate Daniel

ayan-biswas commented 3 years ago

Please do not ask process specific information on open source forums. You have to contact Berkeley through official channels and sign a 3 way NDA with the foundry to get process specific BAG setup.

danielrayray43041 commented 3 years ago

Hi @ayan-biswas Okay~~ Thanks for your information!

Sincerely Daniel