1
0
mirror of https://github.com/myhdl/myhdl.git synced 2024-12-14 07:44:38 +08:00

Merge branch 'jck-travis'

This commit is contained in:
Jan Decaluwe 2015-03-10 22:45:17 +01:00
commit 51766a3c89
3 changed files with 104 additions and 20 deletions

View File

@ -8,6 +8,10 @@ before_install:
- if [ $CI_TARGET == "icarus" ]; then
sudo apt-get update -qq;
sudo apt-get install -y iverilog;
elif [ $CI_TARGET == "ghdl" ]; then
sudo apt-add-repository -y ppa:pgavin/ghdl;
sudo apt-get update -qq;
sudo apt-get install -y ghdl;
fi
install:
@ -16,6 +20,7 @@ install:
env:
- CI_TARGET=core
- CI_TARGET=icarus
- CI_TARGET=ghdl
script: ./ci.sh

103
ci.sh
View File

@ -1,19 +1,98 @@
#!/bin/bash
# {{{ Utilities
# {{{ cfont
cfont() {
while (($#!=0))
do
case $1 in
-b) echo -ne " " ;;
-t) echo -ne "\t";;
-n) echo -ne "\n";;
-black) echo -ne "\033[30m";;
-red) echo -ne "\033[31m";;
-green) echo -ne "\033[32m";;
-yellow) echo -ne "\033[33m";;
-blue) echo -ne "\033[34m";;
-purple) echo -ne "\033[35m";;
-cyan) echo -ne "\033[36m";;
-white|-gray) echo -ne "\033[37m";;
-reset) echo -ne "\033[0m";;
-h|-help|--help)
echo "Usage: cfont -color1 message1 -color2 message2 ...";
echo "eg: cfont -red [ -blue message1 message2 -red ]";
;;
*)
echo -ne "$1"
;;
esac
shift
done
}
# }}}
# {{{ print_heading
print_heading() {
msg="$@"
line=$(printf '%0.1s' "="{1..80})
lPad=$(( ( 80 - ${#msg} ) / 2 - 1 ))
[[ $lPad -lt 0 ]] && lPad=0
pad="${line::$lPad}"
cfont -cyan
echo $line
echo $pad $msg $pad
echo $line
cfont -reset
}
# }}}
# {{{ run_test
run_test() {
cfont -cyan; echo "running test: $command $@" ; cfont -n -reset
$command "$@"
if [ $? -ne 0 ]; then
cfont -red; echo "test failed: $command $@" ; cfont -n -reset
foundError=1
else
cfont -green "OK" -n -reset
fi
}
# }}}
# }}}
foundError=0
echo "Running $CI_TARGET tests"
CI_TARGET=${CI_TARGET:-core}
if [ "$CI_TARGET" == "core" ]; then
make -C myhdl/test/core
make -C myhdl/test/core2
elif [ "$CI_TARGET" == "icarus" ]; then
echo "======================================================================="
echo "=========== A. Test Converted Verilog Code ========="
echo "======================================================================="
make -C "myhdl/test/conversion/general" icarus
echo "======================================================================="
echo "=========== B. Test Co-Simulation with Converted Verilog Code ========="
echo "======================================================================="
make -C cosimulation/icarus
make -C myhdl/test/conversion/toVerilog
print_heading "Core MyHDL Testbench"
run_test make -C myhdl/test/core
run_test make -C myhdl/test/core2
elif [ "$CI_TARGET" == "icarus" ]; then
print_heading "Test Converted Verilog Code"
run_test make -C "myhdl/test/conversion/general" icarus
print_heading "Test Co-Simulation with Converted Verilog Code"
run_test make -C cosimulation/icarus
run_test make -C myhdl/test/conversion/toVerilog
elif [ "$CI_TARGET" == "ghdl" ]; then
print_heading "Test Converted VHDL Code"
run_test make -C "myhdl/test/conversion/general" GHDL
print_heading "Test Co-Simulation with Converted VHDL Code"
run_test make -C myhdl/test/conversion/toVHDL GHDL
fi
exit $foundError

View File

@ -36,16 +36,16 @@ def bench_ConcatSignal():
s = ConcatSignal(a, b, c, d)
I = 2**len(a)
J = 2**len(b)
K = 2**len(c)
M = 2**len(d)
I_max = 2**len(a)
J_max = 2**len(b)
K_max = 2**len(c)
M_max = 2**len(d)
@instance
def check():
for i in range(I):
for j in range(J):
for k in range(K):
for m in range(M):
for i in range(I_max):
for j in range(J_max):
for k in range(K_max):
for m in range(M_max):
a.next = i
b.next = j
c.next = k