-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathflow.sh
executable file
·112 lines (95 loc) · 2.31 KB
/
flow.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
#!/usr/bin/env bash
# -e: exit if one command fails
# -u: treat unset variable as an error
# -f: disable filename expansion upon seeing *, ?, ...
# -o pipefail: causes a pipeline to fail if any command fails
set -euf -o pipefail
# Current script path; doesn't support symlink
MEDUDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
# Bash color codes
Red='\033[0;31m'
Green='\033[0;32m'
Yellow='\033[0;33m'
Blue='\033[0;34m'
# Reset
Color_Off='\033[0m'
function printerror {
echo -e "${Red}ERROR: ${1}${Color_Off}"
}
function printwarning {
echo -e "${Yellow}WARNING: ${1}${Color_Off}"
}
function printinfo {
echo -e "${Blue}INFO: ${1}${Color_Off}"
}
function printsuccess {
echo -e "${Green}INFO: ${1}${Color_Off}"
}
help() {
echo -e "${Blue}"
echo ""
echo "NAME"
echo ""
echo " A FPGA multi-port BRAM IP"
echo ""
echo "SYNOPSIS"
echo ""
echo " ./meduram.sh -h"
echo ""
echo " ./meduram.sh help"
echo ""
echo " ./meduram.sh syn"
echo ""
echo " ./meduram.sh sim"
echo ""
echo "DESCRIPTION"
echo ""
echo " This flow handles the different operations available"
echo ""
echo " ./meduram.sh help|-h"
echo ""
echo " Print the help menu"
echo ""
echo " ./meduram.sh syn"
echo ""
echo " Launch the synthesis script relying on Yosys"
echo ""
echo " ./meduram.sh sim"
echo ""
echo " Launch all available testsuites"
echo ""
echo -e "${Color_Off}"
}
main() {
echo ""
printinfo "Start Meduram Flow"
# If no argument provided, preint help and exit
if [[ $# -eq 0 ]]; then
help
exit 1
fi
# Print help
if [[ $1 == "-h" || $1 == "help" ]]; then
help
exit 0
fi
source scripts/setup.sh
if [[ $1 == "lint" ]]; then
printinfo "Start linting"
find src -name "*.*" -exec verilator \
--lint-only -Wno-lint +1800-2017ext+sv {} \;
fi
if [[ $1 == "sim" ]]; then
printinfo "Start simulation"
cd "$MEDUDIR/sim"
./run.sh
return $?
fi
if [[ $1 == "syn" ]]; then
printinfo "Start synthesis"
cd "$MEDUDIR/syn"
./run.sh
return $?
fi
}
main "$@"