source: trunk/IPs/systemC/processor/Morpheo/Script/xilinx_extract_info.sh @ 138

Last change on this file since 138 was 138, checked in by rosiere, 14 years ago

1) add counters_t type for interface
2) fix in check load in load_store_unit
3) add parameters (but not yet implemented)
4) change environment and add script (distcc_env.sh ...)
5) add warning if an unser change rename flag with l.mtspr instruction
6) ...

  • Property svn:executable set to *
  • Property svn:keywords set to Id
File size: 2.6 KB
Line 
1#!/bin/bash
2
3#-----------------------------------------------------------
4# $Id: xilinx_extract_info.sh 138 2010-05-12 17:34:01Z rosiere $
5#-----------------------------------------------------------
6
7##-----[ usage ]---------------------------------------------
8#function usage ()
9#{
10#    echo "Usage     : ${0} [files]";
11#    echo "Arguments : ";
12#    echo ' * files : lists of files. If empty, take *.fpga.log';
13##   echo "Notes     :";
14##   echo " * Morpheo's environnement must be positionned.";
15#
16#    exit;
17#}
18
19#-----[ xilinx_extract_info_usage ]-------------------------
20function xilinx_extract_info_usage()
21{
22    echo "${0} option [files]";
23    echo "Arguments : ";
24    echo ' * files : lists of files. If empty, take *.fpga.log';
25    echo " * -s : print summary section";
26    echo " * -t : print timing section";
27    exit 1;
28}
29
30#-----[ xilinx_extract_info_summary ]-----------------------
31function xilinx_extract_info_summary ()
32{
33    summary_line_begin=$(grep -n "Device utilization summary:" ${1} | cut -d : -f 1);
34    summary_line_end=$(grep -n "Partition Resource Summary:"   ${1} | cut -d : -f 1);
35
36    head -n $(($summary_line_end-1)) ${1} | tail -n $(($summary_line_end-$summary_line_begin));
37}
38
39#-----[ xilinx_extract_info_timing ]------------------------
40function xilinx_extract_info_timing ()
41{
42    timing_line_begin=$(grep -n "Timing Summary:"              ${1} | cut -d : -f 1);
43    timing_line_end=$(grep -n "Timing Detail:"                 ${1} | cut -d : -f 1);
44
45    head -n $(($timing_line_end-1))  ${1} | tail -n $(($timing_line_end-$timing_line_begin));
46}
47
48#-----[ main ]----------------------------------------------
49function xilinx_extract_info()
50{
51    local summary=0;
52    local timing=0;
53    local nb_params=$#;
54    set -- $(getopt :tsh "$@")
55    for arg
56    do  case "$arg" in
57            -t) timing=1;  nb_params=$((nb_params-1));;
58            -s) summary=1; nb_params=$((nb_params-1));;
59            -h) xilinx_extract_info_usage   ${*}; break;;
60            --) if test ${summary} -eq 0 -a ${timing} -eq 0; then
61                    summary=1;
62                    timing=1;
63                fi;
64
65        esac
66    done
67
68    echo $nb_params;
69    if test $nb_params -eq 0; then
70        files="*.fpga.log";
71    else
72        files="$*";
73    fi;
74
75    for i in $files; do
76        if test -f ${i}; then
77            echo "===================| ${i}";
78
79            if test ${summary} -ne 0; then
80                xilinx_extract_info_summary  $i;
81            fi;
82            if test ${timing} -ne 0; then
83                xilinx_extract_info_timing  $i;
84            fi;
85        fi;
86    done
87}
88
89#-----[ Corps ]---------------------------------------------
90xilinx_extract_info ${*}
91
Note: See TracBrowser for help on using the repository browser.