-
Notifications
You must be signed in to change notification settings - Fork 247
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
41 changed files
with
23,370 additions
and
952 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,28 +1,26 @@ | ||
<img src="./doc/images/icestudio-logo-label.png" align="center"> | ||
|
||
[![Build Status](https://travis-ci.org/FPGAwars/icestudio.svg?branch=0.3.0)](https://travis-ci.org/FPGAwars/icestudio) | ||
[![Version](https://img.shields.io/badge/version-v0.3.0-orange.svg)](https://github.com/FPGAwars/icestudio/releases) | ||
[![Build Status](https://travis-ci.org/FPGAwars/icestudio.svg?branch=0.3.1)](https://travis-ci.org/FPGAwars/icestudio) | ||
[![Version](https://img.shields.io/badge/version-v0.3.1-orange.svg)](https://github.com/FPGAwars/icestudio/releases) | ||
[![License](http://img.shields.io/:license-gpl-blue.svg)](http://opensource.org/licenses/GPL-2.0) | ||
[![Documentation Status](https://readthedocs.org/projects/icestudio/badge/?version=latest)](http://icestudio.readthedocs.io/en/latest) | ||
|
||
**Experimental** graphic editor for open FPGAs. Built on top of the [Icestorm project](http://www.clifford.at/icestorm/). | ||
|
||
GUI -> JSON -> Verilog, PCF | ||
Graphic design -> Verilog, PCF -> Bistream -> FPGA | ||
|
||
Supported boards: | ||
### Supported boards | ||
|
||
* [IceZUM Alhambra](https://github.com/FPGAwars/icezum) | ||
* [Kéfir I iCE40-HX4K](http://fpgalibre.sourceforge.net/Kefir/) | ||
* [Nandland Go board](https://www.nandland.com/goboard/introduction.html) | ||
* [iCE40-HX8K Breakout Board](http://www.latticesemi.com/Products/DevelopmentBoardsAndKits/iCE40HX8KBreakoutBoard.aspx) | ||
* [iCEstick Evaluation Kit](http://www.pighixxx.com/test/portfolio-items/icestick/) | ||
* [icoBOARD 1.0](http://icoboard.org/about-icoboard.html) | ||
| Board name | GNU/Linux | Windows | Mac OS | | ||
|:-|:-:|:-:|:-:| | ||
| [IceZUM Alhambra](https://github.com/FPGAwars/icezum) | :white_check_mark: | :white_check_mark: | :white_check_mark: | | ||
| [Kéfir I iCE40-HX4K](http://fpgalibre.sourceforge.net/Kefir/) | :white_check_mark: | :white_check_mark: | :white_check_mark: | | ||
| [Nandland Go board](https://www.nandland.com/goboard/introduction.html) | :white_check_mark: | :white_check_mark: | :white_check_mark: | | ||
| [iCE40-HX8K Breakout Board](http://www.latticesemi.com/Products/DevelopmentBoardsAndKits/iCE40HX8KBreakoutBoard.aspx) | :white_check_mark: | :white_check_mark: | :white_check_mark: | | ||
| [iCEstick Evaluation Kit](http://www.pighixxx.com/test/portfolio-items/icestick/) | :white_check_mark: | :white_check_mark: | :white_check_mark: | | ||
| [icoBOARD 1.0](http://icoboard.org/about-icoboard.html) | :white_check_mark: **\*** | :white_check_mark: **\*** | :white_check_mark: **\*** | | ||
|
||
Supported operating systems: | ||
|
||
* GNU/Linux | ||
* Windows | ||
* Mac OS X | ||
**\*** Use with Raspberry Pi | ||
|
||
## Installation | ||
|
||
|
@@ -37,7 +35,7 @@ Supported operating systems: | |
1. Download and execute the [Windows installer](https://github.com/FPGAwars/icestudio/releases) | ||
|
||
|
||
* **Mac OS X** | ||
* **Mac OS** | ||
|
||
1. Install [Python 2.7](https://www.python.org) and [Homebrew](https://brew.sh) | ||
2. Download and execute the [DMG package](https://github.com/FPGAwars/icestudio/releases) | ||
|
@@ -83,37 +81,36 @@ npm install | |
npm start | ||
``` | ||
|
||
### Package | ||
|
||
```bash | ||
npm run dist | ||
``` | ||
|
||
| OS | Development OS | Output files | | ||
|:---:|:-------------:|:-----------------:| | ||
| GNU/Linux | GNU/Linux | (linux32,linux64).zip, (linux32,linux64).AppImage | | ||
| Windows | GNU/Linux | (win32,win64).zip, (win32,win64).exe | | ||
| Mac OS X | Mac OS X | (osx32,osx64).zip, osx64.dmg | | ||
|
||
|
||
## Languages | ||
### Languages | ||
|
||
| Language | Translated strings | | ||
|:----------:|:------------------------------------------:| | ||
| English | ![Progress](http://progressed.io/bar/100) | | ||
| Spanish | ![Progress](http://progressed.io/bar/100) | | ||
| French | ![Progress](http://progressed.io/bar/95) | | ||
| Basque | ![Progress](http://progressed.io/bar/93) | | ||
| Galician | ![Progress](http://progressed.io/bar/89) | | ||
| Catalan | ![Progress](http://progressed.io/bar/89) | | ||
| Basque | ![Progress](http://progressed.io/bar/98) | | ||
| French | ![Progress](http://progressed.io/bar/94) | | ||
| Galician | ![Progress](http://progressed.io/bar/88) | | ||
| Catalan | ![Progress](http://progressed.io/bar/88) | | ||
|
||
**Contribute!** | ||
|
||
Add or update the [app translations](https://github.com/FPGAwars/icestudio/tree/develop/app/resources/locale) using **[Poedit](https://poedit.net/)**. | ||
|
||
*Developer note*: use `npm run gettext` to extract the labels from the code. | ||
|
||
## Troubleshooting | ||
### Package | ||
|
||
```bash | ||
npm run dist | ||
``` | ||
|
||
| Target OS | Development OS | Output files | | ||
|:---:|:-------------:|:-----------------:| | ||
| GNU/Linux | GNU/Linux | (linux32,linux64).zip, (linux32,linux64).AppImage | | ||
| Windows | GNU/Linux | (win32,win64).zip, (win32,win64).exe | | ||
| Mac OS | Mac OS | (osx32,osx64).zip, osx64.dmg | | ||
|
||
### Troubleshooting | ||
|
||
If you get this error `npm ERR! peerinvalid The package [email protected] does not satisfy its siblings' peerDependencies requirements!`, try to update your **[nodejs](https://github.com/nodejs/node)** or execute: | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,6 @@ | ||
{ | ||
"name": "icestudio", | ||
"version": "0.3.1-rc", | ||
"version": "0.3.1", | ||
"description": "Experimental graphic editor for open FPGAs", | ||
"author": "Jesús Arroyo Torrens <[email protected]>", | ||
"repository": "https://github.com/FPGAwars/icestudio", | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
{ | ||
"label": "iCE40HX8K-EVB", | ||
"datasheet": "https://github.com/OLIMEX/iCE40HX8K-EVB/raw/master/HARDWARE/REV-B/iCE40HX8K-EVB_Rev_B.pdf", | ||
"FPGAResources": { | ||
"pios": 206, | ||
"plbs": 960, | ||
"brams": 32 | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
[{"type": "output", "name": "LED1", "value": "M12"}, {"type": "output", "name": "LED2", "value": "R16"}, {"type": "output", "name": "BUT1", "value": "K11"}, {"type": "output", "name": "BUT2", "value": "P13"}, {"type": "output", "name": "TX", "value": "J3"}, {"type": "input", "name": "RX", "value": "J3"}, {"type": "input", "name": "CLK", "value": "J3"}, {"type": "input", "name": "SYSCLK", "value": "J3"}, {"type": "input", "name": "RES", "value": "N11"}, {"type": "input", "name": "CRESET", "value": "N11"}, {"type": "output", "name": "DONE", "value": "M10"}, {"type": "output", "name": "CDONE", "value": "M10"}, {"type": "output", "name": "SS", "value": "R12"}, {"type": "output", "name": "SS_Bi", "value": "R12"}, {"type": "input", "name": "MISO", "value": "P12"}, {"type": "input", "name": "SDI", "value": "P12"}, {"type": "output", "name": "MOSI", "value": "P11"}, {"type": "output", "name": "SDO", "value": "P11"}, {"type": "output", "name": "SCK", "value": "R11"}, {"type": "inout", "name": "C14", "value": "C14"}, {"type": "inout", "name": "B15", "value": "B15"}, {"type": "inout", "name": "D13", "value": "D13"}, {"type": "inout", "name": "B14", "value": "B14"}, {"type": "inout", "name": "C12", "value": "C12"}, {"type": "inout", "name": "E11", "value": "E11"}, {"type": "inout", "name": "C13", "value": "C13"}, {"type": "inout", "name": "A16", "value": "A16"}, {"type": "inout", "name": "A15", "value": "A15"}, {"type": "inout", "name": "B13", "value": "B13"}, {"type": "inout", "name": "E10", "value": "E10"}, {"type": "inout", "name": "C11", "value": "C11"}, {"type": "inout", "name": "D11", "value": "D11"}, {"type": "inout", "name": "B12", "value": "B12"}, {"type": "inout", "name": "B10", "value": "B10"}, {"type": "inout", "name": "B11", "value": "B11"}, {"type": "inout", "name": "C10", "value": "C10"}, {"type": "inout", "name": "A10", "value": "A10"}, {"type": "inout", "name": "A11", "value": "A11"}, {"type": "inout", "name": "D10", "value": "D10"}, {"type": "inout", "name": "C9", "value": "C9"}, {"type": "inout", "name": "E9", "value": "E9"}, {"type": "inout", "name": "D9", "value": "D9"}, {"type": "inout", "name": "A9", "value": "A9"}, {"type": "inout", "name": "F9", "value": "F9"}, {"type": "inout", "name": "C8", "value": "C8"}, {"type": "inout", "name": "F7", "value": "F7"}, {"type": "inout", "name": "B9", "value": "B9"}, {"type": "inout", "name": "D8", "value": "D8"}, {"type": "inout", "name": "B8", "value": "B8"}, {"type": "inout", "name": "A7", "value": "A7"}, {"type": "inout", "name": "C7", "value": "C7"}, {"type": "inout", "name": "B6", "value": "B6"}, {"type": "inout", "name": "C6", "value": "C6"}, {"type": "inout", "name": "D7", "value": "D7"}, {"type": "inout", "name": "A6", "value": "A6"}, {"type": "inout", "name": "D6", "value": "D6"}, {"type": "inout", "name": "A5", "value": "A5"}, {"type": "inout", "name": "B5", "value": "B5"}, {"type": "inout", "name": "E6", "value": "E6"}, {"type": "inout", "name": "B4", "value": "B4"}, {"type": "inout", "name": "A2", "value": "A2"}, {"type": "inout", "name": "D5", "value": "D5"}, {"type": "inout", "name": "A1", "value": "A1"}, {"type": "inout", "name": "C5", "value": "C5"}, {"type": "inout", "name": "C4", "value": "C4"}, {"type": "inout", "name": "B3", "value": "B3"}, {"type": "inout", "name": "D4", "value": "D4"}, {"type": "inout", "name": "E5", "value": "E5"}, {"type": "inout", "name": "D3", "value": "D3"}, {"type": "inout", "name": "C3", "value": "C3"}, {"type": "inout", "name": "R14", "value": "R14"}, {"type": "inout", "name": "R15", "value": "R15"}, {"type": "inout", "name": "P14", "value": "P14"}, {"type": "inout", "name": "P15", "value": "P15"}, {"type": "inout", "name": "P16", "value": "P16"}, {"type": "inout", "name": "M13", "value": "M13"}, {"type": "inout", "name": "M14", "value": "M14"}, {"type": "inout", "name": "L12", "value": "L12"}, {"type": "inout", "name": "N16", "value": "N16"}, {"type": "inout", "name": "L13", "value": "L13"}, {"type": "inout", "name": "L14", "value": "L14"}, {"type": "inout", "name": "K12", "value": "K12"}, {"type": "inout", "name": "M16", "value": "M16"}, {"type": "inout", "name": "J10", "value": "J10"}, {"type": "inout", "name": "M15", "value": "M15"}, {"type": "inout", "name": "J11", "value": "J11"}, {"type": "inout", "name": "L16", "value": "L16"}, {"type": "inout", "name": "K13", "value": "K13"}, {"type": "inout", "name": "K14", "value": "K14"}, {"type": "inout", "name": "J15", "value": "J15"}, {"type": "inout", "name": "K15", "value": "K15"}, {"type": "inout", "name": "K16", "value": "K16"}, {"type": "inout", "name": "J14", "value": "J14"}, {"type": "inout", "name": "J12", "value": "J12"}, {"type": "inout", "name": "J13", "value": "J13"}, {"type": "inout", "name": "J16", "value": "J16"}, {"type": "inout", "name": "H13", "value": "H13"}, {"type": "inout", "name": "H11", "value": "H11"}, {"type": "inout", "name": "H16", "value": "H16"}, {"type": "inout", "name": "H14", "value": "H14"}, {"type": "inout", "name": "G16", "value": "G16"}, {"type": "inout", "name": "H12", "value": "H12"}, {"type": "inout", "name": "G15", "value": "G15"}, {"type": "inout", "name": "G10", "value": "G10"}, {"type": "inout", "name": "F16", "value": "F16"}, {"type": "inout", "name": "G11", "value": "G11"}, {"type": "inout", "name": "F15", "value": "F15"}, {"type": "inout", "name": "G14", "value": "G14"}, {"type": "inout", "name": "E16", "value": "E16"}, {"type": "inout", "name": "G13", "value": "G13"}, {"type": "inout", "name": "D16", "value": "D16"}, {"type": "inout", "name": "G12", "value": "G12"}, {"type": "inout", "name": "F14", "value": "F14"}, {"type": "inout", "name": "F12", "value": "F12"}, {"type": "inout", "name": "D15", "value": "D15"}, {"type": "inout", "name": "F11", "value": "F11"}, {"type": "inout", "name": "E14", "value": "E14"}, {"type": "inout", "name": "C16", "value": "C16"}, {"type": "inout", "name": "F13", "value": "F13"}, {"type": "inout", "name": "B16", "value": "B16"}, {"type": "inout", "name": "E13", "value": "E13"}, {"type": "inout", "name": "D14", "value": "D14"}, {"type": "inout", "name": "M11", "value": "M11"}, {"type": "inout", "name": "T13", "value": "T13"}, {"type": "inout", "name": "N12", "value": "N12"}, {"type": "inout", "name": "M12", "value": "M12"}, {"type": "inout", "name": "R16", "value": "R16"}, {"type": "inout", "name": "J1", "value": "J1"}, {"type": "inout", "name": "K1", "value": "K1"}, {"type": "inout", "name": "K3", "value": "K3"}, {"type": "inout", "name": "L4", "value": "L4"}, {"type": "inout", "name": "L1", "value": "L1"}, {"type": "inout", "name": "K4", "value": "K4"}, {"type": "inout", "name": "M1", "value": "M1"}, {"type": "inout", "name": "L6", "value": "L6"}, {"type": "inout", "name": "L3", "value": "L3"}, {"type": "inout", "name": "K5", "value": "K5"}, {"type": "inout", "name": "M2", "value": "M2"}, {"type": "inout", "name": "L7", "value": "L7"}, {"type": "inout", "name": "N2", "value": "N2"}, {"type": "inout", "name": "M6", "value": "M6"}, {"type": "inout", "name": "M3", "value": "M3"}, {"type": "inout", "name": "L5", "value": "L5"}, {"type": "inout", "name": "N3", "value": "N3"}, {"type": "inout", "name": "P1", "value": "P1"}, {"type": "inout", "name": "M4", "value": "M4"}, {"type": "inout", "name": "P2", "value": "P2"}, {"type": "inout", "name": "M5", "value": "M5"}, {"type": "inout", "name": "R1", "value": "R1"}, {"type": "inout", "name": "N4", "value": "N4"}] |
Oops, something went wrong.