All Projects → mmicko → Fpga101 Workshop

mmicko / Fpga101 Workshop

Licence: mit
FPGA 101 - Workshop materials

Programming Languages

c
50402 projects - #5 most used programming language
micropython
64 projects

Projects that are alternatives of or similar to Fpga101 Workshop

Ustc Rvsoc
FPGA-based RISC-V CPU+SoC.
Stars: ✭ 77 (+42.59%)
Mutual labels:  verilog, fpga, riscv
Darkriscv
opensouce RISC-V cpu core implemented in Verilog from scratch in one night!
Stars: ✭ 1,062 (+1866.67%)
Mutual labels:  verilog, fpga, riscv
kianRiscV
KianRISC-V! No RISC-V, no fun! RISC-V CPU with strong design rules and unittested! CPU you can trust! kianv rv32im risc-v a hdmi soc with harris computer architecture in verilog: multicycle, singlecycle and 5-stage pipelining Processor. Multicycle Soc with firmware that runs raytracer, mandelbrot, 3d hdmi gfx, dma controller, etc.....
Stars: ✭ 167 (+209.26%)
Mutual labels:  fpga, riscv, verilog
Vexriscv
A FPGA friendly 32 bit RISC-V CPU implementation
Stars: ✭ 1,041 (+1827.78%)
Mutual labels:  verilog, fpga, riscv
yarvi
Yet Another RISC-V Implementation
Stars: ✭ 59 (+9.26%)
Mutual labels:  fpga, riscv, verilog
Hdl
HDL libraries and projects
Stars: ✭ 727 (+1246.3%)
Mutual labels:  verilog, fpga
Zipcpu
A small, light weight, RISC CPU soft core
Stars: ✭ 640 (+1085.19%)
Mutual labels:  verilog, fpga
Rsyocto
🤖 SoCFPGA: Open Source embedded Linux developed for Intel (ALTERA) SoC-FPGAs (Cyclone V & Arria 10)
Stars: ✭ 41 (-24.07%)
Mutual labels:  verilog, fpga
Icestudio
❄️ Visual editor for open FPGA boards
Stars: ✭ 958 (+1674.07%)
Mutual labels:  verilog, fpga
Platformio Core
PlatformIO is a professional collaborative platform for embedded development 👽 A place where Developers and Teams have true Freedom! No more vendor lock-in!
Stars: ✭ 5,539 (+10157.41%)
Mutual labels:  verilog, fpga
Zbasic
A bare bones, basic, ZipCPU system designed for both testing and quick integration into new systems
Stars: ✭ 27 (-50%)
Mutual labels:  verilog, fpga
Clash Compiler
Haskell to VHDL/Verilog/SystemVerilog compiler
Stars: ✭ 958 (+1674.07%)
Mutual labels:  verilog, fpga
Spinalhdl
Scala based HDL
Stars: ✭ 696 (+1188.89%)
Mutual labels:  verilog, fpga
Platformio Vscode Ide
PlatformIO IDE for VSCode: The next generation integrated development environment for IoT
Stars: ✭ 676 (+1151.85%)
Mutual labels:  verilog, fpga
Mips Cpu
A MIPS CPU implemented in Verilog
Stars: ✭ 38 (-29.63%)
Mutual labels:  verilog, fpga
Iroha
Intermediate Representation Of Hardware Abstraction (LLVM-ish for HLS)
Stars: ✭ 30 (-44.44%)
Mutual labels:  verilog, fpga
Higan Verilog
This is a higan/Verilator co-simulation example/framework
Stars: ✭ 35 (-35.19%)
Mutual labels:  verilog, fpga
Rggen
Code generation tool for configuration and status registers
Stars: ✭ 54 (+0%)
Mutual labels:  verilog, fpga
Wbscope
A wishbone controlled scope for FPGA's
Stars: ✭ 50 (-7.41%)
Mutual labels:  verilog, fpga
Platformio Atom Ide
PlatformIO IDE for Atom: The next generation integrated development environment for IoT
Stars: ✭ 475 (+779.63%)
Mutual labels:  verilog, fpga

FPGA 101 - Workshop materials

