Skip to content

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
  • Loading branch information
Jesus89 committed Aug 11, 2016
2 parents 6cb586e + fb353e3 commit faa8ca1
Show file tree
Hide file tree
Showing 195 changed files with 9,147 additions and 187,158 deletions.
3 changes: 3 additions & 0 deletions .bowerrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"cwd": "app"
}
17 changes: 14 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,8 +1,19 @@
*.sconsign.dblite
file
*.out
*.ini
*.v
*.pcf
*.asc
*.bin
*.blif
*.pyc
build
*.log

etc
.tmp
dist
cache
_build
node_modules
bower_components

app/profile.json
112 changes: 79 additions & 33 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,92 +1,138 @@
# Icestudio
<img src="./doc/images/icestudio-logo-label.png" align="center">

[![R&D](https://img.shields.io/badge/-R%26D-brightgreen.svg)](https://github.com/Jesus89/icestudio)
[![License](http://img.shields.io/:license-gpl-blue.svg)](http://opensource.org/licenses/GPL-2.0)

Experimental graphic editor for open FPGAs. Tested with Linux and [iCEstick board](http://www.pighixxx.com/test/portfolio-items/icestick/). Built on top of [icestorm project](http://www.clifford.at/icestorm/).

**Experimental** graphic editor for open FPGAs. Built on top of the [icestorm project](http://www.clifford.at/icestorm/).

GUI -> JSON -> Verilog, PCF

![][icestudio-demo]
Supported boards:

* [iCEstick](http://www.pighixxx.com/test/portfolio-items/icestick/)
* [Icezum Alhambra](https://github.com/FPGAwars/icezum)
* [Nandland Go board](https://www.nandland.com/goboard/introduction.html)


## Roadmap

* Version 0.3.0

* Requirements definition: [wiki](https://github.com/FPGAwars/icestudio/wiki/Icestudio-0.3.0:-proposed-features)


* Version 0.2.X

* New blocks, examples and templates: [wiki](https://github.com/FPGAwars/icestudio/wiki/Icestudio-0.2.X:-proposed-content)

## Installation
## Version 0.2

1. Install and configure the [drivers](https://github.com/bqlabs/icestudio/wiki/Installing-the-drivers)
### Installation

2. Download the [latest release](https://github.com/bqlabs/icestudio/releases), unpack the zip and execute Icestudio
1. Install and configure the [drivers](https://github.com/FPGAwars/icestudio/wiki/Installing-the-drivers)

NOTE: this is an **early experimental version**. Initially supported on Linux (32, 64), Windows and Mac.
2. Download the [release](https://github.com/FPGAwars/icestudio/releases/tag/0.2.0), unpack the zip and execute Icestudio

**Documentation: http://icestudio.readthedocs.io**

NOTE: supported on Linux, Windows and Mac.

<img src="./doc/images/icestudio-0.2-crono.png" width="700" align="center">

<img src="./doc/images/icestudio-0.2-counter-inspection.png" width="700" align="center">

## Development

Install nodejs
Install [Python 2.7](https://www.python.org/downloads/release/python-2711/)

Install [nodejs](https://github.com/nodejs/node)
```bash
curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
sudo apt-get install -y nodejs
```

Install nwjs
### Download

```bash
sudo npm install -g [email protected]
git clone https://github.com/FPGAwars/icestudio.git
cd icestudio
```

Install nw-builder
### Install

Linux:

```bash
sudo npm install -g nw-builder
npm install --no-optional
```

Install the toolchain with [apio](https://github.com/bqlabs/apio#install)

### Download
Mac OS X:

```bash
git clone https://github.com/bqlabs/icestudio.git
cd icestudio
npm install
```

### Execute

```bash
nw icestudio
npm start
```

### Package

```bash
nwbuild -p linux64 icestudio -v v0.12.3
nwbuild -p osx64 icestudio -v v0.12.3
nwbuild -p win64 icestudio -v v0.12.3
npm run dist
```

cd build/Icestudio
NOTE: in Mac OS X this commmand generates also a **dmg** package.

zip -r icestudio-linux64 linux64
zip -r icestudio-osx64 osx64
zip -r icestudio-win64 win64
```
## Version 0.1

### Installation

1. Install and configure the [drivers](https://github.com/FPGAwars/icestudio/wiki/Installing-the-drivers)

2. Download the [release](https://github.com/FPGAwars/icestudio/releases/tag/0.1.0), unpack the zip and execute Icestudio

NOTE: supported on Linux, Windows and Mac.

![][icestudio-0.1-demo]

## Videos

### Version 0.2

[![Icestudio: new gui & multiboard](http://img.youtube.com/vi/OWnVCjo7N9Y/0.jpg)](https://www.youtube.com/watch?v=OWnVCjo7N9Y "Icestudio: new gui & multiboard")

[![Icestudio: block factory](http://img.youtube.com/vi/mAIKb47z2Do/0.jpg)](http://www.youtube.com/watch?v=mAIKb47z2Do "Icestudio: block factory")


### Version 0.1

[![Icestudio: GUI for open FPGAs](http://img.youtube.com/vi/Okl4Rr_i6Qk/0.jpg)](http://www.youtube.com/watch?v=Okl4Rr_i6Qk "Icestudio: GUI for open FPGAs")

[![Icestudio: code generation](http://img.youtube.com/vi/pG1DsF9MIj0/0.jpg)](http://www.youtube.com/watch?v=pG1DsF9MIj0 "Icestudio: code generation")

## Authors

* Jesús Arroyo
* Jesús Arroyo Torrens

## Contributors

* Miguel Sánchez de León Peque
* v0.2: Tomás Calvo, Juan González, Carlos Díaz
* v0.1: Miguel Sánchez de León Peque

## Credits

* Using [AngularJS-Flowchart](https://github.com/codecapers/AngularJS-FlowChart)
* v0.2: using [JointJS](https://github.com/clientIO/joint)
* v0.1: using [AngularJS-Flowchart](https://github.com/codecapers/AngularJS-FlowChart)
* Sponsored by [BQ](https://www.bq.com)

## License
![](https://github.com/FPGAwars/icezum/raw/master/wiki/bq-logo.png)

![][bq-logo-cc-sa]
## License

Licensed under [GPLv2](http://opensource.org/licenses/GPL-2.0) and [Creative Commons Attribution-ShareAlike 4.0 International License](http://creativecommons.org/licenses/by-sa/4.0/)

[icestudio-demo]: doc/images/icestudio-demo.gif
[bq-logo-cc-sa]: doc/images/bq-logo-cc-sa-small-150px.png
[icestudio-0.1-demo]: doc/images/icestudio-demo.gif
40 changes: 40 additions & 0 deletions app/bower.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
{
"name": "icestudio",
"description": "Experimental graphic editor for open FPGAs",
"main": "index.html",
"authors": [
"Jesús Arroyo Torrens <[email protected]>",
"Tom Calvo <[email protected]>"
],
"license": "GPL-2.0",
"keywords": [
"FPGA",
"open",
"hardware"
],
"homepage": "https://github.com/FPGAwars/icestudio",
"ignore": [
"**/.*",
"node_modules",
"bower_components",
"test",
"tests"
],
"dependencies": {
"angular": "^1.5.5",
"angular-translate": "^2.11.0",
"angular-translate-loader-static-files": "^2.11.0",
"angular-route": "^1.5.5",
"jquery": "^2.0.3",
"backbone": "^1.2.1",
"lodash": "^3.10.1",
"joint": "^0.9.6",
"angular-bootstrap": "^1.3.3",
"bootstrap": "^3.3.6",
"ace-builds": "^1.2.3",
"select2": "^4.0.3",
"async": "^1.5.2",
"svg-pan-zoom": "^3.2.9",
"alertify-js": "^1.8.0"
}
}
73 changes: 73 additions & 0 deletions app/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
<!DOCTYPE html>
<html>

<head>
<title>Icestudio</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<!-- build:css styles/vendors.css -->
<!-- bower:css -->
<link rel="stylesheet" href="bower_components/joint/dist/joint.css" />
<link rel="stylesheet" href="bower_components/bootstrap/dist/css/bootstrap.min.css" />
<link rel="stylesheet" href="bower_components/select2/dist/css/select2.min.css" />
<link rel="stylesheet" href="bower_components/alertify-js/build/css/alertify.min.css"></script>
<link rel="stylesheet" href="bower_components/alertify-js/build/css/themes/default.min.css"></script>
<!-- endbower -->
<!-- endbuild -->
<!-- build:css styles/main.css -->
<link rel="stylesheet" href="styles/main.css" />
<link rel="stylesheet" href="styles/menu.css" />
<link rel="stylesheet" href="styles/project.css" />
<!-- endbuild -->
</head>

<body ng-app="icestudio">
<div ng-view></div>
<script>
window.$ = window.JQuery = window.jQuery = require('jquery');
</script>
<!-- build:js scripts/vendors.js -->
<!-- bower:js -->
<script src="bower_components/angular/angular.js"></script>
<script src="bower_components/angular-translate/angular-translate.js"></script>
<script src="bower_components/angular-translate-loader-static-files/angular-translate-loader-static-files.js"></script>
<script src="bower_components/angular-route/angular-route.js"></script>
<script src="bower_components/jquery/dist/jquery.js"></script>
<script src="bower_components/underscore/underscore.js"></script>
<script src="bower_components/backbone/backbone.js"></script>
<script src="bower_components/lodash/lodash.js"></script>
<script src="bower_components/joint/dist/joint.js"></script>
<script src="bower_components/angular-bootstrap/ui-bootstrap-tpls.js"></script>
<script src="bower_components/bootstrap/dist/js/bootstrap.js"></script>
<script src="bower_components/select2/dist/js/select2.js"></script>
<script src="bower_components/ace-builds/src-min-noconflict/ace.js"></script>
<script src="bower_components/ace-builds/src-min-noconflict/theme-chrome.js"></script>
<script src="bower_components/ace-builds/src-min-noconflict/mode-verilog.js"></script>
<script src="bower_components/async/dist/async.min.js"></script>
<script src="bower_components/svg-pan-zoom/dist/svg-pan-zoom.min.js"></script>
<script src="bower_components/alertify-js/build/alertify.min.js"></script>
<!-- endbower -->
<!-- endbuild -->
<!-- build:js scripts/main.js -->
<script src="scripts/app.js"></script>
<script src="scripts/controllers/main.js"></script>
<script src="scripts/controllers/menu.js"></script>
<script src="scripts/controllers/project.js"></script>
<script src="scripts/factories/node.factory.js"></script>
<script src="scripts/factories/joint.factory.js"></script>
<script src="scripts/factories/window.factory.js"></script>
<script src="scripts/services/utils.service.js"></script>
<script src="scripts/services/common.service.js"></script>
<script src="scripts/services/graph.service.js"></script>
<script src="scripts/services/boards.service.js"></script>
<script src="scripts/services/resources.service.js"></script>
<script src="scripts/services/profile.service.js"></script>
<script src="scripts/services/tools.service.js"></script>
<script src="scripts/services/compiler.service.js"></script>
<script src="scripts/plugins/connectors/joint.connectors.js"></script>
<script src="scripts/plugins/routers/joint.routers.js"></script>
<script src="scripts/plugins/shapes/joint.shapes.js"></script>
<script src="scripts/plugins/ui/joint.ui.js"></script>
<!-- endbuild -->
</body>

</html>
37 changes: 37 additions & 0 deletions app/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
{
"name": "Icestudio",
"version": "0.2.0",
"description": "Experimental graphic editor for open FPGAs",
"author": "Jesús Arroyo Torrens <[email protected]>",
"repository": "https://github.com/FPGAwars/icestudio",
"license": "GPL-2.0",
"main": "index.html",
"window": {
"width": 900,
"height": 600,
"min_width": 800,
"min_height": 200,
"toolbar": false,
"resizable": true,
"position": "center",
"icon": "resources/images/icestudio-logo.png"
},
"engines": {
"node": ">= 0.10.0"
},
"dependencies": {
"jquery": "^2.2.3",
"os": "^0.1.1",
"path": "^0.12.7",
"ping": "^0.1.10",
"rmdir": "^1.2.0",
"sha1": "^1.1.1",
"tarball-extract": "0.0.3"
},
"readme": "../README.md",
"keywords": [
"FPGA",
"open",
"hardware"
]
}
Loading

0 comments on commit faa8ca1

Please sign in to comment.