From d294780bbe4e8cd91e6ce996285df99ed6e06227 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Arroyo=20Torrens?= Date: Thu, 10 May 2018 23:26:51 +0200 Subject: [PATCH 1/2] Using apio 0.3.3 --- app/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/package.json b/app/package.json index a47bfdae2..ff42d6260 100644 --- a/app/package.json +++ b/app/package.json @@ -1,6 +1,6 @@ { "name": "icestudio", - "version": "0.3.2", + "version": "0.3.3-dev", "description": "Experimental graphic editor for open FPGAs", "author": "Jesús Arroyo Torrens ", "repository": "https://github.com/FPGAwars/icestudio", @@ -18,7 +18,7 @@ "icon": "resources/images/icestudio-logo.png" }, "apio": { - "min": "0.3.0", + "min": "0.3.3", "max": "0.4.0", "extras": [ "blackiceprog", From 61bc6deda7f9f089a116ff97ad35e715ef696cd0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Arroyo=20Torrens?= Date: Thu, 10 May 2018 23:50:13 +0200 Subject: [PATCH 2/2] Add Alhambra II PCF --- README.md | 1 + app/resources/boards/alhambra-ii/info.json | 12 +++ app/resources/boards/alhambra-ii/pinout.json | 1 + app/resources/boards/alhambra-ii/pinout.pcf | 94 ++++++++++++++++++++ app/resources/boards/alhambra-ii/rules.json | 42 +++++++++ 5 files changed, 150 insertions(+) create mode 100644 app/resources/boards/alhambra-ii/info.json create mode 100644 app/resources/boards/alhambra-ii/pinout.json create mode 100644 app/resources/boards/alhambra-ii/pinout.pcf create mode 100644 app/resources/boards/alhambra-ii/rules.json diff --git a/README.md b/README.md index 559149dd6..9449cb90a 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,7 @@ | Board name | GNU/Linux | Windows | Mac OS | |:-|:-:|:-:|:-:| +| [Alhambra II](https://github.com/FPGAwars/Alhambra-II-FPGA) | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [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: | diff --git a/app/resources/boards/alhambra-ii/info.json b/app/resources/boards/alhambra-ii/info.json new file mode 100644 index 000000000..b3897de7d --- /dev/null +++ b/app/resources/boards/alhambra-ii/info.json @@ -0,0 +1,12 @@ +{ + "label": "Alhambra II", + "datasheet": "https://github.com/FPGAwars/Alhambra-II-FPGA", + "interface": "FTDI", + "FPGAResources": { + "ffs": 7680, + "luts": 7680, + "pios": 107, + "plbs": 960, + "brams": 32 + } +} diff --git a/app/resources/boards/alhambra-ii/pinout.json b/app/resources/boards/alhambra-ii/pinout.json new file mode 100644 index 000000000..d679abaea --- /dev/null +++ b/app/resources/boards/alhambra-ii/pinout.json @@ -0,0 +1 @@ +[{"type": "output", "name": "LED0", "value": "45"}, {"type": "output", "name": "LED1", "value": "44"}, {"type": "output", "name": "LED2", "value": "43"}, {"type": "output", "name": "LED3", "value": "42"}, {"type": "output", "name": "LED4", "value": "41"}, {"type": "output", "name": "LED5", "value": "39"}, {"type": "output", "name": "LED6", "value": "38"}, {"type": "output", "name": "LED7", "value": "37"}, {"type": "input", "name": "SW1", "value": "34"}, {"type": "input", "name": "SW2", "value": "33"}, {"type": "inout", "name": "D13", "value": "64"}, {"type": "inout", "name": "D12", "value": "63"}, {"type": "inout", "name": "D11", "value": "21"}, {"type": "inout", "name": "D10", "value": "22"}, {"type": "inout", "name": "D9", "value": "19"}, {"type": "inout", "name": "D8", "value": "20"}, {"type": "inout", "name": "D7", "value": "9"}, {"type": "inout", "name": "D6", "value": "10"}, {"type": "inout", "name": "D5", "value": "7"}, {"type": "inout", "name": "D4", "value": "8"}, {"type": "inout", "name": "D3", "value": "3"}, {"type": "inout", "name": "D2", "value": "4"}, {"type": "inout", "name": "D1", "value": "1"}, {"type": "inout", "name": "D0", "value": "2"}, {"type": "inout", "name": "A0", "value": "114"}, {"type": "inout", "name": "A1", "value": "115"}, {"type": "inout", "name": "A2", "value": "116"}, {"type": "inout", "name": "A3", "value": "117"}, {"type": "inout", "name": "SDA", "value": "118"}, {"type": "inout", "name": "SCL", "value": "119"}, {"type": "output", "name": "ADC_SCL", "value": "84"}, {"type": "inout", "name": "ADC_SDA", "value": "83"}, {"type": "input", "name": "ADC_INT", "value": "90"}, {"type": "input", "name": "CLK", "value": "49"}, {"type": "input", "name": "RES", "value": "66"}, {"type": "output", "name": "DONE", "value": "65"}, {"type": "output", "name": "SS", "value": "71"}, {"type": "input", "name": "MISO", "value": "68"}, {"type": "output", "name": "MOSI", "value": "67"}, {"type": "output", "name": "SCK", "value": "70"}, {"type": "output", "name": "DCD", "value": "47"}, {"type": "output", "name": "DSR", "value": "48"}, {"type": "input", "name": "DTR", "value": "52"}, {"type": "output", "name": "CTS", "value": "56"}, {"type": "input", "name": "RTS", "value": "60"}, {"type": "output", "name": "TX", "value": "62"}, {"type": "input", "name": "RX", "value": "61"}] \ No newline at end of file diff --git a/app/resources/boards/alhambra-ii/pinout.pcf b/app/resources/boards/alhambra-ii/pinout.pcf new file mode 100644 index 000000000..788905b22 --- /dev/null +++ b/app/resources/boards/alhambra-ii/pinout.pcf @@ -0,0 +1,94 @@ +# ----------------------------------------------------------------------------- +#- Alhambra II constraint file (.pcf) +#- By Juan Gonzalez (Obijuan) and Jesus Arroyo Torrens +#- May - 2018 +#- GPL license +# ----------------------------------------------------------------------------- +# -- Repo: https://github.com/FPGAwars/Alhambra-II-FPGA + +# ------------ User Leds ------------------------------------------------------ +set_io --warn-no-port LED0 45 # output +set_io --warn-no-port LED1 44 # output +set_io --warn-no-port LED2 43 # output +set_io --warn-no-port LED3 42 # output +set_io --warn-no-port LED4 41 # output +set_io --warn-no-port LED5 39 # output +set_io --warn-no-port LED6 38 # output +set_io --warn-no-port LED7 37 # output + +# ------------ User push buttons ---------------------------------------------- +set_io --warn-no-port SW1 34 # input +set_io --warn-no-port SW2 33 # input + +# ------------ 5v Digital I/O ------------------------------------------------- + +# --- Top Female header +# --------------------------------------- ------------------------------- +# | SCL SDA AR GND D13 D12 D11 D10 D9 D8 | | D7 D6 D5 D4 D3 D2 D1 D0 | +# --------------------------------------- ------------------------------- +# +# Male, 3 pin connectors +# +# Gnd * * * * * * * * * * * * * * Gnd +# Vcc * * * * * * * * * * * * * * Vcc +# S * * * * * * * * * * * * * * S +# +# +# Male, 3 pin connectors +# * * * * * * +# * * * * * * +# * * * * * * +# --- Bottom female header +# ------------------------------- ------------------------- +# | x 5V R 3v3 5vP GND GND PWR | | DD0 DD1 DD2 DD3 DD4 DD5 | +# ------------------------------- ------------------------- + +# -- In top female header +set_io --warn-no-port D13 64 +set_io --warn-no-port D12 63 +set_io --warn-no-port D11 21 +set_io --warn-no-port D10 22 +set_io --warn-no-port D9 19 +set_io --warn-no-port D8 20 +set_io --warn-no-port D7 9 +set_io --warn-no-port D6 10 +set_io --warn-no-port D5 7 +set_io --warn-no-port D4 8 +set_io --warn-no-port D3 3 +set_io --warn-no-port D2 4 +set_io --warn-no-port D1 1 +set_io --warn-no-port D0 2 + +# -- In Bottom female header +set_io --warn-no-port A0 114 +set_io --warn-no-port A1 115 +set_io --warn-no-port A2 116 +set_io --warn-no-port A3 117 +set_io --warn-no-port SDA 118 +set_io --warn-no-port SCL 119 + +# -------------------------- I2C ADC ------------------------------------------ +set_io --warn-no-port ADC_SCL 84 # output +set_io --warn-no-port ADC_SDA 83 +set_io --warn-no-port ADC_INT 90 # input + +# -------------------------- SYSTEM CLOCK ------------------------------------- +set_io --warn-no-port CLK 49 # input + +# -------------------------- FTDI --------------------------------------------- +# --- FTDI 0: +set_io --warn-no-port RES 66 # input +set_io --warn-no-port DONE 65 # output +set_io --warn-no-port SS 71 # output +set_io --warn-no-port MISO 68 # input +set_io --warn-no-port MOSI 67 # output +set_io --warn-no-port SCK 70 # output +# +# --- FTDI 1: (Serial port) +set_io --warn-no-port DCD 47 # output +set_io --warn-no-port DSR 48 # output +set_io --warn-no-port DTR 52 # input +set_io --warn-no-port CTS 56 # output +set_io --warn-no-port RTS 60 # input +set_io --warn-no-port TX 62 # output +set_io --warn-no-port RX 61 # input diff --git a/app/resources/boards/alhambra-ii/rules.json b/app/resources/boards/alhambra-ii/rules.json new file mode 100644 index 000000000..230abc640 --- /dev/null +++ b/app/resources/boards/alhambra-ii/rules.json @@ -0,0 +1,42 @@ +{ + "input" : [ + { + "port" : "clk", + "pin": "49" + } + ], + "output": [ + { + "pin": "45", + "bit": "0" + }, + { + "pin": "44", + "bit": "0" + }, + { + "pin": "43", + "bit": "0" + }, + { + "pin": "42", + "bit": "0" + }, + { + "pin": "41", + "bit": "0" + }, + { + "pin": "39", + "bit": "0" + }, + { + "pin": "38", + "bit": "0" + }, + { + "pin": "37", + "bit": "0" + } + ] +}