mirror of
https://github.com/openhwgroup/cvw
synced 2025-01-23 21:14:37 +00:00
58 lines
2.3 KiB
Bash
Executable File
58 lines
2.3 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
###########################################
|
|
## Written: rose@rosethompson.net
|
|
## Created: 12 March 2023
|
|
## Modified:
|
|
##
|
|
## Purpose: Converts a single branch.log containing multiple benchmark branch outcomes into
|
|
## separate files, one for each program.
|
|
## Input: branch log file generated by modelsim
|
|
## output: outputs to directory branch a collection of files with the branch outcomes
|
|
## separated by benchmark application. Example names are aha-mot64bd_sizeopt_speed_branch.log
|
|
##
|
|
## A component of the CORE-V-WALLY configurable RISC-V project.
|
|
## https://github.com/openhwgroup/cvw
|
|
##
|
|
## Copyright (C) 2021-23 Harvey Mudd College & Oklahoma State University
|
|
##
|
|
## SPDX-License-Identifier: Apache-2.0 WITH SHL-2.1
|
|
##
|
|
## Licensed under the Solderpad Hardware License v 2.1 (the “License”); you may not use this file
|
|
## except in compliance with the License, or, at your option, the Apache License version 2.0. You
|
|
## may obtain a copy of the License at
|
|
##
|
|
## https:##solderpad.org/licenses/SHL-2.1/
|
|
##
|
|
## Unless required by applicable law or agreed to in writing, any work 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.
|
|
################################################################################################
|
|
|
|
File="$1"
|
|
TrainLineNumbers=`cat $File | grep -n "TRAIN" | awk -NF ':' '{print $1}'`
|
|
BeginLineNumbers=`cat $File | grep -n "BEGIN" | awk -NF ':' '{print $1}'`
|
|
Name=`cat $File | grep -n "BEGIN" | awk -NF '/' '{print $6_$4}'`
|
|
EndLineNumbers=`cat $File | grep -n "END" | awk -NF ':' '{print $1}'`
|
|
echo $Name
|
|
echo $BeginLineNumbers
|
|
echo $EndLineNumbers
|
|
|
|
NameArray=($Name)
|
|
TrainLineNumberArray=($TrainLineNumbers)
|
|
BeginLineNumberArray=($BeginLineNumbers)
|
|
EndLineNumberArray=($EndLineNumbers)
|
|
|
|
OutputPath=${File%%.*}
|
|
mkdir -p $OutputPath
|
|
Length=${#EndLineNumberArray[@]}
|
|
for i in $(seq 0 1 $((Length-1)))
|
|
do
|
|
CurrName=${NameArray[$i]}
|
|
CurrTrain=$((${TrainLineNumberArray[$i]}+1))
|
|
CurrEnd=$((${EndLineNumberArray[$i]}-1))
|
|
echo $CurrName, $CurrTrain, $CurrEnd
|
|
sed -n "${CurrTrain},${CurrEnd}p" $File > $OutputPath/${CurrName}_${File}
|
|
done
|