Skip to content

Commit

Permalink
Merge branch 'release/0.3.1'
Browse files Browse the repository at this point in the history
  • Loading branch information
Jesus89 committed Nov 1, 2017
2 parents d4d32c0 + 7af4398 commit 8aab3d1
Show file tree
Hide file tree
Showing 41 changed files with 23,370 additions and 952 deletions.
67 changes: 32 additions & 35 deletions README.md
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) | &nbsp;&nbsp;:white_check_mark:&nbsp;**\*** | &nbsp;&nbsp;:white_check_mark:&nbsp;**\*** | &nbsp;&nbsp;:white_check_mark:&nbsp;**\*** |

Supported operating systems:

* GNU/Linux
* Windows
* Mac OS X
**\*** Use with Raspberry Pi

## Installation

Expand All @@ -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)
Expand Down Expand Up @@ -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:

Expand Down
2 changes: 1 addition & 1 deletion app/package.json
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",
Expand Down
9 changes: 9 additions & 0 deletions app/resources/boards/_iCE40HX8K-EVB/info.json
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
}
}
1 change: 1 addition & 0 deletions app/resources/boards/_iCE40HX8K-EVB/pinout.json
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"}]
Loading

0 comments on commit 8aab3d1

Please sign in to comment.