diff --git a/blocks/Split/Bus-15/Split-3-12.ice b/blocks/Split/Bus-15/Split-3-12.ice new file mode 100644 index 00000000..563bea95 --- /dev/null +++ b/blocks/Split/Bus-15/Split-3-12.ice @@ -0,0 +1,209 @@ +{ + "version": "1.2", + "package": { + "name": "Bus15-Split-3-12", + "version": "0.3", + "description": "Bus15-Split-3-12: Split the 15-bits bus into two buses of 3 and 12 bits", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22354.768%22%20height=%22241.058%22%20viewBox=%220%200%20332.59497%20225.99201%22%3E%3Cpath%20d=%22M168.377%2077.643l61.147-60.938C240.21%206.25%20254.56.461%20269.484.5h62.611v26.186l-61.698.046c-8.012-.043-15.705%203.133-21.47%208.81L187.48%2096.857a57.292%2057.292%200%200%201-39.993%2016.139%2057.292%2057.292%200%200%201%2039.993%2016.14l61.448%2061.314c5.765%205.677%2013.458%208.853%2021.47%208.81l61.698.046v26.186h-62.612c-14.924.039-29.463-5.9-40.204-16.28l-60.902-60.863a29.857%2029.857%200%200%200-21.347-8.81L.5%20139.427V86.457h146.524a29.884%2029.884%200%200%200%2021.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" + }, + "design": { + "board": "alhambra-ii", + "graph": { + "blocks": [ + { + "id": "b1ed450b-f44b-45d6-a291-53a1c6e6a342", + "type": "basic.output", + "data": { + "name": "1", + "virtual": true, + "range": "[2:0]", + "pins": [ + { + "index": "2", + "name": "NULL", + "value": "NULL" + }, + { + "index": "1", + "name": "NULL", + "value": "NULL" + }, + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ] + }, + "position": { + "x": 608, + "y": 176 + } + }, + { + "id": "6239cd03-86a8-4118-ac70-649707c58467", + "type": "basic.input", + "data": { + "name": "", + "range": "[14:0]", + "clock": false, + "size": 15 + }, + "position": { + "x": 104, + "y": 208 + } + }, + { + "id": "14f8a994-b28b-45d8-aa20-1893d71ee5b1", + "type": "basic.output", + "data": { + "name": "0", + "virtual": true, + "range": "[11:0]", + "pins": [ + { + "index": "11", + "name": "NULL", + "value": "NULL" + }, + { + "index": "10", + "name": "NULL", + "value": "NULL" + }, + { + "index": "9", + "name": "NULL", + "value": "NULL" + }, + { + "index": "8", + "name": "NULL", + "value": "NULL" + }, + { + "index": "7", + "name": "NULL", + "value": "NULL" + }, + { + "index": "6", + "name": "NULL", + "value": "NULL" + }, + { + "index": "5", + "name": "NULL", + "value": "NULL" + }, + { + "index": "4", + "name": "NULL", + "value": "NULL" + }, + { + "index": "3", + "name": "NULL", + "value": "NULL" + }, + { + "index": "2", + "name": "NULL", + "value": "NULL" + }, + { + "index": "1", + "name": "NULL", + "value": "NULL" + }, + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ] + }, + "position": { + "x": 600, + "y": 272 + } + }, + { + "id": "16e78204-213e-4833-9096-89d735307ec2", + "type": "basic.code", + "data": { + "ports": { + "in": [ + { + "name": "i", + "range": "[14:0]", + "size": 15 + } + ], + "out": [ + { + "name": "o1", + "range": "[2:0]", + "size": 3 + }, + { + "name": "o0", + "range": "[11:0]", + "size": 12 + } + ] + }, + "params": [], + "code": "assign o1 = i[14:12];\nassign o0 = i[11:0];" + }, + "position": { + "x": 272, + "y": 176 + }, + "size": { + "width": 240, + "height": 120 + } + } + ], + "wires": [ + { + "source": { + "block": "6239cd03-86a8-4118-ac70-649707c58467", + "port": "out" + }, + "target": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i" + }, + "size": 15 + }, + { + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o0" + }, + "target": { + "block": "14f8a994-b28b-45d8-aa20-1893d71ee5b1", + "port": "in" + }, + "size": 12 + }, + { + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o1" + }, + "target": { + "block": "b1ed450b-f44b-45d6-a291-53a1c6e6a342", + "port": "in" + }, + "size": 3 + } + ] + } + }, + "dependencies": {} +} \ No newline at end of file diff --git a/blocks/Split/Bus-15/Split-4-11.ice b/blocks/Split/Bus-15/Split-4-11.ice new file mode 100644 index 00000000..c31339a3 --- /dev/null +++ b/blocks/Split/Bus-15/Split-4-11.ice @@ -0,0 +1,209 @@ +{ + "version": "1.2", + "package": { + "name": "Bus15-Split-4-11", + "version": "0.2", + "description": "Bus15-Split-4-11: Split the 15-bits bus into two buses of 4 and 11 bits", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22354.768%22%20height=%22241.058%22%20viewBox=%220%200%20332.59497%20225.99201%22%3E%3Cpath%20d=%22M168.377%2077.643l61.147-60.938C240.21%206.25%20254.56.461%20269.484.5h62.611v26.186l-61.698.046c-8.012-.043-15.705%203.133-21.47%208.81L187.48%2096.857a57.292%2057.292%200%200%201-39.993%2016.139%2057.292%2057.292%200%200%201%2039.993%2016.14l61.448%2061.314c5.765%205.677%2013.458%208.853%2021.47%208.81l61.698.046v26.186h-62.612c-14.924.039-29.463-5.9-40.204-16.28l-60.902-60.863a29.857%2029.857%200%200%200-21.347-8.81L.5%20139.427V86.457h146.524a29.884%2029.884%200%200%200%2021.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" + }, + "design": { + "board": "alhambra-ii", + "graph": { + "blocks": [ + { + "id": "0ccb840e-91da-409b-aa01-aeb78136b1b1", + "type": "basic.output", + "data": { + "name": "1", + "virtual": true, + "range": "[3:0]", + "pins": [ + { + "index": "3", + "name": "NULL", + "value": "NULL" + }, + { + "index": "2", + "name": "NULL", + "value": "NULL" + }, + { + "index": "1", + "name": "NULL", + "value": "NULL" + }, + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ] + }, + "position": { + "x": 608, + "y": 176 + } + }, + { + "id": "6239cd03-86a8-4118-ac70-649707c58467", + "type": "basic.input", + "data": { + "name": "", + "range": "[14:0]", + "clock": false, + "size": 15 + }, + "position": { + "x": 104, + "y": 208 + } + }, + { + "id": "56b216c2-3ed4-4876-b60e-2a90527eadb7", + "type": "basic.output", + "data": { + "name": "0", + "virtual": true, + "range": "[10:0]", + "pins": [ + { + "index": "10", + "name": "NULL", + "value": "NULL" + }, + { + "index": "9", + "name": "NULL", + "value": "NULL" + }, + { + "index": "8", + "name": "NULL", + "value": "NULL" + }, + { + "index": "7", + "name": "NULL", + "value": "NULL" + }, + { + "index": "6", + "name": "NULL", + "value": "NULL" + }, + { + "index": "5", + "name": "NULL", + "value": "NULL" + }, + { + "index": "4", + "name": "NULL", + "value": "NULL" + }, + { + "index": "3", + "name": "NULL", + "value": "NULL" + }, + { + "index": "2", + "name": "NULL", + "value": "NULL" + }, + { + "index": "1", + "name": "NULL", + "value": "NULL" + }, + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ] + }, + "position": { + "x": 600, + "y": 272 + } + }, + { + "id": "16e78204-213e-4833-9096-89d735307ec2", + "type": "basic.code", + "data": { + "ports": { + "in": [ + { + "name": "i", + "range": "[14:0]", + "size": 15 + } + ], + "out": [ + { + "name": "o1", + "range": "[3:0]", + "size": 4 + }, + { + "name": "o0", + "range": "[10:0]", + "size": 11 + } + ] + }, + "params": [], + "code": "assign o1 = i[14:11];\nassign o0 = i[10:0];" + }, + "position": { + "x": 272, + "y": 176 + }, + "size": { + "width": 240, + "height": 120 + } + } + ], + "wires": [ + { + "source": { + "block": "6239cd03-86a8-4118-ac70-649707c58467", + "port": "out" + }, + "target": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i" + }, + "size": 15 + }, + { + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o0" + }, + "target": { + "block": "56b216c2-3ed4-4876-b60e-2a90527eadb7", + "port": "in" + }, + "size": 11 + }, + { + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o1" + }, + "target": { + "block": "0ccb840e-91da-409b-aa01-aeb78136b1b1", + "port": "in" + }, + "size": 4 + } + ] + } + }, + "dependencies": {} +} \ No newline at end of file diff --git a/blocks/Split/Bus-32/Split-20-12.ice b/blocks/Split/Bus-32/Split-20-12.ice new file mode 100644 index 00000000..37437ef7 --- /dev/null +++ b/blocks/Split/Bus-32/Split-20-12.ice @@ -0,0 +1,294 @@ +{ + "version": "1.2", + "package": { + "name": "Bus32-Split-20-12", + "version": "0.2", + "description": "Bus32-Split-20-12: Split the 32-bits bus into two buses of 20 and 12 wires", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22354.768%22%20height=%22241.058%22%20viewBox=%220%200%20332.59497%20225.99201%22%3E%3Cpath%20d=%22M168.377%2077.643l61.147-60.938C240.21%206.25%20254.56.461%20269.484.5h62.611v26.186l-61.698.046c-8.012-.043-15.705%203.133-21.47%208.81L187.48%2096.857a57.292%2057.292%200%200%201-39.993%2016.139%2057.292%2057.292%200%200%201%2039.993%2016.14l61.448%2061.314c5.765%205.677%2013.458%208.853%2021.47%208.81l61.698.046v26.186h-62.612c-14.924.039-29.463-5.9-40.204-16.28l-60.902-60.863a29.857%2029.857%200%200%200-21.347-8.81L.5%20139.427V86.457h146.524a29.884%2029.884%200%200%200%2021.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" + }, + "design": { + "board": "alhambra-ii", + "graph": { + "blocks": [ + { + "id": "77469a58-55bf-4645-8e2a-72cbcb38013c", + "type": "basic.output", + "data": { + "name": "1", + "virtual": true, + "range": "[19:0]", + "pins": [ + { + "index": "19", + "name": "NULL", + "value": "NULL" + }, + { + "index": "18", + "name": "NULL", + "value": "NULL" + }, + { + "index": "17", + "name": "NULL", + "value": "NULL" + }, + { + "index": "16", + "name": "NULL", + "value": "NULL" + }, + { + "index": "15", + "name": "NULL", + "value": "NULL" + }, + { + "index": "14", + "name": "NULL", + "value": "NULL" + }, + { + "index": "13", + "name": "NULL", + "value": "NULL" + }, + { + "index": "12", + "name": "NULL", + "value": "NULL" + }, + { + "index": "11", + "name": "NULL", + "value": "NULL" + }, + { + "index": "10", + "name": "NULL", + "value": "NULL" + }, + { + "index": "9", + "name": "NULL", + "value": "NULL" + }, + { + "index": "8", + "name": "NULL", + "value": "NULL" + }, + { + "index": "7", + "name": "NULL", + "value": "NULL" + }, + { + "index": "6", + "name": "NULL", + "value": "NULL" + }, + { + "index": "5", + "name": "NULL", + "value": "NULL" + }, + { + "index": "4", + "name": "NULL", + "value": "NULL" + }, + { + "index": "3", + "name": "NULL", + "value": "NULL" + }, + { + "index": "2", + "name": "NULL", + "value": "NULL" + }, + { + "index": "1", + "name": "NULL", + "value": "NULL" + }, + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ] + }, + "position": { + "x": 608, + "y": 144 + } + }, + { + "id": "5204a9f1-594b-4216-b993-03b46bef9e6e", + "type": "basic.input", + "data": { + "name": "", + "range": "[31:0]", + "clock": false, + "size": 32 + }, + "position": { + "x": 72, + "y": 208 + } + }, + { + "id": "8e9ef221-f633-4cf3-b6f9-47d5452ce872", + "type": "basic.output", + "data": { + "name": "0", + "virtual": true, + "range": "[11:0]", + "pins": [ + { + "index": "11", + "name": "NULL", + "value": "NULL" + }, + { + "index": "10", + "name": "NULL", + "value": "NULL" + }, + { + "index": "9", + "name": "NULL", + "value": "NULL" + }, + { + "index": "8", + "name": "NULL", + "value": "NULL" + }, + { + "index": "7", + "name": "NULL", + "value": "NULL" + }, + { + "index": "6", + "name": "NULL", + "value": "NULL" + }, + { + "index": "5", + "name": "NULL", + "value": "NULL" + }, + { + "index": "4", + "name": "NULL", + "value": "NULL" + }, + { + "index": "3", + "name": "NULL", + "value": "NULL" + }, + { + "index": "2", + "name": "NULL", + "value": "NULL" + }, + { + "index": "1", + "name": "NULL", + "value": "NULL" + }, + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ] + }, + "position": { + "x": 592, + "y": 232 + } + }, + { + "id": "16e78204-213e-4833-9096-89d735307ec2", + "type": "basic.code", + "data": { + "ports": { + "in": [ + { + "name": "i", + "range": "[31:0]", + "size": 32 + } + ], + "out": [ + { + "name": "o1", + "range": "[19:0]", + "size": 20 + }, + { + "name": "o0", + "range": "[11:0]", + "size": 12 + } + ] + }, + "params": [], + "code": "assign o1 = i[31:12];\nassign o0 = i[11:0];" + }, + "position": { + "x": 272, + "y": 176 + }, + "size": { + "width": 240, + "height": 120 + } + } + ], + "wires": [ + { + "source": { + "block": "5204a9f1-594b-4216-b993-03b46bef9e6e", + "port": "out" + }, + "target": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i" + }, + "size": 32 + }, + { + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o0" + }, + "target": { + "block": "8e9ef221-f633-4cf3-b6f9-47d5452ce872", + "port": "in" + }, + "size": 12 + }, + { + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o1" + }, + "target": { + "block": "77469a58-55bf-4645-8e2a-72cbcb38013c", + "port": "in" + }, + "size": 20 + } + ] + } + }, + "dependencies": {} +} \ No newline at end of file diff --git a/blocks/Split/Bus-32/Split-21-11.ice b/blocks/Split/Bus-32/Split-21-11.ice new file mode 100644 index 00000000..8eebd05f --- /dev/null +++ b/blocks/Split/Bus-32/Split-21-11.ice @@ -0,0 +1,294 @@ +{ + "version": "1.2", + "package": { + "name": "Bus32-Split-21-11", + "version": "0.2", + "description": "Bus32-Split-21-11: Split the 32-bits bus into two buses of 21 and 11 wires", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22354.768%22%20height=%22241.058%22%20viewBox=%220%200%20332.59497%20225.99201%22%3E%3Cpath%20d=%22M168.377%2077.643l61.147-60.938C240.21%206.25%20254.56.461%20269.484.5h62.611v26.186l-61.698.046c-8.012-.043-15.705%203.133-21.47%208.81L187.48%2096.857a57.292%2057.292%200%200%201-39.993%2016.139%2057.292%2057.292%200%200%201%2039.993%2016.14l61.448%2061.314c5.765%205.677%2013.458%208.853%2021.47%208.81l61.698.046v26.186h-62.612c-14.924.039-29.463-5.9-40.204-16.28l-60.902-60.863a29.857%2029.857%200%200%200-21.347-8.81L.5%20139.427V86.457h146.524a29.884%2029.884%200%200%200%2021.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" + }, + "design": { + "board": "alhambra-ii", + "graph": { + "blocks": [ + { + "id": "6df5c09a-418e-43c7-a1a9-9fb79789a607", + "type": "basic.output", + "data": { + "name": "1", + "virtual": true, + "range": "[20:0]", + "pins": [ + { + "index": "20", + "name": "NULL", + "value": "NULL" + }, + { + "index": "19", + "name": "NULL", + "value": "NULL" + }, + { + "index": "18", + "name": "NULL", + "value": "NULL" + }, + { + "index": "17", + "name": "NULL", + "value": "NULL" + }, + { + "index": "16", + "name": "NULL", + "value": "NULL" + }, + { + "index": "15", + "name": "NULL", + "value": "NULL" + }, + { + "index": "14", + "name": "NULL", + "value": "NULL" + }, + { + "index": "13", + "name": "NULL", + "value": "NULL" + }, + { + "index": "12", + "name": "NULL", + "value": "NULL" + }, + { + "index": "11", + "name": "NULL", + "value": "NULL" + }, + { + "index": "10", + "name": "NULL", + "value": "NULL" + }, + { + "index": "9", + "name": "NULL", + "value": "NULL" + }, + { + "index": "8", + "name": "NULL", + "value": "NULL" + }, + { + "index": "7", + "name": "NULL", + "value": "NULL" + }, + { + "index": "6", + "name": "NULL", + "value": "NULL" + }, + { + "index": "5", + "name": "NULL", + "value": "NULL" + }, + { + "index": "4", + "name": "NULL", + "value": "NULL" + }, + { + "index": "3", + "name": "NULL", + "value": "NULL" + }, + { + "index": "2", + "name": "NULL", + "value": "NULL" + }, + { + "index": "1", + "name": "NULL", + "value": "NULL" + }, + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ] + }, + "position": { + "x": 608, + "y": 144 + } + }, + { + "id": "5204a9f1-594b-4216-b993-03b46bef9e6e", + "type": "basic.input", + "data": { + "name": "", + "range": "[31:0]", + "clock": false, + "size": 32 + }, + "position": { + "x": 72, + "y": 208 + } + }, + { + "id": "077d5480-1f5c-44fe-9350-47cf50aeb21d", + "type": "basic.output", + "data": { + "name": "0", + "virtual": true, + "range": "[10:0]", + "pins": [ + { + "index": "10", + "name": "NULL", + "value": "NULL" + }, + { + "index": "9", + "name": "NULL", + "value": "NULL" + }, + { + "index": "8", + "name": "NULL", + "value": "NULL" + }, + { + "index": "7", + "name": "NULL", + "value": "NULL" + }, + { + "index": "6", + "name": "NULL", + "value": "NULL" + }, + { + "index": "5", + "name": "NULL", + "value": "NULL" + }, + { + "index": "4", + "name": "NULL", + "value": "NULL" + }, + { + "index": "3", + "name": "NULL", + "value": "NULL" + }, + { + "index": "2", + "name": "NULL", + "value": "NULL" + }, + { + "index": "1", + "name": "NULL", + "value": "NULL" + }, + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ] + }, + "position": { + "x": 592, + "y": 232 + } + }, + { + "id": "16e78204-213e-4833-9096-89d735307ec2", + "type": "basic.code", + "data": { + "ports": { + "in": [ + { + "name": "i", + "range": "[31:0]", + "size": 32 + } + ], + "out": [ + { + "name": "o1", + "range": "[20:0]", + "size": 21 + }, + { + "name": "o0", + "range": "[10:0]", + "size": 11 + } + ] + }, + "params": [], + "code": "assign o1 = i[31:11];\nassign o0 = i[10:0];" + }, + "position": { + "x": 272, + "y": 176 + }, + "size": { + "width": 240, + "height": 120 + } + } + ], + "wires": [ + { + "source": { + "block": "5204a9f1-594b-4216-b993-03b46bef9e6e", + "port": "out" + }, + "target": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i" + }, + "size": 32 + }, + { + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o0" + }, + "target": { + "block": "077d5480-1f5c-44fe-9350-47cf50aeb21d", + "port": "in" + }, + "size": 11 + }, + { + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o1" + }, + "target": { + "block": "6df5c09a-418e-43c7-a1a9-9fb79789a607", + "port": "in" + }, + "size": 21 + } + ] + } + }, + "dependencies": {} +} \ No newline at end of file