.gitlab-ci.yml 5.65 KB
Newer Older
1
image: tapasco
2

3
4
5
variables:
  XILINXD_LICENSE_FILE: "/opt/cad/keys/xilinx"

6
before_script:
Jens Korinth's avatar
Fix    
Jens Korinth committed
7
  - uname -a
8
9
10
  - echo $SHELL
  - echo $PWD
  - source $PWD/setup.sh
11
12
  - source /root/.sdkman/bin/sdkman-init.sh
  - export SBT_OPTS="-Dsbt.global.base=$TAPASCO_HOME/.sbt/ -Dsbt.ivy.home=$TAPASCO_HOME/.ivy2/ -Divy.home=$TAPASCO_HOME/.ivy2/"
13

Jens Korinth's avatar
Jens Korinth committed
14
15
16
stages:
  - toolchain-test
  - hls
17
  - import
Jens Korinth's avatar
Jens Korinth committed
18
19
20
  - compose
  - dse

21
scala-test:
Jens Korinth's avatar
Jens Korinth committed
22
  stage: toolchain-test
23
24
  script:
    - sbt clean test
25

26
27
28
29
30
.template: &template
  only:
    - "master"
    - /20\d\d\.\d/

31
sbt-prepare:
32
  <<: *template
33
  stage: toolchain-test
Jaco Hofmann's avatar
Jaco Hofmann committed
34
  cache:
Jaco Hofmann's avatar
Jaco Hofmann committed
35
      untracked: true
Jaco Hofmann's avatar
Jaco Hofmann committed
36
      key: "$CI_COMMIT_SHA-$CI_COMMIT_REF_NAME"
37
      policy: push
38
39
40
  script:
    - sbt assembly

Jens Korinth's avatar
Jens Korinth committed
41
.hls-template: &hls-definition
42
  <<: *template
Jens Korinth's avatar
Jens Korinth committed
43
  stage: hls
44
45
  dependencies:
    - sbt-prepare
Jaco Hofmann's avatar
Jaco Hofmann committed
46
  cache:
Jaco Hofmann's avatar
Jaco Hofmann committed
47
      untracked: true
Jaco Hofmann's avatar
Jaco Hofmann committed
48
      key: "$CI_COMMIT_SHA-$CI_COMMIT_REF_NAME"
Jaco Hofmann's avatar
Jaco Hofmann committed
49
      policy: pull
Jaco Hofmann's avatar
Jaco Hofmann committed
50
  artifacts:
51
52
      when: always
      expire_in: 1 hours
Jaco Hofmann's avatar
Jaco Hofmann committed
53
54
      paths:
        - core
Jens Korinth's avatar
Jens Korinth committed
55
  script:
Jaco Hofmann's avatar
Jaco Hofmann committed
56
    - source /opt/cad/$VIVADO_OFFSET/settings64.sh
57
    - vivado -version
Jaco Hofmann's avatar
Jaco Hofmann committed
58
    - |
Jaco Hofmann's avatar
Jaco Hofmann committed
59
      if [ ! -d ".ivy2" ]; then
Jaco Hofmann's avatar
Jaco Hofmann committed
60
61
62
        echo "Cache not available"
        sbt assembly
      fi
63
    - tapasco -v hls arraysum, arrayinit -a $ARCHS -p $PLATFORMS
Jens Korinth's avatar
Jens Korinth committed
64

65
.import-template: &import-definition
66
  <<: *template
67
  stage: import
68
69
  dependencies:
    - sbt-prepare
Jaco Hofmann's avatar
Jaco Hofmann committed
70
  cache:
Jaco Hofmann's avatar
Jaco Hofmann committed
71
      untracked: true
Jaco Hofmann's avatar
Jaco Hofmann committed
72
      key: "$CI_COMMIT_SHA-$CI_COMMIT_REF_NAME"
Jaco Hofmann's avatar
Jaco Hofmann committed
73
      policy: pull
74
  script:
Jaco Hofmann's avatar
Jaco Hofmann committed
75
    - source /opt/cad/$VIVADO_OFFSET/settings64.sh
Jaco Hofmann's avatar
Jaco Hofmann committed
76
    - |
Jaco Hofmann's avatar
Jaco Hofmann committed
77
      if [ ! -d ".ivy2" ]; then
