Giter VIP home page Giter VIP logo

spinal-bootcamp's Introduction

Spinal-bootcamp Binder

This is SpinalHDL Tutorial, More important, it's a spinalHDL run-time environment.

Most of case come from SpinalDoc, In addition, we also introduced some advanced usage of Scala, which are very helpful to understand how spinalHDL works.

Why we do such a thing:

  • Sometimes you just want to try a usage of a Spinal or Scala, but you don't want to create a new project.
  • Practice is important for learning a new skill. So we did a lot of examples for you to try run.

Usage

There are two ways, you can run online or locally

Online

click Binder and start

Local

$: git clone https://github.com/jijingg/Spinal-bootcamp
$: cd Spinal-bootcamp
$: jupyter notebook &

Setup Jupyter-notebook enviroment

if you want run locally, install follows first

  • jupyter-notebook(Strongly recommend installing Python and Jupyter using the Anaconda)
  • scala(Scala2.12 is recommended)
  • almond(scala kernel for jupyter)

Setup on Windows10 and higher

WSL and VS Code is recommended.

  1. Clone this repository and open a WSL terminal here.
  2. Confirm your java and jupyter installation like this
~# java -version
openjdk version "1.8.0_312"
OpenJDK Runtime Environment (build 1.8.0_312-8u312-b07-0ubuntu1~20.04-b07)
OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode)
~# echo $JAVA_HOME
/usr/lib/jvm/java-8-openjdk-amd64
~# pip list
  1. Install almond for WSL (the same as Linux)
~# cd source
~# chmod +x coursier
~# ./coursier launch --fork almond -- --install
  1. Open the folder with VS Code or jupyter

~# cd ..

VS Code jupyter lab jupyter notebook
code . jupyter-lab jupyter notebook --allow-root &
  • If you don't use VS Code, you would change the default browser of jupyter in WSL.

Before the start

We assume you already have the basics knowledge of Scala,So there is no introduction to scala syntax here.
If you need to learn Scala, I would strongly recommend the book of "Programming in Scala" by Martin Odersky who is also the author of Scala. And just try them as many as you can on jupyter notebook env, This may be more efficient to help you master Scala than just reading a book without practice.

FAQ

  1. Make sure the right version have been installed.
  • Java Version jdk1.8 (java11 not supported yet)
  • Scala Version 2.12.x (2.13.x not supported yet)
  • Almond Version 0.5.0 is recommended

install Almond on MacOs

brew install coursier/formulas/coursier
cs launch --fork almond:0.5.0 --scala 2.11.12 -- --install --force

spinal-bootcamp's People

Contributors

jijingg avatar mingfeiyu avatar pwang7 avatar volatile-static avatar

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.