SpinalHDL-Online


Github: https://github.com/zao111222333/spinalhdl-online

Dockhub: https://hub.docker.com/r/zao111222333/spinalhdl-online

Blog: https://junzhuo.me/Blogs/SpinalHDL-Online/

Demo: https://spinalhdl-online.junzhuo.me with PASSWORD=123456 and USER=username.

image

Run these two lines in TERMINAL:

cd /SpinalHDL/SpinalTemplateSbt/
# sbt  way
sbt "runMain mylib.MyTopLevelSim"
# mill way
mill mylib.runMain mylib.MyTopLevelSim

And the output files (RTL, Waveform) will located at SpinalTemplateSbt/simWorkspace/MyTopLevel.


Version Info.

Pakages Version Description
Debian 10-slim Repositories: mirrors.163.com/debian
SpinalHDL 1.6.1
Java jdk8u321
Scala 2.11.12
Sbt / Mill 1.4.7 / 0.9.8 Repositories: maven.aliyun.com
Verilator 4.010
Gtkwave-Online 0.1.0 gtkwave3-gtk3 & gtk3-broadway & Nginx
OpenSSH 7.9p1
Code Server 4.0.2

Usage

Pull Imgae

docker pull zao111222333/spinalhdl-online

Run Container

docker run -itd \
  --restart=always \
  -p 8848:8080 \
  -p 2222:22 \
  -e USER=username \
  -e PASSWORD=123456 \
  -e WORKDIR=/SpinalHDL/ \
  -e GDK_MAX_PORT=2 \
  -v ~/SpinalHDL-Share:/SpinalHDL/ \
  -v ~/KEY:/KEY \
  zao111222333/spinalhdl-online

Use It

SpinalHDL-Online websit will be accessible on 8848 port of host, access http://localhost:8848 with PASSWORD=123456.

You can also use ssh for further functions (remote control, files transmisson), via ssh -p 2222 username@localhost with PASSWORD=123456.

You can also change PORT/USER/PASSWORD/etc, see here.


Further Info.

Definitions of Configures

Configure Describe
-p 8848:8080 spinalhdl-online will be accessible on 8848 port of Host, http://localhost:8848
-p 2222:22 ssh-server will be accessible on 2222 port of Host, ssh -p 2222 username@localhost
-e USER=username The USER's name in Docker (debian10)
-e PASSWORD=123456 The PASSWORD for both spinalhdl-online's Login and USER
-e WORKDIR=/SpinalHDL/ The spinalhdl-online's defualt launch directory
-e GDK_MAX_PORT=2 The max number of gtkwave windos.
-v ~/SpinalHDL-Share/:/SpinalHDL/ Share directory between Host and Docker. ~/SpinalHDL-Share/ (in Host) will share the contents within /SpinalHDL/ (in Docker)
-v ~/KEY:/KEY Share directory between Host and Docker. ~/KEY/ (in Host) will share the contents within ~/.ssh (in Docker)

Modify the Highlight-Configures according to your situation.

VS Code Extension

Extension Version Describe
Scala Syntax (official) 0.5.5 Visual Studio Code extension providing syntax highlighting for Scala 2 and Scala 3 source files.
Scala (Metals) 1.12.21 Metals extension for Visual Studio Code.
Verilog-HDL 1.5.3 Verilog-HDL, SystemVerilog and Bluespec SystemVerilog support for VS Code with Syntax Highlighting, Snippets, Linting and much more!
Verilog-HDL 1.5.0 Verilog-HDL, SystemVerilog and Bluespec SystemVerilog support for VS Code with Syntax Highlighting, Snippets, Linting and much more!
Tcl 0.2.0 Tcl syntax highlighting

|


Dev

Bulid It Youself

Please get JDK & code-server via offical release, the packages is too large for github.

Clone Source

git clone https://github.com/zao111222333/spinalhdl-online.git

Bulid Imgae

# The next operation need to execute at root-path/
#  root-path/---src/
#           |---entrypoint/
#           |---dev
#           |---Dockerfile(s)
#           |---docker-compose.yml
#           |---README.md

# Step 1
docker build --network host -t zao111222333/gtk3 -f Dockerfile-gtk3 .

# Step 2, mill way
docker build --network host -t zao111222333/spinalhdl-online:mill -f Dockerfile-mill .

# Step 3, mill way
docker build --network host -t zao111222333/spinalhdl-online:mill-full -f Dockerfile-mill-full .

TODO List

  • Gtkwave-Online
  • Webdav