Commit a364fa5e authored by Alén Arias Vázquez's avatar Alén Arias Vázquez 😎

Merge branch '1-initial-idea-ci' into 'master'

Resolve "initial idea CI"

Closes #1

See merge request be-cem-edl/diot/masterfip/gateware!1
parents 7caed5f2 9d53fad3
################################################################################
#
# Description: YML for gitlab CI
# mantainer: alen.arias.vazquez@cern.ch BE-CEM-EDL
#
################################################################################
# Variables
variables:
DOCKER_IMAGE: $CI_REGISTRY/be-cem-edl/evergreen/gitlab-ci/xilinx-ise14.7:latest
GIT_SUBMODULE_STRATEGY: none
################################################################################
# Define default rules
.default_rules:
rules:
- if: $CI_COMMIT_TAG =~ /^v\d+.\d+.\d+/
- if: $CI_COMMIT_REF_NAME == "master"
################################################################################
# Define stages
stages:
- gateware
- release
- dummy
################################################################################
# Define job for gateware
.gateware_job:
interruptible: true
stage: gateware
image: ${DOCKER_IMAGE}
tags:
- vivado-template
script:
- cd syn/${PROJECT_NAME}/ && make build
after_script:
- cd syn/${PROJECT_NAME}/ && make check_build
artifacts:
when: always
paths:
- syn/${PROJECT_NAME}/${PROJECT_NAME}_masterfip_mt.bin
- syn/${PROJECT_NAME}/${PROJECT_NAME}_masterfip_mt.syr
- syn/${PROJECT_NAME}/${PROJECT_NAME}_masterfip_mt.twr
- syn/${PROJECT_NAME}/${PROJECT_NAME}_masterfip_mt_map.mrp
- syn/${PROJECT_NAME}/${PROJECT_NAME}_masterfip_mt.par
expire_in: 7d
gateware_spec:
extends: .gateware_job
variables:
PROJECT_NAME: spec
rules:
- !reference [.default_rules, rules]
- if: $CI_PIPELINE_SOURCE == "merge_request_event" || $CI_COMMIT_REF_NAME =~ /^\d+-/
changes:
- "rtl/*.{vhd,v,sv}"
- "top/spec/*.{vhd,v,sv,ucf}"
- "syn/spec/Makefile"
- "syn/spec/*.{tcl,sh}"
- "ip_cores/**/*.{vhd,v,sv}"
################################################################################
# Define job for release
release_job:
interruptible: true
stage: release
image: $CI_REGISTRY/$CI_PROJECT_NAMESPACE/../docker-util/gitlab_release
tags:
- vivado-template
script:
- gitlab-release --zip "masterfip-${CI_COMMIT_TAG}.zip" syn/spec/spec_masterfip_mt.bin --link-in-desc --description "bitstream for project masterfip"
only:
- /^v[0-9]+\.[0-9]+\.[0-9]+$/
################################################################################
# Fake job
dummy_job:
interruptible: true
stage: dummy
image: $CI_REGISTRY/$CI_PROJECT_NAMESPACE/../docker-util/gitlab_release
tags:
- vivado-template
script:
- echo "Changes were not found, nothing to do here"
only:
- merge_request
- branches
except:
changes:
- "rtl/*.{vhd,v,sv}"
- "top/spec/*.{vhd,v,sv,ucf}"
- "syn/spec/Makefile"
- "syn/spec/*.{tcl,sh}"
- "ip_cores/**/*.{vhd,v,sv}"
[submodule "ip_cores/general-cores"]
path = ip_cores/general-cores
url = git://ohwr.org/hdl-core-lib/general-cores.git
[submodule "ip_cores/nanofip"]
path = ip_cores/nanofip
url = git://ohwr.org/cern-fip/nanofip/nanofip-gateware.git
[submodule "ip_cores/gn4124-core"]
path = ip_cores/gn4124-core
url = git://ohwr.org/hdl-core-lib/gn4124-core.git
[submodule "ip_cores/wr-cores"]
path = ip_cores/wr-cores
url = git://ohwr.org/hdl-core-lib/wr-cores.git
[submodule "ip_cores/etherbone-core"]
path = ip_cores/etherbone-core
url = git://ohwr.org/hdl-core-lib/etherbone-core.git
[submodule "ip_cores/mockturtle"]
path = ip_cores/mockturtle
url = https://gitlab.cern.ch/coht/mockturtle.git
#!/usr/bin/env sh
DOCKER_NAME=gitlab-registry.cern.ch/be-cem-edl/evergreen/gitlab-ci/xilinx-ise14.7:latest
APP=bash
docker run \
-v "${HOME}":"${HOME}" \
-v /etc/passwd:/etc/passwd:ro \
-v /etc/shadow:/etc/shadow:ro \
-v /etc/group:/etc/group:ro \
-v /etc/localtime:/etc/localtime:ro \
-v /etc/timezone:/etc/timezone:ro \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-v /tmp:/tmp \
-e DISPLAY=$DISPLAY \
--privileged \
--net=host \
-i -w "${PWD}" -u $(id -u):$(id -g) -t --rm \
${DOCKER_NAME} ${APP}
etherbone-core @ c1e676dc
Subproject commit c1e676dc9d35028910c50431d70328e522396c89
general-cores @ 1c2dd12b
Subproject commit 1c2dd12b1bceeab3b32b41c3522931c658ad15a7
gn4124-core @ e3a0bf97
Subproject commit e3a0bf97e125020c83bff6e40199a717e7fda738
mockturtle @ 90f94318
Subproject commit 90f94318cbe6157e3e2bb99f76ec529a945ba48a
nanofip @ e51c789c
Subproject commit e51c789c8d2351b0ff07716e4ae064426337a748
wr-cores @ d0d4d09d
Subproject commit d0d4d09d5f0355dfc6c078171bc6856e580a7496
......@@ -537,13 +537,8 @@ end function;
end package body;
-- Author : auto-generated by wbgen2 from masterfip_csr.wb
<<<<<<< HEAD
-- Created : 07/17/17 17:07:34
-- Version : 0x00020000
=======
-- Created : 06/30/17 14:35:27
-- Version : 0x00010000
>>>>>>> cleanup
-- Standard : VHDL'87
---------------------------------------------------------------------------------------
-- THIS FILE WAS GENERATED BY wbgen2 FROM SOURCE FILE masterfip_csr.wb
......
#!/usr/bin/make
# ##############################################################################
# Libraries
LIB_DIR?=../../ip_cores
build:
ETHERNET_CORE_TAG=master
GENERAL_CORES_TAG=masterFIP_v1.1.0
GN4124_CORE_TAG=proposed_master
MOCKTURTLE_TAG=v3.1.0
NANOFIP_TAG=master
WR_CORE_TAG=tom-wr-node
ETHERNET_CORE_DIR=${LIB_DIR}/etherbone-core
GENERAL_CORES_DIR=${LIB_DIR}/general-cores
GN4124_CORE_DIR=${LIB_DIR}/gn4124-core
MOCKTURTLE_DIR=${LIB_DIR}/mockturtle
NANOFIP_DIR=${LIB_DIR}/nanofip
WR_CORE_DIR=${LIB_DIR}/wr-cores
GN4124_CORE_COMMIT=e3a0bf97e125020c83bff6e40199a717e7fda738
SETUP_CMD=/bin/bash -c
# ##############################################################################
# CI commands
ifdef GITLAB_CI
ETHERNET_CORE_URL=https://gitlab-reader:${CI_JOB_TOKEN}@ohwr.org/hdl-core-lib/etherbone-core.git
GENERAL_CORES_URL=https://gitlab-reader:${CI_JOB_TOKEN}@ohwr.org/hdl-core-lib/general-cores.git
GN4124_CORE_URL=https://gitlab-reader:${CI_JOB_TOKEN}@ohwr.org/hdl-core-lib/gn4124-core.git
MOCKTURTLE_URL=https://gitlab-reader:${CI_JOB_TOKEN}@gitlab.cern.ch/coht/mockturtle.git
NANOFIP_URL=https://gitlab-reader:${CI_JOB_TOKEN}@ohwr.org/cern-fip/nanofip/nanofip-gateware.git
WR_CORE_URL=https://gitlab-reader:${CI_JOB_TOKEN}@ohwr.org/project/wr-cores.git
ETHERNET_CORE_CMD='git clone --depth=1 -b ${ETHERNET_CORE_TAG} ${ETHERNET_CORE_URL} ${ETHERNET_CORE_DIR}'
GENERAL_CORES_CMD='git clone --depth=1 -b ${GENERAL_CORES_TAG} ${GENERAL_CORES_URL} ${GENERAL_CORES_DIR}'
GN4124_CORE_CMD='git clone -b ${GN4124_CORE_TAG} ${GN4124_CORE_URL} ${GN4124_CORE_DIR}'
MOCKTURTLE_CMD='git clone --depth=1 -b ${MOCKTURTLE_TAG} ${MOCKTURTLE_URL} ${MOCKTURTLE_DIR}'
NANOFIP_CMD='git clone --depth=1 -b ${NANOFIP_TAG} ${NANOFIP_URL} ${NANOFIP_DIR}'
WR_CORE_CMD='git clone --depth=1 -b ${WR_CORE_TAG} ${WR_CORE_URL} ${WR_CORE_DIR}'
else
ETHERNET_CORE_URL=https://ohwr.org/hdl-core-lib/etherbone-core.git
GENERAL_CORES_URL=https://ohwr.org/hdl-core-lib/general-cores.git
GN4124_CORE_URL=https://ohwr.org/hdl-core-lib/gn4124-core.git
MOCKTURTLE_URL=https://gitlab.cern.ch/coht/mockturtle.git
NANOFIP_URL=https://ohwr.org/cern-fip/nanofip/nanofip-gateware.git
WR_CORE_URL=https://ohwr.org/project/wr-cores.git
ETHERNET_CORE_CMD='git clone -b ${ETHERNET_CORE_TAG} ${ETHERNET_CORE_URL} ${ETHERNET_CORE_DIR}'
GENERAL_CORES_CMD='git clone -b ${GENERAL_CORES_TAG} ${GENERAL_CORES_URL} ${GENERAL_CORES_DIR}'
GN4124_CORE_CMD='git clone -b ${GN4124_CORE_TAG} ${GN4124_CORE_URL} ${GN4124_CORE_DIR}'
MOCKTURTLE_CMD='git clone -b ${MOCKTURTLE_TAG} ${MOCKTURTLE_URL} ${MOCKTURTLE_DIR}'
NANOFIP_CMD='git clone -b ${NANOFIP_TAG} ${NANOFIP_URL} ${NANOFIP_DIR}'
WR_CORE_CMD='git clone -b ${WR_CORE_TAG} ${WR_CORE_URL} ${WR_CORE_DIR}'
endif
# ##############################################################################
setup_lib:
${SETUP_CMD} 'echo "Cloninig submodules in ${LIB_DIR}"'
${SETUP_CMD} ${ETHERNET_CORE_CMD}
${SETUP_CMD} ${GENERAL_CORES_CMD}
${SETUP_CMD} ${GN4124_CORE_CMD}
${SETUP_CMD} ${MOCKTURTLE_CMD}
${SETUP_CMD} ${NANOFIP_CMD}
${SETUP_CMD} ${WR_CORE_CMD}
${SETUP_CMD} 'echo "Checkout commit ${GN4124_CORE_COMMIT} in ${GN4124_CORE_DIR}"'
${SETUP_CMD} 'cd ${GN4124_CORE_DIR} && git checkout ${GN4124_CORE_COMMIT}'
build: setup_lib
${SETUP_CMD} 'echo "Building project"'
xtclsh build.tcl
check_build:
${SETUP_CMD} 'echo "Checking build"'
./check_build.sh 1>&2
......@@ -326,7 +326,6 @@ architecture rtl of spec_masterfip_mt is
constant C_SLAVE_ADDR : t_wishbone_address_array(0 downto 0):= (0 => x"00000000");
constant C_SLAVE_MASK : t_wishbone_address_array(0 downto 0):= (0 => x"00000000");
---------------------------------------------------------------------------------------------------
-- Signals --
---------------------------------------------------------------------------------------------------
......@@ -344,7 +343,6 @@ architecture rtl of spec_masterfip_mt is
signal spec_led : std_logic_vector(7 downto 0);
signal fd_txd : std_logic;
--=================================================================================================
-- architecture begin
--=================================================================================================
......@@ -363,8 +361,6 @@ begin
adc_m5v_shdn_n_o <= '0'; -- OFF
adc_5v_en_n_o <= '1'; -- OFF
---------------------------------------------------------------------------------------------------
-- MOCK TURTLE CORE --
---------------------------------------------------------------------------------------------------
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment