33 lines
1.0 KiB
Docker
33 lines
1.0 KiB
Docker
# verilog-tool v1.0
|
|
# TODO: Enable Gitea Container Registry, put on gitea
|
|
#
|
|
|
|
FROM ubuntu:24.04
|
|
|
|
# === Basic ===
|
|
RUN apt-get update && \
|
|
apt-get install -y --no-install-recommends \
|
|
build-essential make git wget curl \
|
|
python3 python3-pip python3-dev python3.12-dev \
|
|
iverilog gtkwave verilator yosys \
|
|
gcc gdb binutils \
|
|
qemu-utils qemu-system-arm qemu-system-misc qemu-system-riscv64 qemu-system-riscv32 \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# === Python + cocotb ===
|
|
RUN pip3 install --no-cache-dir --break-system-packages cocotb pytest cocotb-test numpy matplotlib scipy
|
|
|
|
|
|
# === RISC-V GCC (riscv64-unknown-elf-gcc) ===
|
|
RUN apt-get update && \
|
|
apt-get install -y gcc-riscv64-unknown-elf binutils-riscv64-unknown-elf && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
# === ARM GCC (arm-none-eabi-gcc) ===
|
|
RUN apt-get update && \
|
|
apt-get install -y gcc-arm-none-eabi binutils-arm-none-eabi gdb-multiarch && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
# === workspace ===
|
|
WORKDIR /workspace
|
|
CMD ["/bin/bash"] |