Add latest Icarus Verilog and Verilator to Docker image

This commit is contained in:
Nikolay Puzanov 2022-12-03 19:31:39 +03:00
parent 74e76d8131
commit b4507004b8

View File

@ -3,10 +3,24 @@ FROM ubuntu:22.10
LABEL description="Verilog playground" LABEL description="Verilog playground"
# Prepare OS # Prepare OS
RUN sed -i 's/^# *deb-src/deb-src/g' /etc/apt/sources.list
RUN apt-get -y update \ RUN apt-get -y update \
&& apt-get -y install iverilog guile-3.0 locales git && apt-get -y install guile-3.0 locales git
RUN sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen \ RUN sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen \
&& locale-gen && locale-gen
RUN apt-get build-dep -y iverilog verilator
# Build latest Icarus Veriolog
WORKDIR /build
RUN git clone --depth 1 https://github.com/steveicarus/iverilog.git
WORKDIR /build/iverilog
RUN sh ./autoconf.sh && ./configure --prefix=/usr && make -j2 && make install
# Build latest Verilator
WORKDIR /build
RUN git clone --depth 1 https://github.com/verilator/verilator.git
WORKDIR /build/verilator
RUN autoconf && ./configure --prefix=/usr && make -j2 && make install
# Environment # Environment
ENV GIT_SSL_NO_VERIFY=1 ENV GIT_SSL_NO_VERIFY=1
@ -28,8 +42,10 @@ CMD [ "guile", "-e", "main", \
"--port=8080", \ "--port=8080", \
"--addr=0.0.0.0", \ "--addr=0.0.0.0", \
"--host=https://play.embddr.com", \ "--host=https://play.embddr.com", \
"--iverilog-exe=./iverilog", \ "--iverilog-wrap=./restrict", \
"--vvp-exe=./vvp", \ "--vvp-wrap=./restrict", \
"--verilator-sim-wrap=./restrict", \
"--verilator-build-jobs=2", \
"--max-len=10000", \ "--max-len=10000", \
"--work-base=play-work", \ "--work-base=play-work", \
"--stor-base=/verilog-playground-store", \ "--stor-base=/verilog-playground-store", \