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

Subversion Repositories ssbcc

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

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 sinclairrf
#!/bin/bash
2 7 sinclairrf
# Copyright 2013-2014, Sinclair R.F., Inc.
3 2 sinclairrf
# Test against Xilinx Spartan 3A and ISE.
4
#
5
# To replicate the performance runs:
6
# - Minimum resource utilization, use -5 speed grade, 15 ns clock, XST and MAP
7
#   set for minimum area.  ISE 11.4, 12.4, 13.3, and 14.4 gave identical
8 7 sinclairrf
#   results:  129 slices, 232 LUTs
9
# - Maximum speed (rounded down)
10
#   -4 11.4 8.1 ns "-timing -t  76" ==> 8.093 ns (123.5 MHz)
11
#   -4 12.4 8.1 ns "-timing -t  68" ==> 8.131 ns (122.9 MHz)
12
#   -4 13.3 8.1 ns "-timing -t  84" ==> 8.117 ns (123.1 MHz)
13
#   -4 14.7 8.1 ns "-timing -t  50" ==> 8.097 ns (123.5 MHz)
14
#   -5 11.4 6.7 ns "-timing -t  91" ==> 6.694 ns (149.3 MHz)
15
#   -5 12.4 6.7 ns "-timing -t  57" ==> 6.751 ns (148.1 MHz)
16
#   -5 13.3 6.7 ns "-timing -t  19" ==> 6.749 ns (148.1 MHz)
17
#   -5 14.7 6.7 ns "-timing -t  59" ==> 6.689 ns (149.4 MHz)
18 2 sinclairrf
 
19 7 sinclairrf
TESTED="11.4 12.4 13.3 14.4 14.7";
20 2 sinclairrf
TEST_BENCHES="";
21
TEST_BENCHES+=" uc_led";
22
TEST_BENCHES+=" uc_peripherals";
23
 
24
PWD="`pwd`";
25
PWD="${PWD/*\/}";
26
 
27
while getopts "ht:v:" OPTNAME; do
28
  case ${OPTNAME} in
29
    ( h ) echo "Usage:  run [-t uc_name] [-v ISE_version]" > /dev/stderr;
30
          echo "Where:" > /dev/stderr;
31
          echo "  uc_name is one of the .9x8 files in ../uc" > /dev/stderr;
32
          echo "  ISE_version is an ISE version number" > /dev/stderr;
33
          exit 0;;
34
    ( t ) TEST_BENCHES="${OPTARG}";;
35
    ( v ) TESTED="${OPTARG}";;
36
  esac
37
done
38
 
39
let nTested=0;
40
for VERSION in ${TESTED}; do
41
  TOOL_DIR="/opt/Xilinx/${VERSION}";
42
  if [ ! -e "${TOOL_DIR}" ]; then
43
    echo "Xilinx ISE version ${VERSION} not found at ${TOOL_DIR}" > /dev/stderr;
44
    continue;
45
  fi
46
  if [ -d "${TOOL_DIR}/ISE_DS" ]; then
47
    TOOL_DIR="${TOOL_DIR}/ISE_DS";
48
  fi
49
  for TB in ${TEST_BENCHES}; do
50
    let nTested+=1;
51
    LOGFILE="log-${VERSION}-${TB}";
52
    if [ ! -z "`./make "${TOOL_DIR}" ${TB} 2>&1 | tee "${LOGFILE}" | sed -n '/ERROR/p'`" ]; then
53
      grep "ERROR" "${LOGFILE}"                 > /dev/stderr;
54
      echo "BUILD TEST BENCH FAILED"            > /dev/stderr;
55
      echo "build directory:    ${PWD}"         > /dev/stderr;
56
      echo "TOOL:               ${TOOL_DIR}"    > /dev/stderr;
57
      echo "TEST:               ${TB}"          > /dev/stderr;
58
      echo "LOG FILE:           ${LOGFILE}"     > /dev/stderr;
59
      exit 1;
60
    fi
61
    echo "Build results for ${PWD} Xilinx ISE/${VERSION} ${TB}";
62
    sed -n \
63
        -e '/Minimum period/p' \
64
        -e '/^ Number of Slices:/p' \
65
        -e '/^ Number of 4 input LUTs:/p' \
66
        -e '/^ Number of BRAMs:/p' \
67
        -e '/TS_i_clk = PERIOD/,+1p' \
68
        "${LOGFILE}" \
69
        ;
70
  done
71
done
72
 
73
if [ ${nTested} == "0" ]; then
74
  echo "No tests performed in ${PWD/*\/}" > /dev/stderr;
75
else
76
  echo "${nTested} tool versions successfully tested in ${PWD/*\/}" > /dev/stderr;
77
fi

powered by: WebSVN 2.1.0

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