| #!/bin/bash |
| # SPDX-FileCopyrightText: 2020 Efabless Corporation |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| PDK_PATH=$1; shift |
| PATTERNS=( "$@" ) |
| last_idx=$(( ${#PATTERNS[@]} - 1 )) |
| TARGET_PATH=${PATTERNS[$last_idx]} |
| unset PATTERNS[$last_idx] |
| last_idx=$(( ${#PATTERNS[@]} - 1 )) |
| ID=${PATTERNS[$last_idx]} |
| unset PATTERNS[$last_idx] |
| last_idx=$(( ${#PATTERNS[@]} - 1 )) |
| TARGET_DV=${PATTERNS[$last_idx]} |
| unset PATTERNS[$last_idx] |
| last_idx=$(( ${#PATTERNS[@]} - 1 )) |
| PARENT=${PATTERNS[$last_idx]} |
| unset PATTERNS[$last_idx] |
| |
| |
| echo "arg1=$PDK_PATH" |
| echo "arg2=$PARENT" |
| echo "arg3=$TARGET_DV" |
| echo "arg4=$ID" |
| echo "arg5=$TARGET_PATH" |
| echo "PATTERNS contains:" |
| printf "%s\n" "${PATTERNS[@]}" |
| |
| export RUN_WRAPPER=$TARGET_PATH/.github/scripts/utils/run_wrapper.sh |
| |
| OUT_FILE=$TARGET_PATH/$TARGET_DV\_dv.$ID.out |
| cd $TARGET_PATH/verilog/dv/$PARENT/$TARGET_DV; |
| touch $OUT_FILE |
| for PATTERN in ${PATTERNS[*]} |
| do |
| echo "Executing DV on $PATTERN"; |
| cd $PATTERN; |
| for x in RTL GL |
| do |
| export SIM=$x |
| echo "Running $PATTERN $SIM.." |
| logFile=$TARGET_PATH/$TARGET_DV\_$PATTERN.$SIM.dv.out |
| bash $RUN_WRAPPER "make" 2>&1 | tee $logFile |
| grep "Monitor" $logFile >> $OUT_FILE |
| make clean |
| done |
| echo "Execution Done on $PATTERN!" |
| cd ..; |
| done |
| |
| cat $OUT_FILE |
| |
| exit 0 |