Jaco Hofmann's avatar
Jaco Hofmann committed
78
79
80
        echo "Cache not available"
        sbt assembly
      fi
81
    - cd $TAPASCO_HOME/common/ip && zip -r precision_counter.zip precision_counter*
Jens Korinth's avatar
Jens Korinth committed
82
    - tapasco -v import $TAPASCO_HOME/common/ip/precision_counter.zip as 14 -a $ARCHS -p $PLATFORMS
83

Jens Korinth's avatar
Jens Korinth committed
84
.compose-template: &compose-definition
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
  <<: *template
  stage: compose
  cache:
      untracked: true
      key: "$CI_COMMIT_SHA-$CI_COMMIT_REF_NAME"
      policy: pull
  script:
    - source /opt/cad/$VIVADO_OFFSET/settings64.sh
    - |
      if [ ! -d ".ivy2" ]; then
        echo "Cache not available"
        sbt assembly
      fi
    - tapasco -v --maxTasks 1 compose [arraysum x 1, arrayupdate x 1] @ 100 MHz -a $ARCHS -p $PLATFORMS

.compose-features-template: &compose-features-definition
101
  <<: *template
Jens Korinth's avatar
Jens Korinth committed
102
  stage: compose
Jaco Hofmann's avatar
Jaco Hofmann committed
103
  cache:
Jaco Hofmann's avatar
Jaco Hofmann committed
104
      untracked: true
Jaco Hofmann's avatar
Jaco Hofmann committed
105
      key: "$CI_COMMIT_SHA-$CI_COMMIT_REF_NAME"
Jaco Hofmann's avatar
Jaco Hofmann committed
106
      policy: pull
107
  script:
Jaco Hofmann's avatar
Jaco Hofmann committed
108
    - source /opt/cad/$VIVADO_OFFSET/settings64.sh
Jaco Hofmann's avatar
Jaco Hofmann committed
109
    - |
Jaco Hofmann's avatar
Jaco Hofmann committed
110
      if [ ! -d ".ivy2" ]; then
Jaco Hofmann's avatar
Jaco Hofmann committed
111
112
113
        echo "Cache not available"
        sbt assembly
      fi
114
    - tapasco -v --maxTasks 1 compose [arraysum x 1, arrayupdate x 1] @ 100 MHz -a $ARCHS -p $PLATFORMS --features "$FEATURES"
115

116
compose-2017.4-axi4mm-pynq:
117
118
  variables:
    VIVADO_VERSION: "2017.4"
Jens Korinth's avatar
Jens Korinth committed
119
120
121
122
123
    VIVADO_OFFSET: "xilinx/vivado/Vivado/2017.4/"
    ARCHS: "axi4mm"
    PLATFORMS: "pynq"
  <<: *compose-definition

124
compose-2017.4-axi4mm-vc709:
Jens Korinth's avatar
Jens Korinth committed
125
126
127
128
129
130
131
  variables:
    VIVADO_VERSION: "2017.4"
    VIVADO_OFFSET: "xilinx/vivado/Vivado/2017.4/"
    ARCHS: "axi4mm"
    PLATFORMS: "vc709"
  <<: *compose-definition

132
compose-2017.4-axi4mm-zc706:
Jens Korinth's avatar
Jens Korinth committed
133
134
135
136
137
138
139
  variables:
    VIVADO_VERSION: "2017.4"
    VIVADO_OFFSET: "xilinx/vivado/Vivado/2017.4/"
    ARCHS: "axi4mm"
    PLATFORMS: "zc706"
  <<: *compose-definition

140
compose-2017.4-axi4mm-zedboard:
Jens Korinth's avatar
Jens Korinth committed
141
142
143
144
145
146
147
  variables:
    VIVADO_VERSION: "2017.4"
    VIVADO_OFFSET: "xilinx/vivado/Vivado/2017.4/"
    ARCHS: "axi4mm"
    PLATFORMS: "zedboard"
  <<: *compose-definition

148
compose-2017.3-axi4mm-pynq:
Jens Korinth's avatar
Jens Korinth committed
149
150
151
152
153
154
155
  variables:
    VIVADO_VERSION: "2017.3"
    VIVADO_OFFSET: "xilinx/vivado/Vivado/2017.3/"
    ARCHS: "axi4mm"
    PLATFORMS: "pynq"
  <<: *compose-definition