This repo contains all needed material for participation at FPGA 101 Workshop at Hackaday event in Belgrade 26th of May 2018.

For all environments

You probably already have a favorite text editor on your computer ready, but in case it does not have Verilog language syntax hightlight, that could help you at least at start, install Visual Studio Code or Atom or any similar editor supporting it.

For Visual Studio Code use:

ext install mshr-h.VerilogHDL

For Atom use:

apm install language-verilog

Linux Install

First install required packages.

For Ubuntu use :

sudo apt install python-pip make git gtkwave curl

Also install Node.JS

curl -sL https://deb.nodesource.com/setup_8.x -o nodesource_setup.sh
sudo bash nodesource_setup.sh
sudo apt-get install nodejs

Download prepared package, and install APIO

cd ~

wget https://github.com/mmicko/fpga101-workshop/releases/download/tools/fpga101-linux-x64-tools.tar.gz

tar xvfz fpga101-linux-x64-tools.tar.gz

cd hackaday-fpga101

source fpga101.sh

cd apio

sudo pip install -e .

Install needed Node.JS packages for IceStudio

cd ../icestudio
npm install

Windows Install

Download file from this link first.

Uze 7zip (can be downloaded from here) to unpack file (using right click -> 7-Zip -> Extract here )

Move that folder to root of C drive (mandatory due to location being hardcoded in part of msys install)

Go to c:\msys64 and click ConEmu.exe to get console.

Your profile will be generated and you will be greeted by next prompt.

[HACKADAY] C:\msys64\src>

If you do not already have installed you favorite terminal console for serial access, please install PuTTY or similar. You can even install it from command line by using:

pacman -S mingw-w64-x86_64-putty

macOS Install

First install Homebrew to be able to install rest of packages.

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Then you will be able to install Python 3, Node.JS and GTKWave

brew install python
brew install node
brew install wget

brew cask install gtkwave

Download prepared package, and install APIO

cd ~

wget https://github.com/mmicko/fpga101-workshop/releases/download/tools/fpga101-darwin-x64-tools.tar.gz

tar xvfz fpga101-darwin-x64-tools.tar.gz

cd hackaday-fpga101

source fpga101.sh

cd apio

sudo pip3 install -e .

Install needed Node.JS packages for IceStudio

cd ../icestudio
npm install

Workshop materials

To be able to test environment and to have starting point for workshop you also need to download this repository.

git clone https://github.com/mmicko/fpga101-workshop

NOTE In case you are getting error on git utility on Windows, first run msys but just leave it open at side, and try again in main window:

c:\msys64\msys2.exe

In examples down listed, assumption is that on Linux and macOS all is downloaded in user home folder, and on Windows in c:\msys64\src folder.

Testing

For Linux and macOS always make sure you have tools setup and initialized first.

source ~/hackaday-fpga101/fpga101.sh

Testing APIO environment

To test if all is setup correctly.


cd fpga101-workshop/tests/led

apio build

response should be


[xxx xxx x hh:mm:ss yyyy] Processing fpga101
--------------------------------------------------------------------------------
yosys -p "synth_ice40 -blif hardware.blif" -q led.v
arachne-pnr -d 5k -P sg48 -p pinout.pcf -o hardware.asc -q hardware.blif
icepack hardware.asc hardware.bin
========================= [SUCCESS] Took 1.07 seconds =========================

To check if GTKWave is installed fine use (on macOS it will be as separate application so we will use it manually)

apio sim

And that would open GTKWave with simulation file.

Testing Risc-V compiler

cd ~
cd fpga101-workshop/tests/riscv
make

response should be

riscv64-unknown-elf-gcc -O3 -nostartfiles -mabi=ilp32 -march=rv32ic -Wl,-Bstatic,-T,sections.lds,--strip-debug -ffreestanding -o firmware.elf start.s sections.c firmware.c -lgcc
riscv64-unknown-elf-objcopy  -O binary firmware.elf firmware.bin

Testing IceStudio

For Linux and macOS:

cd ~
cd hackaday-fpga101/icestudio
npm start

For Windows:

cd \msys64\opt\icestudio 
npm start

Should start nw.js with IceStudio running.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].