1
1
2
- FROM ghdl/vunit:gcc
2
+ FROM archlinux:base-devel
3
3
4
4
LABEL maintainer="Rafael do Nascimento Pereira <rnp@25ghz.net>"
5
5
LABEL description="FGPA development and verification environment"
6
- LABEL version="0.2 "
6
+ LABEL version="0.3 "
7
7
8
-
9
- # Disable Prompt During Packages Installation
10
- ENV DEBIAN_FRONTEND=noninteractive
11
- ENV YOSYS_SRC /usr/src/yosys
12
8
ENV SBY_SRC /usr/src/symbiyosys
13
9
ENV GHDL_YOSYS_SRC /usr/src/ghdl-yosys-plugin
14
- ENV YICES2_SRC /usr/src/yices2
15
-
16
10
17
11
# install dependencies
18
- RUN apt-get update && \
19
- apt-get install -y --no-install-recommends \
20
- build-essential \
21
- clang \
22
- bison \
23
- flex \
24
- libreadline-dev \
25
- gawk \
26
- tcl-dev \
27
- libffi-dev \
28
- git \
29
- graphviz \
30
- xdot \
31
- pkg-config \
32
- python \
33
- python3 \
34
- python3-dev \
35
- libftdi-dev \
36
- gperf \
37
- libboost-program-options-dev \
38
- autoconf \
39
- libgmp-dev \
40
- cmake \
41
- wget \
42
- curl \
43
- libpython2.7 \
12
+ RUN pacman -Syu --noconfirm && \
13
+ pacman -S --noconfirm git \
44
14
iverilog \
45
- python3-pip
15
+ python \
16
+ python-pip \
17
+ ghdl-llvm \
18
+ yosys \
19
+ yices
46
20
47
- # yosys
48
- RUN git clone https://github.com/YosysHQ/yosys.git --depth=1 ${YOSYS_SRC}
49
- WORKDIR ${YOSYS_SRC}
50
- RUN make -j$(nproc) && \
51
- make install && \
52
- cd .. && \
53
- rm -fr yosys
21
+ # # install python based tootls: vunit, cocotb and pytest
22
+ RUN pip install vunit_hdl cocotb cocotb-test
54
23
55
24
# symbiyosys
56
25
RUN git clone https://github.com/YosysHQ/SymbiYosys.git --depth=1 ${SBY_SRC}
@@ -59,30 +28,20 @@ RUN make install && \
59
28
cd .. && \
60
29
rm -fr SymbiYosys
61
30
62
- RUN git clone https://github.com/SRI-CSL/yices2.git --depth=1 ${YICES2_SRC}
63
- WORKDIR ${YICES2_SRC}
64
- RUN autoconf && \
65
- ./configure && \
66
- make -j$(nproc) && \
67
- make install && \
68
- cd .. && \
69
- rm -fr yices2
70
-
71
31
# ghdl-yosys-plugin
32
+ # workaround for compilation
33
+ RUN mkdir /usr/include/ghdl && \
34
+ ln -s /usr/include/ghdlsynth.h /usr/include/ghdl/synth.h
35
+
72
36
RUN git clone https://github.com/ghdl/ghdl-yosys-plugin --depth=1 ${GHDL_YOSYS_SRC}
73
37
WORKDIR ${GHDL_YOSYS_SRC}
74
38
RUN make && \
75
39
make install && \
76
40
cd .. && \
77
41
rm -fr ghdl-yosys-plugin
78
42
79
- # install cocotb
80
- RUN pip install cocotb pytest
81
-
82
43
# cleanup
83
44
WORKDIR /root
84
45
RUN rm -fr .cache && \
85
- apt-get autoclean && \
86
- apt-get autoremove && \
87
- apt-get clean && \
88
- rm -fr /var/lib/apt/lists/*
46
+ pacman -Scc --noconfirm
47
+
0 commit comments