156
compose-2017.3-axi4mm-vc709:
Jens Korinth's avatar
Jens Korinth committed
157
158
159
160
161
162
163
  variables:
    VIVADO_VERSION: "2017.3"
    VIVADO_OFFSET: "xilinx/vivado/Vivado/2017.3/"
    ARCHS: "axi4mm"
    PLATFORMS: "vc709"
  <<: *compose-definition

164
compose-2017.3-axi4mm-zc706:
Jens Korinth's avatar
Jens Korinth committed
165
166
167
168
169
170
171
  variables:
    VIVADO_VERSION: "2017.3"
    VIVADO_OFFSET: "xilinx/vivado/Vivado/2017.3/"
    ARCHS: "axi4mm"
    PLATFORMS: "zc706"
  <<: *compose-definition

172
compose-2017.3-axi4mm-zedboard:
Jens Korinth's avatar
Jens Korinth committed
173
174
175
176
177
178
179
  variables:
    VIVADO_VERSION: "2017.3"
    VIVADO_OFFSET: "xilinx/vivado/Vivado/2017.3/"
    ARCHS: "axi4mm"
    PLATFORMS: "zedboard"
  <<: *compose-definition

180
compose-2017.2-axi4mm-pynq:
Jens Korinth's avatar
Jens Korinth committed
181
182
183
184
185
186
187
  variables:
    VIVADO_VERSION: "2017.2"
    VIVADO_OFFSET: "xilinx/vivado/Vivado/2017.2/"
    ARCHS: "axi4mm"
    PLATFORMS: "pynq"
  <<: *compose-definition

188
compose-2017.2-axi4mm-vc709:
Jens Korinth's avatar
Jens Korinth committed
189
190
191
192
193
194
195
  variables:
    VIVADO_VERSION: "2017.2"
    VIVADO_OFFSET: "xilinx/vivado/Vivado/2017.2/"
    ARCHS: "axi4mm"
    PLATFORMS: "vc709"
  <<: *compose-definition

196
compose-2017.2-axi4mm-zc706:
Jens Korinth's avatar
Jens Korinth committed
197
198
199
200
201
202
203
  variables:
    VIVADO_VERSION: "2017.2"
    VIVADO_OFFSET: "xilinx/vivado/Vivado/2017.2/"
    ARCHS: "axi4mm"
    PLATFORMS: "zc706"
  <<: *compose-definition

204
compose-2017.2-axi4mm-zedboard:
Jens Korinth's avatar
Jens Korinth committed
205
206
207
208
209
210
211
  variables:
    VIVADO_VERSION: "2017.2"
    VIVADO_OFFSET: "xilinx/vivado/Vivado/2017.2/"
    ARCHS: "axi4mm"
    PLATFORMS: "zedboard"
  <<: *compose-definition

212
compose-2017.1-axi4mm-pynq:
Jens Korinth's avatar
Jens Korinth committed
213
214
215
216
217
218
219
  variables:
    VIVADO_VERSION: "2017.1"
    VIVADO_OFFSET: "xilinx/vivado/Vivado/2017.1/"
    ARCHS: "axi4mm"
    PLATFORMS: "pynq"
  <<: *compose-definition

220
compose-2017.1-axi4mm-vc709:
Jens Korinth's avatar
Jens Korinth committed
221
222
223
224
225
226
227
  variables:
    VIVADO_VERSION: "2017.1"
    VIVADO_OFFSET: "xilinx/vivado/Vivado/2017.1/"
    ARCHS: "axi4mm"
    PLATFORMS: "vc709"
  <<: *compose-definition

228
compose-2017.1-axi4mm-zc706:
229
230
  variables:
    VIVADO_VERSION: "2017.1"
Jens Korinth's avatar
Jens Korinth committed
231
232
233
234
235
    VIVADO_OFFSET: "xilinx/vivado/Vivado/2017.1/"
    ARCHS: "axi4mm"
    PLATFORMS: "zc706"
  <<: *compose-definition

236
compose-2017.1-axi4mm-zedboard:
Jens Korinth's avatar
Jens Korinth committed
237
238
239
240
241
242
243
  variables:
    VIVADO_VERSION: "2017.1"
    VIVADO_OFFSET: "xilinx/vivado/Vivado/2017.1/"
    ARCHS: "axi4mm"
    PLATFORMS: "zedboard"
  <<: *compose-definition