aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua Yun <joshua@joshuayun.com>2025-02-16 15:08:05 -0600
committerJoshua Yun <joshua@joshuayun.com>2025-02-16 15:08:05 -0600
commit7cb6c29fde2543dff50987964d03f2525376a429 (patch)
tree53a30a140c795482d81a087c65c07bb8049f938a
parent1d3029a3b3f47146ae47a08cd4ce6695be20f286 (diff)
downloadriscv-processor-7cb6c29fde2543dff50987964d03f2525376a429.tar.gz
Initial docker setup commit
-rw-r--r--tools/Dockerfile19
-rw-r--r--tools/config/README2
-rw-r--r--tools/config/nvim/.gitignore2
-rw-r--r--tools/config/tmux/.gitignore2
-rwxr-xr-xtools/devbox.sh1
-rw-r--r--tools/docker-compose.yml15
-rw-r--r--top.core39
7 files changed, 80 insertions, 0 deletions
diff --git a/tools/Dockerfile b/tools/Dockerfile
new file mode 100644
index 0000000..56fd099
--- /dev/null
+++ b/tools/Dockerfile
@@ -0,0 +1,19 @@
+FROM verilator/verilator:latest
+
+# Install python3 + pip3 for fusesoc
+RUN apt-get update \
+ && DEBIAN_FRONTEND=noninteractive \
+ && apt-get install --no-install-recommends -y \
+ python3 \
+ python3-pip \
+ vim \
+ neovim \
+ tmux \
+ && apt-get clean \
+ && rm -rf /var/lib/apt/lists/*
+
+RUN pip3 install --upgrade fusesoc
+
+WORKDIR /work
+
+ENTRYPOINT [ "/bin/bash", "-l", "-c" ]
diff --git a/tools/config/README b/tools/config/README
new file mode 100644
index 0000000..530a7de
--- /dev/null
+++ b/tools/config/README
@@ -0,0 +1,2 @@
+# Configuration files for your favorite programs
+Put all of your config files in here, if you want to add new programs, add new mounts to the docker compose and new programs to the docker file.
diff --git a/tools/config/nvim/.gitignore b/tools/config/nvim/.gitignore
new file mode 100644
index 0000000..d6b7ef3
--- /dev/null
+++ b/tools/config/nvim/.gitignore
@@ -0,0 +1,2 @@
+*
+!.gitignore
diff --git a/tools/config/tmux/.gitignore b/tools/config/tmux/.gitignore
new file mode 100644
index 0000000..d6b7ef3
--- /dev/null
+++ b/tools/config/tmux/.gitignore
@@ -0,0 +1,2 @@
+*
+!.gitignore
diff --git a/tools/devbox.sh b/tools/devbox.sh
new file mode 100755
index 0000000..afd7513
--- /dev/null
+++ b/tools/devbox.sh
@@ -0,0 +1 @@
+docker compose run --rm dev_environment /bin/bash
diff --git a/tools/docker-compose.yml b/tools/docker-compose.yml
new file mode 100644
index 0000000..1b956b9
--- /dev/null
+++ b/tools/docker-compose.yml
@@ -0,0 +1,15 @@
+services:
+ dev_environment:
+ container_name: devbox
+ image: bingchao:latest
+
+ # Allow for interactive terminal
+ stdin_open: true
+ tty: true
+
+ # Mount to repository
+ volumes:
+ - ../:/work
+ - ./config/nvim:/root/.config/nvim
+ - ./config/tmux:/root/.config/tmux
+
diff --git a/top.core b/top.core
new file mode 100644
index 0000000..e8a009d
--- /dev/null
+++ b/top.core
@@ -0,0 +1,39 @@
+CAPI=2:
+name: bingchao:riscv:top
+description: Fully Linux Capable Processor
+
+filesets:
+ rtl:
+ files:
+ - rtl/top.sv
+ - rtl/top.svh:
+ is_include_file: true
+ file_type: systemVerilogSource
+
+ tb:
+ files:
+ - tb/top_tb.sv
+ file_type: systemVerilogSource
+
+targets:
+
+ default: &default
+ filesets:
+ - rtl
+ toplevel: top
+ parameters:
+ - clk_freq_hz
+
+ sim:
+ <<: *default
+ description: Simulate the design
+ default_tool: verilator
+ tools:
+ verilator:
+ verilator_options:
+ icarus:
+ iverilog_options:
+ - -g2012
+ parameters:
+ - pulses=10
+