OpenCores
URL https://opencores.org/ocsvn/ssbcc/ssbcc/trunk

Subversion Repositories ssbcc

[/] [ssbcc/] [trunk/] [core/] [9x8/] [build/] [xilinx-xc6slx4/] [run] - Blame information for rev 6

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 sinclairrf
#!/bin/bash
2
# Copyright 2013, Sinclair R.F., Inc.
3
# Test against Xilinx Spartan 6 and ISE.
4
#
5
# To replicate the performance runs (using uc_led)
6
# - Minimum resource utilization, use -3 speed grade, 10 ns clock, XST and MAP
7
#   set for minimum area, and ISE 13.3 or 14.4
8
# - Maximum speed
9
#   -1L 11.4 9.0 ns "-timing -t  52" ==> 9.112 ns (109.7 MHz)
10
#   -1L 12.4 9.4 ns "-timing -t  52" ==> 9.434 ns (106.0 MHz)
11
#   -1L 13.3 9.5 ns "-timing -t  36" ==> 9.657 ns (103.6 MHz)
12
#   -1L 14.4 9.5 ns "-timing -t  36" ==> 9.657 ns (103.6 MHz)
13
#   -2  11.4 7.5 ns "-timing -t  50" ==> 7.948 ns (125.8 MHz)
14
#   -2  12.4 7.0 ns "-timing -t   6" ==> 7.544 ns (132.6 MHz)
15
#   -2  13.3 5.7 ns "-timing -t  69" ==> 5.682 ns (176.0 MHz)
16
#   -2  14.4 5.7 ns "-timing -t  69" ==> 5.682 ns (176.0 MHz)
17
#   -3  11.4 5.6 ns "-timing -t  50" ==> 5.700 ns (175.4 MHz)
18
#   -3  12.4 5.0 ns "-timing -t  28" ==> 5.064 ns (197.5 MHz)
19
#   -3  13.3 5.0 ns "-timing -t  12" ==> 5.000 ns (200.0 MHz)
20
#   -3  14.4 5.0 ns "-timing -t  12" ==> 5.000 ns (200.0 MHz)
21
 
22
TESTED="11.4 12.4 13.3 14.4 14.5";
23
 
24
TEST_BENCHES="";
25
TEST_BENCHES+=" uc_combine_instr_ds";
26
TEST_BENCHES+=" uc_led";
27
TEST_BENCHES+=" uc_peripherals";
28
 
29
PWD="`pwd`";
30
PWD="${PWD/*\/}";
31
 
32
while getopts "ht:v:" OPTNAME; do
33
  case ${OPTNAME} in
34
    ( h ) echo "Usage:  run [-t uc_name] [-v ISE_version]" > /dev/stderr;
35
          echo "Where:" > /dev/stderr;
36
          echo "  uc_name is one of the .9x8 files in ../uc" > /dev/stderr;
37
          echo "  ISE_version is an ISE version number" > /dev/stderr;
38
          exit 0;;
39
    ( t ) TEST_BENCHES="${OPTARG}";;
40
    ( v ) TESTED="${OPTARG}";;
41
  esac
42
done
43
 
44
let nTested=0;
45
for VERSION in ${TESTED}; do
46
  TOOL_DIR="/opt/Xilinx/${VERSION}";
47
  if [ ! -e "${TOOL_DIR}" ]; then
48
    echo "Xilinx ISE version ${VERSION} not found at ${TOOL_DIR}" > /dev/stderr;
49
    continue;
50
  fi
51
  if [ -d "${TOOL_DIR}/ISE_DS" ]; then
52
    TOOL_DIR="${TOOL_DIR}/ISE_DS";
53
  fi
54
  for TB in ${TEST_BENCHES}; do
55
    let nTested+=1;
56
    LOGFILE="log-${VERSION}-${TB}";
57
    if [ ! -z "`./make "${TOOL_DIR}" ${TB} 2>&1 | tee "${LOGFILE}" | sed -n '/ERROR/p'`" ]; then
58
      grep "ERROR" "${LOGFILE}"                 > /dev/stderr;
59
      echo "BUILD TEST BENCH FAILED"            > /dev/stderr;
60
      echo "build directory:    ${PWD}"         > /dev/stderr;
61
      echo "TOOL:               ${TOOL_DIR}"    > /dev/stderr;
62
      echo "TEST:               ${TB}"          > /dev/stderr;
63
      echo "LOG FILE:           ${LOGFILE}"     > /dev/stderr;
64
      exit 1;
65
    fi
66
    echo "Build results for ${PWD} Xilinx ISE/${VERSION} ${TB}";
67
    sed -n \
68
        -e '/Minimum period/p' \
69
        -e '/^  Number of occupied Slices:/p' \
70
        -e '/^  Number of Slice LUTs:/p' \
71
        -e '/^  Number of RAMB[0-9]*BWERs: *[1-9]/p' \
72
        -e '/TS_i_clk = PERIOD/,+1p' \
73
        "${LOGFILE}" \
74
        ;
75
  done
76
done
77
 
78
if [ ${nTested} == "0" ]; then
79
  echo "No tests performed in ${PWD/*\/}" > /dev/stderr;
80
else
81
  echo "${nTested} tool versions successfully tested in ${PWD/*\/}" > /dev/stderr;
82
fi

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.