Hi <@U017X0NM2E7>, I've modified the MPW precheck ...
# caravan
r
Hi @Mitch Bailey, I've modified the MPW precheck code to allow for user provided CVC settings locally. The main change was to get the
run_be_checks
script to look for
cvc.power.$TOP_SOURCE
in each of the directories where a config was included from. From what I've tested so far that list looks like it is ordered in a way that the user config directory `lvs/$TOP_SOURCE/`is the first one listed. So making your own
lvs/user_analog_project_wrapper/cvc.power.user_analog_project_wrapper
will allow you to override the configuration and provide your own planned voltage levels and input/output type for the nets. Doing things this way also allowed me to run ERC on sub-modules by giving them their own config. The change wasn't very big in the end:
Copy code
diff --git a/checks/be_checks/run_be_checks b/checks/be_checks/run_be_checks
index 881f2a4..3aa20e7 100755
--- a/checks/be_checks/run_be_checks
+++ b/checks/be_checks/run_be_checks
@@ -117,12 +117,20 @@ fi
 $LVS_ROOT/run_full_lvs --noextract
 lvs_status=$?
 
-if [[ -f $LVS_ROOT/tech/$PDK/cvc.power.$TOP_SOURCE || -f ${CONFIG_FILE%/*}/cvc.power.$TOP_SOURCE ]]; then
-       if [[ -f ${CONFIG_FILE%/*}/cvc.power.$TOP_SOURCE ]]; then
-               cp ${CONFIG_FILE%/*}/cvc.power.$TOP_SOURCE $WORK_ROOT/cvc.power.$TOP_LAYOUT
-       fi
-       $LVS_ROOT/run_cvc --noextract
-       cvc_status=$?
+for config in $INCLUDE_CONFIGS; do
+    CVC_CONFIG="${config%/*}/cvc.power.$TOP_SOURCE"
+    if [[ -f $CVC_CONFIG ]]; then
+        echo "
+Found CVC configuration $CVC_CONFIG
+"
+        break
+    fi
+done
+
+if [[ -f $CVC_CONFIG ]]; then
+    cp $CVC_CONFIG $WORK_ROOT/cvc.power.$TOP_LAYOUT
+    $LVS_ROOT/run_cvc --noextract
+    cvc_status=$?
 fi
 
 if [[ $TOP_SOURCE == *user_*project* && $SKIP_OEB == no ]]; then
Now, my question to you, is there any obvious potential problems in my approach that I may have missed? For now this change seems to work for me but I expect others may be interested too as it seems a nice addition to the analog design workflow. I've had a look at your repositories and see that this code is in both the mpw_precheck and extra_be_checks repositories on github, which would be the right point to start upstreaming?
m
@Roel Jordans Thanks so much. I may have a similar change pending, but I’ll definitely look at your suggestion.
extra_be_checks
is the source and files are copied to
mpw_precheck
as needed.
r
Great, good to hear that something similar is on it's way already. I'll use this version for now and will have another look when you get an official version released!
👍 1