https://github.com/rhthomas/fpga
Experimenting with FPGA open-source toolchains.
https://github.com/rhthomas/fpga
apio fpga icestick icestorm lattice
Last synced: 2 months ago
JSON representation
Experimenting with FPGA open-source toolchains.
- Host: GitHub
- URL: https://github.com/rhthomas/fpga
- Owner: rhthomas
- License: gpl-3.0
- Created: 2018-05-15T20:46:07.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2019-03-28T16:18:16.000Z (about 6 years ago)
- Last Synced: 2025-01-25T16:32:01.131Z (4 months ago)
- Topics: apio, fpga, icestick, icestorm, lattice
- Language: Verilog
- Size: 301 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# fpga
Experimenting with FPGA open-source toolchains.
## Tools
The FPGA that is developed on is the [iCEstick](https://www.latticesemi.com/icestick) from Lattice Semiconductor.This expands on other FPGA open-source tools such as [icestorm](http://www.clifford.at/icestorm/) and [iverilog](http://iverilog.icarus.com/) among others.
A quick script is used to generate the directory structure for new modules, simply run `perl create.pl ` to create a folder with all the necessary files.
If the project is the same as the module name (i.e. you're creating a small sub-module) the project field can be omitted.```
> perl create.pl module project
Creating module module files.
+- module/Makefile
+- module/module.sv
+- module/module_tb.sv
+- module/icestick.pcf
```## Builds
adder : Simple adder module.
count : Binary counter.
dance : LED pattern display.
## Requirements
### IceStorm
```
git clone https://github.com/cliffordwolf/icestorm.git icestorm
cd icestorm
make
sudo make install
```### Arachne-PNR
```
git clone https://github.com/cseed/arachne-pnr.git arachne-pnr
cd arachne-pnr
make
sudo make install
```### Yosys
```
git clone https://github.com/cliffordwolf/yosys.git yosys
cd yosys
make
sudo make install
```### Netlistsvg (RTL netlist diagrams)
More information given [here](https://github.com/nturley/netlistsvg).
```
(install nodejs)
git clone https://github.com/nturley/netlistsvg
cd netlistsvg
npm install -g
```### iVerilog (simulations)
#### macOS
```
brew install icarus-verilog
```### Scansion (VCD viewer for macOS)
Download [here](http://www.logicpoet.com/scansion/).