From cd1fcc0a29d5647ed11a96a5509d2226b886abb7 Mon Sep 17 00:00:00 2001 From: Obijuan Date: Tue, 28 May 2024 19:35:51 +0200 Subject: [PATCH] update examples. Fix verify errors --- .../Alhambra-II/01-manual-testing.ice | 31316 +++++++-------- .../Alhambra-II/01-manual-testing.ice | 31597 +++++++-------- .../Alhambra-II/01-manual-testing.ice | 32503 +++++++-------- .../Alhambra-II/01-manual-testing.ice | 32667 +++++++--------- 4 files changed, 55250 insertions(+), 72833 deletions(-) diff --git a/examples/TESTs/syscounters/20-bits/syscounter-rst/Alhambra-II/01-manual-testing.ice b/examples/TESTs/syscounters/20-bits/syscounter-rst/Alhambra-II/01-manual-testing.ice index 7234d51..5e3862a 100644 --- a/examples/TESTs/syscounters/20-bits/syscounter-rst/Alhambra-II/01-manual-testing.ice +++ b/examples/TESTs/syscounters/20-bits/syscounter-rst/Alhambra-II/01-manual-testing.ice @@ -429,11 +429,11 @@ } }, { - "id": "b2b71472-2bb5-47d5-87fd-f2ba2b761330", - "type": "f08a82ba2df4b812c3ec75b5e1a283ae0e70cc3f", + "id": "4039f550-3e22-4410-bc30-26c77b4742ab", + "type": "ba518ee261a2be13a9739cd3a01cdcebe0ef63c0", "position": { - "x": 1200, - "y": 400 + "x": 2024, + "y": 240 }, "size": { "width": 96, @@ -441,47 +441,47 @@ } }, { - "id": "9987e2fe-81e4-4995-8e1b-5cc250305d3b", - "type": "4c1570e58dc7efecf440f8a4ff7d1dda4250ef0c", + "id": "bcc037e7-2811-44e2-8dab-3284b45ba0bd", + "type": "78be078f7f5f29f81b4664a2bc3f6c05c1daf4f2", "position": { - "x": 1424, - "y": 400 + "x": 1784, + "y": 240 }, "size": { "width": 96, - "height": 96 + "height": 64 } }, { - "id": "eb0c5ccb-d409-4896-ac98-e072a0480299", - "type": "2a35153f656f2d69dfddb3d5023a77bf81baead9", + "id": "114d4253-e0f0-4aa4-9c5c-6a7d8c49fb09", + "type": "afb28fd5426aea14477d11cbe30a290679f789f8", "position": { - "x": 1952, - "y": -80 + "x": 1344, + "y": 224 }, "size": { "width": 96, - "height": 96 + "height": 64 } }, { - "id": "4039f550-3e22-4410-bc30-26c77b4742ab", - "type": "ba518ee261a2be13a9739cd3a01cdcebe0ef63c0", + "id": "8dc9e0c0-b0e4-49e3-97fc-85fe08f8ac78", + "type": "2dbbdf24834e69796fbfc1c5113fc929ee1fb935", "position": { - "x": 2024, - "y": 240 + "x": 936, + "y": 184 }, "size": { "width": 96, - "height": 64 + "height": 96 } }, { - "id": "bcc037e7-2811-44e2-8dab-3284b45ba0bd", - "type": "78be078f7f5f29f81b4664a2bc3f6c05c1daf4f2", + "id": "6d950c02-8ab9-4198-8087-cdc813335101", + "type": "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a", "position": { - "x": 1784, - "y": 240 + "x": 1128, + "y": 256 }, "size": { "width": 96, @@ -489,11 +489,11 @@ } }, { - "id": "114d4253-e0f0-4aa4-9c5c-6a7d8c49fb09", - "type": "afb28fd5426aea14477d11cbe30a290679f789f8", + "id": "88fda405-ca01-4cfc-8357-2160b363a16f", + "type": "84aa53ce75ed5d85dae142ad50804909d3670d1b", "position": { - "x": 1344, - "y": 224 + "x": 736, + "y": 216 }, "size": { "width": 96, @@ -501,11 +501,11 @@ } }, { - "id": "5723157c-ed3c-485e-bb6e-1c46c22b2ae1", - "type": "31ac972bd2343f06fe5112165c641002f15cb3fd", + "id": "8526de83-a69e-496b-8b50-d2276fab7c74", + "type": "5018a67fe520592d7f82dbf669bb3c3661624b65", "position": { - "x": 736, - "y": 216 + "x": 1200, + "y": 400 }, "size": { "width": 96, @@ -513,11 +513,11 @@ } }, { - "id": "8dc9e0c0-b0e4-49e3-97fc-85fe08f8ac78", - "type": "2dbbdf24834e69796fbfc1c5113fc929ee1fb935", + "id": "ee7feb78-028f-40c3-8416-58c03603735f", + "type": "ef27646a2ca3d9f1e7811dac0fd909719b5affe1", "position": { - "x": 936, - "y": 184 + "x": 1424, + "y": 400 }, "size": { "width": 96, @@ -525,15 +525,15 @@ } }, { - "id": "6d950c02-8ab9-4198-8087-cdc813335101", - "type": "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a", + "id": "ecac37c5-d80d-417b-8676-445a4d21fc1f", + "type": "455c3beb3ea73cf6862dfbc0c899a5e357964a24", "position": { - "x": 1128, - "y": 256 + "x": 1952, + "y": -80 }, "size": { "width": 96, - "height": 64 + "height": 96 } } ], @@ -544,7 +544,7 @@ "port": "out" }, "target": { - "block": "5723157c-ed3c-485e-bb6e-1c46c22b2ae1", + "block": "88fda405-ca01-4cfc-8357-2160b363a16f", "port": "2a921d76-1cbd-48fe-82a9-11b0ab4dbc06" } }, @@ -554,17 +554,17 @@ "port": "out" }, "target": { - "block": "b2b71472-2bb5-47d5-87fd-f2ba2b761330", + "block": "8526de83-a69e-496b-8b50-d2276fab7c74", "port": "21bc142d-a93a-430d-b37a-326435def9f9" } }, { "source": { - "block": "b2b71472-2bb5-47d5-87fd-f2ba2b761330", + "block": "8526de83-a69e-496b-8b50-d2276fab7c74", "port": "997db8c4-b772-49d8-83e7-4427aff720e6" }, "target": { - "block": "9987e2fe-81e4-4995-8e1b-5cc250305d3b", + "block": "ee7feb78-028f-40c3-8416-58c03603735f", "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" } }, @@ -584,13 +584,13 @@ "port": "outlabel" }, "target": { - "block": "9987e2fe-81e4-4995-8e1b-5cc250305d3b", + "block": "ee7feb78-028f-40c3-8416-58c03603735f", "port": "fc243ba8-9abb-4a22-81c4-fabdf043cd01" } }, { "source": { - "block": "eb0c5ccb-d409-4896-ac98-e072a0480299", + "block": "ecac37c5-d80d-417b-8676-445a4d21fc1f", "port": "757f1816-834d-4cd7-a5e1-d726a472de91" }, "target": { @@ -605,7 +605,7 @@ "port": "outlabel" }, "target": { - "block": "eb0c5ccb-d409-4896-ac98-e072a0480299", + "block": "ecac37c5-d80d-417b-8676-445a4d21fc1f", "port": "b1e41924-f354-4744-b5f0-a93a1fdc6828" }, "vertices": [ @@ -617,7 +617,7 @@ }, { "source": { - "block": "9987e2fe-81e4-4995-8e1b-5cc250305d3b", + "block": "ee7feb78-028f-40c3-8416-58c03603735f", "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { @@ -663,7 +663,7 @@ "port": "outlabel" }, "target": { - "block": "eb0c5ccb-d409-4896-ac98-e072a0480299", + "block": "ecac37c5-d80d-417b-8676-445a4d21fc1f", "port": "9cdfc247-4374-4660-b8c7-246e9aa090d7" }, "size": 8 @@ -681,7 +681,7 @@ }, { "source": { - "block": "5723157c-ed3c-485e-bb6e-1c46c22b2ae1", + "block": "88fda405-ca01-4cfc-8357-2160b363a16f", "port": "9f0a2040-af07-4db4-b2c9-b93c46671c29" }, "target": { @@ -727,960 +727,793 @@ } }, "dependencies": { - "f08a82ba2df4b812c3ec75b5e1a283ae0e70cc3f": { + "ba518ee261a2be13a9739cd3a01cdcebe0ef63c0": { "package": { - "name": "Button-tic", - "version": "0.1", - "description": "Button-tic: Configurable button that emits a tic when it is pressed", - "author": "Juan Gonzalez-Gomez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20width=%22293.977%22%20height=%22257.958%22%20viewBox=%220%200%2077.781366%2068.251365%22%3E%3Cdefs%3E%3ClinearGradient%20gradientTransform=%22matrix(-.013%20-.01966%20.01932%20-.01493%20151.654%20290.082)%22%20gradientUnits=%22userSpaceOnUse%22%20y2=%222300.215%22%20x2=%226069.057%22%20y1=%222538.05%22%20x1=%225466.681%22%20id=%22b%22%20xlink:href=%22#a%22/%3E%3ClinearGradient%20id=%22a%22%3E%3Cstop%20offset=%220%22%20stop-color=%22#c3875c%22/%3E%3Cstop%20offset=%22.48%22%20stop-color=%22#eccba3%22/%3E%3Cstop%20offset=%221%22%20stop-color=%22#fce0cb%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg%20transform=%22translate(138.022%20-134.888)%22%3E%3Cpath%20d=%22M-117.19%20184.278a20.69%209.094%200%200%200-13.734%202.307l-5.434.006-1.284%205.482a20.69%209.094%200%200%200-.238%201.3%2020.69%209.094%200%200%200%2020.69%209.093%2020.69%209.094%200%200%200%2020.69-9.094%2020.69%209.094%200%200%200-.029-.351h.064l-1.277-6.47-5.778.005a20.69%209.094%200%200%200-13.67-2.278z%22%20fill=%22#333%22%20stroke=%22#000%22%20stroke-width=%22.282%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20ry=%226.762%22%20rx=%2219.408%22%20cy=%22187.341%22%20cx=%22-117.074%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%22.282%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22matrix(.1018%200%200%20.10181%20-158.528%20145.536)%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-width=%222.772%22%3E%3Cellipse%20cx=%22406.087%22%20cy=%22399.216%22%20rx=%22184.221%22%20ry=%2272.858%22%20fill=%22green%22/%3E%3Cellipse%20cx=%22406.23%22%20cy=%22383.328%22%20rx=%22179.497%22%20ry=%2260.977%22%20fill=%22#0f0%22/%3E%3C/g%3E%3C/g%3E%3Cpath%20d=%22M126.16%20115.387c-1.523%201.514-2.14%203.307-2.023%205.326-.507%201.097-2.411%202.346-2.027%203.267-1.196%201.923-1.624%203.389-1.572%204.569-.544%201.24-.403%201.705-.348%202.268-2.266%203.497-4.092%208.255-5.878%2013.125-2.302%202.765-3.64%205.792-4.898%208.84-2.191%203.7-3.756%207.67-4.02%2011.394l-.265.558c2.996%203.107%204.946%201.524%207.018.747%206.637-3.112%209.504-8.52%2012.212-14.025.473-1.572%201.57-3.127%203.151-4.669%204.414-4.785%206.886-10.022%209.857-15.142.228-.428.58-1.032%201.143-1.941%201.675-1.795%203.418-4.997%205.132-7.612z%22%20fill=%22url(#b)%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.265%22%20transform=%22translate(-90.276%20-115.233)%22/%3E%3Cpath%20d=%22M18.486%2038.911c-2.362%202.823-3.506%206.298-4.228%2010.204.518.13%201.302-.444%202.155-1.196%202.575-6.067%201.848-7.142%202.073-9.008z%22%20fill=%22#f8ecf8%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.265%22/%3E%3Cpath%20d=%22M33.79%205.666c2.093-.057%203.853.53%205.373%201.582M31.832%208.759c2.001.286%203.946.663%205.428%201.788M30.331%2013.16c1.325-.48%203.02.099%204.83%201.005M29.98%2015.593l1.79.362%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%22.265%22/%3E%3Cg%20transform=%22matrix(1.2877%200%200%201.2877%20-70.904%20-45.941)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/svg%3E" + "name": "AND2", + "version": "1.0.2", + "description": "Two bits input And gate", + "author": "Jesús Arroyo, Juan González", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22336.09%22%20height=%22194.045%22%20version=%221%22%3E%3Cpath%20d=%22M174.656%20190.045H78.304V4h96.352s87.463%208.625%2087.463%2091.94c0%2083.311-87.463%2094.105-87.463%2094.105z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2045.668h74.018M4.057%20144.812h74.018m184.632-50.034h69.326%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%2292.894%22%20y=%22114.587%22%20font-weight=%22400%22%20font-size=%2258.054%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%2292.894%22%20y=%22114.587%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%3EAND%3C/tspan%3E%3C/text%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "653b2ced-3f13-4b1d-a2b6-c330c671067a", + "id": "18c2ebc7-5152-439c-9b3f-851c59bac834", "type": "basic.input", "data": { - "name": "", - "clock": true + "name": "" }, "position": { - "x": 128, - "y": -32 + "x": 96, + "y": 56 } }, { - "id": "98209ccc-d0f3-48fc-b10b-c2865b7442fc", - "type": "basic.inputLabel", + "id": "664caf9e-5f40-4df4-800a-b626af702e62", + "type": "basic.output", "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "name": "" }, "position": { - "x": 280, - "y": -32 + "x": 600, + "y": 96 } }, { - "id": "b58132b2-2e39-4a85-ab5b-63bded91cecc", - "type": "basic.output", + "id": "97b51945-d716-4b6c-9db9-970d08541249", + "type": "basic.input", "data": { - "name": "s" + "name": "" }, "position": { - "x": 728, - "y": -16 + "x": 96, + "y": 128 } }, { - "id": "2f9cf56e-789c-4621-923a-be59ef6ccd4a", - "type": "basic.outputLabel", + "id": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "type": "basic.code", "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" + "code": "//-- AND gate\n//-- Verilog implementation\n\nassign c = a & b;\n", + "params": [], + "ports": { + "in": [ + { + "name": "a" + }, + { + "name": "b" + } + ], + "out": [ + { + "name": "c" + } + ] + } }, "position": { - "x": 312, - "y": 104 + "x": 256, + "y": 48 + }, + "size": { + "width": 304, + "height": 152 } - }, + } + ], + "wires": [ { - "id": "b8666bca-0d3d-4cbb-8129-fcea674d428a", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" + "source": { + "block": "18c2ebc7-5152-439c-9b3f-851c59bac834", + "port": "out" }, - "position": { - "x": 744, - "y": 136 + "target": { + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "a" } }, { - "id": "997db8c4-b772-49d8-83e7-4427aff720e6", - "type": "basic.output", - "data": { - "name": "Press" + "source": { + "block": "97b51945-d716-4b6c-9db9-970d08541249", + "port": "out" }, - "position": { - "x": 1024, - "y": 168 + "target": { + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "b" } }, { - "id": "21bc142d-a93a-430d-b37a-326435def9f9", - "type": "basic.input", - "data": { - "name": "pin", - "clock": false + "source": { + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "c" }, - "position": { - "x": 304, - "y": 200 + "target": { + "block": "664caf9e-5f40-4df4-800a-b626af702e62", + "port": "in" } - }, + } + ] + } + } + }, + "78be078f7f5f29f81b4664a2bc3f6c05c1daf4f2": { + "package": { + "name": "Bus8-Split-1-7", + "version": "0.1", + "description": "Bus8-Split-half: Split the 8-bits bus into two buses of 1 and 7 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": { + "graph": { + "blocks": [ { - "id": "7f2c89d2-aea0-4ff9-b4f9-52d70cefa867", - "type": "basic.constant", + "id": "6461d1f4-0bf2-46a4-8c57-46d4419eba2b", + "type": "basic.output", "data": { - "name": "pup", - "value": "0", - "local": false + "name": "1" }, "position": { - "x": 448, - "y": 56 + "x": 584, + "y": 104 } }, { - "id": "1ff8ad12-4df4-4aee-922b-c0c0fb449926", - "type": "basic.constant", + "id": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e", + "type": "basic.input", "data": { - "name": "not", - "value": "0", - "local": false + "name": "", + "range": "[7:0]", + "clock": false, + "size": 8 }, "position": { - "x": 560, - "y": 56 + "x": 120, + "y": 208 } }, { - "id": "15503ba9-0846-4d76-9fa4-dd8f67da8f08", - "type": "basic.info", + "id": "7851244f-72ce-4b5b-a481-c1202933c8be", + "type": "basic.output", "data": { - "info": "System clock", - "readonly": true + "name": "0", + "range": "[6:0]", + "size": 7 }, "position": { - "x": 136, - "y": -56 - }, - "size": { - "width": 136, - "height": 40 + "x": 584, + "y": 272 } }, { - "id": "811f4c54-c464-463e-ad4d-eedaaf357148", - "type": "e245ee74990b448c1d6ce27462261485c9649d55", - "position": { - "x": 496, - "y": 184 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "5b87e16b-9cc4-444b-8b67-04775620b4e5", - "type": "c8ffff0c6db83755c69d6633413f8122e52a420c", - "position": { - "x": 888, - "y": 168 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "8f811ac3-ce9d-4e72-af71-03036c9426e7", - "type": "basic.info", - "data": { - "info": "Button state signal", - "readonly": true - }, - "position": { - "x": 720, - "y": -32 - }, - "size": { - "width": 176, - "height": 40 - } - }, - { - "id": "dee7b550-b7f2-40d7-955d-bfb931daba22", - "type": "basic.info", - "data": { - "info": "Tic: button pressed", - "readonly": true - }, - "position": { - "x": 1024, - "y": 152 - }, - "size": { - "width": 184, - "height": 40 - } - }, - { - "id": "88b26983-667f-40de-b1c6-c6710a7bbd4a", - "type": "basic.info", - "data": { - "info": "Rising edge detector", - "readonly": true - }, - "position": { - "x": 872, - "y": 248 - }, - "size": { - "width": 184, - "height": 40 - } - }, - { - "id": "0957ba76-2838-49cb-8fd4-b9fe42f21801", - "type": "basic.info", - "data": { - "info": "Pull up on/off", - "readonly": true - }, - "position": { - "x": 448, - "y": 16 - }, - "size": { - "width": 152, - "height": 40 - } - }, - { - "id": "5a5caef3-ffd0-46a4-9f63-e55aa8cd750d", - "type": "basic.info", + "id": "16e78204-213e-4833-9096-89d735307ec2", + "type": "basic.code", "data": { - "info": "Not on/off", - "readonly": true + "code": "assign o1 = i[7];\nassign o0 = i[6:0];", + "params": [], + "ports": { + "in": [ + { + "name": "i", + "range": "[7:0]", + "size": 8 + } + ], + "out": [ + { + "name": "o1" + }, + { + "name": "o0", + "range": "[6:0]", + "size": 7 + } + ] + } }, "position": { - "x": 576, - "y": 16 + "x": 272, + "y": 176 }, "size": { - "width": 120, - "height": 32 + "width": 240, + "height": 120 } } ], "wires": [ { "source": { - "block": "653b2ced-3f13-4b1d-a2b6-c330c671067a", + "block": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e", "port": "out" }, "target": { - "block": "98209ccc-d0f3-48fc-b10b-c2865b7442fc", - "port": "inlabel" - }, - "vertices": [] - }, - { - "source": { - "block": "2f9cf56e-789c-4621-923a-be59ef6ccd4a", - "port": "outlabel" - }, - "target": { - "block": "811f4c54-c464-463e-ad4d-eedaaf357148", - "port": "59f7bee9-9832-421d-aa0a-de177f3f121d" - }, - "vertices": [ - { - "x": 424, - "y": 160 - } - ] - }, - { - "source": { - "block": "b8666bca-0d3d-4cbb-8129-fcea674d428a", - "port": "outlabel" - }, - "target": { - "block": "5b87e16b-9cc4-444b-8b67-04775620b4e5", - "port": "2708468d-1088-4570-be63-fb0d4799a941" - } - }, - { - "source": { - "block": "21bc142d-a93a-430d-b37a-326435def9f9", - "port": "out" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i" }, - "target": { - "block": "811f4c54-c464-463e-ad4d-eedaaf357148", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" - } + "size": 8 }, { "source": { - "block": "811f4c54-c464-463e-ad4d-eedaaf357148", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o0" }, "target": { - "block": "b58132b2-2e39-4a85-ab5b-63bded91cecc", + "block": "7851244f-72ce-4b5b-a481-c1202933c8be", "port": "in" - } - }, - { - "source": { - "block": "811f4c54-c464-463e-ad4d-eedaaf357148", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" - }, - "target": { - "block": "5b87e16b-9cc4-444b-8b67-04775620b4e5", - "port": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff" }, - "vertices": [] + "size": 7 }, { "source": { - "block": "5b87e16b-9cc4-444b-8b67-04775620b4e5", - "port": "1c25e08e-e664-4fab-9b30-cedc1f8a3739" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o1" }, "target": { - "block": "997db8c4-b772-49d8-83e7-4427aff720e6", + "block": "6461d1f4-0bf2-46a4-8c57-46d4419eba2b", "port": "in" } - }, - { - "source": { - "block": "7f2c89d2-aea0-4ff9-b4f9-52d70cefa867", - "port": "constant-out" - }, - "target": { - "block": "811f4c54-c464-463e-ad4d-eedaaf357148", - "port": "07e7cb88-d87c-4aa3-9938-fc226e3f4815" - } - }, - { - "source": { - "block": "1ff8ad12-4df4-4aee-922b-c0c0fb449926", - "port": "constant-out" - }, - "target": { - "block": "811f4c54-c464-463e-ad4d-eedaaf357148", - "port": "6aacd3c5-a3e9-4a17-afb8-2b1271b3054c" - } } ] } } }, - "e245ee74990b448c1d6ce27462261485c9649d55": { + "afb28fd5426aea14477d11cbe30a290679f789f8": { "package": { - "name": "Button", + "name": "Bus8-Join-half", "version": "0.1", - "description": "Configurable button (pull-up on/off. Not on/off)", + "description": "Bus8-Join-half: Join the two same halves into an 8-bits Bus", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20width=%22202.458%22%20height=%22255.947%22%20viewBox=%220%200%2053.566957%2067.719398%22%3E%3Cdefs%3E%3ClinearGradient%20gradientTransform=%22matrix(-.013%20-.01966%20.01932%20-.01493%20151.654%20290.082)%22%20gradientUnits=%22userSpaceOnUse%22%20y2=%222300.215%22%20x2=%226069.057%22%20y1=%222538.05%22%20x1=%225466.681%22%20id=%22b%22%20xlink:href=%22#a%22/%3E%3ClinearGradient%20id=%22a%22%3E%3Cstop%20offset=%220%22%20stop-color=%22#c3875c%22/%3E%3Cstop%20offset=%22.48%22%20stop-color=%22#eccba3%22/%3E%3Cstop%20offset=%221%22%20stop-color=%22#fce0cb%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg%20transform=%22translate(138.022%20-134.888)%22%3E%3Cpath%20d=%22M-117.19%20184.278a20.69%209.094%200%200%200-13.734%202.307l-5.434.006-1.284%205.482a20.69%209.094%200%200%200-.238%201.3%2020.69%209.094%200%200%200%2020.69%209.093%2020.69%209.094%200%200%200%2020.69-9.094%2020.69%209.094%200%200%200-.029-.351h.064l-1.277-6.47-5.778.005a20.69%209.094%200%200%200-13.67-2.278z%22%20fill=%22#333%22%20stroke=%22#000%22%20stroke-width=%22.282%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20ry=%226.762%22%20rx=%2219.408%22%20cy=%22187.341%22%20cx=%22-117.074%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%22.282%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22matrix(.1018%200%200%20.10181%20-158.528%20145.536)%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-width=%222.772%22%3E%3Cellipse%20cx=%22406.087%22%20cy=%22399.216%22%20rx=%22184.221%22%20ry=%2272.858%22%20fill=%22green%22/%3E%3Cellipse%20cx=%22406.23%22%20cy=%22383.328%22%20rx=%22179.497%22%20ry=%2260.977%22%20fill=%22#0f0%22/%3E%3C/g%3E%3C/g%3E%3Cpath%20d=%22M126.16%20115.387c-1.523%201.514-2.14%203.307-2.023%205.326-.507%201.097-2.411%202.346-2.027%203.267-1.196%201.923-1.624%203.389-1.572%204.569-.544%201.24-.403%201.705-.348%202.268-2.266%203.497-4.092%208.255-5.878%2013.125-2.302%202.765-3.64%205.792-4.898%208.84-2.191%203.7-3.756%207.67-4.02%2011.394l-.265.558c2.996%203.107%204.946%201.524%207.018.747%206.637-3.112%209.504-8.52%2012.212-14.025.473-1.572%201.57-3.127%203.151-4.669%204.414-4.785%206.886-10.022%209.857-15.142.228-.428.58-1.032%201.143-1.941%201.675-1.795%203.418-4.997%205.132-7.612z%22%20fill=%22url(#b)%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.265%22%20transform=%22translate(-90.276%20-115.233)%22/%3E%3Cpath%20d=%22M18.486%2038.911c-2.362%202.823-3.506%206.298-4.228%2010.204.518.13%201.302-.444%202.155-1.196%202.575-6.067%201.848-7.142%202.073-9.008z%22%20fill=%22#f8ecf8%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.265%22/%3E%3Cpath%20d=%22M33.79%205.666c2.093-.057%203.853.53%205.373%201.582M31.832%208.759c2.001.286%203.946.663%205.428%201.788M30.331%2013.16c1.325-.48%203.02.099%204.83%201.005M29.98%2015.593l1.79.362%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%22.265%22/%3E%3C/svg%3E", - "otid": 1615538095529 + "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=%22M164.218%2077.643L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v26.186l61.698.046c8.012-.043%2015.705%203.133%2021.47%208.81l61.448%2061.315a57.292%2057.292%200%200%200%2039.993%2016.139%2057.292%2057.292%200%200%200-39.993%2016.14L83.668%20190.45c-5.765%205.677-13.458%208.853-21.47%208.81L.5%20199.306v26.186h62.612c14.924.039%2029.463-5.9%2040.204-16.28l60.902-60.863a29.857%2029.857%200%200%201%2021.347-8.81l146.53-.113V86.457H185.571a29.884%2029.884%200%200%201-21.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "59f7bee9-9832-421d-aa0a-de177f3f121d", + "id": "a1770adf-e143-4506-9d87-3cb9c870f534", "type": "basic.input", "data": { - "name": "", - "clock": true + "name": "1", + "range": "[3:0]", + "clock": false, + "size": 4 }, "position": { "x": 128, - "y": 232 + "y": 168 } }, { - "id": "c2136078-81d0-4137-8583-c122b93cbdb0", - "type": "basic.inputLabel", + "id": "1269698e-e555-4fcb-a613-cb4c7ff2e598", + "type": "basic.output", "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "name": "", + "range": "[7:0]", + "size": 8 }, "position": { - "x": 280, - "y": 232 + "x": 640, + "y": 200 } }, { - "id": "626e14a3-68ca-440d-b469-aeb6a69bddcb", - "type": "basic.outputLabel", + "id": "843164ff-f7d8-48b9-bf59-1e0d1135c81f", + "type": "basic.input", "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" + "name": "0", + "range": "[3:0]", + "clock": false, + "size": 4 }, "position": { - "x": 472, - "y": 368 + "x": 128, + "y": 224 } }, { - "id": "1b2fe6f0-f08f-44d2-824a-e5205b3e9fab", - "type": "basic.outputLabel", + "id": "16e78204-213e-4833-9096-89d735307ec2", + "type": "basic.code", "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 880, - "y": 368 - } - }, - { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "type": "basic.output", - "data": { - "name": "s" + "code": "assign o = {i1, i0};\n", + "params": [], + "ports": { + "in": [ + { + "name": "i1", + "range": "[3:0]", + "size": 4 + }, + { + "name": "i0", + "range": "[3:0]", + "size": 4 + } + ], + "out": [ + { + "name": "o", + "range": "[7:0]", + "size": 8 + } + ] + } }, "position": { - "x": 1200, - "y": 440 - } - }, - { - "id": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", - "type": "basic.input", - "data": { - "name": "pin", - "clock": false + "x": 296, + "y": 176 }, - "position": { - "x": 152, - "y": 472 + "size": { + "width": 272, + "height": 104 } - }, + } + ], + "wires": [ { - "id": "07e7cb88-d87c-4aa3-9938-fc226e3f4815", - "type": "basic.constant", - "data": { - "name": "pup", - "value": "0", - "local": false + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o" }, - "position": { - "x": 336, - "y": 360 - } - }, - { - "id": "6aacd3c5-a3e9-4a17-afb8-2b1271b3054c", - "type": "basic.constant", - "data": { - "name": "not", - "value": "0", - "local": false + "target": { + "block": "1269698e-e555-4fcb-a613-cb4c7ff2e598", + "port": "in" }, - "position": { - "x": 760, - "y": 352 - } + "size": 8 }, { - "id": "93b888bf-453e-4c9c-8f58-6b9c6d54d5de", - "type": "6c3affc36ce9207db9e9addcade0eb18994ddf4a", - "position": { - "x": 336, - "y": 472 + "source": { + "block": "a1770adf-e143-4506-9d87-3cb9c870f534", + "port": "out" }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "10111468-7bb5-46ee-8990-113fdf380068", - "type": "76118c377f31059327783a617b8e38ffd6b935b8", - "position": { - "x": 600, - "y": 456 + "target": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i1" }, - "size": { - "width": 96, - "height": 64 - } + "size": 4 }, { - "id": "3154e48a-4d34-460b-9ed8-69a8a9c83eb2", - "type": "5645befdb78839c4a1fcf8b7f7f1bfdd13cd127d", - "position": { - "x": 760, - "y": 456 + "source": { + "block": "843164ff-f7d8-48b9-bf59-1e0d1135c81f", + "port": "out" }, - "size": { - "width": 96, - "height": 64 - } - }, + "target": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i0" + }, + "size": 4 + } + ] + } + } + }, + "2dbbdf24834e69796fbfc1c5113fc929ee1fb935": { + "package": { + "name": "Bus20-Split-4-8-8", + "version": "0.1", + "description": "Bus20-Split-4-8-8: Split the 20-bits bus into three buses of 4, 8 and 8 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": { + "graph": { + "blocks": [ { - "id": "4687a20b-5221-4f82-8442-b6114bf8788d", - "type": "5539ec808ddc65a96d5da8d44290e4da16a256b8", - "position": { - "x": 1024, - "y": 440 + "id": "17b9ce53-8f1b-4b81-bd58-a2341e1d885e", + "type": "basic.output", + "data": { + "name": "2", + "range": "[3:0]", + "size": 4 }, - "size": { - "width": 96, - "height": 64 + "position": { + "x": 616, + "y": 128 } }, { - "id": "6ca11b45-e83b-492d-b175-8ab8f1faa08a", - "type": "basic.info", + "id": "6a8347bb-e6ee-494a-87c8-277445460362", + "type": "basic.input", "data": { - "info": "Internal pull-up \n* 0: OFF\n* 1: ON", - "readonly": true + "name": "", + "range": "[19:0]", + "clock": false, + "size": 20 }, "position": { - "x": 320, - "y": 560 - }, - "size": { - "width": 176, - "height": 72 + "x": 80, + "y": 208 } }, { - "id": "2349cf1c-768c-483c-bdf3-852e36755326", - "type": "basic.info", + "id": "88b44ea2-b997-440d-b22f-7e007e400763", + "type": "basic.output", "data": { - "info": "Synchronization stage", - "readonly": true + "name": "1", + "range": "[7:0]", + "size": 8 }, "position": { - "x": 552, - "y": 536 - }, - "size": { - "width": 184, - "height": 32 + "x": 624, + "y": 208 } }, { - "id": "c13f29d4-49ed-45ca-bf58-401682aa156c", - "type": "basic.info", + "id": "b4a2e85c-b31d-4363-be79-79d23492dd85", + "type": "basic.output", "data": { - "info": "Normalization stage\n\n* 0: Wire\n* 1: signal inverted", - "readonly": true + "name": "0", + "range": "[7:0]", + "size": 8 }, "position": { - "x": 752, - "y": 536 - }, - "size": { - "width": 192, - "height": 88 + "x": 624, + "y": 288 } }, { - "id": "9207da36-adfa-43d6-a633-ccaa601b9293", - "type": "basic.info", + "id": "16e78204-213e-4833-9096-89d735307ec2", + "type": "basic.code", "data": { - "info": "Debouncing stage", - "readonly": true + "code": "assign o2 = i[19:16];\nassign o1 = i[15:8];\nassign o0 = i[7:0];", + "params": [], + "ports": { + "in": [ + { + "name": "i", + "range": "[19:0]", + "size": 20 + } + ], + "out": [ + { + "name": "o2", + "range": "[3:0]", + "size": 4 + }, + { + "name": "o1", + "range": "[7:0]", + "size": 8 + }, + { + "name": "o0", + "range": "[7:0]", + "size": 8 + } + ] + } }, "position": { - "x": 1008, - "y": 528 + "x": 272, + "y": 176 }, "size": { - "width": 168, - "height": 40 + "width": 240, + "height": 120 } } ], "wires": [ { "source": { - "block": "59f7bee9-9832-421d-aa0a-de177f3f121d", + "block": "6a8347bb-e6ee-494a-87c8-277445460362", "port": "out" }, "target": { - "block": "c2136078-81d0-4137-8583-c122b93cbdb0", - "port": "inlabel" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i" }, - "vertices": [] - }, - { - "source": { - "block": "626e14a3-68ca-440d-b469-aeb6a69bddcb", - "port": "outlabel" - }, - "target": { - "block": "10111468-7bb5-46ee-8990-113fdf380068", - "port": "39873fa0-c3f5-47ef-b54b-b6b344416b25" - } - }, - { - "source": { - "block": "1b2fe6f0-f08f-44d2-824a-e5205b3e9fab", - "port": "outlabel" - }, - "target": { - "block": "4687a20b-5221-4f82-8442-b6114bf8788d", - "port": "4bf41c17-a2da-4140-95f7-2a80d51b1e1a" - } - }, - { - "source": { - "block": "93b888bf-453e-4c9c-8f58-6b9c6d54d5de", - "port": "a139fa0d-9b45-4480-a251-f4a66b49aa23" - }, - "target": { - "block": "10111468-7bb5-46ee-8990-113fdf380068", - "port": "f25e9a9e-cd4c-4025-8745-0691a99a3fb8" - }, - "vertices": [] - }, - { - "source": { - "block": "10111468-7bb5-46ee-8990-113fdf380068", - "port": "7bfc506f-7a54-40a1-8d33-e78a5409b972" - }, - "target": { - "block": "3154e48a-4d34-460b-9ed8-69a8a9c83eb2", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" - }, - "vertices": [] + "size": 20 }, { "source": { - "block": "6aacd3c5-a3e9-4a17-afb8-2b1271b3054c", - "port": "constant-out" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o0" }, "target": { - "block": "3154e48a-4d34-460b-9ed8-69a8a9c83eb2", - "port": "2cd40fd8-3a2b-46f7-a922-fedf146ed11a" + "block": "b4a2e85c-b31d-4363-be79-79d23492dd85", + "port": "in" }, - "vertices": [] + "size": 8 }, { "source": { - "block": "3154e48a-4d34-460b-9ed8-69a8a9c83eb2", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o1" }, "target": { - "block": "4687a20b-5221-4f82-8442-b6114bf8788d", - "port": "c9e1af2a-6f09-4cf6-a5b3-fdf7ec2c6530" - }, - "vertices": [] - }, - { - "source": { - "block": "07e7cb88-d87c-4aa3-9938-fc226e3f4815", - "port": "constant-out" + "block": "88b44ea2-b997-440d-b22f-7e007e400763", + "port": "in" }, - "target": { - "block": "93b888bf-453e-4c9c-8f58-6b9c6d54d5de", - "port": "121930e0-54c3-4b31-aa37-b33c7764abfa" - } + "size": 8 }, { "source": { - "block": "4687a20b-5221-4f82-8442-b6114bf8788d", - "port": "22ff3fa1-943b-4d1a-bd89-36e1c054d077" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o2" }, "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "block": "17b9ce53-8f1b-4b81-bd58-a2341e1d885e", "port": "in" - } - }, - { - "source": { - "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", - "port": "out" }, - "target": { - "block": "93b888bf-453e-4c9c-8f58-6b9c6d54d5de", - "port": "bb4a1ca9-1b30-471e-92ca-ca7ff2fc1150" - } + "size": 4 } ] } } }, - "6c3affc36ce9207db9e9addcade0eb18994ddf4a": { + "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a": { "package": { - "name": "Pull-upx1", - "version": "1.0.2", - "description": "FPGA internal pull-up configuration on the input port", - "author": "Juan González", - "image": "%3Csvg%20id=%22svg2%22%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-265%20401.5%2063.5%2038.4%22%3E%3Cstyle%3E.st0%7Bdisplay:none%7D.st1%7Bfill:none;stroke:#000;stroke-width:.75;stroke-linejoin:round;stroke-miterlimit:10%7D.st2%7Bfill:#010002%7D%3C/style%3E%3Cpath%20class=%22st0%22%20d=%22M-242.5%20411.8v11.8h-5.4v-11.8h5.4m1-1h-7.4v13.8h7.4v-13.8z%22/%3E%3Cpath%20d=%22M-212%20425.6l-15.4-8.7v8.5h-17.4v-2.7c0-.2-.1-.4-.3-.4l-2.3-1.2%205.6-2.9c.2-.1.3-.3.3-.5s-.1-.4-.3-.4l-5.7-2.7%202.4-1.6c.1-.1.2-.2.2-.4v-2.7h3.1l-3.5-6.1-3.5%206.1h3v2.5l-2.9%202c-.1.1-.2.3-.2.5s.1.3.3.4l5.6%202.6-5.6%202.9c-.2.1-.3.3-.3.4s.1.4.3.4l2.9%201.5V425.5H-265v1.2h37.6v8.5l15.4-8.7h10.5v-.8H-212zm-33.3-20.4l2.2%203.9h-4.5l2.3-3.9zm19.2%2027.7v-13.8l12.3%206.9-12.3%206.9z%22/%3E%3C/svg%3E" + "name": "Bus8-Split-half", + "version": "0.1", + "description": "Bus8-Split-half: Split the 8-bits bus into two buses of the same size", + "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": { "graph": { "blocks": [ { - "id": "bb4a1ca9-1b30-471e-92ca-ca7ff2fc1150", - "type": "basic.input", + "id": "637e64f4-0a6b-4037-9a75-89397e078a58", + "type": "basic.output", "data": { - "name": "pin", - "clock": false + "name": "1", + "range": "[3:0]", + "size": 4 }, "position": { - "x": 72, - "y": 256 + "x": 584, + "y": 104 } }, { - "id": "a139fa0d-9b45-4480-a251-f4a66b49aa23", - "type": "basic.output", + "id": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e", + "type": "basic.input", "data": { - "name": "" + "name": "", + "range": "[7:0]", + "clock": false, + "size": 8 }, "position": { - "x": 704, - "y": 256 + "x": 120, + "y": 208 } }, { - "id": "121930e0-54c3-4b31-aa37-b33c7764abfa", - "type": "basic.constant", + "id": "eb61d084-ca22-4894-b8a2-f936db38f4b1", + "type": "basic.output", "data": { - "name": "on", - "value": "1", - "local": false + "name": "0", + "range": "[3:0]", + "size": 4 }, "position": { - "x": 408, - "y": -8 + "x": 584, + "y": 232 } }, { - "id": "2b245a71-2d80-466b-955f-e3d61839fe25", + "id": "16e78204-213e-4833-9096-89d735307ec2", "type": "basic.code", "data": { - "code": "// 1-Pull up\n\n//-- Place the IO block, configured as \n//-- input with pull-up\nSB_IO\n #(\n .PIN_TYPE(6'b 1010_01),\n \n //-- The pull-up is activated or not\n //-- depeding on the ON parameter\n .PULLUP(ON)\n \n ) input_pin (\n\n //--- Input pin\n .PACKAGE_PIN(i),\n \n //-- Block output\n .D_IN_0(o),\n \n //-- Configured as input\n .OUTPUT_ENABLE(1'b0),\n \n //-- Not used\n .D_OUT_0(1'b0)\n );", - "params": [ - { - "name": "ON" - } - ], + "code": "assign o1 = i[7:4];\nassign o0 = i[3:0];", + "params": [], "ports": { "in": [ { - "name": "i" + "name": "i", + "range": "[7:0]", + "size": 8 } ], "out": [ { - "name": "o" + "name": "o1", + "range": "[3:0]", + "size": 4 + }, + { + "name": "o0", + "range": "[3:0]", + "size": 4 } ] } }, "position": { - "x": 256, - "y": 104 - }, - "size": { - "width": 392, - "height": 368 - } - }, - { - "id": "8055c1f2-dad2-4257-a271-c0bd64700cd7", - "type": "basic.info", - "data": { - "info": "### Pull-up parameter:\n\n0: No pull-up \n1: Pull-up activated", - "readonly": true - }, - "position": { - "x": 144, - "y": -48 - }, - "size": { - "width": 264, - "height": 104 - } - }, - { - "id": "5a96e53f-d2ff-4058-bbed-779876848487", - "type": "basic.info", - "data": { - "info": "Only an FPGA pin can \nbe connected here!!!", - "readonly": true - }, - "position": { - "x": 56, - "y": 200 - }, - "size": { - "width": 192, - "height": 56 - } - }, - { - "id": "26b0a2d0-aaa1-4204-9e57-2f2d674e03a0", - "type": "basic.info", - "data": { - "info": "The pull-up is connected \nby default", - "readonly": true - }, - "position": { - "x": 512, - "y": 0 + "x": 272, + "y": 176 }, "size": { - "width": 208, - "height": 56 + "width": 240, + "height": 120 } } ], "wires": [ { "source": { - "block": "bb4a1ca9-1b30-471e-92ca-ca7ff2fc1150", - "port": "out" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o1" }, "target": { - "block": "2b245a71-2d80-466b-955f-e3d61839fe25", - "port": "i" - } + "block": "637e64f4-0a6b-4037-9a75-89397e078a58", + "port": "in" + }, + "size": 4 }, { "source": { - "block": "2b245a71-2d80-466b-955f-e3d61839fe25", - "port": "o" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o0" }, "target": { - "block": "a139fa0d-9b45-4480-a251-f4a66b49aa23", + "block": "eb61d084-ca22-4894-b8a2-f936db38f4b1", "port": "in" - } + }, + "size": 4 }, { "source": { - "block": "121930e0-54c3-4b31-aa37-b33c7764abfa", - "port": "constant-out" + "block": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e", + "port": "out" }, "target": { - "block": "2b245a71-2d80-466b-955f-e3d61839fe25", - "port": "ON" - } + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i" + }, + "size": 8 } ] } } }, - "76118c377f31059327783a617b8e38ffd6b935b8": { + "84aa53ce75ed5d85dae142ad50804909d3670d1b": { "package": { - "name": "Sync-x01", - "version": "0.1", - "description": "Sync 1-bit input with the system clock domain", - "author": "Juan Gonzalez-González (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22214.451%22%20height=%22214.451%22%20viewBox=%220%200%20214.45128%20214.45128%22%3E%3Ccircle%20cx=%22107.226%22%20cy=%22107.226%22%20r=%22107.226%22%20fill=%22#4d4d4d%22/%3E%3Cpath%20d=%22M107.363%2038.297c14.504.03%2029.212%204.552%2040.7%2013.5%208.077%209.303-7.312%2019.268-14.243%2010.195-20.865-12.624-50.29-8.18-65.988%2010.695-8.352%209.367-13.058%2021.866-13.003%2034.413h13.789c-7.353%2011.037-14.707%2022.066-22.06%2033.095l-22.062-33.087h13.788c-.439-29.962%2021.108-58.462%2050.032-66.221%206.212-1.701%2012.607-2.654%2019.048-2.587zm60.53%2035.85l22.063%2033.092h-13.789c.39%2030.318-21.706%2059.137-51.14%2066.487-19.862%205.547-42.32%201.5-58.645-11.19-8.329-9.459%207.274-19.328%2014.27-10.173%2020.214%2012.265%2048.524%208.375%2064.48-9.142%209.242-9.522%2014.56-22.711%2014.489-35.982h-13.789l22.062-33.092z%22%20fill=%22#fbfbc9%22/%3E%3C/svg%3E" + "name": "syscounter-rst-20bits", + "version": "0.2", + "description": "20-bits Syscounter with reset", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22302.843%22%20height=%22186.504%22%20viewBox=%220%200%2080.127205%2049.345746%22%3E%3Cdefs%3E%3Cmarker%20id=%22a%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20fill=%22#00f%22%20fill-rule=%22evenodd%22%20stroke=%22#00f%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3C/defs%3E%3Cg%20transform=%22translate(-65.585%20-4.54)%22%3E%3Cpath%20d=%22M138.803%2048.49V16.91%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%222.806%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20marker-end=%22url(#a)%22/%3E%3Crect%20rx=%222.807%22%20ry=%222.807%22%20y=%225.289%22%20x=%2299.747%22%20height=%2247.849%22%20width=%2229.538%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%221.497%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%2240.921%22%20x=%22108.575%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%228.982%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%221.497%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2240.921%22%20x=%22108.575%22%20font-weight=%22700%22%20font-size=%2235.656%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M100.868%2030.283h27.764%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%222.245%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20rx=%222.807%22%20ry=%222.807%22%20y=%225.289%22%20x=%2266.333%22%20height=%2247.849%22%20width=%2229.538%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%221.497%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%2240.921%22%20x=%2273.223%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%228.982%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%221.497%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2240.921%22%20x=%2273.223%22%20font-weight=%22700%22%20font-size=%2235.656%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M67.454%2030.283h27.764%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%222.245%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618592156430 }, "design": { "graph": { "blocks": [ { - "id": "39873fa0-c3f5-47ef-b54b-b6b344416b25", + "id": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", "type": "basic.input", "data": { "name": "", "clock": true }, "position": { - "x": -256, - "y": -56 + "x": 216, + "y": -120 } }, { - "id": "e226f910-14af-473d-956b-03559f466726", + "id": "0a772657-8018-424d-8f04-75d3ffff3692", "type": "basic.inputLabel", "data": { "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "name": "clk" }, "position": { - "x": -104, - "y": -56 + "x": 368, + "y": -120 } }, { - "id": "7f538425-03ff-409e-81c2-d2714dfb036f", + "id": "b9359b10-b14f-4dd7-adf9-3f4f22bc65e6", "type": "basic.outputLabel", "data": { "blockColor": "yellow", - "name": "clk" + "name": "clk", + "oldBlockColor": "fuchsia" }, "position": { - "x": 128, - "y": 32 + "x": 384, + "y": -32 } }, { - "id": "868cf45b-3801-40c1-9a04-498087cf183e", + "id": "76db717f-1846-4d45-a1b5-33c1ce7851f4", "type": "basic.outputLabel", "data": { - "blockColor": "yellow", - "name": "clk" + "name": "q", + "range": "[19:0]", + "blockColor": "fuchsia", + "size": 20 }, "position": { - "x": -56, - "y": 72 + "x": 1040, + "y": -32 } }, { - "id": "7bfc506f-7a54-40a1-8d33-e78a5409b972", + "id": "9f0a2040-af07-4db4-b2c9-b93c46671c29", "type": "basic.output", "data": { - "name": "" + "name": "q", + "range": "[19:0]", + "size": 20 }, "position": { - "x": 424, - "y": 128 + "x": 1208, + "y": -32 } }, { - "id": "f25e9a9e-cd4c-4025-8745-0691a99a3fb8", + "id": "88e0e872-0460-4ecc-bf26-8a7a5598a024", + "type": "basic.output", + "data": { + "name": "max" + }, + "position": { + "x": 1208, + "y": 56 + } + }, + { + "id": "06c393de-8af4-4b53-852c-b0e0160b5314", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "c" + }, + "position": { + "x": 1048, + "y": 56 + } + }, + { + "id": "2a921d76-1cbd-48fe-82a9-11b0ab4dbc06", "type": "basic.input", "data": { - "name": "", + "name": "rst", "clock": false }, "position": { - "x": -64, - "y": 160 + "x": 216, + "y": 56 + } + }, + { + "id": "981964f7-389a-4d49-b273-41af6bbab190", + "type": "basic.inputLabel", + "data": { + "name": "q", + "range": "[19:0]", + "blockColor": "fuchsia", + "size": 20 + }, + "position": { + "x": 704, + "y": 88 } }, { - "id": "67741c87-f247-4b39-a7c2-42944b8daa48", - "type": "c8cfbaa5ea9096f681e8acf2ca239f06275f5db2", + "id": "cd9b7fce-c943-4b4c-a716-94f2cd21ccda", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "c" + }, "position": { - "x": 104, - "y": 144 + "x": 856, + "y": 176 + } + }, + { + "id": "7391a47a-f4a7-426e-a880-2ea38b2b8df0", + "type": "d98b4eaf961afa9cfcfb6a56bfe554ab1859a551", + "position": { + "x": 720, + "y": 192 }, "size": { "width": 96, @@ -1688,311 +1521,264 @@ } }, { - "id": "d627c1ba-2223-4a7b-918f-9458ec7be7a0", - "type": "c8cfbaa5ea9096f681e8acf2ca239f06275f5db2", + "id": "bc1d0eaa-839b-4a41-96a5-bf3ff17cd07b", + "type": "c71a09b3f22dd0152d0e64e20b76faf42442d78b", "position": { - "x": 280, - "y": 128 + "x": 544, + "y": 40 }, "size": { "width": 96, - "height": 64 + "height": 96 } } ], "wires": [ { "source": { - "block": "39873fa0-c3f5-47ef-b54b-b6b344416b25", + "block": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", "port": "out" }, "target": { - "block": "e226f910-14af-473d-956b-03559f466726", + "block": "0a772657-8018-424d-8f04-75d3ffff3692", "port": "inlabel" - } + }, + "vertices": [] + }, + { + "source": { + "block": "7391a47a-f4a7-426e-a880-2ea38b2b8df0", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + }, + "target": { + "block": "cd9b7fce-c943-4b4c-a716-94f2cd21ccda", + "port": "inlabel" + }, + "vertices": [] }, { "source": { - "block": "868cf45b-3801-40c1-9a04-498087cf183e", + "block": "b9359b10-b14f-4dd7-adf9-3f4f22bc65e6", "port": "outlabel" }, "target": { - "block": "67741c87-f247-4b39-a7c2-42944b8daa48", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + "block": "bc1d0eaa-839b-4a41-96a5-bf3ff17cd07b", + "port": "0ae5a502-ee21-47ad-bacb-405a35a87a91" } }, { "source": { - "block": "7f538425-03ff-409e-81c2-d2714dfb036f", + "block": "06c393de-8af4-4b53-852c-b0e0160b5314", "port": "outlabel" }, "target": { - "block": "d627c1ba-2223-4a7b-918f-9458ec7be7a0", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + "block": "88e0e872-0460-4ecc-bf26-8a7a5598a024", + "port": "in" } }, { "source": { - "block": "f25e9a9e-cd4c-4025-8745-0691a99a3fb8", + "block": "76db717f-1846-4d45-a1b5-33c1ce7851f4", + "port": "outlabel" + }, + "target": { + "block": "9f0a2040-af07-4db4-b2c9-b93c46671c29", + "port": "in", + "size": 20 + }, + "size": 20 + }, + { + "source": { + "block": "bc1d0eaa-839b-4a41-96a5-bf3ff17cd07b", + "port": "7995c7b0-4a39-4a19-aaa4-68f4e469912f", + "size": 20 + }, + "target": { + "block": "981964f7-389a-4d49-b273-41af6bbab190", + "port": "inlabel" + }, + "size": 20 + }, + { + "source": { + "block": "2a921d76-1cbd-48fe-82a9-11b0ab4dbc06", "port": "out" }, "target": { - "block": "67741c87-f247-4b39-a7c2-42944b8daa48", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + "block": "bc1d0eaa-839b-4a41-96a5-bf3ff17cd07b", + "port": "892d93f1-9c4c-46c1-82c7-ff9702a5725a" } }, { "source": { - "block": "67741c87-f247-4b39-a7c2-42944b8daa48", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + "block": "bc1d0eaa-839b-4a41-96a5-bf3ff17cd07b", + "port": "7995c7b0-4a39-4a19-aaa4-68f4e469912f" }, "target": { - "block": "d627c1ba-2223-4a7b-918f-9458ec7be7a0", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" - } + "block": "7391a47a-f4a7-426e-a880-2ea38b2b8df0", + "port": "e32c1f43-2609-4db0-988a-e26855546f12" + }, + "vertices": [ + { + "x": 656, + "y": 160 + } + ], + "size": 20 }, { "source": { - "block": "d627c1ba-2223-4a7b-918f-9458ec7be7a0", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + "block": "7391a47a-f4a7-426e-a880-2ea38b2b8df0", + "port": "82476fac-7158-4228-8506-b16205d96d74" }, "target": { - "block": "7bfc506f-7a54-40a1-8d33-e78a5409b972", - "port": "in" - } + "block": "bc1d0eaa-839b-4a41-96a5-bf3ff17cd07b", + "port": "c48a2779-52ed-4dde-8f95-e8ce67397de8" + }, + "vertices": [ + { + "x": 848, + "y": 288 + } + ], + "size": 20 } ] } } }, - "c8cfbaa5ea9096f681e8acf2ca239f06275f5db2": { + "d98b4eaf961afa9cfcfb6a56bfe554ab1859a551": { "package": { - "name": "DFF", - "version": "2.0", - "description": "D Flip-flop (verilog implementation)", + "name": "Inc1-20bits", + "version": "0.1", + "description": "Inc1-20bit: Increment a 20-bits number by one", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22156.57%22%20height=%22216.83%22%20viewBox=%220%200%2041.425941%2057.369679%22%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M25.682%2040.152L39.29%2056.824%2032.372%2036.29%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M18.298%2032.088L9.066%2012.475l-6.45%203.724-2.07-3.583L21.451.546%2023.52%204.13l-6.092%203.517%2012.03%2018.223s5.399-2.025%208.535.74c3.137%202.766%202.52%204.92%202.887%204.772L17.192%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3C/svg%3E" + "image": "%3Csvg%20width=%22387.891%22%20height=%22310.09%22%20viewBox=%220%200%20363.64764%20290.70999%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.759%2055.834v79.813h79.508v35.946H115.76v79.813h-36.25v-79.813H-.002v-35.946h79.51V55.834z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3Cpath%20d=%22M196.193%20257.608h64.256V35.828l-69.902%2014.02V14.018L260.06%200h39.332v257.608h64.257v33.102H196.193z%22%20style=%22line-height:1.25%22%20font-size=%22398.777%22%20stroke-width=%229.969%22/%3E%3C/svg%3E", + "otid": 1618560481898 }, "design": { "graph": { "blocks": [ { - "id": "3943e194-090b-4553-9df3-88bc4b17abc2", - "type": "basic.input", + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", "data": { - "name": "", - "clock": true + "name": "c" }, "position": { - "x": 208, - "y": 160 + "x": 624, + "y": -168 } }, { - "id": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78", - "type": "basic.output", + "id": "e32c1f43-2609-4db0-988a-e26855546f12", + "type": "basic.input", "data": { - "name": "" + "name": "", + "range": "[19:0]", + "clock": false, + "size": 20 }, "position": { - "x": 816, - "y": 224 + "x": 280, + "y": -152 } }, { - "id": "bf2f0c53-2d04-4cba-aa70-2df85502d24f", - "type": "basic.input", + "id": "82476fac-7158-4228-8506-b16205d96d74", + "type": "basic.output", "data": { - "name": "", - "clock": false + "name": "s", + "range": "[19:0]", + "size": 20 }, "position": { - "x": 208, - "y": 304 + "x": 624, + "y": -88 } }, { - "id": "65194b18-5d2a-41b2-bd86-01be99978ad6", + "id": "cd0d6f4d-9898-4114-94a9-0b4b98223c27", "type": "basic.constant", "data": { "name": "", - "value": "0", - "local": false + "value": "1", + "local": true }, "position": { - "x": 512, - "y": 64 + "x": 456, + "y": -256 } }, { - "id": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "type": "basic.code", - "data": { - "code": "//-- Initial value\nreg q = INI;\n\n//-- Capture the input data \n//-- on the rising edge of \n//-- the system clock\nalways @(posedge clk)\n q <= d;", - "params": [ - { - "name": "INI" - } - ], - "ports": { - "in": [ - { - "name": "clk" - }, - { - "name": "d" - } - ], - "out": [ - { - "name": "q" - } - ] - } - }, - "position": { - "x": 384, - "y": 168 - }, - "size": { - "width": 344, - "height": 176 - } - }, - { - "id": "53d11290-50b3-40fb-b253-222cb296b075", - "type": "basic.info", - "data": { - "info": "Parameter: Initial value", - "readonly": true - }, - "position": { - "x": 488, - "y": 48 - }, - "size": { - "width": 208, - "height": 40 - } - }, - { - "id": "c25a29cd-d5ed-435e-b375-e6d5557660d8", - "type": "basic.info", - "data": { - "info": "System clock", - "readonly": true - }, - "position": { - "x": 208, - "y": 136 - }, - "size": { - "width": 120, - "height": 32 - } - }, - { - "id": "ecafc6fa-330b-4ba7-aa67-40b3ea48f1f1", - "type": "basic.info", - "data": { - "info": "Input data", - "readonly": true - }, - "position": { - "x": 224, - "y": 280 - }, - "size": { - "width": 112, - "height": 40 - } - }, - { - "id": "df95c331-682d-4733-a62d-ad9fcd75f96a", - "type": "basic.info", - "data": { - "info": "Output", - "readonly": true - }, - "position": { - "x": 840, - "y": 200 - }, - "size": { - "width": 80, - "height": 40 - } - }, - { - "id": "dd8217df-b56d-49a9-ae94-f5e0c96e1460", - "type": "basic.info", - "data": { - "info": "# D Flip-Flop \n\nIt stores the input data that arrives at cycle n \nIts output is shown in the cycle n+1", - "readonly": true - }, + "id": "a531e828-a4e5-4deb-8e95-60e0cbca5ad0", + "type": "f09b6abf4c9ee97265f684a2c37f71c769ff3c8d", "position": { - "x": 144, - "y": -136 + "x": 456, + "y": -152 }, "size": { - "width": 488, - "height": 104 + "width": 96, + "height": 64 } } ], "wires": [ { "source": { - "block": "3943e194-090b-4553-9df3-88bc4b17abc2", - "port": "out" + "block": "a531e828-a4e5-4deb-8e95-60e0cbca5ad0", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "clk" + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" } }, { "source": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "q" + "block": "cd0d6f4d-9898-4114-94a9-0b4b98223c27", + "port": "constant-out" }, "target": { - "block": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78", - "port": "in" + "block": "a531e828-a4e5-4deb-8e95-60e0cbca5ad0", + "port": "e728fdca-755f-4f2d-98e7-0716b1c5258f" } }, { "source": { - "block": "65194b18-5d2a-41b2-bd86-01be99978ad6", - "port": "constant-out" + "block": "e32c1f43-2609-4db0-988a-e26855546f12", + "port": "out" }, "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "INI" - } + "block": "a531e828-a4e5-4deb-8e95-60e0cbca5ad0", + "port": "34b2276a-3f2d-4440-8076-eac33f5a7ac1" + }, + "size": 20 }, { "source": { - "block": "bf2f0c53-2d04-4cba-aa70-2df85502d24f", - "port": "out" + "block": "a531e828-a4e5-4deb-8e95-60e0cbca5ad0", + "port": "9479d2f2-00d7-4ec8-b92e-856aced057ad" }, "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "d" - } + "block": "82476fac-7158-4228-8506-b16205d96d74", + "port": "in" + }, + "size": 20 } ] } } }, - "5645befdb78839c4a1fcf8b7f7f1bfdd13cd127d": { + "f09b6abf4c9ee97265f684a2c37f71c769ff3c8d": { "package": { - "name": "not-wire-x01", - "version": "0.1", - "description": "Select positive or negative logic for the input (0=positive, 1=negative)", + "name": "AdderK-16bits CLONE", + "version": "0.1-c1628239598290", + "description": "AdderK-16bit: Adder of 16-bit operand and 16-bit constant", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22317.537%22%20height=%22255.621%22%20version=%221%22%3E%3Cpath%20d=%22M112.127%2098.805l133.418%2076.406-133.418%2076.41z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20cx=%22263.881%22%20cy=%22174.972%22%20rx=%2217.634%22%20ry=%2217.982%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4%20175.592h108.187m169.632%200h31.718%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:0%25%22%20x=%22121.949%22%20y=%22187.178%22%20transform=%22scale(.9971%201.0029)%22%20font-weight=%22400%22%20font-size=%229.874%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%22121.949%22%20y=%22187.178%22%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20font-size=%2240.873%22%3ENot%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M4%2062.122h309.537%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:0%25%22%20x=%2214.865%22%20y=%2236.868%22%20transform=%22scale(.99532%201.0047)%22%20font-weight=%22400%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%2214.865%22%20y=%2236.868%22%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20font-size=%2249.675%22%3E0%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:0%25%22%20x=%2216.903%22%20y=%22151.969%22%20transform=%22scale(.99532%201.0047)%22%20font-weight=%22400%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%2216.903%22%20y=%22151.969%22%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20font-size=%2249.675%22%3E1%3C/tspan%3E%3C/text%3E%3C/svg%3E", - "otid": 1607779171609 + "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618560481898 }, "design": { "graph": { @@ -2001,44 +1787,59 @@ "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", "type": "basic.output", "data": { - "name": "" + "name": "c" }, "position": { - "x": 824, - "y": 304 + "x": 624, + "y": -168 } }, { - "id": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", + "id": "9479d2f2-00d7-4ec8-b92e-856aced057ad", + "type": "basic.output", + "data": { + "name": "s", + "range": "[19:0]", + "size": 20 + }, + "position": { + "x": 624, + "y": -96 + } + }, + { + "id": "34b2276a-3f2d-4440-8076-eac33f5a7ac1", "type": "basic.input", "data": { "name": "", - "clock": false + "range": "[19:0]", + "clock": false, + "size": 20 }, "position": { - "x": 376, - "y": 320 + "x": 232, + "y": -64 } }, { - "id": "2cd40fd8-3a2b-46f7-a922-fedf146ed11a", + "id": "e728fdca-755f-4f2d-98e7-0716b1c5258f", "type": "basic.constant", "data": { - "name": "not", + "name": "", "value": "0", "local": false }, "position": { - "x": 520, - "y": 160 + "x": 232, + "y": -272 } }, { - "id": "160f76e9-4d8d-424e-8689-bb890101823c", - "type": "3ba5d0ecbd8f55582a6307158732789df06cb74c", + "id": "c753514d-63b8-4051-b7b1-b95b97b54c41", + "type": "4e3dc924f3d363056ca5a84b15b3559703f469a5", "position": { - "x": 520, - "y": 256 + "x": 456, + "y": -152 }, "size": { "width": 96, @@ -2046,485 +1847,553 @@ } }, { - "id": "5237d3a4-e717-4eb1-a261-65f0c313b67c", - "type": "b70dd9c39fe3c51faff4233d2dde462fc53c7e38", + "id": "88219ce0-84cd-4412-9cc1-dbca2797658c", + "type": "95d0aeb748ac78b1801cd0f424b4cf9296c0b999", "position": { - "x": 672, - "y": 304 + "x": 232, + "y": -168 }, "size": { "width": 96, "height": 64 } - }, - { - "id": "019e81db-5707-409c-b159-b4cb29813cc4", - "type": "basic.info", - "data": { - "info": "When k=0, it works like a wire \n(The output is equal to the input) \nWhen k=1, it act as a not gate\n(The output is the inverse of the input)", - "readonly": true - }, - "position": { - "x": 632, - "y": 392 - }, - "size": { - "width": 336, - "height": 96 - } - }, - { - "id": "68880edb-df66-4540-8ee4-f3836fdb5f0e", - "type": "basic.info", - "data": { - "info": "### Truth table for XOR\n\n| k | input | output | function |\n|---|-------|--------|----------|\n| 0 | 0 | 0 | wire |\n| 0 | 1 | 1 | wire |\n| 1 | 0 | 1 | Not |\n| 1 | 1 | 0 | Not |", - "readonly": true - }, - "position": { - "x": 728, - "y": 8 - }, - "size": { - "width": 296, - "height": 144 - } } ], "wires": [ { "source": { - "block": "2cd40fd8-3a2b-46f7-a922-fedf146ed11a", - "port": "constant-out" + "block": "c753514d-63b8-4051-b7b1-b95b97b54c41", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "160f76e9-4d8d-424e-8689-bb890101823c", - "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" - }, - "vertices": [] + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" + } }, { "source": { - "block": "160f76e9-4d8d-424e-8689-bb890101823c", - "port": "5d443143-4aca-4d4f-ba40-2b88451b86d3" + "block": "e728fdca-755f-4f2d-98e7-0716b1c5258f", + "port": "constant-out" }, "target": { - "block": "5237d3a4-e717-4eb1-a261-65f0c313b67c", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "block": "88219ce0-84cd-4412-9cc1-dbca2797658c", + "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" } }, { "source": { - "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", - "port": "out" + "block": "88219ce0-84cd-4412-9cc1-dbca2797658c", + "port": "d1f5a9f1-76b5-430e-a1db-2273ba3d5497" }, "target": { - "block": "5237d3a4-e717-4eb1-a261-65f0c313b67c", - "port": "97b51945-d716-4b6c-9db9-970d08541249" - } + "block": "c753514d-63b8-4051-b7b1-b95b97b54c41", + "port": "10ec9fec-863a-417a-ad84-528db337fb64" + }, + "size": 20 }, { "source": { - "block": "5237d3a4-e717-4eb1-a261-65f0c313b67c", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "34b2276a-3f2d-4440-8076-eac33f5a7ac1", + "port": "out" }, "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "block": "c753514d-63b8-4051-b7b1-b95b97b54c41", + "port": "c7cabb03-f5e2-4e4d-a1f1-166dfb0fdd43" + }, + "size": 20 + }, + { + "source": { + "block": "c753514d-63b8-4051-b7b1-b95b97b54c41", + "port": "61c0c845-bdd7-4f77-987f-049ce228f9fb" + }, + "target": { + "block": "9479d2f2-00d7-4ec8-b92e-856aced057ad", "port": "in" - } + }, + "size": 20 } ] } } }, - "3ba5d0ecbd8f55582a6307158732789df06cb74c": { + "4e3dc924f3d363056ca5a84b15b3559703f469a5": { "package": { - "name": "Constante-1bits", - "version": "0.0.1", - "description": "Valor genérico constante, de 1 bits. Su valor se introduce como parámetro. Por defecto vale 0", - "author": "Juan Gonzalez-Gomez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22145.608%22%20height=%22247.927%22%20viewBox=%220%200%20136.50729%20232.43134%22%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22293.115%22%20y=%22648.344%22%20font-weight=%22400%22%20font-size=%22335.399%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22%20transform=%22translate(-316.929%20-415.913)%22%3E%3Ctspan%20x=%22293.115%22%20y=%22648.344%22%3Ek%3C/tspan%3E%3C/text%3E%3C/svg%3E" + "name": "Adder-20bits", + "version": "0.1", + "description": "Adder-20bits: Adder of two operands of 20 bits", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618560481898 }, "design": { "graph": { "blocks": [ { - "id": "5d443143-4aca-4d4f-ba40-2b88451b86d3", + "id": "5db88ba9-4815-4306-a0bd-011a04320d43", + "type": "basic.outputLabel", + "data": { + "name": "a2", + "range": "[3:0]", + "oldBlockColor": "fuchsia", + "blockColor": "deeppink", + "size": 4 + }, + "position": { + "x": 584, + "y": -816 + } + }, + { + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", "type": "basic.output", "data": { - "name": "" + "name": "c" }, "position": { - "x": 960, - "y": 248 + "x": 1136, + "y": -776 } }, { - "id": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", - "type": "basic.constant", + "id": "953bb56e-7062-4133-a3b8-a2b4a99eefee", + "type": "basic.outputLabel", "data": { - "name": "", - "value": "0", - "local": false + "name": "b2", + "range": "[3:0]", + "blockColor": "fuchsia", + "size": 4 }, "position": { - "x": 728, - "y": 128 + "x": 584, + "y": -752 } }, { - "id": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", - "type": "basic.code", + "id": "8a04b594-7cc1-4376-a931-fd06de691765", + "type": "basic.inputLabel", "data": { - "code": "assign k = VALUE;", - "params": [ + "name": "a2", + "range": "[3:0]", + "pins": [ { - "name": "VALUE" + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" } ], - "ports": { - "in": [], - "out": [ - { - "name": "k" - } - ] - } + "virtual": true, + "blockColor": "deeppink" }, "position": { - "x": 672, - "y": 248 - }, - "size": { - "width": 208, - "height": 64 + "x": 40, + "y": -672 } - } - ], - "wires": [ + }, { - "source": { - "block": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", - "port": "constant-out" + "id": "4f2c77a9-f54e-4c7e-b1b8-d1739ea521c7", + "type": "basic.outputLabel", + "data": { + "name": "a1", + "range": "[7:0]", + "blockColor": "deeppink", + "size": 8 }, - "target": { - "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", - "port": "VALUE" + "position": { + "x": 392, + "y": -640 } }, { - "source": { - "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", - "port": "k" + "id": "61c0c845-bdd7-4f77-987f-049ce228f9fb", + "type": "basic.output", + "data": { + "name": "s", + "range": "[19:0]", + "size": 20 }, - "target": { - "block": "5d443143-4aca-4d4f-ba40-2b88451b86d3", - "port": "in" + "position": { + "x": 1152, + "y": -616 } - } - ] - } - } - }, - "b70dd9c39fe3c51faff4233d2dde462fc53c7e38": { - "package": { - "name": "XOR", - "version": "1.0.1", - "description": "Puerta XOR", - "author": "Jesús Arroyo, Juan González", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22193.047%22%20width=%22383.697%22%20version=%221%22%3E%3Cpath%20d=%22M175.56%20189.047H84.527s30.345-42.538%2031.086-94.03c.743-51.49-31.821-90.294-31.821-90.294l92.317-.394c46.445%201.948%20103.899%2053.44%20123.047%2093.678-32.601%2067.503-92.158%2089.79-123.596%2091.04z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2047.62h99.605M4.883%20145.497h100.981M298.57%2099.219h81.07%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20x=%22129.011%22%20y=%22115.285%22%20font-size=%2258.24%22%20font-weight=%22400%22%20style=%22line-height:125%25%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20transform=%22translate(0%20.329)%22%3E%3Ctspan%20x=%22129.011%22%20y=%22115.285%22%20font-weight=%22700%22%3EXOR%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M54.321%20188.368s30.345-42.538%2031.086-94.03c.742-51.49-31.821-90.294-31.821-90.294%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ + }, { - "id": "18c2ebc7-5152-439c-9b3f-851c59bac834", - "type": "basic.input", + "id": "e2589574-b6cc-4faf-8e69-3d23248bcba2", + "type": "basic.inputLabel", "data": { - "name": "" + "name": "a1", + "range": "[7:0]", + "pins": [ + { + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia", + "blockColor": "deeppink" }, "position": { - "x": 64, - "y": 88 + "x": 40, + "y": -608 } }, { - "id": "664caf9e-5f40-4df4-800a-b626af702e62", - "type": "basic.output", + "id": "10ec9fec-863a-417a-ad84-528db337fb64", + "type": "basic.input", "data": { - "name": "" + "name": "", + "range": "[19:0]", + "clock": false, + "size": 20 }, "position": { - "x": 784, - "y": 152 + "x": -488, + "y": -608 } }, { - "id": "97b51945-d716-4b6c-9db9-970d08541249", - "type": "basic.input", + "id": "4743defe-36c0-40a2-aaf0-188272583034", + "type": "basic.outputLabel", "data": { - "name": "" + "name": "b1", + "range": "[7:0]", + "blockColor": "fuchsia", + "size": 8 }, "position": { - "x": 64, - "y": 224 + "x": 392, + "y": -560 } }, { - "id": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "type": "basic.code", + "id": "6736a55c-7818-4da9-9c1a-f57200ad2526", + "type": "basic.inputLabel", "data": { - "code": "//-- Puerta XOR\n\n//-- module xor (input wire a, input wire b,\n//-- output wire c);\n\nassign c = a ^ b;\n\n//-- endmodule", - "params": [], - "ports": { - "in": [ - { - "name": "a" - }, - { - "name": "b" - } - ], - "out": [ - { - "name": "c" - } - ] - } - }, - "position": { - "x": 256, - "y": 48 - }, - "size": { - "width": 464, - "height": 272 - } - } - ], - "wires": [ - { - "source": { - "block": "18c2ebc7-5152-439c-9b3f-851c59bac834", - "port": "out" - }, - "target": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "a" - } - }, - { - "source": { - "block": "97b51945-d716-4b6c-9db9-970d08541249", - "port": "out" - }, - "target": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "b" - } - }, - { - "source": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "c" - }, - "target": { - "block": "664caf9e-5f40-4df4-800a-b626af702e62", - "port": "in" - } - } - ] - } - } - }, - "5539ec808ddc65a96d5da8d44290e4da16a256b8": { - "package": { - "name": "Debouncer-x01", - "version": "1.0.0", - "description": "Remove the rebound on a mechanical switch", - "author": "Juan González", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-252%20400.9%2090%2040%22%3E%3Cpath%20d=%22M-251.547%20436.672h22.802v-30.353h5.862v30.353h5.259v-30.353h3.447v30.353h2.984v-30.353h3.506v30.523h6.406V405.77h38.868%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%221.4%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M-232.57%20403.877l26.946%2032.391M-205.624%20403.877l-26.946%2032.391%22%20fill=%22none%22%20stroke=%22red%22%20stroke-width=%223%22%20stroke-linecap=%22round%22/%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "4bf41c17-a2da-4140-95f7-2a80d51b1e1a", - "type": "basic.input", - "data": { - "name": "", - "clock": true - }, - "position": { - "x": -376, - "y": -656 - } - }, - { - "id": "a0474543-ff59-4f6f-8d2e-3993d79c13de", - "type": "basic.inputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", + "name": "a0", + "range": "[7:0]", "pins": [ + { + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, { "index": "0", "name": "", "value": "" } ], - "virtual": true + "virtual": true, + "oldBlockColor": "fuchsia", + "blockColor": "deeppink" }, "position": { - "x": -224, - "y": -656 + "x": -160, + "y": -512 } }, { - "id": "22ff3fa1-943b-4d1a-bd89-36e1c054d077", - "type": "basic.output", + "id": "7d042e3c-08e0-4027-ba97-6f6143ac0b7e", + "type": "basic.outputLabel", "data": { - "name": "" + "name": "a0", + "range": "[7:0]", + "blockColor": "deeppink", + "size": 8 }, "position": { - "x": 952, - "y": -600 + "x": 224, + "y": -448 } }, { - "id": "20d06e62-fd81-4956-b93c-ade0e616fb98", + "id": "7114cf32-af2c-438f-b816-1043a8bd819d", "type": "basic.outputLabel", "data": { + "name": "b0", + "range": "[7:0]", "blockColor": "fuchsia", - "name": "out" + "size": 8 }, "position": { - "x": 816, - "y": -600 + "x": 224, + "y": -384 } }, { - "id": "c9e1af2a-6f09-4cf6-a5b3-fdf7ec2c6530", - "type": "basic.input", + "id": "f62b9e82-b3fd-4c5a-a557-83cd59d38253", + "type": "basic.inputLabel", "data": { - "name": "", - "clock": false + "name": "b2", + "range": "[3:0]", + "pins": [ + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "blockColor": "fuchsia" }, "position": { - "x": -376, - "y": -584 + "x": 24, + "y": -368 } }, { - "id": "b0e427bd-ce26-43b5-9d61-685f1c1ab922", + "id": "a3761c9e-14ee-47ef-95f0-ddbb132ba6cf", "type": "basic.inputLabel", "data": { - "blockColor": "fuchsia", - "name": "in", + "name": "b1", + "range": "[7:0]", "pins": [ + { + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, { "index": "0", - "name": "NULL", - "value": "NULL" + "name": "", + "value": "" } ], - "virtual": true + "virtual": true, + "blockColor": "fuchsia" }, "position": { - "x": -224, - "y": -584 + "x": 24, + "y": -296 } }, { - "id": "d8572528-e0db-413c-a4ff-64d8cfee021d", - "type": "basic.outputLabel", + "id": "c7cabb03-f5e2-4e4d-a1f1-166dfb0fdd43", + "type": "basic.input", "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" + "name": "", + "range": "[19:0]", + "clock": false, + "size": 20 }, "position": { - "x": -32, - "y": -448 + "x": -496, + "y": -240 } }, { - "id": "5d12a177-7618-4517-9067-3012f7cb42ce", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 552, - "y": -440 - } - }, - { - "id": "2f1050dd-a720-4ede-890e-612ce370ba61", + "id": "a7cd6890-7130-4f25-9966-b5ca1132d597", "type": "basic.inputLabel", "data": { - "blockColor": "fuchsia", - "name": "out", + "name": "b0", + "range": "[7:0]", "pins": [ + { + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, { "index": "0", - "name": "NULL", - "value": "NULL" + "name": "", + "value": "" } ], "virtual": true, - "oldBlockColor": "fuchsia" + "blockColor": "fuchsia" }, "position": { - "x": 840, - "y": -352 + "x": -160, + "y": -224 } }, { - "id": "ba86528a-72e9-40f7-a1e6-c2e684026c24", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "in", - "oldBlockColor": "fuchsia" - }, + "id": "64c3574b-3227-40ab-ab03-c2e2af710a45", + "type": "cb23aa3d8a3e95bd194fd9ec9b9c40b36595d893", "position": { - "x": -32, - "y": -336 - } - }, - { - "id": "c1243e04-edbf-4cc6-9d85-f7bf35ac1dae", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" + "x": 392, + "y": -432 }, - "position": { - "x": 384, - "y": -288 + "size": { + "width": 96, + "height": 64 } }, { - "id": "cc581727-73de-451c-849d-eb5e8387f0e4", - "type": "c8cfbaa5ea9096f681e8acf2ca239f06275f5db2", + "id": "0857be54-1eea-4619-841f-b1bb49aa66d0", + "type": "c3c498191b14e9288a85fa2871b3966665f75475", "position": { - "x": 120, - "y": -352 + "x": 560, + "y": -576 }, "size": { "width": 96, - "height": 64 + "height": 96 } }, { - "id": "e4164124-c993-47b5-a746-809a3e625f53", - "type": "b70dd9c39fe3c51faff4233d2dde462fc53c7e38", + "id": "17bd7ef3-6604-48a9-9c2e-50a8be908636", + "type": "8cc49c9b29485f2cfeab6064d7bb1cf9ced045b1", "position": { - "x": 248, - "y": -176 + "x": 800, + "y": -520 }, "size": { "width": 96, @@ -2532,35 +2401,35 @@ } }, { - "id": "3c0a5e86-2068-4aef-8ad9-34d39461ddfe", - "type": "93adf61bc489d9a96a344d3f2600237e9e19c607", + "id": "eb462252-c746-424c-9847-aa12833473de", + "type": "0f6c392fd18934000cbfa24f7cb7eab931e7c1b2", "position": { - "x": 704, - "y": -368 + "x": -336, + "y": -240 }, "size": { "width": 96, - "height": 96 + "height": 64 } }, { - "id": "c8bd0542-c3ff-484b-80b0-b883c1df77e5", - "type": "8d4ef5a2cf273f2265401931a99a46e9dc224688", + "id": "ff9ed4d1-32ff-420c-9f6e-6b96af0b2102", + "type": "c97ea62c7e57797474a81bca730a1b2bec259617", "position": { - "x": 520, - "y": -192 + "x": -160, + "y": -312 }, "size": { "width": 96, - "height": 96 + "height": 64 } }, { - "id": "c287e056-90e6-46b6-b1fa-5f8abba12518", - "type": "725b7e2cb9666b5ed3183537d9c898f096dab82a", + "id": "1703f5b9-4ad0-41f0-9183-b17efbcd53ed", + "type": "0f6c392fd18934000cbfa24f7cb7eab931e7c1b2", "position": { - "x": 384, - "y": -96 + "x": -328, + "y": -608 }, "size": { "width": 96, @@ -2568,1744 +2437,1520 @@ } }, { - "id": "5a74cbea-0212-467b-8391-9740d50c3a18", - "type": "basic.info", - "data": { - "info": "Previous input \nvalue", - "readonly": true - }, + "id": "1803dbec-e808-45a7-9d09-65dc654c9108", + "type": "c97ea62c7e57797474a81bca730a1b2bec259617", "position": { - "x": 128, - "y": -408 + "x": -128, + "y": -624 }, "size": { - "width": 136, - "height": 56 + "width": 96, + "height": 64 } }, { - "id": "1be0ed57-ae41-4ca5-a8c0-3d70585336a6", - "type": "basic.info", - "data": { - "info": "Current input \nvalue", - "readonly": true - }, + "id": "270340c2-6f0f-4f3f-879a-df92a0666cf2", + "type": "a1ce303b8ce47a06371ea4641c81460f34a1cca9", "position": { - "x": 88, - "y": -112 + "x": 744, + "y": -768 }, "size": { - "width": 136, - "height": 56 + "width": 96, + "height": 96 } }, { - "id": "dc34c3ef-e05e-4431-b7eb-dbb8ac883d6c", - "type": "basic.info", - "data": { - "info": "There is a change \non the input", - "readonly": true - }, + "id": "323a770f-e07e-467f-bfd8-57f25a4e1475", + "type": "decca3cf2b9498594a9c2a30320829ba70f6fabb", "position": { - "x": 360, - "y": -200 + "x": 976, + "y": -616 }, "size": { - "width": 152, - "height": 56 + "width": 96, + "height": 64 } - }, + } + ], + "wires": [ { - "id": "cabf3c3d-a707-4e06-be9a-4a66817c7a26", - "type": "basic.info", - "data": { - "info": "Whenever there is a change in \nthe input, the counter is started", - "readonly": true + "source": { + "block": "eb462252-c746-424c-9847-aa12833473de", + "port": "b4a2e85c-b31d-4363-be79-79d23492dd85", + "size": 8 }, - "position": { - "x": 528, - "y": -88 + "target": { + "block": "a7cd6890-7130-4f25-9966-b5ca1132d597", + "port": "inlabel" }, - "size": { - "width": 288, - "height": 56 - } + "size": 8 }, { - "id": "6dcd32b7-40bd-433d-a1e2-222636c19f2f", - "type": "basic.info", - "data": { - "info": "If the counter reaches it maximum \nvalue, the input is considered stable \nand it is captured", - "readonly": true + "source": { + "block": "7114cf32-af2c-438f-b816-1043a8bd819d", + "port": "outlabel" }, - "position": { - "x": 720, - "y": -456 + "target": { + "block": "64c3574b-3227-40ab-ab03-c2e2af710a45", + "port": "63477487-9493-4058-a7e1-9bab443ec466", + "size": 8 }, - "size": { - "width": 304, - "height": 72 - } + "size": 8 }, { - "id": "5ee60a84-8e65-49de-9b87-5afd9770b5a3", - "type": "basic.info", - "data": { - "info": "### Time calculation\n\nFor CLK=12MHZ, a 16-bit counter reaches its \nmaximum every 2 ** 16 * 1/F = 5.5ms aprox \nIF more time is needed for debouncing, \nuse a counter with more bits (17, 18...)", - "readonly": true + "source": { + "block": "7d042e3c-08e0-4027-ba97-6f6143ac0b7e", + "port": "outlabel" }, - "position": { - "x": 432, - "y": -640 + "target": { + "block": "64c3574b-3227-40ab-ab03-c2e2af710a45", + "port": "b4b08c4b-8eb1-4cd3-a1bf-a45bf7177ed3", + "size": 8 }, - "size": { - "width": 360, - "height": 120 - } + "size": 8 }, { - "id": "f998abd9-dfc8-42d4-8816-c89f07a61e6f", - "type": "basic.info", - "data": { - "info": "## Debouncer \n\nA value is considered stable when \nthere is no changes during 5.5ms \naprox. When a value is stable it is \ncaptured on the output flip-flop", - "readonly": true + "source": { + "block": "4f2c77a9-f54e-4c7e-b1b8-d1739ea521c7", + "port": "outlabel" }, - "position": { - "x": -8, - "y": -648 + "target": { + "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", + "port": "4bf17d89-89b8-4524-800a-2d15f9bbb111", + "size": 8 }, - "size": { - "width": 312, - "height": 128 - } + "size": 8 }, { - "id": "ababfa12-265a-4c7c-a482-8ed44cf9171c", - "type": "basic.info", - "data": { - "info": "Stable output", - "readonly": true + "source": { + "block": "4743defe-36c0-40a2-aaf0-188272583034", + "port": "outlabel" }, - "position": { - "x": 880, - "y": -280 + "target": { + "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", + "port": "3867504b-f331-4e0e-b923-acc86cb4255c", + "size": 8 }, - "size": { - "width": 136, - "height": 40 - } + "size": 8 }, { - "id": "656df089-b248-432e-b6b5-ecd4bb5cc8eb", - "type": "basic.info", - "data": { - "info": "Counter", - "readonly": true + "source": { + "block": "ff9ed4d1-32ff-420c-9f6e-6b96af0b2102", + "port": "99e7399f-ce06-4f67-ae35-0b9a6785d60e", + "size": 8 }, - "position": { - "x": 536, - "y": -232 + "target": { + "block": "a3761c9e-14ee-47ef-95f0-ddbb132ba6cf", + "port": "inlabel" }, - "size": { - "width": 96, - "height": 40 - } - } - ], - "wires": [ + "size": 8 + }, { "source": { - "block": "4bf41c17-a2da-4140-95f7-2a80d51b1e1a", - "port": "out" + "block": "ff9ed4d1-32ff-420c-9f6e-6b96af0b2102", + "port": "9a0bd20b-0206-4f0e-b07d-e96696b705c5", + "size": 4 }, "target": { - "block": "a0474543-ff59-4f6f-8d2e-3993d79c13de", + "block": "f62b9e82-b3fd-4c5a-a557-83cd59d38253", "port": "inlabel" - } + }, + "size": 4 }, { "source": { - "block": "d8572528-e0db-413c-a4ff-64d8cfee021d", - "port": "outlabel" + "block": "1703f5b9-4ad0-41f0-9183-b17efbcd53ed", + "port": "b4a2e85c-b31d-4363-be79-79d23492dd85", + "size": 8 }, "target": { - "block": "cc581727-73de-451c-849d-eb5e8387f0e4", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" - } + "block": "6736a55c-7818-4da9-9c1a-f57200ad2526", + "port": "inlabel" + }, + "size": 8 }, { "source": { - "block": "5d12a177-7618-4517-9067-3012f7cb42ce", + "block": "1803dbec-e808-45a7-9d09-65dc654c9108", + "port": "99e7399f-ce06-4f67-ae35-0b9a6785d60e", + "size": 8 + }, + "target": { + "block": "e2589574-b6cc-4faf-8e69-3d23248bcba2", + "port": "inlabel" + }, + "size": 8 + }, + { + "source": { + "block": "1803dbec-e808-45a7-9d09-65dc654c9108", + "port": "9a0bd20b-0206-4f0e-b07d-e96696b705c5", + "size": 4 + }, + "target": { + "block": "8a04b594-7cc1-4376-a931-fd06de691765", + "port": "inlabel" + }, + "size": 4 + }, + { + "source": { + "block": "953bb56e-7062-4133-a3b8-a2b4a99eefee", "port": "outlabel" }, "target": { - "block": "3c0a5e86-2068-4aef-8ad9-34d39461ddfe", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" - } + "block": "270340c2-6f0f-4f3f-879a-df92a0666cf2", + "port": "d192d0af-e7be-4be6-925a-50227d80784c", + "size": 4 + }, + "size": 4 }, { "source": { - "block": "c1243e04-edbf-4cc6-9d85-f7bf35ac1dae", + "block": "5db88ba9-4815-4306-a0bd-011a04320d43", "port": "outlabel" }, "target": { - "block": "c8bd0542-c3ff-484b-80b0-b883c1df77e5", - "port": "c90da543-4b9c-4f4c-a5fa-7e1166ee1dd3" - } + "block": "270340c2-6f0f-4f3f-879a-df92a0666cf2", + "port": "c2d36218-be99-4dd1-bf69-7690c667255b", + "size": 4 + }, + "size": 4 }, { "source": { - "block": "c9e1af2a-6f09-4cf6-a5b3-fdf7ec2c6530", - "port": "out" + "block": "64c3574b-3227-40ab-ab03-c2e2af710a45", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "b0e427bd-ce26-43b5-9d61-685f1c1ab922", - "port": "inlabel" + "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", + "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" } }, { "source": { - "block": "ba86528a-72e9-40f7-a1e6-c2e684026c24", - "port": "outlabel" + "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", + "port": "9daaaf78-5a89-4d4a-a1b2-db1d3af962f1" }, "target": { - "block": "cc581727-73de-451c-849d-eb5e8387f0e4", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" - } + "block": "17bd7ef3-6604-48a9-9c2e-50a8be908636", + "port": "5a35cd57-1006-4f6d-b263-5b977e9ef142" + }, + "size": 8 }, { "source": { - "block": "ba86528a-72e9-40f7-a1e6-c2e684026c24", - "port": "outlabel" + "block": "64c3574b-3227-40ab-ab03-c2e2af710a45", + "port": "dc2d9a2c-9ee9-4985-a678-d88c89fd8b74" }, "target": { - "block": "e4164124-c993-47b5-a746-809a3e625f53", - "port": "97b51945-d716-4b6c-9db9-970d08541249" - } + "block": "17bd7ef3-6604-48a9-9c2e-50a8be908636", + "port": "38fdb02d-4323-4a34-9ffe-8385f844b660" + }, + "size": 8 }, { "source": { - "block": "3c0a5e86-2068-4aef-8ad9-34d39461ddfe", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + "block": "eb462252-c746-424c-9847-aa12833473de", + "port": "865e30d6-1832-4a16-a2b5-6bf334df5cf4" }, "target": { - "block": "2f1050dd-a720-4ede-890e-612ce370ba61", - "port": "inlabel" - } + "block": "ff9ed4d1-32ff-420c-9f6e-6b96af0b2102", + "port": "46011ec6-127b-4e6b-83ca-aed5b18ae4d0" + }, + "size": 12 }, { "source": { - "block": "20d06e62-fd81-4956-b93c-ade0e616fb98", - "port": "outlabel" + "block": "c7cabb03-f5e2-4e4d-a1f1-166dfb0fdd43", + "port": "out" }, "target": { - "block": "22ff3fa1-943b-4d1a-bd89-36e1c054d077", - "port": "in" - } + "block": "eb462252-c746-424c-9847-aa12833473de", + "port": "6a8347bb-e6ee-494a-87c8-277445460362" + }, + "size": 20 }, { "source": { - "block": "cc581727-73de-451c-849d-eb5e8387f0e4", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + "block": "10ec9fec-863a-417a-ad84-528db337fb64", + "port": "out" }, "target": { - "block": "e4164124-c993-47b5-a746-809a3e625f53", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "block": "1703f5b9-4ad0-41f0-9183-b17efbcd53ed", + "port": "6a8347bb-e6ee-494a-87c8-277445460362" }, - "vertices": [] + "size": 20 }, { "source": { - "block": "cc581727-73de-451c-849d-eb5e8387f0e4", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + "block": "1703f5b9-4ad0-41f0-9183-b17efbcd53ed", + "port": "865e30d6-1832-4a16-a2b5-6bf334df5cf4" }, "target": { - "block": "3c0a5e86-2068-4aef-8ad9-34d39461ddfe", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + "block": "1803dbec-e808-45a7-9d09-65dc654c9108", + "port": "46011ec6-127b-4e6b-83ca-aed5b18ae4d0" }, - "vertices": [] + "size": 12 }, { "source": { - "block": "c8bd0542-c3ff-484b-80b0-b883c1df77e5", - "port": "cc17ff4d-1c27-4dc3-a14c-da730d54750e" + "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "3c0a5e86-2068-4aef-8ad9-34d39461ddfe", - "port": "4e3677f4-ae08-4a6f-80a7-ec71cd0c24b7" + "block": "270340c2-6f0f-4f3f-879a-df92a0666cf2", + "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" + } + }, + { + "source": { + "block": "270340c2-6f0f-4f3f-879a-df92a0666cf2", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, - "vertices": [] + "target": { + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" + } }, { "source": { - "block": "e4164124-c993-47b5-a746-809a3e625f53", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "270340c2-6f0f-4f3f-879a-df92a0666cf2", + "port": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42" }, "target": { - "block": "c8bd0542-c3ff-484b-80b0-b883c1df77e5", - "port": "743b5299-2d89-4783-b7c9-12a5b36df406" + "block": "323a770f-e07e-467f-bfd8-57f25a4e1475", + "port": "b54d5820-5a61-4527-87ba-b3ec0c5edc82" }, - "vertices": [] + "size": 4 }, { "source": { - "block": "c287e056-90e6-46b6-b1fa-5f8abba12518", - "port": "3d584b0a-29eb-47af-8c43-c0822282ef05" + "block": "17bd7ef3-6604-48a9-9c2e-50a8be908636", + "port": "79c56f9a-597f-491e-b1d1-d321f63303c2" }, "target": { - "block": "c8bd0542-c3ff-484b-80b0-b883c1df77e5", - "port": "26aba23f-8567-4e9b-bd45-c26724030f33" + "block": "323a770f-e07e-467f-bfd8-57f25a4e1475", + "port": "c4ca0e6a-6557-45ee-8363-1bffebaad486" }, - "vertices": [] + "size": 16 + }, + { + "source": { + "block": "323a770f-e07e-467f-bfd8-57f25a4e1475", + "port": "49d4333f-b5a4-459c-8469-232e5e95d956" + }, + "target": { + "block": "61c0c845-bdd7-4f77-987f-049ce228f9fb", + "port": "in" + }, + "size": 20 } ] } } }, - "93adf61bc489d9a96a344d3f2600237e9e19c607": { + "cb23aa3d8a3e95bd194fd9ec9b9c40b36595d893": { "package": { - "name": "Reg-1bit", + "name": "Adder-8bits", "version": "0.1", - "description": "1bit register (implemented in verilog)", + "description": "Adder-8bits: Adder of two operands of 8 bits", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22216.379%22%20height=%22279.911%22%20viewBox=%220%200%2057.25032%2074.059853%22%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M41.506%2040.152l13.608%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M34.122%2032.088L24.89%2012.475l-6.45%203.724-2.07-3.583L37.276.546l2.07%203.584-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.772L33.017%2045.02s-2.849-3.695-2.16-6.795c.687-3.1%203.265-6.137%203.265-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20transform=%22translate(-93.518%20-22.665)%20scale(1.09073)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20cx=%22100.602%22%20cy=%2273.815%22%20r=%2214.559%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/svg%3E" + "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618560481898 }, "design": { "graph": { "blocks": [ { - "id": "3943e194-090b-4553-9df3-88bc4b17abc2", - "type": "basic.input", + "id": "1c85838b-e269-4a65-a112-0a1bbca9b2a1", + "type": "basic.inputLabel", "data": { - "name": "", - "clock": true + "name": "a1", + "range": "[3:0]", + "pins": [ + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia", + "blockColor": "deeppink" }, "position": { - "x": 216, - "y": 104 + "x": 16, + "y": -688 } }, { - "id": "bf2f0c53-2d04-4cba-aa70-2df85502d24f", - "type": "basic.input", + "id": "d01b9c0c-a541-49e6-b5aa-a0c0f21612a0", + "type": "basic.outputLabel", "data": { - "name": "d", - "clock": false - }, - "position": { - "x": 216, - "y": 192 - } - }, - { - "id": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78", - "type": "basic.output", - "data": { - "name": "" + "name": "a1", + "range": "[3:0]", + "oldBlockColor": "fuchsia", + "blockColor": "deeppink", + "size": 4 }, "position": { - "x": 728, - "y": 192 + "x": 352, + "y": -664 } }, { - "id": "4e3677f4-ae08-4a6f-80a7-ec71cd0c24b7", + "id": "b4b08c4b-8eb1-4cd3-a1bf-a45bf7177ed3", "type": "basic.input", - "data": { - "name": "load", - "clock": false - }, - "position": { - "x": 240, - "y": 320 - } - }, - { - "id": "65194b18-5d2a-41b2-bd86-01be99978ad6", - "type": "basic.constant", "data": { "name": "", - "value": "0", - "local": false + "range": "[7:0]", + "clock": false, + "size": 8 }, "position": { - "x": 472, - "y": 56 + "x": -312, + "y": -632 } }, { - "id": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "type": "basic.code", + "id": "f3b83846-5723-40b3-a598-fd21797f7ce1", + "type": "basic.inputLabel", "data": { - "code": "reg q = INI;\n\nalways @(posedge clk)\n if (load)\n q <= d;", - "params": [ + "name": "a0", + "range": "[3:0]", + "pins": [ { - "name": "INI" + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" } ], - "ports": { - "in": [ - { - "name": "clk" - }, - { - "name": "d" - }, - { - "name": "load" - } - ], - "out": [ - { - "name": "q" - } - ] - } + "virtual": true, + "oldBlockColor": "fuchsia", + "blockColor": "deeppink" }, "position": { - "x": 384, - "y": 168 - }, - "size": { - "width": 272, - "height": 104 + "x": 16, + "y": -616 } }, { - "id": "3df131d9-1f78-4d88-bd06-bcbe95855d01", - "type": "basic.info", + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", "data": { - "info": "Initial value", - "readonly": true + "name": "c" }, "position": { - "x": 480, - "y": 48 - }, - "size": { - "width": 136, - "height": 32 - } - } - ], - "wires": [ - { - "source": { - "block": "3943e194-090b-4553-9df3-88bc4b17abc2", - "port": "out" - }, - "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "clk" + "x": 960, + "y": -608 } }, { - "source": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "q" + "id": "fb36b075-bb31-4aa7-8dbd-f0d108126f21", + "type": "basic.outputLabel", + "data": { + "name": "b1", + "range": "[3:0]", + "blockColor": "fuchsia", + "size": 4 }, - "target": { - "block": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78", - "port": "in" + "position": { + "x": 352, + "y": -584 } }, { - "source": { - "block": "65194b18-5d2a-41b2-bd86-01be99978ad6", - "port": "constant-out" + "id": "dc2d9a2c-9ee9-4985-a678-d88c89fd8b74", + "type": "basic.output", + "data": { + "name": "s", + "range": "[7:0]", + "size": 8 }, - "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "INI" + "position": { + "x": 960, + "y": -544 } }, { - "source": { - "block": "bf2f0c53-2d04-4cba-aa70-2df85502d24f", - "port": "out" + "id": "6de2e227-2992-41fb-a52e-16e86632cd2c", + "type": "basic.outputLabel", + "data": { + "name": "a0", + "range": "[3:0]", + "oldBlockColor": "fuchsia", + "blockColor": "deeppink", + "size": 4 }, - "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "d" + "position": { + "x": 184, + "y": -472 } }, { - "source": { - "block": "4e3677f4-ae08-4a6f-80a7-ec71cd0c24b7", - "port": "out" - }, - "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "load" - } - } - ] - } - } - }, - "8d4ef5a2cf273f2265401931a99a46e9dc224688": { - "package": { - "name": "Contador-16bits-up-rst", - "version": "0.1", - "description": "Contador módulo M, ascendente, de 16 bits, con reset ", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22327.118%22%20height=%22304.435%22%20viewBox=%220%200%2086.549973%2080.548402%22%3E%3Cdefs%3E%3Cmarker%20id=%22a%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20fill=%22#00f%22%20fill-rule=%22evenodd%22%20stroke=%22#00f%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3C/defs%3E%3Cg%20transform=%22translate(-59.162%20-4.54)%22%3E%3Cpath%20d=%22M138.803%2048.49V16.91%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%222.806%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20marker-end=%22url(#a)%22/%3E%3Crect%20rx=%222.807%22%20ry=%222.807%22%20y=%225.289%22%20x=%2299.747%22%20height=%2247.849%22%20width=%2229.538%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%221.497%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%2240.921%22%20x=%22108.575%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%228.982%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%221.497%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2240.921%22%20x=%22108.575%22%20font-weight=%22700%22%20font-size=%2235.656%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M100.868%2030.283h27.764%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%222.245%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20rx=%222.807%22%20ry=%222.807%22%20y=%225.289%22%20x=%2266.333%22%20height=%2247.849%22%20width=%2229.538%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%221.497%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%2240.921%22%20x=%2273.223%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%228.982%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%221.497%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2240.921%22%20x=%2273.223%22%20font-weight=%22700%22%20font-size=%2235.656%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M67.454%2030.283h27.764%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%222.245%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22matrix(1.00937%200%200%201.00937%20-27.38%20-4.42)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(1.00937%200%200%201.00937%2028.939%20-4.42)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "c90da543-4b9c-4f4c-a5fa-7e1166ee1dd3", - "type": "basic.input", + "id": "d5b2605b-a224-4d60-896b-d1553fd943e1", + "type": "basic.inputLabel", "data": { - "name": "", - "clock": true + "name": "b1", + "range": "[3:0]", + "pins": [ + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "blockColor": "fuchsia" }, "position": { - "x": 264, - "y": 176 + "x": 8, + "y": -440 } }, { - "id": "bc20f3e9-fdc2-457f-9c07-6d609142c689", - "type": "basic.output", + "id": "e3beef79-c05d-4705-8dbc-de5b7b94941a", + "type": "basic.outputLabel", "data": { - "name": "", - "range": "[15:0]", - "size": 16 + "name": "b0", + "range": "[3:0]", + "blockColor": "fuchsia", + "size": 4 }, "position": { - "x": 800, - "y": 200 + "x": 184, + "y": -408 } }, { - "id": "743b5299-2d89-4783-b7c9-12a5b36df406", + "id": "63477487-9493-4058-a7e1-9bab443ec466", "type": "basic.input", "data": { - "name": "rst", - "clock": false + "name": "", + "range": "[7:0]", + "clock": false, + "size": 8 }, "position": { - "x": 264, - "y": 280 + "x": -320, + "y": -384 } }, { - "id": "cc17ff4d-1c27-4dc3-a14c-da730d54750e", - "type": "basic.output", + "id": "df32424c-55e8-45ed-9adc-3d8bb146e3e0", + "type": "basic.inputLabel", "data": { - "name": "ov" - }, - "position": { - "x": 800, - "y": 352 + "name": "b0", + "range": "[3:0]", + "pins": [ + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "blockColor": "fuchsia" + }, + "position": { + "x": 8, + "y": -368 } }, { - "id": "26aba23f-8567-4e9b-bd45-c26724030f33", - "type": "basic.input", - "data": { - "name": "cnt", - "clock": false - }, + "id": "6781108b-d67f-4ee8-97a9-79bab2c400b1", + "type": "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a", "position": { - "x": 264, - "y": 376 + "x": -168, + "y": -384 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "eb9f9c33-e717-43f0-98eb-dbd9c278fa8c", - "type": "basic.constant", - "data": { - "name": "", - "value": "'h10000", - "local": false - }, + "id": "ffcdd533-6cad-4ba4-9f88-4b1030d78af8", + "type": "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a", "position": { - "x": 528, - "y": 48 + "x": -152, + "y": -632 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "b35ae5de-a490-4f7b-9200-ac52cd3f333e", - "type": "basic.info", - "data": { - "info": "**Parámetro**: Módulo del contador", - "readonly": true - }, + "id": "7b82019f-c8a7-4b8c-baa1-6eb224a95cb2", + "type": "25966b9480fc28011aea0e17452c30d5ff9d76e8", "position": { - "x": 472, - "y": 32 + "x": 352, + "y": -456 }, "size": { - "width": 280, - "height": 56 + "width": 96, + "height": 64 } }, { - "id": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", - "type": "basic.code", - "data": { - "code": "//-- Numero de bits del contador\nlocalparam N = 16; \n\n//-- En contadores de N bits:\n//-- M = 2 ** N\n\n//-- Internamente usamos un bit mas\n//-- (N+1) bits\nreg [N:0] qi = 0;\n\nalways @(posedge clk)\n if (rst | ov)\n qi <= 0;\n else\n if (cnt)\n qi <= qi + 1;\n \nassign q = qi;\n\n//-- Comprobar overflow\nassign ov = (qi == M);\n ", - "params": [ - { - "name": "M" - } - ], - "ports": { - "in": [ - { - "name": "clk" - }, - { - "name": "rst" - }, - { - "name": "cnt" - } - ], - "out": [ - { - "name": "q", - "range": "[15:0]", - "size": 16 - }, - { - "name": "ov" - } - ] - } + "id": "b8a72421-dc14-4c18-b343-9c3516b37f54", + "type": "afb28fd5426aea14477d11cbe30a290679f789f8", + "position": { + "x": 760, + "y": -544 }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", + "type": "a1ce303b8ce47a06371ea4641c81460f34a1cca9", "position": { - "x": 408, - "y": 160 + "x": 520, + "y": -600 }, "size": { - "width": 336, - "height": 296 + "width": 96, + "height": 96 } } ], "wires": [ { "source": { - "block": "743b5299-2d89-4783-b7c9-12a5b36df406", - "port": "out" + "block": "6781108b-d67f-4ee8-97a9-79bab2c400b1", + "port": "eb61d084-ca22-4894-b8a2-f936db38f4b1", + "size": 4 }, "target": { - "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", - "port": "rst" - } + "block": "df32424c-55e8-45ed-9adc-3d8bb146e3e0", + "port": "inlabel" + }, + "size": 4 }, { "source": { - "block": "eb9f9c33-e717-43f0-98eb-dbd9c278fa8c", - "port": "constant-out" + "block": "6781108b-d67f-4ee8-97a9-79bab2c400b1", + "port": "637e64f4-0a6b-4037-9a75-89397e078a58", + "size": 4 }, "target": { - "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", - "port": "M" - } + "block": "d5b2605b-a224-4d60-896b-d1553fd943e1", + "port": "inlabel" + }, + "size": 4 }, { "source": { - "block": "26aba23f-8567-4e9b-bd45-c26724030f33", - "port": "out" + "block": "ffcdd533-6cad-4ba4-9f88-4b1030d78af8", + "port": "637e64f4-0a6b-4037-9a75-89397e078a58", + "size": 4 }, "target": { - "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", - "port": "cnt" - } + "block": "1c85838b-e269-4a65-a112-0a1bbca9b2a1", + "port": "inlabel" + }, + "size": 4 }, { "source": { - "block": "c90da543-4b9c-4f4c-a5fa-7e1166ee1dd3", - "port": "out" + "block": "ffcdd533-6cad-4ba4-9f88-4b1030d78af8", + "port": "eb61d084-ca22-4894-b8a2-f936db38f4b1", + "size": 4 }, "target": { - "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", - "port": "clk" - } + "block": "f3b83846-5723-40b3-a598-fd21797f7ce1", + "port": "inlabel" + }, + "size": 4 }, { "source": { - "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", - "port": "ov" + "block": "e3beef79-c05d-4705-8dbc-de5b7b94941a", + "port": "outlabel" }, "target": { - "block": "cc17ff4d-1c27-4dc3-a14c-da730d54750e", - "port": "in" - } + "block": "7b82019f-c8a7-4b8c-baa1-6eb224a95cb2", + "port": "d192d0af-e7be-4be6-925a-50227d80784c", + "size": 4 + }, + "size": 4 }, { "source": { - "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", - "port": "q" + "block": "6de2e227-2992-41fb-a52e-16e86632cd2c", + "port": "outlabel" }, "target": { - "block": "bc20f3e9-fdc2-457f-9c07-6d609142c689", - "port": "in" + "block": "7b82019f-c8a7-4b8c-baa1-6eb224a95cb2", + "port": "c2d36218-be99-4dd1-bf69-7690c667255b", + "size": 4 }, - "size": 16 - } - ] - } - } - }, - "725b7e2cb9666b5ed3183537d9c898f096dab82a": { - "package": { - "name": "1", - "version": "0.1", - "description": "Un bit constante a 1", - "author": "Jesus Arroyo", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2233.632%22%20height=%2269.34%22%20viewBox=%220%200%2031.530464%2065.006656%22%3E%3Cpath%20d=%22M3.517%2012.015L19%200l12.53%202.863-10.012%2043.262-9.746-2.227%207.7-34.532L8.03%2016.38z%22%20fill=%22green%22%20fill-rule=%22evenodd%22/%3E%3Cpath%20d=%22M17.593%2043.464l7.822%2010.472-6.56%207.919%202.27%202.043m-5.14-20.179l-4.542%2010.473-10.345%202.043.757%203.32%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%222.196%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ + "size": 4 + }, { - "id": "3d584b0a-29eb-47af-8c43-c0822282ef05", - "type": "basic.output", - "data": { - "name": "" + "source": { + "block": "fb36b075-bb31-4aa7-8dbd-f0d108126f21", + "port": "outlabel" }, - "position": { - "x": 512, - "y": 160 - } + "target": { + "block": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", + "port": "d192d0af-e7be-4be6-925a-50227d80784c", + "size": 4 + }, + "size": 4 }, { - "id": "61331ec5-2c56-4cdd-b607-e63b1502fa65", - "type": "basic.code", - "data": { - "code": "//-- Bit constante a 1\nassign q = 1'b1;\n\n", - "params": [], - "ports": { - "in": [], - "out": [ - { - "name": "q" - } - ] - } + "source": { + "block": "d01b9c0c-a541-49e6-b5aa-a0c0f21612a0", + "port": "outlabel" }, - "position": { - "x": 168, - "y": 112 + "target": { + "block": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", + "port": "c2d36218-be99-4dd1-bf69-7690c667255b", + "size": 4 }, - "size": { - "width": 256, - "height": 160 - } - } - ], - "wires": [ + "size": 4 + }, { "source": { - "block": "61331ec5-2c56-4cdd-b607-e63b1502fa65", - "port": "q" + "block": "63477487-9493-4058-a7e1-9bab443ec466", + "port": "out" }, "target": { - "block": "3d584b0a-29eb-47af-8c43-c0822282ef05", - "port": "in" - } - } - ] - } - } - }, - "c8ffff0c6db83755c69d6633413f8122e52a420c": { + "block": "6781108b-d67f-4ee8-97a9-79bab2c400b1", + "port": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e" + }, + "size": 8 + }, + { + "source": { + "block": "b4b08c4b-8eb1-4cd3-a1bf-a45bf7177ed3", + "port": "out" + }, + "target": { + "block": "ffcdd533-6cad-4ba4-9f88-4b1030d78af8", + "port": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e" + }, + "size": 8 + }, + { + "source": { + "block": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", + "port": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42" + }, + "target": { + "block": "b8a72421-dc14-4c18-b343-9c3516b37f54", + "port": "a1770adf-e143-4506-9d87-3cb9c870f534" + }, + "size": 4 + }, + { + "source": { + "block": "7b82019f-c8a7-4b8c-baa1-6eb224a95cb2", + "port": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42" + }, + "target": { + "block": "b8a72421-dc14-4c18-b343-9c3516b37f54", + "port": "843164ff-f7d8-48b9-bf59-1e0d1135c81f" + }, + "size": 4 + }, + { + "source": { + "block": "b8a72421-dc14-4c18-b343-9c3516b37f54", + "port": "1269698e-e555-4fcb-a613-cb4c7ff2e598" + }, + "target": { + "block": "dc2d9a2c-9ee9-4985-a678-d88c89fd8b74", + "port": "in" + }, + "size": 8 + }, + { + "source": { + "block": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + }, + "target": { + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" + } + }, + { + "source": { + "block": "7b82019f-c8a7-4b8c-baa1-6eb224a95cb2", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + }, + "target": { + "block": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", + "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" + } + } + ] + } + } + }, + "25966b9480fc28011aea0e17452c30d5ff9d76e8": { "package": { - "name": "Rising-edge-detector", + "name": "Adder-4bits", "version": "0.1", - "description": "Rising-edge detector. It generates a 1-period pulse (tic) when a rising edge is detected on the input", + "description": "Adder-4bits: Adder of two operands of 4 bits", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22185.363%22%20height=%22183.398%22%20viewBox=%220%200%2049.043981%2048.524089%22%3E%3Cg%20stroke-linecap=%22round%22%3E%3Cg%20fill=%22none%22%20stroke=%22#00f%22%3E%3Cpath%20d=%22M13.478%2032.434l6.026%207.975-5.054%206.03%201.749%201.556m-3.96-15.367l-3.5%207.976-7.97%201.555.583%202.529%22%20stroke-width=%221.058%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M12.773%2032.628V2.686%22%20stroke-width=%223.969%22/%3E%3Cpath%20d=%22M1.984%2012.436L12.673%201.984l10.35%2010.452%22%20stroke-width=%223.969%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(.842%200%200%20.842%20-48.178%20-26.157)%22%20stroke=%22green%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E" + "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618560481898 }, "design": { "graph": { "blocks": [ { - "id": "2708468d-1088-4570-be63-fb0d4799a941", - "type": "basic.input", + "id": "1c9b3962-5793-4e6f-98d4-9ca2113d0823", + "type": "basic.inputLabel", "data": { - "name": "", - "clock": true + "blockColor": "deeppink", + "name": "a3", + "pins": [ + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true, + "oldBlockColor": "deeppink" }, "position": { - "x": 152, - "y": 152 + "x": 8, + "y": -744 } }, { - "id": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", - "type": "basic.input", + "id": "161a3e27-de9b-4674-b990-c1e8314a29f3", + "type": "basic.outputLabel", "data": { - "name": "", - "clock": false + "blockColor": "deeppink", + "name": "a3", + "oldBlockColor": "deeppink" }, "position": { - "x": 152, - "y": 280 + "x": 576, + "y": -736 } }, { - "id": "1c25e08e-e664-4fab-9b30-cedc1f8a3739", + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", "type": "basic.output", "data": { - "name": "" + "name": "c" }, "position": { - "x": 840, - "y": 400 + "x": 920, + "y": -696 } }, { - "id": "71397c49-5476-4a34-a914-7ec7f07fbf10", - "type": "1c7dae7144d376f2ee4896fcc502a29110e2db37", - "position": { - "x": 320, - "y": 264 + "id": "73a0a48e-d345-4eda-8603-782e9865d928", + "type": "basic.inputLabel", + "data": { + "blockColor": "deeppink", + "name": "a2", + "pins": [ + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true, + "oldBlockColor": "deeppink" }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "dd46675b-cc63-4048-8a37-c684913c3514", - "type": "35f267d0df6ffcb7fc33753bc9df9cf083642cca", "position": { - "x": 552, - "y": 264 - }, - "size": { - "width": 96, - "height": 64 + "x": 8, + "y": -688 } }, { - "id": "5b898222-8c0c-4e10-8a92-2b8734c87693", - "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", - "position": { - "x": 696, - "y": 400 + "id": "05fb13c5-879a-422f-84a8-56d1db8816da", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "b3", + "oldBlockColor": "fuchsia" }, - "size": { - "width": 96, - "height": 64 + "position": { + "x": 576, + "y": -672 } }, { - "id": "49c0a94e-2687-4aa4-8cba-327b2942095f", - "type": "basic.info", + "id": "a30f87da-7077-4ad6-92dd-adbfdd1bed45", + "type": "basic.inputLabel", "data": { - "info": "## Rising edge detector\n\nIt generates a 1-period pulse (tic) when a rising edge is detected on the \ninput signal", - "readonly": true + "blockColor": "deeppink", + "name": "a1", + "pins": [ + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true, + "oldBlockColor": "deeppink" }, "position": { - "x": 176, - "y": -16 - }, - "size": { - "width": 568, - "height": 80 + "x": 8, + "y": -632 } }, { - "id": "a6ea5e17-d259-4272-8d1c-87a6a7fe3235", - "type": "basic.info", + "id": "c2d36218-be99-4dd1-bf69-7690c667255b", + "type": "basic.input", "data": { - "info": "Input signal", - "readonly": true + "name": "", + "range": "[3:0]", + "clock": false, + "size": 4 }, "position": { - "x": 160, - "y": 256 - }, - "size": { - "width": 136, - "height": 40 + "x": -312, + "y": -632 } }, { - "id": "d0d6c668-3c03-42f5-9244-9a0431f11a87", - "type": "basic.info", + "id": "ed7a30bc-17fc-444e-89e5-aa9f83b32e86", + "type": "basic.outputLabel", "data": { - "info": "System clock", - "readonly": true + "blockColor": "deeppink", + "name": "a2", + "oldBlockColor": "deeppink" }, "position": { - "x": 168, - "y": 120 - }, - "size": { - "width": 96, - "height": 48 + "x": 456, + "y": -584 } }, { - "id": "f18011f4-eb45-4f91-9716-c1d8c99f1845", - "type": "basic.info", + "id": "d7d5e8c8-78dd-41a8-aedf-1051b89bfb77", + "type": "basic.inputLabel", "data": { - "info": "Current signal \nstate", - "readonly": true + "blockColor": "deeppink", + "name": "a0", + "pins": [ + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia" }, "position": { - "x": 328, - "y": 456 - }, - "size": { - "width": 168, - "height": 48 + "x": 8, + "y": -576 } }, { - "id": "ab801839-c115-4e44-adb7-349586890b97", - "type": "basic.info", + "id": "3c8597e6-ca79-494a-9a53-04c284205216", + "type": "basic.outputLabel", "data": { - "info": "Signal state in the previous \nclock cycle", - "readonly": true + "blockColor": "fuchsia", + "name": "b2", + "oldBlockColor": "fuchsia" }, "position": { - "x": 328, - "y": 200 - }, - "size": { - "width": 248, - "height": 48 + "x": 456, + "y": -528 } }, { - "id": "fde5c436-d382-48e7-80b5-390c05f46b9d", - "type": "basic.info", + "id": "ee992ca6-d586-4901-aaa3-a17d94ddac84", + "type": "basic.inputLabel", "data": { - "info": "If the current signal is 1 and its value in \nthe previous clock cycle was 0, it means \nthat a rising edge has been detected! \nThe output es 1\n\nIn any other case the output is 0", - "readonly": true + "blockColor": "fuchsia", + "name": "b3", + "pins": [ + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia" }, "position": { - "x": 728, - "y": 256 - }, - "size": { - "width": 344, - "height": 96 + "x": -8, + "y": -448 } }, { - "id": "c3990bfd-57a6-4602-ab46-800486326dd6", - "type": "basic.info", + "id": "c5dce3e4-5ecc-4fc9-bbf6-7c1adfa1c7ff", + "type": "basic.outputLabel", "data": { - "info": "**Delay**: 0 clock cycles \n\nThere is no delay between the arrival of a rising edge \nand its detection", - "readonly": true + "blockColor": "deeppink", + "name": "a1", + "oldBlockColor": "fuchsia" }, "position": { - "x": 528, - "y": 504 - }, - "size": { - "width": 416, - "height": 88 - } - } - ], - "wires": [ - { - "source": { - "block": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", - "port": "out" - }, - "target": { - "block": "71397c49-5476-4a34-a914-7ec7f07fbf10", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" - } - }, - { - "source": { - "block": "2708468d-1088-4570-be63-fb0d4799a941", - "port": "out" - }, - "target": { - "block": "71397c49-5476-4a34-a914-7ec7f07fbf10", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" - } - }, - { - "source": { - "block": "71397c49-5476-4a34-a914-7ec7f07fbf10", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" - }, - "target": { - "block": "dd46675b-cc63-4048-8a37-c684913c3514", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "x": 328, + "y": -440 } }, { - "source": { - "block": "dd46675b-cc63-4048-8a37-c684913c3514", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "id": "fb8bbeb1-5c60-4629-bc13-231545818d0b", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "b2", + "pins": [ + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia" }, - "target": { - "block": "5b898222-8c0c-4e10-8a92-2b8734c87693", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "position": { + "x": -8, + "y": -384 } }, { - "source": { - "block": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", - "port": "out" + "id": "d192d0af-e7be-4be6-925a-50227d80784c", + "type": "basic.input", + "data": { + "name": "", + "range": "[3:0]", + "clock": false, + "size": 4 }, - "target": { - "block": "5b898222-8c0c-4e10-8a92-2b8734c87693", - "port": "97b51945-d716-4b6c-9db9-970d08541249" + "position": { + "x": -312, + "y": -384 } }, { - "source": { - "block": "5b898222-8c0c-4e10-8a92-2b8734c87693", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" - }, - "target": { - "block": "1c25e08e-e664-4fab-9b30-cedc1f8a3739", - "port": "in" - } - } - ] - } - } - }, - "1c7dae7144d376f2ee4896fcc502a29110e2db37": { - "package": { - "name": "DFF", - "version": "0.1", - "description": "D Flip-flop", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22156.57%22%20height=%22216.83%22%20viewBox=%220%200%2041.425941%2057.369679%22%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M25.682%2040.152L39.29%2056.824%2032.372%2036.29%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M18.298%2032.088L9.066%2012.475l-6.45%203.724-2.07-3.583L21.451.546%2023.52%204.13l-6.092%203.517%2012.03%2018.223s5.399-2.025%208.535.74c3.137%202.766%202.52%204.92%202.887%204.772L17.192%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "3943e194-090b-4553-9df3-88bc4b17abc2", - "type": "basic.input", + "id": "038a8cb8-35b8-424a-9d14-c320cfcddccf", + "type": "basic.outputLabel", "data": { - "name": "", - "clock": true + "blockColor": "fuchsia", + "name": "b1" }, "position": { - "x": 192, - "y": 136 + "x": 328, + "y": -376 } }, { - "id": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78", + "id": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42", "type": "basic.output", "data": { - "name": "" + "name": "s", + "range": "[3:0]", + "size": 4 }, "position": { - "x": 680, - "y": 184 + "x": 1064, + "y": -368 } }, { - "id": "bf2f0c53-2d04-4cba-aa70-2df85502d24f", - "type": "basic.input", + "id": "527c9113-e440-454b-b427-182b646c10f5", + "type": "basic.inputLabel", "data": { - "name": "", - "clock": false + "blockColor": "fuchsia", + "name": "b1", + "pins": [ + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true }, "position": { - "x": 192, - "y": 232 + "x": -16, + "y": -320 } }, { - "id": "65194b18-5d2a-41b2-bd86-01be99978ad6", - "type": "basic.constant", + "id": "f8dceaf6-6020-49e5-b775-ed4821fbd5bd", + "type": "basic.outputLabel", "data": { - "name": "", - "value": "0", - "local": false + "blockColor": "deeppink", + "name": "a0", + "oldBlockColor": "fuchsia" }, "position": { - "x": 456, - "y": 64 + "x": 184, + "y": -296 } }, { - "id": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "type": "basic.code", + "id": "b652825e-10ba-47cc-9832-e39d73586234", + "type": "basic.inputLabel", "data": { - "code": "reg q = INI;\nalways @(posedge clk)\n q <= d;", - "params": [ + "blockColor": "fuchsia", + "name": "b0", + "pins": [ { - "name": "INI" + "index": "0", + "name": "NULL", + "value": "NULL" } ], - "ports": { - "in": [ - { - "name": "clk" - }, - { - "name": "d" - } - ], - "out": [ - { - "name": "q" - } - ] - } + "virtual": true, + "oldBlockColor": "fuchsia" }, "position": { - "x": 384, - "y": 168 - }, - "size": { - "width": 232, - "height": 88 + "x": -32, + "y": -264 } - } - ], - "wires": [ + }, { - "source": { - "block": "3943e194-090b-4553-9df3-88bc4b17abc2", - "port": "out" + "id": "7e5351cc-ea73-4bb2-9dda-0390f005b90b", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "b0", + "oldBlockColor": "fuchsia" }, - "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "clk" + "position": { + "x": 184, + "y": -232 } }, { - "source": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "q" + "id": "e7d0a130-cf6b-4220-a06f-42543db0214f", + "type": "1ea21df64c18f01d8f4b905c437ccf0ca332baf6", + "position": { + "x": 320, + "y": -248 }, - "target": { - "block": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78", - "port": "in" + "size": { + "width": 96, + "height": 64 } }, { - "source": { - "block": "65194b18-5d2a-41b2-bd86-01be99978ad6", - "port": "constant-out" + "id": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", + "position": { + "x": 464, + "y": -392 }, - "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "INI" + "size": { + "width": 96, + "height": 96 } }, { - "source": { - "block": "bf2f0c53-2d04-4cba-aa70-2df85502d24f", - "port": "out" + "id": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", + "position": { + "x": 608, + "y": -544 }, - "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "d" + "size": { + "width": 96, + "height": 96 } - } - ] - } - } - }, - "35f267d0df6ffcb7fc33753bc9df9cf083642cca": { - "package": { - "name": "NOT", - "version": "1.0.3", - "description": "Puerta NOT", - "author": "Jesús Arroyo, Juan González", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22317.651%22%20height=%22194.058%22%20version=%221%22%3E%3Cpath%20d=%22M69.246%204l161.86%2093.027-161.86%2093.031V4z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20cx=%22253.352%22%20cy=%2296.736%22%20rx=%2221.393%22%20ry=%2221.893%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2097.49h65.262m205.796%200h38.48%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%2281.112%22%20y=%22111.734%22%20transform=%22scale(.99532%201.0047)%22%20font-weight=%22400%22%20font-size=%2249.675%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%2281.112%22%20y=%22111.734%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%3ENot%3C/tspan%3E%3C/text%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ + }, { - "id": "18c2ebc7-5152-439c-9b3f-851c59bac834", - "type": "basic.input", - "data": { - "name": "" - }, + "id": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "type": "c4f23ad05c2010ec9bd213c8814c9238873037ae", "position": { - "x": 64, - "y": 144 + "x": -168, + "y": -416 + }, + "size": { + "width": 96, + "height": 128 } }, { - "id": "664caf9e-5f40-4df4-800a-b626af702e62", - "type": "basic.output", - "data": { - "name": "" - }, + "id": "57e59301-2919-4f06-ba95-54ce5d99d774", + "type": "c4f23ad05c2010ec9bd213c8814c9238873037ae", "position": { - "x": 752, - "y": 144 + "x": -152, + "y": -664 + }, + "size": { + "width": 96, + "height": 128 } }, { - "id": "5365ed8c-e5db-4445-938f-8d689830ea5c", - "type": "basic.code", - "data": { - "code": "//-- Puerta NOT\n\n//-- module (input wire a, output wire c);\n\n\nassign c = ~a;\n\n\n//-- endmodule\n", - "params": [], - "ports": { - "in": [ - { - "name": "a" - } - ], - "out": [ - { - "name": "c" - } - ] - } + "id": "11342001-e6e0-443b-af87-0e5d7ada0227", + "type": "84f0a15761ee8b753f67079819a7614923939472", + "position": { + "x": 896, + "y": -400 }, + "size": { + "width": 96, + "height": 128 + } + }, + { + "id": "72c87c65-b34b-480f-8cde-cd97c0914014", + "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", "position": { - "x": 256, - "y": 48 + "x": 744, + "y": -688 }, "size": { - "width": 400, - "height": 256 + "width": 96, + "height": 96 } } ], "wires": [ { "source": { - "block": "18c2ebc7-5152-439c-9b3f-851c59bac834", - "port": "out" + "block": "038a8cb8-35b8-424a-9d14-c320cfcddccf", + "port": "outlabel" }, "target": { - "block": "5365ed8c-e5db-4445-938f-8d689830ea5c", - "port": "a" + "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" } }, { "source": { - "block": "5365ed8c-e5db-4445-938f-8d689830ea5c", - "port": "c" + "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "port": "f5a71d7b-de20-4527-80c8-0eb20de0dc77" }, "target": { - "block": "664caf9e-5f40-4df4-800a-b626af702e62", - "port": "in" + "block": "527c9113-e440-454b-b427-182b646c10f5", + "port": "inlabel" } - } - ] - } - } - }, - "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6": { - "package": { - "name": "AND", - "version": "1.0.1", - "description": "Puerta AND", - "author": "Jesús Arroyo, Juan González", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22336.09%22%20height=%22194.045%22%20version=%221%22%3E%3Cpath%20d=%22M174.656%20190.045H78.304V4h96.352s87.463%208.625%2087.463%2091.94c0%2083.311-87.463%2094.105-87.463%2094.105z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2045.668h74.018M4.057%20144.812h74.018m184.632-50.034h69.326%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%2292.894%22%20y=%22114.587%22%20font-weight=%22400%22%20font-size=%2258.054%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%2292.894%22%20y=%22114.587%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%3EAND%3C/tspan%3E%3C/text%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ + }, { - "id": "18c2ebc7-5152-439c-9b3f-851c59bac834", - "type": "basic.input", - "data": { - "name": "" + "source": { + "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "port": "0f7487e5-b070-4277-bba6-acf69934afca" }, - "position": { - "x": 64, - "y": 88 + "target": { + "block": "b652825e-10ba-47cc-9832-e39d73586234", + "port": "inlabel" } }, { - "id": "664caf9e-5f40-4df4-800a-b626af702e62", - "type": "basic.output", - "data": { - "name": "" + "source": { + "block": "7e5351cc-ea73-4bb2-9dda-0390f005b90b", + "port": "outlabel" }, - "position": { - "x": 784, - "y": 152 + "target": { + "block": "e7d0a130-cf6b-4220-a06f-42543db0214f", + "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" } }, { - "id": "97b51945-d716-4b6c-9db9-970d08541249", - "type": "basic.input", - "data": { - "name": "" + "source": { + "block": "f8dceaf6-6020-49e5-b775-ed4821fbd5bd", + "port": "outlabel" }, - "position": { - "x": 64, - "y": 224 + "target": { + "block": "e7d0a130-cf6b-4220-a06f-42543db0214f", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" } }, { - "id": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "type": "basic.code", - "data": { - "code": "//-- Puerta AND\n\n//-- module and (input wire a, input wire b,\n//-- output wire c);\n\nassign c = a & b;\n\n//-- endmodule", - "params": [], - "ports": { - "in": [ - { - "name": "a" - }, - { - "name": "b" - } - ], - "out": [ - { - "name": "c" - } - ] - } - }, - "position": { - "x": 256, - "y": 48 + "source": { + "block": "57e59301-2919-4f06-ba95-54ce5d99d774", + "port": "0f7487e5-b070-4277-bba6-acf69934afca" }, - "size": { - "width": 464, - "height": 272 + "target": { + "block": "d7d5e8c8-78dd-41a8-aedf-1051b89bfb77", + "port": "inlabel" } - } - ], - "wires": [ + }, { "source": { - "block": "18c2ebc7-5152-439c-9b3f-851c59bac834", - "port": "out" + "block": "c5dce3e4-5ecc-4fc9-bbf6-7c1adfa1c7ff", + "port": "outlabel" }, "target": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "a" + "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" } }, { "source": { - "block": "97b51945-d716-4b6c-9db9-970d08541249", - "port": "out" + "block": "57e59301-2919-4f06-ba95-54ce5d99d774", + "port": "f5a71d7b-de20-4527-80c8-0eb20de0dc77" }, "target": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "b" + "block": "a30f87da-7077-4ad6-92dd-adbfdd1bed45", + "port": "inlabel" } }, { "source": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "c" + "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "port": "33072210-9ba0-4659-8339-95952b939e6e" }, "target": { - "block": "664caf9e-5f40-4df4-800a-b626af702e62", - "port": "in" + "block": "fb8bbeb1-5c60-4629-bc13-231545818d0b", + "port": "inlabel" } - } - ] - } - } - }, - "4c1570e58dc7efecf440f8a4ff7d1dda4250ef0c": { - "package": { - "name": "RS-FF-set", - "version": "0.1", - "description": "RS-FF-set. RS Flip-flop with priority set", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20312.54461%20289.77628%22%20id=%22svg30%22%20width=%22312.545%22%20height=%22289.776%22%3E%3Cdefs%20id=%22defs34%22%3E%3Cmarker%20id=%22TriangleOutM%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20id=%22path988%22%20fill=%22#00f%22%20fill-rule=%22evenodd%22%20stroke=%22#00f%22%20stroke-width=%22.4pt%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow2Mend%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20id=%22path870%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3C/defs%3E%3Cstyle%20id=%22style2%22%3E.st0%7Bdisplay:none%7D.st1%7Bfill:none;stroke:#303030;stroke-width:.7;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10%7D.st2%7Bfill:#303030%7D%3C/style%3E%3Cg%20id=%22layer1%22%20transform=%22translate(81.543%203.027)%22%3E%3Cpath%20class=%22st1%22%20d=%22M48.702%2092.116a64.784%2064.784%200%200%200-12.559%2011.68%2064.99%2064.99%200%200%200-12.69%2024.809%22%20id=%22path11%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20id=%22line17%22%20class=%22st1%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22%20d=%22M184.865%20207.591L41.298%20262.802%22/%3E%3Cpath%20id=%22path21-3%22%20d=%22M185.448%20175.07l.37.154c2.52.831%204.718%202.386%206.634%204.249%202.02%202.322%203.694%204.777%204.423%208.713%201.496%208.074-3.286%2016.05-10.95%2018.997l-1.06.408L41.298%20262.8l-.733.283c-8.003%203.077-17.551.461-21.82-6.975-3.3-5.748-2.736-12.198.418-21.613%203.155-9.414%202.86-21.856-1.644-33.55l.041.003-12.507-32.667c-12.88-33.415-.747-70.376%2027.41-90.31l-1.102-2.749c-3.685-9.583%201.14-20.438%2010.723-24.124%209.583-3.685%2020.439%201.14%2024.124%2010.723l1.654%203.239c34.881-3.556%2068.594%2015.855%2081.318%2049.33l15.24%2038.432c4.795%208.723%2011.831%2015.955%2021.028%2022.248z%22%20fill=%22#fff%22%20stroke=%22#303030%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20d=%22M64.268%20268.838l45.015-17.115s7.963%2024.296-14.427%2030.38c-22.39%206.086-30.588-13.265-30.588-13.265z%22%20id=%22path826%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3Cg%20id=%22layer3%22%20transform=%22translate(78.072%20-.17)%22%3E%3Crect%20id=%22rect845%22%20width=%22135.189%22%20height=%22135.189%22%20x=%2295.783%22%20y=%223.671%22%20ry=%2219.847%22%20fill=%22#55acee%22%20stroke=%22#303030%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3C/g%3E%3Cg%20id=%22layer4%22%20transform=%22translate(78.072%20-.17)%22%3E%3Cellipse%20id=%22path1211%22%20cx=%22-39.888%22%20cy=%22125.645%22%20rx=%2235.684%22%20ry=%2237.984%22%20fill=%22#fff6d5%22%20stroke=%22#000%22%20stroke-width=%225%22%20stroke-linecap=%22round%22/%3E%3Cpath%20class=%22st2%22%20d=%22M172.724%2052.533V27.647h-9.888L144.047%2037.7l2.308%208.9%2014.833-8.076h.33v74.824H172.724V52.533z%22%20id=%22path7%22%20fill=%22#303030%22%20stroke-width=%2214.425%22/%3E%3Cpath%20d=%22M-38.915%20152.276v-39.72%22%20id=%22path841%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%225%22%20marker-end=%22url(#TriangleOutM)%22/%3E%3C/g%3E%3C/svg%3E", - "otid": 1621864223514 - }, - "design": { - "graph": { - "blocks": [ + }, { - "id": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", - "type": "basic.input", - "data": { - "name": "", - "clock": true + "source": { + "block": "57e59301-2919-4f06-ba95-54ce5d99d774", + "port": "33072210-9ba0-4659-8339-95952b939e6e" }, - "position": { - "x": 216, - "y": -40 + "target": { + "block": "73a0a48e-d345-4eda-8603-782e9865d928", + "port": "inlabel" } }, { - "id": "0a772657-8018-424d-8f04-75d3ffff3692", - "type": "basic.inputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "source": { + "block": "3c8597e6-ca79-494a-9a53-04c284205216", + "port": "outlabel" }, - "position": { - "x": 368, - "y": -40 + "target": { + "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" } }, { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "type": "basic.output", - "data": { - "name": "output" + "source": { + "block": "ed7a30bc-17fc-444e-89e5-aa9f83b32e86", + "port": "outlabel" }, - "position": { - "x": 1496, - "y": 40 + "target": { + "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" } }, { - "id": "97800965-0802-4a8f-9ed0-e61db33ae442", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "q", - "oldBlockColor": "fuchsia" + "source": { + "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "port": "bbe1895b-be8b-4237-b0d1-ae592e3e6208" }, - "position": { - "x": 1352, - "y": 40 + "target": { + "block": "ee992ca6-d586-4901-aaa3-a17d94ddac84", + "port": "inlabel" } }, { - "id": "b9359b10-b14f-4dd7-adf9-3f4f22bc65e6", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" + "source": { + "block": "57e59301-2919-4f06-ba95-54ce5d99d774", + "port": "bbe1895b-be8b-4237-b0d1-ae592e3e6208" }, - "position": { - "x": 1008, - "y": 136 - } + "target": { + "block": "1c9b3962-5793-4e6f-98d4-9ca2113d0823", + "port": "inlabel" + }, + "vertices": [ + { + "x": -24, + "y": -696 + } + ] }, { - "id": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", - "type": "basic.input", - "data": { - "name": "set", - "clock": false + "source": { + "block": "05fb13c5-879a-422f-84a8-56d1db8816da", + "port": "outlabel" }, - "position": { - "x": 216, - "y": 136 + "target": { + "block": "72c87c65-b34b-480f-8cde-cd97c0914014", + "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" } }, { - "id": "7e1bf901-73cb-4a29-8843-27b3cc756bb1", - "type": "basic.inputLabel", - "data": { - "blockColor": "royalblue", - "name": "set", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "source": { + "block": "161a3e27-de9b-4674-b990-c1e8314a29f3", + "port": "outlabel" }, - "position": { - "x": 384, - "y": 136 + "target": { + "block": "72c87c65-b34b-480f-8cde-cd97c0914014", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" } }, { - "id": "2378a6da-a057-4c61-9eb0-e36b6861059f", - "type": "basic.inputLabel", - "data": { - "blockColor": "navy", - "name": "reset", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "source": { + "block": "e7d0a130-cf6b-4220-a06f-42543db0214f", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, - "position": { - "x": 384, - "y": 216 + "target": { + "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "port": "5e915366-608a-431a-bf68-8c64fb4c302c" } }, { - "id": "fc243ba8-9abb-4a22-81c4-fabdf043cd01", - "type": "basic.input", - "data": { - "name": "reset", - "clock": false + "source": { + "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "port": "c7d2d573-b901-420e-a923-6832e5b18e34" }, - "position": { - "x": 224, - "y": 216 + "target": { + "block": "11342001-e6e0-443b-af87-0e5d7ada0227", + "port": "969e11ca-69e8-403b-a566-7bf2fbe3a5a8" } }, { - "id": "fe2e7470-5890-4c51-b71e-8ff89b4db797", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "q", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "source": { + "block": "e7d0a130-cf6b-4220-a06f-42543db0214f", + "port": "c7d2d573-b901-420e-a923-6832e5b18e34" }, - "position": { - "x": 1304, - "y": 232 + "target": { + "block": "11342001-e6e0-443b-af87-0e5d7ada0227", + "port": "e4111201-8441-4e7d-bcd2-bcf9d265d043" } }, { - "id": "833a07bb-6153-48fe-bb7a-f24fcd38ed65", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "q", - "oldBlockColor": "fuchsia" + "source": { + "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, - "position": { - "x": 640, - "y": 248 + "target": { + "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "port": "5e915366-608a-431a-bf68-8c64fb4c302c" } }, { - "id": "7e57f319-38cf-4c3a-ac16-f37a05f8de19", - "type": "basic.outputLabel", - "data": { - "blockColor": "royalblue", - "name": "set", - "oldBlockColor": "fuchsia" + "source": { + "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "port": "c7d2d573-b901-420e-a923-6832e5b18e34" }, - "position": { - "x": 816, - "y": 344 - } + "target": { + "block": "11342001-e6e0-443b-af87-0e5d7ada0227", + "port": "346b4ae4-4bb6-4845-9c17-3b25e0dde718" + }, + "vertices": [ + { + "x": 824, + "y": -424 + } + ] }, { - "id": "38e515cf-4953-42f4-9cbc-7e4e17f605ee", - "type": "basic.outputLabel", - "data": { - "blockColor": "navy", - "name": "reset", - "oldBlockColor": "fuchsia" + "source": { + "block": "d192d0af-e7be-4be6-925a-50227d80784c", + "port": "out" }, - "position": { - "x": 648, - "y": 344 - } + "target": { + "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "port": "0ebd46a4-769b-45e6-bcaf-e3796264aed3" + }, + "size": 4 }, { - "id": "bc3416e4-576f-40fb-85a9-5058b9f85395", - "type": "basic.constant", - "data": { - "name": "", - "value": "0", - "local": false - }, - "position": { - "x": 1176, - "y": 136 - } - }, - { - "id": "34ac83a6-30cb-4ba5-b84e-c2d318713033", - "type": "053dc2e26797e60dd454402e395eb23f388681b9", - "position": { - "x": 1176, - "y": 232 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "3c8c3d3d-8a1f-45a1-8ba9-0d019e0c041c", - "type": "d0c4e5ca28edb32eb88f24d610c7a2782d8bc697", - "position": { - "x": 968, - "y": 232 - }, - "size": { - "width": 96, - "height": 96 - } - }, - { - "id": "8d656647-f4ea-475e-b4c1-54787973b618", - "type": "febcfed8636b8ee9a98750b96ed9e53a165dd4a8", - "position": { - "x": 800, - "y": 136 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "5929fa8c-d037-406b-b5aa-9e52e71f2832", - "type": "d0c4e5ca28edb32eb88f24d610c7a2782d8bc697", - "position": { - "x": 800, - "y": 232 - }, - "size": { - "width": 96, - "height": 96 - } - }, - { - "id": "4eb098a5-9671-4946-b827-ce276e6a94f2", - "type": "d30ca9ee4f35f6cb76d5e5701447fc2b739bc640", - "position": { - "x": 632, - "y": 136 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "864d85b3-242c-408a-9e20-fb4931e68f70", - "type": "basic.info", - "data": { - "info": "Priority for the set", - "readonly": true - }, - "position": { - "x": 1000, - "y": 344 - }, - "size": { - "width": 184, - "height": 32 - } - } - ], - "wires": [ - { - "source": { - "block": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", - "port": "out" - }, - "target": { - "block": "0a772657-8018-424d-8f04-75d3ffff3692", - "port": "inlabel" - }, - "vertices": [] - }, - { - "source": { - "block": "34ac83a6-30cb-4ba5-b84e-c2d318713033", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" - }, - "target": { - "block": "fe2e7470-5890-4c51-b71e-8ff89b4db797", - "port": "inlabel" - }, - "vertices": [] - }, - { - "source": { - "block": "7e57f319-38cf-4c3a-ac16-f37a05f8de19", - "port": "outlabel" - }, - "target": { - "block": "3c8c3d3d-8a1f-45a1-8ba9-0d019e0c041c", - "port": "08fac044-f451-4fb7-9668-f5bce3b40c2c" - }, - "vertices": [] - }, - { - "source": { - "block": "833a07bb-6153-48fe-bb7a-f24fcd38ed65", - "port": "outlabel" + "source": { + "block": "c2d36218-be99-4dd1-bf69-7690c667255b", + "port": "out" }, "target": { - "block": "5929fa8c-d037-406b-b5aa-9e52e71f2832", - "port": "d4a339a0-7bdb-4695-8f6b-93ea4a70b36a" + "block": "57e59301-2919-4f06-ba95-54ce5d99d774", + "port": "0ebd46a4-769b-45e6-bcaf-e3796264aed3" }, - "vertices": [] + "size": 4 }, { "source": { - "block": "38e515cf-4953-42f4-9cbc-7e4e17f605ee", - "port": "outlabel" + "block": "11342001-e6e0-443b-af87-0e5d7ada0227", + "port": "55180947-6349-4a04-a151-ad69ea2b155e" }, "target": { - "block": "5929fa8c-d037-406b-b5aa-9e52e71f2832", - "port": "08fac044-f451-4fb7-9668-f5bce3b40c2c" + "block": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42", + "port": "in" }, - "vertices": [] + "size": 4 }, { "source": { - "block": "b9359b10-b14f-4dd7-adf9-3f4f22bc65e6", - "port": "outlabel" + "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "34ac83a6-30cb-4ba5-b84e-c2d318713033", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + "block": "72c87c65-b34b-480f-8cde-cd97c0914014", + "port": "5e915366-608a-431a-bf68-8c64fb4c302c" }, "vertices": [ { - "x": 1128, - "y": 208 + "x": 728, + "y": -552 } ] }, { "source": { - "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", - "port": "out" - }, - "target": { - "block": "7e1bf901-73cb-4a29-8843-27b3cc756bb1", - "port": "inlabel" - } - }, - { - "source": { - "block": "fc243ba8-9abb-4a22-81c4-fabdf043cd01", - "port": "out" - }, - "target": { - "block": "2378a6da-a057-4c61-9eb0-e36b6861059f", - "port": "inlabel" - } - }, - { - "source": { - "block": "97800965-0802-4a8f-9ed0-e61db33ae442", - "port": "outlabel" + "block": "72c87c65-b34b-480f-8cde-cd97c0914014", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", @@ -4314,332 +3959,200 @@ }, { "source": { - "block": "bc3416e4-576f-40fb-85a9-5058b9f85395", - "port": "constant-out" - }, - "target": { - "block": "34ac83a6-30cb-4ba5-b84e-c2d318713033", - "port": "65194b18-5d2a-41b2-bd86-01be99978ad6" - }, - "vertices": [] - }, - { - "source": { - "block": "3c8c3d3d-8a1f-45a1-8ba9-0d019e0c041c", - "port": "0e6a9a81-8521-4ade-8012-71915b39ae41" - }, - "target": { - "block": "34ac83a6-30cb-4ba5-b84e-c2d318713033", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" - }, - "vertices": [] - }, - { - "source": { - "block": "8d656647-f4ea-475e-b4c1-54787973b618", - "port": "3d584b0a-29eb-47af-8c43-c0822282ef05" - }, - "target": { - "block": "3c8c3d3d-8a1f-45a1-8ba9-0d019e0c041c", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" - }, - "vertices": [] - }, - { - "source": { - "block": "5929fa8c-d037-406b-b5aa-9e52e71f2832", - "port": "0e6a9a81-8521-4ade-8012-71915b39ae41" - }, - "target": { - "block": "3c8c3d3d-8a1f-45a1-8ba9-0d019e0c041c", - "port": "d4a339a0-7bdb-4695-8f6b-93ea4a70b36a" - }, - "vertices": [] - }, - { - "source": { - "block": "4eb098a5-9671-4946-b827-ce276e6a94f2", - "port": "3d584b0a-29eb-47af-8c43-c0822282ef05" + "block": "72c87c65-b34b-480f-8cde-cd97c0914014", + "port": "c7d2d573-b901-420e-a923-6832e5b18e34" }, "target": { - "block": "5929fa8c-d037-406b-b5aa-9e52e71f2832", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" - }, - "vertices": [] + "block": "11342001-e6e0-443b-af87-0e5d7ada0227", + "port": "6c2aa548-5a4c-4e8d-a56c-a70926b19f18" + } } ] } } }, - "053dc2e26797e60dd454402e395eb23f388681b9": { + "1ea21df64c18f01d8f4b905c437ccf0ca332baf6": { "package": { - "name": "DFF", - "version": "2.0", - "description": "D Flip-flop (verilog implementation)", + "name": "Adder-1bit", + "version": "0.1", + "description": "Adder-1bit: Adder of two operands of 1 bit", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22196.313%22%20height=%22216.83%22%20viewBox=%220%200%2051.941051%2057.369679%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20transform=%22translate(-52.22%20-48.028)%22%3E%3Crect%20width=%2224.412%22%20height=%2213.185%22%20x=%2279.352%22%20y=%2253.67%22%20ry=%222.247%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%22.794%22%20stroke-linecap=%22round%22/%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M77.902%2088.18l13.607%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M70.517%2080.116l-9.232-19.613-6.45%203.725-2.07-3.584%2020.905-12.07%202.07%203.584-6.093%203.518%2012.03%2018.222s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.773L69.412%2093.049s-2.848-3.696-2.16-6.796c.687-3.1%203.265-6.137%203.265-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Ctext%20style=%22line-height:1.25%22%20x=%2281.296%22%20y=%2263.239%22%20font-weight=%22400%22%20font-size=%2210.583%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20x=%2281.296%22%20y=%2263.239%22%20font-weight=%22700%22%3ESys%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E" + "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618560481898 }, "design": { "graph": { "blocks": [ { - "id": "3943e194-090b-4553-9df3-88bc4b17abc2", + "id": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", "type": "basic.input", "data": { "name": "", - "clock": true + "clock": false }, "position": { - "x": 208, - "y": 160 + "x": 280, + "y": -224 } }, { - "id": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78", + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", "type": "basic.output", "data": { - "name": "" + "name": "c" }, "position": { - "x": 816, - "y": 224 + "x": 616, + "y": -176 } }, { - "id": "bf2f0c53-2d04-4cba-aa70-2df85502d24f", + "id": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba", "type": "basic.input", "data": { "name": "", "clock": false }, "position": { - "x": 208, - "y": 304 + "x": 280, + "y": -152 } }, { - "id": "65194b18-5d2a-41b2-bd86-01be99978ad6", - "type": "basic.constant", + "id": "c7d2d573-b901-420e-a923-6832e5b18e34", + "type": "basic.output", "data": { - "name": "", - "value": "0", - "local": false + "name": "s" }, "position": { - "x": 512, - "y": 64 + "x": 616, + "y": -96 } }, { - "id": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "type": "basic.code", - "data": { - "code": "//-- Initial value\nreg q = INI;\n\n//-- Capture the input data \n//-- on the rising edge of \n//-- the system clock\nalways @(posedge clk)\n q <= d;", - "params": [ - { - "name": "INI" - } - ], - "ports": { - "in": [ - { - "name": "clk" - }, - { - "name": "d" - } - ], - "out": [ - { - "name": "q" - } - ] - } - }, + "id": "0ef44beb-f4b1-484c-b15a-dc4431241aee", + "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", "position": { - "x": 384, - "y": 168 - }, - "size": { - "width": 344, - "height": 176 - } - }, - { - "id": "53d11290-50b3-40fb-b253-222cb296b075", - "type": "basic.info", - "data": { - "info": "Parameter: Initial value", - "readonly": true - }, - "position": { - "x": 488, - "y": 48 - }, - "size": { - "width": 208, - "height": 40 - } - }, - { - "id": "c25a29cd-d5ed-435e-b375-e6d5557660d8", - "type": "basic.info", - "data": { - "info": "System clock", - "readonly": true - }, - "position": { - "x": 208, - "y": 136 - }, - "size": { - "width": 120, - "height": 32 - } - }, - { - "id": "ecafc6fa-330b-4ba7-aa67-40b3ea48f1f1", - "type": "basic.info", - "data": { - "info": "Input data", - "readonly": true - }, - "position": { - "x": 224, - "y": 280 - }, - "size": { - "width": 112, - "height": 40 - } - }, - { - "id": "df95c331-682d-4733-a62d-ad9fcd75f96a", - "type": "basic.info", - "data": { - "info": "Output", - "readonly": true - }, - "position": { - "x": 840, - "y": 200 + "x": 456, + "y": -168 }, "size": { - "width": 80, - "height": 40 + "width": 96, + "height": 96 } }, { - "id": "dd8217df-b56d-49a9-ae94-f5e0c96e1460", - "type": "basic.info", - "data": { - "info": "# D Flip-Flop \n\nIt stores the input data that arrives at cycle n \nIts output is shown in the cycle n+1", - "readonly": true - }, + "id": "e80cc244-1751-4524-9f77-734a36b24a88", + "type": "d30ca9ee4f35f6cb76d5e5701447fc2b739bc640", "position": { - "x": 144, - "y": -136 + "x": 304, + "y": -64 }, "size": { - "width": 488, - "height": 104 + "width": 96, + "height": 64 } } ], "wires": [ { "source": { - "block": "3943e194-090b-4553-9df3-88bc4b17abc2", + "block": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba", "port": "out" }, "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "clk" + "block": "0ef44beb-f4b1-484c-b15a-dc4431241aee", + "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" } }, { "source": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "q" + "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", + "port": "out" }, "target": { - "block": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78", - "port": "in" + "block": "0ef44beb-f4b1-484c-b15a-dc4431241aee", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + }, + "vertices": [ + { + "x": 400, + "y": -168 + } + ] + }, + { + "source": { + "block": "e80cc244-1751-4524-9f77-734a36b24a88", + "port": "3d584b0a-29eb-47af-8c43-c0822282ef05" + }, + "target": { + "block": "0ef44beb-f4b1-484c-b15a-dc4431241aee", + "port": "5e915366-608a-431a-bf68-8c64fb4c302c" } }, { "source": { - "block": "65194b18-5d2a-41b2-bd86-01be99978ad6", - "port": "constant-out" + "block": "0ef44beb-f4b1-484c-b15a-dc4431241aee", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "INI" + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" } }, { "source": { - "block": "bf2f0c53-2d04-4cba-aa70-2df85502d24f", - "port": "out" + "block": "0ef44beb-f4b1-484c-b15a-dc4431241aee", + "port": "c7d2d573-b901-420e-a923-6832e5b18e34" }, "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "d" + "block": "c7d2d573-b901-420e-a923-6832e5b18e34", + "port": "in" } } ] } } }, - "d0c4e5ca28edb32eb88f24d610c7a2782d8bc697": { + "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a": { "package": { - "name": "Mux-2-1", + "name": "AdderC-1bit", "version": "0.1", - "description": "2-to-1 Multplexer (1-bit channels)", + "description": "AdderC-1bit: Adder of two operands of 1 bit plus the carry in", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2280.833%22%20height=%22158.56%22%20viewBox=%220%200%2075.781585%20148.65066%22%3E%3Cpath%20d=%22M74.375%2036.836c0-12.691-6.99-24.413-18.326-30.729-11.335-6.316-25.284-6.262-36.568.141C8.198%2012.652%201.304%2024.427%201.407%2037.118v74.415c-.103%2012.69%206.79%2024.466%2018.074%2030.87%2011.284%206.403%2025.233%206.457%2036.568.14%2011.336-6.316%2018.326-18.037%2018.326-30.728z%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%222.813%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.448%22%20y=%2291.518%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.448%22%20y=%2291.518%22%3E0%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.359%22%20y=%2214.582%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.359%22%20y=%2214.582%22%3E1%3C/tspan%3E%3C/text%3E%3C/svg%3E", - "otid": 1618922858665 + "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618560481898 }, "design": { "graph": { "blocks": [ { - "id": "a0fa1754-f66a-4772-adc6-07f9549ae9fe", + "id": "b28215b2-e375-43cd-96b4-ed5b60418dc6", "type": "basic.outputLabel", "data": { "blockColor": "fuchsia", "name": "a" }, "position": { - "x": 456, - "y": 360 - } - }, - { - "id": "0e6a9a81-8521-4ade-8012-71915b39ae41", - "type": "basic.output", - "data": { - "name": "" - }, - "position": { - "x": 1096, - "y": 392 + "x": 504, + "y": -208 } }, { "id": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", "type": "basic.input", "data": { - "name": "1", + "name": "a", "clock": false }, "position": { "x": 136, - "y": 416 + "y": -192 } }, { - "id": "d80dfce7-c76f-40a0-91ff-5e55863fe5da", + "id": "f2c3e9af-37a6-4815-9413-c437d2471b1f", "type": "basic.inputLabel", "data": { "blockColor": "fuchsia", @@ -4655,11 +4168,46 @@ }, "position": { "x": 272, - "y": 416 + "y": -192 + } + }, + { + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", + "data": { + "name": "c" + }, + "position": { + "x": 1112, + "y": -176 + } + }, + { + "id": "cdbf1806-fde2-4763-aeae-cd26f3db2a86", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "b" + }, + "position": { + "x": 504, + "y": -144 + } + }, + { + "id": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba", + "type": "basic.input", + "data": { + "name": "b", + "clock": false + }, + "position": { + "x": 136, + "y": -120 } }, { - "id": "a14a9465-c4d0-4c20-aa1a-458b40aa8b70", + "id": "65936289-69ce-4e26-be4e-44f8a3706934", "type": "basic.inputLabel", "data": { "blockColor": "fuchsia", @@ -4671,69 +4219,113 @@ "value": "NULL" } ], - "virtual": true, - "oldBlockColor": "fuchsia" + "virtual": true }, "position": { "x": 272, - "y": 528 + "y": -120 + } + }, + { + "id": "6b7a0fc7-9eeb-4894-98fd-e0122d08cdf0", + "type": "basic.outputLabel", + "data": { + "blockColor": "navy", + "name": "ci", + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 648, + "y": -96 } }, { - "id": "d4a339a0-7bdb-4695-8f6b-93ea4a70b36a", + "id": "5e915366-608a-431a-bf68-8c64fb4c302c", "type": "basic.input", "data": { - "name": "0", + "name": "ci", "clock": false }, "position": { "x": 136, - "y": 528 + "y": -40 } }, { - "id": "8d94a294-a698-43c5-9777-874fd39b8586", - "type": "basic.outputLabel", + "id": "9fca1dd5-3d6c-4321-a1cf-fd35336e41ea", + "type": "basic.inputLabel", "data": { - "blockColor": "fuchsia", - "name": "b", + "blockColor": "navy", + "name": "ci", + "pins": [ + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true, "oldBlockColor": "fuchsia" }, "position": { - "x": 616, - "y": 552 + "x": 272, + "y": -40 } }, { - "id": "08fac044-f451-4fb7-9668-f5bce3b40c2c", - "type": "basic.input", + "id": "79149d67-753e-414e-ba2a-49ba4edfe523", + "type": "basic.outputLabel", "data": { - "name": "sel", - "clock": false + "blockColor": "fuchsia", + "name": "a" }, "position": { - "x": 376, - "y": 656 + "x": 480, + "y": 24 } }, { - "id": "ec23e0ef-db5d-46b0-b1fd-452e0dc46a0b", - "type": "873425949b2a80f1a7f66f320796bcd068a59889", - "position": { - "x": 952, - "y": 392 + "id": "c7d2d573-b901-420e-a923-6832e5b18e34", + "type": "basic.output", + "data": { + "name": "s" }, - "size": { - "width": 96, - "height": 64 - } - }, + "position": { + "x": 992, + "y": 56 + } + }, { - "id": "cbd20301-0f38-49ce-bd16-b5d27a8ad6e8", - "type": "ba518ee261a2be13a9739cd3a01cdcebe0ef63c0", + "id": "edf4525b-edd8-40fa-b784-631b102fb907", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "b" + }, "position": { - "x": 600, - "y": 376 + "x": 480, + "y": 88 + } + }, + { + "id": "35a4f7cc-d7ef-4653-af75-fe112a5f5151", + "type": "basic.outputLabel", + "data": { + "blockColor": "navy", + "name": "ci", + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 648, + "y": 120 + } + }, + { + "id": "687d4abf-9ce2-408a-8010-c00e2cec2d44", + "type": "d1240143e1ff7afe57f0f11565da980612b2bb76", + "position": { + "x": 648, + "y": 40 }, "size": { "width": 96, @@ -4741,11 +4333,11 @@ } }, { - "id": "4f537b92-d51a-4e53-808b-0730bd2424dd", - "type": "3676a00f3a70e406487ed14b901daf3e4984e63d", + "id": "6756cb54-aa93-40af-a5f3-41ef2b2edec9", + "type": "d1240143e1ff7afe57f0f11565da980612b2bb76", "position": { - "x": 624, - "y": 656 + "x": 832, + "y": 56 }, "size": { "width": 96, @@ -4753,11 +4345,35 @@ } }, { - "id": "6219285f-76c0-4fdf-8f60-bd5afeef0e52", + "id": "f7053b6b-9812-48df-9212-cb8dc49d44cd", "type": "ba518ee261a2be13a9739cd3a01cdcebe0ef63c0", "position": { - "x": 784, - "y": 568 + "x": 808, + "y": -80 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "d77ee777-f5ad-4f89-832b-e1f95f0cf9db", + "type": "ba518ee261a2be13a9739cd3a01cdcebe0ef63c0", + "position": { + "x": 632, + "y": -192 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "dd3259d5-99f6-47f2-881c-4e969e324444", + "type": "873425949b2a80f1a7f66f320796bcd068a59889", + "position": { + "x": 960, + "y": -176 }, "size": { "width": 96, @@ -4768,123 +4384,165 @@ "wires": [ { "source": { - "block": "a0fa1754-f66a-4772-adc6-07f9549ae9fe", - "port": "outlabel" + "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", + "port": "out" }, "target": { - "block": "cbd20301-0f38-49ce-bd16-b5d27a8ad6e8", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - }, - "vertices": [] + "block": "f2c3e9af-37a6-4815-9413-c437d2471b1f", + "port": "inlabel" + } }, { "source": { - "block": "8d94a294-a698-43c5-9777-874fd39b8586", - "port": "outlabel" + "block": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba", + "port": "out" }, "target": { - "block": "6219285f-76c0-4fdf-8f60-bd5afeef0e52", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - }, - "vertices": [] + "block": "65936289-69ce-4e26-be4e-44f8a3706934", + "port": "inlabel" + } }, { "source": { - "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", + "block": "5e915366-608a-431a-bf68-8c64fb4c302c", "port": "out" }, "target": { - "block": "d80dfce7-c76f-40a0-91ff-5e55863fe5da", + "block": "9fca1dd5-3d6c-4321-a1cf-fd35336e41ea", "port": "inlabel" } }, { "source": { - "block": "d4a339a0-7bdb-4695-8f6b-93ea4a70b36a", - "port": "out" + "block": "79149d67-753e-414e-ba2a-49ba4edfe523", + "port": "outlabel" }, "target": { - "block": "a14a9465-c4d0-4c20-aa1a-458b40aa8b70", - "port": "inlabel" + "block": "687d4abf-9ce2-408a-8010-c00e2cec2d44", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" } }, { "source": { - "block": "ec23e0ef-db5d-46b0-b1fd-452e0dc46a0b", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "edf4525b-edd8-40fa-b784-631b102fb907", + "port": "outlabel" }, "target": { - "block": "0e6a9a81-8521-4ade-8012-71915b39ae41", - "port": "in" + "block": "687d4abf-9ce2-408a-8010-c00e2cec2d44", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + } + }, + { + "source": { + "block": "35a4f7cc-d7ef-4653-af75-fe112a5f5151", + "port": "outlabel" }, - "vertices": [] + "target": { + "block": "6756cb54-aa93-40af-a5f3-41ef2b2edec9", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + } }, { "source": { - "block": "cbd20301-0f38-49ce-bd16-b5d27a8ad6e8", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "6b7a0fc7-9eeb-4894-98fd-e0122d08cdf0", + "port": "outlabel" }, "target": { - "block": "ec23e0ef-db5d-46b0-b1fd-452e0dc46a0b", + "block": "f7053b6b-9812-48df-9212-cb8dc49d44cd", "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } + }, + { + "source": { + "block": "b28215b2-e375-43cd-96b4-ed5b60418dc6", + "port": "outlabel" }, - "vertices": [] + "target": { + "block": "d77ee777-f5ad-4f89-832b-e1f95f0cf9db", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } }, { "source": { - "block": "08fac044-f451-4fb7-9668-f5bce3b40c2c", - "port": "out" + "block": "cdbf1806-fde2-4763-aeae-cd26f3db2a86", + "port": "outlabel" }, "target": { - "block": "cbd20301-0f38-49ce-bd16-b5d27a8ad6e8", + "block": "d77ee777-f5ad-4f89-832b-e1f95f0cf9db", "port": "97b51945-d716-4b6c-9db9-970d08541249" - }, - "vertices": [] + } }, { "source": { - "block": "08fac044-f451-4fb7-9668-f5bce3b40c2c", - "port": "out" + "block": "687d4abf-9ce2-408a-8010-c00e2cec2d44", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, "target": { - "block": "4f537b92-d51a-4e53-808b-0730bd2424dd", + "block": "6756cb54-aa93-40af-a5f3-41ef2b2edec9", "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } + }, + { + "source": { + "block": "6756cb54-aa93-40af-a5f3-41ef2b2edec9", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, - "vertices": [] + "target": { + "block": "c7d2d573-b901-420e-a923-6832e5b18e34", + "port": "in" + } }, { "source": { - "block": "6219285f-76c0-4fdf-8f60-bd5afeef0e52", + "block": "687d4abf-9ce2-408a-8010-c00e2cec2d44", "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, "target": { - "block": "ec23e0ef-db5d-46b0-b1fd-452e0dc46a0b", + "block": "f7053b6b-9812-48df-9212-cb8dc49d44cd", "port": "97b51945-d716-4b6c-9db9-970d08541249" - }, - "vertices": [] + } }, { "source": { - "block": "4f537b92-d51a-4e53-808b-0730bd2424dd", + "block": "f7053b6b-9812-48df-9212-cb8dc49d44cd", "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, "target": { - "block": "6219285f-76c0-4fdf-8f60-bd5afeef0e52", + "block": "dd3259d5-99f6-47f2-881c-4e969e324444", "port": "97b51945-d716-4b6c-9db9-970d08541249" + } + }, + { + "source": { + "block": "d77ee777-f5ad-4f89-832b-e1f95f0cf9db", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, - "vertices": [] + "target": { + "block": "dd3259d5-99f6-47f2-881c-4e969e324444", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } + }, + { + "source": { + "block": "dd3259d5-99f6-47f2-881c-4e969e324444", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" + } } ] } } }, - "873425949b2a80f1a7f66f320796bcd068a59889": { + "d1240143e1ff7afe57f0f11565da980612b2bb76": { "package": { - "name": "OR2", + "name": "XOR2", "version": "1.0.2", - "description": "OR2: Two bits input OR gate", + "description": "XOR gate: two bits input xor gate", "author": "Jesús Arroyo, Juan González", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22192.718%22%20width=%22383.697%22%20version=%221%22%3E%3Cpath%20d=%22M175.56%20188.718H84.527s30.345-42.538%2031.086-94.03c.743-51.49-31.821-90.294-31.821-90.294L176.109%204c46.445%201.948%20103.899%2053.44%20123.047%2093.678-32.601%2067.503-92.158%2089.79-123.596%2091.04z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2047.292h99.605M4.883%20145.168h100.981M298.57%2098.89h81.07%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20font-weight=%22400%22%20font-size=%2266.317%22%20y=%22121.28%22%20x=%22131.572%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20font-weight=%22700%22%20y=%22121.28%22%20x=%22131.572%22%3EOR%3C/tspan%3E%3C/text%3E%3C/svg%3E" + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22193.047%22%20width=%22383.697%22%20version=%221%22%3E%3Cpath%20d=%22M175.56%20189.047H84.527s30.345-42.538%2031.086-94.03c.743-51.49-31.821-90.294-31.821-90.294l92.317-.394c46.445%201.948%20103.899%2053.44%20123.047%2093.678-32.601%2067.503-92.158%2089.79-123.596%2091.04z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2047.62h99.605M4.883%20145.497h100.981M298.57%2099.219h81.07%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20x=%22129.011%22%20y=%22115.285%22%20font-size=%2258.24%22%20font-weight=%22400%22%20style=%22line-height:125%25%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20transform=%22translate(0%20.329)%22%3E%3Ctspan%20x=%22129.011%22%20y=%22115.285%22%20font-weight=%22700%22%3EXOR%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M54.321%20188.368s30.345-42.538%2031.086-94.03c.742-51.49-31.821-90.294-31.821-90.294%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" }, "design": { "graph": { @@ -4896,8 +4554,8 @@ "name": "" }, "position": { - "x": 112, - "y": 40 + "x": 120, + "y": 48 } }, { @@ -4907,7 +4565,7 @@ "name": "" }, "position": { - "x": 608, + "x": 560, "y": 72 } }, @@ -4918,15 +4576,15 @@ "name": "" }, "position": { - "x": 112, - "y": 96 + "x": 120, + "y": 104 } }, { "id": "00925b04-5004-4307-a737-fa4e97c8b6ab", "type": "basic.code", "data": { - "code": "//-- OR Gate\n//-- Verilog implementation\n\nassign c = a | b;\n\n", + "code": "//-- XOR gate\n//-- Verilog implementation\n\nassign c = a ^ b;\n", "params": [], "ports": { "in": [ @@ -4949,8 +4607,8 @@ "y": 48 }, "size": { - "width": 312, - "height": 104 + "width": 272, + "height": 112 } } ], @@ -4989,13 +4647,13 @@ } } }, - "ba518ee261a2be13a9739cd3a01cdcebe0ef63c0": { + "873425949b2a80f1a7f66f320796bcd068a59889": { "package": { - "name": "AND2", + "name": "OR2", "version": "1.0.2", - "description": "Two bits input And gate", + "description": "OR2: Two bits input OR gate", "author": "Jesús Arroyo, Juan González", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22336.09%22%20height=%22194.045%22%20version=%221%22%3E%3Cpath%20d=%22M174.656%20190.045H78.304V4h96.352s87.463%208.625%2087.463%2091.94c0%2083.311-87.463%2094.105-87.463%2094.105z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2045.668h74.018M4.057%20144.812h74.018m184.632-50.034h69.326%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%2292.894%22%20y=%22114.587%22%20font-weight=%22400%22%20font-size=%2258.054%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%2292.894%22%20y=%22114.587%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%3EAND%3C/tspan%3E%3C/text%3E%3C/svg%3E" + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22192.718%22%20width=%22383.697%22%20version=%221%22%3E%3Cpath%20d=%22M175.56%20188.718H84.527s30.345-42.538%2031.086-94.03c.743-51.49-31.821-90.294-31.821-90.294L176.109%204c46.445%201.948%20103.899%2053.44%20123.047%2093.678-32.601%2067.503-92.158%2089.79-123.596%2091.04z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2047.292h99.605M4.883%20145.168h100.981M298.57%2098.89h81.07%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20font-weight=%22400%22%20font-size=%2266.317%22%20y=%22121.28%22%20x=%22131.572%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20font-weight=%22700%22%20y=%22121.28%22%20x=%22131.572%22%3EOR%3C/tspan%3E%3C/text%3E%3C/svg%3E" }, "design": { "graph": { @@ -5007,8 +4665,8 @@ "name": "" }, "position": { - "x": 96, - "y": 56 + "x": 112, + "y": 40 } }, { @@ -5018,8 +4676,8 @@ "name": "" }, "position": { - "x": 600, - "y": 96 + "x": 608, + "y": 72 } }, { @@ -5029,15 +4687,15 @@ "name": "" }, "position": { - "x": 96, - "y": 128 + "x": 112, + "y": 96 } }, { "id": "00925b04-5004-4307-a737-fa4e97c8b6ab", "type": "basic.code", "data": { - "code": "//-- AND gate\n//-- Verilog implementation\n\nassign c = a & b;\n", + "code": "//-- OR Gate\n//-- Verilog implementation\n\nassign c = a | b;\n\n", "params": [], "ports": { "in": [ @@ -5060,8 +4718,8 @@ "y": 48 }, "size": { - "width": 304, - "height": 152 + "width": 312, + "height": 104 } } ], @@ -5100,51 +4758,36 @@ } } }, - "3676a00f3a70e406487ed14b901daf3e4984e63d": { + "d30ca9ee4f35f6cb76d5e5701447fc2b739bc640": { "package": { - "name": "NOT", - "version": "2.0", - "description": "NOT gate (Verilog implementation)", - "author": "Jesús Arroyo, Juan González", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22317.651%22%20height=%22194.058%22%20version=%221%22%3E%3Cpath%20d=%22M69.246%204l161.86%2093.027-161.86%2093.031V4z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20cx=%22253.352%22%20cy=%2296.736%22%20rx=%2221.393%22%20ry=%2221.893%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2097.49h65.262m205.796%200h38.48%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%2281.112%22%20y=%22111.734%22%20transform=%22scale(.99532%201.0047)%22%20font-weight=%22400%22%20font-size=%2249.675%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%2281.112%22%20y=%22111.734%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%3ENot%3C/tspan%3E%3C/text%3E%3C/svg%3E" + "name": "bit-0", + "version": "0.2", + "description": "Constant bit 0", + "author": "Jesus Arroyo", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22125.776%22%20height=%22197.727%22%20viewBox=%220%200%20110.54641%20173.78236%22%3E%3Cpath%20d=%22M69.664%20107.353l13.494%2029.374L70.719%20168.5l13.788%204.283m-42.761-62.916S38.148%20136.825%2033.22%20139C28.298%20141.18%201%20161.403%201%20161.403l8.729%2010.636%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cg%20style=%22line-height:0%25%22%3E%3Cpath%20d=%22M65.536%2024.562q-9.493%200-15.876%208.251-6.303%208.156-8.855%2023.604-2.553%2015.448%201.037%2023.7%203.59%208.155%2013.084%208.155%209.334%200%2015.636-8.155%206.383-8.252%208.936-23.7%202.553-15.448-1.037-23.604-3.59-8.251-12.925-8.251zm4.07-24.564q23.056%200%2033.507%2014.969%2010.53%2014.968%206.143%2041.45-4.388%2026.482-19.865%2041.45-15.478%2014.968-38.534%2014.968-23.136%200-33.667-14.968Q6.659%2082.9%2011.047%2056.417q4.387-26.482%2019.865-41.45Q46.469-.002%2069.605-.002z%22%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold%20Italic'%22%20font-style=%22italic%22%20font-weight=%22700%22%20font-size=%22179.184%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22/%3E%3C/g%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "18c2ebc7-5152-439c-9b3f-851c59bac834", - "type": "basic.input", + "id": "3d584b0a-29eb-47af-8c43-c0822282ef05", + "type": "basic.output", "data": { "name": "" }, "position": { - "x": 112, - "y": 72 + "x": 456, + "y": 120 } }, { - "id": "664caf9e-5f40-4df4-800a-b626af702e62", - "type": "basic.output", + "id": "61331ec5-2c56-4cdd-b607-e63b1502fa65", + "type": "basic.code", "data": { - "name": "" - }, - "position": { - "x": 560, - "y": 72 - } - }, - { - "id": "5365ed8c-e5db-4445-938f-8d689830ea5c", - "type": "basic.code", - "data": { - "code": "//-- NOT Gate\nassign q = ~a;\n\n", + "code": "//-- Constant bit-0\nassign q = 1'b0;\n\n", "params": [], "ports": { - "in": [ - { - "name": "a" - } - ], + "in": [], "out": [ { "name": "q" @@ -5153,65 +4796,23 @@ } }, "position": { - "x": 256, - "y": 48 - }, - "size": { - "width": 256, - "height": 104 - } - }, - { - "id": "e3bb41e3-1944-4946-9675-c2dbe2e49fcf", - "type": "basic.info", - "data": { - "info": "Input", - "readonly": true - }, - "position": { - "x": 128, - "y": 32 - }, - "size": { - "width": 80, - "height": 40 - } - }, - { - "id": "8408dd5f-945f-4a89-9790-7752813d4e91", - "type": "basic.info", - "data": { - "info": "Output", - "readonly": true - }, - "position": { - "x": 576, - "y": 40 + "x": 168, + "y": 112 }, "size": { - "width": 80, - "height": 40 + "width": 248, + "height": 80 } } ], "wires": [ { "source": { - "block": "18c2ebc7-5152-439c-9b3f-851c59bac834", - "port": "out" - }, - "target": { - "block": "5365ed8c-e5db-4445-938f-8d689830ea5c", - "port": "a" - } - }, - { - "source": { - "block": "5365ed8c-e5db-4445-938f-8d689830ea5c", + "block": "61331ec5-2c56-4cdd-b607-e63b1502fa65", "port": "q" }, "target": { - "block": "664caf9e-5f40-4df4-800a-b626af702e62", + "block": "3d584b0a-29eb-47af-8c43-c0822282ef05", "port": "in" } } @@ -5219,111 +4820,111 @@ } } }, - "febcfed8636b8ee9a98750b96ed9e53a165dd4a8": { + "c4f23ad05c2010ec9bd213c8814c9238873037ae": { "package": { - "name": "bit-1", - "version": "0.2", - "description": "Constant bit 1", - "author": "Jesus Arroyo", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2289.79%22%20height=%22185.093%22%20viewBox=%220%200%2084.179064%20173.52585%22%3E%3Cpath%20d=%22M7.702%2032.42L49.972%200l34.207%207.725-27.333%20116.736-26.607-6.01L51.26%2025.273%2020.023%2044.2z%22%20fill=%22green%22%20fill-rule=%22evenodd%22/%3E%3Cpath%20d=%22M46.13%20117.28l21.355%2028.258-17.91%2021.368%206.198%205.513m-14.033-54.45l-12.4%2028.26-28.242%205.512%202.067%208.959%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%222.196%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" + "name": "Bus4-Split-all", + "version": "0.1", + "description": "Bus4-Split-all: Split the 4-bits bus into its 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": { "graph": { "blocks": [ { - "id": "3d584b0a-29eb-47af-8c43-c0822282ef05", + "id": "bbe1895b-be8b-4237-b0d1-ae592e3e6208", "type": "basic.output", "data": { - "name": "" + "name": "3" }, "position": { - "x": 456, - "y": 120 + "x": 576, + "y": 80 } }, { - "id": "61331ec5-2c56-4cdd-b607-e63b1502fa65", - "type": "basic.code", + "id": "33072210-9ba0-4659-8339-95952b939e6e", + "type": "basic.output", "data": { - "code": "//-- Constant bit-1\nassign q = 1'b1;\n\n", - "params": [], - "ports": { - "in": [], - "out": [ - { - "name": "q" - } - ] - } + "name": "2" }, "position": { - "x": 168, - "y": 112 + "x": 600, + "y": 144 + } + }, + { + "id": "0ebd46a4-769b-45e6-bcaf-e3796264aed3", + "type": "basic.input", + "data": { + "name": "", + "range": "[3:0]", + "clock": false, + "size": 4 }, - "size": { - "width": 248, - "height": 80 + "position": { + "x": 128, + "y": 184 } - } - ], - "wires": [ + }, { - "source": { - "block": "61331ec5-2c56-4cdd-b607-e63b1502fa65", - "port": "q" + "id": "f5a71d7b-de20-4527-80c8-0eb20de0dc77", + "type": "basic.output", + "data": { + "name": "1" }, - "target": { - "block": "3d584b0a-29eb-47af-8c43-c0822282ef05", - "port": "in" + "position": { + "x": 592, + "y": 240 } - } - ] - } - } - }, - "d30ca9ee4f35f6cb76d5e5701447fc2b739bc640": { - "package": { - "name": "bit-0", - "version": "0.2", - "description": "Constant bit 0", - "author": "Jesus Arroyo", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22125.776%22%20height=%22197.727%22%20viewBox=%220%200%20110.54641%20173.78236%22%3E%3Cpath%20d=%22M69.664%20107.353l13.494%2029.374L70.719%20168.5l13.788%204.283m-42.761-62.916S38.148%20136.825%2033.22%20139C28.298%20141.18%201%20161.403%201%20161.403l8.729%2010.636%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cg%20style=%22line-height:0%25%22%3E%3Cpath%20d=%22M65.536%2024.562q-9.493%200-15.876%208.251-6.303%208.156-8.855%2023.604-2.553%2015.448%201.037%2023.7%203.59%208.155%2013.084%208.155%209.334%200%2015.636-8.155%206.383-8.252%208.936-23.7%202.553-15.448-1.037-23.604-3.59-8.251-12.925-8.251zm4.07-24.564q23.056%200%2033.507%2014.969%2010.53%2014.968%206.143%2041.45-4.388%2026.482-19.865%2041.45-15.478%2014.968-38.534%2014.968-23.136%200-33.667-14.968Q6.659%2082.9%2011.047%2056.417q4.387-26.482%2019.865-41.45Q46.469-.002%2069.605-.002z%22%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold%20Italic'%22%20font-style=%22italic%22%20font-weight=%22700%22%20font-size=%22179.184%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22/%3E%3C/g%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ + }, { - "id": "3d584b0a-29eb-47af-8c43-c0822282ef05", + "id": "0f7487e5-b070-4277-bba6-acf69934afca", "type": "basic.output", "data": { - "name": "" + "name": "0" }, "position": { - "x": 456, - "y": 120 + "x": 568, + "y": 296 } }, { - "id": "61331ec5-2c56-4cdd-b607-e63b1502fa65", + "id": "16e78204-213e-4833-9096-89d735307ec2", "type": "basic.code", "data": { - "code": "//-- Constant bit-0\nassign q = 1'b0;\n\n", + "code": "assign o3 = i[3];\nassign o2 = i[2];\nassign o1 = i[1];\nassign o0 = i[0];", "params": [], "ports": { - "in": [], + "in": [ + { + "name": "i", + "range": "[3:0]", + "size": 4 + } + ], "out": [ { - "name": "q" + "name": "o3" + }, + { + "name": "o2" + }, + { + "name": "o1" + }, + { + "name": "o0" } ] } }, "position": { - "x": 168, - "y": 112 + "x": 296, + "y": 176 }, "size": { - "width": 248, + "width": 208, "height": 80 } } @@ -5331,218 +4932,302 @@ "wires": [ { "source": { - "block": "61331ec5-2c56-4cdd-b607-e63b1502fa65", - "port": "q" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o1" }, "target": { - "block": "3d584b0a-29eb-47af-8c43-c0822282ef05", + "block": "f5a71d7b-de20-4527-80c8-0eb20de0dc77", + "port": "in" + } + }, + { + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o0" + }, + "target": { + "block": "0f7487e5-b070-4277-bba6-acf69934afca", + "port": "in" + } + }, + { + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o2" + }, + "target": { + "block": "33072210-9ba0-4659-8339-95952b939e6e", + "port": "in" + } + }, + { + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o3" + }, + "target": { + "block": "bbe1895b-be8b-4237-b0d1-ae592e3e6208", "port": "in" } + }, + { + "source": { + "block": "0ebd46a4-769b-45e6-bcaf-e3796264aed3", + "port": "out" + }, + "target": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i" + }, + "size": 4 } ] } } }, - "2a35153f656f2d69dfddb3d5023a77bf81baead9": { + "84f0a15761ee8b753f67079819a7614923939472": { "package": { - "name": "Mem-16B-icerok-probe", + "name": "Bus4-Join-all", "version": "0.1", - "description": "16B memory icerok probe", + "description": "Bus4-Join-all: Join all the wires into a 4-bits Bus", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22120.961%22%20width=%22100%22%3E%3Cdefs%3E%3Cfilter%20id=%22c%22%20color-interpolation-filters=%22sRGB%22%3E%3CfeGaussianBlur%20stdDeviation=%221.23%22/%3E%3C/filter%3E%3Cfilter%20id=%22g%22%20color-interpolation-filters=%22sRGB%22%3E%3CfeGaussianBlur%20stdDeviation=%221.23%22/%3E%3C/filter%3E%3Cfilter%20id=%22f%22%20color-interpolation-filters=%22sRGB%22%3E%3CfeGaussianBlur%20stdDeviation=%221.258%22/%3E%3C/filter%3E%3Cfilter%20id=%22e%22%20color-interpolation-filters=%22sRGB%22%3E%3CfeGaussianBlur%20stdDeviation=%221.312%22/%3E%3C/filter%3E%3Cfilter%20id=%22b%22%20height=%221.027%22%20width=%221.242%22%20y=%22-.013%22%20x=%22-.121%22%20color-interpolation-filters=%22sRGB%22%3E%3CfeGaussianBlur%20stdDeviation=%221.309%22/%3E%3C/filter%3E%3Cfilter%20id=%22d%22%20height=%221.027%22%20width=%221.242%22%20y=%22-.013%22%20x=%22-.121%22%20color-interpolation-filters=%22sRGB%22%3E%3CfeGaussianBlur%20stdDeviation=%221.309%22/%3E%3C/filter%3E%3Cfilter%20id=%22a%22%20height=%221.025%22%20width=%221.996%22%20y=%22-.012%22%20x=%22-.498%22%20color-interpolation-filters=%22sRGB%22%3E%3CfeGaussianBlur%20stdDeviation=%221.245%22/%3E%3C/filter%3E%3CradialGradient%20id=%22h%22%20gradientUnits=%22userSpaceOnUse%22%20cy=%22356.19%22%20cx=%22300%22%20gradientTransform=%22matrix(-.43814%20.01306%20-.0012%20-.02628%20181.233%2061.352)%22%20r=%2255.264%22%3E%3Cstop%20offset=%220%22/%3E%3Cstop%20stop-color=%22#464646%22%20offset=%22.602%22/%3E%3Cstop%20stop-color=%22#aca592%22%20stop-opacity=%220%22%20offset=%221%22/%3E%3C/radialGradient%3E%3ClinearGradient%20id=%22i%22%20y2=%22333.77%22%20gradientUnits=%22userSpaceOnUse%22%20x2=%22291.22%22%20gradientTransform=%22matrix(-.3425%20.01021%20-.01275%20-.27715%20156.562%20149.485)%22%20y1=%22330.77%22%20x1=%22291.22%22%3E%3Cstop%20stop-color=%22#fff%22%20stop-opacity=%22.362%22%20offset=%220%22/%3E%3Cstop%20stop-opacity=%220%22%20offset=%221%22/%3E%3C/linearGradient%3E%3ClinearGradient%20id=%22j%22%20y2=%22339.48%22%20gradientUnits=%22userSpaceOnUse%22%20x2=%22337.09%22%20gradientTransform=%22matrix(-.33921%20.01011%20-.01492%20-.32428%20156.195%20165.141)%22%20y1=%22339.48%22%20x1=%22343.43%22%3E%3Cstop%20stop-color=%22#fff%22%20stop-opacity=%22.362%22%20offset=%220%22/%3E%3Cstop%20stop-opacity=%220%22%20offset=%221%22/%3E%3C/linearGradient%3E%3ClinearGradient%20id=%22k%22%20y2=%22304.68%22%20gradientUnits=%22userSpaceOnUse%22%20x2=%22300.31%22%20gradientTransform=%22matrix(-.32563%20.0097%20-.01206%20-.2621%20151.26%20144.401)%22%20y1=%22331.2%22%20x1=%22300.31%22%3E%3Cstop%20stop-opacity=%22.302%22%20offset=%220%22/%3E%3Cstop%20stop-opacity=%220%22%20offset=%221%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath%20opacity=%22.95%22%20fill=%22none%22%20d=%22M0%2020.961h100v100H0z%22/%3E%3Cpath%20d=%22M53.928%20119.654L52.1%2079.937l-1.104-23.99-3.256.096%201.104%2023.991%201.826%2039.717z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#d4aa00%22/%3E%3Cpath%20d=%22M297%20109.34V352.4h6V109.34z%22%20style=%22text-indent:0;text-transform:none%22%20transform=%22matrix(-.32563%20.0097%20-.01206%20-.2621%20151.309%20145.45)%22%20color=%22#000%22%20fill=%22#fcff4c%22%20fill-opacity=%22.544%22%20filter=%22url(#a)%22/%3E%3Cpath%20d=%22M60.372%20117.56l3.198-.49c-3.202-13.45-7.816-28.557-8.457-42.475l-.863-18.749-3.256.098.863%2018.748c.658%2014.31%205.337%2029.518%208.514%2042.865z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#d45500%22/%3E%3Cpath%20d=%22M272.94%20116.59l-5.875%201.5c7.92%2051.61%2019.94%20109.69%2019.94%20162.79v71.531h6V280.88c0-54.598-12.202-113.07-20.062-164.28z%22%20style=%22text-indent:0;text-transform:none%22%20transform=%22matrix(-.32563%20.0097%20-.01206%20-.2621%20151.309%20145.45)%22%20color=%22#000%22%20fill=%22#fca%22%20fill-opacity=%22.409%22%20filter=%22url(#b)%22/%3E%3Cpath%20d=%22M69.996%20112.761l3.056-.912c-6.978-15.02-14.11-24.952-15.163-47.836l-.38-8.265-3.257.097.38%208.265c1.072%2023.296%208.478%2033.826%2015.364%2048.646z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#a00%22/%3E%3Cpath%20d=%22M79.672%20106.477l2.661-1.515c-9.79-11.143-20.205-19.73-21.186-41.045l-.38-8.264-3.257.097.38%208.264C58.902%2086%2070.056%2095.528%2079.674%20106.474z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#784421%22/%3E%3Cpath%20d=%22M89.428%2098.614l1.962-2.092C81.67%2090.65%2065.24%2082.005%2064.402%2063.82l-.38-8.265-3.256.097.38%208.265C62.04%2083.35%2079.89%2092.851%2089.43%2098.614z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#1a1a1a%22/%3E%3Cpath%20d=%22M183.16%20189.47l-4.313%201.75c28.98%2023.48%2079.65%2053.27%2079.65%20129.66v31.531h4V320.88c0-71.639-50.903-108.37-79.344-131.41z%22%20style=%22text-indent:0;text-transform:none%22%20transform=%22matrix(-.32563%20.0097%20-.01206%20-.2621%20151.309%20145.45)%22%20color=%22#000%22%20fill=%22#fff%22%20fill-opacity=%22.313%22%20filter=%22url(#c)%22/%3E%3Cpath%20d=%22M44.052%20118.046c1.941-13.5%205.209-28.946%204.55-43.257l-.862-18.748-3.256.097.863%2018.748c.64%2013.918-2.572%2029.258-4.53%2042.86l3.234.297z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22green%22/%3E%3Cpath%20transform=%22matrix(.32563%20-.0097%20-.01206%20-.2621%20-44.14%20150.226)%22%20d=%22M272.94%20112.59l-5.875%201.5c7.92%2051.61%2019.94%20109.69%2019.94%20162.79v71.531h6V276.88c0-54.598-12.202-113.07-20.062-164.28z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#cfa%22%20fill-opacity=%22.409%22%20filter=%22url(#d)%22/%3E%3Cpath%20d=%22M34.013%20113.833c5.507-15.193%2011.923-26.132%2010.85-49.43l-.38-8.265-3.256.097.38%208.264c1.053%2022.883-5.147%2033.214-10.725%2048.606l3.131.727z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#04a%22/%3E%3Cpath%20transform=%22matrix(.32563%20-.0097%20-.01206%20-.2621%20-44.202%20150.228)%22%20d=%22M242.75%20129.78l-3.5%203.125c19.277%2058.01%2038.25%2096.664%2038.25%20183.97v31.531h5.5v-31.531c0-88.882-21.224-129.84-40.25-187.09z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#acf%22%20fill-opacity=%22.475%22%20filter=%22url(#e)%22/%3E%3Cpath%20d=%22M23.786%20108.143C32.372%2096.651%2042.62%2086.487%2041.607%2064.5l-.38-8.264-3.257.097.38%208.264c.981%2021.314-8.618%2030.496-17.358%2042.192l2.793%201.352z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#aa00d4%22/%3E%3Cpath%20transform=%22matrix(.32563%20-.0097%20-.01206%20-.2621%20-63.922%20150.816)%22%20d=%22M275.19%20158.62l-4.375-.531c28.45%2043.57%2057.68%2077.47%2057.68%20158.79v31.53h4v-31.53c0-83.882-29.36-115.45-57.312-158.25z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#eaf%22%20fill-opacity=%22.483%22%20filter=%22url(#f)%22/%3E%3Cpath%20d=%22M13.334%20100.883c8.983-6.313%2025.91-16.854%2025.017-36.287l-.38-8.264-3.257.097.38%208.264c.837%2018.184-14.754%2027.784-23.91%2034.22l2.149%201.97z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#6f6f91%22/%3E%3Cpath%20transform=%22matrix(.32563%20-.0097%20-.01206%20-.2621%20-43.742%20150.214)%22%20d=%22M183.16%20185.47l-4.313%201.75c28.98%2023.48%2078.15%2055.27%2078.15%20129.65v31.531h5V316.87c0-69.13-50.4-108.37-78.84-131.4z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#dbdbe3%22%20fill-opacity=%22.429%22%20filter=%22url(#g)%22/%3E%3Cpath%20d=%22M73.69%2057.606L25.264%2059.05l-.202-4.398c12.474-.817%2026.455-1.496%2048.425-1.444z%22%20color=%22#000%22%20fill=%22url(#h)%22/%3E%3Cpath%20d=%22M64.604%2060.633l-30.005.894-.246-5.336c7.717-.77%2016.373-1.346%2030.005-.894z%22%20color=%22#000%22%20fill=%22#1a1a1a%22/%3E%3Cpath%20d=%22M64.467%2060.434l-29.75.887-.03-.659c7.655-.673%2016.24-1.19%2029.75-.887z%22%20color=%22#000%22%20fill=%22url(#i)%22/%3E%3Cpath%20d=%22M36.953%2061.291l-2.194.066-.236-5.14c1.09-.029%201.543-.087%202.193-.067z%22%20color=%22#000%22%20fill=%22url(#j)%22/%3E%3Cpath%20d=%22M64.526%2067.018l-29.466.88-.296-6.44c7.578-.746%2016.08-1.306%2029.465-.879z%22%20color=%22#000%22%20fill=%22url(#k)%22/%3E%3Cpath%20d=%22M39.749%2062.438a17382.86%2017382.86%200%200%200-16.022-9.136c-7.035-4.007-12.814-7.308-12.842-7.335-.028-.027%209.023-5.125%2020.114-11.329L51.164%2023.36l.041%207.98c.023%204.39.047%2012.504.052%2018.034l.01%2010.053-.258.043c-1.31.216-2.573.602-3.6%201.102-1.394.678-3.04%202.007-3.947%203.188-.227.296-.428.536-.447.533a258.47%20258.47%200%200%201-3.266-1.854zm19.433.916c-1.387-1.72-3.778-3.223-5.848-3.68a84.366%2084.366%200%200%201-1.148-.258c-.103-.026-.17-5.28-.231-18.058-.047-9.91-.072-18.034-.055-18.05.033-.034%2038.983%2022.448%2039.105%2022.57.073.073-30.92%2018.297-31.09%2018.28-.05-.005-.38-.367-.733-.804zM10.639%2069.42c0-18.118.034-22.668.17-22.583.094.058%207.285%204.221%2015.98%209.252%209.32%205.392%2015.801%209.22%2015.79%209.327-.011.1-.12.542-.244.985-.509%201.835-.413%204.334.24%206.25l.307.9-15.328%208.835a7575.428%207575.428%200%200%201-16.122%209.278l-.793.444zM76.18%2083.365c-8.53-5.14-15.551-9.39-15.604-9.443-.052-.052.06-.584.25-1.183.514-1.62.592-4.195.184-6.007-.163-.72-.275-1.328-.25-1.349.147-.123%2030.997-18.63%2031.055-18.63.098%200%20.056%2038.69-.046%2042.727l-.082%203.233z%22%20fill=%22#7ccff4%22/%3E%3Cpath%20d=%22M92.898%2047.736c-1.658%207.32%203.673%2035.148-.816%2037.094-9.788-16.912-21.55-23.98-21.55-23.98s15.22-10.893%2022.366-13.114zM52.12%2022.772c5.53%205.076%2032.33%2014.27%2031.79%2019.131-19.54.097-31.517%206.795-31.517%206.795s-1.893-18.62-.273-25.926zM10.95%2045.233C18.165%2043.167%2040%2025.11%2043.865%2028.108c-10.12%2016.716-10.66%2030.428-10.66%2030.428S16.333%2050.43%2010.95%2045.233zm-.857%2047.424c1.753-7.298-3.22-35.193%201.293-37.08%209.57%2017.036%2021.24%2024.255%2021.24%2024.255s-15.36%2010.696-22.533%2012.825z%22%20fill=%22#98ddf4%22/%3E%3Cpath%20d=%22M10.564%2046.162l41.054-23.67L92.644%2046.21l-.027%2047.383L59.74%2074.253a9.364%209.364%200%201%200-16.216-.008L10.543%2093.551zM43.022%2065.23L10.568%2046.171m41.05-23.284l.023%2037.158m8.689%205.13L92.646%2046.21%22%20fill=%22none%22%20stroke=%22#275d75%22%20stroke-width=%223.009%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22translate(-44.235%2067.501)%20scale(.75005)%22%20stroke=%22#00f400%22%3E%3Ccircle%20r=%2224.508%22%20cy=%221.741%22%20cx=%22128.644%22%20opacity=%22.95%22%20fill=%22#272524%22%20stroke-width=%222.247%22%20stroke-linecap=%22round%22/%3E%3Cpath%20d=%22M113.085%2010.269h16.744V-9.227h14.781%22%20fill=%22none%22%20stroke-width=%222.682%22/%3E%3C/g%3E%3Ctext%20style=%22line-height:1.25%22%20x=%228.309%22%20y=%2217.029%22%20font-weight=%22400%22%20font-size=%2221.804%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%22.545%22%3E%3Ctspan%20x=%228.309%22%20y=%2217.029%22%3E16Bytes%3C/tspan%3E%3C/text%3E%3C/svg%3E", - "otid": 1596697289362 + "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=%22M164.218%2077.643L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v26.186l61.698.046c8.012-.043%2015.705%203.133%2021.47%208.81l61.448%2061.315a57.292%2057.292%200%200%200%2039.993%2016.139%2057.292%2057.292%200%200%200-39.993%2016.14L83.668%20190.45c-5.765%205.677-13.458%208.853-21.47%208.81L.5%20199.306v26.186h62.612c14.924.039%2029.463-5.9%2040.204-16.28l60.902-60.863a29.857%2029.857%200%200%201%2021.347-8.81l146.53-.113V86.457H185.571a29.884%2029.884%200%200%201-21.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "01edffcc-6e84-40ff-a986-e6bb1d144035", - "type": "basic.inputLabel", + "id": "6c2aa548-5a4c-4e8d-a56c-a70926b19f18", + "type": "basic.input", "data": { - "blockColor": "fuchsia", - "name": "tx", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "name": "3", + "clock": false }, "position": { - "x": 1168, - "y": 536 + "x": 80, + "y": 64 } }, { - "id": "874e0745-10f1-45c2-8893-f7dfad87390d", - "type": "basic.outputLabel", + "id": "346b4ae4-4bb6-4845-9c17-3b25e0dde718", + "type": "basic.input", "data": { - "blockColor": "yellow", - "name": "clk" + "name": "2", + "clock": false }, "position": { - "x": 648, - "y": 544 + "x": 80, + "y": 136 } }, { - "id": "bef1b4c2-b479-4152-ba4d-eb6b9906949c", - "type": "basic.input", + "id": "55180947-6349-4a04-a151-ad69ea2b155e", + "type": "basic.output", "data": { "name": "", - "clock": true + "range": "[3:0]", + "size": 4 }, "position": { - "x": -32, - "y": 584 + "x": 712, + "y": 200 } }, { - "id": "e957a950-a21d-4560-8c01-c477d88a75a2", - "type": "basic.inputLabel", + "id": "969e11ca-69e8-403b-a566-7bf2fbe3a5a8", + "type": "basic.input", "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "name": "1", + "clock": false }, "position": { - "x": 112, - "y": 584 + "x": 80, + "y": 208 } }, { - "id": "757f1816-834d-4cd7-a5e1-d726a472de91", - "type": "basic.output", + "id": "e4111201-8441-4e7d-bcd2-bcf9d265d043", + "type": "basic.input", "data": { - "name": "tx" + "name": "0", + "clock": false }, "position": { - "x": 1456, - "y": 600 + "x": 80, + "y": 272 } }, { - "id": "b5a3b2cc-7b32-4ac9-b6bf-002fe40d9ebe", - "type": "basic.outputLabel", + "id": "16e78204-213e-4833-9096-89d735307ec2", + "type": "basic.code", "data": { - "blockColor": "fuchsia", - "name": "tx", - "oldBlockColor": "fuchsia" + "code": "assign o = {i3, i2, i1, i0};\n", + "params": [], + "ports": { + "in": [ + { + "name": "i3" + }, + { + "name": "i2" + }, + { + "name": "i1" + }, + { + "name": "i0" + } + ], + "out": [ + { + "name": "o", + "range": "[3:0]", + "size": 4 + } + ] + } }, "position": { - "x": 1304, - "y": 600 + "x": 296, + "y": 176 + }, + "size": { + "width": 344, + "height": 104 + } + } + ], + "wires": [ + { + "source": { + "block": "969e11ca-69e8-403b-a566-7bf2fbe3a5a8", + "port": "out" + }, + "target": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i1" } }, { - "id": "25428eb9-c2a5-476c-8ea5-4876e3cb78cb", + "source": { + "block": "e4111201-8441-4e7d-bcd2-bcf9d265d043", + "port": "out" + }, + "target": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i0" + } + }, + { + "source": { + "block": "346b4ae4-4bb6-4845-9c17-3b25e0dde718", + "port": "out" + }, + "target": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i2" + }, + "vertices": [ + { + "x": 200, + "y": 176 + } + ] + }, + { + "source": { + "block": "6c2aa548-5a4c-4e8d-a56c-a70926b19f18", + "port": "out" + }, + "target": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i3" + }, + "vertices": [ + { + "x": 224, + "y": 128 + } + ] + }, + { + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o" + }, + "target": { + "block": "55180947-6349-4a04-a151-ad69ea2b155e", + "port": "in" + }, + "size": 4 + } + ] + } + } + }, + "a1ce303b8ce47a06371ea4641c81460f34a1cca9": { + "package": { + "name": "AdderC-4bits", + "version": "0.1", + "description": "AdderC-4bits: Adder of two operands of 4 bits and Carry in", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618560481898 + }, + "design": { + "graph": { + "blocks": [ + { + "id": "1c9b3962-5793-4e6f-98d4-9ca2113d0823", "type": "basic.inputLabel", "data": { - "blockColor": "fuchsia", - "name": "stdo", - "range": "[9:0]", + "blockColor": "deeppink", + "name": "a3", "pins": [ - { - "index": "9", - "name": "", - "value": "" - }, - { - "index": "8", - "name": "", - "value": "" - }, - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, { "index": "0", - "name": "", - "value": "" + "name": "NULL", + "value": "NULL" } ], - "virtual": true + "virtual": true, + "oldBlockColor": "deeppink" }, "position": { - "x": 1160, - "y": 616 + "x": 8, + "y": -744 } }, { - "id": "2226faa1-dd30-45cc-b4fb-2bcffd758576", + "id": "161a3e27-de9b-4674-b990-c1e8314a29f3", "type": "basic.outputLabel", "data": { - "blockColor": "fuchsia", - "name": "stdo_1", - "range": "[9:0]", - "oldBlockColor": "fuchsia", - "size": 10 + "blockColor": "deeppink", + "name": "a3", + "oldBlockColor": "deeppink" }, "position": { - "x": 648, - "y": 616 + "x": 576, + "y": -736 } }, { - "id": "b1e41924-f354-4744-b5f0-a93a1fdc6828", - "type": "basic.input", + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", "data": { - "name": "trig", - "clock": false + "name": "c" }, "position": { - "x": -32, - "y": 664 + "x": 920, + "y": -696 } }, { - "id": "4de777a9-a4a5-4ace-adf6-688298d0d736", + "id": "73a0a48e-d345-4eda-8603-782e9865d928", "type": "basic.inputLabel", "data": { - "blockColor": "fuchsia", - "name": "trig", + "blockColor": "deeppink", + "name": "a2", "pins": [ { "index": "0", @@ -5550,89 +5235,81 @@ "value": "NULL" } ], - "virtual": true + "virtual": true, + "oldBlockColor": "deeppink" }, "position": { - "x": 112, - "y": 664 + "x": 8, + "y": -688 } }, { - "id": "9cdfc247-4374-4660-b8c7-246e9aa090d7", - "type": "basic.input", + "id": "05fb13c5-879a-422f-84a8-56d1db8816da", + "type": "basic.outputLabel", "data": { - "name": "ch", - "range": "[7:0]", - "clock": false, - "size": 8 + "blockColor": "fuchsia", + "name": "b3", + "oldBlockColor": "fuchsia" }, "position": { - "x": -32, - "y": 752 + "x": 576, + "y": -672 } }, { - "id": "b3f14933-93b7-4bc1-8585-471518a370ce", + "id": "a30f87da-7077-4ad6-92dd-adbfdd1bed45", "type": "basic.inputLabel", "data": { - "name": "ch", - "range": "[7:0]", + "blockColor": "deeppink", + "name": "a1", "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, { "index": "0", - "name": "", - "value": "" + "name": "NULL", + "value": "NULL" } ], "virtual": true, - "blockColor": "fuchsia" + "oldBlockColor": "deeppink" }, "position": { - "x": 120, - "y": 752 + "x": 8, + "y": -632 } }, { - "id": "97a9bf0d-0475-40fe-bcc2-f75e2b928290", + "id": "c2d36218-be99-4dd1-bf69-7690c667255b", + "type": "basic.input", + "data": { + "name": "", + "range": "[3:0]", + "clock": false, + "size": 4 + }, + "position": { + "x": -312, + "y": -632 + } + }, + { + "id": "ed7a30bc-17fc-444e-89e5-aa9f83b32e86", + "type": "basic.outputLabel", + "data": { + "blockColor": "deeppink", + "name": "a2", + "oldBlockColor": "deeppink" + }, + "position": { + "x": 456, + "y": -584 + } + }, + { + "id": "d7d5e8c8-78dd-41a8-aedf-1051b89bfb77", "type": "basic.inputLabel", "data": { - "blockColor": "fuchsia", - "name": "on2", + "blockColor": "deeppink", + "name": "a0", "pins": [ { "index": "0", @@ -5644,452 +5321,250 @@ "oldBlockColor": "fuchsia" }, "position": { - "x": 1136, - "y": 760 + "x": 8, + "y": -576 } }, { - "id": "a76b111f-f808-4e45-8873-d8e76eb8612e", + "id": "3c8597e6-ca79-494a-9a53-04c284205216", "type": "basic.outputLabel", "data": { - "blockColor": "yellow", - "name": "clk" + "blockColor": "fuchsia", + "name": "b2", + "oldBlockColor": "fuchsia" }, "position": { - "x": 824, - "y": 768 + "x": 456, + "y": -528 } }, { - "id": "95f8ff76-02e4-4f69-8db6-d285cfe13d4a", + "id": "ee992ca6-d586-4901-aaa3-a17d94ddac84", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "b3", + "pins": [ + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia" + }, + "position": { + "x": -8, + "y": -448 + } + }, + { + "id": "c5dce3e4-5ecc-4fc9-bbf6-7c1adfa1c7ff", "type": "basic.outputLabel", "data": { - "blockColor": "yellow", - "name": "clk" + "blockColor": "deeppink", + "name": "a1", + "oldBlockColor": "fuchsia" }, "position": { "x": 328, - "y": 784 + "y": -440 } }, { - "id": "db47aa3d-add3-4672-aad0-e71644d43161", + "id": "fb8bbeb1-5c60-4629-bc13-231545818d0b", "type": "basic.inputLabel", "data": { "blockColor": "fuchsia", - "name": "stdo_1", - "range": "[9:0]", + "name": "b2", "pins": [ - { - "index": "9", - "name": "", - "value": "" - }, - { - "index": "8", - "name": "", - "value": "" - }, - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, { "index": "0", - "name": "", - "value": "" + "name": "NULL", + "value": "NULL" } ], - "virtual": true + "virtual": true, + "oldBlockColor": "fuchsia" }, "position": { - "x": 1184, - "y": 824 + "x": -8, + "y": -384 } }, { - "id": "b1cd47ec-5a10-4bd1-bff9-a9d1707d621d", - "type": "basic.outputLabel", + "id": "d192d0af-e7be-4be6-925a-50227d80784c", + "type": "basic.input", "data": { - "blockColor": "yellow", - "name": "clk" + "name": "", + "range": "[3:0]", + "clock": false, + "size": 4 }, "position": { - "x": 1312, - "y": 840 + "x": -312, + "y": -384 } }, { - "id": "f443dcde-4fbe-46f8-90d9-94a64a06a928", + "id": "038a8cb8-35b8-424a-9d14-c320cfcddccf", "type": "basic.outputLabel", "data": { "blockColor": "fuchsia", - "name": "stdo", - "range": "[9:0]", - "size": 10 + "name": "b1" }, "position": { - "x": 792, - "y": 848 - } + "x": 328, + "y": -376 + } }, { - "id": "096003ce-186a-4b28-8793-420c798499d2", - "type": "basic.outputLabel", + "id": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42", + "type": "basic.output", "data": { - "name": "mbus", - "range": "[13:0]", - "blockColor": "fuchsia", - "size": 14 + "name": "s", + "range": "[3:0]", + "size": 4 }, "position": { - "x": 264, - "y": 856 + "x": 1064, + "y": -368 } }, { - "id": "72a72392-ecf8-409d-a508-2d2c6c1b136c", + "id": "527c9113-e440-454b-b427-182b646c10f5", "type": "basic.inputLabel", "data": { - "name": "mbus", - "range": "[13:0]", + "blockColor": "fuchsia", + "name": "b1", "pins": [ - { - "index": "13", - "name": "", - "value": "" - }, - { - "index": "12", - "name": "", - "value": "" - }, - { - "index": "11", - "name": "", - "value": "" - }, - { - "index": "10", - "name": "", - "value": "" - }, - { - "index": "9", - "name": "", - "value": "" - }, - { - "index": "8", - "name": "", - "value": "" - }, - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, { "index": "0", - "name": "", - "value": "" + "name": "NULL", + "value": "NULL" } ], - "virtual": true, - "blockColor": "fuchsia" + "virtual": true }, "position": { - "x": 1616, - "y": 896 + "x": -16, + "y": -320 } }, { - "id": "02620ac0-eba1-4e7b-8c7c-42f281dfad06", + "id": "f8dceaf6-6020-49e5-b775-ed4821fbd5bd", "type": "basic.outputLabel", "data": { - "blockColor": "fuchsia", - "name": "trig", + "blockColor": "deeppink", + "name": "a0", "oldBlockColor": "fuchsia" }, "position": { - "x": 224, - "y": 944 + "x": 184, + "y": -296 } }, { - "id": "8de3b7b2-f1f3-41a6-91c1-dcd310e375b5", + "id": "b652825e-10ba-47cc-9832-e39d73586234", "type": "basic.inputLabel", "data": { "blockColor": "fuchsia", - "name": "data2", - "range": "[7:0]", + "name": "b0", "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, { "index": "0", - "name": "", - "value": "" + "name": "NULL", + "value": "NULL" } ], "virtual": true, "oldBlockColor": "fuchsia" }, "position": { - "x": 1152, - "y": 1000 + "x": -32, + "y": -264 } }, { - "id": "db924183-9079-4d5e-ba72-24086b523403", + "id": "7e5351cc-ea73-4bb2-9dda-0390f005b90b", "type": "basic.outputLabel", "data": { - "name": "ch", - "range": "[7:0]", "blockColor": "fuchsia", - "size": 8 + "name": "b0", + "oldBlockColor": "fuchsia" }, "position": { - "x": 280, - "y": 1016 + "x": 184, + "y": -232 } }, { - "id": "e7b0e2e7-b435-4215-a6f7-d9ac0c6726bd", - "type": "basic.constant", + "id": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86", + "type": "basic.input", "data": { - "name": "sclk", - "value": "12000000", - "local": false + "name": "ci", + "clock": false }, "position": { - "x": 880, - "y": 480 + "x": -296, + "y": -168 } }, { - "id": "a23126b7-19d0-4249-b3da-817a04fac6a6", - "type": "basic.constant", - "data": { - "name": "bps", - "value": "115200", - "local": false - }, + "id": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", "position": { - "x": 1040, - "y": 480 + "x": 464, + "y": -392 + }, + "size": { + "width": 96, + "height": 96 } }, { - "id": "68b503e6-2b67-4fba-9b21-96ca03b1ac6a", - "type": "basic.memory", - "data": { - "name": "", - "list": "00\n01\n02\n03\n04\n05\n06\n07\n08\n09\n0A\n0B\n0C\n0D\n0E\n0F\n", - "local": true, - "format": 10 - }, + "id": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", "position": { - "x": 1424, - "y": 672 + "x": 608, + "y": -544 }, "size": { - "width": 152, - "height": 160 + "width": 96, + "height": 96 } }, { - "id": "1b7cce1e-5e7b-4fef-93cd-ff06c9262fbf", - "type": "basic.info", - "data": { - "info": "## Icerok-probe machine\n\nMachine for capturing data, storing it in the memory and transmit \nto the computer by serial port", - "readonly": true - }, + "id": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "type": "c4f23ad05c2010ec9bd213c8814c9238873037ae", "position": { - "x": -48, - "y": 368 + "x": -168, + "y": -416 }, "size": { - "width": 688, - "height": 88 + "width": 96, + "height": 128 } }, { - "id": "1a5dba1d-460f-4fe7-b89a-e82a5ce80797", - "type": "basic.info", - "data": { - "info": "Writing the data to the memory on \nevery system clock cycle", - "readonly": true - }, + "id": "57e59301-2919-4f06-ba95-54ce5d99d774", + "type": "c4f23ad05c2010ec9bd213c8814c9238873037ae", "position": { - "x": 368, - "y": 1080 + "x": -152, + "y": -664 }, "size": { - "width": 296, - "height": 56 + "width": 96, + "height": 128 } }, { - "id": "e9eeb570-af93-4a48-a7bb-b2373f112a3d", - "type": "basic.info", - "data": { - "info": "Transmiting the raw memory contents \nto the computer, by serial port", - "readonly": true - }, + "id": "11342001-e6e0-443b-af87-0e5d7ada0227", + "type": "84f0a15761ee8b753f67079819a7614923939472", "position": { - "x": 936, - "y": 1080 - }, - "size": { - "width": 296, - "height": 56 - } - }, - { - "id": "120026aa-96d4-4c3f-bdf9-6ae35383aa84", - "type": "basic.info", - "data": { - "info": "When the sampling is done \ntransmit the information to \nthe computer", - "readonly": true - }, - "position": { - "x": 664, - "y": 992 - }, - "size": { - "width": 280, - "height": 72 - } - }, - { - "id": "7c470f08-1331-4242-ad22-412c4e83cf61", - "type": "basic.info", - "data": { - "info": "Memory were the data \nis stored", - "readonly": true - }, - "position": { - "x": 1448, - "y": 984 - }, - "size": { - "width": 216, - "height": 64 - } - }, - { - "id": "8d4702c6-7ee0-4768-9480-03d077785a14", - "type": "5db16434c331e6689e301a8620b611571d914365", - "position": { - "x": 1456, - "y": 896 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "1725cc20-1beb-4be7-b4ec-9e288b631779", - "type": "26ab4b14044d51c1bbe481de5533a9b47d267746", - "position": { - "x": 488, - "y": 896 + "x": 896, + "y": -400 }, "size": { "width": 96, @@ -6097,23 +5572,23 @@ } }, { - "id": "90332e4a-ed30-407a-9144-b5a97b4e83e0", - "type": "3611498f72f6612ad9bff72919bddb61a3ef0e82", + "id": "72c87c65-b34b-480f-8cde-cd97c0914014", + "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", "position": { - "x": 984, - "y": 864 + "x": 744, + "y": -688 }, "size": { "width": 96, - "height": 192 + "height": 96 } }, { - "id": "13459b93-cb56-4480-8170-22510d3c3a80", - "type": "af1545e2cba3d57550e8c41f0e5cd36e4ec1e0be", + "id": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", + "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", "position": { - "x": 904, - "y": 600 + "x": 320, + "y": -248 }, "size": { "width": 96, @@ -6124,461 +5599,616 @@ "wires": [ { "source": { - "block": "02620ac0-eba1-4e7b-8c7c-42f281dfad06", + "block": "038a8cb8-35b8-424a-9d14-c320cfcddccf", "port": "outlabel" }, "target": { - "block": "1725cc20-1beb-4be7-b4ec-9e288b631779", - "port": "b14f140b-7bb5-46d9-8019-39c27ff6e0e3" - }, - "vertices": [] + "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + } }, { "source": { - "block": "90332e4a-ed30-407a-9144-b5a97b4e83e0", - "port": "38abb13c-8652-41fb-931c-c7bf760ebb24" + "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "port": "f5a71d7b-de20-4527-80c8-0eb20de0dc77" }, "target": { - "block": "97a9bf0d-0475-40fe-bcc2-f75e2b928290", + "block": "527c9113-e440-454b-b427-182b646c10f5", "port": "inlabel" - }, - "vertices": [] + } }, { "source": { - "block": "90332e4a-ed30-407a-9144-b5a97b4e83e0", - "port": "3066cf48-9921-4487-826e-0464a2dead7a", - "size": 8 + "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "port": "0f7487e5-b070-4277-bba6-acf69934afca" }, "target": { - "block": "8de3b7b2-f1f3-41a6-91c1-dcd310e375b5", + "block": "b652825e-10ba-47cc-9832-e39d73586234", "port": "inlabel" - }, - "vertices": [], - "size": 8 + } }, { "source": { - "block": "90332e4a-ed30-407a-9144-b5a97b4e83e0", - "port": "20d63505-e2fd-44ed-95b9-9f45e8875e70", - "size": 10 + "block": "7e5351cc-ea73-4bb2-9dda-0390f005b90b", + "port": "outlabel" }, "target": { - "block": "db47aa3d-add3-4672-aad0-e71644d43161", - "port": "inlabel" - }, - "vertices": [], - "size": 10 + "block": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", + "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + } }, { "source": { - "block": "f443dcde-4fbe-46f8-90d9-94a64a06a928", + "block": "f8dceaf6-6020-49e5-b775-ed4821fbd5bd", "port": "outlabel" }, "target": { - "block": "90332e4a-ed30-407a-9144-b5a97b4e83e0", - "port": "886b88b1-4987-4f1f-aadd-d82bb53ab445", - "size": 10 - }, - "vertices": [], - "size": 10 + "block": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + } }, { "source": { - "block": "13459b93-cb56-4480-8170-22510d3c3a80", - "port": "93defa79-7f79-4614-8e5b-17ceacc8c7cf", - "size": 10 + "block": "57e59301-2919-4f06-ba95-54ce5d99d774", + "port": "0f7487e5-b070-4277-bba6-acf69934afca" }, "target": { - "block": "25428eb9-c2a5-476c-8ea5-4876e3cb78cb", + "block": "d7d5e8c8-78dd-41a8-aedf-1051b89bfb77", "port": "inlabel" - }, - "vertices": [], - "size": 10 + } }, { "source": { - "block": "2226faa1-dd30-45cc-b4fb-2bcffd758576", + "block": "c5dce3e4-5ecc-4fc9-bbf6-7c1adfa1c7ff", "port": "outlabel" }, "target": { - "block": "13459b93-cb56-4480-8170-22510d3c3a80", - "port": "bf297685-7b54-477f-b9ee-3c143135097b", - "size": 10 - }, - "vertices": [], - "size": 10 + "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + } }, { "source": { - "block": "bef1b4c2-b479-4152-ba4d-eb6b9906949c", - "port": "out" + "block": "57e59301-2919-4f06-ba95-54ce5d99d774", + "port": "f5a71d7b-de20-4527-80c8-0eb20de0dc77" }, "target": { - "block": "e957a950-a21d-4560-8c01-c477d88a75a2", + "block": "a30f87da-7077-4ad6-92dd-adbfdd1bed45", "port": "inlabel" - }, - "vertices": [] + } }, { "source": { - "block": "874e0745-10f1-45c2-8893-f7dfad87390d", - "port": "outlabel" + "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "port": "33072210-9ba0-4659-8339-95952b939e6e" }, "target": { - "block": "13459b93-cb56-4480-8170-22510d3c3a80", - "port": "2d00d963-00f8-4a0a-9cb8-a4e5bfb61323" + "block": "fb8bbeb1-5c60-4629-bc13-231545818d0b", + "port": "inlabel" } }, { "source": { - "block": "13459b93-cb56-4480-8170-22510d3c3a80", - "port": "f2043f09-b391-40ea-9d1d-721438b68ef1" + "block": "57e59301-2919-4f06-ba95-54ce5d99d774", + "port": "33072210-9ba0-4659-8339-95952b939e6e" }, "target": { - "block": "01edffcc-6e84-40ff-a986-e6bb1d144035", + "block": "73a0a48e-d345-4eda-8603-782e9865d928", "port": "inlabel" } }, { "source": { - "block": "b5a3b2cc-7b32-4ac9-b6bf-002fe40d9ebe", + "block": "3c8597e6-ca79-494a-9a53-04c284205216", "port": "outlabel" }, "target": { - "block": "757f1816-834d-4cd7-a5e1-d726a472de91", - "port": "in" + "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" } }, { "source": { - "block": "b1e41924-f354-4744-b5f0-a93a1fdc6828", - "port": "out" + "block": "ed7a30bc-17fc-444e-89e5-aa9f83b32e86", + "port": "outlabel" }, "target": { - "block": "4de777a9-a4a5-4ace-adf6-688298d0d736", + "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + } + }, + { + "source": { + "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "port": "bbe1895b-be8b-4237-b0d1-ae592e3e6208" + }, + "target": { + "block": "ee992ca6-d586-4901-aaa3-a17d94ddac84", "port": "inlabel" } }, { "source": { - "block": "9cdfc247-4374-4660-b8c7-246e9aa090d7", - "port": "out", - "size": 8 + "block": "57e59301-2919-4f06-ba95-54ce5d99d774", + "port": "bbe1895b-be8b-4237-b0d1-ae592e3e6208" }, "target": { - "block": "b3f14933-93b7-4bc1-8585-471518a370ce", + "block": "1c9b3962-5793-4e6f-98d4-9ca2113d0823", "port": "inlabel" }, - "size": 8 + "vertices": [ + { + "x": -24, + "y": -696 + } + ] }, { "source": { - "block": "db924183-9079-4d5e-ba72-24086b523403", + "block": "05fb13c5-879a-422f-84a8-56d1db8816da", "port": "outlabel" }, "target": { - "block": "1725cc20-1beb-4be7-b4ec-9e288b631779", - "port": "9978357f-7ad7-44b5-97d2-b44692508773", - "size": 8 - }, - "size": 8 + "block": "72c87c65-b34b-480f-8cde-cd97c0914014", + "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + } }, { "source": { - "block": "95f8ff76-02e4-4f69-8db6-d285cfe13d4a", + "block": "161a3e27-de9b-4674-b990-c1e8314a29f3", "port": "outlabel" }, "target": { - "block": "1725cc20-1beb-4be7-b4ec-9e288b631779", - "port": "7fb933a6-5c63-4d46-8aaa-440b30974993" + "block": "72c87c65-b34b-480f-8cde-cd97c0914014", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" } }, { "source": { - "block": "a76b111f-f808-4e45-8873-d8e76eb8612e", - "port": "outlabel" + "block": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "90332e4a-ed30-407a-9144-b5a97b4e83e0", - "port": "7fb933a6-5c63-4d46-8aaa-440b30974993" + "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "port": "5e915366-608a-431a-bf68-8c64fb4c302c" } }, { "source": { - "block": "b1cd47ec-5a10-4bd1-bff9-a9d1707d621d", - "port": "outlabel" + "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "port": "c7d2d573-b901-420e-a923-6832e5b18e34" }, "target": { - "block": "8d4702c6-7ee0-4768-9480-03d077785a14", - "port": "6080df5a-c853-47cf-aaa7-c5a8f1e65879" + "block": "11342001-e6e0-443b-af87-0e5d7ada0227", + "port": "969e11ca-69e8-403b-a566-7bf2fbe3a5a8" } }, { "source": { - "block": "8d4702c6-7ee0-4768-9480-03d077785a14", - "port": "29234969-c318-4201-b86b-7bbc0f38d2c2", - "size": 14 + "block": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", + "port": "c7d2d573-b901-420e-a923-6832e5b18e34" }, "target": { - "block": "72a72392-ecf8-409d-a508-2d2c6c1b136c", - "port": "inlabel" + "block": "11342001-e6e0-443b-af87-0e5d7ada0227", + "port": "e4111201-8441-4e7d-bcd2-bcf9d265d043" + } + }, + { + "source": { + "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, - "size": 14 + "target": { + "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "port": "5e915366-608a-431a-bf68-8c64fb4c302c" + } }, { "source": { - "block": "096003ce-186a-4b28-8793-420c798499d2", - "port": "outlabel" + "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "port": "c7d2d573-b901-420e-a923-6832e5b18e34" }, "target": { - "block": "1725cc20-1beb-4be7-b4ec-9e288b631779", - "port": "9cabcf85-d855-4e65-96c9-13c244d34d4d", - "size": 14 + "block": "11342001-e6e0-443b-af87-0e5d7ada0227", + "port": "346b4ae4-4bb6-4845-9c17-3b25e0dde718" }, "vertices": [ { - "x": 400, - "y": 912 + "x": 824, + "y": -424 } - ], - "size": 14 + ] }, { "source": { - "block": "68b503e6-2b67-4fba-9b21-96ca03b1ac6a", - "port": "memory-out" + "block": "d192d0af-e7be-4be6-925a-50227d80784c", + "port": "out" }, "target": { - "block": "8d4702c6-7ee0-4768-9480-03d077785a14", - "port": "b07ab569-1013-48d4-916e-4e447f8ea11b" + "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "port": "0ebd46a4-769b-45e6-bcaf-e3796264aed3" }, - "vertices": [] + "size": 4 }, { "source": { - "block": "1725cc20-1beb-4be7-b4ec-9e288b631779", - "port": "95c4416f-62f5-4196-a406-f7915d40a572" + "block": "c2d36218-be99-4dd1-bf69-7690c667255b", + "port": "out" }, "target": { - "block": "90332e4a-ed30-407a-9144-b5a97b4e83e0", - "port": "b14f140b-7bb5-46d9-8019-39c27ff6e0e3" + "block": "57e59301-2919-4f06-ba95-54ce5d99d774", + "port": "0ebd46a4-769b-45e6-bcaf-e3796264aed3" }, - "vertices": [] + "size": 4 }, { "source": { - "block": "1725cc20-1beb-4be7-b4ec-9e288b631779", - "port": "0d362d8c-37c7-4a07-af15-ae7af9bbc7c9" + "block": "11342001-e6e0-443b-af87-0e5d7ada0227", + "port": "55180947-6349-4a04-a151-ad69ea2b155e" }, "target": { - "block": "90332e4a-ed30-407a-9144-b5a97b4e83e0", - "port": "472c0cbb-1d6b-4af4-a439-52f52118d405" + "block": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42", + "port": "in" }, - "size": 14 + "size": 4 }, { "source": { - "block": "90332e4a-ed30-407a-9144-b5a97b4e83e0", - "port": "727e032f-d74b-464e-81fe-b30b1e669b9e" + "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "8d4702c6-7ee0-4768-9480-03d077785a14", - "port": "8fd18a6c-a1d7-494a-916f-fe51094f3872" + "block": "72c87c65-b34b-480f-8cde-cd97c0914014", + "port": "5e915366-608a-431a-bf68-8c64fb4c302c" }, - "size": 14 + "vertices": [ + { + "x": 728, + "y": -552 + } + ] }, { "source": { - "block": "a23126b7-19d0-4249-b3da-817a04fac6a6", - "port": "constant-out" + "block": "72c87c65-b34b-480f-8cde-cd97c0914014", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "13459b93-cb56-4480-8170-22510d3c3a80", - "port": "d4a02852-2578-4c4d-b7e2-0708b0ef9794" + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" } }, { "source": { - "block": "e7b0e2e7-b435-4215-a6f7-d9ac0c6726bd", - "port": "constant-out" + "block": "72c87c65-b34b-480f-8cde-cd97c0914014", + "port": "c7d2d573-b901-420e-a923-6832e5b18e34" + }, + "target": { + "block": "11342001-e6e0-443b-af87-0e5d7ada0227", + "port": "6c2aa548-5a4c-4e8d-a56c-a70926b19f18" + } + }, + { + "source": { + "block": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86", + "port": "out" }, "target": { - "block": "13459b93-cb56-4480-8170-22510d3c3a80", - "port": "bb5ac23f-87a4-4029-8fa8-ed6b93a824f9" + "block": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", + "port": "5e915366-608a-431a-bf68-8c64fb4c302c" } } ] } } }, - "5db16434c331e6689e301a8620b611571d914365": { + "c3c498191b14e9288a85fa2871b3966665f75475": { "package": { - "name": "Smem-16B-bus", + "name": "AdderC-8bits", "version": "0.1", - "description": "16B memory. Bus interface", + "description": "AdderC-8bits: Adder of two operands of 8 bits and Carry in", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20viewBox=%220%200%2087.168922%20102.99556%22%20height=%22389.275%22%20width=%22329.457%22%3E%3Cg%20transform=%22translate(-159.832%20-119.548)%22%3E%3Cimage%20xlink:href=%22data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAgM0lEQVR4Xu1dCZBU1bm+PdPTM8CM%20AgMO+yCrAq4oGjWKIIorcYnRlD59saImGlOaqK/UPPeHu5VyjyYuMRu+uFVEjRqX4FNRQURwQVxQ%20YdiGZQYGepZ+33frfK9Oneq+t+/0zHTad/+qU7fv7bt0n/8///L9/znX+1ZTTDHFFFNMMcUUU0wx%20xRRTTDHFFFNMMcUUU0wxxZToofuX8XPo82LqcLaZUhUAMbucraKi4viysrI9jCBkp5gybKBH0un0%20cuy3URC6WwiSXvcRmV9ZVVV1azKZPBvN69+/vzd06FBv2LBh1mkxff31197ixYvJfa+1tfUnHR0d%20x7W1tc3HV2kJQakJQBmZjzYUo99n/qRJk7xTTz3V69WrV5bTY/rmm2+8u+++29u6desO2L0cAnCq%20YXy61AQgYe5bBebvB9XvJRIJ79hjj/VSqZTX3t6e5ZKYBg0a5B133HHenDlzPPRZLQ5VG+a3lpwJ%20kPoH83uT+Ww77rhjCPNjYh+Z/hqK3T5oW9C2obWXlAaQAMCm9SovL/cGDx7sQaWFXBbTTjvt5AsA%20+qwOu7SVSTnOpSgASdBkSjTtPhybkMtioomkyWTjLvmjSK0UncAkJLmMAgDKUwBiqqur81atWkUt%200Bcmc2XJaQCBPtqCvMrKyjztf0wIm9lp1AbjW1paPrIwlUzJaAAJAKgajbYtTwGIaeDAgd6KFSv8%20zmMfloIJcCFf3rOCDT7AKAgAAY78nMCYqC3lB/Q1/Zgy4WB7AERcVAFIiPE333zz6JEjR565ffv2%20Xlu2bKm58847d2psbKQAhGiAmOQr1dTU+J8PPPDAE37wgx8MhgO9BeZg++bNm18588wzXzYQcXtX%20CUGii5ifuuyyy8YD7Fk4YMAAOTHelVde6X300UfejBkzPAhGwG1i5ksA2HdPPfWUd/LJJ7NRczKM%209iOp55577oyzzjrrvwkOGUHIFFsDJIya6nPQQQfdSweGKoyNAgBNIIcmRxQQM15ELcl9oKdU/4yh%202W/sR/anvz98+PD/wqnPozUZc9BeFA3gMv/GG288CgLwaL9+/by+fft6q1ev9gXgqKOO8v/MEUcc%204UOdJUxiUgSmRhv59va3v/2tnztBv9J0+k40Bxe16fLly2effvrpt1EIlCfobg2Q0FYq34J7q6ZN%20mzZ8v/32u5nSKonllhKrPACOyQcofQEonPlZma7GZ6jPFD5v27bN69Onj78/evTon/34xz9+/v77%20719s+NFup5OjOoqJKA7ezjvvPAuM7QuGJkBlyFtXgNkzMbrHUXUx3Utmf/XVVz7zTzrpJL9TTjnl%20FK+EieYrAuO1H8r8nBrgb3/7m1dbW+vNnj3bfzY165AhQ7zPPvvM9wlWrly5DFnD5yAUaQhMB4Qk%20g/My0LxPn3POOQuiOIqJPCDd1IMPPnjiiBEjHiFzObK15Y9Zs2aNn+Ovrq5mKtP74IMPlPjxfvGL%20X3ggCkKpC0AhjNdxfbZb1u9ffPFFb8OGDd4dd9zB+gBv/fr13pgxYzw62OzzTz75hKaWfc5+5jFt%20aX5/hrT7gzQPchQ7awLKZOPB4Nly7CQAbBzlUv38/P7773vQEs0vv/zyckhpNTpkNK6X+i911a/P%20UUe8y2jdI6tgiMj4t956axGFb88996wD0wfRDJDp7G/wQ+l18kJbaoo7jjzyyL8/++yzX8tR7JQG%20EPPRasHQT/FwPkBCwCaJ8zXAhx9+6Esp4lVJqXfDDTf42uDggw/uSVsscjtd+1Gu1/lsETRAkLoP%201whLlizx2+9//3uNbm/8+PHe22+/7e2yyy5ECmluXQ3A5kdeTz/99OlwIOfiVs0mZMwUpAEA6pDx%20fKgEQM6ez4w33niDQuDbLVJzczO/U1hDFdqVjC/cMYt+vYRAx8JUvCtA+Qinew/aeoZ+ZDAjAZ/p%20L730EiMEAkbsY35HXnDLfqdJZn/3poOO1kIB6KwJSAjWBZOXbtq0acK6det4c7v5Dx83bhwZQcEg%20w33mAwFkR7goYE8LghgSpgGiMknfBal7Nff5bIHnsx+5hZPN/vQZrKTaPvvsw/IxagGZYTX1/Qo4%207B8Y/y1RSBiokKIDCN9//upXvzoRUjgMzKxgBMBIgIQQpQwJjElQRymZBgoAnRj9GVzTE/Y5aDQV%20cr39XRRV79p6CQKZlfV7HaPZlPYk0zm6JQDIEHKkL2tqatrcAWIEwMvwfevatWu/efTRR1+wI4BC%20BYA32o625dprr32R/gBab3NdObzSGoAWp+AHp+QfSOVLimWnihSjizGFXu9+7zLVfYaOaWt/lkl0%20Ge+eRy0qbIX7cvoIq484/vjjH4BGbrJCvq1oG9BWo20zqj/U9iZC1H81mY5q1csQ6x+KeHSkHQbS%204VMRA4/RLr3zzjsefYbXXnuNjTbMb98KClf37ne5jkkLZDUX7Nd//vOf3ne/+13vkEMO8Xr37s1I%20gJqAZsHXrtAATB3bTiCPrYXf8NpvfvObG8GHz4UWFuIElkGl/BwO3r+7IaCwfkqlnEH+6LFjx3Kf%20zJc0f9vyAO7IzmfUZ8MW3OO6BweStGd6t912S5Hpb775pjd58mSli8lw5Q3kBBIbGIhrT0QSbgTM%209jGqJ+iMACivX4VM1BnCAOwmW88fy+8XLFjAH9R49NFHPwNPNA3I8mgcHwTp/bYIQC47HmYqcp7j%20OpiuxnjssceW3X777f/D/YcffvhwhIH1+++/vwYd+10aQELBRuRw3/PPP38s0vGLFQayRRWASrQ+%20YF6N7BCbGwYyTUnmm+rf/n/+859P5+df//rX3scff+ypIORbQLkAnSAH0T2WCxDKeg5yLBP/9Kc/%20TbSdwHnz5tEcKMyWj2BjATQhHIzjcJtPjA/XHlUDCAPoDa9T6kXhhv9gMXbhwoW0RYxTqf4JBUtA%205PCUPBLo2m2X+focgQLxAWL+ep4YTJyFnxsaGuhnMSlE6F0mVlv6ATzOaKHNDOLyzkQBSgKVY87a%20vXBEzqVU8eZ8iJhKdJB2CRgBpZPHZaPowRbTB3DVaqHXh4V67oiOKgTaJ+MY40sA5PlL8xJsI/PT%20mE+YIlDEczTYYG7pN9BJnHfvvfd+lk9NYTIkBGy9/PLLn5syZcoqPHRnaIIqU6yYAGMpWeWoA9h1%203333HQfG0ymk6uEPlQAwj01hKVUBEEPz9eZzYQt5h6LLli0jw3k+4XRXALjPnMt6wL3zySOc126u%207QBrtmOQrnnmmWfeVh1hZ5NBHWS+iS03zp8//2O0tSY3UG5a6phjjhkPp2Sc4n/lsCWRaMUe/WJM%20IdcGaQD+vyBgxx7pYc/loGHmz36WgCBbAJgXGAwsoOamm26aJ0ab1kJ+oTWibdF3hQhAC8KQjtNO%20O+0QPPBgSFh5whCksgwmYJjtINIUfPnll2SARkexBUCd35UCQIa710SCjd3vlTHl6Hc1Co9xS5yf%20dl8a4fDDD5+2xx57jAAPVA/gI7eoKVz4/PPPz4EWkAB0RBWAhGl8SM0FF1xwPx4yXo6dtgR7Nm7c%20qOofZgVZrsSctf8ZxOOlYv+DGGcLM7dhYV02LRAaKXz66adZsQH6A6NGjfK++OILf4ChLoMCwHQx%20ne8x6G95/0oaTdh1112PQ6Rw8vXXX/9GZ6FgqviKH/7wh6cB5h2fDQPgD6Dal+3HH6D6WoLpzSuQ%20H6hFR00pCQEITwa5zHcdvygYQFYBBYbPweQy33/ek08+OR9+1DqM9tqJEyfuB6bT0dM6C9II8hNk%20LmrgnJ+Nr98xvGyPggMIBOoNaZqZCwOgACgWfe+99wgHUyv0wxz3fvBOK1naDCqeAES3wdkydmJ6%20ULVPlJSve4whm7z+rNfuvffew1BnMYz9iMGYBhiUAj7AwWfnB1xAiP1eTx4aHKA1qgmoQOuFZMM2%20Le0iVS8hkF2aO3euX6Sw++678/gQNP04tmJhAO4oDTtH4Wouu5+rHiDoWNjz+Tyqdqn+XGsGDGEx%20CJnKfqYJIBhUX19PbMBGAwXPU5swZE8aAWg2g7o9igDwghTU+st4yIEo8qR614PUuNYPcQB2gh0B%20KEnEzz2NAopRQUwPvc62+7YwhJHLePd+7rmI5VnxG6hdpGnJZEHAsPF+4ccLL7ygzKsGp2oFeXyp%20GchlnU0Hd1xzzTXzZs2add306dMPwg1T6AS/yIC1AHhgAn+gDAKyN+yRoGEJQE+HgTbTIwhA4LlK%20bbueea578ry8439oVwI2YfWECv2k1qVdOcqX4bNqAjIQlAySRh1pELTywoceeuhFjfqoAkCOtZmc%208mbY8vfQvsF+jSTKXFcJ3P80FSdasCVbT6OAfE6AAETzB8TMELJHdyR4mBEUwrW8tAqFRFgAeKuq%20HxZ/1iE8nwsHkuq2VcCdUfmN5J3hYVvUbGDGXNTCm8ABqcVExYGQsio0nl9ObYBc9QGIS4fpB0kA%20ILHqCDGm2GrfPTdSvt9toKAQMBQSpsqX05cHUdXbA0ueP0PAHe67776TkSz6K/q8FfdrY8PnXsBi%20Nr/yyiubyMNOFYWqnBiFIMfAAbnBjQA0H4CMFvYPtUMcm99zCpPjHUemqPa7K+bm2aPfbi4zXSaH%20ZvtssAfMsZy+cGKU8Prrr8u790w6WFp28HnnnXc+czJ2JMDt2Wef/QjC+EsiQcH2TKCf/vSnoydM%20mEDm55wPIPWPknCqpmY4i58atTUGm2qZgH/xtK6Y7gI/dtMxCbUNCGk/0PaT6eifKMzX/IA0/IWl%20uI4O9xhA8tUHHHAAGc0+Z3OxAG4ZIfzb7373u0U/+tGPHrDKwzKhGkBz/hBrni6VLqbbn/VgxPy0%20aXT81iFV2c7vlL9mKxIFedZBJVuuANgYiC0IWa9xBcl2hOnxa7Z0BGJ+IAVktZ1C9eqrr34BQGgS%20J+DstddedmGIRr6azAUHYq+gxFAyFwYAhlbxB8vDd6Fgph5ZnkxnBhlBerUjEaeOxHcMGYVs9SST%20XTXunhNUjp1LACT4OuYyOFeuwN5nH3WK+boe4NpkMpU8QG6GU8c4SYSwO7Ot2YpCOCiJMFYRC5Av%20EMUEpABQLCHowHBF8/5tIu6PQlECEtQGFBTNExDzu0MAwpgpFet+F8z4cAFwr8l79EMrkhkF9YVU%20vJjNmgCG2iy+Yf/zmO1n0G8gwTfYbkVuiUg4wK233roIocYcqJyD8cBBkmp1Do41IzlBhldbtqi7%20BUCMCMvURREAXeMCP3axRdSmkS9MpCBBp++AbKwPCilFvMMOO6QBCDUCgh+kCEihMPiyEY7466gL%20fKJTOIBSwZjd+zi2LErsh1apKiFeN3PmzJFXXXXVLI4ONcs77Q4BiFKCnU0AwkZ8wPGiMF8CYDt6%203FcVdurxxx9fftttt82x5gZ0GOx/o5kfsDXIASQlA0CgJrQNmIo0GGqmL6SrEq2cNQE1oDPOOMNO%20FPFHUvq6QwDEvDDmh2mIfBnsRgNhQuPmDKj2HeYXLADC/O0ld7iG0IHAFRrhiK8jBsCqIPAijRxN%20K2oCGslDGwyKBAQh3kxdcskls4Et7207f3LyiEopSmBCg3XrBDlce1kA5a3m3a0oDxtv2+9sQpS3%20AMj/IMgjh68ryHj/nC1MH4BRAZNzFAiqetZsHMucjJw/YQFQ/w1wFn+C6myiuB1RcAC2sl/+8pdX%20wM67zBfmLxDIF4SlS5d6tEfwTL8CQOSvC1CQAIQzsKsFINu9o5gHxfnsj67WfGT6avCigWX3eMZw%20ONx08MgHNTcEZBsEMz0bAjA1ihOoKWG9MPIPs3EAu5FUC0AQCCaCKGB/ABX9oY5YKl6IBsjmXefj%202UcVAG2D7mufn2ufI94N9bpSANi/dejbOo5sMp9l44DoyQOZBxcHUCZ2l1tuuWVfDOZ5uXyBZI4J%20IdX4MzVcm8bWAPqsCSFaFwDlR5ocomyVmNYVDl4+4E22e0URAp0fKgDudWQ6R77sc3cQw0j5W0Bn%20WSPgm1xUCPG4iwOo0VQTla0jT+ULBGoAe0oY2lrUAwxEuKFRL/LVHNEoAD+Cg9kEQ0b3AcLj8rDz%20omiTIEdOlJXZrhDQBrP+UdhDdxHnY7hRAMwBcQD6AxRCt8BUi3RsRV3gEmEBkSaGYC7aLUgo/BwP%20GOJIvyYhNIL5/dHo/EkACBw5AhCZ8Z3VBtrm60i69wtkvnsNRxdr+XR+dxL7VQIgGB7amRnBZvgC%201RRABwsgGLQBcwcell8XFQdIo7hzKdq12B9gagHKhQPAIemDdQG+B+9TDiG3MhH5hoFBuHoU2DYb%20sztjXkKZr+JQ+DkclT2V6+AAk523cQGO8hRqAh7FHMxG4QDWWgHr0b4JWysgmQsEQtuMdOIQePf7%20EHTgqiBs6IAylCmPB0pYazkg/DFkJrdibHeM+nyAHzdTx2ORwkqX6fpMJI7MVxlXTxEdTJob8IH4%20ggSAWjh1xRVXHIEw/CPwhrzrIBaAz61AY1fAAfyQwhBFADISgj/+8Y8XA+s/xnUCyWyqPjJY8wEB%20OvDHsMlOhavjcMZHdwjdz+Fz/NTC7D4FW/aex3o6s0lnjn3PWgtlArlPSHggVmEbyLDQxQJQyLMP%20VhI5KbQs3MUALr300t3g3dvMd2sB1DhT1fcHnnjiiQWQ0jTO3x+d3j+LKg5KowYlVKLCv0EZw7yF%20T0zWdGsCMPq+GHTPPffM5fb73//+RDjg9ZivybUZqA1yYgHEcTBJ9ORzzz33/rxwAM35w41HK8HD%20G7lND+V8AGqBzz//fC1CkmGQ0ibkvSukItGij/rw40HMLhROVpO3rVCqaIyXFoPJHQbTm0IWdhPg%20efa9qoPCagJ2dsJABwfI8ro3jOKBzOgx3Wvj/ZrpQ3XDV50yHJw6dSqxgPEqB4MmYDawMyO5s0IQ%20ZRHH0BBTWkjhF4RZPkVRi1sOPfTQ3ckPMpYTQ7B4J00vcQGtHqowXIJAU81ooNKE9Vt4q7xwAEw8%20+AATPbZiejKLCeT9qnFU0A7xIaoF4GeZi6Awy7afUZgdBtkGCUC+foTqGch0OnwUcLu6qWhCoNBP%20CSEyW/X/1AQ0BfJXxCsKAWdrQSNHwgEybFiteiUeeAMqUWaiKGQ4vX9QQkzla0wgWYPhgFQ7qWA6%20ShKAqCM/2A8IX6SB2yjMd59HQIUjho0CYINaxV6rmGigFoWy1wxMAxD6ElP4iAVk0Dxu2TBI1/7l%20L395CeH6gnzTwYoA0lQXUOXvo63Bfl+0XlYtQAXeZTPhoosuGuv4BBQE4eE87uL4kRkOCmJa2HSv%20sHtJtUtdkukBL7cqriBQAKQBlIvh4pwo/96ACTxPaW6AtbbjJlMTsIX7eU0N08WaXIClxsbAw+/P%20eQAqBMGDdwBCON2pVVdIqCoabiM4gpF9gfxW6Q5v9O7p5LnVy0UUgvAZQiA5fXwryxRogvVIEK1A%20n/tCQBygEoTFpj90agI68jEB7Xg7Vd0JJ5zwACRsnJsIUtZLAoC4lKEgc9U2ChhVAKIJSDj8m7NA%20k8KpEYXUNUd9rmtzrv1XDGLCiQkg+l8sxhUKC4eb8f6ReCmHu3I4X9e/CotLn4Pyvoa8cAA5gXjB%20wy1wLGzm20KglarZiQwBGW9+CWdjPYSuBh01Vh1fIMAThtVHAZzYbHVPD1/OlZzbbHP8bOZrvxg+%20AAdeM3iyDJFANXCJscy5wPYrJUy+SPvas4UH431N90AAJltQfntWAVA1MFofPGhKrsUh7algzPtD%20/SzCJJJXqV4wVWzEd77znbH6IQWp//Da/chr95PJqmZyp3y7QuvOFnaFoYeJzvVmgEHzuHPxxRd/%20hWLdaQr/0Oz1hBQNCJUdCrh4+nXXXTfXrgkIEoBqwp4QgqwLQ1DV8yFcCpZFCQgVazET9Xv4LgMk%20sBfeciFp7MwI7xTcq3131GqSijx6mC4KrJa2t+cuqtPsY0FzAXtaG/BNLLVYtncWGcx8DON/ml7k%20ajgoyRdXA3BL/4ZRjd4fIF8gpwbgfhVuuBWLE/XOUgsgTJzM5yLQFJRhPMbzaFMxdYmd1LWjPvwe%209jO1r3WMKAAaHa59dxNHbsyv79mKxXz5LJXo8xGaH4CXRpCxHIAE5qjVstUE8Dues0FYQHhJGAiv%20JLsGb5+6QLUAjj0ns1dASEY48wFUGCFJ7DTkCyoogqB9h40UiKM5dq6nL0Zrm+14zn21HiIKr6IA%20qXyVizUiUqsGNpOyBJW8oNBsxNT+R4DrNJAVYUigpoVvxyLFS9CuNrUAVB/l9lvEEF6cxMWKskwI%204YMVBvYYw2Xfqe7gILkjPWCaeiiSmAvBLEZGUAJAYVY2ln1eceKJJz4EgW9WqGdai3l/wEpNDQsL%20AwUC8UbrjLrYrhdEmJaCw3cApowPcWsEhQgqZrXCr+4UADKbsTyl3bHdoat/BWkDl8HFYr77P2TK%20JBCMBGrw3uY9Acw9SX4JEDL2fqPh5WZ+l48AqBhkE5aInQoseRJHvVkaphw2pwKJiMOUJVRySEUg%202kYEgqKkaW01z0anrpA3g7jqPSgMLHpGEIUfeo2sPUOIOMAUvGOwCcc2kfk4Rl62oXhlKV44vQrR%202tZcq4Ym3VoAFBFOwtJkD+MhQ7NNCGGihD+C+4sWLeL6gEIBJZlkfr44QKTsIB0dRBruaC90RnGg%20utfxYhMZzsUl+P/Zz8Bd6IgLDOLqYdOdCSKcScwsYhOqt/kSiTeDfICEVDyygJfCcxwaMCGEW0UD%20tEdLYHe5SHEaAjIOD+4vAegEw9193p/PItMpYFGY4nr8BQhKUUlCSTRwSRrEUjD0yVhMQUuB6WET%20RGqwoATfJLqXfARbEyQdDKAGN58hECjXhBCqXYJACBNXQgtsxLYCmmADEMGMfACdHzG8U0WrMnMc%206RGYEk0Q1LElQBR+mgCfeeiTFryq7wvwYRyqg0MniOD8oVjuZwb8t7mWEGSyCUA1VTwQJt4w66IQ%20HJGcq8b1a/EjhoDpcgg9ZKb4lhBemy+Eq9WveF8y3Y1nu2OmTcm+sOKwww7bDXMx9FoYfwvgjXwg%20b7IWhbA/oZ2prbOCQUn3RdFgwlLYmgmK69mEoWs04v0A3OcKFQR/bCGRD+AyWfdQEzKXJ4Nicl8p%20z4IQ8gUmm1PFaCa5tXkgJJSTR7ZeffXVVmFIwLwAzCO7Ce+dPQ8MrYOzVwd/oNJ6nVkzsn9fwhEZ%20i5GfctYG5CjW4sddPBpjIrOhne03hckx5kBahtC8Foxm6l4oaBpRwGpo8yYsJ/eHrNlAeYWy/2gD%200UagDTUgUDVa0i4GeeCBB46DdzkKgkEUitlAaQBWrvpATPdQTIR/8WZwaV/2O/uf6eF1KP8mk1sd%20R2+rWTRyFdoKtAZTKLLd9QGEAWwx6FGKNzD7FXqHMN4dsD8mgo5SRCA0Suaie2PlmNx3CIkPCAEH%204GWRU1GoM8fE+20WPzeaWULN2bCApAMDp7GwwPAZM2bcgCTPWNl1MZhhHx+ulcOYjWI8KjBItr9b%20KCZqVy0aSbvOWdkSCNZk7AHnfA/wxl0trAER241ICT+WbdXQpA0Cgfn1WBz6Idy0xsUAGPrZkxBY%20lWJKx9fj+zRCtjRq1uu7LayKifaeo70BvgDRwEHvvvsuy8KVKFKBi1sUMghI4e14o/hK1BE854JB%20SXtCCEq9Z0GCxHy76SFML1IYOPI5B+CvSBrxHbUMC4fADtV3mwaIic4e52FQzXdMmzat7qyzzjqB%20L+dAWl6D0y0KkbngKmOn4rqX3UUjpQG47Q3vfqAyfE4xCG/Km2ttAHr688D8BSauTAAMqu3+apnY%20BzD2PP2Pf/xjPUZ/BXhzEvqcA5P8yYYFaI5DPau93DeIJO0ZQWB8K1U7gSAw1Mb0tWwpsX+uUPH+%20hRde+FccWmuSR0mopCHd7gTGoSD7vgkDlf1ehncDbwQAVAGmz6IPBpCIfoKwG9UEsDaCQrDOAEGK%206tpdJLDsrrvuehFTig+DJI2DTbcfrPlpvNF8FI3+wYQWqylRpoqoOR8BoGBRw5QKEWHj6CoW0c8C%205q+aBgI/O+It7Yu5y+7EuwOfx7wALtc7E4JRma14FZNHGgEFP2PVdbjzAX3VUIs2DK0eteaTEQUM%20ANMrcCNSBkxrA8zbgJKv5WS8EYC1+iGwSUdhIaPrKTgAkFjD5nde4RQT7DwhdvYnczD/geXfXrBq%20NerIY/gBQ+EfjOY7HdDKMiBo7zYIxfpnn312EXEANsOzZpkBlYJXkYloO/FmFAaznzLnCCdoNjjB%20GqvQIMnzsXDkz1EldDY9VAIWXUYxUetSAKiJuBjXJXhXEEfzZjN4+5Fvhmc11oqunmZ5WWDQGsO/%20FtsEZAxztaxIh7l5L7QKCYD1FpEmtE1mmzZSSEexRmAQVFYXqfnY5tPp1mLT3Gf9n+GHnLm0ccQ3%20GE2ekgC4PNPIz1YWrhuSWs3Jmg5mv0w6bc5rMZ8T5ruyBMiablWSoJAcp39F0iv4UKU1RoW/Wv/H%208KTJ4lmZg/BuYzPntbkCkNGJVl1guWkCiXROu91sIIkkpluOYylm3f7Vw0CZbQlBq2ktFvMTzsBV%2068g1MSRjtTb3HcLOOSJ9Tqj1CMNjSjhMFmNbrWOJAJ6FTg4VReFmGbJTEzXlqlsoJsK/rL9QfO4M%20Tm2jUbKrzCcApLcBB09k0WKXU0wq+2pBle/fHVVeEBU6XCtMuDgIbRRWF7sNocoYYgHFJL3mpRTJ%20rr9Mg+BQryOz8X+ake2bAxzgVSeeby+mAPCXVpvikeFo9cAA9kKoMoCARKKI9iAD4hZzHBsAj27j%20oVIKSOR4O5M8GtC+MtsN5nhHMQVAINKOBowYpKVlLRCpmNShpo4tMQFot1/jawCdtYb5muxRkGAn%20u0BSVXmyntLqgkhsRR5BGkWZEtQCAuAU5rGfm93K3mJqAGmBCjPiq0wTIJEoYudJA2S0LWEz0GZa%202rS2YjuB7j0UmyazgEjF70B7v7Qo42oz+1iRNED4vYrOfDHc3f4/o5hiiimmmGKKKaaYYooppphi%20iimmmGKKKaaYYooppv8FlJhXILrvZ3wAAAAASUVORK5CYII=%22%20preserveAspectRatio=%22none%22%20height=%22102.996%22%20width=%2287.169%22%20x=%22159.832%22%20y=%22119.548%22/%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20x=%22205.024%22%20y=%22157.686%22%20transform=%22scale(.98866%201.01147)%22%20font-weight=%22400%22%20font-size=%2219.302%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#ff0%22%20stroke-width=%22.504%22%3E%3Ctspan%20x=%22205.024%22%20y=%22157.686%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ERAM%3C/tspan%3E%3C/text%3E%3Ctext%20transform=%22scale(.98866%201.01147)%22%20y=%22193.338%22%20x=%22204.398%22%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20font-weight=%22400%22%20font-size=%2226.776%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#0ff%22%20stroke-width=%22.515%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20y=%22193.338%22%20x=%22204.398%22%20font-weight=%22500%22%3E16B%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E", - "otid": 1599036668965 + "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618560481898 }, "design": { "graph": { "blocks": [ { - "id": "6080df5a-c853-47cf-aaa7-c5a8f1e65879", + "id": "bc495131-253e-49c9-9cd7-9e843cbe7ce5", + "type": "basic.inputLabel", + "data": { + "name": "a1", + "range": "[3:0]", + "pins": [ + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "blockColor": "deeppink" + }, + "position": { + "x": -64, + "y": -648 + } + }, + { + "id": "4bf17d89-89b8-4524-800a-2d15f9bbb111", "type": "basic.input", "data": { "name": "", - "clock": true + "range": "[7:0]", + "clock": false, + "size": 8 }, "position": { - "x": 168, - "y": 392 + "x": -408, + "y": -584 } }, { - "id": "9edd47b2-4907-40d5-b10f-6aab4a9e797a", + "id": "dc0243cd-75d9-4b07-bc17-150c250121ba", "type": "basic.inputLabel", "data": { - "blockColor": "yellow", - "name": "clk", + "name": "a0", + "range": "[3:0]", "pins": [ + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, { "index": "0", "name": "", "value": "" } ], - "virtual": true + "virtual": true, + "oldBlockColor": "deeppink", + "blockColor": "deeppink" }, "position": { - "x": 312, - "y": 392 + "x": -64, + "y": -568 } }, { - "id": "270594ca-dba5-499a-8030-08e69613c220", + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", + "data": { + "name": "c" + }, + "position": { + "x": 832, + "y": -480 + } + }, + { + "id": "bd04885a-8a3a-4215-bbf1-c472c10c44f5", "type": "basic.outputLabel", "data": { - "blockColor": "yellow", - "name": "clk" + "name": "a1", + "range": "[3:0]", + "blockColor": "deeppink", + "size": 4 }, "position": { - "x": 392, - "y": 536 + "x": 248, + "y": -456 } }, { - "id": "29234969-c318-4201-b86b-7bbc0f38d2c2", - "type": "basic.output", + "id": "ba04e310-65e0-4554-ba2b-fbde28690a0b", + "type": "basic.inputLabel", "data": { - "name": "", - "range": "[13:0]", - "size": 14 + "name": "b1", + "range": "[3:0]", + "pins": [ + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "blockColor": "fuchsia" }, "position": { - "x": 1392, - "y": 696 + "x": -80, + "y": -448 } }, { - "id": "8fd18a6c-a1d7-494a-916f-fe51094f3872", + "id": "3867504b-f331-4e0e-b923-acc86cb4255c", "type": "basic.input", "data": { "name": "", - "range": "[13:0]", + "range": "[7:0]", "clock": false, - "size": 14 + "size": 8 }, "position": { - "x": 168, - "y": 712 + "x": -400, + "y": -392 } }, { - "id": "043752cd-506b-478d-affc-bdad68d7d0a9", - "type": "basic.outputLabel", + "id": "d60cb59e-3e5c-4044-ae1f-3a06f33e83f9", + "type": "basic.inputLabel", "data": { - "blockColor": "yellow", - "name": "clk" + "name": "b0", + "range": "[3:0]", + "pins": [ + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "blockColor": "fuchsia" }, "position": { - "x": 608, - "y": 848 + "x": -80, + "y": -376 } }, { - "id": "a04d00a7-87f1-485e-b24e-13078b946ef8", + "id": "383985cb-fd11-48ff-972a-cee8b631bd65", "type": "basic.outputLabel", "data": { - "blockColor": "yellow", - "name": "clk" + "name": "b1", + "range": "[3:0]", + "blockColor": "fuchsia", + "size": 4 }, "position": { - "x": 600, - "y": 1008 + "x": 248, + "y": -376 } }, { - "id": "b07ab569-1013-48d4-916e-4e447f8ea11b", - "type": "basic.memory", + "id": "9daaaf78-5a89-4d4a-a1b2-db1d3af962f1", + "type": "basic.output", "data": { - "name": "", - "list": "0 0 0 0\n0 0 0 0\n0 0 0 0\n0 0 0 0", - "local": false, - "format": 10 + "name": "s", + "range": "[7:0]", + "size": 8 }, "position": { - "x": 584, - "y": 504 + "x": 840, + "y": -336 + } + }, + { + "id": "7905afe7-6a82-43d9-811b-45f379a3c0a9", + "type": "basic.outputLabel", + "data": { + "name": "a0", + "range": "[3:0]", + "blockColor": "deeppink", + "size": 4 }, - "size": { - "width": 192, - "height": 112 + "position": { + "x": 120, + "y": -304 } }, { - "id": "776c027a-a389-4046-82ee-fa3d006ba0b1", - "type": "d49d834a24f78bb30b74683564d2f13a5cada9fa", + "id": "53d3821c-4072-438d-a45e-3a5364fdc8bc", + "type": "basic.outputLabel", + "data": { + "name": "b0", + "range": "[3:0]", + "blockColor": "fuchsia", + "size": 4 + }, "position": { - "x": 632, - "y": 648 + "x": 120, + "y": -232 + } + }, + { + "id": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86", + "type": "basic.input", + "data": { + "name": "ci", + "clock": false }, - "size": { - "width": 96, - "height": 128 + "position": { + "x": -392, + "y": -168 } }, { - "id": "70e71886-1594-499c-a6f5-a865165730a0", - "type": "6050ed4fa033f3f13d3fe5fae5dcedb414a0fede", + "id": "d5ab6421-1fc7-4d8d-8124-2cc7e0eb931d", + "type": "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a", "position": { - "x": 1216, - "y": 664 + "x": -248, + "y": -392 }, "size": { "width": 96, - "height": 128 + "height": 64 } }, { - "id": "bcc2e005-127b-4ef9-9b22-b07725cda3e2", - "type": "f1dc888a11b743f08087b6e65015fe269bed1f6f", + "id": "d6ce7b9d-d8cf-4cde-85a8-589536fcc3a3", + "type": "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a", "position": { - "x": 352, - "y": 680 + "x": -240, + "y": -584 }, "size": { "width": 96, - "height": 128 + "height": 64 } }, { - "id": "1b598360-9767-43a3-ae76-33599d7814a1", - "type": "a0b8df28f3452068e469a9c210e4e62ae8c78900", + "id": "0e0cf23b-5743-4a19-838d-fb46d407ee16", + "type": "afb28fd5426aea14477d11cbe30a290679f789f8", "position": { - "x": 1024, - "y": 568 + "x": 688, + "y": -336 }, "size": { "width": 96, @@ -6586,626 +6216,494 @@ } }, { - "id": "e96fe029-12e1-4f3a-b939-fa6209fe6269", - "type": "1c7dae7144d376f2ee4896fcc502a29110e2db37", + "id": "840ba8a1-693f-4531-a947-adcaeac4e854", + "type": "a1ce303b8ce47a06371ea4641c81460f34a1cca9", "position": { - "x": 768, - "y": 912 + "x": 320, + "y": -248 }, "size": { "width": 96, - "height": 64 + "height": 96 } }, { - "id": "1bf31738-b963-4b88-b792-23f90903e2b0", - "type": "1c7dae7144d376f2ee4896fcc502a29110e2db37", + "id": "7a4072f6-7500-4b87-86dc-2c63246b510b", + "type": "a1ce303b8ce47a06371ea4641c81460f34a1cca9", "position": { - "x": 768, - "y": 1056 + "x": 464, + "y": -392 }, "size": { "width": 96, - "height": 64 + "height": 96 } } ], "wires": [ { "source": { - "block": "6080df5a-c853-47cf-aaa7-c5a8f1e65879", - "port": "out" + "block": "d5ab6421-1fc7-4d8d-8124-2cc7e0eb931d", + "port": "eb61d084-ca22-4894-b8a2-f936db38f4b1", + "size": 4 }, "target": { - "block": "9edd47b2-4907-40d5-b10f-6aab4a9e797a", + "block": "d60cb59e-3e5c-4044-ae1f-3a06f33e83f9", "port": "inlabel" }, - "vertices": [] + "size": 4 }, { "source": { - "block": "270594ca-dba5-499a-8030-08e69613c220", - "port": "outlabel" + "block": "d5ab6421-1fc7-4d8d-8124-2cc7e0eb931d", + "port": "637e64f4-0a6b-4037-9a75-89397e078a58", + "size": 4 }, "target": { - "block": "776c027a-a389-4046-82ee-fa3d006ba0b1", - "port": "0b91cb0d-4144-4939-8755-e331104016db" + "block": "ba04e310-65e0-4554-ba2b-fbde28690a0b", + "port": "inlabel" }, - "vertices": [ - { - "x": 544, - "y": 616 - } - ] + "size": 4 }, { "source": { - "block": "043752cd-506b-478d-affc-bdad68d7d0a9", - "port": "outlabel" + "block": "d6ce7b9d-d8cf-4cde-85a8-589536fcc3a3", + "port": "eb61d084-ca22-4894-b8a2-f936db38f4b1", + "size": 4 }, "target": { - "block": "e96fe029-12e1-4f3a-b939-fa6209fe6269", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" - } + "block": "dc0243cd-75d9-4b07-bc17-150c250121ba", + "port": "inlabel" + }, + "size": 4 }, { "source": { - "block": "a04d00a7-87f1-485e-b24e-13078b946ef8", - "port": "outlabel" + "block": "d6ce7b9d-d8cf-4cde-85a8-589536fcc3a3", + "port": "637e64f4-0a6b-4037-9a75-89397e078a58", + "size": 4 }, "target": { - "block": "1bf31738-b963-4b88-b792-23f90903e2b0", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" - } + "block": "bc495131-253e-49c9-9cd7-9e843cbe7ce5", + "port": "inlabel" + }, + "size": 4 }, { "source": { - "block": "b07ab569-1013-48d4-916e-4e447f8ea11b", - "port": "memory-out" + "block": "53d3821c-4072-438d-a45e-3a5364fdc8bc", + "port": "outlabel" }, "target": { - "block": "776c027a-a389-4046-82ee-fa3d006ba0b1", - "port": "d80bfd80-1f6d-46af-b5de-5cd121ebe630" + "block": "840ba8a1-693f-4531-a947-adcaeac4e854", + "port": "d192d0af-e7be-4be6-925a-50227d80784c", + "size": 4 }, - "vertices": [] + "size": 4 }, { "source": { - "block": "776c027a-a389-4046-82ee-fa3d006ba0b1", - "port": "2f18358c-ebaa-4fbf-99b4-610ab78deed2" + "block": "7905afe7-6a82-43d9-811b-45f379a3c0a9", + "port": "outlabel" }, "target": { - "block": "70e71886-1594-499c-a6f5-a865165730a0", - "port": "25996d5e-6856-4828-8cb3-5dea5ff5cf9c" + "block": "840ba8a1-693f-4531-a947-adcaeac4e854", + "port": "c2d36218-be99-4dd1-bf69-7690c667255b", + "size": 4 }, - "vertices": [], - "size": 8 + "vertices": [ + { + "x": 272, + "y": -256 + } + ], + "size": 4 }, { "source": { - "block": "bcc2e005-127b-4ef9-9b22-b07725cda3e2", - "port": "74b8320c-7097-4f7b-9c14-fdd8d9a379ca" + "block": "383985cb-fd11-48ff-972a-cee8b631bd65", + "port": "outlabel" }, "target": { - "block": "776c027a-a389-4046-82ee-fa3d006ba0b1", - "port": "9598f3a5-bf63-4e35-ac2e-329d93da7d81" + "block": "7a4072f6-7500-4b87-86dc-2c63246b510b", + "port": "d192d0af-e7be-4be6-925a-50227d80784c", + "size": 4 }, - "vertices": [], "size": 4 }, { "source": { - "block": "bcc2e005-127b-4ef9-9b22-b07725cda3e2", - "port": "afe50480-6fe5-4ca6-b639-c730569a6a1d" + "block": "bd04885a-8a3a-4215-bbf1-c472c10c44f5", + "port": "outlabel" }, "target": { - "block": "776c027a-a389-4046-82ee-fa3d006ba0b1", - "port": "9931384a-74ee-4de4-9df7-cc04fd19cf46" + "block": "7a4072f6-7500-4b87-86dc-2c63246b510b", + "port": "c2d36218-be99-4dd1-bf69-7690c667255b", + "size": 4 }, - "vertices": [], - "size": 8 + "vertices": [ + { + "x": 384, + "y": -400 + } + ], + "size": 4 }, { "source": { - "block": "bcc2e005-127b-4ef9-9b22-b07725cda3e2", - "port": "c79430a3-a90f-40e9-af05-e6da44b5ac8d" + "block": "840ba8a1-693f-4531-a947-adcaeac4e854", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "776c027a-a389-4046-82ee-fa3d006ba0b1", - "port": "c61902b3-38ce-45bf-98c9-322638c2264b" - }, - "vertices": [] + "block": "7a4072f6-7500-4b87-86dc-2c63246b510b", + "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" + } }, { "source": { - "block": "1b598360-9767-43a3-ae76-33599d7814a1", - "port": "53acced8-0736-40f7-8db1-7103a21f31c2" + "block": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86", + "port": "out" }, "target": { - "block": "70e71886-1594-499c-a6f5-a865165730a0", - "port": "5c70a159-1900-4d97-9e7d-961876e03bbe" - }, - "vertices": [], - "size": 4 + "block": "840ba8a1-693f-4531-a947-adcaeac4e854", + "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" + } }, { "source": { - "block": "e96fe029-12e1-4f3a-b939-fa6209fe6269", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + "block": "4bf17d89-89b8-4524-800a-2d15f9bbb111", + "port": "out" }, "target": { - "block": "70e71886-1594-499c-a6f5-a865165730a0", - "port": "dbe1622c-3510-4132-8b5c-2fbf81d7f581" + "block": "d6ce7b9d-d8cf-4cde-85a8-589536fcc3a3", + "port": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e" }, - "vertices": [ - { - "x": 1128, - "y": 888 - } - ] + "size": 8 }, { "source": { - "block": "bcc2e005-127b-4ef9-9b22-b07725cda3e2", - "port": "c79430a3-a90f-40e9-af05-e6da44b5ac8d" + "block": "3867504b-f331-4e0e-b923-acc86cb4255c", + "port": "out" }, "target": { - "block": "e96fe029-12e1-4f3a-b939-fa6209fe6269", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + "block": "d5ab6421-1fc7-4d8d-8124-2cc7e0eb931d", + "port": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e" }, - "vertices": [ - { - "x": 560, - "y": 920 - } - ] + "size": 8 }, { "source": { - "block": "1bf31738-b963-4b88-b792-23f90903e2b0", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + "block": "0e0cf23b-5743-4a19-838d-fb46d407ee16", + "port": "1269698e-e555-4fcb-a613-cb4c7ff2e598" }, "target": { - "block": "70e71886-1594-499c-a6f5-a865165730a0", - "port": "49fb1766-1e7f-4706-9872-a6cd65cc9f2d" + "block": "9daaaf78-5a89-4d4a-a1b2-db1d3af962f1", + "port": "in" }, - "vertices": [] + "size": 8 }, { "source": { - "block": "bcc2e005-127b-4ef9-9b22-b07725cda3e2", - "port": "9751f777-00ec-46c1-8d85-07d2dec1e653" + "block": "840ba8a1-693f-4531-a947-adcaeac4e854", + "port": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42" }, "target": { - "block": "1bf31738-b963-4b88-b792-23f90903e2b0", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + "block": "0e0cf23b-5743-4a19-838d-fb46d407ee16", + "port": "843164ff-f7d8-48b9-bf59-1e0d1135c81f" }, - "vertices": [ - { - "x": 504, - "y": 992 - } - ] + "size": 4 }, { "source": { - "block": "8fd18a6c-a1d7-494a-916f-fe51094f3872", - "port": "out" + "block": "7a4072f6-7500-4b87-86dc-2c63246b510b", + "port": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42" }, "target": { - "block": "bcc2e005-127b-4ef9-9b22-b07725cda3e2", - "port": "3178c182-b1bd-4e92-bc67-6e0868b62279" + "block": "0e0cf23b-5743-4a19-838d-fb46d407ee16", + "port": "a1770adf-e143-4506-9d87-3cb9c870f534" }, - "size": 14 + "size": 4 }, { "source": { - "block": "70e71886-1594-499c-a6f5-a865165730a0", - "port": "d3e51db6-385f-454c-ab74-d71058b21962" + "block": "7a4072f6-7500-4b87-86dc-2c63246b510b", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "29234969-c318-4201-b86b-7bbc0f38d2c2", + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", "port": "in" }, - "size": 14 - } - ] - } + "vertices": [ + { + "x": 624, + "y": -392 + } + ] + } + ] + } } }, - "d49d834a24f78bb30b74683564d2f13a5cada9fa": { + "8cc49c9b29485f2cfeab6064d7bb1cf9ced045b1": { "package": { - "name": "Memory-16B", - "version": "1.0", - "description": "16 Bytes Synchronous memory", + "name": "Bus16-Join-half", + "version": "0.1", + "description": "Bus16-Join-half: Join the two same halves into an 16-bits Bus", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20viewBox=%220%200%2087.168922%20106.43202%22%20height=%22402.263%22%20width=%22329.457%22%3E%3Cg%20transform=%22translate(-159.832%20-119.548)%22%3E%3Cimage%20xlink:href=%22data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAgM0lEQVR4Xu1dCZBU1bm+PdPTM8CM%20AgMO+yCrAq4oGjWKIIorcYnRlD59saImGlOaqK/UPPeHu5VyjyYuMRu+uFVEjRqX4FNRQURwQVxQ%20YdiGZQYGepZ+33frfK9Oneq+t+/0zHTad/+qU7fv7bt0n/8///L9/znX+1ZTTDHFFFNMMcUUU0wx%20xRRTTDHFFFNMMcUUU0wxxZToofuX8XPo82LqcLaZUhUAMbucraKi4viysrI9jCBkp5gybKBH0un0%20cuy3URC6WwiSXvcRmV9ZVVV1azKZPBvN69+/vzd06FBv2LBh1mkxff31197ixYvJfa+1tfUnHR0d%20x7W1tc3HV2kJQakJQBmZjzYUo99n/qRJk7xTTz3V69WrV5bTY/rmm2+8u+++29u6desO2L0cAnCq%20YXy61AQgYe5bBebvB9XvJRIJ79hjj/VSqZTX3t6e5ZKYBg0a5B133HHenDlzPPRZLQ5VG+a3lpwJ%20kPoH83uT+Ww77rhjCPNjYh+Z/hqK3T5oW9C2obWXlAaQAMCm9SovL/cGDx7sQaWFXBbTTjvt5AsA%20+qwOu7SVSTnOpSgASdBkSjTtPhybkMtioomkyWTjLvmjSK0UncAkJLmMAgDKUwBiqqur81atWkUt%200Bcmc2XJaQCBPtqCvMrKyjztf0wIm9lp1AbjW1paPrIwlUzJaAAJAKgajbYtTwGIaeDAgd6KFSv8%20zmMfloIJcCFf3rOCDT7AKAgAAY78nMCYqC3lB/Q1/Zgy4WB7AERcVAFIiPE333zz6JEjR565ffv2%20Xlu2bKm58847d2psbKQAhGiAmOQr1dTU+J8PPPDAE37wgx8MhgO9BeZg++bNm18588wzXzYQcXtX%20CUGii5ifuuyyy8YD7Fk4YMAAOTHelVde6X300UfejBkzPAhGwG1i5ksA2HdPPfWUd/LJJ7NRczKM%209iOp55577oyzzjrrvwkOGUHIFFsDJIya6nPQQQfdSweGKoyNAgBNIIcmRxQQM15ELcl9oKdU/4yh%202W/sR/anvz98+PD/wqnPozUZc9BeFA3gMv/GG288CgLwaL9+/by+fft6q1ev9gXgqKOO8v/MEUcc%204UOdJUxiUgSmRhv59va3v/2tnztBv9J0+k40Bxe16fLly2effvrpt1EIlCfobg2Q0FYq34J7q6ZN%20mzZ8v/32u5nSKonllhKrPACOyQcofQEonPlZma7GZ6jPFD5v27bN69Onj78/evTon/34xz9+/v77%20719s+NFup5OjOoqJKA7ezjvvPAuM7QuGJkBlyFtXgNkzMbrHUXUx3Utmf/XVVz7zTzrpJL9TTjnl%20FK+EieYrAuO1H8r8nBrgb3/7m1dbW+vNnj3bfzY165AhQ7zPPvvM9wlWrly5DFnD5yAUaQhMB4Qk%20g/My0LxPn3POOQuiOIqJPCDd1IMPPnjiiBEjHiFzObK15Y9Zs2aNn+Ovrq5mKtP74IMPlPjxfvGL%20X3ggCkKpC0AhjNdxfbZb1u9ffPFFb8OGDd4dd9zB+gBv/fr13pgxYzw62OzzTz75hKaWfc5+5jFt%20aX5/hrT7gzQPchQ7awLKZOPB4Nly7CQAbBzlUv38/P7773vQEs0vv/zyckhpNTpkNK6X+i911a/P%20UUe8y2jdI6tgiMj4t956axGFb88996wD0wfRDJDp7G/wQ+l18kJbaoo7jjzyyL8/++yzX8tR7JQG%20EPPRasHQT/FwPkBCwCaJ8zXAhx9+6Esp4lVJqXfDDTf42uDggw/uSVsscjtd+1Gu1/lsETRAkLoP%201whLlizx2+9//3uNbm/8+PHe22+/7e2yyy5ECmluXQ3A5kdeTz/99OlwIOfiVs0mZMwUpAEA6pDx%20fKgEQM6ez4w33niDQuDbLVJzczO/U1hDFdqVjC/cMYt+vYRAx8JUvCtA+Qinew/aeoZ+ZDAjAZ/p%20L730EiMEAkbsY35HXnDLfqdJZn/3poOO1kIB6KwJSAjWBZOXbtq0acK6det4c7v5Dx83bhwZQcEg%20w33mAwFkR7goYE8LghgSpgGiMknfBal7Nff5bIHnsx+5hZPN/vQZrKTaPvvsw/IxagGZYTX1/Qo4%207B8Y/y1RSBiokKIDCN9//upXvzoRUjgMzKxgBMBIgIQQpQwJjElQRymZBgoAnRj9GVzTE/Y5aDQV%20cr39XRRV79p6CQKZlfV7HaPZlPYk0zm6JQDIEHKkL2tqatrcAWIEwMvwfevatWu/efTRR1+wI4BC%20BYA32o625dprr32R/gBab3NdObzSGoAWp+AHp+QfSOVLimWnihSjizGFXu9+7zLVfYaOaWt/lkl0%20Ge+eRy0qbIX7cvoIq484/vjjH4BGbrJCvq1oG9BWo20zqj/U9iZC1H81mY5q1csQ6x+KeHSkHQbS%204VMRA4/RLr3zzjsefYbXXnuNjTbMb98KClf37ne5jkkLZDUX7Nd//vOf3ne/+13vkEMO8Xr37s1I%20gJqAZsHXrtAATB3bTiCPrYXf8NpvfvObG8GHz4UWFuIElkGl/BwO3r+7IaCwfkqlnEH+6LFjx3Kf%20zJc0f9vyAO7IzmfUZ8MW3OO6BweStGd6t912S5Hpb775pjd58mSli8lw5Q3kBBIbGIhrT0QSbgTM%209jGqJ+iMACivX4VM1BnCAOwmW88fy+8XLFjAH9R49NFHPwNPNA3I8mgcHwTp/bYIQC47HmYqcp7j%20OpiuxnjssceW3X777f/D/YcffvhwhIH1+++/vwYd+10aQELBRuRw3/PPP38s0vGLFQayRRWASrQ+%20YF6N7BCbGwYyTUnmm+rf/n/+859P5+df//rX3scff+ypIORbQLkAnSAH0T2WCxDKeg5yLBP/9Kc/%20TbSdwHnz5tEcKMyWj2BjATQhHIzjcJtPjA/XHlUDCAPoDa9T6kXhhv9gMXbhwoW0RYxTqf4JBUtA%205PCUPBLo2m2X+focgQLxAWL+ep4YTJyFnxsaGuhnMSlE6F0mVlv6ATzOaKHNDOLyzkQBSgKVY87a%20vXBEzqVU8eZ8iJhKdJB2CRgBpZPHZaPowRbTB3DVaqHXh4V67oiOKgTaJ+MY40sA5PlL8xJsI/PT%20mE+YIlDEczTYYG7pN9BJnHfvvfd+lk9NYTIkBGy9/PLLn5syZcoqPHRnaIIqU6yYAGMpWeWoA9h1%203333HQfG0ymk6uEPlQAwj01hKVUBEEPz9eZzYQt5h6LLli0jw3k+4XRXALjPnMt6wL3zySOc126u%207QBrtmOQrnnmmWfeVh1hZ5NBHWS+iS03zp8//2O0tSY3UG5a6phjjhkPp2Sc4n/lsCWRaMUe/WJM%20IdcGaQD+vyBgxx7pYc/loGHmz36WgCBbAJgXGAwsoOamm26aJ0ab1kJ+oTWibdF3hQhAC8KQjtNO%20O+0QPPBgSFh5whCksgwmYJjtINIUfPnll2SARkexBUCd35UCQIa710SCjd3vlTHl6Hc1Co9xS5yf%20dl8a4fDDD5+2xx57jAAPVA/gI7eoKVz4/PPPz4EWkAB0RBWAhGl8SM0FF1xwPx4yXo6dtgR7Nm7c%20qOofZgVZrsSctf8ZxOOlYv+DGGcLM7dhYV02LRAaKXz66adZsQH6A6NGjfK++OILf4ChLoMCwHQx%20ne8x6G95/0oaTdh1112PQ6Rw8vXXX/9GZ6FgqviKH/7wh6cB5h2fDQPgD6Dal+3HH6D6WoLpzSuQ%20H6hFR00pCQEITwa5zHcdvygYQFYBBYbPweQy33/ek08+OR9+1DqM9tqJEyfuB6bT0dM6C9II8hNk%20LmrgnJ+Nr98xvGyPggMIBOoNaZqZCwOgACgWfe+99wgHUyv0wxz3fvBOK1naDCqeAES3wdkydmJ6%20ULVPlJSve4whm7z+rNfuvffew1BnMYz9iMGYBhiUAj7AwWfnB1xAiP1eTx4aHKA1qgmoQOuFZMM2%20Le0iVS8hkF2aO3euX6Sw++678/gQNP04tmJhAO4oDTtH4Wouu5+rHiDoWNjz+Tyqdqn+XGsGDGEx%20CJnKfqYJIBhUX19PbMBGAwXPU5swZE8aAWg2g7o9igDwghTU+st4yIEo8qR614PUuNYPcQB2gh0B%20KEnEzz2NAopRQUwPvc62+7YwhJHLePd+7rmI5VnxG6hdpGnJZEHAsPF+4ccLL7ygzKsGp2oFeXyp%20GchlnU0Hd1xzzTXzZs2add306dMPwg1T6AS/yIC1AHhgAn+gDAKyN+yRoGEJQE+HgTbTIwhA4LlK%20bbueea578ry8439oVwI2YfWECv2k1qVdOcqX4bNqAjIQlAySRh1pELTywoceeuhFjfqoAkCOtZmc%208mbY8vfQvsF+jSTKXFcJ3P80FSdasCVbT6OAfE6AAETzB8TMELJHdyR4mBEUwrW8tAqFRFgAeKuq%20HxZ/1iE8nwsHkuq2VcCdUfmN5J3hYVvUbGDGXNTCm8ABqcVExYGQsio0nl9ObYBc9QGIS4fpB0kA%20ILHqCDGm2GrfPTdSvt9toKAQMBQSpsqX05cHUdXbA0ueP0PAHe67776TkSz6K/q8FfdrY8PnXsBi%20Nr/yyiubyMNOFYWqnBiFIMfAAbnBjQA0H4CMFvYPtUMcm99zCpPjHUemqPa7K+bm2aPfbi4zXSaH%20ZvtssAfMsZy+cGKU8Prrr8u790w6WFp28HnnnXc+czJ2JMDt2Wef/QjC+EsiQcH2TKCf/vSnoydM%20mEDm55wPIPWPknCqpmY4i58atTUGm2qZgH/xtK6Y7gI/dtMxCbUNCGk/0PaT6eifKMzX/IA0/IWl%20uI4O9xhA8tUHHHAAGc0+Z3OxAG4ZIfzb7373u0U/+tGPHrDKwzKhGkBz/hBrni6VLqbbn/VgxPy0%20aXT81iFV2c7vlL9mKxIFedZBJVuuANgYiC0IWa9xBcl2hOnxa7Z0BGJ+IAVktZ1C9eqrr34BQGgS%20J+DstddedmGIRr6azAUHYq+gxFAyFwYAhlbxB8vDd6Fgph5ZnkxnBhlBerUjEaeOxHcMGYVs9SST%20XTXunhNUjp1LACT4OuYyOFeuwN5nH3WK+boe4NpkMpU8QG6GU8c4SYSwO7Ot2YpCOCiJMFYRC5Av%20EMUEpABQLCHowHBF8/5tIu6PQlECEtQGFBTNExDzu0MAwpgpFet+F8z4cAFwr8l79EMrkhkF9YVU%20vJjNmgCG2iy+Yf/zmO1n0G8gwTfYbkVuiUg4wK233roIocYcqJyD8cBBkmp1Do41IzlBhldbtqi7%20BUCMCMvURREAXeMCP3axRdSmkS9MpCBBp++AbKwPCilFvMMOO6QBCDUCgh+kCEihMPiyEY7466gL%20fKJTOIBSwZjd+zi2LErsh1apKiFeN3PmzJFXXXXVLI4ONcs77Q4BiFKCnU0AwkZ8wPGiMF8CYDt6%203FcVdurxxx9fftttt82x5gZ0GOx/o5kfsDXIASQlA0CgJrQNmIo0GGqmL6SrEq2cNQE1oDPOOMNO%20FPFHUvq6QwDEvDDmh2mIfBnsRgNhQuPmDKj2HeYXLADC/O0ld7iG0IHAFRrhiK8jBsCqIPAijRxN%20K2oCGslDGwyKBAQh3kxdcskls4Et7207f3LyiEopSmBCg3XrBDlce1kA5a3m3a0oDxtv2+9sQpS3%20AMj/IMgjh68ryHj/nC1MH4BRAZNzFAiqetZsHMucjJw/YQFQ/w1wFn+C6myiuB1RcAC2sl/+8pdX%20wM67zBfmLxDIF4SlS5d6tEfwTL8CQOSvC1CQAIQzsKsFINu9o5gHxfnsj67WfGT6avCigWX3eMZw%20ONx08MgHNTcEZBsEMz0bAjA1ihOoKWG9MPIPs3EAu5FUC0AQCCaCKGB/ABX9oY5YKl6IBsjmXefj%202UcVAG2D7mufn2ufI94N9bpSANi/dejbOo5sMp9l44DoyQOZBxcHUCZ2l1tuuWVfDOZ5uXyBZI4J%20IdX4MzVcm8bWAPqsCSFaFwDlR5ocomyVmNYVDl4+4E22e0URAp0fKgDudWQ6R77sc3cQw0j5W0Bn%20WSPgm1xUCPG4iwOo0VQTla0jT+ULBGoAe0oY2lrUAwxEuKFRL/LVHNEoAD+Cg9kEQ0b3AcLj8rDz%20omiTIEdOlJXZrhDQBrP+UdhDdxHnY7hRAMwBcQD6AxRCt8BUi3RsRV3gEmEBkSaGYC7aLUgo/BwP%20GOJIvyYhNIL5/dHo/EkACBw5AhCZ8Z3VBtrm60i69wtkvnsNRxdr+XR+dxL7VQIgGB7amRnBZvgC%201RRABwsgGLQBcwcell8XFQdIo7hzKdq12B9gagHKhQPAIemDdQG+B+9TDiG3MhH5hoFBuHoU2DYb%20sztjXkKZr+JQ+DkclT2V6+AAk523cQGO8hRqAh7FHMxG4QDWWgHr0b4JWysgmQsEQtuMdOIQePf7%20EHTgqiBs6IAylCmPB0pYazkg/DFkJrdibHeM+nyAHzdTx2ORwkqX6fpMJI7MVxlXTxEdTJob8IH4%20ggSAWjh1xRVXHIEw/CPwhrzrIBaAz61AY1fAAfyQwhBFADISgj/+8Y8XA+s/xnUCyWyqPjJY8wEB%20OvDHsMlOhavjcMZHdwjdz+Fz/NTC7D4FW/aex3o6s0lnjn3PWgtlArlPSHggVmEbyLDQxQJQyLMP%20VhI5KbQs3MUALr300t3g3dvMd2sB1DhT1fcHnnjiiQWQ0jTO3x+d3j+LKg5KowYlVKLCv0EZw7yF%20T0zWdGsCMPq+GHTPPffM5fb73//+RDjg9ZivybUZqA1yYgHEcTBJ9ORzzz33/rxwAM35w41HK8HD%20G7lND+V8AGqBzz//fC1CkmGQ0ibkvSukItGij/rw40HMLhROVpO3rVCqaIyXFoPJHQbTm0IWdhPg%20efa9qoPCagJ2dsJABwfI8ro3jOKBzOgx3Wvj/ZrpQ3XDV50yHJw6dSqxgPEqB4MmYDawMyO5s0IQ%20ZRHH0BBTWkjhF4RZPkVRi1sOPfTQ3ckPMpYTQ7B4J00vcQGtHqowXIJAU81ooNKE9Vt4q7xwAEw8%20+AATPbZiejKLCeT9qnFU0A7xIaoF4GeZi6Awy7afUZgdBtkGCUC+foTqGch0OnwUcLu6qWhCoNBP%20CSEyW/X/1AQ0BfJXxCsKAWdrQSNHwgEybFiteiUeeAMqUWaiKGQ4vX9QQkzla0wgWYPhgFQ7qWA6%20ShKAqCM/2A8IX6SB2yjMd59HQIUjho0CYINaxV6rmGigFoWy1wxMAxD6ElP4iAVk0Dxu2TBI1/7l%20L395CeH6gnzTwYoA0lQXUOXvo63Bfl+0XlYtQAXeZTPhoosuGuv4BBQE4eE87uL4kRkOCmJa2HSv%20sHtJtUtdkukBL7cqriBQAKQBlIvh4pwo/96ACTxPaW6AtbbjJlMTsIX7eU0N08WaXIClxsbAw+/P%20eQAqBMGDdwBCON2pVVdIqCoabiM4gpF9gfxW6Q5v9O7p5LnVy0UUgvAZQiA5fXwryxRogvVIEK1A%20n/tCQBygEoTFpj90agI68jEB7Xg7Vd0JJ5zwACRsnJsIUtZLAoC4lKEgc9U2ChhVAKIJSDj8m7NA%20k8KpEYXUNUd9rmtzrv1XDGLCiQkg+l8sxhUKC4eb8f6ReCmHu3I4X9e/CotLn4Pyvoa8cAA5gXjB%20wy1wLGzm20KglarZiQwBGW9+CWdjPYSuBh01Vh1fIMAThtVHAZzYbHVPD1/OlZzbbHP8bOZrvxg+%20AAdeM3iyDJFANXCJscy5wPYrJUy+SPvas4UH431N90AAJltQfntWAVA1MFofPGhKrsUh7algzPtD%20/SzCJJJXqV4wVWzEd77znbH6IQWp//Da/chr95PJqmZyp3y7QuvOFnaFoYeJzvVmgEHzuHPxxRd/%20hWLdaQr/0Oz1hBQNCJUdCrh4+nXXXTfXrgkIEoBqwp4QgqwLQ1DV8yFcCpZFCQgVazET9Xv4LgMk%20sBfeciFp7MwI7xTcq3131GqSijx6mC4KrJa2t+cuqtPsY0FzAXtaG/BNLLVYtncWGcx8DON/ml7k%20ajgoyRdXA3BL/4ZRjd4fIF8gpwbgfhVuuBWLE/XOUgsgTJzM5yLQFJRhPMbzaFMxdYmd1LWjPvwe%209jO1r3WMKAAaHa59dxNHbsyv79mKxXz5LJXo8xGaH4CXRpCxHIAE5qjVstUE8Dues0FYQHhJGAiv%20JLsGb5+6QLUAjj0ns1dASEY48wFUGCFJ7DTkCyoogqB9h40UiKM5dq6nL0Zrm+14zn21HiIKr6IA%20qXyVizUiUqsGNpOyBJW8oNBsxNT+R4DrNJAVYUigpoVvxyLFS9CuNrUAVB/l9lvEEF6cxMWKskwI%204YMVBvYYw2Xfqe7gILkjPWCaeiiSmAvBLEZGUAJAYVY2ln1eceKJJz4EgW9WqGdai3l/wEpNDQsL%20AwUC8UbrjLrYrhdEmJaCw3cApowPcWsEhQgqZrXCr+4UADKbsTyl3bHdoat/BWkDl8HFYr77P2TK%20JBCMBGrw3uY9Acw9SX4JEDL2fqPh5WZ+l48AqBhkE5aInQoseRJHvVkaphw2pwKJiMOUJVRySEUg%202kYEgqKkaW01z0anrpA3g7jqPSgMLHpGEIUfeo2sPUOIOMAUvGOwCcc2kfk4Rl62oXhlKV44vQrR%202tZcq4Ym3VoAFBFOwtJkD+MhQ7NNCGGihD+C+4sWLeL6gEIBJZlkfr44QKTsIB0dRBruaC90RnGg%20utfxYhMZzsUl+P/Zz8Bd6IgLDOLqYdOdCSKcScwsYhOqt/kSiTeDfICEVDyygJfCcxwaMCGEW0UD%20tEdLYHe5SHEaAjIOD+4vAegEw9193p/PItMpYFGY4nr8BQhKUUlCSTRwSRrEUjD0yVhMQUuB6WET%20RGqwoATfJLqXfARbEyQdDKAGN58hECjXhBCqXYJACBNXQgtsxLYCmmADEMGMfACdHzG8U0WrMnMc%206RGYEk0Q1LElQBR+mgCfeeiTFryq7wvwYRyqg0MniOD8oVjuZwb8t7mWEGSyCUA1VTwQJt4w66IQ%20HJGcq8b1a/EjhoDpcgg9ZKb4lhBemy+Eq9WveF8y3Y1nu2OmTcm+sOKwww7bDXMx9FoYfwvgjXwg%20b7IWhbA/oZ2prbOCQUn3RdFgwlLYmgmK69mEoWs04v0A3OcKFQR/bCGRD+AyWfdQEzKXJ4Nicl8p%20z4IQ8gUmm1PFaCa5tXkgJJSTR7ZeffXVVmFIwLwAzCO7Ce+dPQ8MrYOzVwd/oNJ6nVkzsn9fwhEZ%20i5GfctYG5CjW4sddPBpjIrOhne03hckx5kBahtC8Foxm6l4oaBpRwGpo8yYsJ/eHrNlAeYWy/2gD%200UagDTUgUDVa0i4GeeCBB46DdzkKgkEUitlAaQBWrvpATPdQTIR/8WZwaV/2O/uf6eF1KP8mk1sd%20R2+rWTRyFdoKtAZTKLLd9QGEAWwx6FGKNzD7FXqHMN4dsD8mgo5SRCA0Suaie2PlmNx3CIkPCAEH%204GWRU1GoM8fE+20WPzeaWULN2bCApAMDp7GwwPAZM2bcgCTPWNl1MZhhHx+ulcOYjWI8KjBItr9b%20KCZqVy0aSbvOWdkSCNZk7AHnfA/wxl0trAER241ICT+WbdXQpA0Cgfn1WBz6Idy0xsUAGPrZkxBY%20lWJKx9fj+zRCtjRq1uu7LayKifaeo70BvgDRwEHvvvsuy8KVKFKBi1sUMghI4e14o/hK1BE854JB%20SXtCCEq9Z0GCxHy76SFML1IYOPI5B+CvSBrxHbUMC4fADtV3mwaIic4e52FQzXdMmzat7qyzzjqB%20L+dAWl6D0y0KkbngKmOn4rqX3UUjpQG47Q3vfqAyfE4xCG/Km2ttAHr688D8BSauTAAMqu3+apnY%20BzD2PP2Pf/xjPUZ/BXhzEvqcA5P8yYYFaI5DPau93DeIJO0ZQWB8K1U7gSAw1Mb0tWwpsX+uUPH+%20hRde+FccWmuSR0mopCHd7gTGoSD7vgkDlf1ehncDbwQAVAGmz6IPBpCIfoKwG9UEsDaCQrDOAEGK%206tpdJLDsrrvuehFTig+DJI2DTbcfrPlpvNF8FI3+wYQWqylRpoqoOR8BoGBRw5QKEWHj6CoW0c8C%205q+aBgI/O+It7Yu5y+7EuwOfx7wALtc7E4JRma14FZNHGgEFP2PVdbjzAX3VUIs2DK0eteaTEQUM%20ANMrcCNSBkxrA8zbgJKv5WS8EYC1+iGwSUdhIaPrKTgAkFjD5nde4RQT7DwhdvYnczD/geXfXrBq%20NerIY/gBQ+EfjOY7HdDKMiBo7zYIxfpnn312EXEANsOzZpkBlYJXkYloO/FmFAaznzLnCCdoNjjB%20GqvQIMnzsXDkz1EldDY9VAIWXUYxUetSAKiJuBjXJXhXEEfzZjN4+5Fvhmc11oqunmZ5WWDQGsO/%20FtsEZAxztaxIh7l5L7QKCYD1FpEmtE1mmzZSSEexRmAQVFYXqfnY5tPp1mLT3Gf9n+GHnLm0ccQ3%20GE2ekgC4PNPIz1YWrhuSWs3Jmg5mv0w6bc5rMZ8T5ruyBMiablWSoJAcp39F0iv4UKU1RoW/Wv/H%208KTJ4lmZg/BuYzPntbkCkNGJVl1guWkCiXROu91sIIkkpluOYylm3f7Vw0CZbQlBq2ktFvMTzsBV%2068g1MSRjtTb3HcLOOSJ9Tqj1CMNjSjhMFmNbrWOJAJ6FTg4VReFmGbJTEzXlqlsoJsK/rL9QfO4M%20Tm2jUbKrzCcApLcBB09k0WKXU0wq+2pBle/fHVVeEBU6XCtMuDgIbRRWF7sNocoYYgHFJL3mpRTJ%20rr9Mg+BQryOz8X+ake2bAxzgVSeeby+mAPCXVpvikeFo9cAA9kKoMoCARKKI9iAD4hZzHBsAj27j%20oVIKSOR4O5M8GtC+MtsN5nhHMQVAINKOBowYpKVlLRCpmNShpo4tMQFot1/jawCdtYb5muxRkGAn%20u0BSVXmyntLqgkhsRR5BGkWZEtQCAuAU5rGfm93K3mJqAGmBCjPiq0wTIJEoYudJA2S0LWEz0GZa%202rS2YjuB7j0UmyazgEjF70B7v7Qo42oz+1iRNED4vYrOfDHc3f4/o5hiiimmmGKKKaaYYooppphi%20iimmmGKKKaaYYooppv8FlJhXILrvZ3wAAAAASUVORK5CYII=%22%20preserveAspectRatio=%22none%22%20height=%22102.996%22%20width=%2287.169%22%20x=%22159.832%22%20y=%22119.548%22/%3E%3Cg%20transform=%22matrix(.7703%200%200%20.7703%2096.231%20157.67)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Ctext%20transform=%22scale(.98866%201.01147)%22%20y=%22173.585%22%20x=%22204.861%22%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20font-weight=%22400%22%20font-size=%2214.44%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#0ff%22%20stroke-width=%22.278%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20y=%22173.585%22%20x=%22204.861%22%20font-weight=%22500%22%3ESync%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20x=%22205.095%22%20y=%22147.504%22%20transform=%22scale(.98866%201.01147)%22%20font-weight=%22400%22%20font-size=%2219.302%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#ff0%22%20stroke-width=%22.504%22%3E%3Ctspan%20x=%22205.095%22%20y=%22147.504%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ERAM%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E" + "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=%22M164.218%2077.643L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v26.186l61.698.046c8.012-.043%2015.705%203.133%2021.47%208.81l61.448%2061.315a57.292%2057.292%200%200%200%2039.993%2016.139%2057.292%2057.292%200%200%200-39.993%2016.14L83.668%20190.45c-5.765%205.677-13.458%208.853-21.47%208.81L.5%20199.306v26.186h62.612c14.924.039%2029.463-5.9%2040.204-16.28l60.902-60.863a29.857%2029.857%200%200%201%2021.347-8.81l146.53-.113V86.457H185.571a29.884%2029.884%200%200%201-21.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "0b91cb0d-4144-4939-8755-e331104016db", - "type": "basic.input", - "data": { - "name": "", - "clock": true - }, - "position": { - "x": 120, - "y": 208 - } - }, - { - "id": "9598f3a5-bf63-4e35-ac2e-329d93da7d81", + "id": "5a35cd57-1006-4f6d-b263-5b977e9ef142", "type": "basic.input", "data": { - "name": "addr", - "range": "[3:0]", + "name": "1", + "range": "[7:0]", "clock": false, - "size": 4 + "size": 8 }, "position": { "x": 120, - "y": 288 + "y": 168 } }, { - "id": "2f18358c-ebaa-4fbf-99b4-610ab78deed2", + "id": "79c56f9a-597f-491e-b1d1-d321f63303c2", "type": "basic.output", "data": { "name": "", - "range": "[7:0]", - "size": 8 + "range": "[15:0]", + "size": 16 }, "position": { - "x": 936, - "y": 336 + "x": 632, + "y": 200 } }, { - "id": "9931384a-74ee-4de4-9df7-cc04fd19cf46", + "id": "38fdb02d-4323-4a34-9ffe-8385f844b660", "type": "basic.input", "data": { - "name": "d", + "name": "0", "range": "[7:0]", "clock": false, "size": 8 }, "position": { "x": 120, - "y": 376 - } - }, - { - "id": "c61902b3-38ce-45bf-98c9-322638c2264b", - "type": "basic.input", - "data": { - "name": "wr", - "clock": false - }, - "position": { - "x": 120, - "y": 456 - } - }, - { - "id": "d80bfd80-1f6d-46af-b5de-5cd121ebe630", - "type": "basic.memory", - "data": { - "name": "", - "list": "0 0 0 0 0 0 0 0\n0 0 0 0 0 0 0 0", - "local": false, - "format": 10 - }, - "position": { - "x": 464, - "y": 56 - }, - "size": { - "width": 200, - "height": 72 + "y": 264 } }, { - "id": "f5619044-1e4b-4218-bfc2-44eced6cb16a", + "id": "16e78204-213e-4833-9096-89d735307ec2", "type": "basic.code", "data": { - "code": "//-- Address with\nlocalparam ADDR_WIDTH = 4;\n//-- Data with\nlocalparam DATA_WIDTH = 8;\n\n//-- Size of the memory\nlocalparam SIZE = 1 << ADDR_WIDTH;\n\n//-- Memory itself\nreg [DATA_WIDTH-1:0] mem[0:SIZE-1];\n\n//-- The data_out is a registered output (not a wire)\nreg data_out;\n\n//-- Reading port: Synchronous\nalways @(posedge clk)\nbegin\n data_out <= mem[addr];\nend\n\n//-- Writing port: Synchronous\nalways @(posedge clk)\nbegin\n if (wr) mem[addr] <= data_in;\nend\n\n\n//-- Init the memory\ninitial begin\n \n if (ROMF)\n $readmemh(ROMF, mem, 0, SIZE-1);\n \nend\n", - "params": [ - { - "name": "ROMF" - } - ], + "code": "assign o = {i1, i0};\n", + "params": [], "ports": { "in": [ { - "name": "clk" - }, - { - "name": "addr", - "range": "[3:0]", - "size": 4 - }, - { - "name": "data_in", + "name": "i1", "range": "[7:0]", "size": 8 }, { - "name": "wr" + "name": "i0", + "range": "[7:0]", + "size": 8 } ], "out": [ { - "name": "data_out", - "range": "[7:0]", - "size": 8 + "name": "o", + "range": "[15:0]", + "size": 16 } ] } }, "position": { - "x": 312, - "y": 200 + "x": 296, + "y": 176 }, "size": { - "width": 504, - "height": 328 + "width": 272, + "height": 104 } } ], "wires": [ { "source": { - "block": "0b91cb0d-4144-4939-8755-e331104016db", - "port": "out" - }, - "target": { - "block": "f5619044-1e4b-4218-bfc2-44eced6cb16a", - "port": "clk" - } - }, - { - "source": { - "block": "c61902b3-38ce-45bf-98c9-322638c2264b", - "port": "out" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o" }, "target": { - "block": "f5619044-1e4b-4218-bfc2-44eced6cb16a", - "port": "wr" - } - }, - { - "source": { - "block": "d80bfd80-1f6d-46af-b5de-5cd121ebe630", - "port": "memory-out" + "block": "79c56f9a-597f-491e-b1d1-d321f63303c2", + "port": "in" }, - "target": { - "block": "f5619044-1e4b-4218-bfc2-44eced6cb16a", - "port": "ROMF" - } + "size": 16 }, { "source": { - "block": "9931384a-74ee-4de4-9df7-cc04fd19cf46", + "block": "38fdb02d-4323-4a34-9ffe-8385f844b660", "port": "out" }, "target": { - "block": "f5619044-1e4b-4218-bfc2-44eced6cb16a", - "port": "data_in" - }, - "size": 8 - }, - { - "source": { - "block": "f5619044-1e4b-4218-bfc2-44eced6cb16a", - "port": "data_out" - }, - "target": { - "block": "2f18358c-ebaa-4fbf-99b4-610ab78deed2", - "port": "in" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i0" }, "size": 8 }, { "source": { - "block": "9598f3a5-bf63-4e35-ac2e-329d93da7d81", + "block": "5a35cd57-1006-4f6d-b263-5b977e9ef142", "port": "out" }, "target": { - "block": "f5619044-1e4b-4218-bfc2-44eced6cb16a", - "port": "addr" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i1" }, - "size": 4 + "size": 8 } ] } } }, - "6050ed4fa033f3f13d3fe5fae5dcedb414a0fede": { + "0f6c392fd18934000cbfa24f7cb7eab931e7c1b2": { "package": { - "name": "membus-16B-join", - "version": "0.0.1", - "description": "Join the fields into one 16B memory bus", - "author": "Juan Gonzalez-Gomez (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=%22M164.218%2077.643L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v26.186l61.698.046c8.012-.043%2015.705%203.133%2021.47%208.81l61.448%2061.315a57.292%2057.292%200%200%200%2039.993%2016.139%2057.292%2057.292%200%200%200-39.993%2016.14L83.668%20190.45c-5.765%205.677-13.458%208.853-21.47%208.81L.5%20199.306v26.186h62.612c14.924.039%2029.463-5.9%2040.204-16.28l60.902-60.863a29.857%2029.857%200%200%201%2021.347-8.81l146.53-.113V86.457H185.571a29.884%2029.884%200%200%201-21.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" + "name": "Bus20-Split-12-8", + "version": "0.1", + "description": "Bus20-Split-8-12: Split the 20-bits bus into two buses of 8 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": { "graph": { "blocks": [ { - "id": "5c70a159-1900-4d97-9e7d-961876e03bbe", - "type": "basic.input", + "id": "865e30d6-1832-4a16-a2b5-6bf334df5cf4", + "type": "basic.output", "data": { - "name": "addr", - "range": "[3:0]", - "clock": false, - "size": 4 + "name": "1", + "range": "[11:0]", + "size": 12 }, "position": { - "x": 128, - "y": 192 + "x": 600, + "y": 144 } }, { - "id": "25996d5e-6856-4828-8cb3-5dea5ff5cf9c", + "id": "6a8347bb-e6ee-494a-87c8-277445460362", "type": "basic.input", "data": { - "name": "data", - "range": "[7:0]", + "name": "", + "range": "[19:0]", "clock": false, - "size": 8 + "size": 20 }, "position": { - "x": 128, - "y": 264 + "x": 80, + "y": 208 } }, { - "id": "d3e51db6-385f-454c-ab74-d71058b21962", + "id": "b4a2e85c-b31d-4363-be79-79d23492dd85", "type": "basic.output", "data": { - "name": "", - "range": "[13:0]", - "size": 14 - }, - "position": { - "x": 760, - "y": 288 - } - }, - { - "id": "dbe1622c-3510-4132-8b5c-2fbf81d7f581", - "type": "basic.input", - "data": { - "name": "wr", - "clock": false - }, - "position": { - "x": 128, - "y": 328 - } - }, - { - "id": "49fb1766-1e7f-4706-9872-a6cd65cc9f2d", - "type": "basic.input", - "data": { - "name": "bbusy", - "clock": false + "name": "0", + "range": "[7:0]", + "size": 8 }, "position": { - "x": 128, - "y": 400 + "x": 600, + "y": 232 } }, { - "id": "3545528c-05e2-4e95-8223-5b7b77587423", + "id": "16e78204-213e-4833-9096-89d735307ec2", "type": "basic.code", "data": { - "code": "assign o = {addr, data, wr, bbusy};\n\n", + "code": "assign o1 = i[19:8];\nassign o0 = i[7:0];", "params": [], "ports": { "in": [ { - "name": "addr", - "range": "[3:0]", - "size": 4 - }, + "name": "i", + "range": "[19:0]", + "size": 20 + } + ], + "out": [ { - "name": "data", - "range": "[7:0]", - "size": 8 - }, - { - "name": "wr" + "name": "o1", + "range": "[11:0]", + "size": 12 }, { - "name": "bbusy" - } - ], - "out": [ - { - "name": "o", - "range": "[13:0]", - "size": 14 + "name": "o0", + "range": "[7:0]", + "size": 8 } ] } }, "position": { - "x": 328, - "y": 224 + "x": 272, + "y": 176 }, "size": { - "width": 352, - "height": 184 + "width": 240, + "height": 120 } } ], "wires": [ { "source": { - "block": "25996d5e-6856-4828-8cb3-5dea5ff5cf9c", - "port": "out" - }, - "target": { - "block": "3545528c-05e2-4e95-8223-5b7b77587423", - "port": "data" - }, - "size": 8 - }, - { - "source": { - "block": "dbe1622c-3510-4132-8b5c-2fbf81d7f581", + "block": "6a8347bb-e6ee-494a-87c8-277445460362", "port": "out" }, "target": { - "block": "3545528c-05e2-4e95-8223-5b7b77587423", - "port": "wr" - } - }, - { - "source": { - "block": "49fb1766-1e7f-4706-9872-a6cd65cc9f2d", - "port": "out" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i" }, - "target": { - "block": "3545528c-05e2-4e95-8223-5b7b77587423", - "port": "bbusy" - } + "size": 20 }, { "source": { - "block": "5c70a159-1900-4d97-9e7d-961876e03bbe", - "port": "out" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o0" }, "target": { - "block": "3545528c-05e2-4e95-8223-5b7b77587423", - "port": "addr" + "block": "b4a2e85c-b31d-4363-be79-79d23492dd85", + "port": "in" }, - "size": 4 + "size": 8 }, { "source": { - "block": "3545528c-05e2-4e95-8223-5b7b77587423", - "port": "o" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o1" }, "target": { - "block": "d3e51db6-385f-454c-ab74-d71058b21962", + "block": "865e30d6-1832-4a16-a2b5-6bf334df5cf4", "port": "in" }, - "size": 14 + "size": 12 } ] } } }, - "f1dc888a11b743f08087b6e65015fe269bed1f6f": { + "c97ea62c7e57797474a81bca730a1b2bec259617": { "package": { - "name": "membus-16B-split", + "name": "Bus12-Split-4-8", "version": "0.1", - "description": "Split a 16B memory bus into its fields", + "description": "Bus12-Split-4-8: Split the 12-bits bus into two buses of 4 and 8 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" }, @@ -7213,108 +6711,80 @@ "graph": { "blocks": [ { - "id": "74b8320c-7097-4f7b-9c14-fdd8d9a379ca", + "id": "9a0bd20b-0206-4f0e-b07d-e96696b705c5", "type": "basic.output", "data": { - "name": "addr", + "name": "1", "range": "[3:0]", "size": 4 }, "position": { - "x": 592, - "y": 32 - } - }, - { - "id": "afe50480-6fe5-4ca6-b639-c730569a6a1d", - "type": "basic.output", - "data": { - "name": "data", - "range": "[7:0]", - "size": 8 - }, - "position": { - "x": 624, - "y": 224 + "x": 496, + "y": 16 } }, { - "id": "3178c182-b1bd-4e92-bc67-6e0868b62279", + "id": "46011ec6-127b-4e6b-83ca-aed5b18ae4d0", "type": "basic.input", "data": { - "name": "i", - "range": "[13:0]", + "name": "", + "range": "[11:0]", "clock": false, - "size": 14 - }, - "position": { - "x": 48, - "y": 248 - } - }, - { - "id": "c79430a3-a90f-40e9-af05-e6da44b5ac8d", - "type": "basic.output", - "data": { - "name": "wr" + "size": 12 }, "position": { - "x": 576, - "y": 344 + "x": -32, + "y": 64 } }, { - "id": "9751f777-00ec-46c1-8d85-07d2dec1e653", + "id": "99e7399f-ce06-4f67-ae35-0b9a6785d60e", "type": "basic.output", "data": { - "name": "bbusy" + "name": "0", + "range": "[7:0]", + "size": 8 }, "position": { - "x": 536, - "y": 432 + "x": 504, + "y": 104 } }, { "id": "16e78204-213e-4833-9096-89d735307ec2", "type": "basic.code", "data": { - "code": "//-- Addr\nassign addr = i[13:10];\n\n//-- data\nassign data = i[9:2];\n\n//-- write\nassign wr = i[1];\n\n//-- Bus is busy\nassign bbusy = i[0];", + "code": "\nassign o1 = i[11:8];\nassign o0 = i[7:0];", "params": [], "ports": { "in": [ { "name": "i", - "range": "[13:0]", - "size": 14 + "range": "[11:0]", + "size": 12 } ], "out": [ { - "name": "addr", + "name": "o1", "range": "[3:0]", "size": 4 }, { - "name": "data", + "name": "o0", "range": "[7:0]", "size": 8 - }, - { - "name": "wr" - }, - { - "name": "bbusy" } ] } }, "position": { - "x": 224, - "y": 176 + "x": 136, + "y": 0 }, "size": { - "width": 264, - "height": 208 + "width": 280, + "height": 184 } } ], @@ -7322,154 +6792,186 @@ { "source": { "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "bbusy" - }, - "target": { - "block": "9751f777-00ec-46c1-8d85-07d2dec1e653", - "port": "in" - } - }, - { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "wr" - }, - "target": { - "block": "c79430a3-a90f-40e9-af05-e6da44b5ac8d", - "port": "in" - } - }, - { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "data" + "port": "o1" }, "target": { - "block": "afe50480-6fe5-4ca6-b639-c730569a6a1d", + "block": "9a0bd20b-0206-4f0e-b07d-e96696b705c5", "port": "in" }, - "size": 8 + "size": 4 }, { "source": { - "block": "3178c182-b1bd-4e92-bc67-6e0868b62279", + "block": "46011ec6-127b-4e6b-83ca-aed5b18ae4d0", "port": "out" }, "target": { "block": "16e78204-213e-4833-9096-89d735307ec2", "port": "i" }, - "size": 14 + "size": 12 }, { "source": { "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "addr" + "port": "o0" }, "target": { - "block": "74b8320c-7097-4f7b-9c14-fdd8d9a379ca", + "block": "99e7399f-ce06-4f67-ae35-0b9a6785d60e", "port": "in" }, - "size": 4 + "size": 8 } ] } } }, - "a0b8df28f3452068e469a9c210e4e62ae8c78900": { + "decca3cf2b9498594a9c2a30320829ba70f6fabb": { "package": { - "name": "Valor_0_4bits", - "version": "0.0.1", - "description": "Valor constante 0 para bus de 4 bits", - "author": "Juan Gonzalez-Gomez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22255.888%22%20height=%22307.912%22%20viewBox=%220%200%20239.89529%20288.66753%22%3E%3Cg%20font-weight=%22400%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22372.115%22%20y=%22646.344%22%20font-size=%22335.399%22%20fill=%22green%22%20transform=%22translate(-326.544%20-434.037)%22%3E%3Ctspan%20x=%22372.115%22%20y=%22646.344%22%3E0%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22322.722%22%20y=%22721.624%22%20font-size=%2283.077%22%20transform=%22translate(-326.544%20-434.037)%22%3E%3Ctspan%20x=%22322.722%22%20y=%22721.624%22%3E0000%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22528.722%22%20y=%22721.624%22%20font-size=%2283.077%22%20fill=%22#00f%22%20transform=%22translate(-326.544%20-434.037)%22%3E%3Ctspan%20x=%22528.722%22%20y=%22721.624%22%3E0%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E" + "name": "Bus20-Join-4-16", + "version": "0.1", + "description": "Bus20-Join-half: Join the two buses into an 20-bits Bus", + "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=%22M164.218%2077.643L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v26.186l61.698.046c8.012-.043%2015.705%203.133%2021.47%208.81l61.448%2061.315a57.292%2057.292%200%200%200%2039.993%2016.139%2057.292%2057.292%200%200%200-39.993%2016.14L83.668%20190.45c-5.765%205.677-13.458%208.853-21.47%208.81L.5%20199.306v26.186h62.612c14.924.039%2029.463-5.9%2040.204-16.28l60.902-60.863a29.857%2029.857%200%200%201%2021.347-8.81l146.53-.113V86.457H185.571a29.884%2029.884%200%200%201-21.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "53acced8-0736-40f7-8db1-7103a21f31c2", - "type": "basic.output", + "id": "b54d5820-5a61-4527-87ba-b3ec0c5edc82", + "type": "basic.input", "data": { - "name": "k", + "name": "1", "range": "[3:0]", + "clock": false, "size": 4 }, "position": { - "x": 928, - "y": 256 + "x": 120, + "y": 168 } }, { - "id": "ad7918eb-22dd-4b6c-949f-e428f5a55530", - "type": "basic.constant", + "id": "49d4333f-b5a4-459c-8469-232e5e95d956", + "type": "basic.output", "data": { "name": "", - "value": "0", - "local": true + "range": "[19:0]", + "size": 20 }, "position": { - "x": 728, - "y": 152 + "x": 648, + "y": 200 } }, { - "id": "63e1b925-5baa-45a6-abc6-a7ababd05a49", - "type": "9274d3154d579c5922da669b25ca14097a46a22f", - "position": { - "x": 728, - "y": 256 - }, - "size": { - "width": 96, - "height": 64 - } - } - ], - "wires": [ - { - "source": { - "block": "ad7918eb-22dd-4b6c-949f-e428f5a55530", - "port": "constant-out" + "id": "c4ca0e6a-6557-45ee-8363-1bffebaad486", + "type": "basic.input", + "data": { + "name": "0", + "range": "[15:0]", + "clock": false, + "size": 16 }, - "target": { - "block": "63e1b925-5baa-45a6-abc6-a7ababd05a49", - "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" + "position": { + "x": 120, + "y": 264 } }, { - "source": { - "block": "63e1b925-5baa-45a6-abc6-a7ababd05a49", - "port": "5ed3ad73-16e5-4dda-9483-c36394a97ad2" - }, - "target": { - "block": "53acced8-0736-40f7-8db1-7103a21f31c2", - "port": "in" - }, - "size": 4 - } - ] - } - } - }, - "9274d3154d579c5922da669b25ca14097a46a22f": { - "package": { - "name": "Constante-4bits", - "version": "0.0.1", - "description": "Valor genérico constante, de 4 bits. Su valor se introduce como parámetro. Por defecto vale 0", - "author": "Juan Gonzalez-Gomez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22145.608%22%20height=%22247.927%22%20viewBox=%220%200%20136.50729%20232.43134%22%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22293.115%22%20y=%22648.344%22%20font-weight=%22400%22%20font-size=%22335.399%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22%20transform=%22translate(-316.929%20-415.913)%22%3E%3Ctspan%20x=%22293.115%22%20y=%22648.344%22%3Ek%3C/tspan%3E%3C/text%3E%3C/svg%3E" - }, - "design": { + "id": "16e78204-213e-4833-9096-89d735307ec2", + "type": "basic.code", + "data": { + "code": "assign o = {i1, i0};\n", + "params": [], + "ports": { + "in": [ + { + "name": "i1", + "range": "[3:0]", + "size": 4 + }, + { + "name": "i0", + "range": "[15:0]", + "size": 16 + } + ], + "out": [ + { + "name": "o", + "range": "[19:0]", + "size": 20 + } + ] + } + }, + "position": { + "x": 296, + "y": 176 + }, + "size": { + "width": 272, + "height": 104 + } + } + ], + "wires": [ + { + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o" + }, + "target": { + "block": "49d4333f-b5a4-459c-8469-232e5e95d956", + "port": "in" + }, + "size": 20 + }, + { + "source": { + "block": "c4ca0e6a-6557-45ee-8363-1bffebaad486", + "port": "out" + }, + "target": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i0" + }, + "size": 16 + }, + { + "source": { + "block": "b54d5820-5a61-4527-87ba-b3ec0c5edc82", + "port": "out" + }, + "target": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i1" + }, + "size": 4 + } + ] + } + } + }, + "95d0aeb748ac78b1801cd0f424b4cf9296c0b999": { + "package": { + "name": "20-bits-gen-constant", + "version": "0.0.2", + "description": "Generic: 20-bits generic constant", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22145.608%22%20height=%22247.927%22%20viewBox=%220%200%20136.50729%20232.43134%22%3E%3Cg%20style=%22line-height:0%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%3E%3Cpath%20d=%22M56.012%20146.905q9.055%206.708%2020.459%2017.105%2011.404%2010.062%2022.472%2021.8%2011.403%2011.74%2021.465%2024.15%2010.062%2012.074%2016.1%2022.471h-32.87q-6.372-10.397-15.763-21.13-9.392-11.068-20.124-21.13-10.398-10.062-21.13-18.447-10.398-8.385-18.783-14.087v74.794H0V4.695L27.838%200v141.874q18.447-16.1%2036.894-31.863%2018.447-16.1%2033.205-33.205h32.533q-14.422%2017.106-34.881%2035.217-20.124%2018.112-39.577%2034.882z%22%20style=%22line-height:1.25%22%20font-size=%22335.399%22%20font-weight=%22400%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22/%3E%3C/g%3E%3C/svg%3E" + }, + "design": { "graph": { "blocks": [ { - "id": "5ed3ad73-16e5-4dda-9483-c36394a97ad2", + "id": "d1f5a9f1-76b5-430e-a1db-2273ba3d5497", "type": "basic.output", "data": { - "name": "k", - "range": "[3:0]", - "size": 4 + "name": "", + "range": "[19:0]", + "size": 20 }, "position": { "x": 960, @@ -7504,8 +7006,8 @@ "out": [ { "name": "k", - "range": "[3:0]", - "size": 4 + "range": "[19:0]", + "size": 20 } ] } @@ -7521,17 +7023,6 @@ } ], "wires": [ - { - "source": { - "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", - "port": "k" - }, - "target": { - "block": "5ed3ad73-16e5-4dda-9483-c36394a97ad2", - "port": "in" - }, - "size": 4 - }, { "source": { "block": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", @@ -7541,878 +7032,742 @@ "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", "port": "VALUE" } + }, + { + "source": { + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "k" + }, + "target": { + "block": "d1f5a9f1-76b5-430e-a1db-2273ba3d5497", + "port": "in" + }, + "size": 20 } ] } } }, - "26ab4b14044d51c1bbe481de5533a9b47d267746": { + "c71a09b3f22dd0152d0e64e20b76faf42442d78b": { "package": { - "name": "Mem-16B-sample-machine", - "version": "0.1", - "description": "16B memory sample machine. Captura the input data and store it in the memory", + "name": "20-Sys-reg-rst", + "version": "0.8", + "description": "20-Sys-reg-rst: 20 bits system register with reset. Verilog implementation", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20viewBox=%220%200%2088.570022%20126.13218%22%20height=%22476.72%22%20width=%22334.753%22%3E%3Cg%20transform=%22translate(-158.43%20-96.411)%22%3E%3Cimage%20xlink:href=%22data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAgM0lEQVR4Xu1dCZBU1bm+PdPTM8CM%20AgMO+yCrAq4oGjWKIIorcYnRlD59saImGlOaqK/UPPeHu5VyjyYuMRu+uFVEjRqX4FNRQURwQVxQ%20YdiGZQYGepZ+33frfK9Oneq+t+/0zHTad/+qU7fv7bt0n/8///L9/znX+1ZTTDHFFFNMMcUUU0wx%20xRRTTDHFFFNMMcUUU0wxxZToofuX8XPo82LqcLaZUhUAMbucraKi4viysrI9jCBkp5gybKBH0un0%20cuy3URC6WwiSXvcRmV9ZVVV1azKZPBvN69+/vzd06FBv2LBh1mkxff31197ixYvJfa+1tfUnHR0d%20x7W1tc3HV2kJQakJQBmZjzYUo99n/qRJk7xTTz3V69WrV5bTY/rmm2+8u+++29u6desO2L0cAnCq%20YXy61AQgYe5bBebvB9XvJRIJ79hjj/VSqZTX3t6e5ZKYBg0a5B133HHenDlzPPRZLQ5VG+a3lpwJ%20kPoH83uT+Ww77rhjCPNjYh+Z/hqK3T5oW9C2obWXlAaQAMCm9SovL/cGDx7sQaWFXBbTTjvt5AsA%20+qwOu7SVSTnOpSgASdBkSjTtPhybkMtioomkyWTjLvmjSK0UncAkJLmMAgDKUwBiqqur81atWkUt%200Bcmc2XJaQCBPtqCvMrKyjztf0wIm9lp1AbjW1paPrIwlUzJaAAJAKgajbYtTwGIaeDAgd6KFSv8%20zmMfloIJcCFf3rOCDT7AKAgAAY78nMCYqC3lB/Q1/Zgy4WB7AERcVAFIiPE333zz6JEjR565ffv2%20Xlu2bKm58847d2psbKQAhGiAmOQr1dTU+J8PPPDAE37wgx8MhgO9BeZg++bNm18588wzXzYQcXtX%20CUGii5ifuuyyy8YD7Fk4YMAAOTHelVde6X300UfejBkzPAhGwG1i5ksA2HdPPfWUd/LJJ7NRczKM%209iOp55577oyzzjrrvwkOGUHIFFsDJIya6nPQQQfdSweGKoyNAgBNIIcmRxQQM15ELcl9oKdU/4yh%202W/sR/anvz98+PD/wqnPozUZc9BeFA3gMv/GG288CgLwaL9+/by+fft6q1ev9gXgqKOO8v/MEUcc%204UOdJUxiUgSmRhv59va3v/2tnztBv9J0+k40Bxe16fLly2effvrpt1EIlCfobg2Q0FYq34J7q6ZN%20mzZ8v/32u5nSKonllhKrPACOyQcofQEonPlZma7GZ6jPFD5v27bN69Onj78/evTon/34xz9+/v77%20719s+NFup5OjOoqJKA7ezjvvPAuM7QuGJkBlyFtXgNkzMbrHUXUx3Utmf/XVVz7zTzrpJL9TTjnl%20FK+EieYrAuO1H8r8nBrgb3/7m1dbW+vNnj3bfzY165AhQ7zPPvvM9wlWrly5DFnD5yAUaQhMB4Qk%20g/My0LxPn3POOQuiOIqJPCDd1IMPPnjiiBEjHiFzObK15Y9Zs2aNn+Ovrq5mKtP74IMPlPjxfvGL%20X3ggCkKpC0AhjNdxfbZb1u9ffPFFb8OGDd4dd9zB+gBv/fr13pgxYzw62OzzTz75hKaWfc5+5jFt%20aX5/hrT7gzQPchQ7awLKZOPB4Nly7CQAbBzlUv38/P7773vQEs0vv/zyckhpNTpkNK6X+i911a/P%20UUe8y2jdI6tgiMj4t956axGFb88996wD0wfRDJDp7G/wQ+l18kJbaoo7jjzyyL8/++yzX8tR7JQG%20EPPRasHQT/FwPkBCwCaJ8zXAhx9+6Esp4lVJqXfDDTf42uDggw/uSVsscjtd+1Gu1/lsETRAkLoP%201whLlizx2+9//3uNbm/8+PHe22+/7e2yyy5ECmluXQ3A5kdeTz/99OlwIOfiVs0mZMwUpAEA6pDx%20fKgEQM6ez4w33niDQuDbLVJzczO/U1hDFdqVjC/cMYt+vYRAx8JUvCtA+Qinew/aeoZ+ZDAjAZ/p%20L730EiMEAkbsY35HXnDLfqdJZn/3poOO1kIB6KwJSAjWBZOXbtq0acK6det4c7v5Dx83bhwZQcEg%20w33mAwFkR7goYE8LghgSpgGiMknfBal7Nff5bIHnsx+5hZPN/vQZrKTaPvvsw/IxagGZYTX1/Qo4%207B8Y/y1RSBiokKIDCN9//upXvzoRUjgMzKxgBMBIgIQQpQwJjElQRymZBgoAnRj9GVzTE/Y5aDQV%20cr39XRRV79p6CQKZlfV7HaPZlPYk0zm6JQDIEHKkL2tqatrcAWIEwMvwfevatWu/efTRR1+wI4BC%20BYA32o625dprr32R/gBab3NdObzSGoAWp+AHp+QfSOVLimWnihSjizGFXu9+7zLVfYaOaWt/lkl0%20Ge+eRy0qbIX7cvoIq484/vjjH4BGbrJCvq1oG9BWo20zqj/U9iZC1H81mY5q1csQ6x+KeHSkHQbS%204VMRA4/RLr3zzjsefYbXXnuNjTbMb98KClf37ne5jkkLZDUX7Nd//vOf3ne/+13vkEMO8Xr37s1I%20gJqAZsHXrtAATB3bTiCPrYXf8NpvfvObG8GHz4UWFuIElkGl/BwO3r+7IaCwfkqlnEH+6LFjx3Kf%20zJc0f9vyAO7IzmfUZ8MW3OO6BweStGd6t912S5Hpb775pjd58mSli8lw5Q3kBBIbGIhrT0QSbgTM%209jGqJ+iMACivX4VM1BnCAOwmW88fy+8XLFjAH9R49NFHPwNPNA3I8mgcHwTp/bYIQC47HmYqcp7j%20OpiuxnjssceW3X777f/D/YcffvhwhIH1+++/vwYd+10aQELBRuRw3/PPP38s0vGLFQayRRWASrQ+%20YF6N7BCbGwYyTUnmm+rf/n/+859P5+df//rX3scff+ypIORbQLkAnSAH0T2WCxDKeg5yLBP/9Kc/%20TbSdwHnz5tEcKMyWj2BjATQhHIzjcJtPjA/XHlUDCAPoDa9T6kXhhv9gMXbhwoW0RYxTqf4JBUtA%205PCUPBLo2m2X+focgQLxAWL+ep4YTJyFnxsaGuhnMSlE6F0mVlv6ATzOaKHNDOLyzkQBSgKVY87a%20vXBEzqVU8eZ8iJhKdJB2CRgBpZPHZaPowRbTB3DVaqHXh4V67oiOKgTaJ+MY40sA5PlL8xJsI/PT%20mE+YIlDEczTYYG7pN9BJnHfvvfd+lk9NYTIkBGy9/PLLn5syZcoqPHRnaIIqU6yYAGMpWeWoA9h1%203333HQfG0ymk6uEPlQAwj01hKVUBEEPz9eZzYQt5h6LLli0jw3k+4XRXALjPnMt6wL3zySOc126u%207QBrtmOQrnnmmWfeVh1hZ5NBHWS+iS03zp8//2O0tSY3UG5a6phjjhkPp2Sc4n/lsCWRaMUe/WJM%20IdcGaQD+vyBgxx7pYc/loGHmz36WgCBbAJgXGAwsoOamm26aJ0ab1kJ+oTWibdF3hQhAC8KQjtNO%20O+0QPPBgSFh5whCksgwmYJjtINIUfPnll2SARkexBUCd35UCQIa710SCjd3vlTHl6Hc1Co9xS5yf%20dl8a4fDDD5+2xx57jAAPVA/gI7eoKVz4/PPPz4EWkAB0RBWAhGl8SM0FF1xwPx4yXo6dtgR7Nm7c%20qOofZgVZrsSctf8ZxOOlYv+DGGcLM7dhYV02LRAaKXz66adZsQH6A6NGjfK++OILf4ChLoMCwHQx%20ne8x6G95/0oaTdh1112PQ6Rw8vXXX/9GZ6FgqviKH/7wh6cB5h2fDQPgD6Dal+3HH6D6WoLpzSuQ%20H6hFR00pCQEITwa5zHcdvygYQFYBBYbPweQy33/ek08+OR9+1DqM9tqJEyfuB6bT0dM6C9II8hNk%20LmrgnJ+Nr98xvGyPggMIBOoNaZqZCwOgACgWfe+99wgHUyv0wxz3fvBOK1naDCqeAES3wdkydmJ6%20ULVPlJSve4whm7z+rNfuvffew1BnMYz9iMGYBhiUAj7AwWfnB1xAiP1eTx4aHKA1qgmoQOuFZMM2%20Le0iVS8hkF2aO3euX6Sw++678/gQNP04tmJhAO4oDTtH4Wouu5+rHiDoWNjz+Tyqdqn+XGsGDGEx%20CJnKfqYJIBhUX19PbMBGAwXPU5swZE8aAWg2g7o9igDwghTU+st4yIEo8qR614PUuNYPcQB2gh0B%20KEnEzz2NAopRQUwPvc62+7YwhJHLePd+7rmI5VnxG6hdpGnJZEHAsPF+4ccLL7ygzKsGp2oFeXyp%20GchlnU0Hd1xzzTXzZs2add306dMPwg1T6AS/yIC1AHhgAn+gDAKyN+yRoGEJQE+HgTbTIwhA4LlK%20bbueea578ry8439oVwI2YfWECv2k1qVdOcqX4bNqAjIQlAySRh1pELTywoceeuhFjfqoAkCOtZmc%208mbY8vfQvsF+jSTKXFcJ3P80FSdasCVbT6OAfE6AAETzB8TMELJHdyR4mBEUwrW8tAqFRFgAeKuq%20HxZ/1iE8nwsHkuq2VcCdUfmN5J3hYVvUbGDGXNTCm8ABqcVExYGQsio0nl9ObYBc9QGIS4fpB0kA%20ILHqCDGm2GrfPTdSvt9toKAQMBQSpsqX05cHUdXbA0ueP0PAHe67776TkSz6K/q8FfdrY8PnXsBi%20Nr/yyiubyMNOFYWqnBiFIMfAAbnBjQA0H4CMFvYPtUMcm99zCpPjHUemqPa7K+bm2aPfbi4zXSaH%20ZvtssAfMsZy+cGKU8Prrr8u790w6WFp28HnnnXc+czJ2JMDt2Wef/QjC+EsiQcH2TKCf/vSnoydM%20mEDm55wPIPWPknCqpmY4i58atTUGm2qZgH/xtK6Y7gI/dtMxCbUNCGk/0PaT6eifKMzX/IA0/IWl%20uI4O9xhA8tUHHHAAGc0+Z3OxAG4ZIfzb7373u0U/+tGPHrDKwzKhGkBz/hBrni6VLqbbn/VgxPy0%20aXT81iFV2c7vlL9mKxIFedZBJVuuANgYiC0IWa9xBcl2hOnxa7Z0BGJ+IAVktZ1C9eqrr34BQGgS%20J+DstddedmGIRr6azAUHYq+gxFAyFwYAhlbxB8vDd6Fgph5ZnkxnBhlBerUjEaeOxHcMGYVs9SST%20XTXunhNUjp1LACT4OuYyOFeuwN5nH3WK+boe4NpkMpU8QG6GU8c4SYSwO7Ot2YpCOCiJMFYRC5Av%20EMUEpABQLCHowHBF8/5tIu6PQlECEtQGFBTNExDzu0MAwpgpFet+F8z4cAFwr8l79EMrkhkF9YVU%20vJjNmgCG2iy+Yf/zmO1n0G8gwTfYbkVuiUg4wK233roIocYcqJyD8cBBkmp1Do41IzlBhldbtqi7%20BUCMCMvURREAXeMCP3axRdSmkS9MpCBBp++AbKwPCilFvMMOO6QBCDUCgh+kCEihMPiyEY7466gL%20fKJTOIBSwZjd+zi2LErsh1apKiFeN3PmzJFXXXXVLI4ONcs77Q4BiFKCnU0AwkZ8wPGiMF8CYDt6%203FcVdurxxx9fftttt82x5gZ0GOx/o5kfsDXIASQlA0CgJrQNmIo0GGqmL6SrEq2cNQE1oDPOOMNO%20FPFHUvq6QwDEvDDmh2mIfBnsRgNhQuPmDKj2HeYXLADC/O0ld7iG0IHAFRrhiK8jBsCqIPAijRxN%20K2oCGslDGwyKBAQh3kxdcskls4Et7207f3LyiEopSmBCg3XrBDlce1kA5a3m3a0oDxtv2+9sQpS3%20AMj/IMgjh68ryHj/nC1MH4BRAZNzFAiqetZsHMucjJw/YQFQ/w1wFn+C6myiuB1RcAC2sl/+8pdX%20wM67zBfmLxDIF4SlS5d6tEfwTL8CQOSvC1CQAIQzsKsFINu9o5gHxfnsj67WfGT6avCigWX3eMZw%20ONx08MgHNTcEZBsEMz0bAjA1ihOoKWG9MPIPs3EAu5FUC0AQCCaCKGB/ABX9oY5YKl6IBsjmXefj%202UcVAG2D7mufn2ufI94N9bpSANi/dejbOo5sMp9l44DoyQOZBxcHUCZ2l1tuuWVfDOZ5uXyBZI4J%20IdX4MzVcm8bWAPqsCSFaFwDlR5ocomyVmNYVDl4+4E22e0URAp0fKgDudWQ6R77sc3cQw0j5W0Bn%20WSPgm1xUCPG4iwOo0VQTla0jT+ULBGoAe0oY2lrUAwxEuKFRL/LVHNEoAD+Cg9kEQ0b3AcLj8rDz%20omiTIEdOlJXZrhDQBrP+UdhDdxHnY7hRAMwBcQD6AxRCt8BUi3RsRV3gEmEBkSaGYC7aLUgo/BwP%20GOJIvyYhNIL5/dHo/EkACBw5AhCZ8Z3VBtrm60i69wtkvnsNRxdr+XR+dxL7VQIgGB7amRnBZvgC%201RRABwsgGLQBcwcell8XFQdIo7hzKdq12B9gagHKhQPAIemDdQG+B+9TDiG3MhH5hoFBuHoU2DYb%20sztjXkKZr+JQ+DkclT2V6+AAk523cQGO8hRqAh7FHMxG4QDWWgHr0b4JWysgmQsEQtuMdOIQePf7%20EHTgqiBs6IAylCmPB0pYazkg/DFkJrdibHeM+nyAHzdTx2ORwkqX6fpMJI7MVxlXTxEdTJob8IH4%20ggSAWjh1xRVXHIEw/CPwhrzrIBaAz61AY1fAAfyQwhBFADISgj/+8Y8XA+s/xnUCyWyqPjJY8wEB%20OvDHsMlOhavjcMZHdwjdz+Fz/NTC7D4FW/aex3o6s0lnjn3PWgtlArlPSHggVmEbyLDQxQJQyLMP%20VhI5KbQs3MUALr300t3g3dvMd2sB1DhT1fcHnnjiiQWQ0jTO3x+d3j+LKg5KowYlVKLCv0EZw7yF%20T0zWdGsCMPq+GHTPPffM5fb73//+RDjg9ZivybUZqA1yYgHEcTBJ9ORzzz33/rxwAM35w41HK8HD%20G7lND+V8AGqBzz//fC1CkmGQ0ibkvSukItGij/rw40HMLhROVpO3rVCqaIyXFoPJHQbTm0IWdhPg%20efa9qoPCagJ2dsJABwfI8ro3jOKBzOgx3Wvj/ZrpQ3XDV50yHJw6dSqxgPEqB4MmYDawMyO5s0IQ%20ZRHH0BBTWkjhF4RZPkVRi1sOPfTQ3ckPMpYTQ7B4J00vcQGtHqowXIJAU81ooNKE9Vt4q7xwAEw8%20+AATPbZiejKLCeT9qnFU0A7xIaoF4GeZi6Awy7afUZgdBtkGCUC+foTqGch0OnwUcLu6qWhCoNBP%20CSEyW/X/1AQ0BfJXxCsKAWdrQSNHwgEybFiteiUeeAMqUWaiKGQ4vX9QQkzla0wgWYPhgFQ7qWA6%20ShKAqCM/2A8IX6SB2yjMd59HQIUjho0CYINaxV6rmGigFoWy1wxMAxD6ElP4iAVk0Dxu2TBI1/7l%20L395CeH6gnzTwYoA0lQXUOXvo63Bfl+0XlYtQAXeZTPhoosuGuv4BBQE4eE87uL4kRkOCmJa2HSv%20sHtJtUtdkukBL7cqriBQAKQBlIvh4pwo/96ACTxPaW6AtbbjJlMTsIX7eU0N08WaXIClxsbAw+/P%20eQAqBMGDdwBCON2pVVdIqCoabiM4gpF9gfxW6Q5v9O7p5LnVy0UUgvAZQiA5fXwryxRogvVIEK1A%20n/tCQBygEoTFpj90agI68jEB7Xg7Vd0JJ5zwACRsnJsIUtZLAoC4lKEgc9U2ChhVAKIJSDj8m7NA%20k8KpEYXUNUd9rmtzrv1XDGLCiQkg+l8sxhUKC4eb8f6ReCmHu3I4X9e/CotLn4Pyvoa8cAA5gXjB%20wy1wLGzm20KglarZiQwBGW9+CWdjPYSuBh01Vh1fIMAThtVHAZzYbHVPD1/OlZzbbHP8bOZrvxg+%20AAdeM3iyDJFANXCJscy5wPYrJUy+SPvas4UH431N90AAJltQfntWAVA1MFofPGhKrsUh7algzPtD%20/SzCJJJXqV4wVWzEd77znbH6IQWp//Da/chr95PJqmZyp3y7QuvOFnaFoYeJzvVmgEHzuHPxxRd/%20hWLdaQr/0Oz1hBQNCJUdCrh4+nXXXTfXrgkIEoBqwp4QgqwLQ1DV8yFcCpZFCQgVazET9Xv4LgMk%20sBfeciFp7MwI7xTcq3131GqSijx6mC4KrJa2t+cuqtPsY0FzAXtaG/BNLLVYtncWGcx8DON/ml7k%20ajgoyRdXA3BL/4ZRjd4fIF8gpwbgfhVuuBWLE/XOUgsgTJzM5yLQFJRhPMbzaFMxdYmd1LWjPvwe%209jO1r3WMKAAaHa59dxNHbsyv79mKxXz5LJXo8xGaH4CXRpCxHIAE5qjVstUE8Dues0FYQHhJGAiv%20JLsGb5+6QLUAjj0ns1dASEY48wFUGCFJ7DTkCyoogqB9h40UiKM5dq6nL0Zrm+14zn21HiIKr6IA%20qXyVizUiUqsGNpOyBJW8oNBsxNT+R4DrNJAVYUigpoVvxyLFS9CuNrUAVB/l9lvEEF6cxMWKskwI%204YMVBvYYw2Xfqe7gILkjPWCaeiiSmAvBLEZGUAJAYVY2ln1eceKJJz4EgW9WqGdai3l/wEpNDQsL%20AwUC8UbrjLrYrhdEmJaCw3cApowPcWsEhQgqZrXCr+4UADKbsTyl3bHdoat/BWkDl8HFYr77P2TK%20JBCMBGrw3uY9Acw9SX4JEDL2fqPh5WZ+l48AqBhkE5aInQoseRJHvVkaphw2pwKJiMOUJVRySEUg%202kYEgqKkaW01z0anrpA3g7jqPSgMLHpGEIUfeo2sPUOIOMAUvGOwCcc2kfk4Rl62oXhlKV44vQrR%202tZcq4Ym3VoAFBFOwtJkD+MhQ7NNCGGihD+C+4sWLeL6gEIBJZlkfr44QKTsIB0dRBruaC90RnGg%20utfxYhMZzsUl+P/Zz8Bd6IgLDOLqYdOdCSKcScwsYhOqt/kSiTeDfICEVDyygJfCcxwaMCGEW0UD%20tEdLYHe5SHEaAjIOD+4vAegEw9193p/PItMpYFGY4nr8BQhKUUlCSTRwSRrEUjD0yVhMQUuB6WET%20RGqwoATfJLqXfARbEyQdDKAGN58hECjXhBCqXYJACBNXQgtsxLYCmmADEMGMfACdHzG8U0WrMnMc%206RGYEk0Q1LElQBR+mgCfeeiTFryq7wvwYRyqg0MniOD8oVjuZwb8t7mWEGSyCUA1VTwQJt4w66IQ%20HJGcq8b1a/EjhoDpcgg9ZKb4lhBemy+Eq9WveF8y3Y1nu2OmTcm+sOKwww7bDXMx9FoYfwvgjXwg%20b7IWhbA/oZ2prbOCQUn3RdFgwlLYmgmK69mEoWs04v0A3OcKFQR/bCGRD+AyWfdQEzKXJ4Nicl8p%20z4IQ8gUmm1PFaCa5tXkgJJSTR7ZeffXVVmFIwLwAzCO7Ce+dPQ8MrYOzVwd/oNJ6nVkzsn9fwhEZ%20i5GfctYG5CjW4sddPBpjIrOhne03hckx5kBahtC8Foxm6l4oaBpRwGpo8yYsJ/eHrNlAeYWy/2gD%200UagDTUgUDVa0i4GeeCBB46DdzkKgkEUitlAaQBWrvpATPdQTIR/8WZwaV/2O/uf6eF1KP8mk1sd%20R2+rWTRyFdoKtAZTKLLd9QGEAWwx6FGKNzD7FXqHMN4dsD8mgo5SRCA0Suaie2PlmNx3CIkPCAEH%204GWRU1GoM8fE+20WPzeaWULN2bCApAMDp7GwwPAZM2bcgCTPWNl1MZhhHx+ulcOYjWI8KjBItr9b%20KCZqVy0aSbvOWdkSCNZk7AHnfA/wxl0trAER241ICT+WbdXQpA0Cgfn1WBz6Idy0xsUAGPrZkxBY%20lWJKx9fj+zRCtjRq1uu7LayKifaeo70BvgDRwEHvvvsuy8KVKFKBi1sUMghI4e14o/hK1BE854JB%20SXtCCEq9Z0GCxHy76SFML1IYOPI5B+CvSBrxHbUMC4fADtV3mwaIic4e52FQzXdMmzat7qyzzjqB%20L+dAWl6D0y0KkbngKmOn4rqX3UUjpQG47Q3vfqAyfE4xCG/Km2ttAHr688D8BSauTAAMqu3+apnY%20BzD2PP2Pf/xjPUZ/BXhzEvqcA5P8yYYFaI5DPau93DeIJO0ZQWB8K1U7gSAw1Mb0tWwpsX+uUPH+%20hRde+FccWmuSR0mopCHd7gTGoSD7vgkDlf1ehncDbwQAVAGmz6IPBpCIfoKwG9UEsDaCQrDOAEGK%206tpdJLDsrrvuehFTig+DJI2DTbcfrPlpvNF8FI3+wYQWqylRpoqoOR8BoGBRw5QKEWHj6CoW0c8C%205q+aBgI/O+It7Yu5y+7EuwOfx7wALtc7E4JRma14FZNHGgEFP2PVdbjzAX3VUIs2DK0eteaTEQUM%20ANMrcCNSBkxrA8zbgJKv5WS8EYC1+iGwSUdhIaPrKTgAkFjD5nde4RQT7DwhdvYnczD/geXfXrBq%20NerIY/gBQ+EfjOY7HdDKMiBo7zYIxfpnn312EXEANsOzZpkBlYJXkYloO/FmFAaznzLnCCdoNjjB%20GqvQIMnzsXDkz1EldDY9VAIWXUYxUetSAKiJuBjXJXhXEEfzZjN4+5Fvhmc11oqunmZ5WWDQGsO/%20FtsEZAxztaxIh7l5L7QKCYD1FpEmtE1mmzZSSEexRmAQVFYXqfnY5tPp1mLT3Gf9n+GHnLm0ccQ3%20GE2ekgC4PNPIz1YWrhuSWs3Jmg5mv0w6bc5rMZ8T5ruyBMiablWSoJAcp39F0iv4UKU1RoW/Wv/H%208KTJ4lmZg/BuYzPntbkCkNGJVl1guWkCiXROu91sIIkkpluOYylm3f7Vw0CZbQlBq2ktFvMTzsBV%2068g1MSRjtTb3HcLOOSJ9Tqj1CMNjSjhMFmNbrWOJAJ6FTg4VReFmGbJTEzXlqlsoJsK/rL9QfO4M%20Tm2jUbKrzCcApLcBB09k0WKXU0wq+2pBle/fHVVeEBU6XCtMuDgIbRRWF7sNocoYYgHFJL3mpRTJ%20rr9Mg+BQryOz8X+ake2bAxzgVSeeby+mAPCXVpvikeFo9cAA9kKoMoCARKKI9iAD4hZzHBsAj27j%20oVIKSOR4O5M8GtC+MtsN5nhHMQVAINKOBowYpKVlLRCpmNShpo4tMQFot1/jawCdtYb5muxRkGAn%20u0BSVXmyntLqgkhsRR5BGkWZEtQCAuAU5rGfm93K3mJqAGmBCjPiq0wTIJEoYudJA2S0LWEz0GZa%202rS2YjuB7j0UmyazgEjF70B7v7Qo42oz+1iRNED4vYrOfDHc3f4/o5hiiimmmGKKKaaYYooppphi%20iimmmGKKKaaYYooppv8FlJhXILrvZ3wAAAAASUVORK5CYII=%22%20preserveAspectRatio=%22none%22%20height=%22102.996%22%20width=%2287.169%22%20x=%22159.832%22%20y=%22119.548%22/%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20x=%22205.695%22%20y=%22150.011%22%20transform=%22scale(.98866%201.01147)%22%20font-weight=%22400%22%20font-size=%2219.302%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#ff0%22%20stroke-width=%22.504%22%3E%3Ctspan%20x=%22205.695%22%20y=%22150.011%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ERAM%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20x=%22205.372%22%20y=%22110.296%22%20transform=%22scale(.98866%201.01147)%22%20font-weight=%22400%22%20font-size=%2219.302%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#00f%22%20stroke-width=%22.504%22%3E%3Ctspan%20x=%22205.372%22%20y=%22110.296%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ESample%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M206.647%20182.6a6.892%206.892%200%200%200-6.89%206.892c0%203.803%203.086%206.896%206.89%206.896%203.805%200%206.868-3.093%206.868-6.896%200-3.806-3.063-6.892-6.868-6.892zm13.814%2010.852l-1.242%202.991%202.215%204.35.293.575-3.072%203.072-5.039-2.38-2.991%201.228-1.519%204.648-.194.617h-4.341l-1.879-5.246-2.991-1.234-4.357%202.21-.575.287-3.07-3.069%202.378-5.042-1.233-2.989-4.64-1.515-.616-.2v-4.338l5.25-1.882%201.233-2.986-2.208-4.36-.291-.571%203.066-3.066%205.045%202.376%202.988-1.236%201.517-4.645.196-.616h4.34l1.88%205.253%202.983%201.236%204.358-2.212.58-.29%203.069%203.065-2.377%205.038%201.228%202.993%204.654%201.517.611.196v4.337z%22%20fill=%22#0ff%22/%3E%3Cg%20transform=%22matrix(.85604%200%200%20.85604%2085.035%2091.517)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E", - "otid": 1596697289362 + "image": "%3Csvg%20width=%22252.294%22%20height=%22220.368%22%20viewBox=%220%200%2066.75283%2058.305748%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M25.682%2041.088L39.29%2057.76l-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M18.298%2033.024L9.066%2013.41l-6.45%203.724-2.07-3.583%2020.905-12.07%202.069%203.584-6.092%203.517%2012.03%2018.223s5.399-2.025%208.535.74c3.137%202.766%202.52%204.92%202.887%204.773L17.192%2045.956s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M42.022%2040.152l13.607%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M34.638%2032.088l-9.232-19.613-6.451%203.724-2.07-3.583L37.792.546%2039.86%204.13l-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.137%202.766%202.52%204.92%202.887%204.772L33.532%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20transform=%22translate(-38.356%20-17.732)%22%3E%3Crect%20width=%2224.412%22%20height=%2213.185%22%20x=%2280.3%22%20y=%2221.375%22%20ry=%222.247%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%22.794%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:1.25%22%20x=%2282.245%22%20y=%2230.943%22%20font-weight=%22400%22%20font-size=%2210.583%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20x=%2282.245%22%20y=%2230.943%22%20font-weight=%22700%22%3ESys%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E", + "otid": 1618509859237 }, "design": { "graph": { "blocks": [ { - "id": "34028c73-8f61-4f50-a039-0a57d6056946", - "type": "basic.outputLabel", + "id": "34c6aff6-7aca-4cc1-8d79-d6143d2f6937", + "type": "basic.output", "data": { - "name": "addr", - "range": "[3:0]", - "blockColor": "navy", - "size": 4, - "oldBlockColor": "fuchsia" + "name": "nc" }, "position": { - "x": 872, - "y": -144 + "x": 920, + "y": -24 } }, { - "id": "40e3c20c-5598-44a1-b5b4-760dba97d882", - "type": "basic.outputLabel", + "id": "83ce9e72-711d-44f2-bbf5-b01c201a652a", + "type": "basic.output", "data": { - "name": "din_r", - "range": "[7:0]", - "oldBlockColor": "fuchsia", - "blockColor": "fuchsia", - "size": 8 + "name": "nc" }, "position": { - "x": 872, - "y": -64 + "x": 920, + "y": 56 } }, { - "id": "38abb13c-8652-41fb-931c-c7bf760ebb24", - "type": "basic.output", + "id": "0ae5a502-ee21-47ad-bacb-405a35a87a91", + "type": "basic.input", "data": { - "name": "busy" + "name": "", + "clock": true }, "position": { - "x": 1832, - "y": -56 + "x": 368, + "y": 64 } }, { - "id": "a040cc3d-b2c6-458e-bde6-f8234a19b6d1", - "type": "basic.outputLabel", + "id": "892d93f1-9c4c-46c1-82c7-ff9702a5725a", + "type": "basic.input", "data": { - "blockColor": "fuchsia", - "name": "busy" + "name": "rst", + "clock": false }, "position": { - "x": 1640, - "y": -56 + "x": 376, + "y": 200 } }, { - "id": "d1540ef0-9272-4082-9b24-9843ddb00cd7", - "type": "basic.outputLabel", + "id": "7995c7b0-4a39-4a19-aaa4-68f4e469912f", + "type": "basic.output", "data": { - "blockColor": "fuchsia", - "name": "wr", - "oldBlockColor": "fuchsia" + "name": "", + "range": "[19:0]", + "size": 20 }, "position": { - "x": 856, - "y": 24 + "x": 920, + "y": 200 } }, { - "id": "7fb933a6-5c63-4d46-8aaa-440b30974993", + "id": "c48a2779-52ed-4dde-8f95-e8ce67397de8", "type": "basic.input", "data": { "name": "", - "clock": true + "range": "[19:0]", + "clock": false, + "size": 20 }, "position": { - "x": -120, - "y": 80 + "x": 376, + "y": 336 } }, { - "id": "2c31aa6a-383c-4eb5-b669-b8a31ad14225", - "type": "basic.inputLabel", + "id": "d1e52cbe-a82e-4bea-9ed0-e970eec3e43e", + "type": "basic.constant", "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "name": "", + "value": "0", + "local": false }, "position": { - "x": 24, - "y": 80 + "x": 656, + "y": -80 } }, { - "id": "8ca2279c-fdc3-40d3-9fbe-2071c026932f", - "type": "basic.outputLabel", + "id": "2cc2ff9d-ebfc-43e2-83d7-5c4a6d8c77e6", + "type": "basic.code", "data": { - "blockColor": "fuchsia", - "name": "bus_mine", - "oldBlockColor": "fuchsia" + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "rst" + }, + { + "name": "d", + "range": "[19:0]", + "size": 20 + } + ], + "out": [ + { + "name": "q", + "range": "[19:0]", + "size": 20 + } + ] + }, + "params": [ + { + "name": "INI" + } + ], + "code": "//-- Generic System register\n//-- with reset\n//-- Number of bits\nlocalparam N = 20;\n\n//-- Initial value\nreg [N-1:0] qi = INI;\n\nalways @(posedge clk)\nbegin\n\n //-- Reset: Capture the initial\n //-- value\n if (rst == 1'b1)\n qi <= INI;\n \n //-- No reset: Capture the input\n else\n qi <= d;\nend\n\n//-- Connect the register with the\n//-- output\nassign q = qi;\n" }, "position": { - "x": 880, - "y": 112 + "x": 528, + "y": 32 + }, + "size": { + "width": 344, + "height": 400 } - }, + } + ], + "wires": [ { - "id": "1dae6915-2355-4174-95e5-088a7499fb42", - "type": "basic.outputLabel", - "data": { - "name": "mbi", - "range": "[13:0]", - "blockColor": "fuchsia", - "size": 14 + "source": { + "block": "2cc2ff9d-ebfc-43e2-83d7-5c4a6d8c77e6", + "port": "q" }, - "position": { - "x": 1120, - "y": 120 - } + "target": { + "block": "7995c7b0-4a39-4a19-aaa4-68f4e469912f", + "port": "in" + }, + "vertices": [], + "size": 20 }, { - "id": "0d362d8c-37c7-4a07-af15-ae7af9bbc7c9", - "type": "basic.output", - "data": { - "name": "mbo", - "range": "[13:0]", - "size": 14 + "source": { + "block": "d1e52cbe-a82e-4bea-9ed0-e970eec3e43e", + "port": "constant-out" }, - "position": { - "x": 1480, - "y": 120 + "target": { + "block": "2cc2ff9d-ebfc-43e2-83d7-5c4a6d8c77e6", + "port": "INI" + }, + "vertices": [] + }, + { + "source": { + "block": "892d93f1-9c4c-46c1-82c7-ff9702a5725a", + "port": "out" + }, + "target": { + "block": "2cc2ff9d-ebfc-43e2-83d7-5c4a6d8c77e6", + "port": "rst" } }, { - "id": "9cabcf85-d855-4e65-96c9-13c244d34d4d", + "source": { + "block": "c48a2779-52ed-4dde-8f95-e8ce67397de8", + "port": "out" + }, + "target": { + "block": "2cc2ff9d-ebfc-43e2-83d7-5c4a6d8c77e6", + "port": "d" + }, + "size": 20 + }, + { + "source": { + "block": "0ae5a502-ee21-47ad-bacb-405a35a87a91", + "port": "out" + }, + "target": { + "block": "2cc2ff9d-ebfc-43e2-83d7-5c4a6d8c77e6", + "port": "clk" + } + } + ] + } + } + }, + "5018a67fe520592d7f82dbf669bb3c3661624b65": { + "package": { + "name": "Button-tic", + "version": "0.6", + "description": "Button-tic: Configurable button that emits a tic when it is pressed", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20width=%22293.977%22%20height=%22257.958%22%20viewBox=%220%200%2077.781366%2068.251365%22%3E%3Cdefs%3E%3ClinearGradient%20gradientTransform=%22matrix(-.013%20-.01966%20.01932%20-.01493%20151.654%20290.082)%22%20gradientUnits=%22userSpaceOnUse%22%20y2=%222300.215%22%20x2=%226069.057%22%20y1=%222538.05%22%20x1=%225466.681%22%20id=%22b%22%20xlink:href=%22#a%22/%3E%3ClinearGradient%20id=%22a%22%3E%3Cstop%20offset=%220%22%20stop-color=%22#c3875c%22/%3E%3Cstop%20offset=%22.48%22%20stop-color=%22#eccba3%22/%3E%3Cstop%20offset=%221%22%20stop-color=%22#fce0cb%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg%20transform=%22translate(138.022%20-134.888)%22%3E%3Cpath%20d=%22M-117.19%20184.278a20.69%209.094%200%200%200-13.734%202.307l-5.434.006-1.284%205.482a20.69%209.094%200%200%200-.238%201.3%2020.69%209.094%200%200%200%2020.69%209.093%2020.69%209.094%200%200%200%2020.69-9.094%2020.69%209.094%200%200%200-.029-.351h.064l-1.277-6.47-5.778.005a20.69%209.094%200%200%200-13.67-2.278z%22%20fill=%22#333%22%20stroke=%22#000%22%20stroke-width=%22.282%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20ry=%226.762%22%20rx=%2219.408%22%20cy=%22187.341%22%20cx=%22-117.074%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%22.282%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22matrix(.1018%200%200%20.10181%20-158.528%20145.536)%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-width=%222.772%22%3E%3Cellipse%20cx=%22406.087%22%20cy=%22399.216%22%20rx=%22184.221%22%20ry=%2272.858%22%20fill=%22green%22/%3E%3Cellipse%20cx=%22406.23%22%20cy=%22383.328%22%20rx=%22179.497%22%20ry=%2260.977%22%20fill=%22#0f0%22/%3E%3C/g%3E%3C/g%3E%3Cpath%20d=%22M126.16%20115.387c-1.523%201.514-2.14%203.307-2.023%205.326-.507%201.097-2.411%202.346-2.027%203.267-1.196%201.923-1.624%203.389-1.572%204.569-.544%201.24-.403%201.705-.348%202.268-2.266%203.497-4.092%208.255-5.878%2013.125-2.302%202.765-3.64%205.792-4.898%208.84-2.191%203.7-3.756%207.67-4.02%2011.394l-.265.558c2.996%203.107%204.946%201.524%207.018.747%206.637-3.112%209.504-8.52%2012.212-14.025.473-1.572%201.57-3.127%203.151-4.669%204.414-4.785%206.886-10.022%209.857-15.142.228-.428.58-1.032%201.143-1.941%201.675-1.795%203.418-4.997%205.132-7.612z%22%20fill=%22url(#b)%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.265%22%20transform=%22translate(-90.276%20-115.233)%22/%3E%3Cpath%20d=%22M18.486%2038.911c-2.362%202.823-3.506%206.298-4.228%2010.204.518.13%201.302-.444%202.155-1.196%202.575-6.067%201.848-7.142%202.073-9.008z%22%20fill=%22#f8ecf8%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.265%22/%3E%3Cpath%20d=%22M33.79%205.666c2.093-.057%203.853.53%205.373%201.582M31.832%208.759c2.001.286%203.946.663%205.428%201.788M30.331%2013.16c1.325-.48%203.02.099%204.83%201.005M29.98%2015.593l1.79.362%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%22.265%22/%3E%3Cg%20transform=%22matrix(1.2877%200%200%201.2877%20-70.904%20-45.941)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "653b2ced-3f13-4b1d-a2b6-c330c671067a", "type": "basic.input", "data": { - "name": "mbus", - "range": "[13:0]", - "clock": false, - "size": 14 + "name": "", + "clock": true }, "position": { - "x": -128, - "y": 216 + "x": 128, + "y": -32 } }, { - "id": "6063cdbd-2840-4dec-99f5-d24004ff1c48", + "id": "98209ccc-d0f3-48fc-b10b-c2865b7442fc", "type": "basic.inputLabel", "data": { - "name": "mbi", - "range": "[13:0]", - "pins": [ - { - "index": "13", - "name": "", - "value": "" - }, - { - "index": "12", - "name": "", - "value": "" - }, - { - "index": "11", - "name": "", - "value": "" - }, - { - "index": "10", - "name": "", - "value": "" - }, - { - "index": "9", - "name": "", - "value": "" - }, - { - "index": "8", - "name": "", - "value": "" - }, - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia" + "blockColor": "yellow", + "name": "clk" }, "position": { - "x": 40, - "y": 216 + "x": 280, + "y": -32 } }, { - "id": "45f97815-a402-46f1-a60b-bc584aa6a2ca", - "type": "basic.outputLabel", + "id": "b58132b2-2e39-4a85-ab5b-63bded91cecc", + "type": "basic.output", "data": { - "name": "mbi", - "range": "[13:0]", - "blockColor": "fuchsia", - "size": 14 + "name": "s" }, "position": { - "x": 216, - "y": 216 + "x": 728, + "y": -16 } }, { - "id": "7d0852c6-4778-4a53-bf90-30527c44a0eb", + "id": "2f9cf56e-789c-4621-923a-be59ef6ccd4a", "type": "basic.outputLabel", "data": { "blockColor": "yellow", - "name": "clk" + "name": "clk", + "oldBlockColor": "fuchsia" }, "position": { - "x": 1640, - "y": 224 + "x": 312, + "y": 104 } }, { - "id": "9be4488d-51be-4346-8a31-5d8f2f86e4d3", + "id": "b8666bca-0d3d-4cbb-8129-fcea674d428a", "type": "basic.outputLabel", "data": { - "blockColor": "fuchsia", - "name": "bus_mine", + "blockColor": "yellow", + "name": "clk", "oldBlockColor": "fuchsia" }, "position": { - "x": 936, - "y": 248 + "x": 744, + "y": 136 } }, { - "id": "95c4416f-62f5-4196-a406-f7915d40a572", + "id": "997db8c4-b772-49d8-83e7-4427aff720e6", "type": "basic.output", "data": { - "name": "done" - }, - "position": { - "x": 1952, - "y": 280 - } - }, - { - "id": "289f00be-f97d-4553-a60a-32d8b45da4cc", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "done", - "oldBlockColor": "fuchsia" + "name": "Press" }, "position": { - "x": 1632, - "y": 296 + "x": 1032, + "y": 184 } }, { - "id": "b14f140b-7bb5-46d9-8019-39c27ff6e0e3", + "id": "21bc142d-a93a-430d-b37a-326435def9f9", "type": "basic.input", "data": { - "name": "start", + "name": "pin", "clock": false }, "position": { - "x": -88, - "y": 312 + "x": 304, + "y": 200 } }, { - "id": "da45f105-3600-4458-a820-50046581f5dd", - "type": "basic.inputLabel", + "id": "7f2c89d2-aea0-4ff9-b4f9-52d70cefa867", + "type": "basic.constant", "data": { - "blockColor": "fuchsia", - "name": "start", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "name": "pup", + "value": "0", + "local": false }, "position": { - "x": 56, - "y": 312 + "x": 448, + "y": 56 } }, { - "id": "923c4db6-0c76-4647-a848-75fd61fba6ec", - "type": "basic.outputLabel", + "id": "1ff8ad12-4df4-4aee-922b-c0c0fb449926", + "type": "basic.constant", "data": { - "blockColor": "fuchsia", - "name": "done", - "oldBlockColor": "fuchsia" + "name": "not", + "value": "0", + "local": false }, "position": { - "x": 936, - "y": 312 + "x": 560, + "y": 56 } }, { - "id": "05a1a5b4-bf29-49df-b0b1-887859d9ec9e", - "type": "basic.inputLabel", + "id": "15503ba9-0846-4d76-9fa4-dd8f67da8f08", + "type": "basic.info", "data": { - "blockColor": "fuchsia", - "name": "bbusy", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "info": "System clock", + "readonly": true }, "position": { - "x": 560, - "y": 336 + "x": 136, + "y": -56 + }, + "size": { + "width": 136, + "height": 40 } }, { - "id": "9978357f-7ad7-44b5-97d2-b44692508773", - "type": "basic.input", + "id": "8f811ac3-ce9d-4e72-af71-03036c9426e7", + "type": "basic.info", "data": { - "name": "din", - "range": "[7:0]", - "clock": false, - "size": 8 + "info": "Button state signal", + "readonly": true }, "position": { - "x": -88, - "y": 392 + "x": 720, + "y": -32 + }, + "size": { + "width": 176, + "height": 40 } }, { - "id": "5344b55b-0e5d-4444-88ef-fd6b3caa1c5b", - "type": "basic.inputLabel", + "id": "dee7b550-b7f2-40d7-955d-bfb931daba22", + "type": "basic.info", "data": { - "name": "din", - "range": "[7:0]", - "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia" + "info": "Tic: button pressed", + "readonly": true }, "position": { - "x": 64, - "y": 392 + "x": 1024, + "y": 152 + }, + "size": { + "width": 184, + "height": 40 } }, { - "id": "5884d0cb-fd13-4b25-b561-c919079d2136", - "type": "basic.output", + "id": "88b26983-667f-40de-b1c6-c6710a7bbd4a", + "type": "basic.info", "data": { - "name": "nc" + "info": "Rising edge detector", + "readonly": true }, "position": { - "x": 1936, - "y": 488 + "x": 872, + "y": 248 + }, + "size": { + "width": 184, + "height": 40 } }, { - "id": "54e9bf9f-b852-4c45-bd53-f6eb4ee707eb", - "type": "basic.inputLabel", + "id": "0957ba76-2838-49cb-8fd4-b9fe42f21801", + "type": "basic.info", "data": { - "blockColor": "fuchsia", - "name": "start_read", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "info": "Pull up on/off", + "readonly": true }, "position": { - "x": 608, - "y": 504 + "x": 448, + "y": 16 + }, + "size": { + "width": 152, + "height": 40 } }, { - "id": "fce01e4d-e6d2-4811-8f96-410673168b4c", - "type": "basic.outputLabel", + "id": "5a5caef3-ffd0-46a4-9f63-e55aa8cd750d", + "type": "basic.info", "data": { - "blockColor": "fuchsia", - "name": "bbusy", - "oldBlockColor": "fuchsia" + "info": "Not on/off", + "readonly": true }, "position": { - "x": 152, - "y": 552 + "x": 576, + "y": 16 + }, + "size": { + "width": 120, + "height": 32 } }, { - "id": "700d8b15-d6df-4b76-b10d-72db58c33e6c", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "bus_mine", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" - }, + "id": "541797cf-83f6-45cf-9a33-0009bb231e47", + "type": "ae13be3e513e7cb48d47d3fb3aa840dd85dc1f5e", "position": { - "x": 776, - "y": 584 + "x": 888, + "y": 168 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "5b15b8c9-8fb1-410a-8910-a60ef283ff1d", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk" - }, + "id": "eed1d43a-6faf-4ca5-b3b8-f1e071234e0f", + "type": "091b3514573becaa7196cc3f7854140e5773864d", "position": { - "x": 1496, - "y": 648 + "x": 496, + "y": 184 + }, + "size": { + "width": 96, + "height": 64 } - }, + } + ], + "wires": [ { - "id": "524ca75c-cdd3-4e79-851a-b46ce146bd66", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "start" + "source": { + "block": "653b2ced-3f13-4b1d-a2b6-c330c671067a", + "port": "out" }, - "position": { - "x": 152, - "y": 696 - } + "target": { + "block": "98209ccc-d0f3-48fc-b10b-c2865b7442fc", + "port": "inlabel" + }, + "vertices": [] }, { - "id": "7e9db299-cb56-4cd9-a489-d5fbd6eb3e2f", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "busy", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "source": { + "block": "2f9cf56e-789c-4621-923a-be59ef6ccd4a", + "port": "outlabel" }, - "position": { - "x": 1184, - "y": 704 - } + "target": { + "block": "eed1d43a-6faf-4ca5-b3b8-f1e071234e0f", + "port": "59f7bee9-9832-421d-aa0a-de177f3f121d" + }, + "vertices": [ + { + "x": 424, + "y": 160 + } + ] }, { - "id": "28d32f23-19b6-4a8c-8ac6-edbbb1a0e999", - "type": "basic.outputLabel", - "data": { - "name": "din", - "range": "[7:0]", - "blockColor": "fuchsia", - "size": 8 + "source": { + "block": "b8666bca-0d3d-4cbb-8129-fcea674d428a", + "port": "outlabel" }, - "position": { - "x": 1496, - "y": 712 + "target": { + "block": "541797cf-83f6-45cf-9a33-0009bb231e47", + "port": "2708468d-1088-4570-be63-fb0d4799a941" } }, { - "id": "703240cb-6595-44d0-a266-869db1fe0889", - "type": "basic.inputLabel", - "data": { - "name": "din_r", - "range": "[7:0]", - "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia", - "oldBlockColor": "fuchsia" + "source": { + "block": "21bc142d-a93a-430d-b37a-326435def9f9", + "port": "out" }, - "position": { - "x": 1840, - "y": 712 + "target": { + "block": "eed1d43a-6faf-4ca5-b3b8-f1e071234e0f", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" } }, { - "id": "7df4a7f1-90b6-4562-8be3-e4719a824545", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk" + "source": { + "block": "eed1d43a-6faf-4ca5-b3b8-f1e071234e0f", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, - "position": { - "x": 880, - "y": 752 + "target": { + "block": "b58132b2-2e39-4a85-ab5b-63bded91cecc", + "port": "in" } }, { - "id": "8e8559df-135a-42b3-842d-7e6f7528aa8c", - "type": "basic.inputLabel", - "data": { - "name": "addr", - "range": "[3:0]", - "pins": [ - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia", - "blockColor": "navy" + "source": { + "block": "eed1d43a-6faf-4ca5-b3b8-f1e071234e0f", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, - "position": { - "x": 1232, - "y": 816 + "target": { + "block": "541797cf-83f6-45cf-9a33-0009bb231e47", + "port": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff" + }, + "vertices": [] + }, + { + "source": { + "block": "541797cf-83f6-45cf-9a33-0009bb231e47", + "port": "1c25e08e-e664-4fab-9b30-cedc1f8a3739" + }, + "target": { + "block": "997db8c4-b772-49d8-83e7-4427aff720e6", + "port": "in" } }, { - "id": "dc204461-1dd1-428f-91a2-006d905d6585", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "start_read" + "source": { + "block": "7f2c89d2-aea0-4ff9-b4f9-52d70cefa867", + "port": "constant-out" }, - "position": { - "x": 872, - "y": 832 + "target": { + "block": "eed1d43a-6faf-4ca5-b3b8-f1e071234e0f", + "port": "07e7cb88-d87c-4aa3-9938-fc226e3f4815" } }, { - "id": "0db424eb-f896-41e1-becb-7eb065dd64f2", - "type": "basic.outputLabel", + "source": { + "block": "1ff8ad12-4df4-4aee-922b-c0c0fb449926", + "port": "constant-out" + }, + "target": { + "block": "eed1d43a-6faf-4ca5-b3b8-f1e071234e0f", + "port": "6aacd3c5-a3e9-4a17-afb8-2b1271b3054c" + } + } + ] + } + } + }, + "ae13be3e513e7cb48d47d3fb3aa840dd85dc1f5e": { + "package": { + "name": "Rising-edge-detector", + "version": "0.4", + "description": "Rising-edge detector. It generates a 1-period pulse (tic) when a rising edge is detected on the input. Block implementation", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22185.363%22%20height=%22183.398%22%20viewBox=%220%200%2049.043981%2048.524089%22%3E%3Cg%20stroke-linecap=%22round%22%3E%3Cg%20fill=%22none%22%20stroke=%22#00f%22%3E%3Cpath%20d=%22M13.478%2032.434l6.026%207.975-5.054%206.03%201.749%201.556m-3.96-15.367l-3.5%207.976-7.97%201.555.583%202.529%22%20stroke-width=%221.058%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M12.773%2032.628V2.686%22%20stroke-width=%223.969%22/%3E%3Cpath%20d=%22M1.984%2012.436L12.673%201.984l10.35%2010.452%22%20stroke-width=%223.969%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(.842%200%200%20.842%20-48.178%20-26.157)%22%20stroke=%22green%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "2708468d-1088-4570-be63-fb0d4799a941", + "type": "basic.input", "data": { - "blockColor": "fuchsia", - "name": "busy" + "name": "", + "clock": true }, "position": { "x": 152, - "y": 840 + "y": 152 } }, { - "id": "eda78d52-57f7-4e44-bd8e-75e67c496650", - "type": "basic.outputLabel", + "id": "9215ae7b-9960-4c8e-b80c-4d636db8510d", + "type": "basic.output", "data": { - "blockColor": "fuchsia", - "name": "wr", - "oldBlockColor": "fuchsia" + "name": "nc" }, "position": { - "x": 864, - "y": 904 + "x": 840, + "y": 160 } }, { - "id": "caf86b2c-c08d-411d-be47-4084fec9532e", - "type": "basic.inputLabel", + "id": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", + "type": "basic.input", "data": { - "blockColor": "fuchsia", - "name": "wr", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "name": "", + "clock": false }, "position": { - "x": 1216, - "y": 912 + "x": 152, + "y": 280 } }, { - "id": "366a768a-2f5d-4c01-8338-bdef0a688ea7", - "type": "basic.inputLabel", + "id": "1c25e08e-e664-4fab-9b30-cedc1f8a3739", + "type": "basic.output", "data": { - "blockColor": "fuchsia", - "name": "done", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "name": "" }, "position": { - "x": 1144, - "y": 1008 + "x": 840, + "y": 400 } }, { - "id": "0a517454-aeac-48a3-bc62-6aa73da948bd", + "id": "49c0a94e-2687-4aa4-8cba-327b2942095f", "type": "basic.info", "data": { - "info": "Reading data from memory \nReading bus status", + "info": "## Rising edge detector\n\nIt generates a 1-period pulse (tic) when a rising edge is detected on the \ninput signal", "readonly": true }, "position": { - "x": 336, - "y": 120 + "x": 176, + "y": -16 }, "size": { - "width": 232, - "height": 64 + "width": 568, + "height": 80 } }, { - "id": "a200cfa9-fe9a-4c4b-b9d4-f4307d071797", + "id": "a6ea5e17-d259-4272-8d1c-87a6a7fe3235", "type": "basic.info", "data": { - "info": "Calculate if the bus can be taken", + "info": "Input signal", "readonly": true }, "position": { - "x": 216, - "y": 440 + "x": 160, + "y": 256 }, "size": { - "width": 272, - "height": 32 + "width": 136, + "height": 40 } }, { - "id": "7a989d63-cd4a-4c47-9513-57b4ea6ee141", - "type": "35f267d0df6ffcb7fc33753bc9df9cf083642cca", + "id": "d0d6c668-3c03-42f5-9244-9a0431f11a87", + "type": "basic.info", + "data": { + "info": "System clock", + "readonly": true + }, "position": { - "x": 296, - "y": 552 + "x": 168, + "y": 120 }, "size": { "width": 96, - "height": 64 + "height": 48 } }, { - "id": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", - "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", - "position": { - "x": 464, - "y": 568 - }, + "id": "f18011f4-eb45-4f91-9716-c1d8c99f1845", + "type": "basic.info", + "data": { + "info": "Current signal \nstate", + "readonly": true + }, + "position": { + "x": 328, + "y": 456 + }, "size": { - "width": 96, - "height": 64 + "width": 168, + "height": 48 } }, { - "id": "239fe2ba-e2b9-4446-a1ea-51e1616f5b75", + "id": "ab801839-c115-4e44-adb7-349586890b97", "type": "basic.info", "data": { - "info": "The bus is available", + "info": "Signal state in the previous \nclock cycle", "readonly": true }, "position": { - "x": 384, - "y": 512 + "x": 328, + "y": 200 }, "size": { - "width": 184, - "height": 32 + "width": 248, + "height": 48 } }, { - "id": "b62ad9b4-5b0e-4b74-a0ad-947946a59331", + "id": "fde5c436-d382-48e7-80b5-390c05f46b9d", "type": "basic.info", "data": { - "info": "This circuits wants \nto use the bus", + "info": "If the current signal is 1 and its value in \nthe previous clock cycle was 0, it means \nthat a rising edge has been detected! \nThe output es 1\n\nIn any other case the output is 0", "readonly": true }, "position": { - "x": 280, - "y": 664 + "x": 728, + "y": 256 }, "size": { - "width": 192, - "height": 56 + "width": 344, + "height": 96 } }, { - "id": "c25805fd-f852-43d5-93db-f3f0cb17c301", + "id": "c3990bfd-57a6-4602-ab46-800486326dd6", "type": "basic.info", "data": { - "info": "The bus has been already \ntaken", + "info": "**Delay**: 0 clock cycles \n\nThere is no delay between the arrival of a rising edge \nand its detection", "readonly": true }, "position": { - "x": 272, - "y": 816 + "x": 528, + "y": 504 }, "size": { - "width": 208, - "height": 56 + "width": 416, + "height": 88 } }, { - "id": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", - "type": "81613874c6152f06c06ed7014bf4235900cfcc30", + "id": "70cfa680-3def-482c-b194-054c1f522357", + "type": "3676a00f3a70e406487ed14b901daf3e4984e63d", "position": { - "x": 648, - "y": 584 + "x": 552, + "y": 280 }, "size": { "width": 96, @@ -8420,11 +7775,11 @@ } }, { - "id": "26b71a43-5955-4452-9b0e-94ea6ef453b7", - "type": "81613874c6152f06c06ed7014bf4235900cfcc30", + "id": "49c498a6-eb89-4e72-889d-26e39cea5ad0", + "type": "ba518ee261a2be13a9739cd3a01cdcebe0ef63c0", "position": { - "x": 1088, - "y": 296 + "x": 696, + "y": 400 }, "size": { "width": 96, @@ -8432,2045 +7787,2273 @@ } }, { - "id": "d3ce12c0-3b45-4ed2-8446-fb6c4c8e8710", - "type": "basic.info", - "data": { - "info": "One cycle after the machine is done \nthe bus is already taken to write \nthe bbusy signal to 0 and allow \nother circuits to use it", - "readonly": true - }, + "id": "4f9cbe33-5c5a-43fb-bb20-863555cd0c64", + "type": "58ed2b5c7e33e2f215ccba6c101d9ea4ff60f284", "position": { - "x": 960, - "y": 392 + "x": 320, + "y": 264 }, "size": { - "width": 304, - "height": 88 + "width": 96, + "height": 64 } - }, + } + ], + "wires": [ { - "id": "110cf90a-bc63-4642-a72e-33e8e397e804", - "type": "basic.info", - "data": { - "info": "The output bus is controlled \nby this circuit (1) or \nremain untouched (0)", - "readonly": true - }, - "position": { - "x": 1352, - "y": 256 + "source": { + "block": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", + "port": "out" }, - "size": { - "width": 240, - "height": 112 + "target": { + "block": "4f9cbe33-5c5a-43fb-bb20-863555cd0c64", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" } }, { - "id": "0421b3fd-c660-4279-abe0-e1d486431ce0", - "type": "basic.info", - "data": { - "info": "The reading machine \ncan be started", - "readonly": true - }, - "position": { - "x": 584, - "y": 456 + "source": { + "block": "2708468d-1088-4570-be63-fb0d4799a941", + "port": "out" }, - "size": { - "width": 184, - "height": 64 + "target": { + "block": "4f9cbe33-5c5a-43fb-bb20-863555cd0c64", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" } }, { - "id": "165f75a6-a05d-4025-aac5-91f45cd6cd30", - "type": "1c7dae7144d376f2ee4896fcc502a29110e2db37", - "position": { - "x": 1808, - "y": 280 + "source": { + "block": "4f9cbe33-5c5a-43fb-bb20-863555cd0c64", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" }, - "size": { - "width": 96, - "height": 64 + "target": { + "block": "70cfa680-3def-482c-b194-054c1f522357", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" } }, { - "id": "1d98c440-947b-4591-946a-b35d277853b1", - "type": "56d27471f271f95a5d5eb660f7745d5d9329ab02", - "position": { - "x": 1680, - "y": 696 + "source": { + "block": "70cfa680-3def-482c-b194-054c1f522357", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, - "size": { - "width": 96, - "height": 96 + "target": { + "block": "49c498a6-eb89-4e72-889d-26e39cea5ad0", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" } }, { - "id": "0414e63d-55c1-41b0-abdf-4e02d0f68ff9", - "type": "725b7e2cb9666b5ed3183537d9c898f096dab82a", - "position": { - "x": 1504, - "y": 792 + "source": { + "block": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", + "port": "out" }, - "size": { - "width": 96, - "height": 64 + "target": { + "block": "49c498a6-eb89-4e72-889d-26e39cea5ad0", + "port": "97b51945-d716-4b6c-9db9-970d08541249" } }, { - "id": "cb239ba5-a0b6-498b-817d-0f0013b987c0", - "type": "basic.info", + "source": { + "block": "49c498a6-eb89-4e72-889d-26e39cea5ad0", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "1c25e08e-e664-4fab-9b30-cedc1f8a3739", + "port": "in" + } + } + ] + } + } + }, + "3676a00f3a70e406487ed14b901daf3e4984e63d": { + "package": { + "name": "NOT", + "version": "2.0", + "description": "NOT gate (Verilog implementation)", + "author": "Jesús Arroyo, Juan González", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22317.651%22%20height=%22194.058%22%20version=%221%22%3E%3Cpath%20d=%22M69.246%204l161.86%2093.027-161.86%2093.031V4z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20cx=%22253.352%22%20cy=%2296.736%22%20rx=%2221.393%22%20ry=%2221.893%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2097.49h65.262m205.796%200h38.48%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%2281.112%22%20y=%22111.734%22%20transform=%22scale(.99532%201.0047)%22%20font-weight=%22400%22%20font-size=%2249.675%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%2281.112%22%20y=%22111.734%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%3ENot%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "18c2ebc7-5152-439c-9b3f-851c59bac834", + "type": "basic.input", "data": { - "info": "## Sample machine\n\nRead the input data, (one byte per clock cycle) and store it into the memory\n\n", - "readonly": true + "name": "" }, "position": { - "x": -104, - "y": -192 - }, - "size": { - "width": 648, - "height": 104 + "x": 112, + "y": 72 } }, { - "id": "609dbf24-0993-4b6c-b756-89c07956ceb6", - "type": "f1dc888a11b743f08087b6e65015fe269bed1f6f", - "position": { - "x": 384, - "y": 184 + "id": "664caf9e-5f40-4df4-800a-b626af702e62", + "type": "basic.output", + "data": { + "name": "" }, - "size": { - "width": 96, - "height": 128 + "position": { + "x": 560, + "y": 72 } }, { - "id": "2d992803-f074-4c94-b1a7-558ec08e9e80", - "type": "6050ed4fa033f3f13d3fe5fae5dcedb414a0fede", + "id": "5365ed8c-e5db-4445-938f-8d689830ea5c", + "type": "basic.code", + "data": { + "code": "//-- NOT Gate\nassign q = ~a;\n\n", + "params": [], + "ports": { + "in": [ + { + "name": "a" + } + ], + "out": [ + { + "name": "q" + } + ] + } + }, "position": { - "x": 1080, - "y": -80 + "x": 256, + "y": 48 }, "size": { - "width": 96, - "height": 128 + "width": 256, + "height": 104 } }, { - "id": "7a8892b7-c00f-43ba-84c9-0e184c5144bf", - "type": "7cd239bdd995aa0988ea7615327f97fbe335930d", + "id": "e3bb41e3-1944-4946-9675-c2dbe2e49fcf", + "type": "basic.info", + "data": { + "info": "Input", + "readonly": true + }, "position": { - "x": 1312, - "y": 104 + "x": 128, + "y": 32 }, "size": { - "width": 96, - "height": 96 + "width": 80, + "height": 40 } }, { - "id": "cf4e570a-5ee4-4836-8dab-4d4340c3acb3", - "type": "efe39aa2a101707774e24b099a0654cc52ff8a04", + "id": "8408dd5f-945f-4a89-9790-7752813d4e91", + "type": "basic.info", + "data": { + "info": "Output", + "readonly": true + }, "position": { - "x": 1016, - "y": 800 + "x": 576, + "y": 40 }, "size": { - "width": 96, - "height": 128 + "width": 80, + "height": 40 } } ], "wires": [ { "source": { - "block": "7fb933a6-5c63-4d46-8aaa-440b30974993", + "block": "18c2ebc7-5152-439c-9b3f-851c59bac834", "port": "out" }, "target": { - "block": "2c31aa6a-383c-4eb5-b669-b8a31ad14225", - "port": "inlabel" - }, - "vertices": [] + "block": "5365ed8c-e5db-4445-938f-8d689830ea5c", + "port": "a" + } }, { "source": { - "block": "b14f140b-7bb5-46d9-8019-39c27ff6e0e3", - "port": "out" + "block": "5365ed8c-e5db-4445-938f-8d689830ea5c", + "port": "q" }, "target": { - "block": "da45f105-3600-4458-a820-50046581f5dd", - "port": "inlabel" + "block": "664caf9e-5f40-4df4-800a-b626af702e62", + "port": "in" + } + } + ] + } + } + }, + "58ed2b5c7e33e2f215ccba6c101d9ea4ff60f284": { + "package": { + "name": "sys-DFF-verilog", + "version": "3", + "description": "System - D Flip-flop. Capture data every system clock cycle. Verilog implementation", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20width=%22196.313%22%20height=%22216.83%22%20viewBox=%220%200%2051.941051%2057.369679%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20transform=%22translate(-52.22%20-48.028)%22%3E%3Crect%20width=%2224.412%22%20height=%2213.185%22%20x=%2279.352%22%20y=%2253.67%22%20ry=%222.247%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%22.794%22%20stroke-linecap=%22round%22/%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M77.902%2088.18l13.607%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M70.517%2080.116l-9.232-19.613-6.45%203.725-2.07-3.584%2020.905-12.07%202.07%203.584-6.093%203.518%2012.03%2018.222s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.773L69.412%2093.049s-2.848-3.696-2.16-6.796c.687-3.1%203.265-6.137%203.265-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Ctext%20style=%22line-height:1.25%22%20x=%2281.296%22%20y=%2263.239%22%20font-weight=%22400%22%20font-size=%2210.583%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20x=%2281.296%22%20y=%2263.239%22%20font-weight=%22700%22%3ESys%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "54dbabeb-8aef-4184-8fdc-87528aca29a3", + "type": "basic.output", + "data": { + "name": "nc" + }, + "position": { + "x": 816, + "y": 112 } }, { - "source": { - "block": "609dbf24-0993-4b6c-b756-89c07956ceb6", - "port": "9751f777-00ec-46c1-8d85-07d2dec1e653" + "id": "3943e194-090b-4553-9df3-88bc4b17abc2", + "type": "basic.input", + "data": { + "name": "", + "clock": true }, - "target": { - "block": "05a1a5b4-bf29-49df-b0b1-887859d9ec9e", - "port": "inlabel" + "position": { + "x": 208, + "y": 184 } }, { - "source": { - "block": "7df4a7f1-90b6-4562-8be3-e4719a824545", - "port": "outlabel" + "id": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78", + "type": "basic.output", + "data": { + "name": "" }, - "target": { - "block": "cf4e570a-5ee4-4836-8dab-4d4340c3acb3", - "port": "cb426e3d-ace3-4a57-a74b-155caed0c14c" + "position": { + "x": 816, + "y": 232 } }, { - "source": { - "block": "fce01e4d-e6d2-4811-8f96-410673168b4c", - "port": "outlabel" + "id": "bf2f0c53-2d04-4cba-aa70-2df85502d24f", + "type": "basic.input", + "data": { + "name": "", + "clock": false }, - "target": { - "block": "7a989d63-cd4a-4c47-9513-57b4ea6ee141", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "position": { + "x": 208, + "y": 280 + } + }, + { + "id": "65194b18-5d2a-41b2-bd86-01be99978ad6", + "type": "basic.constant", + "data": { + "name": "", + "value": "0", + "local": false }, - "vertices": [] + "position": { + "x": 512, + "y": 64 + } }, { - "source": { - "block": "524ca75c-cdd3-4e79-851a-b46ce146bd66", - "port": "outlabel" + "id": "bdc170f0-4468-4137-bd79-4624c9cadf2b", + "type": "basic.code", + "data": { + "code": "//-- Initial value\nreg qi = INI;\n\n//-- Capture the input data \n//-- on the rising edge of \n//-- the system clock\nalways @(posedge clk)\n qi <= d;\n \n//-- Connect the register with the\n//-- output\nassign q = qi;", + "params": [ + { + "name": "INI" + } + ], + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "d" + } + ], + "out": [ + { + "name": "q" + } + ] + } }, - "target": { - "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", - "port": "97b51945-d716-4b6c-9db9-970d08541249" + "position": { + "x": 384, + "y": 168 }, - "vertices": [] + "size": { + "width": 352, + "height": 192 + } }, { - "source": { - "block": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "id": "53d11290-50b3-40fb-b253-222cb296b075", + "type": "basic.info", + "data": { + "info": "Parameter: Initial value", + "readonly": true }, - "target": { - "block": "700d8b15-d6df-4b76-b10d-72db58c33e6c", - "port": "inlabel" + "position": { + "x": 488, + "y": 32 }, - "vertices": [] + "size": { + "width": 208, + "height": 40 + } }, { - "source": { - "block": "0db424eb-f896-41e1-becb-7eb065dd64f2", - "port": "outlabel" + "id": "c25a29cd-d5ed-435e-b375-e6d5557660d8", + "type": "basic.info", + "data": { + "info": "System clock", + "readonly": true }, - "target": { - "block": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", - "port": "97b51945-d716-4b6c-9db9-970d08541249" + "position": { + "x": 208, + "y": 160 }, - "vertices": [ - { - "x": 584, - "y": 824 - } - ] + "size": { + "width": 120, + "height": 32 + } }, { - "source": { - "block": "9be4488d-51be-4346-8a31-5d8f2f86e4d3", - "port": "outlabel" + "id": "ecafc6fa-330b-4ba7-aa67-40b3ea48f1f1", + "type": "basic.info", + "data": { + "info": "Input data", + "readonly": true }, - "target": { - "block": "26b71a43-5955-4452-9b0e-94ea6ef453b7", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "position": { + "x": 224, + "y": 256 }, - "vertices": [] + "size": { + "width": 112, + "height": 40 + } }, { - "source": { - "block": "923c4db6-0c76-4647-a848-75fd61fba6ec", - "port": "outlabel" + "id": "df95c331-682d-4733-a62d-ad9fcd75f96a", + "type": "basic.info", + "data": { + "info": "Output", + "readonly": true }, - "target": { - "block": "26b71a43-5955-4452-9b0e-94ea6ef453b7", - "port": "97b51945-d716-4b6c-9db9-970d08541249" + "position": { + "x": 840, + "y": 200 }, - "vertices": [] + "size": { + "width": 80, + "height": 40 + } }, { - "source": { - "block": "cf4e570a-5ee4-4836-8dab-4d4340c3acb3", - "port": "49221b19-132a-4e3f-9a1f-97bcd463391b" + "id": "dd8217df-b56d-49a9-ae94-f5e0c96e1460", + "type": "basic.info", + "data": { + "info": "# D Flip-Flop (system)\n\nIt stores the input data that arrives at cycle n \nIts output is shown in the cycle n+1", + "readonly": true }, - "target": { - "block": "366a768a-2f5d-4c01-8338-bdef0a688ea7", - "port": "inlabel" + "position": { + "x": 144, + "y": -136 + }, + "size": { + "width": 488, + "height": 104 } }, + { + "id": "92bfbcf5-6016-4ad8-963c-c5c7747304d0", + "type": "basic.info", + "data": { + "info": "Not connected", + "readonly": true + }, + "position": { + "x": 808, + "y": 88 + }, + "size": { + "width": 176, + "height": 32 + } + } + ], + "wires": [ { "source": { - "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "3943e194-090b-4553-9df3-88bc4b17abc2", + "port": "out" }, "target": { - "block": "54e9bf9f-b852-4c45-bd53-f6eb4ee707eb", - "port": "inlabel" + "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", + "port": "clk" } }, { "source": { - "block": "dc204461-1dd1-428f-91a2-006d905d6585", - "port": "outlabel" + "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", + "port": "q" }, "target": { - "block": "cf4e570a-5ee4-4836-8dab-4d4340c3acb3", - "port": "8f591b24-0427-409f-aa6e-ca1861556cf5" + "block": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78", + "port": "in" } }, { "source": { - "block": "cf4e570a-5ee4-4836-8dab-4d4340c3acb3", - "port": "6a11eaf9-4bd5-405e-81f8-44418365326b" + "block": "65194b18-5d2a-41b2-bd86-01be99978ad6", + "port": "constant-out" }, "target": { - "block": "7e9db299-cb56-4cd9-a489-d5fbd6eb3e2f", - "port": "inlabel" + "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", + "port": "INI" } }, { "source": { - "block": "a040cc3d-b2c6-458e-bde6-f8234a19b6d1", - "port": "outlabel" + "block": "bf2f0c53-2d04-4cba-aa70-2df85502d24f", + "port": "out" }, "target": { - "block": "38abb13c-8652-41fb-931c-c7bf760ebb24", - "port": "in" + "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", + "port": "d" + } + } + ] + } + } + }, + "091b3514573becaa7196cc3f7854140e5773864d": { + "package": { + "name": "Button", + "version": "0.5", + "description": "Configurable button (pull-up on/off. Not on/off)", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20width=%22202.458%22%20height=%22255.947%22%20viewBox=%220%200%2053.566957%2067.719398%22%3E%3Cdefs%3E%3ClinearGradient%20gradientTransform=%22matrix(-.013%20-.01966%20.01932%20-.01493%20151.654%20290.082)%22%20gradientUnits=%22userSpaceOnUse%22%20y2=%222300.215%22%20x2=%226069.057%22%20y1=%222538.05%22%20x1=%225466.681%22%20id=%22b%22%20xlink:href=%22#a%22/%3E%3ClinearGradient%20id=%22a%22%3E%3Cstop%20offset=%220%22%20stop-color=%22#c3875c%22/%3E%3Cstop%20offset=%22.48%22%20stop-color=%22#eccba3%22/%3E%3Cstop%20offset=%221%22%20stop-color=%22#fce0cb%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg%20transform=%22translate(138.022%20-134.888)%22%3E%3Cpath%20d=%22M-117.19%20184.278a20.69%209.094%200%200%200-13.734%202.307l-5.434.006-1.284%205.482a20.69%209.094%200%200%200-.238%201.3%2020.69%209.094%200%200%200%2020.69%209.093%2020.69%209.094%200%200%200%2020.69-9.094%2020.69%209.094%200%200%200-.029-.351h.064l-1.277-6.47-5.778.005a20.69%209.094%200%200%200-13.67-2.278z%22%20fill=%22#333%22%20stroke=%22#000%22%20stroke-width=%22.282%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20ry=%226.762%22%20rx=%2219.408%22%20cy=%22187.341%22%20cx=%22-117.074%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%22.282%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22matrix(.1018%200%200%20.10181%20-158.528%20145.536)%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-width=%222.772%22%3E%3Cellipse%20cx=%22406.087%22%20cy=%22399.216%22%20rx=%22184.221%22%20ry=%2272.858%22%20fill=%22green%22/%3E%3Cellipse%20cx=%22406.23%22%20cy=%22383.328%22%20rx=%22179.497%22%20ry=%2260.977%22%20fill=%22#0f0%22/%3E%3C/g%3E%3C/g%3E%3Cpath%20d=%22M126.16%20115.387c-1.523%201.514-2.14%203.307-2.023%205.326-.507%201.097-2.411%202.346-2.027%203.267-1.196%201.923-1.624%203.389-1.572%204.569-.544%201.24-.403%201.705-.348%202.268-2.266%203.497-4.092%208.255-5.878%2013.125-2.302%202.765-3.64%205.792-4.898%208.84-2.191%203.7-3.756%207.67-4.02%2011.394l-.265.558c2.996%203.107%204.946%201.524%207.018.747%206.637-3.112%209.504-8.52%2012.212-14.025.473-1.572%201.57-3.127%203.151-4.669%204.414-4.785%206.886-10.022%209.857-15.142.228-.428.58-1.032%201.143-1.941%201.675-1.795%203.418-4.997%205.132-7.612z%22%20fill=%22url(#b)%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.265%22%20transform=%22translate(-90.276%20-115.233)%22/%3E%3Cpath%20d=%22M18.486%2038.911c-2.362%202.823-3.506%206.298-4.228%2010.204.518.13%201.302-.444%202.155-1.196%202.575-6.067%201.848-7.142%202.073-9.008z%22%20fill=%22#f8ecf8%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.265%22/%3E%3Cpath%20d=%22M33.79%205.666c2.093-.057%203.853.53%205.373%201.582M31.832%208.759c2.001.286%203.946.663%205.428%201.788M30.331%2013.16c1.325-.48%203.02.099%204.83%201.005M29.98%2015.593l1.79.362%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%22.265%22/%3E%3C/svg%3E", + "otid": 1615538095529 + }, + "design": { + "graph": { + "blocks": [ + { + "id": "59f7bee9-9832-421d-aa0a-de177f3f121d", + "type": "basic.input", + "data": { + "name": "", + "clock": true }, - "vertices": [] + "position": { + "x": 128, + "y": 232 + } }, { - "source": { - "block": "8ca2279c-fdc3-40d3-9fbe-2071c026932f", - "port": "outlabel" + "id": "c2136078-81d0-4137-8583-c122b93cbdb0", + "type": "basic.inputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "target": { - "block": "2d992803-f074-4c94-b1a7-558ec08e9e80", - "port": "49fb1766-1e7f-4706-9872-a6cd65cc9f2d" + "position": { + "x": 280, + "y": 232 } }, { - "source": { - "block": "289f00be-f97d-4553-a60a-32d8b45da4cc", - "port": "outlabel" + "id": "626e14a3-68ca-440d-b469-aeb6a69bddcb", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk", + "oldBlockColor": "fuchsia" }, - "target": { - "block": "165f75a6-a05d-4025-aac5-91f45cd6cd30", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + "position": { + "x": 472, + "y": 368 } }, { - "source": { - "block": "7d0852c6-4778-4a53-bf90-30527c44a0eb", - "port": "outlabel" + "id": "1b2fe6f0-f08f-44d2-824a-e5205b3e9fab", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk", + "oldBlockColor": "fuchsia" }, - "target": { - "block": "165f75a6-a05d-4025-aac5-91f45cd6cd30", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + "position": { + "x": 888, + "y": 384 } }, { - "source": { - "block": "cf4e570a-5ee4-4836-8dab-4d4340c3acb3", - "port": "73948305-b05b-418f-88af-11328f400cdc" + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", + "data": { + "name": "s" }, - "target": { - "block": "caf86b2c-c08d-411d-be47-4084fec9532e", - "port": "inlabel" + "position": { + "x": 1200, + "y": 456 } }, { - "source": { - "block": "d1540ef0-9272-4082-9b24-9843ddb00cd7", - "port": "outlabel" - }, - "target": { - "block": "2d992803-f074-4c94-b1a7-558ec08e9e80", - "port": "dbe1622c-3510-4132-8b5c-2fbf81d7f581" + "id": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", + "type": "basic.input", + "data": { + "name": "pin", + "clock": false }, - "vertices": [ - { - "x": 1000, - "y": 32 - } - ] + "position": { + "x": 152, + "y": 472 + } }, { - "source": { - "block": "40e3c20c-5598-44a1-b5b4-760dba97d882", - "port": "outlabel" - }, - "target": { - "block": "2d992803-f074-4c94-b1a7-558ec08e9e80", - "port": "25996d5e-6856-4828-8cb3-5dea5ff5cf9c", - "size": 8 + "id": "07e7cb88-d87c-4aa3-9938-fc226e3f4815", + "type": "basic.constant", + "data": { + "name": "pup", + "value": "0", + "local": false }, - "size": 8 + "position": { + "x": 336, + "y": 360 + } }, { - "source": { - "block": "9978357f-7ad7-44b5-97d2-b44692508773", - "port": "out", - "size": 8 - }, - "target": { - "block": "5344b55b-0e5d-4444-88ef-fd6b3caa1c5b", - "port": "inlabel" + "id": "6aacd3c5-a3e9-4a17-afb8-2b1271b3054c", + "type": "basic.constant", + "data": { + "name": "not", + "value": "0", + "local": false }, - "size": 8 + "position": { + "x": 768, + "y": 368 + } }, { - "source": { - "block": "5b15b8c9-8fb1-410a-8910-a60ef283ff1d", - "port": "outlabel" + "id": "93b888bf-453e-4c9c-8f58-6b9c6d54d5de", + "type": "6c3affc36ce9207db9e9addcade0eb18994ddf4a", + "position": { + "x": 336, + "y": 472 }, - "target": { - "block": "1d98c440-947b-4591-946a-b35d277853b1", - "port": "096f61b6-6d5c-4907-9512-e65b25969458" + "size": { + "width": 96, + "height": 64 } }, { - "source": { - "block": "28d32f23-19b6-4a8c-8ac6-edbbb1a0e999", - "port": "outlabel" + "id": "6ca11b45-e83b-492d-b175-8ab8f1faa08a", + "type": "basic.info", + "data": { + "info": "Internal pull-up \n* 0: OFF\n* 1: ON", + "readonly": true }, - "target": { - "block": "1d98c440-947b-4591-946a-b35d277853b1", - "port": "35a0e425-acd1-4cd9-b3dc-ff7f451dce86", - "size": 8 + "position": { + "x": 320, + "y": 560 }, - "size": 8 + "size": { + "width": 176, + "height": 72 + } }, { - "source": { - "block": "1d98c440-947b-4591-946a-b35d277853b1", - "port": "6da4196c-cae2-44ba-b472-b6b9f0e7b1f8", - "size": 8 + "id": "2349cf1c-768c-483c-bdf3-852e36755326", + "type": "basic.info", + "data": { + "info": "Synchronization stage", + "readonly": true }, - "target": { - "block": "703240cb-6595-44d0-a266-869db1fe0889", - "port": "inlabel" + "position": { + "x": 552, + "y": 536 }, - "size": 8 + "size": { + "width": 184, + "height": 32 + } }, { - "source": { - "block": "eda78d52-57f7-4e44-bd8e-75e67c496650", - "port": "outlabel" + "id": "c13f29d4-49ed-45ca-bf58-401682aa156c", + "type": "basic.info", + "data": { + "info": "Normalization stage\n\n* 0: Wire\n* 1: signal inverted", + "readonly": true }, - "target": { - "block": "cf4e570a-5ee4-4836-8dab-4d4340c3acb3", - "port": "ad4d0fc2-118e-496e-b292-c435bad20e7d" + "position": { + "x": 760, + "y": 560 + }, + "size": { + "width": 192, + "height": 88 } }, { - "source": { - "block": "9cabcf85-d855-4e65-96c9-13c244d34d4d", - "port": "out", - "size": 14 + "id": "9207da36-adfa-43d6-a633-ccaa601b9293", + "type": "basic.info", + "data": { + "info": "Debouncing stage", + "readonly": true }, - "target": { - "block": "6063cdbd-2840-4dec-99f5-d24004ff1c48", - "port": "inlabel" + "position": { + "x": 1016, + "y": 544 }, - "vertices": [], - "size": 14 + "size": { + "width": 168, + "height": 40 + } }, { - "source": { - "block": "45f97815-a402-46f1-a60b-bc584aa6a2ca", - "port": "outlabel" - }, - "target": { - "block": "609dbf24-0993-4b6c-b756-89c07956ceb6", - "port": "3178c182-b1bd-4e92-bc67-6e0868b62279", - "size": 14 + "id": "dec4bfde-1bd9-47b4-9e19-768969a2abc4", + "type": "68f4069229b120ada15cf7106fca630bde40ff7e", + "position": { + "x": 768, + "y": 472 }, - "size": 14 + "size": { + "width": 96, + "height": 64 + } }, { - "source": { - "block": "1dae6915-2355-4174-95e5-088a7499fb42", - "port": "outlabel" + "id": "7f8e8a9e-3757-4b55-baa0-cb8680c3a332", + "type": "dd36dc1269be1a36894b4c4dfd8b2bd2c9026fe6", + "position": { + "x": 1032, + "y": 456 }, - "target": { - "block": "7a8892b7-c00f-43ba-84c9-0e184c5144bf", - "port": "e3bb4d9b-5ba2-4987-bd84-cd8763a214cd", - "size": 14 - }, - "size": 14 + "size": { + "width": 96, + "height": 64 + } }, + { + "id": "8d23de75-ac27-4a3b-911c-6a237f0dc702", + "type": "0705a6a13435ea79daf5779a2a0f076bd71f0a14", + "position": { + "x": 600, + "y": 456 + }, + "size": { + "width": 96, + "height": 64 + } + } + ], + "wires": [ { "source": { - "block": "34028c73-8f61-4f50-a039-0a57d6056946", - "port": "outlabel" + "block": "59f7bee9-9832-421d-aa0a-de177f3f121d", + "port": "out" }, "target": { - "block": "2d992803-f074-4c94-b1a7-558ec08e9e80", - "port": "5c70a159-1900-4d97-9e7d-961876e03bbe", - "size": 4 + "block": "c2136078-81d0-4137-8583-c122b93cbdb0", + "port": "inlabel" }, - "size": 4 + "vertices": [] }, { "source": { - "block": "cf4e570a-5ee4-4836-8dab-4d4340c3acb3", - "port": "a8eb520f-8b09-41ab-9146-919bf44b6078", - "size": 4 + "block": "626e14a3-68ca-440d-b469-aeb6a69bddcb", + "port": "outlabel" }, "target": { - "block": "8e8559df-135a-42b3-842d-7e6f7528aa8c", - "port": "inlabel" + "block": "8d23de75-ac27-4a3b-911c-6a237f0dc702", + "port": "39873fa0-c3f5-47ef-b54b-b6b344416b25" + } + }, + { + "source": { + "block": "1b2fe6f0-f08f-44d2-824a-e5205b3e9fab", + "port": "outlabel" }, - "size": 4 + "target": { + "block": "7f8e8a9e-3757-4b55-baa0-cb8680c3a332", + "port": "4bf41c17-a2da-4140-95f7-2a80d51b1e1a" + } }, { "source": { - "block": "7a989d63-cd4a-4c47-9513-57b4ea6ee141", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "93b888bf-453e-4c9c-8f58-6b9c6d54d5de", + "port": "a139fa0d-9b45-4480-a251-f4a66b49aa23" }, "target": { - "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "block": "8d23de75-ac27-4a3b-911c-6a237f0dc702", + "port": "f25e9a9e-cd4c-4025-8745-0691a99a3fb8" }, "vertices": [] }, { "source": { - "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "8d23de75-ac27-4a3b-911c-6a237f0dc702", + "port": "7bfc506f-7a54-40a1-8d33-e78a5409b972" }, "target": { - "block": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "block": "dec4bfde-1bd9-47b4-9e19-768969a2abc4", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" }, "vertices": [] }, { "source": { - "block": "26b71a43-5955-4452-9b0e-94ea6ef453b7", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "6aacd3c5-a3e9-4a17-afb8-2b1271b3054c", + "port": "constant-out" }, "target": { - "block": "7a8892b7-c00f-43ba-84c9-0e184c5144bf", - "port": "1e637a79-4a6d-495c-bcac-9664bdbe4b94" - } + "block": "dec4bfde-1bd9-47b4-9e19-768969a2abc4", + "port": "2cd40fd8-3a2b-46f7-a922-fedf146ed11a" + }, + "vertices": [] }, { "source": { - "block": "165f75a6-a05d-4025-aac5-91f45cd6cd30", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + "block": "dec4bfde-1bd9-47b4-9e19-768969a2abc4", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "95c4416f-62f5-4196-a406-f7915d40a572", - "port": "in" - } + "block": "7f8e8a9e-3757-4b55-baa0-cb8680c3a332", + "port": "c9e1af2a-6f09-4cf6-a5b3-fdf7ec2c6530" + }, + "vertices": [] }, { "source": { - "block": "0414e63d-55c1-41b0-abdf-4e02d0f68ff9", - "port": "3d584b0a-29eb-47af-8c43-c0822282ef05" + "block": "07e7cb88-d87c-4aa3-9938-fc226e3f4815", + "port": "constant-out" }, "target": { - "block": "1d98c440-947b-4591-946a-b35d277853b1", - "port": "065ea371-8398-43b3-8341-287c234a3acb" + "block": "93b888bf-453e-4c9c-8f58-6b9c6d54d5de", + "port": "121930e0-54c3-4b31-aa37-b33c7764abfa" } }, { "source": { - "block": "2d992803-f074-4c94-b1a7-558ec08e9e80", - "port": "d3e51db6-385f-454c-ab74-d71058b21962" + "block": "7f8e8a9e-3757-4b55-baa0-cb8680c3a332", + "port": "22ff3fa1-943b-4d1a-bd89-36e1c054d077" }, "target": { - "block": "7a8892b7-c00f-43ba-84c9-0e184c5144bf", - "port": "c6fdfa0c-392c-41e8-b043-d6f35a656465" - }, - "size": 14 + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" + } }, { "source": { - "block": "7a8892b7-c00f-43ba-84c9-0e184c5144bf", - "port": "11f6b6c3-3db4-4536-b9af-3a4182303be7" + "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", + "port": "out" }, "target": { - "block": "0d362d8c-37c7-4a07-af15-ae7af9bbc7c9", - "port": "in" - }, - "size": 14 + "block": "93b888bf-453e-4c9c-8f58-6b9c6d54d5de", + "port": "bb4a1ca9-1b30-471e-92ca-ca7ff2fc1150" + } } ] } } }, - "81613874c6152f06c06ed7014bf4235900cfcc30": { + "6c3affc36ce9207db9e9addcade0eb18994ddf4a": { "package": { - "name": "OR", - "version": "1.0.1", - "description": "Puerta OR", - "author": "Jesús Arroyo, Juan González", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22192.718%22%20width=%22383.697%22%20version=%221%22%3E%3Cpath%20d=%22M175.56%20188.718H84.527s30.345-42.538%2031.086-94.03c.743-51.49-31.821-90.294-31.821-90.294L176.109%204c46.445%201.948%20103.899%2053.44%20123.047%2093.678-32.601%2067.503-92.158%2089.79-123.596%2091.04z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2047.292h99.605M4.883%20145.168h100.981M298.57%2098.89h81.07%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20font-weight=%22400%22%20font-size=%2266.317%22%20y=%22121.28%22%20x=%22131.572%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20font-weight=%22700%22%20y=%22121.28%22%20x=%22131.572%22%3EOR%3C/tspan%3E%3C/text%3E%3C/svg%3E" + "name": "Pull-upx1", + "version": "1.0.2", + "description": "FPGA internal pull-up configuration on the input port", + "author": "Juan González", + "image": "%3Csvg%20id=%22svg2%22%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-265%20401.5%2063.5%2038.4%22%3E%3Cstyle%3E.st0%7Bdisplay:none%7D.st1%7Bfill:none;stroke:#000;stroke-width:.75;stroke-linejoin:round;stroke-miterlimit:10%7D.st2%7Bfill:#010002%7D%3C/style%3E%3Cpath%20class=%22st0%22%20d=%22M-242.5%20411.8v11.8h-5.4v-11.8h5.4m1-1h-7.4v13.8h7.4v-13.8z%22/%3E%3Cpath%20d=%22M-212%20425.6l-15.4-8.7v8.5h-17.4v-2.7c0-.2-.1-.4-.3-.4l-2.3-1.2%205.6-2.9c.2-.1.3-.3.3-.5s-.1-.4-.3-.4l-5.7-2.7%202.4-1.6c.1-.1.2-.2.2-.4v-2.7h3.1l-3.5-6.1-3.5%206.1h3v2.5l-2.9%202c-.1.1-.2.3-.2.5s.1.3.3.4l5.6%202.6-5.6%202.9c-.2.1-.3.3-.3.4s.1.4.3.4l2.9%201.5V425.5H-265v1.2h37.6v8.5l15.4-8.7h10.5v-.8H-212zm-33.3-20.4l2.2%203.9h-4.5l2.3-3.9zm19.2%2027.7v-13.8l12.3%206.9-12.3%206.9z%22/%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "18c2ebc7-5152-439c-9b3f-851c59bac834", + "id": "bb4a1ca9-1b30-471e-92ca-ca7ff2fc1150", "type": "basic.input", "data": { - "name": "" + "name": "pin", + "clock": false }, "position": { - "x": 64, - "y": 88 + "x": 72, + "y": 256 } }, { - "id": "664caf9e-5f40-4df4-800a-b626af702e62", + "id": "a139fa0d-9b45-4480-a251-f4a66b49aa23", "type": "basic.output", "data": { "name": "" }, "position": { - "x": 784, - "y": 152 + "x": 704, + "y": 256 } }, { - "id": "97b51945-d716-4b6c-9db9-970d08541249", - "type": "basic.input", + "id": "121930e0-54c3-4b31-aa37-b33c7764abfa", + "type": "basic.constant", "data": { - "name": "" + "name": "on", + "value": "1", + "local": false }, "position": { - "x": 64, - "y": 224 + "x": 408, + "y": -8 } }, { - "id": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "id": "2b245a71-2d80-466b-955f-e3d61839fe25", "type": "basic.code", "data": { - "code": "//-- Puerta OR\n\n//-- module and (input wire a, input wire b,\n//-- output wire c);\n\nassign c = a | b;\n\n//-- endmodule", - "params": [], + "code": "// 1-Pull up\n\n//-- Place the IO block, configured as \n//-- input with pull-up\nSB_IO\n #(\n .PIN_TYPE(6'b 1010_01),\n \n //-- The pull-up is activated or not\n //-- depeding on the ON parameter\n .PULLUP(ON)\n \n ) input_pin (\n\n //--- Input pin\n .PACKAGE_PIN(i),\n \n //-- Block output\n .D_IN_0(o),\n \n //-- Configured as input\n .OUTPUT_ENABLE(1'b0),\n \n //-- Not used\n .D_OUT_0(1'b0)\n );", + "params": [ + { + "name": "ON" + } + ], "ports": { "in": [ { - "name": "a" - }, - { - "name": "b" + "name": "i" } ], "out": [ { - "name": "c" + "name": "o" } ] } }, "position": { "x": 256, - "y": 48 + "y": 104 }, "size": { - "width": 464, - "height": 272 + "width": 392, + "height": 368 + } + }, + { + "id": "8055c1f2-dad2-4257-a271-c0bd64700cd7", + "type": "basic.info", + "data": { + "info": "### Pull-up parameter:\n\n0: No pull-up \n1: Pull-up activated", + "readonly": true + }, + "position": { + "x": 144, + "y": -48 + }, + "size": { + "width": 264, + "height": 104 + } + }, + { + "id": "5a96e53f-d2ff-4058-bbed-779876848487", + "type": "basic.info", + "data": { + "info": "Only an FPGA pin can \nbe connected here!!!", + "readonly": true + }, + "position": { + "x": 56, + "y": 200 + }, + "size": { + "width": 192, + "height": 56 + } + }, + { + "id": "26b0a2d0-aaa1-4204-9e57-2f2d674e03a0", + "type": "basic.info", + "data": { + "info": "The pull-up is connected \nby default", + "readonly": true + }, + "position": { + "x": 512, + "y": 0 + }, + "size": { + "width": 208, + "height": 56 } } ], "wires": [ { "source": { - "block": "18c2ebc7-5152-439c-9b3f-851c59bac834", + "block": "bb4a1ca9-1b30-471e-92ca-ca7ff2fc1150", "port": "out" }, "target": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "a" + "block": "2b245a71-2d80-466b-955f-e3d61839fe25", + "port": "i" } }, { "source": { - "block": "97b51945-d716-4b6c-9db9-970d08541249", - "port": "out" + "block": "2b245a71-2d80-466b-955f-e3d61839fe25", + "port": "o" }, "target": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "b" + "block": "a139fa0d-9b45-4480-a251-f4a66b49aa23", + "port": "in" } }, { "source": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "c" + "block": "121930e0-54c3-4b31-aa37-b33c7764abfa", + "port": "constant-out" }, "target": { - "block": "664caf9e-5f40-4df4-800a-b626af702e62", - "port": "in" + "block": "2b245a71-2d80-466b-955f-e3d61839fe25", + "port": "ON" } } ] } } }, - "56d27471f271f95a5d5eb660f7745d5d9329ab02": { + "68f4069229b120ada15cf7106fca630bde40ff7e": { "package": { - "name": "8-bits-Reg", - "version": "0.1", - "description": "8-bits register (in verilog)", + "name": "not-wire-x01", + "version": "0.2", + "description": "Select positive or negative logic for the input (0=positive, 1=negative)", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22519.236%22%20height=%22279.911%22%20viewBox=%220%200%20137.38127%2074.059853%22%3E%3Cpath%20d=%22M41.506%2040.152l13.608%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke=%22#000%22%20stroke-width=%221.092%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M34.122%2032.088L24.89%2012.475l-6.45%203.724-2.07-3.583L37.276.546l2.07%203.584-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.772L33.017%2045.02s-2.849-3.695-2.16-6.795c.687-3.1%203.265-6.137%203.265-6.137z%22%20fill=%22red%22%20stroke=%22#000%22%20stroke-width=%221.092%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22translate(-93.518%20-22.665)%20scale(1.09073)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20cx=%22100.602%22%20cy=%2273.815%22%20r=%2214.559%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M81.95%2040.152l13.607%2016.672L88.64%2036.29%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M74.566%2032.088l-9.232-19.613-6.451%203.724-2.069-3.583L77.719.546l2.069%203.584-6.092%203.517%2012.03%2018.223s5.399-2.025%208.535.74c3.137%202.766%202.52%204.92%202.887%204.772L73.46%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M121.637%2040.152l13.608%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M114.253%2032.088l-9.232-19.613-6.45%203.724-2.07-3.583L117.407.546l2.07%203.584-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.772L113.147%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3C/svg%3E" + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22317.537%22%20height=%22255.621%22%20version=%221%22%3E%3Cpath%20d=%22M112.127%2098.805l133.418%2076.406-133.418%2076.41z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20cx=%22263.881%22%20cy=%22174.972%22%20rx=%2217.634%22%20ry=%2217.982%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4%20175.592h108.187m169.632%200h31.718%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:0%25%22%20x=%22121.949%22%20y=%22187.178%22%20transform=%22scale(.9971%201.0029)%22%20font-weight=%22400%22%20font-size=%229.874%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%22121.949%22%20y=%22187.178%22%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20font-size=%2240.873%22%3ENot%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M4%2062.122h309.537%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:0%25%22%20x=%2214.865%22%20y=%2236.868%22%20transform=%22scale(.99532%201.0047)%22%20font-weight=%22400%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%2214.865%22%20y=%2236.868%22%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20font-size=%2249.675%22%3E0%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:0%25%22%20x=%2216.903%22%20y=%22151.969%22%20transform=%22scale(.99532%201.0047)%22%20font-weight=%22400%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%2216.903%22%20y=%22151.969%22%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20font-size=%2249.675%22%3E1%3C/tspan%3E%3C/text%3E%3C/svg%3E", + "otid": 1607779171609 }, "design": { "graph": { "blocks": [ { - "id": "096f61b6-6d5c-4907-9512-e65b25969458", - "type": "basic.input", + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", "data": { - "name": "", - "clock": true + "name": "" }, "position": { - "x": 80, - "y": 176 + "x": 824, + "y": 304 } }, { - "id": "6da4196c-cae2-44ba-b472-b6b9f0e7b1f8", - "type": "basic.output", + "id": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", + "type": "basic.input", "data": { - "name": "q", - "range": "[7:0]", - "size": 8 + "name": "", + "clock": false }, "position": { - "x": 640, - "y": 248 + "x": 376, + "y": 320 } }, { - "id": "35a0e425-acd1-4cd9-b3dc-ff7f451dce86", - "type": "basic.input", + "id": "2cd40fd8-3a2b-46f7-a922-fedf146ed11a", + "type": "basic.constant", "data": { - "name": "", - "range": "[7:0]", - "clock": false, - "size": 8 + "name": "not", + "value": "0", + "local": false }, "position": { - "x": 80, - "y": 248 + "x": 520, + "y": 160 } }, { - "id": "065ea371-8398-43b3-8341-287c234a3acb", - "type": "basic.input", - "data": { - "name": "load", - "clock": false - }, + "id": "160f76e9-4d8d-424e-8689-bb890101823c", + "type": "3ba5d0ecbd8f55582a6307158732789df06cb74c", "position": { - "x": 80, - "y": 312 + "x": 520, + "y": 256 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "f3b434e4-0c8f-4dd7-90c7-305189a807f1", - "type": "basic.constant", + "id": "019e81db-5707-409c-b159-b4cb29813cc4", + "type": "basic.info", "data": { - "name": "", - "value": "0", - "local": false + "info": "When k=0, it works like a wire \n(The output is equal to the input) \nWhen k=1, it act as a not gate\n(The output is the inverse of the input)", + "readonly": true }, "position": { - "x": 376, - "y": 56 + "x": 632, + "y": 392 + }, + "size": { + "width": 336, + "height": 96 } }, { - "id": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "type": "basic.code", + "id": "68880edb-df66-4540-8ee4-f3836fdb5f0e", + "type": "basic.info", "data": { - "code": "localparam N = 8;\n\nreg [N-1:0] q = INI;\n\nalways @(posedge clk)\n if (load)\n q <= d;", - "params": [ - { - "name": "INI" - } - ], - "ports": { - "in": [ - { - "name": "clk" - }, - { - "name": "d", - "range": "[7:0]", - "size": 8 - }, - { - "name": "load" - } - ], - "out": [ - { - "name": "q", - "range": "[7:0]", - "size": 8 - } - ] - } + "info": "### Truth table for XOR\n\n| k | input | output | function |\n|---|-------|--------|----------|\n| 0 | 0 | 0 | wire |\n| 0 | 1 | 1 | wire |\n| 1 | 0 | 1 | Not |\n| 1 | 1 | 0 | Not |", + "readonly": true }, "position": { - "x": 280, - "y": 176 + "x": 728, + "y": 8 }, "size": { - "width": 288, - "height": 200 + "width": 296, + "height": 144 + } + }, + { + "id": "100882d4-91fe-428f-9ce9-9e02ed2b2a9d", + "type": "d1240143e1ff7afe57f0f11565da980612b2bb76", + "position": { + "x": 672, + "y": 304 + }, + "size": { + "width": 96, + "height": 64 } } ], "wires": [ { "source": { - "block": "f3b434e4-0c8f-4dd7-90c7-305189a807f1", + "block": "2cd40fd8-3a2b-46f7-a922-fedf146ed11a", "port": "constant-out" }, "target": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "INI" + "block": "160f76e9-4d8d-424e-8689-bb890101823c", + "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" }, "vertices": [] }, { "source": { - "block": "065ea371-8398-43b3-8341-287c234a3acb", - "port": "out" + "block": "160f76e9-4d8d-424e-8689-bb890101823c", + "port": "5d443143-4aca-4d4f-ba40-2b88451b86d3" }, "target": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "load" + "block": "100882d4-91fe-428f-9ce9-9e02ed2b2a9d", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" } }, { "source": { - "block": "096f61b6-6d5c-4907-9512-e65b25969458", + "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", "port": "out" }, "target": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "clk" + "block": "100882d4-91fe-428f-9ce9-9e02ed2b2a9d", + "port": "97b51945-d716-4b6c-9db9-970d08541249" } }, { "source": { - "block": "35a0e425-acd1-4cd9-b3dc-ff7f451dce86", - "port": "out" - }, - "target": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "d" - }, - "size": 8 - }, - { - "source": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "q" + "block": "100882d4-91fe-428f-9ce9-9e02ed2b2a9d", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, "target": { - "block": "6da4196c-cae2-44ba-b472-b6b9f0e7b1f8", + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", "port": "in" - }, - "size": 8 + } } ] } } }, - "7cd239bdd995aa0988ea7615327f97fbe335930d": { + "3ba5d0ecbd8f55582a6307158732789df06cb74c": { "package": { - "name": "Mux 2 a 1 de 14 bits", + "name": "Constante-1bits", "version": "0.0.1", - "description": "Multiplexor de 2 a 1 de 14 bits", - "author": "Juan Gonzalez-Gomez (obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2280.833%22%20height=%22158.56%22%20viewBox=%220%200%2075.781585%20148.65066%22%3E%3Cpath%20d=%22M74.375%2036.836c0-12.691-6.99-24.413-18.326-30.729-11.335-6.316-25.284-6.262-36.568.141C8.198%2012.652%201.304%2024.427%201.407%2037.118v74.415c-.103%2012.69%206.79%2024.466%2018.074%2030.87%2011.284%206.403%2025.233%206.457%2036.568.14%2011.336-6.316%2018.326-18.037%2018.326-30.728z%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%222.813%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.448%22%20y=%2291.518%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.448%22%20y=%2291.518%22%3E0%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.359%22%20y=%2214.582%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.359%22%20y=%2214.582%22%3E1%3C/tspan%3E%3C/text%3E%3C/svg%3E" + "description": "Valor genérico constante, de 1 bits. Su valor se introduce como parámetro. Por defecto vale 0", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22145.608%22%20height=%22247.927%22%20viewBox=%220%200%20136.50729%20232.43134%22%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22293.115%22%20y=%22648.344%22%20font-weight=%22400%22%20font-size=%22335.399%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22%20transform=%22translate(-316.929%20-415.913)%22%3E%3Ctspan%20x=%22293.115%22%20y=%22648.344%22%3Ek%3C/tspan%3E%3C/text%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "c6fdfa0c-392c-41e8-b043-d6f35a656465", - "type": "basic.input", - "data": { - "name": "i1", - "range": "[13:0]", - "clock": false, - "size": 14 - }, - "position": { - "x": -704, - "y": -88 - } - }, - { - "id": "11f6b6c3-3db4-4536-b9af-3a4182303be7", + "id": "5d443143-4aca-4d4f-ba40-2b88451b86d3", "type": "basic.output", "data": { - "name": "o", - "range": "[13:0]", - "size": 14 - }, - "position": { - "x": -40, - "y": 0 - } - }, - { - "id": "e3bb4d9b-5ba2-4987-bd84-cd8763a214cd", - "type": "basic.input", - "data": { - "name": "i0", - "range": "[13:0]", - "clock": false, - "size": 14 + "name": "" }, "position": { - "x": -704, - "y": 0 + "x": 960, + "y": 248 } }, { - "id": "1e637a79-4a6d-495c-bcac-9664bdbe4b94", - "type": "basic.input", + "id": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "type": "basic.constant", "data": { - "name": "sel", - "clock": false + "name": "", + "value": "0", + "local": false }, "position": { - "x": -704, - "y": 88 + "x": 728, + "y": 128 } }, { - "id": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "id": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", "type": "basic.code", "data": { - "code": "\nreg [13:0] o;\n\nalways @(*) begin\n case(sel)\n 0: o = i0;\n 1: o = i1;\n default: o = i0;\n endcase\nend\n\n", - "params": [], + "code": "assign k = VALUE;", + "params": [ + { + "name": "VALUE" + } + ], "ports": { - "in": [ - { - "name": "i1", - "range": "[13:0]", - "size": 14 - }, - { - "name": "i0", - "range": "[13:0]", - "size": 14 - }, - { - "name": "sel" - } - ], + "in": [], "out": [ { - "name": "o", - "range": "[13:0]", - "size": 14 + "name": "k" } ] } }, "position": { - "x": -464, - "y": -104 + "x": 672, + "y": 248 }, "size": { - "width": 304, - "height": 272 + "width": 208, + "height": 64 } } ], "wires": [ { "source": { - "block": "1e637a79-4a6d-495c-bcac-9664bdbe4b94", - "port": "out" + "block": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "port": "constant-out" }, "target": { - "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", - "port": "sel" + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "VALUE" } }, { "source": { - "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", - "port": "o" + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "k" }, "target": { - "block": "11f6b6c3-3db4-4536-b9af-3a4182303be7", + "block": "5d443143-4aca-4d4f-ba40-2b88451b86d3", "port": "in" - }, - "size": 14 - }, - { - "source": { - "block": "e3bb4d9b-5ba2-4987-bd84-cd8763a214cd", - "port": "out" - }, - "target": { - "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", - "port": "i0" - }, - "size": 14 - }, - { - "source": { - "block": "c6fdfa0c-392c-41e8-b043-d6f35a656465", - "port": "out" - }, - "target": { - "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", - "port": "i1" - }, - "size": 14 + } } ] } } }, - "efe39aa2a101707774e24b099a0654cc52ff8a04": { + "dd36dc1269be1a36894b4c4dfd8b2bd2c9026fe6": { "package": { - "name": "count-4bits", - "version": "0.1", - "description": "Máquina de contar, de 4 bits", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22498.716%22%20width=%22422.648%22%3E%3Cpath%20d=%22M198.947%2079.637c-24.895%200-45.092%2020.196-45.092%2045.109%200%2024.886%2020.197%2045.126%2045.092%2045.126%2024.904%200%2044.953-20.24%2044.953-45.126%200-24.913-20.05-45.11-44.953-45.11zm90.41%2071.022l-8.128%2019.578%2014.497%2028.472%201.914%203.759-20.1%2020.1-32.98-15.575-19.578%208.04-9.937%2030.421-1.27%204.038h-28.411l-12.295-34.337-19.579-8.075-28.514%2014.462-3.76%201.88-20.091-20.083%2015.558-32.997-8.066-19.56-30.37-9.92-4.028-1.306v-28.393L108.58%2098.85l8.067-19.544-14.454-28.533-1.905-3.741%2020.065-20.066%2033.023%2015.55%2019.552-8.084%209.929-30.403L184.137%200h28.402l12.304%2034.38%2019.526%208.084%2028.524-14.471%203.794-1.906%2020.083%2020.066-15.558%2032.97%208.04%2019.588%2030.455%209.928%204.003%201.28v28.384z%22%20fill=%22#00f%22/%3E%3Crect%20rx=%2210.608%22%20ry=%2210.608%22%20y=%22266.697%22%20x=%22218.697%22%20height=%22180.846%22%20width=%22111.64%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%225.658%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%22387.839%22%20x=%22242.878%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2233.946%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%225.658%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%22387.839%22%20x=%22242.878%22%20font-weight=%22700%22%20font-size=%22134.762%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M222.934%20361.162h104.934%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%228.487%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20rx=%2210.608%22%20ry=%2210.608%22%20y=%22266.697%22%20x=%2292.408%22%20height=%22180.846%22%20width=%22111.64%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%225.658%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%22387.839%22%20x=%22109.261%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2233.946%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%225.658%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%22387.839%22%20x=%22109.261%22%20font-weight=%22700%22%20font-size=%22134.762%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M96.645%20361.162h104.934%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%228.487%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%20-277.4%2063.192)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%20-277.4%20211.802)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%2049.068%20210.797)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%2046.938%2063.192)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/svg%3E" + "name": "Debouncer-x01", + "version": "1.3.0", + "description": "Remove the rebound on a mechanical switch", + "author": "Juan González", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-252%20400.9%2090%2040%22%3E%3Cpath%20d=%22M-251.547%20436.672h22.802v-30.353h5.862v30.353h5.259v-30.353h3.447v30.353h2.984v-30.353h3.506v30.523h6.406V405.77h38.868%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%221.4%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M-232.57%20403.877l26.946%2032.391M-205.624%20403.877l-26.946%2032.391%22%20fill=%22none%22%20stroke=%22red%22%20stroke-width=%223%22%20stroke-linecap=%22round%22/%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "cb426e3d-ace3-4a57-a74b-155caed0c14c", + "id": "4bf41c17-a2da-4140-95f7-2a80d51b1e1a", "type": "basic.input", "data": { "name": "", "clock": true }, "position": { - "x": 592, - "y": -416 + "x": -376, + "y": -656 } }, { - "id": "9291f94d-2d9a-4c3a-b7df-4299abf84886", + "id": "a0474543-ff59-4f6f-8d2e-3993d79c13de", "type": "basic.inputLabel", "data": { "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "name": "clk" }, "position": { - "x": 736, - "y": -416 - } - }, - { - "id": "81fb4efb-363e-483e-b1df-c2ebda777355", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk" - }, - "position": { - "x": 1416, - "y": -352 + "x": -224, + "y": -656 } }, { - "id": "92c88f9e-7d51-4946-b0ef-088dcd8efa49", - "type": "basic.inputLabel", + "id": "22ff3fa1-943b-4d1a-bd89-36e1c054d077", + "type": "basic.output", "data": { - "blockColor": "red", - "name": "on", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "name": "" }, "position": { "x": 952, - "y": -304 + "y": -600 } }, { - "id": "6c846478-ff94-415a-b78e-03b6981bc0fe", + "id": "20d06e62-fd81-4956-b93c-ade0e616fb98", "type": "basic.outputLabel", "data": { "blockColor": "fuchsia", - "name": "rst" + "name": "out" }, "position": { - "x": 1416, - "y": -288 + "x": 816, + "y": -600 } }, { - "id": "40607400-436e-4dea-b733-8308a06fd4ef", - "type": "basic.outputLabel", + "id": "c9e1af2a-6f09-4cf6-a5b3-fdf7ec2c6530", + "type": "basic.input", "data": { - "blockColor": "yellow", - "name": "clk" + "name": "", + "clock": false }, "position": { - "x": 584, - "y": -224 + "x": -376, + "y": -584 } }, { - "id": "6a11eaf9-4bd5-405e-81f8-44418365326b", - "type": "basic.output", + "id": "b0e427bd-ce26-43b5-9d61-685f1c1ab922", + "type": "basic.inputLabel", "data": { - "name": "Busy" + "blockColor": "fuchsia", + "name": "in" }, "position": { - "x": 2312, - "y": -216 + "x": -224, + "y": -584 } }, { - "id": "2438a009-c8e2-4acb-b443-90fe0ddd989d", + "id": "5d12a177-7618-4517-9067-3012f7cb42ce", "type": "basic.outputLabel", "data": { - "blockColor": "red", - "name": "on", + "blockColor": "yellow", + "name": "clk", "oldBlockColor": "fuchsia" }, "position": { - "x": 2152, - "y": -216 + "x": 552, + "y": -440 } }, { - "id": "bc6920df-ca50-4643-ad7a-7e10c29856e8", + "id": "2f1050dd-a720-4ede-890e-612ce370ba61", "type": "basic.inputLabel", "data": { "blockColor": "fuchsia", - "name": "rst", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "name": "out", + "oldBlockColor": "fuchsia" }, "position": { - "x": 952, - "y": -192 + "x": 840, + "y": -352 } }, { - "id": "8f591b24-0427-409f-aa6e-ca1861556cf5", - "type": "basic.input", + "id": "761cc74e-6d08-4b08-acf3-70197fd7076a", + "type": "basic.outputLabel", "data": { - "name": "start", - "clock": false + "blockColor": "fuchsia", + "name": "in", + "oldBlockColor": "fuchsia" }, "position": { - "x": 584, - "y": -136 + "x": 536, + "y": -352 } }, { - "id": "ce3dc4bf-dbfd-4a81-97cd-3c0a0a672d89", - "type": "basic.inputLabel", + "id": "c1243e04-edbf-4cc6-9d85-f7bf35ac1dae", + "type": "basic.outputLabel", "data": { - "name": "cnt", - "range": "[3:0]", - "pins": [ - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "navy" + "blockColor": "yellow", + "name": "clk", + "oldBlockColor": "fuchsia" }, "position": { - "x": 1824, - "y": -120 + "x": 384, + "y": -288 } }, { - "id": "be5cddf8-3e91-4b00-b2d0-0be80df6cc2d", + "id": "d8572528-e0db-413c-a4ff-64d8cfee021d", "type": "basic.outputLabel", "data": { - "name": "cnt", - "range": "[3:0]", - "blockColor": "navy", - "size": 4 + "blockColor": "yellow", + "name": "clk", + "oldBlockColor": "fuchsia" }, "position": { - "x": 1200, - "y": -104 + "x": 112, + "y": -248 } }, { - "id": "9baa509b-0012-4e0e-b874-e62987258aa1", - "type": "basic.inputLabel", + "id": "ba86528a-72e9-40f7-a1e6-c2e684026c24", + "type": "basic.outputLabel", "data": { "blockColor": "fuchsia", - "name": "start", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "name": "in", + "oldBlockColor": "fuchsia" }, "position": { - "x": 944, - "y": -72 + "x": 112, + "y": -176 } }, { - "id": "c69e492c-ad1e-46f7-8523-5e5c615f682d", - "type": "basic.outputLabel", + "id": "1be0ed57-ae41-4ca5-a8c0-3d70585336a6", + "type": "basic.info", "data": { - "name": "cnt", - "range": "[3:0]", - "blockColor": "navy", - "size": 4 + "info": "Edge detector", + "readonly": true }, "position": { - "x": 2160, - "y": -72 + "x": 240, + "y": -120 + }, + "size": { + "width": 128, + "height": 40 } }, { - "id": "a8eb520f-8b09-41ab-9146-919bf44b6078", - "type": "basic.output", + "id": "cabf3c3d-a707-4e06-be9a-4a66817c7a26", + "type": "basic.info", "data": { - "name": "n", - "range": "[3:0]", - "size": 4 + "info": "Whenever there is a change in \nthe input, the counter is started", + "readonly": true }, "position": { - "x": 2312, - "y": -72 + "x": 368, + "y": -88 + }, + "size": { + "width": 288, + "height": 56 } }, { - "id": "45bd338b-4745-4b06-b199-462cdaffa31d", - "type": "basic.outputLabel", + "id": "6dcd32b7-40bd-433d-a1e2-222636c19f2f", + "type": "basic.info", "data": { - "blockColor": "gold", - "name": "stop", - "oldBlockColor": "fuchsia" + "info": "If the counter reaches it maximum \nvalue, the input is considered stable \nand it is captured", + "readonly": true }, "position": { - "x": 584, - "y": -24 + "x": 720, + "y": -456 + }, + "size": { + "width": 304, + "height": 72 } }, { - "id": "8a5f0c79-7347-4b35-8e27-603ebed8bf9f", - "type": "basic.outputLabel", + "id": "5ee60a84-8e65-49de-9b87-5afd9770b5a3", + "type": "basic.info", "data": { - "blockColor": "darkgreen", - "name": "cycle", - "oldBlockColor": "fuchsia" + "info": "### Time calculation\n\nFor CLK=12MHZ, a 16-bit counter reaches its \nmaximum every 2 ** 16 * 1/F = 5.5ms aprox \nIF more time is needed for debouncing, \nuse a counter with more bits (17, 18...)", + "readonly": true }, "position": { - "x": 1472, - "y": 16 + "x": 432, + "y": -640 + }, + "size": { + "width": 360, + "height": 120 } }, { - "id": "5a3f8466-6a57-4607-939a-fb15222442a7", - "type": "basic.inputLabel", + "id": "f998abd9-dfc8-42d4-8816-c89f07a61e6f", + "type": "basic.info", "data": { - "blockColor": "fuchsia", - "name": "done", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "info": "## Debouncer \n\nA value is considered stable when \nthere is no changes during 5.5ms \naprox. When a value is stable it is \ncaptured on the output flip-flop", + "readonly": true }, "position": { - "x": 920, - "y": 24 + "x": -8, + "y": -648 + }, + "size": { + "width": 312, + "height": 128 } }, { - "id": "dddd2a78-e0f8-4688-ad63-0c41ad98894b", - "type": "basic.outputLabel", + "id": "ababfa12-265a-4c7c-a482-8ed44cf9171c", + "type": "basic.info", "data": { - "blockColor": "fuchsia", - "name": "exec", - "oldBlockColor": "fuchsia" + "info": "Stable output", + "readonly": true }, "position": { - "x": 2160, - "y": 104 + "x": 880, + "y": -280 + }, + "size": { + "width": 136, + "height": 40 } }, { - "id": "73948305-b05b-418f-88af-11328f400cdc", - "type": "basic.output", + "id": "656df089-b248-432e-b6b5-ecd4bb5cc8eb", + "type": "basic.info", "data": { - "name": "exec" + "info": "Counter", + "readonly": true }, "position": { - "x": 2328, - "y": 104 + "x": 536, + "y": -232 + }, + "size": { + "width": 96, + "height": 40 } }, { - "id": "c5781045-a890-4e66-8f67-80d0cb317ee6", - "type": "basic.outputLabel", - "data": { - "blockColor": "red", - "name": "on", - "oldBlockColor": "fuchsia" - }, + "id": "a409a5ab-68e2-4e36-b698-f6c309afdd54", + "type": "1ed41a9f9beacd7b446f07558a35d3b77dc87319", "position": { - "x": 1544, - "y": 136 + "x": 240, + "y": -192 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "fa7f43f2-cbb2-47e0-bcc5-32336f9cd8ed", - "type": "basic.outputLabel", - "data": { - "blockColor": "red", - "name": "on", - "oldBlockColor": "fuchsia" - }, + "id": "626e9279-30e7-4e81-8427-1f969a1f7789", + "type": "8a23ffd0491010ff595493182b82c722bd6902d7", "position": { - "x": 648, - "y": 152 + "x": 704, + "y": -368 + }, + "size": { + "width": 96, + "height": 96 } }, { - "id": "8c96c7ec-0c2f-4870-9197-46116cd1d134", - "type": "basic.inputLabel", - "data": { - "blockColor": "darkgreen", - "name": "cycle", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" - }, + "id": "3bc0627a-8d4d-4e19-a4aa-83b0dbfa525a", + "type": "e8e3e62a1e1b5f4e98c7e128c7cd1bdf59b8f307", "position": { - "x": 1080, - "y": 168 + "x": 520, + "y": -192 + }, + "size": { + "width": 96, + "height": 64 } - }, + } + ], + "wires": [ { - "id": "ad4d0fc2-118e-496e-b292-c435bad20e7d", - "type": "basic.input", - "data": { - "name": "next", - "clock": false + "source": { + "block": "4bf41c17-a2da-4140-95f7-2a80d51b1e1a", + "port": "out" }, - "position": { - "x": 616, - "y": 208 + "target": { + "block": "a0474543-ff59-4f6f-8d2e-3993d79c13de", + "port": "inlabel" } }, { - "id": "d8820925-23d9-4f02-8491-adf813601d08", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk" + "source": { + "block": "d8572528-e0db-413c-a4ff-64d8cfee021d", + "port": "outlabel" }, - "position": { - "x": 1384, - "y": 232 + "target": { + "block": "a409a5ab-68e2-4e36-b698-f6c309afdd54", + "port": "2708468d-1088-4570-be63-fb0d4799a941" } }, { - "id": "a756b829-42d1-4779-b42d-a9acc3800854", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "done", - "oldBlockColor": "fuchsia" + "source": { + "block": "5d12a177-7618-4517-9067-3012f7cb42ce", + "port": "outlabel" }, - "position": { - "x": 2160, - "y": 248 + "target": { + "block": "626e9279-30e7-4e81-8427-1f969a1f7789", + "port": "df0c1bb1-f8ef-49f3-b71f-9384c29a9735" } }, { - "id": "49221b19-132a-4e3f-9a1f-97bcd463391b", - "type": "basic.output", - "data": { - "name": "done" + "source": { + "block": "c1243e04-edbf-4cc6-9d85-f7bf35ac1dae", + "port": "outlabel" }, - "position": { - "x": 2320, - "y": 248 + "target": { + "block": "3bc0627a-8d4d-4e19-a4aa-83b0dbfa525a", + "port": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6" } }, { - "id": "06b60a4f-b1b1-4a91-ba10-bdb5a7515718", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "exec", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "source": { + "block": "c9e1af2a-6f09-4cf6-a5b3-fdf7ec2c6530", + "port": "out" }, - "position": { - "x": 1952, - "y": 288 + "target": { + "block": "b0e427bd-ce26-43b5-9d61-685f1c1ab922", + "port": "inlabel" } }, { - "id": "f9f37a77-fd08-4506-9c1b-cc53daa19559", - "type": "basic.outputLabel", - "data": { - "blockColor": "darkgreen", - "name": "cycle", - "oldBlockColor": "fuchsia" + "source": { + "block": "ba86528a-72e9-40f7-a1e6-c2e684026c24", + "port": "outlabel" }, - "position": { - "x": 1384, - "y": 304 + "target": { + "block": "a409a5ab-68e2-4e36-b698-f6c309afdd54", + "port": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff" } }, { - "id": "10afc859-04fd-433d-823a-4fa4721320c1", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "start" + "source": { + "block": "626e9279-30e7-4e81-8427-1f969a1f7789", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, - "position": { - "x": 1680, - "y": 376 + "target": { + "block": "2f1050dd-a720-4ede-890e-612ce370ba61", + "port": "inlabel" } }, { - "id": "2e9e9e82-c651-4a6b-9d9e-4c796699d133", - "type": "basic.inputLabel", - "data": { - "blockColor": "gold", - "name": "stop", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "source": { + "block": "20d06e62-fd81-4956-b93c-ade0e616fb98", + "port": "outlabel" }, - "position": { - "x": 1144, - "y": 376 + "target": { + "block": "22ff3fa1-943b-4d1a-bd89-36e1c054d077", + "port": "in" } }, { - "id": "50aa90d1-18a3-4f3c-9ca9-2d65c8664bc2", - "type": "basic.outputLabel", - "data": { - "name": "cnt", - "range": "[3:0]", - "blockColor": "navy", - "size": 4 + "source": { + "block": "761cc74e-6d08-4b08-acf3-70197fd7076a", + "port": "outlabel" }, - "position": { - "x": 688, - "y": 552 + "target": { + "block": "626e9279-30e7-4e81-8427-1f969a1f7789", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" } }, { - "id": "d0005413-fea9-4b0b-8a18-9b15d4977bc1", - "type": "basic.constant", - "data": { - "name": "N", - "value": "16", - "local": false + "source": { + "block": "3bc0627a-8d4d-4e19-a4aa-83b0dbfa525a", + "port": "88e0e872-0460-4ecc-bf26-8a7a5598a024" }, - "position": { - "x": 680, - "y": 344 - } + "target": { + "block": "626e9279-30e7-4e81-8427-1f969a1f7789", + "port": "58d2c88e-2434-438f-986b-0f5b9c3654ca" + }, + "vertices": [] }, { - "id": "a19b8bcd-a0a4-4da0-9844-5e5c0306e231", - "type": "basic.constant", - "data": { - "name": "", - "value": "1", - "local": true + "source": { + "block": "a409a5ab-68e2-4e36-b698-f6c309afdd54", + "port": "1c25e08e-e664-4fab-9b30-cedc1f8a3739" }, - "position": { - "x": 1352, - "y": -208 + "target": { + "block": "3bc0627a-8d4d-4e19-a4aa-83b0dbfa525a", + "port": "2a921d76-1cbd-48fe-82a9-11b0ab4dbc06" } - }, - { - "id": "374613cb-968d-46d1-94a4-16686e7df28d", - "type": "basic.constant", + } + ] + } + } + }, + "1ed41a9f9beacd7b446f07558a35d3b77dc87319": { + "package": { + "name": "Edges-detector-block", + "version": "0.3", + "description": "Edges detector. It generates a 1-period pulse (tic) when either a rising edge or a falling edge is detected on the input. Block implementation", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22294.1%22%20height=%22185.316%22%20viewBox=%220%200%2077.813988%2049.031403%22%3E%3Cg%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M13.478%2032.941l6.026%207.975-5.054%206.03%201.749%201.556m-3.96-15.367l-3.5%207.976-7.97%201.556.583%202.528%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%221.058%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M12.773%202.492v29.942%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%223.969%22/%3E%3Cpath%20d=%22M1.984%2022.683l10.689%2010.453%2010.35-10.453%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%223.969%22%20stroke-linejoin=%22round%22/%3E%3Cg%20fill=%22none%22%20stroke=%22#00f%22%3E%3Cpath%20d=%22M42.248%2032.434l6.026%207.975-5.054%206.03%201.749%201.556m-3.96-15.367l-3.5%207.976-7.97%201.555.583%202.529%22%20stroke-width=%221.058%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M41.543%2032.628V2.686%22%20stroke-width=%223.969%22/%3E%3Cpath%20d=%22M30.754%2012.436L41.443%201.984l10.35%2010.452%22%20stroke-width=%223.969%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(.842%200%200%20.842%20-19.408%20-26.157)%22%20stroke=%22green%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "913b2fb3-8676-42d8-bd97-97880350317d", + "type": "basic.output", "data": { - "name": "", - "value": "0", - "local": true + "name": "nc" }, "position": { - "x": 1648, - "y": -256 + "x": 624, + "y": 120 } }, { - "id": "d59fae1c-4ff0-418f-9a6e-440a854abd17", - "type": "438dedd956354c574afcde6f0793a7d369b2a031", - "position": { - "x": 752, - "y": -168 + "id": "2708468d-1088-4570-be63-fb0d4799a941", + "type": "basic.input", + "data": { + "name": "", + "clock": true }, - "size": { - "width": 96, - "height": 128 - } - }, - { - "id": "d76d4948-a798-448c-adfa-c03b511371e5", - "type": "1c7dae7144d376f2ee4896fcc502a29110e2db37", "position": { - "x": 1544, - "y": 288 - }, - "size": { - "width": 96, - "height": 64 + "x": 88, + "y": 152 } }, { - "id": "bd61136e-6597-4728-a8c3-141a1841150b", - "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", - "position": { - "x": 808, - "y": 168 + "id": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", + "type": "basic.input", + "data": { + "name": "", + "clock": false }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "7d6ed080-252a-4f1b-8ec7-0f47d7866317", - "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", "position": { - "x": 1016, - "y": 376 - }, - "size": { - "width": 96, - "height": 64 + "x": 88, + "y": 280 } }, { - "id": "ac8b922a-9249-49a3-8b42-a1f259ccae2b", - "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", - "position": { - "x": 1680, - "y": 272 + "id": "1c25e08e-e664-4fab-9b30-cedc1f8a3739", + "type": "basic.output", + "data": { + "name": "" }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "28aef1aa-1cc2-4bb4-9a70-2db1962258d4", - "type": "81613874c6152f06c06ed7014bf4235900cfcc30", "position": { - "x": 1824, - "y": 288 - }, - "size": { - "width": 96, - "height": 64 + "x": 616, + "y": 352 } }, { - "id": "e042b05f-b116-4a58-8aee-1bf2833ecb6b", + "id": "49c0a94e-2687-4aa4-8cba-327b2942095f", "type": "basic.info", "data": { - "info": "**Reloj del sistema**", + "info": "## Edges detector\n\nIt generates a 1-period pulse (tic) when an edge (Rising or falling) is detected on the \ninput signal", "readonly": true }, "position": { - "x": 680, - "y": -472 + "x": 104, + "y": -40 }, "size": { - "width": 192, - "height": 40 + "width": 648, + "height": 96 } }, { - "id": "09056d84-24ad-48b7-89c2-0d008ca64b89", + "id": "a6ea5e17-d259-4272-8d1c-87a6a7fe3235", "type": "basic.info", "data": { - "info": "**Estado de** \n**la máquina**", + "info": "Input signal", "readonly": true }, "position": { - "x": 760, - "y": -248 + "x": 96, + "y": 256 }, "size": { - "width": 160, + "width": 136, "height": 40 } }, { - "id": "02ad4d4d-3335-43e1-a671-4b00fc01c8be", + "id": "d0d6c668-3c03-42f5-9244-9a0431f11a87", "type": "basic.info", "data": { - "info": "Máquina encendida", + "info": "System clock", "readonly": true }, "position": { - "x": 936, - "y": -328 + "x": 104, + "y": 120 }, "size": { - "width": 168, - "height": 40 + "width": 96, + "height": 48 } }, { - "id": "23827b42-5be3-406c-9991-b4ad6deb74e8", + "id": "f18011f4-eb45-4f91-9716-c1d8c99f1845", "type": "basic.info", "data": { - "info": "Máquina apagada \n(rst = 1)", + "info": "Current signal \nstate", "readonly": true }, "position": { - "x": 952, - "y": -232 + "x": 160, + "y": 352 }, "size": { - "width": 152, - "height": 56 + "width": 168, + "height": 48 } }, { - "id": "8a928b2a-c1fd-4d20-ba27-2f2bb41c0d01", + "id": "ab801839-c115-4e44-adb7-349586890b97", "type": "basic.info", "data": { - "info": "Tic de arranque", + "info": "Signal state in the previous \nclock cycle", "readonly": true }, "position": { - "x": 960, - "y": -96 + "x": 328, + "y": 200 }, "size": { - "width": 160, - "height": 40 + "width": 248, + "height": 48 } }, { - "id": "6648005b-8565-4aa7-9dbe-692786ab5eed", + "id": "fde5c436-d382-48e7-80b5-390c05f46b9d", "type": "basic.info", "data": { - "info": "Tic de fin", + "info": "The output is 1 if the current value is 1 and the \nprevious 0, or if the current value is 0 and the \nprevious 1\n", "readonly": true }, "position": { - "x": 944, - "y": 0 + "x": 504, + "y": 264 }, "size": { - "width": 120, - "height": 32 + "width": 400, + "height": 72 } }, { - "id": "08d8a2f1-ca1d-4bb5-84ec-2e003a76d1c1", - "type": "basic.info", - "data": { - "info": "**Contador de ciclos**", - "readonly": true - }, + "id": "4a6c58dc-e4cb-43b8-8a52-07ef0aa616f6", + "type": "d1240143e1ff7afe57f0f11565da980612b2bb76", "position": { - "x": 1480, - "y": -424 + "x": 480, + "y": 352 }, "size": { - "width": 224, - "height": 40 + "width": 96, + "height": 64 } }, { - "id": "6b89fbaa-ded1-4b08-85b3-d5043665ba0f", + "id": "5590cf27-7da8-4183-b70c-0c9fda4a6dc0", "type": "basic.info", "data": { - "info": "Número de ciclos \ncontados", + "info": "In any other case the output is 0", "readonly": true }, "position": { - "x": 1824, - "y": -160 + "x": 520, + "y": 432 }, "size": { - "width": 160, - "height": 56 + "width": 296, + "height": 40 } }, { - "id": "ce9c2faa-a5a2-43ef-a19f-8089842fa7fb", - "type": "basic.info", - "data": { - "info": "Valor \nincrementado", - "readonly": true - }, + "id": "932daa85-b751-4060-a7fa-d517b2c7eaa7", + "type": "58ed2b5c7e33e2f215ccba6c101d9ea4ff60f284", "position": { - "x": 1496, - "y": -120 + "x": 320, + "y": 264 }, "size": { - "width": 128, - "height": 56 + "width": 96, + "height": 64 } - }, + } + ], + "wires": [ { - "id": "9749c7ec-56c0-4d88-8b20-572f154aba47", - "type": "basic.info", - "data": { - "info": "### Salidas", - "readonly": true - }, - "position": { - "x": 2152, - "y": -328 + "source": { + "block": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", + "port": "out" }, - "size": { - "width": 280, - "height": 40 + "target": { + "block": "932daa85-b751-4060-a7fa-d517b2c7eaa7", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" } }, { - "id": "4c022dd4-dc38-48e8-8e23-991de83819a0", - "type": "basic.info", - "data": { - "info": "Estado de la máquina", - "readonly": true - }, - "position": { - "x": 2160, - "y": -248 + "source": { + "block": "2708468d-1088-4570-be63-fb0d4799a941", + "port": "out" }, - "size": { - "width": 192, - "height": 40 + "target": { + "block": "932daa85-b751-4060-a7fa-d517b2c7eaa7", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" } }, { - "id": "2f5c5893-19c2-411c-b942-83e2e0355d9b", - "type": "basic.info", - "data": { - "info": "Ciclo actual", - "readonly": true - }, - "position": { - "x": 2168, - "y": -104 + "source": { + "block": "4a6c58dc-e4cb-43b8-8a52-07ef0aa616f6", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, - "size": { - "width": 152, - "height": 40 + "target": { + "block": "1c25e08e-e664-4fab-9b30-cedc1f8a3739", + "port": "in" } }, { - "id": "3529c7ae-8223-48c9-a5c7-1b8161eb3654", - "type": "basic.info", - "data": { - "info": "Cuenta finalizada", - "readonly": true - }, - "position": { - "x": 2160, - "y": 216 + "source": { + "block": "932daa85-b751-4060-a7fa-d517b2c7eaa7", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" }, - "size": { - "width": 176, - "height": 48 + "target": { + "block": "4a6c58dc-e4cb-43b8-8a52-07ef0aa616f6", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" } }, { - "id": "8d3fe74d-0b04-434f-bd0a-c966094bb54e", - "type": "basic.info", - "data": { - "info": "Ejecutar el ciclo", - "readonly": true + "source": { + "block": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", + "port": "out" }, - "position": { - "x": 2168, - "y": 80 + "target": { + "block": "4a6c58dc-e4cb-43b8-8a52-07ef0aa616f6", + "port": "97b51945-d716-4b6c-9db9-970d08541249" }, - "size": { - "width": 168, - "height": 40 - } - }, + "vertices": [ + { + "x": 264, + "y": 368 + } + ] + } + ] + } + } + }, + "8a23ffd0491010ff595493182b82c722bd6902d7": { + "package": { + "name": "DFF-verilog", + "version": "0.2", + "description": "DFF. D Flip-flop. Verilog implementation", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22216.379%22%20height=%22279.911%22%20viewBox=%220%200%2057.25032%2074.059853%22%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M41.506%2040.152l13.608%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M34.122%2032.088L24.89%2012.475l-6.45%203.724-2.07-3.583L37.276.546l2.07%203.584-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.772L33.017%2045.02s-2.849-3.695-2.16-6.795c.687-3.1%203.265-6.137%203.265-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20transform=%22translate(-93.518%20-22.665)%20scale(1.09073)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20cx=%22100.602%22%20cy=%2273.815%22%20r=%2214.559%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1594812046378 + }, + "design": { + "graph": { + "blocks": [ { - "id": "eae9349c-e15a-4922-8652-1849ae8af424", - "type": "basic.info", + "id": "df0c1bb1-f8ef-49f3-b71f-9384c29a9735", + "type": "basic.input", "data": { - "info": "Número de ciclos \na contar", - "readonly": true + "name": "", + "clock": true }, "position": { - "x": 696, - "y": 288 - }, - "size": { - "width": 152, - "height": 56 + "x": 128, + "y": 424 } }, { - "id": "95a0fd91-d4b4-4a8c-a326-fa00aead76a2", - "type": "basic.info", + "id": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", + "type": "basic.input", "data": { - "info": "¿Estamos en el \nciclo k-1?", - "readonly": true + "name": "d", + "clock": false }, "position": { - "x": 1024, - "y": 480 - }, - "size": { - "width": 144, - "height": 56 + "x": 128, + "y": 536 } }, { - "id": "ee786c92-eee9-4192-b5cd-7ffd2cff4aa0", - "type": "basic.info", + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", "data": { - "info": "Solo se hace caso a la \nentrada next si la \nmáquina está encendida", - "readonly": true + "name": "" }, "position": { - "x": 648, - "y": 88 - }, - "size": { - "width": 216, - "height": 80 + "x": 824, + "y": 536 } }, { - "id": "fdea86ef-3e4a-4419-972a-3e09c49380ab", - "type": "basic.info", + "id": "58d2c88e-2434-438f-986b-0f5b9c3654ca", + "type": "basic.input", "data": { - "info": "Nuevo ciclo", - "readonly": true + "name": "load", + "clock": false }, "position": { - "x": 920, - "y": 168 - }, - "size": { - "width": 136, - "height": 40 + "x": 128, + "y": 648 } }, { - "id": "f1312a02-2038-404e-b9cf-5f4ee6b11012", - "type": "basic.info", + "id": "be33796a-a109-4ab0-a53b-dd6ec67587cd", + "type": "basic.constant", "data": { - "info": "Si es el ciclo k-1 y \nse pide un ciclo \nnuevo: Terminar", - "readonly": true + "name": "", + "value": "0", + "local": false }, "position": { - "x": 1128, - "y": 304 - }, - "size": { - "width": 208, - "height": 72 + "x": 488, + "y": 280 } }, { - "id": "9baabc30-8c27-4b55-92e4-d59783269162", - "type": "basic.info", + "id": "5bffd6ef-bb9d-4d3f-a4f0-f91c6040ddc5", + "type": "basic.code", "data": { - "info": "Apagar la \nmáquina", - "readonly": true + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "d" + }, + { + "name": "load" + } + ], + "out": [ + { + "name": "q" + } + ] + }, + "params": [ + { + "name": "INI" + } + ], + "code": "//-- Initial value\nreg qi = INI;\n\nalways @(posedge clk)\nbegin\n \n //-- When load is active\n //-- the input data is captured\n if (load == 1'b1)\n qi <= d;\n \nend\n\n//-- Connect the register with the\n//-- output\nassign q = qi;\n" }, "position": { - "x": 600, - "y": -64 + "x": 320, + "y": 400 }, "size": { - "width": 120, - "height": 56 + "width": 424, + "height": 336 } - }, + } + ], + "wires": [ { - "id": "b1d4db4d-86bf-41b9-8192-647537f22b35", - "type": "basic.info", - "data": { - "info": "Ciclo nuevo: \nincrementar la cuenta", - "readonly": true - }, - "position": { - "x": 1464, - "y": -32 + "source": { + "block": "df0c1bb1-f8ef-49f3-b71f-9384c29a9735", + "port": "out" }, - "size": { - "width": 208, - "height": 56 + "target": { + "block": "5bffd6ef-bb9d-4d3f-a4f0-f91c6040ddc5", + "port": "clk" } }, { - "id": "6c065227-d7b8-48ea-8105-765c0ff10e5d", - "type": "basic.info", - "data": { - "info": "El tic de start se saca \npor exec para que se ejecute \nel primer ciclo", - "readonly": true - }, - "position": { - "x": 1680, - "y": 440 + "source": { + "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", + "port": "out" }, - "size": { - "width": 248, - "height": 72 + "target": { + "block": "5bffd6ef-bb9d-4d3f-a4f0-f91c6040ddc5", + "port": "d" } }, { - "id": "f41e1b4d-0de7-4d61-9b57-16de7ef8dc8a", - "type": "basic.info", - "data": { - "info": "Si la máquina está \napagada, las señales \nde ejecución no pueden \nsalir!", - "readonly": true - }, - "position": { - "x": 1688, - "y": 168 + "source": { + "block": "58d2c88e-2434-438f-986b-0f5b9c3654ca", + "port": "out" }, - "size": { - "width": 208, - "height": 80 + "target": { + "block": "5bffd6ef-bb9d-4d3f-a4f0-f91c6040ddc5", + "port": "load" } }, { - "id": "1ed4ad01-9b81-4934-84b7-804dcaec10c1", - "type": "basic.info", - "data": { - "info": "Retrasar la señal un ciclo \nmientras que se detecta si \nla máquina ha finalizado o no", - "readonly": true - }, - "position": { - "x": 1432, - "y": 360 + "source": { + "block": "5bffd6ef-bb9d-4d3f-a4f0-f91c6040ddc5", + "port": "q" }, - "size": { - "width": 256, - "height": 72 + "target": { + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" } }, { - "id": "55848689-05c8-4d58-b5a8-c421ff202e2d", - "type": "a3c966710f8e14f7d3464d7e89c1894dfebb86c7", - "position": { - "x": 1648, - "y": -152 + "source": { + "block": "be33796a-a109-4ab0-a53b-dd6ec67587cd", + "port": "constant-out" }, - "size": { - "width": 96, - "height": 128 + "target": { + "block": "5bffd6ef-bb9d-4d3f-a4f0-f91c6040ddc5", + "port": "INI" } - }, + } + ] + } + } + }, + "e8e3e62a1e1b5f4e98c7e128c7cd1bdf59b8f307": { + "package": { + "name": "syscounter-rst-16bits", + "version": "0.2", + "description": "16-bits Syscounter with reset", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22302.843%22%20height=%22186.504%22%20viewBox=%220%200%2080.127205%2049.345746%22%3E%3Cdefs%3E%3Cmarker%20id=%22a%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20fill=%22#00f%22%20fill-rule=%22evenodd%22%20stroke=%22#00f%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3C/defs%3E%3Cg%20transform=%22translate(-65.585%20-4.54)%22%3E%3Cpath%20d=%22M138.803%2048.49V16.91%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%222.806%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20marker-end=%22url(#a)%22/%3E%3Crect%20rx=%222.807%22%20ry=%222.807%22%20y=%225.289%22%20x=%2299.747%22%20height=%2247.849%22%20width=%2229.538%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%221.497%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%2240.921%22%20x=%22108.575%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%228.982%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%221.497%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2240.921%22%20x=%22108.575%22%20font-weight=%22700%22%20font-size=%2235.656%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M100.868%2030.283h27.764%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%222.245%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20rx=%222.807%22%20ry=%222.807%22%20y=%225.289%22%20x=%2266.333%22%20height=%2247.849%22%20width=%2229.538%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%221.497%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%2240.921%22%20x=%2273.223%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%228.982%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%221.497%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2240.921%22%20x=%2273.223%22%20font-weight=%22700%22%20font-size=%2235.656%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M67.454%2030.283h27.764%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%222.245%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618592156430 + }, + "design": { + "graph": { + "blocks": [ { - "id": "642ea367-8f37-400d-b632-46e227ce544d", - "type": "04dcede98e726cdb028c1ef593f02f949d5f5ac6", - "position": { - "x": 1352, - "y": -104 + "id": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", + "type": "basic.input", + "data": { + "name": "", + "clock": true }, - "size": { - "width": 96, - "height": 64 + "position": { + "x": 216, + "y": -120 + } + }, + { + "id": "0a772657-8018-424d-8f04-75d3ffff3692", + "type": "basic.inputLabel", + "data": { + "blockColor": "yellow", + "name": "clk", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true + }, + "position": { + "x": 368, + "y": -120 + } + }, + { + "id": "b9359b10-b14f-4dd7-adf9-3f4f22bc65e6", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk", + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 384, + "y": -32 + } + }, + { + "id": "217e7560-fd53-4db7-b08f-c9e027e3ba4e", + "type": "basic.outputLabel", + "data": { + "name": "q", + "range": "[15:0]", + "blockColor": "fuchsia", + "size": 16 + }, + "position": { + "x": 1040, + "y": -32 + } + }, + { + "id": "9c188e62-dea5-47d2-bfb6-b8379f6c7637", + "type": "basic.output", + "data": { + "name": "q", + "range": "[15:0]", + "size": 16 + }, + "position": { + "x": 1216, + "y": -32 + } + }, + { + "id": "88e0e872-0460-4ecc-bf26-8a7a5598a024", + "type": "basic.output", + "data": { + "name": "max" + }, + "position": { + "x": 1208, + "y": 56 + } + }, + { + "id": "06c393de-8af4-4b53-852c-b0e0160b5314", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "c" + }, + "position": { + "x": 1048, + "y": 56 + } + }, + { + "id": "2a921d76-1cbd-48fe-82a9-11b0ab4dbc06", + "type": "basic.input", + "data": { + "name": "rst", + "clock": false + }, + "position": { + "x": 216, + "y": 56 + } + }, + { + "id": "b34779b6-0670-454d-8d35-9f92e6ff15cf", + "type": "basic.inputLabel", + "data": { + "name": "q", + "range": "[15:0]", + "pins": [ + { + "index": "15", + "name": "", + "value": "" + }, + { + "index": "14", + "name": "", + "value": "" + }, + { + "index": "13", + "name": "", + "value": "" + }, + { + "index": "12", + "name": "", + "value": "" + }, + { + "index": "11", + "name": "", + "value": "" + }, + { + "index": "10", + "name": "", + "value": "" + }, + { + "index": "9", + "name": "", + "value": "" + }, + { + "index": "8", + "name": "", + "value": "" + }, + { + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "blockColor": "fuchsia" + }, + "position": { + "x": 712, + "y": 88 } }, { - "id": "3452d2fa-0c76-4021-925d-d73c3cea853f", - "type": "2e691702e123c308f561a5a93912a03de1896719", + "id": "cd9b7fce-c943-4b4c-a716-94f2cd21ccda", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "c", + "pins": [ + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true + }, "position": { "x": 856, - "y": 512 + "y": 144 + } + }, + { + "id": "230ff023-e330-4c47-84fb-8366ab5fdbd4", + "type": "8ecd5933e4bd5916eca00d6b654d6760012c47a6", + "position": { + "x": 720, + "y": 160 }, "size": { "width": 96, @@ -10478,1152 +10061,1288 @@ } }, { - "id": "caaa982b-20a8-426d-a546-beb213ed699f", - "type": "33e7c0abcd8b70a7af87fdb6750be0e24a796695", + "id": "de292739-9119-4a80-832d-033be6a9ffbe", + "type": "0788ea6614e4f073f6ed9a49665243d6d489ba46", "position": { - "x": 680, - "y": 448 + "x": 544, + "y": 40 }, "size": { "width": 96, - "height": 64 + "height": 96 } } ], "wires": [ { "source": { - "block": "6c846478-ff94-415a-b78e-03b6981bc0fe", - "port": "outlabel" + "block": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", + "port": "out" }, "target": { - "block": "55848689-05c8-4d58-b5a8-c421ff202e2d", - "port": "a2b70876-c7c0-4208-a403-eed81e32fe5a" + "block": "0a772657-8018-424d-8f04-75d3ffff3692", + "port": "inlabel" }, - "vertices": [ - { - "x": 1592, - "y": -192 - } - ] + "vertices": [] }, { "source": { - "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", - "port": "89a5da53-cc8b-4099-a5e3-b9cf281619b1" + "block": "230ff023-e330-4c47-84fb-8366ab5fdbd4", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "bc6920df-ca50-4643-ad7a-7e10c29856e8", + "block": "cd9b7fce-c943-4b4c-a716-94f2cd21ccda", "port": "inlabel" - } + }, + "vertices": [] }, { "source": { - "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", - "port": "aefe9248-3b3d-441b-9e65-33cda65b99dd" + "block": "b9359b10-b14f-4dd7-adf9-3f4f22bc65e6", + "port": "outlabel" }, "target": { - "block": "9baa509b-0012-4e0e-b874-e62987258aa1", - "port": "inlabel" + "block": "de292739-9119-4a80-832d-033be6a9ffbe", + "port": "0ae5a502-ee21-47ad-bacb-405a35a87a91" } }, { "source": { - "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", - "port": "0d991cee-b329-439b-b9e7-5712d2db539d" - }, + "block": "06c393de-8af4-4b53-852c-b0e0160b5314", + "port": "outlabel" + }, "target": { - "block": "92c88f9e-7d51-4946-b0ef-088dcd8efa49", + "block": "88e0e872-0460-4ecc-bf26-8a7a5598a024", + "port": "in" + } + }, + { + "source": { + "block": "de292739-9119-4a80-832d-033be6a9ffbe", + "port": "7995c7b0-4a39-4a19-aaa4-68f4e469912f", + "size": 16 + }, + "target": { + "block": "b34779b6-0670-454d-8d35-9f92e6ff15cf", "port": "inlabel" }, - "vertices": [ - { - "x": 888, - "y": -216 - } - ] + "size": 16 }, { "source": { - "block": "fa7f43f2-cbb2-47e0-bcc5-32336f9cd8ed", + "block": "217e7560-fd53-4db7-b08f-c9e027e3ba4e", "port": "outlabel" }, "target": { - "block": "bd61136e-6597-4728-a8c3-141a1841150b", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - } + "block": "9c188e62-dea5-47d2-bfb6-b8379f6c7637", + "port": "in", + "size": 16 + }, + "size": 16 }, { "source": { - "block": "45bd338b-4745-4b06-b199-462cdaffa31d", - "port": "outlabel" + "block": "2a921d76-1cbd-48fe-82a9-11b0ab4dbc06", + "port": "out" }, "target": { - "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", - "port": "ba15eacb-1e03-4580-932b-3231703481e5" + "block": "de292739-9119-4a80-832d-033be6a9ffbe", + "port": "892d93f1-9c4c-46c1-82c7-ff9702a5725a" } }, { "source": { - "block": "7d6ed080-252a-4f1b-8ec7-0f47d7866317", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "de292739-9119-4a80-832d-033be6a9ffbe", + "port": "7995c7b0-4a39-4a19-aaa4-68f4e469912f" }, "target": { - "block": "2e9e9e82-c651-4a6b-9d9e-4c796699d133", - "port": "inlabel" - } + "block": "230ff023-e330-4c47-84fb-8366ab5fdbd4", + "port": "cc343d02-8e43-4dd6-9999-21e29934ed5b" + }, + "vertices": [], + "size": 16 }, { "source": { - "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", - "port": "3802390d-8417-4369-b93c-dda647ccb0c6" + "block": "230ff023-e330-4c47-84fb-8366ab5fdbd4", + "port": "a7420015-7f67-4b9a-9dba-b3a58ce79fdc" }, "target": { - "block": "5a3f8466-6a57-4607-939a-fb15222442a7", - "port": "inlabel" + "block": "de292739-9119-4a80-832d-033be6a9ffbe", + "port": "c48a2779-52ed-4dde-8f95-e8ce67397de8" + }, + "vertices": [ + { + "x": 840, + "y": 264 + } + ], + "size": 16 + } + ] + } + } + }, + "8ecd5933e4bd5916eca00d6b654d6760012c47a6": { + "package": { + "name": "Inc1-16bits", + "version": "0.1", + "description": "Inc1-16bit: Increment a 16-bits number by one", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20width=%22387.891%22%20height=%22310.09%22%20viewBox=%220%200%20363.64764%20290.70999%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.759%2055.834v79.813h79.508v35.946H115.76v79.813h-36.25v-79.813H-.002v-35.946h79.51V55.834z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3Cpath%20d=%22M196.193%20257.608h64.256V35.828l-69.902%2014.02V14.018L260.06%200h39.332v257.608h64.257v33.102H196.193z%22%20style=%22line-height:1.25%22%20font-size=%22398.777%22%20stroke-width=%229.969%22/%3E%3C/svg%3E", + "otid": 1618560481898 + }, + "design": { + "graph": { + "blocks": [ + { + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", + "data": { + "name": "c" + }, + "position": { + "x": 624, + "y": -168 } }, { - "source": { - "block": "c5781045-a890-4e66-8f67-80d0cb317ee6", - "port": "outlabel" + "id": "cc343d02-8e43-4dd6-9999-21e29934ed5b", + "type": "basic.input", + "data": { + "name": "", + "range": "[15:0]", + "clock": false, + "size": 16 }, - "target": { - "block": "ac8b922a-9249-49a3-8b42-a1f259ccae2b", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "position": { + "x": 280, + "y": -152 + } + }, + { + "id": "a7420015-7f67-4b9a-9dba-b3a58ce79fdc", + "type": "basic.output", + "data": { + "name": "s", + "range": "[15:0]", + "size": 16 + }, + "position": { + "x": 624, + "y": -104 + } + }, + { + "id": "cd0d6f4d-9898-4114-94a9-0b4b98223c27", + "type": "basic.constant", + "data": { + "name": "", + "value": "1", + "local": true + }, + "position": { + "x": 456, + "y": -256 } }, + { + "id": "12fb4602-d67f-4129-a777-f04945adf29d", + "type": "26569688c377bf52132e5f1de5a15da7143d9388", + "position": { + "x": 456, + "y": -152 + }, + "size": { + "width": 96, + "height": 64 + } + } + ], + "wires": [ { "source": { - "block": "a756b829-42d1-4779-b42d-a9acc3800854", - "port": "outlabel" + "block": "12fb4602-d67f-4129-a777-f04945adf29d", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "49221b19-132a-4e3f-9a1f-97bcd463391b", + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", "port": "in" } }, { "source": { - "block": "8a5f0c79-7347-4b35-8e27-603ebed8bf9f", - "port": "outlabel" + "block": "cd0d6f4d-9898-4114-94a9-0b4b98223c27", + "port": "constant-out" }, "target": { - "block": "55848689-05c8-4d58-b5a8-c421ff202e2d", - "port": "065ea371-8398-43b3-8341-287c234a3acb" + "block": "12fb4602-d67f-4129-a777-f04945adf29d", + "port": "e728fdca-755f-4f2d-98e7-0716b1c5258f" } }, { "source": { - "block": "10afc859-04fd-433d-823a-4fa4721320c1", - "port": "outlabel" + "block": "cc343d02-8e43-4dd6-9999-21e29934ed5b", + "port": "out" }, "target": { - "block": "28aef1aa-1cc2-4bb4-9a70-2db1962258d4", - "port": "97b51945-d716-4b6c-9db9-970d08541249" - } + "block": "12fb4602-d67f-4129-a777-f04945adf29d", + "port": "1253e5dc-89f9-4074-874c-82628c0e1d6f" + }, + "size": 16 }, { "source": { - "block": "28aef1aa-1cc2-4bb4-9a70-2db1962258d4", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "12fb4602-d67f-4129-a777-f04945adf29d", + "port": "f4640f0f-2d2b-40c6-adb2-2581f7d1f9a7" }, "target": { - "block": "06b60a4f-b1b1-4a91-ba10-bdb5a7515718", - "port": "inlabel" + "block": "a7420015-7f67-4b9a-9dba-b3a58ce79fdc", + "port": "in" + }, + "size": 16 + } + ] + } + } + }, + "26569688c377bf52132e5f1de5a15da7143d9388": { + "package": { + "name": "AdderK-16bits", + "version": "0.1", + "description": "AdderK-16bit: Adder of 16-bit operand and 16-bit constant", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618560481898 + }, + "design": { + "graph": { + "blocks": [ + { + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", + "data": { + "name": "c" + }, + "position": { + "x": 624, + "y": -168 } }, { - "source": { - "block": "bd61136e-6597-4728-a8c3-141a1841150b", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "id": "f4640f0f-2d2b-40c6-adb2-2581f7d1f9a7", + "type": "basic.output", + "data": { + "name": "s", + "range": "[15:0]", + "size": 16 }, - "target": { - "block": "8c96c7ec-0c2f-4870-9197-46116cd1d134", - "port": "inlabel" + "position": { + "x": 624, + "y": -96 } }, { - "source": { - "block": "f9f37a77-fd08-4506-9c1b-cc53daa19559", - "port": "outlabel" + "id": "1253e5dc-89f9-4074-874c-82628c0e1d6f", + "type": "basic.input", + "data": { + "name": "", + "range": "[15:0]", + "clock": false, + "size": 16 }, - "target": { - "block": "d76d4948-a798-448c-adfa-c03b511371e5", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + "position": { + "x": 232, + "y": -56 } }, { - "source": { - "block": "cb426e3d-ace3-4a57-a74b-155caed0c14c", - "port": "out" + "id": "e728fdca-755f-4f2d-98e7-0716b1c5258f", + "type": "basic.constant", + "data": { + "name": "", + "value": "0", + "local": false }, - "target": { - "block": "9291f94d-2d9a-4c3a-b7df-4299abf84886", - "port": "inlabel" + "position": { + "x": 232, + "y": -272 } }, { - "source": { - "block": "40607400-436e-4dea-b733-8308a06fd4ef", - "port": "outlabel" + "id": "3ed9c4cb-d412-46e8-86cc-9943f564ccd0", + "type": "651fa32fcf52b534a766fdb2ba638a010338f268", + "position": { + "x": 232, + "y": -168 }, - "target": { - "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", - "port": "046501b8-4427-4d4d-af97-7fe807774f33" + "size": { + "width": 96, + "height": 64 } }, + { + "id": "82e8e1b8-0816-489f-9427-b03956cdc86a", + "type": "bc66d79524a86b172c0ff190e607bca7c0694b8b", + "position": { + "x": 456, + "y": -152 + }, + "size": { + "width": 96, + "height": 64 + } + } + ], + "wires": [ { "source": { - "block": "2438a009-c8e2-4acb-b443-90fe0ddd989d", - "port": "outlabel" + "block": "82e8e1b8-0816-489f-9427-b03956cdc86a", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "6a11eaf9-4bd5-405e-81f8-44418365326b", + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", "port": "in" } }, { "source": { - "block": "81fb4efb-363e-483e-b1df-c2ebda777355", - "port": "outlabel" + "block": "e728fdca-755f-4f2d-98e7-0716b1c5258f", + "port": "constant-out" }, "target": { - "block": "55848689-05c8-4d58-b5a8-c421ff202e2d", - "port": "096f61b6-6d5c-4907-9512-e65b25969458" + "block": "3ed9c4cb-d412-46e8-86cc-9943f564ccd0", + "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" } }, { "source": { - "block": "d8820925-23d9-4f02-8491-adf813601d08", - "port": "outlabel" + "block": "3ed9c4cb-d412-46e8-86cc-9943f564ccd0", + "port": "d54af040-d87a-431d-a15f-d5deb4795af5" }, "target": { - "block": "d76d4948-a798-448c-adfa-c03b511371e5", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + "block": "82e8e1b8-0816-489f-9427-b03956cdc86a", + "port": "353729bb-5213-45a7-a8e1-4e1d812492bd" }, - "vertices": [ - { - "x": 1496, - "y": 280 - } - ] - }, - { - "source": { - "block": "dddd2a78-e0f8-4688-ad63-0c41ad98894b", - "port": "outlabel" - }, - "target": { - "block": "73948305-b05b-418f-88af-11328f400cdc", - "port": "in" - } - }, - { - "source": { - "block": "55848689-05c8-4d58-b5a8-c421ff202e2d", - "port": "f655c5c0-0157-4195-89ac-f92c5b3f8e0b", - "size": 4 - }, - "target": { - "block": "ce3dc4bf-dbfd-4a81-97cd-3c0a0a672d89", - "port": "inlabel" - }, - "size": 4 - }, - { - "source": { - "block": "c69e492c-ad1e-46f7-8523-5e5c615f682d", - "port": "outlabel" - }, - "target": { - "block": "a8eb520f-8b09-41ab-9146-919bf44b6078", - "port": "in", - "size": 4 - }, - "size": 4 - }, - { - "source": { - "block": "be5cddf8-3e91-4b00-b2d0-0be80df6cc2d", - "port": "outlabel" - }, - "target": { - "block": "642ea367-8f37-400d-b632-46e227ce544d", - "port": "d1ed8643-0bb2-48ac-9aca-17184aee9368", - "size": 4 - }, - "size": 4 + "size": 16 }, { "source": { - "block": "50aa90d1-18a3-4f3c-9ca9-2d65c8664bc2", - "port": "outlabel" + "block": "1253e5dc-89f9-4074-874c-82628c0e1d6f", + "port": "out" }, "target": { - "block": "3452d2fa-0c76-4021-925d-d73c3cea853f", - "port": "128b8626-fc1e-4144-a837-a275b812ee83", - "size": 4 + "block": "82e8e1b8-0816-489f-9427-b03956cdc86a", + "port": "eeb34637-ba55-4a7f-803e-e85d9b9c7fc4" }, - "size": 4 + "size": 16 }, { "source": { - "block": "374613cb-968d-46d1-94a4-16686e7df28d", - "port": "constant-out" + "block": "82e8e1b8-0816-489f-9427-b03956cdc86a", + "port": "14253a9f-c3ef-4ada-bb54-dbbed784b7a9" }, "target": { - "block": "55848689-05c8-4d58-b5a8-c421ff202e2d", - "port": "f3b434e4-0c8f-4dd7-90c7-305189a807f1" - } - }, - { - "source": { - "block": "a19b8bcd-a0a4-4da0-9844-5e5c0306e231", - "port": "constant-out" + "block": "f4640f0f-2d2b-40c6-adb2-2581f7d1f9a7", + "port": "in" }, - "target": { - "block": "642ea367-8f37-400d-b632-46e227ce544d", - "port": "c4eedeee-32b3-41da-834c-48f3a92cbaec" - } - }, + "size": 16 + } + ] + } + } + }, + "651fa32fcf52b534a766fdb2ba638a010338f268": { + "package": { + "name": "16-bits-gen-constant", + "version": "0.0.2", + "description": "Generic: 16-bits generic constant", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22145.608%22%20height=%22247.927%22%20viewBox=%220%200%20136.50729%20232.43134%22%3E%3Cg%20style=%22line-height:0%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%3E%3Cpath%20d=%22M56.012%20146.905q9.055%206.708%2020.459%2017.105%2011.404%2010.062%2022.472%2021.8%2011.403%2011.74%2021.465%2024.15%2010.062%2012.074%2016.1%2022.471h-32.87q-6.372-10.397-15.763-21.13-9.392-11.068-20.124-21.13-10.398-10.062-21.13-18.447-10.398-8.385-18.783-14.087v74.794H0V4.695L27.838%200v141.874q18.447-16.1%2036.894-31.863%2018.447-16.1%2033.205-33.205h32.533q-14.422%2017.106-34.881%2035.217-20.124%2018.112-39.577%2034.882z%22%20style=%22line-height:1.25%22%20font-size=%22335.399%22%20font-weight=%22400%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22/%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ { - "source": { - "block": "3452d2fa-0c76-4021-925d-d73c3cea853f", - "port": "0344dacc-8583-456b-b377-8cb4ab97cf94" + "id": "d54af040-d87a-431d-a15f-d5deb4795af5", + "type": "basic.output", + "data": { + "name": "", + "range": "[15:0]", + "size": 16 }, - "target": { - "block": "7d6ed080-252a-4f1b-8ec7-0f47d7866317", - "port": "97b51945-d716-4b6c-9db9-970d08541249" + "position": { + "x": 960, + "y": 248 } }, { - "source": { - "block": "ac8b922a-9249-49a3-8b42-a1f259ccae2b", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "id": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "type": "basic.constant", + "data": { + "name": "", + "value": "0", + "local": false }, - "target": { - "block": "28aef1aa-1cc2-4bb4-9a70-2db1962258d4", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "position": { + "x": 728, + "y": 128 } }, { - "source": { - "block": "d76d4948-a798-448c-adfa-c03b511371e5", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + "id": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "type": "basic.code", + "data": { + "code": "assign k = VALUE;", + "params": [ + { + "name": "VALUE" + } + ], + "ports": { + "in": [], + "out": [ + { + "name": "k", + "range": "[15:0]", + "size": 16 + } + ] + } }, - "target": { - "block": "ac8b922a-9249-49a3-8b42-a1f259ccae2b", - "port": "97b51945-d716-4b6c-9db9-970d08541249" - } - }, - { - "source": { - "block": "bd61136e-6597-4728-a8c3-141a1841150b", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "position": { + "x": 672, + "y": 248 }, - "target": { - "block": "7d6ed080-252a-4f1b-8ec7-0f47d7866317", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "size": { + "width": 208, + "height": 64 } - }, + } + ], + "wires": [ { "source": { - "block": "d0005413-fea9-4b0b-8a18-9b15d4977bc1", + "block": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", "port": "constant-out" }, "target": { - "block": "caaa982b-20a8-426d-a546-beb213ed699f", - "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" - } - }, - { - "source": { - "block": "8f591b24-0427-409f-aa6e-ca1861556cf5", - "port": "out" - }, - "target": { - "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", - "port": "88176871-35ac-42bf-bf62-36c81a4b4b47" - } - }, - { - "source": { - "block": "ad4d0fc2-118e-496e-b292-c435bad20e7d", - "port": "out" - }, - "target": { - "block": "bd61136e-6597-4728-a8c3-141a1841150b", - "port": "97b51945-d716-4b6c-9db9-970d08541249" + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "VALUE" } }, { "source": { - "block": "642ea367-8f37-400d-b632-46e227ce544d", - "port": "423ecf0e-b1de-4a7f-8bf0-032e0c1f0467" - }, - "target": { - "block": "55848689-05c8-4d58-b5a8-c421ff202e2d", - "port": "ee31ca02-b981-4474-a62e-85f20302435c" - }, - "size": 4 - }, - { - "source": { - "block": "caaa982b-20a8-426d-a546-beb213ed699f", - "port": "2da79d6d-81ed-4d5d-b4bf-113557353105" + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "k" }, "target": { - "block": "3452d2fa-0c76-4021-925d-d73c3cea853f", - "port": "0587ffc4-0beb-4bc0-b72c-df8bde2c6bf2" + "block": "d54af040-d87a-431d-a15f-d5deb4795af5", + "port": "in" }, - "size": 4 + "size": 16 } ] } } }, - "438dedd956354c574afcde6f0793a7d369b2a031": { + "bc66d79524a86b172c0ff190e607bca7c0694b8b": { "package": { - "name": "Machine-state", + "name": "Adder-16bits", "version": "0.1", - "description": "Biestable de almacenamiento del estado de la máquina", - "author": "Juan Gonzalez-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22404.343%22%20width=%22319.18%22%20id=%22svg4%22%3E%3Cdefs%20id=%22defs8%22%3E%3Cmarker%20id=%22TriangleOutM%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20id=%22path972%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow1Mend%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-4%200l-2%202%207-2-7-2z%22%20id=%22path836%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow2Mend%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20id=%22path854%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow2Mend-3%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20id=%22path854-6%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow1Mend-5%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-4%200l-2%202%207-2-7-2z%22%20id=%22path836-3%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22TriangleOutM-7%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path972-5%22%20d=%22M2.308%200l-3.46%202v-4z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow1Mend-3%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path836-5%22%20d=%22M-4%200l-2%202%207-2-7-2z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow2Mend-6%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path854-2%22%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow2Mend-3-9%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path854-6-1%22%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow1Mend-5-2%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path836-3-7%22%20d=%22M-4%200l-2%202%207-2-7-2z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cdefs%20id=%22defs3%22%3E%3Cpath%20id=%22a%22%20d=%22M-58.3-45h653.6v640H-58.3z%22/%3E%3C/defs%3E%3Cpath%20id=%22path898%22%20d=%22M-58.3-45h653.6v640H-58.3z%22/%3E%3Cmarker%20id=%22TriangleOutM-3%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20id=%22path972-6%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow1Mend-7%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-4%200l-2%202%207-2-7-2z%22%20id=%22path836-53%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow2Mend-5%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20id=%22path854-62%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow2Mend-3-91%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20id=%22path854-6-2%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow1Mend-5-7%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-4%200l-2%202%207-2-7-2z%22%20id=%22path836-3-0%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22TriangleOutM-7-9%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path972-5-3%22%20d=%22M2.308%200l-3.46%202v-4z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow1Mend-3-6%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path836-5-0%22%20d=%22M-4%200l-2%202%207-2-7-2z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow2Mend-6-6%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path854-2-2%22%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow2Mend-3-9-6%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path854-6-1-1%22%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow1Mend-5-2-8%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path836-3-7-7%22%20d=%22M-4%200l-2%202%207-2-7-2z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cdefs%20id=%22defs3-9%22%3E%3Cpath%20id=%22a-2%22%20d=%22M-58.3-45h653.6v640H-58.3z%22/%3E%3C/defs%3E%3Cpath%20id=%22path974%22%20d=%22M-58.3-45h653.6v640H-58.3z%22/%3E%3C/defs%3E%3Cpath%20d=%22M124.728%2079.637c-24.895%200-45.091%2020.196-45.091%2045.109%200%2024.886%2020.196%2045.126%2045.092%2045.126%2024.904%200%2044.952-20.24%2044.952-45.126%200-24.913-20.049-45.11-44.953-45.11zm90.41%2071.022l-8.128%2019.578%2014.497%2028.472%201.914%203.759-20.1%2020.1-32.979-15.575-19.578%208.04-9.938%2030.421-1.27%204.038h-28.41L98.85%20215.155%2079.27%20207.08l-28.514%2014.462-3.759%201.88-20.092-20.083%2015.559-32.997-8.067-19.56-30.37-9.92L0%20139.555v-28.393L34.362%2098.85l8.067-19.544-14.453-28.533-1.906-3.741%2020.066-20.066%2033.022%2015.55%2019.553-8.084%209.928-30.403L109.92%200h28.401l12.304%2034.38%2019.527%208.084%2028.523-14.471%203.794-1.906%2020.083%2020.066-15.558%2032.97%208.04%2019.588%2030.456%209.928%204.003%201.28v28.384z%22%20id=%22path2%22%20fill=%22#00f%22%20stroke-width=%22.278%22/%3E%3Cg%20id=%22g992-5%22%20transform=%22matrix(3.23542%200%200%203.23542%20-54.399%20117.43)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20id=%22path992-2-62%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20id=%22path1773-2-3-1-8-9-9%22%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cstyle%20id=%22style2%22%3E.st0%7Bdisplay:none%7D.st1%7Bfill:none;stroke:#303030;stroke-width:.7;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10%7D.st2%7Bfill:#303030%7D%3C/style%3E%3Cg%20id=%22g1022%22%20transform=%22matrix(.5585%200%200%20.5585%2076.484%2043.495)%22%3E%3Cg%20transform=%22translate(3.47%203.198)%22%20id=%22layer1%22%3E%3Cpath%20id=%22path9-3%22%20d=%22M21.358%20145.947a63.75%2063.75%200%200%200%201.152%2011.049%22%20class=%22st1%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20id=%22path11%22%20d=%22M48.702%2092.116a64.784%2064.784%200%200%200-12.559%2011.68%2064.99%2064.99%200%200%200-12.69%2024.809%22%20class=%22st1%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20class=%22st1%22%20id=%22line17%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22%20d=%22M184.865%20207.591L41.298%20262.802%22/%3E%3Cpath%20d=%22M185.448%20175.07l.37.154c2.52.831%204.718%202.386%206.634%204.249%202.02%202.322%203.694%204.777%204.423%208.713%201.496%208.074-3.286%2016.05-10.95%2018.997l-1.06.408L41.298%20262.8l-.733.283c-8.003%203.077-17.551.461-21.82-6.975-3.3-5.748-2.736-12.198.418-21.613%203.155-9.414%202.86-21.856-1.644-33.55l.041.003-12.507-32.667c-12.88-33.415-.747-70.376%2027.41-90.31l-1.102-2.749c-3.685-9.583%201.14-20.438%2010.723-24.124%209.583-3.685%2020.439%201.14%2024.124%2010.723l1.654%203.239c34.881-3.556%2068.594%2015.855%2081.318%2049.33l15.24%2038.432c4.795%208.723%2011.831%2015.955%2021.028%2022.248z%22%20id=%22path21-3%22%20fill=%22#fff%22%20stroke=%22#303030%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20id=%22path826%22%20d=%22M64.268%20268.838l45.015-17.115s7.963%2024.296-14.427%2030.38c-22.39%206.086-30.588-13.265-30.588-13.265z%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3Cg%20id=%22layer3%22%3E%3Crect%20ry=%2219.847%22%20y=%223.671%22%20x=%2295.783%22%20height=%22135.189%22%20width=%22135.189%22%20id=%22rect845%22%20fill=%22#55acee%22%20stroke=%22#303030%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3C/g%3E%3Cg%20id=%22layer4%22%3E%3Cpath%20id=%22path7-6%22%20d=%22M172.724%2052.533V27.647h-9.888L144.047%2037.7l2.308%208.9%2014.833-8.076h.33v74.824H172.724V52.533z%22%20class=%22st2%22%20fill=%22#303030%22%20stroke-width=%2214.425%22/%3E%3C/g%3E%3C/g%3E%3Cg%20id=%22g992-5-7%22%20transform=%22matrix(3.23542%200%200%203.23542%20-57.653%2011.124)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20id=%22path992-2-62-5%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20id=%22path1773-2-3-1-8-9-9-3%22%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/svg%3E" + "description": "Adder-16bits: Adder of two operands of 16 bits", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618560481898 }, "design": { "graph": { "blocks": [ { - "id": "0d991cee-b329-439b-b9e7-5712d2db539d", - "type": "basic.output", + "id": "e2589574-b6cc-4faf-8e69-3d23248bcba2", + "type": "basic.inputLabel", "data": { - "name": "state" + "name": "a1", + "range": "[7:0]", + "pins": [ + { + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia", + "blockColor": "deeppink" }, "position": { - "x": 960, - "y": 8 + "x": 8, + "y": -664 } }, { - "id": "89a5da53-cc8b-4099-a5e3-b9cf281619b1", - "type": "basic.output", + "id": "4f2c77a9-f54e-4c7e-b1b8-d1739ea521c7", + "type": "basic.outputLabel", "data": { - "name": "rst" + "name": "a1", + "range": "[7:0]", + "blockColor": "deeppink", + "size": 8 }, "position": { - "x": 960, - "y": 120 + "x": 352, + "y": -664 } }, { - "id": "046501b8-4427-4d4d-af97-7fe807774f33", - "type": "basic.input", - "data": { - "name": "", - "clock": true - }, - "position": { - "x": 408, - "y": 184 - } - }, - { - "id": "aefe9248-3b3d-441b-9e65-33cda65b99dd", + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", "type": "basic.output", "data": { - "name": "on" + "name": "c" }, "position": { "x": 960, - "y": 256 + "y": -608 } }, { - "id": "88176871-35ac-42bf-bf62-36c81a4b4b47", + "id": "353729bb-5213-45a7-a8e1-4e1d812492bd", "type": "basic.input", "data": { - "name": "start", - "clock": false + "name": "", + "range": "[15:0]", + "clock": false, + "size": 16 }, "position": { - "x": 424, - "y": 288 + "x": -320, + "y": -608 } }, { - "id": "ba15eacb-1e03-4580-932b-3231703481e5", - "type": "basic.input", + "id": "6736a55c-7818-4da9-9c1a-f57200ad2526", + "type": "basic.inputLabel", "data": { - "name": "stop", - "clock": false + "name": "a0", + "range": "[7:0]", + "pins": [ + { + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia", + "blockColor": "deeppink" }, "position": { - "x": 424, - "y": 352 + "x": 8, + "y": -592 } }, { - "id": "3802390d-8417-4369-b93c-dda647ccb0c6", - "type": "basic.output", + "id": "4743defe-36c0-40a2-aaf0-188272583034", + "type": "basic.outputLabel", "data": { - "name": "off" - }, - "position": { - "x": 960, - "y": 360 - } - }, - { - "id": "66f5f40c-d14b-4be3-96b6-6cea8d96b738", - "type": "b959c256104d1064a5ef7b38632ffb6eed3b396f", - "position": { - "x": 600, - "y": 272 - }, - "size": { - "width": 96, - "height": 96 - } - }, - { - "id": "03835a1e-c674-4fa3-927b-0511beff772c", - "type": "c386a7076c0569a15326b30b6748ca284426424d", - "position": { - "x": 776, - "y": 272 + "name": "b1", + "range": "[7:0]", + "blockColor": "fuchsia", + "size": 8 }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "de860182-e038-4198-b4a4-505dd7a6fa9e", - "type": "35f267d0df6ffcb7fc33753bc9df9cf083642cca", "position": { - "x": 736, - "y": 120 - }, - "size": { - "width": 96, - "height": 64 + "x": 352, + "y": -584 } }, { - "id": "42f19387-aa1f-4514-88aa-adca9bf9f03b", - "type": "basic.info", + "id": "14253a9f-c3ef-4ada-bb54-dbbed784b7a9", + "type": "basic.output", "data": { - "info": "**Tic de apagado**", - "readonly": true + "name": "s", + "range": "[15:0]", + "size": 16 }, "position": { "x": 960, - "y": 344 - }, - "size": { - "width": 168, - "height": 40 + "y": -544 } }, { - "id": "eaab4880-4c6d-422f-a8ab-c06e579aa7c6", - "type": "basic.info", + "id": "a3761c9e-14ee-47ef-95f0-ddbb132ba6cf", + "type": "basic.inputLabel", "data": { - "info": "**Tic de encendido**", - "readonly": true + "name": "b1", + "range": "[7:0]", + "pins": [ + { + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "blockColor": "fuchsia" }, "position": { - "x": 952, - "y": 240 - }, - "size": { - "width": 168, - "height": 40 + "x": 8, + "y": -472 } }, { - "id": "4e85996b-c40e-4f84-bfbc-ff87d4bc425d", - "type": "basic.info", + "id": "7d042e3c-08e0-4027-ba97-6f6143ac0b7e", + "type": "basic.outputLabel", "data": { - "info": "**Inicializar**", - "readonly": true + "name": "a0", + "range": "[7:0]", + "blockColor": "deeppink", + "size": 8 }, "position": { - "x": 968, - "y": 96 - }, - "size": { - "width": 168, - "height": 40 + "x": 184, + "y": -472 } }, { - "id": "130f81c9-ce87-47a8-b393-762b31a724fc", - "type": "basic.info", + "id": "eeb34637-ba55-4a7f-803e-e85d9b9c7fc4", + "type": "basic.input", "data": { - "info": "**Estado de la máquina**", - "readonly": true + "name": "", + "range": "[15:0]", + "clock": false, + "size": 16 }, "position": { - "x": 936, - "y": -16 - }, - "size": { - "width": 168, - "height": 40 - } - } - ], - "wires": [ - { - "source": { - "block": "66f5f40c-d14b-4be3-96b6-6cea8d96b738", - "port": "1cb167a4-9e2a-416b-803e-da7b6151eaa5" - }, - "target": { - "block": "03835a1e-c674-4fa3-927b-0511beff772c", - "port": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff" + "x": -320, + "y": -424 } }, { - "source": { - "block": "66f5f40c-d14b-4be3-96b6-6cea8d96b738", - "port": "1cb167a4-9e2a-416b-803e-da7b6151eaa5" - }, - "target": { - "block": "0d991cee-b329-439b-b9e7-5712d2db539d", - "port": "in" - }, - "vertices": [ - { - "x": 720, - "y": 144 - } - ] + "id": "a7cd6890-7130-4f25-9966-b5ca1132d597", + "type": "basic.inputLabel", + "data": { + "name": "b0", + "range": "[7:0]", + "pins": [ + { + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "blockColor": "fuchsia" + }, + "position": { + "x": 8, + "y": -408 + } }, { - "source": { - "block": "66f5f40c-d14b-4be3-96b6-6cea8d96b738", - "port": "1cb167a4-9e2a-416b-803e-da7b6151eaa5" + "id": "7114cf32-af2c-438f-b816-1043a8bd819d", + "type": "basic.outputLabel", + "data": { + "name": "b0", + "range": "[7:0]", + "blockColor": "fuchsia", + "size": 8 }, - "target": { - "block": "de860182-e038-4198-b4a4-505dd7a6fa9e", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "position": { + "x": 184, + "y": -408 } }, { - "source": { - "block": "de860182-e038-4198-b4a4-505dd7a6fa9e", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "id": "4cb18fdd-66bb-461c-ae6d-1454c8e4a9a6", + "type": "306ca367fbbc5181b3c709d73f447e0710871a1d", + "position": { + "x": -168, + "y": -424 }, - "target": { - "block": "89a5da53-cc8b-4099-a5e3-b9cf281619b1", - "port": "in" + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "e3cde6db-ea93-4550-affd-14856b75d5a5", + "type": "306ca367fbbc5181b3c709d73f447e0710871a1d", + "position": { + "x": -168, + "y": -608 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "64c3574b-3227-40ab-ab03-c2e2af710a45", + "type": "cb23aa3d8a3e95bd194fd9ec9b9c40b36595d893", + "position": { + "x": 352, + "y": -456 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "0857be54-1eea-4619-841f-b1bb49aa66d0", + "type": "c3c498191b14e9288a85fa2871b3966665f75475", + "position": { + "x": 520, + "y": -600 + }, + "size": { + "width": 96, + "height": 96 } }, + { + "id": "17bd7ef3-6604-48a9-9c2e-50a8be908636", + "type": "8cc49c9b29485f2cfeab6064d7bb1cf9ced045b1", + "position": { + "x": 760, + "y": -544 + }, + "size": { + "width": 96, + "height": 64 + } + } + ], + "wires": [ { "source": { - "block": "88176871-35ac-42bf-bf62-36c81a4b4b47", - "port": "out" + "block": "4cb18fdd-66bb-461c-ae6d-1454c8e4a9a6", + "port": "0e7ef93d-c4da-4c2e-9653-7a470dc912b6", + "size": 8 }, "target": { - "block": "66f5f40c-d14b-4be3-96b6-6cea8d96b738", - "port": "3ae2d46d-7981-497a-899f-b60bfae0f43e" - } + "block": "a7cd6890-7130-4f25-9966-b5ca1132d597", + "port": "inlabel" + }, + "size": 8 }, { "source": { - "block": "ba15eacb-1e03-4580-932b-3231703481e5", - "port": "out" + "block": "4cb18fdd-66bb-461c-ae6d-1454c8e4a9a6", + "port": "6ac467f0-b16b-44ef-8f03-ae206c13186e", + "size": 8 }, "target": { - "block": "66f5f40c-d14b-4be3-96b6-6cea8d96b738", - "port": "86eb8c81-17fc-4371-bd21-51f429191f3c" - } + "block": "a3761c9e-14ee-47ef-95f0-ddbb132ba6cf", + "port": "inlabel" + }, + "size": 8 }, { "source": { - "block": "03835a1e-c674-4fa3-927b-0511beff772c", - "port": "1c25e08e-e664-4fab-9b30-cedc1f8a3739" + "block": "e3cde6db-ea93-4550-affd-14856b75d5a5", + "port": "0e7ef93d-c4da-4c2e-9653-7a470dc912b6", + "size": 8 }, "target": { - "block": "aefe9248-3b3d-441b-9e65-33cda65b99dd", - "port": "in" - } + "block": "6736a55c-7818-4da9-9c1a-f57200ad2526", + "port": "inlabel" + }, + "size": 8 }, { "source": { - "block": "03835a1e-c674-4fa3-927b-0511beff772c", - "port": "3ada5999-55ba-4c4e-9877-a3e9ed82308c" + "block": "e3cde6db-ea93-4550-affd-14856b75d5a5", + "port": "6ac467f0-b16b-44ef-8f03-ae206c13186e", + "size": 8 }, "target": { - "block": "3802390d-8417-4369-b93c-dda647ccb0c6", - "port": "in" - } + "block": "e2589574-b6cc-4faf-8e69-3d23248bcba2", + "port": "inlabel" + }, + "size": 8 }, { "source": { - "block": "046501b8-4427-4d4d-af97-7fe807774f33", - "port": "out" + "block": "7114cf32-af2c-438f-b816-1043a8bd819d", + "port": "outlabel" }, "target": { - "block": "66f5f40c-d14b-4be3-96b6-6cea8d96b738", - "port": "9f09a4af-8f7a-45c3-af7b-293a244e76d9" - } + "block": "64c3574b-3227-40ab-ab03-c2e2af710a45", + "port": "63477487-9493-4058-a7e1-9bab443ec466", + "size": 8 + }, + "size": 8 }, { "source": { - "block": "046501b8-4427-4d4d-af97-7fe807774f33", - "port": "out" + "block": "7d042e3c-08e0-4027-ba97-6f6143ac0b7e", + "port": "outlabel" }, "target": { - "block": "03835a1e-c674-4fa3-927b-0511beff772c", - "port": "2708468d-1088-4570-be63-fb0d4799a941" - } - } - ] - } - } - }, - "b959c256104d1064a5ef7b38632ffb6eed3b396f": { - "package": { - "name": "Biestable-Set-Reset", - "version": "0.1", - "description": "Biestable con entradas de Set y Reset síncronas, para poner y quitar notaficaciones de eventos", - "author": "Juan Gonzalez-Gomez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20234.62951%20290.44458%22%20id=%22svg30%22%20width=%22234.63%22%20height=%22290.445%22%3E%3Cstyle%20id=%22style2%22%3E.st0%7Bdisplay:none%7D.st1%7Bfill:none;stroke:#303030;stroke-width:.7;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10%7D.st2%7Bfill:#303030%7D%3C/style%3E%3Cg%20id=%22layer1%22%20transform=%22translate(3.47%203.198)%22%3E%3Cpath%20class=%22st1%22%20d=%22M21.358%20145.947a63.75%2063.75%200%200%200%201.152%2011.049%22%20id=%22path9%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20class=%22st1%22%20d=%22M48.702%2092.116a64.784%2064.784%200%200%200-12.559%2011.68%2064.99%2064.99%200%200%200-12.69%2024.809%22%20id=%22path11%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20id=%22line17%22%20class=%22st1%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22%20d=%22M184.865%20207.591L41.298%20262.802%22/%3E%3Cpath%20id=%22path21-3%22%20d=%22M185.448%20175.07l.37.154c2.52.831%204.718%202.386%206.634%204.249%202.02%202.322%203.694%204.777%204.423%208.713%201.496%208.074-3.286%2016.05-10.95%2018.997l-1.06.408L41.298%20262.8l-.733.283c-8.003%203.077-17.551.461-21.82-6.975-3.3-5.748-2.736-12.198.418-21.613%203.155-9.414%202.86-21.856-1.644-33.55l.041.003-12.507-32.667c-12.88-33.415-.747-70.376%2027.41-90.31l-1.102-2.749c-3.685-9.583%201.14-20.438%2010.723-24.124%209.583-3.685%2020.439%201.14%2024.124%2010.723l1.654%203.239c34.881-3.556%2068.594%2015.855%2081.318%2049.33l15.24%2038.432c4.795%208.723%2011.831%2015.955%2021.028%2022.248z%22%20fill=%22#fff%22%20stroke=%22#303030%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20d=%22M64.268%20268.838l45.015-17.115s7.963%2024.296-14.427%2030.38c-22.39%206.086-30.588-13.265-30.588-13.265z%22%20id=%22path826%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3Cg%20id=%22layer3%22%3E%3Crect%20id=%22rect845%22%20width=%22135.189%22%20height=%22135.189%22%20x=%2295.783%22%20y=%223.671%22%20ry=%2219.847%22%20fill=%22#55acee%22%20stroke=%22#303030%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3C/g%3E%3Cg%20id=%22layer4%22%3E%3Cpath%20class=%22st2%22%20d=%22M172.724%2052.533V27.647h-9.888L144.047%2037.7l2.308%208.9%2014.833-8.076h.33v74.824H172.724V52.533z%22%20id=%22path7%22%20fill=%22#303030%22%20stroke-width=%2214.425%22/%3E%3C/g%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ + "block": "64c3574b-3227-40ab-ab03-c2e2af710a45", + "port": "b4b08c4b-8eb1-4cd3-a1bf-a45bf7177ed3", + "size": 8 + }, + "size": 8 + }, { - "id": "9f09a4af-8f7a-45c3-af7b-293a244e76d9", - "type": "basic.input", - "data": { - "name": "", - "clock": true + "source": { + "block": "4f2c77a9-f54e-4c7e-b1b8-d1739ea521c7", + "port": "outlabel" }, - "position": { - "x": 200, - "y": 64 - } + "target": { + "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", + "port": "4bf17d89-89b8-4524-800a-2d15f9bbb111", + "size": 8 + }, + "size": 8 }, { - "id": "3ae2d46d-7981-497a-899f-b60bfae0f43e", - "type": "basic.input", - "data": { - "name": "set", - "clock": false + "source": { + "block": "4743defe-36c0-40a2-aaf0-188272583034", + "port": "outlabel" }, - "position": { - "x": 200, - "y": 152 - } + "target": { + "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", + "port": "3867504b-f331-4e0e-b923-acc86cb4255c", + "size": 8 + }, + "size": 8 }, { - "id": "1cb167a4-9e2a-416b-803e-da7b6151eaa5", - "type": "basic.output", - "data": { - "name": "" + "source": { + "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, - "position": { - "x": 720, - "y": 152 + "target": { + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" } }, { - "id": "86eb8c81-17fc-4371-bd21-51f429191f3c", - "type": "basic.input", - "data": { - "name": "rst", - "clock": false + "source": { + "block": "64c3574b-3227-40ab-ab03-c2e2af710a45", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, - "position": { - "x": 200, - "y": 232 + "target": { + "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", + "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" } }, - { - "id": "bf12a800-db30-4289-a7c5-8c08438f9a39", - "type": "basic.constant", - "data": { - "name": "", - "value": "0", - "local": false - }, - "position": { - "x": 464, - "y": 0 - } - }, - { - "id": "90068dea-9e7b-4a0f-afa3-e6585d0d8542", - "type": "basic.code", - "data": { - "code": "reg q = INI;\n\nalways @(posedge clk)\n if (set)\n q <= 1'b1;\n else if (rst)\n q<=1'b0;", - "params": [ - { - "name": "INI" - } - ], - "ports": { - "in": [ - { - "name": "clk" - }, - { - "name": "set" - }, - { - "name": "rst" - } - ], - "out": [ - { - "name": "q" - } - ] - } - }, - "position": { - "x": 400, - "y": 120 - }, - "size": { - "width": 224, - "height": 128 - } - } - ], - "wires": [ { "source": { - "block": "9f09a4af-8f7a-45c3-af7b-293a244e76d9", + "block": "eeb34637-ba55-4a7f-803e-e85d9b9c7fc4", "port": "out" }, "target": { - "block": "90068dea-9e7b-4a0f-afa3-e6585d0d8542", - "port": "clk" + "block": "4cb18fdd-66bb-461c-ae6d-1454c8e4a9a6", + "port": "a0c9783a-c287-45a7-bfc7-9da552cf732f" }, - "vertices": [ - { - "x": 336, - "y": 104 - } - ] + "size": 16 }, { "source": { - "block": "3ae2d46d-7981-497a-899f-b60bfae0f43e", + "block": "353729bb-5213-45a7-a8e1-4e1d812492bd", "port": "out" }, "target": { - "block": "90068dea-9e7b-4a0f-afa3-e6585d0d8542", - "port": "set" - } + "block": "e3cde6db-ea93-4550-affd-14856b75d5a5", + "port": "a0c9783a-c287-45a7-bfc7-9da552cf732f" + }, + "size": 16 }, { "source": { - "block": "86eb8c81-17fc-4371-bd21-51f429191f3c", - "port": "out" + "block": "17bd7ef3-6604-48a9-9c2e-50a8be908636", + "port": "79c56f9a-597f-491e-b1d1-d321f63303c2" }, "target": { - "block": "90068dea-9e7b-4a0f-afa3-e6585d0d8542", - "port": "rst" + "block": "14253a9f-c3ef-4ada-bb54-dbbed784b7a9", + "port": "in" }, - "vertices": [ - { - "x": 344, - "y": 248 - } - ] + "size": 16 }, { "source": { - "block": "90068dea-9e7b-4a0f-afa3-e6585d0d8542", - "port": "q" + "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", + "port": "9daaaf78-5a89-4d4a-a1b2-db1d3af962f1" }, "target": { - "block": "1cb167a4-9e2a-416b-803e-da7b6151eaa5", - "port": "in" - } + "block": "17bd7ef3-6604-48a9-9c2e-50a8be908636", + "port": "5a35cd57-1006-4f6d-b263-5b977e9ef142" + }, + "size": 8 }, { "source": { - "block": "bf12a800-db30-4289-a7c5-8c08438f9a39", - "port": "constant-out" + "block": "64c3574b-3227-40ab-ab03-c2e2af710a45", + "port": "dc2d9a2c-9ee9-4985-a678-d88c89fd8b74" }, "target": { - "block": "90068dea-9e7b-4a0f-afa3-e6585d0d8542", - "port": "INI" - } + "block": "17bd7ef3-6604-48a9-9c2e-50a8be908636", + "port": "38fdb02d-4323-4a34-9ffe-8385f844b660" + }, + "size": 8 } ] } } }, - "c386a7076c0569a15326b30b6748ca284426424d": { + "306ca367fbbc5181b3c709d73f447e0710871a1d": { "package": { - "name": "Detector-flancos", + "name": "Bus16-Split-half", "version": "0.1", - "description": "Detector de flancos de subida y bajada. Emite tic por las salidas correspondientes al detecta los flancos", + "description": "Bus16-Split-half: Split the 16-bits bus into two buses of the same size", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22375.877%22%20height=%22399.413%22%20viewBox=%220%200%2099.450701%20105.67809%22%3E%3Cdefs%3E%3Cmarker%20orient=%22auto%22%20id=%22a%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20fill=%22red%22%20fill-rule=%22evenodd%22%20stroke=%22red%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22b%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20fill=%22red%22%20fill-rule=%22evenodd%22%20stroke=%22red%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3C/defs%3E%3Cg%20transform=%22translate(-61.727%20-50.902)%22%3E%3Cg%20fill=%22none%22%20stroke=%22#00f%22%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M76.611%2083.336l6.027%207.974-5.055%206.03%201.75%201.557M75.371%2083.53l-3.5%207.975-7.97%201.556.583%202.528%22%20stroke-width=%221.058%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M75.907%2083.53V53.588%22%20stroke-width=%223.969%22/%3E%3Cpath%20d=%22M65.118%2063.338l10.688-10.452%2010.351%2010.452%22%20stroke-width=%223.969%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3Cpath%20d=%22M123.88%2069.103c2.17%203.317%204.013%202.718%205.68%200%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22/%3E%3Cpath%20d=%22M132.326%2095.38V51.614h-11.225v43.497%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%221.323%22%20stroke-linecap=%22round%22/%3E%3Cellipse%20cx=%22112.489%22%20cy=%2297.866%22%20rx=%227.009%22%20ry=%222.635%22%20transform=%22rotate(-1.418)%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%22.265%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20cx=%22-140.807%22%20cy=%2291.678%22%20rx=%227.009%22%20ry=%222.635%22%20transform=%22scale(-1%201)%20rotate(-1.418)%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%22.265%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M124.8%2059.416v3.875M128.39%2059.416v3.875%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%22.529%22/%3E%3Cpath%20d=%22M85.794%2074.097h21.381%22%20fill=%22red%22%20stroke=%22red%22%20stroke-width=%222.646%22%20marker-end=%22url(#a)%22/%3E%3Cg%20transform=%22matrix(.842%200%200%20.842%2062.826%2011.41)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cpath%20d=%22M74.965%20140.485l6.027%207.974-5.055%206.03%201.75%201.557m-3.96-15.367l-3.5%207.975-7.97%201.556.582%202.528%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%221.058%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M74.695%20110.063v29.943%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%223.969%22%20stroke-linecap=%22round%22/%3E%3Cpath%20d=%22M63.906%20130.255l10.689%2010.452%2010.35-10.452%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%223.969%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M124.208%20120.573c2.17%203.317%204.013%202.718%205.68%200%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22/%3E%3Cpath%20d=%22M132.654%20146.85v-43.764H121.43v43.496%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%221.323%22%20stroke-linecap=%22round%22/%3E%3Cellipse%20cx=%22111.543%22%20cy=%22149.329%22%20rx=%227.009%22%20ry=%222.635%22%20transform=%22rotate(-1.418)%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%22.265%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20cx=%22-142.409%22%20cy=%22143.124%22%20rx=%227.009%22%20ry=%222.635%22%20transform=%22scale(-1%201)%20rotate(-1.418)%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%22.265%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M125.128%20110.887v3.874M128.718%20110.887v3.874%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%22.529%22/%3E%3Cpath%20d=%22M86.122%20125.567h21.381%22%20fill=%22red%22%20stroke=%22red%22%20stroke-width=%222.646%22%20marker-end=%22url(#b)%22/%3E%3Cg%20transform=%22matrix(.842%200%200%20.842%2063.956%2061.544)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E" + "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": { "graph": { "blocks": [ { - "id": "2708468d-1088-4570-be63-fb0d4799a941", - "type": "basic.input", - "data": { - "name": "", - "clock": true - }, - "position": { - "x": 152, - "y": 160 - } - }, - { - "id": "1c25e08e-e664-4fab-9b30-cedc1f8a3739", + "id": "6ac467f0-b16b-44ef-8f03-ae206c13186e", "type": "basic.output", "data": { - "name": "up" + "name": "1", + "range": "[7:0]", + "size": 8 }, "position": { - "x": 672, - "y": 160 + "x": 608, + "y": 176 } }, { - "id": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", + "id": "a0c9783a-c287-45a7-bfc7-9da552cf732f", "type": "basic.input", "data": { "name": "", - "clock": false + "range": "[15:0]", + "clock": false, + "size": 16 }, "position": { - "x": 152, - "y": 248 + "x": 96, + "y": 208 } }, { - "id": "3ada5999-55ba-4c4e-9877-a3e9ed82308c", + "id": "0e7ef93d-c4da-4c2e-9653-7a470dc912b6", "type": "basic.output", "data": { - "name": "down" - }, - "position": { - "x": 672, - "y": 248 - } - }, - { - "id": "49c0a94e-2687-4aa4-8cba-327b2942095f", - "type": "basic.info", - "data": { - "info": "## Detector doble: flancos de subida y bajada\n\nSe detectan tanto los flancos de subida como de bajada y se emite los \ntics por sus salidas correspondientes", - "readonly": true - }, - "position": { - "x": 144, - "y": -24 - }, - "size": { - "width": 568, - "height": 80 - } - }, - { - "id": "a6ea5e17-d259-4272-8d1c-87a6a7fe3235", - "type": "basic.info", - "data": { - "info": "Señal de \nentrada", - "readonly": true - }, - "position": { - "x": 168, - "y": 216 - }, - "size": { - "width": 96, - "height": 56 - } - }, - { - "id": "d0d6c668-3c03-42f5-9244-9a0431f11a87", - "type": "basic.info", - "data": { - "info": "Reloj del \nsistema", - "readonly": true + "name": "0", + "range": "[7:0]", + "size": 8 }, "position": { - "x": 168, - "y": 120 - }, - "size": { - "width": 96, - "height": 48 + "x": 608, + "y": 272 } }, { - "id": "73c2239c-1050-4d9f-ae49-0299d50982af", + "id": "16e78204-213e-4833-9096-89d735307ec2", "type": "basic.code", "data": { - "code": "reg q = 0;\n\nalways @(posedge clk)\n q <= i;\n \nassign up = (~q & i); \nassign down = (q & ~i); ", + "code": "assign o1 = i[15:8];\nassign o0 = i[7:0];", "params": [], "ports": { "in": [ { - "name": "clk" - }, - { - "name": "i" + "name": "i", + "range": "[15:0]", + "size": 16 } ], "out": [ { - "name": "up" + "name": "o1", + "range": "[7:0]", + "size": 8 }, { - "name": "down" + "name": "o0", + "range": "[7:0]", + "size": 8 } ] } }, "position": { - "x": 336, - "y": 152 + "x": 272, + "y": 176 }, "size": { - "width": 264, - "height": 168 + "width": 240, + "height": 120 } } ], "wires": [ { "source": { - "block": "2708468d-1088-4570-be63-fb0d4799a941", - "port": "out" - }, - "target": { - "block": "73c2239c-1050-4d9f-ae49-0299d50982af", - "port": "clk" - } - }, - { - "source": { - "block": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", + "block": "a0c9783a-c287-45a7-bfc7-9da552cf732f", "port": "out" }, "target": { - "block": "73c2239c-1050-4d9f-ae49-0299d50982af", + "block": "16e78204-213e-4833-9096-89d735307ec2", "port": "i" - } + }, + "size": 16 }, { "source": { - "block": "73c2239c-1050-4d9f-ae49-0299d50982af", - "port": "up" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o1" }, "target": { - "block": "1c25e08e-e664-4fab-9b30-cedc1f8a3739", + "block": "6ac467f0-b16b-44ef-8f03-ae206c13186e", "port": "in" - } + }, + "size": 8 }, { "source": { - "block": "73c2239c-1050-4d9f-ae49-0299d50982af", - "port": "down" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o0" }, "target": { - "block": "3ada5999-55ba-4c4e-9877-a3e9ed82308c", + "block": "0e7ef93d-c4da-4c2e-9653-7a470dc912b6", "port": "in" - } + }, + "size": 8 } ] } } }, - "a3c966710f8e14f7d3464d7e89c1894dfebb86c7": { + "0788ea6614e4f073f6ed9a49665243d6d489ba46": { "package": { - "name": "Registro", - "version": "0.1", - "description": "Registro de 4 bits con entrada de reset", + "name": "16-Sys-reg-rst", + "version": "0.8", + "description": "16-Sys-reg-rst: 16 bits system register with reset. Verilog implementation", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22519.236%22%20height=%22279.911%22%20viewBox=%220%200%20137.38127%2074.059853%22%3E%3Cpath%20d=%22M41.506%2040.152l13.608%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke=%22#000%22%20stroke-width=%221.092%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M34.122%2032.088L24.89%2012.475l-6.45%203.724-2.07-3.583L37.276.546l2.07%203.584-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.772L33.017%2045.02s-2.849-3.695-2.16-6.795c.687-3.1%203.265-6.137%203.265-6.137z%22%20fill=%22red%22%20stroke=%22#000%22%20stroke-width=%221.092%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22translate(-93.518%20-22.665)%20scale(1.09073)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20cx=%22100.602%22%20cy=%2273.815%22%20r=%2214.559%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M81.95%2040.152l13.607%2016.672L88.64%2036.29%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M74.566%2032.088l-9.232-19.613-6.451%203.724-2.069-3.583L77.719.546l2.069%203.584-6.092%203.517%2012.03%2018.223s5.399-2.025%208.535.74c3.137%202.766%202.52%204.92%202.887%204.772L73.46%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M121.637%2040.152l13.608%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M114.253%2032.088l-9.232-19.613-6.45%203.724-2.07-3.583L117.407.546l2.07%203.584-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.772L113.147%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3C/svg%3E" + "image": "%3Csvg%20width=%22252.294%22%20height=%22220.368%22%20viewBox=%220%200%2066.75283%2058.305748%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M25.682%2041.088L39.29%2057.76l-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M18.298%2033.024L9.066%2013.41l-6.45%203.724-2.07-3.583%2020.905-12.07%202.069%203.584-6.092%203.517%2012.03%2018.223s5.399-2.025%208.535.74c3.137%202.766%202.52%204.92%202.887%204.773L17.192%2045.956s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M42.022%2040.152l13.607%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M34.638%2032.088l-9.232-19.613-6.451%203.724-2.07-3.583L37.792.546%2039.86%204.13l-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.137%202.766%202.52%204.92%202.887%204.772L33.532%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20transform=%22translate(-38.356%20-17.732)%22%3E%3Crect%20width=%2224.412%22%20height=%2213.185%22%20x=%2280.3%22%20y=%2221.375%22%20ry=%222.247%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%22.794%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:1.25%22%20x=%2282.245%22%20y=%2230.943%22%20font-weight=%22400%22%20font-size=%2210.583%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20x=%2282.245%22%20y=%2230.943%22%20font-weight=%22700%22%3ESys%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E", + "otid": 1618509859237 }, "design": { "graph": { "blocks": [ { - "id": "096f61b6-6d5c-4907-9512-e65b25969458", - "type": "basic.input", + "id": "34c6aff6-7aca-4cc1-8d79-d6143d2f6937", + "type": "basic.output", "data": { - "name": "", - "clock": true + "name": "nc" }, "position": { - "x": 80, - "y": 168 + "x": 920, + "y": -24 } }, { - "id": "a2b70876-c7c0-4208-a403-eed81e32fe5a", - "type": "basic.input", + "id": "83ce9e72-711d-44f2-bbf5-b01c201a652a", + "type": "basic.output", "data": { - "name": "rst", - "clock": false + "name": "nc" }, "position": { - "x": 80, - "y": 216 + "x": 920, + "y": 56 } }, { - "id": "f655c5c0-0157-4195-89ac-f92c5b3f8e0b", - "type": "basic.output", + "id": "0ae5a502-ee21-47ad-bacb-405a35a87a91", + "type": "basic.input", "data": { - "name": "q", - "range": "[3:0]", - "size": 4 + "name": "", + "clock": true }, "position": { - "x": 632, - "y": 248 + "x": 368, + "y": 64 } }, { - "id": "ee31ca02-b981-4474-a62e-85f20302435c", + "id": "892d93f1-9c4c-46c1-82c7-ff9702a5725a", "type": "basic.input", "data": { - "name": "", - "range": "[3:0]", - "clock": false, - "size": 4 + "name": "rst", + "clock": false }, "position": { - "x": 80, - "y": 272 + "x": 376, + "y": 200 + } + }, + { + "id": "7995c7b0-4a39-4a19-aaa4-68f4e469912f", + "type": "basic.output", + "data": { + "name": "", + "range": "[15:0]", + "size": 16 + }, + "position": { + "x": 920, + "y": 200 } }, { - "id": "065ea371-8398-43b3-8341-287c234a3acb", + "id": "c48a2779-52ed-4dde-8f95-e8ce67397de8", "type": "basic.input", "data": { - "name": "load", - "clock": false + "name": "", + "range": "[15:0]", + "clock": false, + "size": 16 }, "position": { - "x": 80, - "y": 320 + "x": 376, + "y": 336 } }, { - "id": "f3b434e4-0c8f-4dd7-90c7-305189a807f1", + "id": "d1e52cbe-a82e-4bea-9ed0-e970eec3e43e", "type": "basic.constant", "data": { "name": "", @@ -11631,20 +11350,14 @@ "local": false }, "position": { - "x": 376, - "y": 56 + "x": 656, + "y": -80 } }, { - "id": "32106310-bfdc-41db-9a7c-2dadd5016c3f", + "id": "2cc2ff9d-ebfc-43e2-83d7-5c4a6d8c77e6", "type": "basic.code", "data": { - "code": "localparam N = 4;\n\nreg [N-1:0] q = INI;\n\nalways @(posedge clk)\n if (rst)\n q <= 0;\n else\n if (load)\n q <= d;", - "params": [ - { - "name": "INI" - } - ], "ports": { "in": [ { @@ -11655,1587 +11368,1382 @@ }, { "name": "d", - "range": "[3:0]", - "size": 4 - }, - { - "name": "load" + "range": "[15:0]", + "size": 16 } ], "out": [ { "name": "q", - "range": "[3:0]", - "size": 4 + "range": "[15:0]", + "size": 16 } ] - } + }, + "params": [ + { + "name": "INI" + } + ], + "code": "//-- Generic System register\n//-- with reset\n//-- Number of bits\nlocalparam N = 16;\n\n//-- Initial value\nreg [N-1:0] qi = INI;\n\nalways @(posedge clk)\nbegin\n\n //-- Reset: Capture the initial\n //-- value\n if (rst == 1'b1)\n qi <= INI;\n \n //-- No reset: Capture the input\n else\n qi <= d;\nend\n\n//-- Connect the register with the\n//-- output\nassign q = qi;\n" }, "position": { - "x": 280, - "y": 176 + "x": 528, + "y": 32 }, "size": { - "width": 288, - "height": 200 + "width": 344, + "height": 400 } } ], "wires": [ { "source": { - "block": "f3b434e4-0c8f-4dd7-90c7-305189a807f1", - "port": "constant-out" + "block": "2cc2ff9d-ebfc-43e2-83d7-5c4a6d8c77e6", + "port": "q" }, "target": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "INI" + "block": "7995c7b0-4a39-4a19-aaa4-68f4e469912f", + "port": "in" }, - "vertices": [] + "vertices": [], + "size": 16 }, { "source": { - "block": "065ea371-8398-43b3-8341-287c234a3acb", - "port": "out" + "block": "d1e52cbe-a82e-4bea-9ed0-e970eec3e43e", + "port": "constant-out" }, "target": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "load" - } + "block": "2cc2ff9d-ebfc-43e2-83d7-5c4a6d8c77e6", + "port": "INI" + }, + "vertices": [] }, { "source": { - "block": "096f61b6-6d5c-4907-9512-e65b25969458", + "block": "892d93f1-9c4c-46c1-82c7-ff9702a5725a", "port": "out" }, "target": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "clk" + "block": "2cc2ff9d-ebfc-43e2-83d7-5c4a6d8c77e6", + "port": "rst" } }, { "source": { - "block": "ee31ca02-b981-4474-a62e-85f20302435c", + "block": "c48a2779-52ed-4dde-8f95-e8ce67397de8", "port": "out" }, "target": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", + "block": "2cc2ff9d-ebfc-43e2-83d7-5c4a6d8c77e6", "port": "d" }, - "size": 4 - }, - { - "source": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "q" - }, - "target": { - "block": "f655c5c0-0157-4195-89ac-f92c5b3f8e0b", - "port": "in" - }, - "size": 4 + "size": 16 }, { "source": { - "block": "a2b70876-c7c0-4208-a403-eed81e32fe5a", + "block": "0ae5a502-ee21-47ad-bacb-405a35a87a91", "port": "out" }, "target": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "rst" + "block": "2cc2ff9d-ebfc-43e2-83d7-5c4a6d8c77e6", + "port": "clk" } } ] } } }, - "04dcede98e726cdb028c1ef593f02f949d5f5ac6": { + "0705a6a13435ea79daf5779a2a0f076bd71f0a14": { "package": { - "name": "sum-1op-4bits", - "version": "0.1", - "description": "Sumador de un operando de 4 bits con una constante pasada como parámetro (No hay accarreo)", - "author": "Juan González-Gómez", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%3E%3Ctext%20style=%22line-height:125%25%22%20x=%22-33.052%22%20y=%22195.572%22%20font-weight=%22400%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20font-family=%22sans-serif%22%20stroke-width=%224.441%22%3E%3Ctspan%20x=%22-33.052%22%20y=%22195.572%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%3E+%3C/tspan%3E%3C/text%3E%3C/svg%3E" + "name": "Sync-x01-verilog", + "version": "0.3", + "description": "Sync-x01: 1-bit input with the system clock domain (Verilog implementation)", + "author": "Juan Gonzalez-González (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22214.451%22%20height=%22214.451%22%20viewBox=%220%200%20214.45128%20214.45128%22%3E%3Ccircle%20cx=%22107.226%22%20cy=%22107.226%22%20r=%22107.226%22%20fill=%22#4d4d4d%22/%3E%3Cpath%20d=%22M107.363%2038.297c14.504.03%2029.212%204.552%2040.7%2013.5%208.077%209.303-7.312%2019.268-14.243%2010.195-20.865-12.624-50.29-8.18-65.988%2010.695-8.352%209.367-13.058%2021.866-13.003%2034.413h13.789c-7.353%2011.037-14.707%2022.066-22.06%2033.095l-22.062-33.087h13.788c-.439-29.962%2021.108-58.462%2050.032-66.221%206.212-1.701%2012.607-2.654%2019.048-2.587zm60.53%2035.85l22.063%2033.092h-13.789c.39%2030.318-21.706%2059.137-51.14%2066.487-19.862%205.547-42.32%201.5-58.645-11.19-8.329-9.459%207.274-19.328%2014.27-10.173%2020.214%2012.265%2048.524%208.375%2064.48-9.142%209.242-9.522%2014.56-22.711%2014.489-35.982h-13.789l22.062-33.092z%22%20fill=%22#fbfbc9%22/%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "d1ed8643-0bb2-48ac-9aca-17184aee9368", + "id": "04b7a776-03f4-4de2-a09f-9f3cae6dded2", + "type": "basic.output", + "data": { + "name": "nc" + }, + "position": { + "x": 384, + "y": -80 + } + }, + { + "id": "39873fa0-c3f5-47ef-b54b-b6b344416b25", "type": "basic.input", "data": { "name": "", - "range": "[3:0]", - "clock": false, - "size": 4 + "clock": true }, "position": { - "x": 208, - "y": 192 + "x": -136, + "y": -16 } }, { - "id": "423ecf0e-b1de-4a7f-8bf0-032e0c1f0467", + "id": "7bfc506f-7a54-40a1-8d33-e78a5409b972", "type": "basic.output", "data": { - "name": "", - "range": "[3:0]", - "size": 4 + "name": "" }, "position": { - "x": 672, - "y": 192 + "x": 384, + "y": 56 } }, { - "id": "c4eedeee-32b3-41da-834c-48f3a92cbaec", - "type": "basic.constant", + "id": "f25e9a9e-cd4c-4025-8745-0691a99a3fb8", + "type": "basic.input", "data": { "name": "", - "value": "1", - "local": false + "clock": false }, "position": { - "x": 448, - "y": 96 + "x": -136, + "y": 128 } }, { - "id": "a8d15f9d-bba5-432f-b698-17964638c83a", + "id": "cf6fe46f-cd0d-4a77-be7a-dd6aa92801fa", "type": "basic.code", "data": { - "code": "assign s = a + k;", - "params": [ - { - "name": "k" - } - ], + "code": "//-- Two D flip-flops\n//-- connected in cascade\n\nreg q1 = 0;\nreg q2 = 0;\n\nalways @(posedge clk) \nbegin\n //-- First D Flip-Flop\n q1 <= d;\n \n //-- Secondo D Flip-flop\n q2 <= q1;\nend\n\n//-- Assign the output\nassign q = q2;", + "params": [], "ports": { "in": [ { - "name": "a", - "range": "[3:0]", - "size": 4 + "name": "clk" + }, + { + "name": "d" } ], "out": [ { - "name": "s", - "range": "[3:0]", - "size": 4 + "name": "q" } ] } }, "position": { - "x": 384, - "y": 192 + "x": 32, + "y": -56 }, "size": { - "width": 216, - "height": 64 + "width": 296, + "height": 288 } } ], "wires": [ { "source": { - "block": "c4eedeee-32b3-41da-834c-48f3a92cbaec", - "port": "constant-out" + "block": "39873fa0-c3f5-47ef-b54b-b6b344416b25", + "port": "out" }, "target": { - "block": "a8d15f9d-bba5-432f-b698-17964638c83a", - "port": "k" + "block": "cf6fe46f-cd0d-4a77-be7a-dd6aa92801fa", + "port": "clk" } }, { "source": { - "block": "d1ed8643-0bb2-48ac-9aca-17184aee9368", + "block": "f25e9a9e-cd4c-4025-8745-0691a99a3fb8", "port": "out" }, "target": { - "block": "a8d15f9d-bba5-432f-b698-17964638c83a", - "port": "a" - }, - "size": 4 + "block": "cf6fe46f-cd0d-4a77-be7a-dd6aa92801fa", + "port": "d" + } }, { "source": { - "block": "a8d15f9d-bba5-432f-b698-17964638c83a", - "port": "s" + "block": "cf6fe46f-cd0d-4a77-be7a-dd6aa92801fa", + "port": "q" }, "target": { - "block": "423ecf0e-b1de-4a7f-8bf0-032e0c1f0467", + "block": "7bfc506f-7a54-40a1-8d33-e78a5409b972", "port": "in" - }, - "size": 4 + } } ] } } }, - "2e691702e123c308f561a5a93912a03de1896719": { + "ef27646a2ca3d9f1e7811dac0fd909719b5affe1": { "package": { - "name": "Comparador de dos operandos", - "version": "0.1", - "description": "Comparador de dos operandos de 4 bits", - "author": "Juan Gonzalez-Gomez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22312.756%22%20height=%22168.82%22%20viewBox=%220%200%20293.20803%20158.26888%22%3E%3Ctext%20style=%22line-height:125%25%22%20x=%22178.324%22%20y=%22457.047%22%20font-size=%2296.3%22%20transform=%22matrix(4.864%200%200%204.864%20-916.998%20-1997.335)%22%20fill=%22#00f%22%20stroke-width=%22.057%22%20font-weight=%22400%22%20letter-spacing=%220%22%20word-spacing=%220%22%20font-family=%22sans-serif%22%3E%3Ctspan%20x=%22178.324%22%20y=%22457.047%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20stroke-width=%22.206%22%3E=%3C/tspan%3E%3C/text%3E%3C/svg%3E" + "name": "RS-FF-set-verilog", + "version": "0.2", + "description": "RS-FF-set-verilog. RS Flip-flop with priority set. Implementation in verilog", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20312.54461%20289.77628%22%20id=%22svg30%22%20width=%22312.545%22%20height=%22289.776%22%3E%3Cdefs%20id=%22defs34%22%3E%3Cmarker%20id=%22TriangleOutM%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20id=%22path988%22%20fill=%22#00f%22%20fill-rule=%22evenodd%22%20stroke=%22#00f%22%20stroke-width=%22.4pt%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow2Mend%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20id=%22path870%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3C/defs%3E%3Cstyle%20id=%22style2%22%3E.st0%7Bdisplay:none%7D.st1%7Bfill:none;stroke:#303030;stroke-width:.7;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10%7D.st2%7Bfill:#303030%7D%3C/style%3E%3Cg%20id=%22layer1%22%20transform=%22translate(81.543%203.027)%22%3E%3Cpath%20class=%22st1%22%20d=%22M48.702%2092.116a64.784%2064.784%200%200%200-12.559%2011.68%2064.99%2064.99%200%200%200-12.69%2024.809%22%20id=%22path11%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20id=%22line17%22%20class=%22st1%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22%20d=%22M184.865%20207.591L41.298%20262.802%22/%3E%3Cpath%20id=%22path21-3%22%20d=%22M185.448%20175.07l.37.154c2.52.831%204.718%202.386%206.634%204.249%202.02%202.322%203.694%204.777%204.423%208.713%201.496%208.074-3.286%2016.05-10.95%2018.997l-1.06.408L41.298%20262.8l-.733.283c-8.003%203.077-17.551.461-21.82-6.975-3.3-5.748-2.736-12.198.418-21.613%203.155-9.414%202.86-21.856-1.644-33.55l.041.003-12.507-32.667c-12.88-33.415-.747-70.376%2027.41-90.31l-1.102-2.749c-3.685-9.583%201.14-20.438%2010.723-24.124%209.583-3.685%2020.439%201.14%2024.124%2010.723l1.654%203.239c34.881-3.556%2068.594%2015.855%2081.318%2049.33l15.24%2038.432c4.795%208.723%2011.831%2015.955%2021.028%2022.248z%22%20fill=%22#fff%22%20stroke=%22#303030%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20d=%22M64.268%20268.838l45.015-17.115s7.963%2024.296-14.427%2030.38c-22.39%206.086-30.588-13.265-30.588-13.265z%22%20id=%22path826%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3Cg%20id=%22layer3%22%20transform=%22translate(78.072%20-.17)%22%3E%3Crect%20id=%22rect845%22%20width=%22135.189%22%20height=%22135.189%22%20x=%2295.783%22%20y=%223.671%22%20ry=%2219.847%22%20fill=%22#55acee%22%20stroke=%22#303030%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3C/g%3E%3Cg%20id=%22layer4%22%20transform=%22translate(78.072%20-.17)%22%3E%3Cellipse%20id=%22path1211%22%20cx=%22-39.888%22%20cy=%22125.645%22%20rx=%2235.684%22%20ry=%2237.984%22%20fill=%22#fff6d5%22%20stroke=%22#000%22%20stroke-width=%225%22%20stroke-linecap=%22round%22/%3E%3Cpath%20class=%22st2%22%20d=%22M172.724%2052.533V27.647h-9.888L144.047%2037.7l2.308%208.9%2014.833-8.076h.33v74.824H172.724V52.533z%22%20id=%22path7%22%20fill=%22#303030%22%20stroke-width=%2214.425%22/%3E%3Cpath%20d=%22M-38.915%20152.276v-39.72%22%20id=%22path841%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%225%22%20marker-end=%22url(#TriangleOutM)%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1621864223514 }, "design": { "graph": { "blocks": [ { - "id": "0587ffc4-0beb-4bc0-b72c-df8bde2c6bf2", + "id": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", "type": "basic.input", "data": { "name": "", - "range": "[3:0]", - "clock": false, - "size": 4 + "clock": true }, "position": { - "x": 152, - "y": 104 + "x": 240, + "y": 0 } }, { - "id": "0344dacc-8583-456b-b377-8cb4ab97cf94", + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", "type": "basic.output", "data": { "name": "" }, "position": { - "x": 616, - "y": 160 + "x": 832, + "y": 120 + } + }, + { + "id": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", + "type": "basic.input", + "data": { + "name": "set", + "clock": false + }, + "position": { + "x": 232, + "y": 120 } }, { - "id": "128b8626-fc1e-4144-a837-a275b812ee83", + "id": "fc243ba8-9abb-4a22-81c4-fabdf043cd01", "type": "basic.input", + "data": { + "name": "reset", + "clock": false + }, + "position": { + "x": 232, + "y": 240 + } + }, + { + "id": "bc3416e4-576f-40fb-85a9-5058b9f85395", + "type": "basic.constant", "data": { "name": "", - "range": "[3:0]", - "clock": false, - "size": 4 + "value": "0", + "local": false }, "position": { - "x": 152, - "y": 200 + "x": 536, + "y": -144 } }, { - "id": "9c811723-c900-4ceb-9989-036b071ee3fe", + "id": "4f7ac391-3547-4bdd-b444-f34f89afeb79", "type": "basic.code", "data": { - "code": "assign eq = (a == b);", - "params": [], "ports": { "in": [ { - "name": "a", - "range": "[3:0]", - "size": 4 + "name": "clk" }, { - "name": "b", - "range": "[3:0]", - "size": 4 + "name": "set" + }, + { + "name": "reset" } ], "out": [ { - "name": "eq" + "name": "q" } ] - } + }, + "params": [ + { + "name": "INI" + } + ], + "code": "//-- Initial value\nreg qi = INI;\n\nalways @(posedge clk)\nbegin\n\n //-- Priority on set\n //-- It is first checked\n if (set == 1'b1) \n qi <= 1'b1;\n \n //-- Second: check reset\n else if (reset == 1'b1)\n qi <= 1'b0;\n \n //-- In any other case the FF\n //-- remains in its current \n //-- state (no change)\nend\n\n//-- Connect the register with the\n//-- output\nassign q = qi;\n" }, "position": { - "x": 344, - "y": 160 + "x": 400, + "y": -32 }, "size": { - "width": 224, - "height": 64 + "width": 360, + "height": 360 } } ], "wires": [ { "source": { - "block": "9c811723-c900-4ceb-9989-036b071ee3fe", - "port": "eq" + "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", + "port": "out" }, "target": { - "block": "0344dacc-8583-456b-b377-8cb4ab97cf94", - "port": "in" + "block": "4f7ac391-3547-4bdd-b444-f34f89afeb79", + "port": "set" } }, { "source": { - "block": "128b8626-fc1e-4144-a837-a275b812ee83", + "block": "fc243ba8-9abb-4a22-81c4-fabdf043cd01", "port": "out" }, "target": { - "block": "9c811723-c900-4ceb-9989-036b071ee3fe", - "port": "b" - }, - "size": 4 + "block": "4f7ac391-3547-4bdd-b444-f34f89afeb79", + "port": "reset" + } }, { "source": { - "block": "0587ffc4-0beb-4bc0-b72c-df8bde2c6bf2", + "block": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", "port": "out" }, "target": { - "block": "9c811723-c900-4ceb-9989-036b071ee3fe", - "port": "a" - }, - "size": 4 - } - ] - } - } - }, - "33e7c0abcd8b70a7af87fdb6750be0e24a796695": { - "package": { - "name": "Constante-4bits", - "version": "0.0.1", - "description": "Valor genérico constante (menos 1), de 4 bits. Su valor se introduce como parámetro. Por defecto vale 0", - "author": "Juan Gonzalez-Gomez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22489.056%22%20height=%22247.927%22%20viewBox=%220%200%20458.49013%20232.43134%22%3E%3Ctext%20style=%22line-height:0%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22293.115%22%20y=%22648.344%22%20font-weight=%22400%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22%20transform=%22translate(-316.929%20-415.913)%22%3E%3Ctspan%20x=%22293.115%22%20y=%22648.344%22%20style=%22line-height:1.25%22%20font-size=%22335.399%22%3Ek-1%3C/tspan%3E%3C/text%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "2da79d6d-81ed-4d5d-b4bf-113557353105", - "type": "basic.output", - "data": { - "name": "k", - "range": "[3:0]", - "size": 4 - }, - "position": { - "x": 960, - "y": 248 - } - }, - { - "id": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", - "type": "basic.constant", - "data": { - "name": "", - "value": "1", - "local": false - }, - "position": { - "x": 728, - "y": 112 + "block": "4f7ac391-3547-4bdd-b444-f34f89afeb79", + "port": "clk" } }, - { - "id": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", - "type": "basic.code", - "data": { - "code": "assign k = VALUE-1;", - "params": [ - { - "name": "VALUE" - } - ], - "ports": { - "in": [], - "out": [ - { - "name": "k", - "range": "[3:0]", - "size": 4 - } - ] - } - }, - "position": { - "x": 672, - "y": 248 - }, - "size": { - "width": 208, - "height": 64 - } - } - ], - "wires": [ { "source": { - "block": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "block": "bc3416e4-576f-40fb-85a9-5058b9f85395", "port": "constant-out" }, "target": { - "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", - "port": "VALUE" + "block": "4f7ac391-3547-4bdd-b444-f34f89afeb79", + "port": "INI" } }, { "source": { - "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", - "port": "k" + "block": "4f7ac391-3547-4bdd-b444-f34f89afeb79", + "port": "q" }, "target": { - "block": "2da79d6d-81ed-4d5d-b4bf-113557353105", + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", "port": "in" - }, - "size": 4 + } } ] } } }, - "3611498f72f6612ad9bff72919bddb61a3ef0e82": { + "455c3beb3ea73cf6862dfbc0c899a5e357964a24": { "package": { - "name": "Mem-16B-down-machine", - "version": "0.1", - "description": "16B memory download machine", + "name": "Mem-16KB-down-machine", + "version": "0.5", + "description": "16KB memory download machine", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20viewBox=%220%200%2088.570022%20126.13218%22%20height=%22476.72%22%20width=%22334.753%22%3E%3Cg%20transform=%22translate(-158.43%20-96.411)%22%3E%3Cimage%20xlink:href=%22data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAgM0lEQVR4Xu1dCZBU1bm+PdPTM8CM%20AgMO+yCrAq4oGjWKIIorcYnRlD59saImGlOaqK/UPPeHu5VyjyYuMRu+uFVEjRqX4FNRQURwQVxQ%20YdiGZQYGepZ+33frfK9Oneq+t+/0zHTad/+qU7fv7bt0n/8///L9/znX+1ZTTDHFFFNMMcUUU0wx%20xRRTTDHFFFNMMcUUU0wxxZToofuX8XPo82LqcLaZUhUAMbucraKi4viysrI9jCBkp5gybKBH0un0%20cuy3URC6WwiSXvcRmV9ZVVV1azKZPBvN69+/vzd06FBv2LBh1mkxff31197ixYvJfa+1tfUnHR0d%20x7W1tc3HV2kJQakJQBmZjzYUo99n/qRJk7xTTz3V69WrV5bTY/rmm2+8u+++29u6desO2L0cAnCq%20YXy61AQgYe5bBebvB9XvJRIJ79hjj/VSqZTX3t6e5ZKYBg0a5B133HHenDlzPPRZLQ5VG+a3lpwJ%20kPoH83uT+Ww77rhjCPNjYh+Z/hqK3T5oW9C2obWXlAaQAMCm9SovL/cGDx7sQaWFXBbTTjvt5AsA%20+qwOu7SVSTnOpSgASdBkSjTtPhybkMtioomkyWTjLvmjSK0UncAkJLmMAgDKUwBiqqur81atWkUt%200Bcmc2XJaQCBPtqCvMrKyjztf0wIm9lp1AbjW1paPrIwlUzJaAAJAKgajbYtTwGIaeDAgd6KFSv8%20zmMfloIJcCFf3rOCDT7AKAgAAY78nMCYqC3lB/Q1/Zgy4WB7AERcVAFIiPE333zz6JEjR565ffv2%20Xlu2bKm58847d2psbKQAhGiAmOQr1dTU+J8PPPDAE37wgx8MhgO9BeZg++bNm18588wzXzYQcXtX%20CUGii5ifuuyyy8YD7Fk4YMAAOTHelVde6X300UfejBkzPAhGwG1i5ksA2HdPPfWUd/LJJ7NRczKM%209iOp55577oyzzjrrvwkOGUHIFFsDJIya6nPQQQfdSweGKoyNAgBNIIcmRxQQM15ELcl9oKdU/4yh%202W/sR/anvz98+PD/wqnPozUZc9BeFA3gMv/GG288CgLwaL9+/by+fft6q1ev9gXgqKOO8v/MEUcc%204UOdJUxiUgSmRhv59va3v/2tnztBv9J0+k40Bxe16fLly2effvrpt1EIlCfobg2Q0FYq34J7q6ZN%20mzZ8v/32u5nSKonllhKrPACOyQcofQEonPlZma7GZ6jPFD5v27bN69Onj78/evTon/34xz9+/v77%20719s+NFup5OjOoqJKA7ezjvvPAuM7QuGJkBlyFtXgNkzMbrHUXUx3Utmf/XVVz7zTzrpJL9TTjnl%20FK+EieYrAuO1H8r8nBrgb3/7m1dbW+vNnj3bfzY165AhQ7zPPvvM9wlWrly5DFnD5yAUaQhMB4Qk%20g/My0LxPn3POOQuiOIqJPCDd1IMPPnjiiBEjHiFzObK15Y9Zs2aNn+Ovrq5mKtP74IMPlPjxfvGL%20X3ggCkKpC0AhjNdxfbZb1u9ffPFFb8OGDd4dd9zB+gBv/fr13pgxYzw62OzzTz75hKaWfc5+5jFt%20aX5/hrT7gzQPchQ7awLKZOPB4Nly7CQAbBzlUv38/P7773vQEs0vv/zyckhpNTpkNK6X+i911a/P%20UUe8y2jdI6tgiMj4t956axGFb88996wD0wfRDJDp7G/wQ+l18kJbaoo7jjzyyL8/++yzX8tR7JQG%20EPPRasHQT/FwPkBCwCaJ8zXAhx9+6Esp4lVJqXfDDTf42uDggw/uSVsscjtd+1Gu1/lsETRAkLoP%201whLlizx2+9//3uNbm/8+PHe22+/7e2yyy5ECmluXQ3A5kdeTz/99OlwIOfiVs0mZMwUpAEA6pDx%20fKgEQM6ez4w33niDQuDbLVJzczO/U1hDFdqVjC/cMYt+vYRAx8JUvCtA+Qinew/aeoZ+ZDAjAZ/p%20L730EiMEAkbsY35HXnDLfqdJZn/3poOO1kIB6KwJSAjWBZOXbtq0acK6det4c7v5Dx83bhwZQcEg%20w33mAwFkR7goYE8LghgSpgGiMknfBal7Nff5bIHnsx+5hZPN/vQZrKTaPvvsw/IxagGZYTX1/Qo4%207B8Y/y1RSBiokKIDCN9//upXvzoRUjgMzKxgBMBIgIQQpQwJjElQRymZBgoAnRj9GVzTE/Y5aDQV%20cr39XRRV79p6CQKZlfV7HaPZlPYk0zm6JQDIEHKkL2tqatrcAWIEwMvwfevatWu/efTRR1+wI4BC%20BYA32o625dprr32R/gBab3NdObzSGoAWp+AHp+QfSOVLimWnihSjizGFXu9+7zLVfYaOaWt/lkl0%20Ge+eRy0qbIX7cvoIq484/vjjH4BGbrJCvq1oG9BWo20zqj/U9iZC1H81mY5q1csQ6x+KeHSkHQbS%204VMRA4/RLr3zzjsefYbXXnuNjTbMb98KClf37ne5jkkLZDUX7Nd//vOf3ne/+13vkEMO8Xr37s1I%20gJqAZsHXrtAATB3bTiCPrYXf8NpvfvObG8GHz4UWFuIElkGl/BwO3r+7IaCwfkqlnEH+6LFjx3Kf%20zJc0f9vyAO7IzmfUZ8MW3OO6BweStGd6t912S5Hpb775pjd58mSli8lw5Q3kBBIbGIhrT0QSbgTM%209jGqJ+iMACivX4VM1BnCAOwmW88fy+8XLFjAH9R49NFHPwNPNA3I8mgcHwTp/bYIQC47HmYqcp7j%20OpiuxnjssceW3X777f/D/YcffvhwhIH1+++/vwYd+10aQELBRuRw3/PPP38s0vGLFQayRRWASrQ+%20YF6N7BCbGwYyTUnmm+rf/n/+859P5+df//rX3scff+ypIORbQLkAnSAH0T2WCxDKeg5yLBP/9Kc/%20TbSdwHnz5tEcKMyWj2BjATQhHIzjcJtPjA/XHlUDCAPoDa9T6kXhhv9gMXbhwoW0RYxTqf4JBUtA%205PCUPBLo2m2X+focgQLxAWL+ep4YTJyFnxsaGuhnMSlE6F0mVlv6ATzOaKHNDOLyzkQBSgKVY87a%20vXBEzqVU8eZ8iJhKdJB2CRgBpZPHZaPowRbTB3DVaqHXh4V67oiOKgTaJ+MY40sA5PlL8xJsI/PT%20mE+YIlDEczTYYG7pN9BJnHfvvfd+lk9NYTIkBGy9/PLLn5syZcoqPHRnaIIqU6yYAGMpWeWoA9h1%203333HQfG0ymk6uEPlQAwj01hKVUBEEPz9eZzYQt5h6LLli0jw3k+4XRXALjPnMt6wL3zySOc126u%207QBrtmOQrnnmmWfeVh1hZ5NBHWS+iS03zp8//2O0tSY3UG5a6phjjhkPp2Sc4n/lsCWRaMUe/WJM%20IdcGaQD+vyBgxx7pYc/loGHmz36WgCBbAJgXGAwsoOamm26aJ0ab1kJ+oTWibdF3hQhAC8KQjtNO%20O+0QPPBgSFh5whCksgwmYJjtINIUfPnll2SARkexBUCd35UCQIa710SCjd3vlTHl6Hc1Co9xS5yf%20dl8a4fDDD5+2xx57jAAPVA/gI7eoKVz4/PPPz4EWkAB0RBWAhGl8SM0FF1xwPx4yXo6dtgR7Nm7c%20qOofZgVZrsSctf8ZxOOlYv+DGGcLM7dhYV02LRAaKXz66adZsQH6A6NGjfK++OILf4ChLoMCwHQx%20ne8x6G95/0oaTdh1112PQ6Rw8vXXX/9GZ6FgqviKH/7wh6cB5h2fDQPgD6Dal+3HH6D6WoLpzSuQ%20H6hFR00pCQEITwa5zHcdvygYQFYBBYbPweQy33/ek08+OR9+1DqM9tqJEyfuB6bT0dM6C9II8hNk%20LmrgnJ+Nr98xvGyPggMIBOoNaZqZCwOgACgWfe+99wgHUyv0wxz3fvBOK1naDCqeAES3wdkydmJ6%20ULVPlJSve4whm7z+rNfuvffew1BnMYz9iMGYBhiUAj7AwWfnB1xAiP1eTx4aHKA1qgmoQOuFZMM2%20Le0iVS8hkF2aO3euX6Sw++678/gQNP04tmJhAO4oDTtH4Wouu5+rHiDoWNjz+Tyqdqn+XGsGDGEx%20CJnKfqYJIBhUX19PbMBGAwXPU5swZE8aAWg2g7o9igDwghTU+st4yIEo8qR614PUuNYPcQB2gh0B%20KEnEzz2NAopRQUwPvc62+7YwhJHLePd+7rmI5VnxG6hdpGnJZEHAsPF+4ccLL7ygzKsGp2oFeXyp%20GchlnU0Hd1xzzTXzZs2add306dMPwg1T6AS/yIC1AHhgAn+gDAKyN+yRoGEJQE+HgTbTIwhA4LlK%20bbueea578ry8439oVwI2YfWECv2k1qVdOcqX4bNqAjIQlAySRh1pELTywoceeuhFjfqoAkCOtZmc%208mbY8vfQvsF+jSTKXFcJ3P80FSdasCVbT6OAfE6AAETzB8TMELJHdyR4mBEUwrW8tAqFRFgAeKuq%20HxZ/1iE8nwsHkuq2VcCdUfmN5J3hYVvUbGDGXNTCm8ABqcVExYGQsio0nl9ObYBc9QGIS4fpB0kA%20ILHqCDGm2GrfPTdSvt9toKAQMBQSpsqX05cHUdXbA0ueP0PAHe67776TkSz6K/q8FfdrY8PnXsBi%20Nr/yyiubyMNOFYWqnBiFIMfAAbnBjQA0H4CMFvYPtUMcm99zCpPjHUemqPa7K+bm2aPfbi4zXSaH%20ZvtssAfMsZy+cGKU8Prrr8u790w6WFp28HnnnXc+czJ2JMDt2Wef/QjC+EsiQcH2TKCf/vSnoydM%20mEDm55wPIPWPknCqpmY4i58atTUGm2qZgH/xtK6Y7gI/dtMxCbUNCGk/0PaT6eifKMzX/IA0/IWl%20uI4O9xhA8tUHHHAAGc0+Z3OxAG4ZIfzb7373u0U/+tGPHrDKwzKhGkBz/hBrni6VLqbbn/VgxPy0%20aXT81iFV2c7vlL9mKxIFedZBJVuuANgYiC0IWa9xBcl2hOnxa7Z0BGJ+IAVktZ1C9eqrr34BQGgS%20J+DstddedmGIRr6azAUHYq+gxFAyFwYAhlbxB8vDd6Fgph5ZnkxnBhlBerUjEaeOxHcMGYVs9SST%20XTXunhNUjp1LACT4OuYyOFeuwN5nH3WK+boe4NpkMpU8QG6GU8c4SYSwO7Ot2YpCOCiJMFYRC5Av%20EMUEpABQLCHowHBF8/5tIu6PQlECEtQGFBTNExDzu0MAwpgpFet+F8z4cAFwr8l79EMrkhkF9YVU%20vJjNmgCG2iy+Yf/zmO1n0G8gwTfYbkVuiUg4wK233roIocYcqJyD8cBBkmp1Do41IzlBhldbtqi7%20BUCMCMvURREAXeMCP3axRdSmkS9MpCBBp++AbKwPCilFvMMOO6QBCDUCgh+kCEihMPiyEY7466gL%20fKJTOIBSwZjd+zi2LErsh1apKiFeN3PmzJFXXXXVLI4ONcs77Q4BiFKCnU0AwkZ8wPGiMF8CYDt6%203FcVdurxxx9fftttt82x5gZ0GOx/o5kfsDXIASQlA0CgJrQNmIo0GGqmL6SrEq2cNQE1oDPOOMNO%20FPFHUvq6QwDEvDDmh2mIfBnsRgNhQuPmDKj2HeYXLADC/O0ld7iG0IHAFRrhiK8jBsCqIPAijRxN%20K2oCGslDGwyKBAQh3kxdcskls4Et7207f3LyiEopSmBCg3XrBDlce1kA5a3m3a0oDxtv2+9sQpS3%20AMj/IMgjh68ryHj/nC1MH4BRAZNzFAiqetZsHMucjJw/YQFQ/w1wFn+C6myiuB1RcAC2sl/+8pdX%20wM67zBfmLxDIF4SlS5d6tEfwTL8CQOSvC1CQAIQzsKsFINu9o5gHxfnsj67WfGT6avCigWX3eMZw%20ONx08MgHNTcEZBsEMz0bAjA1ihOoKWG9MPIPs3EAu5FUC0AQCCaCKGB/ABX9oY5YKl6IBsjmXefj%202UcVAG2D7mufn2ufI94N9bpSANi/dejbOo5sMp9l44DoyQOZBxcHUCZ2l1tuuWVfDOZ5uXyBZI4J%20IdX4MzVcm8bWAPqsCSFaFwDlR5ocomyVmNYVDl4+4E22e0URAp0fKgDudWQ6R77sc3cQw0j5W0Bn%20WSPgm1xUCPG4iwOo0VQTla0jT+ULBGoAe0oY2lrUAwxEuKFRL/LVHNEoAD+Cg9kEQ0b3AcLj8rDz%20omiTIEdOlJXZrhDQBrP+UdhDdxHnY7hRAMwBcQD6AxRCt8BUi3RsRV3gEmEBkSaGYC7aLUgo/BwP%20GOJIvyYhNIL5/dHo/EkACBw5AhCZ8Z3VBtrm60i69wtkvnsNRxdr+XR+dxL7VQIgGB7amRnBZvgC%201RRABwsgGLQBcwcell8XFQdIo7hzKdq12B9gagHKhQPAIemDdQG+B+9TDiG3MhH5hoFBuHoU2DYb%20sztjXkKZr+JQ+DkclT2V6+AAk523cQGO8hRqAh7FHMxG4QDWWgHr0b4JWysgmQsEQtuMdOIQePf7%20EHTgqiBs6IAylCmPB0pYazkg/DFkJrdibHeM+nyAHzdTx2ORwkqX6fpMJI7MVxlXTxEdTJob8IH4%20ggSAWjh1xRVXHIEw/CPwhrzrIBaAz61AY1fAAfyQwhBFADISgj/+8Y8XA+s/xnUCyWyqPjJY8wEB%20OvDHsMlOhavjcMZHdwjdz+Fz/NTC7D4FW/aex3o6s0lnjn3PWgtlArlPSHggVmEbyLDQxQJQyLMP%20VhI5KbQs3MUALr300t3g3dvMd2sB1DhT1fcHnnjiiQWQ0jTO3x+d3j+LKg5KowYlVKLCv0EZw7yF%20T0zWdGsCMPq+GHTPPffM5fb73//+RDjg9ZivybUZqA1yYgHEcTBJ9ORzzz33/rxwAM35w41HK8HD%20G7lND+V8AGqBzz//fC1CkmGQ0ibkvSukItGij/rw40HMLhROVpO3rVCqaIyXFoPJHQbTm0IWdhPg%20efa9qoPCagJ2dsJABwfI8ro3jOKBzOgx3Wvj/ZrpQ3XDV50yHJw6dSqxgPEqB4MmYDawMyO5s0IQ%20ZRHH0BBTWkjhF4RZPkVRi1sOPfTQ3ckPMpYTQ7B4J00vcQGtHqowXIJAU81ooNKE9Vt4q7xwAEw8%20+AATPbZiejKLCeT9qnFU0A7xIaoF4GeZi6Awy7afUZgdBtkGCUC+foTqGch0OnwUcLu6qWhCoNBP%20CSEyW/X/1AQ0BfJXxCsKAWdrQSNHwgEybFiteiUeeAMqUWaiKGQ4vX9QQkzla0wgWYPhgFQ7qWA6%20ShKAqCM/2A8IX6SB2yjMd59HQIUjho0CYINaxV6rmGigFoWy1wxMAxD6ElP4iAVk0Dxu2TBI1/7l%20L395CeH6gnzTwYoA0lQXUOXvo63Bfl+0XlYtQAXeZTPhoosuGuv4BBQE4eE87uL4kRkOCmJa2HSv%20sHtJtUtdkukBL7cqriBQAKQBlIvh4pwo/96ACTxPaW6AtbbjJlMTsIX7eU0N08WaXIClxsbAw+/P%20eQAqBMGDdwBCON2pVVdIqCoabiM4gpF9gfxW6Q5v9O7p5LnVy0UUgvAZQiA5fXwryxRogvVIEK1A%20n/tCQBygEoTFpj90agI68jEB7Xg7Vd0JJ5zwACRsnJsIUtZLAoC4lKEgc9U2ChhVAKIJSDj8m7NA%20k8KpEYXUNUd9rmtzrv1XDGLCiQkg+l8sxhUKC4eb8f6ReCmHu3I4X9e/CotLn4Pyvoa8cAA5gXjB%20wy1wLGzm20KglarZiQwBGW9+CWdjPYSuBh01Vh1fIMAThtVHAZzYbHVPD1/OlZzbbHP8bOZrvxg+%20AAdeM3iyDJFANXCJscy5wPYrJUy+SPvas4UH431N90AAJltQfntWAVA1MFofPGhKrsUh7algzPtD%20/SzCJJJXqV4wVWzEd77znbH6IQWp//Da/chr95PJqmZyp3y7QuvOFnaFoYeJzvVmgEHzuHPxxRd/%20hWLdaQr/0Oz1hBQNCJUdCrh4+nXXXTfXrgkIEoBqwp4QgqwLQ1DV8yFcCpZFCQgVazET9Xv4LgMk%20sBfeciFp7MwI7xTcq3131GqSijx6mC4KrJa2t+cuqtPsY0FzAXtaG/BNLLVYtncWGcx8DON/ml7k%20ajgoyRdXA3BL/4ZRjd4fIF8gpwbgfhVuuBWLE/XOUgsgTJzM5yLQFJRhPMbzaFMxdYmd1LWjPvwe%209jO1r3WMKAAaHa59dxNHbsyv79mKxXz5LJXo8xGaH4CXRpCxHIAE5qjVstUE8Dues0FYQHhJGAiv%20JLsGb5+6QLUAjj0ns1dASEY48wFUGCFJ7DTkCyoogqB9h40UiKM5dq6nL0Zrm+14zn21HiIKr6IA%20qXyVizUiUqsGNpOyBJW8oNBsxNT+R4DrNJAVYUigpoVvxyLFS9CuNrUAVB/l9lvEEF6cxMWKskwI%204YMVBvYYw2Xfqe7gILkjPWCaeiiSmAvBLEZGUAJAYVY2ln1eceKJJz4EgW9WqGdai3l/wEpNDQsL%20AwUC8UbrjLrYrhdEmJaCw3cApowPcWsEhQgqZrXCr+4UADKbsTyl3bHdoat/BWkDl8HFYr77P2TK%20JBCMBGrw3uY9Acw9SX4JEDL2fqPh5WZ+l48AqBhkE5aInQoseRJHvVkaphw2pwKJiMOUJVRySEUg%202kYEgqKkaW01z0anrpA3g7jqPSgMLHpGEIUfeo2sPUOIOMAUvGOwCcc2kfk4Rl62oXhlKV44vQrR%202tZcq4Ym3VoAFBFOwtJkD+MhQ7NNCGGihD+C+4sWLeL6gEIBJZlkfr44QKTsIB0dRBruaC90RnGg%20utfxYhMZzsUl+P/Zz8Bd6IgLDOLqYdOdCSKcScwsYhOqt/kSiTeDfICEVDyygJfCcxwaMCGEW0UD%20tEdLYHe5SHEaAjIOD+4vAegEw9193p/PItMpYFGY4nr8BQhKUUlCSTRwSRrEUjD0yVhMQUuB6WET%20RGqwoATfJLqXfARbEyQdDKAGN58hECjXhBCqXYJACBNXQgtsxLYCmmADEMGMfACdHzG8U0WrMnMc%206RGYEk0Q1LElQBR+mgCfeeiTFryq7wvwYRyqg0MniOD8oVjuZwb8t7mWEGSyCUA1VTwQJt4w66IQ%20HJGcq8b1a/EjhoDpcgg9ZKb4lhBemy+Eq9WveF8y3Y1nu2OmTcm+sOKwww7bDXMx9FoYfwvgjXwg%20b7IWhbA/oZ2prbOCQUn3RdFgwlLYmgmK69mEoWs04v0A3OcKFQR/bCGRD+AyWfdQEzKXJ4Nicl8p%20z4IQ8gUmm1PFaCa5tXkgJJSTR7ZeffXVVmFIwLwAzCO7Ce+dPQ8MrYOzVwd/oNJ6nVkzsn9fwhEZ%20i5GfctYG5CjW4sddPBpjIrOhne03hckx5kBahtC8Foxm6l4oaBpRwGpo8yYsJ/eHrNlAeYWy/2gD%200UagDTUgUDVa0i4GeeCBB46DdzkKgkEUitlAaQBWrvpATPdQTIR/8WZwaV/2O/uf6eF1KP8mk1sd%20R2+rWTRyFdoKtAZTKLLd9QGEAWwx6FGKNzD7FXqHMN4dsD8mgo5SRCA0Suaie2PlmNx3CIkPCAEH%204GWRU1GoM8fE+20WPzeaWULN2bCApAMDp7GwwPAZM2bcgCTPWNl1MZhhHx+ulcOYjWI8KjBItr9b%20KCZqVy0aSbvOWdkSCNZk7AHnfA/wxl0trAER241ICT+WbdXQpA0Cgfn1WBz6Idy0xsUAGPrZkxBY%20lWJKx9fj+zRCtjRq1uu7LayKifaeo70BvgDRwEHvvvsuy8KVKFKBi1sUMghI4e14o/hK1BE854JB%20SXtCCEq9Z0GCxHy76SFML1IYOPI5B+CvSBrxHbUMC4fADtV3mwaIic4e52FQzXdMmzat7qyzzjqB%20L+dAWl6D0y0KkbngKmOn4rqX3UUjpQG47Q3vfqAyfE4xCG/Km2ttAHr688D8BSauTAAMqu3+apnY%20BzD2PP2Pf/xjPUZ/BXhzEvqcA5P8yYYFaI5DPau93DeIJO0ZQWB8K1U7gSAw1Mb0tWwpsX+uUPH+%20hRde+FccWmuSR0mopCHd7gTGoSD7vgkDlf1ehncDbwQAVAGmz6IPBpCIfoKwG9UEsDaCQrDOAEGK%206tpdJLDsrrvuehFTig+DJI2DTbcfrPlpvNF8FI3+wYQWqylRpoqoOR8BoGBRw5QKEWHj6CoW0c8C%205q+aBgI/O+It7Yu5y+7EuwOfx7wALtc7E4JRma14FZNHGgEFP2PVdbjzAX3VUIs2DK0eteaTEQUM%20ANMrcCNSBkxrA8zbgJKv5WS8EYC1+iGwSUdhIaPrKTgAkFjD5nde4RQT7DwhdvYnczD/geXfXrBq%20NerIY/gBQ+EfjOY7HdDKMiBo7zYIxfpnn312EXEANsOzZpkBlYJXkYloO/FmFAaznzLnCCdoNjjB%20GqvQIMnzsXDkz1EldDY9VAIWXUYxUetSAKiJuBjXJXhXEEfzZjN4+5Fvhmc11oqunmZ5WWDQGsO/%20FtsEZAxztaxIh7l5L7QKCYD1FpEmtE1mmzZSSEexRmAQVFYXqfnY5tPp1mLT3Gf9n+GHnLm0ccQ3%20GE2ekgC4PNPIz1YWrhuSWs3Jmg5mv0w6bc5rMZ8T5ruyBMiablWSoJAcp39F0iv4UKU1RoW/Wv/H%208KTJ4lmZg/BuYzPntbkCkNGJVl1guWkCiXROu91sIIkkpluOYylm3f7Vw0CZbQlBq2ktFvMTzsBV%2068g1MSRjtTb3HcLOOSJ9Tqj1CMNjSjhMFmNbrWOJAJ6FTg4VReFmGbJTEzXlqlsoJsK/rL9QfO4M%20Tm2jUbKrzCcApLcBB09k0WKXU0wq+2pBle/fHVVeEBU6XCtMuDgIbRRWF7sNocoYYgHFJL3mpRTJ%20rr9Mg+BQryOz8X+ake2bAxzgVSeeby+mAPCXVpvikeFo9cAA9kKoMoCARKKI9iAD4hZzHBsAj27j%20oVIKSOR4O5M8GtC+MtsN5nhHMQVAINKOBowYpKVlLRCpmNShpo4tMQFot1/jawCdtYb5muxRkGAn%20u0BSVXmyntLqgkhsRR5BGkWZEtQCAuAU5rGfm93K3mJqAGmBCjPiq0wTIJEoYudJA2S0LWEz0GZa%202rS2YjuB7j0UmyazgEjF70B7v7Qo42oz+1iRNED4vYrOfDHc3f4/o5hiiimmmGKKKaaYYooppphi%20iimmmGKKKaaYYooppv8FlJhXILrvZ3wAAAAASUVORK5CYII=%22%20preserveAspectRatio=%22none%22%20height=%22102.996%22%20width=%2287.169%22%20x=%22159.832%22%20y=%22119.548%22/%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20x=%22205.695%22%20y=%22150.011%22%20transform=%22scale(.98866%201.01147)%22%20font-weight=%22400%22%20font-size=%2219.302%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#ff0%22%20stroke-width=%22.504%22%3E%3Ctspan%20x=%22205.695%22%20y=%22150.011%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ERAM%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20x=%22205.372%22%20y=%22110.296%22%20transform=%22scale(.98866%201.01147)%22%20font-weight=%22400%22%20font-size=%2219.302%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#00f%22%20stroke-width=%22.504%22%3E%3Ctspan%20x=%22205.372%22%20y=%22110.296%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EDownload%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M206.647%20182.6a6.892%206.892%200%200%200-6.89%206.892c0%203.803%203.086%206.896%206.89%206.896%203.805%200%206.868-3.093%206.868-6.896%200-3.806-3.063-6.892-6.868-6.892zm13.814%2010.852l-1.242%202.991%202.215%204.35.293.575-3.072%203.072-5.039-2.38-2.991%201.228-1.519%204.648-.194.617h-4.341l-1.879-5.246-2.991-1.234-4.357%202.21-.575.287-3.07-3.069%202.378-5.042-1.233-2.989-4.64-1.515-.616-.2v-4.338l5.25-1.882%201.233-2.986-2.208-4.36-.291-.571%203.066-3.066%205.045%202.376%202.988-1.236%201.517-4.645.196-.616h4.34l1.88%205.253%202.983%201.236%204.358-2.212.58-.29%203.069%203.065-2.377%205.038%201.228%202.993%204.654%201.517.611.196v4.337z%22%20fill=%22#0ff%22/%3E%3Cg%20transform=%22matrix(.85604%200%200%20.85604%2085.035%2091.517)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E", + "image": "%3Csvg%20height=%22120.961%22%20width=%22100%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cdefs%3E%3Cfilter%20id=%22c%22%20color-interpolation-filters=%22sRGB%22%20x=%22-.035%22%20y=%22-.018%22%20width=%221.071%22%20height=%221.036%22%3E%3CfeGaussianBlur%20stdDeviation=%221.23%22/%3E%3C/filter%3E%3Cfilter%20id=%22g%22%20color-interpolation-filters=%22sRGB%22%20x=%22-.036%22%20y=%22-.018%22%20width=%221.071%22%20height=%221.036%22%3E%3CfeGaussianBlur%20stdDeviation=%221.23%22/%3E%3C/filter%3E%3Cfilter%20id=%22f%22%20color-interpolation-filters=%22sRGB%22%20x=%22-.049%22%20y=%22-.016%22%20width=%221.098%22%20height=%221.032%22%3E%3CfeGaussianBlur%20stdDeviation=%221.258%22/%3E%3C/filter%3E%3Cfilter%20id=%22e%22%20color-interpolation-filters=%22sRGB%22%20x=%22-.072%22%20y=%22-.014%22%20width=%221.144%22%20height=%221.029%22%3E%3CfeGaussianBlur%20stdDeviation=%221.312%22/%3E%3C/filter%3E%3Cfilter%20id=%22b%22%20height=%221.027%22%20width=%221.242%22%20y=%22-.013%22%20x=%22-.121%22%20color-interpolation-filters=%22sRGB%22%3E%3CfeGaussianBlur%20stdDeviation=%221.309%22/%3E%3C/filter%3E%3Cfilter%20id=%22d%22%20height=%221.027%22%20width=%221.242%22%20y=%22-.013%22%20x=%22-.121%22%20color-interpolation-filters=%22sRGB%22%3E%3CfeGaussianBlur%20stdDeviation=%221.309%22/%3E%3C/filter%3E%3Cfilter%20id=%22a%22%20height=%221.025%22%20width=%221.996%22%20y=%22-.012%22%20x=%22-.498%22%20color-interpolation-filters=%22sRGB%22%3E%3CfeGaussianBlur%20stdDeviation=%221.245%22/%3E%3C/filter%3E%3CradialGradient%20id=%22h%22%20gradientUnits=%22userSpaceOnUse%22%20cy=%22356.19%22%20cx=%22300%22%20gradientTransform=%22matrix(-.43814%20.01306%20-.0012%20-.02628%20181.233%2061.352)%22%20r=%2255.264%22%3E%3Cstop%20offset=%220%22/%3E%3Cstop%20stop-color=%22#464646%22%20offset=%22.602%22/%3E%3Cstop%20stop-color=%22#aca592%22%20stop-opacity=%220%22%20offset=%221%22/%3E%3C/radialGradient%3E%3ClinearGradient%20id=%22i%22%20y2=%22333.77%22%20gradientUnits=%22userSpaceOnUse%22%20x2=%22291.22%22%20gradientTransform=%22matrix(-.3425%20.01021%20-.01275%20-.27715%20156.562%20149.485)%22%20y1=%22330.77%22%20x1=%22291.22%22%3E%3Cstop%20stop-color=%22#fff%22%20stop-opacity=%22.362%22%20offset=%220%22/%3E%3Cstop%20stop-opacity=%220%22%20offset=%221%22/%3E%3C/linearGradient%3E%3ClinearGradient%20id=%22j%22%20y2=%22339.48%22%20gradientUnits=%22userSpaceOnUse%22%20x2=%22337.09%22%20gradientTransform=%22matrix(-.33921%20.01011%20-.01492%20-.32428%20156.195%20165.141)%22%20y1=%22339.48%22%20x1=%22343.43%22%3E%3Cstop%20stop-color=%22#fff%22%20stop-opacity=%22.362%22%20offset=%220%22/%3E%3Cstop%20stop-opacity=%220%22%20offset=%221%22/%3E%3C/linearGradient%3E%3ClinearGradient%20id=%22k%22%20y2=%22304.68%22%20gradientUnits=%22userSpaceOnUse%22%20x2=%22300.31%22%20gradientTransform=%22matrix(-.32563%20.0097%20-.01206%20-.2621%20151.26%20144.401)%22%20y1=%22331.2%22%20x1=%22300.31%22%3E%3Cstop%20stop-opacity=%22.302%22%20offset=%220%22/%3E%3Cstop%20stop-opacity=%220%22%20offset=%221%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath%20opacity=%22.95%22%20fill=%22none%22%20d=%22M0%2020.961h100v100H0z%22/%3E%3Cpath%20d=%22M53.928%20119.654L52.1%2079.937l-1.104-23.99-3.256.096%201.104%2023.991%201.826%2039.717z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#d4aa00%22/%3E%3Cpath%20d=%22M297%20109.34V352.4h6V109.34z%22%20style=%22text-indent:0;text-transform:none%22%20transform=%22matrix(-.32563%20.0097%20-.01206%20-.2621%20151.309%20145.45)%22%20color=%22#000%22%20fill=%22#fcff4c%22%20fill-opacity=%22.544%22%20filter=%22url(#a)%22/%3E%3Cpath%20d=%22M60.372%20117.56l3.198-.49c-3.202-13.45-7.816-28.557-8.457-42.475l-.863-18.749-3.256.098.863%2018.748c.658%2014.31%205.337%2029.518%208.514%2042.865z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#d45500%22/%3E%3Cpath%20d=%22M272.94%20116.59l-5.875%201.5c7.92%2051.61%2019.94%20109.69%2019.94%20162.79v71.531h6V280.88c0-54.598-12.202-113.07-20.062-164.28z%22%20style=%22text-indent:0;text-transform:none%22%20transform=%22matrix(-.32563%20.0097%20-.01206%20-.2621%20151.309%20145.45)%22%20color=%22#000%22%20fill=%22#fca%22%20fill-opacity=%22.409%22%20filter=%22url(#b)%22/%3E%3Cpath%20d=%22M69.996%20112.761l3.056-.912c-6.978-15.02-14.11-24.952-15.163-47.836l-.38-8.265-3.257.097.38%208.265c1.072%2023.296%208.478%2033.826%2015.364%2048.646z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#a00%22/%3E%3Cpath%20d=%22M79.672%20106.477l2.661-1.515c-9.79-11.143-20.205-19.73-21.186-41.045l-.38-8.264-3.257.097.38%208.264C58.902%2086%2070.056%2095.528%2079.674%20106.474z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#784421%22/%3E%3Cpath%20d=%22M89.428%2098.614l1.962-2.092C81.67%2090.65%2065.24%2082.005%2064.402%2063.82l-.38-8.265-3.256.097.38%208.265C62.04%2083.35%2079.89%2092.851%2089.43%2098.614z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#1a1a1a%22/%3E%3Cpath%20d=%22M183.16%20189.47l-4.313%201.75c28.98%2023.48%2079.65%2053.27%2079.65%20129.66v31.531h4V320.88c0-71.639-50.903-108.37-79.344-131.41z%22%20style=%22text-indent:0;text-transform:none%22%20transform=%22matrix(-.32563%20.0097%20-.01206%20-.2621%20151.309%20145.45)%22%20color=%22#000%22%20fill=%22#fff%22%20fill-opacity=%22.313%22%20filter=%22url(#c)%22/%3E%3Cpath%20d=%22M44.052%20118.046c1.941-13.5%205.209-28.946%204.55-43.257l-.862-18.748-3.256.097.863%2018.748c.64%2013.918-2.572%2029.258-4.53%2042.86l3.234.297z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22green%22/%3E%3Cpath%20transform=%22matrix(.32563%20-.0097%20-.01206%20-.2621%20-44.14%20150.226)%22%20d=%22M272.94%20112.59l-5.875%201.5c7.92%2051.61%2019.94%20109.69%2019.94%20162.79v71.531h6V276.88c0-54.598-12.202-113.07-20.062-164.28z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#cfa%22%20fill-opacity=%22.409%22%20filter=%22url(#d)%22/%3E%3Cpath%20d=%22M34.013%20113.833c5.507-15.193%2011.923-26.132%2010.85-49.43l-.38-8.265-3.256.097.38%208.264c1.053%2022.883-5.147%2033.214-10.725%2048.606l3.131.727z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#04a%22/%3E%3Cpath%20transform=%22matrix(.32563%20-.0097%20-.01206%20-.2621%20-44.202%20150.228)%22%20d=%22M242.75%20129.78l-3.5%203.125c19.277%2058.01%2038.25%2096.664%2038.25%20183.97v31.531h5.5v-31.531c0-88.882-21.224-129.84-40.25-187.09z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#acf%22%20fill-opacity=%22.475%22%20filter=%22url(#e)%22/%3E%3Cpath%20d=%22M23.786%20108.143C32.372%2096.651%2042.62%2086.487%2041.607%2064.5l-.38-8.264-3.257.097.38%208.264c.981%2021.314-8.618%2030.496-17.358%2042.192l2.793%201.352z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#aa00d4%22/%3E%3Cpath%20transform=%22matrix(.32563%20-.0097%20-.01206%20-.2621%20-63.922%20150.816)%22%20d=%22M275.19%20158.62l-4.375-.531c28.45%2043.57%2057.68%2077.47%2057.68%20158.79v31.53h4v-31.53c0-83.882-29.36-115.45-57.312-158.25z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#eaf%22%20fill-opacity=%22.483%22%20filter=%22url(#f)%22/%3E%3Cpath%20d=%22M13.334%20100.883c8.983-6.313%2025.91-16.854%2025.017-36.287l-.38-8.264-3.257.097.38%208.264c.837%2018.184-14.754%2027.784-23.91%2034.22l2.149%201.97z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#6f6f91%22/%3E%3Cpath%20transform=%22matrix(.32563%20-.0097%20-.01206%20-.2621%20-43.742%20150.214)%22%20d=%22M183.16%20185.47l-4.313%201.75c28.98%2023.48%2078.15%2055.27%2078.15%20129.65v31.531h5V316.87c0-69.13-50.4-108.37-78.84-131.4z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#dbdbe3%22%20fill-opacity=%22.429%22%20filter=%22url(#g)%22/%3E%3Cpath%20d=%22M73.69%2057.606L25.264%2059.05l-.202-4.398c12.474-.817%2026.455-1.496%2048.425-1.444z%22%20color=%22#000%22%20fill=%22url(#h)%22/%3E%3Cpath%20d=%22M64.604%2060.633l-30.005.894-.246-5.336c7.717-.77%2016.373-1.346%2030.005-.894z%22%20color=%22#000%22%20fill=%22#1a1a1a%22/%3E%3Cpath%20d=%22M64.467%2060.434l-29.75.887-.03-.659c7.655-.673%2016.24-1.19%2029.75-.887z%22%20color=%22#000%22%20fill=%22url(#i)%22/%3E%3Cpath%20d=%22M36.953%2061.291l-2.194.066-.236-5.14c1.09-.029%201.543-.087%202.193-.067z%22%20color=%22#000%22%20fill=%22url(#j)%22/%3E%3Cpath%20d=%22M64.526%2067.018l-29.466.88-.296-6.44c7.578-.746%2016.08-1.306%2029.465-.879z%22%20color=%22#000%22%20fill=%22url(#k)%22/%3E%3Cpath%20d=%22M39.749%2062.438a17382.86%2017382.86%200%200%200-16.022-9.136c-7.035-4.007-12.814-7.308-12.842-7.335-.028-.027%209.023-5.125%2020.114-11.329L51.164%2023.36l.041%207.98c.023%204.39.047%2012.504.052%2018.034l.01%2010.053-.258.043c-1.31.216-2.573.602-3.6%201.102-1.394.678-3.04%202.007-3.947%203.188-.227.296-.428.536-.447.533a258.47%20258.47%200%200%201-3.266-1.854zm19.433.916c-1.387-1.72-3.778-3.223-5.848-3.68a84.366%2084.366%200%200%201-1.148-.258c-.103-.026-.17-5.28-.231-18.058-.047-9.91-.072-18.034-.055-18.05.033-.034%2038.983%2022.448%2039.105%2022.57.073.073-30.92%2018.297-31.09%2018.28-.05-.005-.38-.367-.733-.804zM10.639%2069.42c0-18.118.034-22.668.17-22.583.094.058%207.285%204.221%2015.98%209.252%209.32%205.392%2015.801%209.22%2015.79%209.327-.011.1-.12.542-.244.985-.509%201.835-.413%204.334.24%206.25l.307.9-15.328%208.835a7575.428%207575.428%200%200%201-16.122%209.278l-.793.444zM76.18%2083.365c-8.53-5.14-15.551-9.39-15.604-9.443-.052-.052.06-.584.25-1.183.514-1.62.592-4.195.184-6.007-.163-.72-.275-1.328-.25-1.349.147-.123%2030.997-18.63%2031.055-18.63.098%200%20.056%2038.69-.046%2042.727l-.082%203.233z%22%20fill=%22#7ccff4%22/%3E%3Cpath%20d=%22M92.898%2047.736c-1.658%207.32%203.673%2035.148-.816%2037.094-9.788-16.912-21.55-23.98-21.55-23.98s15.22-10.893%2022.366-13.114zM52.12%2022.772c5.53%205.076%2032.33%2014.27%2031.79%2019.131-19.54.097-31.517%206.795-31.517%206.795s-1.893-18.62-.273-25.926zM10.95%2045.233C18.165%2043.167%2040%2025.11%2043.865%2028.108c-10.12%2016.716-10.66%2030.428-10.66%2030.428S16.333%2050.43%2010.95%2045.233zm-.857%2047.424c1.753-7.298-3.22-35.193%201.293-37.08%209.57%2017.036%2021.24%2024.255%2021.24%2024.255s-15.36%2010.696-22.533%2012.825z%22%20fill=%22#98ddf4%22/%3E%3Cpath%20d=%22M10.564%2046.162l41.054-23.67L92.644%2046.21l-.027%2047.383-32.877-19.34a9.364%209.364%200%201%200-16.216-.008L10.543%2093.551zM43.022%2065.23L10.568%2046.171m41.05-23.284l.023%2037.158m8.689%205.13L92.646%2046.21%22%20fill=%22none%22%20stroke=%22#275d75%22%20stroke-width=%223.009%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22translate(-44.235%2067.501)%20scale(.75005)%22%20stroke=%22#00f400%22%3E%3Ccircle%20r=%2224.508%22%20cy=%221.741%22%20cx=%22128.644%22%20opacity=%22.95%22%20fill=%22#272524%22%20stroke-width=%222.247%22%20stroke-linecap=%22round%22/%3E%3Cpath%20d=%22M113.085%2010.269h16.744V-9.227h14.781%22%20fill=%22none%22%20stroke-width=%222.682%22/%3E%3C/g%3E%3Ctext%20style=%22line-height:1.25%22%20x=%2223.033%22%20y=%2218.856%22%20font-weight=%22400%22%20font-size=%2221.804%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%22.545%22%3E%3Ctspan%20x=%2223.033%22%20y=%2218.856%22%3E16KB%3C/tspan%3E%3C/text%3E%3C/svg%3E", "otid": 1596697289362 }, "design": { "graph": { "blocks": [ { - "id": "38abb13c-8652-41fb-931c-c7bf760ebb24", - "type": "basic.output", + "id": "01edffcc-6e84-40ff-a986-e6bb1d144035", + "type": "basic.inputLabel", "data": { - "name": "busy" + "blockColor": "fuchsia", + "name": "tx", + "oldBlockColor": "fuchsia" }, "position": { - "x": 1936, - "y": -168 + "x": 1080, + "y": 536 } }, { - "id": "a040cc3d-b2c6-458e-bde6-f8234a19b6d1", + "id": "874e0745-10f1-45c2-8893-f7dfad87390d", "type": "basic.outputLabel", "data": { - "blockColor": "fuchsia", - "name": "busy" + "blockColor": "yellow", + "name": "clk" }, "position": { - "x": 1744, - "y": -168 + "x": 728, + "y": 544 } }, { - "id": "af8afdcf-1f69-4187-81ab-082d28c98dd9", - "type": "basic.outputLabel", + "id": "bef1b4c2-b479-4152-ba4d-eb6b9906949c", + "type": "basic.input", "data": { - "name": "addr", - "range": "[3:0]", - "blockColor": "navy", - "size": 4, - "oldBlockColor": "fuchsia" + "name": "", + "clock": true }, "position": { - "x": 864, - "y": -144 + "x": -32, + "y": 584 } }, { - "id": "f81791c6-f02f-46d0-b738-5895dd124243", - "type": "basic.outputLabel", + "id": "e957a950-a21d-4560-8c01-c477d88a75a2", + "type": "basic.inputLabel", "data": { "blockColor": "yellow", "name": "clk" }, "position": { - "x": 1744, - "y": -96 + "x": 112, + "y": 584 } }, { - "id": "b359cb97-c324-4ffc-a73c-64c7f457e6fa", - "type": "basic.outputLabel", + "id": "757f1816-834d-4cd7-a5e1-d726a472de91", + "type": "basic.output", "data": { - "name": "stdo", - "range": "[9:0]", - "blockColor": "fuchsia", - "size": 10 + "name": "tx" }, "position": { - "x": 1728, - "y": -16 + "x": 1456, + "y": 600 } }, { - "id": "7fb933a6-5c63-4d46-8aaa-440b30974993", - "type": "basic.input", + "id": "b5a3b2cc-7b32-4ac9-b6bf-002fe40d9ebe", + "type": "basic.outputLabel", "data": { - "name": "", - "clock": true + "blockColor": "fuchsia", + "name": "tx", + "oldBlockColor": "fuchsia" }, "position": { - "x": -48, - "y": 24 + "x": 1304, + "y": 600 } }, { - "id": "2c31aa6a-383c-4eb5-b669-b8a31ad14225", + "id": "25428eb9-c2a5-476c-8ea5-4876e3cb78cb", "type": "basic.inputLabel", "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "blockColor": "fuchsia", + "name": "stdo", + "range": "[9:0]", + "size": 10 }, "position": { - "x": 96, - "y": 24 + "x": 1104, + "y": 616 } }, { - "id": "a875b188-26fa-4052-ae81-4b5f22f4c1e5", + "id": "2226faa1-dd30-45cc-b4fb-2bcffd758576", "type": "basic.outputLabel", "data": { "blockColor": "fuchsia", - "name": "tic", - "oldBlockColor": "fuchsia" + "name": "stdo_1", + "range": "[9:0]", + "oldBlockColor": "fuchsia", + "size": 10 }, "position": { - "x": 1648, - "y": 48 + "x": 720, + "y": 616 } }, { - "id": "20d63505-e2fd-44ed-95b9-9f45e8875e70", - "type": "basic.output", + "id": "b1e41924-f354-4744-b5f0-a93a1fdc6828", + "type": "basic.input", "data": { - "name": "stdo", - "range": "[9:0]", - "size": 10 + "name": "trig", + "clock": false }, "position": { - "x": 2128, - "y": 48 + "x": -32, + "y": 664 } }, { - "id": "8ca2279c-fdc3-40d3-9fbe-2071c026932f", - "type": "basic.outputLabel", + "id": "4de777a9-a4a5-4ace-adf6-688298d0d736", + "type": "basic.inputLabel", "data": { "blockColor": "fuchsia", - "name": "bus_mine", - "oldBlockColor": "fuchsia" + "name": "trig" }, "position": { - "x": 880, - "y": 112 + "x": 112, + "y": 664 } }, { - "id": "786f1170-66ce-4c3a-acdc-073388546edd", - "type": "basic.outputLabel", + "id": "9cdfc247-4374-4660-b8c7-246e9aa090d7", + "type": "basic.input", "data": { - "name": "data", + "name": "ch", "range": "[7:0]", - "oldBlockColor": "fuchsia", - "blockColor": "fuchsia", + "clock": false, "size": 8 }, "position": { - "x": 1656, - "y": 112 + "x": -32, + "y": 752 } }, { - "id": "886b88b1-4987-4f1f-aadd-d82bb53ab445", - "type": "basic.input", + "id": "b3f14933-93b7-4bc1-8585-471518a370ce", + "type": "basic.inputLabel", "data": { - "name": "stdo", - "range": "[9:0]", - "clock": false, - "size": 10 + "name": "ch", + "range": "[7:0]", + "blockColor": "fuchsia", + "size": 8 }, "position": { - "x": -96, - "y": 120 + "x": 120, + "y": 752 } }, { - "id": "523a4825-1562-4f5d-b129-c7d08fe542c2", + "id": "97a9bf0d-0475-40fe-bcc2-f75e2b928290", "type": "basic.inputLabel", "data": { - "name": "stdo", - "range": "[9:0]", - "pins": [ - { - "index": "9", - "name": "", - "value": "" - }, - { - "index": "8", - "name": "", - "value": "" - }, - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia" + "blockColor": "fuchsia", + "name": "on2", + "oldBlockColor": "fuchsia" }, "position": { - "x": 48, - "y": 120 + "x": 1136, + "y": 760 } }, { - "id": "b63a0660-3988-4951-b606-0177b556defc", + "id": "a76b111f-f808-4e45-8873-d8e76eb8612e", "type": "basic.outputLabel", "data": { - "name": "mbi", - "range": "[13:0]", - "blockColor": "fuchsia", - "size": 14 + "blockColor": "yellow", + "name": "clk" }, "position": { - "x": 1128, - "y": 120 + "x": 824, + "y": 768 } }, { - "id": "727e032f-d74b-464e-81fe-b30b1e669b9e", - "type": "basic.output", + "id": "95f8ff76-02e4-4f69-8db6-d285cfe13d4a", + "type": "basic.outputLabel", "data": { - "name": "mbo", - "range": "[13:0]", - "size": 14 + "blockColor": "yellow", + "name": "clk" }, "position": { - "x": 1472, - "y": 120 + "x": 328, + "y": 784 } }, { - "id": "bf61387a-ef36-4f3c-898f-e274c3136b18", + "id": "db47aa3d-add3-4672-aad0-e71644d43161", "type": "basic.inputLabel", "data": { "blockColor": "fuchsia", - "name": "next", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "name": "stdo_1", + "range": "[9:0]", + "size": 10 }, "position": { - "x": 2064, - "y": 136 + "x": 1184, + "y": 824 } }, { - "id": "914e03dd-1133-4325-a333-b10f953ecce5", + "id": "b1cd47ec-5a10-4bd1-bff9-a9d1707d621d", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" + }, + "position": { + "x": 1312, + "y": 840 + } + }, + { + "id": "f443dcde-4fbe-46f8-90d9-94a64a06a928", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "stdo", + "range": "[9:0]", + "size": 10 + }, + "position": { + "x": 792, + "y": 848 + } + }, + { + "id": "b3c9756a-c4ff-496f-972f-11e1904c9bd4", + "type": "basic.outputLabel", + "data": { + "name": "mbus", + "range": "[23:0]", + "blockColor": "fuchsia", + "size": 24 + }, + "position": { + "x": 264, + "y": 856 + } + }, + { + "id": "218bd314-2f32-4e2b-b3f4-4f7e0f8f3e70", "type": "basic.inputLabel", "data": { + "name": "mbus", + "range": "[23:0]", "blockColor": "fuchsia", - "name": "data", - "range": "[7:0]", - "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "size": 24 }, "position": { - "x": 576, - "y": 152 + "x": 1616, + "y": 896 } }, { - "id": "d94290b8-502b-46eb-a630-3b0800bf3c9b", + "id": "02620ac0-eba1-4e7b-8c7c-42f281dfad06", "type": "basic.outputLabel", "data": { - "name": "mbi", - "range": "[13:0]", "blockColor": "fuchsia", - "size": 14 + "name": "trig", + "oldBlockColor": "fuchsia" }, "position": { "x": 224, - "y": 216 + "y": 944 } }, { - "id": "9be4488d-51be-4346-8a31-5d8f2f86e4d3", + "id": "8de3b7b2-f1f3-41a6-91c1-dcd310e375b5", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "data2", + "range": "[7:0]", + "oldBlockColor": "fuchsia", + "size": 8 + }, + "position": { + "x": 1152, + "y": 1000 + } + }, + { + "id": "db924183-9079-4d5e-ba72-24086b523403", "type": "basic.outputLabel", "data": { + "name": "ch", + "range": "[7:0]", "blockColor": "fuchsia", - "name": "bus_mine", - "oldBlockColor": "fuchsia" + "size": 8 }, "position": { - "x": 936, - "y": 248 + "x": 280, + "y": 1016 } }, { - "id": "472c0cbb-1d6b-4af4-a439-52f52118d405", - "type": "basic.input", + "id": "bf04f199-c541-48bb-b97b-024f13f8a77c", + "type": "basic.constant", "data": { - "name": "mbus", - "range": "[13:0]", - "clock": false, - "size": 14 + "name": "sclk", + "value": "12000000", + "local": false }, "position": { - "x": -96, - "y": 264 + "x": 840, + "y": 472 } }, { - "id": "9bc05443-4e8c-4288-a609-67e961b01ca7", - "type": "basic.inputLabel", + "id": "301e5c60-1782-4bb1-8922-3b1430d30e21", + "type": "basic.constant", "data": { - "name": "mbi", - "range": "[13:0]", - "pins": [ - { - "index": "13", - "name": "", - "value": "" - }, - { - "index": "12", - "name": "", - "value": "" - }, - { - "index": "11", - "name": "", - "value": "" - }, - { - "index": "10", - "name": "", - "value": "" - }, - { - "index": "9", - "name": "", - "value": "" - }, - { - "index": "8", - "name": "", - "value": "" - }, - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia" + "name": "bps", + "value": "115200", + "local": false }, "position": { - "x": 56, - "y": 264 + "x": 968, + "y": 472 } }, { - "id": "923c4db6-0c76-4647-a848-75fd61fba6ec", - "type": "basic.outputLabel", + "id": "68b503e6-2b67-4fba-9b21-96ca03b1ac6a", + "type": "basic.memory", "data": { - "blockColor": "fuchsia", - "name": "done", - "oldBlockColor": "fuchsia" + "name": "", + "list": "00\n01\n02\n03\n04\n05\n06\n07\n08\n09\n0A\n0B\n0C\n0D\n0E\n0F\n", + "local": true, + "format": 10 }, "position": { - "x": 936, - "y": 312 + "x": 1424, + "y": 672 + }, + "size": { + "width": 152, + "height": 160 } }, { - "id": "05a1a5b4-bf29-49df-b0b1-887859d9ec9e", - "type": "basic.inputLabel", + "id": "1b7cce1e-5e7b-4fef-93cd-ff06c9262fbf", + "type": "basic.info", "data": { - "blockColor": "fuchsia", - "name": "bbusy", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "info": "## Icerok-probe machine\n\nMachine for capturing data, storing it in the memory and transmit \nto the computer by serial port", + "readonly": true }, "position": { - "x": 560, - "y": 336 + "x": -48, + "y": 368 + }, + "size": { + "width": 688, + "height": 88 } }, { - "id": "b14f140b-7bb5-46d9-8019-39c27ff6e0e3", - "type": "basic.input", + "id": "1a5dba1d-460f-4fe7-b89a-e82a5ce80797", + "type": "basic.info", "data": { - "name": "start", - "clock": false + "info": "Writing the data to the memory on \nevery system clock cycle", + "readonly": true }, "position": { - "x": -80, - "y": 424 + "x": 368, + "y": 1080 + }, + "size": { + "width": 296, + "height": 56 } }, { - "id": "da45f105-3600-4458-a820-50046581f5dd", - "type": "basic.inputLabel", + "id": "e9eeb570-af93-4a48-a7bb-b2373f112a3d", + "type": "basic.info", "data": { - "blockColor": "fuchsia", - "name": "start", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "info": "Transmiting the raw memory contents \nto the computer, by serial port", + "readonly": true }, "position": { - "x": 64, - "y": 424 + "x": 936, + "y": 1080 + }, + "size": { + "width": 296, + "height": 56 } }, { - "id": "7d0852c6-4778-4a53-bf90-30527c44a0eb", - "type": "basic.outputLabel", + "id": "120026aa-96d4-4c3f-bdf9-6ae35383aa84", + "type": "basic.info", "data": { - "blockColor": "yellow", - "name": "clk" + "info": "When the sampling is done \ntransmit the information to \nthe computer", + "readonly": true }, "position": { - "x": 1736, - "y": 464 + "x": 664, + "y": 992 + }, + "size": { + "width": 280, + "height": 72 } }, { - "id": "54e9bf9f-b852-4c45-bd53-f6eb4ee707eb", - "type": "basic.inputLabel", + "id": "7c470f08-1331-4242-ad22-412c4e83cf61", + "type": "basic.info", "data": { - "blockColor": "fuchsia", - "name": "start_read", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "info": "Memory were the data \nis stored", + "readonly": true }, "position": { - "x": 608, - "y": 504 + "x": 1448, + "y": 984 + }, + "size": { + "width": 216, + "height": 64 } }, { - "id": "95c4416f-62f5-4196-a406-f7915d40a572", - "type": "basic.output", - "data": { - "name": "done" - }, + "id": "b3fb3351-e2cc-42b6-ac47-08d6fee8e3cb", + "type": "58354ef6a90ba7895773f2652b9bdd4b7fc36176", "position": { - "x": 2048, - "y": 520 + "x": 904, + "y": 600 + }, + "size": { + "width": 96, + "height": 96 } }, { - "id": "289f00be-f97d-4553-a60a-32d8b45da4cc", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "done", - "oldBlockColor": "fuchsia" - }, + "id": "daefb83b-9b87-4d60-9ad8-9209f5d30e21", + "type": "1250d52a7afd45bb1a9a3db8b7b07091812cfe25", "position": { - "x": 1728, - "y": 536 + "x": 1456, + "y": 896 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "d7e7c210-c311-440e-b516-94c3f0244f34", - "type": "basic.input", - "data": { - "name": "nc", - "clock": false - }, + "id": "a7a62de6-e5c1-4dec-95c9-55e64ac949d2", + "type": "76edf4205ccb9e56d286f0315a959a27a34b5c04", "position": { - "x": -80, - "y": 536 + "x": 488, + "y": 896 + }, + "size": { + "width": 96, + "height": 128 } }, { - "id": "fce01e4d-e6d2-4811-8f96-410673168b4c", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "bbusy", - "oldBlockColor": "fuchsia" - }, + "id": "70c57eb6-a5b4-421b-9262-cdc5875376e1", + "type": "698400cf4aed3c1bcc56992cf4dee108a0b3b2d8", "position": { - "x": 152, - "y": 552 + "x": 984, + "y": 864 + }, + "size": { + "width": 96, + "height": 192 } - }, + } + ], + "wires": [ { - "id": "700d8b15-d6df-4b76-b10d-72db58c33e6c", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "bus_mine", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "source": { + "block": "02620ac0-eba1-4e7b-8c7c-42f281dfad06", + "port": "outlabel" }, - "position": { - "x": 776, - "y": 584 - } + "target": { + "block": "a7a62de6-e5c1-4dec-95c9-55e64ac949d2", + "port": "b14f140b-7bb5-46d9-8019-39c27ff6e0e3" + }, + "vertices": [] }, { - "id": "0399b081-5696-4bf7-bb75-cd55da78d4f5", - "type": "basic.outputLabel", - "data": { - "name": "data", - "range": "[7:0]", - "oldBlockColor": "fuchsia", - "blockColor": "fuchsia", - "size": 8 + "source": { + "block": "70c57eb6-a5b4-421b-9262-cdc5875376e1", + "port": "38abb13c-8652-41fb-931c-c7bf760ebb24" }, - "position": { - "x": 1648, - "y": 600 - } + "target": { + "block": "97a9bf0d-0475-40fe-bcc2-f75e2b928290", + "port": "inlabel" + }, + "vertices": [] }, { - "id": "08007be8-e099-4080-acb1-e580660bb147", - "type": "basic.input", - "data": { - "name": "nc", - "clock": false + "source": { + "block": "70c57eb6-a5b4-421b-9262-cdc5875376e1", + "port": "3066cf48-9921-4487-826e-0464a2dead7a", + "size": 8 }, - "position": { - "x": -80, - "y": 616 - } + "target": { + "block": "8de3b7b2-f1f3-41a6-91c1-dcd310e375b5", + "port": "inlabel" + }, + "vertices": [], + "size": 8 }, { - "id": "3066cf48-9921-4487-826e-0464a2dead7a", - "type": "basic.output", - "data": { - "name": "data", - "range": "[7:0]", - "size": 8 + "source": { + "block": "70c57eb6-a5b4-421b-9262-cdc5875376e1", + "port": "20d63505-e2fd-44ed-95b9-9f45e8875e70", + "size": 10 }, - "position": { - "x": 2040, - "y": 680 - } + "target": { + "block": "db47aa3d-add3-4672-aad0-e71644d43161", + "port": "inlabel" + }, + "vertices": [], + "size": 10 }, { - "id": "524ca75c-cdd3-4e79-851a-b46ce146bd66", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "start" + "source": { + "block": "f443dcde-4fbe-46f8-90d9-94a64a06a928", + "port": "outlabel" }, - "position": { - "x": 152, - "y": 696 - } + "target": { + "block": "70c57eb6-a5b4-421b-9262-cdc5875376e1", + "port": "886b88b1-4987-4f1f-aadd-d82bb53ab445", + "size": 10 + }, + "vertices": [], + "size": 10 }, { - "id": "7e9db299-cb56-4cd9-a489-d5fbd6eb3e2f", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "busy", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "source": { + "block": "b3fb3351-e2cc-42b6-ac47-08d6fee8e3cb", + "port": "93defa79-7f79-4614-8e5b-17ceacc8c7cf", + "size": 10 }, - "position": { - "x": 1184, - "y": 704 - } + "target": { + "block": "25428eb9-c2a5-476c-8ea5-4876e3cb78cb", + "port": "inlabel" + }, + "vertices": [], + "size": 10 }, { - "id": "7df4a7f1-90b6-4562-8be3-e4719a824545", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk" + "source": { + "block": "2226faa1-dd30-45cc-b4fb-2bcffd758576", + "port": "outlabel" }, - "position": { - "x": 880, - "y": 752 - } + "target": { + "block": "b3fb3351-e2cc-42b6-ac47-08d6fee8e3cb", + "port": "bf297685-7b54-477f-b9ee-3c143135097b", + "size": 10 + }, + "vertices": [], + "size": 10 }, { - "id": "c1c96b9c-e573-43a0-8b60-9f7fe7ad5ae6", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "busy" + "source": { + "block": "bef1b4c2-b479-4152-ba4d-eb6b9906949c", + "port": "out" }, - "position": { - "x": 1648, - "y": 776 - } + "target": { + "block": "e957a950-a21d-4560-8c01-c477d88a75a2", + "port": "inlabel" + }, + "vertices": [] }, { - "id": "64f8b6de-1661-4bb4-a2eb-5458a30a6d66", - "type": "basic.inputLabel", - "data": { - "name": "addr", - "range": "[3:0]", - "pins": [ - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia", - "blockColor": "navy" + "source": { + "block": "874e0745-10f1-45c2-8893-f7dfad87390d", + "port": "outlabel" }, - "position": { - "x": 1224, - "y": 784 + "target": { + "block": "b3fb3351-e2cc-42b6-ac47-08d6fee8e3cb", + "port": "2d00d963-00f8-4a0a-9cb8-a4e5bfb61323" } }, { - "id": "dc204461-1dd1-428f-91a2-006d905d6585", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "start_read" + "source": { + "block": "b3fb3351-e2cc-42b6-ac47-08d6fee8e3cb", + "port": "f2043f09-b391-40ea-9d1d-721438b68ef1" }, - "position": { - "x": 872, - "y": 832 + "target": { + "block": "01edffcc-6e84-40ff-a986-e6bb1d144035", + "port": "inlabel" } }, { - "id": "0db424eb-f896-41e1-becb-7eb065dd64f2", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "busy" + "source": { + "block": "b5a3b2cc-7b32-4ac9-b6bf-002fe40d9ebe", + "port": "outlabel" }, - "position": { - "x": 152, - "y": 840 + "target": { + "block": "757f1816-834d-4cd7-a5e1-d726a472de91", + "port": "in" } }, { - "id": "adcb920c-12a7-478f-b1f2-9877d62d2673", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk" + "source": { + "block": "b1e41924-f354-4744-b5f0-a93a1fdc6828", + "port": "out" }, - "position": { - "x": 1200, - "y": 864 + "target": { + "block": "4de777a9-a4a5-4ace-adf6-688298d0d736", + "port": "inlabel" } }, { - "id": "24450b7d-19ce-463a-83fb-5e1c04e4b093", - "type": "basic.output", - "data": { - "name": "tic" + "source": { + "block": "9cdfc247-4374-4660-b8c7-246e9aa090d7", + "port": "out", + "size": 8 }, - "position": { - "x": 2040, - "y": 888 - } + "target": { + "block": "b3f14933-93b7-4bc1-8585-471518a370ce", + "port": "inlabel" + }, + "size": 8 }, { - "id": "1afea26e-4199-4bc9-bee1-c5689a14f8b6", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "tic", - "oldBlockColor": "fuchsia" + "source": { + "block": "db924183-9079-4d5e-ba72-24086b523403", + "port": "outlabel" }, - "position": { - "x": 1872, - "y": 888 - } + "target": { + "block": "a7a62de6-e5c1-4dec-95c9-55e64ac949d2", + "port": "9978357f-7ad7-44b5-97d2-b44692508773", + "size": 8 + }, + "size": 8 }, { - "id": "caf86b2c-c08d-411d-be47-4084fec9532e", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "tic", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "source": { + "block": "95f8ff76-02e4-4f69-8db6-d285cfe13d4a", + "port": "outlabel" }, - "position": { - "x": 1504, - "y": 912 + "target": { + "block": "a7a62de6-e5c1-4dec-95c9-55e64ac949d2", + "port": "7fb933a6-5c63-4d46-8aaa-440b30974993" } }, { - "id": "eda78d52-57f7-4e44-bd8e-75e67c496650", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "next" + "source": { + "block": "a76b111f-f808-4e45-8873-d8e76eb8612e", + "port": "outlabel" }, - "position": { - "x": 880, - "y": 936 + "target": { + "block": "70c57eb6-a5b4-421b-9262-cdc5875376e1", + "port": "7fb933a6-5c63-4d46-8aaa-440b30974993" } }, { - "id": "366a768a-2f5d-4c01-8338-bdef0a688ea7", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "done", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "source": { + "block": "b1cd47ec-5a10-4bd1-bff9-a9d1707d621d", + "port": "outlabel" }, - "position": { - "x": 1152, - "y": 992 + "target": { + "block": "daefb83b-9b87-4d60-9ad8-9209f5d30e21", + "port": "6080df5a-c853-47cf-aaa7-c5a8f1e65879" } }, { - "id": "0a517454-aeac-48a3-bc62-6aa73da948bd", - "type": "basic.info", - "data": { - "info": "Reading data from memory \nReading bus status", - "readonly": true + "source": { + "block": "daefb83b-9b87-4d60-9ad8-9209f5d30e21", + "port": "ecaf7923-2995-4c02-a531-778edf600834", + "size": 24 }, - "position": { - "x": 336, - "y": 120 + "target": { + "block": "218bd314-2f32-4e2b-b3f4-4f7e0f8f3e70", + "port": "inlabel" }, - "size": { - "width": 232, - "height": 64 - } + "size": 24 }, { - "id": "b6323c55-9b6d-4753-8953-7fb34775a27b", - "type": "21cfcc19a4ad14c5fb5e8cfebd018ec356fe7542", - "position": { - "x": 864, - "y": 16 + "source": { + "block": "b3c9756a-c4ff-496f-972f-11e1904c9bd4", + "port": "outlabel" }, - "size": { - "width": 96, - "height": 64 - } + "target": { + "block": "a7a62de6-e5c1-4dec-95c9-55e64ac949d2", + "port": "94f3b4c1-ffb7-450b-99c4-aebfb6c4e124", + "size": 24 + }, + "vertices": [ + { + "x": 392, + "y": 920 + } + ], + "size": 24 }, { - "id": "5f897fa2-936f-47cd-9310-a36fb4cb14a1", - "type": "3bf99b8d77aa1b29ec1bf618b53175de87f1001d", - "position": { - "x": 864, - "y": -64 + "source": { + "block": "68b503e6-2b67-4fba-9b21-96ca03b1ac6a", + "port": "memory-out" }, - "size": { - "width": 96, - "height": 64 - } + "target": { + "block": "daefb83b-9b87-4d60-9ad8-9209f5d30e21", + "port": "b07ab569-1013-48d4-916e-4e447f8ea11b" + }, + "vertices": [] }, { - "id": "a200cfa9-fe9a-4c4b-b9d4-f4307d071797", - "type": "basic.info", - "data": { - "info": "Calculate if the bus can be taken", - "readonly": true + "source": { + "block": "a7a62de6-e5c1-4dec-95c9-55e64ac949d2", + "port": "95c4416f-62f5-4196-a406-f7915d40a572" }, - "position": { - "x": 216, - "y": 440 + "target": { + "block": "70c57eb6-a5b4-421b-9262-cdc5875376e1", + "port": "b14f140b-7bb5-46d9-8019-39c27ff6e0e3" }, - "size": { - "width": 272, - "height": 32 - } + "vertices": [] }, { - "id": "7a989d63-cd4a-4c47-9513-57b4ea6ee141", - "type": "35f267d0df6ffcb7fc33753bc9df9cf083642cca", - "position": { - "x": 296, - "y": 552 + "source": { + "block": "bf04f199-c541-48bb-b97b-024f13f8a77c", + "port": "constant-out" }, - "size": { - "width": 96, - "height": 64 + "target": { + "block": "b3fb3351-e2cc-42b6-ac47-08d6fee8e3cb", + "port": "ac5c1fd2-04e0-41a2-8d4d-c2e41b2e5b8f" } }, { - "id": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", - "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", - "position": { - "x": 464, - "y": 568 + "source": { + "block": "301e5c60-1782-4bb1-8922-3b1430d30e21", + "port": "constant-out" }, - "size": { - "width": 96, - "height": 64 + "target": { + "block": "b3fb3351-e2cc-42b6-ac47-08d6fee8e3cb", + "port": "d4a02852-2578-4c4d-b7e2-0708b0ef9794" } }, { - "id": "239fe2ba-e2b9-4446-a1ea-51e1616f5b75", - "type": "basic.info", - "data": { - "info": "The bus is available", - "readonly": true + "source": { + "block": "a7a62de6-e5c1-4dec-95c9-55e64ac949d2", + "port": "fa41806b-2355-4923-895f-3ead2e752b43" }, - "position": { - "x": 384, - "y": 512 + "target": { + "block": "70c57eb6-a5b4-421b-9262-cdc5875376e1", + "port": "64a86ee7-b105-409d-9e91-cca498c9121b" }, - "size": { - "width": 184, - "height": 32 - } + "size": 24 }, { - "id": "b62ad9b4-5b0e-4b74-a0ad-947946a59331", - "type": "basic.info", - "data": { - "info": "This circuits wants \nto use the bus", - "readonly": true + "source": { + "block": "70c57eb6-a5b4-421b-9262-cdc5875376e1", + "port": "7b8dd447-e9d2-4c9f-ba7c-c3af9abed4e8" }, - "position": { - "x": 280, - "y": 664 + "target": { + "block": "daefb83b-9b87-4d60-9ad8-9209f5d30e21", + "port": "7b7a0dd2-57ea-4f82-940a-a1fafe7962bf" }, - "size": { - "width": 192, - "height": 56 - } - }, + "size": 24 + } + ] + } + } + }, + "58354ef6a90ba7895773f2652b9bdd4b7fc36176": { + "package": { + "name": "stdout-serial-sysclk", + "version": "0.2", + "description": "Serial transmiter for the stdout bus, with sysclk parameter", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22230.265%22%20width=%22258.177%22%20viewBox=%220%200%20242.04167%20215.87473%22%3E%3Cg%20transform=%22translate(344.08%20-10.985)%20scale(1.04907)%22%20stroke=%22#000%22%3E%3Cpath%20d=%22M-170.798%20177.526l.315%2036.011%2040.397-37.263v-33.51z%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M-308.584%20177.892l53.235-35.7%20124.635.628-39.456%2035.7%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Crect%20ry=%223.509%22%20height=%2236.325%22%20width=%22139.039%22%20y=%22178.153%22%20x=%22-308.895%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22square%22/%3E%3Cg%20transform=%22matrix(1.88858%200%200%201.88858%20-312.436%20138.651)%22%20stroke-width=%22.938%22%20stroke-linecap=%22square%22%3E%3Ccircle%20cy=%2230.367%22%20cx=%2211.326%22%20r=%223.15%22%20fill=%22red%22/%3E%3Ccircle%20cy=%2230.367%22%20cx=%2220.611%22%20r=%223.15%22%20fill=%22#faa%22/%3E%3Ccircle%20cy=%2230.367%22%20cx=%2262.82%22%20r=%223.15%22%20fill=%22green%22/%3E%3Ccircle%20cy=%2230.367%22%20cx=%2230.554%22%20r=%223.15%22%20fill=%22red%22/%3E%3C/g%3E%3C/g%3E%3Ctext%20y=%2240.93%22%20x=%2225.952%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2294.276%22%20letter-spacing=%220%22%20word-spacing=%220%22%20transform=%22scale(.99853%201.00147)%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%221.749%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2240.93%22%20x=%2225.952%22%20font-weight=%22700%22%20font-size=%2253.872%22%3ESerial%3C/tspan%3E%3C/text%3E%3Ctext%20y=%22108.569%22%20x=%22-3.867%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2294.276%22%20letter-spacing=%220%22%20word-spacing=%220%22%20transform=%22scale(.99853%201.00147)%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%221.749%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%22108.569%22%20x=%22-3.867%22%20font-weight=%22700%22%20font-size=%2253.872%22%3ESTDOUT%3C/tspan%3E%3C/text%3E%3C/svg%3E", + "otid": 1574522291739 + }, + "design": { + "graph": { + "blocks": [ { - "id": "c25805fd-f852-43d5-93db-f3f0cb17c301", - "type": "basic.info", + "id": "2d00d963-00f8-4a0a-9cb8-a4e5bfb61323", + "type": "basic.input", "data": { - "info": "The bus has been already \ntaken", - "readonly": true + "name": "", + "clock": true }, "position": { - "x": 272, - "y": 816 - }, - "size": { - "width": 208, - "height": 56 + "x": 248, + "y": 224 } }, { - "id": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", - "type": "81613874c6152f06c06ed7014bf4235900cfcc30", - "position": { - "x": 648, - "y": 584 + "id": "340a0c20-8472-4bd8-ae36-204a57b49285", + "type": "basic.inputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "size": { - "width": 96, - "height": 64 + "position": { + "x": 424, + "y": 224 } }, { - "id": "26b71a43-5955-4452-9b0e-94ea6ef453b7", - "type": "81613874c6152f06c06ed7014bf4235900cfcc30", - "position": { - "x": 1088, - "y": 296 + "id": "019dc637-ca36-4e18-8db1-5d5318fb2d6e", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "size": { - "width": 96, - "height": 64 + "position": { + "x": 552, + "y": 376 } }, { - "id": "d3ce12c0-3b45-4ed2-8446-fb6c4c8e8710", - "type": "basic.info", + "id": "3229f563-798d-4db3-9966-52596ca5cef1", + "type": "basic.inputLabel", "data": { - "info": "One cycle after the machine is done \nthe bus is already taken to write \nthe bbusy signal to 0 and allow \nother circuits to use it", - "readonly": true + "name": "tx", + "blockColor": "fuchsia", + "oldBlockColor": "fuchsia" }, "position": { - "x": 960, - "y": 392 - }, - "size": { - "width": 304, - "height": 88 + "x": 848, + "y": 376 } }, { - "id": "110cf90a-bc63-4642-a72e-33e8e397e804", - "type": "basic.info", + "id": "f2043f09-b391-40ea-9d1d-721438b68ef1", + "type": "basic.output", "data": { - "info": "The output bus is controlled \nby this circuit (1) or \nremain untouched (0)", - "readonly": true + "name": "tx" }, "position": { - "x": 1320, - "y": 288 + "x": 1336, + "y": 384 + } + }, + { + "id": "6ba67914-123c-4491-862c-8eda58a6c040", + "type": "basic.outputLabel", + "data": { + "name": "tx", + "blockColor": "fuchsia", + "oldBlockColor": "fuchsia" }, - "size": { - "width": 240, - "height": 112 + "position": { + "x": 1184, + "y": 384 } }, { - "id": "0421b3fd-c660-4279-abe0-e1d486431ce0", - "type": "basic.info", + "id": "e1ba0ef0-77f6-4ab9-9892-b5c93aa3167c", + "type": "basic.inputLabel", "data": { - "info": "The reading machine \ncan be started", - "readonly": true + "name": "busy", + "blockColor": "fuchsia" }, "position": { - "x": 584, + "x": 848, "y": 456 + } + }, + { + "id": "bf297685-7b54-477f-b9ee-3c143135097b", + "type": "basic.input", + "data": { + "name": "", + "range": "[9:0]", + "clock": false, + "size": 10 }, - "size": { - "width": 184, - "height": 64 + "position": { + "x": 256, + "y": 472 } }, { - "id": "e0ace7c0-caa0-440e-9868-d76ffb18bfb2", - "type": "basic.info", + "id": "6a12a92e-7e13-4bc0-9051-8aba3b29df38", + "type": "basic.outputLabel", "data": { - "info": "Reading machine", - "readonly": true + "blockColor": "fuchsia", + "name": "Ready", + "range": "[9:0]", + "oldBlockColor": "fuchsia", + "size": 10 }, "position": { - "x": 1016, - "y": 728 + "x": 1184, + "y": 480 + } + }, + { + "id": "93defa79-7f79-4614-8e5b-17ceacc8c7cf", + "type": "basic.output", + "data": { + "name": "rdy", + "range": "[9:0]", + "size": 10 }, - "size": { - "width": 168, - "height": 48 + "position": { + "x": 1336, + "y": 480 } }, { - "id": "165f75a6-a05d-4025-aac5-91f45cd6cd30", - "type": "1c7dae7144d376f2ee4896fcc502a29110e2db37", + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", + "data": { + "name": "busy" + }, "position": { - "x": 1904, - "y": 520 + "x": 1336, + "y": 576 + } + }, + { + "id": "6b86af4f-f0c9-4134-b2c9-9e9d1b0d6e15", + "type": "basic.outputLabel", + "data": { + "name": "busy", + "blockColor": "fuchsia" }, - "size": { - "width": 96, - "height": 64 + "position": { + "x": 1192, + "y": 576 } }, { - "id": "d155022c-5f5d-4a1b-8e0b-9643481e530b", - "type": "359a555a147b0afd9d84e4a720ec84b7cdfbc034", + "id": "2482a63c-2352-4fd5-81ee-6fcaa856ccdd", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "Ready", + "range": "[9:0]", + "oldBlockColor": "fuchsia", + "size": 10 + }, "position": { - "x": 1880, - "y": 664 + "x": 1008, + "y": 600 + } + }, + { + "id": "b04e50bc-ceae-4d5b-9bd1-259af770825c", + "type": "basic.input", + "data": { + "name": "nc", + "clock": false }, - "size": { - "width": 96, - "height": 96 + "position": { + "x": 256, + "y": 600 } }, { - "id": "5aeed2ef-7590-4245-a540-a63acb068e09", - "type": "3bf99b8d77aa1b29ec1bf618b53175de87f1001d", + "id": "ac5c1fd2-04e0-41a2-8d4d-c2e41b2e5b8f", + "type": "basic.constant", + "data": { + "name": "sclk", + "value": "12000000", + "local": false + }, "position": { - "x": 1648, - "y": 680 + "x": 624, + "y": 264 + } + }, + { + "id": "d4a02852-2578-4c4d-b7e2-0708b0ef9794", + "type": "basic.constant", + "data": { + "name": "bps", + "value": "115200", + "local": false }, - "size": { - "width": 96, - "height": 64 + "position": { + "x": 768, + "y": 264 } }, { - "id": "045bea3c-647f-44be-8b84-4957291749a4", - "type": "1c7dae7144d376f2ee4896fcc502a29110e2db37", + "id": "e968d987-07d6-43f6-91c7-c51f2d0d5793", + "type": "c955cf93ef694308de70400b30cdd774804f88a9", "position": { - "x": 1336, - "y": 912 + "x": 480, + "y": 472 }, "size": { "width": 96, @@ -13243,832 +12751,862 @@ } }, { - "id": "e9c87f9b-8312-41de-af70-db0772825e09", - "type": "ae7cd7cc997647c6f4f9ed332bbf1849b798d4cb", + "id": "4cbc5545-838d-4037-8ff3-065df8ec78f6", + "type": "113ccf91a6aa073b6493e621c1add3fe0989efad", "position": { - "x": 1904, - "y": 32 + "x": 848, + "y": 600 }, "size": { "width": 96, - "height": 128 + "height": 64 } }, { - "id": "5ce3f494-5892-4a5c-9720-fc5c71449b27", + "id": "7fa9a681-773d-4d20-91c6-e8109073c635", "type": "basic.info", "data": { - "info": "## Download machine\n\nTransmit all the memory contents through the serial port \nThe bytes are transmited raw (in binary). No ascii encoding \nThere should be a program running on the computer capable of \nreading these raw bytes", + "info": "## STDOUT serial\n\nSerial transmitter for the STDOUT bus\n", "readonly": true }, "position": { - "x": -112, - "y": -168 + "x": 264, + "y": 64 }, "size": { - "width": 504, - "height": 120 + "width": 352, + "height": 88 } }, { - "id": "10cf0acf-2627-46d4-8c0d-840056c3a6be", - "type": "f1dc888a11b743f08087b6e65015fe269bed1f6f", - "position": { - "x": 384, - "y": 184 + "id": "e03f0e2f-15f0-4a94-8757-e4a9f8a02c56", + "type": "basic.info", + "data": { + "info": "**STDOUT Bus** \n* Data to transmit (8 bits) \n* tic (1 bit)\n* data sent (done tic, 1 bit)", + "readonly": true }, - "size": { - "width": 96, - "height": 128 - } - }, - { - "id": "8205f22c-1d31-4e0a-a4d9-7fbbc780e32d", - "type": "6050ed4fa033f3f13d3fe5fae5dcedb414a0fede", "position": { - "x": 1080, - "y": -80 + "x": 240, + "y": 352 }, "size": { - "width": 96, - "height": 128 + "width": 264, + "height": 80 } }, { - "id": "c4492dd4-658c-4c26-9b2b-b6d26243039b", - "type": "7cd239bdd995aa0988ea7615327f97fbe335930d", + "id": "30ebb8d3-8383-4cf3-8e2c-95f15e6a134f", + "type": "dfb66a3c3bf23ef758606d2c4ba6b059ba3793d9", "position": { - "x": 1312, - "y": 104 + "x": 680, + "y": 440 }, "size": { "width": 96, "height": 96 } - }, - { - "id": "98bbdcc7-f58a-4c93-be85-ccfe5b16ddb4", - "type": "efe39aa2a101707774e24b099a0654cc52ff8a04", - "position": { - "x": 1016, - "y": 800 - }, - "size": { - "width": 96, - "height": 128 - } } ], "wires": [ { "source": { - "block": "7fb933a6-5c63-4d46-8aaa-440b30974993", + "block": "2d00d963-00f8-4a0a-9cb8-a4e5bfb61323", "port": "out" }, "target": { - "block": "2c31aa6a-383c-4eb5-b669-b8a31ad14225", + "block": "340a0c20-8472-4bd8-ae36-204a57b49285", "port": "inlabel" }, "vertices": [] }, { "source": { - "block": "b14f140b-7bb5-46d9-8019-39c27ff6e0e3", - "port": "out" + "block": "019dc637-ca36-4e18-8db1-5d5318fb2d6e", + "port": "outlabel" }, "target": { - "block": "da45f105-3600-4458-a820-50046581f5dd", - "port": "inlabel" + "block": "30ebb8d3-8383-4cf3-8e2c-95f15e6a134f", + "port": "4c296e24-7312-407a-8fb0-f3a6d4feb3ab" } }, { "source": { - "block": "10cf0acf-2627-46d4-8c0d-840056c3a6be", - "port": "9751f777-00ec-46c1-8d85-07d2dec1e653" + "block": "4cbc5545-838d-4037-8ff3-065df8ec78f6", + "port": "72968b0a-a651-457f-8809-036985e64653", + "size": 10 }, "target": { - "block": "05a1a5b4-bf29-49df-b0b1-887859d9ec9e", + "block": "2482a63c-2352-4fd5-81ee-6fcaa856ccdd", "port": "inlabel" - } + }, + "size": 10 }, { "source": { - "block": "10cf0acf-2627-46d4-8c0d-840056c3a6be", - "port": "afe50480-6fe5-4ca6-b639-c730569a6a1d", - "size": 8 + "block": "6a12a92e-7e13-4bc0-9051-8aba3b29df38", + "port": "outlabel" }, "target": { - "block": "914e03dd-1133-4325-a333-b10f953ecce5", - "port": "inlabel" + "block": "93defa79-7f79-4614-8e5b-17ceacc8c7cf", + "port": "in", + "size": 10 }, - "size": 8 + "size": 10 }, { "source": { - "block": "7df4a7f1-90b6-4562-8be3-e4719a824545", - "port": "outlabel" + "block": "30ebb8d3-8383-4cf3-8e2c-95f15e6a134f", + "port": "75d4695e-f445-4762-9ae9-c9bf0e51974f" }, "target": { - "block": "98bbdcc7-f58a-4c93-be85-ccfe5b16ddb4", - "port": "cb426e3d-ace3-4a57-a74b-155caed0c14c" + "block": "e1ba0ef0-77f6-4ab9-9892-b5c93aa3167c", + "port": "inlabel" } }, { "source": { - "block": "fce01e4d-e6d2-4811-8f96-410673168b4c", + "block": "6b86af4f-f0c9-4134-b2c9-9e9d1b0d6e15", "port": "outlabel" }, "target": { - "block": "7a989d63-cd4a-4c47-9513-57b4ea6ee141", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - }, - "vertices": [] + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" + } }, { "source": { - "block": "524ca75c-cdd3-4e79-851a-b46ce146bd66", + "block": "6ba67914-123c-4491-862c-8eda58a6c040", "port": "outlabel" }, "target": { - "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", - "port": "97b51945-d716-4b6c-9db9-970d08541249" - }, - "vertices": [] + "block": "f2043f09-b391-40ea-9d1d-721438b68ef1", + "port": "in" + } }, { "source": { - "block": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "30ebb8d3-8383-4cf3-8e2c-95f15e6a134f", + "port": "09701eaa-8d79-487f-b003-267e04095bb1" }, "target": { - "block": "700d8b15-d6df-4b76-b10d-72db58c33e6c", + "block": "3229f563-798d-4db3-9966-52596ca5cef1", "port": "inlabel" - }, - "vertices": [] + } }, { "source": { - "block": "0db424eb-f896-41e1-becb-7eb065dd64f2", - "port": "outlabel" + "block": "e968d987-07d6-43f6-91c7-c51f2d0d5793", + "port": "03a1539f-6d99-4957-a7ca-3718ec57b1ee" }, "target": { - "block": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", - "port": "97b51945-d716-4b6c-9db9-970d08541249" + "block": "30ebb8d3-8383-4cf3-8e2c-95f15e6a134f", + "port": "27183891-b385-412b-bc55-21df1dd0280e" }, - "vertices": [ - { - "x": 584, - "y": 824 - } - ] + "vertices": [], + "size": 8 }, { "source": { - "block": "9be4488d-51be-4346-8a31-5d8f2f86e4d3", - "port": "outlabel" + "block": "e968d987-07d6-43f6-91c7-c51f2d0d5793", + "port": "11b231a8-883c-47a2-afea-ce22fc2fc800" }, "target": { - "block": "26b71a43-5955-4452-9b0e-94ea6ef453b7", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "block": "30ebb8d3-8383-4cf3-8e2c-95f15e6a134f", + "port": "6bb28a95-e6e4-4044-9c22-c4404693b6b1" }, "vertices": [] }, { "source": { - "block": "923c4db6-0c76-4647-a848-75fd61fba6ec", - "port": "outlabel" + "block": "30ebb8d3-8383-4cf3-8e2c-95f15e6a134f", + "port": "42306dfc-8702-4c9a-98d6-56b4c86fff21" }, "target": { - "block": "26b71a43-5955-4452-9b0e-94ea6ef453b7", - "port": "97b51945-d716-4b6c-9db9-970d08541249" + "block": "4cbc5545-838d-4037-8ff3-065df8ec78f6", + "port": "3bbe35e4-7c46-4bbb-b9c3-3a6f4bbaf1c0" }, "vertices": [] }, { "source": { - "block": "98bbdcc7-f58a-4c93-be85-ccfe5b16ddb4", - "port": "49221b19-132a-4e3f-9a1f-97bcd463391b" + "block": "bf297685-7b54-477f-b9ee-3c143135097b", + "port": "out" }, "target": { - "block": "366a768a-2f5d-4c01-8338-bdef0a688ea7", - "port": "inlabel" - } - }, - { - "source": { - "block": "eda78d52-57f7-4e44-bd8e-75e67c496650", - "port": "outlabel" + "block": "e968d987-07d6-43f6-91c7-c51f2d0d5793", + "port": "62f60de5-6d65-45f1-a57a-96daf57df585" }, - "target": { - "block": "98bbdcc7-f58a-4c93-be85-ccfe5b16ddb4", - "port": "ad4d0fc2-118e-496e-b292-c435bad20e7d" - } + "size": 10 }, { "source": { - "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "d4a02852-2578-4c4d-b7e2-0708b0ef9794", + "port": "constant-out" }, "target": { - "block": "54e9bf9f-b852-4c45-bd53-f6eb4ee707eb", - "port": "inlabel" + "block": "30ebb8d3-8383-4cf3-8e2c-95f15e6a134f", + "port": "671d0b4d-317d-4aef-8422-8b9a400211a4" } }, { "source": { - "block": "dc204461-1dd1-428f-91a2-006d905d6585", - "port": "outlabel" + "block": "ac5c1fd2-04e0-41a2-8d4d-c2e41b2e5b8f", + "port": "constant-out" }, "target": { - "block": "98bbdcc7-f58a-4c93-be85-ccfe5b16ddb4", - "port": "8f591b24-0427-409f-aa6e-ca1861556cf5" + "block": "30ebb8d3-8383-4cf3-8e2c-95f15e6a134f", + "port": "76db97e8-ad17-4a4b-b288-73e449659681" } - }, + } + ] + } + } + }, + "c955cf93ef694308de70400b30cdd774804f88a9": { + "package": { + "name": "stdout-bus-split2", + "version": "0.1", + "description": "stdout bus splitter into data and tic signals", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22354.768%22%20height=%22219.63%22%20viewBox=%220%200%20332.595%20205.90272%22%3E%3Cpath%20d=%22M168.377%2068.938l61.147-52.233C240.21%206.25%20254.56.461%20269.484.5h62.611v26.186l-61.698.046c-8.012-.043-15.705%203.133-21.47%208.81l-61.448%2052.61a57.292%2057.292%200%200%201-39.993%2016.139%2057.292%2057.292%200%200%201%2039.993%2016.139l61.448%2049.93c5.765%205.678%2013.458%208.854%2021.47%208.81l61.698.046v26.187h-62.612c-14.924.039-29.463-5.9-40.204-16.28l-60.902-49.48a29.857%2029.857%200%200%200-21.347-8.809L.5%20130.72V77.752h146.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%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22194.597%22%20y=%22247.958%22%20font-weight=%22400%22%20font-size=%2244.109%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.938%22%20transform=%22translate(-184.13%20-199.542)%22%3E%3Ctspan%20x=%22194.597%22%20y=%22247.958%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ESTDOUT%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22228.835%22%20y=%22387.938%22%20font-weight=%22400%22%20font-size=%2244.109%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.938%22%20transform=%22translate(-184.13%20-199.542)%22%3E%3Ctspan%20x=%22228.835%22%20y=%22387.938%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EBUS%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22299.979%22%20y=%22389.373%22%20font-weight=%22400%22%20font-size=%2215%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%22.938%22%20transform=%22translate(-184.13%20-199.542)%22/%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ { - "source": { - "block": "98bbdcc7-f58a-4c93-be85-ccfe5b16ddb4", - "port": "6a11eaf9-4bd5-405e-81f8-44418365326b" + "id": "03a1539f-6d99-4957-a7ca-3718ec57b1ee", + "type": "basic.output", + "data": { + "name": "", + "range": "[7:0]", + "size": 8 }, - "target": { - "block": "7e9db299-cb56-4cd9-a489-d5fbd6eb3e2f", - "port": "inlabel" + "position": { + "x": 608, + "y": 168 } }, { - "source": { - "block": "a040cc3d-b2c6-458e-bde6-f8234a19b6d1", - "port": "outlabel" - }, - "target": { - "block": "38abb13c-8652-41fb-931c-c7bf760ebb24", - "port": "in" + "id": "62f60de5-6d65-45f1-a57a-96daf57df585", + "type": "basic.input", + "data": { + "name": "", + "range": "[9:0]", + "clock": false, + "size": 10 }, - "vertices": [] + "position": { + "x": 128, + "y": 192 + } }, { - "source": { - "block": "8ca2279c-fdc3-40d3-9fbe-2071c026932f", - "port": "outlabel" + "id": "11b231a8-883c-47a2-afea-ce22fc2fc800", + "type": "basic.output", + "data": { + "name": "tic" }, - "target": { - "block": "8205f22c-1d31-4e0a-a4d9-7fbbc780e32d", - "port": "49fb1766-1e7f-4706-9872-a6cd65cc9f2d" + "position": { + "x": 576, + "y": 248 } }, { - "source": { - "block": "289f00be-f97d-4553-a60a-32d8b45da4cc", - "port": "outlabel" + "id": "16e78204-213e-4833-9096-89d735307ec2", + "type": "basic.code", + "data": { + "code": "assign data = i[9:2];\nassign tic = i[1];", + "params": [], + "ports": { + "in": [ + { + "name": "i", + "range": "[9:0]", + "size": 10 + } + ], + "out": [ + { + "name": "data", + "range": "[7:0]", + "size": 8 + }, + { + "name": "tic" + } + ] + } }, - "target": { - "block": "165f75a6-a05d-4025-aac5-91f45cd6cd30", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + "position": { + "x": 296, + "y": 176 + }, + "size": { + "width": 232, + "height": 96 } - }, + } + ], + "wires": [ { "source": { - "block": "7d0852c6-4778-4a53-bf90-30527c44a0eb", - "port": "outlabel" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "data" }, "target": { - "block": "165f75a6-a05d-4025-aac5-91f45cd6cd30", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" - } + "block": "03a1539f-6d99-4957-a7ca-3718ec57b1ee", + "port": "in" + }, + "size": 8 }, { "source": { - "block": "c1c96b9c-e573-43a0-8b60-9f7fe7ad5ae6", - "port": "outlabel" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "tic" }, "target": { - "block": "d155022c-5f5d-4a1b-8e0b-9643481e530b", - "port": "1e637a79-4a6d-495c-bcac-9664bdbe4b94" - }, - "vertices": [] + "block": "11b231a8-883c-47a2-afea-ce22fc2fc800", + "port": "in" + } }, { "source": { - "block": "0399b081-5696-4bf7-bb75-cd55da78d4f5", - "port": "outlabel" + "block": "62f60de5-6d65-45f1-a57a-96daf57df585", + "port": "out" }, "target": { - "block": "d155022c-5f5d-4a1b-8e0b-9643481e530b", - "port": "9f5a1c91-1b93-4609-877c-816ed8fd0871", - "size": 8 + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i" }, - "size": 8 - }, + "size": 10 + } + ] + } + } + }, + "113ccf91a6aa073b6493e621c1add3fe0989efad": { + "package": { + "name": "stdout-bus-next-in", + "version": "0.1", + "description": "Convert the 1-bit next signal into a 10-bit stdout bus", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22356.708%22%20height=%22176.233%22%20viewBox=%220%200%2094.37896%2046.628384%22%3E%3Cg%20transform=%22translate(-44.148%20-120.418)%22%3E%3Crect%20width=%2233.016%22%20height=%227.314%22%20x=%22-77.429%22%20y=%22141.954%22%20ry=%220%22%20transform=%22scale(-1%201)%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22bevel%22/%3E%3Crect%20width=%2235.851%22%20height=%2214.797%22%20x=%22-138.262%22%20y=%22138.101%22%20ry=%220%22%20transform=%22scale(-1%201)%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22bevel%22/%3E%3Crect%20width=%2225.079%22%20height=%2227.493%22%20x=%22-102.314%22%20y=%22132.039%22%20ry=%220%22%20transform=%22scale(-1%201)%22%20fill=%22#999%22%20stroke=%22#000%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22bevel%22/%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%2289.27%22%20y=%22130.378%22%20font-weight=%22400%22%20font-size=%2212.449%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20x=%2289.27%22%20y=%22130.378%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ESTDOUT%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22105.548%22%20y=%22166.86%22%20font-weight=%22400%22%20font-size=%2212.449%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20x=%22105.548%22%20y=%22166.86%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EBUS%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ { - "source": { - "block": "adcb920c-12a7-478f-b1f2-9877d62d2673", - "port": "outlabel" + "id": "3bbe35e4-7c46-4bbb-b9c3-3a6f4bbaf1c0", + "type": "basic.input", + "data": { + "name": "next", + "clock": false }, - "target": { - "block": "045bea3c-647f-44be-8b84-4957291749a4", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + "position": { + "x": 128, + "y": 192 } }, { - "source": { - "block": "045bea3c-647f-44be-8b84-4957291749a4", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + "id": "72968b0a-a651-457f-8809-036985e64653", + "type": "basic.output", + "data": { + "name": "", + "range": "[9:0]", + "size": 10 }, - "target": { - "block": "caf86b2c-c08d-411d-be47-4084fec9532e", - "port": "inlabel" + "position": { + "x": 640, + "y": 192 } }, { - "source": { - "block": "1afea26e-4199-4bc9-bee1-c5689a14f8b6", - "port": "outlabel" + "id": "16e78204-213e-4833-9096-89d735307ec2", + "type": "basic.code", + "data": { + "code": "assign o[0] = next;", + "params": [], + "ports": { + "in": [ + { + "name": "next" + } + ], + "out": [ + { + "name": "o", + "range": "[9:0]", + "size": 10 + } + ] + } }, - "target": { - "block": "24450b7d-19ce-463a-83fb-5e1c04e4b093", - "port": "in" + "position": { + "x": 296, + "y": 176 + }, + "size": { + "width": 264, + "height": 88 } - }, + } + ], + "wires": [ { "source": { - "block": "886b88b1-4987-4f1f-aadd-d82bb53ab445", - "port": "out", - "size": 10 + "block": "3bbe35e4-7c46-4bbb-b9c3-3a6f4bbaf1c0", + "port": "out" }, "target": { - "block": "523a4825-1562-4f5d-b129-c7d08fe542c2", - "port": "inlabel" - }, - "size": 10 + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "next" + } }, { "source": { - "block": "b359cb97-c324-4ffc-a73c-64c7f457e6fa", - "port": "outlabel" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o" }, "target": { - "block": "e9c87f9b-8312-41de-af70-db0772825e09", - "port": "8c3ce21f-2214-489f-853a-d60a223034da", - "size": 10 + "block": "72968b0a-a651-457f-8809-036985e64653", + "port": "in" }, "size": 10 - }, + } + ] + } + } + }, + "dfb66a3c3bf23ef758606d2c4ba6b059ba3793d9": { + "package": { + "name": "Serial-tx-sysclk", + "version": "0.3", + "description": "Serial transmitter with system clock freq parameter", + "author": "Juan Gonzalez-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22223.269%22%20width=%22293.137%22%20viewBox=%220%200%20274.81662%20209.31615%22%3E%3Cg%20transform=%22translate(347.142%20-102.544)%20scale(1.04907)%22%20stroke=%22#000%22%3E%3Cpath%20d=%22M-170.798%20177.526l.315%2036.011%2040.397-37.263v-33.51z%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M-308.584%20177.892l53.235-35.7%20124.635.628-39.456%2035.7%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Crect%20ry=%223.509%22%20height=%2236.325%22%20width=%22139.039%22%20y=%22178.153%22%20x=%22-308.895%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22square%22/%3E%3Cg%20transform=%22matrix(1.88858%200%200%201.88858%20-312.436%20138.651)%22%20stroke-width=%22.938%22%20stroke-linecap=%22square%22%3E%3Ccircle%20cy=%2230.367%22%20cx=%2211.326%22%20r=%223.15%22%20fill=%22red%22/%3E%3Ccircle%20cy=%2230.367%22%20cx=%2220.611%22%20r=%223.15%22%20fill=%22#faa%22/%3E%3Ccircle%20cy=%2230.367%22%20cx=%2262.82%22%20r=%223.15%22%20fill=%22green%22/%3E%3Ccircle%20cy=%2230.367%22%20cx=%2230.554%22%20r=%223.15%22%20fill=%22red%22/%3E%3C/g%3E%3C/g%3E%3Ctext%20y=%2228.295%22%20x=%2270.801%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2265.172%22%20letter-spacing=%220%22%20word-spacing=%220%22%20transform=%22scale(.99853%201.00147)%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%221.209%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2228.295%22%20x=%2270.801%22%20font-weight=%22700%22%20font-size=%2237.241%22%3ESerial%3C/tspan%3E%3C/text%3E%3Cg%20transform=%22translate(-49.71%20-39.925)%20scale(2.8106)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22translate(-240.978%20-39.925)%20scale(2.8106)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Ccircle%20cx=%22233.043%22%20cy=%2281.071%22%20r=%2240.92%22%20fill=%22#ececec%22%20stroke=%22green%22%20stroke-width=%221.71%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M261.766%2092.931h-4.696V67.437h-48.103v25.295h-5.116%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%224.275%22%20stroke-linecap=%22round%22/%3E%3Ctext%20y=%22165.6%22%20x=%22108.068%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2265.172%22%20letter-spacing=%220%22%20word-spacing=%220%22%20transform=%22scale(.99853%201.00147)%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%221.209%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%22165.6%22%20x=%22108.068%22%20font-weight=%22700%22%20font-size=%2237.241%22%3ETX%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ { - "source": { - "block": "f81791c6-f02f-46d0-b738-5895dd124243", - "port": "outlabel" + "id": "09701eaa-8d79-487f-b003-267e04095bb1", + "type": "basic.output", + "data": { + "name": "TX" }, - "target": { - "block": "e9c87f9b-8312-41de-af70-db0772825e09", - "port": "04841e3c-8761-454a-8d99-496fde26ea1f" + "position": { + "x": 960, + "y": 120 } }, { - "source": { - "block": "a875b188-26fa-4052-ae81-4b5f22f4c1e5", - "port": "outlabel" - }, - "target": { - "block": "e9c87f9b-8312-41de-af70-db0772825e09", - "port": "1ac9dd5b-9741-4af4-963a-50cbf8c4c6be" + "id": "4c296e24-7312-407a-8fb0-f3a6d4feb3ab", + "type": "basic.input", + "data": { + "name": "", + "clock": true }, - "vertices": [ - { - "x": 1800, - "y": 88 - } - ] + "position": { + "x": -16, + "y": 120 + } }, { - "source": { - "block": "786f1170-66ce-4c3a-acdc-073388546edd", - "port": "outlabel" - }, - "target": { - "block": "e9c87f9b-8312-41de-af70-db0772825e09", - "port": "72632c73-fe18-42b3-b81f-46999ddfdb20", + "id": "27183891-b385-412b-bc55-21df1dd0280e", + "type": "basic.input", + "data": { + "name": "", + "range": "[7:0]", + "clock": false, "size": 8 }, - "size": 8 + "position": { + "x": -16, + "y": 272 + } }, { - "source": { - "block": "e9c87f9b-8312-41de-af70-db0772825e09", - "port": "233059d5-8ab7-4c63-8dab-0c6af3a1dc28" + "id": "75d4695e-f445-4762-9ae9-c9bf0e51974f", + "type": "basic.output", + "data": { + "name": "busy" }, - "target": { - "block": "bf61387a-ef36-4f3c-898f-e274c3136b18", - "port": "inlabel" + "position": { + "x": 960, + "y": 272 } }, { - "source": { - "block": "472c0cbb-1d6b-4af4-a439-52f52118d405", - "port": "out", - "size": 14 + "id": "6bb28a95-e6e4-4044-9c22-c4404693b6b1", + "type": "basic.input", + "data": { + "name": "txmit", + "clock": false }, - "target": { - "block": "9bc05443-4e8c-4288-a609-67e961b01ca7", - "port": "inlabel" + "position": { + "x": 0, + "y": 424 + } + }, + { + "id": "42306dfc-8702-4c9a-98d6-56b4c86fff21", + "type": "basic.output", + "data": { + "name": "done" }, - "vertices": [], - "size": 14 + "position": { + "x": 960, + "y": 424 + } }, { - "source": { - "block": "d94290b8-502b-46eb-a630-3b0800bf3c9b", - "port": "outlabel" + "id": "76db97e8-ad17-4a4b-b288-73e449659681", + "type": "basic.constant", + "data": { + "name": "sclk", + "value": "12000000", + "local": false }, - "target": { - "block": "10cf0acf-2627-46d4-8c0d-840056c3a6be", - "port": "3178c182-b1bd-4e92-bc67-6e0868b62279", - "size": 14 + "position": { + "x": 344, + "y": -64 + } + }, + { + "id": "671d0b4d-317d-4aef-8422-8b9a400211a4", + "type": "basic.constant", + "data": { + "name": "bps", + "value": "115200", + "local": false }, - "size": 14 + "position": { + "x": 624, + "y": -64 + } }, { - "source": { - "block": "af8afdcf-1f69-4187-81ab-082d28c98dd9", - "port": "outlabel" + "id": "3238443f-338d-4796-b54a-c463c5f191aa", + "type": "basic.code", + "data": { + "code": "//---- Calculate the divisor for achieving the requered BAUDs\n//---- when the system clk is working at SCLK Hertzs\n\nlocalparam DIV = SCLK/BAUD;\n\n//-- Get the number of bits needed for storing the DIV value\nlocalparam N = $clog2(DIV);\n\n//-- It is a counter module DIV\nreg [N-1:0] divcounter = 0;\n\n//-- Cable de reset para el contador\n//-- Comparador que resetea el contador cuando se alcanza el tope\n//-- o cuando el estado del biestable es 0 (apagado)\nwire reset = ov_gen | (state == 0);\n\n//-- Contador con reset\nalways @(posedge clk)\n if (reset)\n divcounter <= 0;\n else\n divcounter <= divcounter + 1;\n\n//-- Hemos llegado al final\nwire ov_gen = (divcounter == DIV-1);\n\n\n\n//-- REGISTRO DESPLAZAMIENTO\n\n//-- Salida serie. Inicialmete a 1 (reposo) \nreg TX_i = 1;\nassign TX = TX_i;\n\n//-- Registro de desplazamiento de 9 bits\n//-- Inicializado todo a 1s\nreg [8:0] q = 9'h1FF;\n\n//-- La entrada de shift es la salida del generador de baudios\nwire shift = ov_gen;\n\nalways @(posedge clk)\n if (txmit_tic)\n //-- Carga del registro\n q <= {data, 1'b0};\n \n else if (shift)\n //-- Desplazamiento. Rellenar con 1 (bit de stop)\n q <= {1'b1, q[8:1]};\n \n//-- Sacar el bit de menor peso por serial-out \nwire so;\nassign so = q[0];\n\n//-- La salida tx la registramos\nalways @(posedge clk)\n TX_i <= so;\n \n//-- La señal de entrada txmit se pasa por un \n//-- detector de flancos de subida para generar un tic\nreg q_re = 0;\nwire txmit_tic;\n\nalways @(posedge clk)\n q_re <= txmit;\n \nassign txmit_tic = (~q_re & txmit); \n\n\n\n//-- Estado de transmisor\n//-- 0: Parado\n//-- 1: Ocupado (transmitiendo)\nreg state = 0;\n \nalways @(posedge clk)\n //-- Empieza la transmision: ocupado\n if (txmit)\n state <= 1'b1;\n \n //-- Acaba la transmision: libre \n else if (ov)\n state <= 1'b0;\n\n//-- Contador de bits enviados\nreg [3:0] bits = 0;\nalways @(posedge clk)\n //-- Si la cuenta ha terminado... volver a 0\n if (ov)\n bits <= 2'b00;\n else\n if (shift)\n bits <= bits + 1;\n\n//-- Comprobar si se ha transmitido el último bit (overflow)\n//-- 1 bit de start + 8 bits de datos + 1 bit de stop\nwire ov = (bits == 10);\n\n//-- La señal de ocupado es el estado del transmisor\nassign busy = state;\n\n//-- La señal de done es la de overflow pero retrasada un\n//-- periodo de reloj del sistema y que el biestable \n//-- llegue al estado de parado antes de que se \n//-- empiece otra transmision\n\nreg done_i=0;\nassign done = done_i;\n\nalways @(posedge clk)\n done_i <= ov;\n", + "params": [ + { + "name": "SCLK" + }, + { + "name": "BAUD" + } + ], + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "data", + "range": "[7:0]", + "size": 8 + }, + { + "name": "txmit" + } + ], + "out": [ + { + "name": "TX" + }, + { + "name": "busy" + }, + { + "name": "done" + } + ] + } }, - "target": { - "block": "8205f22c-1d31-4e0a-a4d9-7fbbc780e32d", - "port": "5c70a159-1900-4d97-9e7d-961876e03bbe", - "size": 4 + "position": { + "x": 248, + "y": 72 }, - "size": 4 - }, + "size": { + "width": 560, + "height": 456 + } + } + ], + "wires": [ { "source": { - "block": "b63a0660-3988-4951-b606-0177b556defc", - "port": "outlabel" + "block": "3238443f-338d-4796-b54a-c463c5f191aa", + "port": "TX" }, "target": { - "block": "c4492dd4-658c-4c26-9b2b-b6d26243039b", - "port": "e3bb4d9b-5ba2-4987-bd84-cd8763a214cd", - "size": 14 - }, - "size": 14 + "block": "09701eaa-8d79-487f-b003-267e04095bb1", + "port": "in" + } }, { "source": { - "block": "98bbdcc7-f58a-4c93-be85-ccfe5b16ddb4", - "port": "a8eb520f-8b09-41ab-9146-919bf44b6078", - "size": 4 + "block": "671d0b4d-317d-4aef-8422-8b9a400211a4", + "port": "constant-out" }, "target": { - "block": "64f8b6de-1661-4bb4-a2eb-5458a30a6d66", - "port": "inlabel" - }, - "size": 4 + "block": "3238443f-338d-4796-b54a-c463c5f191aa", + "port": "BAUD" + } }, { "source": { - "block": "5f897fa2-936f-47cd-9310-a36fb4cb14a1", - "port": "ad29e130-c17a-4544-9237-4c72551ccbeb" - }, - "target": { - "block": "8205f22c-1d31-4e0a-a4d9-7fbbc780e32d", - "port": "25996d5e-6856-4828-8cb3-5dea5ff5cf9c" - }, - "vertices": [], - "size": 8 - }, - { - "source": { - "block": "b6323c55-9b6d-4753-8953-7fb34775a27b", - "port": "3d584b0a-29eb-47af-8c43-c0822282ef05" - }, - "target": { - "block": "8205f22c-1d31-4e0a-a4d9-7fbbc780e32d", - "port": "dbe1622c-3510-4132-8b5c-2fbf81d7f581" - }, - "vertices": [ - { - "x": 1000, - "y": 16 - } - ] - }, - { - "source": { - "block": "7a989d63-cd4a-4c47-9513-57b4ea6ee141", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "4c296e24-7312-407a-8fb0-f3a6d4feb3ab", + "port": "out" }, "target": { - "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - }, - "vertices": [] + "block": "3238443f-338d-4796-b54a-c463c5f191aa", + "port": "clk" + } }, { "source": { - "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "27183891-b385-412b-bc55-21df1dd0280e", + "port": "out" }, "target": { - "block": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "block": "3238443f-338d-4796-b54a-c463c5f191aa", + "port": "data" }, - "vertices": [] + "size": 8 }, { "source": { - "block": "26b71a43-5955-4452-9b0e-94ea6ef453b7", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "6bb28a95-e6e4-4044-9c22-c4404693b6b1", + "port": "out" }, "target": { - "block": "c4492dd4-658c-4c26-9b2b-b6d26243039b", - "port": "1e637a79-4a6d-495c-bcac-9664bdbe4b94" + "block": "3238443f-338d-4796-b54a-c463c5f191aa", + "port": "txmit" } }, { "source": { - "block": "165f75a6-a05d-4025-aac5-91f45cd6cd30", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + "block": "3238443f-338d-4796-b54a-c463c5f191aa", + "port": "busy" }, "target": { - "block": "95c4416f-62f5-4196-a406-f7915d40a572", + "block": "75d4695e-f445-4762-9ae9-c9bf0e51974f", "port": "in" } }, { "source": { - "block": "5aeed2ef-7590-4245-a540-a63acb068e09", - "port": "ad29e130-c17a-4544-9237-4c72551ccbeb" - }, - "target": { - "block": "d155022c-5f5d-4a1b-8e0b-9643481e530b", - "port": "325fbba1-e929-4921-a644-95f918e6e4ee" - }, - "vertices": [], - "size": 8 - }, - { - "source": { - "block": "d155022c-5f5d-4a1b-8e0b-9643481e530b", - "port": "bf25756a-65a4-4b09-915d-494010d6f4ff" - }, - "target": { - "block": "3066cf48-9921-4487-826e-0464a2dead7a", - "port": "in" - }, - "size": 8 - }, - { - "source": { - "block": "98bbdcc7-f58a-4c93-be85-ccfe5b16ddb4", - "port": "73948305-b05b-418f-88af-11328f400cdc" - }, - "target": { - "block": "045bea3c-647f-44be-8b84-4957291749a4", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" - }, - "vertices": [ - { - "x": 1176, - "y": 928 - } - ] - }, - { - "source": { - "block": "e9c87f9b-8312-41de-af70-db0772825e09", - "port": "9aa5255a-60da-463d-ba87-d4f96456d802" + "block": "3238443f-338d-4796-b54a-c463c5f191aa", + "port": "done" }, "target": { - "block": "20d63505-e2fd-44ed-95b9-9f45e8875e70", + "block": "42306dfc-8702-4c9a-98d6-56b4c86fff21", "port": "in" - }, - "size": 10 - }, - { - "source": { - "block": "8205f22c-1d31-4e0a-a4d9-7fbbc780e32d", - "port": "d3e51db6-385f-454c-ab74-d71058b21962" - }, - "target": { - "block": "c4492dd4-658c-4c26-9b2b-b6d26243039b", - "port": "c6fdfa0c-392c-41e8-b043-d6f35a656465" - }, - "size": 14 + } }, { "source": { - "block": "c4492dd4-658c-4c26-9b2b-b6d26243039b", - "port": "11f6b6c3-3db4-4536-b9af-3a4182303be7" + "block": "76db97e8-ad17-4a4b-b288-73e449659681", + "port": "constant-out" }, "target": { - "block": "727e032f-d74b-464e-81fe-b30b1e669b9e", - "port": "in" - }, - "size": 14 + "block": "3238443f-338d-4796-b54a-c463c5f191aa", + "port": "SCLK" + } } ] } } }, - "21cfcc19a4ad14c5fb5e8cfebd018ec356fe7542": { + "1250d52a7afd45bb1a9a3db8b7b07091812cfe25": { "package": { - "name": "0", - "version": "0.1", - "description": "Un bit constante a 0", - "author": "Jesus Arroyo", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2233.563%22%20height=%2257.469%22%20viewBox=%220%200%2031.465601%2053.876499%22%3E%3Cpath%20d=%22M21.822%2032.843l4.092%208.992-3.772%209.727%204.181%201.31m-12.967-19.26s-1.091%208.253-2.585%208.919C9.278%2043.198%201%2049.389%201%2049.389l2.647%203.256%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%22-.863%22%20y=%2230.575%22%20transform=%22scale(.90756%201.10186)%22%20font-weight=%22400%22%20font-size=%2254.594%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22%3E%3Ctspan%20x=%22-.863%22%20y=%2230.575%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold%20Italic'%22%20font-style=%22italic%22%20font-weight=%22700%22%3Eo%3C/tspan%3E%3C/text%3E%3C/svg%3E" + "name": "Smem-16KB-bus", + "version": "0.3", + "description": "16KB memory. Bus interface", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20viewBox=%220%200%2087.168922%20102.99556%22%20height=%22389.275%22%20width=%22329.457%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20transform=%22translate(-159.832%20-119.548)%22%3E%3Cimage%20xlink:href=%22data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAgM0lEQVR4Xu1dCZBU1bm+PdPTM8CM%20AgMO+yCrAq4oGjWKIIorcYnRlD59saImGlOaqK/UPPeHu5VyjyYuMRu+uFVEjRqX4FNRQURwQVxQ%20YdiGZQYGepZ+33frfK9Oneq+t+/0zHTad/+qU7fv7bt0n/8///L9/znX+1ZTTDHFFFNMMcUUU0wx%20xRRTTDHFFFNMMcUUU0wxxZToofuX8XPo82LqcLaZUhUAMbucraKi4viysrI9jCBkp5gybKBH0un0%20cuy3URC6WwiSXvcRmV9ZVVV1azKZPBvN69+/vzd06FBv2LBh1mkxff31197ixYvJfa+1tfUnHR0d%20x7W1tc3HV2kJQakJQBmZjzYUo99n/qRJk7xTTz3V69WrV5bTY/rmm2+8u+++29u6desO2L0cAnCq%20YXy61AQgYe5bBebvB9XvJRIJ79hjj/VSqZTX3t6e5ZKYBg0a5B133HHenDlzPPRZLQ5VG+a3lpwJ%20kPoH83uT+Ww77rhjCPNjYh+Z/hqK3T5oW9C2obWXlAaQAMCm9SovL/cGDx7sQaWFXBbTTjvt5AsA%20+qwOu7SVSTnOpSgASdBkSjTtPhybkMtioomkyWTjLvmjSK0UncAkJLmMAgDKUwBiqqur81atWkUt%200Bcmc2XJaQCBPtqCvMrKyjztf0wIm9lp1AbjW1paPrIwlUzJaAAJAKgajbYtTwGIaeDAgd6KFSv8%20zmMfloIJcCFf3rOCDT7AKAgAAY78nMCYqC3lB/Q1/Zgy4WB7AERcVAFIiPE333zz6JEjR565ffv2%20Xlu2bKm58847d2psbKQAhGiAmOQr1dTU+J8PPPDAE37wgx8MhgO9BeZg++bNm18588wzXzYQcXtX%20CUGii5ifuuyyy8YD7Fk4YMAAOTHelVde6X300UfejBkzPAhGwG1i5ksA2HdPPfWUd/LJJ7NRczKM%209iOp55577oyzzjrrvwkOGUHIFFsDJIya6nPQQQfdSweGKoyNAgBNIIcmRxQQM15ELcl9oKdU/4yh%202W/sR/anvz98+PD/wqnPozUZc9BeFA3gMv/GG288CgLwaL9+/by+fft6q1ev9gXgqKOO8v/MEUcc%204UOdJUxiUgSmRhv59va3v/2tnztBv9J0+k40Bxe16fLly2effvrpt1EIlCfobg2Q0FYq34J7q6ZN%20mzZ8v/32u5nSKonllhKrPACOyQcofQEonPlZma7GZ6jPFD5v27bN69Onj78/evTon/34xz9+/v77%20719s+NFup5OjOoqJKA7ezjvvPAuM7QuGJkBlyFtXgNkzMbrHUXUx3Utmf/XVVz7zTzrpJL9TTjnl%20FK+EieYrAuO1H8r8nBrgb3/7m1dbW+vNnj3bfzY165AhQ7zPPvvM9wlWrly5DFnD5yAUaQhMB4Qk%20g/My0LxPn3POOQuiOIqJPCDd1IMPPnjiiBEjHiFzObK15Y9Zs2aNn+Ovrq5mKtP74IMPlPjxfvGL%20X3ggCkKpC0AhjNdxfbZb1u9ffPFFb8OGDd4dd9zB+gBv/fr13pgxYzw62OzzTz75hKaWfc5+5jFt%20aX5/hrT7gzQPchQ7awLKZOPB4Nly7CQAbBzlUv38/P7773vQEs0vv/zyckhpNTpkNK6X+i911a/P%20UUe8y2jdI6tgiMj4t956axGFb88996wD0wfRDJDp7G/wQ+l18kJbaoo7jjzyyL8/++yzX8tR7JQG%20EPPRasHQT/FwPkBCwCaJ8zXAhx9+6Esp4lVJqXfDDTf42uDggw/uSVsscjtd+1Gu1/lsETRAkLoP%201whLlizx2+9//3uNbm/8+PHe22+/7e2yyy5ECmluXQ3A5kdeTz/99OlwIOfiVs0mZMwUpAEA6pDx%20fKgEQM6ez4w33niDQuDbLVJzczO/U1hDFdqVjC/cMYt+vYRAx8JUvCtA+Qinew/aeoZ+ZDAjAZ/p%20L730EiMEAkbsY35HXnDLfqdJZn/3poOO1kIB6KwJSAjWBZOXbtq0acK6det4c7v5Dx83bhwZQcEg%20w33mAwFkR7goYE8LghgSpgGiMknfBal7Nff5bIHnsx+5hZPN/vQZrKTaPvvsw/IxagGZYTX1/Qo4%207B8Y/y1RSBiokKIDCN9//upXvzoRUjgMzKxgBMBIgIQQpQwJjElQRymZBgoAnRj9GVzTE/Y5aDQV%20cr39XRRV79p6CQKZlfV7HaPZlPYk0zm6JQDIEHKkL2tqatrcAWIEwMvwfevatWu/efTRR1+wI4BC%20BYA32o625dprr32R/gBab3NdObzSGoAWp+AHp+QfSOVLimWnihSjizGFXu9+7zLVfYaOaWt/lkl0%20Ge+eRy0qbIX7cvoIq484/vjjH4BGbrJCvq1oG9BWo20zqj/U9iZC1H81mY5q1csQ6x+KeHSkHQbS%204VMRA4/RLr3zzjsefYbXXnuNjTbMb98KClf37ne5jkkLZDUX7Nd//vOf3ne/+13vkEMO8Xr37s1I%20gJqAZsHXrtAATB3bTiCPrYXf8NpvfvObG8GHz4UWFuIElkGl/BwO3r+7IaCwfkqlnEH+6LFjx3Kf%20zJc0f9vyAO7IzmfUZ8MW3OO6BweStGd6t912S5Hpb775pjd58mSli8lw5Q3kBBIbGIhrT0QSbgTM%209jGqJ+iMACivX4VM1BnCAOwmW88fy+8XLFjAH9R49NFHPwNPNA3I8mgcHwTp/bYIQC47HmYqcp7j%20OpiuxnjssceW3X777f/D/YcffvhwhIH1+++/vwYd+10aQELBRuRw3/PPP38s0vGLFQayRRWASrQ+%20YF6N7BCbGwYyTUnmm+rf/n/+859P5+df//rX3scff+ypIORbQLkAnSAH0T2WCxDKeg5yLBP/9Kc/%20TbSdwHnz5tEcKMyWj2BjATQhHIzjcJtPjA/XHlUDCAPoDa9T6kXhhv9gMXbhwoW0RYxTqf4JBUtA%205PCUPBLo2m2X+focgQLxAWL+ep4YTJyFnxsaGuhnMSlE6F0mVlv6ATzOaKHNDOLyzkQBSgKVY87a%20vXBEzqVU8eZ8iJhKdJB2CRgBpZPHZaPowRbTB3DVaqHXh4V67oiOKgTaJ+MY40sA5PlL8xJsI/PT%20mE+YIlDEczTYYG7pN9BJnHfvvfd+lk9NYTIkBGy9/PLLn5syZcoqPHRnaIIqU6yYAGMpWeWoA9h1%203333HQfG0ymk6uEPlQAwj01hKVUBEEPz9eZzYQt5h6LLli0jw3k+4XRXALjPnMt6wL3zySOc126u%207QBrtmOQrnnmmWfeVh1hZ5NBHWS+iS03zp8//2O0tSY3UG5a6phjjhkPp2Sc4n/lsCWRaMUe/WJM%20IdcGaQD+vyBgxx7pYc/loGHmz36WgCBbAJgXGAwsoOamm26aJ0ab1kJ+oTWibdF3hQhAC8KQjtNO%20O+0QPPBgSFh5whCksgwmYJjtINIUfPnll2SARkexBUCd35UCQIa710SCjd3vlTHl6Hc1Co9xS5yf%20dl8a4fDDD5+2xx57jAAPVA/gI7eoKVz4/PPPz4EWkAB0RBWAhGl8SM0FF1xwPx4yXo6dtgR7Nm7c%20qOofZgVZrsSctf8ZxOOlYv+DGGcLM7dhYV02LRAaKXz66adZsQH6A6NGjfK++OILf4ChLoMCwHQx%20ne8x6G95/0oaTdh1112PQ6Rw8vXXX/9GZ6FgqviKH/7wh6cB5h2fDQPgD6Dal+3HH6D6WoLpzSuQ%20H6hFR00pCQEITwa5zHcdvygYQFYBBYbPweQy33/ek08+OR9+1DqM9tqJEyfuB6bT0dM6C9II8hNk%20LmrgnJ+Nr98xvGyPggMIBOoNaZqZCwOgACgWfe+99wgHUyv0wxz3fvBOK1naDCqeAES3wdkydmJ6%20ULVPlJSve4whm7z+rNfuvffew1BnMYz9iMGYBhiUAj7AwWfnB1xAiP1eTx4aHKA1qgmoQOuFZMM2%20Le0iVS8hkF2aO3euX6Sw++678/gQNP04tmJhAO4oDTtH4Wouu5+rHiDoWNjz+Tyqdqn+XGsGDGEx%20CJnKfqYJIBhUX19PbMBGAwXPU5swZE8aAWg2g7o9igDwghTU+st4yIEo8qR614PUuNYPcQB2gh0B%20KEnEzz2NAopRQUwPvc62+7YwhJHLePd+7rmI5VnxG6hdpGnJZEHAsPF+4ccLL7ygzKsGp2oFeXyp%20GchlnU0Hd1xzzTXzZs2add306dMPwg1T6AS/yIC1AHhgAn+gDAKyN+yRoGEJQE+HgTbTIwhA4LlK%20bbueea578ry8439oVwI2YfWECv2k1qVdOcqX4bNqAjIQlAySRh1pELTywoceeuhFjfqoAkCOtZmc%208mbY8vfQvsF+jSTKXFcJ3P80FSdasCVbT6OAfE6AAETzB8TMELJHdyR4mBEUwrW8tAqFRFgAeKuq%20HxZ/1iE8nwsHkuq2VcCdUfmN5J3hYVvUbGDGXNTCm8ABqcVExYGQsio0nl9ObYBc9QGIS4fpB0kA%20ILHqCDGm2GrfPTdSvt9toKAQMBQSpsqX05cHUdXbA0ueP0PAHe67776TkSz6K/q8FfdrY8PnXsBi%20Nr/yyiubyMNOFYWqnBiFIMfAAbnBjQA0H4CMFvYPtUMcm99zCpPjHUemqPa7K+bm2aPfbi4zXSaH%20ZvtssAfMsZy+cGKU8Prrr8u790w6WFp28HnnnXc+czJ2JMDt2Wef/QjC+EsiQcH2TKCf/vSnoydM%20mEDm55wPIPWPknCqpmY4i58atTUGm2qZgH/xtK6Y7gI/dtMxCbUNCGk/0PaT6eifKMzX/IA0/IWl%20uI4O9xhA8tUHHHAAGc0+Z3OxAG4ZIfzb7373u0U/+tGPHrDKwzKhGkBz/hBrni6VLqbbn/VgxPy0%20aXT81iFV2c7vlL9mKxIFedZBJVuuANgYiC0IWa9xBcl2hOnxa7Z0BGJ+IAVktZ1C9eqrr34BQGgS%20J+DstddedmGIRr6azAUHYq+gxFAyFwYAhlbxB8vDd6Fgph5ZnkxnBhlBerUjEaeOxHcMGYVs9SST%20XTXunhNUjp1LACT4OuYyOFeuwN5nH3WK+boe4NpkMpU8QG6GU8c4SYSwO7Ot2YpCOCiJMFYRC5Av%20EMUEpABQLCHowHBF8/5tIu6PQlECEtQGFBTNExDzu0MAwpgpFet+F8z4cAFwr8l79EMrkhkF9YVU%20vJjNmgCG2iy+Yf/zmO1n0G8gwTfYbkVuiUg4wK233roIocYcqJyD8cBBkmp1Do41IzlBhldbtqi7%20BUCMCMvURREAXeMCP3axRdSmkS9MpCBBp++AbKwPCilFvMMOO6QBCDUCgh+kCEihMPiyEY7466gL%20fKJTOIBSwZjd+zi2LErsh1apKiFeN3PmzJFXXXXVLI4ONcs77Q4BiFKCnU0AwkZ8wPGiMF8CYDt6%203FcVdurxxx9fftttt82x5gZ0GOx/o5kfsDXIASQlA0CgJrQNmIo0GGqmL6SrEq2cNQE1oDPOOMNO%20FPFHUvq6QwDEvDDmh2mIfBnsRgNhQuPmDKj2HeYXLADC/O0ld7iG0IHAFRrhiK8jBsCqIPAijRxN%20K2oCGslDGwyKBAQh3kxdcskls4Et7207f3LyiEopSmBCg3XrBDlce1kA5a3m3a0oDxtv2+9sQpS3%20AMj/IMgjh68ryHj/nC1MH4BRAZNzFAiqetZsHMucjJw/YQFQ/w1wFn+C6myiuB1RcAC2sl/+8pdX%20wM67zBfmLxDIF4SlS5d6tEfwTL8CQOSvC1CQAIQzsKsFINu9o5gHxfnsj67WfGT6avCigWX3eMZw%20ONx08MgHNTcEZBsEMz0bAjA1ihOoKWG9MPIPs3EAu5FUC0AQCCaCKGB/ABX9oY5YKl6IBsjmXefj%202UcVAG2D7mufn2ufI94N9bpSANi/dejbOo5sMp9l44DoyQOZBxcHUCZ2l1tuuWVfDOZ5uXyBZI4J%20IdX4MzVcm8bWAPqsCSFaFwDlR5ocomyVmNYVDl4+4E22e0URAp0fKgDudWQ6R77sc3cQw0j5W0Bn%20WSPgm1xUCPG4iwOo0VQTla0jT+ULBGoAe0oY2lrUAwxEuKFRL/LVHNEoAD+Cg9kEQ0b3AcLj8rDz%20omiTIEdOlJXZrhDQBrP+UdhDdxHnY7hRAMwBcQD6AxRCt8BUi3RsRV3gEmEBkSaGYC7aLUgo/BwP%20GOJIvyYhNIL5/dHo/EkACBw5AhCZ8Z3VBtrm60i69wtkvnsNRxdr+XR+dxL7VQIgGB7amRnBZvgC%201RRABwsgGLQBcwcell8XFQdIo7hzKdq12B9gagHKhQPAIemDdQG+B+9TDiG3MhH5hoFBuHoU2DYb%20sztjXkKZr+JQ+DkclT2V6+AAk523cQGO8hRqAh7FHMxG4QDWWgHr0b4JWysgmQsEQtuMdOIQePf7%20EHTgqiBs6IAylCmPB0pYazkg/DFkJrdibHeM+nyAHzdTx2ORwkqX6fpMJI7MVxlXTxEdTJob8IH4%20ggSAWjh1xRVXHIEw/CPwhrzrIBaAz61AY1fAAfyQwhBFADISgj/+8Y8XA+s/xnUCyWyqPjJY8wEB%20OvDHsMlOhavjcMZHdwjdz+Fz/NTC7D4FW/aex3o6s0lnjn3PWgtlArlPSHggVmEbyLDQxQJQyLMP%20VhI5KbQs3MUALr300t3g3dvMd2sB1DhT1fcHnnjiiQWQ0jTO3x+d3j+LKg5KowYlVKLCv0EZw7yF%20T0zWdGsCMPq+GHTPPffM5fb73//+RDjg9ZivybUZqA1yYgHEcTBJ9ORzzz33/rxwAM35w41HK8HD%20G7lND+V8AGqBzz//fC1CkmGQ0ibkvSukItGij/rw40HMLhROVpO3rVCqaIyXFoPJHQbTm0IWdhPg%20efa9qoPCagJ2dsJABwfI8ro3jOKBzOgx3Wvj/ZrpQ3XDV50yHJw6dSqxgPEqB4MmYDawMyO5s0IQ%20ZRHH0BBTWkjhF4RZPkVRi1sOPfTQ3ckPMpYTQ7B4J00vcQGtHqowXIJAU81ooNKE9Vt4q7xwAEw8%20+AATPbZiejKLCeT9qnFU0A7xIaoF4GeZi6Awy7afUZgdBtkGCUC+foTqGch0OnwUcLu6qWhCoNBP%20CSEyW/X/1AQ0BfJXxCsKAWdrQSNHwgEybFiteiUeeAMqUWaiKGQ4vX9QQkzla0wgWYPhgFQ7qWA6%20ShKAqCM/2A8IX6SB2yjMd59HQIUjho0CYINaxV6rmGigFoWy1wxMAxD6ElP4iAVk0Dxu2TBI1/7l%20L395CeH6gnzTwYoA0lQXUOXvo63Bfl+0XlYtQAXeZTPhoosuGuv4BBQE4eE87uL4kRkOCmJa2HSv%20sHtJtUtdkukBL7cqriBQAKQBlIvh4pwo/96ACTxPaW6AtbbjJlMTsIX7eU0N08WaXIClxsbAw+/P%20eQAqBMGDdwBCON2pVVdIqCoabiM4gpF9gfxW6Q5v9O7p5LnVy0UUgvAZQiA5fXwryxRogvVIEK1A%20n/tCQBygEoTFpj90agI68jEB7Xg7Vd0JJ5zwACRsnJsIUtZLAoC4lKEgc9U2ChhVAKIJSDj8m7NA%20k8KpEYXUNUd9rmtzrv1XDGLCiQkg+l8sxhUKC4eb8f6ReCmHu3I4X9e/CotLn4Pyvoa8cAA5gXjB%20wy1wLGzm20KglarZiQwBGW9+CWdjPYSuBh01Vh1fIMAThtVHAZzYbHVPD1/OlZzbbHP8bOZrvxg+%20AAdeM3iyDJFANXCJscy5wPYrJUy+SPvas4UH431N90AAJltQfntWAVA1MFofPGhKrsUh7algzPtD%20/SzCJJJXqV4wVWzEd77znbH6IQWp//Da/chr95PJqmZyp3y7QuvOFnaFoYeJzvVmgEHzuHPxxRd/%20hWLdaQr/0Oz1hBQNCJUdCrh4+nXXXTfXrgkIEoBqwp4QgqwLQ1DV8yFcCpZFCQgVazET9Xv4LgMk%20sBfeciFp7MwI7xTcq3131GqSijx6mC4KrJa2t+cuqtPsY0FzAXtaG/BNLLVYtncWGcx8DON/ml7k%20ajgoyRdXA3BL/4ZRjd4fIF8gpwbgfhVuuBWLE/XOUgsgTJzM5yLQFJRhPMbzaFMxdYmd1LWjPvwe%209jO1r3WMKAAaHa59dxNHbsyv79mKxXz5LJXo8xGaH4CXRpCxHIAE5qjVstUE8Dues0FYQHhJGAiv%20JLsGb5+6QLUAjj0ns1dASEY48wFUGCFJ7DTkCyoogqB9h40UiKM5dq6nL0Zrm+14zn21HiIKr6IA%20qXyVizUiUqsGNpOyBJW8oNBsxNT+R4DrNJAVYUigpoVvxyLFS9CuNrUAVB/l9lvEEF6cxMWKskwI%204YMVBvYYw2Xfqe7gILkjPWCaeiiSmAvBLEZGUAJAYVY2ln1eceKJJz4EgW9WqGdai3l/wEpNDQsL%20AwUC8UbrjLrYrhdEmJaCw3cApowPcWsEhQgqZrXCr+4UADKbsTyl3bHdoat/BWkDl8HFYr77P2TK%20JBCMBGrw3uY9Acw9SX4JEDL2fqPh5WZ+l48AqBhkE5aInQoseRJHvVkaphw2pwKJiMOUJVRySEUg%202kYEgqKkaW01z0anrpA3g7jqPSgMLHpGEIUfeo2sPUOIOMAUvGOwCcc2kfk4Rl62oXhlKV44vQrR%202tZcq4Ym3VoAFBFOwtJkD+MhQ7NNCGGihD+C+4sWLeL6gEIBJZlkfr44QKTsIB0dRBruaC90RnGg%20utfxYhMZzsUl+P/Zz8Bd6IgLDOLqYdOdCSKcScwsYhOqt/kSiTeDfICEVDyygJfCcxwaMCGEW0UD%20tEdLYHe5SHEaAjIOD+4vAegEw9193p/PItMpYFGY4nr8BQhKUUlCSTRwSRrEUjD0yVhMQUuB6WET%20RGqwoATfJLqXfARbEyQdDKAGN58hECjXhBCqXYJACBNXQgtsxLYCmmADEMGMfACdHzG8U0WrMnMc%206RGYEk0Q1LElQBR+mgCfeeiTFryq7wvwYRyqg0MniOD8oVjuZwb8t7mWEGSyCUA1VTwQJt4w66IQ%20HJGcq8b1a/EjhoDpcgg9ZKb4lhBemy+Eq9WveF8y3Y1nu2OmTcm+sOKwww7bDXMx9FoYfwvgjXwg%20b7IWhbA/oZ2prbOCQUn3RdFgwlLYmgmK69mEoWs04v0A3OcKFQR/bCGRD+AyWfdQEzKXJ4Nicl8p%20z4IQ8gUmm1PFaCa5tXkgJJSTR7ZeffXVVmFIwLwAzCO7Ce+dPQ8MrYOzVwd/oNJ6nVkzsn9fwhEZ%20i5GfctYG5CjW4sddPBpjIrOhne03hckx5kBahtC8Foxm6l4oaBpRwGpo8yYsJ/eHrNlAeYWy/2gD%200UagDTUgUDVa0i4GeeCBB46DdzkKgkEUitlAaQBWrvpATPdQTIR/8WZwaV/2O/uf6eF1KP8mk1sd%20R2+rWTRyFdoKtAZTKLLd9QGEAWwx6FGKNzD7FXqHMN4dsD8mgo5SRCA0Suaie2PlmNx3CIkPCAEH%204GWRU1GoM8fE+20WPzeaWULN2bCApAMDp7GwwPAZM2bcgCTPWNl1MZhhHx+ulcOYjWI8KjBItr9b%20KCZqVy0aSbvOWdkSCNZk7AHnfA/wxl0trAER241ICT+WbdXQpA0Cgfn1WBz6Idy0xsUAGPrZkxBY%20lWJKx9fj+zRCtjRq1uu7LayKifaeo70BvgDRwEHvvvsuy8KVKFKBi1sUMghI4e14o/hK1BE854JB%20SXtCCEq9Z0GCxHy76SFML1IYOPI5B+CvSBrxHbUMC4fADtV3mwaIic4e52FQzXdMmzat7qyzzjqB%20L+dAWl6D0y0KkbngKmOn4rqX3UUjpQG47Q3vfqAyfE4xCG/Km2ttAHr688D8BSauTAAMqu3+apnY%20BzD2PP2Pf/xjPUZ/BXhzEvqcA5P8yYYFaI5DPau93DeIJO0ZQWB8K1U7gSAw1Mb0tWwpsX+uUPH+%20hRde+FccWmuSR0mopCHd7gTGoSD7vgkDlf1ehncDbwQAVAGmz6IPBpCIfoKwG9UEsDaCQrDOAEGK%206tpdJLDsrrvuehFTig+DJI2DTbcfrPlpvNF8FI3+wYQWqylRpoqoOR8BoGBRw5QKEWHj6CoW0c8C%205q+aBgI/O+It7Yu5y+7EuwOfx7wALtc7E4JRma14FZNHGgEFP2PVdbjzAX3VUIs2DK0eteaTEQUM%20ANMrcCNSBkxrA8zbgJKv5WS8EYC1+iGwSUdhIaPrKTgAkFjD5nde4RQT7DwhdvYnczD/geXfXrBq%20NerIY/gBQ+EfjOY7HdDKMiBo7zYIxfpnn312EXEANsOzZpkBlYJXkYloO/FmFAaznzLnCCdoNjjB%20GqvQIMnzsXDkz1EldDY9VAIWXUYxUetSAKiJuBjXJXhXEEfzZjN4+5Fvhmc11oqunmZ5WWDQGsO/%20FtsEZAxztaxIh7l5L7QKCYD1FpEmtE1mmzZSSEexRmAQVFYXqfnY5tPp1mLT3Gf9n+GHnLm0ccQ3%20GE2ekgC4PNPIz1YWrhuSWs3Jmg5mv0w6bc5rMZ8T5ruyBMiablWSoJAcp39F0iv4UKU1RoW/Wv/H%208KTJ4lmZg/BuYzPntbkCkNGJVl1guWkCiXROu91sIIkkpluOYylm3f7Vw0CZbQlBq2ktFvMTzsBV%2068g1MSRjtTb3HcLOOSJ9Tqj1CMNjSjhMFmNbrWOJAJ6FTg4VReFmGbJTEzXlqlsoJsK/rL9QfO4M%20Tm2jUbKrzCcApLcBB09k0WKXU0wq+2pBle/fHVVeEBU6XCtMuDgIbRRWF7sNocoYYgHFJL3mpRTJ%20rr9Mg+BQryOz8X+ake2bAxzgVSeeby+mAPCXVpvikeFo9cAA9kKoMoCARKKI9iAD4hZzHBsAj27j%20oVIKSOR4O5M8GtC+MtsN5nhHMQVAINKOBowYpKVlLRCpmNShpo4tMQFot1/jawCdtYb5muxRkGAn%20u0BSVXmyntLqgkhsRR5BGkWZEtQCAuAU5rGfm93K3mJqAGmBCjPiq0wTIJEoYudJA2S0LWEz0GZa%202rS2YjuB7j0UmyazgEjF70B7v7Qo42oz+1iRNED4vYrOfDHc3f4/o5hiiimmmGKKKaaYYooppphi%20iimmmGKKKaaYYooppv8FlJhXILrvZ3wAAAAASUVORK5CYII=%22%20preserveAspectRatio=%22none%22%20height=%22102.996%22%20width=%2287.169%22%20x=%22159.832%22%20y=%22119.548%22/%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20x=%22205.024%22%20y=%22157.686%22%20transform=%22scale(.98866%201.01147)%22%20font-weight=%22400%22%20font-size=%2219.302%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#ff0%22%20stroke-width=%22.504%22%3E%3Ctspan%20x=%22205.024%22%20y=%22157.686%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ERAM%3C/tspan%3E%3C/text%3E%3Ctext%20transform=%22scale(.98866%201.01147)%22%20y=%22187.881%22%20x=%22205.327%22%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20font-weight=%22400%22%20font-size=%2222.015%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#0ff%22%20stroke-width=%22.423%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20y=%22187.881%22%20x=%22205.327%22%20font-weight=%22500%22%3E16KB%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E", + "otid": 1599036668965 }, "design": { "graph": { "blocks": [ { - "id": "3d584b0a-29eb-47af-8c43-c0822282ef05", - "type": "basic.output", + "id": "6080df5a-c853-47cf-aaa7-c5a8f1e65879", + "type": "basic.input", "data": { - "name": "" + "name": "", + "clock": true }, "position": { - "x": 512, - "y": 160 + "x": 168, + "y": 392 } }, { - "id": "61331ec5-2c56-4cdd-b607-e63b1502fa65", - "type": "basic.code", + "id": "9edd47b2-4907-40d5-b10f-6aab4a9e797a", + "type": "basic.inputLabel", "data": { - "code": "//-- Bit constante a 0\nassign q = 1'b0;\n\n", - "params": [], - "ports": { - "in": [], - "out": [ - { - "name": "q" - } - ] - } + "blockColor": "yellow", + "name": "clk" }, "position": { - "x": 168, - "y": 112 - }, - "size": { - "width": 256, - "height": 160 + "x": 312, + "y": 392 } - } - ], - "wires": [ + }, { - "source": { - "block": "61331ec5-2c56-4cdd-b607-e63b1502fa65", - "port": "q" + "id": "270594ca-dba5-499a-8030-08e69613c220", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "target": { - "block": "3d584b0a-29eb-47af-8c43-c0822282ef05", - "port": "in" + "position": { + "x": 392, + "y": 536 } - } - ] - } - } - }, - "3bf99b8d77aa1b29ec1bf618b53175de87f1001d": { - "package": { - "name": "Valor_0_8bits", - "version": "0.0.1", - "description": "Valor constante 0 para bus de 8 bits", - "author": "Juan Gonzalez-Gomez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22346.308%22%20height=%22300.445%22%20viewBox=%220%200%20324.66403%20281.66758%22%3E%3Cg%20font-weight=%22400%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22371.115%22%20y=%22653.344%22%20font-size=%22335.399%22%20fill=%22green%22%20transform=%22translate(-326.544%20-441.037)%22%3E%3Ctspan%20x=%22371.115%22%20y=%22653.344%22%3E0%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22322.722%22%20y=%22721.624%22%20font-size=%2283.077%22%20transform=%22translate(-326.544%20-441.037)%22%3E%3Ctspan%20x=%22322.722%22%20y=%22721.624%22%3E00000000%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22548.722%22%20y=%22651.624%22%20font-size=%2283.077%22%20fill=%22#00f%22%20transform=%22translate(-326.544%20-441.037)%22%3E%3Ctspan%20x=%22548.722%22%20y=%22651.624%22%3E00%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ + }, { - "id": "ad29e130-c17a-4544-9237-4c72551ccbeb", + "id": "ecaf7923-2995-4c02-a531-778edf600834", "type": "basic.output", "data": { - "name": "k", - "range": "[7:0]", - "size": 8 + "name": "", + "range": "[23:0]", + "size": 24 }, "position": { - "x": 928, - "y": 256 + "x": 1392, + "y": 696 } }, { - "id": "ad7918eb-22dd-4b6c-949f-e428f5a55530", - "type": "basic.constant", + "id": "7b7a0dd2-57ea-4f82-940a-a1fafe7962bf", + "type": "basic.input", "data": { "name": "", - "value": "0", - "local": true + "range": "[23:0]", + "clock": false, + "size": 24 }, "position": { - "x": 728, - "y": 152 + "x": 168, + "y": 712 } }, { - "id": "d8755f82-ee3e-47e9-9ac3-e4d6713a6105", - "type": "5ad97e1e35a295d0ec722addd6df97c806fc6b7c", - "position": { - "x": 728, - "y": 256 + "id": "043752cd-506b-478d-affc-bdad68d7d0a9", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "size": { - "width": 96, - "height": 64 + "position": { + "x": 608, + "y": 848 } - } - ], - "wires": [ + }, { - "source": { - "block": "ad7918eb-22dd-4b6c-949f-e428f5a55530", - "port": "constant-out" + "id": "a04d00a7-87f1-485e-b24e-13078b946ef8", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "target": { - "block": "d8755f82-ee3e-47e9-9ac3-e4d6713a6105", - "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" + "position": { + "x": 600, + "y": 1008 } }, { - "source": { - "block": "d8755f82-ee3e-47e9-9ac3-e4d6713a6105", - "port": "a9d6830d-5cc7-4f63-a068-35181d2537bc" + "id": "b07ab569-1013-48d4-916e-4e447f8ea11b", + "type": "basic.memory", + "data": { + "name": "", + "list": "0 0 0 0\n0 0 0 0\n0 0 0 0\n0 0 0 0", + "local": false, + "format": 10 }, - "target": { - "block": "ad29e130-c17a-4544-9237-4c72551ccbeb", - "port": "in" + "position": { + "x": 584, + "y": 504 }, - "size": 8 - } - ] - } - } - }, - "5ad97e1e35a295d0ec722addd6df97c806fc6b7c": { - "package": { - "name": "Constante-8bits", - "version": "0.0.1", - "description": "Valor genérico constante, de 8 bits. Su valor se introduce como parámetro. Por defecto vale 0", - "author": "Juan Gonzalez-Gomez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22145.608%22%20height=%22247.927%22%20viewBox=%220%200%20136.50729%20232.43134%22%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22293.115%22%20y=%22648.344%22%20font-weight=%22400%22%20font-size=%22335.399%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22%20transform=%22translate(-316.929%20-415.913)%22%3E%3Ctspan%20x=%22293.115%22%20y=%22648.344%22%3Ek%3C/tspan%3E%3C/text%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ + "size": { + "width": 192, + "height": 112 + } + }, { - "id": "a9d6830d-5cc7-4f63-a068-35181d2537bc", - "type": "basic.output", - "data": { - "name": "k", - "range": "[7:0]", - "size": 8 + "id": "4a9d02e8-e892-426f-b5a0-ddeb0edd071c", + "type": "58ed2b5c7e33e2f215ccba6c101d9ea4ff60f284", + "position": { + "x": 768, + "y": 912 }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "1d6a09a1-5455-4eae-b831-59fd7086b1ff", + "type": "58ed2b5c7e33e2f215ccba6c101d9ea4ff60f284", "position": { - "x": 960, - "y": 248 + "x": 768, + "y": 1056 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", - "type": "basic.constant", - "data": { - "name": "", - "value": "0", - "local": false + "id": "63e2623d-a6e8-486c-aade-edda359a0027", + "type": "0d02b5c37dd73bb78b27425b4fd615e89dedd8d9", + "position": { + "x": 632, + "y": 648 }, + "size": { + "width": 96, + "height": 128 + } + }, + { + "id": "1f7c8d33-19ca-481c-afaf-db7d5930a013", + "type": "d1635cb33c6d31e1ea457005c78d574fcf71828b", "position": { - "x": 728, - "y": 128 + "x": 352, + "y": 680 + }, + "size": { + "width": 96, + "height": 128 } }, { - "id": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", - "type": "basic.code", - "data": { - "code": "assign k = VALUE;", - "params": [ - { - "name": "VALUE" - } - ], - "ports": { - "in": [], - "out": [ - { - "name": "k", - "range": "[7:0]", - "size": 8 - } - ] - } + "id": "43c5bcc0-920d-408b-9fb0-b2cb7a0e6482", + "type": "6e4fc811dcd6d1ac703e608270f81ee906ee7e98", + "position": { + "x": 1216, + "y": 664 }, + "size": { + "width": 96, + "height": 128 + } + }, + { + "id": "3dcc0b06-f8e0-46a5-a620-fc86fc2c1cbd", + "type": "7dd73370f9ea522fe9c9e331d4d240f520f61d10", "position": { - "x": 672, - "y": 248 + "x": 1008, + "y": 568 }, "size": { - "width": 208, + "width": 96, "height": 64 } } @@ -14076,5222 +13614,1639 @@ "wires": [ { "source": { - "block": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", - "port": "constant-out" + "block": "6080df5a-c853-47cf-aaa7-c5a8f1e65879", + "port": "out" }, "target": { - "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", - "port": "VALUE" - } + "block": "9edd47b2-4907-40d5-b10f-6aab4a9e797a", + "port": "inlabel" + }, + "vertices": [] }, { "source": { - "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", - "port": "k" + "block": "270594ca-dba5-499a-8030-08e69613c220", + "port": "outlabel" }, "target": { - "block": "a9d6830d-5cc7-4f63-a068-35181d2537bc", - "port": "in" - }, - "size": 8 - } - ] - } - } - }, - "359a555a147b0afd9d84e4a720ec84b7cdfbc034": { - "package": { - "name": "Mux 2 a 1 de 8 bits", - "version": "0.0.1", - "description": "Multiplexor de 2 a 1 de 8 bits", - "author": "Juan Gonzalez-Gomez (obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2280.833%22%20height=%22158.56%22%20viewBox=%220%200%2075.781585%20148.65066%22%3E%3Cpath%20d=%22M74.375%2036.836c0-12.691-6.99-24.413-18.326-30.729-11.335-6.316-25.284-6.262-36.568.141C8.198%2012.652%201.304%2024.427%201.407%2037.118v74.415c-.103%2012.69%206.79%2024.466%2018.074%2030.87%2011.284%206.403%2025.233%206.457%2036.568.14%2011.336-6.316%2018.326-18.037%2018.326-30.728z%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%222.813%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.448%22%20y=%2291.518%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.448%22%20y=%2291.518%22%3E0%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.359%22%20y=%2214.582%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.359%22%20y=%2214.582%22%3E1%3C/tspan%3E%3C/text%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "9f5a1c91-1b93-4609-877c-816ed8fd0871", - "type": "basic.input", - "data": { - "name": "i1", - "range": "[7:0]", - "clock": false, - "size": 8 - }, - "position": { - "x": -704, - "y": -88 - } - }, - { - "id": "325fbba1-e929-4921-a644-95f918e6e4ee", - "type": "basic.input", - "data": { - "name": "i0", - "range": "[7:0]", - "clock": false, - "size": 8 + "block": "63e2623d-a6e8-486c-aade-edda359a0027", + "port": "0b91cb0d-4144-4939-8755-e331104016db" }, - "position": { - "x": -704, - "y": 0 - } + "vertices": [ + { + "x": 544, + "y": 616 + } + ] }, { - "id": "bf25756a-65a4-4b09-915d-494010d6f4ff", - "type": "basic.output", - "data": { - "name": "o", - "range": "[7:0]", - "size": 8 + "source": { + "block": "043752cd-506b-478d-affc-bdad68d7d0a9", + "port": "outlabel" }, - "position": { - "x": -48, - "y": 0 + "target": { + "block": "4a9d02e8-e892-426f-b5a0-ddeb0edd071c", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" } }, { - "id": "1e637a79-4a6d-495c-bcac-9664bdbe4b94", - "type": "basic.input", - "data": { - "name": "sel", - "clock": false + "source": { + "block": "a04d00a7-87f1-485e-b24e-13078b946ef8", + "port": "outlabel" }, - "position": { - "x": -704, - "y": 88 + "target": { + "block": "1d6a09a1-5455-4eae-b831-59fd7086b1ff", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" } }, { - "id": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", - "type": "basic.code", - "data": { - "code": "//-- Multiplexor de 2 a 1, \n//-- de 8 bits\n\nreg [7:0] o;\n\nalways @(*) begin\n case(sel)\n 0: o = i0;\n 1: o = i1;\n default: o = i0;\n endcase\nend\n\n", - "params": [], - "ports": { - "in": [ - { - "name": "i1", - "range": "[7:0]", - "size": 8 - }, - { - "name": "i0", - "range": "[7:0]", - "size": 8 - }, - { - "name": "sel" - } - ], - "out": [ - { - "name": "o", - "range": "[7:0]", - "size": 8 - } - ] - } + "source": { + "block": "b07ab569-1013-48d4-916e-4e447f8ea11b", + "port": "memory-out" }, - "position": { - "x": -464, - "y": -104 + "target": { + "block": "63e2623d-a6e8-486c-aade-edda359a0027", + "port": "d80bfd80-1f6d-46af-b5de-5cd121ebe630" }, - "size": { - "width": 304, - "height": 272 - } - } - ], - "wires": [ + "vertices": [] + }, { "source": { - "block": "1e637a79-4a6d-495c-bcac-9664bdbe4b94", - "port": "out" + "block": "63e2623d-a6e8-486c-aade-edda359a0027", + "port": "2f18358c-ebaa-4fbf-99b4-610ab78deed2" }, "target": { - "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", - "port": "sel" - } + "block": "43c5bcc0-920d-408b-9fb0-b2cb7a0e6482", + "port": "25996d5e-6856-4828-8cb3-5dea5ff5cf9c" + }, + "vertices": [], + "size": 8 }, { "source": { - "block": "325fbba1-e929-4921-a644-95f918e6e4ee", - "port": "out" + "block": "1f7c8d33-19ca-481c-afaf-db7d5930a013", + "port": "afe50480-6fe5-4ca6-b639-c730569a6a1d" }, "target": { - "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", - "port": "i0" + "block": "63e2623d-a6e8-486c-aade-edda359a0027", + "port": "9931384a-74ee-4de4-9df7-cc04fd19cf46" }, + "vertices": [], "size": 8 }, { "source": { - "block": "9f5a1c91-1b93-4609-877c-816ed8fd0871", - "port": "out" + "block": "1f7c8d33-19ca-481c-afaf-db7d5930a013", + "port": "c79430a3-a90f-40e9-af05-e6da44b5ac8d" }, "target": { - "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", - "port": "i1" + "block": "63e2623d-a6e8-486c-aade-edda359a0027", + "port": "c61902b3-38ce-45bf-98c9-322638c2264b" }, - "size": 8 + "vertices": [] }, { "source": { - "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", - "port": "o" + "block": "4a9d02e8-e892-426f-b5a0-ddeb0edd071c", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" }, "target": { - "block": "bf25756a-65a4-4b09-915d-494010d6f4ff", - "port": "in" + "block": "43c5bcc0-920d-408b-9fb0-b2cb7a0e6482", + "port": "dbe1622c-3510-4132-8b5c-2fbf81d7f581" }, - "size": 8 - } - ] - } - } + "vertices": [ + { + "x": 1128, + "y": 888 + } + ] + }, + { + "source": { + "block": "1f7c8d33-19ca-481c-afaf-db7d5930a013", + "port": "c79430a3-a90f-40e9-af05-e6da44b5ac8d" + }, + "target": { + "block": "4a9d02e8-e892-426f-b5a0-ddeb0edd071c", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + }, + "vertices": [ + { + "x": 560, + "y": 920 + } + ] + }, + { + "source": { + "block": "1d6a09a1-5455-4eae-b831-59fd7086b1ff", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + }, + "target": { + "block": "43c5bcc0-920d-408b-9fb0-b2cb7a0e6482", + "port": "49fb1766-1e7f-4706-9872-a6cd65cc9f2d" + }, + "vertices": [] + }, + { + "source": { + "block": "1f7c8d33-19ca-481c-afaf-db7d5930a013", + "port": "9751f777-00ec-46c1-8d85-07d2dec1e653" + }, + "target": { + "block": "1d6a09a1-5455-4eae-b831-59fd7086b1ff", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + }, + "vertices": [ + { + "x": 504, + "y": 992 + } + ] + }, + { + "source": { + "block": "7b7a0dd2-57ea-4f82-940a-a1fafe7962bf", + "port": "out" + }, + "target": { + "block": "1f7c8d33-19ca-481c-afaf-db7d5930a013", + "port": "2117685c-3a4e-4403-a12a-5de3ed4c20a5" + }, + "size": 24 + }, + { + "source": { + "block": "1f7c8d33-19ca-481c-afaf-db7d5930a013", + "port": "1fcc5668-ae6d-4286-9b66-f8f113c12bea" + }, + "target": { + "block": "63e2623d-a6e8-486c-aade-edda359a0027", + "port": "480cf49a-cf72-4fad-a37e-92acddd25d32" + }, + "size": 14 + }, + { + "source": { + "block": "43c5bcc0-920d-408b-9fb0-b2cb7a0e6482", + "port": "81a20a74-f096-4c3b-bc35-91917f08c79b" + }, + "target": { + "block": "ecaf7923-2995-4c02-a531-778edf600834", + "port": "in" + }, + "size": 24 + }, + { + "source": { + "block": "3dcc0b06-f8e0-46a5-a620-fc86fc2c1cbd", + "port": "9a292d4b-866d-4b91-919d-e75f9a0714b9" + }, + "target": { + "block": "43c5bcc0-920d-408b-9fb0-b2cb7a0e6482", + "port": "61496e71-85ba-465b-89b9-fedb08b8590d" + }, + "vertices": [ + { + "x": 1136, + "y": 640 + } + ], + "size": 14 + } + ] + } + } }, - "ae7cd7cc997647c6f4f9ed332bbf1849b798d4cb": { + "0d02b5c37dd73bb78b27425b4fd615e89dedd8d9": { "package": { - "name": "putc-char", - "version": "0.1", - "description": "Transmit one character to the STDOUT bus", + "name": "Memory-16KiB", + "version": "1.1", + "description": "16KiB Bytes Synchronous memory", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22613.166%22%20width=%22433.95%22%3E%3Cdefs%3E%3Cmarker%20id=%22a%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20fill=%22red%22%20fill-rule=%22evenodd%22%20stroke=%22red%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3C/defs%3E%3Cpath%20d=%22M221.062%20395.717c-17.751%200-32.152%2014.401-32.152%2032.165%200%2017.745%2014.4%2032.177%2032.152%2032.177%2017.758%200%2032.053-14.432%2032.053-32.177%200-17.764-14.295-32.165-32.053-32.165zm64.466%2050.642l-5.795%2013.96%2010.336%2020.302%201.366%202.68-14.333%2014.333-23.515-11.106-13.96%205.733-7.086%2021.691-.906%202.88h-20.258l-8.767-24.484-13.96-5.758-20.333%2010.312-2.68%201.34-14.326-14.32%2011.093-23.528-5.751-13.948-21.655-7.073-2.873-.93v-20.246l24.502-8.78%205.752-13.935-10.306-20.345-1.359-2.668%2014.308-14.308%2023.547%2011.088%2013.941-5.764%207.08-21.68.912-2.872h20.252l8.773%2024.514%2013.923%205.764%2020.339-10.318%202.705-1.359%2014.32%2014.308-11.094%2023.51%205.733%2013.966%2021.717%207.08%202.854.911v20.24z%22%20fill=%22#00f%22/%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%20-272.686%20152.713)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22124.309%22%20y=%22611.792%22%20font-weight=%22400%22%20font-size=%2291.605%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%225.725%22%3E%3Ctspan%20x=%22124.309%22%20y=%22611.792%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EChar%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%2294.134%22%20y=%2273.141%22%20font-weight=%22400%22%20font-size=%2291.605%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%225.725%22%3E%3Ctspan%20x=%2294.134%22%20y=%2273.141%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EPUTC%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M118.652%20252.337h134.3%22%20fill=%22none%22%20stroke=%22red%22%20stroke-width=%2218%22%20marker-end=%22url(#a)%22/%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%2060.37%20145.491)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%2279.938%22%20y=%22195.066%22%20font-weight=%22400%22%20font-size=%2291.605%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22red%22%20stroke-width=%225.725%22%3E%3Ctspan%20x=%2279.938%22%20y=%22195.066%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3Estdout%3C/tspan%3E%3C/text%3E%3Cpath%20fill=%22none%22%20stroke=%22red%22%20stroke-width=%223%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20d=%22M1.5%20109.784h429.559v199.593H1.5z%22/%3E%3Cpath%20d=%22M429.878%2018.574V1.5h-22.311%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%223%22%20stroke-linecap=%22round%22/%3E%3C/svg%3E", - "otid": 1571979442657 + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20viewBox=%220%200%2087.168922%20106.43202%22%20height=%22402.263%22%20width=%22329.457%22%3E%3Cg%20transform=%22translate(-159.832%20-119.548)%22%3E%3Cimage%20xlink:href=%22data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAgM0lEQVR4Xu1dCZBU1bm+PdPTM8CM%20AgMO+yCrAq4oGjWKIIorcYnRlD59saImGlOaqK/UPPeHu5VyjyYuMRu+uFVEjRqX4FNRQURwQVxQ%20YdiGZQYGepZ+33frfK9Oneq+t+/0zHTad/+qU7fv7bt0n/8///L9/znX+1ZTTDHFFFNMMcUUU0wx%20xRRTTDHFFFNMMcUUU0wxxZToofuX8XPo82LqcLaZUhUAMbucraKi4viysrI9jCBkp5gybKBH0un0%20cuy3URC6WwiSXvcRmV9ZVVV1azKZPBvN69+/vzd06FBv2LBh1mkxff31197ixYvJfa+1tfUnHR0d%20x7W1tc3HV2kJQakJQBmZjzYUo99n/qRJk7xTTz3V69WrV5bTY/rmm2+8u+++29u6desO2L0cAnCq%20YXy61AQgYe5bBebvB9XvJRIJ79hjj/VSqZTX3t6e5ZKYBg0a5B133HHenDlzPPRZLQ5VG+a3lpwJ%20kPoH83uT+Ww77rhjCPNjYh+Z/hqK3T5oW9C2obWXlAaQAMCm9SovL/cGDx7sQaWFXBbTTjvt5AsA%20+qwOu7SVSTnOpSgASdBkSjTtPhybkMtioomkyWTjLvmjSK0UncAkJLmMAgDKUwBiqqur81atWkUt%200Bcmc2XJaQCBPtqCvMrKyjztf0wIm9lp1AbjW1paPrIwlUzJaAAJAKgajbYtTwGIaeDAgd6KFSv8%20zmMfloIJcCFf3rOCDT7AKAgAAY78nMCYqC3lB/Q1/Zgy4WB7AERcVAFIiPE333zz6JEjR565ffv2%20Xlu2bKm58847d2psbKQAhGiAmOQr1dTU+J8PPPDAE37wgx8MhgO9BeZg++bNm18588wzXzYQcXtX%20CUGii5ifuuyyy8YD7Fk4YMAAOTHelVde6X300UfejBkzPAhGwG1i5ksA2HdPPfWUd/LJJ7NRczKM%209iOp55577oyzzjrrvwkOGUHIFFsDJIya6nPQQQfdSweGKoyNAgBNIIcmRxQQM15ELcl9oKdU/4yh%202W/sR/anvz98+PD/wqnPozUZc9BeFA3gMv/GG288CgLwaL9+/by+fft6q1ev9gXgqKOO8v/MEUcc%204UOdJUxiUgSmRhv59va3v/2tnztBv9J0+k40Bxe16fLly2effvrpt1EIlCfobg2Q0FYq34J7q6ZN%20mzZ8v/32u5nSKonllhKrPACOyQcofQEonPlZma7GZ6jPFD5v27bN69Onj78/evTon/34xz9+/v77%20719s+NFup5OjOoqJKA7ezjvvPAuM7QuGJkBlyFtXgNkzMbrHUXUx3Utmf/XVVz7zTzrpJL9TTjnl%20FK+EieYrAuO1H8r8nBrgb3/7m1dbW+vNnj3bfzY165AhQ7zPPvvM9wlWrly5DFnD5yAUaQhMB4Qk%20g/My0LxPn3POOQuiOIqJPCDd1IMPPnjiiBEjHiFzObK15Y9Zs2aNn+Ovrq5mKtP74IMPlPjxfvGL%20X3ggCkKpC0AhjNdxfbZb1u9ffPFFb8OGDd4dd9zB+gBv/fr13pgxYzw62OzzTz75hKaWfc5+5jFt%20aX5/hrT7gzQPchQ7awLKZOPB4Nly7CQAbBzlUv38/P7773vQEs0vv/zyckhpNTpkNK6X+i911a/P%20UUe8y2jdI6tgiMj4t956axGFb88996wD0wfRDJDp7G/wQ+l18kJbaoo7jjzyyL8/++yzX8tR7JQG%20EPPRasHQT/FwPkBCwCaJ8zXAhx9+6Esp4lVJqXfDDTf42uDggw/uSVsscjtd+1Gu1/lsETRAkLoP%201whLlizx2+9//3uNbm/8+PHe22+/7e2yyy5ECmluXQ3A5kdeTz/99OlwIOfiVs0mZMwUpAEA6pDx%20fKgEQM6ez4w33niDQuDbLVJzczO/U1hDFdqVjC/cMYt+vYRAx8JUvCtA+Qinew/aeoZ+ZDAjAZ/p%20L730EiMEAkbsY35HXnDLfqdJZn/3poOO1kIB6KwJSAjWBZOXbtq0acK6det4c7v5Dx83bhwZQcEg%20w33mAwFkR7goYE8LghgSpgGiMknfBal7Nff5bIHnsx+5hZPN/vQZrKTaPvvsw/IxagGZYTX1/Qo4%207B8Y/y1RSBiokKIDCN9//upXvzoRUjgMzKxgBMBIgIQQpQwJjElQRymZBgoAnRj9GVzTE/Y5aDQV%20cr39XRRV79p6CQKZlfV7HaPZlPYk0zm6JQDIEHKkL2tqatrcAWIEwMvwfevatWu/efTRR1+wI4BC%20BYA32o625dprr32R/gBab3NdObzSGoAWp+AHp+QfSOVLimWnihSjizGFXu9+7zLVfYaOaWt/lkl0%20Ge+eRy0qbIX7cvoIq484/vjjH4BGbrJCvq1oG9BWo20zqj/U9iZC1H81mY5q1csQ6x+KeHSkHQbS%204VMRA4/RLr3zzjsefYbXXnuNjTbMb98KClf37ne5jkkLZDUX7Nd//vOf3ne/+13vkEMO8Xr37s1I%20gJqAZsHXrtAATB3bTiCPrYXf8NpvfvObG8GHz4UWFuIElkGl/BwO3r+7IaCwfkqlnEH+6LFjx3Kf%20zJc0f9vyAO7IzmfUZ8MW3OO6BweStGd6t912S5Hpb775pjd58mSli8lw5Q3kBBIbGIhrT0QSbgTM%209jGqJ+iMACivX4VM1BnCAOwmW88fy+8XLFjAH9R49NFHPwNPNA3I8mgcHwTp/bYIQC47HmYqcp7j%20OpiuxnjssceW3X777f/D/YcffvhwhIH1+++/vwYd+10aQELBRuRw3/PPP38s0vGLFQayRRWASrQ+%20YF6N7BCbGwYyTUnmm+rf/n/+859P5+df//rX3scff+ypIORbQLkAnSAH0T2WCxDKeg5yLBP/9Kc/%20TbSdwHnz5tEcKMyWj2BjATQhHIzjcJtPjA/XHlUDCAPoDa9T6kXhhv9gMXbhwoW0RYxTqf4JBUtA%205PCUPBLo2m2X+focgQLxAWL+ep4YTJyFnxsaGuhnMSlE6F0mVlv6ATzOaKHNDOLyzkQBSgKVY87a%20vXBEzqVU8eZ8iJhKdJB2CRgBpZPHZaPowRbTB3DVaqHXh4V67oiOKgTaJ+MY40sA5PlL8xJsI/PT%20mE+YIlDEczTYYG7pN9BJnHfvvfd+lk9NYTIkBGy9/PLLn5syZcoqPHRnaIIqU6yYAGMpWeWoA9h1%203333HQfG0ymk6uEPlQAwj01hKVUBEEPz9eZzYQt5h6LLli0jw3k+4XRXALjPnMt6wL3zySOc126u%207QBrtmOQrnnmmWfeVh1hZ5NBHWS+iS03zp8//2O0tSY3UG5a6phjjhkPp2Sc4n/lsCWRaMUe/WJM%20IdcGaQD+vyBgxx7pYc/loGHmz36WgCBbAJgXGAwsoOamm26aJ0ab1kJ+oTWibdF3hQhAC8KQjtNO%20O+0QPPBgSFh5whCksgwmYJjtINIUfPnll2SARkexBUCd35UCQIa710SCjd3vlTHl6Hc1Co9xS5yf%20dl8a4fDDD5+2xx57jAAPVA/gI7eoKVz4/PPPz4EWkAB0RBWAhGl8SM0FF1xwPx4yXo6dtgR7Nm7c%20qOofZgVZrsSctf8ZxOOlYv+DGGcLM7dhYV02LRAaKXz66adZsQH6A6NGjfK++OILf4ChLoMCwHQx%20ne8x6G95/0oaTdh1112PQ6Rw8vXXX/9GZ6FgqviKH/7wh6cB5h2fDQPgD6Dal+3HH6D6WoLpzSuQ%20H6hFR00pCQEITwa5zHcdvygYQFYBBYbPweQy33/ek08+OR9+1DqM9tqJEyfuB6bT0dM6C9II8hNk%20LmrgnJ+Nr98xvGyPggMIBOoNaZqZCwOgACgWfe+99wgHUyv0wxz3fvBOK1naDCqeAES3wdkydmJ6%20ULVPlJSve4whm7z+rNfuvffew1BnMYz9iMGYBhiUAj7AwWfnB1xAiP1eTx4aHKA1qgmoQOuFZMM2%20Le0iVS8hkF2aO3euX6Sw++678/gQNP04tmJhAO4oDTtH4Wouu5+rHiDoWNjz+Tyqdqn+XGsGDGEx%20CJnKfqYJIBhUX19PbMBGAwXPU5swZE8aAWg2g7o9igDwghTU+st4yIEo8qR614PUuNYPcQB2gh0B%20KEnEzz2NAopRQUwPvc62+7YwhJHLePd+7rmI5VnxG6hdpGnJZEHAsPF+4ccLL7ygzKsGp2oFeXyp%20GchlnU0Hd1xzzTXzZs2add306dMPwg1T6AS/yIC1AHhgAn+gDAKyN+yRoGEJQE+HgTbTIwhA4LlK%20bbueea578ry8439oVwI2YfWECv2k1qVdOcqX4bNqAjIQlAySRh1pELTywoceeuhFjfqoAkCOtZmc%208mbY8vfQvsF+jSTKXFcJ3P80FSdasCVbT6OAfE6AAETzB8TMELJHdyR4mBEUwrW8tAqFRFgAeKuq%20HxZ/1iE8nwsHkuq2VcCdUfmN5J3hYVvUbGDGXNTCm8ABqcVExYGQsio0nl9ObYBc9QGIS4fpB0kA%20ILHqCDGm2GrfPTdSvt9toKAQMBQSpsqX05cHUdXbA0ueP0PAHe67776TkSz6K/q8FfdrY8PnXsBi%20Nr/yyiubyMNOFYWqnBiFIMfAAbnBjQA0H4CMFvYPtUMcm99zCpPjHUemqPa7K+bm2aPfbi4zXSaH%20ZvtssAfMsZy+cGKU8Prrr8u790w6WFp28HnnnXc+czJ2JMDt2Wef/QjC+EsiQcH2TKCf/vSnoydM%20mEDm55wPIPWPknCqpmY4i58atTUGm2qZgH/xtK6Y7gI/dtMxCbUNCGk/0PaT6eifKMzX/IA0/IWl%20uI4O9xhA8tUHHHAAGc0+Z3OxAG4ZIfzb7373u0U/+tGPHrDKwzKhGkBz/hBrni6VLqbbn/VgxPy0%20aXT81iFV2c7vlL9mKxIFedZBJVuuANgYiC0IWa9xBcl2hOnxa7Z0BGJ+IAVktZ1C9eqrr34BQGgS%20J+DstddedmGIRr6azAUHYq+gxFAyFwYAhlbxB8vDd6Fgph5ZnkxnBhlBerUjEaeOxHcMGYVs9SST%20XTXunhNUjp1LACT4OuYyOFeuwN5nH3WK+boe4NpkMpU8QG6GU8c4SYSwO7Ot2YpCOCiJMFYRC5Av%20EMUEpABQLCHowHBF8/5tIu6PQlECEtQGFBTNExDzu0MAwpgpFet+F8z4cAFwr8l79EMrkhkF9YVU%20vJjNmgCG2iy+Yf/zmO1n0G8gwTfYbkVuiUg4wK233roIocYcqJyD8cBBkmp1Do41IzlBhldbtqi7%20BUCMCMvURREAXeMCP3axRdSmkS9MpCBBp++AbKwPCilFvMMOO6QBCDUCgh+kCEihMPiyEY7466gL%20fKJTOIBSwZjd+zi2LErsh1apKiFeN3PmzJFXXXXVLI4ONcs77Q4BiFKCnU0AwkZ8wPGiMF8CYDt6%203FcVdurxxx9fftttt82x5gZ0GOx/o5kfsDXIASQlA0CgJrQNmIo0GGqmL6SrEq2cNQE1oDPOOMNO%20FPFHUvq6QwDEvDDmh2mIfBnsRgNhQuPmDKj2HeYXLADC/O0ld7iG0IHAFRrhiK8jBsCqIPAijRxN%20K2oCGslDGwyKBAQh3kxdcskls4Et7207f3LyiEopSmBCg3XrBDlce1kA5a3m3a0oDxtv2+9sQpS3%20AMj/IMgjh68ryHj/nC1MH4BRAZNzFAiqetZsHMucjJw/YQFQ/w1wFn+C6myiuB1RcAC2sl/+8pdX%20wM67zBfmLxDIF4SlS5d6tEfwTL8CQOSvC1CQAIQzsKsFINu9o5gHxfnsj67WfGT6avCigWX3eMZw%20ONx08MgHNTcEZBsEMz0bAjA1ihOoKWG9MPIPs3EAu5FUC0AQCCaCKGB/ABX9oY5YKl6IBsjmXefj%202UcVAG2D7mufn2ufI94N9bpSANi/dejbOo5sMp9l44DoyQOZBxcHUCZ2l1tuuWVfDOZ5uXyBZI4J%20IdX4MzVcm8bWAPqsCSFaFwDlR5ocomyVmNYVDl4+4E22e0URAp0fKgDudWQ6R77sc3cQw0j5W0Bn%20WSPgm1xUCPG4iwOo0VQTla0jT+ULBGoAe0oY2lrUAwxEuKFRL/LVHNEoAD+Cg9kEQ0b3AcLj8rDz%20omiTIEdOlJXZrhDQBrP+UdhDdxHnY7hRAMwBcQD6AxRCt8BUi3RsRV3gEmEBkSaGYC7aLUgo/BwP%20GOJIvyYhNIL5/dHo/EkACBw5AhCZ8Z3VBtrm60i69wtkvnsNRxdr+XR+dxL7VQIgGB7amRnBZvgC%201RRABwsgGLQBcwcell8XFQdIo7hzKdq12B9gagHKhQPAIemDdQG+B+9TDiG3MhH5hoFBuHoU2DYb%20sztjXkKZr+JQ+DkclT2V6+AAk523cQGO8hRqAh7FHMxG4QDWWgHr0b4JWysgmQsEQtuMdOIQePf7%20EHTgqiBs6IAylCmPB0pYazkg/DFkJrdibHeM+nyAHzdTx2ORwkqX6fpMJI7MVxlXTxEdTJob8IH4%20ggSAWjh1xRVXHIEw/CPwhrzrIBaAz61AY1fAAfyQwhBFADISgj/+8Y8XA+s/xnUCyWyqPjJY8wEB%20OvDHsMlOhavjcMZHdwjdz+Fz/NTC7D4FW/aex3o6s0lnjn3PWgtlArlPSHggVmEbyLDQxQJQyLMP%20VhI5KbQs3MUALr300t3g3dvMd2sB1DhT1fcHnnjiiQWQ0jTO3x+d3j+LKg5KowYlVKLCv0EZw7yF%20T0zWdGsCMPq+GHTPPffM5fb73//+RDjg9ZivybUZqA1yYgHEcTBJ9ORzzz33/rxwAM35w41HK8HD%20G7lND+V8AGqBzz//fC1CkmGQ0ibkvSukItGij/rw40HMLhROVpO3rVCqaIyXFoPJHQbTm0IWdhPg%20efa9qoPCagJ2dsJABwfI8ro3jOKBzOgx3Wvj/ZrpQ3XDV50yHJw6dSqxgPEqB4MmYDawMyO5s0IQ%20ZRHH0BBTWkjhF4RZPkVRi1sOPfTQ3ckPMpYTQ7B4J00vcQGtHqowXIJAU81ooNKE9Vt4q7xwAEw8%20+AATPbZiejKLCeT9qnFU0A7xIaoF4GeZi6Awy7afUZgdBtkGCUC+foTqGch0OnwUcLu6qWhCoNBP%20CSEyW/X/1AQ0BfJXxCsKAWdrQSNHwgEybFiteiUeeAMqUWaiKGQ4vX9QQkzla0wgWYPhgFQ7qWA6%20ShKAqCM/2A8IX6SB2yjMd59HQIUjho0CYINaxV6rmGigFoWy1wxMAxD6ElP4iAVk0Dxu2TBI1/7l%20L395CeH6gnzTwYoA0lQXUOXvo63Bfl+0XlYtQAXeZTPhoosuGuv4BBQE4eE87uL4kRkOCmJa2HSv%20sHtJtUtdkukBL7cqriBQAKQBlIvh4pwo/96ACTxPaW6AtbbjJlMTsIX7eU0N08WaXIClxsbAw+/P%20eQAqBMGDdwBCON2pVVdIqCoabiM4gpF9gfxW6Q5v9O7p5LnVy0UUgvAZQiA5fXwryxRogvVIEK1A%20n/tCQBygEoTFpj90agI68jEB7Xg7Vd0JJ5zwACRsnJsIUtZLAoC4lKEgc9U2ChhVAKIJSDj8m7NA%20k8KpEYXUNUd9rmtzrv1XDGLCiQkg+l8sxhUKC4eb8f6ReCmHu3I4X9e/CotLn4Pyvoa8cAA5gXjB%20wy1wLGzm20KglarZiQwBGW9+CWdjPYSuBh01Vh1fIMAThtVHAZzYbHVPD1/OlZzbbHP8bOZrvxg+%20AAdeM3iyDJFANXCJscy5wPYrJUy+SPvas4UH431N90AAJltQfntWAVA1MFofPGhKrsUh7algzPtD%20/SzCJJJXqV4wVWzEd77znbH6IQWp//Da/chr95PJqmZyp3y7QuvOFnaFoYeJzvVmgEHzuHPxxRd/%20hWLdaQr/0Oz1hBQNCJUdCrh4+nXXXTfXrgkIEoBqwp4QgqwLQ1DV8yFcCpZFCQgVazET9Xv4LgMk%20sBfeciFp7MwI7xTcq3131GqSijx6mC4KrJa2t+cuqtPsY0FzAXtaG/BNLLVYtncWGcx8DON/ml7k%20ajgoyRdXA3BL/4ZRjd4fIF8gpwbgfhVuuBWLE/XOUgsgTJzM5yLQFJRhPMbzaFMxdYmd1LWjPvwe%209jO1r3WMKAAaHa59dxNHbsyv79mKxXz5LJXo8xGaH4CXRpCxHIAE5qjVstUE8Dues0FYQHhJGAiv%20JLsGb5+6QLUAjj0ns1dASEY48wFUGCFJ7DTkCyoogqB9h40UiKM5dq6nL0Zrm+14zn21HiIKr6IA%20qXyVizUiUqsGNpOyBJW8oNBsxNT+R4DrNJAVYUigpoVvxyLFS9CuNrUAVB/l9lvEEF6cxMWKskwI%204YMVBvYYw2Xfqe7gILkjPWCaeiiSmAvBLEZGUAJAYVY2ln1eceKJJz4EgW9WqGdai3l/wEpNDQsL%20AwUC8UbrjLrYrhdEmJaCw3cApowPcWsEhQgqZrXCr+4UADKbsTyl3bHdoat/BWkDl8HFYr77P2TK%20JBCMBGrw3uY9Acw9SX4JEDL2fqPh5WZ+l48AqBhkE5aInQoseRJHvVkaphw2pwKJiMOUJVRySEUg%202kYEgqKkaW01z0anrpA3g7jqPSgMLHpGEIUfeo2sPUOIOMAUvGOwCcc2kfk4Rl62oXhlKV44vQrR%202tZcq4Ym3VoAFBFOwtJkD+MhQ7NNCGGihD+C+4sWLeL6gEIBJZlkfr44QKTsIB0dRBruaC90RnGg%20utfxYhMZzsUl+P/Zz8Bd6IgLDOLqYdOdCSKcScwsYhOqt/kSiTeDfICEVDyygJfCcxwaMCGEW0UD%20tEdLYHe5SHEaAjIOD+4vAegEw9193p/PItMpYFGY4nr8BQhKUUlCSTRwSRrEUjD0yVhMQUuB6WET%20RGqwoATfJLqXfARbEyQdDKAGN58hECjXhBCqXYJACBNXQgtsxLYCmmADEMGMfACdHzG8U0WrMnMc%206RGYEk0Q1LElQBR+mgCfeeiTFryq7wvwYRyqg0MniOD8oVjuZwb8t7mWEGSyCUA1VTwQJt4w66IQ%20HJGcq8b1a/EjhoDpcgg9ZKb4lhBemy+Eq9WveF8y3Y1nu2OmTcm+sOKwww7bDXMx9FoYfwvgjXwg%20b7IWhbA/oZ2prbOCQUn3RdFgwlLYmgmK69mEoWs04v0A3OcKFQR/bCGRD+AyWfdQEzKXJ4Nicl8p%20z4IQ8gUmm1PFaCa5tXkgJJSTR7ZeffXVVmFIwLwAzCO7Ce+dPQ8MrYOzVwd/oNJ6nVkzsn9fwhEZ%20i5GfctYG5CjW4sddPBpjIrOhne03hckx5kBahtC8Foxm6l4oaBpRwGpo8yYsJ/eHrNlAeYWy/2gD%200UagDTUgUDVa0i4GeeCBB46DdzkKgkEUitlAaQBWrvpATPdQTIR/8WZwaV/2O/uf6eF1KP8mk1sd%20R2+rWTRyFdoKtAZTKLLd9QGEAWwx6FGKNzD7FXqHMN4dsD8mgo5SRCA0Suaie2PlmNx3CIkPCAEH%204GWRU1GoM8fE+20WPzeaWULN2bCApAMDp7GwwPAZM2bcgCTPWNl1MZhhHx+ulcOYjWI8KjBItr9b%20KCZqVy0aSbvOWdkSCNZk7AHnfA/wxl0trAER241ICT+WbdXQpA0Cgfn1WBz6Idy0xsUAGPrZkxBY%20lWJKx9fj+zRCtjRq1uu7LayKifaeo70BvgDRwEHvvvsuy8KVKFKBi1sUMghI4e14o/hK1BE854JB%20SXtCCEq9Z0GCxHy76SFML1IYOPI5B+CvSBrxHbUMC4fADtV3mwaIic4e52FQzXdMmzat7qyzzjqB%20L+dAWl6D0y0KkbngKmOn4rqX3UUjpQG47Q3vfqAyfE4xCG/Km2ttAHr688D8BSauTAAMqu3+apnY%20BzD2PP2Pf/xjPUZ/BXhzEvqcA5P8yYYFaI5DPau93DeIJO0ZQWB8K1U7gSAw1Mb0tWwpsX+uUPH+%20hRde+FccWmuSR0mopCHd7gTGoSD7vgkDlf1ehncDbwQAVAGmz6IPBpCIfoKwG9UEsDaCQrDOAEGK%206tpdJLDsrrvuehFTig+DJI2DTbcfrPlpvNF8FI3+wYQWqylRpoqoOR8BoGBRw5QKEWHj6CoW0c8C%205q+aBgI/O+It7Yu5y+7EuwOfx7wALtc7E4JRma14FZNHGgEFP2PVdbjzAX3VUIs2DK0eteaTEQUM%20ANMrcCNSBkxrA8zbgJKv5WS8EYC1+iGwSUdhIaPrKTgAkFjD5nde4RQT7DwhdvYnczD/geXfXrBq%20NerIY/gBQ+EfjOY7HdDKMiBo7zYIxfpnn312EXEANsOzZpkBlYJXkYloO/FmFAaznzLnCCdoNjjB%20GqvQIMnzsXDkz1EldDY9VAIWXUYxUetSAKiJuBjXJXhXEEfzZjN4+5Fvhmc11oqunmZ5WWDQGsO/%20FtsEZAxztaxIh7l5L7QKCYD1FpEmtE1mmzZSSEexRmAQVFYXqfnY5tPp1mLT3Gf9n+GHnLm0ccQ3%20GE2ekgC4PNPIz1YWrhuSWs3Jmg5mv0w6bc5rMZ8T5ruyBMiablWSoJAcp39F0iv4UKU1RoW/Wv/H%208KTJ4lmZg/BuYzPntbkCkNGJVl1guWkCiXROu91sIIkkpluOYylm3f7Vw0CZbQlBq2ktFvMTzsBV%2068g1MSRjtTb3HcLOOSJ9Tqj1CMNjSjhMFmNbrWOJAJ6FTg4VReFmGbJTEzXlqlsoJsK/rL9QfO4M%20Tm2jUbKrzCcApLcBB09k0WKXU0wq+2pBle/fHVVeEBU6XCtMuDgIbRRWF7sNocoYYgHFJL3mpRTJ%20rr9Mg+BQryOz8X+ake2bAxzgVSeeby+mAPCXVpvikeFo9cAA9kKoMoCARKKI9iAD4hZzHBsAj27j%20oVIKSOR4O5M8GtC+MtsN5nhHMQVAINKOBowYpKVlLRCpmNShpo4tMQFot1/jawCdtYb5muxRkGAn%20u0BSVXmyntLqgkhsRR5BGkWZEtQCAuAU5rGfm93K3mJqAGmBCjPiq0wTIJEoYudJA2S0LWEz0GZa%202rS2YjuB7j0UmyazgEjF70B7v7Qo42oz+1iRNED4vYrOfDHc3f4/o5hiiimmmGKKKaaYYooppphi%20iimmmGKKKaaYYooppv8FlJhXILrvZ3wAAAAASUVORK5CYII=%22%20preserveAspectRatio=%22none%22%20height=%22102.996%22%20width=%2287.169%22%20x=%22159.832%22%20y=%22119.548%22/%3E%3Cg%20transform=%22matrix(.7703%200%200%20.7703%2096.231%20157.67)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Ctext%20transform=%22scale(.98866%201.01147)%22%20y=%22161.244%22%20x=%22204.861%22%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20font-weight=%22400%22%20font-size=%2214.44%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#0ff%22%20stroke-width=%22.278%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20y=%22161.244%22%20x=%22204.861%22%20font-weight=%22500%22%3ESync%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20x=%22205.095%22%20y=%22147.504%22%20transform=%22scale(.98866%201.01147)%22%20font-weight=%22400%22%20font-size=%2219.302%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#ff0%22%20stroke-width=%22.504%22%3E%3Ctspan%20x=%22205.095%22%20y=%22147.504%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ERAM%3C/tspan%3E%3C/text%3E%3Ctext%20transform=%22scale(.98866%201.01147)%22%20y=%22192.306%22%20x=%22205.409%22%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20font-weight=%22400%22%20font-size=%2219.276%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#0f0%22%20stroke-width=%22.278%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20y=%22192.306%22%20x=%22205.409%22%20font-weight=%22500%22%3E16KiB%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "04841e3c-8761-454a-8d99-496fde26ea1f", + "id": "0b91cb0d-4144-4939-8755-e331104016db", "type": "basic.input", "data": { "name": "", "clock": true }, "position": { - "x": -304, - "y": 384 + "x": 128, + "y": 208 } }, { - "id": "ed414ec2-55e9-4b36-9c04-d544201b630e", - "type": "basic.inputLabel", + "id": "480cf49a-cf72-4fad-a37e-92acddd25d32", + "type": "basic.input", "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "name": "addr", + "range": "[13:0]", + "clock": false, + "size": 14 }, "position": { - "x": -144, - "y": 384 + "x": 120, + "y": 288 } }, { - "id": "c73b1a42-78ce-47a9-bb4c-807cffae6d42", + "id": "2f18358c-ebaa-4fbf-99b4-610ab78deed2", "type": "basic.output", "data": { - "name": "nc" + "name": "", + "range": "[7:0]", + "size": 8 }, "position": { - "x": 1200, - "y": 568 + "x": 936, + "y": 336 } }, { - "id": "8c3ce21f-2214-489f-853a-d60a223034da", + "id": "9931384a-74ee-4de4-9df7-cc04fd19cf46", "type": "basic.input", "data": { - "name": "", - "range": "[9:0]", + "name": "d", + "range": "[7:0]", "clock": false, - "size": 10 + "size": 8 }, "position": { - "x": -328, - "y": 584 + "x": 120, + "y": 376 } }, { - "id": "a0b2c050-26fc-4ac0-875f-6ef2c1f03c5e", - "type": "basic.inputLabel", + "id": "c61902b3-38ce-45bf-98c9-322638c2264b", + "type": "basic.input", "data": { - "blockColor": "fuchsia", - "name": "stdout", - "range": "[9:0]", - "pins": [ - { - "index": "9", - "name": "", - "value": "" - }, - { - "index": "8", - "name": "", - "value": "" - }, - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "name": "wr", + "clock": false }, "position": { - "x": -176, - "y": 584 + "x": 120, + "y": 456 } }, { - "id": "80c60ca1-61f9-40d2-8a87-5cd02ffb2d90", - "type": "basic.outputLabel", + "id": "d80bfd80-1f6d-46af-b5de-5cd121ebe630", + "type": "basic.memory", "data": { - "blockColor": "steelblue", - "name": "char", - "range": "[7:0]", - "oldBlockColor": "fuchsia", - "size": 8 + "name": "", + "list": "0 0 0 0 0 0 0 0\n0 0 0 0 0 0 0 0", + "local": false, + "format": 10 }, "position": { - "x": 688, - "y": 664 + "x": 464, + "y": 56 + }, + "size": { + "width": 200, + "height": 72 } }, { - "id": "bc052fe3-357e-486c-a2e1-fef8f36a37ae", - "type": "basic.inputLabel", + "id": "f5619044-1e4b-4218-bfc2-44eced6cb16a", + "type": "basic.code", "data": { - "blockColor": "fuchsia", - "name": "next", - "pins": [ + "code": "//-- Address with\nlocalparam ADDR_WIDTH = 14;\n//-- Data with\nlocalparam DATA_WIDTH = 8;\n\n//-- Size of the memory\nlocalparam SIZE = 1 << ADDR_WIDTH;\n\n//-- Memory itself\nreg [DATA_WIDTH-1:0] mem[0:SIZE-1];\n\n//-- The data_out is a registered output (not a wire)\nreg [7:0] data_out_i;\nassign data_out = data_out_i;\n\n//-- Reading port: Synchronous\nalways @(posedge clk)\nbegin\n data_out_i <= mem[addr];\nend\n\n//-- Writing port: Synchronous\nalways @(posedge clk)\nbegin\n if (wr) mem[addr] <= data_in;\nend\n\n\n//-- Init the memory\ninitial begin\n \n if (ROMF)\n $readmemh(ROMF, mem, 0, SIZE-1);\n \nend\n", + "params": [ { - "index": "0", - "name": "", - "value": "" + "name": "ROMF" } ], - "virtual": true, - "oldBlockColor": "steelblue" - }, - "position": { - "x": -16, - "y": 664 - } - }, - { - "id": "6940c4f1-a919-408b-9f9a-c542d928ac41", - "type": "basic.outputLabel", - "data": { - "blockColor": "steelblue", - "name": "exec", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 688, - "y": 720 - } - }, - { - "id": "f809e9bb-2587-459d-807e-629afdc99f43", - "type": "basic.inputLabel", - "data": { - "blockColor": "darkgreen", - "name": "busy", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "darkorange" + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "addr", + "range": "[13:0]", + "size": 14 + }, + { + "name": "data_in", + "range": "[7:0]", + "size": 8 + }, + { + "name": "wr" + } + ], + "out": [ + { + "name": "data_out", + "range": "[7:0]", + "size": 8 + } + ] + } }, "position": { - "x": 544, - "y": 728 + "x": 312, + "y": 200 + }, + "size": { + "width": 504, + "height": 328 } - }, + } + ], + "wires": [ { - "id": "04a63331-d349-46dd-b312-aacf9b71b3c6", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk" + "source": { + "block": "0b91cb0d-4144-4939-8755-e331104016db", + "port": "out" }, - "position": { - "x": 184, - "y": 728 + "target": { + "block": "f5619044-1e4b-4218-bfc2-44eced6cb16a", + "port": "clk" } }, { - "id": "9aa5255a-60da-463d-ba87-d4f96456d802", - "type": "basic.output", - "data": { - "name": "", - "range": "[9:0]", - "size": 10 + "source": { + "block": "c61902b3-38ce-45bf-98c9-322638c2264b", + "port": "out" }, - "position": { - "x": 1216, - "y": 776 + "target": { + "block": "f5619044-1e4b-4218-bfc2-44eced6cb16a", + "port": "wr" } }, { - "id": "ddc62e2a-e70b-449d-860f-e815be4c4d8e", - "type": "basic.outputLabel", - "data": { - "name": "stdout", - "range": "[9:0]", - "blockColor": "fuchsia", - "size": 10 + "source": { + "block": "d80bfd80-1f6d-46af-b5de-5cd121ebe630", + "port": "memory-out" }, - "position": { - "x": 856, - "y": 776 + "target": { + "block": "f5619044-1e4b-4218-bfc2-44eced6cb16a", + "port": "ROMF" } }, { - "id": "dea0965b-016f-40c0-aad7-c4d26a391f46", - "type": "basic.outputLabel", - "data": { - "blockColor": "steelblue", - "name": "txmit", - "oldBlockColor": "fuchsia" + "source": { + "block": "9931384a-74ee-4de4-9df7-cc04fd19cf46", + "port": "out" }, - "position": { - "x": 200, - "y": 824 - } + "target": { + "block": "f5619044-1e4b-4218-bfc2-44eced6cb16a", + "port": "data_in" + }, + "size": 8 }, { - "id": "a6820ca3-b48c-4815-aa10-2f6b80e6c4af", - "type": "basic.inputLabel", - "data": { - "blockColor": "steelblue", - "name": "exec", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "source": { + "block": "f5619044-1e4b-4218-bfc2-44eced6cb16a", + "port": "data_out" }, - "position": { - "x": 544, - "y": 840 - } + "target": { + "block": "2f18358c-ebaa-4fbf-99b4-610ab78deed2", + "port": "in" + }, + "size": 8 }, { - "id": "1ac9dd5b-9741-4af4-963a-50cbf8c4c6be", - "type": "basic.input", - "data": { - "name": "txmit", - "clock": false + "source": { + "block": "480cf49a-cf72-4fad-a37e-92acddd25d32", + "port": "out" }, - "position": { - "x": -320, - "y": 848 - } - }, + "target": { + "block": "f5619044-1e4b-4218-bfc2-44eced6cb16a", + "port": "addr" + }, + "size": 14 + } + ] + } + } + }, + "d1635cb33c6d31e1ea457005c78d574fcf71828b": { + "package": { + "name": "membus-16KB-split", + "version": "0.2", + "description": "Split a 16KB memory bus into its fields", + "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": { + "graph": { + "blocks": [ { - "id": "9fd18953-28a5-488b-be46-c1107835d885", - "type": "basic.inputLabel", + "id": "1fcc5668-ae6d-4286-9b66-f8f113c12bea", + "type": "basic.output", "data": { - "blockColor": "steelblue", - "name": "txmit", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "name": "addr", + "range": "[13:0]", + "size": 14 }, "position": { - "x": -168, - "y": 848 + "x": 608, + "y": 120 } }, { - "id": "1ed1a91b-927d-4eed-b00f-b05b5dda7cbf", - "type": "basic.outputLabel", + "id": "afe50480-6fe5-4ca6-b639-c730569a6a1d", + "type": "basic.output", "data": { - "blockColor": "darkgreen", - "name": "busy", - "oldBlockColor": "fuchsia" + "name": "data", + "range": "[7:0]", + "size": 8 }, "position": { - "x": 856, - "y": 848 + "x": 624, + "y": 224 } }, { - "id": "542ef450-6c74-4024-a245-fe1d832776bb", - "type": "basic.outputLabel", + "id": "2117685c-3a4e-4403-a12a-5de3ed4c20a5", + "type": "basic.input", "data": { - "blockColor": "darkgreen", - "name": "busy", - "oldBlockColor": "fuchsia" + "name": "i", + "range": "[23:0]", + "clock": false, + "size": 24 }, "position": { - "x": 80, - "y": 888 + "x": 48, + "y": 248 } }, { - "id": "2c5224d8-9648-4069-8367-a0c8ec056753", - "type": "basic.inputLabel", + "id": "c79430a3-a90f-40e9-af05-e6da44b5ac8d", + "type": "basic.output", "data": { - "blockColor": "fuchsia", - "name": "done", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "name": "wr" }, "position": { - "x": 552, - "y": 936 + "x": 576, + "y": 344 } }, { - "id": "fdd4378f-0950-4ef2-b5d9-091a87499091", - "type": "basic.outputLabel", + "id": "9751f777-00ec-46c1-8d85-07d2dec1e653", + "type": "basic.output", "data": { - "blockColor": "fuchsia", - "name": "next" + "name": "bbusy" }, "position": { - "x": 80, - "y": 960 + "x": 536, + "y": 432 } }, { - "id": "ddba74a9-5192-4fb7-8192-9e9e07103ad8", - "type": "basic.outputLabel", + "id": "16e78204-213e-4833-9096-89d735307ec2", + "type": "basic.code", "data": { - "blockColor": "fuchsia", - "name": "done" - }, - "position": { - "x": 1048, - "y": 968 + "ports": { + "in": [ + { + "name": "i", + "range": "[23:0]", + "size": 24 + } + ], + "out": [ + { + "name": "addr", + "range": "[13:0]", + "size": 14 + }, + { + "name": "data", + "range": "[7:0]", + "size": 8 + }, + { + "name": "wr" + }, + { + "name": "bbusy" + } + ] + }, + "params": [], + "code": "//-- Addr\nassign addr = i[23:10];\n\n//-- data\nassign data = i[9:2];\n\n//-- write\nassign wr = i[1];\n\n//-- Bus is busy\nassign bbusy = i[0];" + }, + "position": { + "x": 224, + "y": 176 + }, + "size": { + "width": 264, + "height": 208 + } + } + ], + "wires": [ + { + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "bbusy" + }, + "target": { + "block": "9751f777-00ec-46c1-8d85-07d2dec1e653", + "port": "in" } }, { - "id": "233059d5-8ab7-4c63-8dab-0c6af3a1dc28", - "type": "basic.output", - "data": { - "name": "done" + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "wr" }, - "position": { - "x": 1200, - "y": 968 + "target": { + "block": "c79430a3-a90f-40e9-af05-e6da44b5ac8d", + "port": "in" } }, { - "id": "72632c73-fe18-42b3-b81f-46999ddfdb20", + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "data" + }, + "target": { + "block": "afe50480-6fe5-4ca6-b639-c730569a6a1d", + "port": "in" + }, + "size": 8 + }, + { + "source": { + "block": "2117685c-3a4e-4403-a12a-5de3ed4c20a5", + "port": "out" + }, + "target": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i" + }, + "size": 24 + }, + { + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "addr" + }, + "target": { + "block": "1fcc5668-ae6d-4286-9b66-f8f113c12bea", + "port": "in" + }, + "size": 14 + } + ] + } + } + }, + "6e4fc811dcd6d1ac703e608270f81ee906ee7e98": { + "package": { + "name": "membus-16KB-join", + "version": "0.0.2", + "description": "Join the fields into one 16KB memory bus", + "author": "Juan Gonzalez-Gomez (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=%22M164.218%2077.643L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v26.186l61.698.046c8.012-.043%2015.705%203.133%2021.47%208.81l61.448%2061.315a57.292%2057.292%200%200%200%2039.993%2016.139%2057.292%2057.292%200%200%200-39.993%2016.14L83.668%20190.45c-5.765%205.677-13.458%208.853-21.47%208.81L.5%20199.306v26.186h62.612c14.924.039%2029.463-5.9%2040.204-16.28l60.902-60.863a29.857%2029.857%200%200%201%2021.347-8.81l146.53-.113V86.457H185.571a29.884%2029.884%200%200%201-21.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "61496e71-85ba-465b-89b9-fedb08b8590d", "type": "basic.input", "data": { - "name": "char", - "range": "[7:0]", + "name": "addr", + "range": "[13:0]", "clock": false, - "size": 8 + "size": 14 }, "position": { - "x": -320, - "y": 984 + "x": 128, + "y": 192 } }, { - "id": "59b55b10-4bcd-45fd-9dbe-e6dd6767c97c", - "type": "basic.inputLabel", + "id": "25996d5e-6856-4828-8cb3-5dea5ff5cf9c", + "type": "basic.input", "data": { - "blockColor": "steelblue", - "name": "char", + "name": "data", "range": "[7:0]", - "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "clock": false, + "size": 8 }, "position": { - "x": -160, - "y": 984 + "x": 128, + "y": 264 } }, { - "id": "e787e85b-39c6-4705-a8b3-4da9c48be3ea", - "type": "basic.outputLabel", + "id": "81a20a74-f096-4c3b-bc35-91917f08c79b", + "type": "basic.output", "data": { - "blockColor": "darkgreen", - "name": "busy", - "oldBlockColor": "fuchsia" + "name": "", + "range": "[23:0]", + "size": 24 }, "position": { - "x": 1048, - "y": 1056 + "x": 760, + "y": 288 } }, { - "id": "f1cc51c6-3ef4-496d-99cf-0ee3007a2c64", - "type": "basic.output", + "id": "dbe1622c-3510-4132-8b5c-2fbf81d7f581", + "type": "basic.input", "data": { - "name": "busy" + "name": "wr", + "clock": false }, "position": { - "x": 1192, - "y": 1056 + "x": 128, + "y": 328 } }, { - "id": "af3693c8-f4e9-4cbe-90e5-cd93b52b1834", - "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", - "position": { - "x": 224, - "y": 904 + "id": "49fb1766-1e7f-4706-9872-a6cd65cc9f2d", + "type": "basic.input", + "data": { + "name": "bbusy", + "clock": false }, - "size": { - "width": 96, - "height": 64 + "position": { + "x": 128, + "y": 400 } }, { - "id": "70db30ca-f05e-4d85-9911-4e37562185a2", - "type": "basic.info", + "id": "3545528c-05e2-4e95-8223-5b7b77587423", + "type": "basic.code", "data": { - "info": "## PUTC: Transmit one character (STDOUT bus)\n\nWhen **idle**, the STDOUT bus crosses the component without modification \n\nWhen the machine starts, the char is outputed and the state is changed to busy \nWhen the transmitter is done (tic received in next) the machine is turned off", - "readonly": true + "ports": { + "in": [ + { + "name": "addr", + "range": "[13:0]", + "size": 14 + }, + { + "name": "data", + "range": "[7:0]", + "size": 8 + }, + { + "name": "wr" + }, + { + "name": "bbusy" + } + ], + "out": [ + { + "name": "o", + "range": "[23:0]", + "size": 24 + } + ] + }, + "params": [], + "code": "assign o = {addr, data, wr, bbusy};\n\n" }, "position": { - "x": 160, - "y": 360 + "x": 328, + "y": 224 }, "size": { - "width": 696, - "height": 136 + "width": 352, + "height": 184 } - }, + } + ], + "wires": [ { - "id": "bc97ca4f-8082-4a12-b1d9-4c9f257ef54a", - "type": "438dedd956354c574afcde6f0793a7d369b2a031", - "position": { - "x": 368, - "y": 792 + "source": { + "block": "25996d5e-6856-4828-8cb3-5dea5ff5cf9c", + "port": "out" }, - "size": { - "width": 96, - "height": 128 - } - }, - { - "id": "17adabf1-6e5f-481e-b723-92cafbd3f126", - "type": "basic.info", - "data": { - "info": "Start tic: The byte from the \ninput char is transmited", - "readonly": true - }, - "position": { - "x": -288, - "y": 800 - }, - "size": { - "width": 240, - "height": 64 - } - }, - { - "id": "f9228c3c-67bd-4a38-b678-87e025a45048", - "type": "basic.info", - "data": { - "info": "Char to be transmited", - "readonly": true - }, - "position": { - "x": -272, - "y": 952 + "target": { + "block": "3545528c-05e2-4e95-8223-5b7b77587423", + "port": "data" }, - "size": { - "width": 216, - "height": 48 - } + "size": 8 }, { - "id": "40cbc8b9-ba20-4d53-90a4-74481101d34b", - "type": "basic.info", - "data": { - "info": "State of the machine: \n1: ON: transmitting \n2: OFF: transparent mode ", - "readonly": true - }, - "position": { - "x": 344, - "y": 648 + "source": { + "block": "dbe1622c-3510-4132-8b5c-2fbf81d7f581", + "port": "out" }, - "size": { - "width": 232, - "height": 88 + "target": { + "block": "3545528c-05e2-4e95-8223-5b7b77587423", + "port": "wr" } }, { - "id": "5a19e117-936d-4868-be9f-d1e03760a510", - "type": "basic.info", - "data": { - "info": "If the machine is on \nand the character has been \ntransmitted: Turn it off", - "readonly": true - }, - "position": { - "x": 344, - "y": 960 + "source": { + "block": "49fb1766-1e7f-4706-9872-a6cd65cc9f2d", + "port": "out" }, - "size": { - "width": 264, - "height": 72 + "target": { + "block": "3545528c-05e2-4e95-8223-5b7b77587423", + "port": "bbusy" } }, { - "id": "358d0c6c-1d72-445e-bdc0-c40d831753f7", - "type": "basic.info", - "data": { - "info": "The machine has finished", - "readonly": true + "source": { + "block": "61496e71-85ba-465b-89b9-fedb08b8590d", + "port": "out" }, - "position": { - "x": 1072, - "y": 936 + "target": { + "block": "3545528c-05e2-4e95-8223-5b7b77587423", + "port": "addr" }, - "size": { - "width": 352, - "height": 56 - } + "size": 14 }, { - "id": "6257ea46-accb-4d9a-b165-35a8a2c04270", - "type": "basic.info", - "data": { - "info": "**STDOUT BUS**", - "readonly": true - }, - "position": { - "x": -296, - "y": 536 + "source": { + "block": "3545528c-05e2-4e95-8223-5b7b77587423", + "port": "o" }, - "size": { - "width": 160, - "height": 32 - } - }, - { - "id": "ef395571-47c5-4fa2-9bb0-cc6bf29a96df", - "type": "46cae7e9ebf62b7867b3a90798e5bc71b9eec2e0", - "position": { - "x": -168, - "y": 664 + "target": { + "block": "81a20a74-f096-4c3b-bc35-91917f08c79b", + "port": "in" }, - "size": { - "width": 96, - "height": 64 - } - }, + "size": 24 + } + ] + } + } + }, + "7dd73370f9ea522fe9c9e331d4d240f520f61d10": { + "package": { + "name": "14bits-Value_0", + "version": "0.1", + "description": "14bits constant value: 0", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22153.645%22%20height=%22230.616%22%20viewBox=%220%200%20144.04211%20216.20273%22%3E%3Cg%20style=%22line-height:0%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%3E%3Cpath%20d=%22M72.021%2022.332q-21.774%200-32.8%2021.495-10.887%2021.355-10.887%2064.344%200%2042.85%2010.887%2064.345%2011.026%2021.355%2032.8%2021.355%2021.913%200%2032.8-21.355%2011.027-21.495%2011.027-64.345%200-42.99-11.027-64.344-10.887-21.495-32.8-21.495zm0-22.332q35.034%200%2053.458%2027.776%2018.563%2027.636%2018.563%2080.395%200%2052.62-18.563%2080.396-18.424%2027.636-53.458%2027.636-35.033%200-53.597-27.636Q0%20160.79%200%20108.17q0-52.76%2018.424-80.395Q36.988%200%2072.021%200z%22%20style=%22line-height:1.25%22%20font-size=%22285.851%22%20font-family=%22sans-serif%22%20stroke-width=%227.146%22%20font-weight=%22400%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22/%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ { - "id": "476ddfa0-b036-4f51-af3f-3de23d9e074f", - "type": "basic.info", + "id": "9a292d4b-866d-4b91-919d-e75f9a0714b9", + "type": "basic.output", "data": { - "info": "Not connected", - "readonly": true + "name": "", + "range": "[13:0]", + "size": 14 }, "position": { - "x": 1192, - "y": 536 - }, - "size": { - "width": 128, - "height": 40 + "x": 928, + "y": 256 } }, { - "id": "f8560747-4666-4911-8c20-a85c7c39f0c1", - "type": "basic.info", + "id": "7c214b7c-5138-4e3e-aa20-c423be96e47e", + "type": "basic.constant", "data": { - "info": "**STDOUT BUS**", - "readonly": true - }, - "position": { - "x": 1208, - "y": 736 + "name": "", + "value": "0", + "local": true }, - "size": { - "width": 160, - "height": 32 - } - }, - { - "id": "ef467ee3-3e65-4bf6-8e70-aae8b6da0bf0", - "type": "3e13565dc4f4666505760a8e42d91e6ba1ab5a7f", "position": { - "x": 1048, - "y": 760 - }, - "size": { - "width": 96, - "height": 96 + "x": 728, + "y": 160 } }, { - "id": "ec68d254-7f67-4ca6-9e0e-b2e2e9d45066", - "type": "dfb235f1673ee7cefa8539b9a9f9e43979df37ea", + "id": "f1162367-605e-4e74-b25c-1a03e7175a02", + "type": "3dcd4b40bf34ee2c849e07c685bec61517a3ee88", "position": { - "x": 856, - "y": 680 + "x": 728, + "y": 256 }, "size": { "width": 96, "height": 64 } - }, - { - "id": "f59e851d-2d7f-41e9-8128-77b7da1c6a18", - "type": "basic.info", - "data": { - "info": "**Create the bus** \nfrom the data and tic signals", - "readonly": true - }, - "position": { - "x": 720, - "y": 592 - }, - "size": { - "width": 248, - "height": 56 - } - }, - { - "id": "c6b39875-76bf-43b3-bf07-98c17499bf21", - "type": "basic.info", - "data": { - "info": "Transparent mode... \nor not", - "readonly": true - }, - "position": { - "x": 1056, - "y": 680 - }, - "size": { - "width": 192, - "height": 56 - } } ], "wires": [ { "source": { - "block": "72632c73-fe18-42b3-b81f-46999ddfdb20", - "port": "out", - "size": 8 - }, - "target": { - "block": "59b55b10-4bcd-45fd-9dbe-e6dd6767c97c", - "port": "inlabel" - }, - "size": 8 - }, - { - "source": { - "block": "04841e3c-8761-454a-8d99-496fde26ea1f", - "port": "out" + "block": "7c214b7c-5138-4e3e-aa20-c423be96e47e", + "port": "constant-out" }, "target": { - "block": "ed414ec2-55e9-4b36-9c04-d544201b630e", - "port": "inlabel" - } - }, - { - "source": { - "block": "e787e85b-39c6-4705-a8b3-4da9c48be3ea", - "port": "outlabel" + "block": "f1162367-605e-4e74-b25c-1a03e7175a02", + "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" }, - "target": { - "block": "f1cc51c6-3ef4-496d-99cf-0ee3007a2c64", - "port": "in" - } + "vertices": [] }, { "source": { - "block": "ddba74a9-5192-4fb7-8192-9e9e07103ad8", - "port": "outlabel" + "block": "f1162367-605e-4e74-b25c-1a03e7175a02", + "port": "eecc16dc-2b03-4f7b-bc80-7bbc3012a333" }, "target": { - "block": "233059d5-8ab7-4c63-8dab-0c6af3a1dc28", + "block": "9a292d4b-866d-4b91-919d-e75f9a0714b9", "port": "in" - } - }, - { - "source": { - "block": "04a63331-d349-46dd-b312-aacf9b71b3c6", - "port": "outlabel" }, - "target": { - "block": "bc97ca4f-8082-4a12-b1d9-4c9f257ef54a", - "port": "046501b8-4427-4d4d-af97-7fe807774f33" - } - }, + "size": 14 + } + ] + } + } + }, + "3dcd4b40bf34ee2c849e07c685bec61517a3ee88": { + "package": { + "name": "14-bits-gen-constant", + "version": "0.1", + "description": "Generic: 14-bits generic constant", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22145.608%22%20height=%22247.927%22%20viewBox=%220%200%20136.50729%20232.43134%22%3E%3Cg%20style=%22line-height:0%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%3E%3Cpath%20d=%22M56.012%20146.905q9.055%206.708%2020.459%2017.105%2011.404%2010.062%2022.472%2021.8%2011.403%2011.74%2021.465%2024.15%2010.062%2012.074%2016.1%2022.471h-32.87q-6.372-10.397-15.763-21.13-9.392-11.068-20.124-21.13-10.398-10.062-21.13-18.447-10.398-8.385-18.783-14.087v74.794H0V4.695L27.838%200v141.874q18.447-16.1%2036.894-31.863%2018.447-16.1%2033.205-33.205h32.533q-14.422%2017.106-34.881%2035.217-20.124%2018.112-39.577%2034.882z%22%20style=%22line-height:1.25%22%20font-size=%22335.399%22%20font-weight=%22400%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22/%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ { - "source": { - "block": "bc97ca4f-8082-4a12-b1d9-4c9f257ef54a", - "port": "0d991cee-b329-439b-b9e7-5712d2db539d" + "id": "eecc16dc-2b03-4f7b-bc80-7bbc3012a333", + "type": "basic.output", + "data": { + "name": "", + "virtual": true, + "range": "[13:0]", + "pins": [ + { + "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" + } + ] }, - "target": { - "block": "f809e9bb-2587-459d-807e-629afdc99f43", - "port": "inlabel" + "position": { + "x": 968, + "y": 248 } }, { - "source": { - "block": "542ef450-6c74-4024-a245-fe1d832776bb", - "port": "outlabel" + "id": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "type": "basic.constant", + "data": { + "name": "", + "value": "0", + "local": false }, - "target": { - "block": "af3693c8-f4e9-4cbe-90e5-cd93b52b1834", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "position": { + "x": 728, + "y": 128 } }, { - "source": { - "block": "bc97ca4f-8082-4a12-b1d9-4c9f257ef54a", - "port": "3802390d-8417-4369-b93c-dda647ccb0c6" + "id": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "type": "basic.code", + "data": { + "ports": { + "in": [], + "out": [ + { + "name": "k", + "range": "[13:0]", + "size": 14 + } + ] + }, + "params": [ + { + "name": "VALUE" + } + ], + "code": "assign k = VALUE;" }, - "target": { - "block": "2c5224d8-9648-4069-8367-a0c8ec056753", - "port": "inlabel" + "position": { + "x": 672, + "y": 248 + }, + "size": { + "width": 208, + "height": 64 } - }, + } + ], + "wires": [ { "source": { - "block": "bc97ca4f-8082-4a12-b1d9-4c9f257ef54a", - "port": "aefe9248-3b3d-441b-9e65-33cda65b99dd" + "block": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "port": "constant-out" }, "target": { - "block": "a6820ca3-b48c-4815-aa10-2f6b80e6c4af", - "port": "inlabel" + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "VALUE" } }, { "source": { - "block": "1ac9dd5b-9741-4af4-963a-50cbf8c4c6be", - "port": "out" + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "k" }, "target": { - "block": "9fd18953-28a5-488b-be46-c1107835d885", - "port": "inlabel" + "block": "eecc16dc-2b03-4f7b-bc80-7bbc3012a333", + "port": "in" + }, + "size": 14 + } + ] + } + } + }, + "76edf4205ccb9e56d286f0315a959a27a34b5c04": { + "package": { + "name": "Mem-16KB-sample-machine", + "version": "0.3", + "description": "16KB memory sample machine. Captura the input data and store it in the memory", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20viewBox=%220%200%2088.570022%20126.13218%22%20height=%22476.72%22%20width=%22334.753%22%3E%3Cg%20transform=%22translate(-158.43%20-96.411)%22%3E%3Cimage%20xlink:href=%22data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAgM0lEQVR4Xu1dCZBU1bm+PdPTM8CM%20AgMO+yCrAq4oGjWKIIorcYnRlD59saImGlOaqK/UPPeHu5VyjyYuMRu+uFVEjRqX4FNRQURwQVxQ%20YdiGZQYGepZ+33frfK9Oneq+t+/0zHTad/+qU7fv7bt0n/8///L9/znX+1ZTTDHFFFNMMcUUU0wx%20xRRTTDHFFFNMMcUUU0wxxZToofuX8XPo82LqcLaZUhUAMbucraKi4viysrI9jCBkp5gybKBH0un0%20cuy3URC6WwiSXvcRmV9ZVVV1azKZPBvN69+/vzd06FBv2LBh1mkxff31197ixYvJfa+1tfUnHR0d%20x7W1tc3HV2kJQakJQBmZjzYUo99n/qRJk7xTTz3V69WrV5bTY/rmm2+8u+++29u6desO2L0cAnCq%20YXy61AQgYe5bBebvB9XvJRIJ79hjj/VSqZTX3t6e5ZKYBg0a5B133HHenDlzPPRZLQ5VG+a3lpwJ%20kPoH83uT+Ww77rhjCPNjYh+Z/hqK3T5oW9C2obWXlAaQAMCm9SovL/cGDx7sQaWFXBbTTjvt5AsA%20+qwOu7SVSTnOpSgASdBkSjTtPhybkMtioomkyWTjLvmjSK0UncAkJLmMAgDKUwBiqqur81atWkUt%200Bcmc2XJaQCBPtqCvMrKyjztf0wIm9lp1AbjW1paPrIwlUzJaAAJAKgajbYtTwGIaeDAgd6KFSv8%20zmMfloIJcCFf3rOCDT7AKAgAAY78nMCYqC3lB/Q1/Zgy4WB7AERcVAFIiPE333zz6JEjR565ffv2%20Xlu2bKm58847d2psbKQAhGiAmOQr1dTU+J8PPPDAE37wgx8MhgO9BeZg++bNm18588wzXzYQcXtX%20CUGii5ifuuyyy8YD7Fk4YMAAOTHelVde6X300UfejBkzPAhGwG1i5ksA2HdPPfWUd/LJJ7NRczKM%209iOp55577oyzzjrrvwkOGUHIFFsDJIya6nPQQQfdSweGKoyNAgBNIIcmRxQQM15ELcl9oKdU/4yh%202W/sR/anvz98+PD/wqnPozUZc9BeFA3gMv/GG288CgLwaL9+/by+fft6q1ev9gXgqKOO8v/MEUcc%204UOdJUxiUgSmRhv59va3v/2tnztBv9J0+k40Bxe16fLly2effvrpt1EIlCfobg2Q0FYq34J7q6ZN%20mzZ8v/32u5nSKonllhKrPACOyQcofQEonPlZma7GZ6jPFD5v27bN69Onj78/evTon/34xz9+/v77%20719s+NFup5OjOoqJKA7ezjvvPAuM7QuGJkBlyFtXgNkzMbrHUXUx3Utmf/XVVz7zTzrpJL9TTjnl%20FK+EieYrAuO1H8r8nBrgb3/7m1dbW+vNnj3bfzY165AhQ7zPPvvM9wlWrly5DFnD5yAUaQhMB4Qk%20g/My0LxPn3POOQuiOIqJPCDd1IMPPnjiiBEjHiFzObK15Y9Zs2aNn+Ovrq5mKtP74IMPlPjxfvGL%20X3ggCkKpC0AhjNdxfbZb1u9ffPFFb8OGDd4dd9zB+gBv/fr13pgxYzw62OzzTz75hKaWfc5+5jFt%20aX5/hrT7gzQPchQ7awLKZOPB4Nly7CQAbBzlUv38/P7773vQEs0vv/zyckhpNTpkNK6X+i911a/P%20UUe8y2jdI6tgiMj4t956axGFb88996wD0wfRDJDp7G/wQ+l18kJbaoo7jjzyyL8/++yzX8tR7JQG%20EPPRasHQT/FwPkBCwCaJ8zXAhx9+6Esp4lVJqXfDDTf42uDggw/uSVsscjtd+1Gu1/lsETRAkLoP%201whLlizx2+9//3uNbm/8+PHe22+/7e2yyy5ECmluXQ3A5kdeTz/99OlwIOfiVs0mZMwUpAEA6pDx%20fKgEQM6ez4w33niDQuDbLVJzczO/U1hDFdqVjC/cMYt+vYRAx8JUvCtA+Qinew/aeoZ+ZDAjAZ/p%20L730EiMEAkbsY35HXnDLfqdJZn/3poOO1kIB6KwJSAjWBZOXbtq0acK6det4c7v5Dx83bhwZQcEg%20w33mAwFkR7goYE8LghgSpgGiMknfBal7Nff5bIHnsx+5hZPN/vQZrKTaPvvsw/IxagGZYTX1/Qo4%207B8Y/y1RSBiokKIDCN9//upXvzoRUjgMzKxgBMBIgIQQpQwJjElQRymZBgoAnRj9GVzTE/Y5aDQV%20cr39XRRV79p6CQKZlfV7HaPZlPYk0zm6JQDIEHKkL2tqatrcAWIEwMvwfevatWu/efTRR1+wI4BC%20BYA32o625dprr32R/gBab3NdObzSGoAWp+AHp+QfSOVLimWnihSjizGFXu9+7zLVfYaOaWt/lkl0%20Ge+eRy0qbIX7cvoIq484/vjjH4BGbrJCvq1oG9BWo20zqj/U9iZC1H81mY5q1csQ6x+KeHSkHQbS%204VMRA4/RLr3zzjsefYbXXnuNjTbMb98KClf37ne5jkkLZDUX7Nd//vOf3ne/+13vkEMO8Xr37s1I%20gJqAZsHXrtAATB3bTiCPrYXf8NpvfvObG8GHz4UWFuIElkGl/BwO3r+7IaCwfkqlnEH+6LFjx3Kf%20zJc0f9vyAO7IzmfUZ8MW3OO6BweStGd6t912S5Hpb775pjd58mSli8lw5Q3kBBIbGIhrT0QSbgTM%209jGqJ+iMACivX4VM1BnCAOwmW88fy+8XLFjAH9R49NFHPwNPNA3I8mgcHwTp/bYIQC47HmYqcp7j%20OpiuxnjssceW3X777f/D/YcffvhwhIH1+++/vwYd+10aQELBRuRw3/PPP38s0vGLFQayRRWASrQ+%20YF6N7BCbGwYyTUnmm+rf/n/+859P5+df//rX3scff+ypIORbQLkAnSAH0T2WCxDKeg5yLBP/9Kc/%20TbSdwHnz5tEcKMyWj2BjATQhHIzjcJtPjA/XHlUDCAPoDa9T6kXhhv9gMXbhwoW0RYxTqf4JBUtA%205PCUPBLo2m2X+focgQLxAWL+ep4YTJyFnxsaGuhnMSlE6F0mVlv6ATzOaKHNDOLyzkQBSgKVY87a%20vXBEzqVU8eZ8iJhKdJB2CRgBpZPHZaPowRbTB3DVaqHXh4V67oiOKgTaJ+MY40sA5PlL8xJsI/PT%20mE+YIlDEczTYYG7pN9BJnHfvvfd+lk9NYTIkBGy9/PLLn5syZcoqPHRnaIIqU6yYAGMpWeWoA9h1%203333HQfG0ymk6uEPlQAwj01hKVUBEEPz9eZzYQt5h6LLli0jw3k+4XRXALjPnMt6wL3zySOc126u%207QBrtmOQrnnmmWfeVh1hZ5NBHWS+iS03zp8//2O0tSY3UG5a6phjjhkPp2Sc4n/lsCWRaMUe/WJM%20IdcGaQD+vyBgxx7pYc/loGHmz36WgCBbAJgXGAwsoOamm26aJ0ab1kJ+oTWibdF3hQhAC8KQjtNO%20O+0QPPBgSFh5whCksgwmYJjtINIUfPnll2SARkexBUCd35UCQIa710SCjd3vlTHl6Hc1Co9xS5yf%20dl8a4fDDD5+2xx57jAAPVA/gI7eoKVz4/PPPz4EWkAB0RBWAhGl8SM0FF1xwPx4yXo6dtgR7Nm7c%20qOofZgVZrsSctf8ZxOOlYv+DGGcLM7dhYV02LRAaKXz66adZsQH6A6NGjfK++OILf4ChLoMCwHQx%20ne8x6G95/0oaTdh1112PQ6Rw8vXXX/9GZ6FgqviKH/7wh6cB5h2fDQPgD6Dal+3HH6D6WoLpzSuQ%20H6hFR00pCQEITwa5zHcdvygYQFYBBYbPweQy33/ek08+OR9+1DqM9tqJEyfuB6bT0dM6C9II8hNk%20LmrgnJ+Nr98xvGyPggMIBOoNaZqZCwOgACgWfe+99wgHUyv0wxz3fvBOK1naDCqeAES3wdkydmJ6%20ULVPlJSve4whm7z+rNfuvffew1BnMYz9iMGYBhiUAj7AwWfnB1xAiP1eTx4aHKA1qgmoQOuFZMM2%20Le0iVS8hkF2aO3euX6Sw++678/gQNP04tmJhAO4oDTtH4Wouu5+rHiDoWNjz+Tyqdqn+XGsGDGEx%20CJnKfqYJIBhUX19PbMBGAwXPU5swZE8aAWg2g7o9igDwghTU+st4yIEo8qR614PUuNYPcQB2gh0B%20KEnEzz2NAopRQUwPvc62+7YwhJHLePd+7rmI5VnxG6hdpGnJZEHAsPF+4ccLL7ygzKsGp2oFeXyp%20GchlnU0Hd1xzzTXzZs2add306dMPwg1T6AS/yIC1AHhgAn+gDAKyN+yRoGEJQE+HgTbTIwhA4LlK%20bbueea578ry8439oVwI2YfWECv2k1qVdOcqX4bNqAjIQlAySRh1pELTywoceeuhFjfqoAkCOtZmc%208mbY8vfQvsF+jSTKXFcJ3P80FSdasCVbT6OAfE6AAETzB8TMELJHdyR4mBEUwrW8tAqFRFgAeKuq%20HxZ/1iE8nwsHkuq2VcCdUfmN5J3hYVvUbGDGXNTCm8ABqcVExYGQsio0nl9ObYBc9QGIS4fpB0kA%20ILHqCDGm2GrfPTdSvt9toKAQMBQSpsqX05cHUdXbA0ueP0PAHe67776TkSz6K/q8FfdrY8PnXsBi%20Nr/yyiubyMNOFYWqnBiFIMfAAbnBjQA0H4CMFvYPtUMcm99zCpPjHUemqPa7K+bm2aPfbi4zXSaH%20ZvtssAfMsZy+cGKU8Prrr8u790w6WFp28HnnnXc+czJ2JMDt2Wef/QjC+EsiQcH2TKCf/vSnoydM%20mEDm55wPIPWPknCqpmY4i58atTUGm2qZgH/xtK6Y7gI/dtMxCbUNCGk/0PaT6eifKMzX/IA0/IWl%20uI4O9xhA8tUHHHAAGc0+Z3OxAG4ZIfzb7373u0U/+tGPHrDKwzKhGkBz/hBrni6VLqbbn/VgxPy0%20aXT81iFV2c7vlL9mKxIFedZBJVuuANgYiC0IWa9xBcl2hOnxa7Z0BGJ+IAVktZ1C9eqrr34BQGgS%20J+DstddedmGIRr6azAUHYq+gxFAyFwYAhlbxB8vDd6Fgph5ZnkxnBhlBerUjEaeOxHcMGYVs9SST%20XTXunhNUjp1LACT4OuYyOFeuwN5nH3WK+boe4NpkMpU8QG6GU8c4SYSwO7Ot2YpCOCiJMFYRC5Av%20EMUEpABQLCHowHBF8/5tIu6PQlECEtQGFBTNExDzu0MAwpgpFet+F8z4cAFwr8l79EMrkhkF9YVU%20vJjNmgCG2iy+Yf/zmO1n0G8gwTfYbkVuiUg4wK233roIocYcqJyD8cBBkmp1Do41IzlBhldbtqi7%20BUCMCMvURREAXeMCP3axRdSmkS9MpCBBp++AbKwPCilFvMMOO6QBCDUCgh+kCEihMPiyEY7466gL%20fKJTOIBSwZjd+zi2LErsh1apKiFeN3PmzJFXXXXVLI4ONcs77Q4BiFKCnU0AwkZ8wPGiMF8CYDt6%203FcVdurxxx9fftttt82x5gZ0GOx/o5kfsDXIASQlA0CgJrQNmIo0GGqmL6SrEq2cNQE1oDPOOMNO%20FPFHUvq6QwDEvDDmh2mIfBnsRgNhQuPmDKj2HeYXLADC/O0ld7iG0IHAFRrhiK8jBsCqIPAijRxN%20K2oCGslDGwyKBAQh3kxdcskls4Et7207f3LyiEopSmBCg3XrBDlce1kA5a3m3a0oDxtv2+9sQpS3%20AMj/IMgjh68ryHj/nC1MH4BRAZNzFAiqetZsHMucjJw/YQFQ/w1wFn+C6myiuB1RcAC2sl/+8pdX%20wM67zBfmLxDIF4SlS5d6tEfwTL8CQOSvC1CQAIQzsKsFINu9o5gHxfnsj67WfGT6avCigWX3eMZw%20ONx08MgHNTcEZBsEMz0bAjA1ihOoKWG9MPIPs3EAu5FUC0AQCCaCKGB/ABX9oY5YKl6IBsjmXefj%202UcVAG2D7mufn2ufI94N9bpSANi/dejbOo5sMp9l44DoyQOZBxcHUCZ2l1tuuWVfDOZ5uXyBZI4J%20IdX4MzVcm8bWAPqsCSFaFwDlR5ocomyVmNYVDl4+4E22e0URAp0fKgDudWQ6R77sc3cQw0j5W0Bn%20WSPgm1xUCPG4iwOo0VQTla0jT+ULBGoAe0oY2lrUAwxEuKFRL/LVHNEoAD+Cg9kEQ0b3AcLj8rDz%20omiTIEdOlJXZrhDQBrP+UdhDdxHnY7hRAMwBcQD6AxRCt8BUi3RsRV3gEmEBkSaGYC7aLUgo/BwP%20GOJIvyYhNIL5/dHo/EkACBw5AhCZ8Z3VBtrm60i69wtkvnsNRxdr+XR+dxL7VQIgGB7amRnBZvgC%201RRABwsgGLQBcwcell8XFQdIo7hzKdq12B9gagHKhQPAIemDdQG+B+9TDiG3MhH5hoFBuHoU2DYb%20sztjXkKZr+JQ+DkclT2V6+AAk523cQGO8hRqAh7FHMxG4QDWWgHr0b4JWysgmQsEQtuMdOIQePf7%20EHTgqiBs6IAylCmPB0pYazkg/DFkJrdibHeM+nyAHzdTx2ORwkqX6fpMJI7MVxlXTxEdTJob8IH4%20ggSAWjh1xRVXHIEw/CPwhrzrIBaAz61AY1fAAfyQwhBFADISgj/+8Y8XA+s/xnUCyWyqPjJY8wEB%20OvDHsMlOhavjcMZHdwjdz+Fz/NTC7D4FW/aex3o6s0lnjn3PWgtlArlPSHggVmEbyLDQxQJQyLMP%20VhI5KbQs3MUALr300t3g3dvMd2sB1DhT1fcHnnjiiQWQ0jTO3x+d3j+LKg5KowYlVKLCv0EZw7yF%20T0zWdGsCMPq+GHTPPffM5fb73//+RDjg9ZivybUZqA1yYgHEcTBJ9ORzzz33/rxwAM35w41HK8HD%20G7lND+V8AGqBzz//fC1CkmGQ0ibkvSukItGij/rw40HMLhROVpO3rVCqaIyXFoPJHQbTm0IWdhPg%20efa9qoPCagJ2dsJABwfI8ro3jOKBzOgx3Wvj/ZrpQ3XDV50yHJw6dSqxgPEqB4MmYDawMyO5s0IQ%20ZRHH0BBTWkjhF4RZPkVRi1sOPfTQ3ckPMpYTQ7B4J00vcQGtHqowXIJAU81ooNKE9Vt4q7xwAEw8%20+AATPbZiejKLCeT9qnFU0A7xIaoF4GeZi6Awy7afUZgdBtkGCUC+foTqGch0OnwUcLu6qWhCoNBP%20CSEyW/X/1AQ0BfJXxCsKAWdrQSNHwgEybFiteiUeeAMqUWaiKGQ4vX9QQkzla0wgWYPhgFQ7qWA6%20ShKAqCM/2A8IX6SB2yjMd59HQIUjho0CYINaxV6rmGigFoWy1wxMAxD6ElP4iAVk0Dxu2TBI1/7l%20L395CeH6gnzTwYoA0lQXUOXvo63Bfl+0XlYtQAXeZTPhoosuGuv4BBQE4eE87uL4kRkOCmJa2HSv%20sHtJtUtdkukBL7cqriBQAKQBlIvh4pwo/96ACTxPaW6AtbbjJlMTsIX7eU0N08WaXIClxsbAw+/P%20eQAqBMGDdwBCON2pVVdIqCoabiM4gpF9gfxW6Q5v9O7p5LnVy0UUgvAZQiA5fXwryxRogvVIEK1A%20n/tCQBygEoTFpj90agI68jEB7Xg7Vd0JJ5zwACRsnJsIUtZLAoC4lKEgc9U2ChhVAKIJSDj8m7NA%20k8KpEYXUNUd9rmtzrv1XDGLCiQkg+l8sxhUKC4eb8f6ReCmHu3I4X9e/CotLn4Pyvoa8cAA5gXjB%20wy1wLGzm20KglarZiQwBGW9+CWdjPYSuBh01Vh1fIMAThtVHAZzYbHVPD1/OlZzbbHP8bOZrvxg+%20AAdeM3iyDJFANXCJscy5wPYrJUy+SPvas4UH431N90AAJltQfntWAVA1MFofPGhKrsUh7algzPtD%20/SzCJJJXqV4wVWzEd77znbH6IQWp//Da/chr95PJqmZyp3y7QuvOFnaFoYeJzvVmgEHzuHPxxRd/%20hWLdaQr/0Oz1hBQNCJUdCrh4+nXXXTfXrgkIEoBqwp4QgqwLQ1DV8yFcCpZFCQgVazET9Xv4LgMk%20sBfeciFp7MwI7xTcq3131GqSijx6mC4KrJa2t+cuqtPsY0FzAXtaG/BNLLVYtncWGcx8DON/ml7k%20ajgoyRdXA3BL/4ZRjd4fIF8gpwbgfhVuuBWLE/XOUgsgTJzM5yLQFJRhPMbzaFMxdYmd1LWjPvwe%209jO1r3WMKAAaHa59dxNHbsyv79mKxXz5LJXo8xGaH4CXRpCxHIAE5qjVstUE8Dues0FYQHhJGAiv%20JLsGb5+6QLUAjj0ns1dASEY48wFUGCFJ7DTkCyoogqB9h40UiKM5dq6nL0Zrm+14zn21HiIKr6IA%20qXyVizUiUqsGNpOyBJW8oNBsxNT+R4DrNJAVYUigpoVvxyLFS9CuNrUAVB/l9lvEEF6cxMWKskwI%204YMVBvYYw2Xfqe7gILkjPWCaeiiSmAvBLEZGUAJAYVY2ln1eceKJJz4EgW9WqGdai3l/wEpNDQsL%20AwUC8UbrjLrYrhdEmJaCw3cApowPcWsEhQgqZrXCr+4UADKbsTyl3bHdoat/BWkDl8HFYr77P2TK%20JBCMBGrw3uY9Acw9SX4JEDL2fqPh5WZ+l48AqBhkE5aInQoseRJHvVkaphw2pwKJiMOUJVRySEUg%202kYEgqKkaW01z0anrpA3g7jqPSgMLHpGEIUfeo2sPUOIOMAUvGOwCcc2kfk4Rl62oXhlKV44vQrR%202tZcq4Ym3VoAFBFOwtJkD+MhQ7NNCGGihD+C+4sWLeL6gEIBJZlkfr44QKTsIB0dRBruaC90RnGg%20utfxYhMZzsUl+P/Zz8Bd6IgLDOLqYdOdCSKcScwsYhOqt/kSiTeDfICEVDyygJfCcxwaMCGEW0UD%20tEdLYHe5SHEaAjIOD+4vAegEw9193p/PItMpYFGY4nr8BQhKUUlCSTRwSRrEUjD0yVhMQUuB6WET%20RGqwoATfJLqXfARbEyQdDKAGN58hECjXhBCqXYJACBNXQgtsxLYCmmADEMGMfACdHzG8U0WrMnMc%206RGYEk0Q1LElQBR+mgCfeeiTFryq7wvwYRyqg0MniOD8oVjuZwb8t7mWEGSyCUA1VTwQJt4w66IQ%20HJGcq8b1a/EjhoDpcgg9ZKb4lhBemy+Eq9WveF8y3Y1nu2OmTcm+sOKwww7bDXMx9FoYfwvgjXwg%20b7IWhbA/oZ2prbOCQUn3RdFgwlLYmgmK69mEoWs04v0A3OcKFQR/bCGRD+AyWfdQEzKXJ4Nicl8p%20z4IQ8gUmm1PFaCa5tXkgJJSTR7ZeffXVVmFIwLwAzCO7Ce+dPQ8MrYOzVwd/oNJ6nVkzsn9fwhEZ%20i5GfctYG5CjW4sddPBpjIrOhne03hckx5kBahtC8Foxm6l4oaBpRwGpo8yYsJ/eHrNlAeYWy/2gD%200UagDTUgUDVa0i4GeeCBB46DdzkKgkEUitlAaQBWrvpATPdQTIR/8WZwaV/2O/uf6eF1KP8mk1sd%20R2+rWTRyFdoKtAZTKLLd9QGEAWwx6FGKNzD7FXqHMN4dsD8mgo5SRCA0Suaie2PlmNx3CIkPCAEH%204GWRU1GoM8fE+20WPzeaWULN2bCApAMDp7GwwPAZM2bcgCTPWNl1MZhhHx+ulcOYjWI8KjBItr9b%20KCZqVy0aSbvOWdkSCNZk7AHnfA/wxl0trAER241ICT+WbdXQpA0Cgfn1WBz6Idy0xsUAGPrZkxBY%20lWJKx9fj+zRCtjRq1uu7LayKifaeo70BvgDRwEHvvvsuy8KVKFKBi1sUMghI4e14o/hK1BE854JB%20SXtCCEq9Z0GCxHy76SFML1IYOPI5B+CvSBrxHbUMC4fADtV3mwaIic4e52FQzXdMmzat7qyzzjqB%20L+dAWl6D0y0KkbngKmOn4rqX3UUjpQG47Q3vfqAyfE4xCG/Km2ttAHr688D8BSauTAAMqu3+apnY%20BzD2PP2Pf/xjPUZ/BXhzEvqcA5P8yYYFaI5DPau93DeIJO0ZQWB8K1U7gSAw1Mb0tWwpsX+uUPH+%20hRde+FccWmuSR0mopCHd7gTGoSD7vgkDlf1ehncDbwQAVAGmz6IPBpCIfoKwG9UEsDaCQrDOAEGK%206tpdJLDsrrvuehFTig+DJI2DTbcfrPlpvNF8FI3+wYQWqylRpoqoOR8BoGBRw5QKEWHj6CoW0c8C%205q+aBgI/O+It7Yu5y+7EuwOfx7wALtc7E4JRma14FZNHGgEFP2PVdbjzAX3VUIs2DK0eteaTEQUM%20ANMrcCNSBkxrA8zbgJKv5WS8EYC1+iGwSUdhIaPrKTgAkFjD5nde4RQT7DwhdvYnczD/geXfXrBq%20NerIY/gBQ+EfjOY7HdDKMiBo7zYIxfpnn312EXEANsOzZpkBlYJXkYloO/FmFAaznzLnCCdoNjjB%20GqvQIMnzsXDkz1EldDY9VAIWXUYxUetSAKiJuBjXJXhXEEfzZjN4+5Fvhmc11oqunmZ5WWDQGsO/%20FtsEZAxztaxIh7l5L7QKCYD1FpEmtE1mmzZSSEexRmAQVFYXqfnY5tPp1mLT3Gf9n+GHnLm0ccQ3%20GE2ekgC4PNPIz1YWrhuSWs3Jmg5mv0w6bc5rMZ8T5ruyBMiablWSoJAcp39F0iv4UKU1RoW/Wv/H%208KTJ4lmZg/BuYzPntbkCkNGJVl1guWkCiXROu91sIIkkpluOYylm3f7Vw0CZbQlBq2ktFvMTzsBV%2068g1MSRjtTb3HcLOOSJ9Tqj1CMNjSjhMFmNbrWOJAJ6FTg4VReFmGbJTEzXlqlsoJsK/rL9QfO4M%20Tm2jUbKrzCcApLcBB09k0WKXU0wq+2pBle/fHVVeEBU6XCtMuDgIbRRWF7sNocoYYgHFJL3mpRTJ%20rr9Mg+BQryOz8X+ake2bAxzgVSeeby+mAPCXVpvikeFo9cAA9kKoMoCARKKI9iAD4hZzHBsAj27j%20oVIKSOR4O5M8GtC+MtsN5nhHMQVAINKOBowYpKVlLRCpmNShpo4tMQFot1/jawCdtYb5muxRkGAn%20u0BSVXmyntLqgkhsRR5BGkWZEtQCAuAU5rGfm93K3mJqAGmBCjPiq0wTIJEoYudJA2S0LWEz0GZa%202rS2YjuB7j0UmyazgEjF70B7v7Qo42oz+1iRNED4vYrOfDHc3f4/o5hiiimmmGKKKaaYYooppphi%20iimmmGKKKaaYYooppv8FlJhXILrvZ3wAAAAASUVORK5CYII=%22%20preserveAspectRatio=%22none%22%20height=%22102.996%22%20width=%2287.169%22%20x=%22159.832%22%20y=%22119.548%22/%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20x=%22205.695%22%20y=%22150.011%22%20transform=%22scale(.98866%201.01147)%22%20font-weight=%22400%22%20font-size=%2219.302%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#ff0%22%20stroke-width=%22.504%22%3E%3Ctspan%20x=%22205.695%22%20y=%22150.011%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ERAM%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20x=%22205.372%22%20y=%22110.296%22%20transform=%22scale(.98866%201.01147)%22%20font-weight=%22400%22%20font-size=%2219.302%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#00f%22%20stroke-width=%22.504%22%3E%3Ctspan%20x=%22205.372%22%20y=%22110.296%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ESample%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M206.647%20182.6a6.892%206.892%200%200%200-6.89%206.892c0%203.803%203.086%206.896%206.89%206.896%203.805%200%206.868-3.093%206.868-6.896%200-3.806-3.063-6.892-6.868-6.892zm13.814%2010.852l-1.242%202.991%202.215%204.35.293.575-3.072%203.072-5.039-2.38-2.991%201.228-1.519%204.648-.194.617h-4.341l-1.879-5.246-2.991-1.234-4.357%202.21-.575.287-3.07-3.069%202.378-5.042-1.233-2.989-4.64-1.515-.616-.2v-4.338l5.25-1.882%201.233-2.986-2.208-4.36-.291-.571%203.066-3.066%205.045%202.376%202.988-1.236%201.517-4.645.196-.616h4.34l1.88%205.253%202.983%201.236%204.358-2.212.58-.29%203.069%203.065-2.377%205.038%201.228%202.993%204.654%201.517.611.196v4.337z%22%20fill=%22#0ff%22/%3E%3Cg%20transform=%22matrix(.85604%200%200%20.85604%2085.035%2091.517)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E", + "otid": 1596697289362 + }, + "design": { + "graph": { + "blocks": [ + { + "id": "eb3a1b78-59a5-4be4-a92e-3b7e9a65f13b", + "type": "basic.outputLabel", + "data": { + "name": "addr", + "range": "[13:0]", + "blockColor": "navy", + "size": 14 + }, + "position": { + "x": 872, + "y": -144 } }, { - "source": { - "block": "dea0965b-016f-40c0-aad7-c4d26a391f46", - "port": "outlabel" + "id": "40e3c20c-5598-44a1-b5b4-760dba97d882", + "type": "basic.outputLabel", + "data": { + "name": "din_r", + "range": "[7:0]", + "oldBlockColor": "fuchsia", + "blockColor": "fuchsia", + "size": 8 }, - "target": { - "block": "bc97ca4f-8082-4a12-b1d9-4c9f257ef54a", - "port": "88176871-35ac-42bf-bf62-36c81a4b4b47" + "position": { + "x": 872, + "y": -64 } }, { - "source": { - "block": "8c3ce21f-2214-489f-853a-d60a223034da", - "port": "out", - "size": 10 - }, - "target": { - "block": "a0b2c050-26fc-4ac0-875f-6ef2c1f03c5e", - "port": "inlabel" + "id": "38abb13c-8652-41fb-931c-c7bf760ebb24", + "type": "basic.output", + "data": { + "name": "busy" }, - "vertices": [], - "size": 10 + "position": { + "x": 1832, + "y": -56 + } }, { - "source": { - "block": "ef395571-47c5-4fa2-9bb0-cc6bf29a96df", - "port": "7e8b125e-5171-41ea-871b-ea7f0ffd4a03" - }, - "target": { - "block": "bc052fe3-357e-486c-a2e1-fef8f36a37ae", - "port": "inlabel" + "id": "a040cc3d-b2c6-458e-bde6-f8234a19b6d1", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "busy" }, - "vertices": [] + "position": { + "x": 1640, + "y": -56 + } }, { - "source": { - "block": "fdd4378f-0950-4ef2-b5d9-091a87499091", - "port": "outlabel" + "id": "d1540ef0-9272-4082-9b24-9843ddb00cd7", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "wr", + "oldBlockColor": "fuchsia" }, - "target": { - "block": "af3693c8-f4e9-4cbe-90e5-cd93b52b1834", - "port": "97b51945-d716-4b6c-9db9-970d08541249" + "position": { + "x": 856, + "y": 24 } }, { - "source": { - "block": "ddc62e2a-e70b-449d-860f-e815be4c4d8e", - "port": "outlabel" - }, - "target": { - "block": "ef467ee3-3e65-4bf6-8e70-aae8b6da0bf0", - "port": "b0100e99-7b7f-4731-9a87-6e3ac76eea54", - "size": 10 - }, - "vertices": [], - "size": 10 - }, - { - "source": { - "block": "1ed1a91b-927d-4eed-b00f-b05b5dda7cbf", - "port": "outlabel" - }, - "target": { - "block": "ef467ee3-3e65-4bf6-8e70-aae8b6da0bf0", - "port": "1e637a79-4a6d-495c-bcac-9664bdbe4b94" - }, - "vertices": [] - }, - { - "source": { - "block": "80c60ca1-61f9-40d2-8a87-5cd02ffb2d90", - "port": "outlabel" - }, - "target": { - "block": "ec68d254-7f67-4ca6-9e0e-b2e2e9d45066", - "port": "eb5386a0-d51a-4bb4-9f25-b8add9f18cfb", - "size": 8 - }, - "size": 8 - }, - { - "source": { - "block": "6940c4f1-a919-408b-9f9a-c542d928ac41", - "port": "outlabel" + "id": "7fb933a6-5c63-4d46-8aaa-440b30974993", + "type": "basic.input", + "data": { + "name": "", + "clock": true }, - "target": { - "block": "ec68d254-7f67-4ca6-9e0e-b2e2e9d45066", - "port": "9d2cea30-da88-4104-bf4e-e7934b02a553" + "position": { + "x": -120, + "y": 80 } }, { - "source": { - "block": "af3693c8-f4e9-4cbe-90e5-cd93b52b1834", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "id": "2c31aa6a-383c-4eb5-b669-b8a31ad14225", + "type": "basic.inputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "target": { - "block": "bc97ca4f-8082-4a12-b1d9-4c9f257ef54a", - "port": "ba15eacb-1e03-4580-932b-3231703481e5" + "position": { + "x": 24, + "y": 80 } }, { - "source": { - "block": "8c3ce21f-2214-489f-853a-d60a223034da", - "port": "out" - }, - "target": { - "block": "ef395571-47c5-4fa2-9bb0-cc6bf29a96df", - "port": "6f62a1a4-70d0-42a7-bb69-0639fbebdc04" + "id": "8ca2279c-fdc3-40d3-9fbe-2071c026932f", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "bus_mine", + "oldBlockColor": "fuchsia" }, - "vertices": [], - "size": 10 + "position": { + "x": 880, + "y": 112 + } }, { - "source": { - "block": "ef467ee3-3e65-4bf6-8e70-aae8b6da0bf0", - "port": "a8e40103-081c-4611-bd1a-6eeda46b33e3" - }, - "target": { - "block": "9aa5255a-60da-463d-ba87-d4f96456d802", - "port": "in" + "id": "0dfcc0e0-4f99-40f8-82ae-e43ea86f5e58", + "type": "basic.outputLabel", + "data": { + "name": "mbi", + "range": "[23:0]", + "blockColor": "fuchsia", + "size": 24 }, - "vertices": [], - "size": 10 + "position": { + "x": 1120, + "y": 120 + } }, { - "source": { - "block": "ec68d254-7f67-4ca6-9e0e-b2e2e9d45066", - "port": "eda56153-8d23-4caa-a8de-73c6be124bb9" - }, - "target": { - "block": "ef467ee3-3e65-4bf6-8e70-aae8b6da0bf0", - "port": "c2bdc405-f749-4bec-bea6-8fe3705fa3bb" - }, - "vertices": [], - "size": 10 - } - ] - } - } - }, - "46cae7e9ebf62b7867b3a90798e5bc71b9eec2e0": { - "package": { - "name": "stdout-bus-next-out", - "version": "0.1", - "description": "Extract the next signal from the stdout bus", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22356.708%22%20height=%22176.233%22%20viewBox=%220%200%2094.37896%2046.628384%22%3E%3Cg%20transform=%22translate(-44.148%20-120.418)%22%3E%3Crect%20width=%2233.016%22%20height=%227.314%22%20x=%22105.246%22%20y=%22141.954%22%20ry=%220%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22bevel%22/%3E%3Crect%20width=%2235.851%22%20height=%2214.797%22%20x=%2244.412%22%20y=%22138.101%22%20ry=%220%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22bevel%22/%3E%3Crect%20width=%2225.079%22%20height=%2227.493%22%20x=%2280.36%22%20y=%22132.039%22%20ry=%220%22%20fill=%22#999%22%20stroke=%22#000%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22bevel%22/%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%2246.181%22%20y=%22130.756%22%20font-weight=%22400%22%20font-size=%2212.449%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20x=%2246.181%22%20y=%22130.756%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ESTDOUT%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%2250.363%22%20y=%22164.97%22%20font-weight=%22400%22%20font-size=%2212.449%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20x=%2250.363%22%20y=%22164.97%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EBUS%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "7e8b125e-5171-41ea-871b-ea7f0ffd4a03", + "id": "fa41806b-2355-4923-895f-3ead2e752b43", "type": "basic.output", "data": { - "name": "next" + "name": "mbo", + "range": "[23:0]", + "size": 24 }, "position": { - "x": 608, - "y": 192 + "x": 1480, + "y": 120 } }, { - "id": "6f62a1a4-70d0-42a7-bb69-0639fbebdc04", + "id": "94f3b4c1-ffb7-450b-99c4-aebfb6c4e124", "type": "basic.input", "data": { - "name": "", - "range": "[9:0]", + "name": "mbus", + "range": "[23:0]", "clock": false, - "size": 10 + "size": 24 }, "position": { - "x": 128, - "y": 192 + "x": -128, + "y": 216 } }, { - "id": "16e78204-213e-4833-9096-89d735307ec2", - "type": "basic.code", + "id": "01c88c3e-3d41-47d5-8548-d6d9a2c1cfe8", + "type": "basic.inputLabel", "data": { - "code": "assign o = i[0];", - "params": [], - "ports": { - "in": [ - { - "name": "i", - "range": "[9:0]", - "size": 10 - } - ], - "out": [ - { - "name": "o" - } - ] - } + "name": "mbi", + "range": "[23:0]", + "blockColor": "fuchsia", + "size": 24 }, "position": { - "x": 296, - "y": 176 - }, - "size": { - "width": 264, - "height": 88 + "x": 40, + "y": 216 } - } - ], - "wires": [ + }, { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o" + "id": "d987011b-ee0c-4b06-b3b7-dfb2097a5c6f", + "type": "basic.outputLabel", + "data": { + "name": "mbi", + "range": "[23:0]", + "blockColor": "fuchsia", + "size": 24 }, - "target": { - "block": "7e8b125e-5171-41ea-871b-ea7f0ffd4a03", - "port": "in" + "position": { + "x": 216, + "y": 216 } }, { - "source": { - "block": "6f62a1a4-70d0-42a7-bb69-0639fbebdc04", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i" - }, - "size": 10 - } - ] - } - } - }, - "3e13565dc4f4666505760a8e42d91e6ba1ab5a7f": { - "package": { - "name": "10bits-2-1-Mux", - "version": "0.1", - "description": "10 bits, 2-1 Multiplexor", - "author": "Juan Gonzalez-Gomez (obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2280.833%22%20height=%22158.56%22%20viewBox=%220%200%2075.781585%20148.65066%22%3E%3Cpath%20d=%22M74.375%2036.836c0-12.691-6.99-24.413-18.326-30.729-11.335-6.316-25.284-6.262-36.568.141C8.198%2012.652%201.304%2024.427%201.407%2037.118v74.415c-.103%2012.69%206.79%2024.466%2018.074%2030.87%2011.284%206.403%2025.233%206.457%2036.568.14%2011.336-6.316%2018.326-18.037%2018.326-30.728z%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%222.813%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.448%22%20y=%2291.518%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.448%22%20y=%2291.518%22%3E0%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.359%22%20y=%2214.582%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.359%22%20y=%2214.582%22%3E1%3C/tspan%3E%3C/text%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "c2bdc405-f749-4bec-bea6-8fe3705fa3bb", - "type": "basic.input", + "id": "7d0852c6-4778-4a53-bf90-30527c44a0eb", + "type": "basic.outputLabel", "data": { - "name": "i1", - "range": "[9:0]", - "clock": false, - "size": 10 + "blockColor": "yellow", + "name": "clk" }, "position": { - "x": -664, - "y": -88 + "x": 1640, + "y": 224 } }, { - "id": "a8e40103-081c-4611-bd1a-6eeda46b33e3", - "type": "basic.output", + "id": "9be4488d-51be-4346-8a31-5d8f2f86e4d3", + "type": "basic.outputLabel", "data": { - "name": "", - "range": "[9:0]", - "size": 10 + "blockColor": "fuchsia", + "name": "bus_mine", + "oldBlockColor": "fuchsia" }, "position": { - "x": -88, - "y": 0 + "x": 936, + "y": 248 } }, { - "id": "b0100e99-7b7f-4731-9a87-6e3ac76eea54", - "type": "basic.input", + "id": "95c4416f-62f5-4196-a406-f7915d40a572", + "type": "basic.output", "data": { - "name": "i0", - "range": "[9:0]", - "clock": false, - "size": 10 + "name": "done" }, "position": { - "x": -664, - "y": 0 + "x": 1952, + "y": 296 } }, { - "id": "1e637a79-4a6d-495c-bcac-9664bdbe4b94", - "type": "basic.input", + "id": "289f00be-f97d-4553-a60a-32d8b45da4cc", + "type": "basic.outputLabel", "data": { - "name": "sel", - "clock": false + "blockColor": "fuchsia", + "name": "done", + "oldBlockColor": "fuchsia" }, "position": { - "x": -656, - "y": 88 + "x": 1632, + "y": 296 } }, { - "id": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", - "type": "basic.code", - "data": { - "code": "\nreg [9:0] o;\n\nalways @(*) begin\n case(sel)\n 0: o = i0;\n 1: o = i1;\n default: o = i0;\n endcase\nend\n\n", - "params": [], - "ports": { - "in": [ - { - "name": "i1", - "range": "[9:0]", - "size": 10 - }, - { - "name": "i0", - "range": "[9:0]", - "size": 10 - }, - { - "name": "sel" - } - ], - "out": [ - { - "name": "o", - "range": "[9:0]", - "size": 10 - } - ] - } - }, - "position": { - "x": -464, - "y": -104 - }, - "size": { - "width": 304, - "height": 272 - } - } - ], - "wires": [ - { - "source": { - "block": "1e637a79-4a6d-495c-bcac-9664bdbe4b94", - "port": "out" - }, - "target": { - "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", - "port": "sel" - } - }, - { - "source": { - "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", - "port": "o" - }, - "target": { - "block": "a8e40103-081c-4611-bd1a-6eeda46b33e3", - "port": "in" - }, - "size": 10 - }, - { - "source": { - "block": "c2bdc405-f749-4bec-bea6-8fe3705fa3bb", - "port": "out" - }, - "target": { - "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", - "port": "i1" - }, - "size": 10 - }, - { - "source": { - "block": "b0100e99-7b7f-4731-9a87-6e3ac76eea54", - "port": "out" - }, - "target": { - "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", - "port": "i0" - }, - "size": 10 - } - ] - } - } - }, - "dfb235f1673ee7cefa8539b9a9f9e43979df37ea": { - "package": { - "name": "stdout-bus-joint2", - "version": "0.1", - "description": "stdout bus joiner (data + tic)", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22354.768%22%20height=%22219.63%22%20viewBox=%220%200%20332.595%20205.90272%22%3E%3Cpath%20d=%22M164.218%2068.938L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v26.186l61.698.046c8.012-.043%2015.705%203.133%2021.47%208.81l61.448%2052.61a57.292%2057.292%200%200%200%2039.993%2016.139%2057.292%2057.292%200%200%200-39.993%2016.139l-61.448%2049.93c-5.765%205.678-13.458%208.854-21.47%208.81L.5%20179.217v26.187h62.612c14.924.039%2029.463-5.9%2040.204-16.28l60.902-49.48a29.857%2029.857%200%200%201%2021.347-8.809l146.53-.114V77.752H185.571a29.884%2029.884%200%200%201-21.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22341.249%22%20y=%22247.958%22%20font-weight=%22400%22%20font-size=%2244.109%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.938%22%20transform=%22translate(-184.13%20-199.542)%22%3E%3Ctspan%20x=%22341.249%22%20y=%22247.958%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ESTDOUT%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22390.889%22%20y=%22387.938%22%20font-weight=%22400%22%20font-size=%2244.109%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.938%22%20transform=%22translate(-184.13%20-199.542)%22%3E%3Ctspan%20x=%22390.889%22%20y=%22387.938%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EBUS%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22299.979%22%20y=%22389.373%22%20font-weight=%22400%22%20font-size=%2215%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%22.938%22%20transform=%22translate(-184.13%20-199.542)%22/%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "eb5386a0-d51a-4bb4-9f25-b8add9f18cfb", - "type": "basic.input", - "data": { - "name": "", - "range": "[7:0]", - "clock": false, - "size": 8 - }, - "position": { - "x": 112, - "y": 168 - } - }, - { - "id": "eda56153-8d23-4caa-a8de-73c6be124bb9", - "type": "basic.output", - "data": { - "name": "", - "range": "[9:0]", - "size": 10 - }, - "position": { - "x": 648, - "y": 192 - } - }, - { - "id": "9d2cea30-da88-4104-bf4e-e7934b02a553", - "type": "basic.input", - "data": { - "name": "tic", - "clock": false - }, - "position": { - "x": 112, - "y": 232 - } - }, - { - "id": "16e78204-213e-4833-9096-89d735307ec2", - "type": "basic.code", - "data": { - "code": "assign o[9:1] = {i, tic};", - "params": [], - "ports": { - "in": [ - { - "name": "i", - "range": "[7:0]", - "size": 8 - }, - { - "name": "tic" - } - ], - "out": [ - { - "name": "o", - "range": "[9:0]", - "size": 10 - } - ] - } - }, - "position": { - "x": 296, - "y": 176 - }, - "size": { - "width": 264, - "height": 88 - } - } - ], - "wires": [ - { - "source": { - "block": "eb5386a0-d51a-4bb4-9f25-b8add9f18cfb", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i" - }, - "size": 8 - }, - { - "source": { - "block": "9d2cea30-da88-4104-bf4e-e7934b02a553", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "tic" - } - }, - { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o" - }, - "target": { - "block": "eda56153-8d23-4caa-a8de-73c6be124bb9", - "port": "in" - }, - "size": 10 - } - ] - } - } - }, - "af1545e2cba3d57550e8c41f0e5cd36e4ec1e0be": { - "package": { - "name": "stdout-serial-buffer", - "version": "0.2", - "description": "Serial transmiter for the stdout bus (1 char buffer). Sysclk parameter", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22230.265%22%20width=%22258.177%22%20viewBox=%220%200%20242.04167%20215.87473%22%3E%3Cg%20transform=%22translate(344.08%20-10.985)%20scale(1.04907)%22%20stroke=%22#000%22%3E%3Cpath%20d=%22M-170.798%20177.526l.315%2036.011%2040.397-37.263v-33.51z%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M-308.584%20177.892l53.235-35.7%20124.635.628-39.456%2035.7%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Crect%20ry=%223.509%22%20height=%2236.325%22%20width=%22139.039%22%20y=%22178.153%22%20x=%22-308.895%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22square%22/%3E%3Cg%20transform=%22matrix(1.88858%200%200%201.88858%20-312.436%20138.651)%22%20stroke-width=%22.938%22%20stroke-linecap=%22square%22%3E%3Ccircle%20cy=%2230.367%22%20cx=%2211.326%22%20r=%223.15%22%20fill=%22red%22/%3E%3Ccircle%20cy=%2230.367%22%20cx=%2220.611%22%20r=%223.15%22%20fill=%22#faa%22/%3E%3Ccircle%20cy=%2230.367%22%20cx=%2262.82%22%20r=%223.15%22%20fill=%22green%22/%3E%3Ccircle%20cy=%2230.367%22%20cx=%2230.554%22%20r=%223.15%22%20fill=%22red%22/%3E%3C/g%3E%3C/g%3E%3Ctext%20y=%2240.93%22%20x=%2225.952%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2294.276%22%20letter-spacing=%220%22%20word-spacing=%220%22%20transform=%22scale(.99853%201.00147)%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%221.749%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2240.93%22%20x=%2225.952%22%20font-weight=%22700%22%20font-size=%2253.872%22%3ESerial%3C/tspan%3E%3C/text%3E%3Ctext%20y=%22108.569%22%20x=%22-3.867%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2294.276%22%20letter-spacing=%220%22%20word-spacing=%220%22%20transform=%22scale(.99853%201.00147)%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%221.749%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%22108.569%22%20x=%22-3.867%22%20font-weight=%22700%22%20font-size=%2253.872%22%3ESTDOUT%3C/tspan%3E%3C/text%3E%3C/svg%3E", - "otid": 1574522291739 - }, - "design": { - "graph": { - "blocks": [ - { - "id": "2d00d963-00f8-4a0a-9cb8-a4e5bfb61323", - "type": "basic.input", - "data": { - "name": "", - "clock": true - }, - "position": { - "x": 248, - "y": 224 - } - }, - { - "id": "340a0c20-8472-4bd8-ae36-204a57b49285", - "type": "basic.inputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true - }, - "position": { - "x": 424, - "y": 224 - } - }, - { - "id": "019dc637-ca36-4e18-8db1-5d5318fb2d6e", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk" - }, - "position": { - "x": 472, - "y": 376 - } - }, - { - "id": "3229f563-798d-4db3-9966-52596ca5cef1", - "type": "basic.inputLabel", - "data": { - "name": "tx", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 928, - "y": 376 - } - }, - { - "id": "f2043f09-b391-40ea-9d1d-721438b68ef1", - "type": "basic.output", - "data": { - "name": "tx" - }, - "position": { - "x": 1336, - "y": 384 - } - }, - { - "id": "6ba67914-123c-4491-862c-8eda58a6c040", - "type": "basic.outputLabel", - "data": { - "name": "tx", - "blockColor": "fuchsia", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 1184, - "y": 384 - } - }, - { - "id": "e1ba0ef0-77f6-4ab9-9892-b5c93aa3167c", - "type": "basic.inputLabel", - "data": { - "name": "busy", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia" - }, - "position": { - "x": 936, - "y": 456 - } - }, - { - "id": "bf297685-7b54-477f-b9ee-3c143135097b", - "type": "basic.input", - "data": { - "name": "", - "range": "[9:0]", - "clock": false, - "size": 10 - }, - "position": { - "x": 256, - "y": 472 - } - }, - { - "id": "6a12a92e-7e13-4bc0-9051-8aba3b29df38", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "Ready", - "range": "[9:0]", - "oldBlockColor": "fuchsia", - "size": 10 - }, - "position": { - "x": 1184, - "y": 480 - } - }, - { - "id": "93defa79-7f79-4614-8e5b-17ceacc8c7cf", - "type": "basic.output", - "data": { - "name": "rdy", - "range": "[9:0]", - "size": 10 - }, - "position": { - "x": 1336, - "y": 480 - } - }, - { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "type": "basic.output", - "data": { - "name": "busy" - }, - "position": { - "x": 1336, - "y": 576 - } - }, - { - "id": "6b86af4f-f0c9-4134-b2c9-9e9d1b0d6e15", - "type": "basic.outputLabel", - "data": { - "name": "busy", - "blockColor": "fuchsia" - }, - "position": { - "x": 1192, - "y": 576 - } - }, - { - "id": "2482a63c-2352-4fd5-81ee-6fcaa856ccdd", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "Ready", - "range": "[9:0]", - "pins": [ - { - "index": "9", - "name": "", - "value": "" - }, - { - "index": "8", - "name": "", - "value": "" - }, - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 1008, - "y": 600 - } - }, - { - "id": "b04e50bc-ceae-4d5b-9bd1-259af770825c", - "type": "basic.input", - "data": { - "name": "nc", - "clock": false - }, - "position": { - "x": 256, - "y": 600 - } - }, - { - "id": "bb5ac23f-87a4-4029-8fa8-ed6b93a824f9", - "type": "basic.constant", - "data": { - "name": "sclk", - "value": "12000000", - "local": false - }, - "position": { - "x": 656, - "y": 312 - } - }, - { - "id": "d4a02852-2578-4c4d-b7e2-0708b0ef9794", - "type": "basic.constant", - "data": { - "name": "bps", - "value": "115200", - "local": false - }, - "position": { - "x": 792, - "y": 312 - } - }, - { - "id": "e968d987-07d6-43f6-91c7-c51f2d0d5793", - "type": "c955cf93ef694308de70400b30cdd774804f88a9", - "position": { - "x": 480, - "y": 472 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "4cbc5545-838d-4037-8ff3-065df8ec78f6", - "type": "113ccf91a6aa073b6493e621c1add3fe0989efad", - "position": { - "x": 848, - "y": 600 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "7fa9a681-773d-4d20-91c6-e8109073c635", - "type": "basic.info", - "data": { - "info": "## STDOUT serial\n\nSerial transmitter for the STDOUT bus\n", - "readonly": true - }, - "position": { - "x": 264, - "y": 64 - }, - "size": { - "width": 352, - "height": 88 - } - }, - { - "id": "e03f0e2f-15f0-4a94-8757-e4a9f8a02c56", - "type": "basic.info", - "data": { - "info": "**STDOUT Bus** \n* Data to transmit (8 bits) \n* tic (1 bit)\n* data sent (done tic, 1 bit)", - "readonly": true - }, - "position": { - "x": 240, - "y": 352 - }, - "size": { - "width": 264, - "height": 80 - } - }, - { - "id": "a1d00ad1-cc0a-49d5-ab42-4a031b34464f", - "type": "0bbdc65ba424ff40518e139c64fecf5a9d646c78", - "position": { - "x": 680, - "y": 440 - }, - "size": { - "width": 96, - "height": 96 - } - } - ], - "wires": [ - { - "source": { - "block": "2d00d963-00f8-4a0a-9cb8-a4e5bfb61323", - "port": "out" - }, - "target": { - "block": "340a0c20-8472-4bd8-ae36-204a57b49285", - "port": "inlabel" - }, - "vertices": [] - }, - { - "source": { - "block": "019dc637-ca36-4e18-8db1-5d5318fb2d6e", - "port": "outlabel" - }, - "target": { - "block": "a1d00ad1-cc0a-49d5-ab42-4a031b34464f", - "port": "aa41bb20-1565-45fc-b082-c728415f7cb3" - }, - "vertices": [ - { - "x": 608, - "y": 432 - } - ] - }, - { - "source": { - "block": "4cbc5545-838d-4037-8ff3-065df8ec78f6", - "port": "72968b0a-a651-457f-8809-036985e64653", - "size": 10 - }, - "target": { - "block": "2482a63c-2352-4fd5-81ee-6fcaa856ccdd", - "port": "inlabel" - }, - "size": 10 - }, - { - "source": { - "block": "6a12a92e-7e13-4bc0-9051-8aba3b29df38", - "port": "outlabel" - }, - "target": { - "block": "93defa79-7f79-4614-8e5b-17ceacc8c7cf", - "port": "in", - "size": 10 - }, - "size": 10 - }, - { - "source": { - "block": "a1d00ad1-cc0a-49d5-ab42-4a031b34464f", - "port": "b1b1682c-2c7c-4e71-8068-426364b08096" - }, - "target": { - "block": "e1ba0ef0-77f6-4ab9-9892-b5c93aa3167c", - "port": "inlabel" - } - }, - { - "source": { - "block": "6b86af4f-f0c9-4134-b2c9-9e9d1b0d6e15", - "port": "outlabel" - }, - "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "port": "in" - } - }, - { - "source": { - "block": "6ba67914-123c-4491-862c-8eda58a6c040", - "port": "outlabel" - }, - "target": { - "block": "f2043f09-b391-40ea-9d1d-721438b68ef1", - "port": "in" - } - }, - { - "source": { - "block": "a1d00ad1-cc0a-49d5-ab42-4a031b34464f", - "port": "369dcc35-b79e-452f-8686-5a0fc79026ee" - }, - "target": { - "block": "3229f563-798d-4db3-9966-52596ca5cef1", - "port": "inlabel" - } - }, - { - "source": { - "block": "e968d987-07d6-43f6-91c7-c51f2d0d5793", - "port": "03a1539f-6d99-4957-a7ca-3718ec57b1ee" - }, - "target": { - "block": "a1d00ad1-cc0a-49d5-ab42-4a031b34464f", - "port": "3677e940-f241-4c6e-8411-81f6c8044f4a" - }, - "vertices": [], - "size": 8 - }, - { - "source": { - "block": "e968d987-07d6-43f6-91c7-c51f2d0d5793", - "port": "11b231a8-883c-47a2-afea-ce22fc2fc800" - }, - "target": { - "block": "a1d00ad1-cc0a-49d5-ab42-4a031b34464f", - "port": "737e0f1e-4964-4029-a40b-baf773e3c886" - }, - "vertices": [] - }, - { - "source": { - "block": "a1d00ad1-cc0a-49d5-ab42-4a031b34464f", - "port": "9e42bee5-bcaa-42fd-9077-6920b7b3f920" - }, - "target": { - "block": "4cbc5545-838d-4037-8ff3-065df8ec78f6", - "port": "3bbe35e4-7c46-4bbb-b9c3-3a6f4bbaf1c0" - }, - "vertices": [] - }, - { - "source": { - "block": "bf297685-7b54-477f-b9ee-3c143135097b", - "port": "out" - }, - "target": { - "block": "e968d987-07d6-43f6-91c7-c51f2d0d5793", - "port": "62f60de5-6d65-45f1-a57a-96daf57df585" - }, - "size": 10 - }, - { - "source": { - "block": "d4a02852-2578-4c4d-b7e2-0708b0ef9794", - "port": "constant-out" - }, - "target": { - "block": "a1d00ad1-cc0a-49d5-ab42-4a031b34464f", - "port": "98166aa3-0973-4d30-9a46-29a3e4c30a57" - } - }, - { - "source": { - "block": "bb5ac23f-87a4-4029-8fa8-ed6b93a824f9", - "port": "constant-out" - }, - "target": { - "block": "a1d00ad1-cc0a-49d5-ab42-4a031b34464f", - "port": "36509a01-2e78-4be1-8055-0fba0ed93b33" - } - } - ] - } - } - }, - "c955cf93ef694308de70400b30cdd774804f88a9": { - "package": { - "name": "stdout-bus-split2", - "version": "0.1", - "description": "stdout bus splitter into data and tic signals", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22354.768%22%20height=%22219.63%22%20viewBox=%220%200%20332.595%20205.90272%22%3E%3Cpath%20d=%22M168.377%2068.938l61.147-52.233C240.21%206.25%20254.56.461%20269.484.5h62.611v26.186l-61.698.046c-8.012-.043-15.705%203.133-21.47%208.81l-61.448%2052.61a57.292%2057.292%200%200%201-39.993%2016.139%2057.292%2057.292%200%200%201%2039.993%2016.139l61.448%2049.93c5.765%205.678%2013.458%208.854%2021.47%208.81l61.698.046v26.187h-62.612c-14.924.039-29.463-5.9-40.204-16.28l-60.902-49.48a29.857%2029.857%200%200%200-21.347-8.809L.5%20130.72V77.752h146.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%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22194.597%22%20y=%22247.958%22%20font-weight=%22400%22%20font-size=%2244.109%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.938%22%20transform=%22translate(-184.13%20-199.542)%22%3E%3Ctspan%20x=%22194.597%22%20y=%22247.958%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ESTDOUT%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22228.835%22%20y=%22387.938%22%20font-weight=%22400%22%20font-size=%2244.109%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.938%22%20transform=%22translate(-184.13%20-199.542)%22%3E%3Ctspan%20x=%22228.835%22%20y=%22387.938%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EBUS%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22299.979%22%20y=%22389.373%22%20font-weight=%22400%22%20font-size=%2215%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%22.938%22%20transform=%22translate(-184.13%20-199.542)%22/%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "03a1539f-6d99-4957-a7ca-3718ec57b1ee", - "type": "basic.output", - "data": { - "name": "", - "range": "[7:0]", - "size": 8 - }, - "position": { - "x": 608, - "y": 168 - } - }, - { - "id": "62f60de5-6d65-45f1-a57a-96daf57df585", - "type": "basic.input", - "data": { - "name": "", - "range": "[9:0]", - "clock": false, - "size": 10 - }, - "position": { - "x": 128, - "y": 192 - } - }, - { - "id": "11b231a8-883c-47a2-afea-ce22fc2fc800", - "type": "basic.output", - "data": { - "name": "tic" - }, - "position": { - "x": 576, - "y": 248 - } - }, - { - "id": "16e78204-213e-4833-9096-89d735307ec2", - "type": "basic.code", - "data": { - "code": "assign data = i[9:2];\nassign tic = i[1];", - "params": [], - "ports": { - "in": [ - { - "name": "i", - "range": "[9:0]", - "size": 10 - } - ], - "out": [ - { - "name": "data", - "range": "[7:0]", - "size": 8 - }, - { - "name": "tic" - } - ] - } - }, - "position": { - "x": 296, - "y": 176 - }, - "size": { - "width": 232, - "height": 96 - } - } - ], - "wires": [ - { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "data" - }, - "target": { - "block": "03a1539f-6d99-4957-a7ca-3718ec57b1ee", - "port": "in" - }, - "size": 8 - }, - { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "tic" - }, - "target": { - "block": "11b231a8-883c-47a2-afea-ce22fc2fc800", - "port": "in" - } - }, - { - "source": { - "block": "62f60de5-6d65-45f1-a57a-96daf57df585", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i" - }, - "size": 10 - } - ] - } - } - }, - "113ccf91a6aa073b6493e621c1add3fe0989efad": { - "package": { - "name": "stdout-bus-next-in", - "version": "0.1", - "description": "Convert the 1-bit next signal into a 10-bit stdout bus", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22356.708%22%20height=%22176.233%22%20viewBox=%220%200%2094.37896%2046.628384%22%3E%3Cg%20transform=%22translate(-44.148%20-120.418)%22%3E%3Crect%20width=%2233.016%22%20height=%227.314%22%20x=%22-77.429%22%20y=%22141.954%22%20ry=%220%22%20transform=%22scale(-1%201)%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22bevel%22/%3E%3Crect%20width=%2235.851%22%20height=%2214.797%22%20x=%22-138.262%22%20y=%22138.101%22%20ry=%220%22%20transform=%22scale(-1%201)%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22bevel%22/%3E%3Crect%20width=%2225.079%22%20height=%2227.493%22%20x=%22-102.314%22%20y=%22132.039%22%20ry=%220%22%20transform=%22scale(-1%201)%22%20fill=%22#999%22%20stroke=%22#000%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22bevel%22/%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%2289.27%22%20y=%22130.378%22%20font-weight=%22400%22%20font-size=%2212.449%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20x=%2289.27%22%20y=%22130.378%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ESTDOUT%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22105.548%22%20y=%22166.86%22%20font-weight=%22400%22%20font-size=%2212.449%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20x=%22105.548%22%20y=%22166.86%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EBUS%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "3bbe35e4-7c46-4bbb-b9c3-3a6f4bbaf1c0", - "type": "basic.input", - "data": { - "name": "next", - "clock": false - }, - "position": { - "x": 128, - "y": 192 - } - }, - { - "id": "72968b0a-a651-457f-8809-036985e64653", - "type": "basic.output", - "data": { - "name": "", - "range": "[9:0]", - "size": 10 - }, - "position": { - "x": 640, - "y": 192 - } - }, - { - "id": "16e78204-213e-4833-9096-89d735307ec2", - "type": "basic.code", - "data": { - "code": "assign o[0] = next;", - "params": [], - "ports": { - "in": [ - { - "name": "next" - } - ], - "out": [ - { - "name": "o", - "range": "[9:0]", - "size": 10 - } - ] - } - }, - "position": { - "x": 296, - "y": 176 - }, - "size": { - "width": 264, - "height": 88 - } - } - ], - "wires": [ - { - "source": { - "block": "3bbe35e4-7c46-4bbb-b9c3-3a6f4bbaf1c0", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "next" - } - }, - { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o" - }, - "target": { - "block": "72968b0a-a651-457f-8809-036985e64653", - "port": "in" - }, - "size": 10 - } - ] - } - } - }, - "0bbdc65ba424ff40518e139c64fecf5a9d646c78": { - "package": { - "name": "Serial-tx-Bufferx1", - "version": "0.1", - "description": "Serial transmitter with a buffer for 1 byte", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20274.81662%20209.31615%22%20width=%22293.137%22%20height=%22223.269%22%3E%3Cg%20transform=%22translate(347.142%20-102.544)%20scale(1.04907)%22%20stroke=%22#000%22%3E%3Cpath%20d=%22M-170.798%20177.526l.315%2036.011%2040.397-37.263v-33.51z%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M-308.584%20177.892l53.235-35.7%20124.635.628-39.456%2035.7%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Crect%20x=%22-308.895%22%20y=%22178.153%22%20width=%22139.039%22%20height=%2236.325%22%20ry=%223.509%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22square%22/%3E%3Cg%20transform=%22matrix(1.88858%200%200%201.88858%20-312.436%20138.651)%22%20stroke-width=%22.938%22%20stroke-linecap=%22square%22%3E%3Ccircle%20r=%223.15%22%20cx=%2211.326%22%20cy=%2230.367%22%20fill=%22red%22/%3E%3Ccircle%20r=%223.15%22%20cx=%2220.611%22%20cy=%2230.367%22%20fill=%22#faa%22/%3E%3Ccircle%20r=%223.15%22%20cx=%2262.82%22%20cy=%2230.367%22%20fill=%22green%22/%3E%3Ccircle%20r=%223.15%22%20cx=%2230.554%22%20cy=%2230.367%22%20fill=%22red%22/%3E%3C/g%3E%3C/g%3E%3Ctext%20transform=%22scale(.99853%201.00147)%22%20word-spacing=%220%22%20letter-spacing=%220%22%20font-size=%2265.171%22%20font-weight=%22400%22%20style=%22line-height:0%25%22%20x=%2270.801%22%20y=%2228.295%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%221.209%22%3E%3Ctspan%20font-size=%2237.241%22%20font-weight=%22700%22%20x=%2270.801%22%20y=%2228.295%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%3ESerial%3C/tspan%3E%3C/text%3E%3Cg%20transform=%22translate(-49.71%20-39.925)%20scale(2.8106)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20cx=%22100.602%22%20cy=%2273.815%22%20r=%2214.559%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22translate(-240.978%20-39.925)%20scale(2.8106)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20cx=%22100.602%22%20cy=%2273.815%22%20r=%2214.559%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Ccircle%20r=%2240.92%22%20cy=%2281.071%22%20cx=%22233.043%22%20fill=%22#ececec%22%20stroke=%22green%22%20stroke-width=%221.71%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M261.766%2092.931h-4.696V67.437h-48.103v25.295h-5.116%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%224.275%22%20stroke-linecap=%22round%22/%3E%3Ctext%20transform=%22scale(.99853%201.00147)%22%20word-spacing=%220%22%20letter-spacing=%220%22%20font-size=%2265.171%22%20font-weight=%22400%22%20style=%22line-height:0%25%22%20x=%22108.068%22%20y=%22165.6%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%221.209%22%3E%3Ctspan%20font-size=%2237.241%22%20font-weight=%22700%22%20x=%22108.068%22%20y=%22165.6%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%3ETX%3C/tspan%3E%3C/text%3E%3Ctext%20y=%22198.423%22%20x=%2284.123%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2248.233%22%20letter-spacing=%220%22%20word-spacing=%220%22%20transform=%22scale(.99853%201.00147)%22%20font-family=%22sans-serif%22%20fill=%22green%22%20stroke-width=%221.209%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%22198.423%22%20x=%2284.123%22%20font-weight=%22700%22%20font-size=%2227.562%22%3EBuffx1%3C/tspan%3E%3C/text%3E%3C/svg%3E", - "otid": 1592071458900 - }, - "design": { - "graph": { - "blocks": [ - { - "id": "a9c22dcd-8004-403b-8252-7d67e44b004c", - "type": "basic.inputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true - }, - "position": { - "x": 176, - "y": 328 - } - }, - { - "id": "aa41bb20-1565-45fc-b082-c728415f7cb3", - "type": "basic.input", - "data": { - "name": "", - "clock": true - }, - "position": { - "x": 40, - "y": 328 - } - }, - { - "id": "f58220ae-6857-4aee-a048-8f29a9a3edb0", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk" - }, - "position": { - "x": 392, - "y": 352 - } - }, - { - "id": "81cfea05-80b0-4fcf-b822-ee74415e5729", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk" - }, - "position": { - "x": 704, - "y": 360 - } - }, - { - "id": "369dcc35-b79e-452f-8686-5a0fc79026ee", - "type": "basic.output", - "data": { - "name": "TX" - }, - "position": { - "x": 1120, - "y": 392 - } - }, - { - "id": "bd015212-9591-44d1-b9bd-e00404e9e127", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "busy", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 392, - "y": 416 - } - }, - { - "id": "1b53ca45-9c3b-48e2-a4d4-46606b68f6ed", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "bbusy", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 720, - "y": 432 - } - }, - { - "id": "b1b1682c-2c7c-4e71-8068-426364b08096", - "type": "basic.output", - "data": { - "name": "busy" - }, - "position": { - "x": 1416, - "y": 488 - } - }, - { - "id": "a9515ba2-54a0-497f-a55e-3a97b52307b5", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "bbusy" - }, - "position": { - "x": 1256, - "y": 488 - } - }, - { - "id": "0c84226f-058f-4e9f-9697-4676db24be6e", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "busy", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true - }, - "position": { - "x": 1144, - "y": 496 - } - }, - { - "id": "3677e940-f241-4c6e-8411-81f6c8044f4a", - "type": "basic.input", - "data": { - "name": "", - "range": "[7:0]", - "clock": false, - "size": 8 - }, - "position": { - "x": 40, - "y": 496 - } - }, - { - "id": "9e42bee5-bcaa-42fd-9077-6920b7b3f920", - "type": "basic.output", - "data": { - "name": "done" - }, - "position": { - "x": 1424, - "y": 568 - } - }, - { - "id": "bb087c79-9c6d-4eb9-9ce0-08daaf8ae25c", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "done" - }, - "position": { - "x": 1256, - "y": 568 - } - }, - { - "id": "737e0f1e-4964-4029-a40b-baf773e3c886", - "type": "basic.input", - "data": { - "name": "txmit", - "clock": false - }, - "position": { - "x": 32, - "y": 592 - } - }, - { - "id": "ac7ffef6-e027-4f70-aa92-244c622c2288", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "done", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true - }, - "position": { - "x": 840, - "y": 616 - } - }, - { - "id": "36509a01-2e78-4be1-8055-0fba0ed93b33", - "type": "basic.constant", - "data": { - "name": "sclk", - "value": "12000000", - "local": false - }, - "position": { - "x": 848, - "y": 368 - } - }, - { - "id": "98166aa3-0973-4d30-9a46-29a3e4c30a57", - "type": "basic.constant", - "data": { - "name": "bps", - "value": "115200", - "local": false - }, - "position": { - "x": 968, - "y": 368 - } - }, - { - "id": "add79568-8fa3-4976-96d4-5774aa4d5ee6", - "type": "c953202df76fedf2dff67e2add8103df0fefcf72", - "position": { - "x": 560, - "y": 448 - }, - "size": { - "width": 96, - "height": 128 - } - }, - { - "id": "93bd8ba4-1388-44e3-9a4f-a805866fa8e2", - "type": "f5dc974ff576804a66c6a60ab920080490117fc3", - "position": { - "x": 872, - "y": 480 - }, - "size": { - "width": 96, - "height": 96 - } - } - ], - "wires": [ - { - "source": { - "block": "93bd8ba4-1388-44e3-9a4f-a805866fa8e2", - "port": "75d4695e-f445-4762-9ae9-c9bf0e51974f" - }, - "target": { - "block": "0c84226f-058f-4e9f-9697-4676db24be6e", - "port": "inlabel" - }, - "vertices": [] - }, - { - "source": { - "block": "bd015212-9591-44d1-b9bd-e00404e9e127", - "port": "outlabel" - }, - "target": { - "block": "add79568-8fa3-4976-96d4-5774aa4d5ee6", - "port": "0bc6ea13-3b91-44af-99ca-b8a88c42b845" - }, - "vertices": [] - }, - { - "source": { - "block": "aa41bb20-1565-45fc-b082-c728415f7cb3", - "port": "out" - }, - "target": { - "block": "a9c22dcd-8004-403b-8252-7d67e44b004c", - "port": "inlabel" - }, - "vertices": [] - }, - { - "source": { - "block": "f58220ae-6857-4aee-a048-8f29a9a3edb0", - "port": "outlabel" - }, - "target": { - "block": "add79568-8fa3-4976-96d4-5774aa4d5ee6", - "port": "9409102d-240c-4352-9abe-791f1d3dc427" - } - }, - { - "source": { - "block": "81cfea05-80b0-4fcf-b822-ee74415e5729", - "port": "outlabel" - }, - "target": { - "block": "93bd8ba4-1388-44e3-9a4f-a805866fa8e2", - "port": "4c296e24-7312-407a-8fb0-f3a6d4feb3ab" - }, - "vertices": [ - { - "x": 832, - "y": 448 - } - ] - }, - { - "source": { - "block": "add79568-8fa3-4976-96d4-5774aa4d5ee6", - "port": "e292a084-fe45-48cf-8901-25443ea28288" - }, - "target": { - "block": "ac7ffef6-e027-4f70-aa92-244c622c2288", - "port": "inlabel" - } - }, - { - "source": { - "block": "bb087c79-9c6d-4eb9-9ce0-08daaf8ae25c", - "port": "outlabel" - }, - "target": { - "block": "9e42bee5-bcaa-42fd-9077-6920b7b3f920", - "port": "in" - } - }, - { - "source": { - "block": "add79568-8fa3-4976-96d4-5774aa4d5ee6", - "port": "5cadf71f-ae3d-44ee-a2f3-f95d2b2fc416" - }, - "target": { - "block": "1b53ca45-9c3b-48e2-a4d4-46606b68f6ed", - "port": "inlabel" - } - }, - { - "source": { - "block": "a9515ba2-54a0-497f-a55e-3a97b52307b5", - "port": "outlabel" - }, - "target": { - "block": "b1b1682c-2c7c-4e71-8068-426364b08096", - "port": "in" - } - }, - { - "source": { - "block": "add79568-8fa3-4976-96d4-5774aa4d5ee6", - "port": "7c97b34e-6809-4280-9a47-7c6565783efd" - }, - "target": { - "block": "93bd8ba4-1388-44e3-9a4f-a805866fa8e2", - "port": "27183891-b385-412b-bc55-21df1dd0280e" - }, - "vertices": [], - "size": 8 - }, - { - "source": { - "block": "add79568-8fa3-4976-96d4-5774aa4d5ee6", - "port": "e292a084-fe45-48cf-8901-25443ea28288" - }, - "target": { - "block": "93bd8ba4-1388-44e3-9a4f-a805866fa8e2", - "port": "6bb28a95-e6e4-4044-9c22-c4404693b6b1" - }, - "vertices": [] - }, - { - "source": { - "block": "3677e940-f241-4c6e-8411-81f6c8044f4a", - "port": "out" - }, - "target": { - "block": "add79568-8fa3-4976-96d4-5774aa4d5ee6", - "port": "00a3945b-8f8b-4145-a89f-5c63356cbb42" - }, - "size": 8 - }, - { - "source": { - "block": "737e0f1e-4964-4029-a40b-baf773e3c886", - "port": "out" - }, - "target": { - "block": "add79568-8fa3-4976-96d4-5774aa4d5ee6", - "port": "ebecf4bb-9a9a-4343-bf58-c328017940a1" - } - }, - { - "source": { - "block": "93bd8ba4-1388-44e3-9a4f-a805866fa8e2", - "port": "09701eaa-8d79-487f-b003-267e04095bb1" - }, - "target": { - "block": "369dcc35-b79e-452f-8686-5a0fc79026ee", - "port": "in" - } - }, - { - "source": { - "block": "98166aa3-0973-4d30-9a46-29a3e4c30a57", - "port": "constant-out" - }, - "target": { - "block": "93bd8ba4-1388-44e3-9a4f-a805866fa8e2", - "port": "671d0b4d-317d-4aef-8422-8b9a400211a4" - } - }, - { - "source": { - "block": "36509a01-2e78-4be1-8055-0fba0ed93b33", - "port": "constant-out" - }, - "target": { - "block": "93bd8ba4-1388-44e3-9a4f-a805866fa8e2", - "port": "76db97e8-ad17-4a4b-b288-73e449659681" - } - } - ] - } - } - }, - "c953202df76fedf2dff67e2add8103df0fefcf72": { - "package": { - "name": "Bufferx1", - "version": "0.1", - "description": "1-byte buffer", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22486.672%22%20height=%22602.137%22%20viewBox=%220%200%20128.76529%20159.31538%22%3E%3Cdefs%3E%3Cmarker%20id=%22a%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20fill=%22green%22%20fill-rule=%22evenodd%22%20stroke=%22green%22%20stroke-width=%22.4pt%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22b%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20fill=%22green%22%20fill-rule=%22evenodd%22%20stroke=%22green%22%20stroke-width=%22.4pt%22/%3E%3C/marker%3E%3C/defs%3E%3Cg%20transform=%22translate(-36.709%20-6.935)%22%3E%3Ctext%20y=%2223.901%22%20x=%2252.692%22%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20font-weight=%22400%22%20font-size=%2224.237%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%221.515%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20y=%2223.901%22%20x=%2252.692%22%20font-weight=%22500%22%3EBUFFER%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%2257.966%22%20y=%2254.038%22%20font-weight=%22400%22%20font-size=%2224.237%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%221.515%22%3E%3Ctspan%20x=%2257.966%22%20y=%2254.038%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3E1%20Byte%3C/tspan%3E%3C/text%3E%3Cpath%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%221.058%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20d=%22M88.111%2080.714h18.065v34.343H88.111z%22/%3E%3Cpath%20d=%22M36.735%2097.51l32.787.406%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%224.233%22%20marker-end=%22url(#a)%22/%3E%3Ccircle%20r=%2212.463%22%20cy=%22153.527%22%20cx=%2249.548%22%20fill=%22#ececec%22%20stroke=%22green%22%20stroke-width=%22.521%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M55.006%20160.654h-2.87V144.54h-5.21v15.99H43.8%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%221.302%22%20stroke-linecap=%22round%22/%3E%3Ccircle%20cx=%22152.75%22%20cy=%22152.608%22%20r=%2212.463%22%20fill=%22#ececec%22%20stroke=%22green%22%20stroke-width=%22.521%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M158.208%20159.736h-2.87V143.62h-5.209v15.989h-3.126%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%221.302%22%20stroke-linecap=%22round%22/%3E%3Cpath%20d=%22M112.404%2097.51l32.788.406%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%224.233%22%20marker-end=%22url(#b)%22/%3E%3C/g%3E%3C/svg%3E", - "otid": 1592069772467 - }, - "design": { - "graph": { - "blocks": [ - { - "id": "9409102d-240c-4352-9abe-791f1d3dc427", - "type": "basic.input", - "data": { - "name": "", - "clock": true - }, - "position": { - "x": 0, - "y": 168 - } - }, - { - "id": "3d49de96-a8cc-4d88-8f57-75e496bdff70", - "type": "basic.inputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true - }, - "position": { - "x": 144, - "y": 168 - } - }, - { - "id": "f7141ca8-af9f-4746-b93b-eaf40e5a7287", - "type": "basic.output", - "data": { - "name": "nc" - }, - "position": { - "x": 1480, - "y": 176 - } - }, - { - "id": "5cadf71f-ae3d-44ee-a2f3-f95d2b2fc416", - "type": "basic.output", - "data": { - "name": "busy", - "virtual": false - }, - "position": { - "x": 1480, - "y": 288 - } - }, - { - "id": "f9363071-27a7-4f7e-9251-5d18cbfcb661", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "full" - }, - "position": { - "x": 1328, - "y": 288 - } - }, - { - "id": "0bc6ea13-3b91-44af-99ca-b8a88c42b845", - "type": "basic.input", - "data": { - "name": "busy", - "clock": false - }, - "position": { - "x": -8, - "y": 296 - } - }, - { - "id": "a0618acf-b3a5-4778-9c40-73ef35c9e5e3", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "busy", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 136, - "y": 296 - } - }, - { - "id": "f6a0cbbe-4f41-4558-a15a-b11cae68a067", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk" - }, - "position": { - "x": 568, - "y": 304 - } - }, - { - "id": "00a3945b-8f8b-4145-a89f-5c63356cbb42", - "type": "basic.input", - "data": { - "name": "din", - "range": "[7:0]", - "clock": false, - "size": 8 - }, - "position": { - "x": -8, - "y": 368 - } - }, - { - "id": "2fce138f-6339-467a-bca4-50f3daea2cd8", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "din", - "range": "[7:0]", - "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true - }, - "position": { - "x": 136, - "y": 368 - } - }, - { - "id": "9b1d07d3-66d2-4f19-8b65-fce699451099", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "din", - "range": "[7:0]", - "size": 8 - }, - "position": { - "x": 568, - "y": 368 - } - }, - { - "id": "7c97b34e-6809-4280-9a47-7c6565783efd", - "type": "basic.output", - "data": { - "name": "dout", - "range": "[7:0]", - "size": 8 - }, - "position": { - "x": 1488, - "y": 368 - } - }, - { - "id": "250b5b98-fbd7-467e-b14a-3c2367f49fc6", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "dout", - "range": "[7:0]", - "size": 8 - }, - "position": { - "x": 1328, - "y": 368 - } - }, - { - "id": "048f5151-87d8-438e-b807-89e45379f059", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "dout", - "range": "[7:0]", - "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true - }, - "position": { - "x": 888, - "y": 392 - } - }, - { - "id": "ebecf4bb-9a9a-4343-bf58-c328017940a1", - "type": "basic.input", - "data": { - "name": "load", - "clock": false - }, - "position": { - "x": -8, - "y": 440 - } - }, - { - "id": "da1430f6-4614-47c2-957e-e3d9c28a1107", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "load", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true - }, - "position": { - "x": 136, - "y": 440 - } - }, - { - "id": "9fab6e1c-2098-4655-97ac-7d984af752aa", - "type": "basic.outputLabel", - "data": { - "blockColor": "greenyellow", - "name": "transmit", - "oldBlockColor": "greenyellow" - }, - "position": { - "x": 1328, - "y": 448 - } - }, - { - "id": "e292a084-fe45-48cf-8901-25443ea28288", - "type": "basic.output", - "data": { - "name": "txmit" - }, - "position": { - "x": 1488, - "y": 448 - } - }, - { - "id": "caf3ea8d-b0ab-41e9-b5e2-483c88af018e", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk" - }, - "position": { - "x": 768, - "y": 488 - } - }, - { - "id": "2e58e7ea-7227-4e3a-aa72-ebf8449d7dea", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk" - }, - "position": { - "x": 592, - "y": 544 - } - }, - { - "id": "e7c8154d-0273-4360-ba92-9ff7ef997c43", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "full", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true - }, - "position": { - "x": 1096, - "y": 584 - } - }, - { - "id": "e6835d26-38af-46c6-95d7-2b812807d733", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "load" - }, - "position": { - "x": 280, - "y": 584 - } - }, - { - "id": "882b10f5-e60d-4364-9b84-6fd7bcc34f09", - "type": "basic.outputLabel", - "data": { - "blockColor": "greenyellow", - "name": "transmit", - "oldBlockColor": "greenyellow" - }, - "position": { - "x": 776, - "y": 672 - } - }, - { - "id": "ed09d5d0-0653-49bb-956d-31d182eba03e", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "full" - }, - "position": { - "x": 128, - "y": 680 - } - }, - { - "id": "90a4fcf1-e628-4fa2-a897-f6ff5d9ec518", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk" - }, - "position": { - "x": 1088, - "y": 696 - } - }, - { - "id": "b39be05b-bc4c-4818-886e-45a0e6321d7a", - "type": "basic.inputLabel", - "data": { - "blockColor": "greenyellow", - "name": "transmit", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "greenyellow" - }, - "position": { - "x": 1352, - "y": 776 - } - }, - { - "id": "4934cb58-9165-4df1-ab8d-cce25d31c622", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "busy", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 784, - "y": 808 - } - }, - { - "id": "83c18781-c3fa-4049-9ae3-0c098af203f3", - "type": "35f267d0df6ffcb7fc33753bc9df9cf083642cca", - "position": { - "x": 912, - "y": 808 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "90d72446-1e0c-4cbc-aacf-45f6ae1b23fc", - "type": "89d2342d9664348db3e70e823cacbc8eb24ea3d0", - "position": { - "x": 720, - "y": 376 - }, - "size": { - "width": 96, - "height": 96 - } - }, - { - "id": "57db6a78-0c5c-4642-822e-22335b96f2a5", - "type": "1c7dae7144d376f2ee4896fcc502a29110e2db37", - "position": { - "x": 720, - "y": 584 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "59abbca0-841c-4330-9b9e-9a01e1f66e5d", - "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", - "position": { - "x": 1064, - "y": 792 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "5cf8a623-93ba-46b1-aeed-e677dacca948", - "type": "b959c256104d1064a5ef7b38632ffb6eed3b396f", - "position": { - "x": 912, - "y": 568 - }, - "size": { - "width": 96, - "height": 96 - } - }, - { - "id": "de2c9942-4970-4d39-8726-2bf623926cdb", - "type": "8e2728307baccbf26c01cdb87bcfba8ca64a435c", - "position": { - "x": 1216, - "y": 776 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "bed90867-99ce-46ee-9dea-ab7429901c13", - "type": "35f267d0df6ffcb7fc33753bc9df9cf083642cca", - "position": { - "x": 264, - "y": 680 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "c70e942c-80b7-4927-82b9-fc9497fd2c8f", - "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", - "position": { - "x": 408, - "y": 600 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "2f3e8573-2271-4318-bc85-4f7a8863d3b9", - "type": "basic.info", - "data": { - "info": "Empty Buffer \n(There is no byte \nwaiting)", - "readonly": true - }, - "position": { - "x": 416, - "y": 696 - }, - "size": { - "width": 176, - "height": 72 - } - }, - { - "id": "75732690-c25e-4ef2-8bd4-24063b99eccd", - "type": "basic.info", - "data": { - "info": "Byte stored in the \nbuffer, waiting to be \ntransmitted when the \ntransmitter is ready", - "readonly": true - }, - "position": { - "x": 736, - "y": 272 - }, - "size": { - "width": 192, - "height": 80 - } - }, - { - "id": "ae4e35fb-6c45-4358-9da3-fd6001c91dc5", - "type": "basic.info", - "data": { - "info": "Buffer state: \n0: empty \n1: full", - "readonly": true - }, - "position": { - "x": 1024, - "y": 520 - }, - "size": { - "width": 152, - "height": 72 - } - }, - { - "id": "89b7c934-9b29-4cd6-b65e-6a43b4ac918a", - "type": "basic.info", - "data": { - "info": "Transmitter ready", - "readonly": true - }, - "position": { - "x": 912, - "y": 880 - }, - "size": { - "width": 168, - "height": 32 - } - }, - { - "id": "0a843d2d-8d40-45e1-84e1-56278083af19", - "type": "basic.info", - "data": { - "info": "If the transmittter is ready \nand there is a character \nin the buffer: Transmit!", - "readonly": true - }, - "position": { - "x": 1224, - "y": 696 - }, - "size": { - "width": 248, - "height": 72 - } - }, - { - "id": "dd4a29f2-1762-4fac-9def-299bdae4f72f", - "type": "basic.info", - "data": { - "info": "Serial transmitter state", - "readonly": true - }, - "position": { - "x": 56, - "y": 272 - }, - "size": { - "width": 208, - "height": 40 - } - } - ], - "wires": [ - { - "source": { - "block": "4934cb58-9165-4df1-ab8d-cce25d31c622", - "port": "outlabel" - }, - "target": { - "block": "83c18781-c3fa-4049-9ae3-0c098af203f3", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - }, - "vertices": [] - }, - { - "source": { - "block": "882b10f5-e60d-4364-9b84-6fd7bcc34f09", - "port": "outlabel" - }, - "target": { - "block": "5cf8a623-93ba-46b1-aeed-e677dacca948", - "port": "86eb8c81-17fc-4371-bd21-51f429191f3c" - }, - "vertices": [] - }, - { - "source": { - "block": "5cf8a623-93ba-46b1-aeed-e677dacca948", - "port": "1cb167a4-9e2a-416b-803e-da7b6151eaa5" - }, - "target": { - "block": "e7c8154d-0273-4360-ba92-9ff7ef997c43", - "port": "inlabel" - }, - "vertices": [] - }, - { - "source": { - "block": "ed09d5d0-0653-49bb-956d-31d182eba03e", - "port": "outlabel" - }, - "target": { - "block": "bed90867-99ce-46ee-9dea-ab7429901c13", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - }, - "vertices": [] - }, - { - "source": { - "block": "de2c9942-4970-4d39-8726-2bf623926cdb", - "port": "1d2e403f-0fa6-41fd-83a9-4f309eadd855" - }, - "target": { - "block": "b39be05b-bc4c-4818-886e-45a0e6321d7a", - "port": "inlabel" - }, - "vertices": [] - }, - { - "source": { - "block": "9409102d-240c-4352-9abe-791f1d3dc427", - "port": "out" - }, - "target": { - "block": "3d49de96-a8cc-4d88-8f57-75e496bdff70", - "port": "inlabel" - }, - "vertices": [] - }, - { - "source": { - "block": "f6a0cbbe-4f41-4558-a15a-b11cae68a067", - "port": "outlabel" - }, - "target": { - "block": "90d72446-1e0c-4cbc-aacf-45f6ae1b23fc", - "port": "096f61b6-6d5c-4907-9512-e65b25969458" - } - }, - { - "source": { - "block": "2e58e7ea-7227-4e3a-aa72-ebf8449d7dea", - "port": "outlabel" - }, - "target": { - "block": "57db6a78-0c5c-4642-822e-22335b96f2a5", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" - } - }, - { - "source": { - "block": "00a3945b-8f8b-4145-a89f-5c63356cbb42", - "port": "out", - "size": 8 - }, - "target": { - "block": "2fce138f-6339-467a-bca4-50f3daea2cd8", - "port": "inlabel" - }, - "size": 8 - }, - { - "source": { - "block": "9b1d07d3-66d2-4f19-8b65-fce699451099", - "port": "outlabel" - }, - "target": { - "block": "90d72446-1e0c-4cbc-aacf-45f6ae1b23fc", - "port": "42b35cc2-aa64-4e66-be42-169958246799", - "size": 8 - }, - "size": 8 - }, - { - "source": { - "block": "ebecf4bb-9a9a-4343-bf58-c328017940a1", - "port": "out" - }, - "target": { - "block": "da1430f6-4614-47c2-957e-e3d9c28a1107", - "port": "inlabel" - } - }, - { - "source": { - "block": "e6835d26-38af-46c6-95d7-2b812807d733", - "port": "outlabel" - }, - "target": { - "block": "c70e942c-80b7-4927-82b9-fc9497fd2c8f", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - } - }, - { - "source": { - "block": "90d72446-1e0c-4cbc-aacf-45f6ae1b23fc", - "port": "d3e4f800-c611-4f65-88e7-8b7d2def0021", - "size": 8 - }, - "target": { - "block": "048f5151-87d8-438e-b807-89e45379f059", - "port": "inlabel" - }, - "size": 8 - }, - { - "source": { - "block": "250b5b98-fbd7-467e-b14a-3c2367f49fc6", - "port": "outlabel" - }, - "target": { - "block": "7c97b34e-6809-4280-9a47-7c6565783efd", - "port": "in", - "size": 8 - }, - "size": 8 - }, - { - "source": { - "block": "caf3ea8d-b0ab-41e9-b5e2-483c88af018e", - "port": "outlabel" - }, - "target": { - "block": "5cf8a623-93ba-46b1-aeed-e677dacca948", - "port": "9f09a4af-8f7a-45c3-af7b-293a244e76d9" - } - }, - { - "source": { - "block": "90a4fcf1-e628-4fa2-a897-f6ff5d9ec518", - "port": "outlabel" - }, - "target": { - "block": "de2c9942-4970-4d39-8726-2bf623926cdb", - "port": "4196184b-4a60-493b-bcc6-c95958483683" - } - }, - { - "source": { - "block": "9fab6e1c-2098-4655-97ac-7d984af752aa", - "port": "outlabel" - }, - "target": { - "block": "e292a084-fe45-48cf-8901-25443ea28288", - "port": "in" - } - }, - { - "source": { - "block": "0bc6ea13-3b91-44af-99ca-b8a88c42b845", - "port": "out" - }, - "target": { - "block": "a0618acf-b3a5-4778-9c40-73ef35c9e5e3", - "port": "inlabel" - }, - "vertices": [] - }, - { - "source": { - "block": "f9363071-27a7-4f7e-9251-5d18cbfcb661", - "port": "outlabel" - }, - "target": { - "block": "5cadf71f-ae3d-44ee-a2f3-f95d2b2fc416", - "port": "in" - } - }, - { - "source": { - "block": "83c18781-c3fa-4049-9ae3-0c098af203f3", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" - }, - "target": { - "block": "59abbca0-841c-4330-9b9e-9a01e1f66e5d", - "port": "97b51945-d716-4b6c-9db9-970d08541249" - }, - "vertices": [] - }, - { - "source": { - "block": "5cf8a623-93ba-46b1-aeed-e677dacca948", - "port": "1cb167a4-9e2a-416b-803e-da7b6151eaa5" - }, - "target": { - "block": "59abbca0-841c-4330-9b9e-9a01e1f66e5d", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - }, - "vertices": [] - }, - { - "source": { - "block": "57db6a78-0c5c-4642-822e-22335b96f2a5", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" - }, - "target": { - "block": "5cf8a623-93ba-46b1-aeed-e677dacca948", - "port": "3ae2d46d-7981-497a-899f-b60bfae0f43e" - }, - "vertices": [] - }, - { - "source": { - "block": "59abbca0-841c-4330-9b9e-9a01e1f66e5d", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" - }, - "target": { - "block": "de2c9942-4970-4d39-8726-2bf623926cdb", - "port": "b6426b43-dcda-418d-b6d3-4764b5bc0b25" - }, - "vertices": [] - }, - { - "source": { - "block": "c70e942c-80b7-4927-82b9-fc9497fd2c8f", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" - }, - "target": { - "block": "57db6a78-0c5c-4642-822e-22335b96f2a5", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" - }, - "vertices": [] - }, - { - "source": { - "block": "c70e942c-80b7-4927-82b9-fc9497fd2c8f", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" - }, - "target": { - "block": "90d72446-1e0c-4cbc-aacf-45f6ae1b23fc", - "port": "065ea371-8398-43b3-8341-287c234a3acb" - }, - "vertices": [ - { - "x": 536, - "y": 568 - } - ] - }, - { - "source": { - "block": "bed90867-99ce-46ee-9dea-ab7429901c13", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" - }, - "target": { - "block": "c70e942c-80b7-4927-82b9-fc9497fd2c8f", - "port": "97b51945-d716-4b6c-9db9-970d08541249" - }, - "vertices": [] - } - ] - } - } - }, - "89d2342d9664348db3e70e823cacbc8eb24ea3d0": { - "package": { - "name": "Registro", - "version": "0.1", - "description": "Registro de 8 bits", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22519.236%22%20height=%22279.911%22%20viewBox=%220%200%20137.38127%2074.059853%22%3E%3Cpath%20d=%22M41.506%2040.152l13.608%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke=%22#000%22%20stroke-width=%221.092%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M34.122%2032.088L24.89%2012.475l-6.45%203.724-2.07-3.583L37.276.546l2.07%203.584-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.772L33.017%2045.02s-2.849-3.695-2.16-6.795c.687-3.1%203.265-6.137%203.265-6.137z%22%20fill=%22red%22%20stroke=%22#000%22%20stroke-width=%221.092%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22translate(-93.518%20-22.665)%20scale(1.09073)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20cx=%22100.602%22%20cy=%2273.815%22%20r=%2214.559%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M81.95%2040.152l13.607%2016.672L88.64%2036.29%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M74.566%2032.088l-9.232-19.613-6.451%203.724-2.069-3.583L77.719.546l2.069%203.584-6.092%203.517%2012.03%2018.223s5.399-2.025%208.535.74c3.137%202.766%202.52%204.92%202.887%204.772L73.46%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M121.637%2040.152l13.608%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M114.253%2032.088l-9.232-19.613-6.45%203.724-2.07-3.583L117.407.546l2.07%203.584-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.772L113.147%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "096f61b6-6d5c-4907-9512-e65b25969458", - "type": "basic.input", - "data": { - "name": "", - "clock": true - }, - "position": { - "x": 80, - "y": 176 - } - }, - { - "id": "d3e4f800-c611-4f65-88e7-8b7d2def0021", - "type": "basic.output", - "data": { - "name": "q", - "range": "[7:0]", - "size": 8 - }, - "position": { - "x": 632, - "y": 248 - } - }, - { - "id": "42b35cc2-aa64-4e66-be42-169958246799", - "type": "basic.input", - "data": { - "name": "", - "range": "[7:0]", - "clock": false, - "size": 8 - }, - "position": { - "x": 80, - "y": 248 - } - }, - { - "id": "065ea371-8398-43b3-8341-287c234a3acb", - "type": "basic.input", - "data": { - "name": "load", - "clock": false - }, - "position": { - "x": 80, - "y": 312 - } - }, - { - "id": "f3b434e4-0c8f-4dd7-90c7-305189a807f1", - "type": "basic.constant", - "data": { - "name": "", - "value": "0", - "local": false - }, - "position": { - "x": 376, - "y": 56 - } - }, - { - "id": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "type": "basic.code", - "data": { - "code": "localparam N = 8;\n\nreg [N-1:0] q = INI;\n\nalways @(posedge clk)\n if (load)\n q <= d;", - "params": [ - { - "name": "INI" - } - ], - "ports": { - "in": [ - { - "name": "clk" - }, - { - "name": "d", - "range": "[7:0]", - "size": 8 - }, - { - "name": "load" - } - ], - "out": [ - { - "name": "q", - "range": "[7:0]", - "size": 8 - } - ] - } - }, - "position": { - "x": 280, - "y": 176 - }, - "size": { - "width": 288, - "height": 200 - } - } - ], - "wires": [ - { - "source": { - "block": "f3b434e4-0c8f-4dd7-90c7-305189a807f1", - "port": "constant-out" - }, - "target": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "INI" - }, - "vertices": [] - }, - { - "source": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "q" - }, - "target": { - "block": "d3e4f800-c611-4f65-88e7-8b7d2def0021", - "port": "in" - }, - "size": 8 - }, - { - "source": { - "block": "42b35cc2-aa64-4e66-be42-169958246799", - "port": "out" - }, - "target": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "d" - }, - "size": 8 - }, - { - "source": { - "block": "065ea371-8398-43b3-8341-287c234a3acb", - "port": "out" - }, - "target": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "load" - } - }, - { - "source": { - "block": "096f61b6-6d5c-4907-9512-e65b25969458", - "port": "out" - }, - "target": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "clk" - } - } - ] - } - } - }, - "8e2728307baccbf26c01cdb87bcfba8ca64a435c": { - "package": { - "name": "Subida", - "version": "0.1", - "description": "Detector de flanco de subida. Emite un tic cuando detecta un flanco ascendente", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22363.337%22%20height=%22251.136%22%20viewBox=%220%200%2096.132868%2066.446441%22%3E%3Cdefs%3E%3Cmarker%20orient=%22auto%22%20id=%22a%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20fill=%22red%22%20fill-rule=%22evenodd%22%20stroke=%22red%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3C/defs%3E%3Cg%20transform=%22translate(-63.113%20-50.902)%22%3E%3Cg%20fill=%22none%22%20stroke=%22#00f%22%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M76.611%2083.336l6.027%207.974-5.055%206.03%201.75%201.557M75.371%2083.53l-3.5%207.975-7.97%201.556.583%202.528%22%20stroke-width=%221.058%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M75.907%2083.53V53.588%22%20stroke-width=%223.969%22/%3E%3Cpath%20d=%22M65.118%2063.338l10.688-10.452%2010.351%2010.452%22%20stroke-width=%223.969%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3Cpath%20d=%22M123.88%2069.103c2.17%203.317%204.013%202.718%205.68%200%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22/%3E%3Cpath%20d=%22M132.326%2095.38V51.614h-11.225v43.497%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%221.323%22%20stroke-linecap=%22round%22/%3E%3Cellipse%20cx=%22112.489%22%20cy=%2297.866%22%20rx=%227.009%22%20ry=%222.635%22%20transform=%22rotate(-1.418)%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%22.265%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20cx=%22-140.807%22%20cy=%2291.678%22%20rx=%227.009%22%20ry=%222.635%22%20transform=%22scale(-1%201)%20rotate(-1.418)%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%22.265%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M124.8%2059.416v3.875M128.39%2059.416v3.875%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%22.529%22/%3E%3Cpath%20d=%22M85.794%2074.097h21.381%22%20fill=%22red%22%20stroke=%22red%22%20stroke-width=%222.646%22%20marker-end=%22url(#a)%22/%3E%3Cg%20transform=%22matrix(.842%200%200%20.842%2062.024%2042.68)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "4196184b-4a60-493b-bcc6-c95958483683", - "type": "basic.input", - "data": { - "name": "", - "clock": true - }, - "position": { - "x": 152, - "y": 176 - } - }, - { - "id": "1d2e403f-0fa6-41fd-83a9-4f309eadd855", - "type": "basic.output", - "data": { - "name": "" - }, - "position": { - "x": 624, - "y": 200 - } - }, - { - "id": "b6426b43-dcda-418d-b6d3-4764b5bc0b25", - "type": "basic.input", - "data": { - "name": "", - "clock": false - }, - "position": { - "x": 152, - "y": 232 - } - }, - { - "id": "3b0eca37-3439-41c9-99e7-7ff1e56bb528", - "type": "basic.code", - "data": { - "code": "reg q = 0;\n\nalways @(posedge clk)\n q <= i;\n \nassign o = (~q & i); ", - "params": [], - "ports": { - "in": [ - { - "name": "clk" - }, - { - "name": "i" - } - ], - "out": [ - { - "name": "o" - } - ] - } - }, - "position": { - "x": 336, - "y": 176 - }, - "size": { - "width": 232, - "height": 112 - } - } - ], - "wires": [ - { - "source": { - "block": "b6426b43-dcda-418d-b6d3-4764b5bc0b25", - "port": "out" - }, - "target": { - "block": "3b0eca37-3439-41c9-99e7-7ff1e56bb528", - "port": "i" - } - }, - { - "source": { - "block": "3b0eca37-3439-41c9-99e7-7ff1e56bb528", - "port": "o" - }, - "target": { - "block": "1d2e403f-0fa6-41fd-83a9-4f309eadd855", - "port": "in" - } - }, - { - "source": { - "block": "4196184b-4a60-493b-bcc6-c95958483683", - "port": "out" - }, - "target": { - "block": "3b0eca37-3439-41c9-99e7-7ff1e56bb528", - "port": "clk" - } - } - ] - } - } - }, - "f5dc974ff576804a66c6a60ab920080490117fc3": { - "package": { - "name": "Serial-tx-sysclk", - "version": "0.2", - "description": "Serial transmitter with system clock freq parameter", - "author": "Juan Gonzalez-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22223.269%22%20width=%22293.137%22%20viewBox=%220%200%20274.81662%20209.31615%22%3E%3Cg%20transform=%22translate(347.142%20-102.544)%20scale(1.04907)%22%20stroke=%22#000%22%3E%3Cpath%20d=%22M-170.798%20177.526l.315%2036.011%2040.397-37.263v-33.51z%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M-308.584%20177.892l53.235-35.7%20124.635.628-39.456%2035.7%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Crect%20ry=%223.509%22%20height=%2236.325%22%20width=%22139.039%22%20y=%22178.153%22%20x=%22-308.895%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22square%22/%3E%3Cg%20transform=%22matrix(1.88858%200%200%201.88858%20-312.436%20138.651)%22%20stroke-width=%22.938%22%20stroke-linecap=%22square%22%3E%3Ccircle%20cy=%2230.367%22%20cx=%2211.326%22%20r=%223.15%22%20fill=%22red%22/%3E%3Ccircle%20cy=%2230.367%22%20cx=%2220.611%22%20r=%223.15%22%20fill=%22#faa%22/%3E%3Ccircle%20cy=%2230.367%22%20cx=%2262.82%22%20r=%223.15%22%20fill=%22green%22/%3E%3Ccircle%20cy=%2230.367%22%20cx=%2230.554%22%20r=%223.15%22%20fill=%22red%22/%3E%3C/g%3E%3C/g%3E%3Ctext%20y=%2228.295%22%20x=%2270.801%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2265.172%22%20letter-spacing=%220%22%20word-spacing=%220%22%20transform=%22scale(.99853%201.00147)%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%221.209%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2228.295%22%20x=%2270.801%22%20font-weight=%22700%22%20font-size=%2237.241%22%3ESerial%3C/tspan%3E%3C/text%3E%3Cg%20transform=%22translate(-49.71%20-39.925)%20scale(2.8106)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22translate(-240.978%20-39.925)%20scale(2.8106)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Ccircle%20cx=%22233.043%22%20cy=%2281.071%22%20r=%2240.92%22%20fill=%22#ececec%22%20stroke=%22green%22%20stroke-width=%221.71%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M261.766%2092.931h-4.696V67.437h-48.103v25.295h-5.116%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%224.275%22%20stroke-linecap=%22round%22/%3E%3Ctext%20y=%22165.6%22%20x=%22108.068%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2265.172%22%20letter-spacing=%220%22%20word-spacing=%220%22%20transform=%22scale(.99853%201.00147)%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%221.209%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%22165.6%22%20x=%22108.068%22%20font-weight=%22700%22%20font-size=%2237.241%22%3ETX%3C/tspan%3E%3C/text%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "09701eaa-8d79-487f-b003-267e04095bb1", - "type": "basic.output", - "data": { - "name": "TX" - }, - "position": { - "x": 960, - "y": 120 - } - }, - { - "id": "4c296e24-7312-407a-8fb0-f3a6d4feb3ab", - "type": "basic.input", - "data": { - "name": "", - "clock": true - }, - "position": { - "x": -16, - "y": 120 - } - }, - { - "id": "27183891-b385-412b-bc55-21df1dd0280e", - "type": "basic.input", - "data": { - "name": "", - "range": "[7:0]", - "clock": false, - "size": 8 - }, - "position": { - "x": -16, - "y": 272 - } - }, - { - "id": "75d4695e-f445-4762-9ae9-c9bf0e51974f", - "type": "basic.output", - "data": { - "name": "busy" - }, - "position": { - "x": 960, - "y": 272 - } - }, - { - "id": "6bb28a95-e6e4-4044-9c22-c4404693b6b1", - "type": "basic.input", - "data": { - "name": "txmit", - "clock": false - }, - "position": { - "x": 0, - "y": 424 - } - }, - { - "id": "42306dfc-8702-4c9a-98d6-56b4c86fff21", - "type": "basic.output", - "data": { - "name": "done" - }, - "position": { - "x": 960, - "y": 424 - } - }, - { - "id": "76db97e8-ad17-4a4b-b288-73e449659681", - "type": "basic.constant", - "data": { - "name": "sclk", - "value": "12000000", - "local": false - }, - "position": { - "x": 344, - "y": -64 - } - }, - { - "id": "671d0b4d-317d-4aef-8422-8b9a400211a4", - "type": "basic.constant", - "data": { - "name": "bps", - "value": "115200", - "local": false - }, - "position": { - "x": 624, - "y": -64 - } - }, - { - "id": "3238443f-338d-4796-b54a-c463c5f191aa", - "type": "basic.code", - "data": { - "code": "//---- Calculate the divisor for achieving the requered BAUDs\n//---- when the system clk is working at SCLK Hertzs\n\nlocalparam DIV = SCLK/BAUD;\n\n//-- Get the number of bits needed for storing the DIV value\nlocalparam N = $clog2(DIV);\n\n//-- It is a counter module DIV\nreg [N-1:0] divcounter = 0;\n\n//-- Cable de reset para el contador\n//-- Comparador que resetea el contador cuando se alcanza el tope\n//-- o cuando el estado del biestable es 0 (apagado)\nwire reset = ov_gen | (state == 0);\n\n//-- Contador con reset\nalways @(posedge clk)\n if (reset)\n divcounter <= 0;\n else\n divcounter <= divcounter + 1;\n\n//-- Hemos llegado al final\nwire ov_gen = (divcounter == DIV-1);\n\n\n\n//-- REGISTRO DESPLAZAMIENTO\n\n//-- Salida serie. Inicialmete a 1 (reposo) \nreg TX = 1;\n\n//-- Registro de desplazamiento de 9 bits\n//-- Inicializado todo a 1s\nreg [8:0] q = 9'h1FF;\n\n//-- La entrada de shift es la salida del generador de baudios\nwire shift = ov_gen;\n\nalways @(posedge clk)\n if (txmit_tic)\n //-- Carga del registro\n q <= {data, 1'b0};\n \n else if (shift)\n //-- Desplazamiento. Rellenar con 1 (bit de stop)\n q <= {1'b1, q[8:1]};\n \n//-- Sacar el bit de menor peso por serial-out \nwire so;\nassign so = q[0];\n\n//-- La salida tx la registramos\nalways @(posedge clk)\n TX <= so;\n \n//-- La señal de entrada txmit se pasa por un \n//-- detector de flancos de subida para generar un tic\nreg q_re = 0;\nwire txmit_tic;\n\nalways @(posedge clk)\n q_re <= txmit;\n \nassign txmit_tic = (~q_re & txmit); \n\n\n\n//-- Estado de transmisor\n//-- 0: Parado\n//-- 1: Ocupado (transmitiendo)\nreg state = 0;\n \nalways @(posedge clk)\n //-- Empieza la transmision: ocupado\n if (txmit)\n state <= 1'b1;\n \n //-- Acaba la transmision: libre \n else if (ov)\n state <= 1'b0;\n\n//-- Contador de bits enviados\nreg [3:0] bits = 0;\nalways @(posedge clk)\n //-- Si la cuenta ha terminado... volver a 0\n if (ov)\n bits <= 2'b00;\n else\n if (shift)\n bits <= bits + 1;\n\n//-- Comprobar si se ha transmitido el último bit (overflow)\n//-- 1 bit de start + 8 bits de datos + 1 bit de stop\nwire ov = (bits == 10);\n\n//-- La señal de ocupado es el estado del transmisor\nassign busy = state;\n\n//-- La señal de done es la de overflow pero retrasada un\n//-- periodo de reloj del sistema y que el biestable \n//-- llegue al estado de parado antes de que se \n//-- empiece otra transmision\n\nreg done=0;\n\nalways @(posedge clk)\n done <= ov;\n", - "params": [ - { - "name": "SCLK" - }, - { - "name": "BAUD" - } - ], - "ports": { - "in": [ - { - "name": "clk" - }, - { - "name": "data", - "range": "[7:0]", - "size": 8 - }, - { - "name": "txmit" - } - ], - "out": [ - { - "name": "TX" - }, - { - "name": "busy" - }, - { - "name": "done" - } - ] - } - }, - "position": { - "x": 248, - "y": 72 - }, - "size": { - "width": 560, - "height": 456 - } - } - ], - "wires": [ - { - "source": { - "block": "3238443f-338d-4796-b54a-c463c5f191aa", - "port": "TX" - }, - "target": { - "block": "09701eaa-8d79-487f-b003-267e04095bb1", - "port": "in" - } - }, - { - "source": { - "block": "671d0b4d-317d-4aef-8422-8b9a400211a4", - "port": "constant-out" - }, - "target": { - "block": "3238443f-338d-4796-b54a-c463c5f191aa", - "port": "BAUD" - } - }, - { - "source": { - "block": "4c296e24-7312-407a-8fb0-f3a6d4feb3ab", - "port": "out" - }, - "target": { - "block": "3238443f-338d-4796-b54a-c463c5f191aa", - "port": "clk" - } - }, - { - "source": { - "block": "27183891-b385-412b-bc55-21df1dd0280e", - "port": "out" - }, - "target": { - "block": "3238443f-338d-4796-b54a-c463c5f191aa", - "port": "data" - }, - "size": 8 - }, - { - "source": { - "block": "6bb28a95-e6e4-4044-9c22-c4404693b6b1", - "port": "out" - }, - "target": { - "block": "3238443f-338d-4796-b54a-c463c5f191aa", - "port": "txmit" - } - }, - { - "source": { - "block": "3238443f-338d-4796-b54a-c463c5f191aa", - "port": "busy" - }, - "target": { - "block": "75d4695e-f445-4762-9ae9-c9bf0e51974f", - "port": "in" - } - }, - { - "source": { - "block": "3238443f-338d-4796-b54a-c463c5f191aa", - "port": "done" - }, - "target": { - "block": "42306dfc-8702-4c9a-98d6-56b4c86fff21", - "port": "in" - } - }, - { - "source": { - "block": "76db97e8-ad17-4a4b-b288-73e449659681", - "port": "constant-out" - }, - "target": { - "block": "3238443f-338d-4796-b54a-c463c5f191aa", - "port": "SCLK" - } - } - ] - } - } - }, - "78be078f7f5f29f81b4664a2bc3f6c05c1daf4f2": { - "package": { - "name": "Bus8-Split-1-7", - "version": "0.1", - "description": "Bus8-Split-half: Split the 8-bits bus into two buses of 1 and 7 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": { - "graph": { - "blocks": [ - { - "id": "6461d1f4-0bf2-46a4-8c57-46d4419eba2b", - "type": "basic.output", - "data": { - "name": "1" - }, - "position": { - "x": 584, - "y": 104 - } - }, - { - "id": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e", - "type": "basic.input", - "data": { - "name": "", - "range": "[7:0]", - "clock": false, - "size": 8 - }, - "position": { - "x": 120, - "y": 208 - } - }, - { - "id": "7851244f-72ce-4b5b-a481-c1202933c8be", - "type": "basic.output", - "data": { - "name": "0", - "range": "[6:0]", - "size": 7 - }, - "position": { - "x": 584, - "y": 272 - } - }, - { - "id": "16e78204-213e-4833-9096-89d735307ec2", - "type": "basic.code", - "data": { - "code": "assign o1 = i[7];\nassign o0 = i[6:0];", - "params": [], - "ports": { - "in": [ - { - "name": "i", - "range": "[7:0]", - "size": 8 - } - ], - "out": [ - { - "name": "o1" - }, - { - "name": "o0", - "range": "[6:0]", - "size": 7 - } - ] - } - }, - "position": { - "x": 272, - "y": 176 - }, - "size": { - "width": 240, - "height": 120 - } - } - ], - "wires": [ - { - "source": { - "block": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i" - }, - "size": 8 - }, - { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o0" - }, - "target": { - "block": "7851244f-72ce-4b5b-a481-c1202933c8be", - "port": "in" - }, - "size": 7 - }, - { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o1" - }, - "target": { - "block": "6461d1f4-0bf2-46a4-8c57-46d4419eba2b", - "port": "in" - } - } - ] - } - } - }, - "afb28fd5426aea14477d11cbe30a290679f789f8": { - "package": { - "name": "Bus8-Join-half", - "version": "0.1", - "description": "Bus8-Join-half: Join the two same halves into an 8-bits Bus", - "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=%22M164.218%2077.643L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v26.186l61.698.046c8.012-.043%2015.705%203.133%2021.47%208.81l61.448%2061.315a57.292%2057.292%200%200%200%2039.993%2016.139%2057.292%2057.292%200%200%200-39.993%2016.14L83.668%20190.45c-5.765%205.677-13.458%208.853-21.47%208.81L.5%20199.306v26.186h62.612c14.924.039%2029.463-5.9%2040.204-16.28l60.902-60.863a29.857%2029.857%200%200%201%2021.347-8.81l146.53-.113V86.457H185.571a29.884%2029.884%200%200%201-21.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "a1770adf-e143-4506-9d87-3cb9c870f534", - "type": "basic.input", - "data": { - "name": "1", - "range": "[3:0]", - "clock": false, - "size": 4 - }, - "position": { - "x": 128, - "y": 168 - } - }, - { - "id": "1269698e-e555-4fcb-a613-cb4c7ff2e598", - "type": "basic.output", - "data": { - "name": "", - "range": "[7:0]", - "size": 8 - }, - "position": { - "x": 640, - "y": 200 - } - }, - { - "id": "843164ff-f7d8-48b9-bf59-1e0d1135c81f", - "type": "basic.input", - "data": { - "name": "0", - "range": "[3:0]", - "clock": false, - "size": 4 - }, - "position": { - "x": 128, - "y": 224 - } - }, - { - "id": "16e78204-213e-4833-9096-89d735307ec2", - "type": "basic.code", - "data": { - "code": "assign o = {i1, i0};\n", - "params": [], - "ports": { - "in": [ - { - "name": "i1", - "range": "[3:0]", - "size": 4 - }, - { - "name": "i0", - "range": "[3:0]", - "size": 4 - } - ], - "out": [ - { - "name": "o", - "range": "[7:0]", - "size": 8 - } - ] - } - }, - "position": { - "x": 296, - "y": 176 - }, - "size": { - "width": 272, - "height": 104 - } - } - ], - "wires": [ - { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o" - }, - "target": { - "block": "1269698e-e555-4fcb-a613-cb4c7ff2e598", - "port": "in" - }, - "size": 8 - }, - { - "source": { - "block": "a1770adf-e143-4506-9d87-3cb9c870f534", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i1" - }, - "size": 4 - }, - { - "source": { - "block": "843164ff-f7d8-48b9-bf59-1e0d1135c81f", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i0" - }, - "size": 4 - } - ] - } - } - }, - "31ac972bd2343f06fe5112165c641002f15cb3fd": { - "package": { - "name": "syscounter-rst-16bits CLONE", - "version": "0.1-c1629916111180", - "description": "16-bits Syscounter with reset", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22302.843%22%20height=%22186.504%22%20viewBox=%220%200%2080.127205%2049.345746%22%3E%3Cdefs%3E%3Cmarker%20id=%22a%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20fill=%22#00f%22%20fill-rule=%22evenodd%22%20stroke=%22#00f%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3C/defs%3E%3Cg%20transform=%22translate(-65.585%20-4.54)%22%3E%3Cpath%20d=%22M138.803%2048.49V16.91%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%222.806%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20marker-end=%22url(#a)%22/%3E%3Crect%20rx=%222.807%22%20ry=%222.807%22%20y=%225.289%22%20x=%2299.747%22%20height=%2247.849%22%20width=%2229.538%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%221.497%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%2240.921%22%20x=%22108.575%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%228.982%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%221.497%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2240.921%22%20x=%22108.575%22%20font-weight=%22700%22%20font-size=%2235.656%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M100.868%2030.283h27.764%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%222.245%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20rx=%222.807%22%20ry=%222.807%22%20y=%225.289%22%20x=%2266.333%22%20height=%2247.849%22%20width=%2229.538%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%221.497%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%2240.921%22%20x=%2273.223%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%228.982%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%221.497%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2240.921%22%20x=%2273.223%22%20font-weight=%22700%22%20font-size=%2235.656%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M67.454%2030.283h27.764%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%222.245%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3C/svg%3E", - "otid": 1618592156430 - }, - "design": { - "graph": { - "blocks": [ - { - "id": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", - "type": "basic.input", - "data": { - "name": "", - "clock": true - }, - "position": { - "x": 216, - "y": -120 - } - }, - { - "id": "0a772657-8018-424d-8f04-75d3ffff3692", - "type": "basic.inputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true - }, - "position": { - "x": 368, - "y": -120 - } - }, - { - "id": "b9359b10-b14f-4dd7-adf9-3f4f22bc65e6", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 384, - "y": -32 - } - }, - { - "id": "76db717f-1846-4d45-a1b5-33c1ce7851f4", - "type": "basic.outputLabel", - "data": { - "name": "q", - "range": "[19:0]", - "pins": [ - { - "index": "19", - "name": "", - "value": "" - }, - { - "index": "18", - "name": "", - "value": "" - }, - { - "index": "17", - "name": "", - "value": "" - }, - { - "index": "16", - "name": "", - "value": "" - }, - { - "index": "15", - "name": "", - "value": "" - }, - { - "index": "14", - "name": "", - "value": "" - }, - { - "index": "13", - "name": "", - "value": "" - }, - { - "index": "12", - "name": "", - "value": "" - }, - { - "index": "11", - "name": "", - "value": "" - }, - { - "index": "10", - "name": "", - "value": "" - }, - { - "index": "9", - "name": "", - "value": "" - }, - { - "index": "8", - "name": "", - "value": "" - }, - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia" - }, - "position": { - "x": 1040, - "y": -32 - } - }, - { - "id": "9f0a2040-af07-4db4-b2c9-b93c46671c29", - "type": "basic.output", - "data": { - "name": "q", - "range": "[19:0]", - "pins": [ - { - "index": "19", - "name": "", - "value": "" - }, - { - "index": "18", - "name": "", - "value": "" - }, - { - "index": "17", - "name": "", - "value": "" - }, - { - "index": "16", - "name": "", - "value": "" - }, - { - "index": "15", - "name": "", - "value": "" - }, - { - "index": "14", - "name": "", - "value": "" - }, - { - "index": "13", - "name": "", - "value": "" - }, - { - "index": "12", - "name": "", - "value": "" - }, - { - "index": "11", - "name": "", - "value": "" - }, - { - "index": "10", - "name": "", - "value": "" - }, - { - "index": "9", - "name": "", - "value": "" - }, - { - "index": "8", - "name": "", - "value": "" - }, - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": false + "id": "b14f140b-7bb5-46d9-8019-39c27ff6e0e3", + "type": "basic.input", + "data": { + "name": "start", + "clock": false }, "position": { - "x": 1208, - "y": -32 + "x": -88, + "y": 312 } }, { - "id": "88e0e872-0460-4ecc-bf26-8a7a5598a024", - "type": "basic.output", + "id": "da45f105-3600-4458-a820-50046581f5dd", + "type": "basic.inputLabel", "data": { - "name": "max" + "blockColor": "fuchsia", + "name": "start" }, "position": { - "x": 1208, - "y": 56 + "x": 56, + "y": 312 } }, { - "id": "06c393de-8af4-4b53-852c-b0e0160b5314", + "id": "923c4db6-0c76-4647-a848-75fd61fba6ec", "type": "basic.outputLabel", "data": { "blockColor": "fuchsia", - "name": "c" + "name": "done", + "oldBlockColor": "fuchsia" }, "position": { - "x": 1048, - "y": 56 + "x": 936, + "y": 312 } }, { - "id": "2a921d76-1cbd-48fe-82a9-11b0ab4dbc06", - "type": "basic.input", + "id": "05a1a5b4-bf29-49df-b0b1-887859d9ec9e", + "type": "basic.inputLabel", "data": { - "name": "rst", - "clock": false + "blockColor": "fuchsia", + "name": "bbusy", + "oldBlockColor": "fuchsia" }, "position": { - "x": 216, - "y": 56 + "x": 560, + "y": 336 } }, { - "id": "981964f7-389a-4d49-b273-41af6bbab190", - "type": "basic.inputLabel", + "id": "9978357f-7ad7-44b5-97d2-b44692508773", + "type": "basic.input", "data": { - "name": "q", - "range": "[19:0]", - "pins": [ - { - "index": "19", - "name": "", - "value": "" - }, - { - "index": "18", - "name": "", - "value": "" - }, - { - "index": "17", - "name": "", - "value": "" - }, - { - "index": "16", - "name": "", - "value": "" - }, - { - "index": "15", - "name": "", - "value": "" - }, - { - "index": "14", - "name": "", - "value": "" - }, - { - "index": "13", - "name": "", - "value": "" - }, - { - "index": "12", - "name": "", - "value": "" - }, - { - "index": "11", - "name": "", - "value": "" - }, - { - "index": "10", - "name": "", - "value": "" - }, - { - "index": "9", - "name": "", - "value": "" - }, - { - "index": "8", - "name": "", - "value": "" - }, - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia" + "name": "din", + "range": "[7:0]", + "clock": false, + "size": 8 }, "position": { - "x": 704, - "y": 56 + "x": -88, + "y": 392 } }, { - "id": "cd9b7fce-c943-4b4c-a716-94f2cd21ccda", + "id": "5344b55b-0e5d-4444-88ef-fd6b3caa1c5b", "type": "basic.inputLabel", "data": { + "name": "din", + "range": "[7:0]", "blockColor": "fuchsia", - "name": "c", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "size": 8 }, "position": { - "x": 856, - "y": 144 + "x": 64, + "y": 392 } }, { - "id": "8ecb0561-b947-4a64-a62d-cb02a19f0a63", - "type": "8c688426bd97378252913707a7becaa4738967de", - "position": { - "x": 544, - "y": 40 + "id": "5884d0cb-fd13-4b25-b561-c919079d2136", + "type": "basic.output", + "data": { + "name": "nc" }, - "size": { - "width": 96, - "height": 96 + "position": { + "x": 1936, + "y": 488 } }, { - "id": "7391a47a-f4a7-426e-a880-2ea38b2b8df0", - "type": "d98b4eaf961afa9cfcfb6a56bfe554ab1859a551", - "position": { - "x": 720, - "y": 160 + "id": "54e9bf9f-b852-4c45-bd53-f6eb4ee707eb", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "start_read" }, - "size": { - "width": 96, - "height": 64 + "position": { + "x": 608, + "y": 504 } - } - ], - "wires": [ + }, { - "source": { - "block": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", - "port": "out" - }, - "target": { - "block": "0a772657-8018-424d-8f04-75d3ffff3692", - "port": "inlabel" + "id": "fce01e4d-e6d2-4811-8f96-410673168b4c", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "bbusy", + "oldBlockColor": "fuchsia" }, - "vertices": [] + "position": { + "x": 152, + "y": 552 + } }, { - "source": { - "block": "7391a47a-f4a7-426e-a880-2ea38b2b8df0", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" - }, - "target": { - "block": "cd9b7fce-c943-4b4c-a716-94f2cd21ccda", - "port": "inlabel" + "id": "700d8b15-d6df-4b76-b10d-72db58c33e6c", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "bus_mine", + "oldBlockColor": "fuchsia" }, - "vertices": [] + "position": { + "x": 776, + "y": 584 + } }, { - "source": { - "block": "b9359b10-b14f-4dd7-adf9-3f4f22bc65e6", - "port": "outlabel" + "id": "5b15b8c9-8fb1-410a-8910-a60ef283ff1d", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "target": { - "block": "8ecb0561-b947-4a64-a62d-cb02a19f0a63", - "port": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6" + "position": { + "x": 1496, + "y": 648 } }, { - "source": { - "block": "06c393de-8af4-4b53-852c-b0e0160b5314", - "port": "outlabel" + "id": "524ca75c-cdd3-4e79-851a-b46ce146bd66", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "start" }, - "target": { - "block": "88e0e872-0460-4ecc-bf26-8a7a5598a024", - "port": "in" + "position": { + "x": 152, + "y": 696 } }, { - "source": { - "block": "76db717f-1846-4d45-a1b5-33c1ce7851f4", - "port": "outlabel" - }, - "target": { - "block": "9f0a2040-af07-4db4-b2c9-b93c46671c29", - "port": "in", - "size": 20 + "id": "7e9db299-cb56-4cd9-a489-d5fbd6eb3e2f", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "busy" }, - "size": 20 + "position": { + "x": 1184, + "y": 704 + } }, { - "source": { - "block": "8ecb0561-b947-4a64-a62d-cb02a19f0a63", - "port": "89c5da42-b940-41c4-9cc5-29b4d49f3dc6", - "size": 20 - }, - "target": { - "block": "981964f7-389a-4d49-b273-41af6bbab190", - "port": "inlabel" + "id": "28d32f23-19b6-4a8c-8ac6-edbbb1a0e999", + "type": "basic.outputLabel", + "data": { + "name": "din", + "range": "[7:0]", + "blockColor": "fuchsia", + "size": 8 }, - "size": 20 + "position": { + "x": 1496, + "y": 712 + } }, { - "source": { - "block": "2a921d76-1cbd-48fe-82a9-11b0ab4dbc06", - "port": "out" + "id": "703240cb-6595-44d0-a266-869db1fe0889", + "type": "basic.inputLabel", + "data": { + "name": "din_r", + "range": "[7:0]", + "blockColor": "fuchsia", + "oldBlockColor": "fuchsia", + "size": 8 }, - "target": { - "block": "8ecb0561-b947-4a64-a62d-cb02a19f0a63", - "port": "159f86de-af0f-4f1a-9a93-7e8149d5d322" + "position": { + "x": 1840, + "y": 712 } }, { - "source": { - "block": "8ecb0561-b947-4a64-a62d-cb02a19f0a63", - "port": "89c5da42-b940-41c4-9cc5-29b4d49f3dc6" - }, - "target": { - "block": "7391a47a-f4a7-426e-a880-2ea38b2b8df0", - "port": "e32c1f43-2609-4db0-988a-e26855546f12" + "id": "7df4a7f1-90b6-4562-8be3-e4719a824545", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "vertices": [ - { - "x": 656, - "y": 128 - } - ], - "size": 20 + "position": { + "x": 880, + "y": 752 + } }, { - "source": { - "block": "7391a47a-f4a7-426e-a880-2ea38b2b8df0", - "port": "82476fac-7158-4228-8506-b16205d96d74" - }, - "target": { - "block": "8ecb0561-b947-4a64-a62d-cb02a19f0a63", - "port": "4bdfb926-27df-4b6d-b7dd-4a22b33c4d66" + "id": "2c719f94-9d13-4502-9018-1231407bb53a", + "type": "basic.inputLabel", + "data": { + "name": "addr", + "range": "[13:0]", + "blockColor": "navy", + "size": 14 }, - "vertices": [ - { - "x": 848, - "y": 256 - } - ], - "size": 20 - } - ] - } - } - }, - "8c688426bd97378252913707a7becaa4738967de": { - "package": { - "name": "DFF-rst-x20", - "version": "0.1", - "description": "DFF-rst-x20: 20 D flip-flops in paralell with reset", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22252.294%22%20height=%22220.368%22%20viewBox=%220%200%2066.75283%2058.305748%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M25.682%2041.088L39.29%2057.76l-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M18.298%2033.024L9.066%2013.41l-6.45%203.724-2.07-3.583%2020.905-12.07%202.069%203.584-6.092%203.517%2012.03%2018.223s5.399-2.025%208.535.74c3.137%202.766%202.52%204.92%202.887%204.773L17.192%2045.956s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M42.022%2040.152l13.607%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M34.638%2032.088l-9.232-19.613-6.451%203.724-2.07-3.583L37.792.546%2039.86%204.13l-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.137%202.766%202.52%204.92%202.887%204.772L33.532%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20transform=%22translate(-38.356%20-17.732)%22%3E%3Crect%20width=%2224.412%22%20height=%2213.185%22%20x=%2280.3%22%20y=%2221.375%22%20ry=%222.247%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%22.794%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:1.25%22%20x=%2282.245%22%20y=%2230.943%22%20font-weight=%22400%22%20font-size=%2210.583%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20x=%2282.245%22%20y=%2230.943%22%20font-weight=%22700%22%3ESys%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E", - "otid": 1618509859237 - }, - "design": { - "graph": { - "blocks": [ + "position": { + "x": 1232, + "y": 816 + } + }, { - "id": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", - "type": "basic.input", + "id": "dc204461-1dd1-428f-91a2-006d905d6585", + "type": "basic.outputLabel", "data": { - "name": "", - "clock": true + "blockColor": "fuchsia", + "name": "start_read" }, "position": { - "x": -632, - "y": -264 + "x": 872, + "y": 832 } }, { - "id": "0a772657-8018-424d-8f04-75d3ffff3692", - "type": "basic.inputLabel", + "id": "0db424eb-f896-41e1-becb-7eb065dd64f2", + "type": "basic.outputLabel", "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "blockColor": "fuchsia", + "name": "busy" }, "position": { - "x": -480, - "y": -264 + "x": 152, + "y": 840 } }, { - "id": "159f86de-af0f-4f1a-9a93-7e8149d5d322", - "type": "basic.input", + "id": "eda78d52-57f7-4e44-bd8e-75e67c496650", + "type": "basic.outputLabel", "data": { - "name": "rst", - "clock": false + "blockColor": "fuchsia", + "name": "wr", + "oldBlockColor": "fuchsia" }, "position": { - "x": -624, - "y": -192 + "x": 864, + "y": 904 } }, { - "id": "eae23d49-1710-4ffb-9162-8c4238e16af9", + "id": "caf86b2c-c08d-411d-be47-4084fec9532e", "type": "basic.inputLabel", "data": { - "blockColor": "navy", - "name": "rst", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "blockColor": "fuchsia", + "name": "wr", + "oldBlockColor": "fuchsia" }, "position": { - "x": -480, - "y": -192 + "x": 1216, + "y": 912 } }, { - "id": "cf0ec9b2-9d62-4940-aa5c-aeb5598d4206", - "type": "basic.outputLabel", + "id": "366a768a-2f5d-4c01-8338-bdef0a688ea7", + "type": "basic.inputLabel", "data": { - "blockColor": "yellow", - "name": "clk", + "blockColor": "fuchsia", + "name": "done", "oldBlockColor": "fuchsia" }, "position": { - "x": -168, - "y": -168 + "x": 1144, + "y": 1008 } }, { - "id": "95c3db7f-827e-4950-8a74-ed4c855b1e80", - "type": "basic.outputLabel", + "id": "0a517454-aeac-48a3-bc62-6aa73da948bd", + "type": "basic.info", "data": { - "blockColor": "navy", - "name": "rst", - "oldBlockColor": "fuchsia" + "info": "Reading data from memory \nReading bus status", + "readonly": true }, "position": { - "x": -176, - "y": -96 + "x": 336, + "y": 120 + }, + "size": { + "width": 232, + "height": 64 } }, { - "id": "7a94a774-819e-4796-ad92-2b9f0a06e828", - "type": "basic.outputLabel", + "id": "a200cfa9-fe9a-4c4b-b9d4-f4307d071797", + "type": "basic.info", "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" + "info": "Calculate if the bus can be taken", + "readonly": true }, "position": { - "x": -168, - "y": 96 + "x": 216, + "y": 440 + }, + "size": { + "width": 272, + "height": 32 } }, { - "id": "89c5da42-b940-41c4-9cc5-29b4d49f3dc6", - "type": "basic.output", - "data": { - "name": "", - "range": "[19:0]", - "size": 20 + "id": "7a989d63-cd4a-4c47-9513-57b4ea6ee141", + "type": "35f267d0df6ffcb7fc33753bc9df9cf083642cca", + "position": { + "x": 296, + "y": 552 }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", + "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", "position": { - "x": 456, - "y": 96 + "x": 464, + "y": 568 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "4bdfb926-27df-4b6d-b7dd-4a22b33c4d66", - "type": "basic.input", + "id": "239fe2ba-e2b9-4446-a1ea-51e1616f5b75", + "type": "basic.info", "data": { - "name": "", - "range": "[19:0]", - "clock": false, - "size": 20 + "info": "The bus is available", + "readonly": true }, "position": { - "x": -592, - "y": 136 + "x": 384, + "y": 512 + }, + "size": { + "width": 184, + "height": 32 } }, { - "id": "35ac40b6-de26-493f-b22e-d15895042a60", - "type": "basic.outputLabel", + "id": "b62ad9b4-5b0e-4b74-a0ad-947946a59331", + "type": "basic.info", "data": { - "blockColor": "navy", - "name": "rst", - "oldBlockColor": "fuchsia" + "info": "This circuits wants \nto use the bus", + "readonly": true }, "position": { - "x": -184, - "y": 176 + "x": 280, + "y": 664 + }, + "size": { + "width": 192, + "height": 56 } }, { - "id": "d0c1a36f-1bb8-46af-a2f8-088defad2415", - "type": "5c75f6e4f841e85f7c34d83b9cc081ef669dd12d", + "id": "c25805fd-f852-43d5-93db-f3f0cb17c301", + "type": "basic.info", + "data": { + "info": "The bus has been already \ntaken", + "readonly": true + }, "position": { - "x": -8, - "y": -72 + "x": 272, + "y": 816 }, "size": { - "width": 96, - "height": 96 + "width": 208, + "height": 56 } }, { - "id": "0287a33b-abb2-45fc-a2b5-eddaaa415ed2", - "type": "afdfd851c62ff1f87cbc865d3c5f80b274b5e994", + "id": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", + "type": "81613874c6152f06c06ed7014bf4235900cfcc30", "position": { - "x": -400, - "y": 136 + "x": 648, + "y": 584 }, "size": { "width": 96, @@ -19299,1137 +15254,1040 @@ } }, { - "id": "a1a2f4fd-0736-42d7-a935-8a787bc0fce0", - "type": "bc711b66856fc03718ca2669a0c67f34806c8a9d", + "id": "26b71a43-5955-4452-9b0e-94ea6ef453b7", + "type": "81613874c6152f06c06ed7014bf4235900cfcc30", "position": { - "x": -16, - "y": 208 + "x": 1088, + "y": 296 }, "size": { "width": 96, - "height": 96 + "height": 64 } }, { - "id": "74fe122d-ed3c-40a1-991b-a86a1cacdd4c", - "type": "decca3cf2b9498594a9c2a30320829ba70f6fabb", + "id": "d3ce12c0-3b45-4ed2-8446-fb6c4c8e8710", + "type": "basic.info", + "data": { + "info": "One cycle after the machine is done \nthe bus is already taken to write \nthe bbusy signal to 0 and allow \nother circuits to use it", + "readonly": true + }, "position": { - "x": 248, - "y": 96 + "x": 960, + "y": 392 }, "size": { - "width": 96, - "height": 64 + "width": 304, + "height": 88 } - } - ], - "wires": [ - { - "source": { - "block": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", - "port": "out" - }, - "target": { - "block": "0a772657-8018-424d-8f04-75d3ffff3692", - "port": "inlabel" - }, - "vertices": [] }, { - "source": { - "block": "159f86de-af0f-4f1a-9a93-7e8149d5d322", - "port": "out" + "id": "110cf90a-bc63-4642-a72e-33e8e397e804", + "type": "basic.info", + "data": { + "info": "The output bus is controlled \nby this circuit (1) or \nremain untouched (0)", + "readonly": true }, - "target": { - "block": "eae23d49-1710-4ffb-9162-8c4238e16af9", - "port": "inlabel" - } - }, - { - "source": { - "block": "7a94a774-819e-4796-ad92-2b9f0a06e828", - "port": "outlabel" + "position": { + "x": 1352, + "y": 256 }, - "target": { - "block": "a1a2f4fd-0736-42d7-a935-8a787bc0fce0", - "port": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6" + "size": { + "width": 240, + "height": 112 } }, { - "source": { - "block": "35ac40b6-de26-493f-b22e-d15895042a60", - "port": "outlabel" - }, - "target": { - "block": "a1a2f4fd-0736-42d7-a935-8a787bc0fce0", - "port": "159f86de-af0f-4f1a-9a93-7e8149d5d322" + "id": "0421b3fd-c660-4279-abe0-e1d486431ce0", + "type": "basic.info", + "data": { + "info": "The reading machine \ncan be started", + "readonly": true }, - "vertices": [ - { - "x": -56, - "y": 216 - } - ] - }, - { - "source": { - "block": "cf0ec9b2-9d62-4940-aa5c-aeb5598d4206", - "port": "outlabel" + "position": { + "x": 584, + "y": 456 }, - "target": { - "block": "d0c1a36f-1bb8-46af-a2f8-088defad2415", - "port": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6" + "size": { + "width": 184, + "height": 64 } }, { - "source": { - "block": "95c3db7f-827e-4950-8a74-ed4c855b1e80", - "port": "outlabel" - }, - "target": { - "block": "d0c1a36f-1bb8-46af-a2f8-088defad2415", - "port": "159f86de-af0f-4f1a-9a93-7e8149d5d322" + "id": "0414e63d-55c1-41b0-abdf-4e02d0f68ff9", + "type": "725b7e2cb9666b5ed3183537d9c898f096dab82a", + "position": { + "x": 1504, + "y": 792 }, - "vertices": [ - { - "x": -56, - "y": -40 - } - ] + "size": { + "width": 96, + "height": 64 + } }, { - "source": { - "block": "4bdfb926-27df-4b6d-b7dd-4a22b33c4d66", - "port": "out" + "id": "cb239ba5-a0b6-498b-817d-0f0013b987c0", + "type": "basic.info", + "data": { + "info": "## Sample machine\n\nRead the input data, (one byte per clock cycle) and store it into the memory\n\n", + "readonly": true }, - "target": { - "block": "0287a33b-abb2-45fc-a2b5-eddaaa415ed2", - "port": "6a8347bb-e6ee-494a-87c8-277445460362" + "position": { + "x": -104, + "y": -192 }, - "size": 20 + "size": { + "width": 648, + "height": 104 + } }, { - "source": { - "block": "0287a33b-abb2-45fc-a2b5-eddaaa415ed2", - "port": "329d21c4-3508-44bb-9bf0-e308736f52f2" - }, - "target": { - "block": "a1a2f4fd-0736-42d7-a935-8a787bc0fce0", - "port": "ccf3fe71-4cdb-4e98-9ecd-d0083cfb1170" + "id": "5caa6aff-82f8-4a53-84f7-b67bb5bad8a8", + "type": "58ed2b5c7e33e2f215ccba6c101d9ea4ff60f284", + "position": { + "x": 1808, + "y": 280 }, - "vertices": [ - { - "x": -280, - "y": 240 - } - ], - "size": 16 + "size": { + "width": 96, + "height": 64 + } }, { - "source": { - "block": "0287a33b-abb2-45fc-a2b5-eddaaa415ed2", - "port": "cd398ca7-cb31-47dc-bf0b-b0a970a32414" - }, - "target": { - "block": "d0c1a36f-1bb8-46af-a2f8-088defad2415", - "port": "26833303-0a1a-4750-8546-b98e2fdfdd82" + "id": "fc204eb4-2475-49d5-8d15-940e4cede5d4", + "type": "8d66187a7f8e3ffab330c0980473cb3427f8a5a6", + "position": { + "x": 1680, + "y": 696 }, - "vertices": [ - { - "x": -232, - "y": 64 - } - ], - "size": 4 + "size": { + "width": 96, + "height": 96 + } }, { - "source": { - "block": "74fe122d-ed3c-40a1-991b-a86a1cacdd4c", - "port": "49d4333f-b5a4-459c-8469-232e5e95d956" - }, - "target": { - "block": "89c5da42-b940-41c4-9cc5-29b4d49f3dc6", - "port": "in" + "id": "ccd1e0fa-873c-4274-85c6-f906e6266aee", + "type": "d1635cb33c6d31e1ea457005c78d574fcf71828b", + "position": { + "x": 384, + "y": 184 }, - "size": 20 + "size": { + "width": 96, + "height": 128 + } }, { - "source": { - "block": "d0c1a36f-1bb8-46af-a2f8-088defad2415", - "port": "571d3fa4-680d-4422-92c6-b3b1dcd4fa8b" - }, - "target": { - "block": "74fe122d-ed3c-40a1-991b-a86a1cacdd4c", - "port": "b54d5820-5a61-4527-87ba-b3ec0c5edc82" + "id": "f171b375-a1d9-4dbb-a2db-61b09e78bad8", + "type": "cae9cdc6d7b2442eb4d4095c65ccf9bd24a99bb9", + "position": { + "x": 1016, + "y": 800 }, - "vertices": [ - { - "x": 160, - "y": 32 - } - ], - "size": 4 + "size": { + "width": 96, + "height": 128 + } }, { - "source": { - "block": "a1a2f4fd-0736-42d7-a935-8a787bc0fce0", - "port": "710d9d0b-6550-4778-b5b4-c13ff8974876" - }, - "target": { - "block": "74fe122d-ed3c-40a1-991b-a86a1cacdd4c", - "port": "c4ca0e6a-6557-45ee-8363-1bffebaad486" - }, - "size": 16 - } - ] - } - } - }, - "5c75f6e4f841e85f7c34d83b9cc081ef669dd12d": { - "package": { - "name": "DFF-rst-x04", - "version": "0.1", - "description": "DFF-rst-x04: Three D flip-flops in paralell with reset", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22252.294%22%20height=%22220.368%22%20viewBox=%220%200%2066.75283%2058.305748%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M25.682%2041.088L39.29%2057.76l-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M18.298%2033.024L9.066%2013.41l-6.45%203.724-2.07-3.583%2020.905-12.07%202.069%203.584-6.092%203.517%2012.03%2018.223s5.399-2.025%208.535.74c3.137%202.766%202.52%204.92%202.887%204.773L17.192%2045.956s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M42.022%2040.152l13.607%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M34.638%2032.088l-9.232-19.613-6.451%203.724-2.07-3.583L37.792.546%2039.86%204.13l-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.137%202.766%202.52%204.92%202.887%204.772L33.532%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20transform=%22translate(-38.356%20-17.732)%22%3E%3Crect%20width=%2224.412%22%20height=%2213.185%22%20x=%2280.3%22%20y=%2221.375%22%20ry=%222.247%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%22.794%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:1.25%22%20x=%2282.245%22%20y=%2230.943%22%20font-weight=%22400%22%20font-size=%2210.583%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20x=%2282.245%22%20y=%2230.943%22%20font-weight=%22700%22%3ESys%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E", - "otid": 1618509859237 - }, - "design": { - "graph": { - "blocks": [ - { - "id": "7a94a774-819e-4796-ad92-2b9f0a06e828", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" - }, + "id": "6db36553-cdbf-4430-8693-607cf166a23a", + "type": "6e4fc811dcd6d1ac703e608270f81ee906ee7e98", "position": { - "x": -160, - "y": -336 + "x": 1080, + "y": -80 + }, + "size": { + "width": 96, + "height": 128 } }, { - "id": "35ac40b6-de26-493f-b22e-d15895042a60", - "type": "basic.outputLabel", - "data": { - "blockColor": "navy", - "name": "rst", - "oldBlockColor": "fuchsia" - }, + "id": "adb6b0df-8c6d-408c-b6f5-953934e48c81", + "type": "5fcfda234fb072b021cd8f915af77e7ae7860198", "position": { - "x": -168, - "y": -280 + "x": 1312, + "y": 104 + }, + "size": { + "width": 96, + "height": 96 } + } + ], + "wires": [ + { + "source": { + "block": "7fb933a6-5c63-4d46-8aaa-440b30974993", + "port": "out" + }, + "target": { + "block": "2c31aa6a-383c-4eb5-b669-b8a31ad14225", + "port": "inlabel" + }, + "vertices": [] }, { - "id": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", - "type": "basic.input", - "data": { - "name": "", - "clock": true + "source": { + "block": "b14f140b-7bb5-46d9-8019-39c27ff6e0e3", + "port": "out" }, - "position": { - "x": -496, - "y": -256 + "target": { + "block": "da45f105-3600-4458-a820-50046581f5dd", + "port": "inlabel" } }, { - "id": "0a772657-8018-424d-8f04-75d3ffff3692", - "type": "basic.inputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "source": { + "block": "ccd1e0fa-873c-4274-85c6-f906e6266aee", + "port": "9751f777-00ec-46c1-8d85-07d2dec1e653" }, - "position": { - "x": -344, - "y": -256 + "target": { + "block": "05a1a5b4-bf29-49df-b0b1-887859d9ec9e", + "port": "inlabel" } }, { - "id": "fdb3de4d-1a1f-420d-83f5-652d30cd8ca3", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" + "source": { + "block": "7df4a7f1-90b6-4562-8be3-e4719a824545", + "port": "outlabel" }, - "position": { - "x": 112, - "y": -200 + "target": { + "block": "f171b375-a1d9-4dbb-a2db-61b09e78bad8", + "port": "cb426e3d-ace3-4a57-a74b-155caed0c14c" } }, { - "id": "159f86de-af0f-4f1a-9a93-7e8149d5d322", - "type": "basic.input", - "data": { - "name": "rst", - "clock": false + "source": { + "block": "fce01e4d-e6d2-4811-8f96-410673168b4c", + "port": "outlabel" }, - "position": { - "x": -488, - "y": -184 - } + "target": { + "block": "7a989d63-cd4a-4c47-9513-57b4ea6ee141", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + }, + "vertices": [] }, { - "id": "eae23d49-1710-4ffb-9162-8c4238e16af9", - "type": "basic.inputLabel", - "data": { - "blockColor": "navy", - "name": "rst", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "source": { + "block": "524ca75c-cdd3-4e79-851a-b46ce146bd66", + "port": "outlabel" }, - "position": { - "x": -344, - "y": -184 - } + "target": { + "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + }, + "vertices": [] }, { - "id": "719d7e53-bdb2-40e8-8bed-c86a12749e88", - "type": "basic.outputLabel", - "data": { - "blockColor": "navy", - "name": "rst", - "oldBlockColor": "fuchsia" + "source": { + "block": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, - "position": { - "x": 112, - "y": -112 - } + "target": { + "block": "700d8b15-d6df-4b76-b10d-72db58c33e6c", + "port": "inlabel" + }, + "vertices": [] }, { - "id": "b9359b10-b14f-4dd7-adf9-3f4f22bc65e6", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" + "source": { + "block": "0db424eb-f896-41e1-becb-7eb065dd64f2", + "port": "outlabel" }, - "position": { - "x": 376, - "y": -8 - } + "target": { + "block": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + }, + "vertices": [ + { + "x": 584, + "y": 824 + } + ] }, { - "id": "ff33bbea-7f70-4f0f-b74d-6bcb9f41d0ba", - "type": "basic.outputLabel", - "data": { - "blockColor": "navy", - "name": "rst", - "oldBlockColor": "fuchsia" + "source": { + "block": "9be4488d-51be-4346-8a31-5d8f2f86e4d3", + "port": "outlabel" }, - "position": { - "x": 376, - "y": 80 - } + "target": { + "block": "26b71a43-5955-4452-9b0e-94ea6ef453b7", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + }, + "vertices": [] }, { - "id": "571d3fa4-680d-4422-92c6-b3b1dcd4fa8b", - "type": "basic.output", - "data": { - "name": "", - "range": "[3:0]", - "size": 4 + "source": { + "block": "923c4db6-0c76-4647-a848-75fd61fba6ec", + "port": "outlabel" }, - "position": { - "x": 1032, - "y": 184 - } + "target": { + "block": "26b71a43-5955-4452-9b0e-94ea6ef453b7", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + }, + "vertices": [] }, { - "id": "7f915e41-616b-42d0-b6b3-93e8312f9091", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" + "source": { + "block": "f171b375-a1d9-4dbb-a2db-61b09e78bad8", + "port": "49221b19-132a-4e3f-9a1f-97bcd463391b" }, - "position": { - "x": 528, - "y": 208 + "target": { + "block": "366a768a-2f5d-4c01-8338-bdef0a688ea7", + "port": "inlabel" } }, { - "id": "26833303-0a1a-4750-8546-b98e2fdfdd82", - "type": "basic.input", - "data": { - "name": "", - "range": "[3:0]", - "clock": false, - "size": 4 + "source": { + "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, - "position": { - "x": -336, - "y": 224 + "target": { + "block": "54e9bf9f-b852-4c45-bd53-f6eb4ee707eb", + "port": "inlabel" } }, { - "id": "a47f4645-6751-4e16-8293-52d8f8cfc9f1", - "type": "basic.outputLabel", - "data": { - "blockColor": "navy", - "name": "rst", - "oldBlockColor": "fuchsia" + "source": { + "block": "dc204461-1dd1-428f-91a2-006d905d6585", + "port": "outlabel" }, - "position": { - "x": 520, - "y": 264 + "target": { + "block": "f171b375-a1d9-4dbb-a2db-61b09e78bad8", + "port": "8f591b24-0427-409f-aa6e-ca1861556cf5" } }, { - "id": "48335216-c02f-4e23-8a04-e3d4eaa032ab", - "type": "c4f23ad05c2010ec9bd213c8814c9238873037ae", - "position": { - "x": -168, - "y": 192 + "source": { + "block": "f171b375-a1d9-4dbb-a2db-61b09e78bad8", + "port": "6a11eaf9-4bd5-405e-81f8-44418365326b" }, - "size": { - "width": 96, - "height": 128 + "target": { + "block": "7e9db299-cb56-4cd9-a489-d5fbd6eb3e2f", + "port": "inlabel" } }, { - "id": "ac2e4720-4af2-481e-9d20-d935321e31f2", - "type": "84f0a15761ee8b753f67079819a7614923939472", - "position": { - "x": 848, - "y": 152 + "source": { + "block": "a040cc3d-b2c6-458e-bde6-f8234a19b6d1", + "port": "outlabel" }, - "size": { - "width": 96, - "height": 128 + "target": { + "block": "38abb13c-8652-41fb-931c-c7bf760ebb24", + "port": "in" + }, + "vertices": [] + }, + { + "source": { + "block": "8ca2279c-fdc3-40d3-9fbe-2071c026932f", + "port": "outlabel" + }, + "target": { + "block": "6db36553-cdbf-4430-8693-607cf166a23a", + "port": "49fb1766-1e7f-4706-9872-a6cd65cc9f2d" } }, { - "id": "0f69a2a7-39f9-4ed1-be11-0e7ee877a076", - "type": "2be0f80ece8db75007def664695ef5f257f88b99", - "position": { - "x": 672, - "y": 264 + "source": { + "block": "289f00be-f97d-4553-a60a-32d8b45da4cc", + "port": "outlabel" }, - "size": { - "width": 96, - "height": 96 + "target": { + "block": "5caa6aff-82f8-4a53-84f7-b67bb5bad8a8", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" } }, { - "id": "795fee35-1b0d-4780-afe4-25451dc8b7b3", - "type": "2be0f80ece8db75007def664695ef5f257f88b99", - "position": { - "x": 520, - "y": 64 + "source": { + "block": "7d0852c6-4778-4a53-bf90-30527c44a0eb", + "port": "outlabel" }, - "size": { - "width": 96, - "height": 96 + "target": { + "block": "5caa6aff-82f8-4a53-84f7-b67bb5bad8a8", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" } }, { - "id": "ef954a48-69f2-4704-9719-698826029980", - "type": "2be0f80ece8db75007def664695ef5f257f88b99", - "position": { - "x": 272, - "y": -128 + "source": { + "block": "f171b375-a1d9-4dbb-a2db-61b09e78bad8", + "port": "73948305-b05b-418f-88af-11328f400cdc" }, - "size": { - "width": 96, - "height": 96 + "target": { + "block": "caf86b2c-c08d-411d-be47-4084fec9532e", + "port": "inlabel" } }, { - "id": "e76b0273-be54-4e06-ab90-45b1a08d31e4", - "type": "2be0f80ece8db75007def664695ef5f257f88b99", - "position": { - "x": -16, - "y": -296 + "source": { + "block": "d1540ef0-9272-4082-9b24-9843ddb00cd7", + "port": "outlabel" }, - "size": { - "width": 96, - "height": 96 - } - } - ], - "wires": [ + "target": { + "block": "6db36553-cdbf-4430-8693-607cf166a23a", + "port": "dbe1622c-3510-4132-8b5c-2fbf81d7f581" + }, + "vertices": [ + { + "x": 1000, + "y": 32 + } + ] + }, { "source": { - "block": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", - "port": "out" + "block": "40e3c20c-5598-44a1-b5b4-760dba97d882", + "port": "outlabel" }, "target": { - "block": "0a772657-8018-424d-8f04-75d3ffff3692", + "block": "6db36553-cdbf-4430-8693-607cf166a23a", + "port": "25996d5e-6856-4828-8cb3-5dea5ff5cf9c", + "size": 8 + }, + "size": 8 + }, + { + "source": { + "block": "9978357f-7ad7-44b5-97d2-b44692508773", + "port": "out", + "size": 8 + }, + "target": { + "block": "5344b55b-0e5d-4444-88ef-fd6b3caa1c5b", "port": "inlabel" }, - "vertices": [] + "size": 8 }, { "source": { - "block": "b9359b10-b14f-4dd7-adf9-3f4f22bc65e6", + "block": "5b15b8c9-8fb1-410a-8910-a60ef283ff1d", "port": "outlabel" }, "target": { - "block": "795fee35-1b0d-4780-afe4-25451dc8b7b3", - "port": "e5f6cfba-f822-4d53-a924-926407bc4e3f" + "block": "fc204eb4-2475-49d5-8d15-940e4cede5d4", + "port": "c39743c3-1b76-483c-8613-15f2782d0809" } }, { "source": { - "block": "7f915e41-616b-42d0-b6b3-93e8312f9091", + "block": "28d32f23-19b6-4a8c-8ac6-edbbb1a0e999", "port": "outlabel" }, "target": { - "block": "0f69a2a7-39f9-4ed1-be11-0e7ee877a076", - "port": "e5f6cfba-f822-4d53-a924-926407bc4e3f" - } + "block": "fc204eb4-2475-49d5-8d15-940e4cede5d4", + "port": "1b621e37-f1b1-46a7-8450-5500bb513afb", + "size": 8 + }, + "size": 8 }, { "source": { - "block": "159f86de-af0f-4f1a-9a93-7e8149d5d322", - "port": "out" + "block": "fc204eb4-2475-49d5-8d15-940e4cede5d4", + "port": "8e68dac0-4473-40be-a907-0eb952ae4420", + "size": 8 }, "target": { - "block": "eae23d49-1710-4ffb-9162-8c4238e16af9", + "block": "703240cb-6595-44d0-a266-869db1fe0889", "port": "inlabel" - } + }, + "size": 8 }, { "source": { - "block": "ff33bbea-7f70-4f0f-b74d-6bcb9f41d0ba", + "block": "eda78d52-57f7-4e44-bd8e-75e67c496650", "port": "outlabel" }, "target": { - "block": "795fee35-1b0d-4780-afe4-25451dc8b7b3", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + "block": "f171b375-a1d9-4dbb-a2db-61b09e78bad8", + "port": "ad4d0fc2-118e-496e-b292-c435bad20e7d" } }, { "source": { - "block": "a47f4645-6751-4e16-8293-52d8f8cfc9f1", - "port": "outlabel" + "block": "94f3b4c1-ffb7-450b-99c4-aebfb6c4e124", + "port": "out", + "size": 24 }, "target": { - "block": "0f69a2a7-39f9-4ed1-be11-0e7ee877a076", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" - } + "block": "01c88c3e-3d41-47d5-8548-d6d9a2c1cfe8", + "port": "inlabel" + }, + "size": 24 }, { "source": { - "block": "719d7e53-bdb2-40e8-8bed-c86a12749e88", + "block": "d987011b-ee0c-4b06-b3b7-dfb2097a5c6f", "port": "outlabel" }, "target": { - "block": "ef954a48-69f2-4704-9719-698826029980", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" - } + "block": "ccd1e0fa-873c-4274-85c6-f906e6266aee", + "port": "2117685c-3a4e-4403-a12a-5de3ed4c20a5", + "size": 24 + }, + "size": 24 }, { "source": { - "block": "fdb3de4d-1a1f-420d-83f5-652d30cd8ca3", - "port": "outlabel" + "block": "f171b375-a1d9-4dbb-a2db-61b09e78bad8", + "port": "19940e4f-3166-4887-a4e2-ea5babe5f726", + "size": 14 }, "target": { - "block": "ef954a48-69f2-4704-9719-698826029980", - "port": "e5f6cfba-f822-4d53-a924-926407bc4e3f" - } + "block": "2c719f94-9d13-4502-9018-1231407bb53a", + "port": "inlabel" + }, + "size": 14 }, { "source": { - "block": "7a94a774-819e-4796-ad92-2b9f0a06e828", + "block": "eb3a1b78-59a5-4be4-a92e-3b7e9a65f13b", "port": "outlabel" }, "target": { - "block": "e76b0273-be54-4e06-ab90-45b1a08d31e4", - "port": "e5f6cfba-f822-4d53-a924-926407bc4e3f" - } + "block": "6db36553-cdbf-4430-8693-607cf166a23a", + "port": "61496e71-85ba-465b-89b9-fedb08b8590d", + "size": 14 + }, + "vertices": [ + { + "x": 992, + "y": -96 + } + ], + "size": 14 }, { "source": { - "block": "35ac40b6-de26-493f-b22e-d15895042a60", + "block": "0dfcc0e0-4f99-40f8-82ae-e43ea86f5e58", "port": "outlabel" }, "target": { - "block": "e76b0273-be54-4e06-ab90-45b1a08d31e4", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" - } + "block": "adb6b0df-8c6d-408c-b6f5-953934e48c81", + "port": "63847aa3-e2cd-4ff3-806d-b566a8176645", + "size": 24 + }, + "size": 24 }, { "source": { - "block": "0f69a2a7-39f9-4ed1-be11-0e7ee877a076", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "block": "7a989d63-cd4a-4c47-9513-57b4ea6ee141", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, "target": { - "block": "ac2e4720-4af2-481e-9d20-d935321e31f2", - "port": "e4111201-8441-4e7d-bcd2-bcf9d265d043" - } + "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + }, + "vertices": [] }, { "source": { - "block": "795fee35-1b0d-4780-afe4-25451dc8b7b3", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, "target": { - "block": "ac2e4720-4af2-481e-9d20-d935321e31f2", - "port": "969e11ca-69e8-403b-a566-7bf2fbe3a5a8" + "block": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" }, - "vertices": [ - { - "x": 712, - "y": 128 - } - ] + "vertices": [] }, { "source": { - "block": "48335216-c02f-4e23-8a04-e3d4eaa032ab", - "port": "f5a71d7b-de20-4527-80c8-0eb20de0dc77" + "block": "26b71a43-5955-4452-9b0e-94ea6ef453b7", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, "target": { - "block": "795fee35-1b0d-4780-afe4-25451dc8b7b3", - "port": "0da42cdc-7d03-494b-acec-9b2095f8d663" + "block": "adb6b0df-8c6d-408c-b6f5-953934e48c81", + "port": "1e7e3cd6-ed00-468a-9f7c-0bb91e020dce" } }, { "source": { - "block": "48335216-c02f-4e23-8a04-e3d4eaa032ab", - "port": "0f7487e5-b070-4277-bba6-acf69934afca" + "block": "5caa6aff-82f8-4a53-84f7-b67bb5bad8a8", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" }, "target": { - "block": "0f69a2a7-39f9-4ed1-be11-0e7ee877a076", - "port": "0da42cdc-7d03-494b-acec-9b2095f8d663" - }, - "vertices": [ - { - "x": -48, - "y": 312 - } - ] + "block": "95c4416f-62f5-4196-a406-f7915d40a572", + "port": "in" + } }, { "source": { - "block": "48335216-c02f-4e23-8a04-e3d4eaa032ab", - "port": "33072210-9ba0-4659-8339-95952b939e6e" + "block": "0414e63d-55c1-41b0-abdf-4e02d0f68ff9", + "port": "3d584b0a-29eb-47af-8c43-c0822282ef05" }, "target": { - "block": "ef954a48-69f2-4704-9719-698826029980", - "port": "0da42cdc-7d03-494b-acec-9b2095f8d663" + "block": "fc204eb4-2475-49d5-8d15-940e4cede5d4", + "port": "f1022de4-0225-43d7-92d3-451161ee6942" } }, { "source": { - "block": "ef954a48-69f2-4704-9719-698826029980", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "block": "6db36553-cdbf-4430-8693-607cf166a23a", + "port": "81a20a74-f096-4c3b-bc35-91917f08c79b" }, "target": { - "block": "ac2e4720-4af2-481e-9d20-d935321e31f2", - "port": "346b4ae4-4bb6-4845-9c17-3b25e0dde718" + "block": "adb6b0df-8c6d-408c-b6f5-953934e48c81", + "port": "a7083464-b9f2-4661-ba0e-e1875f71f9f7" }, "vertices": [ { - "x": 768, - "y": 72 + "x": 1232, + "y": 56 } - ] + ], + "size": 24 }, { "source": { - "block": "26833303-0a1a-4750-8546-b98e2fdfdd82", - "port": "out" + "block": "adb6b0df-8c6d-408c-b6f5-953934e48c81", + "port": "cf1ee513-b831-4546-b816-53c8196fca1c" }, "target": { - "block": "48335216-c02f-4e23-8a04-e3d4eaa032ab", - "port": "0ebd46a4-769b-45e6-bcaf-e3796264aed3" + "block": "fa41806b-2355-4923-895f-3ead2e752b43", + "port": "in" }, - "size": 4 - }, + "size": 24 + } + ] + } + } + }, + "35f267d0df6ffcb7fc33753bc9df9cf083642cca": { + "package": { + "name": "NOT", + "version": "1.0.3", + "description": "Puerta NOT", + "author": "Jesús Arroyo, Juan González", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22317.651%22%20height=%22194.058%22%20version=%221%22%3E%3Cpath%20d=%22M69.246%204l161.86%2093.027-161.86%2093.031V4z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20cx=%22253.352%22%20cy=%2296.736%22%20rx=%2221.393%22%20ry=%2221.893%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2097.49h65.262m205.796%200h38.48%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%2281.112%22%20y=%22111.734%22%20transform=%22scale(.99532%201.0047)%22%20font-weight=%22400%22%20font-size=%2249.675%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%2281.112%22%20y=%22111.734%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%3ENot%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ { - "source": { - "block": "ac2e4720-4af2-481e-9d20-d935321e31f2", - "port": "55180947-6349-4a04-a151-ad69ea2b155e" + "id": "18c2ebc7-5152-439c-9b3f-851c59bac834", + "type": "basic.input", + "data": { + "name": "" }, - "target": { - "block": "571d3fa4-680d-4422-92c6-b3b1dcd4fa8b", - "port": "in" + "position": { + "x": 64, + "y": 144 + } + }, + { + "id": "664caf9e-5f40-4df4-800a-b626af702e62", + "type": "basic.output", + "data": { + "name": "" }, - "size": 4 + "position": { + "x": 752, + "y": 144 + } }, + { + "id": "5365ed8c-e5db-4445-938f-8d689830ea5c", + "type": "basic.code", + "data": { + "code": "//-- Puerta NOT\n\n//-- module (input wire a, output wire c);\n\n\nassign c = ~a;\n\n\n//-- endmodule\n", + "params": [], + "ports": { + "in": [ + { + "name": "a" + } + ], + "out": [ + { + "name": "c" + } + ] + } + }, + "position": { + "x": 256, + "y": 48 + }, + "size": { + "width": 400, + "height": 256 + } + } + ], + "wires": [ { "source": { - "block": "48335216-c02f-4e23-8a04-e3d4eaa032ab", - "port": "bbe1895b-be8b-4237-b0d1-ae592e3e6208" + "block": "18c2ebc7-5152-439c-9b3f-851c59bac834", + "port": "out" }, "target": { - "block": "e76b0273-be54-4e06-ab90-45b1a08d31e4", - "port": "0da42cdc-7d03-494b-acec-9b2095f8d663" + "block": "5365ed8c-e5db-4445-938f-8d689830ea5c", + "port": "a" } }, { "source": { - "block": "e76b0273-be54-4e06-ab90-45b1a08d31e4", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "block": "5365ed8c-e5db-4445-938f-8d689830ea5c", + "port": "c" }, "target": { - "block": "ac2e4720-4af2-481e-9d20-d935321e31f2", - "port": "6c2aa548-5a4c-4e8d-a56c-a70926b19f18" + "block": "664caf9e-5f40-4df4-800a-b626af702e62", + "port": "in" } } ] } } }, - "c4f23ad05c2010ec9bd213c8814c9238873037ae": { + "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6": { "package": { - "name": "Bus4-Split-all", - "version": "0.1", - "description": "Bus4-Split-all: Split the 4-bits bus into its 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" + "name": "AND", + "version": "1.0.1", + "description": "Puerta AND", + "author": "Jesús Arroyo, Juan González", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22336.09%22%20height=%22194.045%22%20version=%221%22%3E%3Cpath%20d=%22M174.656%20190.045H78.304V4h96.352s87.463%208.625%2087.463%2091.94c0%2083.311-87.463%2094.105-87.463%2094.105z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2045.668h74.018M4.057%20144.812h74.018m184.632-50.034h69.326%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%2292.894%22%20y=%22114.587%22%20font-weight=%22400%22%20font-size=%2258.054%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%2292.894%22%20y=%22114.587%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%3EAND%3C/tspan%3E%3C/text%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "bbe1895b-be8b-4237-b0d1-ae592e3e6208", - "type": "basic.output", - "data": { - "name": "3" - }, - "position": { - "x": 576, - "y": 80 - } - }, - { - "id": "33072210-9ba0-4659-8339-95952b939e6e", - "type": "basic.output", - "data": { - "name": "2" - }, - "position": { - "x": 600, - "y": 144 - } - }, - { - "id": "0ebd46a4-769b-45e6-bcaf-e3796264aed3", + "id": "18c2ebc7-5152-439c-9b3f-851c59bac834", "type": "basic.input", "data": { - "name": "", - "range": "[3:0]", - "clock": false, - "size": 4 + "name": "" }, "position": { - "x": 128, - "y": 184 + "x": 64, + "y": 88 } }, { - "id": "f5a71d7b-de20-4527-80c8-0eb20de0dc77", + "id": "664caf9e-5f40-4df4-800a-b626af702e62", "type": "basic.output", "data": { - "name": "1" + "name": "" }, "position": { - "x": 592, - "y": 240 + "x": 784, + "y": 152 } }, { - "id": "0f7487e5-b070-4277-bba6-acf69934afca", - "type": "basic.output", + "id": "97b51945-d716-4b6c-9db9-970d08541249", + "type": "basic.input", "data": { - "name": "0" + "name": "" }, "position": { - "x": 568, - "y": 296 + "x": 64, + "y": 224 } }, { - "id": "16e78204-213e-4833-9096-89d735307ec2", + "id": "00925b04-5004-4307-a737-fa4e97c8b6ab", "type": "basic.code", "data": { - "code": "assign o3 = i[3];\nassign o2 = i[2];\nassign o1 = i[1];\nassign o0 = i[0];", + "code": "//-- Puerta AND\n\n//-- module and (input wire a, input wire b,\n//-- output wire c);\n\nassign c = a & b;\n\n//-- endmodule", "params": [], "ports": { "in": [ { - "name": "i", - "range": "[3:0]", - "size": 4 + "name": "a" + }, + { + "name": "b" } ], "out": [ { - "name": "o3" - }, - { - "name": "o2" - }, - { - "name": "o1" - }, - { - "name": "o0" + "name": "c" } ] } }, "position": { - "x": 296, - "y": 176 + "x": 256, + "y": 48 }, "size": { - "width": 208, - "height": 80 + "width": 464, + "height": 272 } } ], "wires": [ { "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o1" - }, - "target": { - "block": "f5a71d7b-de20-4527-80c8-0eb20de0dc77", - "port": "in" - } - }, - { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o0" + "block": "18c2ebc7-5152-439c-9b3f-851c59bac834", + "port": "out" }, "target": { - "block": "0f7487e5-b070-4277-bba6-acf69934afca", - "port": "in" + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "a" } }, { "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o2" + "block": "97b51945-d716-4b6c-9db9-970d08541249", + "port": "out" }, "target": { - "block": "33072210-9ba0-4659-8339-95952b939e6e", - "port": "in" + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "b" } }, { "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o3" + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "c" }, "target": { - "block": "bbe1895b-be8b-4237-b0d1-ae592e3e6208", + "block": "664caf9e-5f40-4df4-800a-b626af702e62", "port": "in" } - }, - { - "source": { - "block": "0ebd46a4-769b-45e6-bcaf-e3796264aed3", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i" - }, - "size": 4 } ] } } }, - "84f0a15761ee8b753f67079819a7614923939472": { + "81613874c6152f06c06ed7014bf4235900cfcc30": { "package": { - "name": "Bus4-Join-all", - "version": "0.1", - "description": "Bus4-Join-all: Join all the wires into a 4-bits Bus", - "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=%22M164.218%2077.643L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v26.186l61.698.046c8.012-.043%2015.705%203.133%2021.47%208.81l61.448%2061.315a57.292%2057.292%200%200%200%2039.993%2016.139%2057.292%2057.292%200%200%200-39.993%2016.14L83.668%20190.45c-5.765%205.677-13.458%208.853-21.47%208.81L.5%20199.306v26.186h62.612c14.924.039%2029.463-5.9%2040.204-16.28l60.902-60.863a29.857%2029.857%200%200%201%2021.347-8.81l146.53-.113V86.457H185.571a29.884%2029.884%200%200%201-21.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" + "name": "OR", + "version": "1.0.1", + "description": "Puerta OR", + "author": "Jesús Arroyo, Juan González", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22192.718%22%20width=%22383.697%22%20version=%221%22%3E%3Cpath%20d=%22M175.56%20188.718H84.527s30.345-42.538%2031.086-94.03c.743-51.49-31.821-90.294-31.821-90.294L176.109%204c46.445%201.948%20103.899%2053.44%20123.047%2093.678-32.601%2067.503-92.158%2089.79-123.596%2091.04z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2047.292h99.605M4.883%20145.168h100.981M298.57%2098.89h81.07%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20font-weight=%22400%22%20font-size=%2266.317%22%20y=%22121.28%22%20x=%22131.572%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20font-weight=%22700%22%20y=%22121.28%22%20x=%22131.572%22%3EOR%3C/tspan%3E%3C/text%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "6c2aa548-5a4c-4e8d-a56c-a70926b19f18", - "type": "basic.input", - "data": { - "name": "3", - "clock": false - }, - "position": { - "x": 80, - "y": 64 - } - }, - { - "id": "346b4ae4-4bb6-4845-9c17-3b25e0dde718", + "id": "18c2ebc7-5152-439c-9b3f-851c59bac834", "type": "basic.input", "data": { - "name": "2", - "clock": false + "name": "" }, "position": { - "x": 80, - "y": 136 + "x": 64, + "y": 88 } }, { - "id": "55180947-6349-4a04-a151-ad69ea2b155e", + "id": "664caf9e-5f40-4df4-800a-b626af702e62", "type": "basic.output", "data": { - "name": "", - "range": "[3:0]", - "size": 4 - }, - "position": { - "x": 712, - "y": 200 - } - }, - { - "id": "969e11ca-69e8-403b-a566-7bf2fbe3a5a8", - "type": "basic.input", - "data": { - "name": "1", - "clock": false + "name": "" }, "position": { - "x": 80, - "y": 208 + "x": 784, + "y": 152 } }, { - "id": "e4111201-8441-4e7d-bcd2-bcf9d265d043", + "id": "97b51945-d716-4b6c-9db9-970d08541249", "type": "basic.input", "data": { - "name": "0", - "clock": false + "name": "" }, "position": { - "x": 80, - "y": 272 + "x": 64, + "y": 224 } }, { - "id": "16e78204-213e-4833-9096-89d735307ec2", + "id": "00925b04-5004-4307-a737-fa4e97c8b6ab", "type": "basic.code", "data": { - "code": "assign o = {i3, i2, i1, i0};\n", + "code": "//-- Puerta OR\n\n//-- module and (input wire a, input wire b,\n//-- output wire c);\n\nassign c = a | b;\n\n//-- endmodule", "params": [], "ports": { "in": [ { - "name": "i3" - }, - { - "name": "i2" - }, - { - "name": "i1" + "name": "a" }, { - "name": "i0" + "name": "b" } ], "out": [ { - "name": "o", - "range": "[3:0]", - "size": 4 + "name": "c" } ] } }, "position": { - "x": 296, - "y": 176 + "x": 256, + "y": 48 }, "size": { - "width": 344, - "height": 104 + "width": 464, + "height": 272 } } ], "wires": [ { "source": { - "block": "969e11ca-69e8-403b-a566-7bf2fbe3a5a8", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i1" - } - }, - { - "source": { - "block": "e4111201-8441-4e7d-bcd2-bcf9d265d043", + "block": "18c2ebc7-5152-439c-9b3f-851c59bac834", "port": "out" }, "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i0" + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "a" } }, { "source": { - "block": "346b4ae4-4bb6-4845-9c17-3b25e0dde718", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i2" - }, - "vertices": [ - { - "x": 200, - "y": 176 - } - ] - }, - { - "source": { - "block": "6c2aa548-5a4c-4e8d-a56c-a70926b19f18", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i3" + "block": "97b51945-d716-4b6c-9db9-970d08541249", + "port": "out" }, - "vertices": [ - { - "x": 224, - "y": 128 - } - ] + "target": { + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "b" + } }, { "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o" + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "c" }, "target": { - "block": "55180947-6349-4a04-a151-ad69ea2b155e", + "block": "664caf9e-5f40-4df4-800a-b626af702e62", "port": "in" - }, - "size": 4 + } } ] } } }, - "2be0f80ece8db75007def664695ef5f257f88b99": { + "725b7e2cb9666b5ed3183537d9c898f096dab82a": { "package": { - "name": "DFF-rst-x01", - "version": "0.2", - "description": "DFF-rst-x01: D Flip flop with reset input. When rst=1, the DFF is 0", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22196.313%22%20height=%22216.83%22%20viewBox=%220%200%2051.941051%2057.369679%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20transform=%22translate(-52.22%20-48.028)%22%3E%3Crect%20width=%2224.412%22%20height=%2213.185%22%20x=%2279.352%22%20y=%2253.67%22%20ry=%222.247%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%22.794%22%20stroke-linecap=%22round%22/%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M77.902%2088.18l13.607%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M70.517%2080.116l-9.232-19.613-6.45%203.725-2.07-3.584%2020.905-12.07%202.07%203.584-6.093%203.518%2012.03%2018.222s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.773L69.412%2093.049s-2.848-3.696-2.16-6.796c.687-3.1%203.265-6.137%203.265-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Ctext%20style=%22line-height:1.25%22%20x=%2281.296%22%20y=%2263.239%22%20font-weight=%22400%22%20font-size=%2210.583%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20x=%2281.296%22%20y=%2263.239%22%20font-weight=%22700%22%3ESys%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E", - "otid": 1617895961660 + "name": "1", + "version": "0.1", + "description": "Un bit constante a 1", + "author": "Jesus Arroyo", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2233.632%22%20height=%2269.34%22%20viewBox=%220%200%2031.530464%2065.006656%22%3E%3Cpath%20d=%22M3.517%2012.015L19%200l12.53%202.863-10.012%2043.262-9.746-2.227%207.7-34.532L8.03%2016.38z%22%20fill=%22green%22%20fill-rule=%22evenodd%22/%3E%3Cpath%20d=%22M17.593%2043.464l7.822%2010.472-6.56%207.919%202.27%202.043m-5.14-20.179l-4.542%2010.473-10.345%202.043.757%203.32%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%222.196%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "e5f6cfba-f822-4d53-a924-926407bc4e3f", - "type": "basic.input", + "id": "3d584b0a-29eb-47af-8c43-c0822282ef05", + "type": "basic.output", "data": { - "name": "", - "clock": true + "name": "" }, "position": { - "x": 200, - "y": -264 + "x": 512, + "y": 160 } }, { - "id": "4b0bae4c-c796-429c-ac44-785afc2f4c89", - "type": "basic.inputLabel", + "id": "61331ec5-2c56-4cdd-b607-e63b1502fa65", + "type": "basic.code", "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "code": "//-- Bit constante a 1\nassign q = 1'b1;\n\n", + "params": [], + "ports": { + "in": [], + "out": [ + { + "name": "q" + } + ] + } }, "position": { - "x": 352, - "y": -264 + "x": 168, + "y": 112 + }, + "size": { + "width": 256, + "height": 160 } - }, + } + ], + "wires": [ { - "id": "4caec7c8-0763-44fc-9b7b-110e0260b74b", - "type": "basic.outputLabel", + "source": { + "block": "61331ec5-2c56-4cdd-b607-e63b1502fa65", + "port": "q" + }, + "target": { + "block": "3d584b0a-29eb-47af-8c43-c0822282ef05", + "port": "in" + } + } + ] + } + } + }, + "8d66187a7f8e3ffab330c0980473cb3427f8a5a6": { + "package": { + "name": "08-Reg", + "version": "0.8", + "description": "08-Reg: 8 bits Register. Verilog implementation", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22286.865%22%20height=%22270.812%22%20viewBox=%220%200%2075.899794%2071.65232%22%3E%3Cpath%20d=%22M43.907%2033.607h10.645%22%20color=%22#000%22%20fill=%22#00f%22/%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M102.876%20163.95l4.552%2028.037%205.644-28.037%22%20fill=%22#ccc%22%20transform=%22matrix(.65581%20-.3791%20.37863%20.6566%20-85.712%20-27.533)%22/%3E%3Cpath%20d=%22M99.758%20149.859l2.39-28.512h-9.831v-5.462h31.86v5.462h-9.284l1.724%2028.769s7.509%201.248%209.269%206.48c1.76%205.231-.367%207.286.15%207.36l-36.077-.044s-.817-6.104%202.015-9.194c2.832-3.09%207.784-4.86%207.784-4.86z%22%20fill=%22red%22%20transform=%22matrix(.65581%20-.3791%20.37863%20.6566%20-85.712%20-27.533)%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M102.876%20163.95l4.552%2028.037%205.644-28.037%22%20fill=%22#ccc%22%20transform=%22matrix(.65581%20-.3791%20.37863%20.6566%20-69.38%20-28.47)%22/%3E%3Cpath%20d=%22M99.758%20149.859l2.39-28.512h-9.831v-5.462h31.86v5.462h-9.284l1.724%2028.769s7.509%201.248%209.269%206.48c1.76%205.231-.367%207.286.15%207.36l-36.077-.044s-.817-6.104%202.015-9.194c2.832-3.09%207.784-4.86%207.784-4.86z%22%20fill=%22red%22%20transform=%22matrix(.65581%20-.3791%20.37863%20.6566%20-69.38%20-28.47)%22/%3E%3C/g%3E%3Cg%20transform=%22translate(-93.518%20-25.072)%20scale(1.09073)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20cx=%22100.602%22%20cy=%2273.815%22%20r=%2214.559%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618509859237 + }, + "design": { + "graph": { + "blocks": [ + { + "id": "c39743c3-1b76-483c-8613-15f2782d0809", + "type": "basic.input", "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" + "name": "", + "clock": true }, "position": { - "x": 584, - "y": -128 + "x": 568, + "y": 144 } }, { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "id": "8e68dac0-4473-40be-a907-0eb952ae4420", "type": "basic.output", "data": { - "name": "" + "name": "", + "range": "[7:0]", + "size": 8 }, "position": { - "x": 856, - "y": -56 + "x": 1136, + "y": 240 } }, { - "id": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", + "id": "1b621e37-f1b1-46a7-8450-5500bb513afb", "type": "basic.input", "data": { - "name": "rst", - "clock": false + "name": "", + "range": "[7:0]", + "clock": false, + "size": 8 }, "position": { - "x": 200, - "y": -56 + "x": 568, + "y": 240 } }, { - "id": "0da42cdc-7d03-494b-acec-9b2095f8d663", + "id": "f1022de4-0225-43d7-92d3-451161ee6942", "type": "basic.input", "data": { - "name": "d", + "name": "load", "clock": false }, "position": { - "x": 200, - "y": 80 + "x": 568, + "y": 328 } }, { - "id": "63e9825a-4f37-4c3c-b118-e2bbd28d5ac7", + "id": "1ee1f0e1-9e00-4224-82dd-d976319e771f", "type": "basic.constant", "data": { "name": "", @@ -20437,2201 +16295,1707 @@ "local": false }, "position": { - "x": 712, - "y": -160 - } - }, - { - "id": "3238f8fb-ade5-4d95-a02d-692defd900d6", - "type": "basic.info", - "data": { - "info": "Reset input: Active high \nWhen rst = 1, the DFF is reset to 0", - "readonly": true - }, - "position": { - "x": 184, - "y": -120 - }, - "size": { - "width": 272, - "height": 48 - } - }, - { - "id": "4d2e11c4-2f46-4c0a-9d1a-b641b417d495", - "type": "3676a00f3a70e406487ed14b901daf3e4984e63d", - "position": { - "x": 360, - "y": -56 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "c5b4454d-c8bc-420b-b7b6-ad21ca8304e0", - "type": "ba518ee261a2be13a9739cd3a01cdcebe0ef63c0", - "position": { - "x": 536, - "y": -40 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "ca985673-a11d-42a0-926c-d564fe02b723", - "type": "basic.info", - "data": { - "info": "Data input", - "readonly": true - }, - "position": { - "x": 216, - "y": 56 - }, - "size": { - "width": 104, - "height": 40 - } - }, - { - "id": "f36afb1b-0486-4fcf-98ad-a8b6d64ab550", - "type": "basic.info", - "data": { - "info": "System clock", - "readonly": true - }, - "position": { - "x": 208, - "y": -304 - }, - "size": { - "width": 144, - "height": 40 + "x": 848, + "y": 24 } }, { - "id": "9833aab1-3c8e-40a6-859b-ce1960837256", - "type": "basic.info", + "id": "80679117-f4e2-46f1-95c8-6b897a7d0936", + "type": "basic.code", "data": { - "info": "Initial default \nvalue: 0", - "readonly": true - }, - "position": { - "x": 720, - "y": -200 - }, - "size": { - "width": 152, - "height": 64 - } - }, - { - "id": "9abbb3b1-2218-4aa2-bb22-add4c00ec265", - "type": "053dc2e26797e60dd454402e395eb23f388681b9", - "position": { - "x": 712, - "y": -56 - }, - "size": { - "width": 96, - "height": 64 - } - } - ], - "wires": [ - { - "source": { - "block": "e5f6cfba-f822-4d53-a924-926407bc4e3f", - "port": "out" - }, - "target": { - "block": "4b0bae4c-c796-429c-ac44-785afc2f4c89", - "port": "inlabel" - }, - "vertices": [] - }, - { - "source": { - "block": "4caec7c8-0763-44fc-9b7b-110e0260b74b", - "port": "outlabel" + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "d", + "range": "[7:0]", + "size": 8 + }, + { + "name": "load" + } + ], + "out": [ + { + "name": "q", + "range": "[7:0]", + "size": 8 + } + ] + }, + "params": [ + { + "name": "INI" + } + ], + "code": "//-- Generic register\n//-- Number of bits\nlocalparam N = 8;\n\n//-- Initial value\nreg [N-1:0] qi = INI;\n\nalways @(posedge clk)\n\n //-- The value is load only if \n //-- load is 1\n if (load == 1'b1)\n qi <= d;\n \n//-- Connect the register with the\n//-- output\nassign q = qi;" }, - "target": { - "block": "9abbb3b1-2218-4aa2-bb22-add4c00ec265", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + "position": { + "x": 728, + "y": 128 + }, + "size": { + "width": 328, + "height": 280 } - }, + } + ], + "wires": [ { "source": { - "block": "c5b4454d-c8bc-420b-b7b6-ad21ca8304e0", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "1ee1f0e1-9e00-4224-82dd-d976319e771f", + "port": "constant-out" }, "target": { - "block": "9abbb3b1-2218-4aa2-bb22-add4c00ec265", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + "block": "80679117-f4e2-46f1-95c8-6b897a7d0936", + "port": "INI" }, "vertices": [] }, { "source": { - "block": "4d2e11c4-2f46-4c0a-9d1a-b641b417d495", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "c39743c3-1b76-483c-8613-15f2782d0809", + "port": "out" }, "target": { - "block": "c5b4454d-c8bc-420b-b7b6-ad21ca8304e0", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "block": "80679117-f4e2-46f1-95c8-6b897a7d0936", + "port": "clk" }, "vertices": [] }, { "source": { - "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", + "block": "f1022de4-0225-43d7-92d3-451161ee6942", "port": "out" }, "target": { - "block": "4d2e11c4-2f46-4c0a-9d1a-b641b417d495", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "block": "80679117-f4e2-46f1-95c8-6b897a7d0936", + "port": "load" } }, { "source": { - "block": "0da42cdc-7d03-494b-acec-9b2095f8d663", + "block": "1b621e37-f1b1-46a7-8450-5500bb513afb", "port": "out" }, "target": { - "block": "c5b4454d-c8bc-420b-b7b6-ad21ca8304e0", - "port": "97b51945-d716-4b6c-9db9-970d08541249" - } + "block": "80679117-f4e2-46f1-95c8-6b897a7d0936", + "port": "d" + }, + "size": 8 }, { "source": { - "block": "9abbb3b1-2218-4aa2-bb22-add4c00ec265", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + "block": "80679117-f4e2-46f1-95c8-6b897a7d0936", + "port": "q" }, "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "block": "8e68dac0-4473-40be-a907-0eb952ae4420", "port": "in" - } - }, - { - "source": { - "block": "63e9825a-4f37-4c3c-b118-e2bbd28d5ac7", - "port": "constant-out" }, - "target": { - "block": "9abbb3b1-2218-4aa2-bb22-add4c00ec265", - "port": "65194b18-5d2a-41b2-bd86-01be99978ad6" - } + "size": 8 } ] } } }, - "afdfd851c62ff1f87cbc865d3c5f80b274b5e994": { + "cae9cdc6d7b2442eb4d4095c65ccf9bd24a99bb9": { "package": { - "name": "Bus20-Split-4-16", - "version": "0.1", - "description": "Bus20-Split-4-16: Split the 20-bits bus into two buses of 4 and 16 wires", + "name": "count-14bits", + "version": "0.3", + "description": "Máquina de contar, de 14 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" + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22498.716%22%20width=%22422.648%22%3E%3Cpath%20d=%22M198.947%2079.637c-24.895%200-45.092%2020.196-45.092%2045.109%200%2024.886%2020.197%2045.126%2045.092%2045.126%2024.904%200%2044.953-20.24%2044.953-45.126%200-24.913-20.05-45.11-44.953-45.11zm90.41%2071.022l-8.128%2019.578%2014.497%2028.472%201.914%203.759-20.1%2020.1-32.98-15.575-19.578%208.04-9.937%2030.421-1.27%204.038h-28.411l-12.295-34.337-19.579-8.075-28.514%2014.462-3.76%201.88-20.091-20.083%2015.558-32.997-8.066-19.56-30.37-9.92-4.028-1.306v-28.393L108.58%2098.85l8.067-19.544-14.454-28.533-1.905-3.741%2020.065-20.066%2033.023%2015.55%2019.552-8.084%209.929-30.403L184.137%200h28.402l12.304%2034.38%2019.526%208.084%2028.524-14.471%203.794-1.906%2020.083%2020.066-15.558%2032.97%208.04%2019.588%2030.455%209.928%204.003%201.28v28.384z%22%20fill=%22#00f%22/%3E%3Crect%20rx=%2210.608%22%20ry=%2210.608%22%20y=%22266.697%22%20x=%22218.697%22%20height=%22180.846%22%20width=%22111.64%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%225.658%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%22387.839%22%20x=%22242.878%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2233.946%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%225.658%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%22387.839%22%20x=%22242.878%22%20font-weight=%22700%22%20font-size=%22134.762%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M222.934%20361.162h104.934%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%228.487%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20rx=%2210.608%22%20ry=%2210.608%22%20y=%22266.697%22%20x=%2292.408%22%20height=%22180.846%22%20width=%22111.64%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%225.658%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%22387.839%22%20x=%22109.261%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2233.946%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%225.658%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%22387.839%22%20x=%22109.261%22%20font-weight=%22700%22%20font-size=%22134.762%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M96.645%20361.162h104.934%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%228.487%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%20-277.4%2063.192)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%20-277.4%20211.802)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%2049.068%20210.797)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%2046.938%2063.192)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "cd398ca7-cb31-47dc-bf0b-b0a970a32414", - "type": "basic.output", + "id": "cb426e3d-ace3-4a57-a74b-155caed0c14c", + "type": "basic.input", "data": { - "name": "1", - "range": "[3:0]", - "size": 4 + "name": "", + "clock": true }, "position": { - "x": 600, - "y": 144 + "x": 592, + "y": -416 } }, { - "id": "6a8347bb-e6ee-494a-87c8-277445460362", - "type": "basic.input", + "id": "9291f94d-2d9a-4c3a-b7df-4299abf84886", + "type": "basic.inputLabel", "data": { - "name": "", - "range": "[19:0]", - "clock": false, - "size": 20 + "blockColor": "yellow", + "name": "clk" }, "position": { - "x": 80, - "y": 208 + "x": 736, + "y": -416 } }, { - "id": "329d21c4-3508-44bb-9bf0-e308736f52f2", - "type": "basic.output", + "id": "81fb4efb-363e-483e-b1df-c2ebda777355", + "type": "basic.outputLabel", "data": { - "name": "0", - "range": "[15:0]", - "size": 16 + "blockColor": "yellow", + "name": "clk" }, "position": { - "x": 600, - "y": 232 + "x": 1416, + "y": -352 } }, { - "id": "16e78204-213e-4833-9096-89d735307ec2", - "type": "basic.code", + "id": "92c88f9e-7d51-4946-b0ef-088dcd8efa49", + "type": "basic.inputLabel", "data": { - "code": "assign o1 = i[19:16];\nassign o0 = i[15:0];", - "params": [], - "ports": { - "in": [ - { - "name": "i", - "range": "[19:0]", - "size": 20 - } - ], - "out": [ - { - "name": "o1", - "range": "[3:0]", - "size": 4 - }, - { - "name": "o0", - "range": "[15:0]", - "size": 16 - } - ] - } + "blockColor": "red", + "name": "on", + "oldBlockColor": "fuchsia" }, "position": { - "x": 272, - "y": 176 - }, - "size": { - "width": 240, - "height": 120 + "x": 952, + "y": -304 } - } - ], - "wires": [ + }, { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o0" - }, - "target": { - "block": "329d21c4-3508-44bb-9bf0-e308736f52f2", - "port": "in" + "id": "6c846478-ff94-415a-b78e-03b6981bc0fe", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "rst" }, - "size": 16 + "position": { + "x": 1416, + "y": -288 + } }, { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o1" - }, - "target": { - "block": "cd398ca7-cb31-47dc-bf0b-b0a970a32414", - "port": "in" + "id": "40607400-436e-4dea-b733-8308a06fd4ef", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "size": 4 + "position": { + "x": 584, + "y": -224 + } }, { - "source": { - "block": "6a8347bb-e6ee-494a-87c8-277445460362", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i" + "id": "6a11eaf9-4bd5-405e-81f8-44418365326b", + "type": "basic.output", + "data": { + "name": "Busy" }, - "size": 20 - } - ] - } - } - }, - "bc711b66856fc03718ca2669a0c67f34806c8a9d": { - "package": { - "name": "DFF-rst-x16", - "version": "0.1", - "description": "DFF-rst-x16: 16 D flip-flops in paralell with reset", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22252.294%22%20height=%22220.368%22%20viewBox=%220%200%2066.75283%2058.305748%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M25.682%2041.088L39.29%2057.76l-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M18.298%2033.024L9.066%2013.41l-6.45%203.724-2.07-3.583%2020.905-12.07%202.069%203.584-6.092%203.517%2012.03%2018.223s5.399-2.025%208.535.74c3.137%202.766%202.52%204.92%202.887%204.773L17.192%2045.956s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M42.022%2040.152l13.607%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M34.638%2032.088l-9.232-19.613-6.451%203.724-2.07-3.583L37.792.546%2039.86%204.13l-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.137%202.766%202.52%204.92%202.887%204.772L33.532%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20transform=%22translate(-38.356%20-17.732)%22%3E%3Crect%20width=%2224.412%22%20height=%2213.185%22%20x=%2280.3%22%20y=%2221.375%22%20ry=%222.247%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%22.794%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:1.25%22%20x=%2282.245%22%20y=%2230.943%22%20font-weight=%22400%22%20font-size=%2210.583%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20x=%2282.245%22%20y=%2230.943%22%20font-weight=%22700%22%3ESys%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E", - "otid": 1618509859237 - }, - "design": { - "graph": { - "blocks": [ + "position": { + "x": 2312, + "y": -216 + } + }, { - "id": "05abbe4c-682c-4e96-9360-fa14c9626570", + "id": "2438a009-c8e2-4acb-b443-90fe0ddd989d", "type": "basic.outputLabel", "data": { - "blockColor": "yellow", - "name": "clk", + "blockColor": "red", + "name": "on", "oldBlockColor": "fuchsia" }, "position": { - "x": -136, - "y": -448 + "x": 2152, + "y": -216 + } + }, + { + "id": "bc6920df-ca50-4643-ad7a-7e10c29856e8", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "rst" + }, + "position": { + "x": 952, + "y": -192 + } + }, + { + "id": "8f591b24-0427-409f-aa6e-ca1861556cf5", + "type": "basic.input", + "data": { + "name": "start", + "clock": false + }, + "position": { + "x": 584, + "y": -136 } }, { - "id": "81f40927-8dde-4218-9855-3b92f1892e56", + "id": "ba7c88dc-642a-46e2-9dac-c32ba106020d", "type": "basic.outputLabel", "data": { + "name": "cnt", + "range": "[13:0]", "blockColor": "navy", - "name": "rst", - "oldBlockColor": "fuchsia" + "size": 14 }, "position": { - "x": -136, - "y": -376 + "x": 1184, + "y": -120 } }, { - "id": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", - "type": "basic.input", + "id": "1cfadcd2-42df-4d6b-9aed-0e94c93bf202", + "type": "basic.inputLabel", "data": { - "name": "", - "clock": true + "name": "cnt", + "range": "[13:0]", + "blockColor": "navy", + "size": 14 }, "position": { - "x": -632, - "y": -264 + "x": 1824, + "y": -104 } }, { - "id": "0a772657-8018-424d-8f04-75d3ffff3692", + "id": "9baa509b-0012-4e0e-b874-e62987258aa1", "type": "basic.inputLabel", "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "blockColor": "fuchsia", + "name": "start" }, "position": { - "x": -480, - "y": -264 + "x": 944, + "y": -72 } }, { - "id": "cf0ec9b2-9d62-4940-aa5c-aeb5598d4206", - "type": "basic.outputLabel", + "id": "19940e4f-3166-4887-a4e2-ea5babe5f726", + "type": "basic.output", "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" + "name": "n", + "range": "[13:0]", + "size": 14 }, "position": { - "x": -112, - "y": -216 + "x": 2328, + "y": -72 } }, { - "id": "159f86de-af0f-4f1a-9a93-7e8149d5d322", - "type": "basic.input", + "id": "f46fb7c4-9551-4da4-9a31-7dd52f738527", + "type": "basic.outputLabel", "data": { - "name": "rst", - "clock": false + "name": "cnt", + "range": "[13:0]", + "blockColor": "navy", + "size": 14 }, "position": { - "x": -624, - "y": -192 + "x": 2160, + "y": -72 } }, { - "id": "eae23d49-1710-4ffb-9162-8c4238e16af9", - "type": "basic.inputLabel", + "id": "45bd338b-4745-4b06-b199-462cdaffa31d", + "type": "basic.outputLabel", "data": { - "blockColor": "navy", - "name": "rst", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "blockColor": "gold", + "name": "stop", + "oldBlockColor": "fuchsia" }, "position": { - "x": -480, - "y": -192 + "x": 584, + "y": -24 } }, { - "id": "95c3db7f-827e-4950-8a74-ed4c855b1e80", + "id": "8a5f0c79-7347-4b35-8e27-603ebed8bf9f", "type": "basic.outputLabel", "data": { - "blockColor": "navy", - "name": "rst", + "blockColor": "darkgreen", + "name": "cycle", "oldBlockColor": "fuchsia" }, "position": { - "x": -112, - "y": -144 + "x": 1472, + "y": 16 } }, { - "id": "7a94a774-819e-4796-ad92-2b9f0a06e828", - "type": "basic.outputLabel", + "id": "5a3f8466-6a57-4607-939a-fb15222442a7", + "type": "basic.inputLabel", "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" + "blockColor": "fuchsia", + "name": "done" }, "position": { - "x": -112, - "y": -8 + "x": 920, + "y": 24 } }, { - "id": "35ac40b6-de26-493f-b22e-d15895042a60", + "id": "dddd2a78-e0f8-4688-ad63-0c41ad98894b", "type": "basic.outputLabel", "data": { - "blockColor": "navy", - "name": "rst", + "blockColor": "fuchsia", + "name": "exec", "oldBlockColor": "fuchsia" }, "position": { - "x": -128, - "y": 72 + "x": 2160, + "y": 104 } }, { - "id": "710d9d0b-6550-4778-b5b4-c13ff8974876", + "id": "73948305-b05b-418f-88af-11328f400cdc", "type": "basic.output", "data": { - "name": "", - "range": "[15:0]", - "size": 16 + "name": "exec" }, "position": { - "x": 568, + "x": 2328, "y": 104 } }, { - "id": "ccf3fe71-4cdb-4e98-9ecd-d0083cfb1170", - "type": "basic.input", + "id": "c5781045-a890-4e66-8f67-80d0cb317ee6", + "type": "basic.outputLabel", "data": { - "name": "", - "range": "[15:0]", - "clock": false, - "size": 16 + "blockColor": "red", + "name": "on", + "oldBlockColor": "fuchsia" }, "position": { - "x": -576, + "x": 1544, "y": 136 } }, { - "id": "fdb3de4d-1a1f-420d-83f5-652d30cd8ca3", + "id": "fa7f43f2-cbb2-47e0-bcc5-32336f9cd8ed", "type": "basic.outputLabel", "data": { - "blockColor": "yellow", - "name": "clk", + "blockColor": "red", + "name": "on", "oldBlockColor": "fuchsia" }, "position": { - "x": -128, - "y": 248 + "x": 648, + "y": 152 } }, { - "id": "719d7e53-bdb2-40e8-8bed-c86a12749e88", - "type": "basic.outputLabel", + "id": "8c96c7ec-0c2f-4870-9197-46116cd1d134", + "type": "basic.inputLabel", "data": { - "blockColor": "navy", - "name": "rst", + "blockColor": "darkgreen", + "name": "cycle", "oldBlockColor": "fuchsia" }, "position": { - "x": -128, - "y": 312 + "x": 1080, + "y": 168 } }, { - "id": "f071a293-16e9-4c8b-8494-14b7f15033a3", - "type": "5c75f6e4f841e85f7c34d83b9cc081ef669dd12d", - "position": { - "x": 48, - "y": 352 + "id": "ad4d0fc2-118e-496e-b292-c435bad20e7d", + "type": "basic.input", + "data": { + "name": "next", + "clock": false }, - "size": { - "width": 96, - "height": 96 - } - }, - { - "id": "03291097-00e3-48db-9044-3c73ed88eeb8", - "type": "5c75f6e4f841e85f7c34d83b9cc081ef669dd12d", "position": { - "x": 40, - "y": 104 - }, - "size": { - "width": 96, - "height": 96 + "x": 616, + "y": 208 } }, { - "id": "3b9c2480-7e90-4a8f-90ad-2c5c08bcc5f1", - "type": "852bc8c84d29887beb3432bd25e5e7b6419b7f06", - "position": { - "x": -400, - "y": 104 + "id": "d8820925-23d9-4f02-8491-adf813601d08", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "size": { - "width": 96, - "height": 128 - } - }, - { - "id": "853ca8c5-b04e-4433-a26b-bf6bd662b674", - "type": "401a2859b9822a66cc19b8c5277d4c310a836edd", "position": { - "x": 384, - "y": 72 - }, - "size": { - "width": 96, - "height": 128 + "x": 1384, + "y": 216 } }, { - "id": "d0c1a36f-1bb8-46af-a2f8-088defad2415", - "type": "5c75f6e4f841e85f7c34d83b9cc081ef669dd12d", - "position": { - "x": 48, - "y": -152 + "id": "a756b829-42d1-4779-b42d-a9acc3800854", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "done", + "oldBlockColor": "fuchsia" }, - "size": { - "width": 96, - "height": 96 + "position": { + "x": 2160, + "y": 248 } }, { - "id": "6b1c8363-ae57-4448-baa0-6e564446fbe0", - "type": "5c75f6e4f841e85f7c34d83b9cc081ef669dd12d", - "position": { - "x": 64, - "y": -360 + "id": "49221b19-132a-4e3f-9a1f-97bcd463391b", + "type": "basic.output", + "data": { + "name": "done" }, - "size": { - "width": 96, - "height": 96 + "position": { + "x": 2320, + "y": 248 } - } - ], - "wires": [ - { - "source": { - "block": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", - "port": "out" - }, - "target": { - "block": "0a772657-8018-424d-8f04-75d3ffff3692", - "port": "inlabel" - }, - "vertices": [] }, { - "source": { - "block": "159f86de-af0f-4f1a-9a93-7e8149d5d322", - "port": "out" + "id": "06b60a4f-b1b1-4a91-ba10-bdb5a7515718", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "exec", + "oldBlockColor": "fuchsia" }, - "target": { - "block": "eae23d49-1710-4ffb-9162-8c4238e16af9", - "port": "inlabel" + "position": { + "x": 1952, + "y": 288 } }, { - "source": { - "block": "7a94a774-819e-4796-ad92-2b9f0a06e828", - "port": "outlabel" + "id": "f9f37a77-fd08-4506-9c1b-cc53daa19559", + "type": "basic.outputLabel", + "data": { + "blockColor": "darkgreen", + "name": "cycle", + "oldBlockColor": "fuchsia" }, - "target": { - "block": "03291097-00e3-48db-9044-3c73ed88eeb8", - "port": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6" + "position": { + "x": 1384, + "y": 288 } }, { - "source": { - "block": "35ac40b6-de26-493f-b22e-d15895042a60", - "port": "outlabel" - }, - "target": { - "block": "03291097-00e3-48db-9044-3c73ed88eeb8", - "port": "159f86de-af0f-4f1a-9a93-7e8149d5d322" + "id": "10afc859-04fd-433d-823a-4fa4721320c1", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "start" }, - "vertices": [ - { - "x": 0, - "y": 112 - } - ] + "position": { + "x": 1680, + "y": 376 + } }, { - "source": { - "block": "719d7e53-bdb2-40e8-8bed-c86a12749e88", - "port": "outlabel" - }, - "target": { - "block": "f071a293-16e9-4c8b-8494-14b7f15033a3", - "port": "159f86de-af0f-4f1a-9a93-7e8149d5d322" + "id": "2e9e9e82-c651-4a6b-9d9e-4c796699d133", + "type": "basic.inputLabel", + "data": { + "blockColor": "gold", + "name": "stop", + "oldBlockColor": "fuchsia" }, - "vertices": [ - { - "x": -8, - "y": 376 - } - ] + "position": { + "x": 1144, + "y": 376 + } }, { - "source": { - "block": "fdb3de4d-1a1f-420d-83f5-652d30cd8ca3", - "port": "outlabel" + "id": "9726aeb6-7b23-479f-ac97-1bbfc2e82bc0", + "type": "basic.outputLabel", + "data": { + "name": "cnt", + "range": "[13:0]", + "blockColor": "navy", + "size": 14 }, - "target": { - "block": "f071a293-16e9-4c8b-8494-14b7f15033a3", - "port": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6" + "position": { + "x": 688, + "y": 528 } }, { - "source": { - "block": "cf0ec9b2-9d62-4940-aa5c-aeb5598d4206", - "port": "outlabel" + "id": "d0005413-fea9-4b0b-8a18-9b15d4977bc1", + "type": "basic.constant", + "data": { + "name": "N", + "value": "'h4000", + "local": false }, - "target": { - "block": "d0c1a36f-1bb8-46af-a2f8-088defad2415", - "port": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6" + "position": { + "x": 680, + "y": 344 } }, { - "source": { - "block": "95c3db7f-827e-4950-8a74-ed4c855b1e80", - "port": "outlabel" + "id": "a19b8bcd-a0a4-4da0-9844-5e5c0306e231", + "type": "basic.constant", + "data": { + "name": "", + "value": "1", + "local": true }, - "target": { - "block": "d0c1a36f-1bb8-46af-a2f8-088defad2415", - "port": "159f86de-af0f-4f1a-9a93-7e8149d5d322" + "position": { + "x": 1336, + "y": -224 } }, { - "source": { - "block": "05abbe4c-682c-4e96-9360-fa14c9626570", - "port": "outlabel" + "id": "374613cb-968d-46d1-94a4-16686e7df28d", + "type": "basic.constant", + "data": { + "name": "", + "value": "0", + "local": true }, - "target": { - "block": "6b1c8363-ae57-4448-baa0-6e564446fbe0", - "port": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6" + "position": { + "x": 1648, + "y": -256 } }, { - "source": { - "block": "81f40927-8dde-4218-9855-3b92f1892e56", - "port": "outlabel" - }, - "target": { - "block": "6b1c8363-ae57-4448-baa0-6e564446fbe0", - "port": "159f86de-af0f-4f1a-9a93-7e8149d5d322" + "id": "bd61136e-6597-4728-a8c3-141a1841150b", + "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", + "position": { + "x": 808, + "y": 168 }, - "vertices": [ - { - "x": 8, - "y": -328 - } - ] + "size": { + "width": 96, + "height": 64 + } }, { - "source": { - "block": "ccf3fe71-4cdb-4e98-9ecd-d0083cfb1170", - "port": "out" - }, - "target": { - "block": "3b9c2480-7e90-4a8f-90ad-2c5c08bcc5f1", - "port": "a0c9783a-c287-45a7-bfc7-9da552cf732f" + "id": "7d6ed080-252a-4f1b-8ec7-0f47d7866317", + "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", + "position": { + "x": 1016, + "y": 376 }, - "size": 16 + "size": { + "width": 96, + "height": 64 + } }, { - "source": { - "block": "853ca8c5-b04e-4433-a26b-bf6bd662b674", - "port": "79c56f9a-597f-491e-b1d1-d321f63303c2" - }, - "target": { - "block": "710d9d0b-6550-4778-b5b4-c13ff8974876", - "port": "in" + "id": "ac8b922a-9249-49a3-8b42-a1f259ccae2b", + "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", + "position": { + "x": 1680, + "y": 272 }, - "size": 16 + "size": { + "width": 96, + "height": 64 + } }, { - "source": { - "block": "3b9c2480-7e90-4a8f-90ad-2c5c08bcc5f1", - "port": "df399ca5-160e-470b-90e2-3c3b488cda5e" - }, - "target": { - "block": "f071a293-16e9-4c8b-8494-14b7f15033a3", - "port": "26833303-0a1a-4750-8546-b98e2fdfdd82" + "id": "28aef1aa-1cc2-4bb4-9a70-2db1962258d4", + "type": "81613874c6152f06c06ed7014bf4235900cfcc30", + "position": { + "x": 1824, + "y": 288 }, - "vertices": [ - { - "x": -272, - "y": 368 - } - ], - "size": 4 + "size": { + "width": 96, + "height": 64 + } }, { - "source": { - "block": "3b9c2480-7e90-4a8f-90ad-2c5c08bcc5f1", - "port": "b69090a8-121e-4bcb-8e4b-55faee72dc70" + "id": "e042b05f-b116-4a58-8aee-1bf2833ecb6b", + "type": "basic.info", + "data": { + "info": "**Reloj del sistema**", + "readonly": true }, - "target": { - "block": "03291097-00e3-48db-9044-3c73ed88eeb8", - "port": "26833303-0a1a-4750-8546-b98e2fdfdd82" + "position": { + "x": 680, + "y": -472 }, - "size": 4 + "size": { + "width": 192, + "height": 40 + } }, { - "source": { - "block": "3b9c2480-7e90-4a8f-90ad-2c5c08bcc5f1", - "port": "48ab86b5-3c15-47e8-97b4-bdba0d4c95a9" + "id": "09056d84-24ad-48b7-89c2-0d008ca64b89", + "type": "basic.info", + "data": { + "info": "**Estado de** \n**la máquina**", + "readonly": true }, - "target": { - "block": "d0c1a36f-1bb8-46af-a2f8-088defad2415", - "port": "26833303-0a1a-4750-8546-b98e2fdfdd82" + "position": { + "x": 760, + "y": -248 }, - "vertices": [ - { - "x": -160, - "y": -16 - } - ], - "size": 4 + "size": { + "width": 160, + "height": 40 + } }, { - "source": { - "block": "3b9c2480-7e90-4a8f-90ad-2c5c08bcc5f1", - "port": "8bbb6d1c-9f19-4d90-937c-492fec692420" + "id": "02ad4d4d-3335-43e1-a671-4b00fc01c8be", + "type": "basic.info", + "data": { + "info": "Máquina encendida", + "readonly": true }, - "target": { - "block": "6b1c8363-ae57-4448-baa0-6e564446fbe0", - "port": "26833303-0a1a-4750-8546-b98e2fdfdd82" + "position": { + "x": 936, + "y": -328 }, - "vertices": [ - { - "x": -184, - "y": -184 - } - ], - "size": 4 + "size": { + "width": 168, + "height": 40 + } }, { - "source": { - "block": "f071a293-16e9-4c8b-8494-14b7f15033a3", - "port": "571d3fa4-680d-4422-92c6-b3b1dcd4fa8b" + "id": "23827b42-5be3-406c-9991-b4ad6deb74e8", + "type": "basic.info", + "data": { + "info": "Máquina apagada \n(rst = 1)", + "readonly": true }, - "target": { - "block": "853ca8c5-b04e-4433-a26b-bf6bd662b674", - "port": "7f009181-43fb-4806-a540-c2049656ce40" + "position": { + "x": 952, + "y": -232 }, - "size": 4 + "size": { + "width": 152, + "height": 56 + } }, { - "source": { - "block": "03291097-00e3-48db-9044-3c73ed88eeb8", - "port": "571d3fa4-680d-4422-92c6-b3b1dcd4fa8b" + "id": "8a928b2a-c1fd-4d20-ba27-2f2bb41c0d01", + "type": "basic.info", + "data": { + "info": "Tic de arranque", + "readonly": true }, - "target": { - "block": "853ca8c5-b04e-4433-a26b-bf6bd662b674", - "port": "d250cf47-8011-489b-8ddf-cc19f9e3f937" + "position": { + "x": 960, + "y": -96 }, - "size": 4 + "size": { + "width": 160, + "height": 40 + } }, { - "source": { - "block": "d0c1a36f-1bb8-46af-a2f8-088defad2415", - "port": "571d3fa4-680d-4422-92c6-b3b1dcd4fa8b" + "id": "6648005b-8565-4aa7-9dbe-692786ab5eed", + "type": "basic.info", + "data": { + "info": "Tic de fin", + "readonly": true }, - "target": { - "block": "853ca8c5-b04e-4433-a26b-bf6bd662b674", - "port": "b875d929-cdf0-4d61-bf25-af544dcb5ff8" + "position": { + "x": 944, + "y": 0 }, - "vertices": [ - { - "x": 208, - "y": 24 - } - ], - "size": 4 + "size": { + "width": 120, + "height": 32 + } }, { - "source": { - "block": "6b1c8363-ae57-4448-baa0-6e564446fbe0", - "port": "571d3fa4-680d-4422-92c6-b3b1dcd4fa8b" + "id": "08d8a2f1-ca1d-4bb5-84ec-2e003a76d1c1", + "type": "basic.info", + "data": { + "info": "**Contador de ciclos**", + "readonly": true }, - "target": { - "block": "853ca8c5-b04e-4433-a26b-bf6bd662b674", - "port": "79aa8ee8-2337-4ceb-b930-7e6cea70b9df" + "position": { + "x": 1480, + "y": -424 }, - "vertices": [ - { - "x": 280, - "y": -128 - } - ], - "size": 4 - } - ] - } - } - }, - "852bc8c84d29887beb3432bd25e5e7b6419b7f06": { - "package": { - "name": "Bus16-Split-quarter", - "version": "0.1", - "description": "Bus16-Split-quarter: Split the 16-bits bus into four buses of the same size", - "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": { - "graph": { - "blocks": [ + "size": { + "width": 224, + "height": 40 + } + }, + { + "id": "6b89fbaa-ded1-4b08-85b3-d5043665ba0f", + "type": "basic.info", + "data": { + "info": "Número de ciclos \ncontados", + "readonly": true + }, + "position": { + "x": 1824, + "y": -152 + }, + "size": { + "width": 160, + "height": 56 + } + }, { - "id": "8bbb6d1c-9f19-4d90-937c-492fec692420", - "type": "basic.output", + "id": "ce9c2faa-a5a2-43ef-a19f-8089842fa7fb", + "type": "basic.info", "data": { - "name": "3", - "range": "[3:0]", - "size": 4 + "info": "Valor \nincrementado", + "readonly": true }, "position": { - "x": 608, - "y": 64 + "x": 1496, + "y": -128 + }, + "size": { + "width": 128, + "height": 56 } }, { - "id": "48ab86b5-3c15-47e8-97b4-bdba0d4c95a9", - "type": "basic.output", + "id": "9749c7ec-56c0-4d88-8b20-572f154aba47", + "type": "basic.info", "data": { - "name": "2", - "range": "[3:0]", - "size": 4 + "info": "### Salidas", + "readonly": true }, "position": { - "x": 640, - "y": 208 + "x": 2152, + "y": -328 + }, + "size": { + "width": 280, + "height": 40 } }, { - "id": "a0c9783a-c287-45a7-bfc7-9da552cf732f", - "type": "basic.input", + "id": "4c022dd4-dc38-48e8-8e23-991de83819a0", + "type": "basic.info", "data": { - "name": "", - "range": "[15:0]", - "clock": false, - "size": 16 + "info": "Estado de la máquina", + "readonly": true }, "position": { - "x": 96, - "y": 224 + "x": 2160, + "y": -248 + }, + "size": { + "width": 192, + "height": 40 } }, { - "id": "b69090a8-121e-4bcb-8e4b-55faee72dc70", - "type": "basic.output", + "id": "2f5c5893-19c2-411c-b942-83e2e0355d9b", + "type": "basic.info", "data": { - "name": "1", - "range": "[3:0]", - "size": 4 + "info": "Ciclo actual", + "readonly": true }, "position": { - "x": 608, - "y": 312 + "x": 2168, + "y": -104 + }, + "size": { + "width": 152, + "height": 40 } }, { - "id": "df399ca5-160e-470b-90e2-3c3b488cda5e", - "type": "basic.output", + "id": "3529c7ae-8223-48c9-a5c7-1b8161eb3654", + "type": "basic.info", "data": { - "name": "0", - "range": "[3:0]", - "size": 4 + "info": "Cuenta finalizada", + "readonly": true }, "position": { - "x": 552, - "y": 400 + "x": 2160, + "y": 216 + }, + "size": { + "width": 176, + "height": 48 } }, { - "id": "16e78204-213e-4833-9096-89d735307ec2", - "type": "basic.code", + "id": "8d3fe74d-0b04-434f-bd0a-c966094bb54e", + "type": "basic.info", "data": { - "code": "assign o3 = i[15:12];\nassign o2 = i[11:8];\nassign o1 = i[7:4];\nassign o0 = i[3:0];", - "params": [], - "ports": { - "in": [ - { - "name": "i", - "range": "[15:0]", - "size": 16 - } - ], - "out": [ - { - "name": "o3", - "range": "[3:0]", - "size": 4 - }, - { - "name": "o2", - "range": "[3:0]", - "size": 4 - }, - { - "name": "o1", - "range": "[3:0]", - "size": 4 - }, - { - "name": "o0", - "range": "[3:0]", - "size": 4 - } - ] - } + "info": "Ejecutar el ciclo", + "readonly": true }, "position": { - "x": 272, - "y": 176 + "x": 2168, + "y": 80 }, "size": { - "width": 240, - "height": 160 + "width": 168, + "height": 40 } - } - ], - "wires": [ + }, { - "source": { - "block": "a0c9783a-c287-45a7-bfc7-9da552cf732f", - "port": "out" + "id": "eae9349c-e15a-4922-8652-1849ae8af424", + "type": "basic.info", + "data": { + "info": "Número de ciclos \na contar", + "readonly": true }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i" + "position": { + "x": 696, + "y": 288 }, - "size": 16 + "size": { + "width": 152, + "height": 56 + } }, { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o0" + "id": "95a0fd91-d4b4-4a8c-a326-fa00aead76a2", + "type": "basic.info", + "data": { + "info": "¿Estamos en el \nciclo k-1?", + "readonly": true }, - "target": { - "block": "df399ca5-160e-470b-90e2-3c3b488cda5e", - "port": "in" + "position": { + "x": 1024, + "y": 480 }, - "size": 4 + "size": { + "width": 144, + "height": 56 + } }, { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o1" + "id": "ee786c92-eee9-4192-b5cd-7ffd2cff4aa0", + "type": "basic.info", + "data": { + "info": "Solo se hace caso a la \nentrada next si la \nmáquina está encendida", + "readonly": true }, - "target": { - "block": "b69090a8-121e-4bcb-8e4b-55faee72dc70", - "port": "in" + "position": { + "x": 648, + "y": 88 }, - "size": 4 + "size": { + "width": 216, + "height": 80 + } }, { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o2" + "id": "fdea86ef-3e4a-4419-972a-3e09c49380ab", + "type": "basic.info", + "data": { + "info": "Nuevo ciclo", + "readonly": true }, - "target": { - "block": "48ab86b5-3c15-47e8-97b4-bdba0d4c95a9", - "port": "in" + "position": { + "x": 920, + "y": 168 }, - "size": 4 + "size": { + "width": 136, + "height": 40 + } }, { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o3" + "id": "f1312a02-2038-404e-b9cf-5f4ee6b11012", + "type": "basic.info", + "data": { + "info": "Si es el ciclo k-1 y \nse pide un ciclo \nnuevo: Terminar", + "readonly": true }, - "target": { - "block": "8bbb6d1c-9f19-4d90-937c-492fec692420", - "port": "in" + "position": { + "x": 1136, + "y": 304 }, - "size": 4 - } - ] - } - } - }, - "401a2859b9822a66cc19b8c5277d4c310a836edd": { - "package": { - "name": "Bus16-Join-quarter", - "version": "0.1", - "description": "Bus16-Join-quarter: Join the four same buses into an 16-bits Bus", - "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=%22M164.218%2077.643L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v26.186l61.698.046c8.012-.043%2015.705%203.133%2021.47%208.81l61.448%2061.315a57.292%2057.292%200%200%200%2039.993%2016.139%2057.292%2057.292%200%200%200-39.993%2016.14L83.668%20190.45c-5.765%205.677-13.458%208.853-21.47%208.81L.5%20199.306v26.186h62.612c14.924.039%2029.463-5.9%2040.204-16.28l60.902-60.863a29.857%2029.857%200%200%201%2021.347-8.81l146.53-.113V86.457H185.571a29.884%2029.884%200%200%201-21.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ + "size": { + "width": 208, + "height": 72 + } + }, + { + "id": "9baabc30-8c27-4b55-92e4-d59783269162", + "type": "basic.info", + "data": { + "info": "Apagar la \nmáquina", + "readonly": true + }, + "position": { + "x": 600, + "y": -64 + }, + "size": { + "width": 120, + "height": 56 + } + }, { - "id": "79aa8ee8-2337-4ceb-b930-7e6cea70b9df", - "type": "basic.input", + "id": "b1d4db4d-86bf-41b9-8192-647537f22b35", + "type": "basic.info", "data": { - "name": "3", - "range": "[3:0]", - "clock": false, - "size": 4 + "info": "Ciclo nuevo: \nincrementar la cuenta", + "readonly": true }, "position": { - "x": 104, - "y": 104 + "x": 1464, + "y": -32 + }, + "size": { + "width": 208, + "height": 56 } }, { - "id": "b875d929-cdf0-4d61-bf25-af544dcb5ff8", - "type": "basic.input", + "id": "6c065227-d7b8-48ea-8105-765c0ff10e5d", + "type": "basic.info", "data": { - "name": "2", - "range": "[3:0]", - "clock": false, - "size": 4 + "info": "El tic de start se saca \npor exec para que se ejecute \nel primer ciclo", + "readonly": true }, "position": { - "x": 104, - "y": 184 + "x": 1680, + "y": 440 + }, + "size": { + "width": 248, + "height": 72 } }, { - "id": "79c56f9a-597f-491e-b1d1-d321f63303c2", - "type": "basic.output", + "id": "f41e1b4d-0de7-4d61-9b57-16de7ef8dc8a", + "type": "basic.info", "data": { - "name": "", - "range": "[15:0]", - "size": 16 + "info": "Si la máquina está \napagada, las señales \nde ejecución no pueden \nsalir!", + "readonly": true }, "position": { - "x": 720, - "y": 224 + "x": 1688, + "y": 168 + }, + "size": { + "width": 208, + "height": 80 } }, { - "id": "d250cf47-8011-489b-8ddf-cc19f9e3f937", - "type": "basic.input", + "id": "1ed4ad01-9b81-4934-84b7-804dcaec10c1", + "type": "basic.info", "data": { - "name": "1", - "range": "[3:0]", - "clock": false, - "size": 4 + "info": "Retrasar la señal un ciclo \nmientras que se detecta si \nla máquina ha finalizado o no", + "readonly": true }, "position": { - "x": 104, - "y": 248 + "x": 1416, + "y": 392 + }, + "size": { + "width": 256, + "height": 72 } }, { - "id": "7f009181-43fb-4806-a540-c2049656ce40", - "type": "basic.input", - "data": { - "name": "0", - "range": "[3:0]", - "clock": false, - "size": 4 + "id": "2a6b0d55-b2c4-4ed4-9483-8871ba946dcf", + "type": "aec21dcbeb94ef212f1936ba3b7cf22e0e349a8f", + "position": { + "x": 752, + "y": -168 }, + "size": { + "width": 96, + "height": 128 + } + }, + { + "id": "331d12d0-f6ea-49dd-8762-fb992de54f0f", + "type": "58ed2b5c7e33e2f215ccba6c101d9ea4ff60f284", "position": { - "x": 104, - "y": 312 + "x": 1544, + "y": 272 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "16e78204-213e-4833-9096-89d735307ec2", - "type": "basic.code", - "data": { - "code": "assign o = {i3, i2, i1, i0};\n", - "params": [], - "ports": { - "in": [ - { - "name": "i3", - "range": "[3:0]", - "size": 4 - }, - { - "name": "i2", - "range": "[3:0]", - "size": 4 - }, - { - "name": "i1", - "range": "[3:0]", - "size": 4 - }, - { - "name": "i0", - "range": "[3:0]", - "size": 4 - } - ], - "out": [ - { - "name": "o", - "range": "[15:0]", - "size": 16 - } - ] - } + "id": "6ebcb033-3fa2-49c8-92f3-3b5eed869715", + "type": "bf21f4d270a776c39e0c3763ffe9253d8f25e93d", + "position": { + "x": 1648, + "y": -152 }, + "size": { + "width": 96, + "height": 128 + } + }, + { + "id": "1a3e3c55-3a15-44eb-b040-abaa9763b6a9", + "type": "5ba0990b1cafb42a483bf845663b1bce6cbfa43b", "position": { - "x": 296, - "y": 176 + "x": 1336, + "y": -120 }, "size": { - "width": 344, - "height": 160 + "width": 96, + "height": 64 + } + }, + { + "id": "32e14852-e793-4199-a915-5ba8b629ef76", + "type": "c98ba9d3bd2afa5c5dc32f623ae81a9df5d211b3", + "position": { + "x": 856, + "y": 512 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "27d9e58c-8375-447e-8210-f0cd82af5d37", + "type": "be366defa772394c264631243c78ced91837ab0f", + "position": { + "x": 680, + "y": 448 + }, + "size": { + "width": 96, + "height": 64 } } ], "wires": [ { "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o" + "block": "6c846478-ff94-415a-b78e-03b6981bc0fe", + "port": "outlabel" }, "target": { - "block": "79c56f9a-597f-491e-b1d1-d321f63303c2", - "port": "in" + "block": "6ebcb033-3fa2-49c8-92f3-3b5eed869715", + "port": "c97f7411-94ef-4d63-ba23-ce596ebcbb25" }, - "size": 16 + "vertices": [ + { + "x": 1592, + "y": -192 + } + ] }, { "source": { - "block": "7f009181-43fb-4806-a540-c2049656ce40", - "port": "out" + "block": "2a6b0d55-b2c4-4ed4-9483-8871ba946dcf", + "port": "89a5da53-cc8b-4099-a5e3-b9cf281619b1" }, "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i0" - }, - "size": 4 + "block": "bc6920df-ca50-4643-ad7a-7e10c29856e8", + "port": "inlabel" + } }, { "source": { - "block": "d250cf47-8011-489b-8ddf-cc19f9e3f937", - "port": "out" + "block": "2a6b0d55-b2c4-4ed4-9483-8871ba946dcf", + "port": "aefe9248-3b3d-441b-9e65-33cda65b99dd" }, "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i1" - }, - "size": 4 + "block": "9baa509b-0012-4e0e-b874-e62987258aa1", + "port": "inlabel" + } }, { "source": { - "block": "b875d929-cdf0-4d61-bf25-af544dcb5ff8", - "port": "out" + "block": "2a6b0d55-b2c4-4ed4-9483-8871ba946dcf", + "port": "0d991cee-b329-439b-b9e7-5712d2db539d" }, "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i2" + "block": "92c88f9e-7d51-4946-b0ef-088dcd8efa49", + "port": "inlabel" }, "vertices": [ { - "x": 224, - "y": 232 + "x": 888, + "y": -216 } - ], - "size": 4 + ] }, { "source": { - "block": "79aa8ee8-2337-4ceb-b930-7e6cea70b9df", - "port": "out" + "block": "fa7f43f2-cbb2-47e0-bcc5-32336f9cd8ed", + "port": "outlabel" }, "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i3" - }, - "vertices": [ - { - "x": 240, - "y": 168 - } - ], - "size": 4 - } - ] - } - } - }, - "decca3cf2b9498594a9c2a30320829ba70f6fabb": { - "package": { - "name": "Bus20-Join-4-16", - "version": "0.1", - "description": "Bus20-Join-half: Join the two buses into an 20-bits Bus", - "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=%22M164.218%2077.643L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v26.186l61.698.046c8.012-.043%2015.705%203.133%2021.47%208.81l61.448%2061.315a57.292%2057.292%200%200%200%2039.993%2016.139%2057.292%2057.292%200%200%200-39.993%2016.14L83.668%20190.45c-5.765%205.677-13.458%208.853-21.47%208.81L.5%20199.306v26.186h62.612c14.924.039%2029.463-5.9%2040.204-16.28l60.902-60.863a29.857%2029.857%200%200%201%2021.347-8.81l146.53-.113V86.457H185.571a29.884%2029.884%200%200%201-21.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ + "block": "bd61136e-6597-4728-a8c3-141a1841150b", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } + }, { - "id": "b54d5820-5a61-4527-87ba-b3ec0c5edc82", - "type": "basic.input", - "data": { - "name": "1", - "range": "[3:0]", - "clock": false, - "size": 4 + "source": { + "block": "45bd338b-4745-4b06-b199-462cdaffa31d", + "port": "outlabel" }, - "position": { - "x": 120, - "y": 168 + "target": { + "block": "2a6b0d55-b2c4-4ed4-9483-8871ba946dcf", + "port": "ba15eacb-1e03-4580-932b-3231703481e5" } }, { - "id": "49d4333f-b5a4-459c-8469-232e5e95d956", - "type": "basic.output", - "data": { - "name": "", - "range": "[19:0]", - "size": 20 + "source": { + "block": "7d6ed080-252a-4f1b-8ec7-0f47d7866317", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, - "position": { - "x": 648, - "y": 200 + "target": { + "block": "2e9e9e82-c651-4a6b-9d9e-4c796699d133", + "port": "inlabel" } }, { - "id": "c4ca0e6a-6557-45ee-8363-1bffebaad486", - "type": "basic.input", - "data": { - "name": "0", - "range": "[15:0]", - "clock": false, - "size": 16 + "source": { + "block": "2a6b0d55-b2c4-4ed4-9483-8871ba946dcf", + "port": "3802390d-8417-4369-b93c-dda647ccb0c6" }, - "position": { - "x": 120, - "y": 264 + "target": { + "block": "5a3f8466-6a57-4607-939a-fb15222442a7", + "port": "inlabel" } }, { - "id": "16e78204-213e-4833-9096-89d735307ec2", - "type": "basic.code", - "data": { - "code": "assign o = {i1, i0};\n", - "params": [], - "ports": { - "in": [ - { - "name": "i1", - "range": "[3:0]", - "size": 4 - }, - { - "name": "i0", - "range": "[15:0]", - "size": 16 - } - ], - "out": [ - { - "name": "o", - "range": "[19:0]", - "size": 20 - } - ] - } - }, - "position": { - "x": 296, - "y": 176 + "source": { + "block": "c5781045-a890-4e66-8f67-80d0cb317ee6", + "port": "outlabel" }, - "size": { - "width": 272, - "height": 104 + "target": { + "block": "ac8b922a-9249-49a3-8b42-a1f259ccae2b", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" } - } - ], - "wires": [ + }, { "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o" + "block": "a756b829-42d1-4779-b42d-a9acc3800854", + "port": "outlabel" }, "target": { - "block": "49d4333f-b5a4-459c-8469-232e5e95d956", + "block": "49221b19-132a-4e3f-9a1f-97bcd463391b", "port": "in" - }, - "size": 20 + } }, { "source": { - "block": "c4ca0e6a-6557-45ee-8363-1bffebaad486", - "port": "out" + "block": "8a5f0c79-7347-4b35-8e27-603ebed8bf9f", + "port": "outlabel" }, "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i0" + "block": "6ebcb033-3fa2-49c8-92f3-3b5eed869715", + "port": "f1022de4-0225-43d7-92d3-451161ee6942" + } + }, + { + "source": { + "block": "10afc859-04fd-433d-823a-4fa4721320c1", + "port": "outlabel" }, - "size": 16 + "target": { + "block": "28aef1aa-1cc2-4bb4-9a70-2db1962258d4", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + } }, { "source": { - "block": "b54d5820-5a61-4527-87ba-b3ec0c5edc82", - "port": "out" + "block": "28aef1aa-1cc2-4bb4-9a70-2db1962258d4", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i1" + "block": "06b60a4f-b1b1-4a91-ba10-bdb5a7515718", + "port": "inlabel" + } + }, + { + "source": { + "block": "bd61136e-6597-4728-a8c3-141a1841150b", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, - "size": 4 - } - ] - } - } - }, - "d98b4eaf961afa9cfcfb6a56bfe554ab1859a551": { - "package": { - "name": "Inc1-20bits", - "version": "0.1", - "description": "Inc1-20bit: Increment a 20-bits number by one", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22387.891%22%20height=%22310.09%22%20viewBox=%220%200%20363.64764%20290.70999%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.759%2055.834v79.813h79.508v35.946H115.76v79.813h-36.25v-79.813H-.002v-35.946h79.51V55.834z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3Cpath%20d=%22M196.193%20257.608h64.256V35.828l-69.902%2014.02V14.018L260.06%200h39.332v257.608h64.257v33.102H196.193z%22%20style=%22line-height:1.25%22%20font-size=%22398.777%22%20stroke-width=%229.969%22/%3E%3C/svg%3E", - "otid": 1618560481898 - }, - "design": { - "graph": { - "blocks": [ + "target": { + "block": "8c96c7ec-0c2f-4870-9197-46116cd1d134", + "port": "inlabel" + } + }, { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "type": "basic.output", - "data": { - "name": "c" + "source": { + "block": "f9f37a77-fd08-4506-9c1b-cc53daa19559", + "port": "outlabel" }, - "position": { - "x": 624, - "y": -168 + "target": { + "block": "331d12d0-f6ea-49dd-8762-fb992de54f0f", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" } }, { - "id": "e32c1f43-2609-4db0-988a-e26855546f12", - "type": "basic.input", - "data": { - "name": "", - "range": "[19:0]", - "clock": false, - "size": 20 + "source": { + "block": "cb426e3d-ace3-4a57-a74b-155caed0c14c", + "port": "out" }, - "position": { - "x": 280, - "y": -152 + "target": { + "block": "9291f94d-2d9a-4c3a-b7df-4299abf84886", + "port": "inlabel" } }, { - "id": "82476fac-7158-4228-8506-b16205d96d74", - "type": "basic.output", - "data": { - "name": "s", - "range": "[19:0]", - "size": 20 + "source": { + "block": "40607400-436e-4dea-b733-8308a06fd4ef", + "port": "outlabel" }, - "position": { - "x": 624, - "y": -88 + "target": { + "block": "2a6b0d55-b2c4-4ed4-9483-8871ba946dcf", + "port": "046501b8-4427-4d4d-af97-7fe807774f33" } }, { - "id": "cd0d6f4d-9898-4114-94a9-0b4b98223c27", - "type": "basic.constant", - "data": { - "name": "", - "value": "1", - "local": true + "source": { + "block": "2438a009-c8e2-4acb-b443-90fe0ddd989d", + "port": "outlabel" }, - "position": { - "x": 456, - "y": -256 + "target": { + "block": "6a11eaf9-4bd5-405e-81f8-44418365326b", + "port": "in" } }, { - "id": "a531e828-a4e5-4deb-8e95-60e0cbca5ad0", - "type": "f09b6abf4c9ee97265f684a2c37f71c769ff3c8d", - "position": { - "x": 456, - "y": -152 + "source": { + "block": "81fb4efb-363e-483e-b1df-c2ebda777355", + "port": "outlabel" }, - "size": { - "width": 96, - "height": 64 + "target": { + "block": "6ebcb033-3fa2-49c8-92f3-3b5eed869715", + "port": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6" } - } - ], - "wires": [ + }, { "source": { - "block": "a531e828-a4e5-4deb-8e95-60e0cbca5ad0", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "block": "d8820925-23d9-4f02-8491-adf813601d08", + "port": "outlabel" }, "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "block": "331d12d0-f6ea-49dd-8762-fb992de54f0f", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + }, + "vertices": [ + { + "x": 1496, + "y": 264 + } + ] + }, + { + "source": { + "block": "dddd2a78-e0f8-4688-ad63-0c41ad98894b", + "port": "outlabel" + }, + "target": { + "block": "73948305-b05b-418f-88af-11328f400cdc", "port": "in" } }, { "source": { - "block": "cd0d6f4d-9898-4114-94a9-0b4b98223c27", - "port": "constant-out" + "block": "6ebcb033-3fa2-49c8-92f3-3b5eed869715", + "port": "521f03e5-f364-41b0-a2b8-c7858e6debf5", + "size": 14 }, "target": { - "block": "a531e828-a4e5-4deb-8e95-60e0cbca5ad0", - "port": "e728fdca-755f-4f2d-98e7-0716b1c5258f" - } + "block": "1cfadcd2-42df-4d6b-9aed-0e94c93bf202", + "port": "inlabel" + }, + "size": 14 }, { "source": { - "block": "e32c1f43-2609-4db0-988a-e26855546f12", - "port": "out" + "block": "f46fb7c4-9551-4da4-9a31-7dd52f738527", + "port": "outlabel" }, "target": { - "block": "a531e828-a4e5-4deb-8e95-60e0cbca5ad0", - "port": "34b2276a-3f2d-4440-8076-eac33f5a7ac1" + "block": "19940e4f-3166-4887-a4e2-ea5babe5f726", + "port": "in", + "size": 14 + }, + "size": 14 + }, + { + "source": { + "block": "ba7c88dc-642a-46e2-9dac-c32ba106020d", + "port": "outlabel" + }, + "target": { + "block": "1a3e3c55-3a15-44eb-b040-abaa9763b6a9", + "port": "ccf244b8-cc65-453c-a958-19a3768f7007", + "size": 14 }, - "size": 20 + "size": 14 }, { "source": { - "block": "a531e828-a4e5-4deb-8e95-60e0cbca5ad0", - "port": "9479d2f2-00d7-4ec8-b92e-856aced057ad" + "block": "9726aeb6-7b23-479f-ac97-1bbfc2e82bc0", + "port": "outlabel" }, "target": { - "block": "82476fac-7158-4228-8506-b16205d96d74", - "port": "in" - }, - "size": 20 - } - ] - } - } - }, - "f09b6abf4c9ee97265f684a2c37f71c769ff3c8d": { - "package": { - "name": "AdderK-16bits CLONE", - "version": "0.1-c1628239598290", - "description": "AdderK-16bit: Adder of 16-bit operand and 16-bit constant", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", - "otid": 1618560481898 - }, - "design": { - "graph": { - "blocks": [ - { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "type": "basic.output", - "data": { - "name": "c" + "block": "32e14852-e793-4199-a915-5ba8b629ef76", + "port": "b457d512-6d78-479d-9b18-993a80c00740", + "size": 14 }, - "position": { - "x": 624, - "y": -168 - } + "size": 14 }, { - "id": "9479d2f2-00d7-4ec8-b92e-856aced057ad", - "type": "basic.output", - "data": { - "name": "s", - "range": "[19:0]", - "size": 20 + "source": { + "block": "374613cb-968d-46d1-94a4-16686e7df28d", + "port": "constant-out" }, - "position": { - "x": 624, - "y": -96 + "target": { + "block": "6ebcb033-3fa2-49c8-92f3-3b5eed869715", + "port": "d9020031-ade2-47d0-bca0-4b88fe7eaebd" } }, { - "id": "34b2276a-3f2d-4440-8076-eac33f5a7ac1", - "type": "basic.input", - "data": { - "name": "", - "range": "[19:0]", - "clock": false, - "size": 20 + "source": { + "block": "a19b8bcd-a0a4-4da0-9844-5e5c0306e231", + "port": "constant-out" }, - "position": { - "x": 232, - "y": -64 + "target": { + "block": "1a3e3c55-3a15-44eb-b040-abaa9763b6a9", + "port": "e728fdca-755f-4f2d-98e7-0716b1c5258f" } }, { - "id": "e728fdca-755f-4f2d-98e7-0716b1c5258f", - "type": "basic.constant", - "data": { - "name": "", - "value": "0", - "local": false + "source": { + "block": "32e14852-e793-4199-a915-5ba8b629ef76", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, - "position": { - "x": 232, - "y": -272 + "target": { + "block": "7d6ed080-252a-4f1b-8ec7-0f47d7866317", + "port": "97b51945-d716-4b6c-9db9-970d08541249" } }, { - "id": "c753514d-63b8-4051-b7b1-b95b97b54c41", - "type": "4e3dc924f3d363056ca5a84b15b3559703f469a5", - "position": { - "x": 456, - "y": -152 + "source": { + "block": "ac8b922a-9249-49a3-8b42-a1f259ccae2b", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, - "size": { - "width": 96, - "height": 64 + "target": { + "block": "28aef1aa-1cc2-4bb4-9a70-2db1962258d4", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" } }, { - "id": "88219ce0-84cd-4412-9cc1-dbca2797658c", - "type": "95d0aeb748ac78b1801cd0f424b4cf9296c0b999", - "position": { - "x": 232, - "y": -168 + "source": { + "block": "331d12d0-f6ea-49dd-8762-fb992de54f0f", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" }, - "size": { - "width": 96, - "height": 64 + "target": { + "block": "ac8b922a-9249-49a3-8b42-a1f259ccae2b", + "port": "97b51945-d716-4b6c-9db9-970d08541249" } - } - ], - "wires": [ + }, { "source": { - "block": "c753514d-63b8-4051-b7b1-b95b97b54c41", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "block": "bd61136e-6597-4728-a8c3-141a1841150b", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "port": "in" + "block": "7d6ed080-252a-4f1b-8ec7-0f47d7866317", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" } }, { "source": { - "block": "e728fdca-755f-4f2d-98e7-0716b1c5258f", + "block": "d0005413-fea9-4b0b-8a18-9b15d4977bc1", "port": "constant-out" }, "target": { - "block": "88219ce0-84cd-4412-9cc1-dbca2797658c", + "block": "27d9e58c-8375-447e-8210-f0cd82af5d37", "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" } }, { "source": { - "block": "88219ce0-84cd-4412-9cc1-dbca2797658c", - "port": "d1f5a9f1-76b5-430e-a1db-2273ba3d5497" + "block": "8f591b24-0427-409f-aa6e-ca1861556cf5", + "port": "out" }, "target": { - "block": "c753514d-63b8-4051-b7b1-b95b97b54c41", - "port": "10ec9fec-863a-417a-ad84-528db337fb64" - }, - "size": 20 + "block": "2a6b0d55-b2c4-4ed4-9483-8871ba946dcf", + "port": "88176871-35ac-42bf-bf62-36c81a4b4b47" + } }, { "source": { - "block": "34b2276a-3f2d-4440-8076-eac33f5a7ac1", + "block": "ad4d0fc2-118e-496e-b292-c435bad20e7d", "port": "out" }, "target": { - "block": "c753514d-63b8-4051-b7b1-b95b97b54c41", - "port": "c7cabb03-f5e2-4e4d-a1f1-166dfb0fdd43" + "block": "bd61136e-6597-4728-a8c3-141a1841150b", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + } + }, + { + "source": { + "block": "1a3e3c55-3a15-44eb-b040-abaa9763b6a9", + "port": "097a6fa5-5366-4605-952c-dcc1425e255c" }, - "size": 20 + "target": { + "block": "6ebcb033-3fa2-49c8-92f3-3b5eed869715", + "port": "e699a6f3-fd6f-49dc-a8d3-d35853cb8e6b" + }, + "size": 14 }, { "source": { - "block": "c753514d-63b8-4051-b7b1-b95b97b54c41", - "port": "61c0c845-bdd7-4f77-987f-049ce228f9fb" + "block": "27d9e58c-8375-447e-8210-f0cd82af5d37", + "port": "d10a3bb7-99d9-4193-8faf-cbe27f5c8482" }, "target": { - "block": "9479d2f2-00d7-4ec8-b92e-856aced057ad", - "port": "in" + "block": "32e14852-e793-4199-a915-5ba8b629ef76", + "port": "a42068b6-dc74-4537-869c-d20ea32059b0" }, - "size": 20 + "size": 14 } ] } } }, - "4e3dc924f3d363056ca5a84b15b3559703f469a5": { + "aec21dcbeb94ef212f1936ba3b7cf22e0e349a8f": { "package": { - "name": "Adder-20bits", - "version": "0.1", - "description": "Adder-20bits: Adder of two operands of 20 bits", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", - "otid": 1618560481898 + "name": "Machine-state", + "version": "0.2", + "description": "Biestable de almacenamiento del estado de la máquina", + "author": "Juan Gonzalez-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22404.343%22%20width=%22319.18%22%20id=%22svg4%22%3E%3Cdefs%20id=%22defs8%22%3E%3Cmarker%20id=%22TriangleOutM%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20id=%22path972%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow1Mend%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-4%200l-2%202%207-2-7-2z%22%20id=%22path836%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow2Mend%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20id=%22path854%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow2Mend-3%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20id=%22path854-6%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow1Mend-5%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-4%200l-2%202%207-2-7-2z%22%20id=%22path836-3%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22TriangleOutM-7%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path972-5%22%20d=%22M2.308%200l-3.46%202v-4z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow1Mend-3%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path836-5%22%20d=%22M-4%200l-2%202%207-2-7-2z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow2Mend-6%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path854-2%22%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow2Mend-3-9%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path854-6-1%22%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow1Mend-5-2%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path836-3-7%22%20d=%22M-4%200l-2%202%207-2-7-2z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cdefs%20id=%22defs3%22%3E%3Cpath%20id=%22a%22%20d=%22M-58.3-45h653.6v640H-58.3z%22/%3E%3C/defs%3E%3Cpath%20id=%22path898%22%20d=%22M-58.3-45h653.6v640H-58.3z%22/%3E%3Cmarker%20id=%22TriangleOutM-3%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20id=%22path972-6%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow1Mend-7%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-4%200l-2%202%207-2-7-2z%22%20id=%22path836-53%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow2Mend-5%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20id=%22path854-62%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow2Mend-3-91%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20id=%22path854-6-2%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow1Mend-5-7%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-4%200l-2%202%207-2-7-2z%22%20id=%22path836-3-0%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22TriangleOutM-7-9%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path972-5-3%22%20d=%22M2.308%200l-3.46%202v-4z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow1Mend-3-6%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path836-5-0%22%20d=%22M-4%200l-2%202%207-2-7-2z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow2Mend-6-6%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path854-2-2%22%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow2Mend-3-9-6%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path854-6-1-1%22%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow1Mend-5-2-8%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path836-3-7-7%22%20d=%22M-4%200l-2%202%207-2-7-2z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cdefs%20id=%22defs3-9%22%3E%3Cpath%20id=%22a-2%22%20d=%22M-58.3-45h653.6v640H-58.3z%22/%3E%3C/defs%3E%3Cpath%20id=%22path974%22%20d=%22M-58.3-45h653.6v640H-58.3z%22/%3E%3C/defs%3E%3Cpath%20d=%22M124.728%2079.637c-24.895%200-45.091%2020.196-45.091%2045.109%200%2024.886%2020.196%2045.126%2045.092%2045.126%2024.904%200%2044.952-20.24%2044.952-45.126%200-24.913-20.049-45.11-44.953-45.11zm90.41%2071.022l-8.128%2019.578%2014.497%2028.472%201.914%203.759-20.1%2020.1-32.979-15.575-19.578%208.04-9.938%2030.421-1.27%204.038h-28.41L98.85%20215.155%2079.27%20207.08l-28.514%2014.462-3.759%201.88-20.092-20.083%2015.559-32.997-8.067-19.56-30.37-9.92L0%20139.555v-28.393L34.362%2098.85l8.067-19.544-14.453-28.533-1.906-3.741%2020.066-20.066%2033.022%2015.55%2019.553-8.084%209.928-30.403L109.92%200h28.401l12.304%2034.38%2019.527%208.084%2028.523-14.471%203.794-1.906%2020.083%2020.066-15.558%2032.97%208.04%2019.588%2030.456%209.928%204.003%201.28v28.384z%22%20id=%22path2%22%20fill=%22#00f%22%20stroke-width=%22.278%22/%3E%3Cg%20id=%22g992-5%22%20transform=%22matrix(3.23542%200%200%203.23542%20-54.399%20117.43)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20id=%22path992-2-62%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20id=%22path1773-2-3-1-8-9-9%22%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cstyle%20id=%22style2%22%3E.st0%7Bdisplay:none%7D.st1%7Bfill:none;stroke:#303030;stroke-width:.7;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10%7D.st2%7Bfill:#303030%7D%3C/style%3E%3Cg%20id=%22g1022%22%20transform=%22matrix(.5585%200%200%20.5585%2076.484%2043.495)%22%3E%3Cg%20transform=%22translate(3.47%203.198)%22%20id=%22layer1%22%3E%3Cpath%20id=%22path9-3%22%20d=%22M21.358%20145.947a63.75%2063.75%200%200%200%201.152%2011.049%22%20class=%22st1%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20id=%22path11%22%20d=%22M48.702%2092.116a64.784%2064.784%200%200%200-12.559%2011.68%2064.99%2064.99%200%200%200-12.69%2024.809%22%20class=%22st1%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20class=%22st1%22%20id=%22line17%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22%20d=%22M184.865%20207.591L41.298%20262.802%22/%3E%3Cpath%20d=%22M185.448%20175.07l.37.154c2.52.831%204.718%202.386%206.634%204.249%202.02%202.322%203.694%204.777%204.423%208.713%201.496%208.074-3.286%2016.05-10.95%2018.997l-1.06.408L41.298%20262.8l-.733.283c-8.003%203.077-17.551.461-21.82-6.975-3.3-5.748-2.736-12.198.418-21.613%203.155-9.414%202.86-21.856-1.644-33.55l.041.003-12.507-32.667c-12.88-33.415-.747-70.376%2027.41-90.31l-1.102-2.749c-3.685-9.583%201.14-20.438%2010.723-24.124%209.583-3.685%2020.439%201.14%2024.124%2010.723l1.654%203.239c34.881-3.556%2068.594%2015.855%2081.318%2049.33l15.24%2038.432c4.795%208.723%2011.831%2015.955%2021.028%2022.248z%22%20id=%22path21-3%22%20fill=%22#fff%22%20stroke=%22#303030%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20id=%22path826%22%20d=%22M64.268%20268.838l45.015-17.115s7.963%2024.296-14.427%2030.38c-22.39%206.086-30.588-13.265-30.588-13.265z%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3Cg%20id=%22layer3%22%3E%3Crect%20ry=%2219.847%22%20y=%223.671%22%20x=%2295.783%22%20height=%22135.189%22%20width=%22135.189%22%20id=%22rect845%22%20fill=%22#55acee%22%20stroke=%22#303030%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3C/g%3E%3Cg%20id=%22layer4%22%3E%3Cpath%20id=%22path7-6%22%20d=%22M172.724%2052.533V27.647h-9.888L144.047%2037.7l2.308%208.9%2014.833-8.076h.33v74.824H172.724V52.533z%22%20class=%22st2%22%20fill=%22#303030%22%20stroke-width=%2214.425%22/%3E%3C/g%3E%3C/g%3E%3Cg%20id=%22g992-5-7%22%20transform=%22matrix(3.23542%200%200%203.23542%20-57.653%2011.124)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20id=%22path992-2-62-5%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20id=%22path1773-2-3-1-8-9-9-3%22%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/svg%3E" }, - "design": { - "graph": { - "blocks": [ - { - "id": "5db88ba9-4815-4306-a0bd-011a04320d43", - "type": "basic.outputLabel", - "data": { - "name": "a2", - "range": "[3:0]", - "oldBlockColor": "fuchsia", - "blockColor": "deeppink", - "size": 4 - }, - "position": { - "x": 584, - "y": -816 - } - }, - { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "type": "basic.output", - "data": { - "name": "c" - }, - "position": { - "x": 1136, - "y": -776 - } - }, - { - "id": "953bb56e-7062-4133-a3b8-a2b4a99eefee", - "type": "basic.outputLabel", - "data": { - "name": "b2", - "range": "[3:0]", - "blockColor": "fuchsia", - "size": 4 - }, - "position": { - "x": 584, - "y": -752 - } - }, - { - "id": "8a04b594-7cc1-4376-a931-fd06de691765", - "type": "basic.inputLabel", - "data": { - "name": "a2", - "range": "[3:0]", - "pins": [ - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "deeppink" - }, - "position": { - "x": 40, - "y": -672 - } - }, - { - "id": "4f2c77a9-f54e-4c7e-b1b8-d1739ea521c7", - "type": "basic.outputLabel", - "data": { - "name": "a1", - "range": "[7:0]", - "blockColor": "deeppink", - "size": 8 - }, - "position": { - "x": 392, - "y": -640 - } - }, + "design": { + "graph": { + "blocks": [ { - "id": "61c0c845-bdd7-4f77-987f-049ce228f9fb", - "type": "basic.output", + "id": "046501b8-4427-4d4d-af97-7fe807774f33", + "type": "basic.input", "data": { - "name": "s", - "range": "[19:0]", - "size": 20 + "name": "", + "clock": true }, "position": { - "x": 1152, - "y": -616 + "x": 408, + "y": -72 } }, { - "id": "e2589574-b6cc-4faf-8e69-3d23248bcba2", + "id": "05f62e09-33f9-435f-8355-d4529a75ab42", "type": "basic.inputLabel", "data": { - "name": "a1", - "range": "[7:0]", - "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia", - "blockColor": "deeppink" - }, - "position": { - "x": 40, - "y": -608 - } - }, - { - "id": "10ec9fec-863a-417a-ad84-528db337fb64", - "type": "basic.input", - "data": { - "name": "", - "range": "[19:0]", - "clock": false, - "size": 20 + "name": "clk", + "blockColor": "yellow" }, "position": { - "x": -488, - "y": -608 + "x": 552, + "y": -72 } }, { - "id": "4743defe-36c0-40a2-aaf0-188272583034", - "type": "basic.outputLabel", + "id": "0d991cee-b329-439b-b9e7-5712d2db539d", + "type": "basic.output", "data": { - "name": "b1", - "range": "[7:0]", - "blockColor": "fuchsia", - "size": 8 + "name": "state" }, "position": { - "x": 392, - "y": -560 + "x": 960, + "y": 8 } }, { - "id": "6736a55c-7818-4da9-9c1a-f57200ad2526", - "type": "basic.inputLabel", + "id": "89a5da53-cc8b-4099-a5e3-b9cf281619b1", + "type": "basic.output", "data": { - "name": "a0", - "range": "[7:0]", - "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia", - "blockColor": "deeppink" + "name": "rst" }, "position": { - "x": -160, - "y": -512 + "x": 960, + "y": 120 } }, { - "id": "7d042e3c-08e0-4027-ba97-6f6143ac0b7e", + "id": "a83c9acd-2e13-413d-907f-7231924811d8", "type": "basic.outputLabel", "data": { - "name": "a0", - "range": "[7:0]", - "blockColor": "deeppink", - "size": 8 + "name": "clk", + "blockColor": "yellow" }, "position": { - "x": 224, - "y": -448 + "x": 448, + "y": 216 } }, { - "id": "7114cf32-af2c-438f-b816-1043a8bd819d", + "id": "2b16f62c-39ef-4e1c-aa83-f0d248bfecc8", "type": "basic.outputLabel", "data": { - "name": "b0", - "range": "[7:0]", - "blockColor": "fuchsia", - "size": 8 + "name": "clk", + "blockColor": "yellow" }, "position": { - "x": 224, - "y": -384 + "x": 800, + "y": 216 } }, { - "id": "f62b9e82-b3fd-4c5a-a557-83cd59d38253", - "type": "basic.inputLabel", + "id": "aefe9248-3b3d-441b-9e65-33cda65b99dd", + "type": "basic.output", "data": { - "name": "b2", - "range": "[3:0]", - "pins": [ - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia" + "name": "on" }, "position": { - "x": 24, - "y": -368 + "x": 1088, + "y": 288 } }, { - "id": "a3761c9e-14ee-47ef-95f0-ddbb132ba6cf", - "type": "basic.inputLabel", - "data": { - "name": "b1", - "range": "[7:0]", - "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia" + "id": "88176871-35ac-42bf-bf62-36c81a4b4b47", + "type": "basic.input", + "data": { + "name": "start", + "clock": false }, "position": { - "x": 24, - "y": -296 + "x": 424, + "y": 288 } }, { - "id": "c7cabb03-f5e2-4e4d-a1f1-166dfb0fdd43", + "id": "ba15eacb-1e03-4580-932b-3231703481e5", "type": "basic.input", "data": { - "name": "", - "range": "[19:0]", - "clock": false, - "size": 20 + "name": "stop", + "clock": false }, "position": { - "x": -496, - "y": -240 + "x": 424, + "y": 352 } }, { - "id": "a7cd6890-7130-4f25-9966-b5ca1132d597", - "type": "basic.inputLabel", + "id": "00a49b33-7325-4584-86d5-fbf8c73a8fab", + "type": "basic.outputLabel", "data": { - "name": "b0", - "range": "[7:0]", - "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia" + "name": "clk", + "blockColor": "yellow" }, "position": { - "x": -160, - "y": -224 + "x": 808, + "y": 368 } }, { - "id": "64c3574b-3227-40ab-ab03-c2e2af710a45", - "type": "cb23aa3d8a3e95bd194fd9ec9b9c40b36595d893", - "position": { - "x": 392, - "y": -432 + "id": "3802390d-8417-4369-b93c-dda647ccb0c6", + "type": "basic.output", + "data": { + "name": "off" }, - "size": { - "width": 96, - "height": 64 + "position": { + "x": 1080, + "y": 440 } }, { - "id": "0857be54-1eea-4619-841f-b1bb49aa66d0", - "type": "c3c498191b14e9288a85fa2871b3966665f75475", + "id": "de860182-e038-4198-b4a4-505dd7a6fa9e", + "type": "35f267d0df6ffcb7fc33753bc9df9cf083642cca", "position": { - "x": 560, - "y": -576 + "x": 736, + "y": 120 }, "size": { "width": 96, - "height": 96 + "height": 64 } }, { - "id": "17bd7ef3-6604-48a9-9c2e-50a8be908636", - "type": "8cc49c9b29485f2cfeab6064d7bb1cf9ced045b1", + "id": "42f19387-aa1f-4514-88aa-adca9bf9f03b", + "type": "basic.info", + "data": { + "info": "**Tic de apagado**", + "readonly": true + }, "position": { - "x": 800, - "y": -520 + "x": 1080, + "y": 424 }, "size": { - "width": 96, - "height": 64 + "width": 168, + "height": 40 } }, { - "id": "eb462252-c746-424c-9847-aa12833473de", - "type": "0f6c392fd18934000cbfa24f7cb7eab931e7c1b2", + "id": "eaab4880-4c6d-422f-a8ab-c06e579aa7c6", + "type": "basic.info", + "data": { + "info": "**Tic de encendido**", + "readonly": true + }, "position": { - "x": -336, - "y": -240 + "x": 1080, + "y": 272 }, "size": { - "width": 96, - "height": 64 + "width": 168, + "height": 40 } }, { - "id": "ff9ed4d1-32ff-420c-9f6e-6b96af0b2102", - "type": "c97ea62c7e57797474a81bca730a1b2bec259617", + "id": "4e85996b-c40e-4f84-bfbc-ff87d4bc425d", + "type": "basic.info", + "data": { + "info": "**Inicializar**", + "readonly": true + }, "position": { - "x": -160, - "y": -312 + "x": 968, + "y": 96 }, "size": { - "width": 96, - "height": 64 + "width": 168, + "height": 40 } }, { - "id": "1703f5b9-4ad0-41f0-9183-b17efbcd53ed", - "type": "0f6c392fd18934000cbfa24f7cb7eab931e7c1b2", + "id": "130f81c9-ce87-47a8-b393-762b31a724fc", + "type": "basic.info", + "data": { + "info": "**Estado de la máquina**", + "readonly": true + }, "position": { - "x": -328, - "y": -608 + "x": 936, + "y": -16 }, "size": { - "width": 96, - "height": 64 + "width": 168, + "height": 40 } }, { - "id": "1803dbec-e808-45a7-9d09-65dc654c9108", - "type": "c97ea62c7e57797474a81bca730a1b2bec259617", + "id": "676afc2b-c0b0-4829-b192-7e64dde3d21d", + "type": "ef27646a2ca3d9f1e7811dac0fd909719b5affe1", "position": { - "x": -128, - "y": -624 + "x": 600, + "y": 272 }, "size": { "width": 96, - "height": 64 + "height": 96 } }, { - "id": "270340c2-6f0f-4f3f-879a-df92a0666cf2", - "type": "a1ce303b8ce47a06371ea4641c81460f34a1cca9", + "id": "1c4e8a3b-13ab-4364-9a0e-820f6a31ab95", + "type": "ae13be3e513e7cb48d47d3fb3aa840dd85dc1f5e", "position": { - "x": 744, - "y": -768 + "x": 928, + "y": 272 }, "size": { "width": 96, - "height": 96 + "height": 64 } }, { - "id": "323a770f-e07e-467f-bfd8-57f25a4e1475", - "type": "decca3cf2b9498594a9c2a30320829ba70f6fabb", + "id": "4deefcf0-477f-40e1-af35-6e99a039cea8", + "type": "3ae3bbe36b39edd47bc66dd6290af6cb6c47fa47", "position": { - "x": 976, - "y": -616 + "x": 944, + "y": 424 }, "size": { "width": 96, @@ -22642,3324 +18006,3688 @@ "wires": [ { "source": { - "block": "eb462252-c746-424c-9847-aa12833473de", - "port": "b4a2e85c-b31d-4363-be79-79d23492dd85", - "size": 8 + "block": "046501b8-4427-4d4d-af97-7fe807774f33", + "port": "out" }, "target": { - "block": "a7cd6890-7130-4f25-9966-b5ca1132d597", + "block": "05f62e09-33f9-435f-8355-d4529a75ab42", "port": "inlabel" - }, - "size": 8 + } }, { "source": { - "block": "7114cf32-af2c-438f-b816-1043a8bd819d", + "block": "a83c9acd-2e13-413d-907f-7231924811d8", "port": "outlabel" }, "target": { - "block": "64c3574b-3227-40ab-ab03-c2e2af710a45", - "port": "63477487-9493-4058-a7e1-9bab443ec466", - "size": 8 + "block": "676afc2b-c0b0-4829-b192-7e64dde3d21d", + "port": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6" + } + }, + { + "source": { + "block": "2b16f62c-39ef-4e1c-aa83-f0d248bfecc8", + "port": "outlabel" }, - "size": 8 + "target": { + "block": "1c4e8a3b-13ab-4364-9a0e-820f6a31ab95", + "port": "2708468d-1088-4570-be63-fb0d4799a941" + } }, { "source": { - "block": "7d042e3c-08e0-4027-ba97-6f6143ac0b7e", + "block": "00a49b33-7325-4584-86d5-fbf8c73a8fab", "port": "outlabel" }, "target": { - "block": "64c3574b-3227-40ab-ab03-c2e2af710a45", - "port": "b4b08c4b-8eb1-4cd3-a1bf-a45bf7177ed3", - "size": 8 + "block": "4deefcf0-477f-40e1-af35-6e99a039cea8", + "port": "2708468d-1088-4570-be63-fb0d4799a941" + } + }, + { + "source": { + "block": "676afc2b-c0b0-4829-b192-7e64dde3d21d", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, - "size": 8 + "target": { + "block": "1c4e8a3b-13ab-4364-9a0e-820f6a31ab95", + "port": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff" + } + }, + { + "source": { + "block": "676afc2b-c0b0-4829-b192-7e64dde3d21d", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + }, + "target": { + "block": "0d991cee-b329-439b-b9e7-5712d2db539d", + "port": "in" + }, + "vertices": [ + { + "x": 720, + "y": 144 + } + ] + }, + { + "source": { + "block": "676afc2b-c0b0-4829-b192-7e64dde3d21d", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + }, + "target": { + "block": "de860182-e038-4198-b4a4-505dd7a6fa9e", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } + }, + { + "source": { + "block": "de860182-e038-4198-b4a4-505dd7a6fa9e", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "89a5da53-cc8b-4099-a5e3-b9cf281619b1", + "port": "in" + } }, { "source": { - "block": "4f2c77a9-f54e-4c7e-b1b8-d1739ea521c7", - "port": "outlabel" + "block": "88176871-35ac-42bf-bf62-36c81a4b4b47", + "port": "out" }, "target": { - "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", - "port": "4bf17d89-89b8-4524-800a-2d15f9bbb111", - "size": 8 - }, - "size": 8 + "block": "676afc2b-c0b0-4829-b192-7e64dde3d21d", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + } }, { "source": { - "block": "4743defe-36c0-40a2-aaf0-188272583034", - "port": "outlabel" + "block": "ba15eacb-1e03-4580-932b-3231703481e5", + "port": "out" }, "target": { - "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", - "port": "3867504b-f331-4e0e-b923-acc86cb4255c", - "size": 8 - }, - "size": 8 + "block": "676afc2b-c0b0-4829-b192-7e64dde3d21d", + "port": "fc243ba8-9abb-4a22-81c4-fabdf043cd01" + } }, { "source": { - "block": "ff9ed4d1-32ff-420c-9f6e-6b96af0b2102", - "port": "99e7399f-ce06-4f67-ae35-0b9a6785d60e", - "size": 8 + "block": "1c4e8a3b-13ab-4364-9a0e-820f6a31ab95", + "port": "1c25e08e-e664-4fab-9b30-cedc1f8a3739" }, "target": { - "block": "a3761c9e-14ee-47ef-95f0-ddbb132ba6cf", - "port": "inlabel" - }, - "size": 8 + "block": "aefe9248-3b3d-441b-9e65-33cda65b99dd", + "port": "in" + } }, { "source": { - "block": "ff9ed4d1-32ff-420c-9f6e-6b96af0b2102", - "port": "9a0bd20b-0206-4f0e-b07d-e96696b705c5", - "size": 4 + "block": "676afc2b-c0b0-4829-b192-7e64dde3d21d", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "f62b9e82-b3fd-4c5a-a557-83cd59d38253", - "port": "inlabel" + "block": "4deefcf0-477f-40e1-af35-6e99a039cea8", + "port": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff" }, - "size": 4 + "vertices": [ + { + "x": 744, + "y": 368 + } + ] }, { "source": { - "block": "1703f5b9-4ad0-41f0-9183-b17efbcd53ed", - "port": "b4a2e85c-b31d-4363-be79-79d23492dd85", - "size": 8 + "block": "4deefcf0-477f-40e1-af35-6e99a039cea8", + "port": "1c25e08e-e664-4fab-9b30-cedc1f8a3739" }, "target": { - "block": "6736a55c-7818-4da9-9c1a-f57200ad2526", - "port": "inlabel" + "block": "3802390d-8417-4369-b93c-dda647ccb0c6", + "port": "in" + } + } + ] + } + } + }, + "3ae3bbe36b39edd47bc66dd6290af6cb6c47fa47": { + "package": { + "name": "Falling-edge-detector CLONE", + "version": "0.3-c1697559169818", + "description": "Falling-edge detector. It generates a 1-period pulse (tic) when a falling edge is detected on the input", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22185.363%22%20height=%22183.398%22%20viewBox=%220%200%2049.043981%2048.524089%22%3E%3Cg%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M13.478%2032.434l6.026%207.975-5.054%206.03%201.749%201.556m-3.96-15.367l-3.5%207.976-7.97%201.555.583%202.529%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%221.058%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M12.773%201.984v29.943%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%223.969%22/%3E%3Cpath%20d=%22M1.984%2022.176l10.689%2010.452%2010.35-10.452%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%223.969%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22matrix(.842%200%200%20.842%20-48.178%20-26.157)%22%20stroke=%22green%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "2b563f82-937a-4a8e-92c0-d29e947d1cac", + "type": "basic.output", + "data": { + "name": "nc" }, - "size": 8 + "position": { + "x": 712, + "y": 56 + } }, { - "source": { - "block": "1803dbec-e808-45a7-9d09-65dc654c9108", - "port": "99e7399f-ce06-4f67-ae35-0b9a6785d60e", - "size": 8 - }, - "target": { - "block": "e2589574-b6cc-4faf-8e69-3d23248bcba2", - "port": "inlabel" + "id": "2708468d-1088-4570-be63-fb0d4799a941", + "type": "basic.input", + "data": { + "name": "", + "clock": true }, - "size": 8 + "position": { + "x": 88, + "y": 152 + } }, { - "source": { - "block": "1803dbec-e808-45a7-9d09-65dc654c9108", - "port": "9a0bd20b-0206-4f0e-b07d-e96696b705c5", - "size": 4 + "id": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", + "type": "basic.input", + "data": { + "name": "", + "clock": false }, - "target": { - "block": "8a04b594-7cc1-4376-a931-fd06de691765", - "port": "inlabel" + "position": { + "x": 88, + "y": 280 + } + }, + { + "id": "1c25e08e-e664-4fab-9b30-cedc1f8a3739", + "type": "basic.output", + "data": { + "name": "" }, - "size": 4 + "position": { + "x": 688, + "y": 296 + } }, { - "source": { - "block": "953bb56e-7062-4133-a3b8-a2b4a99eefee", - "port": "outlabel" + "id": "49c0a94e-2687-4aa4-8cba-327b2942095f", + "type": "basic.info", + "data": { + "info": "## Falling edge detector\n\nIt generates a 1-period pulse (tic) when a falling edge is detected on the \ninput signal", + "readonly": true }, - "target": { - "block": "270340c2-6f0f-4f3f-879a-df92a0666cf2", - "port": "d192d0af-e7be-4be6-925a-50227d80784c", - "size": 4 + "position": { + "x": 104, + "y": -40 }, - "size": 4 + "size": { + "width": 568, + "height": 80 + } }, { - "source": { - "block": "5db88ba9-4815-4306-a0bd-011a04320d43", - "port": "outlabel" + "id": "a6ea5e17-d259-4272-8d1c-87a6a7fe3235", + "type": "basic.info", + "data": { + "info": "Input signal", + "readonly": true }, - "target": { - "block": "270340c2-6f0f-4f3f-879a-df92a0666cf2", - "port": "c2d36218-be99-4dd1-bf69-7690c667255b", - "size": 4 + "position": { + "x": 96, + "y": 256 }, - "size": 4 + "size": { + "width": 136, + "height": 40 + } }, { - "source": { - "block": "64c3574b-3227-40ab-ab03-c2e2af710a45", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "id": "d0d6c668-3c03-42f5-9244-9a0431f11a87", + "type": "basic.info", + "data": { + "info": "System clock", + "readonly": true }, - "target": { - "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", - "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" + "position": { + "x": 104, + "y": 120 + }, + "size": { + "width": 96, + "height": 48 } }, { - "source": { - "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", - "port": "9daaaf78-5a89-4d4a-a1b2-db1d3af962f1" + "id": "f18011f4-eb45-4f91-9716-c1d8c99f1845", + "type": "basic.info", + "data": { + "info": "Current signal \nstate", + "readonly": true }, - "target": { - "block": "17bd7ef3-6604-48a9-9c2e-50a8be908636", - "port": "5a35cd57-1006-4f6d-b263-5b977e9ef142" + "position": { + "x": 192, + "y": 368 }, - "size": 8 + "size": { + "width": 168, + "height": 48 + } }, { - "source": { - "block": "64c3574b-3227-40ab-ab03-c2e2af710a45", - "port": "dc2d9a2c-9ee9-4985-a678-d88c89fd8b74" + "id": "ab801839-c115-4e44-adb7-349586890b97", + "type": "basic.info", + "data": { + "info": "Signal state in the previous \nclock cycle", + "readonly": true }, - "target": { - "block": "17bd7ef3-6604-48a9-9c2e-50a8be908636", - "port": "38fdb02d-4323-4a34-9ffe-8385f844b660" + "position": { + "x": 328, + "y": 200 }, - "size": 8 + "size": { + "width": 248, + "height": 48 + } }, { - "source": { - "block": "eb462252-c746-424c-9847-aa12833473de", - "port": "865e30d6-1832-4a16-a2b5-6bf334df5cf4" + "id": "fde5c436-d382-48e7-80b5-390c05f46b9d", + "type": "basic.info", + "data": { + "info": "If the current signal is 0 and its value in \nthe previous clock cycle was 1, it means \nthat a falling edge has been detected! \nThe output es 1\n\nIn any other case the output is 0", + "readonly": true }, - "target": { - "block": "ff9ed4d1-32ff-420c-9f6e-6b96af0b2102", - "port": "46011ec6-127b-4e6b-83ca-aed5b18ae4d0" + "position": { + "x": 560, + "y": 136 }, - "size": 12 + "size": { + "width": 344, + "height": 96 + } }, { - "source": { - "block": "c7cabb03-f5e2-4e4d-a1f1-166dfb0fdd43", - "port": "out" + "id": "c3990bfd-57a6-4602-ab46-800486326dd6", + "type": "basic.info", + "data": { + "info": "**Delay**: 0 clock cycles \n\nThere is no delay between the arrival of a falling edge \nand its detection", + "readonly": true }, - "target": { - "block": "eb462252-c746-424c-9847-aa12833473de", - "port": "6a8347bb-e6ee-494a-87c8-277445460362" + "position": { + "x": 224, + "y": 488 + }, + "size": { + "width": 416, + "height": 88 + } + }, + { + "id": "cb3c75b7-aa35-448f-bd35-28e6df0c68f3", + "type": "ba518ee261a2be13a9739cd3a01cdcebe0ef63c0", + "position": { + "x": 544, + "y": 296 }, - "size": 20 + "size": { + "width": 96, + "height": 64 + } }, { - "source": { - "block": "10ec9fec-863a-417a-ad84-528db337fb64", - "port": "out" - }, - "target": { - "block": "1703f5b9-4ad0-41f0-9183-b17efbcd53ed", - "port": "6a8347bb-e6ee-494a-87c8-277445460362" + "id": "ffe5388b-d5a9-4c10-a091-472e212b4945", + "type": "3676a00f3a70e406487ed14b901daf3e4984e63d", + "position": { + "x": 312, + "y": 400 }, - "size": 20 + "size": { + "width": 96, + "height": 64 + } }, + { + "id": "2d9bc250-6e26-46b7-b580-18a611e9a27f", + "type": "58ed2b5c7e33e2f215ccba6c101d9ea4ff60f284", + "position": { + "x": 320, + "y": 264 + }, + "size": { + "width": 96, + "height": 64 + } + } + ], + "wires": [ { "source": { - "block": "1703f5b9-4ad0-41f0-9183-b17efbcd53ed", - "port": "865e30d6-1832-4a16-a2b5-6bf334df5cf4" + "block": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", + "port": "out" }, "target": { - "block": "1803dbec-e808-45a7-9d09-65dc654c9108", - "port": "46011ec6-127b-4e6b-83ca-aed5b18ae4d0" - }, - "size": 12 + "block": "2d9bc250-6e26-46b7-b580-18a611e9a27f", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + } }, { "source": { - "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "block": "2708468d-1088-4570-be63-fb0d4799a941", + "port": "out" }, "target": { - "block": "270340c2-6f0f-4f3f-879a-df92a0666cf2", - "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" + "block": "2d9bc250-6e26-46b7-b580-18a611e9a27f", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" } }, { "source": { - "block": "270340c2-6f0f-4f3f-879a-df92a0666cf2", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "block": "cb3c75b7-aa35-448f-bd35-28e6df0c68f3", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "block": "1c25e08e-e664-4fab-9b30-cedc1f8a3739", "port": "in" } }, { "source": { - "block": "270340c2-6f0f-4f3f-879a-df92a0666cf2", - "port": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42" + "block": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", + "port": "out" }, "target": { - "block": "323a770f-e07e-467f-bfd8-57f25a4e1475", - "port": "b54d5820-5a61-4527-87ba-b3ec0c5edc82" - }, - "size": 4 + "block": "ffe5388b-d5a9-4c10-a091-472e212b4945", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } }, { "source": { - "block": "17bd7ef3-6604-48a9-9c2e-50a8be908636", - "port": "79c56f9a-597f-491e-b1d1-d321f63303c2" + "block": "2d9bc250-6e26-46b7-b580-18a611e9a27f", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" }, "target": { - "block": "323a770f-e07e-467f-bfd8-57f25a4e1475", - "port": "c4ca0e6a-6557-45ee-8363-1bffebaad486" - }, - "size": 16 + "block": "cb3c75b7-aa35-448f-bd35-28e6df0c68f3", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } }, { "source": { - "block": "323a770f-e07e-467f-bfd8-57f25a4e1475", - "port": "49d4333f-b5a4-459c-8469-232e5e95d956" + "block": "ffe5388b-d5a9-4c10-a091-472e212b4945", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, "target": { - "block": "61c0c845-bdd7-4f77-987f-049ce228f9fb", - "port": "in" - }, - "size": 20 + "block": "cb3c75b7-aa35-448f-bd35-28e6df0c68f3", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + } } ] } } }, - "cb23aa3d8a3e95bd194fd9ec9b9c40b36595d893": { + "bf21f4d270a776c39e0c3763ffe9253d8f25e93d": { "package": { - "name": "Adder-8bits", - "version": "0.1", - "description": "Adder-8bits: Adder of two operands of 8 bits", + "name": "14-Reg-rst", + "version": "0.8", + "description": "14-Reg-rst: 14 bits Register with reset. Verilog implementation", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", - "otid": 1618560481898 + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22286.865%22%20height=%22270.812%22%20viewBox=%220%200%2075.899794%2071.65232%22%3E%3Cpath%20d=%22M43.907%2033.607h10.645%22%20color=%22#000%22%20fill=%22#00f%22/%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M102.876%20163.95l4.552%2028.037%205.644-28.037%22%20fill=%22#ccc%22%20transform=%22matrix(.65581%20-.3791%20.37863%20.6566%20-85.712%20-27.533)%22/%3E%3Cpath%20d=%22M99.758%20149.859l2.39-28.512h-9.831v-5.462h31.86v5.462h-9.284l1.724%2028.769s7.509%201.248%209.269%206.48c1.76%205.231-.367%207.286.15%207.36l-36.077-.044s-.817-6.104%202.015-9.194c2.832-3.09%207.784-4.86%207.784-4.86z%22%20fill=%22red%22%20transform=%22matrix(.65581%20-.3791%20.37863%20.6566%20-85.712%20-27.533)%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M102.876%20163.95l4.552%2028.037%205.644-28.037%22%20fill=%22#ccc%22%20transform=%22matrix(.65581%20-.3791%20.37863%20.6566%20-69.38%20-28.47)%22/%3E%3Cpath%20d=%22M99.758%20149.859l2.39-28.512h-9.831v-5.462h31.86v5.462h-9.284l1.724%2028.769s7.509%201.248%209.269%206.48c1.76%205.231-.367%207.286.15%207.36l-36.077-.044s-.817-6.104%202.015-9.194c2.832-3.09%207.784-4.86%207.784-4.86z%22%20fill=%22red%22%20transform=%22matrix(.65581%20-.3791%20.37863%20.6566%20-69.38%20-28.47)%22/%3E%3C/g%3E%3Cg%20transform=%22translate(-93.518%20-25.072)%20scale(1.09073)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20cx=%22100.602%22%20cy=%2273.815%22%20r=%2214.559%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618509859237 }, "design": { "graph": { "blocks": [ { - "id": "1c85838b-e269-4a65-a112-0a1bbca9b2a1", - "type": "basic.inputLabel", + "id": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", + "type": "basic.input", "data": { - "name": "a1", - "range": "[3:0]", - "pins": [ - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia", - "blockColor": "deeppink" + "name": "", + "clock": true }, "position": { - "x": 16, - "y": -688 + "x": 560, + "y": 64 } }, { - "id": "d01b9c0c-a541-49e6-b5aa-a0c0f21612a0", - "type": "basic.outputLabel", + "id": "36fccd77-8921-45ec-b4f9-9dd209acaefa", + "type": "basic.output", "data": { - "name": "a1", - "range": "[3:0]", - "oldBlockColor": "fuchsia", - "blockColor": "deeppink", - "size": 4 + "name": "nc" }, "position": { - "x": 352, - "y": -664 + "x": 1184, + "y": 72 } }, { - "id": "b4b08c4b-8eb1-4cd3-a1bf-a45bf7177ed3", + "id": "93c58f23-2a4f-40ba-8cc1-80e434606d4e", + "type": "basic.output", + "data": { + "name": "nc" + }, + "position": { + "x": 1184, + "y": 144 + } + }, + { + "id": "c97f7411-94ef-4d63-ba23-ce596ebcbb25", + "type": "basic.input", + "data": { + "name": "rst", + "clock": false + }, + "position": { + "x": 560, + "y": 168 + } + }, + { + "id": "521f03e5-f364-41b0-a2b8-c7858e6debf5", + "type": "basic.output", + "data": { + "name": "", + "range": "[13:0]", + "size": 14 + }, + "position": { + "x": 1184, + "y": 224 + } + }, + { + "id": "e699a6f3-fd6f-49dc-a8d3-d35853cb8e6b", "type": "basic.input", "data": { "name": "", - "range": "[7:0]", + "range": "[13:0]", "clock": false, - "size": 8 + "size": 14 }, "position": { - "x": -312, - "y": -632 + "x": 560, + "y": 272 } }, { - "id": "f3b83846-5723-40b3-a598-fd21797f7ce1", - "type": "basic.inputLabel", + "id": "f1022de4-0225-43d7-92d3-451161ee6942", + "type": "basic.input", "data": { - "name": "a0", - "range": "[3:0]", - "pins": [ - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, + "name": "load", + "clock": false + }, + "position": { + "x": 560, + "y": 376 + } + }, + { + "id": "9544d010-d8ad-4946-b068-6b9273721873", + "type": "basic.output", + "data": { + "name": "nc" + }, + "position": { + "x": 1184, + "y": 376 + } + }, + { + "id": "d9020031-ade2-47d0-bca0-4b88fe7eaebd", + "type": "basic.constant", + "data": { + "name": "", + "value": "0", + "local": false + }, + "position": { + "x": 864, + "y": -80 + } + }, + { + "id": "2947d492-028d-487a-83fa-b2f84a2e2d2f", + "type": "basic.code", + "data": { + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "rst" + }, + { + "name": "d", + "range": "[13:0]", + "size": 14 + }, + { + "name": "load" + } + ], + "out": [ + { + "name": "q", + "range": "[13:0]", + "size": 14 + } + ] + }, + "params": [ { - "index": "0", - "name": "", - "value": "" + "name": "INI" } ], - "virtual": true, - "oldBlockColor": "fuchsia", - "blockColor": "deeppink" + "code": "//-- Generic register with reset\n//-- Number of bits\nlocalparam N = 14;\n\n//-- Initial value\nreg [N-1:0] qi = INI;\n\nalways @(posedge clk)\nbegin\n\n //-- Reset has the priority\n if (rst == 1'b1)\n qi <= INI;\n \n else\n //-- The value is load only if \n //-- load is 1\n if (load == 1'b1)\n qi <= d;\n \n //-- In any other case the reg\n //-- keeps its value\nend\n\n//-- Connect the register with the\n//-- output\nassign q = qi;\n" }, "position": { - "x": 16, - "y": -616 + "x": 720, + "y": 40 + }, + "size": { + "width": 376, + "height": 424 } + } + ], + "wires": [ + { + "source": { + "block": "d9020031-ade2-47d0-bca0-4b88fe7eaebd", + "port": "constant-out" + }, + "target": { + "block": "2947d492-028d-487a-83fa-b2f84a2e2d2f", + "port": "INI" + }, + "vertices": [] }, { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "type": "basic.output", - "data": { - "name": "c" + "source": { + "block": "2947d492-028d-487a-83fa-b2f84a2e2d2f", + "port": "q" }, - "position": { - "x": 960, - "y": -608 - } + "target": { + "block": "521f03e5-f364-41b0-a2b8-c7858e6debf5", + "port": "in" + }, + "size": 14 }, { - "id": "fb36b075-bb31-4aa7-8dbd-f0d108126f21", - "type": "basic.outputLabel", - "data": { - "name": "b1", - "range": "[3:0]", - "blockColor": "fuchsia", - "size": 4 + "source": { + "block": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", + "port": "out" }, - "position": { - "x": 352, - "y": -584 + "target": { + "block": "2947d492-028d-487a-83fa-b2f84a2e2d2f", + "port": "clk" } }, { - "id": "dc2d9a2c-9ee9-4985-a678-d88c89fd8b74", - "type": "basic.output", - "data": { - "name": "s", - "range": "[7:0]", - "size": 8 + "source": { + "block": "e699a6f3-fd6f-49dc-a8d3-d35853cb8e6b", + "port": "out" }, - "position": { - "x": 960, - "y": -544 - } + "target": { + "block": "2947d492-028d-487a-83fa-b2f84a2e2d2f", + "port": "d" + }, + "size": 14 }, { - "id": "6de2e227-2992-41fb-a52e-16e86632cd2c", - "type": "basic.outputLabel", - "data": { - "name": "a0", - "range": "[3:0]", - "oldBlockColor": "fuchsia", - "blockColor": "deeppink", - "size": 4 + "source": { + "block": "c97f7411-94ef-4d63-ba23-ce596ebcbb25", + "port": "out" }, - "position": { - "x": 184, - "y": -472 + "target": { + "block": "2947d492-028d-487a-83fa-b2f84a2e2d2f", + "port": "rst" } }, { - "id": "d5b2605b-a224-4d60-896b-d1553fd943e1", - "type": "basic.inputLabel", - "data": { - "name": "b1", - "range": "[3:0]", - "pins": [ - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia" + "source": { + "block": "f1022de4-0225-43d7-92d3-451161ee6942", + "port": "out" }, - "position": { - "x": 8, - "y": -440 + "target": { + "block": "2947d492-028d-487a-83fa-b2f84a2e2d2f", + "port": "load" } - }, + } + ] + } + } + }, + "5ba0990b1cafb42a483bf845663b1bce6cbfa43b": { + "package": { + "name": "AdderK-14bits", + "version": "0.6", + "description": "AdderK-14bit: Adder of 14-bit operand and 14-bit constant", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618560481898 + }, + "design": { + "graph": { + "blocks": [ { - "id": "e3beef79-c05d-4705-8dbc-de5b7b94941a", - "type": "basic.outputLabel", + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", "data": { - "name": "b0", - "range": "[3:0]", - "blockColor": "fuchsia", - "size": 4 + "name": "c" }, "position": { - "x": 184, - "y": -408 + "x": 952, + "y": -344 } }, { - "id": "63477487-9493-4058-a7e1-9bab443ec466", + "id": "ccf244b8-cc65-453c-a958-19a3768f7007", "type": "basic.input", "data": { "name": "", - "range": "[7:0]", + "range": "[13:0]", "clock": false, - "size": 8 + "size": 14 }, "position": { - "x": -320, - "y": -384 + "x": 384, + "y": -288 } }, { - "id": "df32424c-55e8-45ed-9adc-3d8bb146e3e0", - "type": "basic.inputLabel", + "id": "097a6fa5-5366-4605-952c-dcc1425e255c", + "type": "basic.output", "data": { - "name": "b0", - "range": "[3:0]", - "pins": [ - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia" + "name": "s", + "range": "[13:0]", + "size": 14 }, "position": { - "x": 8, - "y": -368 - } - }, - { - "id": "6781108b-d67f-4ee8-97a9-79bab2c400b1", - "type": "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a", - "position": { - "x": -168, - "y": -384 - }, - "size": { - "width": 96, - "height": 64 + "x": 952, + "y": -232 } }, { - "id": "ffcdd533-6cad-4ba4-9f88-4b1030d78af8", - "type": "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a", - "position": { - "x": -152, - "y": -632 + "id": "e728fdca-755f-4f2d-98e7-0716b1c5258f", + "type": "basic.constant", + "data": { + "name": "", + "value": "0", + "local": false }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "7b82019f-c8a7-4b8c-baa1-6eb224a95cb2", - "type": "25966b9480fc28011aea0e17452c30d5ff9d76e8", "position": { - "x": 352, - "y": -456 - }, - "size": { - "width": 96, - "height": 64 + "x": 680, + "y": -472 } }, { - "id": "b8a72421-dc14-4c18-b343-9c3516b37f54", - "type": "afb28fd5426aea14477d11cbe30a290679f789f8", - "position": { - "x": 760, - "y": -544 + "id": "2ad3d9b5-c810-4c17-b74b-9fc432126626", + "type": "basic.code", + "data": { + "ports": { + "in": [ + { + "name": "a", + "range": "[13:0]", + "size": 14 + } + ], + "out": [ + { + "name": "c" + }, + { + "name": "s", + "range": "[13:0]", + "size": 14 + } + ] + }, + "params": [ + { + "name": "k" + } + ], + "code": "//-- Number of bits\nlocalparam N = 14;\n\n//-- Temporal cable with N+1 bits\nwire [N:0] temp;\n\nwire [N-1:0] b = k;\nassign temp = {1'b0, a} + {1'b0, b};\nassign s = temp[N-1:0];\nassign c = temp[N];" }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", - "type": "a1ce303b8ce47a06371ea4641c81460f34a1cca9", "position": { - "x": 520, - "y": -600 + "x": 560, + "y": -368 }, "size": { - "width": 96, - "height": 96 + "width": 336, + "height": 224 } } ], "wires": [ { "source": { - "block": "6781108b-d67f-4ee8-97a9-79bab2c400b1", - "port": "eb61d084-ca22-4894-b8a2-f936db38f4b1", - "size": 4 + "block": "2ad3d9b5-c810-4c17-b74b-9fc432126626", + "port": "c" }, "target": { - "block": "df32424c-55e8-45ed-9adc-3d8bb146e3e0", - "port": "inlabel" - }, - "size": 4 + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" + } }, { "source": { - "block": "6781108b-d67f-4ee8-97a9-79bab2c400b1", - "port": "637e64f4-0a6b-4037-9a75-89397e078a58", - "size": 4 + "block": "e728fdca-755f-4f2d-98e7-0716b1c5258f", + "port": "constant-out" }, "target": { - "block": "d5b2605b-a224-4d60-896b-d1553fd943e1", - "port": "inlabel" - }, - "size": 4 + "block": "2ad3d9b5-c810-4c17-b74b-9fc432126626", + "port": "k" + } }, { "source": { - "block": "ffcdd533-6cad-4ba4-9f88-4b1030d78af8", - "port": "637e64f4-0a6b-4037-9a75-89397e078a58", - "size": 4 + "block": "2ad3d9b5-c810-4c17-b74b-9fc432126626", + "port": "s" }, "target": { - "block": "1c85838b-e269-4a65-a112-0a1bbca9b2a1", - "port": "inlabel" + "block": "097a6fa5-5366-4605-952c-dcc1425e255c", + "port": "in" }, - "size": 4 + "size": 14 }, { "source": { - "block": "ffcdd533-6cad-4ba4-9f88-4b1030d78af8", - "port": "eb61d084-ca22-4894-b8a2-f936db38f4b1", - "size": 4 + "block": "ccf244b8-cc65-453c-a958-19a3768f7007", + "port": "out" }, "target": { - "block": "f3b83846-5723-40b3-a598-fd21797f7ce1", - "port": "inlabel" + "block": "2ad3d9b5-c810-4c17-b74b-9fc432126626", + "port": "a" }, - "size": 4 + "size": 14 + } + ] + } + } + }, + "c98ba9d3bd2afa5c5dc32f623ae81a9df5d211b3": { + "package": { + "name": "comp2-14bits", + "version": "0.2", + "description": "Comp2-14bit: Comparator of two 14-bit numbers", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22312.756%22%20height=%22168.82%22%20viewBox=%220%200%20293.20803%20158.26888%22%3E%3Cg%20font-weight=%22400%22%20letter-spacing=%220%22%20word-spacing=%220%22%20font-family=%22sans-serif%22%20stroke-width=%22.057%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M0%200h293.209v53.747H-.001zm0%20104.064h293.209v54.205H-.001z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20font-size=%2296.3%22%20fill=%22#00f%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E", + "otid": 1618594740929 + }, + "design": { + "graph": { + "blocks": [ + { + "id": "a42068b6-dc74-4537-869c-d20ea32059b0", + "type": "basic.input", + "data": { + "name": "", + "range": "[13:0]", + "clock": false, + "size": 14 + }, + "position": { + "x": 368, + "y": 56 + } }, { - "source": { - "block": "e3beef79-c05d-4705-8dbc-de5b7b94941a", - "port": "outlabel" + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", + "data": { + "name": "" }, - "target": { - "block": "7b82019f-c8a7-4b8c-baa1-6eb224a95cb2", - "port": "d192d0af-e7be-4be6-925a-50227d80784c", - "size": 4 + "position": { + "x": 968, + "y": 88 + } + }, + { + "id": "b457d512-6d78-479d-9b18-993a80c00740", + "type": "basic.input", + "data": { + "name": "", + "range": "[13:0]", + "clock": false, + "size": 14 }, - "size": 4 + "position": { + "x": 368, + "y": 176 + } }, { - "source": { - "block": "6de2e227-2992-41fb-a52e-16e86632cd2c", - "port": "outlabel" + "id": "2df886b0-4697-49ce-a8dd-2ffa9ede33a7", + "type": "basic.info", + "data": { + "info": "A", + "readonly": true }, - "target": { - "block": "7b82019f-c8a7-4b8c-baa1-6eb224a95cb2", - "port": "c2d36218-be99-4dd1-bf69-7690c667255b", - "size": 4 + "position": { + "x": 408, + "y": 32 }, - "size": 4 + "size": { + "width": 80, + "height": 32 + } }, { - "source": { - "block": "fb36b075-bb31-4aa7-8dbd-f0d108126f21", - "port": "outlabel" + "id": "fa5825ce-289b-4004-84f5-12ee322cae15", + "type": "basic.info", + "data": { + "info": "B", + "readonly": true }, - "target": { - "block": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", - "port": "d192d0af-e7be-4be6-925a-50227d80784c", - "size": 4 + "position": { + "x": 408, + "y": 152 }, - "size": 4 + "size": { + "width": 80, + "height": 32 + } }, { - "source": { - "block": "d01b9c0c-a541-49e6-b5aa-a0c0f21612a0", - "port": "outlabel" + "id": "3e7a13bd-12d9-438b-ac65-f3642c1c2066", + "type": "basic.code", + "data": { + "ports": { + "in": [ + { + "name": "a", + "range": "[13:0]", + "size": 14 + }, + { + "name": "b", + "range": "[13:0]", + "size": 14 + } + ], + "out": [ + { + "name": "o" + } + ] + }, + "params": [], + "code": "assign o = (a == b);" }, - "target": { - "block": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", - "port": "c2d36218-be99-4dd1-bf69-7690c667255b", - "size": 4 + "position": { + "x": 584, + "y": 56 }, - "size": 4 - }, + "size": { + "width": 304, + "height": 128 + } + } + ], + "wires": [ { "source": { - "block": "63477487-9493-4058-a7e1-9bab443ec466", + "block": "a42068b6-dc74-4537-869c-d20ea32059b0", "port": "out" }, "target": { - "block": "6781108b-d67f-4ee8-97a9-79bab2c400b1", - "port": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e" + "block": "3e7a13bd-12d9-438b-ac65-f3642c1c2066", + "port": "a" }, - "size": 8 + "size": 14 }, { "source": { - "block": "b4b08c4b-8eb1-4cd3-a1bf-a45bf7177ed3", + "block": "b457d512-6d78-479d-9b18-993a80c00740", "port": "out" }, "target": { - "block": "ffcdd533-6cad-4ba4-9f88-4b1030d78af8", - "port": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e" + "block": "3e7a13bd-12d9-438b-ac65-f3642c1c2066", + "port": "b" }, - "size": 8 + "size": 14 }, { "source": { - "block": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", - "port": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42" + "block": "3e7a13bd-12d9-438b-ac65-f3642c1c2066", + "port": "o" }, "target": { - "block": "b8a72421-dc14-4c18-b343-9c3516b37f54", - "port": "a1770adf-e143-4506-9d87-3cb9c870f534" + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" + } + } + ] + } + } + }, + "be366defa772394c264631243c78ced91837ab0f": { + "package": { + "name": "14-bits-k-1", + "version": "0.0.3", + "description": "Generic: 14-bits k-1 constant (Input values: 1,2,...,). It returns the value input by the user minus 1. Outputs: 0,1,2,...,4095", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20width=%22379.943%22%20height=%22248.129%22%20viewBox=%220%200%20356.19654%20232.62089%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20fill=%22green%22%3E%3Cg%20style=%22line-height:0%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%3E%3Cpath%20d=%22M56.012%20146.905q9.055%206.708%2020.459%2017.105%2011.404%2010.062%2022.472%2021.801%2011.403%2011.739%2021.465%2024.149%2010.062%2012.074%2016.1%2022.471h-32.87q-6.372-10.397-15.763-21.13-9.392-11.068-20.124-21.13-10.398-10.062-21.13-18.447-10.398-8.385-18.783-14.086v74.793H0V4.696L27.838%200v141.874q18.447-16.1%2036.894-31.863%2018.447-16.1%2033.204-33.205h32.534q-14.422%2017.106-34.881%2035.217-20.124%2018.112-39.577%2034.882z%22%20style=%22line-height:1.25%22%20font-size=%22335.399%22%20font-weight=%22400%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22/%3E%3C/g%3E%3Cg%20style=%22line-height:1.25%22%20font-size=%22240.378%22%20stroke-width=%226.009%22%3E%3Cpath%20d=%22M127.343%20148.678h70.366v21.41h-70.366zM243.924%20210.427h43.081V61.732l-46.867%209.4V47.11l46.606-9.4h26.371v172.717h43.082v22.194H243.924z%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "d10a3bb7-99d9-4193-8faf-cbe27f5c8482", + "type": "basic.output", + "data": { + "name": "", + "range": "[13:0]", + "size": 14 + }, + "position": { + "x": 1008, + "y": 248 + } + }, + { + "id": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "type": "basic.constant", + "data": { + "name": "K", + "value": "1", + "local": false + }, + "position": { + "x": 744, + "y": 120 + } + }, + { + "id": "294f1eb0-e5cf-4c89-b914-bbb9b8305d64", + "type": "basic.info", + "data": { + "info": "Output: 0,1,2,...,4095", + "readonly": true + }, + "position": { + "x": 1016, + "y": 224 }, - "size": 4 + "size": { + "width": 192, + "height": 40 + } }, { - "source": { - "block": "7b82019f-c8a7-4b8c-baa1-6eb224a95cb2", - "port": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42" + "id": "83e77c69-25af-4960-9fe3-c1fb07abf203", + "type": "basic.info", + "data": { + "info": "Inputs: 1,2,...", + "readonly": true }, - "target": { - "block": "b8a72421-dc14-4c18-b343-9c3516b37f54", - "port": "843164ff-f7d8-48b9-bf59-1e0d1135c81f" + "position": { + "x": 728, + "y": 80 }, - "size": 4 + "size": { + "width": 184, + "height": 40 + } }, { - "source": { - "block": "b8a72421-dc14-4c18-b343-9c3516b37f54", - "port": "1269698e-e555-4fcb-a613-cb4c7ff2e598" + "id": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "type": "basic.code", + "data": { + "ports": { + "in": [], + "out": [ + { + "name": "k", + "range": "[13:0]", + "size": 14 + } + ] + }, + "params": [ + { + "name": "VALUE" + } + ], + "code": "assign k = VALUE-1;" }, - "target": { - "block": "dc2d9a2c-9ee9-4985-a678-d88c89fd8b74", - "port": "in" + "position": { + "x": 672, + "y": 248 }, - "size": 8 - }, + "size": { + "width": 240, + "height": 64 + } + } + ], + "wires": [ { "source": { - "block": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "block": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "port": "constant-out" }, "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "port": "in" + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "VALUE" } }, { "source": { - "block": "7b82019f-c8a7-4b8c-baa1-6eb224a95cb2", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "k" }, "target": { - "block": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", - "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" - } + "block": "d10a3bb7-99d9-4193-8faf-cbe27f5c8482", + "port": "in" + }, + "size": 14 } ] } } }, - "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a": { + "5fcfda234fb072b021cd8f915af77e7ae7860198": { "package": { - "name": "Bus8-Split-half", - "version": "0.1", - "description": "Bus8-Split-half: Split the 8-bits bus into two buses of the same size", + "name": "24-bits-Mux-2-1-verilog", + "version": "0.2", + "description": "2-to-1 Multplexer (24-bit channels). Verilog implementation", "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" + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2280.833%22%20height=%22158.56%22%20viewBox=%220%200%2075.781585%20148.65066%22%3E%3Cpath%20d=%22M74.375%2036.836c0-12.691-6.99-24.413-18.326-30.729-11.335-6.316-25.284-6.262-36.568.141C8.198%2012.652%201.304%2024.427%201.407%2037.118v74.415c-.103%2012.69%206.79%2024.466%2018.074%2030.87%2011.284%206.403%2025.233%206.457%2036.568.14%2011.336-6.316%2018.326-18.037%2018.326-30.728z%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%222.813%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.448%22%20y=%2291.518%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.448%22%20y=%2291.518%22%3E0%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.359%22%20y=%2214.582%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.359%22%20y=%2214.582%22%3E1%3C/tspan%3E%3C/text%3E%3C/svg%3E", + "otid": 1618922858665 }, "design": { "graph": { "blocks": [ { - "id": "637e64f4-0a6b-4037-9a75-89397e078a58", - "type": "basic.output", + "id": "a7083464-b9f2-4661-ba0e-e1875f71f9f7", + "type": "basic.input", "data": { "name": "1", - "range": "[3:0]", - "size": 4 + "range": "[23:0]", + "clock": false, + "size": 24 }, "position": { - "x": 584, - "y": 104 + "x": 328, + "y": -64 } }, { - "id": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e", - "type": "basic.input", + "id": "cf1ee513-b831-4546-b816-53c8196fca1c", + "type": "basic.output", "data": { "name": "", - "range": "[7:0]", - "clock": false, - "size": 8 + "range": "[23:0]", + "size": 24 }, "position": { - "x": 120, - "y": 208 + "x": 984, + "y": 24 } }, { - "id": "eb61d084-ca22-4894-b8a2-f936db38f4b1", - "type": "basic.output", + "id": "63847aa3-e2cd-4ff3-806d-b566a8176645", + "type": "basic.input", "data": { "name": "0", - "range": "[3:0]", - "size": 4 + "range": "[23:0]", + "clock": false, + "size": 24 }, "position": { - "x": 584, - "y": 232 + "x": 328, + "y": 24 } }, { - "id": "16e78204-213e-4833-9096-89d735307ec2", + "id": "1e7e3cd6-ed00-468a-9f7c-0bb91e020dce", + "type": "basic.input", + "data": { + "name": "sel", + "clock": false + }, + "position": { + "x": 320, + "y": 112 + } + }, + { + "id": "b64f5610-774d-45c0-bbc6-85b1a6713f43", "type": "basic.code", "data": { - "code": "assign o1 = i[7:4];\nassign o0 = i[3:0];", - "params": [], "ports": { "in": [ { - "name": "i", - "range": "[7:0]", - "size": 8 + "name": "i1", + "range": "[23:0]", + "size": 24 + }, + { + "name": "i0", + "range": "[23:0]", + "size": 24 + }, + { + "name": "sel" } ], "out": [ { - "name": "o1", - "range": "[3:0]", - "size": 4 - }, - { - "name": "o0", - "range": "[3:0]", - "size": 4 + "name": "o", + "range": "[23:0]", + "size": 24 } ] - } + }, + "params": [], + "code": "//-- 2-to-1 Multiplexer \n\nassign o = sel ? i1 : i0;" }, "position": { - "x": 272, - "y": 176 + "x": 560, + "y": -80 }, "size": { - "width": 240, - "height": 120 + "width": 304, + "height": 272 } } ], "wires": [ { "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o1" + "block": "1e7e3cd6-ed00-468a-9f7c-0bb91e020dce", + "port": "out" }, "target": { - "block": "637e64f4-0a6b-4037-9a75-89397e078a58", - "port": "in" + "block": "b64f5610-774d-45c0-bbc6-85b1a6713f43", + "port": "sel" }, - "size": 4 + "vertices": [] }, { "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o0" + "block": "a7083464-b9f2-4661-ba0e-e1875f71f9f7", + "port": "out" }, "target": { - "block": "eb61d084-ca22-4894-b8a2-f936db38f4b1", - "port": "in" + "block": "b64f5610-774d-45c0-bbc6-85b1a6713f43", + "port": "i1" }, - "size": 4 + "size": 24 }, { "source": { - "block": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e", + "block": "63847aa3-e2cd-4ff3-806d-b566a8176645", "port": "out" }, "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i" + "block": "b64f5610-774d-45c0-bbc6-85b1a6713f43", + "port": "i0" }, - "size": 8 + "size": 24 + }, + { + "source": { + "block": "b64f5610-774d-45c0-bbc6-85b1a6713f43", + "port": "o" + }, + "target": { + "block": "cf1ee513-b831-4546-b816-53c8196fca1c", + "port": "in" + }, + "size": 24 } ] } } }, - "25966b9480fc28011aea0e17452c30d5ff9d76e8": { + "698400cf4aed3c1bcc56992cf4dee108a0b3b2d8": { "package": { - "name": "Adder-4bits", - "version": "0.1", - "description": "Adder-4bits: Adder of two operands of 4 bits", + "name": "Mem-16KB-down-machine", + "version": "0.3", + "description": "16KB memory download machine", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", - "otid": 1618560481898 + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20viewBox=%220%200%2088.570022%20126.13218%22%20height=%22476.72%22%20width=%22334.753%22%3E%3Cg%20transform=%22translate(-158.43%20-96.411)%22%3E%3Cimage%20xlink:href=%22data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAgM0lEQVR4Xu1dCZBU1bm+PdPTM8CM%20AgMO+yCrAq4oGjWKIIorcYnRlD59saImGlOaqK/UPPeHu5VyjyYuMRu+uFVEjRqX4FNRQURwQVxQ%20YdiGZQYGepZ+33frfK9Oneq+t+/0zHTad/+qU7fv7bt0n/8///L9/znX+1ZTTDHFFFNMMcUUU0wx%20xRRTTDHFFFNMMcUUU0wxxZToofuX8XPo82LqcLaZUhUAMbucraKi4viysrI9jCBkp5gybKBH0un0%20cuy3URC6WwiSXvcRmV9ZVVV1azKZPBvN69+/vzd06FBv2LBh1mkxff31197ixYvJfa+1tfUnHR0d%20x7W1tc3HV2kJQakJQBmZjzYUo99n/qRJk7xTTz3V69WrV5bTY/rmm2+8u+++29u6desO2L0cAnCq%20YXy61AQgYe5bBebvB9XvJRIJ79hjj/VSqZTX3t6e5ZKYBg0a5B133HHenDlzPPRZLQ5VG+a3lpwJ%20kPoH83uT+Ww77rhjCPNjYh+Z/hqK3T5oW9C2obWXlAaQAMCm9SovL/cGDx7sQaWFXBbTTjvt5AsA%20+qwOu7SVSTnOpSgASdBkSjTtPhybkMtioomkyWTjLvmjSK0UncAkJLmMAgDKUwBiqqur81atWkUt%200Bcmc2XJaQCBPtqCvMrKyjztf0wIm9lp1AbjW1paPrIwlUzJaAAJAKgajbYtTwGIaeDAgd6KFSv8%20zmMfloIJcCFf3rOCDT7AKAgAAY78nMCYqC3lB/Q1/Zgy4WB7AERcVAFIiPE333zz6JEjR565ffv2%20Xlu2bKm58847d2psbKQAhGiAmOQr1dTU+J8PPPDAE37wgx8MhgO9BeZg++bNm18588wzXzYQcXtX%20CUGii5ifuuyyy8YD7Fk4YMAAOTHelVde6X300UfejBkzPAhGwG1i5ksA2HdPPfWUd/LJJ7NRczKM%209iOp55577oyzzjrrvwkOGUHIFFsDJIya6nPQQQfdSweGKoyNAgBNIIcmRxQQM15ELcl9oKdU/4yh%202W/sR/anvz98+PD/wqnPozUZc9BeFA3gMv/GG288CgLwaL9+/by+fft6q1ev9gXgqKOO8v/MEUcc%204UOdJUxiUgSmRhv59va3v/2tnztBv9J0+k40Bxe16fLly2effvrpt1EIlCfobg2Q0FYq34J7q6ZN%20mzZ8v/32u5nSKonllhKrPACOyQcofQEonPlZma7GZ6jPFD5v27bN69Onj78/evTon/34xz9+/v77%20719s+NFup5OjOoqJKA7ezjvvPAuM7QuGJkBlyFtXgNkzMbrHUXUx3Utmf/XVVz7zTzrpJL9TTjnl%20FK+EieYrAuO1H8r8nBrgb3/7m1dbW+vNnj3bfzY165AhQ7zPPvvM9wlWrly5DFnD5yAUaQhMB4Qk%20g/My0LxPn3POOQuiOIqJPCDd1IMPPnjiiBEjHiFzObK15Y9Zs2aNn+Ovrq5mKtP74IMPlPjxfvGL%20X3ggCkKpC0AhjNdxfbZb1u9ffPFFb8OGDd4dd9zB+gBv/fr13pgxYzw62OzzTz75hKaWfc5+5jFt%20aX5/hrT7gzQPchQ7awLKZOPB4Nly7CQAbBzlUv38/P7773vQEs0vv/zyckhpNTpkNK6X+i911a/P%20UUe8y2jdI6tgiMj4t956axGFb88996wD0wfRDJDp7G/wQ+l18kJbaoo7jjzyyL8/++yzX8tR7JQG%20EPPRasHQT/FwPkBCwCaJ8zXAhx9+6Esp4lVJqXfDDTf42uDggw/uSVsscjtd+1Gu1/lsETRAkLoP%201whLlizx2+9//3uNbm/8+PHe22+/7e2yyy5ECmluXQ3A5kdeTz/99OlwIOfiVs0mZMwUpAEA6pDx%20fKgEQM6ez4w33niDQuDbLVJzczO/U1hDFdqVjC/cMYt+vYRAx8JUvCtA+Qinew/aeoZ+ZDAjAZ/p%20L730EiMEAkbsY35HXnDLfqdJZn/3poOO1kIB6KwJSAjWBZOXbtq0acK6det4c7v5Dx83bhwZQcEg%20w33mAwFkR7goYE8LghgSpgGiMknfBal7Nff5bIHnsx+5hZPN/vQZrKTaPvvsw/IxagGZYTX1/Qo4%207B8Y/y1RSBiokKIDCN9//upXvzoRUjgMzKxgBMBIgIQQpQwJjElQRymZBgoAnRj9GVzTE/Y5aDQV%20cr39XRRV79p6CQKZlfV7HaPZlPYk0zm6JQDIEHKkL2tqatrcAWIEwMvwfevatWu/efTRR1+wI4BC%20BYA32o625dprr32R/gBab3NdObzSGoAWp+AHp+QfSOVLimWnihSjizGFXu9+7zLVfYaOaWt/lkl0%20Ge+eRy0qbIX7cvoIq484/vjjH4BGbrJCvq1oG9BWo20zqj/U9iZC1H81mY5q1csQ6x+KeHSkHQbS%204VMRA4/RLr3zzjsefYbXXnuNjTbMb98KClf37ne5jkkLZDUX7Nd//vOf3ne/+13vkEMO8Xr37s1I%20gJqAZsHXrtAATB3bTiCPrYXf8NpvfvObG8GHz4UWFuIElkGl/BwO3r+7IaCwfkqlnEH+6LFjx3Kf%20zJc0f9vyAO7IzmfUZ8MW3OO6BweStGd6t912S5Hpb775pjd58mSli8lw5Q3kBBIbGIhrT0QSbgTM%209jGqJ+iMACivX4VM1BnCAOwmW88fy+8XLFjAH9R49NFHPwNPNA3I8mgcHwTp/bYIQC47HmYqcp7j%20OpiuxnjssceW3X777f/D/YcffvhwhIH1+++/vwYd+10aQELBRuRw3/PPP38s0vGLFQayRRWASrQ+%20YF6N7BCbGwYyTUnmm+rf/n/+859P5+df//rX3scff+ypIORbQLkAnSAH0T2WCxDKeg5yLBP/9Kc/%20TbSdwHnz5tEcKMyWj2BjATQhHIzjcJtPjA/XHlUDCAPoDa9T6kXhhv9gMXbhwoW0RYxTqf4JBUtA%205PCUPBLo2m2X+focgQLxAWL+ep4YTJyFnxsaGuhnMSlE6F0mVlv6ATzOaKHNDOLyzkQBSgKVY87a%20vXBEzqVU8eZ8iJhKdJB2CRgBpZPHZaPowRbTB3DVaqHXh4V67oiOKgTaJ+MY40sA5PlL8xJsI/PT%20mE+YIlDEczTYYG7pN9BJnHfvvfd+lk9NYTIkBGy9/PLLn5syZcoqPHRnaIIqU6yYAGMpWeWoA9h1%203333HQfG0ymk6uEPlQAwj01hKVUBEEPz9eZzYQt5h6LLli0jw3k+4XRXALjPnMt6wL3zySOc126u%207QBrtmOQrnnmmWfeVh1hZ5NBHWS+iS03zp8//2O0tSY3UG5a6phjjhkPp2Sc4n/lsCWRaMUe/WJM%20IdcGaQD+vyBgxx7pYc/loGHmz36WgCBbAJgXGAwsoOamm26aJ0ab1kJ+oTWibdF3hQhAC8KQjtNO%20O+0QPPBgSFh5whCksgwmYJjtINIUfPnll2SARkexBUCd35UCQIa710SCjd3vlTHl6Hc1Co9xS5yf%20dl8a4fDDD5+2xx57jAAPVA/gI7eoKVz4/PPPz4EWkAB0RBWAhGl8SM0FF1xwPx4yXo6dtgR7Nm7c%20qOofZgVZrsSctf8ZxOOlYv+DGGcLM7dhYV02LRAaKXz66adZsQH6A6NGjfK++OILf4ChLoMCwHQx%20ne8x6G95/0oaTdh1112PQ6Rw8vXXX/9GZ6FgqviKH/7wh6cB5h2fDQPgD6Dal+3HH6D6WoLpzSuQ%20H6hFR00pCQEITwa5zHcdvygYQFYBBYbPweQy33/ek08+OR9+1DqM9tqJEyfuB6bT0dM6C9II8hNk%20LmrgnJ+Nr98xvGyPggMIBOoNaZqZCwOgACgWfe+99wgHUyv0wxz3fvBOK1naDCqeAES3wdkydmJ6%20ULVPlJSve4whm7z+rNfuvffew1BnMYz9iMGYBhiUAj7AwWfnB1xAiP1eTx4aHKA1qgmoQOuFZMM2%20Le0iVS8hkF2aO3euX6Sw++678/gQNP04tmJhAO4oDTtH4Wouu5+rHiDoWNjz+Tyqdqn+XGsGDGEx%20CJnKfqYJIBhUX19PbMBGAwXPU5swZE8aAWg2g7o9igDwghTU+st4yIEo8qR614PUuNYPcQB2gh0B%20KEnEzz2NAopRQUwPvc62+7YwhJHLePd+7rmI5VnxG6hdpGnJZEHAsPF+4ccLL7ygzKsGp2oFeXyp%20GchlnU0Hd1xzzTXzZs2add306dMPwg1T6AS/yIC1AHhgAn+gDAKyN+yRoGEJQE+HgTbTIwhA4LlK%20bbueea578ry8439oVwI2YfWECv2k1qVdOcqX4bNqAjIQlAySRh1pELTywoceeuhFjfqoAkCOtZmc%208mbY8vfQvsF+jSTKXFcJ3P80FSdasCVbT6OAfE6AAETzB8TMELJHdyR4mBEUwrW8tAqFRFgAeKuq%20HxZ/1iE8nwsHkuq2VcCdUfmN5J3hYVvUbGDGXNTCm8ABqcVExYGQsio0nl9ObYBc9QGIS4fpB0kA%20ILHqCDGm2GrfPTdSvt9toKAQMBQSpsqX05cHUdXbA0ueP0PAHe67776TkSz6K/q8FfdrY8PnXsBi%20Nr/yyiubyMNOFYWqnBiFIMfAAbnBjQA0H4CMFvYPtUMcm99zCpPjHUemqPa7K+bm2aPfbi4zXSaH%20ZvtssAfMsZy+cGKU8Prrr8u790w6WFp28HnnnXc+czJ2JMDt2Wef/QjC+EsiQcH2TKCf/vSnoydM%20mEDm55wPIPWPknCqpmY4i58atTUGm2qZgH/xtK6Y7gI/dtMxCbUNCGk/0PaT6eifKMzX/IA0/IWl%20uI4O9xhA8tUHHHAAGc0+Z3OxAG4ZIfzb7373u0U/+tGPHrDKwzKhGkBz/hBrni6VLqbbn/VgxPy0%20aXT81iFV2c7vlL9mKxIFedZBJVuuANgYiC0IWa9xBcl2hOnxa7Z0BGJ+IAVktZ1C9eqrr34BQGgS%20J+DstddedmGIRr6azAUHYq+gxFAyFwYAhlbxB8vDd6Fgph5ZnkxnBhlBerUjEaeOxHcMGYVs9SST%20XTXunhNUjp1LACT4OuYyOFeuwN5nH3WK+boe4NpkMpU8QG6GU8c4SYSwO7Ot2YpCOCiJMFYRC5Av%20EMUEpABQLCHowHBF8/5tIu6PQlECEtQGFBTNExDzu0MAwpgpFet+F8z4cAFwr8l79EMrkhkF9YVU%20vJjNmgCG2iy+Yf/zmO1n0G8gwTfYbkVuiUg4wK233roIocYcqJyD8cBBkmp1Do41IzlBhldbtqi7%20BUCMCMvURREAXeMCP3axRdSmkS9MpCBBp++AbKwPCilFvMMOO6QBCDUCgh+kCEihMPiyEY7466gL%20fKJTOIBSwZjd+zi2LErsh1apKiFeN3PmzJFXXXXVLI4ONcs77Q4BiFKCnU0AwkZ8wPGiMF8CYDt6%203FcVdurxxx9fftttt82x5gZ0GOx/o5kfsDXIASQlA0CgJrQNmIo0GGqmL6SrEq2cNQE1oDPOOMNO%20FPFHUvq6QwDEvDDmh2mIfBnsRgNhQuPmDKj2HeYXLADC/O0ld7iG0IHAFRrhiK8jBsCqIPAijRxN%20K2oCGslDGwyKBAQh3kxdcskls4Et7207f3LyiEopSmBCg3XrBDlce1kA5a3m3a0oDxtv2+9sQpS3%20AMj/IMgjh68ryHj/nC1MH4BRAZNzFAiqetZsHMucjJw/YQFQ/w1wFn+C6myiuB1RcAC2sl/+8pdX%20wM67zBfmLxDIF4SlS5d6tEfwTL8CQOSvC1CQAIQzsKsFINu9o5gHxfnsj67WfGT6avCigWX3eMZw%20ONx08MgHNTcEZBsEMz0bAjA1ihOoKWG9MPIPs3EAu5FUC0AQCCaCKGB/ABX9oY5YKl6IBsjmXefj%202UcVAG2D7mufn2ufI94N9bpSANi/dejbOo5sMp9l44DoyQOZBxcHUCZ2l1tuuWVfDOZ5uXyBZI4J%20IdX4MzVcm8bWAPqsCSFaFwDlR5ocomyVmNYVDl4+4E22e0URAp0fKgDudWQ6R77sc3cQw0j5W0Bn%20WSPgm1xUCPG4iwOo0VQTla0jT+ULBGoAe0oY2lrUAwxEuKFRL/LVHNEoAD+Cg9kEQ0b3AcLj8rDz%20omiTIEdOlJXZrhDQBrP+UdhDdxHnY7hRAMwBcQD6AxRCt8BUi3RsRV3gEmEBkSaGYC7aLUgo/BwP%20GOJIvyYhNIL5/dHo/EkACBw5AhCZ8Z3VBtrm60i69wtkvnsNRxdr+XR+dxL7VQIgGB7amRnBZvgC%201RRABwsgGLQBcwcell8XFQdIo7hzKdq12B9gagHKhQPAIemDdQG+B+9TDiG3MhH5hoFBuHoU2DYb%20sztjXkKZr+JQ+DkclT2V6+AAk523cQGO8hRqAh7FHMxG4QDWWgHr0b4JWysgmQsEQtuMdOIQePf7%20EHTgqiBs6IAylCmPB0pYazkg/DFkJrdibHeM+nyAHzdTx2ORwkqX6fpMJI7MVxlXTxEdTJob8IH4%20ggSAWjh1xRVXHIEw/CPwhrzrIBaAz61AY1fAAfyQwhBFADISgj/+8Y8XA+s/xnUCyWyqPjJY8wEB%20OvDHsMlOhavjcMZHdwjdz+Fz/NTC7D4FW/aex3o6s0lnjn3PWgtlArlPSHggVmEbyLDQxQJQyLMP%20VhI5KbQs3MUALr300t3g3dvMd2sB1DhT1fcHnnjiiQWQ0jTO3x+d3j+LKg5KowYlVKLCv0EZw7yF%20T0zWdGsCMPq+GHTPPffM5fb73//+RDjg9ZivybUZqA1yYgHEcTBJ9ORzzz33/rxwAM35w41HK8HD%20G7lND+V8AGqBzz//fC1CkmGQ0ibkvSukItGij/rw40HMLhROVpO3rVCqaIyXFoPJHQbTm0IWdhPg%20efa9qoPCagJ2dsJABwfI8ro3jOKBzOgx3Wvj/ZrpQ3XDV50yHJw6dSqxgPEqB4MmYDawMyO5s0IQ%20ZRHH0BBTWkjhF4RZPkVRi1sOPfTQ3ckPMpYTQ7B4J00vcQGtHqowXIJAU81ooNKE9Vt4q7xwAEw8%20+AATPbZiejKLCeT9qnFU0A7xIaoF4GeZi6Awy7afUZgdBtkGCUC+foTqGch0OnwUcLu6qWhCoNBP%20CSEyW/X/1AQ0BfJXxCsKAWdrQSNHwgEybFiteiUeeAMqUWaiKGQ4vX9QQkzla0wgWYPhgFQ7qWA6%20ShKAqCM/2A8IX6SB2yjMd59HQIUjho0CYINaxV6rmGigFoWy1wxMAxD6ElP4iAVk0Dxu2TBI1/7l%20L395CeH6gnzTwYoA0lQXUOXvo63Bfl+0XlYtQAXeZTPhoosuGuv4BBQE4eE87uL4kRkOCmJa2HSv%20sHtJtUtdkukBL7cqriBQAKQBlIvh4pwo/96ACTxPaW6AtbbjJlMTsIX7eU0N08WaXIClxsbAw+/P%20eQAqBMGDdwBCON2pVVdIqCoabiM4gpF9gfxW6Q5v9O7p5LnVy0UUgvAZQiA5fXwryxRogvVIEK1A%20n/tCQBygEoTFpj90agI68jEB7Xg7Vd0JJ5zwACRsnJsIUtZLAoC4lKEgc9U2ChhVAKIJSDj8m7NA%20k8KpEYXUNUd9rmtzrv1XDGLCiQkg+l8sxhUKC4eb8f6ReCmHu3I4X9e/CotLn4Pyvoa8cAA5gXjB%20wy1wLGzm20KglarZiQwBGW9+CWdjPYSuBh01Vh1fIMAThtVHAZzYbHVPD1/OlZzbbHP8bOZrvxg+%20AAdeM3iyDJFANXCJscy5wPYrJUy+SPvas4UH431N90AAJltQfntWAVA1MFofPGhKrsUh7algzPtD%20/SzCJJJXqV4wVWzEd77znbH6IQWp//Da/chr95PJqmZyp3y7QuvOFnaFoYeJzvVmgEHzuHPxxRd/%20hWLdaQr/0Oz1hBQNCJUdCrh4+nXXXTfXrgkIEoBqwp4QgqwLQ1DV8yFcCpZFCQgVazET9Xv4LgMk%20sBfeciFp7MwI7xTcq3131GqSijx6mC4KrJa2t+cuqtPsY0FzAXtaG/BNLLVYtncWGcx8DON/ml7k%20ajgoyRdXA3BL/4ZRjd4fIF8gpwbgfhVuuBWLE/XOUgsgTJzM5yLQFJRhPMbzaFMxdYmd1LWjPvwe%209jO1r3WMKAAaHa59dxNHbsyv79mKxXz5LJXo8xGaH4CXRpCxHIAE5qjVstUE8Dues0FYQHhJGAiv%20JLsGb5+6QLUAjj0ns1dASEY48wFUGCFJ7DTkCyoogqB9h40UiKM5dq6nL0Zrm+14zn21HiIKr6IA%20qXyVizUiUqsGNpOyBJW8oNBsxNT+R4DrNJAVYUigpoVvxyLFS9CuNrUAVB/l9lvEEF6cxMWKskwI%204YMVBvYYw2Xfqe7gILkjPWCaeiiSmAvBLEZGUAJAYVY2ln1eceKJJz4EgW9WqGdai3l/wEpNDQsL%20AwUC8UbrjLrYrhdEmJaCw3cApowPcWsEhQgqZrXCr+4UADKbsTyl3bHdoat/BWkDl8HFYr77P2TK%20JBCMBGrw3uY9Acw9SX4JEDL2fqPh5WZ+l48AqBhkE5aInQoseRJHvVkaphw2pwKJiMOUJVRySEUg%202kYEgqKkaW01z0anrpA3g7jqPSgMLHpGEIUfeo2sPUOIOMAUvGOwCcc2kfk4Rl62oXhlKV44vQrR%202tZcq4Ym3VoAFBFOwtJkD+MhQ7NNCGGihD+C+4sWLeL6gEIBJZlkfr44QKTsIB0dRBruaC90RnGg%20utfxYhMZzsUl+P/Zz8Bd6IgLDOLqYdOdCSKcScwsYhOqt/kSiTeDfICEVDyygJfCcxwaMCGEW0UD%20tEdLYHe5SHEaAjIOD+4vAegEw9193p/PItMpYFGY4nr8BQhKUUlCSTRwSRrEUjD0yVhMQUuB6WET%20RGqwoATfJLqXfARbEyQdDKAGN58hECjXhBCqXYJACBNXQgtsxLYCmmADEMGMfACdHzG8U0WrMnMc%206RGYEk0Q1LElQBR+mgCfeeiTFryq7wvwYRyqg0MniOD8oVjuZwb8t7mWEGSyCUA1VTwQJt4w66IQ%20HJGcq8b1a/EjhoDpcgg9ZKb4lhBemy+Eq9WveF8y3Y1nu2OmTcm+sOKwww7bDXMx9FoYfwvgjXwg%20b7IWhbA/oZ2prbOCQUn3RdFgwlLYmgmK69mEoWs04v0A3OcKFQR/bCGRD+AyWfdQEzKXJ4Nicl8p%20z4IQ8gUmm1PFaCa5tXkgJJSTR7ZeffXVVmFIwLwAzCO7Ce+dPQ8MrYOzVwd/oNJ6nVkzsn9fwhEZ%20i5GfctYG5CjW4sddPBpjIrOhne03hckx5kBahtC8Foxm6l4oaBpRwGpo8yYsJ/eHrNlAeYWy/2gD%200UagDTUgUDVa0i4GeeCBB46DdzkKgkEUitlAaQBWrvpATPdQTIR/8WZwaV/2O/uf6eF1KP8mk1sd%20R2+rWTRyFdoKtAZTKLLd9QGEAWwx6FGKNzD7FXqHMN4dsD8mgo5SRCA0Suaie2PlmNx3CIkPCAEH%204GWRU1GoM8fE+20WPzeaWULN2bCApAMDp7GwwPAZM2bcgCTPWNl1MZhhHx+ulcOYjWI8KjBItr9b%20KCZqVy0aSbvOWdkSCNZk7AHnfA/wxl0trAER241ICT+WbdXQpA0Cgfn1WBz6Idy0xsUAGPrZkxBY%20lWJKx9fj+zRCtjRq1uu7LayKifaeo70BvgDRwEHvvvsuy8KVKFKBi1sUMghI4e14o/hK1BE854JB%20SXtCCEq9Z0GCxHy76SFML1IYOPI5B+CvSBrxHbUMC4fADtV3mwaIic4e52FQzXdMmzat7qyzzjqB%20L+dAWl6D0y0KkbngKmOn4rqX3UUjpQG47Q3vfqAyfE4xCG/Km2ttAHr688D8BSauTAAMqu3+apnY%20BzD2PP2Pf/xjPUZ/BXhzEvqcA5P8yYYFaI5DPau93DeIJO0ZQWB8K1U7gSAw1Mb0tWwpsX+uUPH+%20hRde+FccWmuSR0mopCHd7gTGoSD7vgkDlf1ehncDbwQAVAGmz6IPBpCIfoKwG9UEsDaCQrDOAEGK%206tpdJLDsrrvuehFTig+DJI2DTbcfrPlpvNF8FI3+wYQWqylRpoqoOR8BoGBRw5QKEWHj6CoW0c8C%205q+aBgI/O+It7Yu5y+7EuwOfx7wALtc7E4JRma14FZNHGgEFP2PVdbjzAX3VUIs2DK0eteaTEQUM%20ANMrcCNSBkxrA8zbgJKv5WS8EYC1+iGwSUdhIaPrKTgAkFjD5nde4RQT7DwhdvYnczD/geXfXrBq%20NerIY/gBQ+EfjOY7HdDKMiBo7zYIxfpnn312EXEANsOzZpkBlYJXkYloO/FmFAaznzLnCCdoNjjB%20GqvQIMnzsXDkz1EldDY9VAIWXUYxUetSAKiJuBjXJXhXEEfzZjN4+5Fvhmc11oqunmZ5WWDQGsO/%20FtsEZAxztaxIh7l5L7QKCYD1FpEmtE1mmzZSSEexRmAQVFYXqfnY5tPp1mLT3Gf9n+GHnLm0ccQ3%20GE2ekgC4PNPIz1YWrhuSWs3Jmg5mv0w6bc5rMZ8T5ruyBMiablWSoJAcp39F0iv4UKU1RoW/Wv/H%208KTJ4lmZg/BuYzPntbkCkNGJVl1guWkCiXROu91sIIkkpluOYylm3f7Vw0CZbQlBq2ktFvMTzsBV%2068g1MSRjtTb3HcLOOSJ9Tqj1CMNjSjhMFmNbrWOJAJ6FTg4VReFmGbJTEzXlqlsoJsK/rL9QfO4M%20Tm2jUbKrzCcApLcBB09k0WKXU0wq+2pBle/fHVVeEBU6XCtMuDgIbRRWF7sNocoYYgHFJL3mpRTJ%20rr9Mg+BQryOz8X+ake2bAxzgVSeeby+mAPCXVpvikeFo9cAA9kKoMoCARKKI9iAD4hZzHBsAj27j%20oVIKSOR4O5M8GtC+MtsN5nhHMQVAINKOBowYpKVlLRCpmNShpo4tMQFot1/jawCdtYb5muxRkGAn%20u0BSVXmyntLqgkhsRR5BGkWZEtQCAuAU5rGfm93K3mJqAGmBCjPiq0wTIJEoYudJA2S0LWEz0GZa%202rS2YjuB7j0UmyazgEjF70B7v7Qo42oz+1iRNED4vYrOfDHc3f4/o5hiiimmmGKKKaaYYooppphi%20iimmmGKKKaaYYooppv8FlJhXILrvZ3wAAAAASUVORK5CYII=%22%20preserveAspectRatio=%22none%22%20height=%22102.996%22%20width=%2287.169%22%20x=%22159.832%22%20y=%22119.548%22/%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20x=%22205.695%22%20y=%22150.011%22%20transform=%22scale(.98866%201.01147)%22%20font-weight=%22400%22%20font-size=%2219.302%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#ff0%22%20stroke-width=%22.504%22%3E%3Ctspan%20x=%22205.695%22%20y=%22150.011%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ERAM%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20x=%22205.372%22%20y=%22110.296%22%20transform=%22scale(.98866%201.01147)%22%20font-weight=%22400%22%20font-size=%2219.302%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#00f%22%20stroke-width=%22.504%22%3E%3Ctspan%20x=%22205.372%22%20y=%22110.296%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EDownload%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M206.647%20182.6a6.892%206.892%200%200%200-6.89%206.892c0%203.803%203.086%206.896%206.89%206.896%203.805%200%206.868-3.093%206.868-6.896%200-3.806-3.063-6.892-6.868-6.892zm13.814%2010.852l-1.242%202.991%202.215%204.35.293.575-3.072%203.072-5.039-2.38-2.991%201.228-1.519%204.648-.194.617h-4.341l-1.879-5.246-2.991-1.234-4.357%202.21-.575.287-3.07-3.069%202.378-5.042-1.233-2.989-4.64-1.515-.616-.2v-4.338l5.25-1.882%201.233-2.986-2.208-4.36-.291-.571%203.066-3.066%205.045%202.376%202.988-1.236%201.517-4.645.196-.616h4.34l1.88%205.253%202.983%201.236%204.358-2.212.58-.29%203.069%203.065-2.377%205.038%201.228%202.993%204.654%201.517.611.196v4.337z%22%20fill=%22#0ff%22/%3E%3Cg%20transform=%22matrix(.85604%200%200%20.85604%2085.035%2091.517)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E", + "otid": 1596697289362 }, "design": { "graph": { "blocks": [ { - "id": "1c9b3962-5793-4e6f-98d4-9ca2113d0823", - "type": "basic.inputLabel", + "id": "38abb13c-8652-41fb-931c-c7bf760ebb24", + "type": "basic.output", "data": { - "blockColor": "deeppink", - "name": "a3", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "deeppink" + "name": "busy" }, "position": { - "x": 8, - "y": -744 + "x": 1936, + "y": -168 } }, { - "id": "161a3e27-de9b-4674-b990-c1e8314a29f3", + "id": "a040cc3d-b2c6-458e-bde6-f8234a19b6d1", "type": "basic.outputLabel", "data": { - "blockColor": "deeppink", - "name": "a3", - "oldBlockColor": "deeppink" + "blockColor": "fuchsia", + "name": "busy" + }, + "position": { + "x": 1744, + "y": -168 + } + }, + { + "id": "9188c313-c3af-4a0b-b917-d759873cd681", + "type": "basic.outputLabel", + "data": { + "name": "addr", + "range": "[13:0]", + "blockColor": "navy", + "size": 14 + }, + "position": { + "x": 864, + "y": -144 + } + }, + { + "id": "f81791c6-f02f-46d0-b738-5895dd124243", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" + }, + "position": { + "x": 1744, + "y": -96 + } + }, + { + "id": "b359cb97-c324-4ffc-a73c-64c7f457e6fa", + "type": "basic.outputLabel", + "data": { + "name": "stdo", + "range": "[9:0]", + "blockColor": "fuchsia", + "size": 10 }, "position": { - "x": 576, - "y": -736 + "x": 1728, + "y": -16 } }, { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "type": "basic.output", + "id": "7fb933a6-5c63-4d46-8aaa-440b30974993", + "type": "basic.input", "data": { - "name": "c" + "name": "", + "clock": true }, "position": { - "x": 920, - "y": -696 + "x": -48, + "y": 24 } }, { - "id": "73a0a48e-d345-4eda-8603-782e9865d928", + "id": "2c31aa6a-383c-4eb5-b669-b8a31ad14225", "type": "basic.inputLabel", "data": { - "blockColor": "deeppink", - "name": "a2", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "deeppink" + "blockColor": "yellow", + "name": "clk" }, "position": { - "x": 8, - "y": -688 + "x": 96, + "y": 24 } }, { - "id": "05fb13c5-879a-422f-84a8-56d1db8816da", + "id": "a875b188-26fa-4052-ae81-4b5f22f4c1e5", "type": "basic.outputLabel", "data": { "blockColor": "fuchsia", - "name": "b3", + "name": "tic", "oldBlockColor": "fuchsia" }, "position": { - "x": 576, - "y": -672 + "x": 1648, + "y": 48 } }, { - "id": "a30f87da-7077-4ad6-92dd-adbfdd1bed45", - "type": "basic.inputLabel", + "id": "20d63505-e2fd-44ed-95b9-9f45e8875e70", + "type": "basic.output", "data": { - "blockColor": "deeppink", - "name": "a1", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "deeppink" + "name": "stdo", + "range": "[9:0]", + "size": 10 }, "position": { - "x": 8, - "y": -632 + "x": 2128, + "y": 48 } }, { - "id": "c2d36218-be99-4dd1-bf69-7690c667255b", - "type": "basic.input", + "id": "8ca2279c-fdc3-40d3-9fbe-2071c026932f", + "type": "basic.outputLabel", "data": { - "name": "", - "range": "[3:0]", - "clock": false, - "size": 4 + "blockColor": "fuchsia", + "name": "bus_mine", + "oldBlockColor": "fuchsia" }, "position": { - "x": -312, - "y": -632 + "x": 880, + "y": 112 } }, { - "id": "ed7a30bc-17fc-444e-89e5-aa9f83b32e86", + "id": "786f1170-66ce-4c3a-acdc-073388546edd", "type": "basic.outputLabel", "data": { - "blockColor": "deeppink", - "name": "a2", - "oldBlockColor": "deeppink" + "name": "data", + "range": "[7:0]", + "oldBlockColor": "fuchsia", + "blockColor": "fuchsia", + "size": 8 }, "position": { - "x": 456, - "y": -584 + "x": 1656, + "y": 112 } }, { - "id": "d7d5e8c8-78dd-41a8-aedf-1051b89bfb77", - "type": "basic.inputLabel", + "id": "886b88b1-4987-4f1f-aadd-d82bb53ab445", + "type": "basic.input", "data": { - "blockColor": "deeppink", - "name": "a0", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "name": "stdo", + "range": "[9:0]", + "clock": false, + "size": 10 }, "position": { - "x": 8, - "y": -576 + "x": -96, + "y": 120 } }, { - "id": "3c8597e6-ca79-494a-9a53-04c284205216", - "type": "basic.outputLabel", + "id": "523a4825-1562-4f5d-b129-c7d08fe542c2", + "type": "basic.inputLabel", "data": { + "name": "stdo", + "range": "[9:0]", "blockColor": "fuchsia", - "name": "b2", - "oldBlockColor": "fuchsia" + "size": 10 }, "position": { - "x": 456, - "y": -528 + "x": 48, + "y": 120 } }, { - "id": "ee992ca6-d586-4901-aaa3-a17d94ddac84", - "type": "basic.inputLabel", + "id": "90093714-11a0-4cea-ad1a-bae5e4aac8dc", + "type": "basic.outputLabel", "data": { + "name": "mbi", + "range": "[23:0]", "blockColor": "fuchsia", - "name": "b3", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "size": 24 }, "position": { - "x": -8, - "y": -448 + "x": 1128, + "y": 120 } }, { - "id": "c5dce3e4-5ecc-4fc9-bbf6-7c1adfa1c7ff", - "type": "basic.outputLabel", + "id": "7b8dd447-e9d2-4c9f-ba7c-c3af9abed4e8", + "type": "basic.output", "data": { - "blockColor": "deeppink", - "name": "a1", - "oldBlockColor": "fuchsia" + "name": "mbo", + "range": "[23:0]", + "size": 24 }, "position": { - "x": 328, - "y": -440 + "x": 1472, + "y": 120 } }, { - "id": "fb8bbeb1-5c60-4629-bc13-231545818d0b", + "id": "bf61387a-ef36-4f3c-898f-e274c3136b18", "type": "basic.inputLabel", "data": { "blockColor": "fuchsia", - "name": "b2", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "name": "next" }, "position": { - "x": -8, - "y": -384 + "x": 2064, + "y": 136 } }, { - "id": "d192d0af-e7be-4be6-925a-50227d80784c", - "type": "basic.input", + "id": "914e03dd-1133-4325-a333-b10f953ecce5", + "type": "basic.inputLabel", "data": { - "name": "", - "range": "[3:0]", - "clock": false, - "size": 4 + "blockColor": "fuchsia", + "name": "data", + "range": "[7:0]", + "size": 8 }, "position": { - "x": -312, - "y": -384 + "x": 576, + "y": 152 } }, { - "id": "038a8cb8-35b8-424a-9d14-c320cfcddccf", + "id": "93050bc1-206a-4fb3-9c14-9a41ab42f7ed", "type": "basic.outputLabel", "data": { + "name": "mbi", + "range": "[23:0]", "blockColor": "fuchsia", - "name": "b1" - }, - "position": { - "x": 328, - "y": -376 - } - }, - { - "id": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42", - "type": "basic.output", - "data": { - "name": "s", - "range": "[3:0]", - "size": 4 + "size": 24 }, "position": { - "x": 1064, - "y": -368 + "x": 224, + "y": 216 } }, { - "id": "527c9113-e440-454b-b427-182b646c10f5", - "type": "basic.inputLabel", + "id": "9be4488d-51be-4346-8a31-5d8f2f86e4d3", + "type": "basic.outputLabel", "data": { "blockColor": "fuchsia", - "name": "b1", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "name": "bus_mine", + "oldBlockColor": "fuchsia" }, "position": { - "x": -16, - "y": -320 + "x": 936, + "y": 248 } }, { - "id": "f8dceaf6-6020-49e5-b775-ed4821fbd5bd", - "type": "basic.outputLabel", + "id": "64a86ee7-b105-409d-9e91-cca498c9121b", + "type": "basic.input", "data": { - "blockColor": "deeppink", - "name": "a0", - "oldBlockColor": "fuchsia" + "name": "mbus", + "range": "[23:0]", + "clock": false, + "size": 24 }, "position": { - "x": 184, - "y": -296 + "x": -96, + "y": 264 } }, { - "id": "b652825e-10ba-47cc-9832-e39d73586234", + "id": "74555a80-b4b5-40d0-bf28-afa5a588b1e2", "type": "basic.inputLabel", "data": { + "name": "mbi", + "range": "[23:0]", "blockColor": "fuchsia", - "name": "b0", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "size": 24 }, "position": { - "x": -32, - "y": -264 + "x": 56, + "y": 264 } }, { - "id": "7e5351cc-ea73-4bb2-9dda-0390f005b90b", + "id": "923c4db6-0c76-4647-a848-75fd61fba6ec", "type": "basic.outputLabel", "data": { "blockColor": "fuchsia", - "name": "b0", + "name": "done", "oldBlockColor": "fuchsia" }, "position": { - "x": 184, - "y": -232 + "x": 936, + "y": 312 } }, { - "id": "e7d0a130-cf6b-4220-a06f-42543db0214f", - "type": "1ea21df64c18f01d8f4b905c437ccf0ca332baf6", - "position": { - "x": 320, - "y": -248 + "id": "05a1a5b4-bf29-49df-b0b1-887859d9ec9e", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "bbusy", + "oldBlockColor": "fuchsia" }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", - "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", "position": { - "x": 464, - "y": -392 - }, - "size": { - "width": 96, - "height": 96 + "x": 560, + "y": 336 } }, { - "id": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", - "position": { - "x": 608, - "y": -544 + "id": "b14f140b-7bb5-46d9-8019-39c27ff6e0e3", + "type": "basic.input", + "data": { + "name": "start", + "clock": false }, - "size": { - "width": 96, - "height": 96 - } - }, - { - "id": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "type": "c4f23ad05c2010ec9bd213c8814c9238873037ae", "position": { - "x": -168, - "y": -416 - }, - "size": { - "width": 96, - "height": 128 + "x": -80, + "y": 424 } }, { - "id": "57e59301-2919-4f06-ba95-54ce5d99d774", - "type": "c4f23ad05c2010ec9bd213c8814c9238873037ae", - "position": { - "x": -152, - "y": -664 + "id": "da45f105-3600-4458-a820-50046581f5dd", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "start" }, - "size": { - "width": 96, - "height": 128 - } - }, - { - "id": "11342001-e6e0-443b-af87-0e5d7ada0227", - "type": "84f0a15761ee8b753f67079819a7614923939472", "position": { - "x": 896, - "y": -400 - }, - "size": { - "width": 96, - "height": 128 + "x": 64, + "y": 424 } }, { - "id": "72c87c65-b34b-480f-8cde-cd97c0914014", - "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", - "position": { - "x": 744, - "y": -688 - }, - "size": { - "width": 96, - "height": 96 - } - } - ], - "wires": [ - { - "source": { - "block": "038a8cb8-35b8-424a-9d14-c320cfcddccf", - "port": "outlabel" + "id": "7d0852c6-4778-4a53-bf90-30527c44a0eb", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "target": { - "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", - "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + "position": { + "x": 1736, + "y": 464 } }, { - "source": { - "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "port": "f5a71d7b-de20-4527-80c8-0eb20de0dc77" + "id": "54e9bf9f-b852-4c45-bd53-f6eb4ee707eb", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "start_read" }, - "target": { - "block": "527c9113-e440-454b-b427-182b646c10f5", - "port": "inlabel" + "position": { + "x": 608, + "y": 504 } }, { - "source": { - "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "port": "0f7487e5-b070-4277-bba6-acf69934afca" + "id": "95c4416f-62f5-4196-a406-f7915d40a572", + "type": "basic.output", + "data": { + "name": "done" }, - "target": { - "block": "b652825e-10ba-47cc-9832-e39d73586234", - "port": "inlabel" + "position": { + "x": 2048, + "y": 536 } }, { - "source": { - "block": "7e5351cc-ea73-4bb2-9dda-0390f005b90b", - "port": "outlabel" + "id": "289f00be-f97d-4553-a60a-32d8b45da4cc", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "done", + "oldBlockColor": "fuchsia" }, - "target": { - "block": "e7d0a130-cf6b-4220-a06f-42543db0214f", - "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + "position": { + "x": 1728, + "y": 536 } }, { - "source": { - "block": "f8dceaf6-6020-49e5-b775-ed4821fbd5bd", - "port": "outlabel" + "id": "d7e7c210-c311-440e-b516-94c3f0244f34", + "type": "basic.input", + "data": { + "name": "nc", + "clock": false }, - "target": { - "block": "e7d0a130-cf6b-4220-a06f-42543db0214f", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + "position": { + "x": -80, + "y": 536 } }, { - "source": { - "block": "57e59301-2919-4f06-ba95-54ce5d99d774", - "port": "0f7487e5-b070-4277-bba6-acf69934afca" + "id": "fce01e4d-e6d2-4811-8f96-410673168b4c", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "bbusy", + "oldBlockColor": "fuchsia" }, - "target": { - "block": "d7d5e8c8-78dd-41a8-aedf-1051b89bfb77", - "port": "inlabel" + "position": { + "x": 152, + "y": 552 } }, { - "source": { - "block": "c5dce3e4-5ecc-4fc9-bbf6-7c1adfa1c7ff", - "port": "outlabel" + "id": "700d8b15-d6df-4b76-b10d-72db58c33e6c", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "bus_mine", + "oldBlockColor": "fuchsia" }, - "target": { - "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + "position": { + "x": 776, + "y": 584 } }, { - "source": { - "block": "57e59301-2919-4f06-ba95-54ce5d99d774", - "port": "f5a71d7b-de20-4527-80c8-0eb20de0dc77" + "id": "0399b081-5696-4bf7-bb75-cd55da78d4f5", + "type": "basic.outputLabel", + "data": { + "name": "data", + "range": "[7:0]", + "oldBlockColor": "fuchsia", + "blockColor": "fuchsia", + "size": 8 }, - "target": { - "block": "a30f87da-7077-4ad6-92dd-adbfdd1bed45", - "port": "inlabel" + "position": { + "x": 1648, + "y": 600 } }, { - "source": { - "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "port": "33072210-9ba0-4659-8339-95952b939e6e" + "id": "08007be8-e099-4080-acb1-e580660bb147", + "type": "basic.input", + "data": { + "name": "nc", + "clock": false }, - "target": { - "block": "fb8bbeb1-5c60-4629-bc13-231545818d0b", - "port": "inlabel" + "position": { + "x": -80, + "y": 616 } }, { - "source": { - "block": "57e59301-2919-4f06-ba95-54ce5d99d774", - "port": "33072210-9ba0-4659-8339-95952b939e6e" + "id": "3066cf48-9921-4487-826e-0464a2dead7a", + "type": "basic.output", + "data": { + "name": "data", + "range": "[7:0]", + "size": 8 }, - "target": { - "block": "73a0a48e-d345-4eda-8603-782e9865d928", - "port": "inlabel" + "position": { + "x": 2040, + "y": 680 } }, { - "source": { - "block": "3c8597e6-ca79-494a-9a53-04c284205216", - "port": "outlabel" + "id": "524ca75c-cdd3-4e79-851a-b46ce146bd66", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "start" }, - "target": { - "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + "position": { + "x": 152, + "y": 696 } }, { - "source": { - "block": "ed7a30bc-17fc-444e-89e5-aa9f83b32e86", - "port": "outlabel" + "id": "7e9db299-cb56-4cd9-a489-d5fbd6eb3e2f", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "busy" }, - "target": { - "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + "position": { + "x": 1184, + "y": 704 } }, { - "source": { - "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "port": "bbe1895b-be8b-4237-b0d1-ae592e3e6208" + "id": "7df4a7f1-90b6-4562-8be3-e4719a824545", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "target": { - "block": "ee992ca6-d586-4901-aaa3-a17d94ddac84", - "port": "inlabel" + "position": { + "x": 880, + "y": 752 } }, { - "source": { - "block": "57e59301-2919-4f06-ba95-54ce5d99d774", - "port": "bbe1895b-be8b-4237-b0d1-ae592e3e6208" - }, - "target": { - "block": "1c9b3962-5793-4e6f-98d4-9ca2113d0823", - "port": "inlabel" + "id": "c1c96b9c-e573-43a0-8b60-9f7fe7ad5ae6", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "busy" }, - "vertices": [ - { - "x": -24, - "y": -696 - } - ] + "position": { + "x": 1648, + "y": 776 + } }, { - "source": { - "block": "05fb13c5-879a-422f-84a8-56d1db8816da", - "port": "outlabel" + "id": "e4dc109d-2b1c-402e-b474-ee1c6abeec66", + "type": "basic.inputLabel", + "data": { + "name": "addr", + "range": "[13:0]", + "blockColor": "navy", + "size": 14 }, - "target": { - "block": "72c87c65-b34b-480f-8cde-cd97c0914014", - "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + "position": { + "x": 1224, + "y": 784 } }, { - "source": { - "block": "161a3e27-de9b-4674-b990-c1e8314a29f3", - "port": "outlabel" + "id": "dc204461-1dd1-428f-91a2-006d905d6585", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "start_read" }, - "target": { - "block": "72c87c65-b34b-480f-8cde-cd97c0914014", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + "position": { + "x": 872, + "y": 832 } }, { - "source": { - "block": "e7d0a130-cf6b-4220-a06f-42543db0214f", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "id": "0db424eb-f896-41e1-becb-7eb065dd64f2", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "busy" }, - "target": { - "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", - "port": "5e915366-608a-431a-bf68-8c64fb4c302c" + "position": { + "x": 152, + "y": 840 } }, { - "source": { - "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", - "port": "c7d2d573-b901-420e-a923-6832e5b18e34" + "id": "adcb920c-12a7-478f-b1f2-9877d62d2673", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "target": { - "block": "11342001-e6e0-443b-af87-0e5d7ada0227", - "port": "969e11ca-69e8-403b-a566-7bf2fbe3a5a8" + "position": { + "x": 1200, + "y": 864 } }, { - "source": { - "block": "e7d0a130-cf6b-4220-a06f-42543db0214f", - "port": "c7d2d573-b901-420e-a923-6832e5b18e34" + "id": "24450b7d-19ce-463a-83fb-5e1c04e4b093", + "type": "basic.output", + "data": { + "name": "tic" }, - "target": { - "block": "11342001-e6e0-443b-af87-0e5d7ada0227", - "port": "e4111201-8441-4e7d-bcd2-bcf9d265d043" + "position": { + "x": 2040, + "y": 888 } }, { - "source": { - "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "id": "1afea26e-4199-4bc9-bee1-c5689a14f8b6", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "tic", + "oldBlockColor": "fuchsia" }, - "target": { - "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "port": "5e915366-608a-431a-bf68-8c64fb4c302c" + "position": { + "x": 1872, + "y": 888 } }, { - "source": { - "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "port": "c7d2d573-b901-420e-a923-6832e5b18e34" - }, - "target": { - "block": "11342001-e6e0-443b-af87-0e5d7ada0227", - "port": "346b4ae4-4bb6-4845-9c17-3b25e0dde718" + "id": "caf86b2c-c08d-411d-be47-4084fec9532e", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "tic", + "oldBlockColor": "fuchsia" }, - "vertices": [ - { - "x": 824, - "y": -424 - } - ] + "position": { + "x": 1504, + "y": 928 + } }, { - "source": { - "block": "d192d0af-e7be-4be6-925a-50227d80784c", - "port": "out" - }, - "target": { - "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "port": "0ebd46a4-769b-45e6-bcaf-e3796264aed3" + "id": "eda78d52-57f7-4e44-bd8e-75e67c496650", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "next" }, - "size": 4 + "position": { + "x": 880, + "y": 936 + } }, { - "source": { - "block": "c2d36218-be99-4dd1-bf69-7690c667255b", - "port": "out" - }, - "target": { - "block": "57e59301-2919-4f06-ba95-54ce5d99d774", - "port": "0ebd46a4-769b-45e6-bcaf-e3796264aed3" + "id": "366a768a-2f5d-4c01-8338-bdef0a688ea7", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "done", + "oldBlockColor": "fuchsia" }, - "size": 4 + "position": { + "x": 1152, + "y": 992 + } }, { - "source": { - "block": "11342001-e6e0-443b-af87-0e5d7ada0227", - "port": "55180947-6349-4a04-a151-ad69ea2b155e" + "id": "0a517454-aeac-48a3-bc62-6aa73da948bd", + "type": "basic.info", + "data": { + "info": "Reading data from memory \nReading bus status", + "readonly": true }, - "target": { - "block": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42", - "port": "in" + "position": { + "x": 336, + "y": 120 }, - "size": 4 + "size": { + "width": 232, + "height": 64 + } }, { - "source": { - "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" - }, - "target": { - "block": "72c87c65-b34b-480f-8cde-cd97c0914014", - "port": "5e915366-608a-431a-bf68-8c64fb4c302c" + "id": "b6323c55-9b6d-4753-8953-7fb34775a27b", + "type": "21cfcc19a4ad14c5fb5e8cfebd018ec356fe7542", + "position": { + "x": 864, + "y": 16 }, - "vertices": [ - { - "x": 728, - "y": -552 - } - ] + "size": { + "width": 96, + "height": 64 + } }, { - "source": { - "block": "72c87c65-b34b-480f-8cde-cd97c0914014", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "id": "5f897fa2-936f-47cd-9310-a36fb4cb14a1", + "type": "3bf99b8d77aa1b29ec1bf618b53175de87f1001d", + "position": { + "x": 864, + "y": -64 }, - "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "port": "in" + "size": { + "width": 96, + "height": 64 } }, { - "source": { - "block": "72c87c65-b34b-480f-8cde-cd97c0914014", - "port": "c7d2d573-b901-420e-a923-6832e5b18e34" + "id": "a200cfa9-fe9a-4c4b-b9d4-f4307d071797", + "type": "basic.info", + "data": { + "info": "Calculate if the bus can be taken", + "readonly": true }, - "target": { - "block": "11342001-e6e0-443b-af87-0e5d7ada0227", - "port": "6c2aa548-5a4c-4e8d-a56c-a70926b19f18" + "position": { + "x": 216, + "y": 440 + }, + "size": { + "width": 272, + "height": 32 } - } - ] - } - } - }, - "1ea21df64c18f01d8f4b905c437ccf0ca332baf6": { - "package": { - "name": "Adder-1bit", - "version": "0.1", - "description": "Adder-1bit: Adder of two operands of 1 bit", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", - "otid": 1618560481898 - }, - "design": { - "graph": { - "blocks": [ + }, { - "id": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", - "type": "basic.input", - "data": { - "name": "", - "clock": false + "id": "7a989d63-cd4a-4c47-9513-57b4ea6ee141", + "type": "35f267d0df6ffcb7fc33753bc9df9cf083642cca", + "position": { + "x": 296, + "y": 552 }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", + "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", "position": { - "x": 280, - "y": -224 + "x": 464, + "y": 568 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "type": "basic.output", + "id": "239fe2ba-e2b9-4446-a1ea-51e1616f5b75", + "type": "basic.info", "data": { - "name": "c" + "info": "The bus is available", + "readonly": true }, "position": { - "x": 616, - "y": -176 + "x": 384, + "y": 512 + }, + "size": { + "width": 184, + "height": 32 } }, { - "id": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba", - "type": "basic.input", + "id": "b62ad9b4-5b0e-4b74-a0ad-947946a59331", + "type": "basic.info", "data": { - "name": "", - "clock": false + "info": "This circuits wants \nto use the bus", + "readonly": true }, "position": { "x": 280, - "y": -152 + "y": 664 + }, + "size": { + "width": 192, + "height": 56 } }, { - "id": "c7d2d573-b901-420e-a923-6832e5b18e34", - "type": "basic.output", + "id": "c25805fd-f852-43d5-93db-f3f0cb17c301", + "type": "basic.info", "data": { - "name": "s" + "info": "The bus has been already \ntaken", + "readonly": true }, "position": { - "x": 616, - "y": -96 + "x": 272, + "y": 816 + }, + "size": { + "width": 208, + "height": 56 } }, { - "id": "0ef44beb-f4b1-484c-b15a-dc4431241aee", - "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", + "id": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", + "type": "81613874c6152f06c06ed7014bf4235900cfcc30", "position": { - "x": 456, - "y": -168 + "x": 648, + "y": 584 }, "size": { "width": 96, - "height": 96 + "height": 64 } }, { - "id": "e80cc244-1751-4524-9f77-734a36b24a88", - "type": "d30ca9ee4f35f6cb76d5e5701447fc2b739bc640", + "id": "26b71a43-5955-4452-9b0e-94ea6ef453b7", + "type": "81613874c6152f06c06ed7014bf4235900cfcc30", "position": { - "x": 304, - "y": -64 + "x": 1088, + "y": 296 }, "size": { "width": 96, "height": 64 } - } - ], - "wires": [ + }, { - "source": { - "block": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba", - "port": "out" + "id": "d3ce12c0-3b45-4ed2-8446-fb6c4c8e8710", + "type": "basic.info", + "data": { + "info": "One cycle after the machine is done \nthe bus is already taken to write \nthe bbusy signal to 0 and allow \nother circuits to use it", + "readonly": true }, - "target": { - "block": "0ef44beb-f4b1-484c-b15a-dc4431241aee", - "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + "position": { + "x": 960, + "y": 392 + }, + "size": { + "width": 304, + "height": 88 } }, { - "source": { - "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", - "port": "out" + "id": "110cf90a-bc63-4642-a72e-33e8e397e804", + "type": "basic.info", + "data": { + "info": "The output bus is controlled \nby this circuit (1) or \nremain untouched (0)", + "readonly": true }, - "target": { - "block": "0ef44beb-f4b1-484c-b15a-dc4431241aee", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + "position": { + "x": 1320, + "y": 288 }, - "vertices": [ - { - "x": 400, - "y": -168 - } - ] + "size": { + "width": 240, + "height": 112 + } }, { - "source": { - "block": "e80cc244-1751-4524-9f77-734a36b24a88", - "port": "3d584b0a-29eb-47af-8c43-c0822282ef05" + "id": "0421b3fd-c660-4279-abe0-e1d486431ce0", + "type": "basic.info", + "data": { + "info": "The reading machine \ncan be started", + "readonly": true }, - "target": { - "block": "0ef44beb-f4b1-484c-b15a-dc4431241aee", - "port": "5e915366-608a-431a-bf68-8c64fb4c302c" + "position": { + "x": 584, + "y": 456 + }, + "size": { + "width": 184, + "height": 64 } }, { - "source": { - "block": "0ef44beb-f4b1-484c-b15a-dc4431241aee", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "id": "e0ace7c0-caa0-440e-9868-d76ffb18bfb2", + "type": "basic.info", + "data": { + "info": "Reading machine", + "readonly": true }, - "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "port": "in" + "position": { + "x": 1016, + "y": 728 + }, + "size": { + "width": 168, + "height": 48 } }, { - "source": { - "block": "0ef44beb-f4b1-484c-b15a-dc4431241aee", - "port": "c7d2d573-b901-420e-a923-6832e5b18e34" + "id": "5ce3f494-5892-4a5c-9720-fc5c71449b27", + "type": "basic.info", + "data": { + "info": "## Download machine\n\nTransmit all the memory contents through the serial port \nThe bytes are transmited raw (in binary). No ascii encoding \nThere should be a program running on the computer capable of \nreading these raw bytes", + "readonly": true }, - "target": { - "block": "c7d2d573-b901-420e-a923-6832e5b18e34", - "port": "in" + "position": { + "x": -112, + "y": -168 + }, + "size": { + "width": 504, + "height": 120 } - } - ] - } - } - }, - "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a": { - "package": { - "name": "AdderC-1bit", - "version": "0.1", - "description": "AdderC-1bit: Adder of two operands of 1 bit plus the carry in", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", - "otid": 1618560481898 - }, - "design": { - "graph": { - "blocks": [ + }, { - "id": "b28215b2-e375-43cd-96b4-ed5b60418dc6", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "a" - }, + "id": "3d85ed1d-6439-43fc-b3cc-228f8dda3867", + "type": "58ed2b5c7e33e2f215ccba6c101d9ea4ff60f284", "position": { - "x": 504, - "y": -208 + "x": 1336, + "y": 912 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", - "type": "basic.input", - "data": { - "name": "a", - "clock": false - }, + "id": "966513fd-32a9-4c4a-aeda-ff1b9b27306f", + "type": "58ed2b5c7e33e2f215ccba6c101d9ea4ff60f284", "position": { - "x": 136, - "y": -192 + "x": 1904, + "y": 520 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "f2c3e9af-37a6-4815-9413-c437d2471b1f", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "a", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true - }, + "id": "c663c571-8a20-4487-bd53-93978e9d1dc8", + "type": "da0861afd3d2e1db0b7bde922cdad9c4a1258652", "position": { - "x": 272, - "y": -192 + "x": 1648, + "y": 680 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "type": "basic.output", - "data": { - "name": "c" - }, + "id": "239ee447-1dc8-4d0a-9f7a-ff93efa825f2", + "type": "873d7e980c08ce11dae3eb7abdaad1615527b3dc", "position": { - "x": 1112, - "y": -176 + "x": 1904, + "y": 32 + }, + "size": { + "width": 96, + "height": 128 } }, { - "id": "cdbf1806-fde2-4763-aeae-cd26f3db2a86", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "b" - }, + "id": "3fc0dded-543a-4636-a951-fbfcec7d3c24", + "type": "249940b3a2a6f82363df9ad6e49d976c389523b9", "position": { - "x": 504, - "y": -144 + "x": 1880, + "y": 664 + }, + "size": { + "width": 96, + "height": 96 } }, { - "id": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba", - "type": "basic.input", - "data": { - "name": "b", - "clock": false - }, + "id": "b83abd74-3947-4217-b890-75dae5bbb676", + "type": "d1635cb33c6d31e1ea457005c78d574fcf71828b", "position": { - "x": 136, - "y": -120 + "x": 384, + "y": 184 + }, + "size": { + "width": 96, + "height": 128 } }, { - "id": "65936289-69ce-4e26-be4e-44f8a3706934", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "b", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true - }, + "id": "3e2a74fa-37e6-46c1-b08f-656cfdf57991", + "type": "6e4fc811dcd6d1ac703e608270f81ee906ee7e98", "position": { - "x": 272, - "y": -120 + "x": 1080, + "y": -80 + }, + "size": { + "width": 96, + "height": 128 } }, { - "id": "6b7a0fc7-9eeb-4894-98fd-e0122d08cdf0", - "type": "basic.outputLabel", - "data": { - "blockColor": "navy", - "name": "ci", - "oldBlockColor": "fuchsia" - }, + "id": "bcba73d0-e5af-4e93-8321-2cd9bd80a3c1", + "type": "cae9cdc6d7b2442eb4d4095c65ccf9bd24a99bb9", "position": { - "x": 648, - "y": -96 + "x": 1016, + "y": 800 + }, + "size": { + "width": 96, + "height": 128 } }, { - "id": "5e915366-608a-431a-bf68-8c64fb4c302c", - "type": "basic.input", - "data": { - "name": "ci", - "clock": false - }, + "id": "b03bc63e-9e9c-47d7-b458-9fed9605b706", + "type": "5fcfda234fb072b021cd8f915af77e7ae7860198", "position": { - "x": 136, - "y": -40 + "x": 1312, + "y": 104 + }, + "size": { + "width": 96, + "height": 96 } + } + ], + "wires": [ + { + "source": { + "block": "7fb933a6-5c63-4d46-8aaa-440b30974993", + "port": "out" + }, + "target": { + "block": "2c31aa6a-383c-4eb5-b669-b8a31ad14225", + "port": "inlabel" + }, + "vertices": [] }, { - "id": "9fca1dd5-3d6c-4321-a1cf-fd35336e41ea", - "type": "basic.inputLabel", - "data": { - "blockColor": "navy", - "name": "ci", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "source": { + "block": "b14f140b-7bb5-46d9-8019-39c27ff6e0e3", + "port": "out" }, - "position": { - "x": 272, - "y": -40 + "target": { + "block": "da45f105-3600-4458-a820-50046581f5dd", + "port": "inlabel" } }, { - "id": "79149d67-753e-414e-ba2a-49ba4edfe523", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "a" + "source": { + "block": "b83abd74-3947-4217-b890-75dae5bbb676", + "port": "9751f777-00ec-46c1-8d85-07d2dec1e653" }, - "position": { - "x": 480, - "y": 24 + "target": { + "block": "05a1a5b4-bf29-49df-b0b1-887859d9ec9e", + "port": "inlabel" } }, { - "id": "c7d2d573-b901-420e-a923-6832e5b18e34", - "type": "basic.output", - "data": { - "name": "s" + "source": { + "block": "b83abd74-3947-4217-b890-75dae5bbb676", + "port": "afe50480-6fe5-4ca6-b639-c730569a6a1d", + "size": 8 }, - "position": { - "x": 992, - "y": 56 - } + "target": { + "block": "914e03dd-1133-4325-a333-b10f953ecce5", + "port": "inlabel" + }, + "size": 8 }, { - "id": "edf4525b-edd8-40fa-b784-631b102fb907", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "b" + "source": { + "block": "7df4a7f1-90b6-4562-8be3-e4719a824545", + "port": "outlabel" }, - "position": { - "x": 480, - "y": 88 + "target": { + "block": "bcba73d0-e5af-4e93-8321-2cd9bd80a3c1", + "port": "cb426e3d-ace3-4a57-a74b-155caed0c14c" } }, { - "id": "35a4f7cc-d7ef-4653-af75-fe112a5f5151", - "type": "basic.outputLabel", - "data": { - "blockColor": "navy", - "name": "ci", - "oldBlockColor": "fuchsia" + "source": { + "block": "fce01e4d-e6d2-4811-8f96-410673168b4c", + "port": "outlabel" }, - "position": { - "x": 648, - "y": 120 - } + "target": { + "block": "7a989d63-cd4a-4c47-9513-57b4ea6ee141", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + }, + "vertices": [] }, { - "id": "687d4abf-9ce2-408a-8010-c00e2cec2d44", - "type": "d1240143e1ff7afe57f0f11565da980612b2bb76", - "position": { - "x": 648, - "y": 40 + "source": { + "block": "524ca75c-cdd3-4e79-851a-b46ce146bd66", + "port": "outlabel" + }, + "target": { + "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + }, + "vertices": [] + }, + { + "source": { + "block": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "700d8b15-d6df-4b76-b10d-72db58c33e6c", + "port": "inlabel" + }, + "vertices": [] + }, + { + "source": { + "block": "0db424eb-f896-41e1-becb-7eb065dd64f2", + "port": "outlabel" + }, + "target": { + "block": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", + "port": "97b51945-d716-4b6c-9db9-970d08541249" }, - "size": { - "width": 96, - "height": 64 - } + "vertices": [ + { + "x": 584, + "y": 824 + } + ] }, { - "id": "6756cb54-aa93-40af-a5f3-41ef2b2edec9", - "type": "d1240143e1ff7afe57f0f11565da980612b2bb76", - "position": { - "x": 832, - "y": 56 + "source": { + "block": "9be4488d-51be-4346-8a31-5d8f2f86e4d3", + "port": "outlabel" }, - "size": { - "width": 96, - "height": 64 - } + "target": { + "block": "26b71a43-5955-4452-9b0e-94ea6ef453b7", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + }, + "vertices": [] }, { - "id": "f7053b6b-9812-48df-9212-cb8dc49d44cd", - "type": "ba518ee261a2be13a9739cd3a01cdcebe0ef63c0", - "position": { - "x": 808, - "y": -80 + "source": { + "block": "923c4db6-0c76-4647-a848-75fd61fba6ec", + "port": "outlabel" }, - "size": { - "width": 96, - "height": 64 - } + "target": { + "block": "26b71a43-5955-4452-9b0e-94ea6ef453b7", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + }, + "vertices": [] }, { - "id": "d77ee777-f5ad-4f89-832b-e1f95f0cf9db", - "type": "ba518ee261a2be13a9739cd3a01cdcebe0ef63c0", - "position": { - "x": 632, - "y": -192 + "source": { + "block": "bcba73d0-e5af-4e93-8321-2cd9bd80a3c1", + "port": "49221b19-132a-4e3f-9a1f-97bcd463391b" }, - "size": { - "width": 96, - "height": 64 + "target": { + "block": "366a768a-2f5d-4c01-8338-bdef0a688ea7", + "port": "inlabel" } }, { - "id": "dd3259d5-99f6-47f2-881c-4e969e324444", - "type": "873425949b2a80f1a7f66f320796bcd068a59889", - "position": { - "x": 960, - "y": -176 + "source": { + "block": "eda78d52-57f7-4e44-bd8e-75e67c496650", + "port": "outlabel" }, - "size": { - "width": 96, - "height": 64 + "target": { + "block": "bcba73d0-e5af-4e93-8321-2cd9bd80a3c1", + "port": "ad4d0fc2-118e-496e-b292-c435bad20e7d" } - } - ], - "wires": [ + }, { "source": { - "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", - "port": "out" + "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, "target": { - "block": "f2c3e9af-37a6-4815-9413-c437d2471b1f", + "block": "54e9bf9f-b852-4c45-bd53-f6eb4ee707eb", "port": "inlabel" } }, { "source": { - "block": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba", - "port": "out" + "block": "dc204461-1dd1-428f-91a2-006d905d6585", + "port": "outlabel" }, "target": { - "block": "65936289-69ce-4e26-be4e-44f8a3706934", - "port": "inlabel" + "block": "bcba73d0-e5af-4e93-8321-2cd9bd80a3c1", + "port": "8f591b24-0427-409f-aa6e-ca1861556cf5" } }, { "source": { - "block": "5e915366-608a-431a-bf68-8c64fb4c302c", - "port": "out" + "block": "bcba73d0-e5af-4e93-8321-2cd9bd80a3c1", + "port": "6a11eaf9-4bd5-405e-81f8-44418365326b" }, "target": { - "block": "9fca1dd5-3d6c-4321-a1cf-fd35336e41ea", + "block": "7e9db299-cb56-4cd9-a489-d5fbd6eb3e2f", "port": "inlabel" } }, { "source": { - "block": "79149d67-753e-414e-ba2a-49ba4edfe523", + "block": "a040cc3d-b2c6-458e-bde6-f8234a19b6d1", "port": "outlabel" }, "target": { - "block": "687d4abf-9ce2-408a-8010-c00e2cec2d44", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - } + "block": "38abb13c-8652-41fb-931c-c7bf760ebb24", + "port": "in" + }, + "vertices": [] }, { "source": { - "block": "edf4525b-edd8-40fa-b784-631b102fb907", + "block": "8ca2279c-fdc3-40d3-9fbe-2071c026932f", "port": "outlabel" }, "target": { - "block": "687d4abf-9ce2-408a-8010-c00e2cec2d44", - "port": "97b51945-d716-4b6c-9db9-970d08541249" + "block": "3e2a74fa-37e6-46c1-b08f-656cfdf57991", + "port": "49fb1766-1e7f-4706-9872-a6cd65cc9f2d" } }, { "source": { - "block": "35a4f7cc-d7ef-4653-af75-fe112a5f5151", + "block": "289f00be-f97d-4553-a60a-32d8b45da4cc", "port": "outlabel" }, "target": { - "block": "6756cb54-aa93-40af-a5f3-41ef2b2edec9", - "port": "97b51945-d716-4b6c-9db9-970d08541249" + "block": "966513fd-32a9-4c4a-aeda-ff1b9b27306f", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" } }, { "source": { - "block": "6b7a0fc7-9eeb-4894-98fd-e0122d08cdf0", + "block": "7d0852c6-4778-4a53-bf90-30527c44a0eb", "port": "outlabel" }, "target": { - "block": "f7053b6b-9812-48df-9212-cb8dc49d44cd", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "block": "966513fd-32a9-4c4a-aeda-ff1b9b27306f", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" } }, { "source": { - "block": "b28215b2-e375-43cd-96b4-ed5b60418dc6", + "block": "c1c96b9c-e573-43a0-8b60-9f7fe7ad5ae6", "port": "outlabel" }, "target": { - "block": "d77ee777-f5ad-4f89-832b-e1f95f0cf9db", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - } + "block": "3fc0dded-543a-4636-a951-fbfcec7d3c24", + "port": "1e7e3cd6-ed00-468a-9f7c-0bb91e020dce" + }, + "vertices": [] }, { "source": { - "block": "cdbf1806-fde2-4763-aeae-cd26f3db2a86", + "block": "adcb920c-12a7-478f-b1f2-9877d62d2673", "port": "outlabel" }, "target": { - "block": "d77ee777-f5ad-4f89-832b-e1f95f0cf9db", - "port": "97b51945-d716-4b6c-9db9-970d08541249" + "block": "3d85ed1d-6439-43fc-b3cc-228f8dda3867", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" } }, { "source": { - "block": "687d4abf-9ce2-408a-8010-c00e2cec2d44", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "3d85ed1d-6439-43fc-b3cc-228f8dda3867", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" }, "target": { - "block": "6756cb54-aa93-40af-a5f3-41ef2b2edec9", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "block": "caf86b2c-c08d-411d-be47-4084fec9532e", + "port": "inlabel" } }, { "source": { - "block": "6756cb54-aa93-40af-a5f3-41ef2b2edec9", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "1afea26e-4199-4bc9-bee1-c5689a14f8b6", + "port": "outlabel" }, "target": { - "block": "c7d2d573-b901-420e-a923-6832e5b18e34", + "block": "24450b7d-19ce-463a-83fb-5e1c04e4b093", "port": "in" } }, { "source": { - "block": "687d4abf-9ce2-408a-8010-c00e2cec2d44", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "886b88b1-4987-4f1f-aadd-d82bb53ab445", + "port": "out", + "size": 10 }, "target": { - "block": "f7053b6b-9812-48df-9212-cb8dc49d44cd", - "port": "97b51945-d716-4b6c-9db9-970d08541249" - } + "block": "523a4825-1562-4f5d-b129-c7d08fe542c2", + "port": "inlabel" + }, + "size": 10 }, { "source": { - "block": "f7053b6b-9812-48df-9212-cb8dc49d44cd", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "b359cb97-c324-4ffc-a73c-64c7f457e6fa", + "port": "outlabel" }, "target": { - "block": "dd3259d5-99f6-47f2-881c-4e969e324444", - "port": "97b51945-d716-4b6c-9db9-970d08541249" - } + "block": "239ee447-1dc8-4d0a-9f7a-ff93efa825f2", + "port": "8c3ce21f-2214-489f-853a-d60a223034da", + "size": 10 + }, + "size": 10 }, { "source": { - "block": "d77ee777-f5ad-4f89-832b-e1f95f0cf9db", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "f81791c6-f02f-46d0-b738-5895dd124243", + "port": "outlabel" }, "target": { - "block": "dd3259d5-99f6-47f2-881c-4e969e324444", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "block": "239ee447-1dc8-4d0a-9f7a-ff93efa825f2", + "port": "04841e3c-8761-454a-8d99-496fde26ea1f" } }, { "source": { - "block": "dd3259d5-99f6-47f2-881c-4e969e324444", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "a875b188-26fa-4052-ae81-4b5f22f4c1e5", + "port": "outlabel" }, "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "port": "in" - } - } - ] - } - } - }, - "d1240143e1ff7afe57f0f11565da980612b2bb76": { - "package": { - "name": "XOR2", - "version": "1.0.2", - "description": "XOR gate: two bits input xor gate", - "author": "Jesús Arroyo, Juan González", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22193.047%22%20width=%22383.697%22%20version=%221%22%3E%3Cpath%20d=%22M175.56%20189.047H84.527s30.345-42.538%2031.086-94.03c.743-51.49-31.821-90.294-31.821-90.294l92.317-.394c46.445%201.948%20103.899%2053.44%20123.047%2093.678-32.601%2067.503-92.158%2089.79-123.596%2091.04z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2047.62h99.605M4.883%20145.497h100.981M298.57%2099.219h81.07%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20x=%22129.011%22%20y=%22115.285%22%20font-size=%2258.24%22%20font-weight=%22400%22%20style=%22line-height:125%25%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20transform=%22translate(0%20.329)%22%3E%3Ctspan%20x=%22129.011%22%20y=%22115.285%22%20font-weight=%22700%22%3EXOR%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M54.321%20188.368s30.345-42.538%2031.086-94.03c.742-51.49-31.821-90.294-31.821-90.294%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ + "block": "239ee447-1dc8-4d0a-9f7a-ff93efa825f2", + "port": "1ac9dd5b-9741-4af4-963a-50cbf8c4c6be" + }, + "vertices": [ + { + "x": 1800, + "y": 88 + } + ] + }, { - "id": "18c2ebc7-5152-439c-9b3f-851c59bac834", - "type": "basic.input", - "data": { - "name": "" + "source": { + "block": "786f1170-66ce-4c3a-acdc-073388546edd", + "port": "outlabel" }, - "position": { - "x": 120, - "y": 48 - } + "target": { + "block": "239ee447-1dc8-4d0a-9f7a-ff93efa825f2", + "port": "72632c73-fe18-42b3-b81f-46999ddfdb20", + "size": 8 + }, + "size": 8 }, { - "id": "664caf9e-5f40-4df4-800a-b626af702e62", - "type": "basic.output", - "data": { - "name": "" + "source": { + "block": "239ee447-1dc8-4d0a-9f7a-ff93efa825f2", + "port": "233059d5-8ab7-4c63-8dab-0c6af3a1dc28" }, - "position": { - "x": 560, - "y": 72 + "target": { + "block": "bf61387a-ef36-4f3c-898f-e274c3136b18", + "port": "inlabel" } }, { - "id": "97b51945-d716-4b6c-9db9-970d08541249", - "type": "basic.input", - "data": { - "name": "" + "source": { + "block": "0399b081-5696-4bf7-bb75-cd55da78d4f5", + "port": "outlabel" + }, + "target": { + "block": "3fc0dded-543a-4636-a951-fbfcec7d3c24", + "port": "3ebd9e0a-9308-4615-af47-ae7b97f6f04a", + "size": 8 + }, + "vertices": [ + { + "x": 1800, + "y": 656 + } + ], + "size": 8 + }, + { + "source": { + "block": "64a86ee7-b105-409d-9e91-cca498c9121b", + "port": "out", + "size": 24 + }, + "target": { + "block": "74555a80-b4b5-40d0-bf28-afa5a588b1e2", + "port": "inlabel" }, - "position": { - "x": 120, - "y": 104 - } + "size": 24 }, { - "id": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "type": "basic.code", - "data": { - "code": "//-- XOR gate\n//-- Verilog implementation\n\nassign c = a ^ b;\n", - "params": [], - "ports": { - "in": [ - { - "name": "a" - }, - { - "name": "b" - } - ], - "out": [ - { - "name": "c" - } - ] - } + "source": { + "block": "93050bc1-206a-4fb3-9c14-9a41ab42f7ed", + "port": "outlabel" }, - "position": { - "x": 256, - "y": 48 + "target": { + "block": "b83abd74-3947-4217-b890-75dae5bbb676", + "port": "2117685c-3a4e-4403-a12a-5de3ed4c20a5", + "size": 24 }, - "size": { - "width": 272, - "height": 112 - } - } - ], - "wires": [ + "size": 24 + }, { "source": { - "block": "18c2ebc7-5152-439c-9b3f-851c59bac834", - "port": "out" + "block": "9188c313-c3af-4a0b-b917-d759873cd681", + "port": "outlabel" }, "target": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "a" - } + "block": "3e2a74fa-37e6-46c1-b08f-656cfdf57991", + "port": "61496e71-85ba-465b-89b9-fedb08b8590d", + "size": 14 + }, + "size": 14 }, { "source": { - "block": "97b51945-d716-4b6c-9db9-970d08541249", - "port": "out" + "block": "bcba73d0-e5af-4e93-8321-2cd9bd80a3c1", + "port": "19940e4f-3166-4887-a4e2-ea5babe5f726", + "size": 14 }, "target": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "b" - } + "block": "e4dc109d-2b1c-402e-b474-ee1c6abeec66", + "port": "inlabel" + }, + "size": 14 }, { "source": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "c" + "block": "90093714-11a0-4cea-ad1a-bae5e4aac8dc", + "port": "outlabel" }, "target": { - "block": "664caf9e-5f40-4df4-800a-b626af702e62", - "port": "in" - } - } - ] - } - } - }, - "a1ce303b8ce47a06371ea4641c81460f34a1cca9": { - "package": { - "name": "AdderC-4bits", - "version": "0.1", - "description": "AdderC-4bits: Adder of two operands of 4 bits and Carry in", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", - "otid": 1618560481898 - }, - "design": { - "graph": { - "blocks": [ - { - "id": "1c9b3962-5793-4e6f-98d4-9ca2113d0823", - "type": "basic.inputLabel", - "data": { - "blockColor": "deeppink", - "name": "a3", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "deeppink" + "block": "b03bc63e-9e9c-47d7-b458-9fed9605b706", + "port": "63847aa3-e2cd-4ff3-806d-b566a8176645", + "size": 24 }, - "position": { - "x": 8, - "y": -744 - } + "size": 24 }, { - "id": "161a3e27-de9b-4674-b990-c1e8314a29f3", - "type": "basic.outputLabel", - "data": { - "blockColor": "deeppink", - "name": "a3", - "oldBlockColor": "deeppink" + "source": { + "block": "5f897fa2-936f-47cd-9310-a36fb4cb14a1", + "port": "ad29e130-c17a-4544-9237-4c72551ccbeb" }, - "position": { - "x": 576, - "y": -736 - } + "target": { + "block": "3e2a74fa-37e6-46c1-b08f-656cfdf57991", + "port": "25996d5e-6856-4828-8cb3-5dea5ff5cf9c" + }, + "vertices": [], + "size": 8 }, { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "type": "basic.output", - "data": { - "name": "c" + "source": { + "block": "b6323c55-9b6d-4753-8953-7fb34775a27b", + "port": "3d584b0a-29eb-47af-8c43-c0822282ef05" }, - "position": { - "x": 920, - "y": -696 - } + "target": { + "block": "3e2a74fa-37e6-46c1-b08f-656cfdf57991", + "port": "dbe1622c-3510-4132-8b5c-2fbf81d7f581" + }, + "vertices": [ + { + "x": 1000, + "y": 16 + } + ] }, { - "id": "73a0a48e-d345-4eda-8603-782e9865d928", - "type": "basic.inputLabel", - "data": { - "blockColor": "deeppink", - "name": "a2", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "deeppink" + "source": { + "block": "7a989d63-cd4a-4c47-9513-57b4ea6ee141", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, - "position": { - "x": 8, - "y": -688 - } + "target": { + "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + }, + "vertices": [] }, { - "id": "05fb13c5-879a-422f-84a8-56d1db8816da", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "b3", - "oldBlockColor": "fuchsia" + "source": { + "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, - "position": { - "x": 576, - "y": -672 - } + "target": { + "block": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + }, + "vertices": [] }, { - "id": "a30f87da-7077-4ad6-92dd-adbfdd1bed45", - "type": "basic.inputLabel", - "data": { - "blockColor": "deeppink", - "name": "a1", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "deeppink" + "source": { + "block": "26b71a43-5955-4452-9b0e-94ea6ef453b7", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, - "position": { - "x": 8, - "y": -632 + "target": { + "block": "b03bc63e-9e9c-47d7-b458-9fed9605b706", + "port": "1e7e3cd6-ed00-468a-9f7c-0bb91e020dce" } }, { - "id": "c2d36218-be99-4dd1-bf69-7690c667255b", - "type": "basic.input", - "data": { - "name": "", - "range": "[3:0]", - "clock": false, - "size": 4 + "source": { + "block": "966513fd-32a9-4c4a-aeda-ff1b9b27306f", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" }, - "position": { - "x": -312, - "y": -632 + "target": { + "block": "95c4416f-62f5-4196-a406-f7915d40a572", + "port": "in" } }, { - "id": "ed7a30bc-17fc-444e-89e5-aa9f83b32e86", - "type": "basic.outputLabel", - "data": { - "blockColor": "deeppink", - "name": "a2", - "oldBlockColor": "deeppink" + "source": { + "block": "3fc0dded-543a-4636-a951-fbfcec7d3c24", + "port": "e1d78d57-b098-4613-a11e-9e106a69765b" }, - "position": { - "x": 456, - "y": -584 - } + "target": { + "block": "3066cf48-9921-4487-826e-0464a2dead7a", + "port": "in" + }, + "size": 8 }, { - "id": "d7d5e8c8-78dd-41a8-aedf-1051b89bfb77", - "type": "basic.inputLabel", - "data": { - "blockColor": "deeppink", - "name": "a0", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "source": { + "block": "bcba73d0-e5af-4e93-8321-2cd9bd80a3c1", + "port": "73948305-b05b-418f-88af-11328f400cdc" }, - "position": { - "x": 8, - "y": -576 - } + "target": { + "block": "3d85ed1d-6439-43fc-b3cc-228f8dda3867", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + }, + "vertices": [ + { + "x": 1176, + "y": 928 + } + ] }, { - "id": "3c8597e6-ca79-494a-9a53-04c284205216", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "b2", - "oldBlockColor": "fuchsia" + "source": { + "block": "239ee447-1dc8-4d0a-9f7a-ff93efa825f2", + "port": "9aa5255a-60da-463d-ba87-d4f96456d802" }, - "position": { - "x": 456, - "y": -528 - } + "target": { + "block": "20d63505-e2fd-44ed-95b9-9f45e8875e70", + "port": "in" + }, + "size": 10 }, { - "id": "ee992ca6-d586-4901-aaa3-a17d94ddac84", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "b3", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "source": { + "block": "c663c571-8a20-4487-bd53-93978e9d1dc8", + "port": "56102125-3ee5-4ee9-94d5-e66dfcacb7de" }, - "position": { - "x": -8, - "y": -448 - } + "target": { + "block": "3fc0dded-543a-4636-a951-fbfcec7d3c24", + "port": "d3868260-885c-407b-b2e4-3a25beb8fd5e" + }, + "size": 8 }, { - "id": "c5dce3e4-5ecc-4fc9-bbf6-7c1adfa1c7ff", - "type": "basic.outputLabel", - "data": { - "blockColor": "deeppink", - "name": "a1", - "oldBlockColor": "fuchsia" + "source": { + "block": "3e2a74fa-37e6-46c1-b08f-656cfdf57991", + "port": "81a20a74-f096-4c3b-bc35-91917f08c79b" }, - "position": { - "x": 328, - "y": -440 - } + "target": { + "block": "b03bc63e-9e9c-47d7-b458-9fed9605b706", + "port": "a7083464-b9f2-4661-ba0e-e1875f71f9f7" + }, + "vertices": [ + { + "x": 1240, + "y": 48 + } + ], + "size": 24 }, { - "id": "fb8bbeb1-5c60-4629-bc13-231545818d0b", - "type": "basic.inputLabel", + "source": { + "block": "b03bc63e-9e9c-47d7-b458-9fed9605b706", + "port": "cf1ee513-b831-4546-b816-53c8196fca1c" + }, + "target": { + "block": "7b8dd447-e9d2-4c9f-ba7c-c3af9abed4e8", + "port": "in" + }, + "size": 24 + } + ] + } + } + }, + "21cfcc19a4ad14c5fb5e8cfebd018ec356fe7542": { + "package": { + "name": "0", + "version": "0.1", + "description": "Un bit constante a 0", + "author": "Jesus Arroyo", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2233.563%22%20height=%2257.469%22%20viewBox=%220%200%2031.465601%2053.876499%22%3E%3Cpath%20d=%22M21.822%2032.843l4.092%208.992-3.772%209.727%204.181%201.31m-12.967-19.26s-1.091%208.253-2.585%208.919C9.278%2043.198%201%2049.389%201%2049.389l2.647%203.256%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%22-.863%22%20y=%2230.575%22%20transform=%22scale(.90756%201.10186)%22%20font-weight=%22400%22%20font-size=%2254.594%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22%3E%3Ctspan%20x=%22-.863%22%20y=%2230.575%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold%20Italic'%22%20font-style=%22italic%22%20font-weight=%22700%22%3Eo%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "3d584b0a-29eb-47af-8c43-c0822282ef05", + "type": "basic.output", "data": { - "blockColor": "fuchsia", - "name": "b2", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "name": "" }, "position": { - "x": -8, - "y": -384 + "x": 512, + "y": 160 } }, { - "id": "d192d0af-e7be-4be6-925a-50227d80784c", - "type": "basic.input", + "id": "61331ec5-2c56-4cdd-b607-e63b1502fa65", + "type": "basic.code", "data": { - "name": "", - "range": "[3:0]", - "clock": false, - "size": 4 + "code": "//-- Bit constante a 0\nassign q = 1'b0;\n\n", + "params": [], + "ports": { + "in": [], + "out": [ + { + "name": "q" + } + ] + } }, "position": { - "x": -312, - "y": -384 + "x": 168, + "y": 112 + }, + "size": { + "width": 256, + "height": 160 } - }, + } + ], + "wires": [ { - "id": "038a8cb8-35b8-424a-9d14-c320cfcddccf", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "b1" + "source": { + "block": "61331ec5-2c56-4cdd-b607-e63b1502fa65", + "port": "q" }, - "position": { - "x": 328, - "y": -376 + "target": { + "block": "3d584b0a-29eb-47af-8c43-c0822282ef05", + "port": "in" } - }, + } + ] + } + } + }, + "3bf99b8d77aa1b29ec1bf618b53175de87f1001d": { + "package": { + "name": "Valor_0_8bits", + "version": "0.0.1", + "description": "Valor constante 0 para bus de 8 bits", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22346.308%22%20height=%22300.445%22%20viewBox=%220%200%20324.66403%20281.66758%22%3E%3Cg%20font-weight=%22400%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22371.115%22%20y=%22653.344%22%20font-size=%22335.399%22%20fill=%22green%22%20transform=%22translate(-326.544%20-441.037)%22%3E%3Ctspan%20x=%22371.115%22%20y=%22653.344%22%3E0%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22322.722%22%20y=%22721.624%22%20font-size=%2283.077%22%20transform=%22translate(-326.544%20-441.037)%22%3E%3Ctspan%20x=%22322.722%22%20y=%22721.624%22%3E00000000%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22548.722%22%20y=%22651.624%22%20font-size=%2283.077%22%20fill=%22#00f%22%20transform=%22translate(-326.544%20-441.037)%22%3E%3Ctspan%20x=%22548.722%22%20y=%22651.624%22%3E00%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ { - "id": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42", + "id": "ad29e130-c17a-4544-9237-4c72551ccbeb", "type": "basic.output", "data": { - "name": "s", - "range": "[3:0]", - "size": 4 + "name": "k", + "range": "[7:0]", + "size": 8 }, "position": { - "x": 1064, - "y": -368 + "x": 928, + "y": 256 } }, { - "id": "527c9113-e440-454b-b427-182b646c10f5", - "type": "basic.inputLabel", + "id": "ad7918eb-22dd-4b6c-949f-e428f5a55530", + "type": "basic.constant", "data": { - "blockColor": "fuchsia", - "name": "b1", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "name": "", + "value": "0", + "local": true }, "position": { - "x": -16, - "y": -320 + "x": 728, + "y": 152 } }, { - "id": "f8dceaf6-6020-49e5-b775-ed4821fbd5bd", - "type": "basic.outputLabel", - "data": { - "blockColor": "deeppink", - "name": "a0", - "oldBlockColor": "fuchsia" - }, + "id": "d8755f82-ee3e-47e9-9ac3-e4d6713a6105", + "type": "5ad97e1e35a295d0ec722addd6df97c806fc6b7c", "position": { - "x": 184, - "y": -296 + "x": 728, + "y": 256 + }, + "size": { + "width": 96, + "height": 64 } - }, + } + ], + "wires": [ { - "id": "b652825e-10ba-47cc-9832-e39d73586234", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "b0", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "source": { + "block": "ad7918eb-22dd-4b6c-949f-e428f5a55530", + "port": "constant-out" }, - "position": { - "x": -32, - "y": -264 + "target": { + "block": "d8755f82-ee3e-47e9-9ac3-e4d6713a6105", + "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" } }, { - "id": "7e5351cc-ea73-4bb2-9dda-0390f005b90b", - "type": "basic.outputLabel", + "source": { + "block": "d8755f82-ee3e-47e9-9ac3-e4d6713a6105", + "port": "a9d6830d-5cc7-4f63-a068-35181d2537bc" + }, + "target": { + "block": "ad29e130-c17a-4544-9237-4c72551ccbeb", + "port": "in" + }, + "size": 8 + } + ] + } + } + }, + "5ad97e1e35a295d0ec722addd6df97c806fc6b7c": { + "package": { + "name": "Constante-8bits", + "version": "0.0.1", + "description": "Valor genérico constante, de 8 bits. Su valor se introduce como parámetro. Por defecto vale 0", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22145.608%22%20height=%22247.927%22%20viewBox=%220%200%20136.50729%20232.43134%22%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22293.115%22%20y=%22648.344%22%20font-weight=%22400%22%20font-size=%22335.399%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22%20transform=%22translate(-316.929%20-415.913)%22%3E%3Ctspan%20x=%22293.115%22%20y=%22648.344%22%3Ek%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "a9d6830d-5cc7-4f63-a068-35181d2537bc", + "type": "basic.output", "data": { - "blockColor": "fuchsia", - "name": "b0", - "oldBlockColor": "fuchsia" + "name": "k", + "range": "[7:0]", + "size": 8 }, "position": { - "x": 184, - "y": -232 + "x": 960, + "y": 248 } }, { - "id": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86", - "type": "basic.input", + "id": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "type": "basic.constant", "data": { - "name": "ci", - "clock": false + "name": "", + "value": "0", + "local": false }, "position": { - "x": -296, - "y": -168 + "x": 728, + "y": 128 } }, { - "id": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", - "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", - "position": { - "x": 464, - "y": -392 + "id": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "type": "basic.code", + "data": { + "code": "assign k = VALUE;", + "params": [ + { + "name": "VALUE" + } + ], + "ports": { + "in": [], + "out": [ + { + "name": "k", + "range": "[7:0]", + "size": 8 + } + ] + } }, - "size": { - "width": 96, - "height": 96 - } - }, - { - "id": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", "position": { - "x": 608, - "y": -544 + "x": 672, + "y": 248 }, "size": { - "width": 96, - "height": 96 + "width": 208, + "height": 64 } - }, + } + ], + "wires": [ { - "id": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "type": "c4f23ad05c2010ec9bd213c8814c9238873037ae", - "position": { - "x": -168, - "y": -416 + "source": { + "block": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "port": "constant-out" }, - "size": { - "width": 96, - "height": 128 + "target": { + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "VALUE" } }, { - "id": "57e59301-2919-4f06-ba95-54ce5d99d774", - "type": "c4f23ad05c2010ec9bd213c8814c9238873037ae", - "position": { - "x": -152, - "y": -664 + "source": { + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "k" }, - "size": { - "width": 96, - "height": 128 - } - }, + "target": { + "block": "a9d6830d-5cc7-4f63-a068-35181d2537bc", + "port": "in" + }, + "size": 8 + } + ] + } + } + }, + "da0861afd3d2e1db0b7bde922cdad9c4a1258652": { + "package": { + "name": "8bits-Value_0", + "version": "0.0.1", + "description": "8bits constant value: 0", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22153.645%22%20height=%22230.616%22%20viewBox=%220%200%20144.04211%20216.20273%22%3E%3Cg%20style=%22line-height:0%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%3E%3Cpath%20d=%22M72.021%2022.332q-21.774%200-32.8%2021.495-10.887%2021.355-10.887%2064.344%200%2042.85%2010.887%2064.345%2011.026%2021.355%2032.8%2021.355%2021.913%200%2032.8-21.355%2011.027-21.495%2011.027-64.345%200-42.99-11.027-64.344-10.887-21.495-32.8-21.495zm0-22.332q35.034%200%2053.458%2027.776%2018.563%2027.636%2018.563%2080.395%200%2052.62-18.563%2080.396-18.424%2027.636-53.458%2027.636-35.033%200-53.597-27.636Q0%20160.79%200%20108.17q0-52.76%2018.424-80.395Q36.988%200%2072.021%200z%22%20style=%22line-height:1.25%22%20font-size=%22285.851%22%20font-family=%22sans-serif%22%20stroke-width=%227.146%22%20font-weight=%22400%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22/%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ { - "id": "11342001-e6e0-443b-af87-0e5d7ada0227", - "type": "84f0a15761ee8b753f67079819a7614923939472", + "id": "56102125-3ee5-4ee9-94d5-e66dfcacb7de", + "type": "basic.output", + "data": { + "name": "", + "range": "[7:0]", + "size": 8 + }, "position": { "x": 896, - "y": -400 - }, - "size": { - "width": 96, - "height": 128 + "y": 256 } }, { - "id": "72c87c65-b34b-480f-8cde-cd97c0914014", - "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", - "position": { - "x": 744, - "y": -688 + "id": "ad7918eb-22dd-4b6c-949f-e428f5a55530", + "type": "basic.constant", + "data": { + "name": "", + "value": "0", + "local": true }, - "size": { - "width": 96, - "height": 96 + "position": { + "x": 728, + "y": 152 } }, { - "id": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", - "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", + "id": "6db4f25e-c3b1-4cc1-b159-a918b9ce2f53", + "type": "ffc517ae50d4171640702dac38a546757cc9ae35", "position": { - "x": 320, - "y": -248 + "x": 728, + "y": 256 }, "size": { "width": 96, - "height": 96 + "height": 64 } } ], "wires": [ { "source": { - "block": "038a8cb8-35b8-424a-9d14-c320cfcddccf", - "port": "outlabel" + "block": "ad7918eb-22dd-4b6c-949f-e428f5a55530", + "port": "constant-out" }, "target": { - "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", - "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + "block": "6db4f25e-c3b1-4cc1-b159-a918b9ce2f53", + "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" } }, { "source": { - "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "port": "f5a71d7b-de20-4527-80c8-0eb20de0dc77" + "block": "6db4f25e-c3b1-4cc1-b159-a918b9ce2f53", + "port": "b5ba4b9b-f5f9-4eb7-9faf-b362f0463917" }, "target": { - "block": "527c9113-e440-454b-b427-182b646c10f5", - "port": "inlabel" - } - }, - { - "source": { - "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "port": "0f7487e5-b070-4277-bba6-acf69934afca" + "block": "56102125-3ee5-4ee9-94d5-e66dfcacb7de", + "port": "in" }, - "target": { - "block": "b652825e-10ba-47cc-9832-e39d73586234", - "port": "inlabel" - } - }, + "size": 8 + } + ] + } + } + }, + "ffc517ae50d4171640702dac38a546757cc9ae35": { + "package": { + "name": "8-bits-gen-constant", + "version": "0.0.2", + "description": "Generic: 8-bits generic constant (0-255)", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22145.608%22%20height=%22247.927%22%20viewBox=%220%200%20136.50729%20232.43134%22%3E%3Cg%20style=%22line-height:0%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%3E%3Cpath%20d=%22M56.012%20146.905q9.055%206.708%2020.459%2017.105%2011.404%2010.062%2022.472%2021.8%2011.403%2011.74%2021.465%2024.15%2010.062%2012.074%2016.1%2022.471h-32.87q-6.372-10.397-15.763-21.13-9.392-11.068-20.124-21.13-10.398-10.062-21.13-18.447-10.398-8.385-18.783-14.087v74.794H0V4.695L27.838%200v141.874q18.447-16.1%2036.894-31.863%2018.447-16.1%2033.205-33.205h32.533q-14.422%2017.106-34.881%2035.217-20.124%2018.112-39.577%2034.882z%22%20style=%22line-height:1.25%22%20font-size=%22335.399%22%20font-weight=%22400%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22/%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ { - "source": { - "block": "7e5351cc-ea73-4bb2-9dda-0390f005b90b", - "port": "outlabel" + "id": "b5ba4b9b-f5f9-4eb7-9faf-b362f0463917", + "type": "basic.output", + "data": { + "name": "", + "range": "[7:0]", + "size": 8 }, - "target": { - "block": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", - "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + "position": { + "x": 952, + "y": 248 } }, { - "source": { - "block": "f8dceaf6-6020-49e5-b775-ed4821fbd5bd", - "port": "outlabel" + "id": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "type": "basic.constant", + "data": { + "name": "", + "value": "0", + "local": false }, - "target": { - "block": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + "position": { + "x": 728, + "y": 128 } }, { - "source": { - "block": "57e59301-2919-4f06-ba95-54ce5d99d774", - "port": "0f7487e5-b070-4277-bba6-acf69934afca" + "id": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "type": "basic.code", + "data": { + "code": "assign k = VALUE;", + "params": [ + { + "name": "VALUE" + } + ], + "ports": { + "in": [], + "out": [ + { + "name": "k", + "range": "[7:0]", + "size": 8 + } + ] + } + }, + "position": { + "x": 672, + "y": 248 }, - "target": { - "block": "d7d5e8c8-78dd-41a8-aedf-1051b89bfb77", - "port": "inlabel" + "size": { + "width": 208, + "height": 64 } - }, + } + ], + "wires": [ { "source": { - "block": "c5dce3e4-5ecc-4fc9-bbf6-7c1adfa1c7ff", - "port": "outlabel" + "block": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "port": "constant-out" }, "target": { - "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "VALUE" } }, { "source": { - "block": "57e59301-2919-4f06-ba95-54ce5d99d774", - "port": "f5a71d7b-de20-4527-80c8-0eb20de0dc77" + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "k" }, "target": { - "block": "a30f87da-7077-4ad6-92dd-adbfdd1bed45", - "port": "inlabel" - } - }, + "block": "b5ba4b9b-f5f9-4eb7-9faf-b362f0463917", + "port": "in" + }, + "size": 8 + } + ] + } + } + }, + "873d7e980c08ce11dae3eb7abdaad1615527b3dc": { + "package": { + "name": "putc-char", + "version": "0.2", + "description": "Transmit one character to the STDOUT bus", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22613.166%22%20width=%22433.95%22%3E%3Cdefs%3E%3Cmarker%20id=%22a%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20fill=%22red%22%20fill-rule=%22evenodd%22%20stroke=%22red%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3C/defs%3E%3Cpath%20d=%22M221.062%20395.717c-17.751%200-32.152%2014.401-32.152%2032.165%200%2017.745%2014.4%2032.177%2032.152%2032.177%2017.758%200%2032.053-14.432%2032.053-32.177%200-17.764-14.295-32.165-32.053-32.165zm64.466%2050.642l-5.795%2013.96%2010.336%2020.302%201.366%202.68-14.333%2014.333-23.515-11.106-13.96%205.733-7.086%2021.691-.906%202.88h-20.258l-8.767-24.484-13.96-5.758-20.333%2010.312-2.68%201.34-14.326-14.32%2011.093-23.528-5.751-13.948-21.655-7.073-2.873-.93v-20.246l24.502-8.78%205.752-13.935-10.306-20.345-1.359-2.668%2014.308-14.308%2023.547%2011.088%2013.941-5.764%207.08-21.68.912-2.872h20.252l8.773%2024.514%2013.923%205.764%2020.339-10.318%202.705-1.359%2014.32%2014.308-11.094%2023.51%205.733%2013.966%2021.717%207.08%202.854.911v20.24z%22%20fill=%22#00f%22/%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%20-272.686%20152.713)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22124.309%22%20y=%22611.792%22%20font-weight=%22400%22%20font-size=%2291.605%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%225.725%22%3E%3Ctspan%20x=%22124.309%22%20y=%22611.792%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EChar%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%2294.134%22%20y=%2273.141%22%20font-weight=%22400%22%20font-size=%2291.605%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%225.725%22%3E%3Ctspan%20x=%2294.134%22%20y=%2273.141%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EPUTC%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M118.652%20252.337h134.3%22%20fill=%22none%22%20stroke=%22red%22%20stroke-width=%2218%22%20marker-end=%22url(#a)%22/%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%2060.37%20145.491)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%2279.938%22%20y=%22195.066%22%20font-weight=%22400%22%20font-size=%2291.605%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22red%22%20stroke-width=%225.725%22%3E%3Ctspan%20x=%2279.938%22%20y=%22195.066%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3Estdout%3C/tspan%3E%3C/text%3E%3Cpath%20fill=%22none%22%20stroke=%22red%22%20stroke-width=%223%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20d=%22M1.5%20109.784h429.559v199.593H1.5z%22/%3E%3Cpath%20d=%22M429.878%2018.574V1.5h-22.311%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%223%22%20stroke-linecap=%22round%22/%3E%3C/svg%3E", + "otid": 1571979442657 + }, + "design": { + "graph": { + "blocks": [ { - "source": { - "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "port": "33072210-9ba0-4659-8339-95952b939e6e" + "id": "04841e3c-8761-454a-8d99-496fde26ea1f", + "type": "basic.input", + "data": { + "name": "", + "clock": true }, - "target": { - "block": "fb8bbeb1-5c60-4629-bc13-231545818d0b", - "port": "inlabel" + "position": { + "x": -304, + "y": 384 } }, { - "source": { - "block": "57e59301-2919-4f06-ba95-54ce5d99d774", - "port": "33072210-9ba0-4659-8339-95952b939e6e" + "id": "ed414ec2-55e9-4b36-9c04-d544201b630e", + "type": "basic.inputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "target": { - "block": "73a0a48e-d345-4eda-8603-782e9865d928", - "port": "inlabel" + "position": { + "x": -144, + "y": 384 } }, { - "source": { - "block": "3c8597e6-ca79-494a-9a53-04c284205216", - "port": "outlabel" + "id": "c73b1a42-78ce-47a9-bb4c-807cffae6d42", + "type": "basic.output", + "data": { + "name": "nc" }, - "target": { - "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + "position": { + "x": 1200, + "y": 568 } }, { - "source": { - "block": "ed7a30bc-17fc-444e-89e5-aa9f83b32e86", - "port": "outlabel" + "id": "8c3ce21f-2214-489f-853a-d60a223034da", + "type": "basic.input", + "data": { + "name": "", + "range": "[9:0]", + "clock": false, + "size": 10 }, - "target": { - "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + "position": { + "x": -328, + "y": 584 } }, { - "source": { - "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "port": "bbe1895b-be8b-4237-b0d1-ae592e3e6208" + "id": "a0b2c050-26fc-4ac0-875f-6ef2c1f03c5e", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "stdout", + "range": "[9:0]", + "size": 10 }, - "target": { - "block": "ee992ca6-d586-4901-aaa3-a17d94ddac84", - "port": "inlabel" + "position": { + "x": -176, + "y": 584 } }, { - "source": { - "block": "57e59301-2919-4f06-ba95-54ce5d99d774", - "port": "bbe1895b-be8b-4237-b0d1-ae592e3e6208" - }, - "target": { - "block": "1c9b3962-5793-4e6f-98d4-9ca2113d0823", - "port": "inlabel" + "id": "80c60ca1-61f9-40d2-8a87-5cd02ffb2d90", + "type": "basic.outputLabel", + "data": { + "blockColor": "steelblue", + "name": "char", + "range": "[7:0]", + "oldBlockColor": "fuchsia", + "size": 8 }, - "vertices": [ - { - "x": -24, - "y": -696 - } - ] + "position": { + "x": 688, + "y": 664 + } }, { - "source": { - "block": "05fb13c5-879a-422f-84a8-56d1db8816da", - "port": "outlabel" + "id": "bc052fe3-357e-486c-a2e1-fef8f36a37ae", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "next", + "oldBlockColor": "steelblue" }, - "target": { - "block": "72c87c65-b34b-480f-8cde-cd97c0914014", - "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + "position": { + "x": -16, + "y": 664 } }, { - "source": { - "block": "161a3e27-de9b-4674-b990-c1e8314a29f3", - "port": "outlabel" + "id": "6940c4f1-a919-408b-9f9a-c542d928ac41", + "type": "basic.outputLabel", + "data": { + "blockColor": "steelblue", + "name": "exec", + "oldBlockColor": "fuchsia" }, - "target": { - "block": "72c87c65-b34b-480f-8cde-cd97c0914014", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + "position": { + "x": 688, + "y": 720 } }, { - "source": { - "block": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "id": "f809e9bb-2587-459d-807e-629afdc99f43", + "type": "basic.inputLabel", + "data": { + "blockColor": "darkgreen", + "name": "busy", + "oldBlockColor": "darkorange" }, - "target": { - "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", - "port": "5e915366-608a-431a-bf68-8c64fb4c302c" + "position": { + "x": 544, + "y": 728 } }, { - "source": { - "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", - "port": "c7d2d573-b901-420e-a923-6832e5b18e34" + "id": "04a63331-d349-46dd-b312-aacf9b71b3c6", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "target": { - "block": "11342001-e6e0-443b-af87-0e5d7ada0227", - "port": "969e11ca-69e8-403b-a566-7bf2fbe3a5a8" + "position": { + "x": 184, + "y": 728 } }, { - "source": { - "block": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", - "port": "c7d2d573-b901-420e-a923-6832e5b18e34" + "id": "9aa5255a-60da-463d-ba87-d4f96456d802", + "type": "basic.output", + "data": { + "name": "", + "range": "[9:0]", + "size": 10 }, - "target": { - "block": "11342001-e6e0-443b-af87-0e5d7ada0227", - "port": "e4111201-8441-4e7d-bcd2-bcf9d265d043" + "position": { + "x": 1216, + "y": 776 } }, { - "source": { - "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "id": "ddc62e2a-e70b-449d-860f-e815be4c4d8e", + "type": "basic.outputLabel", + "data": { + "name": "stdout", + "range": "[9:0]", + "blockColor": "fuchsia", + "size": 10 }, - "target": { - "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "port": "5e915366-608a-431a-bf68-8c64fb4c302c" + "position": { + "x": 856, + "y": 776 } }, { - "source": { - "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "port": "c7d2d573-b901-420e-a923-6832e5b18e34" - }, - "target": { - "block": "11342001-e6e0-443b-af87-0e5d7ada0227", - "port": "346b4ae4-4bb6-4845-9c17-3b25e0dde718" + "id": "dea0965b-016f-40c0-aad7-c4d26a391f46", + "type": "basic.outputLabel", + "data": { + "blockColor": "steelblue", + "name": "txmit", + "oldBlockColor": "fuchsia" }, - "vertices": [ - { - "x": 824, - "y": -424 - } - ] + "position": { + "x": 200, + "y": 824 + } }, { - "source": { - "block": "d192d0af-e7be-4be6-925a-50227d80784c", - "port": "out" - }, - "target": { - "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "port": "0ebd46a4-769b-45e6-bcaf-e3796264aed3" + "id": "a6820ca3-b48c-4815-aa10-2f6b80e6c4af", + "type": "basic.inputLabel", + "data": { + "blockColor": "steelblue", + "name": "exec", + "oldBlockColor": "fuchsia" }, - "size": 4 + "position": { + "x": 544, + "y": 840 + } }, { - "source": { - "block": "c2d36218-be99-4dd1-bf69-7690c667255b", - "port": "out" - }, - "target": { - "block": "57e59301-2919-4f06-ba95-54ce5d99d774", - "port": "0ebd46a4-769b-45e6-bcaf-e3796264aed3" + "id": "1ac9dd5b-9741-4af4-963a-50cbf8c4c6be", + "type": "basic.input", + "data": { + "name": "txmit", + "clock": false }, - "size": 4 + "position": { + "x": -320, + "y": 848 + } }, { - "source": { - "block": "11342001-e6e0-443b-af87-0e5d7ada0227", - "port": "55180947-6349-4a04-a151-ad69ea2b155e" - }, - "target": { - "block": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42", - "port": "in" + "id": "9fd18953-28a5-488b-be46-c1107835d885", + "type": "basic.inputLabel", + "data": { + "blockColor": "steelblue", + "name": "txmit", + "oldBlockColor": "fuchsia" }, - "size": 4 + "position": { + "x": -168, + "y": 848 + } }, { - "source": { - "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "id": "1ed1a91b-927d-4eed-b00f-b05b5dda7cbf", + "type": "basic.outputLabel", + "data": { + "blockColor": "darkgreen", + "name": "busy", + "oldBlockColor": "fuchsia" }, - "target": { - "block": "72c87c65-b34b-480f-8cde-cd97c0914014", - "port": "5e915366-608a-431a-bf68-8c64fb4c302c" + "position": { + "x": 856, + "y": 848 + } + }, + { + "id": "542ef450-6c74-4024-a245-fe1d832776bb", + "type": "basic.outputLabel", + "data": { + "blockColor": "darkgreen", + "name": "busy", + "oldBlockColor": "fuchsia" }, - "vertices": [ - { - "x": 728, - "y": -552 - } - ] + "position": { + "x": 80, + "y": 888 + } }, { - "source": { - "block": "72c87c65-b34b-480f-8cde-cd97c0914014", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "id": "2c5224d8-9648-4069-8367-a0c8ec056753", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "done" }, - "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "port": "in" + "position": { + "x": 552, + "y": 936 } }, { - "source": { - "block": "72c87c65-b34b-480f-8cde-cd97c0914014", - "port": "c7d2d573-b901-420e-a923-6832e5b18e34" + "id": "fdd4378f-0950-4ef2-b5d9-091a87499091", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "next" }, - "target": { - "block": "11342001-e6e0-443b-af87-0e5d7ada0227", - "port": "6c2aa548-5a4c-4e8d-a56c-a70926b19f18" + "position": { + "x": 80, + "y": 960 } }, { - "source": { - "block": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86", - "port": "out" + "id": "ddba74a9-5192-4fb7-8192-9e9e07103ad8", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "done" }, - "target": { - "block": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", - "port": "5e915366-608a-431a-bf68-8c64fb4c302c" + "position": { + "x": 1048, + "y": 968 } - } - ] - } - } - }, - "c3c498191b14e9288a85fa2871b3966665f75475": { - "package": { - "name": "AdderC-8bits", - "version": "0.1", - "description": "AdderC-8bits: Adder of two operands of 8 bits and Carry in", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", - "otid": 1618560481898 - }, - "design": { - "graph": { - "blocks": [ + }, { - "id": "bc495131-253e-49c9-9cd7-9e843cbe7ce5", - "type": "basic.inputLabel", + "id": "233059d5-8ab7-4c63-8dab-0c6af3a1dc28", + "type": "basic.output", "data": { - "name": "a1", - "range": "[3:0]", - "pins": [ - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "deeppink" + "name": "done" }, "position": { - "x": -64, - "y": -648 + "x": 1200, + "y": 968 } }, { - "id": "4bf17d89-89b8-4524-800a-2d15f9bbb111", + "id": "72632c73-fe18-42b3-b81f-46999ddfdb20", "type": "basic.input", "data": { - "name": "", + "name": "char", "range": "[7:0]", "clock": false, "size": 8 }, "position": { - "x": -408, - "y": -584 + "x": -320, + "y": 984 } }, { - "id": "dc0243cd-75d9-4b07-bc17-150c250121ba", + "id": "59b55b10-4bcd-45fd-9dbe-e6dd6767c97c", "type": "basic.inputLabel", "data": { - "name": "a0", - "range": "[3:0]", - "pins": [ - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "deeppink", - "blockColor": "deeppink" + "blockColor": "steelblue", + "name": "char", + "range": "[7:0]", + "oldBlockColor": "fuchsia", + "size": 8 + }, + "position": { + "x": -160, + "y": 984 + } + }, + { + "id": "e787e85b-39c6-4705-a8b3-4da9c48be3ea", + "type": "basic.outputLabel", + "data": { + "blockColor": "darkgreen", + "name": "busy", + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 1048, + "y": 1056 + } + }, + { + "id": "f1cc51c6-3ef4-496d-99cf-0ee3007a2c64", + "type": "basic.output", + "data": { + "name": "busy" }, "position": { - "x": -64, - "y": -568 + "x": 1192, + "y": 1056 + } + }, + { + "id": "af3693c8-f4e9-4cbe-90e5-cd93b52b1834", + "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", + "position": { + "x": 224, + "y": 904 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "type": "basic.output", + "id": "70db30ca-f05e-4d85-9911-4e37562185a2", + "type": "basic.info", "data": { - "name": "c" + "info": "## PUTC: Transmit one character (STDOUT bus)\n\nWhen **idle**, the STDOUT bus crosses the component without modification \n\nWhen the machine starts, the char is outputed and the state is changed to busy \nWhen the transmitter is done (tic received in next) the machine is turned off", + "readonly": true }, "position": { - "x": 832, - "y": -480 + "x": 160, + "y": 360 + }, + "size": { + "width": 696, + "height": 136 } }, { - "id": "bd04885a-8a3a-4215-bbf1-c472c10c44f5", - "type": "basic.outputLabel", + "id": "17adabf1-6e5f-481e-b723-92cafbd3f126", + "type": "basic.info", "data": { - "name": "a1", - "range": "[3:0]", - "blockColor": "deeppink", - "size": 4 + "info": "Start tic: The byte from the \ninput char is transmited", + "readonly": true }, "position": { - "x": 248, - "y": -456 + "x": -288, + "y": 800 + }, + "size": { + "width": 240, + "height": 64 } }, { - "id": "ba04e310-65e0-4554-ba2b-fbde28690a0b", - "type": "basic.inputLabel", + "id": "f9228c3c-67bd-4a38-b678-87e025a45048", + "type": "basic.info", "data": { - "name": "b1", - "range": "[3:0]", - "pins": [ - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia" + "info": "Char to be transmited", + "readonly": true }, "position": { - "x": -80, - "y": -448 + "x": -272, + "y": 952 + }, + "size": { + "width": 216, + "height": 48 } }, { - "id": "3867504b-f331-4e0e-b923-acc86cb4255c", - "type": "basic.input", + "id": "40cbc8b9-ba20-4d53-90a4-74481101d34b", + "type": "basic.info", "data": { - "name": "", - "range": "[7:0]", - "clock": false, - "size": 8 + "info": "State of the machine: \n1: ON: transmitting \n2: OFF: transparent mode ", + "readonly": true }, "position": { - "x": -400, - "y": -392 + "x": 344, + "y": 648 + }, + "size": { + "width": 232, + "height": 88 } }, { - "id": "d60cb59e-3e5c-4044-ae1f-3a06f33e83f9", - "type": "basic.inputLabel", + "id": "5a19e117-936d-4868-be9f-d1e03760a510", + "type": "basic.info", "data": { - "name": "b0", - "range": "[3:0]", - "pins": [ - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia" + "info": "If the machine is on \nand the character has been \ntransmitted: Turn it off", + "readonly": true }, "position": { - "x": -80, - "y": -376 + "x": 344, + "y": 960 + }, + "size": { + "width": 264, + "height": 72 } }, { - "id": "383985cb-fd11-48ff-972a-cee8b631bd65", - "type": "basic.outputLabel", + "id": "358d0c6c-1d72-445e-bdc0-c40d831753f7", + "type": "basic.info", "data": { - "name": "b1", - "range": "[3:0]", - "blockColor": "fuchsia", - "size": 4 + "info": "The machine has finished", + "readonly": true }, "position": { - "x": 248, - "y": -376 + "x": 1072, + "y": 936 + }, + "size": { + "width": 352, + "height": 56 } }, { - "id": "9daaaf78-5a89-4d4a-a1b2-db1d3af962f1", - "type": "basic.output", + "id": "6257ea46-accb-4d9a-b165-35a8a2c04270", + "type": "basic.info", "data": { - "name": "s", - "range": "[7:0]", - "size": 8 + "info": "**STDOUT BUS**", + "readonly": true }, "position": { - "x": 840, - "y": -336 + "x": -296, + "y": 536 + }, + "size": { + "width": 160, + "height": 32 } }, { - "id": "7905afe7-6a82-43d9-811b-45f379a3c0a9", - "type": "basic.outputLabel", - "data": { - "name": "a0", - "range": "[3:0]", - "blockColor": "deeppink", - "size": 4 - }, + "id": "ef395571-47c5-4fa2-9bb0-cc6bf29a96df", + "type": "46cae7e9ebf62b7867b3a90798e5bc71b9eec2e0", "position": { - "x": 120, - "y": -304 + "x": -168, + "y": 664 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "53d3821c-4072-438d-a45e-3a5364fdc8bc", - "type": "basic.outputLabel", + "id": "476ddfa0-b036-4f51-af3f-3de23d9e074f", + "type": "basic.info", "data": { - "name": "b0", - "range": "[3:0]", - "blockColor": "fuchsia", - "size": 4 + "info": "Not connected", + "readonly": true }, "position": { - "x": 120, - "y": -232 + "x": 1192, + "y": 536 + }, + "size": { + "width": 128, + "height": 40 } }, { - "id": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86", - "type": "basic.input", + "id": "f8560747-4666-4911-8c20-a85c7c39f0c1", + "type": "basic.info", "data": { - "name": "ci", - "clock": false + "info": "**STDOUT BUS**", + "readonly": true }, "position": { - "x": -392, - "y": -168 + "x": 1208, + "y": 736 + }, + "size": { + "width": 160, + "height": 32 } }, { - "id": "d5ab6421-1fc7-4d8d-8124-2cc7e0eb931d", - "type": "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a", + "id": "ec68d254-7f67-4ca6-9e0e-b2e2e9d45066", + "type": "dfb235f1673ee7cefa8539b9a9f9e43979df37ea", "position": { - "x": -248, - "y": -392 + "x": 856, + "y": 680 }, "size": { "width": 96, @@ -25967,47 +21695,55 @@ } }, { - "id": "d6ce7b9d-d8cf-4cde-85a8-589536fcc3a3", - "type": "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a", + "id": "f59e851d-2d7f-41e9-8128-77b7da1c6a18", + "type": "basic.info", + "data": { + "info": "**Create the bus** \nfrom the data and tic signals", + "readonly": true + }, "position": { - "x": -240, - "y": -584 + "x": 720, + "y": 592 }, "size": { - "width": 96, - "height": 64 + "width": 248, + "height": 56 } }, { - "id": "0e0cf23b-5743-4a19-838d-fb46d407ee16", - "type": "afb28fd5426aea14477d11cbe30a290679f789f8", + "id": "c6b39875-76bf-43b3-bf07-98c17499bf21", + "type": "basic.info", + "data": { + "info": "Transparent mode... \nor not", + "readonly": true + }, "position": { - "x": 688, - "y": -336 + "x": 1056, + "y": 680 }, "size": { - "width": 96, - "height": 64 + "width": 192, + "height": 56 } }, { - "id": "840ba8a1-693f-4531-a947-adcaeac4e854", - "type": "a1ce303b8ce47a06371ea4641c81460f34a1cca9", + "id": "6492be89-2e8a-4083-aa96-9c98a57ca413", + "type": "aec21dcbeb94ef212f1936ba3b7cf22e0e349a8f", "position": { - "x": 320, - "y": -248 + "x": 368, + "y": 792 }, "size": { "width": 96, - "height": 96 + "height": 128 } }, { - "id": "7a4072f6-7500-4b87-86dc-2c63246b510b", - "type": "a1ce303b8ce47a06371ea4641c81460f34a1cca9", + "id": "24781aa1-3b28-4a87-9d6b-613933793a06", + "type": "8ed9836d2da2233ae19d6633059e8503d58971bb", "position": { - "x": 464, - "y": -392 + "x": 1048, + "y": 760 }, "size": { "width": 96, @@ -26018,834 +21754,770 @@ "wires": [ { "source": { - "block": "d5ab6421-1fc7-4d8d-8124-2cc7e0eb931d", - "port": "eb61d084-ca22-4894-b8a2-f936db38f4b1", - "size": 4 + "block": "72632c73-fe18-42b3-b81f-46999ddfdb20", + "port": "out", + "size": 8 }, "target": { - "block": "d60cb59e-3e5c-4044-ae1f-3a06f33e83f9", + "block": "59b55b10-4bcd-45fd-9dbe-e6dd6767c97c", "port": "inlabel" }, - "size": 4 + "size": 8 }, { "source": { - "block": "d5ab6421-1fc7-4d8d-8124-2cc7e0eb931d", - "port": "637e64f4-0a6b-4037-9a75-89397e078a58", - "size": 4 + "block": "04841e3c-8761-454a-8d99-496fde26ea1f", + "port": "out" }, "target": { - "block": "ba04e310-65e0-4554-ba2b-fbde28690a0b", + "block": "ed414ec2-55e9-4b36-9c04-d544201b630e", "port": "inlabel" - }, - "size": 4 + } }, { "source": { - "block": "d6ce7b9d-d8cf-4cde-85a8-589536fcc3a3", - "port": "eb61d084-ca22-4894-b8a2-f936db38f4b1", - "size": 4 + "block": "e787e85b-39c6-4705-a8b3-4da9c48be3ea", + "port": "outlabel" }, "target": { - "block": "dc0243cd-75d9-4b07-bc17-150c250121ba", - "port": "inlabel" - }, - "size": 4 + "block": "f1cc51c6-3ef4-496d-99cf-0ee3007a2c64", + "port": "in" + } }, { "source": { - "block": "d6ce7b9d-d8cf-4cde-85a8-589536fcc3a3", - "port": "637e64f4-0a6b-4037-9a75-89397e078a58", - "size": 4 + "block": "ddba74a9-5192-4fb7-8192-9e9e07103ad8", + "port": "outlabel" }, "target": { - "block": "bc495131-253e-49c9-9cd7-9e843cbe7ce5", - "port": "inlabel" - }, - "size": 4 + "block": "233059d5-8ab7-4c63-8dab-0c6af3a1dc28", + "port": "in" + } }, { "source": { - "block": "53d3821c-4072-438d-a45e-3a5364fdc8bc", + "block": "04a63331-d349-46dd-b312-aacf9b71b3c6", "port": "outlabel" }, "target": { - "block": "840ba8a1-693f-4531-a947-adcaeac4e854", - "port": "d192d0af-e7be-4be6-925a-50227d80784c", - "size": 4 - }, - "size": 4 + "block": "6492be89-2e8a-4083-aa96-9c98a57ca413", + "port": "046501b8-4427-4d4d-af97-7fe807774f33" + } }, { "source": { - "block": "7905afe7-6a82-43d9-811b-45f379a3c0a9", - "port": "outlabel" + "block": "6492be89-2e8a-4083-aa96-9c98a57ca413", + "port": "0d991cee-b329-439b-b9e7-5712d2db539d" }, "target": { - "block": "840ba8a1-693f-4531-a947-adcaeac4e854", - "port": "c2d36218-be99-4dd1-bf69-7690c667255b", - "size": 4 - }, - "vertices": [ - { - "x": 272, - "y": -256 - } - ], - "size": 4 + "block": "f809e9bb-2587-459d-807e-629afdc99f43", + "port": "inlabel" + } }, { "source": { - "block": "383985cb-fd11-48ff-972a-cee8b631bd65", + "block": "542ef450-6c74-4024-a245-fe1d832776bb", "port": "outlabel" }, "target": { - "block": "7a4072f6-7500-4b87-86dc-2c63246b510b", - "port": "d192d0af-e7be-4be6-925a-50227d80784c", - "size": 4 - }, - "size": 4 + "block": "af3693c8-f4e9-4cbe-90e5-cd93b52b1834", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } }, { "source": { - "block": "bd04885a-8a3a-4215-bbf1-c472c10c44f5", - "port": "outlabel" + "block": "6492be89-2e8a-4083-aa96-9c98a57ca413", + "port": "3802390d-8417-4369-b93c-dda647ccb0c6" }, "target": { - "block": "7a4072f6-7500-4b87-86dc-2c63246b510b", - "port": "c2d36218-be99-4dd1-bf69-7690c667255b", - "size": 4 - }, - "vertices": [ - { - "x": 384, - "y": -400 - } - ], - "size": 4 + "block": "2c5224d8-9648-4069-8367-a0c8ec056753", + "port": "inlabel" + } }, { "source": { - "block": "840ba8a1-693f-4531-a947-adcaeac4e854", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "block": "6492be89-2e8a-4083-aa96-9c98a57ca413", + "port": "aefe9248-3b3d-441b-9e65-33cda65b99dd" }, "target": { - "block": "7a4072f6-7500-4b87-86dc-2c63246b510b", - "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" + "block": "a6820ca3-b48c-4815-aa10-2f6b80e6c4af", + "port": "inlabel" } }, { "source": { - "block": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86", + "block": "1ac9dd5b-9741-4af4-963a-50cbf8c4c6be", "port": "out" }, "target": { - "block": "840ba8a1-693f-4531-a947-adcaeac4e854", - "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" + "block": "9fd18953-28a5-488b-be46-c1107835d885", + "port": "inlabel" } }, { "source": { - "block": "4bf17d89-89b8-4524-800a-2d15f9bbb111", - "port": "out" + "block": "dea0965b-016f-40c0-aad7-c4d26a391f46", + "port": "outlabel" }, "target": { - "block": "d6ce7b9d-d8cf-4cde-85a8-589536fcc3a3", - "port": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e" - }, - "size": 8 + "block": "6492be89-2e8a-4083-aa96-9c98a57ca413", + "port": "88176871-35ac-42bf-bf62-36c81a4b4b47" + } }, { "source": { - "block": "3867504b-f331-4e0e-b923-acc86cb4255c", - "port": "out" + "block": "8c3ce21f-2214-489f-853a-d60a223034da", + "port": "out", + "size": 10 }, "target": { - "block": "d5ab6421-1fc7-4d8d-8124-2cc7e0eb931d", - "port": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e" + "block": "a0b2c050-26fc-4ac0-875f-6ef2c1f03c5e", + "port": "inlabel" }, - "size": 8 + "vertices": [], + "size": 10 }, { "source": { - "block": "0e0cf23b-5743-4a19-838d-fb46d407ee16", - "port": "1269698e-e555-4fcb-a613-cb4c7ff2e598" + "block": "ef395571-47c5-4fa2-9bb0-cc6bf29a96df", + "port": "7e8b125e-5171-41ea-871b-ea7f0ffd4a03" }, "target": { - "block": "9daaaf78-5a89-4d4a-a1b2-db1d3af962f1", - "port": "in" + "block": "bc052fe3-357e-486c-a2e1-fef8f36a37ae", + "port": "inlabel" }, - "size": 8 + "vertices": [] }, { "source": { - "block": "840ba8a1-693f-4531-a947-adcaeac4e854", - "port": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42" + "block": "fdd4378f-0950-4ef2-b5d9-091a87499091", + "port": "outlabel" }, "target": { - "block": "0e0cf23b-5743-4a19-838d-fb46d407ee16", - "port": "843164ff-f7d8-48b9-bf59-1e0d1135c81f" - }, - "size": 4 + "block": "af3693c8-f4e9-4cbe-90e5-cd93b52b1834", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + } }, { "source": { - "block": "7a4072f6-7500-4b87-86dc-2c63246b510b", - "port": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42" + "block": "1ed1a91b-927d-4eed-b00f-b05b5dda7cbf", + "port": "outlabel" }, "target": { - "block": "0e0cf23b-5743-4a19-838d-fb46d407ee16", - "port": "a1770adf-e143-4506-9d87-3cb9c870f534" + "block": "24781aa1-3b28-4a87-9d6b-613933793a06", + "port": "1e7e3cd6-ed00-468a-9f7c-0bb91e020dce" }, - "size": 4 + "vertices": [] }, { "source": { - "block": "7a4072f6-7500-4b87-86dc-2c63246b510b", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "block": "80c60ca1-61f9-40d2-8a87-5cd02ffb2d90", + "port": "outlabel" }, "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "port": "in" - }, - "vertices": [ - { - "x": 624, - "y": -392 - } - ] - } - ] - } - } - }, - "8cc49c9b29485f2cfeab6064d7bb1cf9ced045b1": { - "package": { - "name": "Bus16-Join-half", - "version": "0.1", - "description": "Bus16-Join-half: Join the two same halves into an 16-bits Bus", - "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=%22M164.218%2077.643L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v26.186l61.698.046c8.012-.043%2015.705%203.133%2021.47%208.81l61.448%2061.315a57.292%2057.292%200%200%200%2039.993%2016.139%2057.292%2057.292%200%200%200-39.993%2016.14L83.668%20190.45c-5.765%205.677-13.458%208.853-21.47%208.81L.5%20199.306v26.186h62.612c14.924.039%2029.463-5.9%2040.204-16.28l60.902-60.863a29.857%2029.857%200%200%201%2021.347-8.81l146.53-.113V86.457H185.571a29.884%2029.884%200%200%201-21.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "5a35cd57-1006-4f6d-b263-5b977e9ef142", - "type": "basic.input", - "data": { - "name": "1", - "range": "[7:0]", - "clock": false, + "block": "ec68d254-7f67-4ca6-9e0e-b2e2e9d45066", + "port": "eb5386a0-d51a-4bb4-9f25-b8add9f18cfb", "size": 8 }, - "position": { - "x": 120, - "y": 168 - } + "size": 8 }, { - "id": "79c56f9a-597f-491e-b1d1-d321f63303c2", - "type": "basic.output", - "data": { - "name": "", - "range": "[15:0]", - "size": 16 + "source": { + "block": "6940c4f1-a919-408b-9f9a-c542d928ac41", + "port": "outlabel" }, - "position": { - "x": 632, - "y": 200 + "target": { + "block": "ec68d254-7f67-4ca6-9e0e-b2e2e9d45066", + "port": "9d2cea30-da88-4104-bf4e-e7934b02a553" } }, { - "id": "38fdb02d-4323-4a34-9ffe-8385f844b660", - "type": "basic.input", - "data": { - "name": "0", - "range": "[7:0]", - "clock": false, - "size": 8 + "source": { + "block": "ddc62e2a-e70b-449d-860f-e815be4c4d8e", + "port": "outlabel" + }, + "target": { + "block": "24781aa1-3b28-4a87-9d6b-613933793a06", + "port": "7eebf205-f431-42e6-ae74-c1559aa741ec", + "size": 10 }, - "position": { - "x": 120, - "y": 264 - } + "size": 10 }, { - "id": "16e78204-213e-4833-9096-89d735307ec2", - "type": "basic.code", - "data": { - "code": "assign o = {i1, i0};\n", - "params": [], - "ports": { - "in": [ - { - "name": "i1", - "range": "[7:0]", - "size": 8 - }, - { - "name": "i0", - "range": "[7:0]", - "size": 8 - } - ], - "out": [ - { - "name": "o", - "range": "[15:0]", - "size": 16 - } - ] - } - }, - "position": { - "x": 296, - "y": 176 + "source": { + "block": "af3693c8-f4e9-4cbe-90e5-cd93b52b1834", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, - "size": { - "width": 272, - "height": 104 + "target": { + "block": "6492be89-2e8a-4083-aa96-9c98a57ca413", + "port": "ba15eacb-1e03-4580-932b-3231703481e5" } - } - ], - "wires": [ + }, { "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o" + "block": "8c3ce21f-2214-489f-853a-d60a223034da", + "port": "out" }, "target": { - "block": "79c56f9a-597f-491e-b1d1-d321f63303c2", - "port": "in" + "block": "ef395571-47c5-4fa2-9bb0-cc6bf29a96df", + "port": "6f62a1a4-70d0-42a7-bb69-0639fbebdc04" }, - "size": 16 + "vertices": [], + "size": 10 }, { "source": { - "block": "38fdb02d-4323-4a34-9ffe-8385f844b660", - "port": "out" + "block": "24781aa1-3b28-4a87-9d6b-613933793a06", + "port": "3594d5a9-ed9e-4b56-86ac-397384eaee88" }, "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i0" + "block": "9aa5255a-60da-463d-ba87-d4f96456d802", + "port": "in" }, - "size": 8 + "size": 10 }, { "source": { - "block": "5a35cd57-1006-4f6d-b263-5b977e9ef142", - "port": "out" + "block": "ec68d254-7f67-4ca6-9e0e-b2e2e9d45066", + "port": "eda56153-8d23-4caa-a8de-73c6be124bb9" }, "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i1" + "block": "24781aa1-3b28-4a87-9d6b-613933793a06", + "port": "20325019-e8d3-4d83-9c24-2284ef449ba6" }, - "size": 8 + "vertices": [ + { + "x": 984, + "y": 744 + } + ], + "size": 10 } ] } } }, - "0f6c392fd18934000cbfa24f7cb7eab931e7c1b2": { + "46cae7e9ebf62b7867b3a90798e5bc71b9eec2e0": { "package": { - "name": "Bus20-Split-12-8", + "name": "stdout-bus-next-out", "version": "0.1", - "description": "Bus20-Split-8-12: Split the 20-bits bus into two buses of 8 and 12 wires", + "description": "Extract the next signal from the stdout bus", "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" + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22356.708%22%20height=%22176.233%22%20viewBox=%220%200%2094.37896%2046.628384%22%3E%3Cg%20transform=%22translate(-44.148%20-120.418)%22%3E%3Crect%20width=%2233.016%22%20height=%227.314%22%20x=%22105.246%22%20y=%22141.954%22%20ry=%220%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22bevel%22/%3E%3Crect%20width=%2235.851%22%20height=%2214.797%22%20x=%2244.412%22%20y=%22138.101%22%20ry=%220%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22bevel%22/%3E%3Crect%20width=%2225.079%22%20height=%2227.493%22%20x=%2280.36%22%20y=%22132.039%22%20ry=%220%22%20fill=%22#999%22%20stroke=%22#000%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22bevel%22/%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%2246.181%22%20y=%22130.756%22%20font-weight=%22400%22%20font-size=%2212.449%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20x=%2246.181%22%20y=%22130.756%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ESTDOUT%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%2250.363%22%20y=%22164.97%22%20font-weight=%22400%22%20font-size=%2212.449%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20x=%2250.363%22%20y=%22164.97%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EBUS%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "865e30d6-1832-4a16-a2b5-6bf334df5cf4", + "id": "7e8b125e-5171-41ea-871b-ea7f0ffd4a03", "type": "basic.output", "data": { - "name": "1", - "range": "[11:0]", - "size": 12 + "name": "next" }, "position": { - "x": 600, - "y": 144 + "x": 608, + "y": 192 } }, { - "id": "6a8347bb-e6ee-494a-87c8-277445460362", + "id": "6f62a1a4-70d0-42a7-bb69-0639fbebdc04", "type": "basic.input", "data": { "name": "", - "range": "[19:0]", + "range": "[9:0]", "clock": false, - "size": 20 - }, - "position": { - "x": 80, - "y": 208 - } - }, - { - "id": "b4a2e85c-b31d-4363-be79-79d23492dd85", - "type": "basic.output", - "data": { - "name": "0", - "range": "[7:0]", - "size": 8 + "size": 10 }, "position": { - "x": 600, - "y": 232 + "x": 128, + "y": 192 } }, { "id": "16e78204-213e-4833-9096-89d735307ec2", "type": "basic.code", "data": { - "code": "assign o1 = i[19:8];\nassign o0 = i[7:0];", + "code": "assign o = i[0];", "params": [], "ports": { "in": [ { "name": "i", - "range": "[19:0]", - "size": 20 + "range": "[9:0]", + "size": 10 } ], "out": [ { - "name": "o1", - "range": "[11:0]", - "size": 12 - }, - { - "name": "o0", - "range": "[7:0]", - "size": 8 + "name": "o" } ] } }, "position": { - "x": 272, + "x": 296, "y": 176 }, "size": { - "width": 240, - "height": 120 + "width": 264, + "height": 88 } } ], "wires": [ - { - "source": { - "block": "6a8347bb-e6ee-494a-87c8-277445460362", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i" - }, - "size": 20 - }, { "source": { "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o0" + "port": "o" }, "target": { - "block": "b4a2e85c-b31d-4363-be79-79d23492dd85", + "block": "7e8b125e-5171-41ea-871b-ea7f0ffd4a03", "port": "in" - }, - "size": 8 + } }, { "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o1" + "block": "6f62a1a4-70d0-42a7-bb69-0639fbebdc04", + "port": "out" }, "target": { - "block": "865e30d6-1832-4a16-a2b5-6bf334df5cf4", - "port": "in" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i" }, - "size": 12 + "size": 10 } ] } } }, - "c97ea62c7e57797474a81bca730a1b2bec259617": { + "dfb235f1673ee7cefa8539b9a9f9e43979df37ea": { "package": { - "name": "Bus12-Split-4-8", + "name": "stdout-bus-joint2", "version": "0.1", - "description": "Bus12-Split-4-8: Split the 12-bits bus into two buses of 4 and 8 wires", + "description": "stdout bus joiner (data + tic)", "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" + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22354.768%22%20height=%22219.63%22%20viewBox=%220%200%20332.595%20205.90272%22%3E%3Cpath%20d=%22M164.218%2068.938L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v26.186l61.698.046c8.012-.043%2015.705%203.133%2021.47%208.81l61.448%2052.61a57.292%2057.292%200%200%200%2039.993%2016.139%2057.292%2057.292%200%200%200-39.993%2016.139l-61.448%2049.93c-5.765%205.678-13.458%208.854-21.47%208.81L.5%20179.217v26.187h62.612c14.924.039%2029.463-5.9%2040.204-16.28l60.902-49.48a29.857%2029.857%200%200%201%2021.347-8.809l146.53-.114V77.752H185.571a29.884%2029.884%200%200%201-21.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22341.249%22%20y=%22247.958%22%20font-weight=%22400%22%20font-size=%2244.109%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.938%22%20transform=%22translate(-184.13%20-199.542)%22%3E%3Ctspan%20x=%22341.249%22%20y=%22247.958%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ESTDOUT%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22390.889%22%20y=%22387.938%22%20font-weight=%22400%22%20font-size=%2244.109%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.938%22%20transform=%22translate(-184.13%20-199.542)%22%3E%3Ctspan%20x=%22390.889%22%20y=%22387.938%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EBUS%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22299.979%22%20y=%22389.373%22%20font-weight=%22400%22%20font-size=%2215%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%22.938%22%20transform=%22translate(-184.13%20-199.542)%22/%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "9a0bd20b-0206-4f0e-b07d-e96696b705c5", - "type": "basic.output", + "id": "eb5386a0-d51a-4bb4-9f25-b8add9f18cfb", + "type": "basic.input", "data": { - "name": "1", - "range": "[3:0]", - "size": 4 + "name": "", + "range": "[7:0]", + "clock": false, + "size": 8 }, "position": { - "x": 496, - "y": 16 + "x": 112, + "y": 168 } }, { - "id": "46011ec6-127b-4e6b-83ca-aed5b18ae4d0", - "type": "basic.input", + "id": "eda56153-8d23-4caa-a8de-73c6be124bb9", + "type": "basic.output", "data": { "name": "", - "range": "[11:0]", - "clock": false, - "size": 12 + "range": "[9:0]", + "size": 10 }, "position": { - "x": -32, - "y": 64 + "x": 648, + "y": 192 } }, { - "id": "99e7399f-ce06-4f67-ae35-0b9a6785d60e", - "type": "basic.output", + "id": "9d2cea30-da88-4104-bf4e-e7934b02a553", + "type": "basic.input", "data": { - "name": "0", - "range": "[7:0]", - "size": 8 + "name": "tic", + "clock": false }, "position": { - "x": 504, - "y": 104 + "x": 112, + "y": 232 } }, { "id": "16e78204-213e-4833-9096-89d735307ec2", "type": "basic.code", "data": { - "code": "\nassign o1 = i[11:8];\nassign o0 = i[7:0];", + "code": "assign o[9:1] = {i, tic};", "params": [], "ports": { "in": [ { "name": "i", - "range": "[11:0]", - "size": 12 + "range": "[7:0]", + "size": 8 + }, + { + "name": "tic" } ], "out": [ { - "name": "o1", - "range": "[3:0]", - "size": 4 - }, - { - "name": "o0", - "range": "[7:0]", - "size": 8 + "name": "o", + "range": "[9:0]", + "size": 10 } ] } }, "position": { - "x": 136, - "y": 0 + "x": 296, + "y": 176 }, "size": { - "width": 280, - "height": 184 + "width": 264, + "height": 88 } } ], "wires": [ { "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o1" + "block": "eb5386a0-d51a-4bb4-9f25-b8add9f18cfb", + "port": "out" }, "target": { - "block": "9a0bd20b-0206-4f0e-b07d-e96696b705c5", - "port": "in" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i" }, - "size": 4 + "size": 8 }, { "source": { - "block": "46011ec6-127b-4e6b-83ca-aed5b18ae4d0", + "block": "9d2cea30-da88-4104-bf4e-e7934b02a553", "port": "out" }, "target": { "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i" - }, - "size": 12 + "port": "tic" + } }, { "source": { "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o0" + "port": "o" }, "target": { - "block": "99e7399f-ce06-4f67-ae35-0b9a6785d60e", + "block": "eda56153-8d23-4caa-a8de-73c6be124bb9", "port": "in" }, - "size": 8 + "size": 10 } ] } } }, - "95d0aeb748ac78b1801cd0f424b4cf9296c0b999": { + "8ed9836d2da2233ae19d6633059e8503d58971bb": { "package": { - "name": "20-bits-gen-constant", - "version": "0.0.2", - "description": "Generic: 20-bits generic constant", - "author": "Juan Gonzalez-Gomez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22145.608%22%20height=%22247.927%22%20viewBox=%220%200%20136.50729%20232.43134%22%3E%3Cg%20style=%22line-height:0%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%3E%3Cpath%20d=%22M56.012%20146.905q9.055%206.708%2020.459%2017.105%2011.404%2010.062%2022.472%2021.8%2011.403%2011.74%2021.465%2024.15%2010.062%2012.074%2016.1%2022.471h-32.87q-6.372-10.397-15.763-21.13-9.392-11.068-20.124-21.13-10.398-10.062-21.13-18.447-10.398-8.385-18.783-14.087v74.794H0V4.695L27.838%200v141.874q18.447-16.1%2036.894-31.863%2018.447-16.1%2033.205-33.205h32.533q-14.422%2017.106-34.881%2035.217-20.124%2018.112-39.577%2034.882z%22%20style=%22line-height:1.25%22%20font-size=%22335.399%22%20font-weight=%22400%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22/%3E%3C/g%3E%3C/svg%3E" + "name": "10-bits-Mux-2-1-verilog", + "version": "0.2", + "description": "2-to-1 Multplexer (10-bit channels). Verilog implementation", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2280.833%22%20height=%22158.56%22%20viewBox=%220%200%2075.781585%20148.65066%22%3E%3Cpath%20d=%22M74.375%2036.836c0-12.691-6.99-24.413-18.326-30.729-11.335-6.316-25.284-6.262-36.568.141C8.198%2012.652%201.304%2024.427%201.407%2037.118v74.415c-.103%2012.69%206.79%2024.466%2018.074%2030.87%2011.284%206.403%2025.233%206.457%2036.568.14%2011.336-6.316%2018.326-18.037%2018.326-30.728z%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%222.813%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.448%22%20y=%2291.518%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.448%22%20y=%2291.518%22%3E0%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.359%22%20y=%2214.582%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.359%22%20y=%2214.582%22%3E1%3C/tspan%3E%3C/text%3E%3C/svg%3E", + "otid": 1618922858665 }, "design": { "graph": { "blocks": [ { - "id": "d1f5a9f1-76b5-430e-a1db-2273ba3d5497", + "id": "20325019-e8d3-4d83-9c24-2284ef449ba6", + "type": "basic.input", + "data": { + "name": "1", + "range": "[9:0]", + "clock": false, + "size": 10 + }, + "position": { + "x": 320, + "y": -56 + } + }, + { + "id": "3594d5a9-ed9e-4b56-86ac-397384eaee88", "type": "basic.output", "data": { "name": "", - "range": "[19:0]", - "size": 20 + "range": "[9:0]", + "size": 10 }, "position": { - "x": 960, - "y": 248 + "x": 984, + "y": 32 } }, { - "id": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", - "type": "basic.constant", + "id": "7eebf205-f431-42e6-ae74-c1559aa741ec", + "type": "basic.input", "data": { - "name": "", - "value": "0", - "local": false + "name": "0", + "range": "[9:0]", + "clock": false, + "size": 10 }, "position": { - "x": 728, - "y": 128 + "x": 320, + "y": 32 } }, { - "id": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "id": "1e7e3cd6-ed00-468a-9f7c-0bb91e020dce", + "type": "basic.input", + "data": { + "name": "sel", + "clock": false + }, + "position": { + "x": 320, + "y": 120 + } + }, + { + "id": "b64f5610-774d-45c0-bbc6-85b1a6713f43", "type": "basic.code", "data": { - "code": "assign k = VALUE;", - "params": [ - { - "name": "VALUE" - } - ], "ports": { - "in": [], + "in": [ + { + "name": "i1", + "range": "[9:0]", + "size": 10 + }, + { + "name": "i0", + "range": "[9:0]", + "size": 10 + }, + { + "name": "sel" + } + ], "out": [ { - "name": "k", - "range": "[19:0]", - "size": 20 + "name": "o", + "range": "[9:0]", + "size": 10 } ] - } + }, + "params": [], + "code": "//-- 2-to-1 Multiplexer \n\nassign o = sel ? i1 : i0;" }, "position": { - "x": 672, - "y": 248 + "x": 560, + "y": -72 }, "size": { - "width": 208, - "height": 64 + "width": 304, + "height": 272 } } ], "wires": [ { "source": { - "block": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", - "port": "constant-out" + "block": "1e7e3cd6-ed00-468a-9f7c-0bb91e020dce", + "port": "out" }, "target": { - "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", - "port": "VALUE" - } + "block": "b64f5610-774d-45c0-bbc6-85b1a6713f43", + "port": "sel" + }, + "vertices": [] }, { "source": { - "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", - "port": "k" + "block": "b64f5610-774d-45c0-bbc6-85b1a6713f43", + "port": "o" }, "target": { - "block": "d1f5a9f1-76b5-430e-a1db-2273ba3d5497", + "block": "3594d5a9-ed9e-4b56-86ac-397384eaee88", "port": "in" }, - "size": 20 + "size": 10 + }, + { + "source": { + "block": "20325019-e8d3-4d83-9c24-2284ef449ba6", + "port": "out" + }, + "target": { + "block": "b64f5610-774d-45c0-bbc6-85b1a6713f43", + "port": "i1" + }, + "size": 10 + }, + { + "source": { + "block": "7eebf205-f431-42e6-ae74-c1559aa741ec", + "port": "out" + }, + "target": { + "block": "b64f5610-774d-45c0-bbc6-85b1a6713f43", + "port": "i0" + }, + "size": 10 } ] } } }, - "2dbbdf24834e69796fbfc1c5113fc929ee1fb935": { + "249940b3a2a6f82363df9ad6e49d976c389523b9": { "package": { - "name": "Bus20-Split-4-8-8", + "name": "8-bits-Mux-2-1-verilog", "version": "0.1", - "description": "Bus20-Split-4-8-8: Split the 20-bits bus into three buses of 4, 8 and 8 wires", + "description": "2-to-1 Multplexer (8-bit channels). Verilog implementation", "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" + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2280.833%22%20height=%22158.56%22%20viewBox=%220%200%2075.781585%20148.65066%22%3E%3Cpath%20d=%22M74.375%2036.836c0-12.691-6.99-24.413-18.326-30.729-11.335-6.316-25.284-6.262-36.568.141C8.198%2012.652%201.304%2024.427%201.407%2037.118v74.415c-.103%2012.69%206.79%2024.466%2018.074%2030.87%2011.284%206.403%2025.233%206.457%2036.568.14%2011.336-6.316%2018.326-18.037%2018.326-30.728z%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%222.813%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.448%22%20y=%2291.518%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.448%22%20y=%2291.518%22%3E0%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.359%22%20y=%2214.582%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.359%22%20y=%2214.582%22%3E1%3C/tspan%3E%3C/text%3E%3C/svg%3E", + "otid": 1618922858665 }, "design": { "graph": { "blocks": [ { - "id": "17b9ce53-8f1b-4b81-bd58-a2341e1d885e", - "type": "basic.output", + "id": "3ebd9e0a-9308-4615-af47-ae7b97f6f04a", + "type": "basic.input", "data": { - "name": "2", - "range": "[3:0]", - "size": 4 + "name": "1", + "range": "[7:0]", + "clock": false, + "size": 8 }, "position": { - "x": 616, - "y": 128 + "x": 320, + "y": -56 } }, { - "id": "6a8347bb-e6ee-494a-87c8-277445460362", - "type": "basic.input", + "id": "e1d78d57-b098-4613-a11e-9e106a69765b", + "type": "basic.output", "data": { "name": "", - "range": "[19:0]", - "clock": false, - "size": 20 + "range": "[7:0]", + "size": 8 }, "position": { - "x": 80, - "y": 208 + "x": 984, + "y": 32 } }, { - "id": "88b44ea2-b997-440d-b22f-7e007e400763", - "type": "basic.output", + "id": "d3868260-885c-407b-b2e4-3a25beb8fd5e", + "type": "basic.input", "data": { - "name": "1", + "name": "0", "range": "[7:0]", + "clock": false, "size": 8 }, "position": { - "x": 624, - "y": 208 + "x": 320, + "y": 32 } }, { - "id": "b4a2e85c-b31d-4363-be79-79d23492dd85", - "type": "basic.output", + "id": "1e7e3cd6-ed00-468a-9f7c-0bb91e020dce", + "type": "basic.input", "data": { - "name": "0", - "range": "[7:0]", - "size": 8 + "name": "sel", + "clock": false }, "position": { - "x": 624, - "y": 288 + "x": 320, + "y": 120 } }, { - "id": "16e78204-213e-4833-9096-89d735307ec2", + "id": "b64f5610-774d-45c0-bbc6-85b1a6713f43", "type": "basic.code", "data": { - "code": "assign o2 = i[19:16];\nassign o1 = i[15:8];\nassign o0 = i[7:0];", - "params": [], "ports": { "in": [ { - "name": "i", - "range": "[19:0]", - "size": 20 - } - ], - "out": [ - { - "name": "o2", - "range": "[3:0]", - "size": 4 + "name": "i1", + "range": "[7:0]", + "size": 8 }, { - "name": "o1", + "name": "i0", "range": "[7:0]", "size": 8 }, { - "name": "o0", + "name": "sel" + } + ], + "out": [ + { + "name": "o", "range": "[7:0]", "size": 8 } ] - } + }, + "params": [], + "code": "//-- 2-to-1 Multiplexer \n\nassign o = sel ? i1 : i0;" }, "position": { - "x": 272, - "y": 176 + "x": 560, + "y": -72 }, "size": { - "width": 240, - "height": 120 + "width": 304, + "height": 272 } } ], "wires": [ { "source": { - "block": "6a8347bb-e6ee-494a-87c8-277445460362", + "block": "1e7e3cd6-ed00-468a-9f7c-0bb91e020dce", "port": "out" }, "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i" + "block": "b64f5610-774d-45c0-bbc6-85b1a6713f43", + "port": "sel" }, - "size": 20 + "vertices": [] }, { "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o0" + "block": "b64f5610-774d-45c0-bbc6-85b1a6713f43", + "port": "o" }, "target": { - "block": "b4a2e85c-b31d-4363-be79-79d23492dd85", + "block": "e1d78d57-b098-4613-a11e-9e106a69765b", "port": "in" }, "size": 8 }, { "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o1" + "block": "d3868260-885c-407b-b2e4-3a25beb8fd5e", + "port": "out" }, "target": { - "block": "88b44ea2-b997-440d-b22f-7e007e400763", - "port": "in" + "block": "b64f5610-774d-45c0-bbc6-85b1a6713f43", + "port": "i0" }, "size": 8 }, { "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o2" + "block": "3ebd9e0a-9308-4615-af47-ae7b97f6f04a", + "port": "out" }, "target": { - "block": "17b9ce53-8f1b-4b81-bd58-a2341e1d885e", - "port": "in" + "block": "b64f5610-774d-45c0-bbc6-85b1a6713f43", + "port": "i1" }, - "size": 4 + "size": 8 } ] } diff --git a/examples/TESTs/syscounters/24-bits/syscounter-rst/Alhambra-II/01-manual-testing.ice b/examples/TESTs/syscounters/24-bits/syscounter-rst/Alhambra-II/01-manual-testing.ice index 9bbcfd7..1d94395 100644 --- a/examples/TESTs/syscounters/24-bits/syscounter-rst/Alhambra-II/01-manual-testing.ice +++ b/examples/TESTs/syscounters/24-bits/syscounter-rst/Alhambra-II/01-manual-testing.ice @@ -429,11 +429,11 @@ } }, { - "id": "b2b71472-2bb5-47d5-87fd-f2ba2b761330", - "type": "f08a82ba2df4b812c3ec75b5e1a283ae0e70cc3f", + "id": "4039f550-3e22-4410-bc30-26c77b4742ab", + "type": "ba518ee261a2be13a9739cd3a01cdcebe0ef63c0", "position": { - "x": 1200, - "y": 400 + "x": 2024, + "y": 240 }, "size": { "width": 96, @@ -441,35 +441,35 @@ } }, { - "id": "9987e2fe-81e4-4995-8e1b-5cc250305d3b", - "type": "4c1570e58dc7efecf440f8a4ff7d1dda4250ef0c", + "id": "bcc037e7-2811-44e2-8dab-3284b45ba0bd", + "type": "78be078f7f5f29f81b4664a2bc3f6c05c1daf4f2", "position": { - "x": 1424, - "y": 400 + "x": 1784, + "y": 240 }, "size": { "width": 96, - "height": 96 + "height": 64 } }, { - "id": "eb0c5ccb-d409-4896-ac98-e072a0480299", - "type": "2a35153f656f2d69dfddb3d5023a77bf81baead9", + "id": "eb88b602-5829-43ea-bd06-c8e6d19149ea", + "type": "90475fb7e43e99638e866f88fcab6adab81005ac", "position": { - "x": 1952, - "y": -80 + "x": 936, + "y": 200 }, "size": { "width": 96, - "height": 96 + "height": 64 } }, { - "id": "4039f550-3e22-4410-bc30-26c77b4742ab", - "type": "ba518ee261a2be13a9739cd3a01cdcebe0ef63c0", + "id": "c47e99ac-29ff-4c17-b830-fdc58a06d3eb", + "type": "59c9c0cbdee7e50d325e2e6b79a3f2f6970831f9", "position": { - "x": 2024, - "y": 240 + "x": 736, + "y": 216 }, "size": { "width": 96, @@ -477,23 +477,23 @@ } }, { - "id": "bcc037e7-2811-44e2-8dab-3284b45ba0bd", - "type": "78be078f7f5f29f81b4664a2bc3f6c05c1daf4f2", + "id": "e4bf41a2-8f7a-4e78-ac84-ecc9a001bc5a", + "type": "ef27646a2ca3d9f1e7811dac0fd909719b5affe1", "position": { - "x": 1784, - "y": 240 + "x": 1424, + "y": 400 }, "size": { "width": 96, - "height": 64 + "height": 96 } }, { - "id": "40265e10-bcc5-4b49-a831-e902f0e1ea4e", - "type": "b9c1f5aa0a5d685f6312192b6cb46a9f19d87910", + "id": "52f04f7d-e800-4b19-8aca-bc6756576b27", + "type": "5018a67fe520592d7f82dbf669bb3c3661624b65", "position": { - "x": 736, - "y": 216 + "x": 1200, + "y": 400 }, "size": { "width": 96, @@ -501,15 +501,15 @@ } }, { - "id": "eb88b602-5829-43ea-bd06-c8e6d19149ea", - "type": "90475fb7e43e99638e866f88fcab6adab81005ac", + "id": "dd85d77a-4b72-4de1-aa2b-034680b9fb75", + "type": "455c3beb3ea73cf6862dfbc0c899a5e357964a24", "position": { - "x": 936, - "y": 200 + "x": 1952, + "y": -80 }, "size": { "width": 96, - "height": 64 + "height": 96 } } ], @@ -520,7 +520,7 @@ "port": "out" }, "target": { - "block": "40265e10-bcc5-4b49-a831-e902f0e1ea4e", + "block": "c47e99ac-29ff-4c17-b830-fdc58a06d3eb", "port": "2a921d76-1cbd-48fe-82a9-11b0ab4dbc06" } }, @@ -530,17 +530,17 @@ "port": "out" }, "target": { - "block": "b2b71472-2bb5-47d5-87fd-f2ba2b761330", + "block": "52f04f7d-e800-4b19-8aca-bc6756576b27", "port": "21bc142d-a93a-430d-b37a-326435def9f9" } }, { "source": { - "block": "b2b71472-2bb5-47d5-87fd-f2ba2b761330", + "block": "52f04f7d-e800-4b19-8aca-bc6756576b27", "port": "997db8c4-b772-49d8-83e7-4427aff720e6" }, "target": { - "block": "9987e2fe-81e4-4995-8e1b-5cc250305d3b", + "block": "e4bf41a2-8f7a-4e78-ac84-ecc9a001bc5a", "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" } }, @@ -560,13 +560,13 @@ "port": "outlabel" }, "target": { - "block": "9987e2fe-81e4-4995-8e1b-5cc250305d3b", + "block": "e4bf41a2-8f7a-4e78-ac84-ecc9a001bc5a", "port": "fc243ba8-9abb-4a22-81c4-fabdf043cd01" } }, { "source": { - "block": "eb0c5ccb-d409-4896-ac98-e072a0480299", + "block": "dd85d77a-4b72-4de1-aa2b-034680b9fb75", "port": "757f1816-834d-4cd7-a5e1-d726a472de91" }, "target": { @@ -581,7 +581,7 @@ "port": "outlabel" }, "target": { - "block": "eb0c5ccb-d409-4896-ac98-e072a0480299", + "block": "dd85d77a-4b72-4de1-aa2b-034680b9fb75", "port": "b1e41924-f354-4744-b5f0-a93a1fdc6828" }, "vertices": [ @@ -593,7 +593,7 @@ }, { "source": { - "block": "9987e2fe-81e4-4995-8e1b-5cc250305d3b", + "block": "e4bf41a2-8f7a-4e78-ac84-ecc9a001bc5a", "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { @@ -639,14 +639,14 @@ "port": "outlabel" }, "target": { - "block": "eb0c5ccb-d409-4896-ac98-e072a0480299", + "block": "dd85d77a-4b72-4de1-aa2b-034680b9fb75", "port": "9cdfc247-4374-4660-b8c7-246e9aa090d7" }, "size": 8 }, { "source": { - "block": "40265e10-bcc5-4b49-a831-e902f0e1ea4e", + "block": "c47e99ac-29ff-4c17-b830-fdc58a06d3eb", "port": "c5e9e2e4-005a-464d-927c-2b18aac9180e" }, "target": { @@ -670,484 +670,509 @@ } }, "dependencies": { - "f08a82ba2df4b812c3ec75b5e1a283ae0e70cc3f": { + "ba518ee261a2be13a9739cd3a01cdcebe0ef63c0": { "package": { - "name": "Button-tic", - "version": "0.1", - "description": "Button-tic: Configurable button that emits a tic when it is pressed", - "author": "Juan Gonzalez-Gomez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20width=%22293.977%22%20height=%22257.958%22%20viewBox=%220%200%2077.781366%2068.251365%22%3E%3Cdefs%3E%3ClinearGradient%20gradientTransform=%22matrix(-.013%20-.01966%20.01932%20-.01493%20151.654%20290.082)%22%20gradientUnits=%22userSpaceOnUse%22%20y2=%222300.215%22%20x2=%226069.057%22%20y1=%222538.05%22%20x1=%225466.681%22%20id=%22b%22%20xlink:href=%22#a%22/%3E%3ClinearGradient%20id=%22a%22%3E%3Cstop%20offset=%220%22%20stop-color=%22#c3875c%22/%3E%3Cstop%20offset=%22.48%22%20stop-color=%22#eccba3%22/%3E%3Cstop%20offset=%221%22%20stop-color=%22#fce0cb%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg%20transform=%22translate(138.022%20-134.888)%22%3E%3Cpath%20d=%22M-117.19%20184.278a20.69%209.094%200%200%200-13.734%202.307l-5.434.006-1.284%205.482a20.69%209.094%200%200%200-.238%201.3%2020.69%209.094%200%200%200%2020.69%209.093%2020.69%209.094%200%200%200%2020.69-9.094%2020.69%209.094%200%200%200-.029-.351h.064l-1.277-6.47-5.778.005a20.69%209.094%200%200%200-13.67-2.278z%22%20fill=%22#333%22%20stroke=%22#000%22%20stroke-width=%22.282%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20ry=%226.762%22%20rx=%2219.408%22%20cy=%22187.341%22%20cx=%22-117.074%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%22.282%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22matrix(.1018%200%200%20.10181%20-158.528%20145.536)%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-width=%222.772%22%3E%3Cellipse%20cx=%22406.087%22%20cy=%22399.216%22%20rx=%22184.221%22%20ry=%2272.858%22%20fill=%22green%22/%3E%3Cellipse%20cx=%22406.23%22%20cy=%22383.328%22%20rx=%22179.497%22%20ry=%2260.977%22%20fill=%22#0f0%22/%3E%3C/g%3E%3C/g%3E%3Cpath%20d=%22M126.16%20115.387c-1.523%201.514-2.14%203.307-2.023%205.326-.507%201.097-2.411%202.346-2.027%203.267-1.196%201.923-1.624%203.389-1.572%204.569-.544%201.24-.403%201.705-.348%202.268-2.266%203.497-4.092%208.255-5.878%2013.125-2.302%202.765-3.64%205.792-4.898%208.84-2.191%203.7-3.756%207.67-4.02%2011.394l-.265.558c2.996%203.107%204.946%201.524%207.018.747%206.637-3.112%209.504-8.52%2012.212-14.025.473-1.572%201.57-3.127%203.151-4.669%204.414-4.785%206.886-10.022%209.857-15.142.228-.428.58-1.032%201.143-1.941%201.675-1.795%203.418-4.997%205.132-7.612z%22%20fill=%22url(#b)%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.265%22%20transform=%22translate(-90.276%20-115.233)%22/%3E%3Cpath%20d=%22M18.486%2038.911c-2.362%202.823-3.506%206.298-4.228%2010.204.518.13%201.302-.444%202.155-1.196%202.575-6.067%201.848-7.142%202.073-9.008z%22%20fill=%22#f8ecf8%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.265%22/%3E%3Cpath%20d=%22M33.79%205.666c2.093-.057%203.853.53%205.373%201.582M31.832%208.759c2.001.286%203.946.663%205.428%201.788M30.331%2013.16c1.325-.48%203.02.099%204.83%201.005M29.98%2015.593l1.79.362%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%22.265%22/%3E%3Cg%20transform=%22matrix(1.2877%200%200%201.2877%20-70.904%20-45.941)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/svg%3E" + "name": "AND2", + "version": "1.0.2", + "description": "Two bits input And gate", + "author": "Jesús Arroyo, Juan González", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22336.09%22%20height=%22194.045%22%20version=%221%22%3E%3Cpath%20d=%22M174.656%20190.045H78.304V4h96.352s87.463%208.625%2087.463%2091.94c0%2083.311-87.463%2094.105-87.463%2094.105z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2045.668h74.018M4.057%20144.812h74.018m184.632-50.034h69.326%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%2292.894%22%20y=%22114.587%22%20font-weight=%22400%22%20font-size=%2258.054%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%2292.894%22%20y=%22114.587%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%3EAND%3C/tspan%3E%3C/text%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "653b2ced-3f13-4b1d-a2b6-c330c671067a", + "id": "18c2ebc7-5152-439c-9b3f-851c59bac834", "type": "basic.input", "data": { - "name": "", - "clock": true + "name": "" }, "position": { - "x": 128, - "y": -32 + "x": 96, + "y": 56 } }, { - "id": "98209ccc-d0f3-48fc-b10b-c2865b7442fc", - "type": "basic.inputLabel", + "id": "664caf9e-5f40-4df4-800a-b626af702e62", + "type": "basic.output", "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "name": "" }, "position": { - "x": 280, - "y": -32 + "x": 600, + "y": 96 } }, { - "id": "b58132b2-2e39-4a85-ab5b-63bded91cecc", - "type": "basic.output", + "id": "97b51945-d716-4b6c-9db9-970d08541249", + "type": "basic.input", "data": { - "name": "s" + "name": "" }, "position": { - "x": 728, - "y": -16 + "x": 96, + "y": 128 } }, { - "id": "2f9cf56e-789c-4621-923a-be59ef6ccd4a", - "type": "basic.outputLabel", + "id": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "type": "basic.code", "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" + "code": "//-- AND gate\n//-- Verilog implementation\n\nassign c = a & b;\n", + "params": [], + "ports": { + "in": [ + { + "name": "a" + }, + { + "name": "b" + } + ], + "out": [ + { + "name": "c" + } + ] + } }, "position": { - "x": 312, - "y": 104 + "x": 256, + "y": 48 + }, + "size": { + "width": 304, + "height": 152 + } + } + ], + "wires": [ + { + "source": { + "block": "18c2ebc7-5152-439c-9b3f-851c59bac834", + "port": "out" + }, + "target": { + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "a" } }, { - "id": "b8666bca-0d3d-4cbb-8129-fcea674d428a", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" + "source": { + "block": "97b51945-d716-4b6c-9db9-970d08541249", + "port": "out" }, - "position": { - "x": 744, - "y": 136 + "target": { + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "b" } }, { - "id": "997db8c4-b772-49d8-83e7-4427aff720e6", + "source": { + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "c" + }, + "target": { + "block": "664caf9e-5f40-4df4-800a-b626af702e62", + "port": "in" + } + } + ] + } + } + }, + "78be078f7f5f29f81b4664a2bc3f6c05c1daf4f2": { + "package": { + "name": "Bus8-Split-1-7", + "version": "0.1", + "description": "Bus8-Split-half: Split the 8-bits bus into two buses of 1 and 7 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": { + "graph": { + "blocks": [ + { + "id": "6461d1f4-0bf2-46a4-8c57-46d4419eba2b", "type": "basic.output", "data": { - "name": "Press" + "name": "1" }, "position": { - "x": 1024, - "y": 168 + "x": 584, + "y": 104 } }, { - "id": "21bc142d-a93a-430d-b37a-326435def9f9", + "id": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e", "type": "basic.input", "data": { - "name": "pin", - "clock": false + "name": "", + "range": "[7:0]", + "clock": false, + "size": 8 }, "position": { - "x": 304, - "y": 200 + "x": 120, + "y": 208 } }, { - "id": "7f2c89d2-aea0-4ff9-b4f9-52d70cefa867", - "type": "basic.constant", + "id": "7851244f-72ce-4b5b-a481-c1202933c8be", + "type": "basic.output", "data": { - "name": "pup", - "value": "0", - "local": false + "name": "0", + "range": "[6:0]", + "size": 7 }, "position": { - "x": 448, - "y": 56 + "x": 584, + "y": 272 } }, { - "id": "1ff8ad12-4df4-4aee-922b-c0c0fb449926", - "type": "basic.constant", + "id": "16e78204-213e-4833-9096-89d735307ec2", + "type": "basic.code", "data": { - "name": "not", - "value": "0", - "local": false + "code": "assign o1 = i[7];\nassign o0 = i[6:0];", + "params": [], + "ports": { + "in": [ + { + "name": "i", + "range": "[7:0]", + "size": 8 + } + ], + "out": [ + { + "name": "o1" + }, + { + "name": "o0", + "range": "[6:0]", + "size": 7 + } + ] + } }, "position": { - "x": 560, - "y": 56 + "x": 272, + "y": 176 + }, + "size": { + "width": 240, + "height": 120 } - }, + } + ], + "wires": [ { - "id": "15503ba9-0846-4d76-9fa4-dd8f67da8f08", - "type": "basic.info", - "data": { - "info": "System clock", - "readonly": true + "source": { + "block": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e", + "port": "out" }, - "position": { - "x": 136, - "y": -56 + "target": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i" }, - "size": { - "width": 136, - "height": 40 - } + "size": 8 }, { - "id": "811f4c54-c464-463e-ad4d-eedaaf357148", - "type": "e245ee74990b448c1d6ce27462261485c9649d55", - "position": { - "x": 496, - "y": 184 + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o0" }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "5b87e16b-9cc4-444b-8b67-04775620b4e5", - "type": "c8ffff0c6db83755c69d6633413f8122e52a420c", - "position": { - "x": 888, - "y": 168 + "target": { + "block": "7851244f-72ce-4b5b-a481-c1202933c8be", + "port": "in" }, - "size": { - "width": 96, - "height": 64 - } + "size": 7 }, { - "id": "8f811ac3-ce9d-4e72-af71-03036c9426e7", - "type": "basic.info", - "data": { - "info": "Button state signal", - "readonly": true - }, - "position": { - "x": 720, - "y": -32 + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o1" }, - "size": { - "width": 176, - "height": 40 + "target": { + "block": "6461d1f4-0bf2-46a4-8c57-46d4419eba2b", + "port": "in" } - }, + } + ] + } + } + }, + "90475fb7e43e99638e866f88fcab6adab81005ac": { + "package": { + "name": "Bus24-Split-8-16", + "version": "0.1", + "description": "Bus24-Split-8-16: Split the 24-bits bus into two buses of 8 and 16 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": { + "graph": { + "blocks": [ { - "id": "dee7b550-b7f2-40d7-955d-bfb931daba22", - "type": "basic.info", + "id": "965844d4-b087-4bba-82ce-46c48370b9d7", + "type": "basic.output", "data": { - "info": "Tic: button pressed", - "readonly": true + "name": "1", + "range": "[7:0]", + "size": 8 }, "position": { - "x": 1024, + "x": 592, "y": 152 - }, - "size": { - "width": 184, - "height": 40 } }, { - "id": "88b26983-667f-40de-b1c6-c6710a7bbd4a", - "type": "basic.info", + "id": "901245a6-b7da-4af7-8917-7a47e5675ae1", + "type": "basic.input", "data": { - "info": "Rising edge detector", - "readonly": true + "name": "", + "range": "[23:0]", + "clock": false, + "size": 24 }, "position": { - "x": 872, - "y": 248 - }, - "size": { - "width": 184, - "height": 40 + "x": 80, + "y": 208 } }, { - "id": "0957ba76-2838-49cb-8fd4-b9fe42f21801", - "type": "basic.info", + "id": "329d21c4-3508-44bb-9bf0-e308736f52f2", + "type": "basic.output", "data": { - "info": "Pull up on/off", - "readonly": true + "name": "0", + "range": "[15:0]", + "size": 16 }, "position": { - "x": 448, - "y": 16 - }, - "size": { - "width": 152, - "height": 40 + "x": 600, + "y": 232 } }, { - "id": "5a5caef3-ffd0-46a4-9f63-e55aa8cd750d", - "type": "basic.info", + "id": "16e78204-213e-4833-9096-89d735307ec2", + "type": "basic.code", "data": { - "info": "Not on/off", - "readonly": true + "code": "assign o1 = i[23:16];\nassign o0 = i[15:0];", + "params": [], + "ports": { + "in": [ + { + "name": "i", + "range": "[23:0]", + "size": 24 + } + ], + "out": [ + { + "name": "o1", + "range": "[7:0]", + "size": 8 + }, + { + "name": "o0", + "range": "[15:0]", + "size": 16 + } + ] + } }, "position": { - "x": 576, - "y": 16 + "x": 272, + "y": 176 }, "size": { - "width": 120, - "height": 32 + "width": 240, + "height": 120 } } ], "wires": [ { "source": { - "block": "653b2ced-3f13-4b1d-a2b6-c330c671067a", - "port": "out" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o0" }, "target": { - "block": "98209ccc-d0f3-48fc-b10b-c2865b7442fc", - "port": "inlabel" + "block": "329d21c4-3508-44bb-9bf0-e308736f52f2", + "port": "in" }, - "vertices": [] + "size": 16 }, { "source": { - "block": "2f9cf56e-789c-4621-923a-be59ef6ccd4a", - "port": "outlabel" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o1" }, "target": { - "block": "811f4c54-c464-463e-ad4d-eedaaf357148", - "port": "59f7bee9-9832-421d-aa0a-de177f3f121d" + "block": "965844d4-b087-4bba-82ce-46c48370b9d7", + "port": "in" }, - "vertices": [ - { - "x": 424, - "y": 160 - } - ] + "size": 8 }, { "source": { - "block": "b8666bca-0d3d-4cbb-8129-fcea674d428a", - "port": "outlabel" + "block": "901245a6-b7da-4af7-8917-7a47e5675ae1", + "port": "out" }, "target": { - "block": "5b87e16b-9cc4-444b-8b67-04775620b4e5", - "port": "2708468d-1088-4570-be63-fb0d4799a941" - } - }, + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i" + }, + "size": 24 + } + ] + } + } + }, + "59c9c0cbdee7e50d325e2e6b79a3f2f6970831f9": { + "package": { + "name": "syscounter-rst-24bits", + "version": "0.2", + "description": "24-bits Syscounter with reset", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22302.843%22%20height=%22186.504%22%20viewBox=%220%200%2080.127205%2049.345746%22%3E%3Cdefs%3E%3Cmarker%20id=%22a%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20fill=%22#00f%22%20fill-rule=%22evenodd%22%20stroke=%22#00f%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3C/defs%3E%3Cg%20transform=%22translate(-65.585%20-4.54)%22%3E%3Cpath%20d=%22M138.803%2048.49V16.91%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%222.806%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20marker-end=%22url(#a)%22/%3E%3Crect%20rx=%222.807%22%20ry=%222.807%22%20y=%225.289%22%20x=%2299.747%22%20height=%2247.849%22%20width=%2229.538%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%221.497%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%2240.921%22%20x=%22108.575%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%228.982%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%221.497%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2240.921%22%20x=%22108.575%22%20font-weight=%22700%22%20font-size=%2235.656%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M100.868%2030.283h27.764%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%222.245%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20rx=%222.807%22%20ry=%222.807%22%20y=%225.289%22%20x=%2266.333%22%20height=%2247.849%22%20width=%2229.538%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%221.497%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%2240.921%22%20x=%2273.223%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%228.982%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%221.497%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2240.921%22%20x=%2273.223%22%20font-weight=%22700%22%20font-size=%2235.656%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M67.454%2030.283h27.764%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%222.245%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618592156430 + }, + "design": { + "graph": { + "blocks": [ { - "source": { - "block": "21bc142d-a93a-430d-b37a-326435def9f9", - "port": "out" + "id": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", + "type": "basic.input", + "data": { + "name": "", + "clock": true }, - "target": { - "block": "811f4c54-c464-463e-ad4d-eedaaf357148", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + "position": { + "x": 216, + "y": -120 } }, { - "source": { - "block": "811f4c54-c464-463e-ad4d-eedaaf357148", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "id": "0a772657-8018-424d-8f04-75d3ffff3692", + "type": "basic.inputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "target": { - "block": "b58132b2-2e39-4a85-ab5b-63bded91cecc", - "port": "in" + "position": { + "x": 368, + "y": -120 } }, { - "source": { - "block": "811f4c54-c464-463e-ad4d-eedaaf357148", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" - }, - "target": { - "block": "5b87e16b-9cc4-444b-8b67-04775620b4e5", - "port": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff" + "id": "b9359b10-b14f-4dd7-adf9-3f4f22bc65e6", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk", + "oldBlockColor": "fuchsia" }, - "vertices": [] + "position": { + "x": 384, + "y": -32 + } }, { - "source": { - "block": "5b87e16b-9cc4-444b-8b67-04775620b4e5", - "port": "1c25e08e-e664-4fab-9b30-cedc1f8a3739" - }, - "target": { - "block": "997db8c4-b772-49d8-83e7-4427aff720e6", - "port": "in" - } - }, - { - "source": { - "block": "7f2c89d2-aea0-4ff9-b4f9-52d70cefa867", - "port": "constant-out" - }, - "target": { - "block": "811f4c54-c464-463e-ad4d-eedaaf357148", - "port": "07e7cb88-d87c-4aa3-9938-fc226e3f4815" - } - }, - { - "source": { - "block": "1ff8ad12-4df4-4aee-922b-c0c0fb449926", - "port": "constant-out" - }, - "target": { - "block": "811f4c54-c464-463e-ad4d-eedaaf357148", - "port": "6aacd3c5-a3e9-4a17-afb8-2b1271b3054c" - } - } - ] - } - } - }, - "e245ee74990b448c1d6ce27462261485c9649d55": { - "package": { - "name": "Button", - "version": "0.1", - "description": "Configurable button (pull-up on/off. Not on/off)", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20width=%22202.458%22%20height=%22255.947%22%20viewBox=%220%200%2053.566957%2067.719398%22%3E%3Cdefs%3E%3ClinearGradient%20gradientTransform=%22matrix(-.013%20-.01966%20.01932%20-.01493%20151.654%20290.082)%22%20gradientUnits=%22userSpaceOnUse%22%20y2=%222300.215%22%20x2=%226069.057%22%20y1=%222538.05%22%20x1=%225466.681%22%20id=%22b%22%20xlink:href=%22#a%22/%3E%3ClinearGradient%20id=%22a%22%3E%3Cstop%20offset=%220%22%20stop-color=%22#c3875c%22/%3E%3Cstop%20offset=%22.48%22%20stop-color=%22#eccba3%22/%3E%3Cstop%20offset=%221%22%20stop-color=%22#fce0cb%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg%20transform=%22translate(138.022%20-134.888)%22%3E%3Cpath%20d=%22M-117.19%20184.278a20.69%209.094%200%200%200-13.734%202.307l-5.434.006-1.284%205.482a20.69%209.094%200%200%200-.238%201.3%2020.69%209.094%200%200%200%2020.69%209.093%2020.69%209.094%200%200%200%2020.69-9.094%2020.69%209.094%200%200%200-.029-.351h.064l-1.277-6.47-5.778.005a20.69%209.094%200%200%200-13.67-2.278z%22%20fill=%22#333%22%20stroke=%22#000%22%20stroke-width=%22.282%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20ry=%226.762%22%20rx=%2219.408%22%20cy=%22187.341%22%20cx=%22-117.074%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%22.282%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22matrix(.1018%200%200%20.10181%20-158.528%20145.536)%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-width=%222.772%22%3E%3Cellipse%20cx=%22406.087%22%20cy=%22399.216%22%20rx=%22184.221%22%20ry=%2272.858%22%20fill=%22green%22/%3E%3Cellipse%20cx=%22406.23%22%20cy=%22383.328%22%20rx=%22179.497%22%20ry=%2260.977%22%20fill=%22#0f0%22/%3E%3C/g%3E%3C/g%3E%3Cpath%20d=%22M126.16%20115.387c-1.523%201.514-2.14%203.307-2.023%205.326-.507%201.097-2.411%202.346-2.027%203.267-1.196%201.923-1.624%203.389-1.572%204.569-.544%201.24-.403%201.705-.348%202.268-2.266%203.497-4.092%208.255-5.878%2013.125-2.302%202.765-3.64%205.792-4.898%208.84-2.191%203.7-3.756%207.67-4.02%2011.394l-.265.558c2.996%203.107%204.946%201.524%207.018.747%206.637-3.112%209.504-8.52%2012.212-14.025.473-1.572%201.57-3.127%203.151-4.669%204.414-4.785%206.886-10.022%209.857-15.142.228-.428.58-1.032%201.143-1.941%201.675-1.795%203.418-4.997%205.132-7.612z%22%20fill=%22url(#b)%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.265%22%20transform=%22translate(-90.276%20-115.233)%22/%3E%3Cpath%20d=%22M18.486%2038.911c-2.362%202.823-3.506%206.298-4.228%2010.204.518.13%201.302-.444%202.155-1.196%202.575-6.067%201.848-7.142%202.073-9.008z%22%20fill=%22#f8ecf8%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.265%22/%3E%3Cpath%20d=%22M33.79%205.666c2.093-.057%203.853.53%205.373%201.582M31.832%208.759c2.001.286%203.946.663%205.428%201.788M30.331%2013.16c1.325-.48%203.02.099%204.83%201.005M29.98%2015.593l1.79.362%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%22.265%22/%3E%3C/svg%3E", - "otid": 1615538095529 - }, - "design": { - "graph": { - "blocks": [ - { - "id": "59f7bee9-9832-421d-aa0a-de177f3f121d", - "type": "basic.input", + "id": "1c0a14ca-54a9-47ce-bf3d-aedefd2053f3", + "type": "basic.outputLabel", "data": { - "name": "", - "clock": true + "name": "q", + "range": "[23:0]", + "blockColor": "fuchsia", + "size": 24 }, "position": { - "x": 128, - "y": 232 + "x": 1040, + "y": -32 } }, { - "id": "c2136078-81d0-4137-8583-c122b93cbdb0", - "type": "basic.inputLabel", + "id": "c5e9e2e4-005a-464d-927c-2b18aac9180e", + "type": "basic.output", "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "name": "q", + "range": "[23:0]", + "size": 24 }, "position": { - "x": 280, - "y": 232 + "x": 1200, + "y": -32 } }, { - "id": "626e14a3-68ca-440d-b469-aeb6a69bddcb", - "type": "basic.outputLabel", + "id": "88e0e872-0460-4ecc-bf26-8a7a5598a024", + "type": "basic.output", "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" + "name": "max" }, "position": { - "x": 472, - "y": 368 + "x": 1208, + "y": 56 } }, { - "id": "1b2fe6f0-f08f-44d2-824a-e5205b3e9fab", + "id": "06c393de-8af4-4b53-852c-b0e0160b5314", "type": "basic.outputLabel", "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 880, - "y": 368 - } - }, - { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "type": "basic.output", - "data": { - "name": "s" + "blockColor": "fuchsia", + "name": "c" }, "position": { - "x": 1200, - "y": 440 + "x": 1048, + "y": 56 } }, { - "id": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", + "id": "2a921d76-1cbd-48fe-82a9-11b0ab4dbc06", "type": "basic.input", "data": { - "name": "pin", + "name": "rst", "clock": false }, "position": { - "x": 152, - "y": 472 + "x": 216, + "y": 56 } }, { - "id": "07e7cb88-d87c-4aa3-9938-fc226e3f4815", - "type": "basic.constant", + "id": "6b17f83a-c001-41a8-bf30-6f2b838c00b4", + "type": "basic.inputLabel", "data": { - "name": "pup", - "value": "0", - "local": false + "name": "q", + "range": "[23:0]", + "blockColor": "fuchsia", + "size": 24 }, "position": { - "x": 336, - "y": 360 + "x": 704, + "y": 88 } }, { - "id": "6aacd3c5-a3e9-4a17-afb8-2b1271b3054c", - "type": "basic.constant", + "id": "cd9b7fce-c943-4b4c-a716-94f2cd21ccda", + "type": "basic.inputLabel", "data": { - "name": "not", - "value": "0", - "local": false + "blockColor": "fuchsia", + "name": "c" }, "position": { - "x": 760, - "y": 352 + "x": 856, + "y": 168 } }, { - "id": "93b888bf-453e-4c9c-8f58-6b9c6d54d5de", - "type": "6c3affc36ce9207db9e9addcade0eb18994ddf4a", + "id": "0e86ad34-29ae-4375-b943-dec3e1dc1312", + "type": "9c4559db1fdec26319e6d6eb38f7622cb97039db", "position": { - "x": 336, - "y": 472 + "x": 720, + "y": 184 }, "size": { "width": 96, @@ -1155,833 +1180,1038 @@ } }, { - "id": "10111468-7bb5-46ee-8990-113fdf380068", - "type": "76118c377f31059327783a617b8e38ffd6b935b8", + "id": "5aafede6-c449-4e7c-b880-6e1386b9ad83", + "type": "0c6531794184e978f73c672f654e0971e3db540d", "position": { - "x": 600, - "y": 456 + "x": 544, + "y": 40 }, "size": { "width": 96, - "height": 64 + "height": 96 } + } + ], + "wires": [ + { + "source": { + "block": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", + "port": "out" + }, + "target": { + "block": "0a772657-8018-424d-8f04-75d3ffff3692", + "port": "inlabel" + }, + "vertices": [] }, { - "id": "3154e48a-4d34-460b-9ed8-69a8a9c83eb2", - "type": "5645befdb78839c4a1fcf8b7f7f1bfdd13cd127d", - "position": { - "x": 760, - "y": 456 + "source": { + "block": "0e86ad34-29ae-4375-b943-dec3e1dc1312", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, - "size": { - "width": 96, - "height": 64 - } + "target": { + "block": "cd9b7fce-c943-4b4c-a716-94f2cd21ccda", + "port": "inlabel" + }, + "vertices": [] }, { - "id": "4687a20b-5221-4f82-8442-b6114bf8788d", - "type": "5539ec808ddc65a96d5da8d44290e4da16a256b8", - "position": { - "x": 1024, - "y": 440 + "source": { + "block": "b9359b10-b14f-4dd7-adf9-3f4f22bc65e6", + "port": "outlabel" }, - "size": { - "width": 96, - "height": 64 + "target": { + "block": "5aafede6-c449-4e7c-b880-6e1386b9ad83", + "port": "0ae5a502-ee21-47ad-bacb-405a35a87a91" } }, { - "id": "6ca11b45-e83b-492d-b175-8ab8f1faa08a", - "type": "basic.info", - "data": { - "info": "Internal pull-up \n* 0: OFF\n* 1: ON", - "readonly": true - }, - "position": { - "x": 320, - "y": 560 + "source": { + "block": "06c393de-8af4-4b53-852c-b0e0160b5314", + "port": "outlabel" }, - "size": { - "width": 176, - "height": 72 + "target": { + "block": "88e0e872-0460-4ecc-bf26-8a7a5598a024", + "port": "in" } }, { - "id": "2349cf1c-768c-483c-bdf3-852e36755326", - "type": "basic.info", - "data": { - "info": "Synchronization stage", - "readonly": true + "source": { + "block": "5aafede6-c449-4e7c-b880-6e1386b9ad83", + "port": "7995c7b0-4a39-4a19-aaa4-68f4e469912f", + "size": 24 }, - "position": { - "x": 552, - "y": 536 + "target": { + "block": "6b17f83a-c001-41a8-bf30-6f2b838c00b4", + "port": "inlabel" }, - "size": { - "width": 184, - "height": 32 - } + "size": 24 }, { - "id": "c13f29d4-49ed-45ca-bf58-401682aa156c", - "type": "basic.info", - "data": { - "info": "Normalization stage\n\n* 0: Wire\n* 1: signal inverted", - "readonly": true + "source": { + "block": "1c0a14ca-54a9-47ce-bf3d-aedefd2053f3", + "port": "outlabel" }, - "position": { - "x": 752, - "y": 536 + "target": { + "block": "c5e9e2e4-005a-464d-927c-2b18aac9180e", + "port": "in", + "size": 24 }, - "size": { - "width": 192, - "height": 88 - } + "size": 24 }, { - "id": "9207da36-adfa-43d6-a633-ccaa601b9293", - "type": "basic.info", - "data": { - "info": "Debouncing stage", - "readonly": true - }, - "position": { - "x": 1008, - "y": 528 + "source": { + "block": "2a921d76-1cbd-48fe-82a9-11b0ab4dbc06", + "port": "out" }, - "size": { - "width": 168, - "height": 40 + "target": { + "block": "5aafede6-c449-4e7c-b880-6e1386b9ad83", + "port": "892d93f1-9c4c-46c1-82c7-ff9702a5725a" } - } - ], - "wires": [ + }, { "source": { - "block": "59f7bee9-9832-421d-aa0a-de177f3f121d", - "port": "out" + "block": "5aafede6-c449-4e7c-b880-6e1386b9ad83", + "port": "7995c7b0-4a39-4a19-aaa4-68f4e469912f" }, "target": { - "block": "c2136078-81d0-4137-8583-c122b93cbdb0", - "port": "inlabel" + "block": "0e86ad34-29ae-4375-b943-dec3e1dc1312", + "port": "fd4d4e4e-dd92-4b76-a6d5-9b762b17396b" }, - "vertices": [] + "vertices": [ + { + "x": 656, + "y": 152 + } + ], + "size": 24 }, { "source": { - "block": "626e14a3-68ca-440d-b469-aeb6a69bddcb", - "port": "outlabel" + "block": "0e86ad34-29ae-4375-b943-dec3e1dc1312", + "port": "1645d4a4-bbe5-4f2e-8c06-2b0bc1f4a8db" }, "target": { - "block": "10111468-7bb5-46ee-8990-113fdf380068", - "port": "39873fa0-c3f5-47ef-b54b-b6b344416b25" + "block": "5aafede6-c449-4e7c-b880-6e1386b9ad83", + "port": "c48a2779-52ed-4dde-8f95-e8ce67397de8" + }, + "vertices": [ + { + "x": 840, + "y": 312 + } + ], + "size": 24 + } + ] + } + } + }, + "9c4559db1fdec26319e6d6eb38f7622cb97039db": { + "package": { + "name": "Inc1-24bits", + "version": "0.1", + "description": "Inc1-24bit: Increment a 24-bits number by one", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20width=%22387.891%22%20height=%22310.09%22%20viewBox=%220%200%20363.64764%20290.70999%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.759%2055.834v79.813h79.508v35.946H115.76v79.813h-36.25v-79.813H-.002v-35.946h79.51V55.834z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3Cpath%20d=%22M196.193%20257.608h64.256V35.828l-69.902%2014.02V14.018L260.06%200h39.332v257.608h64.257v33.102H196.193z%22%20style=%22line-height:1.25%22%20font-size=%22398.777%22%20stroke-width=%229.969%22/%3E%3C/svg%3E", + "otid": 1618560481898 + }, + "design": { + "graph": { + "blocks": [ + { + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", + "data": { + "name": "c" + }, + "position": { + "x": 624, + "y": -168 } }, { - "source": { - "block": "1b2fe6f0-f08f-44d2-824a-e5205b3e9fab", - "port": "outlabel" + "id": "fd4d4e4e-dd92-4b76-a6d5-9b762b17396b", + "type": "basic.input", + "data": { + "name": "", + "range": "[23:0]", + "clock": false, + "size": 24 }, - "target": { - "block": "4687a20b-5221-4f82-8442-b6114bf8788d", - "port": "4bf41c17-a2da-4140-95f7-2a80d51b1e1a" + "position": { + "x": 288, + "y": -152 } }, { - "source": { - "block": "93b888bf-453e-4c9c-8f58-6b9c6d54d5de", - "port": "a139fa0d-9b45-4480-a251-f4a66b49aa23" - }, - "target": { - "block": "10111468-7bb5-46ee-8990-113fdf380068", - "port": "f25e9a9e-cd4c-4025-8745-0691a99a3fb8" + "id": "1645d4a4-bbe5-4f2e-8c06-2b0bc1f4a8db", + "type": "basic.output", + "data": { + "name": "s", + "range": "[23:0]", + "size": 24 }, - "vertices": [] + "position": { + "x": 624, + "y": -88 + } }, { - "source": { - "block": "10111468-7bb5-46ee-8990-113fdf380068", - "port": "7bfc506f-7a54-40a1-8d33-e78a5409b972" - }, - "target": { - "block": "3154e48a-4d34-460b-9ed8-69a8a9c83eb2", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + "id": "cd0d6f4d-9898-4114-94a9-0b4b98223c27", + "type": "basic.constant", + "data": { + "name": "", + "value": "1", + "local": true }, - "vertices": [] + "position": { + "x": 456, + "y": -256 + } }, { - "source": { - "block": "6aacd3c5-a3e9-4a17-afb8-2b1271b3054c", - "port": "constant-out" - }, - "target": { - "block": "3154e48a-4d34-460b-9ed8-69a8a9c83eb2", - "port": "2cd40fd8-3a2b-46f7-a922-fedf146ed11a" + "id": "e0fd8cad-2704-4d20-9610-d0fcf51bef8f", + "type": "44c099cdc7a6cf9fbfa77006d47e996f643fff53", + "position": { + "x": 456, + "y": -152 }, - "vertices": [] - }, + "size": { + "width": 96, + "height": 64 + } + } + ], + "wires": [ { "source": { - "block": "3154e48a-4d34-460b-9ed8-69a8a9c83eb2", + "block": "e0fd8cad-2704-4d20-9610-d0fcf51bef8f", "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "4687a20b-5221-4f82-8442-b6114bf8788d", - "port": "c9e1af2a-6f09-4cf6-a5b3-fdf7ec2c6530" - }, - "vertices": [] + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" + } }, { "source": { - "block": "07e7cb88-d87c-4aa3-9938-fc226e3f4815", + "block": "cd0d6f4d-9898-4114-94a9-0b4b98223c27", "port": "constant-out" }, "target": { - "block": "93b888bf-453e-4c9c-8f58-6b9c6d54d5de", - "port": "121930e0-54c3-4b31-aa37-b33c7764abfa" + "block": "e0fd8cad-2704-4d20-9610-d0fcf51bef8f", + "port": "e728fdca-755f-4f2d-98e7-0716b1c5258f" } }, { "source": { - "block": "4687a20b-5221-4f82-8442-b6114bf8788d", - "port": "22ff3fa1-943b-4d1a-bd89-36e1c054d077" + "block": "fd4d4e4e-dd92-4b76-a6d5-9b762b17396b", + "port": "out" }, "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "port": "in" - } + "block": "e0fd8cad-2704-4d20-9610-d0fcf51bef8f", + "port": "176bfb23-fa63-433f-8928-717ce4072bcb" + }, + "size": 24 }, { "source": { - "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", - "port": "out" + "block": "e0fd8cad-2704-4d20-9610-d0fcf51bef8f", + "port": "4aac3b0e-53f3-4adf-aee9-83569d5e47d9" }, "target": { - "block": "93b888bf-453e-4c9c-8f58-6b9c6d54d5de", - "port": "bb4a1ca9-1b30-471e-92ca-ca7ff2fc1150" - } + "block": "1645d4a4-bbe5-4f2e-8c06-2b0bc1f4a8db", + "port": "in" + }, + "size": 24 } ] } } }, - "6c3affc36ce9207db9e9addcade0eb18994ddf4a": { + "44c099cdc7a6cf9fbfa77006d47e996f643fff53": { "package": { - "name": "Pull-upx1", - "version": "1.0.2", - "description": "FPGA internal pull-up configuration on the input port", - "author": "Juan González", - "image": "%3Csvg%20id=%22svg2%22%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-265%20401.5%2063.5%2038.4%22%3E%3Cstyle%3E.st0%7Bdisplay:none%7D.st1%7Bfill:none;stroke:#000;stroke-width:.75;stroke-linejoin:round;stroke-miterlimit:10%7D.st2%7Bfill:#010002%7D%3C/style%3E%3Cpath%20class=%22st0%22%20d=%22M-242.5%20411.8v11.8h-5.4v-11.8h5.4m1-1h-7.4v13.8h7.4v-13.8z%22/%3E%3Cpath%20d=%22M-212%20425.6l-15.4-8.7v8.5h-17.4v-2.7c0-.2-.1-.4-.3-.4l-2.3-1.2%205.6-2.9c.2-.1.3-.3.3-.5s-.1-.4-.3-.4l-5.7-2.7%202.4-1.6c.1-.1.2-.2.2-.4v-2.7h3.1l-3.5-6.1-3.5%206.1h3v2.5l-2.9%202c-.1.1-.2.3-.2.5s.1.3.3.4l5.6%202.6-5.6%202.9c-.2.1-.3.3-.3.4s.1.4.3.4l2.9%201.5V425.5H-265v1.2h37.6v8.5l15.4-8.7h10.5v-.8H-212zm-33.3-20.4l2.2%203.9h-4.5l2.3-3.9zm19.2%2027.7v-13.8l12.3%206.9-12.3%206.9z%22/%3E%3C/svg%3E" + "name": "AdderK-24bits", + "version": "0.1", + "description": "AdderK-24bit: Adder of 24-bit operand and 24-bit constant", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618560481898 }, "design": { "graph": { "blocks": [ { - "id": "bb4a1ca9-1b30-471e-92ca-ca7ff2fc1150", - "type": "basic.input", + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", "data": { - "name": "pin", - "clock": false + "name": "c" }, "position": { - "x": 72, - "y": 256 + "x": 624, + "y": -168 } }, { - "id": "a139fa0d-9b45-4480-a251-f4a66b49aa23", + "id": "4aac3b0e-53f3-4adf-aee9-83569d5e47d9", "type": "basic.output", "data": { - "name": "" + "name": "s", + "range": "[23:0]", + "size": 24 }, "position": { - "x": 704, - "y": 256 + "x": 624, + "y": -104 } }, { - "id": "121930e0-54c3-4b31-aa37-b33c7764abfa", - "type": "basic.constant", + "id": "176bfb23-fa63-433f-8928-717ce4072bcb", + "type": "basic.input", "data": { - "name": "on", - "value": "1", - "local": false + "name": "", + "range": "[23:0]", + "clock": false, + "size": 24 }, "position": { - "x": 408, - "y": -8 + "x": 224, + "y": -80 } }, { - "id": "2b245a71-2d80-466b-955f-e3d61839fe25", - "type": "basic.code", + "id": "e728fdca-755f-4f2d-98e7-0716b1c5258f", + "type": "basic.constant", "data": { - "code": "// 1-Pull up\n\n//-- Place the IO block, configured as \n//-- input with pull-up\nSB_IO\n #(\n .PIN_TYPE(6'b 1010_01),\n \n //-- The pull-up is activated or not\n //-- depeding on the ON parameter\n .PULLUP(ON)\n \n ) input_pin (\n\n //--- Input pin\n .PACKAGE_PIN(i),\n \n //-- Block output\n .D_IN_0(o),\n \n //-- Configured as input\n .OUTPUT_ENABLE(1'b0),\n \n //-- Not used\n .D_OUT_0(1'b0)\n );", - "params": [ - { - "name": "ON" - } - ], - "ports": { - "in": [ - { - "name": "i" - } - ], - "out": [ - { - "name": "o" - } - ] - } + "name": "", + "value": "0", + "local": false }, "position": { - "x": 256, - "y": 104 - }, - "size": { - "width": 392, - "height": 368 + "x": 232, + "y": -272 } }, { - "id": "8055c1f2-dad2-4257-a271-c0bd64700cd7", - "type": "basic.info", - "data": { - "info": "### Pull-up parameter:\n\n0: No pull-up \n1: Pull-up activated", - "readonly": true - }, - "position": { - "x": 144, - "y": -48 - }, - "size": { - "width": 264, - "height": 104 - } - }, - { - "id": "5a96e53f-d2ff-4058-bbed-779876848487", - "type": "basic.info", - "data": { - "info": "Only an FPGA pin can \nbe connected here!!!", - "readonly": true - }, + "id": "60b5fc06-7bd6-4799-a628-cf38eb28c785", + "type": "4c802f22559756474dc3d43a97f91568941d171d", "position": { - "x": 56, - "y": 200 + "x": 232, + "y": -168 }, "size": { - "width": 192, - "height": 56 + "width": 96, + "height": 64 } }, { - "id": "26b0a2d0-aaa1-4204-9e57-2f2d674e03a0", - "type": "basic.info", - "data": { - "info": "The pull-up is connected \nby default", - "readonly": true - }, + "id": "34406303-8cdf-4d6e-8b16-86c28db456ad", + "type": "91404d1e58c133c8ad9fe681f9f4f38e6b5f47d0", "position": { - "x": 512, - "y": 0 + "x": 456, + "y": -152 }, "size": { - "width": 208, - "height": 56 + "width": 96, + "height": 64 } } ], "wires": [ { "source": { - "block": "bb4a1ca9-1b30-471e-92ca-ca7ff2fc1150", - "port": "out" + "block": "34406303-8cdf-4d6e-8b16-86c28db456ad", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "2b245a71-2d80-466b-955f-e3d61839fe25", - "port": "i" + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" } }, { "source": { - "block": "2b245a71-2d80-466b-955f-e3d61839fe25", - "port": "o" + "block": "e728fdca-755f-4f2d-98e7-0716b1c5258f", + "port": "constant-out" }, "target": { - "block": "a139fa0d-9b45-4480-a251-f4a66b49aa23", - "port": "in" + "block": "60b5fc06-7bd6-4799-a628-cf38eb28c785", + "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" } }, { "source": { - "block": "121930e0-54c3-4b31-aa37-b33c7764abfa", - "port": "constant-out" + "block": "34406303-8cdf-4d6e-8b16-86c28db456ad", + "port": "4f58ac7d-7f3d-47a4-863a-659bcc4c1d53" }, "target": { - "block": "2b245a71-2d80-466b-955f-e3d61839fe25", - "port": "ON" - } + "block": "4aac3b0e-53f3-4adf-aee9-83569d5e47d9", + "port": "in" + }, + "size": 24 + }, + { + "source": { + "block": "176bfb23-fa63-433f-8928-717ce4072bcb", + "port": "out" + }, + "target": { + "block": "34406303-8cdf-4d6e-8b16-86c28db456ad", + "port": "c37b5f19-0593-403c-bd31-56990c7eb37a" + }, + "size": 24 + }, + { + "source": { + "block": "60b5fc06-7bd6-4799-a628-cf38eb28c785", + "port": "968a742a-8970-4ac1-af06-efa0e851eda8" + }, + "target": { + "block": "34406303-8cdf-4d6e-8b16-86c28db456ad", + "port": "934a5244-9d2c-4665-bb14-f92b56c3203c" + }, + "size": 24 } ] } } }, - "76118c377f31059327783a617b8e38ffd6b935b8": { + "4c802f22559756474dc3d43a97f91568941d171d": { "package": { - "name": "Sync-x01", - "version": "0.1", - "description": "Sync 1-bit input with the system clock domain", - "author": "Juan Gonzalez-González (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22214.451%22%20height=%22214.451%22%20viewBox=%220%200%20214.45128%20214.45128%22%3E%3Ccircle%20cx=%22107.226%22%20cy=%22107.226%22%20r=%22107.226%22%20fill=%22#4d4d4d%22/%3E%3Cpath%20d=%22M107.363%2038.297c14.504.03%2029.212%204.552%2040.7%2013.5%208.077%209.303-7.312%2019.268-14.243%2010.195-20.865-12.624-50.29-8.18-65.988%2010.695-8.352%209.367-13.058%2021.866-13.003%2034.413h13.789c-7.353%2011.037-14.707%2022.066-22.06%2033.095l-22.062-33.087h13.788c-.439-29.962%2021.108-58.462%2050.032-66.221%206.212-1.701%2012.607-2.654%2019.048-2.587zm60.53%2035.85l22.063%2033.092h-13.789c.39%2030.318-21.706%2059.137-51.14%2066.487-19.862%205.547-42.32%201.5-58.645-11.19-8.329-9.459%207.274-19.328%2014.27-10.173%2020.214%2012.265%2048.524%208.375%2064.48-9.142%209.242-9.522%2014.56-22.711%2014.489-35.982h-13.789l22.062-33.092z%22%20fill=%22#fbfbc9%22/%3E%3C/svg%3E" + "name": "24-bits-gen-constant", + "version": "0.0.2", + "description": "Generic: 24-bits generic constant", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22145.608%22%20height=%22247.927%22%20viewBox=%220%200%20136.50729%20232.43134%22%3E%3Cg%20style=%22line-height:0%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%3E%3Cpath%20d=%22M56.012%20146.905q9.055%206.708%2020.459%2017.105%2011.404%2010.062%2022.472%2021.8%2011.403%2011.74%2021.465%2024.15%2010.062%2012.074%2016.1%2022.471h-32.87q-6.372-10.397-15.763-21.13-9.392-11.068-20.124-21.13-10.398-10.062-21.13-18.447-10.398-8.385-18.783-14.087v74.794H0V4.695L27.838%200v141.874q18.447-16.1%2036.894-31.863%2018.447-16.1%2033.205-33.205h32.533q-14.422%2017.106-34.881%2035.217-20.124%2018.112-39.577%2034.882z%22%20style=%22line-height:1.25%22%20font-size=%22335.399%22%20font-weight=%22400%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22/%3E%3C/g%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "39873fa0-c3f5-47ef-b54b-b6b344416b25", - "type": "basic.input", + "id": "968a742a-8970-4ac1-af06-efa0e851eda8", + "type": "basic.output", "data": { "name": "", - "clock": true + "range": "[23:0]", + "size": 24 }, "position": { - "x": -256, - "y": -56 + "x": 960, + "y": 248 } }, { - "id": "e226f910-14af-473d-956b-03559f466726", - "type": "basic.inputLabel", + "id": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "type": "basic.constant", "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "name": "", + "value": "0", + "local": false }, "position": { - "x": -104, - "y": -56 + "x": 728, + "y": 128 } }, { - "id": "7f538425-03ff-409e-81c2-d2714dfb036f", - "type": "basic.outputLabel", + "id": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "type": "basic.code", "data": { - "blockColor": "yellow", - "name": "clk" + "code": "assign k = VALUE;", + "params": [ + { + "name": "VALUE" + } + ], + "ports": { + "in": [], + "out": [ + { + "name": "k", + "range": "[23:0]", + "size": 24 + } + ] + } }, "position": { - "x": 128, - "y": 32 + "x": 672, + "y": 248 + }, + "size": { + "width": 208, + "height": 64 + } + } + ], + "wires": [ + { + "source": { + "block": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "port": "constant-out" + }, + "target": { + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "VALUE" } }, { - "id": "868cf45b-3801-40c1-9a04-498087cf183e", + "source": { + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "k" + }, + "target": { + "block": "968a742a-8970-4ac1-af06-efa0e851eda8", + "port": "in" + }, + "size": 24 + } + ] + } + } + }, + "91404d1e58c133c8ad9fe681f9f4f38e6b5f47d0": { + "package": { + "name": "Adder-24bits", + "version": "0.1", + "description": "Adder-24bits: Adder of two operands of 24 bits", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618560481898 + }, + "design": { + "graph": { + "blocks": [ + { + "id": "8ac0c222-8cbc-4974-bfd2-43f11eb8d8ad", "type": "basic.outputLabel", "data": { - "blockColor": "yellow", - "name": "clk" + "name": "a2", + "range": "[7:0]", + "oldBlockColor": "fuchsia", + "blockColor": "deeppink", + "size": 8 }, "position": { - "x": -56, - "y": 72 + "x": 584, + "y": -816 } }, { - "id": "7bfc506f-7a54-40a1-8d33-e78a5409b972", + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", "type": "basic.output", "data": { - "name": "" + "name": "c" }, "position": { - "x": 424, - "y": 128 + "x": 1136, + "y": -776 } }, { - "id": "f25e9a9e-cd4c-4025-8745-0691a99a3fb8", - "type": "basic.input", + "id": "cc858595-88b1-4f0b-baeb-77fdd9a4d7ed", + "type": "basic.outputLabel", "data": { - "name": "", - "clock": false + "name": "b2", + "range": "[7:0]", + "blockColor": "fuchsia", + "size": 8 }, "position": { - "x": -64, - "y": 160 - } - }, - { - "id": "67741c87-f247-4b39-a7c2-42944b8daa48", - "type": "c8cfbaa5ea9096f681e8acf2ca239f06275f5db2", - "position": { - "x": 104, - "y": 144 - }, - "size": { - "width": 96, - "height": 64 + "x": 584, + "y": -752 } }, { - "id": "d627c1ba-2223-4a7b-918f-9458ec7be7a0", - "type": "c8cfbaa5ea9096f681e8acf2ca239f06275f5db2", - "position": { - "x": 280, - "y": 128 - }, - "size": { - "width": 96, - "height": 64 - } - } - ], - "wires": [ - { - "source": { - "block": "39873fa0-c3f5-47ef-b54b-b6b344416b25", - "port": "out" - }, - "target": { - "block": "e226f910-14af-473d-956b-03559f466726", - "port": "inlabel" - } - }, - { - "source": { - "block": "868cf45b-3801-40c1-9a04-498087cf183e", - "port": "outlabel" - }, - "target": { - "block": "67741c87-f247-4b39-a7c2-42944b8daa48", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" - } - }, - { - "source": { - "block": "7f538425-03ff-409e-81c2-d2714dfb036f", - "port": "outlabel" - }, - "target": { - "block": "d627c1ba-2223-4a7b-918f-9458ec7be7a0", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" - } - }, - { - "source": { - "block": "f25e9a9e-cd4c-4025-8745-0691a99a3fb8", - "port": "out" - }, - "target": { - "block": "67741c87-f247-4b39-a7c2-42944b8daa48", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" - } - }, - { - "source": { - "block": "67741c87-f247-4b39-a7c2-42944b8daa48", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + "id": "235e1fe4-919e-422d-9eb3-dc232e8f9407", + "type": "basic.inputLabel", + "data": { + "name": "a2", + "range": "[7:0]", + "pins": [ + { + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia", + "blockColor": "deeppink" }, - "target": { - "block": "d627c1ba-2223-4a7b-918f-9458ec7be7a0", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + "position": { + "x": 40, + "y": -672 } }, { - "source": { - "block": "d627c1ba-2223-4a7b-918f-9458ec7be7a0", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" - }, - "target": { - "block": "7bfc506f-7a54-40a1-8d33-e78a5409b972", - "port": "in" - } - } - ] - } - } - }, - "c8cfbaa5ea9096f681e8acf2ca239f06275f5db2": { - "package": { - "name": "DFF", - "version": "2.0", - "description": "D Flip-flop (verilog implementation)", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22156.57%22%20height=%22216.83%22%20viewBox=%220%200%2041.425941%2057.369679%22%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M25.682%2040.152L39.29%2056.824%2032.372%2036.29%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M18.298%2032.088L9.066%2012.475l-6.45%203.724-2.07-3.583L21.451.546%2023.52%204.13l-6.092%203.517%2012.03%2018.223s5.399-2.025%208.535.74c3.137%202.766%202.52%204.92%202.887%204.772L17.192%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "3943e194-090b-4553-9df3-88bc4b17abc2", - "type": "basic.input", + "id": "4f2c77a9-f54e-4c7e-b1b8-d1739ea521c7", + "type": "basic.outputLabel", "data": { - "name": "", - "clock": true + "name": "a1", + "range": "[7:0]", + "blockColor": "deeppink", + "size": 8 }, "position": { - "x": 208, - "y": 160 + "x": 392, + "y": -640 } }, { - "id": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78", + "id": "4f58ac7d-7f3d-47a4-863a-659bcc4c1d53", "type": "basic.output", "data": { - "name": "" + "name": "s", + "range": "[23:0]", + "size": 24 }, "position": { - "x": 816, - "y": 224 + "x": 1144, + "y": -616 } }, { - "id": "bf2f0c53-2d04-4cba-aa70-2df85502d24f", - "type": "basic.input", + "id": "e2589574-b6cc-4faf-8e69-3d23248bcba2", + "type": "basic.inputLabel", "data": { - "name": "", - "clock": false + "name": "a1", + "range": "[7:0]", + "pins": [ + { + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia", + "blockColor": "deeppink" }, "position": { - "x": 208, - "y": 304 + "x": 40, + "y": -608 } }, { - "id": "65194b18-5d2a-41b2-bd86-01be99978ad6", - "type": "basic.constant", + "id": "934a5244-9d2c-4665-bb14-f92b56c3203c", + "type": "basic.input", "data": { "name": "", - "value": "0", - "local": false + "range": "[23:0]", + "clock": false, + "size": 24 }, "position": { - "x": 512, - "y": 64 + "x": -496, + "y": -608 } }, { - "id": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "type": "basic.code", + "id": "4743defe-36c0-40a2-aaf0-188272583034", + "type": "basic.outputLabel", "data": { - "code": "//-- Initial value\nreg q = INI;\n\n//-- Capture the input data \n//-- on the rising edge of \n//-- the system clock\nalways @(posedge clk)\n q <= d;", - "params": [ - { - "name": "INI" - } - ], - "ports": { - "in": [ - { - "name": "clk" - }, - { - "name": "d" - } - ], - "out": [ - { - "name": "q" - } - ] - } + "name": "b1", + "range": "[7:0]", + "blockColor": "fuchsia", + "size": 8 }, "position": { - "x": 384, - "y": 168 - }, - "size": { - "width": 344, - "height": 176 + "x": 392, + "y": -560 } }, { - "id": "53d11290-50b3-40fb-b253-222cb296b075", - "type": "basic.info", + "id": "6736a55c-7818-4da9-9c1a-f57200ad2526", + "type": "basic.inputLabel", "data": { - "info": "Parameter: Initial value", - "readonly": true - }, - "position": { - "x": 488, - "y": 48 - }, - "size": { - "width": 208, - "height": 40 - } - }, - { - "id": "c25a29cd-d5ed-435e-b375-e6d5557660d8", - "type": "basic.info", - "data": { - "info": "System clock", - "readonly": true + "name": "a0", + "range": "[7:0]", + "pins": [ + { + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia", + "blockColor": "deeppink" }, "position": { - "x": 208, - "y": 136 - }, - "size": { - "width": 120, - "height": 32 + "x": -160, + "y": -512 } }, { - "id": "ecafc6fa-330b-4ba7-aa67-40b3ea48f1f1", - "type": "basic.info", + "id": "7d042e3c-08e0-4027-ba97-6f6143ac0b7e", + "type": "basic.outputLabel", "data": { - "info": "Input data", - "readonly": true + "name": "a0", + "range": "[7:0]", + "blockColor": "deeppink", + "size": 8 }, "position": { "x": 224, - "y": 280 - }, - "size": { - "width": 112, - "height": 40 + "y": -448 } }, { - "id": "df95c331-682d-4733-a62d-ad9fcd75f96a", - "type": "basic.info", + "id": "7114cf32-af2c-438f-b816-1043a8bd819d", + "type": "basic.outputLabel", "data": { - "info": "Output", - "readonly": true + "name": "b0", + "range": "[7:0]", + "blockColor": "fuchsia", + "size": 8 }, "position": { - "x": 840, - "y": 200 - }, - "size": { - "width": 80, - "height": 40 + "x": 224, + "y": -384 } }, { - "id": "dd8217df-b56d-49a9-ae94-f5e0c96e1460", - "type": "basic.info", + "id": "389f9a01-b7df-4d16-8f0e-bb14b76997ce", + "type": "basic.inputLabel", "data": { - "info": "# D Flip-Flop \n\nIt stores the input data that arrives at cycle n \nIts output is shown in the cycle n+1", - "readonly": true + "name": "b2", + "range": "[7:0]", + "pins": [ + { + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "blockColor": "fuchsia" }, "position": { - "x": 144, - "y": -136 - }, - "size": { - "width": 488, - "height": 104 - } - } - ], - "wires": [ - { - "source": { - "block": "3943e194-090b-4553-9df3-88bc4b17abc2", - "port": "out" - }, - "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "clk" + "x": 24, + "y": -368 } }, { - "source": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "q" + "id": "a3761c9e-14ee-47ef-95f0-ddbb132ba6cf", + "type": "basic.inputLabel", + "data": { + "name": "b1", + "range": "[7:0]", + "pins": [ + { + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "blockColor": "fuchsia" }, - "target": { - "block": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78", - "port": "in" + "position": { + "x": 24, + "y": -296 } }, { - "source": { - "block": "65194b18-5d2a-41b2-bd86-01be99978ad6", - "port": "constant-out" + "id": "c37b5f19-0593-403c-bd31-56990c7eb37a", + "type": "basic.input", + "data": { + "name": "", + "range": "[23:0]", + "clock": false, + "size": 24 }, - "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "INI" + "position": { + "x": -496, + "y": -240 } }, { - "source": { - "block": "bf2f0c53-2d04-4cba-aa70-2df85502d24f", - "port": "out" - }, - "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "d" - } - } - ] - } - } - }, - "5645befdb78839c4a1fcf8b7f7f1bfdd13cd127d": { - "package": { - "name": "not-wire-x01", - "version": "0.1", - "description": "Select positive or negative logic for the input (0=positive, 1=negative)", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22317.537%22%20height=%22255.621%22%20version=%221%22%3E%3Cpath%20d=%22M112.127%2098.805l133.418%2076.406-133.418%2076.41z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20cx=%22263.881%22%20cy=%22174.972%22%20rx=%2217.634%22%20ry=%2217.982%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4%20175.592h108.187m169.632%200h31.718%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:0%25%22%20x=%22121.949%22%20y=%22187.178%22%20transform=%22scale(.9971%201.0029)%22%20font-weight=%22400%22%20font-size=%229.874%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%22121.949%22%20y=%22187.178%22%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20font-size=%2240.873%22%3ENot%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M4%2062.122h309.537%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:0%25%22%20x=%2214.865%22%20y=%2236.868%22%20transform=%22scale(.99532%201.0047)%22%20font-weight=%22400%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%2214.865%22%20y=%2236.868%22%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20font-size=%2249.675%22%3E0%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:0%25%22%20x=%2216.903%22%20y=%22151.969%22%20transform=%22scale(.99532%201.0047)%22%20font-weight=%22400%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%2216.903%22%20y=%22151.969%22%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20font-size=%2249.675%22%3E1%3C/tspan%3E%3C/text%3E%3C/svg%3E", - "otid": 1607779171609 - }, - "design": { - "graph": { - "blocks": [ - { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "type": "basic.output", + "id": "a7cd6890-7130-4f25-9966-b5ca1132d597", + "type": "basic.inputLabel", "data": { - "name": "" + "name": "b0", + "range": "[7:0]", + "pins": [ + { + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "blockColor": "fuchsia" }, "position": { - "x": 824, - "y": 304 + "x": -160, + "y": -224 } }, { - "id": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", - "type": "basic.input", - "data": { - "name": "", - "clock": false + "id": "64c3574b-3227-40ab-ab03-c2e2af710a45", + "type": "cb23aa3d8a3e95bd194fd9ec9b9c40b36595d893", + "position": { + "x": 392, + "y": -432 }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "0857be54-1eea-4619-841f-b1bb49aa66d0", + "type": "c3c498191b14e9288a85fa2871b3966665f75475", "position": { - "x": 376, - "y": 320 + "x": 560, + "y": -576 + }, + "size": { + "width": 96, + "height": 96 } }, { - "id": "2cd40fd8-3a2b-46f7-a922-fedf146ed11a", - "type": "basic.constant", - "data": { - "name": "not", - "value": "0", - "local": false + "id": "17bd7ef3-6604-48a9-9c2e-50a8be908636", + "type": "8cc49c9b29485f2cfeab6064d7bb1cf9ced045b1", + "position": { + "x": 800, + "y": -520 }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "9ed89505-bd1e-4e7e-b4af-ae8c5a01bbfe", + "type": "ab13f05d92d80a82af1a712a92621ea26dde55f3", "position": { - "x": 520, - "y": 160 + "x": -336, + "y": -240 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "160f76e9-4d8d-424e-8689-bb890101823c", - "type": "3ba5d0ecbd8f55582a6307158732789df06cb74c", + "id": "27df49b2-0dd8-448e-a014-bca989657886", + "type": "306ca367fbbc5181b3c709d73f447e0710871a1d", "position": { - "x": 520, - "y": 256 + "x": -160, + "y": -312 }, "size": { "width": 96, @@ -1989,11 +2219,11 @@ } }, { - "id": "5237d3a4-e717-4eb1-a261-65f0c313b67c", - "type": "b70dd9c39fe3c51faff4233d2dde462fc53c7e38", + "id": "fe7804dd-1170-4d4d-a734-cc17e193a209", + "type": "ab13f05d92d80a82af1a712a92621ea26dde55f3", "position": { - "x": 672, - "y": 304 + "x": -328, + "y": -608 }, "size": { "width": 96, @@ -2001,1315 +2231,1292 @@ } }, { - "id": "019e81db-5707-409c-b159-b4cb29813cc4", - "type": "basic.info", - "data": { - "info": "When k=0, it works like a wire \n(The output is equal to the input) \nWhen k=1, it act as a not gate\n(The output is the inverse of the input)", - "readonly": true + "id": "48515e04-a5ad-4b03-8ad2-58e336de48ca", + "type": "306ca367fbbc5181b3c709d73f447e0710871a1d", + "position": { + "x": -128, + "y": -624 }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "dcab5da0-fe7e-4131-af28-829e18fbb525", + "type": "c3c498191b14e9288a85fa2871b3966665f75475", "position": { - "x": 632, - "y": 392 + "x": 744, + "y": -768 }, "size": { - "width": 336, + "width": 96, "height": 96 } }, { - "id": "68880edb-df66-4540-8ee4-f3836fdb5f0e", - "type": "basic.info", - "data": { - "info": "### Truth table for XOR\n\n| k | input | output | function |\n|---|-------|--------|----------|\n| 0 | 0 | 0 | wire |\n| 0 | 1 | 1 | wire |\n| 1 | 0 | 1 | Not |\n| 1 | 1 | 0 | Not |", - "readonly": true - }, + "id": "c047f19d-fd2f-4cf6-a055-3b4ae336688a", + "type": "a52e3be3d374c081062b542fc91c5cb1be726cb8", "position": { - "x": 728, - "y": 8 + "x": 976, + "y": -616 }, "size": { - "width": 296, - "height": 144 + "width": 96, + "height": 64 } } ], "wires": [ { "source": { - "block": "2cd40fd8-3a2b-46f7-a922-fedf146ed11a", - "port": "constant-out" + "block": "9ed89505-bd1e-4e7e-b4af-ae8c5a01bbfe", + "port": "872cccab-7461-412b-9924-bad211fa1922", + "size": 8 }, "target": { - "block": "160f76e9-4d8d-424e-8689-bb890101823c", - "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" + "block": "a7cd6890-7130-4f25-9966-b5ca1132d597", + "port": "inlabel" }, - "vertices": [] + "size": 8 }, { "source": { - "block": "160f76e9-4d8d-424e-8689-bb890101823c", - "port": "5d443143-4aca-4d4f-ba40-2b88451b86d3" + "block": "7114cf32-af2c-438f-b816-1043a8bd819d", + "port": "outlabel" }, "target": { - "block": "5237d3a4-e717-4eb1-a261-65f0c313b67c", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - } + "block": "64c3574b-3227-40ab-ab03-c2e2af710a45", + "port": "63477487-9493-4058-a7e1-9bab443ec466", + "size": 8 + }, + "size": 8 }, { "source": { - "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", - "port": "out" + "block": "7d042e3c-08e0-4027-ba97-6f6143ac0b7e", + "port": "outlabel" }, "target": { - "block": "5237d3a4-e717-4eb1-a261-65f0c313b67c", - "port": "97b51945-d716-4b6c-9db9-970d08541249" - } + "block": "64c3574b-3227-40ab-ab03-c2e2af710a45", + "port": "b4b08c4b-8eb1-4cd3-a1bf-a45bf7177ed3", + "size": 8 + }, + "size": 8 }, { "source": { - "block": "5237d3a4-e717-4eb1-a261-65f0c313b67c", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "4f2c77a9-f54e-4c7e-b1b8-d1739ea521c7", + "port": "outlabel" }, "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "port": "in" - } - } - ] - } - } - }, - "3ba5d0ecbd8f55582a6307158732789df06cb74c": { - "package": { - "name": "Constante-1bits", - "version": "0.0.1", - "description": "Valor genérico constante, de 1 bits. Su valor se introduce como parámetro. Por defecto vale 0", - "author": "Juan Gonzalez-Gomez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22145.608%22%20height=%22247.927%22%20viewBox=%220%200%20136.50729%20232.43134%22%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22293.115%22%20y=%22648.344%22%20font-weight=%22400%22%20font-size=%22335.399%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22%20transform=%22translate(-316.929%20-415.913)%22%3E%3Ctspan%20x=%22293.115%22%20y=%22648.344%22%3Ek%3C/tspan%3E%3C/text%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "5d443143-4aca-4d4f-ba40-2b88451b86d3", - "type": "basic.output", - "data": { - "name": "" + "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", + "port": "4bf17d89-89b8-4524-800a-2d15f9bbb111", + "size": 8 }, - "position": { - "x": 960, - "y": 248 - } + "size": 8 }, { - "id": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", - "type": "basic.constant", - "data": { - "name": "", - "value": "0", - "local": false + "source": { + "block": "4743defe-36c0-40a2-aaf0-188272583034", + "port": "outlabel" }, - "position": { - "x": 728, - "y": 128 - } - }, + "target": { + "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", + "port": "3867504b-f331-4e0e-b923-acc86cb4255c", + "size": 8 + }, + "size": 8 + }, { - "id": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", - "type": "basic.code", - "data": { - "code": "assign k = VALUE;", - "params": [ - { - "name": "VALUE" - } - ], - "ports": { - "in": [], - "out": [ - { - "name": "k" - } - ] - } + "source": { + "block": "27df49b2-0dd8-448e-a014-bca989657886", + "port": "0e7ef93d-c4da-4c2e-9653-7a470dc912b6", + "size": 8 }, - "position": { - "x": 672, - "y": 248 + "target": { + "block": "a3761c9e-14ee-47ef-95f0-ddbb132ba6cf", + "port": "inlabel" }, - "size": { - "width": 208, - "height": 64 - } - } - ], - "wires": [ + "size": 8 + }, { "source": { - "block": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", - "port": "constant-out" + "block": "fe7804dd-1170-4d4d-a734-cc17e193a209", + "port": "872cccab-7461-412b-9924-bad211fa1922", + "size": 8 }, "target": { - "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", - "port": "VALUE" - } + "block": "6736a55c-7818-4da9-9c1a-f57200ad2526", + "port": "inlabel" + }, + "size": 8 }, { "source": { - "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", - "port": "k" + "block": "48515e04-a5ad-4b03-8ad2-58e336de48ca", + "port": "0e7ef93d-c4da-4c2e-9653-7a470dc912b6", + "size": 8 }, "target": { - "block": "5d443143-4aca-4d4f-ba40-2b88451b86d3", - "port": "in" - } - } - ] - } - } - }, - "b70dd9c39fe3c51faff4233d2dde462fc53c7e38": { - "package": { - "name": "XOR", - "version": "1.0.1", - "description": "Puerta XOR", - "author": "Jesús Arroyo, Juan González", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22193.047%22%20width=%22383.697%22%20version=%221%22%3E%3Cpath%20d=%22M175.56%20189.047H84.527s30.345-42.538%2031.086-94.03c.743-51.49-31.821-90.294-31.821-90.294l92.317-.394c46.445%201.948%20103.899%2053.44%20123.047%2093.678-32.601%2067.503-92.158%2089.79-123.596%2091.04z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2047.62h99.605M4.883%20145.497h100.981M298.57%2099.219h81.07%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20x=%22129.011%22%20y=%22115.285%22%20font-size=%2258.24%22%20font-weight=%22400%22%20style=%22line-height:125%25%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20transform=%22translate(0%20.329)%22%3E%3Ctspan%20x=%22129.011%22%20y=%22115.285%22%20font-weight=%22700%22%3EXOR%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M54.321%20188.368s30.345-42.538%2031.086-94.03c.742-51.49-31.821-90.294-31.821-90.294%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "18c2ebc7-5152-439c-9b3f-851c59bac834", - "type": "basic.input", - "data": { - "name": "" + "block": "e2589574-b6cc-4faf-8e69-3d23248bcba2", + "port": "inlabel" }, - "position": { - "x": 64, - "y": 88 - } + "size": 8 }, { - "id": "664caf9e-5f40-4df4-800a-b626af702e62", - "type": "basic.output", - "data": { - "name": "" + "source": { + "block": "27df49b2-0dd8-448e-a014-bca989657886", + "port": "6ac467f0-b16b-44ef-8f03-ae206c13186e", + "size": 8 }, - "position": { - "x": 784, - "y": 152 - } + "target": { + "block": "389f9a01-b7df-4d16-8f0e-bb14b76997ce", + "port": "inlabel" + }, + "size": 8 }, { - "id": "97b51945-d716-4b6c-9db9-970d08541249", - "type": "basic.input", - "data": { - "name": "" + "source": { + "block": "48515e04-a5ad-4b03-8ad2-58e336de48ca", + "port": "6ac467f0-b16b-44ef-8f03-ae206c13186e", + "size": 8 }, - "position": { - "x": 64, - "y": 224 - } + "target": { + "block": "235e1fe4-919e-422d-9eb3-dc232e8f9407", + "port": "inlabel" + }, + "size": 8 }, { - "id": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "type": "basic.code", - "data": { - "code": "//-- Puerta XOR\n\n//-- module xor (input wire a, input wire b,\n//-- output wire c);\n\nassign c = a ^ b;\n\n//-- endmodule", - "params": [], - "ports": { - "in": [ - { - "name": "a" - }, - { - "name": "b" - } - ], - "out": [ - { - "name": "c" - } - ] - } + "source": { + "block": "cc858595-88b1-4f0b-baeb-77fdd9a4d7ed", + "port": "outlabel" }, - "position": { - "x": 256, - "y": 48 + "target": { + "block": "dcab5da0-fe7e-4131-af28-829e18fbb525", + "port": "3867504b-f331-4e0e-b923-acc86cb4255c", + "size": 8 }, - "size": { - "width": 464, - "height": 272 - } - } - ], - "wires": [ + "size": 8 + }, { "source": { - "block": "18c2ebc7-5152-439c-9b3f-851c59bac834", - "port": "out" + "block": "8ac0c222-8cbc-4974-bfd2-43f11eb8d8ad", + "port": "outlabel" }, "target": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "a" - } + "block": "dcab5da0-fe7e-4131-af28-829e18fbb525", + "port": "4bf17d89-89b8-4524-800a-2d15f9bbb111", + "size": 8 + }, + "size": 8 }, { "source": { - "block": "97b51945-d716-4b6c-9db9-970d08541249", - "port": "out" + "block": "64c3574b-3227-40ab-ab03-c2e2af710a45", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "b" + "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", + "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" } }, { "source": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "c" + "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", + "port": "9daaaf78-5a89-4d4a-a1b2-db1d3af962f1" }, "target": { - "block": "664caf9e-5f40-4df4-800a-b626af702e62", - "port": "in" - } - } - ] - } - } - }, - "5539ec808ddc65a96d5da8d44290e4da16a256b8": { - "package": { - "name": "Debouncer-x01", - "version": "1.0.0", - "description": "Remove the rebound on a mechanical switch", - "author": "Juan González", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-252%20400.9%2090%2040%22%3E%3Cpath%20d=%22M-251.547%20436.672h22.802v-30.353h5.862v30.353h5.259v-30.353h3.447v30.353h2.984v-30.353h3.506v30.523h6.406V405.77h38.868%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%221.4%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M-232.57%20403.877l26.946%2032.391M-205.624%20403.877l-26.946%2032.391%22%20fill=%22none%22%20stroke=%22red%22%20stroke-width=%223%22%20stroke-linecap=%22round%22/%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "4bf41c17-a2da-4140-95f7-2a80d51b1e1a", - "type": "basic.input", - "data": { - "name": "", - "clock": true + "block": "17bd7ef3-6604-48a9-9c2e-50a8be908636", + "port": "5a35cd57-1006-4f6d-b263-5b977e9ef142" }, - "position": { - "x": -376, - "y": -656 - } + "size": 8 }, { - "id": "a0474543-ff59-4f6f-8d2e-3993d79c13de", - "type": "basic.inputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "source": { + "block": "64c3574b-3227-40ab-ab03-c2e2af710a45", + "port": "dc2d9a2c-9ee9-4985-a678-d88c89fd8b74" }, - "position": { - "x": -224, - "y": -656 - } + "target": { + "block": "17bd7ef3-6604-48a9-9c2e-50a8be908636", + "port": "38fdb02d-4323-4a34-9ffe-8385f844b660" + }, + "size": 8 }, { - "id": "22ff3fa1-943b-4d1a-bd89-36e1c054d077", - "type": "basic.output", - "data": { - "name": "" + "source": { + "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, - "position": { - "x": 952, - "y": -600 + "target": { + "block": "dcab5da0-fe7e-4131-af28-829e18fbb525", + "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" } }, { - "id": "20d06e62-fd81-4956-b93c-ade0e616fb98", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "out" + "source": { + "block": "dcab5da0-fe7e-4131-af28-829e18fbb525", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, - "position": { - "x": 816, - "y": -600 + "target": { + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" } }, { - "id": "c9e1af2a-6f09-4cf6-a5b3-fdf7ec2c6530", - "type": "basic.input", - "data": { - "name": "", - "clock": false + "source": { + "block": "17bd7ef3-6604-48a9-9c2e-50a8be908636", + "port": "79c56f9a-597f-491e-b1d1-d321f63303c2" }, - "position": { - "x": -376, - "y": -584 - } + "target": { + "block": "c047f19d-fd2f-4cf6-a055-3b4ae336688a", + "port": "c4ca0e6a-6557-45ee-8363-1bffebaad486" + }, + "size": 16 }, { - "id": "b0e427bd-ce26-43b5-9d61-685f1c1ab922", + "source": { + "block": "c37b5f19-0593-403c-bd31-56990c7eb37a", + "port": "out" + }, + "target": { + "block": "9ed89505-bd1e-4e7e-b4af-ae8c5a01bbfe", + "port": "901245a6-b7da-4af7-8917-7a47e5675ae1" + }, + "size": 24 + }, + { + "source": { + "block": "9ed89505-bd1e-4e7e-b4af-ae8c5a01bbfe", + "port": "4ca7b72f-724d-435c-8490-645c338586db" + }, + "target": { + "block": "27df49b2-0dd8-448e-a014-bca989657886", + "port": "a0c9783a-c287-45a7-bfc7-9da552cf732f" + }, + "size": 16 + }, + { + "source": { + "block": "934a5244-9d2c-4665-bb14-f92b56c3203c", + "port": "out" + }, + "target": { + "block": "fe7804dd-1170-4d4d-a734-cc17e193a209", + "port": "901245a6-b7da-4af7-8917-7a47e5675ae1" + }, + "size": 24 + }, + { + "source": { + "block": "fe7804dd-1170-4d4d-a734-cc17e193a209", + "port": "4ca7b72f-724d-435c-8490-645c338586db" + }, + "target": { + "block": "48515e04-a5ad-4b03-8ad2-58e336de48ca", + "port": "a0c9783a-c287-45a7-bfc7-9da552cf732f" + }, + "size": 16 + }, + { + "source": { + "block": "dcab5da0-fe7e-4131-af28-829e18fbb525", + "port": "9daaaf78-5a89-4d4a-a1b2-db1d3af962f1" + }, + "target": { + "block": "c047f19d-fd2f-4cf6-a055-3b4ae336688a", + "port": "29a44a77-ec20-436d-a9e8-7fc2ca5de57e" + }, + "size": 8 + }, + { + "source": { + "block": "c047f19d-fd2f-4cf6-a055-3b4ae336688a", + "port": "756c8eb7-3567-48b4-9757-fe992499b794" + }, + "target": { + "block": "4f58ac7d-7f3d-47a4-863a-659bcc4c1d53", + "port": "in" + }, + "size": 24 + } + ] + } + } + }, + "cb23aa3d8a3e95bd194fd9ec9b9c40b36595d893": { + "package": { + "name": "Adder-8bits", + "version": "0.1", + "description": "Adder-8bits: Adder of two operands of 8 bits", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618560481898 + }, + "design": { + "graph": { + "blocks": [ + { + "id": "1c85838b-e269-4a65-a112-0a1bbca9b2a1", "type": "basic.inputLabel", "data": { - "blockColor": "fuchsia", - "name": "in", + "name": "a1", + "range": "[3:0]", "pins": [ + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, { "index": "0", - "name": "NULL", - "value": "NULL" + "name": "", + "value": "" } ], - "virtual": true + "virtual": true, + "oldBlockColor": "fuchsia", + "blockColor": "deeppink" }, "position": { - "x": -224, - "y": -584 + "x": 16, + "y": -688 } }, { - "id": "d8572528-e0db-413c-a4ff-64d8cfee021d", + "id": "d01b9c0c-a541-49e6-b5aa-a0c0f21612a0", "type": "basic.outputLabel", "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" + "name": "a1", + "range": "[3:0]", + "oldBlockColor": "fuchsia", + "blockColor": "deeppink", + "size": 4 }, "position": { - "x": -32, - "y": -448 + "x": 352, + "y": -664 } }, { - "id": "5d12a177-7618-4517-9067-3012f7cb42ce", - "type": "basic.outputLabel", + "id": "b4b08c4b-8eb1-4cd3-a1bf-a45bf7177ed3", + "type": "basic.input", "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" + "name": "", + "range": "[7:0]", + "clock": false, + "size": 8 }, "position": { - "x": 552, - "y": -440 + "x": -312, + "y": -632 } }, { - "id": "2f1050dd-a720-4ede-890e-612ce370ba61", + "id": "f3b83846-5723-40b3-a598-fd21797f7ce1", "type": "basic.inputLabel", "data": { - "blockColor": "fuchsia", - "name": "out", + "name": "a0", + "range": "[3:0]", "pins": [ + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, { "index": "0", - "name": "NULL", - "value": "NULL" + "name": "", + "value": "" } ], "virtual": true, - "oldBlockColor": "fuchsia" + "oldBlockColor": "fuchsia", + "blockColor": "deeppink" }, "position": { - "x": 840, - "y": -352 + "x": 16, + "y": -616 } }, { - "id": "ba86528a-72e9-40f7-a1e6-c2e684026c24", - "type": "basic.outputLabel", + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", "data": { - "blockColor": "fuchsia", - "name": "in", - "oldBlockColor": "fuchsia" + "name": "c" }, "position": { - "x": -32, - "y": -336 + "x": 960, + "y": -608 } }, { - "id": "c1243e04-edbf-4cc6-9d85-f7bf35ac1dae", + "id": "fb36b075-bb31-4aa7-8dbd-f0d108126f21", "type": "basic.outputLabel", "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" + "name": "b1", + "range": "[3:0]", + "blockColor": "fuchsia", + "size": 4 }, "position": { - "x": 384, - "y": -288 + "x": 352, + "y": -584 } }, { - "id": "cc581727-73de-451c-849d-eb5e8387f0e4", - "type": "c8cfbaa5ea9096f681e8acf2ca239f06275f5db2", - "position": { - "x": 120, - "y": -352 + "id": "dc2d9a2c-9ee9-4985-a678-d88c89fd8b74", + "type": "basic.output", + "data": { + "name": "s", + "range": "[7:0]", + "size": 8 }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "e4164124-c993-47b5-a746-809a3e625f53", - "type": "b70dd9c39fe3c51faff4233d2dde462fc53c7e38", "position": { - "x": 248, - "y": -176 - }, - "size": { - "width": 96, - "height": 64 + "x": 960, + "y": -544 } }, { - "id": "3c0a5e86-2068-4aef-8ad9-34d39461ddfe", - "type": "93adf61bc489d9a96a344d3f2600237e9e19c607", - "position": { - "x": 704, - "y": -368 - }, - "size": { - "width": 96, - "height": 96 - } - }, - { - "id": "c8bd0542-c3ff-484b-80b0-b883c1df77e5", - "type": "8d4ef5a2cf273f2265401931a99a46e9dc224688", - "position": { - "x": 520, - "y": -192 + "id": "6de2e227-2992-41fb-a52e-16e86632cd2c", + "type": "basic.outputLabel", + "data": { + "name": "a0", + "range": "[3:0]", + "oldBlockColor": "fuchsia", + "blockColor": "deeppink", + "size": 4 }, - "size": { - "width": 96, - "height": 96 - } - }, - { - "id": "c287e056-90e6-46b6-b1fa-5f8abba12518", - "type": "725b7e2cb9666b5ed3183537d9c898f096dab82a", "position": { - "x": 384, - "y": -96 - }, - "size": { - "width": 96, - "height": 64 + "x": 184, + "y": -472 } }, { - "id": "5a74cbea-0212-467b-8391-9740d50c3a18", - "type": "basic.info", + "id": "d5b2605b-a224-4d60-896b-d1553fd943e1", + "type": "basic.inputLabel", "data": { - "info": "Previous input \nvalue", - "readonly": true + "name": "b1", + "range": "[3:0]", + "pins": [ + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "blockColor": "fuchsia" }, "position": { - "x": 128, - "y": -408 - }, - "size": { - "width": 136, - "height": 56 + "x": 8, + "y": -440 } }, { - "id": "1be0ed57-ae41-4ca5-a8c0-3d70585336a6", - "type": "basic.info", + "id": "e3beef79-c05d-4705-8dbc-de5b7b94941a", + "type": "basic.outputLabel", "data": { - "info": "Current input \nvalue", - "readonly": true + "name": "b0", + "range": "[3:0]", + "blockColor": "fuchsia", + "size": 4 }, "position": { - "x": 88, - "y": -112 - }, - "size": { - "width": 136, - "height": 56 + "x": 184, + "y": -408 } }, { - "id": "dc34c3ef-e05e-4431-b7eb-dbb8ac883d6c", - "type": "basic.info", + "id": "63477487-9493-4058-a7e1-9bab443ec466", + "type": "basic.input", "data": { - "info": "There is a change \non the input", - "readonly": true + "name": "", + "range": "[7:0]", + "clock": false, + "size": 8 }, "position": { - "x": 360, - "y": -200 - }, - "size": { - "width": 152, - "height": 56 + "x": -320, + "y": -384 } }, { - "id": "cabf3c3d-a707-4e06-be9a-4a66817c7a26", - "type": "basic.info", + "id": "df32424c-55e8-45ed-9adc-3d8bb146e3e0", + "type": "basic.inputLabel", "data": { - "info": "Whenever there is a change in \nthe input, the counter is started", - "readonly": true + "name": "b0", + "range": "[3:0]", + "pins": [ + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "blockColor": "fuchsia" }, "position": { - "x": 528, - "y": -88 - }, - "size": { - "width": 288, - "height": 56 + "x": 8, + "y": -368 } }, { - "id": "6dcd32b7-40bd-433d-a1e2-222636c19f2f", - "type": "basic.info", - "data": { - "info": "If the counter reaches it maximum \nvalue, the input is considered stable \nand it is captured", - "readonly": true - }, + "id": "6781108b-d67f-4ee8-97a9-79bab2c400b1", + "type": "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a", "position": { - "x": 720, - "y": -456 + "x": -168, + "y": -384 }, "size": { - "width": 304, - "height": 72 + "width": 96, + "height": 64 } }, { - "id": "5ee60a84-8e65-49de-9b87-5afd9770b5a3", - "type": "basic.info", - "data": { - "info": "### Time calculation\n\nFor CLK=12MHZ, a 16-bit counter reaches its \nmaximum every 2 ** 16 * 1/F = 5.5ms aprox \nIF more time is needed for debouncing, \nuse a counter with more bits (17, 18...)", - "readonly": true - }, + "id": "ffcdd533-6cad-4ba4-9f88-4b1030d78af8", + "type": "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a", "position": { - "x": 432, - "y": -640 + "x": -152, + "y": -632 }, "size": { - "width": 360, - "height": 120 + "width": 96, + "height": 64 } }, { - "id": "f998abd9-dfc8-42d4-8816-c89f07a61e6f", - "type": "basic.info", - "data": { - "info": "## Debouncer \n\nA value is considered stable when \nthere is no changes during 5.5ms \naprox. When a value is stable it is \ncaptured on the output flip-flop", - "readonly": true - }, + "id": "7b82019f-c8a7-4b8c-baa1-6eb224a95cb2", + "type": "25966b9480fc28011aea0e17452c30d5ff9d76e8", "position": { - "x": -8, - "y": -648 + "x": 352, + "y": -456 }, "size": { - "width": 312, - "height": 128 + "width": 96, + "height": 64 } }, { - "id": "ababfa12-265a-4c7c-a482-8ed44cf9171c", - "type": "basic.info", - "data": { - "info": "Stable output", - "readonly": true - }, + "id": "b8a72421-dc14-4c18-b343-9c3516b37f54", + "type": "afb28fd5426aea14477d11cbe30a290679f789f8", "position": { - "x": 880, - "y": -280 + "x": 760, + "y": -544 }, "size": { - "width": 136, - "height": 40 + "width": 96, + "height": 64 } }, { - "id": "656df089-b248-432e-b6b5-ecd4bb5cc8eb", - "type": "basic.info", - "data": { - "info": "Counter", - "readonly": true - }, + "id": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", + "type": "a1ce303b8ce47a06371ea4641c81460f34a1cca9", "position": { - "x": 536, - "y": -232 + "x": 520, + "y": -600 }, "size": { "width": 96, - "height": 40 + "height": 96 } } ], "wires": [ { "source": { - "block": "4bf41c17-a2da-4140-95f7-2a80d51b1e1a", - "port": "out" + "block": "6781108b-d67f-4ee8-97a9-79bab2c400b1", + "port": "eb61d084-ca22-4894-b8a2-f936db38f4b1", + "size": 4 }, "target": { - "block": "a0474543-ff59-4f6f-8d2e-3993d79c13de", + "block": "df32424c-55e8-45ed-9adc-3d8bb146e3e0", "port": "inlabel" - } + }, + "size": 4 }, { "source": { - "block": "d8572528-e0db-413c-a4ff-64d8cfee021d", - "port": "outlabel" + "block": "6781108b-d67f-4ee8-97a9-79bab2c400b1", + "port": "637e64f4-0a6b-4037-9a75-89397e078a58", + "size": 4 }, "target": { - "block": "cc581727-73de-451c-849d-eb5e8387f0e4", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" - } + "block": "d5b2605b-a224-4d60-896b-d1553fd943e1", + "port": "inlabel" + }, + "size": 4 }, { "source": { - "block": "5d12a177-7618-4517-9067-3012f7cb42ce", - "port": "outlabel" + "block": "ffcdd533-6cad-4ba4-9f88-4b1030d78af8", + "port": "637e64f4-0a6b-4037-9a75-89397e078a58", + "size": 4 }, "target": { - "block": "3c0a5e86-2068-4aef-8ad9-34d39461ddfe", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" - } + "block": "1c85838b-e269-4a65-a112-0a1bbca9b2a1", + "port": "inlabel" + }, + "size": 4 }, { "source": { - "block": "c1243e04-edbf-4cc6-9d85-f7bf35ac1dae", - "port": "outlabel" + "block": "ffcdd533-6cad-4ba4-9f88-4b1030d78af8", + "port": "eb61d084-ca22-4894-b8a2-f936db38f4b1", + "size": 4 }, "target": { - "block": "c8bd0542-c3ff-484b-80b0-b883c1df77e5", - "port": "c90da543-4b9c-4f4c-a5fa-7e1166ee1dd3" - } - }, + "block": "f3b83846-5723-40b3-a598-fd21797f7ce1", + "port": "inlabel" + }, + "size": 4 + }, { "source": { - "block": "c9e1af2a-6f09-4cf6-a5b3-fdf7ec2c6530", - "port": "out" + "block": "e3beef79-c05d-4705-8dbc-de5b7b94941a", + "port": "outlabel" }, "target": { - "block": "b0e427bd-ce26-43b5-9d61-685f1c1ab922", - "port": "inlabel" - } + "block": "7b82019f-c8a7-4b8c-baa1-6eb224a95cb2", + "port": "d192d0af-e7be-4be6-925a-50227d80784c", + "size": 4 + }, + "size": 4 }, { "source": { - "block": "ba86528a-72e9-40f7-a1e6-c2e684026c24", + "block": "6de2e227-2992-41fb-a52e-16e86632cd2c", "port": "outlabel" }, "target": { - "block": "cc581727-73de-451c-849d-eb5e8387f0e4", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" - } + "block": "7b82019f-c8a7-4b8c-baa1-6eb224a95cb2", + "port": "c2d36218-be99-4dd1-bf69-7690c667255b", + "size": 4 + }, + "size": 4 }, { "source": { - "block": "ba86528a-72e9-40f7-a1e6-c2e684026c24", + "block": "fb36b075-bb31-4aa7-8dbd-f0d108126f21", "port": "outlabel" }, "target": { - "block": "e4164124-c993-47b5-a746-809a3e625f53", - "port": "97b51945-d716-4b6c-9db9-970d08541249" - } + "block": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", + "port": "d192d0af-e7be-4be6-925a-50227d80784c", + "size": 4 + }, + "size": 4 }, { "source": { - "block": "3c0a5e86-2068-4aef-8ad9-34d39461ddfe", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + "block": "d01b9c0c-a541-49e6-b5aa-a0c0f21612a0", + "port": "outlabel" }, "target": { - "block": "2f1050dd-a720-4ede-890e-612ce370ba61", - "port": "inlabel" - } + "block": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", + "port": "c2d36218-be99-4dd1-bf69-7690c667255b", + "size": 4 + }, + "size": 4 }, { "source": { - "block": "20d06e62-fd81-4956-b93c-ade0e616fb98", - "port": "outlabel" + "block": "63477487-9493-4058-a7e1-9bab443ec466", + "port": "out" }, "target": { - "block": "22ff3fa1-943b-4d1a-bd89-36e1c054d077", - "port": "in" - } + "block": "6781108b-d67f-4ee8-97a9-79bab2c400b1", + "port": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e" + }, + "size": 8 }, { "source": { - "block": "cc581727-73de-451c-849d-eb5e8387f0e4", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + "block": "b4b08c4b-8eb1-4cd3-a1bf-a45bf7177ed3", + "port": "out" }, "target": { - "block": "e4164124-c993-47b5-a746-809a3e625f53", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "block": "ffcdd533-6cad-4ba4-9f88-4b1030d78af8", + "port": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e" }, - "vertices": [] + "size": 8 }, { "source": { - "block": "cc581727-73de-451c-849d-eb5e8387f0e4", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + "block": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", + "port": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42" }, "target": { - "block": "3c0a5e86-2068-4aef-8ad9-34d39461ddfe", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + "block": "b8a72421-dc14-4c18-b343-9c3516b37f54", + "port": "a1770adf-e143-4506-9d87-3cb9c870f534" }, - "vertices": [] + "size": 4 }, { "source": { - "block": "c8bd0542-c3ff-484b-80b0-b883c1df77e5", - "port": "cc17ff4d-1c27-4dc3-a14c-da730d54750e" + "block": "7b82019f-c8a7-4b8c-baa1-6eb224a95cb2", + "port": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42" }, "target": { - "block": "3c0a5e86-2068-4aef-8ad9-34d39461ddfe", - "port": "4e3677f4-ae08-4a6f-80a7-ec71cd0c24b7" + "block": "b8a72421-dc14-4c18-b343-9c3516b37f54", + "port": "843164ff-f7d8-48b9-bf59-1e0d1135c81f" }, - "vertices": [] + "size": 4 }, { "source": { - "block": "e4164124-c993-47b5-a746-809a3e625f53", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "b8a72421-dc14-4c18-b343-9c3516b37f54", + "port": "1269698e-e555-4fcb-a613-cb4c7ff2e598" }, "target": { - "block": "c8bd0542-c3ff-484b-80b0-b883c1df77e5", - "port": "743b5299-2d89-4783-b7c9-12a5b36df406" + "block": "dc2d9a2c-9ee9-4985-a678-d88c89fd8b74", + "port": "in" }, - "vertices": [] + "size": 8 }, { "source": { - "block": "c287e056-90e6-46b6-b1fa-5f8abba12518", - "port": "3d584b0a-29eb-47af-8c43-c0822282ef05" + "block": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "c8bd0542-c3ff-484b-80b0-b883c1df77e5", - "port": "26aba23f-8567-4e9b-bd45-c26724030f33" + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" + } + }, + { + "source": { + "block": "7b82019f-c8a7-4b8c-baa1-6eb224a95cb2", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, - "vertices": [] + "target": { + "block": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", + "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" + } } ] } } }, - "93adf61bc489d9a96a344d3f2600237e9e19c607": { + "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a": { "package": { - "name": "Reg-1bit", + "name": "Bus8-Split-half", "version": "0.1", - "description": "1bit register (implemented in verilog)", + "description": "Bus8-Split-half: Split the 8-bits bus into two buses of the same size", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22216.379%22%20height=%22279.911%22%20viewBox=%220%200%2057.25032%2074.059853%22%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M41.506%2040.152l13.608%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M34.122%2032.088L24.89%2012.475l-6.45%203.724-2.07-3.583L37.276.546l2.07%203.584-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.772L33.017%2045.02s-2.849-3.695-2.16-6.795c.687-3.1%203.265-6.137%203.265-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20transform=%22translate(-93.518%20-22.665)%20scale(1.09073)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20cx=%22100.602%22%20cy=%2273.815%22%20r=%2214.559%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/svg%3E" + "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": { "graph": { "blocks": [ { - "id": "3943e194-090b-4553-9df3-88bc4b17abc2", - "type": "basic.input", + "id": "637e64f4-0a6b-4037-9a75-89397e078a58", + "type": "basic.output", "data": { - "name": "", - "clock": true + "name": "1", + "range": "[3:0]", + "size": 4 }, "position": { - "x": 216, + "x": 584, "y": 104 } }, { - "id": "bf2f0c53-2d04-4cba-aa70-2df85502d24f", + "id": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e", "type": "basic.input", "data": { - "name": "d", - "clock": false + "name": "", + "range": "[7:0]", + "clock": false, + "size": 8 }, "position": { - "x": 216, - "y": 192 + "x": 120, + "y": 208 } }, { - "id": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78", + "id": "eb61d084-ca22-4894-b8a2-f936db38f4b1", "type": "basic.output", "data": { - "name": "" - }, - "position": { - "x": 728, - "y": 192 - } - }, - { - "id": "4e3677f4-ae08-4a6f-80a7-ec71cd0c24b7", - "type": "basic.input", - "data": { - "name": "load", - "clock": false - }, - "position": { - "x": 240, - "y": 320 - } - }, - { - "id": "65194b18-5d2a-41b2-bd86-01be99978ad6", - "type": "basic.constant", - "data": { - "name": "", - "value": "0", - "local": false + "name": "0", + "range": "[3:0]", + "size": 4 }, "position": { - "x": 472, - "y": 56 + "x": 584, + "y": 232 } }, { - "id": "bdc170f0-4468-4137-bd79-4624c9cadf2b", + "id": "16e78204-213e-4833-9096-89d735307ec2", "type": "basic.code", "data": { - "code": "reg q = INI;\n\nalways @(posedge clk)\n if (load)\n q <= d;", - "params": [ - { - "name": "INI" - } - ], + "code": "assign o1 = i[7:4];\nassign o0 = i[3:0];", + "params": [], "ports": { "in": [ { - "name": "clk" - }, - { - "name": "d" - }, - { - "name": "load" + "name": "i", + "range": "[7:0]", + "size": 8 } ], "out": [ { - "name": "q" + "name": "o1", + "range": "[3:0]", + "size": 4 + }, + { + "name": "o0", + "range": "[3:0]", + "size": 4 } ] } }, "position": { - "x": 384, - "y": 168 - }, - "size": { - "width": 272, - "height": 104 - } - }, - { - "id": "3df131d9-1f78-4d88-bd06-bcbe95855d01", - "type": "basic.info", - "data": { - "info": "Initial value", - "readonly": true - }, - "position": { - "x": 480, - "y": 48 + "x": 272, + "y": 176 }, "size": { - "width": 136, - "height": 32 + "width": 240, + "height": 120 } } ], "wires": [ { "source": { - "block": "3943e194-090b-4553-9df3-88bc4b17abc2", - "port": "out" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o1" }, "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "clk" - } + "block": "637e64f4-0a6b-4037-9a75-89397e078a58", + "port": "in" + }, + "size": 4 }, { "source": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "q" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o0" }, "target": { - "block": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78", + "block": "eb61d084-ca22-4894-b8a2-f936db38f4b1", "port": "in" - } - }, - { - "source": { - "block": "65194b18-5d2a-41b2-bd86-01be99978ad6", - "port": "constant-out" }, - "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "INI" - } + "size": 4 }, { "source": { - "block": "bf2f0c53-2d04-4cba-aa70-2df85502d24f", + "block": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e", "port": "out" }, "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "d" - } - }, - { - "source": { - "block": "4e3677f4-ae08-4a6f-80a7-ec71cd0c24b7", - "port": "out" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i" }, - "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "load" - } + "size": 8 } ] } } }, - "8d4ef5a2cf273f2265401931a99a46e9dc224688": { + "25966b9480fc28011aea0e17452c30d5ff9d76e8": { "package": { - "name": "Contador-16bits-up-rst", + "name": "Adder-4bits", "version": "0.1", - "description": "Contador módulo M, ascendente, de 16 bits, con reset ", + "description": "Adder-4bits: Adder of two operands of 4 bits", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22327.118%22%20height=%22304.435%22%20viewBox=%220%200%2086.549973%2080.548402%22%3E%3Cdefs%3E%3Cmarker%20id=%22a%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20fill=%22#00f%22%20fill-rule=%22evenodd%22%20stroke=%22#00f%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3C/defs%3E%3Cg%20transform=%22translate(-59.162%20-4.54)%22%3E%3Cpath%20d=%22M138.803%2048.49V16.91%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%222.806%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20marker-end=%22url(#a)%22/%3E%3Crect%20rx=%222.807%22%20ry=%222.807%22%20y=%225.289%22%20x=%2299.747%22%20height=%2247.849%22%20width=%2229.538%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%221.497%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%2240.921%22%20x=%22108.575%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%228.982%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%221.497%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2240.921%22%20x=%22108.575%22%20font-weight=%22700%22%20font-size=%2235.656%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M100.868%2030.283h27.764%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%222.245%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20rx=%222.807%22%20ry=%222.807%22%20y=%225.289%22%20x=%2266.333%22%20height=%2247.849%22%20width=%2229.538%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%221.497%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%2240.921%22%20x=%2273.223%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%228.982%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%221.497%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2240.921%22%20x=%2273.223%22%20font-weight=%22700%22%20font-size=%2235.656%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M67.454%2030.283h27.764%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%222.245%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22matrix(1.00937%200%200%201.00937%20-27.38%20-4.42)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(1.00937%200%200%201.00937%2028.939%20-4.42)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E" + "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618560481898 }, "design": { "graph": { "blocks": [ { - "id": "c90da543-4b9c-4f4c-a5fa-7e1166ee1dd3", - "type": "basic.input", + "id": "1c9b3962-5793-4e6f-98d4-9ca2113d0823", + "type": "basic.inputLabel", "data": { - "name": "", - "clock": true + "blockColor": "deeppink", + "name": "a3", + "pins": [ + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true, + "oldBlockColor": "deeppink" }, "position": { - "x": 264, - "y": 176 + "x": 8, + "y": -744 + } + }, + { + "id": "161a3e27-de9b-4674-b990-c1e8314a29f3", + "type": "basic.outputLabel", + "data": { + "blockColor": "deeppink", + "name": "a3", + "oldBlockColor": "deeppink" + }, + "position": { + "x": 576, + "y": -736 } }, { - "id": "bc20f3e9-fdc2-457f-9c07-6d609142c689", + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", "type": "basic.output", "data": { - "name": "", - "range": "[15:0]", - "size": 16 + "name": "c" }, "position": { - "x": 800, - "y": 200 + "x": 920, + "y": -696 } }, { - "id": "743b5299-2d89-4783-b7c9-12a5b36df406", - "type": "basic.input", + "id": "73a0a48e-d345-4eda-8603-782e9865d928", + "type": "basic.inputLabel", "data": { - "name": "rst", - "clock": false + "blockColor": "deeppink", + "name": "a2", + "pins": [ + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true, + "oldBlockColor": "deeppink" }, "position": { - "x": 264, - "y": 280 + "x": 8, + "y": -688 } }, { - "id": "cc17ff4d-1c27-4dc3-a14c-da730d54750e", - "type": "basic.output", + "id": "05fb13c5-879a-422f-84a8-56d1db8816da", + "type": "basic.outputLabel", "data": { - "name": "ov" + "blockColor": "fuchsia", + "name": "b3", + "oldBlockColor": "fuchsia" }, "position": { - "x": 800, - "y": 352 + "x": 576, + "y": -672 } }, { - "id": "26aba23f-8567-4e9b-bd45-c26724030f33", - "type": "basic.input", + "id": "a30f87da-7077-4ad6-92dd-adbfdd1bed45", + "type": "basic.inputLabel", "data": { - "name": "cnt", - "clock": false + "blockColor": "deeppink", + "name": "a1", + "pins": [ + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true, + "oldBlockColor": "deeppink" }, "position": { - "x": 264, - "y": 376 + "x": 8, + "y": -632 } }, { - "id": "eb9f9c33-e717-43f0-98eb-dbd9c278fa8c", - "type": "basic.constant", + "id": "c2d36218-be99-4dd1-bf69-7690c667255b", + "type": "basic.input", "data": { "name": "", - "value": "'h10000", - "local": false + "range": "[3:0]", + "clock": false, + "size": 4 }, "position": { - "x": 528, - "y": 48 + "x": -312, + "y": -632 } }, { - "id": "b35ae5de-a490-4f7b-9200-ac52cd3f333e", - "type": "basic.info", + "id": "ed7a30bc-17fc-444e-89e5-aa9f83b32e86", + "type": "basic.outputLabel", "data": { - "info": "**Parámetro**: Módulo del contador", - "readonly": true + "blockColor": "deeppink", + "name": "a2", + "oldBlockColor": "deeppink" }, "position": { - "x": 472, - "y": 32 - }, - "size": { - "width": 280, - "height": 56 + "x": 456, + "y": -584 } }, { - "id": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", - "type": "basic.code", + "id": "d7d5e8c8-78dd-41a8-aedf-1051b89bfb77", + "type": "basic.inputLabel", "data": { - "code": "//-- Numero de bits del contador\nlocalparam N = 16; \n\n//-- En contadores de N bits:\n//-- M = 2 ** N\n\n//-- Internamente usamos un bit mas\n//-- (N+1) bits\nreg [N:0] qi = 0;\n\nalways @(posedge clk)\n if (rst | ov)\n qi <= 0;\n else\n if (cnt)\n qi <= qi + 1;\n \nassign q = qi;\n\n//-- Comprobar overflow\nassign ov = (qi == M);\n ", - "params": [ + "blockColor": "deeppink", + "name": "a0", + "pins": [ { - "name": "M" + "index": "0", + "name": "NULL", + "value": "NULL" } ], - "ports": { - "in": [ - { - "name": "clk" - }, - { - "name": "rst" - }, - { - "name": "cnt" - } - ], - "out": [ - { - "name": "q", - "range": "[15:0]", - "size": 16 - }, - { - "name": "ov" - } - ] - } + "virtual": true, + "oldBlockColor": "fuchsia" }, "position": { - "x": 408, - "y": 160 - }, - "size": { - "width": 336, - "height": 296 + "x": 8, + "y": -576 } - } - ], - "wires": [ + }, { - "source": { - "block": "743b5299-2d89-4783-b7c9-12a5b36df406", - "port": "out" + "id": "3c8597e6-ca79-494a-9a53-04c284205216", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "b2", + "oldBlockColor": "fuchsia" }, - "target": { - "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", - "port": "rst" + "position": { + "x": 456, + "y": -528 } }, { - "source": { - "block": "eb9f9c33-e717-43f0-98eb-dbd9c278fa8c", - "port": "constant-out" + "id": "ee992ca6-d586-4901-aaa3-a17d94ddac84", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "b3", + "pins": [ + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia" }, - "target": { - "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", - "port": "M" + "position": { + "x": -8, + "y": -448 } }, { - "source": { - "block": "26aba23f-8567-4e9b-bd45-c26724030f33", - "port": "out" + "id": "c5dce3e4-5ecc-4fc9-bbf6-7c1adfa1c7ff", + "type": "basic.outputLabel", + "data": { + "blockColor": "deeppink", + "name": "a1", + "oldBlockColor": "fuchsia" }, - "target": { - "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", - "port": "cnt" + "position": { + "x": 328, + "y": -440 } }, { - "source": { - "block": "c90da543-4b9c-4f4c-a5fa-7e1166ee1dd3", - "port": "out" + "id": "fb8bbeb1-5c60-4629-bc13-231545818d0b", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "b2", + "pins": [ + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia" }, - "target": { - "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", - "port": "clk" + "position": { + "x": -8, + "y": -384 } }, { - "source": { - "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", - "port": "ov" + "id": "d192d0af-e7be-4be6-925a-50227d80784c", + "type": "basic.input", + "data": { + "name": "", + "range": "[3:0]", + "clock": false, + "size": 4 }, - "target": { - "block": "cc17ff4d-1c27-4dc3-a14c-da730d54750e", - "port": "in" + "position": { + "x": -312, + "y": -384 } }, { - "source": { - "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", - "port": "q" + "id": "038a8cb8-35b8-424a-9d14-c320cfcddccf", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "b1" }, - "target": { - "block": "bc20f3e9-fdc2-457f-9c07-6d609142c689", - "port": "in" - }, - "size": 16 - } - ] - } - } - }, - "725b7e2cb9666b5ed3183537d9c898f096dab82a": { - "package": { - "name": "1", - "version": "0.1", - "description": "Un bit constante a 1", - "author": "Jesus Arroyo", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2233.632%22%20height=%2269.34%22%20viewBox=%220%200%2031.530464%2065.006656%22%3E%3Cpath%20d=%22M3.517%2012.015L19%200l12.53%202.863-10.012%2043.262-9.746-2.227%207.7-34.532L8.03%2016.38z%22%20fill=%22green%22%20fill-rule=%22evenodd%22/%3E%3Cpath%20d=%22M17.593%2043.464l7.822%2010.472-6.56%207.919%202.27%202.043m-5.14-20.179l-4.542%2010.473-10.345%202.043.757%203.32%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%222.196%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ + "position": { + "x": 328, + "y": -376 + } + }, { - "id": "3d584b0a-29eb-47af-8c43-c0822282ef05", + "id": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42", "type": "basic.output", "data": { - "name": "" + "name": "s", + "range": "[3:0]", + "size": 4 }, "position": { - "x": 512, - "y": 160 + "x": 1064, + "y": -368 } }, { - "id": "61331ec5-2c56-4cdd-b607-e63b1502fa65", - "type": "basic.code", + "id": "527c9113-e440-454b-b427-182b646c10f5", + "type": "basic.inputLabel", "data": { - "code": "//-- Bit constante a 1\nassign q = 1'b1;\n\n", - "params": [], - "ports": { - "in": [], - "out": [ - { - "name": "q" - } - ] - } + "blockColor": "fuchsia", + "name": "b1", + "pins": [ + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true }, "position": { - "x": 168, - "y": 112 - }, - "size": { - "width": 256, - "height": 160 - } - } - ], - "wires": [ - { - "source": { - "block": "61331ec5-2c56-4cdd-b607-e63b1502fa65", - "port": "q" - }, - "target": { - "block": "3d584b0a-29eb-47af-8c43-c0822282ef05", - "port": "in" + "x": -16, + "y": -320 } - } - ] - } - } - }, - "c8ffff0c6db83755c69d6633413f8122e52a420c": { - "package": { - "name": "Rising-edge-detector", - "version": "0.1", - "description": "Rising-edge detector. It generates a 1-period pulse (tic) when a rising edge is detected on the input", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22185.363%22%20height=%22183.398%22%20viewBox=%220%200%2049.043981%2048.524089%22%3E%3Cg%20stroke-linecap=%22round%22%3E%3Cg%20fill=%22none%22%20stroke=%22#00f%22%3E%3Cpath%20d=%22M13.478%2032.434l6.026%207.975-5.054%206.03%201.749%201.556m-3.96-15.367l-3.5%207.976-7.97%201.555.583%202.529%22%20stroke-width=%221.058%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M12.773%2032.628V2.686%22%20stroke-width=%223.969%22/%3E%3Cpath%20d=%22M1.984%2012.436L12.673%201.984l10.35%2010.452%22%20stroke-width=%223.969%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(.842%200%200%20.842%20-48.178%20-26.157)%22%20stroke=%22green%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ + }, { - "id": "2708468d-1088-4570-be63-fb0d4799a941", - "type": "basic.input", + "id": "f8dceaf6-6020-49e5-b775-ed4821fbd5bd", + "type": "basic.outputLabel", "data": { - "name": "", - "clock": true + "blockColor": "deeppink", + "name": "a0", + "oldBlockColor": "fuchsia" }, "position": { - "x": 152, - "y": 152 + "x": 184, + "y": -296 } }, { - "id": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", - "type": "basic.input", + "id": "b652825e-10ba-47cc-9832-e39d73586234", + "type": "basic.inputLabel", "data": { - "name": "", - "clock": false + "blockColor": "fuchsia", + "name": "b0", + "pins": [ + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia" }, "position": { - "x": 152, - "y": 280 + "x": -32, + "y": -264 } }, { - "id": "1c25e08e-e664-4fab-9b30-cedc1f8a3739", - "type": "basic.output", + "id": "7e5351cc-ea73-4bb2-9dda-0390f005b90b", + "type": "basic.outputLabel", "data": { - "name": "" + "blockColor": "fuchsia", + "name": "b0", + "oldBlockColor": "fuchsia" }, "position": { - "x": 840, - "y": 400 + "x": 184, + "y": -232 } }, { - "id": "71397c49-5476-4a34-a914-7ec7f07fbf10", - "type": "1c7dae7144d376f2ee4896fcc502a29110e2db37", + "id": "e7d0a130-cf6b-4220-a06f-42543db0214f", + "type": "1ea21df64c18f01d8f4b905c437ccf0ca332baf6", "position": { "x": 320, - "y": 264 + "y": -248 }, "size": { "width": 96, @@ -3317,538 +3524,511 @@ } }, { - "id": "dd46675b-cc63-4048-8a37-c684913c3514", - "type": "35f267d0df6ffcb7fc33753bc9df9cf083642cca", + "id": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", "position": { - "x": 552, - "y": 264 + "x": 464, + "y": -392 }, "size": { "width": 96, - "height": 64 + "height": 96 } }, { - "id": "5b898222-8c0c-4e10-8a92-2b8734c87693", - "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", + "id": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", "position": { - "x": 696, - "y": 400 + "x": 608, + "y": -544 }, "size": { "width": 96, - "height": 64 + "height": 96 } }, { - "id": "49c0a94e-2687-4aa4-8cba-327b2942095f", - "type": "basic.info", - "data": { - "info": "## Rising edge detector\n\nIt generates a 1-period pulse (tic) when a rising edge is detected on the \ninput signal", - "readonly": true - }, + "id": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "type": "c4f23ad05c2010ec9bd213c8814c9238873037ae", "position": { - "x": 176, - "y": -16 + "x": -168, + "y": -416 }, "size": { - "width": 568, - "height": 80 + "width": 96, + "height": 128 } }, { - "id": "a6ea5e17-d259-4272-8d1c-87a6a7fe3235", - "type": "basic.info", - "data": { - "info": "Input signal", - "readonly": true - }, + "id": "57e59301-2919-4f06-ba95-54ce5d99d774", + "type": "c4f23ad05c2010ec9bd213c8814c9238873037ae", "position": { - "x": 160, - "y": 256 + "x": -152, + "y": -664 }, "size": { - "width": 136, - "height": 40 + "width": 96, + "height": 128 } }, { - "id": "d0d6c668-3c03-42f5-9244-9a0431f11a87", - "type": "basic.info", - "data": { - "info": "System clock", - "readonly": true - }, + "id": "11342001-e6e0-443b-af87-0e5d7ada0227", + "type": "84f0a15761ee8b753f67079819a7614923939472", "position": { - "x": 168, - "y": 120 + "x": 896, + "y": -400 }, "size": { "width": 96, - "height": 48 + "height": 128 } }, { - "id": "f18011f4-eb45-4f91-9716-c1d8c99f1845", - "type": "basic.info", - "data": { - "info": "Current signal \nstate", - "readonly": true - }, + "id": "72c87c65-b34b-480f-8cde-cd97c0914014", + "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", "position": { - "x": 328, - "y": 456 + "x": 744, + "y": -688 }, "size": { - "width": 168, - "height": 48 + "width": 96, + "height": 96 } - }, + } + ], + "wires": [ { - "id": "ab801839-c115-4e44-adb7-349586890b97", - "type": "basic.info", - "data": { - "info": "Signal state in the previous \nclock cycle", - "readonly": true - }, - "position": { - "x": 328, - "y": 200 + "source": { + "block": "038a8cb8-35b8-424a-9d14-c320cfcddccf", + "port": "outlabel" }, - "size": { - "width": 248, - "height": 48 + "target": { + "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" } }, { - "id": "fde5c436-d382-48e7-80b5-390c05f46b9d", - "type": "basic.info", - "data": { - "info": "If the current signal is 1 and its value in \nthe previous clock cycle was 0, it means \nthat a rising edge has been detected! \nThe output es 1\n\nIn any other case the output is 0", - "readonly": true - }, - "position": { - "x": 728, - "y": 256 + "source": { + "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "port": "f5a71d7b-de20-4527-80c8-0eb20de0dc77" }, - "size": { - "width": 344, - "height": 96 + "target": { + "block": "527c9113-e440-454b-b427-182b646c10f5", + "port": "inlabel" } }, { - "id": "c3990bfd-57a6-4602-ab46-800486326dd6", - "type": "basic.info", - "data": { - "info": "**Delay**: 0 clock cycles \n\nThere is no delay between the arrival of a rising edge \nand its detection", - "readonly": true - }, - "position": { - "x": 528, - "y": 504 + "source": { + "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "port": "0f7487e5-b070-4277-bba6-acf69934afca" }, - "size": { - "width": 416, - "height": 88 + "target": { + "block": "b652825e-10ba-47cc-9832-e39d73586234", + "port": "inlabel" } - } - ], - "wires": [ + }, { "source": { - "block": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", - "port": "out" + "block": "7e5351cc-ea73-4bb2-9dda-0390f005b90b", + "port": "outlabel" }, "target": { - "block": "71397c49-5476-4a34-a914-7ec7f07fbf10", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + "block": "e7d0a130-cf6b-4220-a06f-42543db0214f", + "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" } }, { "source": { - "block": "2708468d-1088-4570-be63-fb0d4799a941", - "port": "out" + "block": "f8dceaf6-6020-49e5-b775-ed4821fbd5bd", + "port": "outlabel" }, "target": { - "block": "71397c49-5476-4a34-a914-7ec7f07fbf10", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + "block": "e7d0a130-cf6b-4220-a06f-42543db0214f", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" } }, { "source": { - "block": "71397c49-5476-4a34-a914-7ec7f07fbf10", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + "block": "57e59301-2919-4f06-ba95-54ce5d99d774", + "port": "0f7487e5-b070-4277-bba6-acf69934afca" }, "target": { - "block": "dd46675b-cc63-4048-8a37-c684913c3514", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "block": "d7d5e8c8-78dd-41a8-aedf-1051b89bfb77", + "port": "inlabel" } }, { "source": { - "block": "dd46675b-cc63-4048-8a37-c684913c3514", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "c5dce3e4-5ecc-4fc9-bbf6-7c1adfa1c7ff", + "port": "outlabel" }, "target": { - "block": "5b898222-8c0c-4e10-8a92-2b8734c87693", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" } }, { "source": { - "block": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", - "port": "out" + "block": "57e59301-2919-4f06-ba95-54ce5d99d774", + "port": "f5a71d7b-de20-4527-80c8-0eb20de0dc77" }, "target": { - "block": "5b898222-8c0c-4e10-8a92-2b8734c87693", - "port": "97b51945-d716-4b6c-9db9-970d08541249" + "block": "a30f87da-7077-4ad6-92dd-adbfdd1bed45", + "port": "inlabel" } }, { "source": { - "block": "5b898222-8c0c-4e10-8a92-2b8734c87693", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "port": "33072210-9ba0-4659-8339-95952b939e6e" }, "target": { - "block": "1c25e08e-e664-4fab-9b30-cedc1f8a3739", - "port": "in" + "block": "fb8bbeb1-5c60-4629-bc13-231545818d0b", + "port": "inlabel" } - } - ] - } - } - }, - "1c7dae7144d376f2ee4896fcc502a29110e2db37": { - "package": { - "name": "DFF", - "version": "0.1", - "description": "D Flip-flop", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22156.57%22%20height=%22216.83%22%20viewBox=%220%200%2041.425941%2057.369679%22%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M25.682%2040.152L39.29%2056.824%2032.372%2036.29%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M18.298%2032.088L9.066%2012.475l-6.45%203.724-2.07-3.583L21.451.546%2023.52%204.13l-6.092%203.517%2012.03%2018.223s5.399-2.025%208.535.74c3.137%202.766%202.52%204.92%202.887%204.772L17.192%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ + }, { - "id": "3943e194-090b-4553-9df3-88bc4b17abc2", - "type": "basic.input", - "data": { - "name": "", - "clock": true + "source": { + "block": "57e59301-2919-4f06-ba95-54ce5d99d774", + "port": "33072210-9ba0-4659-8339-95952b939e6e" }, - "position": { - "x": 192, - "y": 136 + "target": { + "block": "73a0a48e-d345-4eda-8603-782e9865d928", + "port": "inlabel" } }, { - "id": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78", - "type": "basic.output", - "data": { - "name": "" + "source": { + "block": "3c8597e6-ca79-494a-9a53-04c284205216", + "port": "outlabel" }, - "position": { - "x": 680, - "y": 184 + "target": { + "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" } }, { - "id": "bf2f0c53-2d04-4cba-aa70-2df85502d24f", - "type": "basic.input", - "data": { - "name": "", - "clock": false + "source": { + "block": "ed7a30bc-17fc-444e-89e5-aa9f83b32e86", + "port": "outlabel" }, - "position": { - "x": 192, - "y": 232 + "target": { + "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" } }, { - "id": "65194b18-5d2a-41b2-bd86-01be99978ad6", - "type": "basic.constant", - "data": { - "name": "", - "value": "0", - "local": false + "source": { + "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "port": "bbe1895b-be8b-4237-b0d1-ae592e3e6208" }, - "position": { - "x": 456, - "y": 64 + "target": { + "block": "ee992ca6-d586-4901-aaa3-a17d94ddac84", + "port": "inlabel" } }, { - "id": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "type": "basic.code", - "data": { - "code": "reg q = INI;\nalways @(posedge clk)\n q <= d;", - "params": [ - { - "name": "INI" - } - ], - "ports": { - "in": [ - { - "name": "clk" - }, - { - "name": "d" - } - ], - "out": [ - { - "name": "q" - } - ] - } + "source": { + "block": "57e59301-2919-4f06-ba95-54ce5d99d774", + "port": "bbe1895b-be8b-4237-b0d1-ae592e3e6208" }, - "position": { - "x": 384, - "y": 168 + "target": { + "block": "1c9b3962-5793-4e6f-98d4-9ca2113d0823", + "port": "inlabel" }, - "size": { - "width": 232, - "height": 88 - } - } - ], - "wires": [ + "vertices": [ + { + "x": -24, + "y": -696 + } + ] + }, { "source": { - "block": "3943e194-090b-4553-9df3-88bc4b17abc2", - "port": "out" + "block": "05fb13c5-879a-422f-84a8-56d1db8816da", + "port": "outlabel" }, "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "clk" + "block": "72c87c65-b34b-480f-8cde-cd97c0914014", + "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" } }, { "source": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "q" + "block": "161a3e27-de9b-4674-b990-c1e8314a29f3", + "port": "outlabel" }, "target": { - "block": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78", - "port": "in" + "block": "72c87c65-b34b-480f-8cde-cd97c0914014", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" } }, { "source": { - "block": "65194b18-5d2a-41b2-bd86-01be99978ad6", - "port": "constant-out" + "block": "e7d0a130-cf6b-4220-a06f-42543db0214f", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "INI" + "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "port": "5e915366-608a-431a-bf68-8c64fb4c302c" } }, { "source": { - "block": "bf2f0c53-2d04-4cba-aa70-2df85502d24f", - "port": "out" + "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "port": "c7d2d573-b901-420e-a923-6832e5b18e34" }, "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "d" - } - } - ] - } - } - }, - "35f267d0df6ffcb7fc33753bc9df9cf083642cca": { - "package": { - "name": "NOT", - "version": "1.0.3", - "description": "Puerta NOT", - "author": "Jesús Arroyo, Juan González", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22317.651%22%20height=%22194.058%22%20version=%221%22%3E%3Cpath%20d=%22M69.246%204l161.86%2093.027-161.86%2093.031V4z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20cx=%22253.352%22%20cy=%2296.736%22%20rx=%2221.393%22%20ry=%2221.893%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2097.49h65.262m205.796%200h38.48%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%2281.112%22%20y=%22111.734%22%20transform=%22scale(.99532%201.0047)%22%20font-weight=%22400%22%20font-size=%2249.675%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%2281.112%22%20y=%22111.734%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%3ENot%3C/tspan%3E%3C/text%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "18c2ebc7-5152-439c-9b3f-851c59bac834", - "type": "basic.input", - "data": { - "name": "" - }, - "position": { - "x": 64, - "y": 144 + "block": "11342001-e6e0-443b-af87-0e5d7ada0227", + "port": "969e11ca-69e8-403b-a566-7bf2fbe3a5a8" } }, { - "id": "664caf9e-5f40-4df4-800a-b626af702e62", - "type": "basic.output", - "data": { - "name": "" + "source": { + "block": "e7d0a130-cf6b-4220-a06f-42543db0214f", + "port": "c7d2d573-b901-420e-a923-6832e5b18e34" }, - "position": { - "x": 752, - "y": 144 + "target": { + "block": "11342001-e6e0-443b-af87-0e5d7ada0227", + "port": "e4111201-8441-4e7d-bcd2-bcf9d265d043" } }, { - "id": "5365ed8c-e5db-4445-938f-8d689830ea5c", - "type": "basic.code", - "data": { - "code": "//-- Puerta NOT\n\n//-- module (input wire a, output wire c);\n\n\nassign c = ~a;\n\n\n//-- endmodule\n", - "params": [], - "ports": { - "in": [ - { - "name": "a" - } - ], - "out": [ - { - "name": "c" - } - ] + "source": { + "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + }, + "target": { + "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "port": "5e915366-608a-431a-bf68-8c64fb4c302c" + } + }, + { + "source": { + "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "port": "c7d2d573-b901-420e-a923-6832e5b18e34" + }, + "target": { + "block": "11342001-e6e0-443b-af87-0e5d7ada0227", + "port": "346b4ae4-4bb6-4845-9c17-3b25e0dde718" + }, + "vertices": [ + { + "x": 824, + "y": -424 } + ] + }, + { + "source": { + "block": "d192d0af-e7be-4be6-925a-50227d80784c", + "port": "out" }, - "position": { - "x": 256, - "y": 48 + "target": { + "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "port": "0ebd46a4-769b-45e6-bcaf-e3796264aed3" }, - "size": { - "width": 400, - "height": 256 - } - } - ], - "wires": [ + "size": 4 + }, { "source": { - "block": "18c2ebc7-5152-439c-9b3f-851c59bac834", + "block": "c2d36218-be99-4dd1-bf69-7690c667255b", "port": "out" }, "target": { - "block": "5365ed8c-e5db-4445-938f-8d689830ea5c", - "port": "a" - } + "block": "57e59301-2919-4f06-ba95-54ce5d99d774", + "port": "0ebd46a4-769b-45e6-bcaf-e3796264aed3" + }, + "size": 4 }, { "source": { - "block": "5365ed8c-e5db-4445-938f-8d689830ea5c", - "port": "c" + "block": "11342001-e6e0-443b-af87-0e5d7ada0227", + "port": "55180947-6349-4a04-a151-ad69ea2b155e" }, "target": { - "block": "664caf9e-5f40-4df4-800a-b626af702e62", + "block": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42", + "port": "in" + }, + "size": 4 + }, + { + "source": { + "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + }, + "target": { + "block": "72c87c65-b34b-480f-8cde-cd97c0914014", + "port": "5e915366-608a-431a-bf68-8c64fb4c302c" + }, + "vertices": [ + { + "x": 728, + "y": -552 + } + ] + }, + { + "source": { + "block": "72c87c65-b34b-480f-8cde-cd97c0914014", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + }, + "target": { + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", "port": "in" } + }, + { + "source": { + "block": "72c87c65-b34b-480f-8cde-cd97c0914014", + "port": "c7d2d573-b901-420e-a923-6832e5b18e34" + }, + "target": { + "block": "11342001-e6e0-443b-af87-0e5d7ada0227", + "port": "6c2aa548-5a4c-4e8d-a56c-a70926b19f18" + } } ] } } }, - "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6": { + "1ea21df64c18f01d8f4b905c437ccf0ca332baf6": { "package": { - "name": "AND", - "version": "1.0.1", - "description": "Puerta AND", - "author": "Jesús Arroyo, Juan González", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22336.09%22%20height=%22194.045%22%20version=%221%22%3E%3Cpath%20d=%22M174.656%20190.045H78.304V4h96.352s87.463%208.625%2087.463%2091.94c0%2083.311-87.463%2094.105-87.463%2094.105z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2045.668h74.018M4.057%20144.812h74.018m184.632-50.034h69.326%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%2292.894%22%20y=%22114.587%22%20font-weight=%22400%22%20font-size=%2258.054%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%2292.894%22%20y=%22114.587%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%3EAND%3C/tspan%3E%3C/text%3E%3C/svg%3E" + "name": "Adder-1bit", + "version": "0.1", + "description": "Adder-1bit: Adder of two operands of 1 bit", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618560481898 }, "design": { "graph": { "blocks": [ { - "id": "18c2ebc7-5152-439c-9b3f-851c59bac834", + "id": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", "type": "basic.input", "data": { - "name": "" + "name": "", + "clock": false }, "position": { - "x": 64, - "y": 88 + "x": 280, + "y": -224 } }, { - "id": "664caf9e-5f40-4df4-800a-b626af702e62", + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", "type": "basic.output", "data": { - "name": "" + "name": "c" }, "position": { - "x": 784, - "y": 152 + "x": 616, + "y": -176 } }, { - "id": "97b51945-d716-4b6c-9db9-970d08541249", + "id": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba", "type": "basic.input", "data": { - "name": "" + "name": "", + "clock": false }, "position": { - "x": 64, - "y": 224 + "x": 280, + "y": -152 } }, { - "id": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "type": "basic.code", + "id": "c7d2d573-b901-420e-a923-6832e5b18e34", + "type": "basic.output", "data": { - "code": "//-- Puerta AND\n\n//-- module and (input wire a, input wire b,\n//-- output wire c);\n\nassign c = a & b;\n\n//-- endmodule", - "params": [], - "ports": { - "in": [ - { - "name": "a" - }, - { - "name": "b" - } - ], - "out": [ - { - "name": "c" - } - ] - } + "name": "s" }, "position": { - "x": 256, - "y": 48 + "x": 616, + "y": -96 + } + }, + { + "id": "0ef44beb-f4b1-484c-b15a-dc4431241aee", + "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", + "position": { + "x": 456, + "y": -168 }, "size": { - "width": 464, - "height": 272 + "width": 96, + "height": 96 + } + }, + { + "id": "e80cc244-1751-4524-9f77-734a36b24a88", + "type": "d30ca9ee4f35f6cb76d5e5701447fc2b739bc640", + "position": { + "x": 304, + "y": -64 + }, + "size": { + "width": 96, + "height": 64 } } ], "wires": [ { "source": { - "block": "18c2ebc7-5152-439c-9b3f-851c59bac834", + "block": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba", "port": "out" }, "target": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "a" + "block": "0ef44beb-f4b1-484c-b15a-dc4431241aee", + "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" } }, { "source": { - "block": "97b51945-d716-4b6c-9db9-970d08541249", + "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", "port": "out" }, "target": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "b" + "block": "0ef44beb-f4b1-484c-b15a-dc4431241aee", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + }, + "vertices": [ + { + "x": 400, + "y": -168 + } + ] + }, + { + "source": { + "block": "e80cc244-1751-4524-9f77-734a36b24a88", + "port": "3d584b0a-29eb-47af-8c43-c0822282ef05" + }, + "target": { + "block": "0ef44beb-f4b1-484c-b15a-dc4431241aee", + "port": "5e915366-608a-431a-bf68-8c64fb4c302c" } }, { "source": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "c" + "block": "0ef44beb-f4b1-484c-b15a-dc4431241aee", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "664caf9e-5f40-4df4-800a-b626af702e62", + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" + } + }, + { + "source": { + "block": "0ef44beb-f4b1-484c-b15a-dc4431241aee", + "port": "c7d2d573-b901-420e-a923-6832e5b18e34" + }, + "target": { + "block": "c7d2d573-b901-420e-a923-6832e5b18e34", "port": "in" } } @@ -3856,105 +4036,103 @@ } } }, - "4c1570e58dc7efecf440f8a4ff7d1dda4250ef0c": { + "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a": { "package": { - "name": "RS-FF-set", + "name": "AdderC-1bit", "version": "0.1", - "description": "RS-FF-set. RS Flip-flop with priority set", + "description": "AdderC-1bit: Adder of two operands of 1 bit plus the carry in", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20312.54461%20289.77628%22%20id=%22svg30%22%20width=%22312.545%22%20height=%22289.776%22%3E%3Cdefs%20id=%22defs34%22%3E%3Cmarker%20id=%22TriangleOutM%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20id=%22path988%22%20fill=%22#00f%22%20fill-rule=%22evenodd%22%20stroke=%22#00f%22%20stroke-width=%22.4pt%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow2Mend%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20id=%22path870%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3C/defs%3E%3Cstyle%20id=%22style2%22%3E.st0%7Bdisplay:none%7D.st1%7Bfill:none;stroke:#303030;stroke-width:.7;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10%7D.st2%7Bfill:#303030%7D%3C/style%3E%3Cg%20id=%22layer1%22%20transform=%22translate(81.543%203.027)%22%3E%3Cpath%20class=%22st1%22%20d=%22M48.702%2092.116a64.784%2064.784%200%200%200-12.559%2011.68%2064.99%2064.99%200%200%200-12.69%2024.809%22%20id=%22path11%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20id=%22line17%22%20class=%22st1%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22%20d=%22M184.865%20207.591L41.298%20262.802%22/%3E%3Cpath%20id=%22path21-3%22%20d=%22M185.448%20175.07l.37.154c2.52.831%204.718%202.386%206.634%204.249%202.02%202.322%203.694%204.777%204.423%208.713%201.496%208.074-3.286%2016.05-10.95%2018.997l-1.06.408L41.298%20262.8l-.733.283c-8.003%203.077-17.551.461-21.82-6.975-3.3-5.748-2.736-12.198.418-21.613%203.155-9.414%202.86-21.856-1.644-33.55l.041.003-12.507-32.667c-12.88-33.415-.747-70.376%2027.41-90.31l-1.102-2.749c-3.685-9.583%201.14-20.438%2010.723-24.124%209.583-3.685%2020.439%201.14%2024.124%2010.723l1.654%203.239c34.881-3.556%2068.594%2015.855%2081.318%2049.33l15.24%2038.432c4.795%208.723%2011.831%2015.955%2021.028%2022.248z%22%20fill=%22#fff%22%20stroke=%22#303030%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20d=%22M64.268%20268.838l45.015-17.115s7.963%2024.296-14.427%2030.38c-22.39%206.086-30.588-13.265-30.588-13.265z%22%20id=%22path826%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3Cg%20id=%22layer3%22%20transform=%22translate(78.072%20-.17)%22%3E%3Crect%20id=%22rect845%22%20width=%22135.189%22%20height=%22135.189%22%20x=%2295.783%22%20y=%223.671%22%20ry=%2219.847%22%20fill=%22#55acee%22%20stroke=%22#303030%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3C/g%3E%3Cg%20id=%22layer4%22%20transform=%22translate(78.072%20-.17)%22%3E%3Cellipse%20id=%22path1211%22%20cx=%22-39.888%22%20cy=%22125.645%22%20rx=%2235.684%22%20ry=%2237.984%22%20fill=%22#fff6d5%22%20stroke=%22#000%22%20stroke-width=%225%22%20stroke-linecap=%22round%22/%3E%3Cpath%20class=%22st2%22%20d=%22M172.724%2052.533V27.647h-9.888L144.047%2037.7l2.308%208.9%2014.833-8.076h.33v74.824H172.724V52.533z%22%20id=%22path7%22%20fill=%22#303030%22%20stroke-width=%2214.425%22/%3E%3Cpath%20d=%22M-38.915%20152.276v-39.72%22%20id=%22path841%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%225%22%20marker-end=%22url(#TriangleOutM)%22/%3E%3C/g%3E%3C/svg%3E", - "otid": 1621864223514 + "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618560481898 }, "design": { "graph": { "blocks": [ { - "id": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", - "type": "basic.input", + "id": "b28215b2-e375-43cd-96b4-ed5b60418dc6", + "type": "basic.outputLabel", "data": { - "name": "", - "clock": true - }, + "blockColor": "fuchsia", + "name": "a" + }, "position": { - "x": 216, - "y": -40 + "x": 504, + "y": -208 } }, { - "id": "0a772657-8018-424d-8f04-75d3ffff3692", + "id": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", + "type": "basic.input", + "data": { + "name": "a", + "clock": false + }, + "position": { + "x": 136, + "y": -192 + } + }, + { + "id": "f2c3e9af-37a6-4815-9413-c437d2471b1f", "type": "basic.inputLabel", "data": { - "blockColor": "yellow", - "name": "clk", + "blockColor": "fuchsia", + "name": "a", "pins": [ { "index": "0", - "name": "", - "value": "" + "name": "NULL", + "value": "NULL" } ], "virtual": true }, "position": { - "x": 368, - "y": -40 + "x": 272, + "y": -192 } }, { "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", "type": "basic.output", "data": { - "name": "output" + "name": "c" }, "position": { - "x": 1496, - "y": 40 + "x": 1112, + "y": -176 } }, { - "id": "97800965-0802-4a8f-9ed0-e61db33ae442", + "id": "cdbf1806-fde2-4763-aeae-cd26f3db2a86", "type": "basic.outputLabel", "data": { "blockColor": "fuchsia", - "name": "q", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 1352, - "y": 40 - } - }, - { - "id": "b9359b10-b14f-4dd7-adf9-3f4f22bc65e6", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" + "name": "b" }, "position": { - "x": 1008, - "y": 136 + "x": 504, + "y": -144 } }, { - "id": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", + "id": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba", "type": "basic.input", "data": { - "name": "set", + "name": "b", "clock": false }, "position": { - "x": 216, - "y": 136 + "x": 136, + "y": -120 } }, { - "id": "7e1bf901-73cb-4a29-8843-27b3cc756bb1", + "id": "65936289-69ce-4e26-be4e-44f8a3706934", "type": "basic.inputLabel", "data": { - "blockColor": "royalblue", - "name": "set", + "blockColor": "fuchsia", + "name": "b", "pins": [ { "index": "0", @@ -3962,53 +4140,44 @@ "value": "NULL" } ], - "virtual": true, - "oldBlockColor": "fuchsia" + "virtual": true }, "position": { - "x": 384, - "y": 136 + "x": 272, + "y": -120 } }, { - "id": "2378a6da-a057-4c61-9eb0-e36b6861059f", - "type": "basic.inputLabel", + "id": "6b7a0fc7-9eeb-4894-98fd-e0122d08cdf0", + "type": "basic.outputLabel", "data": { "blockColor": "navy", - "name": "reset", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, + "name": "ci", "oldBlockColor": "fuchsia" }, "position": { - "x": 384, - "y": 216 + "x": 648, + "y": -96 } }, { - "id": "fc243ba8-9abb-4a22-81c4-fabdf043cd01", + "id": "5e915366-608a-431a-bf68-8c64fb4c302c", "type": "basic.input", "data": { - "name": "reset", + "name": "ci", "clock": false }, "position": { - "x": 224, - "y": 216 + "x": 136, + "y": -40 } }, { - "id": "fe2e7470-5890-4c51-b71e-8ff89b4db797", + "id": "9fca1dd5-3d6c-4321-a1cf-fd35336e41ea", "type": "basic.inputLabel", "data": { - "blockColor": "fuchsia", - "name": "q", + "blockColor": "navy", + "name": "ci", "pins": [ { "index": "0", @@ -4020,68 +4189,64 @@ "oldBlockColor": "fuchsia" }, "position": { - "x": 1304, - "y": 232 + "x": 272, + "y": -40 } }, { - "id": "833a07bb-6153-48fe-bb7a-f24fcd38ed65", + "id": "79149d67-753e-414e-ba2a-49ba4edfe523", "type": "basic.outputLabel", "data": { "blockColor": "fuchsia", - "name": "q", - "oldBlockColor": "fuchsia" + "name": "a" }, "position": { - "x": 640, - "y": 248 + "x": 480, + "y": 24 } }, { - "id": "7e57f319-38cf-4c3a-ac16-f37a05f8de19", - "type": "basic.outputLabel", + "id": "c7d2d573-b901-420e-a923-6832e5b18e34", + "type": "basic.output", "data": { - "blockColor": "royalblue", - "name": "set", - "oldBlockColor": "fuchsia" + "name": "s" }, "position": { - "x": 816, - "y": 344 + "x": 992, + "y": 56 } }, { - "id": "38e515cf-4953-42f4-9cbc-7e4e17f605ee", + "id": "edf4525b-edd8-40fa-b784-631b102fb907", "type": "basic.outputLabel", "data": { - "blockColor": "navy", - "name": "reset", - "oldBlockColor": "fuchsia" + "blockColor": "fuchsia", + "name": "b" }, "position": { - "x": 648, - "y": 344 + "x": 480, + "y": 88 } }, { - "id": "bc3416e4-576f-40fb-85a9-5058b9f85395", - "type": "basic.constant", + "id": "35a4f7cc-d7ef-4653-af75-fe112a5f5151", + "type": "basic.outputLabel", "data": { - "name": "", - "value": "0", - "local": false + "blockColor": "navy", + "name": "ci", + "oldBlockColor": "fuchsia" }, "position": { - "x": 1176, - "y": 136 + "x": 648, + "y": 120 } }, { - "id": "34ac83a6-30cb-4ba5-b84e-c2d318713033", - "type": "053dc2e26797e60dd454402e395eb23f388681b9", + "id": "687d4abf-9ce2-408a-8010-c00e2cec2d44", + "type": "d1240143e1ff7afe57f0f11565da980612b2bb76", "position": { - "x": 1176, - "y": 232 + "x": 648, + "y": 40 }, "size": { "width": 96, @@ -4089,23 +4254,11 @@ } }, { - "id": "3c8c3d3d-8a1f-45a1-8ba9-0d019e0c041c", - "type": "d0c4e5ca28edb32eb88f24d610c7a2782d8bc697", - "position": { - "x": 968, - "y": 232 - }, - "size": { - "width": 96, - "height": 96 - } - }, - { - "id": "8d656647-f4ea-475e-b4c1-54787973b618", - "type": "febcfed8636b8ee9a98750b96ed9e53a165dd4a8", + "id": "6756cb54-aa93-40af-a5f3-41ef2b2edec9", + "type": "d1240143e1ff7afe57f0f11565da980612b2bb76", "position": { - "x": 800, - "y": 136 + "x": 832, + "y": 56 }, "size": { "width": 96, @@ -4113,23 +4266,23 @@ } }, { - "id": "5929fa8c-d037-406b-b5aa-9e52e71f2832", - "type": "d0c4e5ca28edb32eb88f24d610c7a2782d8bc697", + "id": "f7053b6b-9812-48df-9212-cb8dc49d44cd", + "type": "ba518ee261a2be13a9739cd3a01cdcebe0ef63c0", "position": { - "x": 800, - "y": 232 + "x": 808, + "y": -80 }, "size": { "width": 96, - "height": 96 + "height": 64 } }, { - "id": "4eb098a5-9671-4946-b827-ce276e6a94f2", - "type": "d30ca9ee4f35f6cb76d5e5701447fc2b739bc640", + "id": "d77ee777-f5ad-4f89-832b-e1f95f0cf9db", + "type": "ba518ee261a2be13a9739cd3a01cdcebe0ef63c0", "position": { "x": 632, - "y": 136 + "y": -192 }, "size": { "width": 96, @@ -4137,706 +4290,300 @@ } }, { - "id": "864d85b3-242c-408a-9e20-fb4931e68f70", - "type": "basic.info", - "data": { - "info": "Priority for the set", - "readonly": true - }, + "id": "dd3259d5-99f6-47f2-881c-4e969e324444", + "type": "873425949b2a80f1a7f66f320796bcd068a59889", "position": { - "x": 1000, - "y": 344 + "x": 960, + "y": -176 }, "size": { - "width": 184, - "height": 32 + "width": 96, + "height": 64 } } ], "wires": [ { "source": { - "block": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", + "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", "port": "out" }, "target": { - "block": "0a772657-8018-424d-8f04-75d3ffff3692", + "block": "f2c3e9af-37a6-4815-9413-c437d2471b1f", "port": "inlabel" - }, - "vertices": [] + } }, { "source": { - "block": "34ac83a6-30cb-4ba5-b84e-c2d318713033", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + "block": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba", + "port": "out" }, "target": { - "block": "fe2e7470-5890-4c51-b71e-8ff89b4db797", + "block": "65936289-69ce-4e26-be4e-44f8a3706934", "port": "inlabel" - }, - "vertices": [] + } }, { "source": { - "block": "7e57f319-38cf-4c3a-ac16-f37a05f8de19", - "port": "outlabel" + "block": "5e915366-608a-431a-bf68-8c64fb4c302c", + "port": "out" }, "target": { - "block": "3c8c3d3d-8a1f-45a1-8ba9-0d019e0c041c", - "port": "08fac044-f451-4fb7-9668-f5bce3b40c2c" - }, - "vertices": [] + "block": "9fca1dd5-3d6c-4321-a1cf-fd35336e41ea", + "port": "inlabel" + } }, { "source": { - "block": "833a07bb-6153-48fe-bb7a-f24fcd38ed65", + "block": "79149d67-753e-414e-ba2a-49ba4edfe523", "port": "outlabel" }, "target": { - "block": "5929fa8c-d037-406b-b5aa-9e52e71f2832", - "port": "d4a339a0-7bdb-4695-8f6b-93ea4a70b36a" - }, - "vertices": [] + "block": "687d4abf-9ce2-408a-8010-c00e2cec2d44", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } }, { "source": { - "block": "38e515cf-4953-42f4-9cbc-7e4e17f605ee", + "block": "edf4525b-edd8-40fa-b784-631b102fb907", "port": "outlabel" }, "target": { - "block": "5929fa8c-d037-406b-b5aa-9e52e71f2832", - "port": "08fac044-f451-4fb7-9668-f5bce3b40c2c" - }, - "vertices": [] + "block": "687d4abf-9ce2-408a-8010-c00e2cec2d44", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + } }, { "source": { - "block": "b9359b10-b14f-4dd7-adf9-3f4f22bc65e6", + "block": "35a4f7cc-d7ef-4653-af75-fe112a5f5151", "port": "outlabel" }, "target": { - "block": "34ac83a6-30cb-4ba5-b84e-c2d318713033", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" - }, - "vertices": [ - { - "x": 1128, - "y": 208 - } - ] + "block": "6756cb54-aa93-40af-a5f3-41ef2b2edec9", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + } }, { "source": { - "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", - "port": "out" + "block": "6b7a0fc7-9eeb-4894-98fd-e0122d08cdf0", + "port": "outlabel" }, "target": { - "block": "7e1bf901-73cb-4a29-8843-27b3cc756bb1", - "port": "inlabel" + "block": "f7053b6b-9812-48df-9212-cb8dc49d44cd", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" } }, { "source": { - "block": "fc243ba8-9abb-4a22-81c4-fabdf043cd01", - "port": "out" - }, + "block": "b28215b2-e375-43cd-96b4-ed5b60418dc6", + "port": "outlabel" + }, "target": { - "block": "2378a6da-a057-4c61-9eb0-e36b6861059f", - "port": "inlabel" + "block": "d77ee777-f5ad-4f89-832b-e1f95f0cf9db", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" } }, { "source": { - "block": "97800965-0802-4a8f-9ed0-e61db33ae442", + "block": "cdbf1806-fde2-4763-aeae-cd26f3db2a86", "port": "outlabel" }, "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "port": "in" + "block": "d77ee777-f5ad-4f89-832b-e1f95f0cf9db", + "port": "97b51945-d716-4b6c-9db9-970d08541249" } }, { "source": { - "block": "bc3416e4-576f-40fb-85a9-5058b9f85395", - "port": "constant-out" + "block": "687d4abf-9ce2-408a-8010-c00e2cec2d44", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, "target": { - "block": "34ac83a6-30cb-4ba5-b84e-c2d318713033", - "port": "65194b18-5d2a-41b2-bd86-01be99978ad6" - }, - "vertices": [] + "block": "6756cb54-aa93-40af-a5f3-41ef2b2edec9", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } }, { "source": { - "block": "3c8c3d3d-8a1f-45a1-8ba9-0d019e0c041c", - "port": "0e6a9a81-8521-4ade-8012-71915b39ae41" + "block": "6756cb54-aa93-40af-a5f3-41ef2b2edec9", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, "target": { - "block": "34ac83a6-30cb-4ba5-b84e-c2d318713033", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" - }, - "vertices": [] + "block": "c7d2d573-b901-420e-a923-6832e5b18e34", + "port": "in" + } }, { "source": { - "block": "8d656647-f4ea-475e-b4c1-54787973b618", - "port": "3d584b0a-29eb-47af-8c43-c0822282ef05" + "block": "687d4abf-9ce2-408a-8010-c00e2cec2d44", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, "target": { - "block": "3c8c3d3d-8a1f-45a1-8ba9-0d019e0c041c", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" - }, - "vertices": [] + "block": "f7053b6b-9812-48df-9212-cb8dc49d44cd", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + } }, { "source": { - "block": "5929fa8c-d037-406b-b5aa-9e52e71f2832", - "port": "0e6a9a81-8521-4ade-8012-71915b39ae41" + "block": "f7053b6b-9812-48df-9212-cb8dc49d44cd", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, "target": { - "block": "3c8c3d3d-8a1f-45a1-8ba9-0d019e0c041c", - "port": "d4a339a0-7bdb-4695-8f6b-93ea4a70b36a" - }, - "vertices": [] + "block": "dd3259d5-99f6-47f2-881c-4e969e324444", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + } }, { "source": { - "block": "4eb098a5-9671-4946-b827-ce276e6a94f2", - "port": "3d584b0a-29eb-47af-8c43-c0822282ef05" + "block": "d77ee777-f5ad-4f89-832b-e1f95f0cf9db", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, "target": { - "block": "5929fa8c-d037-406b-b5aa-9e52e71f2832", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + "block": "dd3259d5-99f6-47f2-881c-4e969e324444", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } + }, + { + "source": { + "block": "dd3259d5-99f6-47f2-881c-4e969e324444", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, - "vertices": [] + "target": { + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" + } } ] } } }, - "053dc2e26797e60dd454402e395eb23f388681b9": { + "d1240143e1ff7afe57f0f11565da980612b2bb76": { "package": { - "name": "DFF", - "version": "2.0", - "description": "D Flip-flop (verilog implementation)", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22196.313%22%20height=%22216.83%22%20viewBox=%220%200%2051.941051%2057.369679%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20transform=%22translate(-52.22%20-48.028)%22%3E%3Crect%20width=%2224.412%22%20height=%2213.185%22%20x=%2279.352%22%20y=%2253.67%22%20ry=%222.247%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%22.794%22%20stroke-linecap=%22round%22/%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M77.902%2088.18l13.607%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M70.517%2080.116l-9.232-19.613-6.45%203.725-2.07-3.584%2020.905-12.07%202.07%203.584-6.093%203.518%2012.03%2018.222s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.773L69.412%2093.049s-2.848-3.696-2.16-6.796c.687-3.1%203.265-6.137%203.265-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Ctext%20style=%22line-height:1.25%22%20x=%2281.296%22%20y=%2263.239%22%20font-weight=%22400%22%20font-size=%2210.583%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20x=%2281.296%22%20y=%2263.239%22%20font-weight=%22700%22%3ESys%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E" + "name": "XOR2", + "version": "1.0.2", + "description": "XOR gate: two bits input xor gate", + "author": "Jesús Arroyo, Juan González", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22193.047%22%20width=%22383.697%22%20version=%221%22%3E%3Cpath%20d=%22M175.56%20189.047H84.527s30.345-42.538%2031.086-94.03c.743-51.49-31.821-90.294-31.821-90.294l92.317-.394c46.445%201.948%20103.899%2053.44%20123.047%2093.678-32.601%2067.503-92.158%2089.79-123.596%2091.04z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2047.62h99.605M4.883%20145.497h100.981M298.57%2099.219h81.07%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20x=%22129.011%22%20y=%22115.285%22%20font-size=%2258.24%22%20font-weight=%22400%22%20style=%22line-height:125%25%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20transform=%22translate(0%20.329)%22%3E%3Ctspan%20x=%22129.011%22%20y=%22115.285%22%20font-weight=%22700%22%3EXOR%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M54.321%20188.368s30.345-42.538%2031.086-94.03c.742-51.49-31.821-90.294-31.821-90.294%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "3943e194-090b-4553-9df3-88bc4b17abc2", + "id": "18c2ebc7-5152-439c-9b3f-851c59bac834", "type": "basic.input", "data": { - "name": "", - "clock": true + "name": "" }, "position": { - "x": 208, - "y": 160 + "x": 120, + "y": 48 } }, { - "id": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78", + "id": "664caf9e-5f40-4df4-800a-b626af702e62", "type": "basic.output", "data": { "name": "" }, "position": { - "x": 816, - "y": 224 + "x": 560, + "y": 72 } }, { - "id": "bf2f0c53-2d04-4cba-aa70-2df85502d24f", + "id": "97b51945-d716-4b6c-9db9-970d08541249", "type": "basic.input", "data": { - "name": "", - "clock": false - }, - "position": { - "x": 208, - "y": 304 - } - }, - { - "id": "65194b18-5d2a-41b2-bd86-01be99978ad6", - "type": "basic.constant", - "data": { - "name": "", - "value": "0", - "local": false + "name": "" }, "position": { - "x": 512, - "y": 64 + "x": 120, + "y": 104 } }, { - "id": "bdc170f0-4468-4137-bd79-4624c9cadf2b", + "id": "00925b04-5004-4307-a737-fa4e97c8b6ab", "type": "basic.code", "data": { - "code": "//-- Initial value\nreg q = INI;\n\n//-- Capture the input data \n//-- on the rising edge of \n//-- the system clock\nalways @(posedge clk)\n q <= d;", - "params": [ - { - "name": "INI" - } - ], + "code": "//-- XOR gate\n//-- Verilog implementation\n\nassign c = a ^ b;\n", + "params": [], "ports": { "in": [ { - "name": "clk" + "name": "a" }, { - "name": "d" + "name": "b" } ], "out": [ { - "name": "q" + "name": "c" } ] } }, "position": { - "x": 384, - "y": 168 - }, - "size": { - "width": 344, - "height": 176 - } - }, - { - "id": "53d11290-50b3-40fb-b253-222cb296b075", - "type": "basic.info", - "data": { - "info": "Parameter: Initial value", - "readonly": true - }, - "position": { - "x": 488, + "x": 256, "y": 48 }, "size": { - "width": 208, - "height": 40 - } - }, - { - "id": "c25a29cd-d5ed-435e-b375-e6d5557660d8", - "type": "basic.info", - "data": { - "info": "System clock", - "readonly": true - }, - "position": { - "x": 208, - "y": 136 - }, - "size": { - "width": 120, - "height": 32 - } - }, - { - "id": "ecafc6fa-330b-4ba7-aa67-40b3ea48f1f1", - "type": "basic.info", - "data": { - "info": "Input data", - "readonly": true - }, - "position": { - "x": 224, - "y": 280 - }, - "size": { - "width": 112, - "height": 40 - } - }, - { - "id": "df95c331-682d-4733-a62d-ad9fcd75f96a", - "type": "basic.info", - "data": { - "info": "Output", - "readonly": true - }, - "position": { - "x": 840, - "y": 200 - }, - "size": { - "width": 80, - "height": 40 - } - }, - { - "id": "dd8217df-b56d-49a9-ae94-f5e0c96e1460", - "type": "basic.info", - "data": { - "info": "# D Flip-Flop \n\nIt stores the input data that arrives at cycle n \nIts output is shown in the cycle n+1", - "readonly": true - }, - "position": { - "x": 144, - "y": -136 - }, - "size": { - "width": 488, - "height": 104 + "width": 272, + "height": 112 } } ], "wires": [ { "source": { - "block": "3943e194-090b-4553-9df3-88bc4b17abc2", + "block": "18c2ebc7-5152-439c-9b3f-851c59bac834", "port": "out" }, "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "clk" - } - }, - { - "source": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "q" - }, - "target": { - "block": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78", - "port": "in" + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "a" } }, { "source": { - "block": "65194b18-5d2a-41b2-bd86-01be99978ad6", - "port": "constant-out" + "block": "97b51945-d716-4b6c-9db9-970d08541249", + "port": "out" }, "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "INI" + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "b" } }, { "source": { - "block": "bf2f0c53-2d04-4cba-aa70-2df85502d24f", - "port": "out" + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "c" }, "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "d" + "block": "664caf9e-5f40-4df4-800a-b626af702e62", + "port": "in" } } ] } } }, - "d0c4e5ca28edb32eb88f24d610c7a2782d8bc697": { + "873425949b2a80f1a7f66f320796bcd068a59889": { "package": { - "name": "Mux-2-1", - "version": "0.1", - "description": "2-to-1 Multplexer (1-bit channels)", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2280.833%22%20height=%22158.56%22%20viewBox=%220%200%2075.781585%20148.65066%22%3E%3Cpath%20d=%22M74.375%2036.836c0-12.691-6.99-24.413-18.326-30.729-11.335-6.316-25.284-6.262-36.568.141C8.198%2012.652%201.304%2024.427%201.407%2037.118v74.415c-.103%2012.69%206.79%2024.466%2018.074%2030.87%2011.284%206.403%2025.233%206.457%2036.568.14%2011.336-6.316%2018.326-18.037%2018.326-30.728z%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%222.813%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.448%22%20y=%2291.518%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.448%22%20y=%2291.518%22%3E0%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.359%22%20y=%2214.582%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.359%22%20y=%2214.582%22%3E1%3C/tspan%3E%3C/text%3E%3C/svg%3E", - "otid": 1618922858665 + "name": "OR2", + "version": "1.0.2", + "description": "OR2: Two bits input OR gate", + "author": "Jesús Arroyo, Juan González", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22192.718%22%20width=%22383.697%22%20version=%221%22%3E%3Cpath%20d=%22M175.56%20188.718H84.527s30.345-42.538%2031.086-94.03c.743-51.49-31.821-90.294-31.821-90.294L176.109%204c46.445%201.948%20103.899%2053.44%20123.047%2093.678-32.601%2067.503-92.158%2089.79-123.596%2091.04z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2047.292h99.605M4.883%20145.168h100.981M298.57%2098.89h81.07%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20font-weight=%22400%22%20font-size=%2266.317%22%20y=%22121.28%22%20x=%22131.572%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20font-weight=%22700%22%20y=%22121.28%22%20x=%22131.572%22%3EOR%3C/tspan%3E%3C/text%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "a0fa1754-f66a-4772-adc6-07f9549ae9fe", - "type": "basic.outputLabel", + "id": "18c2ebc7-5152-439c-9b3f-851c59bac834", + "type": "basic.input", "data": { - "blockColor": "fuchsia", - "name": "a" - }, - "position": { - "x": 456, - "y": 360 - } - }, - { - "id": "0e6a9a81-8521-4ade-8012-71915b39ae41", - "type": "basic.output", - "data": { - "name": "" - }, - "position": { - "x": 1096, - "y": 392 - } - }, - { - "id": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", - "type": "basic.input", - "data": { - "name": "1", - "clock": false - }, - "position": { - "x": 136, - "y": 416 - } - }, - { - "id": "d80dfce7-c76f-40a0-91ff-5e55863fe5da", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "a", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true - }, - "position": { - "x": 272, - "y": 416 - } - }, - { - "id": "a14a9465-c4d0-4c20-aa1a-458b40aa8b70", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "b", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 272, - "y": 528 - } - }, - { - "id": "d4a339a0-7bdb-4695-8f6b-93ea4a70b36a", - "type": "basic.input", - "data": { - "name": "0", - "clock": false - }, - "position": { - "x": 136, - "y": 528 - } - }, - { - "id": "8d94a294-a698-43c5-9777-874fd39b8586", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "b", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 616, - "y": 552 - } - }, - { - "id": "08fac044-f451-4fb7-9668-f5bce3b40c2c", - "type": "basic.input", - "data": { - "name": "sel", - "clock": false - }, - "position": { - "x": 376, - "y": 656 - } - }, - { - "id": "ec23e0ef-db5d-46b0-b1fd-452e0dc46a0b", - "type": "873425949b2a80f1a7f66f320796bcd068a59889", - "position": { - "x": 952, - "y": 392 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "cbd20301-0f38-49ce-bd16-b5d27a8ad6e8", - "type": "ba518ee261a2be13a9739cd3a01cdcebe0ef63c0", - "position": { - "x": 600, - "y": 376 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "4f537b92-d51a-4e53-808b-0730bd2424dd", - "type": "3676a00f3a70e406487ed14b901daf3e4984e63d", - "position": { - "x": 624, - "y": 656 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "6219285f-76c0-4fdf-8f60-bd5afeef0e52", - "type": "ba518ee261a2be13a9739cd3a01cdcebe0ef63c0", - "position": { - "x": 784, - "y": 568 - }, - "size": { - "width": 96, - "height": 64 - } - } - ], - "wires": [ - { - "source": { - "block": "a0fa1754-f66a-4772-adc6-07f9549ae9fe", - "port": "outlabel" - }, - "target": { - "block": "cbd20301-0f38-49ce-bd16-b5d27a8ad6e8", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - }, - "vertices": [] - }, - { - "source": { - "block": "8d94a294-a698-43c5-9777-874fd39b8586", - "port": "outlabel" - }, - "target": { - "block": "6219285f-76c0-4fdf-8f60-bd5afeef0e52", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - }, - "vertices": [] - }, - { - "source": { - "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", - "port": "out" - }, - "target": { - "block": "d80dfce7-c76f-40a0-91ff-5e55863fe5da", - "port": "inlabel" - } - }, - { - "source": { - "block": "d4a339a0-7bdb-4695-8f6b-93ea4a70b36a", - "port": "out" - }, - "target": { - "block": "a14a9465-c4d0-4c20-aa1a-458b40aa8b70", - "port": "inlabel" - } - }, - { - "source": { - "block": "ec23e0ef-db5d-46b0-b1fd-452e0dc46a0b", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" - }, - "target": { - "block": "0e6a9a81-8521-4ade-8012-71915b39ae41", - "port": "in" - }, - "vertices": [] - }, - { - "source": { - "block": "cbd20301-0f38-49ce-bd16-b5d27a8ad6e8", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" - }, - "target": { - "block": "ec23e0ef-db5d-46b0-b1fd-452e0dc46a0b", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - }, - "vertices": [] - }, - { - "source": { - "block": "08fac044-f451-4fb7-9668-f5bce3b40c2c", - "port": "out" - }, - "target": { - "block": "cbd20301-0f38-49ce-bd16-b5d27a8ad6e8", - "port": "97b51945-d716-4b6c-9db9-970d08541249" - }, - "vertices": [] - }, - { - "source": { - "block": "08fac044-f451-4fb7-9668-f5bce3b40c2c", - "port": "out" - }, - "target": { - "block": "4f537b92-d51a-4e53-808b-0730bd2424dd", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - }, - "vertices": [] - }, - { - "source": { - "block": "6219285f-76c0-4fdf-8f60-bd5afeef0e52", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" - }, - "target": { - "block": "ec23e0ef-db5d-46b0-b1fd-452e0dc46a0b", - "port": "97b51945-d716-4b6c-9db9-970d08541249" - }, - "vertices": [] - }, - { - "source": { - "block": "4f537b92-d51a-4e53-808b-0730bd2424dd", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" - }, - "target": { - "block": "6219285f-76c0-4fdf-8f60-bd5afeef0e52", - "port": "97b51945-d716-4b6c-9db9-970d08541249" - }, - "vertices": [] - } - ] - } - } - }, - "873425949b2a80f1a7f66f320796bcd068a59889": { - "package": { - "name": "OR2", - "version": "1.0.2", - "description": "OR2: Two bits input OR gate", - "author": "Jesús Arroyo, Juan González", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22192.718%22%20width=%22383.697%22%20version=%221%22%3E%3Cpath%20d=%22M175.56%20188.718H84.527s30.345-42.538%2031.086-94.03c.743-51.49-31.821-90.294-31.821-90.294L176.109%204c46.445%201.948%20103.899%2053.44%20123.047%2093.678-32.601%2067.503-92.158%2089.79-123.596%2091.04z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2047.292h99.605M4.883%20145.168h100.981M298.57%2098.89h81.07%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20font-weight=%22400%22%20font-size=%2266.317%22%20y=%22121.28%22%20x=%22131.572%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20font-weight=%22700%22%20y=%22121.28%22%20x=%22131.572%22%3EOR%3C/tspan%3E%3C/text%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "18c2ebc7-5152-439c-9b3f-851c59bac834", - "type": "basic.input", - "data": { - "name": "" + "name": "" }, "position": { "x": 112, @@ -4932,110 +4679,61 @@ } } }, - "ba518ee261a2be13a9739cd3a01cdcebe0ef63c0": { + "d30ca9ee4f35f6cb76d5e5701447fc2b739bc640": { "package": { - "name": "AND2", - "version": "1.0.2", - "description": "Two bits input And gate", - "author": "Jesús Arroyo, Juan González", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22336.09%22%20height=%22194.045%22%20version=%221%22%3E%3Cpath%20d=%22M174.656%20190.045H78.304V4h96.352s87.463%208.625%2087.463%2091.94c0%2083.311-87.463%2094.105-87.463%2094.105z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2045.668h74.018M4.057%20144.812h74.018m184.632-50.034h69.326%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%2292.894%22%20y=%22114.587%22%20font-weight=%22400%22%20font-size=%2258.054%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%2292.894%22%20y=%22114.587%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%3EAND%3C/tspan%3E%3C/text%3E%3C/svg%3E" + "name": "bit-0", + "version": "0.2", + "description": "Constant bit 0", + "author": "Jesus Arroyo", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22125.776%22%20height=%22197.727%22%20viewBox=%220%200%20110.54641%20173.78236%22%3E%3Cpath%20d=%22M69.664%20107.353l13.494%2029.374L70.719%20168.5l13.788%204.283m-42.761-62.916S38.148%20136.825%2033.22%20139C28.298%20141.18%201%20161.403%201%20161.403l8.729%2010.636%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cg%20style=%22line-height:0%25%22%3E%3Cpath%20d=%22M65.536%2024.562q-9.493%200-15.876%208.251-6.303%208.156-8.855%2023.604-2.553%2015.448%201.037%2023.7%203.59%208.155%2013.084%208.155%209.334%200%2015.636-8.155%206.383-8.252%208.936-23.7%202.553-15.448-1.037-23.604-3.59-8.251-12.925-8.251zm4.07-24.564q23.056%200%2033.507%2014.969%2010.53%2014.968%206.143%2041.45-4.388%2026.482-19.865%2041.45-15.478%2014.968-38.534%2014.968-23.136%200-33.667-14.968Q6.659%2082.9%2011.047%2056.417q4.387-26.482%2019.865-41.45Q46.469-.002%2069.605-.002z%22%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold%20Italic'%22%20font-style=%22italic%22%20font-weight=%22700%22%20font-size=%22179.184%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22/%3E%3C/g%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "18c2ebc7-5152-439c-9b3f-851c59bac834", - "type": "basic.input", - "data": { - "name": "" - }, - "position": { - "x": 96, - "y": 56 - } - }, - { - "id": "664caf9e-5f40-4df4-800a-b626af702e62", + "id": "3d584b0a-29eb-47af-8c43-c0822282ef05", "type": "basic.output", "data": { "name": "" }, "position": { - "x": 600, - "y": 96 - } - }, - { - "id": "97b51945-d716-4b6c-9db9-970d08541249", - "type": "basic.input", - "data": { - "name": "" - }, - "position": { - "x": 96, - "y": 128 + "x": 456, + "y": 120 } }, { - "id": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "id": "61331ec5-2c56-4cdd-b607-e63b1502fa65", "type": "basic.code", "data": { - "code": "//-- AND gate\n//-- Verilog implementation\n\nassign c = a & b;\n", + "code": "//-- Constant bit-0\nassign q = 1'b0;\n\n", "params": [], "ports": { - "in": [ - { - "name": "a" - }, - { - "name": "b" - } - ], + "in": [], "out": [ { - "name": "c" + "name": "q" } ] } }, "position": { - "x": 256, - "y": 48 + "x": 168, + "y": 112 }, "size": { - "width": 304, - "height": 152 + "width": 248, + "height": 80 } } ], "wires": [ { "source": { - "block": "18c2ebc7-5152-439c-9b3f-851c59bac834", - "port": "out" - }, - "target": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "a" - } - }, - { - "source": { - "block": "97b51945-d716-4b6c-9db9-970d08541249", - "port": "out" - }, - "target": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "b" - } - }, - { - "source": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "c" + "block": "61331ec5-2c56-4cdd-b607-e63b1502fa65", + "port": "q" }, "target": { - "block": "664caf9e-5f40-4df4-800a-b626af702e62", + "block": "3d584b0a-29eb-47af-8c43-c0822282ef05", "port": "in" } } @@ -5043,449 +4741,542 @@ } } }, - "3676a00f3a70e406487ed14b901daf3e4984e63d": { + "c4f23ad05c2010ec9bd213c8814c9238873037ae": { "package": { - "name": "NOT", - "version": "2.0", - "description": "NOT gate (Verilog implementation)", - "author": "Jesús Arroyo, Juan González", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22317.651%22%20height=%22194.058%22%20version=%221%22%3E%3Cpath%20d=%22M69.246%204l161.86%2093.027-161.86%2093.031V4z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20cx=%22253.352%22%20cy=%2296.736%22%20rx=%2221.393%22%20ry=%2221.893%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2097.49h65.262m205.796%200h38.48%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%2281.112%22%20y=%22111.734%22%20transform=%22scale(.99532%201.0047)%22%20font-weight=%22400%22%20font-size=%2249.675%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%2281.112%22%20y=%22111.734%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%3ENot%3C/tspan%3E%3C/text%3E%3C/svg%3E" + "name": "Bus4-Split-all", + "version": "0.1", + "description": "Bus4-Split-all: Split the 4-bits bus into its 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": { "graph": { "blocks": [ { - "id": "18c2ebc7-5152-439c-9b3f-851c59bac834", + "id": "bbe1895b-be8b-4237-b0d1-ae592e3e6208", + "type": "basic.output", + "data": { + "name": "3" + }, + "position": { + "x": 576, + "y": 80 + } + }, + { + "id": "33072210-9ba0-4659-8339-95952b939e6e", + "type": "basic.output", + "data": { + "name": "2" + }, + "position": { + "x": 600, + "y": 144 + } + }, + { + "id": "0ebd46a4-769b-45e6-bcaf-e3796264aed3", "type": "basic.input", "data": { - "name": "" + "name": "", + "range": "[3:0]", + "clock": false, + "size": 4 }, "position": { - "x": 112, - "y": 72 + "x": 128, + "y": 184 } }, { - "id": "664caf9e-5f40-4df4-800a-b626af702e62", + "id": "f5a71d7b-de20-4527-80c8-0eb20de0dc77", "type": "basic.output", "data": { - "name": "" + "name": "1" }, "position": { - "x": 560, - "y": 72 + "x": 592, + "y": 240 } }, { - "id": "5365ed8c-e5db-4445-938f-8d689830ea5c", + "id": "0f7487e5-b070-4277-bba6-acf69934afca", + "type": "basic.output", + "data": { + "name": "0" + }, + "position": { + "x": 568, + "y": 296 + } + }, + { + "id": "16e78204-213e-4833-9096-89d735307ec2", "type": "basic.code", "data": { - "code": "//-- NOT Gate\nassign q = ~a;\n\n", + "code": "assign o3 = i[3];\nassign o2 = i[2];\nassign o1 = i[1];\nassign o0 = i[0];", "params": [], "ports": { "in": [ { - "name": "a" + "name": "i", + "range": "[3:0]", + "size": 4 } ], "out": [ { - "name": "q" + "name": "o3" + }, + { + "name": "o2" + }, + { + "name": "o1" + }, + { + "name": "o0" } ] } }, "position": { - "x": 256, - "y": 48 + "x": 296, + "y": 176 }, "size": { - "width": 256, - "height": 104 + "width": 208, + "height": 80 } - }, + } + ], + "wires": [ { - "id": "e3bb41e3-1944-4946-9675-c2dbe2e49fcf", - "type": "basic.info", - "data": { - "info": "Input", - "readonly": true - }, - "position": { - "x": 128, - "y": 32 + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o1" }, - "size": { - "width": 80, - "height": 40 + "target": { + "block": "f5a71d7b-de20-4527-80c8-0eb20de0dc77", + "port": "in" } }, { - "id": "8408dd5f-945f-4a89-9790-7752813d4e91", - "type": "basic.info", - "data": { - "info": "Output", - "readonly": true - }, - "position": { - "x": 576, - "y": 40 + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o0" }, - "size": { - "width": 80, - "height": 40 + "target": { + "block": "0f7487e5-b070-4277-bba6-acf69934afca", + "port": "in" } - } - ], - "wires": [ + }, { "source": { - "block": "18c2ebc7-5152-439c-9b3f-851c59bac834", - "port": "out" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o2" }, "target": { - "block": "5365ed8c-e5db-4445-938f-8d689830ea5c", - "port": "a" + "block": "33072210-9ba0-4659-8339-95952b939e6e", + "port": "in" } }, { "source": { - "block": "5365ed8c-e5db-4445-938f-8d689830ea5c", - "port": "q" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o3" }, "target": { - "block": "664caf9e-5f40-4df4-800a-b626af702e62", + "block": "bbe1895b-be8b-4237-b0d1-ae592e3e6208", "port": "in" } + }, + { + "source": { + "block": "0ebd46a4-769b-45e6-bcaf-e3796264aed3", + "port": "out" + }, + "target": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i" + }, + "size": 4 } ] } } }, - "febcfed8636b8ee9a98750b96ed9e53a165dd4a8": { + "84f0a15761ee8b753f67079819a7614923939472": { "package": { - "name": "bit-1", - "version": "0.2", - "description": "Constant bit 1", - "author": "Jesus Arroyo", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2289.79%22%20height=%22185.093%22%20viewBox=%220%200%2084.179064%20173.52585%22%3E%3Cpath%20d=%22M7.702%2032.42L49.972%200l34.207%207.725-27.333%20116.736-26.607-6.01L51.26%2025.273%2020.023%2044.2z%22%20fill=%22green%22%20fill-rule=%22evenodd%22/%3E%3Cpath%20d=%22M46.13%20117.28l21.355%2028.258-17.91%2021.368%206.198%205.513m-14.033-54.45l-12.4%2028.26-28.242%205.512%202.067%208.959%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%222.196%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" + "name": "Bus4-Join-all", + "version": "0.1", + "description": "Bus4-Join-all: Join all the wires into a 4-bits Bus", + "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=%22M164.218%2077.643L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v26.186l61.698.046c8.012-.043%2015.705%203.133%2021.47%208.81l61.448%2061.315a57.292%2057.292%200%200%200%2039.993%2016.139%2057.292%2057.292%200%200%200-39.993%2016.14L83.668%20190.45c-5.765%205.677-13.458%208.853-21.47%208.81L.5%20199.306v26.186h62.612c14.924.039%2029.463-5.9%2040.204-16.28l60.902-60.863a29.857%2029.857%200%200%201%2021.347-8.81l146.53-.113V86.457H185.571a29.884%2029.884%200%200%201-21.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "3d584b0a-29eb-47af-8c43-c0822282ef05", - "type": "basic.output", + "id": "6c2aa548-5a4c-4e8d-a56c-a70926b19f18", + "type": "basic.input", "data": { - "name": "" - }, + "name": "3", + "clock": false + }, "position": { - "x": 456, - "y": 120 + "x": 80, + "y": 64 } }, { - "id": "61331ec5-2c56-4cdd-b607-e63b1502fa65", - "type": "basic.code", + "id": "346b4ae4-4bb6-4845-9c17-3b25e0dde718", + "type": "basic.input", "data": { - "code": "//-- Constant bit-1\nassign q = 1'b1;\n\n", - "params": [], - "ports": { - "in": [], - "out": [ - { - "name": "q" - } - ] - } + "name": "2", + "clock": false }, "position": { - "x": 168, - "y": 112 + "x": 80, + "y": 136 + } + }, + { + "id": "55180947-6349-4a04-a151-ad69ea2b155e", + "type": "basic.output", + "data": { + "name": "", + "range": "[3:0]", + "size": 4 }, - "size": { - "width": 248, - "height": 80 + "position": { + "x": 712, + "y": 200 } - } - ], - "wires": [ + }, { - "source": { - "block": "61331ec5-2c56-4cdd-b607-e63b1502fa65", - "port": "q" + "id": "969e11ca-69e8-403b-a566-7bf2fbe3a5a8", + "type": "basic.input", + "data": { + "name": "1", + "clock": false }, - "target": { - "block": "3d584b0a-29eb-47af-8c43-c0822282ef05", - "port": "in" + "position": { + "x": 80, + "y": 208 } - } - ] - } - } - }, - "d30ca9ee4f35f6cb76d5e5701447fc2b739bc640": { - "package": { - "name": "bit-0", - "version": "0.2", - "description": "Constant bit 0", - "author": "Jesus Arroyo", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22125.776%22%20height=%22197.727%22%20viewBox=%220%200%20110.54641%20173.78236%22%3E%3Cpath%20d=%22M69.664%20107.353l13.494%2029.374L70.719%20168.5l13.788%204.283m-42.761-62.916S38.148%20136.825%2033.22%20139C28.298%20141.18%201%20161.403%201%20161.403l8.729%2010.636%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cg%20style=%22line-height:0%25%22%3E%3Cpath%20d=%22M65.536%2024.562q-9.493%200-15.876%208.251-6.303%208.156-8.855%2023.604-2.553%2015.448%201.037%2023.7%203.59%208.155%2013.084%208.155%209.334%200%2015.636-8.155%206.383-8.252%208.936-23.7%202.553-15.448-1.037-23.604-3.59-8.251-12.925-8.251zm4.07-24.564q23.056%200%2033.507%2014.969%2010.53%2014.968%206.143%2041.45-4.388%2026.482-19.865%2041.45-15.478%2014.968-38.534%2014.968-23.136%200-33.667-14.968Q6.659%2082.9%2011.047%2056.417q4.387-26.482%2019.865-41.45Q46.469-.002%2069.605-.002z%22%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold%20Italic'%22%20font-style=%22italic%22%20font-weight=%22700%22%20font-size=%22179.184%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22/%3E%3C/g%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ + }, { - "id": "3d584b0a-29eb-47af-8c43-c0822282ef05", - "type": "basic.output", + "id": "e4111201-8441-4e7d-bcd2-bcf9d265d043", + "type": "basic.input", "data": { - "name": "" + "name": "0", + "clock": false }, "position": { - "x": 456, - "y": 120 + "x": 80, + "y": 272 } }, { - "id": "61331ec5-2c56-4cdd-b607-e63b1502fa65", + "id": "16e78204-213e-4833-9096-89d735307ec2", "type": "basic.code", "data": { - "code": "//-- Constant bit-0\nassign q = 1'b0;\n\n", + "code": "assign o = {i3, i2, i1, i0};\n", "params": [], "ports": { - "in": [], + "in": [ + { + "name": "i3" + }, + { + "name": "i2" + }, + { + "name": "i1" + }, + { + "name": "i0" + } + ], "out": [ { - "name": "q" + "name": "o", + "range": "[3:0]", + "size": 4 } ] } }, "position": { - "x": 168, - "y": 112 + "x": 296, + "y": 176 }, "size": { - "width": 248, - "height": 80 + "width": 344, + "height": 104 } } ], "wires": [ { "source": { - "block": "61331ec5-2c56-4cdd-b607-e63b1502fa65", - "port": "q" + "block": "969e11ca-69e8-403b-a566-7bf2fbe3a5a8", + "port": "out" }, "target": { - "block": "3d584b0a-29eb-47af-8c43-c0822282ef05", - "port": "in" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i1" + } + }, + { + "source": { + "block": "e4111201-8441-4e7d-bcd2-bcf9d265d043", + "port": "out" + }, + "target": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i0" } + }, + { + "source": { + "block": "346b4ae4-4bb6-4845-9c17-3b25e0dde718", + "port": "out" + }, + "target": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i2" + }, + "vertices": [ + { + "x": 200, + "y": 176 + } + ] + }, + { + "source": { + "block": "6c2aa548-5a4c-4e8d-a56c-a70926b19f18", + "port": "out" + }, + "target": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i3" + }, + "vertices": [ + { + "x": 224, + "y": 128 + } + ] + }, + { + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o" + }, + "target": { + "block": "55180947-6349-4a04-a151-ad69ea2b155e", + "port": "in" + }, + "size": 4 } ] } } }, - "2a35153f656f2d69dfddb3d5023a77bf81baead9": { + "afb28fd5426aea14477d11cbe30a290679f789f8": { "package": { - "name": "Mem-16B-icerok-probe", + "name": "Bus8-Join-half", "version": "0.1", - "description": "16B memory icerok probe", + "description": "Bus8-Join-half: Join the two same halves into an 8-bits Bus", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22120.961%22%20width=%22100%22%3E%3Cdefs%3E%3Cfilter%20id=%22c%22%20color-interpolation-filters=%22sRGB%22%3E%3CfeGaussianBlur%20stdDeviation=%221.23%22/%3E%3C/filter%3E%3Cfilter%20id=%22g%22%20color-interpolation-filters=%22sRGB%22%3E%3CfeGaussianBlur%20stdDeviation=%221.23%22/%3E%3C/filter%3E%3Cfilter%20id=%22f%22%20color-interpolation-filters=%22sRGB%22%3E%3CfeGaussianBlur%20stdDeviation=%221.258%22/%3E%3C/filter%3E%3Cfilter%20id=%22e%22%20color-interpolation-filters=%22sRGB%22%3E%3CfeGaussianBlur%20stdDeviation=%221.312%22/%3E%3C/filter%3E%3Cfilter%20id=%22b%22%20height=%221.027%22%20width=%221.242%22%20y=%22-.013%22%20x=%22-.121%22%20color-interpolation-filters=%22sRGB%22%3E%3CfeGaussianBlur%20stdDeviation=%221.309%22/%3E%3C/filter%3E%3Cfilter%20id=%22d%22%20height=%221.027%22%20width=%221.242%22%20y=%22-.013%22%20x=%22-.121%22%20color-interpolation-filters=%22sRGB%22%3E%3CfeGaussianBlur%20stdDeviation=%221.309%22/%3E%3C/filter%3E%3Cfilter%20id=%22a%22%20height=%221.025%22%20width=%221.996%22%20y=%22-.012%22%20x=%22-.498%22%20color-interpolation-filters=%22sRGB%22%3E%3CfeGaussianBlur%20stdDeviation=%221.245%22/%3E%3C/filter%3E%3CradialGradient%20id=%22h%22%20gradientUnits=%22userSpaceOnUse%22%20cy=%22356.19%22%20cx=%22300%22%20gradientTransform=%22matrix(-.43814%20.01306%20-.0012%20-.02628%20181.233%2061.352)%22%20r=%2255.264%22%3E%3Cstop%20offset=%220%22/%3E%3Cstop%20stop-color=%22#464646%22%20offset=%22.602%22/%3E%3Cstop%20stop-color=%22#aca592%22%20stop-opacity=%220%22%20offset=%221%22/%3E%3C/radialGradient%3E%3ClinearGradient%20id=%22i%22%20y2=%22333.77%22%20gradientUnits=%22userSpaceOnUse%22%20x2=%22291.22%22%20gradientTransform=%22matrix(-.3425%20.01021%20-.01275%20-.27715%20156.562%20149.485)%22%20y1=%22330.77%22%20x1=%22291.22%22%3E%3Cstop%20stop-color=%22#fff%22%20stop-opacity=%22.362%22%20offset=%220%22/%3E%3Cstop%20stop-opacity=%220%22%20offset=%221%22/%3E%3C/linearGradient%3E%3ClinearGradient%20id=%22j%22%20y2=%22339.48%22%20gradientUnits=%22userSpaceOnUse%22%20x2=%22337.09%22%20gradientTransform=%22matrix(-.33921%20.01011%20-.01492%20-.32428%20156.195%20165.141)%22%20y1=%22339.48%22%20x1=%22343.43%22%3E%3Cstop%20stop-color=%22#fff%22%20stop-opacity=%22.362%22%20offset=%220%22/%3E%3Cstop%20stop-opacity=%220%22%20offset=%221%22/%3E%3C/linearGradient%3E%3ClinearGradient%20id=%22k%22%20y2=%22304.68%22%20gradientUnits=%22userSpaceOnUse%22%20x2=%22300.31%22%20gradientTransform=%22matrix(-.32563%20.0097%20-.01206%20-.2621%20151.26%20144.401)%22%20y1=%22331.2%22%20x1=%22300.31%22%3E%3Cstop%20stop-opacity=%22.302%22%20offset=%220%22/%3E%3Cstop%20stop-opacity=%220%22%20offset=%221%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath%20opacity=%22.95%22%20fill=%22none%22%20d=%22M0%2020.961h100v100H0z%22/%3E%3Cpath%20d=%22M53.928%20119.654L52.1%2079.937l-1.104-23.99-3.256.096%201.104%2023.991%201.826%2039.717z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#d4aa00%22/%3E%3Cpath%20d=%22M297%20109.34V352.4h6V109.34z%22%20style=%22text-indent:0;text-transform:none%22%20transform=%22matrix(-.32563%20.0097%20-.01206%20-.2621%20151.309%20145.45)%22%20color=%22#000%22%20fill=%22#fcff4c%22%20fill-opacity=%22.544%22%20filter=%22url(#a)%22/%3E%3Cpath%20d=%22M60.372%20117.56l3.198-.49c-3.202-13.45-7.816-28.557-8.457-42.475l-.863-18.749-3.256.098.863%2018.748c.658%2014.31%205.337%2029.518%208.514%2042.865z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#d45500%22/%3E%3Cpath%20d=%22M272.94%20116.59l-5.875%201.5c7.92%2051.61%2019.94%20109.69%2019.94%20162.79v71.531h6V280.88c0-54.598-12.202-113.07-20.062-164.28z%22%20style=%22text-indent:0;text-transform:none%22%20transform=%22matrix(-.32563%20.0097%20-.01206%20-.2621%20151.309%20145.45)%22%20color=%22#000%22%20fill=%22#fca%22%20fill-opacity=%22.409%22%20filter=%22url(#b)%22/%3E%3Cpath%20d=%22M69.996%20112.761l3.056-.912c-6.978-15.02-14.11-24.952-15.163-47.836l-.38-8.265-3.257.097.38%208.265c1.072%2023.296%208.478%2033.826%2015.364%2048.646z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#a00%22/%3E%3Cpath%20d=%22M79.672%20106.477l2.661-1.515c-9.79-11.143-20.205-19.73-21.186-41.045l-.38-8.264-3.257.097.38%208.264C58.902%2086%2070.056%2095.528%2079.674%20106.474z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#784421%22/%3E%3Cpath%20d=%22M89.428%2098.614l1.962-2.092C81.67%2090.65%2065.24%2082.005%2064.402%2063.82l-.38-8.265-3.256.097.38%208.265C62.04%2083.35%2079.89%2092.851%2089.43%2098.614z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#1a1a1a%22/%3E%3Cpath%20d=%22M183.16%20189.47l-4.313%201.75c28.98%2023.48%2079.65%2053.27%2079.65%20129.66v31.531h4V320.88c0-71.639-50.903-108.37-79.344-131.41z%22%20style=%22text-indent:0;text-transform:none%22%20transform=%22matrix(-.32563%20.0097%20-.01206%20-.2621%20151.309%20145.45)%22%20color=%22#000%22%20fill=%22#fff%22%20fill-opacity=%22.313%22%20filter=%22url(#c)%22/%3E%3Cpath%20d=%22M44.052%20118.046c1.941-13.5%205.209-28.946%204.55-43.257l-.862-18.748-3.256.097.863%2018.748c.64%2013.918-2.572%2029.258-4.53%2042.86l3.234.297z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22green%22/%3E%3Cpath%20transform=%22matrix(.32563%20-.0097%20-.01206%20-.2621%20-44.14%20150.226)%22%20d=%22M272.94%20112.59l-5.875%201.5c7.92%2051.61%2019.94%20109.69%2019.94%20162.79v71.531h6V276.88c0-54.598-12.202-113.07-20.062-164.28z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#cfa%22%20fill-opacity=%22.409%22%20filter=%22url(#d)%22/%3E%3Cpath%20d=%22M34.013%20113.833c5.507-15.193%2011.923-26.132%2010.85-49.43l-.38-8.265-3.256.097.38%208.264c1.053%2022.883-5.147%2033.214-10.725%2048.606l3.131.727z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#04a%22/%3E%3Cpath%20transform=%22matrix(.32563%20-.0097%20-.01206%20-.2621%20-44.202%20150.228)%22%20d=%22M242.75%20129.78l-3.5%203.125c19.277%2058.01%2038.25%2096.664%2038.25%20183.97v31.531h5.5v-31.531c0-88.882-21.224-129.84-40.25-187.09z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#acf%22%20fill-opacity=%22.475%22%20filter=%22url(#e)%22/%3E%3Cpath%20d=%22M23.786%20108.143C32.372%2096.651%2042.62%2086.487%2041.607%2064.5l-.38-8.264-3.257.097.38%208.264c.981%2021.314-8.618%2030.496-17.358%2042.192l2.793%201.352z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#aa00d4%22/%3E%3Cpath%20transform=%22matrix(.32563%20-.0097%20-.01206%20-.2621%20-63.922%20150.816)%22%20d=%22M275.19%20158.62l-4.375-.531c28.45%2043.57%2057.68%2077.47%2057.68%20158.79v31.53h4v-31.53c0-83.882-29.36-115.45-57.312-158.25z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#eaf%22%20fill-opacity=%22.483%22%20filter=%22url(#f)%22/%3E%3Cpath%20d=%22M13.334%20100.883c8.983-6.313%2025.91-16.854%2025.017-36.287l-.38-8.264-3.257.097.38%208.264c.837%2018.184-14.754%2027.784-23.91%2034.22l2.149%201.97z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#6f6f91%22/%3E%3Cpath%20transform=%22matrix(.32563%20-.0097%20-.01206%20-.2621%20-43.742%20150.214)%22%20d=%22M183.16%20185.47l-4.313%201.75c28.98%2023.48%2078.15%2055.27%2078.15%20129.65v31.531h5V316.87c0-69.13-50.4-108.37-78.84-131.4z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#dbdbe3%22%20fill-opacity=%22.429%22%20filter=%22url(#g)%22/%3E%3Cpath%20d=%22M73.69%2057.606L25.264%2059.05l-.202-4.398c12.474-.817%2026.455-1.496%2048.425-1.444z%22%20color=%22#000%22%20fill=%22url(#h)%22/%3E%3Cpath%20d=%22M64.604%2060.633l-30.005.894-.246-5.336c7.717-.77%2016.373-1.346%2030.005-.894z%22%20color=%22#000%22%20fill=%22#1a1a1a%22/%3E%3Cpath%20d=%22M64.467%2060.434l-29.75.887-.03-.659c7.655-.673%2016.24-1.19%2029.75-.887z%22%20color=%22#000%22%20fill=%22url(#i)%22/%3E%3Cpath%20d=%22M36.953%2061.291l-2.194.066-.236-5.14c1.09-.029%201.543-.087%202.193-.067z%22%20color=%22#000%22%20fill=%22url(#j)%22/%3E%3Cpath%20d=%22M64.526%2067.018l-29.466.88-.296-6.44c7.578-.746%2016.08-1.306%2029.465-.879z%22%20color=%22#000%22%20fill=%22url(#k)%22/%3E%3Cpath%20d=%22M39.749%2062.438a17382.86%2017382.86%200%200%200-16.022-9.136c-7.035-4.007-12.814-7.308-12.842-7.335-.028-.027%209.023-5.125%2020.114-11.329L51.164%2023.36l.041%207.98c.023%204.39.047%2012.504.052%2018.034l.01%2010.053-.258.043c-1.31.216-2.573.602-3.6%201.102-1.394.678-3.04%202.007-3.947%203.188-.227.296-.428.536-.447.533a258.47%20258.47%200%200%201-3.266-1.854zm19.433.916c-1.387-1.72-3.778-3.223-5.848-3.68a84.366%2084.366%200%200%201-1.148-.258c-.103-.026-.17-5.28-.231-18.058-.047-9.91-.072-18.034-.055-18.05.033-.034%2038.983%2022.448%2039.105%2022.57.073.073-30.92%2018.297-31.09%2018.28-.05-.005-.38-.367-.733-.804zM10.639%2069.42c0-18.118.034-22.668.17-22.583.094.058%207.285%204.221%2015.98%209.252%209.32%205.392%2015.801%209.22%2015.79%209.327-.011.1-.12.542-.244.985-.509%201.835-.413%204.334.24%206.25l.307.9-15.328%208.835a7575.428%207575.428%200%200%201-16.122%209.278l-.793.444zM76.18%2083.365c-8.53-5.14-15.551-9.39-15.604-9.443-.052-.052.06-.584.25-1.183.514-1.62.592-4.195.184-6.007-.163-.72-.275-1.328-.25-1.349.147-.123%2030.997-18.63%2031.055-18.63.098%200%20.056%2038.69-.046%2042.727l-.082%203.233z%22%20fill=%22#7ccff4%22/%3E%3Cpath%20d=%22M92.898%2047.736c-1.658%207.32%203.673%2035.148-.816%2037.094-9.788-16.912-21.55-23.98-21.55-23.98s15.22-10.893%2022.366-13.114zM52.12%2022.772c5.53%205.076%2032.33%2014.27%2031.79%2019.131-19.54.097-31.517%206.795-31.517%206.795s-1.893-18.62-.273-25.926zM10.95%2045.233C18.165%2043.167%2040%2025.11%2043.865%2028.108c-10.12%2016.716-10.66%2030.428-10.66%2030.428S16.333%2050.43%2010.95%2045.233zm-.857%2047.424c1.753-7.298-3.22-35.193%201.293-37.08%209.57%2017.036%2021.24%2024.255%2021.24%2024.255s-15.36%2010.696-22.533%2012.825z%22%20fill=%22#98ddf4%22/%3E%3Cpath%20d=%22M10.564%2046.162l41.054-23.67L92.644%2046.21l-.027%2047.383L59.74%2074.253a9.364%209.364%200%201%200-16.216-.008L10.543%2093.551zM43.022%2065.23L10.568%2046.171m41.05-23.284l.023%2037.158m8.689%205.13L92.646%2046.21%22%20fill=%22none%22%20stroke=%22#275d75%22%20stroke-width=%223.009%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22translate(-44.235%2067.501)%20scale(.75005)%22%20stroke=%22#00f400%22%3E%3Ccircle%20r=%2224.508%22%20cy=%221.741%22%20cx=%22128.644%22%20opacity=%22.95%22%20fill=%22#272524%22%20stroke-width=%222.247%22%20stroke-linecap=%22round%22/%3E%3Cpath%20d=%22M113.085%2010.269h16.744V-9.227h14.781%22%20fill=%22none%22%20stroke-width=%222.682%22/%3E%3C/g%3E%3Ctext%20style=%22line-height:1.25%22%20x=%228.309%22%20y=%2217.029%22%20font-weight=%22400%22%20font-size=%2221.804%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%22.545%22%3E%3Ctspan%20x=%228.309%22%20y=%2217.029%22%3E16Bytes%3C/tspan%3E%3C/text%3E%3C/svg%3E", - "otid": 1596697289362 + "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=%22M164.218%2077.643L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v26.186l61.698.046c8.012-.043%2015.705%203.133%2021.47%208.81l61.448%2061.315a57.292%2057.292%200%200%200%2039.993%2016.139%2057.292%2057.292%200%200%200-39.993%2016.14L83.668%20190.45c-5.765%205.677-13.458%208.853-21.47%208.81L.5%20199.306v26.186h62.612c14.924.039%2029.463-5.9%2040.204-16.28l60.902-60.863a29.857%2029.857%200%200%201%2021.347-8.81l146.53-.113V86.457H185.571a29.884%2029.884%200%200%201-21.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "01edffcc-6e84-40ff-a986-e6bb1d144035", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "tx", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 1168, - "y": 536 - } - }, - { - "id": "874e0745-10f1-45c2-8893-f7dfad87390d", - "type": "basic.outputLabel", + "id": "a1770adf-e143-4506-9d87-3cb9c870f534", + "type": "basic.input", "data": { - "blockColor": "yellow", - "name": "clk" + "name": "1", + "range": "[3:0]", + "clock": false, + "size": 4 }, "position": { - "x": 648, - "y": 544 + "x": 128, + "y": 168 } }, { - "id": "bef1b4c2-b479-4152-ba4d-eb6b9906949c", - "type": "basic.input", + "id": "1269698e-e555-4fcb-a613-cb4c7ff2e598", + "type": "basic.output", "data": { "name": "", - "clock": true + "range": "[7:0]", + "size": 8 }, "position": { - "x": -32, - "y": 584 + "x": 640, + "y": 200 } }, { - "id": "e957a950-a21d-4560-8c01-c477d88a75a2", - "type": "basic.inputLabel", + "id": "843164ff-f7d8-48b9-bf59-1e0d1135c81f", + "type": "basic.input", "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "name": "0", + "range": "[3:0]", + "clock": false, + "size": 4 }, "position": { - "x": 112, - "y": 584 + "x": 128, + "y": 224 } }, { - "id": "757f1816-834d-4cd7-a5e1-d726a472de91", - "type": "basic.output", + "id": "16e78204-213e-4833-9096-89d735307ec2", + "type": "basic.code", "data": { - "name": "tx" + "code": "assign o = {i1, i0};\n", + "params": [], + "ports": { + "in": [ + { + "name": "i1", + "range": "[3:0]", + "size": 4 + }, + { + "name": "i0", + "range": "[3:0]", + "size": 4 + } + ], + "out": [ + { + "name": "o", + "range": "[7:0]", + "size": 8 + } + ] + } }, "position": { - "x": 1456, - "y": 600 + "x": 296, + "y": 176 + }, + "size": { + "width": 272, + "height": 104 } + } + ], + "wires": [ + { + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o" + }, + "target": { + "block": "1269698e-e555-4fcb-a613-cb4c7ff2e598", + "port": "in" + }, + "size": 8 }, { - "id": "b5a3b2cc-7b32-4ac9-b6bf-002fe40d9ebe", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "tx", - "oldBlockColor": "fuchsia" + "source": { + "block": "a1770adf-e143-4506-9d87-3cb9c870f534", + "port": "out" }, - "position": { - "x": 1304, - "y": 600 - } + "target": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i1" + }, + "size": 4 }, { - "id": "25428eb9-c2a5-476c-8ea5-4876e3cb78cb", + "source": { + "block": "843164ff-f7d8-48b9-bf59-1e0d1135c81f", + "port": "out" + }, + "target": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i0" + }, + "size": 4 + } + ] + } + } + }, + "a1ce303b8ce47a06371ea4641c81460f34a1cca9": { + "package": { + "name": "AdderC-4bits", + "version": "0.1", + "description": "AdderC-4bits: Adder of two operands of 4 bits and Carry in", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618560481898 + }, + "design": { + "graph": { + "blocks": [ + { + "id": "1c9b3962-5793-4e6f-98d4-9ca2113d0823", "type": "basic.inputLabel", "data": { - "blockColor": "fuchsia", - "name": "stdo", - "range": "[9:0]", + "blockColor": "deeppink", + "name": "a3", "pins": [ - { - "index": "9", - "name": "", - "value": "" - }, - { - "index": "8", - "name": "", - "value": "" - }, - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, { "index": "0", - "name": "", - "value": "" + "name": "NULL", + "value": "NULL" } ], - "virtual": true + "virtual": true, + "oldBlockColor": "deeppink" }, "position": { - "x": 1160, - "y": 616 + "x": 8, + "y": -744 } }, { - "id": "2226faa1-dd30-45cc-b4fb-2bcffd758576", + "id": "161a3e27-de9b-4674-b990-c1e8314a29f3", "type": "basic.outputLabel", "data": { - "blockColor": "fuchsia", - "name": "stdo_1", - "range": "[9:0]", - "oldBlockColor": "fuchsia", - "size": 10 + "blockColor": "deeppink", + "name": "a3", + "oldBlockColor": "deeppink" }, "position": { - "x": 648, - "y": 616 + "x": 576, + "y": -736 } }, { - "id": "b1e41924-f354-4744-b5f0-a93a1fdc6828", - "type": "basic.input", + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", "data": { - "name": "trig", - "clock": false + "name": "c" }, "position": { - "x": -32, - "y": 664 + "x": 920, + "y": -696 } }, { - "id": "4de777a9-a4a5-4ace-adf6-688298d0d736", + "id": "73a0a48e-d345-4eda-8603-782e9865d928", "type": "basic.inputLabel", "data": { - "blockColor": "fuchsia", - "name": "trig", + "blockColor": "deeppink", + "name": "a2", "pins": [ { "index": "0", @@ -5493,89 +5284,81 @@ "value": "NULL" } ], - "virtual": true + "virtual": true, + "oldBlockColor": "deeppink" }, "position": { - "x": 112, - "y": 664 + "x": 8, + "y": -688 } }, { - "id": "9cdfc247-4374-4660-b8c7-246e9aa090d7", - "type": "basic.input", + "id": "05fb13c5-879a-422f-84a8-56d1db8816da", + "type": "basic.outputLabel", "data": { - "name": "ch", - "range": "[7:0]", - "clock": false, - "size": 8 + "blockColor": "fuchsia", + "name": "b3", + "oldBlockColor": "fuchsia" }, "position": { - "x": -32, - "y": 752 + "x": 576, + "y": -672 } }, { - "id": "b3f14933-93b7-4bc1-8585-471518a370ce", + "id": "a30f87da-7077-4ad6-92dd-adbfdd1bed45", "type": "basic.inputLabel", "data": { - "name": "ch", - "range": "[7:0]", + "blockColor": "deeppink", + "name": "a1", "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, { "index": "0", - "name": "", - "value": "" + "name": "NULL", + "value": "NULL" } ], "virtual": true, - "blockColor": "fuchsia" + "oldBlockColor": "deeppink" }, "position": { - "x": 120, - "y": 752 + "x": 8, + "y": -632 } }, { - "id": "97a9bf0d-0475-40fe-bcc2-f75e2b928290", + "id": "c2d36218-be99-4dd1-bf69-7690c667255b", + "type": "basic.input", + "data": { + "name": "", + "range": "[3:0]", + "clock": false, + "size": 4 + }, + "position": { + "x": -312, + "y": -632 + } + }, + { + "id": "ed7a30bc-17fc-444e-89e5-aa9f83b32e86", + "type": "basic.outputLabel", + "data": { + "blockColor": "deeppink", + "name": "a2", + "oldBlockColor": "deeppink" + }, + "position": { + "x": 456, + "y": -584 + } + }, + { + "id": "d7d5e8c8-78dd-41a8-aedf-1051b89bfb77", "type": "basic.inputLabel", "data": { - "blockColor": "fuchsia", - "name": "on2", + "blockColor": "deeppink", + "name": "a0", "pins": [ { "index": "0", @@ -5587,452 +5370,250 @@ "oldBlockColor": "fuchsia" }, "position": { - "x": 1136, - "y": 760 + "x": 8, + "y": -576 } }, { - "id": "a76b111f-f808-4e45-8873-d8e76eb8612e", + "id": "3c8597e6-ca79-494a-9a53-04c284205216", "type": "basic.outputLabel", "data": { - "blockColor": "yellow", - "name": "clk" + "blockColor": "fuchsia", + "name": "b2", + "oldBlockColor": "fuchsia" }, "position": { - "x": 824, - "y": 768 + "x": 456, + "y": -528 } }, { - "id": "95f8ff76-02e4-4f69-8db6-d285cfe13d4a", + "id": "ee992ca6-d586-4901-aaa3-a17d94ddac84", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "b3", + "pins": [ + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia" + }, + "position": { + "x": -8, + "y": -448 + } + }, + { + "id": "c5dce3e4-5ecc-4fc9-bbf6-7c1adfa1c7ff", "type": "basic.outputLabel", "data": { - "blockColor": "yellow", - "name": "clk" + "blockColor": "deeppink", + "name": "a1", + "oldBlockColor": "fuchsia" }, "position": { "x": 328, - "y": 784 + "y": -440 } }, { - "id": "db47aa3d-add3-4672-aad0-e71644d43161", + "id": "fb8bbeb1-5c60-4629-bc13-231545818d0b", "type": "basic.inputLabel", "data": { "blockColor": "fuchsia", - "name": "stdo_1", - "range": "[9:0]", + "name": "b2", "pins": [ - { - "index": "9", - "name": "", - "value": "" - }, - { - "index": "8", - "name": "", - "value": "" - }, - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, { "index": "0", - "name": "", - "value": "" + "name": "NULL", + "value": "NULL" } ], - "virtual": true + "virtual": true, + "oldBlockColor": "fuchsia" }, "position": { - "x": 1184, - "y": 824 + "x": -8, + "y": -384 } }, { - "id": "b1cd47ec-5a10-4bd1-bff9-a9d1707d621d", - "type": "basic.outputLabel", + "id": "d192d0af-e7be-4be6-925a-50227d80784c", + "type": "basic.input", "data": { - "blockColor": "yellow", - "name": "clk" + "name": "", + "range": "[3:0]", + "clock": false, + "size": 4 }, "position": { - "x": 1312, - "y": 840 + "x": -312, + "y": -384 } }, { - "id": "f443dcde-4fbe-46f8-90d9-94a64a06a928", + "id": "038a8cb8-35b8-424a-9d14-c320cfcddccf", "type": "basic.outputLabel", "data": { "blockColor": "fuchsia", - "name": "stdo", - "range": "[9:0]", - "size": 10 + "name": "b1" }, "position": { - "x": 792, - "y": 848 + "x": 328, + "y": -376 } }, { - "id": "096003ce-186a-4b28-8793-420c798499d2", - "type": "basic.outputLabel", + "id": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42", + "type": "basic.output", "data": { - "name": "mbus", - "range": "[13:0]", - "blockColor": "fuchsia", - "size": 14 + "name": "s", + "range": "[3:0]", + "size": 4 }, "position": { - "x": 264, - "y": 856 + "x": 1064, + "y": -368 } }, { - "id": "72a72392-ecf8-409d-a508-2d2c6c1b136c", + "id": "527c9113-e440-454b-b427-182b646c10f5", "type": "basic.inputLabel", "data": { - "name": "mbus", - "range": "[13:0]", + "blockColor": "fuchsia", + "name": "b1", "pins": [ - { - "index": "13", - "name": "", - "value": "" - }, - { - "index": "12", - "name": "", - "value": "" - }, - { - "index": "11", - "name": "", - "value": "" - }, - { - "index": "10", - "name": "", - "value": "" - }, - { - "index": "9", - "name": "", - "value": "" - }, - { - "index": "8", - "name": "", - "value": "" - }, - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, { "index": "0", - "name": "", - "value": "" + "name": "NULL", + "value": "NULL" } ], - "virtual": true, - "blockColor": "fuchsia" + "virtual": true }, "position": { - "x": 1616, - "y": 896 - } + "x": -16, + "y": -320 + } }, { - "id": "02620ac0-eba1-4e7b-8c7c-42f281dfad06", + "id": "f8dceaf6-6020-49e5-b775-ed4821fbd5bd", "type": "basic.outputLabel", "data": { - "blockColor": "fuchsia", - "name": "trig", + "blockColor": "deeppink", + "name": "a0", "oldBlockColor": "fuchsia" }, "position": { - "x": 224, - "y": 944 + "x": 184, + "y": -296 } }, { - "id": "8de3b7b2-f1f3-41a6-91c1-dcd310e375b5", + "id": "b652825e-10ba-47cc-9832-e39d73586234", "type": "basic.inputLabel", "data": { "blockColor": "fuchsia", - "name": "data2", - "range": "[7:0]", + "name": "b0", "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, { "index": "0", - "name": "", - "value": "" + "name": "NULL", + "value": "NULL" } ], "virtual": true, "oldBlockColor": "fuchsia" }, "position": { - "x": 1152, - "y": 1000 + "x": -32, + "y": -264 } }, { - "id": "db924183-9079-4d5e-ba72-24086b523403", + "id": "7e5351cc-ea73-4bb2-9dda-0390f005b90b", "type": "basic.outputLabel", "data": { - "name": "ch", - "range": "[7:0]", "blockColor": "fuchsia", - "size": 8 - }, - "position": { - "x": 280, - "y": 1016 - } - }, - { - "id": "e7b0e2e7-b435-4215-a6f7-d9ac0c6726bd", - "type": "basic.constant", - "data": { - "name": "sclk", - "value": "12000000", - "local": false - }, - "position": { - "x": 880, - "y": 480 - } - }, - { - "id": "a23126b7-19d0-4249-b3da-817a04fac6a6", - "type": "basic.constant", - "data": { - "name": "bps", - "value": "115200", - "local": false - }, - "position": { - "x": 1040, - "y": 480 - } - }, - { - "id": "68b503e6-2b67-4fba-9b21-96ca03b1ac6a", - "type": "basic.memory", - "data": { - "name": "", - "list": "00\n01\n02\n03\n04\n05\n06\n07\n08\n09\n0A\n0B\n0C\n0D\n0E\n0F\n", - "local": true, - "format": 10 - }, - "position": { - "x": 1424, - "y": 672 - }, - "size": { - "width": 152, - "height": 160 - } - }, - { - "id": "1b7cce1e-5e7b-4fef-93cd-ff06c9262fbf", - "type": "basic.info", - "data": { - "info": "## Icerok-probe machine\n\nMachine for capturing data, storing it in the memory and transmit \nto the computer by serial port", - "readonly": true + "name": "b0", + "oldBlockColor": "fuchsia" }, "position": { - "x": -48, - "y": 368 - }, - "size": { - "width": 688, - "height": 88 + "x": 184, + "y": -232 } }, { - "id": "1a5dba1d-460f-4fe7-b89a-e82a5ce80797", - "type": "basic.info", + "id": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86", + "type": "basic.input", "data": { - "info": "Writing the data to the memory on \nevery system clock cycle", - "readonly": true + "name": "ci", + "clock": false }, "position": { - "x": 368, - "y": 1080 - }, - "size": { - "width": 296, - "height": 56 + "x": -296, + "y": -168 } }, { - "id": "e9eeb570-af93-4a48-a7bb-b2373f112a3d", - "type": "basic.info", - "data": { - "info": "Transmiting the raw memory contents \nto the computer, by serial port", - "readonly": true - }, + "id": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", "position": { - "x": 936, - "y": 1080 + "x": 464, + "y": -392 }, "size": { - "width": 296, - "height": 56 + "width": 96, + "height": 96 } }, { - "id": "120026aa-96d4-4c3f-bdf9-6ae35383aa84", - "type": "basic.info", - "data": { - "info": "When the sampling is done \ntransmit the information to \nthe computer", - "readonly": true - }, + "id": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", "position": { - "x": 664, - "y": 992 + "x": 608, + "y": -544 }, "size": { - "width": 280, - "height": 72 + "width": 96, + "height": 96 } }, { - "id": "7c470f08-1331-4242-ad22-412c4e83cf61", - "type": "basic.info", - "data": { - "info": "Memory were the data \nis stored", - "readonly": true - }, + "id": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "type": "c4f23ad05c2010ec9bd213c8814c9238873037ae", "position": { - "x": 1448, - "y": 984 + "x": -168, + "y": -416 }, "size": { - "width": 216, - "height": 64 + "width": 96, + "height": 128 } }, { - "id": "8d4702c6-7ee0-4768-9480-03d077785a14", - "type": "5db16434c331e6689e301a8620b611571d914365", + "id": "57e59301-2919-4f06-ba95-54ce5d99d774", + "type": "c4f23ad05c2010ec9bd213c8814c9238873037ae", "position": { - "x": 1456, - "y": 896 + "x": -152, + "y": -664 }, "size": { "width": 96, - "height": 64 + "height": 128 } }, { - "id": "1725cc20-1beb-4be7-b4ec-9e288b631779", - "type": "26ab4b14044d51c1bbe481de5533a9b47d267746", + "id": "11342001-e6e0-443b-af87-0e5d7ada0227", + "type": "84f0a15761ee8b753f67079819a7614923939472", "position": { - "x": 488, - "y": 896 + "x": 896, + "y": -400 }, "size": { "width": 96, @@ -6040,23 +5621,23 @@ } }, { - "id": "90332e4a-ed30-407a-9144-b5a97b4e83e0", - "type": "3611498f72f6612ad9bff72919bddb61a3ef0e82", + "id": "72c87c65-b34b-480f-8cde-cd97c0914014", + "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", "position": { - "x": 984, - "y": 864 + "x": 744, + "y": -688 }, "size": { "width": 96, - "height": 192 + "height": 96 } }, { - "id": "13459b93-cb56-4480-8170-22510d3c3a80", - "type": "af1545e2cba3d57550e8c41f0e5cd36e4ec1e0be", + "id": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", + "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", "position": { - "x": 904, - "y": 600 + "x": 320, + "y": -248 }, "size": { "width": 96, @@ -6067,461 +5648,616 @@ "wires": [ { "source": { - "block": "02620ac0-eba1-4e7b-8c7c-42f281dfad06", + "block": "038a8cb8-35b8-424a-9d14-c320cfcddccf", "port": "outlabel" }, "target": { - "block": "1725cc20-1beb-4be7-b4ec-9e288b631779", - "port": "b14f140b-7bb5-46d9-8019-39c27ff6e0e3" - }, - "vertices": [] + "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + } }, { "source": { - "block": "90332e4a-ed30-407a-9144-b5a97b4e83e0", - "port": "38abb13c-8652-41fb-931c-c7bf760ebb24" + "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "port": "f5a71d7b-de20-4527-80c8-0eb20de0dc77" }, "target": { - "block": "97a9bf0d-0475-40fe-bcc2-f75e2b928290", + "block": "527c9113-e440-454b-b427-182b646c10f5", "port": "inlabel" - }, - "vertices": [] + } }, { "source": { - "block": "90332e4a-ed30-407a-9144-b5a97b4e83e0", - "port": "3066cf48-9921-4487-826e-0464a2dead7a", - "size": 8 + "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "port": "0f7487e5-b070-4277-bba6-acf69934afca" }, "target": { - "block": "8de3b7b2-f1f3-41a6-91c1-dcd310e375b5", + "block": "b652825e-10ba-47cc-9832-e39d73586234", "port": "inlabel" - }, - "vertices": [], - "size": 8 + } }, { "source": { - "block": "90332e4a-ed30-407a-9144-b5a97b4e83e0", - "port": "20d63505-e2fd-44ed-95b9-9f45e8875e70", - "size": 10 + "block": "7e5351cc-ea73-4bb2-9dda-0390f005b90b", + "port": "outlabel" }, "target": { - "block": "db47aa3d-add3-4672-aad0-e71644d43161", - "port": "inlabel" - }, - "vertices": [], - "size": 10 + "block": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", + "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + } }, { "source": { - "block": "f443dcde-4fbe-46f8-90d9-94a64a06a928", + "block": "f8dceaf6-6020-49e5-b775-ed4821fbd5bd", "port": "outlabel" }, "target": { - "block": "90332e4a-ed30-407a-9144-b5a97b4e83e0", - "port": "886b88b1-4987-4f1f-aadd-d82bb53ab445", - "size": 10 - }, - "vertices": [], - "size": 10 + "block": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + } }, { "source": { - "block": "13459b93-cb56-4480-8170-22510d3c3a80", - "port": "93defa79-7f79-4614-8e5b-17ceacc8c7cf", - "size": 10 + "block": "57e59301-2919-4f06-ba95-54ce5d99d774", + "port": "0f7487e5-b070-4277-bba6-acf69934afca" }, "target": { - "block": "25428eb9-c2a5-476c-8ea5-4876e3cb78cb", + "block": "d7d5e8c8-78dd-41a8-aedf-1051b89bfb77", "port": "inlabel" - }, - "vertices": [], - "size": 10 + } }, { "source": { - "block": "2226faa1-dd30-45cc-b4fb-2bcffd758576", + "block": "c5dce3e4-5ecc-4fc9-bbf6-7c1adfa1c7ff", "port": "outlabel" }, "target": { - "block": "13459b93-cb56-4480-8170-22510d3c3a80", - "port": "bf297685-7b54-477f-b9ee-3c143135097b", - "size": 10 - }, - "vertices": [], - "size": 10 + "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + } }, { "source": { - "block": "bef1b4c2-b479-4152-ba4d-eb6b9906949c", - "port": "out" + "block": "57e59301-2919-4f06-ba95-54ce5d99d774", + "port": "f5a71d7b-de20-4527-80c8-0eb20de0dc77" }, "target": { - "block": "e957a950-a21d-4560-8c01-c477d88a75a2", + "block": "a30f87da-7077-4ad6-92dd-adbfdd1bed45", "port": "inlabel" - }, - "vertices": [] + } }, { "source": { - "block": "874e0745-10f1-45c2-8893-f7dfad87390d", - "port": "outlabel" + "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "port": "33072210-9ba0-4659-8339-95952b939e6e" }, "target": { - "block": "13459b93-cb56-4480-8170-22510d3c3a80", - "port": "2d00d963-00f8-4a0a-9cb8-a4e5bfb61323" + "block": "fb8bbeb1-5c60-4629-bc13-231545818d0b", + "port": "inlabel" } }, { "source": { - "block": "13459b93-cb56-4480-8170-22510d3c3a80", - "port": "f2043f09-b391-40ea-9d1d-721438b68ef1" + "block": "57e59301-2919-4f06-ba95-54ce5d99d774", + "port": "33072210-9ba0-4659-8339-95952b939e6e" }, "target": { - "block": "01edffcc-6e84-40ff-a986-e6bb1d144035", + "block": "73a0a48e-d345-4eda-8603-782e9865d928", "port": "inlabel" } }, { "source": { - "block": "b5a3b2cc-7b32-4ac9-b6bf-002fe40d9ebe", + "block": "3c8597e6-ca79-494a-9a53-04c284205216", "port": "outlabel" }, "target": { - "block": "757f1816-834d-4cd7-a5e1-d726a472de91", - "port": "in" + "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" } }, { "source": { - "block": "b1e41924-f354-4744-b5f0-a93a1fdc6828", - "port": "out" + "block": "ed7a30bc-17fc-444e-89e5-aa9f83b32e86", + "port": "outlabel" }, "target": { - "block": "4de777a9-a4a5-4ace-adf6-688298d0d736", + "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + } + }, + { + "source": { + "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "port": "bbe1895b-be8b-4237-b0d1-ae592e3e6208" + }, + "target": { + "block": "ee992ca6-d586-4901-aaa3-a17d94ddac84", "port": "inlabel" } }, { "source": { - "block": "9cdfc247-4374-4660-b8c7-246e9aa090d7", - "port": "out", - "size": 8 + "block": "57e59301-2919-4f06-ba95-54ce5d99d774", + "port": "bbe1895b-be8b-4237-b0d1-ae592e3e6208" }, "target": { - "block": "b3f14933-93b7-4bc1-8585-471518a370ce", + "block": "1c9b3962-5793-4e6f-98d4-9ca2113d0823", "port": "inlabel" }, - "size": 8 + "vertices": [ + { + "x": -24, + "y": -696 + } + ] }, { "source": { - "block": "db924183-9079-4d5e-ba72-24086b523403", + "block": "05fb13c5-879a-422f-84a8-56d1db8816da", "port": "outlabel" }, "target": { - "block": "1725cc20-1beb-4be7-b4ec-9e288b631779", - "port": "9978357f-7ad7-44b5-97d2-b44692508773", - "size": 8 - }, - "size": 8 + "block": "72c87c65-b34b-480f-8cde-cd97c0914014", + "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + } }, { "source": { - "block": "95f8ff76-02e4-4f69-8db6-d285cfe13d4a", + "block": "161a3e27-de9b-4674-b990-c1e8314a29f3", "port": "outlabel" }, "target": { - "block": "1725cc20-1beb-4be7-b4ec-9e288b631779", - "port": "7fb933a6-5c63-4d46-8aaa-440b30974993" + "block": "72c87c65-b34b-480f-8cde-cd97c0914014", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" } }, { "source": { - "block": "a76b111f-f808-4e45-8873-d8e76eb8612e", - "port": "outlabel" + "block": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "90332e4a-ed30-407a-9144-b5a97b4e83e0", - "port": "7fb933a6-5c63-4d46-8aaa-440b30974993" + "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "port": "5e915366-608a-431a-bf68-8c64fb4c302c" } }, { "source": { - "block": "b1cd47ec-5a10-4bd1-bff9-a9d1707d621d", - "port": "outlabel" + "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "port": "c7d2d573-b901-420e-a923-6832e5b18e34" }, "target": { - "block": "8d4702c6-7ee0-4768-9480-03d077785a14", - "port": "6080df5a-c853-47cf-aaa7-c5a8f1e65879" + "block": "11342001-e6e0-443b-af87-0e5d7ada0227", + "port": "969e11ca-69e8-403b-a566-7bf2fbe3a5a8" } }, { "source": { - "block": "8d4702c6-7ee0-4768-9480-03d077785a14", - "port": "29234969-c318-4201-b86b-7bbc0f38d2c2", - "size": 14 + "block": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", + "port": "c7d2d573-b901-420e-a923-6832e5b18e34" }, "target": { - "block": "72a72392-ecf8-409d-a508-2d2c6c1b136c", - "port": "inlabel" + "block": "11342001-e6e0-443b-af87-0e5d7ada0227", + "port": "e4111201-8441-4e7d-bcd2-bcf9d265d043" + } + }, + { + "source": { + "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, - "size": 14 + "target": { + "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "port": "5e915366-608a-431a-bf68-8c64fb4c302c" + } }, { "source": { - "block": "096003ce-186a-4b28-8793-420c798499d2", - "port": "outlabel" + "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "port": "c7d2d573-b901-420e-a923-6832e5b18e34" }, "target": { - "block": "1725cc20-1beb-4be7-b4ec-9e288b631779", - "port": "9cabcf85-d855-4e65-96c9-13c244d34d4d", - "size": 14 + "block": "11342001-e6e0-443b-af87-0e5d7ada0227", + "port": "346b4ae4-4bb6-4845-9c17-3b25e0dde718" }, "vertices": [ { - "x": 400, - "y": 912 + "x": 824, + "y": -424 } - ], - "size": 14 + ] }, { "source": { - "block": "68b503e6-2b67-4fba-9b21-96ca03b1ac6a", - "port": "memory-out" + "block": "d192d0af-e7be-4be6-925a-50227d80784c", + "port": "out" }, "target": { - "block": "8d4702c6-7ee0-4768-9480-03d077785a14", - "port": "b07ab569-1013-48d4-916e-4e447f8ea11b" + "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "port": "0ebd46a4-769b-45e6-bcaf-e3796264aed3" }, - "vertices": [] + "size": 4 }, { "source": { - "block": "1725cc20-1beb-4be7-b4ec-9e288b631779", - "port": "95c4416f-62f5-4196-a406-f7915d40a572" + "block": "c2d36218-be99-4dd1-bf69-7690c667255b", + "port": "out" }, "target": { - "block": "90332e4a-ed30-407a-9144-b5a97b4e83e0", - "port": "b14f140b-7bb5-46d9-8019-39c27ff6e0e3" + "block": "57e59301-2919-4f06-ba95-54ce5d99d774", + "port": "0ebd46a4-769b-45e6-bcaf-e3796264aed3" }, - "vertices": [] + "size": 4 }, { "source": { - "block": "1725cc20-1beb-4be7-b4ec-9e288b631779", - "port": "0d362d8c-37c7-4a07-af15-ae7af9bbc7c9" + "block": "11342001-e6e0-443b-af87-0e5d7ada0227", + "port": "55180947-6349-4a04-a151-ad69ea2b155e" }, "target": { - "block": "90332e4a-ed30-407a-9144-b5a97b4e83e0", - "port": "472c0cbb-1d6b-4af4-a439-52f52118d405" + "block": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42", + "port": "in" }, - "size": 14 + "size": 4 }, { "source": { - "block": "90332e4a-ed30-407a-9144-b5a97b4e83e0", - "port": "727e032f-d74b-464e-81fe-b30b1e669b9e" + "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "8d4702c6-7ee0-4768-9480-03d077785a14", - "port": "8fd18a6c-a1d7-494a-916f-fe51094f3872" + "block": "72c87c65-b34b-480f-8cde-cd97c0914014", + "port": "5e915366-608a-431a-bf68-8c64fb4c302c" }, - "size": 14 + "vertices": [ + { + "x": 728, + "y": -552 + } + ] }, { "source": { - "block": "a23126b7-19d0-4249-b3da-817a04fac6a6", - "port": "constant-out" + "block": "72c87c65-b34b-480f-8cde-cd97c0914014", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "13459b93-cb56-4480-8170-22510d3c3a80", - "port": "d4a02852-2578-4c4d-b7e2-0708b0ef9794" + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" } }, { "source": { - "block": "e7b0e2e7-b435-4215-a6f7-d9ac0c6726bd", - "port": "constant-out" + "block": "72c87c65-b34b-480f-8cde-cd97c0914014", + "port": "c7d2d573-b901-420e-a923-6832e5b18e34" + }, + "target": { + "block": "11342001-e6e0-443b-af87-0e5d7ada0227", + "port": "6c2aa548-5a4c-4e8d-a56c-a70926b19f18" + } + }, + { + "source": { + "block": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86", + "port": "out" }, "target": { - "block": "13459b93-cb56-4480-8170-22510d3c3a80", - "port": "bb5ac23f-87a4-4029-8fa8-ed6b93a824f9" + "block": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", + "port": "5e915366-608a-431a-bf68-8c64fb4c302c" } } ] } } }, - "5db16434c331e6689e301a8620b611571d914365": { + "c3c498191b14e9288a85fa2871b3966665f75475": { "package": { - "name": "Smem-16B-bus", + "name": "AdderC-8bits", "version": "0.1", - "description": "16B memory. Bus interface", + "description": "AdderC-8bits: Adder of two operands of 8 bits and Carry in", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20viewBox=%220%200%2087.168922%20102.99556%22%20height=%22389.275%22%20width=%22329.457%22%3E%3Cg%20transform=%22translate(-159.832%20-119.548)%22%3E%3Cimage%20xlink:href=%22data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAgM0lEQVR4Xu1dCZBU1bm+PdPTM8CM%20AgMO+yCrAq4oGjWKIIorcYnRlD59saImGlOaqK/UPPeHu5VyjyYuMRu+uFVEjRqX4FNRQURwQVxQ%20YdiGZQYGepZ+33frfK9Oneq+t+/0zHTad/+qU7fv7bt0n/8///L9/znX+1ZTTDHFFFNMMcUUU0wx%20xRRTTDHFFFNMMcUUU0wxxZToofuX8XPo82LqcLaZUhUAMbucraKi4viysrI9jCBkp5gybKBH0un0%20cuy3URC6WwiSXvcRmV9ZVVV1azKZPBvN69+/vzd06FBv2LBh1mkxff31197ixYvJfa+1tfUnHR0d%20x7W1tc3HV2kJQakJQBmZjzYUo99n/qRJk7xTTz3V69WrV5bTY/rmm2+8u+++29u6desO2L0cAnCq%20YXy61AQgYe5bBebvB9XvJRIJ79hjj/VSqZTX3t6e5ZKYBg0a5B133HHenDlzPPRZLQ5VG+a3lpwJ%20kPoH83uT+Ww77rhjCPNjYh+Z/hqK3T5oW9C2obWXlAaQAMCm9SovL/cGDx7sQaWFXBbTTjvt5AsA%20+qwOu7SVSTnOpSgASdBkSjTtPhybkMtioomkyWTjLvmjSK0UncAkJLmMAgDKUwBiqqur81atWkUt%200Bcmc2XJaQCBPtqCvMrKyjztf0wIm9lp1AbjW1paPrIwlUzJaAAJAKgajbYtTwGIaeDAgd6KFSv8%20zmMfloIJcCFf3rOCDT7AKAgAAY78nMCYqC3lB/Q1/Zgy4WB7AERcVAFIiPE333zz6JEjR565ffv2%20Xlu2bKm58847d2psbKQAhGiAmOQr1dTU+J8PPPDAE37wgx8MhgO9BeZg++bNm18588wzXzYQcXtX%20CUGii5ifuuyyy8YD7Fk4YMAAOTHelVde6X300UfejBkzPAhGwG1i5ksA2HdPPfWUd/LJJ7NRczKM%209iOp55577oyzzjrrvwkOGUHIFFsDJIya6nPQQQfdSweGKoyNAgBNIIcmRxQQM15ELcl9oKdU/4yh%202W/sR/anvz98+PD/wqnPozUZc9BeFA3gMv/GG288CgLwaL9+/by+fft6q1ev9gXgqKOO8v/MEUcc%204UOdJUxiUgSmRhv59va3v/2tnztBv9J0+k40Bxe16fLly2effvrpt1EIlCfobg2Q0FYq34J7q6ZN%20mzZ8v/32u5nSKonllhKrPACOyQcofQEonPlZma7GZ6jPFD5v27bN69Onj78/evTon/34xz9+/v77%20719s+NFup5OjOoqJKA7ezjvvPAuM7QuGJkBlyFtXgNkzMbrHUXUx3Utmf/XVVz7zTzrpJL9TTjnl%20FK+EieYrAuO1H8r8nBrgb3/7m1dbW+vNnj3bfzY165AhQ7zPPvvM9wlWrly5DFnD5yAUaQhMB4Qk%20g/My0LxPn3POOQuiOIqJPCDd1IMPPnjiiBEjHiFzObK15Y9Zs2aNn+Ovrq5mKtP74IMPlPjxfvGL%20X3ggCkKpC0AhjNdxfbZb1u9ffPFFb8OGDd4dd9zB+gBv/fr13pgxYzw62OzzTz75hKaWfc5+5jFt%20aX5/hrT7gzQPchQ7awLKZOPB4Nly7CQAbBzlUv38/P7773vQEs0vv/zyckhpNTpkNK6X+i911a/P%20UUe8y2jdI6tgiMj4t956axGFb88996wD0wfRDJDp7G/wQ+l18kJbaoo7jjzyyL8/++yzX8tR7JQG%20EPPRasHQT/FwPkBCwCaJ8zXAhx9+6Esp4lVJqXfDDTf42uDggw/uSVsscjtd+1Gu1/lsETRAkLoP%201whLlizx2+9//3uNbm/8+PHe22+/7e2yyy5ECmluXQ3A5kdeTz/99OlwIOfiVs0mZMwUpAEA6pDx%20fKgEQM6ez4w33niDQuDbLVJzczO/U1hDFdqVjC/cMYt+vYRAx8JUvCtA+Qinew/aeoZ+ZDAjAZ/p%20L730EiMEAkbsY35HXnDLfqdJZn/3poOO1kIB6KwJSAjWBZOXbtq0acK6det4c7v5Dx83bhwZQcEg%20w33mAwFkR7goYE8LghgSpgGiMknfBal7Nff5bIHnsx+5hZPN/vQZrKTaPvvsw/IxagGZYTX1/Qo4%207B8Y/y1RSBiokKIDCN9//upXvzoRUjgMzKxgBMBIgIQQpQwJjElQRymZBgoAnRj9GVzTE/Y5aDQV%20cr39XRRV79p6CQKZlfV7HaPZlPYk0zm6JQDIEHKkL2tqatrcAWIEwMvwfevatWu/efTRR1+wI4BC%20BYA32o625dprr32R/gBab3NdObzSGoAWp+AHp+QfSOVLimWnihSjizGFXu9+7zLVfYaOaWt/lkl0%20Ge+eRy0qbIX7cvoIq484/vjjH4BGbrJCvq1oG9BWo20zqj/U9iZC1H81mY5q1csQ6x+KeHSkHQbS%204VMRA4/RLr3zzjsefYbXXnuNjTbMb98KClf37ne5jkkLZDUX7Nd//vOf3ne/+13vkEMO8Xr37s1I%20gJqAZsHXrtAATB3bTiCPrYXf8NpvfvObG8GHz4UWFuIElkGl/BwO3r+7IaCwfkqlnEH+6LFjx3Kf%20zJc0f9vyAO7IzmfUZ8MW3OO6BweStGd6t912S5Hpb775pjd58mSli8lw5Q3kBBIbGIhrT0QSbgTM%209jGqJ+iMACivX4VM1BnCAOwmW88fy+8XLFjAH9R49NFHPwNPNA3I8mgcHwTp/bYIQC47HmYqcp7j%20OpiuxnjssceW3X777f/D/YcffvhwhIH1+++/vwYd+10aQELBRuRw3/PPP38s0vGLFQayRRWASrQ+%20YF6N7BCbGwYyTUnmm+rf/n/+859P5+df//rX3scff+ypIORbQLkAnSAH0T2WCxDKeg5yLBP/9Kc/%20TbSdwHnz5tEcKMyWj2BjATQhHIzjcJtPjA/XHlUDCAPoDa9T6kXhhv9gMXbhwoW0RYxTqf4JBUtA%205PCUPBLo2m2X+focgQLxAWL+ep4YTJyFnxsaGuhnMSlE6F0mVlv6ATzOaKHNDOLyzkQBSgKVY87a%20vXBEzqVU8eZ8iJhKdJB2CRgBpZPHZaPowRbTB3DVaqHXh4V67oiOKgTaJ+MY40sA5PlL8xJsI/PT%20mE+YIlDEczTYYG7pN9BJnHfvvfd+lk9NYTIkBGy9/PLLn5syZcoqPHRnaIIqU6yYAGMpWeWoA9h1%203333HQfG0ymk6uEPlQAwj01hKVUBEEPz9eZzYQt5h6LLli0jw3k+4XRXALjPnMt6wL3zySOc126u%207QBrtmOQrnnmmWfeVh1hZ5NBHWS+iS03zp8//2O0tSY3UG5a6phjjhkPp2Sc4n/lsCWRaMUe/WJM%20IdcGaQD+vyBgxx7pYc/loGHmz36WgCBbAJgXGAwsoOamm26aJ0ab1kJ+oTWibdF3hQhAC8KQjtNO%20O+0QPPBgSFh5whCksgwmYJjtINIUfPnll2SARkexBUCd35UCQIa710SCjd3vlTHl6Hc1Co9xS5yf%20dl8a4fDDD5+2xx57jAAPVA/gI7eoKVz4/PPPz4EWkAB0RBWAhGl8SM0FF1xwPx4yXo6dtgR7Nm7c%20qOofZgVZrsSctf8ZxOOlYv+DGGcLM7dhYV02LRAaKXz66adZsQH6A6NGjfK++OILf4ChLoMCwHQx%20ne8x6G95/0oaTdh1112PQ6Rw8vXXX/9GZ6FgqviKH/7wh6cB5h2fDQPgD6Dal+3HH6D6WoLpzSuQ%20H6hFR00pCQEITwa5zHcdvygYQFYBBYbPweQy33/ek08+OR9+1DqM9tqJEyfuB6bT0dM6C9II8hNk%20LmrgnJ+Nr98xvGyPggMIBOoNaZqZCwOgACgWfe+99wgHUyv0wxz3fvBOK1naDCqeAES3wdkydmJ6%20ULVPlJSve4whm7z+rNfuvffew1BnMYz9iMGYBhiUAj7AwWfnB1xAiP1eTx4aHKA1qgmoQOuFZMM2%20Le0iVS8hkF2aO3euX6Sw++678/gQNP04tmJhAO4oDTtH4Wouu5+rHiDoWNjz+Tyqdqn+XGsGDGEx%20CJnKfqYJIBhUX19PbMBGAwXPU5swZE8aAWg2g7o9igDwghTU+st4yIEo8qR614PUuNYPcQB2gh0B%20KEnEzz2NAopRQUwPvc62+7YwhJHLePd+7rmI5VnxG6hdpGnJZEHAsPF+4ccLL7ygzKsGp2oFeXyp%20GchlnU0Hd1xzzTXzZs2add306dMPwg1T6AS/yIC1AHhgAn+gDAKyN+yRoGEJQE+HgTbTIwhA4LlK%20bbueea578ry8439oVwI2YfWECv2k1qVdOcqX4bNqAjIQlAySRh1pELTywoceeuhFjfqoAkCOtZmc%208mbY8vfQvsF+jSTKXFcJ3P80FSdasCVbT6OAfE6AAETzB8TMELJHdyR4mBEUwrW8tAqFRFgAeKuq%20HxZ/1iE8nwsHkuq2VcCdUfmN5J3hYVvUbGDGXNTCm8ABqcVExYGQsio0nl9ObYBc9QGIS4fpB0kA%20ILHqCDGm2GrfPTdSvt9toKAQMBQSpsqX05cHUdXbA0ueP0PAHe67776TkSz6K/q8FfdrY8PnXsBi%20Nr/yyiubyMNOFYWqnBiFIMfAAbnBjQA0H4CMFvYPtUMcm99zCpPjHUemqPa7K+bm2aPfbi4zXSaH%20ZvtssAfMsZy+cGKU8Prrr8u790w6WFp28HnnnXc+czJ2JMDt2Wef/QjC+EsiQcH2TKCf/vSnoydM%20mEDm55wPIPWPknCqpmY4i58atTUGm2qZgH/xtK6Y7gI/dtMxCbUNCGk/0PaT6eifKMzX/IA0/IWl%20uI4O9xhA8tUHHHAAGc0+Z3OxAG4ZIfzb7373u0U/+tGPHrDKwzKhGkBz/hBrni6VLqbbn/VgxPy0%20aXT81iFV2c7vlL9mKxIFedZBJVuuANgYiC0IWa9xBcl2hOnxa7Z0BGJ+IAVktZ1C9eqrr34BQGgS%20J+DstddedmGIRr6azAUHYq+gxFAyFwYAhlbxB8vDd6Fgph5ZnkxnBhlBerUjEaeOxHcMGYVs9SST%20XTXunhNUjp1LACT4OuYyOFeuwN5nH3WK+boe4NpkMpU8QG6GU8c4SYSwO7Ot2YpCOCiJMFYRC5Av%20EMUEpABQLCHowHBF8/5tIu6PQlECEtQGFBTNExDzu0MAwpgpFet+F8z4cAFwr8l79EMrkhkF9YVU%20vJjNmgCG2iy+Yf/zmO1n0G8gwTfYbkVuiUg4wK233roIocYcqJyD8cBBkmp1Do41IzlBhldbtqi7%20BUCMCMvURREAXeMCP3axRdSmkS9MpCBBp++AbKwPCilFvMMOO6QBCDUCgh+kCEihMPiyEY7466gL%20fKJTOIBSwZjd+zi2LErsh1apKiFeN3PmzJFXXXXVLI4ONcs77Q4BiFKCnU0AwkZ8wPGiMF8CYDt6%203FcVdurxxx9fftttt82x5gZ0GOx/o5kfsDXIASQlA0CgJrQNmIo0GGqmL6SrEq2cNQE1oDPOOMNO%20FPFHUvq6QwDEvDDmh2mIfBnsRgNhQuPmDKj2HeYXLADC/O0ld7iG0IHAFRrhiK8jBsCqIPAijRxN%20K2oCGslDGwyKBAQh3kxdcskls4Et7207f3LyiEopSmBCg3XrBDlce1kA5a3m3a0oDxtv2+9sQpS3%20AMj/IMgjh68ryHj/nC1MH4BRAZNzFAiqetZsHMucjJw/YQFQ/w1wFn+C6myiuB1RcAC2sl/+8pdX%20wM67zBfmLxDIF4SlS5d6tEfwTL8CQOSvC1CQAIQzsKsFINu9o5gHxfnsj67WfGT6avCigWX3eMZw%20ONx08MgHNTcEZBsEMz0bAjA1ihOoKWG9MPIPs3EAu5FUC0AQCCaCKGB/ABX9oY5YKl6IBsjmXefj%202UcVAG2D7mufn2ufI94N9bpSANi/dejbOo5sMp9l44DoyQOZBxcHUCZ2l1tuuWVfDOZ5uXyBZI4J%20IdX4MzVcm8bWAPqsCSFaFwDlR5ocomyVmNYVDl4+4E22e0URAp0fKgDudWQ6R77sc3cQw0j5W0Bn%20WSPgm1xUCPG4iwOo0VQTla0jT+ULBGoAe0oY2lrUAwxEuKFRL/LVHNEoAD+Cg9kEQ0b3AcLj8rDz%20omiTIEdOlJXZrhDQBrP+UdhDdxHnY7hRAMwBcQD6AxRCt8BUi3RsRV3gEmEBkSaGYC7aLUgo/BwP%20GOJIvyYhNIL5/dHo/EkACBw5AhCZ8Z3VBtrm60i69wtkvnsNRxdr+XR+dxL7VQIgGB7amRnBZvgC%201RRABwsgGLQBcwcell8XFQdIo7hzKdq12B9gagHKhQPAIemDdQG+B+9TDiG3MhH5hoFBuHoU2DYb%20sztjXkKZr+JQ+DkclT2V6+AAk523cQGO8hRqAh7FHMxG4QDWWgHr0b4JWysgmQsEQtuMdOIQePf7%20EHTgqiBs6IAylCmPB0pYazkg/DFkJrdibHeM+nyAHzdTx2ORwkqX6fpMJI7MVxlXTxEdTJob8IH4%20ggSAWjh1xRVXHIEw/CPwhrzrIBaAz61AY1fAAfyQwhBFADISgj/+8Y8XA+s/xnUCyWyqPjJY8wEB%20OvDHsMlOhavjcMZHdwjdz+Fz/NTC7D4FW/aex3o6s0lnjn3PWgtlArlPSHggVmEbyLDQxQJQyLMP%20VhI5KbQs3MUALr300t3g3dvMd2sB1DhT1fcHnnjiiQWQ0jTO3x+d3j+LKg5KowYlVKLCv0EZw7yF%20T0zWdGsCMPq+GHTPPffM5fb73//+RDjg9ZivybUZqA1yYgHEcTBJ9ORzzz33/rxwAM35w41HK8HD%20G7lND+V8AGqBzz//fC1CkmGQ0ibkvSukItGij/rw40HMLhROVpO3rVCqaIyXFoPJHQbTm0IWdhPg%20efa9qoPCagJ2dsJABwfI8ro3jOKBzOgx3Wvj/ZrpQ3XDV50yHJw6dSqxgPEqB4MmYDawMyO5s0IQ%20ZRHH0BBTWkjhF4RZPkVRi1sOPfTQ3ckPMpYTQ7B4J00vcQGtHqowXIJAU81ooNKE9Vt4q7xwAEw8%20+AATPbZiejKLCeT9qnFU0A7xIaoF4GeZi6Awy7afUZgdBtkGCUC+foTqGch0OnwUcLu6qWhCoNBP%20CSEyW/X/1AQ0BfJXxCsKAWdrQSNHwgEybFiteiUeeAMqUWaiKGQ4vX9QQkzla0wgWYPhgFQ7qWA6%20ShKAqCM/2A8IX6SB2yjMd59HQIUjho0CYINaxV6rmGigFoWy1wxMAxD6ElP4iAVk0Dxu2TBI1/7l%20L395CeH6gnzTwYoA0lQXUOXvo63Bfl+0XlYtQAXeZTPhoosuGuv4BBQE4eE87uL4kRkOCmJa2HSv%20sHtJtUtdkukBL7cqriBQAKQBlIvh4pwo/96ACTxPaW6AtbbjJlMTsIX7eU0N08WaXIClxsbAw+/P%20eQAqBMGDdwBCON2pVVdIqCoabiM4gpF9gfxW6Q5v9O7p5LnVy0UUgvAZQiA5fXwryxRogvVIEK1A%20n/tCQBygEoTFpj90agI68jEB7Xg7Vd0JJ5zwACRsnJsIUtZLAoC4lKEgc9U2ChhVAKIJSDj8m7NA%20k8KpEYXUNUd9rmtzrv1XDGLCiQkg+l8sxhUKC4eb8f6ReCmHu3I4X9e/CotLn4Pyvoa8cAA5gXjB%20wy1wLGzm20KglarZiQwBGW9+CWdjPYSuBh01Vh1fIMAThtVHAZzYbHVPD1/OlZzbbHP8bOZrvxg+%20AAdeM3iyDJFANXCJscy5wPYrJUy+SPvas4UH431N90AAJltQfntWAVA1MFofPGhKrsUh7algzPtD%20/SzCJJJXqV4wVWzEd77znbH6IQWp//Da/chr95PJqmZyp3y7QuvOFnaFoYeJzvVmgEHzuHPxxRd/%20hWLdaQr/0Oz1hBQNCJUdCrh4+nXXXTfXrgkIEoBqwp4QgqwLQ1DV8yFcCpZFCQgVazET9Xv4LgMk%20sBfeciFp7MwI7xTcq3131GqSijx6mC4KrJa2t+cuqtPsY0FzAXtaG/BNLLVYtncWGcx8DON/ml7k%20ajgoyRdXA3BL/4ZRjd4fIF8gpwbgfhVuuBWLE/XOUgsgTJzM5yLQFJRhPMbzaFMxdYmd1LWjPvwe%209jO1r3WMKAAaHa59dxNHbsyv79mKxXz5LJXo8xGaH4CXRpCxHIAE5qjVstUE8Dues0FYQHhJGAiv%20JLsGb5+6QLUAjj0ns1dASEY48wFUGCFJ7DTkCyoogqB9h40UiKM5dq6nL0Zrm+14zn21HiIKr6IA%20qXyVizUiUqsGNpOyBJW8oNBsxNT+R4DrNJAVYUigpoVvxyLFS9CuNrUAVB/l9lvEEF6cxMWKskwI%204YMVBvYYw2Xfqe7gILkjPWCaeiiSmAvBLEZGUAJAYVY2ln1eceKJJz4EgW9WqGdai3l/wEpNDQsL%20AwUC8UbrjLrYrhdEmJaCw3cApowPcWsEhQgqZrXCr+4UADKbsTyl3bHdoat/BWkDl8HFYr77P2TK%20JBCMBGrw3uY9Acw9SX4JEDL2fqPh5WZ+l48AqBhkE5aInQoseRJHvVkaphw2pwKJiMOUJVRySEUg%202kYEgqKkaW01z0anrpA3g7jqPSgMLHpGEIUfeo2sPUOIOMAUvGOwCcc2kfk4Rl62oXhlKV44vQrR%202tZcq4Ym3VoAFBFOwtJkD+MhQ7NNCGGihD+C+4sWLeL6gEIBJZlkfr44QKTsIB0dRBruaC90RnGg%20utfxYhMZzsUl+P/Zz8Bd6IgLDOLqYdOdCSKcScwsYhOqt/kSiTeDfICEVDyygJfCcxwaMCGEW0UD%20tEdLYHe5SHEaAjIOD+4vAegEw9193p/PItMpYFGY4nr8BQhKUUlCSTRwSRrEUjD0yVhMQUuB6WET%20RGqwoATfJLqXfARbEyQdDKAGN58hECjXhBCqXYJACBNXQgtsxLYCmmADEMGMfACdHzG8U0WrMnMc%206RGYEk0Q1LElQBR+mgCfeeiTFryq7wvwYRyqg0MniOD8oVjuZwb8t7mWEGSyCUA1VTwQJt4w66IQ%20HJGcq8b1a/EjhoDpcgg9ZKb4lhBemy+Eq9WveF8y3Y1nu2OmTcm+sOKwww7bDXMx9FoYfwvgjXwg%20b7IWhbA/oZ2prbOCQUn3RdFgwlLYmgmK69mEoWs04v0A3OcKFQR/bCGRD+AyWfdQEzKXJ4Nicl8p%20z4IQ8gUmm1PFaCa5tXkgJJSTR7ZeffXVVmFIwLwAzCO7Ce+dPQ8MrYOzVwd/oNJ6nVkzsn9fwhEZ%20i5GfctYG5CjW4sddPBpjIrOhne03hckx5kBahtC8Foxm6l4oaBpRwGpo8yYsJ/eHrNlAeYWy/2gD%200UagDTUgUDVa0i4GeeCBB46DdzkKgkEUitlAaQBWrvpATPdQTIR/8WZwaV/2O/uf6eF1KP8mk1sd%20R2+rWTRyFdoKtAZTKLLd9QGEAWwx6FGKNzD7FXqHMN4dsD8mgo5SRCA0Suaie2PlmNx3CIkPCAEH%204GWRU1GoM8fE+20WPzeaWULN2bCApAMDp7GwwPAZM2bcgCTPWNl1MZhhHx+ulcOYjWI8KjBItr9b%20KCZqVy0aSbvOWdkSCNZk7AHnfA/wxl0trAER241ICT+WbdXQpA0Cgfn1WBz6Idy0xsUAGPrZkxBY%20lWJKx9fj+zRCtjRq1uu7LayKifaeo70BvgDRwEHvvvsuy8KVKFKBi1sUMghI4e14o/hK1BE854JB%20SXtCCEq9Z0GCxHy76SFML1IYOPI5B+CvSBrxHbUMC4fADtV3mwaIic4e52FQzXdMmzat7qyzzjqB%20L+dAWl6D0y0KkbngKmOn4rqX3UUjpQG47Q3vfqAyfE4xCG/Km2ttAHr688D8BSauTAAMqu3+apnY%20BzD2PP2Pf/xjPUZ/BXhzEvqcA5P8yYYFaI5DPau93DeIJO0ZQWB8K1U7gSAw1Mb0tWwpsX+uUPH+%20hRde+FccWmuSR0mopCHd7gTGoSD7vgkDlf1ehncDbwQAVAGmz6IPBpCIfoKwG9UEsDaCQrDOAEGK%206tpdJLDsrrvuehFTig+DJI2DTbcfrPlpvNF8FI3+wYQWqylRpoqoOR8BoGBRw5QKEWHj6CoW0c8C%205q+aBgI/O+It7Yu5y+7EuwOfx7wALtc7E4JRma14FZNHGgEFP2PVdbjzAX3VUIs2DK0eteaTEQUM%20ANMrcCNSBkxrA8zbgJKv5WS8EYC1+iGwSUdhIaPrKTgAkFjD5nde4RQT7DwhdvYnczD/geXfXrBq%20NerIY/gBQ+EfjOY7HdDKMiBo7zYIxfpnn312EXEANsOzZpkBlYJXkYloO/FmFAaznzLnCCdoNjjB%20GqvQIMnzsXDkz1EldDY9VAIWXUYxUetSAKiJuBjXJXhXEEfzZjN4+5Fvhmc11oqunmZ5WWDQGsO/%20FtsEZAxztaxIh7l5L7QKCYD1FpEmtE1mmzZSSEexRmAQVFYXqfnY5tPp1mLT3Gf9n+GHnLm0ccQ3%20GE2ekgC4PNPIz1YWrhuSWs3Jmg5mv0w6bc5rMZ8T5ruyBMiablWSoJAcp39F0iv4UKU1RoW/Wv/H%208KTJ4lmZg/BuYzPntbkCkNGJVl1guWkCiXROu91sIIkkpluOYylm3f7Vw0CZbQlBq2ktFvMTzsBV%2068g1MSRjtTb3HcLOOSJ9Tqj1CMNjSjhMFmNbrWOJAJ6FTg4VReFmGbJTEzXlqlsoJsK/rL9QfO4M%20Tm2jUbKrzCcApLcBB09k0WKXU0wq+2pBle/fHVVeEBU6XCtMuDgIbRRWF7sNocoYYgHFJL3mpRTJ%20rr9Mg+BQryOz8X+ake2bAxzgVSeeby+mAPCXVpvikeFo9cAA9kKoMoCARKKI9iAD4hZzHBsAj27j%20oVIKSOR4O5M8GtC+MtsN5nhHMQVAINKOBowYpKVlLRCpmNShpo4tMQFot1/jawCdtYb5muxRkGAn%20u0BSVXmyntLqgkhsRR5BGkWZEtQCAuAU5rGfm93K3mJqAGmBCjPiq0wTIJEoYudJA2S0LWEz0GZa%202rS2YjuB7j0UmyazgEjF70B7v7Qo42oz+1iRNED4vYrOfDHc3f4/o5hiiimmmGKKKaaYYooppphi%20iimmmGKKKaaYYooppv8FlJhXILrvZ3wAAAAASUVORK5CYII=%22%20preserveAspectRatio=%22none%22%20height=%22102.996%22%20width=%2287.169%22%20x=%22159.832%22%20y=%22119.548%22/%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20x=%22205.024%22%20y=%22157.686%22%20transform=%22scale(.98866%201.01147)%22%20font-weight=%22400%22%20font-size=%2219.302%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#ff0%22%20stroke-width=%22.504%22%3E%3Ctspan%20x=%22205.024%22%20y=%22157.686%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ERAM%3C/tspan%3E%3C/text%3E%3Ctext%20transform=%22scale(.98866%201.01147)%22%20y=%22193.338%22%20x=%22204.398%22%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20font-weight=%22400%22%20font-size=%2226.776%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#0ff%22%20stroke-width=%22.515%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20y=%22193.338%22%20x=%22204.398%22%20font-weight=%22500%22%3E16B%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E", - "otid": 1599036668965 + "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618560481898 }, "design": { "graph": { "blocks": [ { - "id": "6080df5a-c853-47cf-aaa7-c5a8f1e65879", - "type": "basic.input", - "data": { - "name": "", - "clock": true - }, - "position": { - "x": 168, - "y": 392 - } - }, - { - "id": "9edd47b2-4907-40d5-b10f-6aab4a9e797a", + "id": "bc495131-253e-49c9-9cd7-9e843cbe7ce5", "type": "basic.inputLabel", "data": { - "blockColor": "yellow", - "name": "clk", + "name": "a1", + "range": "[3:0]", "pins": [ + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, { "index": "0", "name": "", "value": "" } ], - "virtual": true + "virtual": true, + "blockColor": "deeppink" }, "position": { - "x": 312, - "y": 392 + "x": -64, + "y": -648 } }, { - "id": "270594ca-dba5-499a-8030-08e69613c220", - "type": "basic.outputLabel", + "id": "4bf17d89-89b8-4524-800a-2d15f9bbb111", + "type": "basic.input", "data": { - "blockColor": "yellow", - "name": "clk" - }, + "name": "", + "range": "[7:0]", + "clock": false, + "size": 8 + }, "position": { - "x": 392, - "y": 536 + "x": -408, + "y": -584 + } + }, + { + "id": "dc0243cd-75d9-4b07-bc17-150c250121ba", + "type": "basic.inputLabel", + "data": { + "name": "a0", + "range": "[3:0]", + "pins": [ + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "oldBlockColor": "deeppink", + "blockColor": "deeppink" + }, + "position": { + "x": -64, + "y": -568 } }, { - "id": "29234969-c318-4201-b86b-7bbc0f38d2c2", + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", "type": "basic.output", "data": { - "name": "", - "range": "[13:0]", - "size": 14 + "name": "c" }, "position": { - "x": 1392, - "y": 696 + "x": 832, + "y": -480 + } + }, + { + "id": "bd04885a-8a3a-4215-bbf1-c472c10c44f5", + "type": "basic.outputLabel", + "data": { + "name": "a1", + "range": "[3:0]", + "blockColor": "deeppink", + "size": 4 + }, + "position": { + "x": 248, + "y": -456 + } + }, + { + "id": "ba04e310-65e0-4554-ba2b-fbde28690a0b", + "type": "basic.inputLabel", + "data": { + "name": "b1", + "range": "[3:0]", + "pins": [ + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "blockColor": "fuchsia" + }, + "position": { + "x": -80, + "y": -448 } }, { - "id": "8fd18a6c-a1d7-494a-916f-fe51094f3872", + "id": "3867504b-f331-4e0e-b923-acc86cb4255c", "type": "basic.input", "data": { "name": "", - "range": "[13:0]", + "range": "[7:0]", "clock": false, - "size": 14 + "size": 8 }, "position": { - "x": 168, - "y": 712 + "x": -400, + "y": -392 } }, { - "id": "043752cd-506b-478d-affc-bdad68d7d0a9", - "type": "basic.outputLabel", + "id": "d60cb59e-3e5c-4044-ae1f-3a06f33e83f9", + "type": "basic.inputLabel", "data": { - "blockColor": "yellow", - "name": "clk" + "name": "b0", + "range": "[3:0]", + "pins": [ + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "blockColor": "fuchsia" }, "position": { - "x": 608, - "y": 848 + "x": -80, + "y": -376 } }, { - "id": "a04d00a7-87f1-485e-b24e-13078b946ef8", + "id": "383985cb-fd11-48ff-972a-cee8b631bd65", "type": "basic.outputLabel", "data": { - "blockColor": "yellow", - "name": "clk" + "name": "b1", + "range": "[3:0]", + "blockColor": "fuchsia", + "size": 4 }, "position": { - "x": 600, - "y": 1008 + "x": 248, + "y": -376 } }, { - "id": "b07ab569-1013-48d4-916e-4e447f8ea11b", - "type": "basic.memory", + "id": "9daaaf78-5a89-4d4a-a1b2-db1d3af962f1", + "type": "basic.output", "data": { - "name": "", - "list": "0 0 0 0\n0 0 0 0\n0 0 0 0\n0 0 0 0", - "local": false, - "format": 10 + "name": "s", + "range": "[7:0]", + "size": 8 }, "position": { - "x": 584, - "y": 504 + "x": 840, + "y": -336 + } + }, + { + "id": "7905afe7-6a82-43d9-811b-45f379a3c0a9", + "type": "basic.outputLabel", + "data": { + "name": "a0", + "range": "[3:0]", + "blockColor": "deeppink", + "size": 4 }, - "size": { - "width": 192, - "height": 112 + "position": { + "x": 120, + "y": -304 } }, { - "id": "776c027a-a389-4046-82ee-fa3d006ba0b1", - "type": "d49d834a24f78bb30b74683564d2f13a5cada9fa", + "id": "53d3821c-4072-438d-a45e-3a5364fdc8bc", + "type": "basic.outputLabel", + "data": { + "name": "b0", + "range": "[3:0]", + "blockColor": "fuchsia", + "size": 4 + }, "position": { - "x": 632, - "y": 648 + "x": 120, + "y": -232 + } + }, + { + "id": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86", + "type": "basic.input", + "data": { + "name": "ci", + "clock": false }, - "size": { - "width": 96, - "height": 128 + "position": { + "x": -392, + "y": -168 } }, { - "id": "70e71886-1594-499c-a6f5-a865165730a0", - "type": "6050ed4fa033f3f13d3fe5fae5dcedb414a0fede", + "id": "d5ab6421-1fc7-4d8d-8124-2cc7e0eb931d", + "type": "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a", "position": { - "x": 1216, - "y": 664 + "x": -248, + "y": -392 }, "size": { "width": 96, - "height": 128 + "height": 64 } }, { - "id": "bcc2e005-127b-4ef9-9b22-b07725cda3e2", - "type": "f1dc888a11b743f08087b6e65015fe269bed1f6f", + "id": "d6ce7b9d-d8cf-4cde-85a8-589536fcc3a3", + "type": "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a", "position": { - "x": 352, - "y": 680 + "x": -240, + "y": -584 }, "size": { "width": 96, - "height": 128 + "height": 64 } }, { - "id": "1b598360-9767-43a3-ae76-33599d7814a1", - "type": "a0b8df28f3452068e469a9c210e4e62ae8c78900", + "id": "0e0cf23b-5743-4a19-838d-fb46d407ee16", + "type": "afb28fd5426aea14477d11cbe30a290679f789f8", "position": { - "x": 1024, - "y": 568 + "x": 688, + "y": -336 }, "size": { "width": 96, @@ -6529,626 +6265,494 @@ } }, { - "id": "e96fe029-12e1-4f3a-b939-fa6209fe6269", - "type": "1c7dae7144d376f2ee4896fcc502a29110e2db37", + "id": "840ba8a1-693f-4531-a947-adcaeac4e854", + "type": "a1ce303b8ce47a06371ea4641c81460f34a1cca9", "position": { - "x": 768, - "y": 912 + "x": 320, + "y": -248 }, "size": { "width": 96, - "height": 64 + "height": 96 } }, { - "id": "1bf31738-b963-4b88-b792-23f90903e2b0", - "type": "1c7dae7144d376f2ee4896fcc502a29110e2db37", + "id": "7a4072f6-7500-4b87-86dc-2c63246b510b", + "type": "a1ce303b8ce47a06371ea4641c81460f34a1cca9", "position": { - "x": 768, - "y": 1056 + "x": 464, + "y": -392 }, "size": { "width": 96, - "height": 64 + "height": 96 } } ], "wires": [ { "source": { - "block": "6080df5a-c853-47cf-aaa7-c5a8f1e65879", - "port": "out" + "block": "d5ab6421-1fc7-4d8d-8124-2cc7e0eb931d", + "port": "eb61d084-ca22-4894-b8a2-f936db38f4b1", + "size": 4 }, "target": { - "block": "9edd47b2-4907-40d5-b10f-6aab4a9e797a", + "block": "d60cb59e-3e5c-4044-ae1f-3a06f33e83f9", "port": "inlabel" }, - "vertices": [] + "size": 4 }, { "source": { - "block": "270594ca-dba5-499a-8030-08e69613c220", - "port": "outlabel" + "block": "d5ab6421-1fc7-4d8d-8124-2cc7e0eb931d", + "port": "637e64f4-0a6b-4037-9a75-89397e078a58", + "size": 4 }, "target": { - "block": "776c027a-a389-4046-82ee-fa3d006ba0b1", - "port": "0b91cb0d-4144-4939-8755-e331104016db" + "block": "ba04e310-65e0-4554-ba2b-fbde28690a0b", + "port": "inlabel" }, - "vertices": [ - { - "x": 544, - "y": 616 - } - ] + "size": 4 }, { "source": { - "block": "043752cd-506b-478d-affc-bdad68d7d0a9", - "port": "outlabel" + "block": "d6ce7b9d-d8cf-4cde-85a8-589536fcc3a3", + "port": "eb61d084-ca22-4894-b8a2-f936db38f4b1", + "size": 4 }, "target": { - "block": "e96fe029-12e1-4f3a-b939-fa6209fe6269", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" - } + "block": "dc0243cd-75d9-4b07-bc17-150c250121ba", + "port": "inlabel" + }, + "size": 4 }, { "source": { - "block": "a04d00a7-87f1-485e-b24e-13078b946ef8", - "port": "outlabel" + "block": "d6ce7b9d-d8cf-4cde-85a8-589536fcc3a3", + "port": "637e64f4-0a6b-4037-9a75-89397e078a58", + "size": 4 }, "target": { - "block": "1bf31738-b963-4b88-b792-23f90903e2b0", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" - } + "block": "bc495131-253e-49c9-9cd7-9e843cbe7ce5", + "port": "inlabel" + }, + "size": 4 }, { "source": { - "block": "b07ab569-1013-48d4-916e-4e447f8ea11b", - "port": "memory-out" + "block": "53d3821c-4072-438d-a45e-3a5364fdc8bc", + "port": "outlabel" }, "target": { - "block": "776c027a-a389-4046-82ee-fa3d006ba0b1", - "port": "d80bfd80-1f6d-46af-b5de-5cd121ebe630" + "block": "840ba8a1-693f-4531-a947-adcaeac4e854", + "port": "d192d0af-e7be-4be6-925a-50227d80784c", + "size": 4 }, - "vertices": [] + "size": 4 }, { "source": { - "block": "776c027a-a389-4046-82ee-fa3d006ba0b1", - "port": "2f18358c-ebaa-4fbf-99b4-610ab78deed2" + "block": "7905afe7-6a82-43d9-811b-45f379a3c0a9", + "port": "outlabel" }, "target": { - "block": "70e71886-1594-499c-a6f5-a865165730a0", - "port": "25996d5e-6856-4828-8cb3-5dea5ff5cf9c" + "block": "840ba8a1-693f-4531-a947-adcaeac4e854", + "port": "c2d36218-be99-4dd1-bf69-7690c667255b", + "size": 4 }, - "vertices": [], - "size": 8 + "vertices": [ + { + "x": 272, + "y": -256 + } + ], + "size": 4 }, { "source": { - "block": "bcc2e005-127b-4ef9-9b22-b07725cda3e2", - "port": "74b8320c-7097-4f7b-9c14-fdd8d9a379ca" + "block": "383985cb-fd11-48ff-972a-cee8b631bd65", + "port": "outlabel" }, "target": { - "block": "776c027a-a389-4046-82ee-fa3d006ba0b1", - "port": "9598f3a5-bf63-4e35-ac2e-329d93da7d81" + "block": "7a4072f6-7500-4b87-86dc-2c63246b510b", + "port": "d192d0af-e7be-4be6-925a-50227d80784c", + "size": 4 }, - "vertices": [], "size": 4 }, { "source": { - "block": "bcc2e005-127b-4ef9-9b22-b07725cda3e2", - "port": "afe50480-6fe5-4ca6-b639-c730569a6a1d" + "block": "bd04885a-8a3a-4215-bbf1-c472c10c44f5", + "port": "outlabel" }, "target": { - "block": "776c027a-a389-4046-82ee-fa3d006ba0b1", - "port": "9931384a-74ee-4de4-9df7-cc04fd19cf46" + "block": "7a4072f6-7500-4b87-86dc-2c63246b510b", + "port": "c2d36218-be99-4dd1-bf69-7690c667255b", + "size": 4 }, - "vertices": [], - "size": 8 + "vertices": [ + { + "x": 384, + "y": -400 + } + ], + "size": 4 }, { "source": { - "block": "bcc2e005-127b-4ef9-9b22-b07725cda3e2", - "port": "c79430a3-a90f-40e9-af05-e6da44b5ac8d" + "block": "840ba8a1-693f-4531-a947-adcaeac4e854", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "776c027a-a389-4046-82ee-fa3d006ba0b1", - "port": "c61902b3-38ce-45bf-98c9-322638c2264b" - }, - "vertices": [] + "block": "7a4072f6-7500-4b87-86dc-2c63246b510b", + "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" + } }, { "source": { - "block": "1b598360-9767-43a3-ae76-33599d7814a1", - "port": "53acced8-0736-40f7-8db1-7103a21f31c2" + "block": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86", + "port": "out" }, "target": { - "block": "70e71886-1594-499c-a6f5-a865165730a0", - "port": "5c70a159-1900-4d97-9e7d-961876e03bbe" - }, - "vertices": [], - "size": 4 + "block": "840ba8a1-693f-4531-a947-adcaeac4e854", + "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" + } }, { "source": { - "block": "e96fe029-12e1-4f3a-b939-fa6209fe6269", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + "block": "4bf17d89-89b8-4524-800a-2d15f9bbb111", + "port": "out" }, "target": { - "block": "70e71886-1594-499c-a6f5-a865165730a0", - "port": "dbe1622c-3510-4132-8b5c-2fbf81d7f581" + "block": "d6ce7b9d-d8cf-4cde-85a8-589536fcc3a3", + "port": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e" }, - "vertices": [ - { - "x": 1128, - "y": 888 - } - ] + "size": 8 }, { "source": { - "block": "bcc2e005-127b-4ef9-9b22-b07725cda3e2", - "port": "c79430a3-a90f-40e9-af05-e6da44b5ac8d" + "block": "3867504b-f331-4e0e-b923-acc86cb4255c", + "port": "out" }, "target": { - "block": "e96fe029-12e1-4f3a-b939-fa6209fe6269", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + "block": "d5ab6421-1fc7-4d8d-8124-2cc7e0eb931d", + "port": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e" }, - "vertices": [ - { - "x": 560, - "y": 920 - } - ] + "size": 8 }, { "source": { - "block": "1bf31738-b963-4b88-b792-23f90903e2b0", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + "block": "0e0cf23b-5743-4a19-838d-fb46d407ee16", + "port": "1269698e-e555-4fcb-a613-cb4c7ff2e598" }, "target": { - "block": "70e71886-1594-499c-a6f5-a865165730a0", - "port": "49fb1766-1e7f-4706-9872-a6cd65cc9f2d" + "block": "9daaaf78-5a89-4d4a-a1b2-db1d3af962f1", + "port": "in" }, - "vertices": [] + "size": 8 }, { "source": { - "block": "bcc2e005-127b-4ef9-9b22-b07725cda3e2", - "port": "9751f777-00ec-46c1-8d85-07d2dec1e653" + "block": "840ba8a1-693f-4531-a947-adcaeac4e854", + "port": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42" }, "target": { - "block": "1bf31738-b963-4b88-b792-23f90903e2b0", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + "block": "0e0cf23b-5743-4a19-838d-fb46d407ee16", + "port": "843164ff-f7d8-48b9-bf59-1e0d1135c81f" }, - "vertices": [ - { - "x": 504, - "y": 992 - } - ] + "size": 4 }, { "source": { - "block": "8fd18a6c-a1d7-494a-916f-fe51094f3872", - "port": "out" + "block": "7a4072f6-7500-4b87-86dc-2c63246b510b", + "port": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42" }, "target": { - "block": "bcc2e005-127b-4ef9-9b22-b07725cda3e2", - "port": "3178c182-b1bd-4e92-bc67-6e0868b62279" + "block": "0e0cf23b-5743-4a19-838d-fb46d407ee16", + "port": "a1770adf-e143-4506-9d87-3cb9c870f534" }, - "size": 14 + "size": 4 }, { "source": { - "block": "70e71886-1594-499c-a6f5-a865165730a0", - "port": "d3e51db6-385f-454c-ab74-d71058b21962" + "block": "7a4072f6-7500-4b87-86dc-2c63246b510b", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "29234969-c318-4201-b86b-7bbc0f38d2c2", + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", "port": "in" }, - "size": 14 + "vertices": [ + { + "x": 624, + "y": -392 + } + ] } ] } } }, - "d49d834a24f78bb30b74683564d2f13a5cada9fa": { + "8cc49c9b29485f2cfeab6064d7bb1cf9ced045b1": { "package": { - "name": "Memory-16B", - "version": "1.0", - "description": "16 Bytes Synchronous memory", + "name": "Bus16-Join-half", + "version": "0.1", + "description": "Bus16-Join-half: Join the two same halves into an 16-bits Bus", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20viewBox=%220%200%2087.168922%20106.43202%22%20height=%22402.263%22%20width=%22329.457%22%3E%3Cg%20transform=%22translate(-159.832%20-119.548)%22%3E%3Cimage%20xlink:href=%22data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAgM0lEQVR4Xu1dCZBU1bm+PdPTM8CM%20AgMO+yCrAq4oGjWKIIorcYnRlD59saImGlOaqK/UPPeHu5VyjyYuMRu+uFVEjRqX4FNRQURwQVxQ%20YdiGZQYGepZ+33frfK9Oneq+t+/0zHTad/+qU7fv7bt0n/8///L9/znX+1ZTTDHFFFNMMcUUU0wx%20xRRTTDHFFFNMMcUUU0wxxZToofuX8XPo82LqcLaZUhUAMbucraKi4viysrI9jCBkp5gybKBH0un0%20cuy3URC6WwiSXvcRmV9ZVVV1azKZPBvN69+/vzd06FBv2LBh1mkxff31197ixYvJfa+1tfUnHR0d%20x7W1tc3HV2kJQakJQBmZjzYUo99n/qRJk7xTTz3V69WrV5bTY/rmm2+8u+++29u6desO2L0cAnCq%20YXy61AQgYe5bBebvB9XvJRIJ79hjj/VSqZTX3t6e5ZKYBg0a5B133HHenDlzPPRZLQ5VG+a3lpwJ%20kPoH83uT+Ww77rhjCPNjYh+Z/hqK3T5oW9C2obWXlAaQAMCm9SovL/cGDx7sQaWFXBbTTjvt5AsA%20+qwOu7SVSTnOpSgASdBkSjTtPhybkMtioomkyWTjLvmjSK0UncAkJLmMAgDKUwBiqqur81atWkUt%200Bcmc2XJaQCBPtqCvMrKyjztf0wIm9lp1AbjW1paPrIwlUzJaAAJAKgajbYtTwGIaeDAgd6KFSv8%20zmMfloIJcCFf3rOCDT7AKAgAAY78nMCYqC3lB/Q1/Zgy4WB7AERcVAFIiPE333zz6JEjR565ffv2%20Xlu2bKm58847d2psbKQAhGiAmOQr1dTU+J8PPPDAE37wgx8MhgO9BeZg++bNm18588wzXzYQcXtX%20CUGii5ifuuyyy8YD7Fk4YMAAOTHelVde6X300UfejBkzPAhGwG1i5ksA2HdPPfWUd/LJJ7NRczKM%209iOp55577oyzzjrrvwkOGUHIFFsDJIya6nPQQQfdSweGKoyNAgBNIIcmRxQQM15ELcl9oKdU/4yh%202W/sR/anvz98+PD/wqnPozUZc9BeFA3gMv/GG288CgLwaL9+/by+fft6q1ev9gXgqKOO8v/MEUcc%204UOdJUxiUgSmRhv59va3v/2tnztBv9J0+k40Bxe16fLly2effvrpt1EIlCfobg2Q0FYq34J7q6ZN%20mzZ8v/32u5nSKonllhKrPACOyQcofQEonPlZma7GZ6jPFD5v27bN69Onj78/evTon/34xz9+/v77%20719s+NFup5OjOoqJKA7ezjvvPAuM7QuGJkBlyFtXgNkzMbrHUXUx3Utmf/XVVz7zTzrpJL9TTjnl%20FK+EieYrAuO1H8r8nBrgb3/7m1dbW+vNnj3bfzY165AhQ7zPPvvM9wlWrly5DFnD5yAUaQhMB4Qk%20g/My0LxPn3POOQuiOIqJPCDd1IMPPnjiiBEjHiFzObK15Y9Zs2aNn+Ovrq5mKtP74IMPlPjxfvGL%20X3ggCkKpC0AhjNdxfbZb1u9ffPFFb8OGDd4dd9zB+gBv/fr13pgxYzw62OzzTz75hKaWfc5+5jFt%20aX5/hrT7gzQPchQ7awLKZOPB4Nly7CQAbBzlUv38/P7773vQEs0vv/zyckhpNTpkNK6X+i911a/P%20UUe8y2jdI6tgiMj4t956axGFb88996wD0wfRDJDp7G/wQ+l18kJbaoo7jjzyyL8/++yzX8tR7JQG%20EPPRasHQT/FwPkBCwCaJ8zXAhx9+6Esp4lVJqXfDDTf42uDggw/uSVsscjtd+1Gu1/lsETRAkLoP%201whLlizx2+9//3uNbm/8+PHe22+/7e2yyy5ECmluXQ3A5kdeTz/99OlwIOfiVs0mZMwUpAEA6pDx%20fKgEQM6ez4w33niDQuDbLVJzczO/U1hDFdqVjC/cMYt+vYRAx8JUvCtA+Qinew/aeoZ+ZDAjAZ/p%20L730EiMEAkbsY35HXnDLfqdJZn/3poOO1kIB6KwJSAjWBZOXbtq0acK6det4c7v5Dx83bhwZQcEg%20w33mAwFkR7goYE8LghgSpgGiMknfBal7Nff5bIHnsx+5hZPN/vQZrKTaPvvsw/IxagGZYTX1/Qo4%207B8Y/y1RSBiokKIDCN9//upXvzoRUjgMzKxgBMBIgIQQpQwJjElQRymZBgoAnRj9GVzTE/Y5aDQV%20cr39XRRV79p6CQKZlfV7HaPZlPYk0zm6JQDIEHKkL2tqatrcAWIEwMvwfevatWu/efTRR1+wI4BC%20BYA32o625dprr32R/gBab3NdObzSGoAWp+AHp+QfSOVLimWnihSjizGFXu9+7zLVfYaOaWt/lkl0%20Ge+eRy0qbIX7cvoIq484/vjjH4BGbrJCvq1oG9BWo20zqj/U9iZC1H81mY5q1csQ6x+KeHSkHQbS%204VMRA4/RLr3zzjsefYbXXnuNjTbMb98KClf37ne5jkkLZDUX7Nd//vOf3ne/+13vkEMO8Xr37s1I%20gJqAZsHXrtAATB3bTiCPrYXf8NpvfvObG8GHz4UWFuIElkGl/BwO3r+7IaCwfkqlnEH+6LFjx3Kf%20zJc0f9vyAO7IzmfUZ8MW3OO6BweStGd6t912S5Hpb775pjd58mSli8lw5Q3kBBIbGIhrT0QSbgTM%209jGqJ+iMACivX4VM1BnCAOwmW88fy+8XLFjAH9R49NFHPwNPNA3I8mgcHwTp/bYIQC47HmYqcp7j%20OpiuxnjssceW3X777f/D/YcffvhwhIH1+++/vwYd+10aQELBRuRw3/PPP38s0vGLFQayRRWASrQ+%20YF6N7BCbGwYyTUnmm+rf/n/+859P5+df//rX3scff+ypIORbQLkAnSAH0T2WCxDKeg5yLBP/9Kc/%20TbSdwHnz5tEcKMyWj2BjATQhHIzjcJtPjA/XHlUDCAPoDa9T6kXhhv9gMXbhwoW0RYxTqf4JBUtA%205PCUPBLo2m2X+focgQLxAWL+ep4YTJyFnxsaGuhnMSlE6F0mVlv6ATzOaKHNDOLyzkQBSgKVY87a%20vXBEzqVU8eZ8iJhKdJB2CRgBpZPHZaPowRbTB3DVaqHXh4V67oiOKgTaJ+MY40sA5PlL8xJsI/PT%20mE+YIlDEczTYYG7pN9BJnHfvvfd+lk9NYTIkBGy9/PLLn5syZcoqPHRnaIIqU6yYAGMpWeWoA9h1%203333HQfG0ymk6uEPlQAwj01hKVUBEEPz9eZzYQt5h6LLli0jw3k+4XRXALjPnMt6wL3zySOc126u%207QBrtmOQrnnmmWfeVh1hZ5NBHWS+iS03zp8//2O0tSY3UG5a6phjjhkPp2Sc4n/lsCWRaMUe/WJM%20IdcGaQD+vyBgxx7pYc/loGHmz36WgCBbAJgXGAwsoOamm26aJ0ab1kJ+oTWibdF3hQhAC8KQjtNO%20O+0QPPBgSFh5whCksgwmYJjtINIUfPnll2SARkexBUCd35UCQIa710SCjd3vlTHl6Hc1Co9xS5yf%20dl8a4fDDD5+2xx57jAAPVA/gI7eoKVz4/PPPz4EWkAB0RBWAhGl8SM0FF1xwPx4yXo6dtgR7Nm7c%20qOofZgVZrsSctf8ZxOOlYv+DGGcLM7dhYV02LRAaKXz66adZsQH6A6NGjfK++OILf4ChLoMCwHQx%20ne8x6G95/0oaTdh1112PQ6Rw8vXXX/9GZ6FgqviKH/7wh6cB5h2fDQPgD6Dal+3HH6D6WoLpzSuQ%20H6hFR00pCQEITwa5zHcdvygYQFYBBYbPweQy33/ek08+OR9+1DqM9tqJEyfuB6bT0dM6C9II8hNk%20LmrgnJ+Nr98xvGyPggMIBOoNaZqZCwOgACgWfe+99wgHUyv0wxz3fvBOK1naDCqeAES3wdkydmJ6%20ULVPlJSve4whm7z+rNfuvffew1BnMYz9iMGYBhiUAj7AwWfnB1xAiP1eTx4aHKA1qgmoQOuFZMM2%20Le0iVS8hkF2aO3euX6Sw++678/gQNP04tmJhAO4oDTtH4Wouu5+rHiDoWNjz+Tyqdqn+XGsGDGEx%20CJnKfqYJIBhUX19PbMBGAwXPU5swZE8aAWg2g7o9igDwghTU+st4yIEo8qR614PUuNYPcQB2gh0B%20KEnEzz2NAopRQUwPvc62+7YwhJHLePd+7rmI5VnxG6hdpGnJZEHAsPF+4ccLL7ygzKsGp2oFeXyp%20GchlnU0Hd1xzzTXzZs2add306dMPwg1T6AS/yIC1AHhgAn+gDAKyN+yRoGEJQE+HgTbTIwhA4LlK%20bbueea578ry8439oVwI2YfWECv2k1qVdOcqX4bNqAjIQlAySRh1pELTywoceeuhFjfqoAkCOtZmc%208mbY8vfQvsF+jSTKXFcJ3P80FSdasCVbT6OAfE6AAETzB8TMELJHdyR4mBEUwrW8tAqFRFgAeKuq%20HxZ/1iE8nwsHkuq2VcCdUfmN5J3hYVvUbGDGXNTCm8ABqcVExYGQsio0nl9ObYBc9QGIS4fpB0kA%20ILHqCDGm2GrfPTdSvt9toKAQMBQSpsqX05cHUdXbA0ueP0PAHe67776TkSz6K/q8FfdrY8PnXsBi%20Nr/yyiubyMNOFYWqnBiFIMfAAbnBjQA0H4CMFvYPtUMcm99zCpPjHUemqPa7K+bm2aPfbi4zXSaH%20ZvtssAfMsZy+cGKU8Prrr8u790w6WFp28HnnnXc+czJ2JMDt2Wef/QjC+EsiQcH2TKCf/vSnoydM%20mEDm55wPIPWPknCqpmY4i58atTUGm2qZgH/xtK6Y7gI/dtMxCbUNCGk/0PaT6eifKMzX/IA0/IWl%20uI4O9xhA8tUHHHAAGc0+Z3OxAG4ZIfzb7373u0U/+tGPHrDKwzKhGkBz/hBrni6VLqbbn/VgxPy0%20aXT81iFV2c7vlL9mKxIFedZBJVuuANgYiC0IWa9xBcl2hOnxa7Z0BGJ+IAVktZ1C9eqrr34BQGgS%20J+DstddedmGIRr6azAUHYq+gxFAyFwYAhlbxB8vDd6Fgph5ZnkxnBhlBerUjEaeOxHcMGYVs9SST%20XTXunhNUjp1LACT4OuYyOFeuwN5nH3WK+boe4NpkMpU8QG6GU8c4SYSwO7Ot2YpCOCiJMFYRC5Av%20EMUEpABQLCHowHBF8/5tIu6PQlECEtQGFBTNExDzu0MAwpgpFet+F8z4cAFwr8l79EMrkhkF9YVU%20vJjNmgCG2iy+Yf/zmO1n0G8gwTfYbkVuiUg4wK233roIocYcqJyD8cBBkmp1Do41IzlBhldbtqi7%20BUCMCMvURREAXeMCP3axRdSmkS9MpCBBp++AbKwPCilFvMMOO6QBCDUCgh+kCEihMPiyEY7466gL%20fKJTOIBSwZjd+zi2LErsh1apKiFeN3PmzJFXXXXVLI4ONcs77Q4BiFKCnU0AwkZ8wPGiMF8CYDt6%203FcVdurxxx9fftttt82x5gZ0GOx/o5kfsDXIASQlA0CgJrQNmIo0GGqmL6SrEq2cNQE1oDPOOMNO%20FPFHUvq6QwDEvDDmh2mIfBnsRgNhQuPmDKj2HeYXLADC/O0ld7iG0IHAFRrhiK8jBsCqIPAijRxN%20K2oCGslDGwyKBAQh3kxdcskls4Et7207f3LyiEopSmBCg3XrBDlce1kA5a3m3a0oDxtv2+9sQpS3%20AMj/IMgjh68ryHj/nC1MH4BRAZNzFAiqetZsHMucjJw/YQFQ/w1wFn+C6myiuB1RcAC2sl/+8pdX%20wM67zBfmLxDIF4SlS5d6tEfwTL8CQOSvC1CQAIQzsKsFINu9o5gHxfnsj67WfGT6avCigWX3eMZw%20ONx08MgHNTcEZBsEMz0bAjA1ihOoKWG9MPIPs3EAu5FUC0AQCCaCKGB/ABX9oY5YKl6IBsjmXefj%202UcVAG2D7mufn2ufI94N9bpSANi/dejbOo5sMp9l44DoyQOZBxcHUCZ2l1tuuWVfDOZ5uXyBZI4J%20IdX4MzVcm8bWAPqsCSFaFwDlR5ocomyVmNYVDl4+4E22e0URAp0fKgDudWQ6R77sc3cQw0j5W0Bn%20WSPgm1xUCPG4iwOo0VQTla0jT+ULBGoAe0oY2lrUAwxEuKFRL/LVHNEoAD+Cg9kEQ0b3AcLj8rDz%20omiTIEdOlJXZrhDQBrP+UdhDdxHnY7hRAMwBcQD6AxRCt8BUi3RsRV3gEmEBkSaGYC7aLUgo/BwP%20GOJIvyYhNIL5/dHo/EkACBw5AhCZ8Z3VBtrm60i69wtkvnsNRxdr+XR+dxL7VQIgGB7amRnBZvgC%201RRABwsgGLQBcwcell8XFQdIo7hzKdq12B9gagHKhQPAIemDdQG+B+9TDiG3MhH5hoFBuHoU2DYb%20sztjXkKZr+JQ+DkclT2V6+AAk523cQGO8hRqAh7FHMxG4QDWWgHr0b4JWysgmQsEQtuMdOIQePf7%20EHTgqiBs6IAylCmPB0pYazkg/DFkJrdibHeM+nyAHzdTx2ORwkqX6fpMJI7MVxlXTxEdTJob8IH4%20ggSAWjh1xRVXHIEw/CPwhrzrIBaAz61AY1fAAfyQwhBFADISgj/+8Y8XA+s/xnUCyWyqPjJY8wEB%20OvDHsMlOhavjcMZHdwjdz+Fz/NTC7D4FW/aex3o6s0lnjn3PWgtlArlPSHggVmEbyLDQxQJQyLMP%20VhI5KbQs3MUALr300t3g3dvMd2sB1DhT1fcHnnjiiQWQ0jTO3x+d3j+LKg5KowYlVKLCv0EZw7yF%20T0zWdGsCMPq+GHTPPffM5fb73//+RDjg9ZivybUZqA1yYgHEcTBJ9ORzzz33/rxwAM35w41HK8HD%20G7lND+V8AGqBzz//fC1CkmGQ0ibkvSukItGij/rw40HMLhROVpO3rVCqaIyXFoPJHQbTm0IWdhPg%20efa9qoPCagJ2dsJABwfI8ro3jOKBzOgx3Wvj/ZrpQ3XDV50yHJw6dSqxgPEqB4MmYDawMyO5s0IQ%20ZRHH0BBTWkjhF4RZPkVRi1sOPfTQ3ckPMpYTQ7B4J00vcQGtHqowXIJAU81ooNKE9Vt4q7xwAEw8%20+AATPbZiejKLCeT9qnFU0A7xIaoF4GeZi6Awy7afUZgdBtkGCUC+foTqGch0OnwUcLu6qWhCoNBP%20CSEyW/X/1AQ0BfJXxCsKAWdrQSNHwgEybFiteiUeeAMqUWaiKGQ4vX9QQkzla0wgWYPhgFQ7qWA6%20ShKAqCM/2A8IX6SB2yjMd59HQIUjho0CYINaxV6rmGigFoWy1wxMAxD6ElP4iAVk0Dxu2TBI1/7l%20L395CeH6gnzTwYoA0lQXUOXvo63Bfl+0XlYtQAXeZTPhoosuGuv4BBQE4eE87uL4kRkOCmJa2HSv%20sHtJtUtdkukBL7cqriBQAKQBlIvh4pwo/96ACTxPaW6AtbbjJlMTsIX7eU0N08WaXIClxsbAw+/P%20eQAqBMGDdwBCON2pVVdIqCoabiM4gpF9gfxW6Q5v9O7p5LnVy0UUgvAZQiA5fXwryxRogvVIEK1A%20n/tCQBygEoTFpj90agI68jEB7Xg7Vd0JJ5zwACRsnJsIUtZLAoC4lKEgc9U2ChhVAKIJSDj8m7NA%20k8KpEYXUNUd9rmtzrv1XDGLCiQkg+l8sxhUKC4eb8f6ReCmHu3I4X9e/CotLn4Pyvoa8cAA5gXjB%20wy1wLGzm20KglarZiQwBGW9+CWdjPYSuBh01Vh1fIMAThtVHAZzYbHVPD1/OlZzbbHP8bOZrvxg+%20AAdeM3iyDJFANXCJscy5wPYrJUy+SPvas4UH431N90AAJltQfntWAVA1MFofPGhKrsUh7algzPtD%20/SzCJJJXqV4wVWzEd77znbH6IQWp//Da/chr95PJqmZyp3y7QuvOFnaFoYeJzvVmgEHzuHPxxRd/%20hWLdaQr/0Oz1hBQNCJUdCrh4+nXXXTfXrgkIEoBqwp4QgqwLQ1DV8yFcCpZFCQgVazET9Xv4LgMk%20sBfeciFp7MwI7xTcq3131GqSijx6mC4KrJa2t+cuqtPsY0FzAXtaG/BNLLVYtncWGcx8DON/ml7k%20ajgoyRdXA3BL/4ZRjd4fIF8gpwbgfhVuuBWLE/XOUgsgTJzM5yLQFJRhPMbzaFMxdYmd1LWjPvwe%209jO1r3WMKAAaHa59dxNHbsyv79mKxXz5LJXo8xGaH4CXRpCxHIAE5qjVstUE8Dues0FYQHhJGAiv%20JLsGb5+6QLUAjj0ns1dASEY48wFUGCFJ7DTkCyoogqB9h40UiKM5dq6nL0Zrm+14zn21HiIKr6IA%20qXyVizUiUqsGNpOyBJW8oNBsxNT+R4DrNJAVYUigpoVvxyLFS9CuNrUAVB/l9lvEEF6cxMWKskwI%204YMVBvYYw2Xfqe7gILkjPWCaeiiSmAvBLEZGUAJAYVY2ln1eceKJJz4EgW9WqGdai3l/wEpNDQsL%20AwUC8UbrjLrYrhdEmJaCw3cApowPcWsEhQgqZrXCr+4UADKbsTyl3bHdoat/BWkDl8HFYr77P2TK%20JBCMBGrw3uY9Acw9SX4JEDL2fqPh5WZ+l48AqBhkE5aInQoseRJHvVkaphw2pwKJiMOUJVRySEUg%202kYEgqKkaW01z0anrpA3g7jqPSgMLHpGEIUfeo2sPUOIOMAUvGOwCcc2kfk4Rl62oXhlKV44vQrR%202tZcq4Ym3VoAFBFOwtJkD+MhQ7NNCGGihD+C+4sWLeL6gEIBJZlkfr44QKTsIB0dRBruaC90RnGg%20utfxYhMZzsUl+P/Zz8Bd6IgLDOLqYdOdCSKcScwsYhOqt/kSiTeDfICEVDyygJfCcxwaMCGEW0UD%20tEdLYHe5SHEaAjIOD+4vAegEw9193p/PItMpYFGY4nr8BQhKUUlCSTRwSRrEUjD0yVhMQUuB6WET%20RGqwoATfJLqXfARbEyQdDKAGN58hECjXhBCqXYJACBNXQgtsxLYCmmADEMGMfACdHzG8U0WrMnMc%206RGYEk0Q1LElQBR+mgCfeeiTFryq7wvwYRyqg0MniOD8oVjuZwb8t7mWEGSyCUA1VTwQJt4w66IQ%20HJGcq8b1a/EjhoDpcgg9ZKb4lhBemy+Eq9WveF8y3Y1nu2OmTcm+sOKwww7bDXMx9FoYfwvgjXwg%20b7IWhbA/oZ2prbOCQUn3RdFgwlLYmgmK69mEoWs04v0A3OcKFQR/bCGRD+AyWfdQEzKXJ4Nicl8p%20z4IQ8gUmm1PFaCa5tXkgJJSTR7ZeffXVVmFIwLwAzCO7Ce+dPQ8MrYOzVwd/oNJ6nVkzsn9fwhEZ%20i5GfctYG5CjW4sddPBpjIrOhne03hckx5kBahtC8Foxm6l4oaBpRwGpo8yYsJ/eHrNlAeYWy/2gD%200UagDTUgUDVa0i4GeeCBB46DdzkKgkEUitlAaQBWrvpATPdQTIR/8WZwaV/2O/uf6eF1KP8mk1sd%20R2+rWTRyFdoKtAZTKLLd9QGEAWwx6FGKNzD7FXqHMN4dsD8mgo5SRCA0Suaie2PlmNx3CIkPCAEH%204GWRU1GoM8fE+20WPzeaWULN2bCApAMDp7GwwPAZM2bcgCTPWNl1MZhhHx+ulcOYjWI8KjBItr9b%20KCZqVy0aSbvOWdkSCNZk7AHnfA/wxl0trAER241ICT+WbdXQpA0Cgfn1WBz6Idy0xsUAGPrZkxBY%20lWJKx9fj+zRCtjRq1uu7LayKifaeo70BvgDRwEHvvvsuy8KVKFKBi1sUMghI4e14o/hK1BE854JB%20SXtCCEq9Z0GCxHy76SFML1IYOPI5B+CvSBrxHbUMC4fADtV3mwaIic4e52FQzXdMmzat7qyzzjqB%20L+dAWl6D0y0KkbngKmOn4rqX3UUjpQG47Q3vfqAyfE4xCG/Km2ttAHr688D8BSauTAAMqu3+apnY%20BzD2PP2Pf/xjPUZ/BXhzEvqcA5P8yYYFaI5DPau93DeIJO0ZQWB8K1U7gSAw1Mb0tWwpsX+uUPH+%20hRde+FccWmuSR0mopCHd7gTGoSD7vgkDlf1ehncDbwQAVAGmz6IPBpCIfoKwG9UEsDaCQrDOAEGK%206tpdJLDsrrvuehFTig+DJI2DTbcfrPlpvNF8FI3+wYQWqylRpoqoOR8BoGBRw5QKEWHj6CoW0c8C%205q+aBgI/O+It7Yu5y+7EuwOfx7wALtc7E4JRma14FZNHGgEFP2PVdbjzAX3VUIs2DK0eteaTEQUM%20ANMrcCNSBkxrA8zbgJKv5WS8EYC1+iGwSUdhIaPrKTgAkFjD5nde4RQT7DwhdvYnczD/geXfXrBq%20NerIY/gBQ+EfjOY7HdDKMiBo7zYIxfpnn312EXEANsOzZpkBlYJXkYloO/FmFAaznzLnCCdoNjjB%20GqvQIMnzsXDkz1EldDY9VAIWXUYxUetSAKiJuBjXJXhXEEfzZjN4+5Fvhmc11oqunmZ5WWDQGsO/%20FtsEZAxztaxIh7l5L7QKCYD1FpEmtE1mmzZSSEexRmAQVFYXqfnY5tPp1mLT3Gf9n+GHnLm0ccQ3%20GE2ekgC4PNPIz1YWrhuSWs3Jmg5mv0w6bc5rMZ8T5ruyBMiablWSoJAcp39F0iv4UKU1RoW/Wv/H%208KTJ4lmZg/BuYzPntbkCkNGJVl1guWkCiXROu91sIIkkpluOYylm3f7Vw0CZbQlBq2ktFvMTzsBV%2068g1MSRjtTb3HcLOOSJ9Tqj1CMNjSjhMFmNbrWOJAJ6FTg4VReFmGbJTEzXlqlsoJsK/rL9QfO4M%20Tm2jUbKrzCcApLcBB09k0WKXU0wq+2pBle/fHVVeEBU6XCtMuDgIbRRWF7sNocoYYgHFJL3mpRTJ%20rr9Mg+BQryOz8X+ake2bAxzgVSeeby+mAPCXVpvikeFo9cAA9kKoMoCARKKI9iAD4hZzHBsAj27j%20oVIKSOR4O5M8GtC+MtsN5nhHMQVAINKOBowYpKVlLRCpmNShpo4tMQFot1/jawCdtYb5muxRkGAn%20u0BSVXmyntLqgkhsRR5BGkWZEtQCAuAU5rGfm93K3mJqAGmBCjPiq0wTIJEoYudJA2S0LWEz0GZa%202rS2YjuB7j0UmyazgEjF70B7v7Qo42oz+1iRNED4vYrOfDHc3f4/o5hiiimmmGKKKaaYYooppphi%20iimmmGKKKaaYYooppv8FlJhXILrvZ3wAAAAASUVORK5CYII=%22%20preserveAspectRatio=%22none%22%20height=%22102.996%22%20width=%2287.169%22%20x=%22159.832%22%20y=%22119.548%22/%3E%3Cg%20transform=%22matrix(.7703%200%200%20.7703%2096.231%20157.67)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Ctext%20transform=%22scale(.98866%201.01147)%22%20y=%22173.585%22%20x=%22204.861%22%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20font-weight=%22400%22%20font-size=%2214.44%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#0ff%22%20stroke-width=%22.278%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20y=%22173.585%22%20x=%22204.861%22%20font-weight=%22500%22%3ESync%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20x=%22205.095%22%20y=%22147.504%22%20transform=%22scale(.98866%201.01147)%22%20font-weight=%22400%22%20font-size=%2219.302%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#ff0%22%20stroke-width=%22.504%22%3E%3Ctspan%20x=%22205.095%22%20y=%22147.504%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ERAM%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E" + "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=%22M164.218%2077.643L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v26.186l61.698.046c8.012-.043%2015.705%203.133%2021.47%208.81l61.448%2061.315a57.292%2057.292%200%200%200%2039.993%2016.139%2057.292%2057.292%200%200%200-39.993%2016.14L83.668%20190.45c-5.765%205.677-13.458%208.853-21.47%208.81L.5%20199.306v26.186h62.612c14.924.039%2029.463-5.9%2040.204-16.28l60.902-60.863a29.857%2029.857%200%200%201%2021.347-8.81l146.53-.113V86.457H185.571a29.884%2029.884%200%200%201-21.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "0b91cb0d-4144-4939-8755-e331104016db", - "type": "basic.input", - "data": { - "name": "", - "clock": true - }, - "position": { - "x": 120, - "y": 208 - } - }, - { - "id": "9598f3a5-bf63-4e35-ac2e-329d93da7d81", + "id": "5a35cd57-1006-4f6d-b263-5b977e9ef142", "type": "basic.input", "data": { - "name": "addr", - "range": "[3:0]", + "name": "1", + "range": "[7:0]", "clock": false, - "size": 4 + "size": 8 }, "position": { "x": 120, - "y": 288 + "y": 168 } }, { - "id": "2f18358c-ebaa-4fbf-99b4-610ab78deed2", + "id": "79c56f9a-597f-491e-b1d1-d321f63303c2", "type": "basic.output", "data": { "name": "", - "range": "[7:0]", - "size": 8 + "range": "[15:0]", + "size": 16 }, "position": { - "x": 936, - "y": 336 + "x": 632, + "y": 200 } }, { - "id": "9931384a-74ee-4de4-9df7-cc04fd19cf46", + "id": "38fdb02d-4323-4a34-9ffe-8385f844b660", "type": "basic.input", "data": { - "name": "d", + "name": "0", "range": "[7:0]", "clock": false, "size": 8 }, "position": { "x": 120, - "y": 376 + "y": 264 } }, { - "id": "c61902b3-38ce-45bf-98c9-322638c2264b", - "type": "basic.input", + "id": "16e78204-213e-4833-9096-89d735307ec2", + "type": "basic.code", "data": { - "name": "wr", - "clock": false + "code": "assign o = {i1, i0};\n", + "params": [], + "ports": { + "in": [ + { + "name": "i1", + "range": "[7:0]", + "size": 8 + }, + { + "name": "i0", + "range": "[7:0]", + "size": 8 + } + ], + "out": [ + { + "name": "o", + "range": "[15:0]", + "size": 16 + } + ] + } }, "position": { - "x": 120, - "y": 456 - } - }, - { - "id": "d80bfd80-1f6d-46af-b5de-5cd121ebe630", - "type": "basic.memory", - "data": { - "name": "", - "list": "0 0 0 0 0 0 0 0\n0 0 0 0 0 0 0 0", - "local": false, - "format": 10 - }, - "position": { - "x": 464, - "y": 56 - }, - "size": { - "width": 200, - "height": 72 - } - }, - { - "id": "f5619044-1e4b-4218-bfc2-44eced6cb16a", - "type": "basic.code", - "data": { - "code": "//-- Address with\nlocalparam ADDR_WIDTH = 4;\n//-- Data with\nlocalparam DATA_WIDTH = 8;\n\n//-- Size of the memory\nlocalparam SIZE = 1 << ADDR_WIDTH;\n\n//-- Memory itself\nreg [DATA_WIDTH-1:0] mem[0:SIZE-1];\n\n//-- The data_out is a registered output (not a wire)\nreg data_out;\n\n//-- Reading port: Synchronous\nalways @(posedge clk)\nbegin\n data_out <= mem[addr];\nend\n\n//-- Writing port: Synchronous\nalways @(posedge clk)\nbegin\n if (wr) mem[addr] <= data_in;\nend\n\n\n//-- Init the memory\ninitial begin\n \n if (ROMF)\n $readmemh(ROMF, mem, 0, SIZE-1);\n \nend\n", - "params": [ - { - "name": "ROMF" - } - ], - "ports": { - "in": [ - { - "name": "clk" - }, - { - "name": "addr", - "range": "[3:0]", - "size": 4 - }, - { - "name": "data_in", - "range": "[7:0]", - "size": 8 - }, - { - "name": "wr" - } - ], - "out": [ - { - "name": "data_out", - "range": "[7:0]", - "size": 8 - } - ] - } - }, - "position": { - "x": 312, - "y": 200 - }, - "size": { - "width": 504, - "height": 328 + "x": 296, + "y": 176 + }, + "size": { + "width": 272, + "height": 104 } } ], "wires": [ { "source": { - "block": "0b91cb0d-4144-4939-8755-e331104016db", - "port": "out" - }, - "target": { - "block": "f5619044-1e4b-4218-bfc2-44eced6cb16a", - "port": "clk" - } - }, - { - "source": { - "block": "c61902b3-38ce-45bf-98c9-322638c2264b", - "port": "out" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o" }, "target": { - "block": "f5619044-1e4b-4218-bfc2-44eced6cb16a", - "port": "wr" - } - }, - { - "source": { - "block": "d80bfd80-1f6d-46af-b5de-5cd121ebe630", - "port": "memory-out" + "block": "79c56f9a-597f-491e-b1d1-d321f63303c2", + "port": "in" }, - "target": { - "block": "f5619044-1e4b-4218-bfc2-44eced6cb16a", - "port": "ROMF" - } + "size": 16 }, { "source": { - "block": "9931384a-74ee-4de4-9df7-cc04fd19cf46", + "block": "38fdb02d-4323-4a34-9ffe-8385f844b660", "port": "out" }, "target": { - "block": "f5619044-1e4b-4218-bfc2-44eced6cb16a", - "port": "data_in" - }, - "size": 8 - }, - { - "source": { - "block": "f5619044-1e4b-4218-bfc2-44eced6cb16a", - "port": "data_out" - }, - "target": { - "block": "2f18358c-ebaa-4fbf-99b4-610ab78deed2", - "port": "in" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i0" }, "size": 8 }, { "source": { - "block": "9598f3a5-bf63-4e35-ac2e-329d93da7d81", + "block": "5a35cd57-1006-4f6d-b263-5b977e9ef142", "port": "out" }, "target": { - "block": "f5619044-1e4b-4218-bfc2-44eced6cb16a", - "port": "addr" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i1" }, - "size": 4 + "size": 8 } ] } } }, - "6050ed4fa033f3f13d3fe5fae5dcedb414a0fede": { + "ab13f05d92d80a82af1a712a92621ea26dde55f3": { "package": { - "name": "membus-16B-join", - "version": "0.0.1", - "description": "Join the fields into one 16B memory bus", - "author": "Juan Gonzalez-Gomez (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=%22M164.218%2077.643L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v26.186l61.698.046c8.012-.043%2015.705%203.133%2021.47%208.81l61.448%2061.315a57.292%2057.292%200%200%200%2039.993%2016.139%2057.292%2057.292%200%200%200-39.993%2016.14L83.668%20190.45c-5.765%205.677-13.458%208.853-21.47%208.81L.5%20199.306v26.186h62.612c14.924.039%2029.463-5.9%2040.204-16.28l60.902-60.863a29.857%2029.857%200%200%201%2021.347-8.81l146.53-.113V86.457H185.571a29.884%2029.884%200%200%201-21.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" + "name": "Bus24-Split-16-8", + "version": "0.1", + "description": "Bus24-Split-16-8: Split the 24-bits bus into two buses of 16 and 8 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": { "graph": { "blocks": [ { - "id": "5c70a159-1900-4d97-9e7d-961876e03bbe", - "type": "basic.input", + "id": "4ca7b72f-724d-435c-8490-645c338586db", + "type": "basic.output", "data": { - "name": "addr", - "range": "[3:0]", - "clock": false, - "size": 4 + "name": "1", + "range": "[15:0]", + "size": 16 }, "position": { - "x": 128, - "y": 192 + "x": 600, + "y": 128 } }, { - "id": "25996d5e-6856-4828-8cb3-5dea5ff5cf9c", + "id": "901245a6-b7da-4af7-8917-7a47e5675ae1", "type": "basic.input", "data": { - "name": "data", - "range": "[7:0]", + "name": "", + "range": "[23:0]", "clock": false, - "size": 8 + "size": 24 }, "position": { - "x": 128, - "y": 264 + "x": 96, + "y": 200 } }, { - "id": "d3e51db6-385f-454c-ab74-d71058b21962", + "id": "872cccab-7461-412b-9924-bad211fa1922", "type": "basic.output", "data": { - "name": "", - "range": "[13:0]", - "size": 14 - }, - "position": { - "x": 760, - "y": 288 - } - }, - { - "id": "dbe1622c-3510-4132-8b5c-2fbf81d7f581", - "type": "basic.input", - "data": { - "name": "wr", - "clock": false - }, - "position": { - "x": 128, - "y": 328 - } - }, - { - "id": "49fb1766-1e7f-4706-9872-a6cd65cc9f2d", - "type": "basic.input", - "data": { - "name": "bbusy", - "clock": false + "name": "0", + "range": "[7:0]", + "size": 8 }, "position": { - "x": 128, - "y": 400 + "x": 592, + "y": 224 } }, { - "id": "3545528c-05e2-4e95-8223-5b7b77587423", + "id": "16e78204-213e-4833-9096-89d735307ec2", "type": "basic.code", "data": { - "code": "assign o = {addr, data, wr, bbusy};\n\n", + "code": "assign o1 = i[23:8];\nassign o0 = i[7:0];", "params": [], "ports": { "in": [ { - "name": "addr", - "range": "[3:0]", - "size": 4 - }, - { - "name": "data", - "range": "[7:0]", - "size": 8 - }, - { - "name": "wr" - }, - { - "name": "bbusy" + "name": "i", + "range": "[23:0]", + "size": 24 } ], "out": [ { - "name": "o", - "range": "[13:0]", - "size": 14 + "name": "o1", + "range": "[15:0]", + "size": 16 + }, + { + "name": "o0", + "range": "[7:0]", + "size": 8 } ] } }, "position": { - "x": 328, - "y": 224 + "x": 272, + "y": 168 }, "size": { - "width": 352, - "height": 184 + "width": 240, + "height": 120 } } ], "wires": [ { "source": { - "block": "25996d5e-6856-4828-8cb3-5dea5ff5cf9c", + "block": "901245a6-b7da-4af7-8917-7a47e5675ae1", "port": "out" }, "target": { - "block": "3545528c-05e2-4e95-8223-5b7b77587423", - "port": "data" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i" }, - "size": 8 + "size": 24 }, { "source": { - "block": "dbe1622c-3510-4132-8b5c-2fbf81d7f581", - "port": "out" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o1" }, "target": { - "block": "3545528c-05e2-4e95-8223-5b7b77587423", - "port": "wr" - } - }, - { - "source": { - "block": "49fb1766-1e7f-4706-9872-a6cd65cc9f2d", - "port": "out" + "block": "4ca7b72f-724d-435c-8490-645c338586db", + "port": "in" }, - "target": { - "block": "3545528c-05e2-4e95-8223-5b7b77587423", - "port": "bbusy" - } + "size": 16 }, { "source": { - "block": "5c70a159-1900-4d97-9e7d-961876e03bbe", - "port": "out" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o0" }, "target": { - "block": "3545528c-05e2-4e95-8223-5b7b77587423", - "port": "addr" - }, - "size": 4 - }, - { - "source": { - "block": "3545528c-05e2-4e95-8223-5b7b77587423", - "port": "o" - }, - "target": { - "block": "d3e51db6-385f-454c-ab74-d71058b21962", + "block": "872cccab-7461-412b-9924-bad211fa1922", "port": "in" }, - "size": 14 + "size": 8 } ] } } }, - "f1dc888a11b743f08087b6e65015fe269bed1f6f": { + "306ca367fbbc5181b3c709d73f447e0710871a1d": { "package": { - "name": "membus-16B-split", + "name": "Bus16-Split-half", "version": "0.1", - "description": "Split a 16B memory bus into its fields", + "description": "Bus16-Split-half: Split the 16-bits bus into two buses of the same size", "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" }, @@ -7156,1206 +6760,1135 @@ "graph": { "blocks": [ { - "id": "74b8320c-7097-4f7b-9c14-fdd8d9a379ca", - "type": "basic.output", - "data": { - "name": "addr", - "range": "[3:0]", - "size": 4 - }, - "position": { - "x": 592, - "y": 32 - } - }, - { - "id": "afe50480-6fe5-4ca6-b639-c730569a6a1d", + "id": "6ac467f0-b16b-44ef-8f03-ae206c13186e", "type": "basic.output", "data": { - "name": "data", + "name": "1", "range": "[7:0]", "size": 8 }, "position": { - "x": 624, - "y": 224 + "x": 608, + "y": 176 } }, { - "id": "3178c182-b1bd-4e92-bc67-6e0868b62279", + "id": "a0c9783a-c287-45a7-bfc7-9da552cf732f", "type": "basic.input", "data": { - "name": "i", - "range": "[13:0]", + "name": "", + "range": "[15:0]", "clock": false, - "size": 14 - }, - "position": { - "x": 48, - "y": 248 - } - }, - { - "id": "c79430a3-a90f-40e9-af05-e6da44b5ac8d", - "type": "basic.output", - "data": { - "name": "wr" + "size": 16 }, "position": { - "x": 576, - "y": 344 + "x": 96, + "y": 208 } }, { - "id": "9751f777-00ec-46c1-8d85-07d2dec1e653", + "id": "0e7ef93d-c4da-4c2e-9653-7a470dc912b6", "type": "basic.output", "data": { - "name": "bbusy" + "name": "0", + "range": "[7:0]", + "size": 8 }, "position": { - "x": 536, - "y": 432 + "x": 608, + "y": 272 } }, { "id": "16e78204-213e-4833-9096-89d735307ec2", "type": "basic.code", "data": { - "code": "//-- Addr\nassign addr = i[13:10];\n\n//-- data\nassign data = i[9:2];\n\n//-- write\nassign wr = i[1];\n\n//-- Bus is busy\nassign bbusy = i[0];", + "code": "assign o1 = i[15:8];\nassign o0 = i[7:0];", "params": [], "ports": { "in": [ { "name": "i", - "range": "[13:0]", - "size": 14 + "range": "[15:0]", + "size": 16 } ], "out": [ { - "name": "addr", - "range": "[3:0]", - "size": 4 - }, - { - "name": "data", + "name": "o1", "range": "[7:0]", "size": 8 }, { - "name": "wr" - }, - { - "name": "bbusy" + "name": "o0", + "range": "[7:0]", + "size": 8 } ] } }, "position": { - "x": 224, + "x": 272, "y": 176 }, "size": { - "width": 264, - "height": 208 + "width": 240, + "height": 120 } } ], "wires": [ { "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "bbusy" + "block": "a0c9783a-c287-45a7-bfc7-9da552cf732f", + "port": "out" }, "target": { - "block": "9751f777-00ec-46c1-8d85-07d2dec1e653", - "port": "in" - } - }, - { - "source": { "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "wr" + "port": "i" }, - "target": { - "block": "c79430a3-a90f-40e9-af05-e6da44b5ac8d", - "port": "in" - } + "size": 16 }, { "source": { "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "data" + "port": "o1" }, "target": { - "block": "afe50480-6fe5-4ca6-b639-c730569a6a1d", + "block": "6ac467f0-b16b-44ef-8f03-ae206c13186e", "port": "in" }, "size": 8 }, - { - "source": { - "block": "3178c182-b1bd-4e92-bc67-6e0868b62279", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i" - }, - "size": 14 - }, { "source": { "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "addr" + "port": "o0" }, "target": { - "block": "74b8320c-7097-4f7b-9c14-fdd8d9a379ca", + "block": "0e7ef93d-c4da-4c2e-9653-7a470dc912b6", "port": "in" }, - "size": 4 + "size": 8 } ] } } }, - "a0b8df28f3452068e469a9c210e4e62ae8c78900": { + "a52e3be3d374c081062b542fc91c5cb1be726cb8": { "package": { - "name": "Valor_0_4bits", - "version": "0.0.1", - "description": "Valor constante 0 para bus de 4 bits", - "author": "Juan Gonzalez-Gomez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22255.888%22%20height=%22307.912%22%20viewBox=%220%200%20239.89529%20288.66753%22%3E%3Cg%20font-weight=%22400%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22372.115%22%20y=%22646.344%22%20font-size=%22335.399%22%20fill=%22green%22%20transform=%22translate(-326.544%20-434.037)%22%3E%3Ctspan%20x=%22372.115%22%20y=%22646.344%22%3E0%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22322.722%22%20y=%22721.624%22%20font-size=%2283.077%22%20transform=%22translate(-326.544%20-434.037)%22%3E%3Ctspan%20x=%22322.722%22%20y=%22721.624%22%3E0000%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22528.722%22%20y=%22721.624%22%20font-size=%2283.077%22%20fill=%22#00f%22%20transform=%22translate(-326.544%20-434.037)%22%3E%3Ctspan%20x=%22528.722%22%20y=%22721.624%22%3E0%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E" + "name": "Bus24-Join-8-16 CLONE", + "version": "0.1-c1628232010333", + "description": "Bus24-Join-8-16: Join the two buses into an 24-bits Bus", + "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=%22M164.218%2077.643L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v26.186l61.698.046c8.012-.043%2015.705%203.133%2021.47%208.81l61.448%2061.315a57.292%2057.292%200%200%200%2039.993%2016.139%2057.292%2057.292%200%200%200-39.993%2016.14L83.668%20190.45c-5.765%205.677-13.458%208.853-21.47%208.81L.5%20199.306v26.186h62.612c14.924.039%2029.463-5.9%2040.204-16.28l60.902-60.863a29.857%2029.857%200%200%201%2021.347-8.81l146.53-.113V86.457H185.571a29.884%2029.884%200%200%201-21.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "53acced8-0736-40f7-8db1-7103a21f31c2", - "type": "basic.output", + "id": "29a44a77-ec20-436d-a9e8-7fc2ca5de57e", + "type": "basic.input", "data": { - "name": "k", - "range": "[3:0]", - "size": 4 + "name": "1", + "range": "[7:0]", + "clock": false, + "size": 8 }, "position": { - "x": 928, - "y": 256 + "x": 120, + "y": 168 } }, { - "id": "ad7918eb-22dd-4b6c-949f-e428f5a55530", - "type": "basic.constant", + "id": "756c8eb7-3567-48b4-9757-fe992499b794", + "type": "basic.output", "data": { "name": "", - "value": "0", - "local": true + "range": "[23:0]", + "size": 24 }, "position": { - "x": 728, - "y": 152 + "x": 640, + "y": 200 } }, { - "id": "63e1b925-5baa-45a6-abc6-a7ababd05a49", - "type": "9274d3154d579c5922da669b25ca14097a46a22f", + "id": "c4ca0e6a-6557-45ee-8363-1bffebaad486", + "type": "basic.input", + "data": { + "name": "0", + "range": "[15:0]", + "clock": false, + "size": 16 + }, "position": { - "x": 728, - "y": 256 + "x": 120, + "y": 264 + } + }, + { + "id": "16e78204-213e-4833-9096-89d735307ec2", + "type": "basic.code", + "data": { + "code": "assign o = {i1, i0};\n", + "params": [], + "ports": { + "in": [ + { + "name": "i1", + "range": "[7:0]", + "size": 8 + }, + { + "name": "i0", + "range": "[15:0]", + "size": 16 + } + ], + "out": [ + { + "name": "o", + "range": "[23:0]", + "size": 24 + } + ] + } + }, + "position": { + "x": 296, + "y": 176 }, "size": { - "width": 96, - "height": 64 + "width": 272, + "height": 104 } } ], "wires": [ { "source": { - "block": "ad7918eb-22dd-4b6c-949f-e428f5a55530", - "port": "constant-out" + "block": "c4ca0e6a-6557-45ee-8363-1bffebaad486", + "port": "out" }, "target": { - "block": "63e1b925-5baa-45a6-abc6-a7ababd05a49", - "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" - } + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i0" + }, + "size": 16 }, { "source": { - "block": "63e1b925-5baa-45a6-abc6-a7ababd05a49", - "port": "5ed3ad73-16e5-4dda-9483-c36394a97ad2" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o" }, "target": { - "block": "53acced8-0736-40f7-8db1-7103a21f31c2", + "block": "756c8eb7-3567-48b4-9757-fe992499b794", "port": "in" }, - "size": 4 + "size": 24 + }, + { + "source": { + "block": "29a44a77-ec20-436d-a9e8-7fc2ca5de57e", + "port": "out" + }, + "target": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i1" + }, + "size": 8 } ] } } }, - "9274d3154d579c5922da669b25ca14097a46a22f": { + "0c6531794184e978f73c672f654e0971e3db540d": { "package": { - "name": "Constante-4bits", - "version": "0.0.1", - "description": "Valor genérico constante, de 4 bits. Su valor se introduce como parámetro. Por defecto vale 0", - "author": "Juan Gonzalez-Gomez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22145.608%22%20height=%22247.927%22%20viewBox=%220%200%20136.50729%20232.43134%22%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22293.115%22%20y=%22648.344%22%20font-weight=%22400%22%20font-size=%22335.399%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22%20transform=%22translate(-316.929%20-415.913)%22%3E%3Ctspan%20x=%22293.115%22%20y=%22648.344%22%3Ek%3C/tspan%3E%3C/text%3E%3C/svg%3E" + "name": "24-Sys-reg-rst", + "version": "0.8", + "description": "24-Sys-reg-rst: 24 bits system register with reset. Verilog implementation", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20width=%22252.294%22%20height=%22220.368%22%20viewBox=%220%200%2066.75283%2058.305748%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M25.682%2041.088L39.29%2057.76l-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M18.298%2033.024L9.066%2013.41l-6.45%203.724-2.07-3.583%2020.905-12.07%202.069%203.584-6.092%203.517%2012.03%2018.223s5.399-2.025%208.535.74c3.137%202.766%202.52%204.92%202.887%204.773L17.192%2045.956s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M42.022%2040.152l13.607%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M34.638%2032.088l-9.232-19.613-6.451%203.724-2.07-3.583L37.792.546%2039.86%204.13l-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.137%202.766%202.52%204.92%202.887%204.772L33.532%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20transform=%22translate(-38.356%20-17.732)%22%3E%3Crect%20width=%2224.412%22%20height=%2213.185%22%20x=%2280.3%22%20y=%2221.375%22%20ry=%222.247%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%22.794%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:1.25%22%20x=%2282.245%22%20y=%2230.943%22%20font-weight=%22400%22%20font-size=%2210.583%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20x=%2282.245%22%20y=%2230.943%22%20font-weight=%22700%22%3ESys%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E", + "otid": 1618509859237 }, "design": { "graph": { "blocks": [ { - "id": "5ed3ad73-16e5-4dda-9483-c36394a97ad2", + "id": "34c6aff6-7aca-4cc1-8d79-d6143d2f6937", "type": "basic.output", "data": { - "name": "k", - "range": "[3:0]", - "size": 4 + "name": "nc" }, "position": { - "x": 960, - "y": 248 + "x": 920, + "y": -24 } }, { - "id": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", - "type": "basic.constant", + "id": "83ce9e72-711d-44f2-bbf5-b01c201a652a", + "type": "basic.output", "data": { - "name": "", + "name": "nc" + }, + "position": { + "x": 920, + "y": 56 + } + }, + { + "id": "0ae5a502-ee21-47ad-bacb-405a35a87a91", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": 368, + "y": 64 + } + }, + { + "id": "892d93f1-9c4c-46c1-82c7-ff9702a5725a", + "type": "basic.input", + "data": { + "name": "rst", + "clock": false + }, + "position": { + "x": 376, + "y": 200 + } + }, + { + "id": "7995c7b0-4a39-4a19-aaa4-68f4e469912f", + "type": "basic.output", + "data": { + "name": "", + "range": "[23:0]", + "size": 24 + }, + "position": { + "x": 920, + "y": 200 + } + }, + { + "id": "c48a2779-52ed-4dde-8f95-e8ce67397de8", + "type": "basic.input", + "data": { + "name": "", + "range": "[23:0]", + "clock": false, + "size": 24 + }, + "position": { + "x": 376, + "y": 336 + } + }, + { + "id": "d1e52cbe-a82e-4bea-9ed0-e970eec3e43e", + "type": "basic.constant", + "data": { + "name": "", "value": "0", "local": false }, "position": { - "x": 728, - "y": 128 + "x": 656, + "y": -80 } }, { - "id": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "id": "2cc2ff9d-ebfc-43e2-83d7-5c4a6d8c77e6", "type": "basic.code", "data": { - "code": "assign k = VALUE;", - "params": [ - { - "name": "VALUE" - } - ], "ports": { - "in": [], + "in": [ + { + "name": "clk" + }, + { + "name": "rst" + }, + { + "name": "d", + "range": "[23:0]", + "size": 24 + } + ], "out": [ { - "name": "k", - "range": "[3:0]", - "size": 4 + "name": "q", + "range": "[23:0]", + "size": 24 } ] - } + }, + "params": [ + { + "name": "INI" + } + ], + "code": "//-- Generic System register\n//-- with reset\n//-- Number of bits\nlocalparam N = 24;\n\n//-- Initial value\nreg [N-1:0] qi = INI;\n\nalways @(posedge clk)\nbegin\n\n //-- Reset: Capture the initial\n //-- value\n if (rst == 1'b1)\n qi <= INI;\n \n //-- No reset: Capture the input\n else\n qi <= d;\nend\n\n//-- Connect the register with the\n//-- output\nassign q = qi;\n" }, "position": { - "x": 672, - "y": 248 + "x": 528, + "y": 32 }, "size": { - "width": 208, - "height": 64 + "width": 344, + "height": 400 } } ], "wires": [ { "source": { - "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", - "port": "k" + "block": "2cc2ff9d-ebfc-43e2-83d7-5c4a6d8c77e6", + "port": "q" }, "target": { - "block": "5ed3ad73-16e5-4dda-9483-c36394a97ad2", + "block": "7995c7b0-4a39-4a19-aaa4-68f4e469912f", "port": "in" }, - "size": 4 + "vertices": [], + "size": 24 }, { "source": { - "block": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "block": "d1e52cbe-a82e-4bea-9ed0-e970eec3e43e", "port": "constant-out" }, "target": { - "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", - "port": "VALUE" + "block": "2cc2ff9d-ebfc-43e2-83d7-5c4a6d8c77e6", + "port": "INI" + }, + "vertices": [] + }, + { + "source": { + "block": "892d93f1-9c4c-46c1-82c7-ff9702a5725a", + "port": "out" + }, + "target": { + "block": "2cc2ff9d-ebfc-43e2-83d7-5c4a6d8c77e6", + "port": "rst" + } + }, + { + "source": { + "block": "c48a2779-52ed-4dde-8f95-e8ce67397de8", + "port": "out" + }, + "target": { + "block": "2cc2ff9d-ebfc-43e2-83d7-5c4a6d8c77e6", + "port": "d" + }, + "size": 24 + }, + { + "source": { + "block": "0ae5a502-ee21-47ad-bacb-405a35a87a91", + "port": "out" + }, + "target": { + "block": "2cc2ff9d-ebfc-43e2-83d7-5c4a6d8c77e6", + "port": "clk" } } ] } } }, - "26ab4b14044d51c1bbe481de5533a9b47d267746": { + "ef27646a2ca3d9f1e7811dac0fd909719b5affe1": { "package": { - "name": "Mem-16B-sample-machine", - "version": "0.1", - "description": "16B memory sample machine. Captura the input data and store it in the memory", + "name": "RS-FF-set-verilog", + "version": "0.2", + "description": "RS-FF-set-verilog. RS Flip-flop with priority set. Implementation in verilog", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20viewBox=%220%200%2088.570022%20126.13218%22%20height=%22476.72%22%20width=%22334.753%22%3E%3Cg%20transform=%22translate(-158.43%20-96.411)%22%3E%3Cimage%20xlink:href=%22data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAgM0lEQVR4Xu1dCZBU1bm+PdPTM8CM%20AgMO+yCrAq4oGjWKIIorcYnRlD59saImGlOaqK/UPPeHu5VyjyYuMRu+uFVEjRqX4FNRQURwQVxQ%20YdiGZQYGepZ+33frfK9Oneq+t+/0zHTad/+qU7fv7bt0n/8///L9/znX+1ZTTDHFFFNMMcUUU0wx%20xRRTTDHFFFNMMcUUU0wxxZToofuX8XPo82LqcLaZUhUAMbucraKi4viysrI9jCBkp5gybKBH0un0%20cuy3URC6WwiSXvcRmV9ZVVV1azKZPBvN69+/vzd06FBv2LBh1mkxff31197ixYvJfa+1tfUnHR0d%20x7W1tc3HV2kJQakJQBmZjzYUo99n/qRJk7xTTz3V69WrV5bTY/rmm2+8u+++29u6desO2L0cAnCq%20YXy61AQgYe5bBebvB9XvJRIJ79hjj/VSqZTX3t6e5ZKYBg0a5B133HHenDlzPPRZLQ5VG+a3lpwJ%20kPoH83uT+Ww77rhjCPNjYh+Z/hqK3T5oW9C2obWXlAaQAMCm9SovL/cGDx7sQaWFXBbTTjvt5AsA%20+qwOu7SVSTnOpSgASdBkSjTtPhybkMtioomkyWTjLvmjSK0UncAkJLmMAgDKUwBiqqur81atWkUt%200Bcmc2XJaQCBPtqCvMrKyjztf0wIm9lp1AbjW1paPrIwlUzJaAAJAKgajbYtTwGIaeDAgd6KFSv8%20zmMfloIJcCFf3rOCDT7AKAgAAY78nMCYqC3lB/Q1/Zgy4WB7AERcVAFIiPE333zz6JEjR565ffv2%20Xlu2bKm58847d2psbKQAhGiAmOQr1dTU+J8PPPDAE37wgx8MhgO9BeZg++bNm18588wzXzYQcXtX%20CUGii5ifuuyyy8YD7Fk4YMAAOTHelVde6X300UfejBkzPAhGwG1i5ksA2HdPPfWUd/LJJ7NRczKM%209iOp55577oyzzjrrvwkOGUHIFFsDJIya6nPQQQfdSweGKoyNAgBNIIcmRxQQM15ELcl9oKdU/4yh%202W/sR/anvz98+PD/wqnPozUZc9BeFA3gMv/GG288CgLwaL9+/by+fft6q1ev9gXgqKOO8v/MEUcc%204UOdJUxiUgSmRhv59va3v/2tnztBv9J0+k40Bxe16fLly2effvrpt1EIlCfobg2Q0FYq34J7q6ZN%20mzZ8v/32u5nSKonllhKrPACOyQcofQEonPlZma7GZ6jPFD5v27bN69Onj78/evTon/34xz9+/v77%20719s+NFup5OjOoqJKA7ezjvvPAuM7QuGJkBlyFtXgNkzMbrHUXUx3Utmf/XVVz7zTzrpJL9TTjnl%20FK+EieYrAuO1H8r8nBrgb3/7m1dbW+vNnj3bfzY165AhQ7zPPvvM9wlWrly5DFnD5yAUaQhMB4Qk%20g/My0LxPn3POOQuiOIqJPCDd1IMPPnjiiBEjHiFzObK15Y9Zs2aNn+Ovrq5mKtP74IMPlPjxfvGL%20X3ggCkKpC0AhjNdxfbZb1u9ffPFFb8OGDd4dd9zB+gBv/fr13pgxYzw62OzzTz75hKaWfc5+5jFt%20aX5/hrT7gzQPchQ7awLKZOPB4Nly7CQAbBzlUv38/P7773vQEs0vv/zyckhpNTpkNK6X+i911a/P%20UUe8y2jdI6tgiMj4t956axGFb88996wD0wfRDJDp7G/wQ+l18kJbaoo7jjzyyL8/++yzX8tR7JQG%20EPPRasHQT/FwPkBCwCaJ8zXAhx9+6Esp4lVJqXfDDTf42uDggw/uSVsscjtd+1Gu1/lsETRAkLoP%201whLlizx2+9//3uNbm/8+PHe22+/7e2yyy5ECmluXQ3A5kdeTz/99OlwIOfiVs0mZMwUpAEA6pDx%20fKgEQM6ez4w33niDQuDbLVJzczO/U1hDFdqVjC/cMYt+vYRAx8JUvCtA+Qinew/aeoZ+ZDAjAZ/p%20L730EiMEAkbsY35HXnDLfqdJZn/3poOO1kIB6KwJSAjWBZOXbtq0acK6det4c7v5Dx83bhwZQcEg%20w33mAwFkR7goYE8LghgSpgGiMknfBal7Nff5bIHnsx+5hZPN/vQZrKTaPvvsw/IxagGZYTX1/Qo4%207B8Y/y1RSBiokKIDCN9//upXvzoRUjgMzKxgBMBIgIQQpQwJjElQRymZBgoAnRj9GVzTE/Y5aDQV%20cr39XRRV79p6CQKZlfV7HaPZlPYk0zm6JQDIEHKkL2tqatrcAWIEwMvwfevatWu/efTRR1+wI4BC%20BYA32o625dprr32R/gBab3NdObzSGoAWp+AHp+QfSOVLimWnihSjizGFXu9+7zLVfYaOaWt/lkl0%20Ge+eRy0qbIX7cvoIq484/vjjH4BGbrJCvq1oG9BWo20zqj/U9iZC1H81mY5q1csQ6x+KeHSkHQbS%204VMRA4/RLr3zzjsefYbXXnuNjTbMb98KClf37ne5jkkLZDUX7Nd//vOf3ne/+13vkEMO8Xr37s1I%20gJqAZsHXrtAATB3bTiCPrYXf8NpvfvObG8GHz4UWFuIElkGl/BwO3r+7IaCwfkqlnEH+6LFjx3Kf%20zJc0f9vyAO7IzmfUZ8MW3OO6BweStGd6t912S5Hpb775pjd58mSli8lw5Q3kBBIbGIhrT0QSbgTM%209jGqJ+iMACivX4VM1BnCAOwmW88fy+8XLFjAH9R49NFHPwNPNA3I8mgcHwTp/bYIQC47HmYqcp7j%20OpiuxnjssceW3X777f/D/YcffvhwhIH1+++/vwYd+10aQELBRuRw3/PPP38s0vGLFQayRRWASrQ+%20YF6N7BCbGwYyTUnmm+rf/n/+859P5+df//rX3scff+ypIORbQLkAnSAH0T2WCxDKeg5yLBP/9Kc/%20TbSdwHnz5tEcKMyWj2BjATQhHIzjcJtPjA/XHlUDCAPoDa9T6kXhhv9gMXbhwoW0RYxTqf4JBUtA%205PCUPBLo2m2X+focgQLxAWL+ep4YTJyFnxsaGuhnMSlE6F0mVlv6ATzOaKHNDOLyzkQBSgKVY87a%20vXBEzqVU8eZ8iJhKdJB2CRgBpZPHZaPowRbTB3DVaqHXh4V67oiOKgTaJ+MY40sA5PlL8xJsI/PT%20mE+YIlDEczTYYG7pN9BJnHfvvfd+lk9NYTIkBGy9/PLLn5syZcoqPHRnaIIqU6yYAGMpWeWoA9h1%203333HQfG0ymk6uEPlQAwj01hKVUBEEPz9eZzYQt5h6LLli0jw3k+4XRXALjPnMt6wL3zySOc126u%207QBrtmOQrnnmmWfeVh1hZ5NBHWS+iS03zp8//2O0tSY3UG5a6phjjhkPp2Sc4n/lsCWRaMUe/WJM%20IdcGaQD+vyBgxx7pYc/loGHmz36WgCBbAJgXGAwsoOamm26aJ0ab1kJ+oTWibdF3hQhAC8KQjtNO%20O+0QPPBgSFh5whCksgwmYJjtINIUfPnll2SARkexBUCd35UCQIa710SCjd3vlTHl6Hc1Co9xS5yf%20dl8a4fDDD5+2xx57jAAPVA/gI7eoKVz4/PPPz4EWkAB0RBWAhGl8SM0FF1xwPx4yXo6dtgR7Nm7c%20qOofZgVZrsSctf8ZxOOlYv+DGGcLM7dhYV02LRAaKXz66adZsQH6A6NGjfK++OILf4ChLoMCwHQx%20ne8x6G95/0oaTdh1112PQ6Rw8vXXX/9GZ6FgqviKH/7wh6cB5h2fDQPgD6Dal+3HH6D6WoLpzSuQ%20H6hFR00pCQEITwa5zHcdvygYQFYBBYbPweQy33/ek08+OR9+1DqM9tqJEyfuB6bT0dM6C9II8hNk%20LmrgnJ+Nr98xvGyPggMIBOoNaZqZCwOgACgWfe+99wgHUyv0wxz3fvBOK1naDCqeAES3wdkydmJ6%20ULVPlJSve4whm7z+rNfuvffew1BnMYz9iMGYBhiUAj7AwWfnB1xAiP1eTx4aHKA1qgmoQOuFZMM2%20Le0iVS8hkF2aO3euX6Sw++678/gQNP04tmJhAO4oDTtH4Wouu5+rHiDoWNjz+Tyqdqn+XGsGDGEx%20CJnKfqYJIBhUX19PbMBGAwXPU5swZE8aAWg2g7o9igDwghTU+st4yIEo8qR614PUuNYPcQB2gh0B%20KEnEzz2NAopRQUwPvc62+7YwhJHLePd+7rmI5VnxG6hdpGnJZEHAsPF+4ccLL7ygzKsGp2oFeXyp%20GchlnU0Hd1xzzTXzZs2add306dMPwg1T6AS/yIC1AHhgAn+gDAKyN+yRoGEJQE+HgTbTIwhA4LlK%20bbueea578ry8439oVwI2YfWECv2k1qVdOcqX4bNqAjIQlAySRh1pELTywoceeuhFjfqoAkCOtZmc%208mbY8vfQvsF+jSTKXFcJ3P80FSdasCVbT6OAfE6AAETzB8TMELJHdyR4mBEUwrW8tAqFRFgAeKuq%20HxZ/1iE8nwsHkuq2VcCdUfmN5J3hYVvUbGDGXNTCm8ABqcVExYGQsio0nl9ObYBc9QGIS4fpB0kA%20ILHqCDGm2GrfPTdSvt9toKAQMBQSpsqX05cHUdXbA0ueP0PAHe67776TkSz6K/q8FfdrY8PnXsBi%20Nr/yyiubyMNOFYWqnBiFIMfAAbnBjQA0H4CMFvYPtUMcm99zCpPjHUemqPa7K+bm2aPfbi4zXSaH%20ZvtssAfMsZy+cGKU8Prrr8u790w6WFp28HnnnXc+czJ2JMDt2Wef/QjC+EsiQcH2TKCf/vSnoydM%20mEDm55wPIPWPknCqpmY4i58atTUGm2qZgH/xtK6Y7gI/dtMxCbUNCGk/0PaT6eifKMzX/IA0/IWl%20uI4O9xhA8tUHHHAAGc0+Z3OxAG4ZIfzb7373u0U/+tGPHrDKwzKhGkBz/hBrni6VLqbbn/VgxPy0%20aXT81iFV2c7vlL9mKxIFedZBJVuuANgYiC0IWa9xBcl2hOnxa7Z0BGJ+IAVktZ1C9eqrr34BQGgS%20J+DstddedmGIRr6azAUHYq+gxFAyFwYAhlbxB8vDd6Fgph5ZnkxnBhlBerUjEaeOxHcMGYVs9SST%20XTXunhNUjp1LACT4OuYyOFeuwN5nH3WK+boe4NpkMpU8QG6GU8c4SYSwO7Ot2YpCOCiJMFYRC5Av%20EMUEpABQLCHowHBF8/5tIu6PQlECEtQGFBTNExDzu0MAwpgpFet+F8z4cAFwr8l79EMrkhkF9YVU%20vJjNmgCG2iy+Yf/zmO1n0G8gwTfYbkVuiUg4wK233roIocYcqJyD8cBBkmp1Do41IzlBhldbtqi7%20BUCMCMvURREAXeMCP3axRdSmkS9MpCBBp++AbKwPCilFvMMOO6QBCDUCgh+kCEihMPiyEY7466gL%20fKJTOIBSwZjd+zi2LErsh1apKiFeN3PmzJFXXXXVLI4ONcs77Q4BiFKCnU0AwkZ8wPGiMF8CYDt6%203FcVdurxxx9fftttt82x5gZ0GOx/o5kfsDXIASQlA0CgJrQNmIo0GGqmL6SrEq2cNQE1oDPOOMNO%20FPFHUvq6QwDEvDDmh2mIfBnsRgNhQuPmDKj2HeYXLADC/O0ld7iG0IHAFRrhiK8jBsCqIPAijRxN%20K2oCGslDGwyKBAQh3kxdcskls4Et7207f3LyiEopSmBCg3XrBDlce1kA5a3m3a0oDxtv2+9sQpS3%20AMj/IMgjh68ryHj/nC1MH4BRAZNzFAiqetZsHMucjJw/YQFQ/w1wFn+C6myiuB1RcAC2sl/+8pdX%20wM67zBfmLxDIF4SlS5d6tEfwTL8CQOSvC1CQAIQzsKsFINu9o5gHxfnsj67WfGT6avCigWX3eMZw%20ONx08MgHNTcEZBsEMz0bAjA1ihOoKWG9MPIPs3EAu5FUC0AQCCaCKGB/ABX9oY5YKl6IBsjmXefj%202UcVAG2D7mufn2ufI94N9bpSANi/dejbOo5sMp9l44DoyQOZBxcHUCZ2l1tuuWVfDOZ5uXyBZI4J%20IdX4MzVcm8bWAPqsCSFaFwDlR5ocomyVmNYVDl4+4E22e0URAp0fKgDudWQ6R77sc3cQw0j5W0Bn%20WSPgm1xUCPG4iwOo0VQTla0jT+ULBGoAe0oY2lrUAwxEuKFRL/LVHNEoAD+Cg9kEQ0b3AcLj8rDz%20omiTIEdOlJXZrhDQBrP+UdhDdxHnY7hRAMwBcQD6AxRCt8BUi3RsRV3gEmEBkSaGYC7aLUgo/BwP%20GOJIvyYhNIL5/dHo/EkACBw5AhCZ8Z3VBtrm60i69wtkvnsNRxdr+XR+dxL7VQIgGB7amRnBZvgC%201RRABwsgGLQBcwcell8XFQdIo7hzKdq12B9gagHKhQPAIemDdQG+B+9TDiG3MhH5hoFBuHoU2DYb%20sztjXkKZr+JQ+DkclT2V6+AAk523cQGO8hRqAh7FHMxG4QDWWgHr0b4JWysgmQsEQtuMdOIQePf7%20EHTgqiBs6IAylCmPB0pYazkg/DFkJrdibHeM+nyAHzdTx2ORwkqX6fpMJI7MVxlXTxEdTJob8IH4%20ggSAWjh1xRVXHIEw/CPwhrzrIBaAz61AY1fAAfyQwhBFADISgj/+8Y8XA+s/xnUCyWyqPjJY8wEB%20OvDHsMlOhavjcMZHdwjdz+Fz/NTC7D4FW/aex3o6s0lnjn3PWgtlArlPSHggVmEbyLDQxQJQyLMP%20VhI5KbQs3MUALr300t3g3dvMd2sB1DhT1fcHnnjiiQWQ0jTO3x+d3j+LKg5KowYlVKLCv0EZw7yF%20T0zWdGsCMPq+GHTPPffM5fb73//+RDjg9ZivybUZqA1yYgHEcTBJ9ORzzz33/rxwAM35w41HK8HD%20G7lND+V8AGqBzz//fC1CkmGQ0ibkvSukItGij/rw40HMLhROVpO3rVCqaIyXFoPJHQbTm0IWdhPg%20efa9qoPCagJ2dsJABwfI8ro3jOKBzOgx3Wvj/ZrpQ3XDV50yHJw6dSqxgPEqB4MmYDawMyO5s0IQ%20ZRHH0BBTWkjhF4RZPkVRi1sOPfTQ3ckPMpYTQ7B4J00vcQGtHqowXIJAU81ooNKE9Vt4q7xwAEw8%20+AATPbZiejKLCeT9qnFU0A7xIaoF4GeZi6Awy7afUZgdBtkGCUC+foTqGch0OnwUcLu6qWhCoNBP%20CSEyW/X/1AQ0BfJXxCsKAWdrQSNHwgEybFiteiUeeAMqUWaiKGQ4vX9QQkzla0wgWYPhgFQ7qWA6%20ShKAqCM/2A8IX6SB2yjMd59HQIUjho0CYINaxV6rmGigFoWy1wxMAxD6ElP4iAVk0Dxu2TBI1/7l%20L395CeH6gnzTwYoA0lQXUOXvo63Bfl+0XlYtQAXeZTPhoosuGuv4BBQE4eE87uL4kRkOCmJa2HSv%20sHtJtUtdkukBL7cqriBQAKQBlIvh4pwo/96ACTxPaW6AtbbjJlMTsIX7eU0N08WaXIClxsbAw+/P%20eQAqBMGDdwBCON2pVVdIqCoabiM4gpF9gfxW6Q5v9O7p5LnVy0UUgvAZQiA5fXwryxRogvVIEK1A%20n/tCQBygEoTFpj90agI68jEB7Xg7Vd0JJ5zwACRsnJsIUtZLAoC4lKEgc9U2ChhVAKIJSDj8m7NA%20k8KpEYXUNUd9rmtzrv1XDGLCiQkg+l8sxhUKC4eb8f6ReCmHu3I4X9e/CotLn4Pyvoa8cAA5gXjB%20wy1wLGzm20KglarZiQwBGW9+CWdjPYSuBh01Vh1fIMAThtVHAZzYbHVPD1/OlZzbbHP8bOZrvxg+%20AAdeM3iyDJFANXCJscy5wPYrJUy+SPvas4UH431N90AAJltQfntWAVA1MFofPGhKrsUh7algzPtD%20/SzCJJJXqV4wVWzEd77znbH6IQWp//Da/chr95PJqmZyp3y7QuvOFnaFoYeJzvVmgEHzuHPxxRd/%20hWLdaQr/0Oz1hBQNCJUdCrh4+nXXXTfXrgkIEoBqwp4QgqwLQ1DV8yFcCpZFCQgVazET9Xv4LgMk%20sBfeciFp7MwI7xTcq3131GqSijx6mC4KrJa2t+cuqtPsY0FzAXtaG/BNLLVYtncWGcx8DON/ml7k%20ajgoyRdXA3BL/4ZRjd4fIF8gpwbgfhVuuBWLE/XOUgsgTJzM5yLQFJRhPMbzaFMxdYmd1LWjPvwe%209jO1r3WMKAAaHa59dxNHbsyv79mKxXz5LJXo8xGaH4CXRpCxHIAE5qjVstUE8Dues0FYQHhJGAiv%20JLsGb5+6QLUAjj0ns1dASEY48wFUGCFJ7DTkCyoogqB9h40UiKM5dq6nL0Zrm+14zn21HiIKr6IA%20qXyVizUiUqsGNpOyBJW8oNBsxNT+R4DrNJAVYUigpoVvxyLFS9CuNrUAVB/l9lvEEF6cxMWKskwI%204YMVBvYYw2Xfqe7gILkjPWCaeiiSmAvBLEZGUAJAYVY2ln1eceKJJz4EgW9WqGdai3l/wEpNDQsL%20AwUC8UbrjLrYrhdEmJaCw3cApowPcWsEhQgqZrXCr+4UADKbsTyl3bHdoat/BWkDl8HFYr77P2TK%20JBCMBGrw3uY9Acw9SX4JEDL2fqPh5WZ+l48AqBhkE5aInQoseRJHvVkaphw2pwKJiMOUJVRySEUg%202kYEgqKkaW01z0anrpA3g7jqPSgMLHpGEIUfeo2sPUOIOMAUvGOwCcc2kfk4Rl62oXhlKV44vQrR%202tZcq4Ym3VoAFBFOwtJkD+MhQ7NNCGGihD+C+4sWLeL6gEIBJZlkfr44QKTsIB0dRBruaC90RnGg%20utfxYhMZzsUl+P/Zz8Bd6IgLDOLqYdOdCSKcScwsYhOqt/kSiTeDfICEVDyygJfCcxwaMCGEW0UD%20tEdLYHe5SHEaAjIOD+4vAegEw9193p/PItMpYFGY4nr8BQhKUUlCSTRwSRrEUjD0yVhMQUuB6WET%20RGqwoATfJLqXfARbEyQdDKAGN58hECjXhBCqXYJACBNXQgtsxLYCmmADEMGMfACdHzG8U0WrMnMc%206RGYEk0Q1LElQBR+mgCfeeiTFryq7wvwYRyqg0MniOD8oVjuZwb8t7mWEGSyCUA1VTwQJt4w66IQ%20HJGcq8b1a/EjhoDpcgg9ZKb4lhBemy+Eq9WveF8y3Y1nu2OmTcm+sOKwww7bDXMx9FoYfwvgjXwg%20b7IWhbA/oZ2prbOCQUn3RdFgwlLYmgmK69mEoWs04v0A3OcKFQR/bCGRD+AyWfdQEzKXJ4Nicl8p%20z4IQ8gUmm1PFaCa5tXkgJJSTR7ZeffXVVmFIwLwAzCO7Ce+dPQ8MrYOzVwd/oNJ6nVkzsn9fwhEZ%20i5GfctYG5CjW4sddPBpjIrOhne03hckx5kBahtC8Foxm6l4oaBpRwGpo8yYsJ/eHrNlAeYWy/2gD%200UagDTUgUDVa0i4GeeCBB46DdzkKgkEUitlAaQBWrvpATPdQTIR/8WZwaV/2O/uf6eF1KP8mk1sd%20R2+rWTRyFdoKtAZTKLLd9QGEAWwx6FGKNzD7FXqHMN4dsD8mgo5SRCA0Suaie2PlmNx3CIkPCAEH%204GWRU1GoM8fE+20WPzeaWULN2bCApAMDp7GwwPAZM2bcgCTPWNl1MZhhHx+ulcOYjWI8KjBItr9b%20KCZqVy0aSbvOWdkSCNZk7AHnfA/wxl0trAER241ICT+WbdXQpA0Cgfn1WBz6Idy0xsUAGPrZkxBY%20lWJKx9fj+zRCtjRq1uu7LayKifaeo70BvgDRwEHvvvsuy8KVKFKBi1sUMghI4e14o/hK1BE854JB%20SXtCCEq9Z0GCxHy76SFML1IYOPI5B+CvSBrxHbUMC4fADtV3mwaIic4e52FQzXdMmzat7qyzzjqB%20L+dAWl6D0y0KkbngKmOn4rqX3UUjpQG47Q3vfqAyfE4xCG/Km2ttAHr688D8BSauTAAMqu3+apnY%20BzD2PP2Pf/xjPUZ/BXhzEvqcA5P8yYYFaI5DPau93DeIJO0ZQWB8K1U7gSAw1Mb0tWwpsX+uUPH+%20hRde+FccWmuSR0mopCHd7gTGoSD7vgkDlf1ehncDbwQAVAGmz6IPBpCIfoKwG9UEsDaCQrDOAEGK%206tpdJLDsrrvuehFTig+DJI2DTbcfrPlpvNF8FI3+wYQWqylRpoqoOR8BoGBRw5QKEWHj6CoW0c8C%205q+aBgI/O+It7Yu5y+7EuwOfx7wALtc7E4JRma14FZNHGgEFP2PVdbjzAX3VUIs2DK0eteaTEQUM%20ANMrcCNSBkxrA8zbgJKv5WS8EYC1+iGwSUdhIaPrKTgAkFjD5nde4RQT7DwhdvYnczD/geXfXrBq%20NerIY/gBQ+EfjOY7HdDKMiBo7zYIxfpnn312EXEANsOzZpkBlYJXkYloO/FmFAaznzLnCCdoNjjB%20GqvQIMnzsXDkz1EldDY9VAIWXUYxUetSAKiJuBjXJXhXEEfzZjN4+5Fvhmc11oqunmZ5WWDQGsO/%20FtsEZAxztaxIh7l5L7QKCYD1FpEmtE1mmzZSSEexRmAQVFYXqfnY5tPp1mLT3Gf9n+GHnLm0ccQ3%20GE2ekgC4PNPIz1YWrhuSWs3Jmg5mv0w6bc5rMZ8T5ruyBMiablWSoJAcp39F0iv4UKU1RoW/Wv/H%208KTJ4lmZg/BuYzPntbkCkNGJVl1guWkCiXROu91sIIkkpluOYylm3f7Vw0CZbQlBq2ktFvMTzsBV%2068g1MSRjtTb3HcLOOSJ9Tqj1CMNjSjhMFmNbrWOJAJ6FTg4VReFmGbJTEzXlqlsoJsK/rL9QfO4M%20Tm2jUbKrzCcApLcBB09k0WKXU0wq+2pBle/fHVVeEBU6XCtMuDgIbRRWF7sNocoYYgHFJL3mpRTJ%20rr9Mg+BQryOz8X+ake2bAxzgVSeeby+mAPCXVpvikeFo9cAA9kKoMoCARKKI9iAD4hZzHBsAj27j%20oVIKSOR4O5M8GtC+MtsN5nhHMQVAINKOBowYpKVlLRCpmNShpo4tMQFot1/jawCdtYb5muxRkGAn%20u0BSVXmyntLqgkhsRR5BGkWZEtQCAuAU5rGfm93K3mJqAGmBCjPiq0wTIJEoYudJA2S0LWEz0GZa%202rS2YjuB7j0UmyazgEjF70B7v7Qo42oz+1iRNED4vYrOfDHc3f4/o5hiiimmmGKKKaaYYooppphi%20iimmmGKKKaaYYooppv8FlJhXILrvZ3wAAAAASUVORK5CYII=%22%20preserveAspectRatio=%22none%22%20height=%22102.996%22%20width=%2287.169%22%20x=%22159.832%22%20y=%22119.548%22/%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20x=%22205.695%22%20y=%22150.011%22%20transform=%22scale(.98866%201.01147)%22%20font-weight=%22400%22%20font-size=%2219.302%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#ff0%22%20stroke-width=%22.504%22%3E%3Ctspan%20x=%22205.695%22%20y=%22150.011%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ERAM%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20x=%22205.372%22%20y=%22110.296%22%20transform=%22scale(.98866%201.01147)%22%20font-weight=%22400%22%20font-size=%2219.302%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#00f%22%20stroke-width=%22.504%22%3E%3Ctspan%20x=%22205.372%22%20y=%22110.296%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ESample%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M206.647%20182.6a6.892%206.892%200%200%200-6.89%206.892c0%203.803%203.086%206.896%206.89%206.896%203.805%200%206.868-3.093%206.868-6.896%200-3.806-3.063-6.892-6.868-6.892zm13.814%2010.852l-1.242%202.991%202.215%204.35.293.575-3.072%203.072-5.039-2.38-2.991%201.228-1.519%204.648-.194.617h-4.341l-1.879-5.246-2.991-1.234-4.357%202.21-.575.287-3.07-3.069%202.378-5.042-1.233-2.989-4.64-1.515-.616-.2v-4.338l5.25-1.882%201.233-2.986-2.208-4.36-.291-.571%203.066-3.066%205.045%202.376%202.988-1.236%201.517-4.645.196-.616h4.34l1.88%205.253%202.983%201.236%204.358-2.212.58-.29%203.069%203.065-2.377%205.038%201.228%202.993%204.654%201.517.611.196v4.337z%22%20fill=%22#0ff%22/%3E%3Cg%20transform=%22matrix(.85604%200%200%20.85604%2085.035%2091.517)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E", - "otid": 1596697289362 + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20312.54461%20289.77628%22%20id=%22svg30%22%20width=%22312.545%22%20height=%22289.776%22%3E%3Cdefs%20id=%22defs34%22%3E%3Cmarker%20id=%22TriangleOutM%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20id=%22path988%22%20fill=%22#00f%22%20fill-rule=%22evenodd%22%20stroke=%22#00f%22%20stroke-width=%22.4pt%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow2Mend%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20id=%22path870%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3C/defs%3E%3Cstyle%20id=%22style2%22%3E.st0%7Bdisplay:none%7D.st1%7Bfill:none;stroke:#303030;stroke-width:.7;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10%7D.st2%7Bfill:#303030%7D%3C/style%3E%3Cg%20id=%22layer1%22%20transform=%22translate(81.543%203.027)%22%3E%3Cpath%20class=%22st1%22%20d=%22M48.702%2092.116a64.784%2064.784%200%200%200-12.559%2011.68%2064.99%2064.99%200%200%200-12.69%2024.809%22%20id=%22path11%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20id=%22line17%22%20class=%22st1%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22%20d=%22M184.865%20207.591L41.298%20262.802%22/%3E%3Cpath%20id=%22path21-3%22%20d=%22M185.448%20175.07l.37.154c2.52.831%204.718%202.386%206.634%204.249%202.02%202.322%203.694%204.777%204.423%208.713%201.496%208.074-3.286%2016.05-10.95%2018.997l-1.06.408L41.298%20262.8l-.733.283c-8.003%203.077-17.551.461-21.82-6.975-3.3-5.748-2.736-12.198.418-21.613%203.155-9.414%202.86-21.856-1.644-33.55l.041.003-12.507-32.667c-12.88-33.415-.747-70.376%2027.41-90.31l-1.102-2.749c-3.685-9.583%201.14-20.438%2010.723-24.124%209.583-3.685%2020.439%201.14%2024.124%2010.723l1.654%203.239c34.881-3.556%2068.594%2015.855%2081.318%2049.33l15.24%2038.432c4.795%208.723%2011.831%2015.955%2021.028%2022.248z%22%20fill=%22#fff%22%20stroke=%22#303030%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20d=%22M64.268%20268.838l45.015-17.115s7.963%2024.296-14.427%2030.38c-22.39%206.086-30.588-13.265-30.588-13.265z%22%20id=%22path826%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3Cg%20id=%22layer3%22%20transform=%22translate(78.072%20-.17)%22%3E%3Crect%20id=%22rect845%22%20width=%22135.189%22%20height=%22135.189%22%20x=%2295.783%22%20y=%223.671%22%20ry=%2219.847%22%20fill=%22#55acee%22%20stroke=%22#303030%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3C/g%3E%3Cg%20id=%22layer4%22%20transform=%22translate(78.072%20-.17)%22%3E%3Cellipse%20id=%22path1211%22%20cx=%22-39.888%22%20cy=%22125.645%22%20rx=%2235.684%22%20ry=%2237.984%22%20fill=%22#fff6d5%22%20stroke=%22#000%22%20stroke-width=%225%22%20stroke-linecap=%22round%22/%3E%3Cpath%20class=%22st2%22%20d=%22M172.724%2052.533V27.647h-9.888L144.047%2037.7l2.308%208.9%2014.833-8.076h.33v74.824H172.724V52.533z%22%20id=%22path7%22%20fill=%22#303030%22%20stroke-width=%2214.425%22/%3E%3Cpath%20d=%22M-38.915%20152.276v-39.72%22%20id=%22path841%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%225%22%20marker-end=%22url(#TriangleOutM)%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1621864223514 }, "design": { "graph": { "blocks": [ { - "id": "34028c73-8f61-4f50-a039-0a57d6056946", - "type": "basic.outputLabel", - "data": { - "name": "addr", - "range": "[3:0]", - "blockColor": "navy", - "size": 4, - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 872, - "y": -144 - } - }, - { - "id": "40e3c20c-5598-44a1-b5b4-760dba97d882", - "type": "basic.outputLabel", + "id": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", + "type": "basic.input", "data": { - "name": "din_r", - "range": "[7:0]", - "oldBlockColor": "fuchsia", - "blockColor": "fuchsia", - "size": 8 + "name": "", + "clock": true }, "position": { - "x": 872, - "y": -64 + "x": 240, + "y": 0 } }, { - "id": "38abb13c-8652-41fb-931c-c7bf760ebb24", + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", "type": "basic.output", "data": { - "name": "busy" + "name": "" }, "position": { - "x": 1832, - "y": -56 + "x": 832, + "y": 120 } }, { - "id": "a040cc3d-b2c6-458e-bde6-f8234a19b6d1", - "type": "basic.outputLabel", + "id": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", + "type": "basic.input", "data": { - "blockColor": "fuchsia", - "name": "busy" + "name": "set", + "clock": false }, "position": { - "x": 1640, - "y": -56 + "x": 232, + "y": 120 } }, { - "id": "d1540ef0-9272-4082-9b24-9843ddb00cd7", - "type": "basic.outputLabel", + "id": "fc243ba8-9abb-4a22-81c4-fabdf043cd01", + "type": "basic.input", "data": { - "blockColor": "fuchsia", - "name": "wr", - "oldBlockColor": "fuchsia" + "name": "reset", + "clock": false }, "position": { - "x": 856, - "y": 24 + "x": 232, + "y": 240 } }, { - "id": "7fb933a6-5c63-4d46-8aaa-440b30974993", - "type": "basic.input", + "id": "bc3416e4-576f-40fb-85a9-5058b9f85395", + "type": "basic.constant", "data": { "name": "", - "clock": true + "value": "0", + "local": false }, "position": { - "x": -120, - "y": 80 + "x": 536, + "y": -144 } }, { - "id": "2c31aa6a-383c-4eb5-b669-b8a31ad14225", - "type": "basic.inputLabel", + "id": "4f7ac391-3547-4bdd-b444-f34f89afeb79", + "type": "basic.code", "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "set" + }, + { + "name": "reset" + } + ], + "out": [ + { + "name": "q" + } + ] + }, + "params": [ { - "index": "0", - "name": "", - "value": "" + "name": "INI" } ], - "virtual": true + "code": "//-- Initial value\nreg qi = INI;\n\nalways @(posedge clk)\nbegin\n\n //-- Priority on set\n //-- It is first checked\n if (set == 1'b1) \n qi <= 1'b1;\n \n //-- Second: check reset\n else if (reset == 1'b1)\n qi <= 1'b0;\n \n //-- In any other case the FF\n //-- remains in its current \n //-- state (no change)\nend\n\n//-- Connect the register with the\n//-- output\nassign q = qi;\n" }, "position": { - "x": 24, - "y": 80 + "x": 400, + "y": -32 + }, + "size": { + "width": 360, + "height": 360 } - }, + } + ], + "wires": [ { - "id": "8ca2279c-fdc3-40d3-9fbe-2071c026932f", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "bus_mine", - "oldBlockColor": "fuchsia" + "source": { + "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", + "port": "out" }, - "position": { - "x": 880, - "y": 112 + "target": { + "block": "4f7ac391-3547-4bdd-b444-f34f89afeb79", + "port": "set" } }, { - "id": "1dae6915-2355-4174-95e5-088a7499fb42", - "type": "basic.outputLabel", - "data": { - "name": "mbi", - "range": "[13:0]", - "blockColor": "fuchsia", - "size": 14 + "source": { + "block": "fc243ba8-9abb-4a22-81c4-fabdf043cd01", + "port": "out" }, - "position": { - "x": 1120, - "y": 120 + "target": { + "block": "4f7ac391-3547-4bdd-b444-f34f89afeb79", + "port": "reset" } }, { - "id": "0d362d8c-37c7-4a07-af15-ae7af9bbc7c9", - "type": "basic.output", - "data": { - "name": "mbo", - "range": "[13:0]", - "size": 14 + "source": { + "block": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", + "port": "out" }, - "position": { - "x": 1480, - "y": 120 + "target": { + "block": "4f7ac391-3547-4bdd-b444-f34f89afeb79", + "port": "clk" + } + }, + { + "source": { + "block": "bc3416e4-576f-40fb-85a9-5058b9f85395", + "port": "constant-out" + }, + "target": { + "block": "4f7ac391-3547-4bdd-b444-f34f89afeb79", + "port": "INI" } }, { - "id": "9cabcf85-d855-4e65-96c9-13c244d34d4d", + "source": { + "block": "4f7ac391-3547-4bdd-b444-f34f89afeb79", + "port": "q" + }, + "target": { + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" + } + } + ] + } + } + }, + "5018a67fe520592d7f82dbf669bb3c3661624b65": { + "package": { + "name": "Button-tic", + "version": "0.6", + "description": "Button-tic: Configurable button that emits a tic when it is pressed", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20width=%22293.977%22%20height=%22257.958%22%20viewBox=%220%200%2077.781366%2068.251365%22%3E%3Cdefs%3E%3ClinearGradient%20gradientTransform=%22matrix(-.013%20-.01966%20.01932%20-.01493%20151.654%20290.082)%22%20gradientUnits=%22userSpaceOnUse%22%20y2=%222300.215%22%20x2=%226069.057%22%20y1=%222538.05%22%20x1=%225466.681%22%20id=%22b%22%20xlink:href=%22#a%22/%3E%3ClinearGradient%20id=%22a%22%3E%3Cstop%20offset=%220%22%20stop-color=%22#c3875c%22/%3E%3Cstop%20offset=%22.48%22%20stop-color=%22#eccba3%22/%3E%3Cstop%20offset=%221%22%20stop-color=%22#fce0cb%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg%20transform=%22translate(138.022%20-134.888)%22%3E%3Cpath%20d=%22M-117.19%20184.278a20.69%209.094%200%200%200-13.734%202.307l-5.434.006-1.284%205.482a20.69%209.094%200%200%200-.238%201.3%2020.69%209.094%200%200%200%2020.69%209.093%2020.69%209.094%200%200%200%2020.69-9.094%2020.69%209.094%200%200%200-.029-.351h.064l-1.277-6.47-5.778.005a20.69%209.094%200%200%200-13.67-2.278z%22%20fill=%22#333%22%20stroke=%22#000%22%20stroke-width=%22.282%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20ry=%226.762%22%20rx=%2219.408%22%20cy=%22187.341%22%20cx=%22-117.074%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%22.282%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22matrix(.1018%200%200%20.10181%20-158.528%20145.536)%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-width=%222.772%22%3E%3Cellipse%20cx=%22406.087%22%20cy=%22399.216%22%20rx=%22184.221%22%20ry=%2272.858%22%20fill=%22green%22/%3E%3Cellipse%20cx=%22406.23%22%20cy=%22383.328%22%20rx=%22179.497%22%20ry=%2260.977%22%20fill=%22#0f0%22/%3E%3C/g%3E%3C/g%3E%3Cpath%20d=%22M126.16%20115.387c-1.523%201.514-2.14%203.307-2.023%205.326-.507%201.097-2.411%202.346-2.027%203.267-1.196%201.923-1.624%203.389-1.572%204.569-.544%201.24-.403%201.705-.348%202.268-2.266%203.497-4.092%208.255-5.878%2013.125-2.302%202.765-3.64%205.792-4.898%208.84-2.191%203.7-3.756%207.67-4.02%2011.394l-.265.558c2.996%203.107%204.946%201.524%207.018.747%206.637-3.112%209.504-8.52%2012.212-14.025.473-1.572%201.57-3.127%203.151-4.669%204.414-4.785%206.886-10.022%209.857-15.142.228-.428.58-1.032%201.143-1.941%201.675-1.795%203.418-4.997%205.132-7.612z%22%20fill=%22url(#b)%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.265%22%20transform=%22translate(-90.276%20-115.233)%22/%3E%3Cpath%20d=%22M18.486%2038.911c-2.362%202.823-3.506%206.298-4.228%2010.204.518.13%201.302-.444%202.155-1.196%202.575-6.067%201.848-7.142%202.073-9.008z%22%20fill=%22#f8ecf8%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.265%22/%3E%3Cpath%20d=%22M33.79%205.666c2.093-.057%203.853.53%205.373%201.582M31.832%208.759c2.001.286%203.946.663%205.428%201.788M30.331%2013.16c1.325-.48%203.02.099%204.83%201.005M29.98%2015.593l1.79.362%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%22.265%22/%3E%3Cg%20transform=%22matrix(1.2877%200%200%201.2877%20-70.904%20-45.941)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "653b2ced-3f13-4b1d-a2b6-c330c671067a", "type": "basic.input", "data": { - "name": "mbus", - "range": "[13:0]", - "clock": false, - "size": 14 + "name": "", + "clock": true }, "position": { - "x": -128, - "y": 216 + "x": 128, + "y": -32 } }, { - "id": "6063cdbd-2840-4dec-99f5-d24004ff1c48", + "id": "98209ccc-d0f3-48fc-b10b-c2865b7442fc", "type": "basic.inputLabel", "data": { - "name": "mbi", - "range": "[13:0]", - "pins": [ - { - "index": "13", - "name": "", - "value": "" - }, - { - "index": "12", - "name": "", - "value": "" - }, - { - "index": "11", - "name": "", - "value": "" - }, - { - "index": "10", - "name": "", - "value": "" - }, - { - "index": "9", - "name": "", - "value": "" - }, - { - "index": "8", - "name": "", - "value": "" - }, - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia" + "blockColor": "yellow", + "name": "clk" }, "position": { - "x": 40, - "y": 216 + "x": 280, + "y": -32 } }, { - "id": "45f97815-a402-46f1-a60b-bc584aa6a2ca", - "type": "basic.outputLabel", + "id": "b58132b2-2e39-4a85-ab5b-63bded91cecc", + "type": "basic.output", "data": { - "name": "mbi", - "range": "[13:0]", - "blockColor": "fuchsia", - "size": 14 + "name": "s" }, "position": { - "x": 216, - "y": 216 + "x": 728, + "y": -16 } }, { - "id": "7d0852c6-4778-4a53-bf90-30527c44a0eb", + "id": "2f9cf56e-789c-4621-923a-be59ef6ccd4a", "type": "basic.outputLabel", "data": { "blockColor": "yellow", - "name": "clk" + "name": "clk", + "oldBlockColor": "fuchsia" }, "position": { - "x": 1640, - "y": 224 + "x": 312, + "y": 104 } }, { - "id": "9be4488d-51be-4346-8a31-5d8f2f86e4d3", + "id": "b8666bca-0d3d-4cbb-8129-fcea674d428a", "type": "basic.outputLabel", "data": { - "blockColor": "fuchsia", - "name": "bus_mine", + "blockColor": "yellow", + "name": "clk", "oldBlockColor": "fuchsia" }, "position": { - "x": 936, - "y": 248 + "x": 744, + "y": 136 } }, { - "id": "95c4416f-62f5-4196-a406-f7915d40a572", + "id": "997db8c4-b772-49d8-83e7-4427aff720e6", "type": "basic.output", "data": { - "name": "done" + "name": "Press" }, "position": { - "x": 1952, - "y": 280 + "x": 1032, + "y": 184 } }, { - "id": "289f00be-f97d-4553-a60a-32d8b45da4cc", - "type": "basic.outputLabel", + "id": "21bc142d-a93a-430d-b37a-326435def9f9", + "type": "basic.input", "data": { - "blockColor": "fuchsia", - "name": "done", - "oldBlockColor": "fuchsia" + "name": "pin", + "clock": false }, "position": { - "x": 1632, - "y": 296 + "x": 304, + "y": 200 } }, { - "id": "b14f140b-7bb5-46d9-8019-39c27ff6e0e3", - "type": "basic.input", + "id": "7f2c89d2-aea0-4ff9-b4f9-52d70cefa867", + "type": "basic.constant", "data": { - "name": "start", - "clock": false + "name": "pup", + "value": "0", + "local": false }, "position": { - "x": -88, - "y": 312 + "x": 448, + "y": 56 } }, { - "id": "da45f105-3600-4458-a820-50046581f5dd", - "type": "basic.inputLabel", + "id": "1ff8ad12-4df4-4aee-922b-c0c0fb449926", + "type": "basic.constant", "data": { - "blockColor": "fuchsia", - "name": "start", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "name": "not", + "value": "0", + "local": false }, "position": { - "x": 56, - "y": 312 + "x": 560, + "y": 56 } }, { - "id": "923c4db6-0c76-4647-a848-75fd61fba6ec", - "type": "basic.outputLabel", + "id": "15503ba9-0846-4d76-9fa4-dd8f67da8f08", + "type": "basic.info", "data": { - "blockColor": "fuchsia", - "name": "done", - "oldBlockColor": "fuchsia" + "info": "System clock", + "readonly": true }, "position": { - "x": 936, - "y": 312 + "x": 136, + "y": -56 + }, + "size": { + "width": 136, + "height": 40 } }, { - "id": "05a1a5b4-bf29-49df-b0b1-887859d9ec9e", - "type": "basic.inputLabel", + "id": "8f811ac3-ce9d-4e72-af71-03036c9426e7", + "type": "basic.info", "data": { - "blockColor": "fuchsia", - "name": "bbusy", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "info": "Button state signal", + "readonly": true }, "position": { - "x": 560, - "y": 336 + "x": 720, + "y": -32 + }, + "size": { + "width": 176, + "height": 40 } }, { - "id": "9978357f-7ad7-44b5-97d2-b44692508773", - "type": "basic.input", + "id": "dee7b550-b7f2-40d7-955d-bfb931daba22", + "type": "basic.info", "data": { - "name": "din", - "range": "[7:0]", - "clock": false, - "size": 8 + "info": "Tic: button pressed", + "readonly": true }, "position": { - "x": -88, - "y": 392 + "x": 1024, + "y": 152 + }, + "size": { + "width": 184, + "height": 40 } }, { - "id": "5344b55b-0e5d-4444-88ef-fd6b3caa1c5b", - "type": "basic.inputLabel", + "id": "88b26983-667f-40de-b1c6-c6710a7bbd4a", + "type": "basic.info", "data": { - "name": "din", - "range": "[7:0]", - "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia" + "info": "Rising edge detector", + "readonly": true }, "position": { - "x": 64, - "y": 392 + "x": 872, + "y": 248 + }, + "size": { + "width": 184, + "height": 40 } }, { - "id": "5884d0cb-fd13-4b25-b561-c919079d2136", - "type": "basic.output", + "id": "0957ba76-2838-49cb-8fd4-b9fe42f21801", + "type": "basic.info", "data": { - "name": "nc" + "info": "Pull up on/off", + "readonly": true }, "position": { - "x": 1936, - "y": 488 + "x": 448, + "y": 16 + }, + "size": { + "width": 152, + "height": 40 } }, { - "id": "54e9bf9f-b852-4c45-bd53-f6eb4ee707eb", - "type": "basic.inputLabel", + "id": "5a5caef3-ffd0-46a4-9f63-e55aa8cd750d", + "type": "basic.info", "data": { - "blockColor": "fuchsia", - "name": "start_read", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "info": "Not on/off", + "readonly": true }, "position": { - "x": 608, - "y": 504 + "x": 576, + "y": 16 + }, + "size": { + "width": 120, + "height": 32 } }, { - "id": "fce01e4d-e6d2-4811-8f96-410673168b4c", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "bbusy", - "oldBlockColor": "fuchsia" - }, + "id": "541797cf-83f6-45cf-9a33-0009bb231e47", + "type": "ae13be3e513e7cb48d47d3fb3aa840dd85dc1f5e", "position": { - "x": 152, - "y": 552 + "x": 888, + "y": 168 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "700d8b15-d6df-4b76-b10d-72db58c33e6c", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "bus_mine", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" - }, + "id": "eed1d43a-6faf-4ca5-b3b8-f1e071234e0f", + "type": "091b3514573becaa7196cc3f7854140e5773864d", "position": { - "x": 776, - "y": 584 + "x": 496, + "y": 184 + }, + "size": { + "width": 96, + "height": 64 } - }, + } + ], + "wires": [ { - "id": "5b15b8c9-8fb1-410a-8910-a60ef283ff1d", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk" + "source": { + "block": "653b2ced-3f13-4b1d-a2b6-c330c671067a", + "port": "out" }, - "position": { - "x": 1496, - "y": 648 - } + "target": { + "block": "98209ccc-d0f3-48fc-b10b-c2865b7442fc", + "port": "inlabel" + }, + "vertices": [] }, { - "id": "524ca75c-cdd3-4e79-851a-b46ce146bd66", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "start" + "source": { + "block": "2f9cf56e-789c-4621-923a-be59ef6ccd4a", + "port": "outlabel" }, - "position": { - "x": 152, - "y": 696 - } + "target": { + "block": "eed1d43a-6faf-4ca5-b3b8-f1e071234e0f", + "port": "59f7bee9-9832-421d-aa0a-de177f3f121d" + }, + "vertices": [ + { + "x": 424, + "y": 160 + } + ] }, { - "id": "7e9db299-cb56-4cd9-a489-d5fbd6eb3e2f", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "busy", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "source": { + "block": "b8666bca-0d3d-4cbb-8129-fcea674d428a", + "port": "outlabel" }, - "position": { - "x": 1184, - "y": 704 + "target": { + "block": "541797cf-83f6-45cf-9a33-0009bb231e47", + "port": "2708468d-1088-4570-be63-fb0d4799a941" } }, { - "id": "28d32f23-19b6-4a8c-8ac6-edbbb1a0e999", - "type": "basic.outputLabel", - "data": { - "name": "din", - "range": "[7:0]", - "blockColor": "fuchsia", - "size": 8 + "source": { + "block": "21bc142d-a93a-430d-b37a-326435def9f9", + "port": "out" }, - "position": { - "x": 1496, - "y": 712 + "target": { + "block": "eed1d43a-6faf-4ca5-b3b8-f1e071234e0f", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" } }, { - "id": "703240cb-6595-44d0-a266-869db1fe0889", - "type": "basic.inputLabel", - "data": { - "name": "din_r", - "range": "[7:0]", - "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia", - "oldBlockColor": "fuchsia" + "source": { + "block": "eed1d43a-6faf-4ca5-b3b8-f1e071234e0f", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, - "position": { - "x": 1840, - "y": 712 + "target": { + "block": "b58132b2-2e39-4a85-ab5b-63bded91cecc", + "port": "in" } }, { - "id": "7df4a7f1-90b6-4562-8be3-e4719a824545", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk" + "source": { + "block": "eed1d43a-6faf-4ca5-b3b8-f1e071234e0f", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, - "position": { - "x": 880, - "y": 752 - } + "target": { + "block": "541797cf-83f6-45cf-9a33-0009bb231e47", + "port": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff" + }, + "vertices": [] }, { - "id": "8e8559df-135a-42b3-842d-7e6f7528aa8c", - "type": "basic.inputLabel", - "data": { - "name": "addr", - "range": "[3:0]", - "pins": [ - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia", - "blockColor": "navy" + "source": { + "block": "541797cf-83f6-45cf-9a33-0009bb231e47", + "port": "1c25e08e-e664-4fab-9b30-cedc1f8a3739" }, - "position": { - "x": 1232, - "y": 816 + "target": { + "block": "997db8c4-b772-49d8-83e7-4427aff720e6", + "port": "in" } }, { - "id": "dc204461-1dd1-428f-91a2-006d905d6585", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "start_read" + "source": { + "block": "7f2c89d2-aea0-4ff9-b4f9-52d70cefa867", + "port": "constant-out" }, - "position": { - "x": 872, - "y": 832 + "target": { + "block": "eed1d43a-6faf-4ca5-b3b8-f1e071234e0f", + "port": "07e7cb88-d87c-4aa3-9938-fc226e3f4815" } }, { - "id": "0db424eb-f896-41e1-becb-7eb065dd64f2", - "type": "basic.outputLabel", + "source": { + "block": "1ff8ad12-4df4-4aee-922b-c0c0fb449926", + "port": "constant-out" + }, + "target": { + "block": "eed1d43a-6faf-4ca5-b3b8-f1e071234e0f", + "port": "6aacd3c5-a3e9-4a17-afb8-2b1271b3054c" + } + } + ] + } + } + }, + "ae13be3e513e7cb48d47d3fb3aa840dd85dc1f5e": { + "package": { + "name": "Rising-edge-detector", + "version": "0.4", + "description": "Rising-edge detector. It generates a 1-period pulse (tic) when a rising edge is detected on the input. Block implementation", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22185.363%22%20height=%22183.398%22%20viewBox=%220%200%2049.043981%2048.524089%22%3E%3Cg%20stroke-linecap=%22round%22%3E%3Cg%20fill=%22none%22%20stroke=%22#00f%22%3E%3Cpath%20d=%22M13.478%2032.434l6.026%207.975-5.054%206.03%201.749%201.556m-3.96-15.367l-3.5%207.976-7.97%201.555.583%202.529%22%20stroke-width=%221.058%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M12.773%2032.628V2.686%22%20stroke-width=%223.969%22/%3E%3Cpath%20d=%22M1.984%2012.436L12.673%201.984l10.35%2010.452%22%20stroke-width=%223.969%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(.842%200%200%20.842%20-48.178%20-26.157)%22%20stroke=%22green%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "2708468d-1088-4570-be63-fb0d4799a941", + "type": "basic.input", "data": { - "blockColor": "fuchsia", - "name": "busy" + "name": "", + "clock": true }, "position": { "x": 152, - "y": 840 + "y": 152 } }, { - "id": "eda78d52-57f7-4e44-bd8e-75e67c496650", - "type": "basic.outputLabel", + "id": "9215ae7b-9960-4c8e-b80c-4d636db8510d", + "type": "basic.output", "data": { - "blockColor": "fuchsia", - "name": "wr", - "oldBlockColor": "fuchsia" + "name": "nc" }, "position": { - "x": 864, - "y": 904 + "x": 840, + "y": 160 } }, { - "id": "caf86b2c-c08d-411d-be47-4084fec9532e", - "type": "basic.inputLabel", + "id": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", + "type": "basic.input", "data": { - "blockColor": "fuchsia", - "name": "wr", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "name": "", + "clock": false }, "position": { - "x": 1216, - "y": 912 + "x": 152, + "y": 280 } }, { - "id": "366a768a-2f5d-4c01-8338-bdef0a688ea7", - "type": "basic.inputLabel", + "id": "1c25e08e-e664-4fab-9b30-cedc1f8a3739", + "type": "basic.output", "data": { - "blockColor": "fuchsia", - "name": "done", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "name": "" }, "position": { - "x": 1144, - "y": 1008 + "x": 840, + "y": 400 } }, { - "id": "0a517454-aeac-48a3-bc62-6aa73da948bd", + "id": "49c0a94e-2687-4aa4-8cba-327b2942095f", "type": "basic.info", "data": { - "info": "Reading data from memory \nReading bus status", + "info": "## Rising edge detector\n\nIt generates a 1-period pulse (tic) when a rising edge is detected on the \ninput signal", "readonly": true }, "position": { - "x": 336, - "y": 120 + "x": 176, + "y": -16 }, "size": { - "width": 232, - "height": 64 + "width": 568, + "height": 80 } }, { - "id": "a200cfa9-fe9a-4c4b-b9d4-f4307d071797", + "id": "a6ea5e17-d259-4272-8d1c-87a6a7fe3235", "type": "basic.info", "data": { - "info": "Calculate if the bus can be taken", + "info": "Input signal", "readonly": true }, "position": { - "x": 216, - "y": 440 + "x": 160, + "y": 256 }, "size": { - "width": 272, - "height": 32 + "width": 136, + "height": 40 } }, { - "id": "7a989d63-cd4a-4c47-9513-57b4ea6ee141", - "type": "35f267d0df6ffcb7fc33753bc9df9cf083642cca", + "id": "d0d6c668-3c03-42f5-9244-9a0431f11a87", + "type": "basic.info", + "data": { + "info": "System clock", + "readonly": true + }, "position": { - "x": 296, - "y": 552 + "x": 168, + "y": 120 }, "size": { "width": 96, - "height": 64 + "height": 48 } }, { - "id": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", - "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", + "id": "f18011f4-eb45-4f91-9716-c1d8c99f1845", + "type": "basic.info", + "data": { + "info": "Current signal \nstate", + "readonly": true + }, "position": { - "x": 464, - "y": 568 + "x": 328, + "y": 456 }, "size": { - "width": 96, - "height": 64 + "width": 168, + "height": 48 } }, { - "id": "239fe2ba-e2b9-4446-a1ea-51e1616f5b75", + "id": "ab801839-c115-4e44-adb7-349586890b97", "type": "basic.info", "data": { - "info": "The bus is available", + "info": "Signal state in the previous \nclock cycle", "readonly": true }, "position": { - "x": 384, - "y": 512 + "x": 328, + "y": 200 }, "size": { - "width": 184, - "height": 32 + "width": 248, + "height": 48 } }, { - "id": "b62ad9b4-5b0e-4b74-a0ad-947946a59331", + "id": "fde5c436-d382-48e7-80b5-390c05f46b9d", "type": "basic.info", "data": { - "info": "This circuits wants \nto use the bus", + "info": "If the current signal is 1 and its value in \nthe previous clock cycle was 0, it means \nthat a rising edge has been detected! \nThe output es 1\n\nIn any other case the output is 0", "readonly": true }, "position": { - "x": 280, - "y": 664 + "x": 728, + "y": 256 }, "size": { - "width": 192, - "height": 56 + "width": 344, + "height": 96 } }, { - "id": "c25805fd-f852-43d5-93db-f3f0cb17c301", + "id": "c3990bfd-57a6-4602-ab46-800486326dd6", "type": "basic.info", "data": { - "info": "The bus has been already \ntaken", + "info": "**Delay**: 0 clock cycles \n\nThere is no delay between the arrival of a rising edge \nand its detection", "readonly": true }, "position": { - "x": 272, - "y": 816 + "x": 528, + "y": 504 }, "size": { - "width": 208, - "height": 56 + "width": 416, + "height": 88 } }, { - "id": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", - "type": "81613874c6152f06c06ed7014bf4235900cfcc30", + "id": "70cfa680-3def-482c-b194-054c1f522357", + "type": "3676a00f3a70e406487ed14b901daf3e4984e63d", "position": { - "x": 648, - "y": 584 + "x": 552, + "y": 280 }, "size": { "width": 96, @@ -8363,11 +7896,11 @@ } }, { - "id": "26b71a43-5955-4452-9b0e-94ea6ef453b7", - "type": "81613874c6152f06c06ed7014bf4235900cfcc30", + "id": "49c498a6-eb89-4e72-889d-26e39cea5ad0", + "type": "ba518ee261a2be13a9739cd3a01cdcebe0ef63c0", "position": { - "x": 1088, - "y": 296 + "x": 696, + "y": 400 }, "size": { "width": 96, @@ -8375,2045 +7908,2273 @@ } }, { - "id": "d3ce12c0-3b45-4ed2-8446-fb6c4c8e8710", - "type": "basic.info", - "data": { - "info": "One cycle after the machine is done \nthe bus is already taken to write \nthe bbusy signal to 0 and allow \nother circuits to use it", - "readonly": true - }, + "id": "4f9cbe33-5c5a-43fb-bb20-863555cd0c64", + "type": "58ed2b5c7e33e2f215ccba6c101d9ea4ff60f284", "position": { - "x": 960, - "y": 392 + "x": 320, + "y": 264 }, "size": { - "width": 304, - "height": 88 + "width": 96, + "height": 64 } - }, + } + ], + "wires": [ { - "id": "110cf90a-bc63-4642-a72e-33e8e397e804", - "type": "basic.info", - "data": { - "info": "The output bus is controlled \nby this circuit (1) or \nremain untouched (0)", - "readonly": true - }, - "position": { - "x": 1352, - "y": 256 + "source": { + "block": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", + "port": "out" }, - "size": { - "width": 240, - "height": 112 + "target": { + "block": "4f9cbe33-5c5a-43fb-bb20-863555cd0c64", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" } }, { - "id": "0421b3fd-c660-4279-abe0-e1d486431ce0", - "type": "basic.info", - "data": { - "info": "The reading machine \ncan be started", - "readonly": true - }, - "position": { - "x": 584, - "y": 456 + "source": { + "block": "2708468d-1088-4570-be63-fb0d4799a941", + "port": "out" }, - "size": { - "width": 184, - "height": 64 + "target": { + "block": "4f9cbe33-5c5a-43fb-bb20-863555cd0c64", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" } }, { - "id": "165f75a6-a05d-4025-aac5-91f45cd6cd30", - "type": "1c7dae7144d376f2ee4896fcc502a29110e2db37", - "position": { - "x": 1808, - "y": 280 + "source": { + "block": "4f9cbe33-5c5a-43fb-bb20-863555cd0c64", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" }, - "size": { - "width": 96, - "height": 64 + "target": { + "block": "70cfa680-3def-482c-b194-054c1f522357", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" } }, { - "id": "1d98c440-947b-4591-946a-b35d277853b1", - "type": "56d27471f271f95a5d5eb660f7745d5d9329ab02", - "position": { - "x": 1680, - "y": 696 + "source": { + "block": "70cfa680-3def-482c-b194-054c1f522357", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, - "size": { - "width": 96, - "height": 96 + "target": { + "block": "49c498a6-eb89-4e72-889d-26e39cea5ad0", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" } }, { - "id": "0414e63d-55c1-41b0-abdf-4e02d0f68ff9", - "type": "725b7e2cb9666b5ed3183537d9c898f096dab82a", - "position": { - "x": 1504, - "y": 792 + "source": { + "block": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", + "port": "out" }, - "size": { - "width": 96, - "height": 64 + "target": { + "block": "49c498a6-eb89-4e72-889d-26e39cea5ad0", + "port": "97b51945-d716-4b6c-9db9-970d08541249" } }, { - "id": "cb239ba5-a0b6-498b-817d-0f0013b987c0", - "type": "basic.info", + "source": { + "block": "49c498a6-eb89-4e72-889d-26e39cea5ad0", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "1c25e08e-e664-4fab-9b30-cedc1f8a3739", + "port": "in" + } + } + ] + } + } + }, + "3676a00f3a70e406487ed14b901daf3e4984e63d": { + "package": { + "name": "NOT", + "version": "2.0", + "description": "NOT gate (Verilog implementation)", + "author": "Jesús Arroyo, Juan González", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22317.651%22%20height=%22194.058%22%20version=%221%22%3E%3Cpath%20d=%22M69.246%204l161.86%2093.027-161.86%2093.031V4z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20cx=%22253.352%22%20cy=%2296.736%22%20rx=%2221.393%22%20ry=%2221.893%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2097.49h65.262m205.796%200h38.48%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%2281.112%22%20y=%22111.734%22%20transform=%22scale(.99532%201.0047)%22%20font-weight=%22400%22%20font-size=%2249.675%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%2281.112%22%20y=%22111.734%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%3ENot%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "18c2ebc7-5152-439c-9b3f-851c59bac834", + "type": "basic.input", "data": { - "info": "## Sample machine\n\nRead the input data, (one byte per clock cycle) and store it into the memory\n\n", - "readonly": true + "name": "" }, "position": { - "x": -104, - "y": -192 - }, - "size": { - "width": 648, - "height": 104 + "x": 112, + "y": 72 } }, { - "id": "609dbf24-0993-4b6c-b756-89c07956ceb6", - "type": "f1dc888a11b743f08087b6e65015fe269bed1f6f", - "position": { - "x": 384, - "y": 184 + "id": "664caf9e-5f40-4df4-800a-b626af702e62", + "type": "basic.output", + "data": { + "name": "" }, - "size": { - "width": 96, - "height": 128 + "position": { + "x": 560, + "y": 72 } }, { - "id": "2d992803-f074-4c94-b1a7-558ec08e9e80", - "type": "6050ed4fa033f3f13d3fe5fae5dcedb414a0fede", + "id": "5365ed8c-e5db-4445-938f-8d689830ea5c", + "type": "basic.code", + "data": { + "code": "//-- NOT Gate\nassign q = ~a;\n\n", + "params": [], + "ports": { + "in": [ + { + "name": "a" + } + ], + "out": [ + { + "name": "q" + } + ] + } + }, "position": { - "x": 1080, - "y": -80 + "x": 256, + "y": 48 }, "size": { - "width": 96, - "height": 128 + "width": 256, + "height": 104 } }, { - "id": "7a8892b7-c00f-43ba-84c9-0e184c5144bf", - "type": "7cd239bdd995aa0988ea7615327f97fbe335930d", + "id": "e3bb41e3-1944-4946-9675-c2dbe2e49fcf", + "type": "basic.info", + "data": { + "info": "Input", + "readonly": true + }, "position": { - "x": 1312, - "y": 104 + "x": 128, + "y": 32 }, "size": { - "width": 96, - "height": 96 + "width": 80, + "height": 40 } }, { - "id": "cf4e570a-5ee4-4836-8dab-4d4340c3acb3", - "type": "efe39aa2a101707774e24b099a0654cc52ff8a04", + "id": "8408dd5f-945f-4a89-9790-7752813d4e91", + "type": "basic.info", + "data": { + "info": "Output", + "readonly": true + }, "position": { - "x": 1016, - "y": 800 + "x": 576, + "y": 40 }, "size": { - "width": 96, - "height": 128 + "width": 80, + "height": 40 } } ], "wires": [ { "source": { - "block": "7fb933a6-5c63-4d46-8aaa-440b30974993", + "block": "18c2ebc7-5152-439c-9b3f-851c59bac834", "port": "out" }, "target": { - "block": "2c31aa6a-383c-4eb5-b669-b8a31ad14225", - "port": "inlabel" - }, - "vertices": [] + "block": "5365ed8c-e5db-4445-938f-8d689830ea5c", + "port": "a" + } }, { "source": { - "block": "b14f140b-7bb5-46d9-8019-39c27ff6e0e3", - "port": "out" + "block": "5365ed8c-e5db-4445-938f-8d689830ea5c", + "port": "q" }, "target": { - "block": "da45f105-3600-4458-a820-50046581f5dd", - "port": "inlabel" + "block": "664caf9e-5f40-4df4-800a-b626af702e62", + "port": "in" + } + } + ] + } + } + }, + "58ed2b5c7e33e2f215ccba6c101d9ea4ff60f284": { + "package": { + "name": "sys-DFF-verilog", + "version": "3", + "description": "System - D Flip-flop. Capture data every system clock cycle. Verilog implementation", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20width=%22196.313%22%20height=%22216.83%22%20viewBox=%220%200%2051.941051%2057.369679%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20transform=%22translate(-52.22%20-48.028)%22%3E%3Crect%20width=%2224.412%22%20height=%2213.185%22%20x=%2279.352%22%20y=%2253.67%22%20ry=%222.247%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%22.794%22%20stroke-linecap=%22round%22/%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M77.902%2088.18l13.607%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M70.517%2080.116l-9.232-19.613-6.45%203.725-2.07-3.584%2020.905-12.07%202.07%203.584-6.093%203.518%2012.03%2018.222s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.773L69.412%2093.049s-2.848-3.696-2.16-6.796c.687-3.1%203.265-6.137%203.265-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Ctext%20style=%22line-height:1.25%22%20x=%2281.296%22%20y=%2263.239%22%20font-weight=%22400%22%20font-size=%2210.583%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20x=%2281.296%22%20y=%2263.239%22%20font-weight=%22700%22%3ESys%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "54dbabeb-8aef-4184-8fdc-87528aca29a3", + "type": "basic.output", + "data": { + "name": "nc" + }, + "position": { + "x": 816, + "y": 112 } }, { - "source": { - "block": "609dbf24-0993-4b6c-b756-89c07956ceb6", - "port": "9751f777-00ec-46c1-8d85-07d2dec1e653" + "id": "3943e194-090b-4553-9df3-88bc4b17abc2", + "type": "basic.input", + "data": { + "name": "", + "clock": true }, - "target": { - "block": "05a1a5b4-bf29-49df-b0b1-887859d9ec9e", - "port": "inlabel" + "position": { + "x": 208, + "y": 184 } }, { - "source": { - "block": "7df4a7f1-90b6-4562-8be3-e4719a824545", - "port": "outlabel" + "id": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78", + "type": "basic.output", + "data": { + "name": "" }, - "target": { - "block": "cf4e570a-5ee4-4836-8dab-4d4340c3acb3", - "port": "cb426e3d-ace3-4a57-a74b-155caed0c14c" + "position": { + "x": 816, + "y": 232 } }, { - "source": { - "block": "fce01e4d-e6d2-4811-8f96-410673168b4c", - "port": "outlabel" + "id": "bf2f0c53-2d04-4cba-aa70-2df85502d24f", + "type": "basic.input", + "data": { + "name": "", + "clock": false }, - "target": { - "block": "7a989d63-cd4a-4c47-9513-57b4ea6ee141", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "position": { + "x": 208, + "y": 280 + } + }, + { + "id": "65194b18-5d2a-41b2-bd86-01be99978ad6", + "type": "basic.constant", + "data": { + "name": "", + "value": "0", + "local": false }, - "vertices": [] + "position": { + "x": 512, + "y": 64 + } }, { - "source": { - "block": "524ca75c-cdd3-4e79-851a-b46ce146bd66", - "port": "outlabel" + "id": "bdc170f0-4468-4137-bd79-4624c9cadf2b", + "type": "basic.code", + "data": { + "code": "//-- Initial value\nreg qi = INI;\n\n//-- Capture the input data \n//-- on the rising edge of \n//-- the system clock\nalways @(posedge clk)\n qi <= d;\n \n//-- Connect the register with the\n//-- output\nassign q = qi;", + "params": [ + { + "name": "INI" + } + ], + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "d" + } + ], + "out": [ + { + "name": "q" + } + ] + } }, - "target": { - "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", - "port": "97b51945-d716-4b6c-9db9-970d08541249" + "position": { + "x": 384, + "y": 168 }, - "vertices": [] + "size": { + "width": 352, + "height": 192 + } }, { - "source": { - "block": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "id": "53d11290-50b3-40fb-b253-222cb296b075", + "type": "basic.info", + "data": { + "info": "Parameter: Initial value", + "readonly": true }, - "target": { - "block": "700d8b15-d6df-4b76-b10d-72db58c33e6c", - "port": "inlabel" + "position": { + "x": 488, + "y": 32 }, - "vertices": [] + "size": { + "width": 208, + "height": 40 + } }, { - "source": { - "block": "0db424eb-f896-41e1-becb-7eb065dd64f2", - "port": "outlabel" + "id": "c25a29cd-d5ed-435e-b375-e6d5557660d8", + "type": "basic.info", + "data": { + "info": "System clock", + "readonly": true }, - "target": { - "block": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", - "port": "97b51945-d716-4b6c-9db9-970d08541249" + "position": { + "x": 208, + "y": 160 }, - "vertices": [ - { - "x": 584, - "y": 824 - } - ] + "size": { + "width": 120, + "height": 32 + } }, { - "source": { - "block": "9be4488d-51be-4346-8a31-5d8f2f86e4d3", - "port": "outlabel" + "id": "ecafc6fa-330b-4ba7-aa67-40b3ea48f1f1", + "type": "basic.info", + "data": { + "info": "Input data", + "readonly": true }, - "target": { - "block": "26b71a43-5955-4452-9b0e-94ea6ef453b7", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "position": { + "x": 224, + "y": 256 }, - "vertices": [] + "size": { + "width": 112, + "height": 40 + } }, { - "source": { - "block": "923c4db6-0c76-4647-a848-75fd61fba6ec", - "port": "outlabel" + "id": "df95c331-682d-4733-a62d-ad9fcd75f96a", + "type": "basic.info", + "data": { + "info": "Output", + "readonly": true }, - "target": { - "block": "26b71a43-5955-4452-9b0e-94ea6ef453b7", - "port": "97b51945-d716-4b6c-9db9-970d08541249" + "position": { + "x": 840, + "y": 200 }, - "vertices": [] + "size": { + "width": 80, + "height": 40 + } }, { - "source": { - "block": "cf4e570a-5ee4-4836-8dab-4d4340c3acb3", - "port": "49221b19-132a-4e3f-9a1f-97bcd463391b" + "id": "dd8217df-b56d-49a9-ae94-f5e0c96e1460", + "type": "basic.info", + "data": { + "info": "# D Flip-Flop (system)\n\nIt stores the input data that arrives at cycle n \nIts output is shown in the cycle n+1", + "readonly": true }, - "target": { - "block": "366a768a-2f5d-4c01-8338-bdef0a688ea7", - "port": "inlabel" + "position": { + "x": 144, + "y": -136 + }, + "size": { + "width": 488, + "height": 104 } }, { - "source": { - "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "id": "92bfbcf5-6016-4ad8-963c-c5c7747304d0", + "type": "basic.info", + "data": { + "info": "Not connected", + "readonly": true }, - "target": { - "block": "54e9bf9f-b852-4c45-bd53-f6eb4ee707eb", - "port": "inlabel" + "position": { + "x": 808, + "y": 88 + }, + "size": { + "width": 176, + "height": 32 } - }, + } + ], + "wires": [ { "source": { - "block": "dc204461-1dd1-428f-91a2-006d905d6585", - "port": "outlabel" + "block": "3943e194-090b-4553-9df3-88bc4b17abc2", + "port": "out" }, "target": { - "block": "cf4e570a-5ee4-4836-8dab-4d4340c3acb3", - "port": "8f591b24-0427-409f-aa6e-ca1861556cf5" + "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", + "port": "clk" } }, { "source": { - "block": "cf4e570a-5ee4-4836-8dab-4d4340c3acb3", - "port": "6a11eaf9-4bd5-405e-81f8-44418365326b" + "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", + "port": "q" }, "target": { - "block": "7e9db299-cb56-4cd9-a489-d5fbd6eb3e2f", - "port": "inlabel" + "block": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78", + "port": "in" } }, { "source": { - "block": "a040cc3d-b2c6-458e-bde6-f8234a19b6d1", - "port": "outlabel" + "block": "65194b18-5d2a-41b2-bd86-01be99978ad6", + "port": "constant-out" }, "target": { - "block": "38abb13c-8652-41fb-931c-c7bf760ebb24", - "port": "in" - }, - "vertices": [] + "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", + "port": "INI" + } }, { "source": { - "block": "8ca2279c-fdc3-40d3-9fbe-2071c026932f", - "port": "outlabel" + "block": "bf2f0c53-2d04-4cba-aa70-2df85502d24f", + "port": "out" }, "target": { - "block": "2d992803-f074-4c94-b1a7-558ec08e9e80", - "port": "49fb1766-1e7f-4706-9872-a6cd65cc9f2d" + "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", + "port": "d" } - }, + } + ] + } + } + }, + "091b3514573becaa7196cc3f7854140e5773864d": { + "package": { + "name": "Button", + "version": "0.5", + "description": "Configurable button (pull-up on/off. Not on/off)", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20width=%22202.458%22%20height=%22255.947%22%20viewBox=%220%200%2053.566957%2067.719398%22%3E%3Cdefs%3E%3ClinearGradient%20gradientTransform=%22matrix(-.013%20-.01966%20.01932%20-.01493%20151.654%20290.082)%22%20gradientUnits=%22userSpaceOnUse%22%20y2=%222300.215%22%20x2=%226069.057%22%20y1=%222538.05%22%20x1=%225466.681%22%20id=%22b%22%20xlink:href=%22#a%22/%3E%3ClinearGradient%20id=%22a%22%3E%3Cstop%20offset=%220%22%20stop-color=%22#c3875c%22/%3E%3Cstop%20offset=%22.48%22%20stop-color=%22#eccba3%22/%3E%3Cstop%20offset=%221%22%20stop-color=%22#fce0cb%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg%20transform=%22translate(138.022%20-134.888)%22%3E%3Cpath%20d=%22M-117.19%20184.278a20.69%209.094%200%200%200-13.734%202.307l-5.434.006-1.284%205.482a20.69%209.094%200%200%200-.238%201.3%2020.69%209.094%200%200%200%2020.69%209.093%2020.69%209.094%200%200%200%2020.69-9.094%2020.69%209.094%200%200%200-.029-.351h.064l-1.277-6.47-5.778.005a20.69%209.094%200%200%200-13.67-2.278z%22%20fill=%22#333%22%20stroke=%22#000%22%20stroke-width=%22.282%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20ry=%226.762%22%20rx=%2219.408%22%20cy=%22187.341%22%20cx=%22-117.074%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%22.282%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22matrix(.1018%200%200%20.10181%20-158.528%20145.536)%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-width=%222.772%22%3E%3Cellipse%20cx=%22406.087%22%20cy=%22399.216%22%20rx=%22184.221%22%20ry=%2272.858%22%20fill=%22green%22/%3E%3Cellipse%20cx=%22406.23%22%20cy=%22383.328%22%20rx=%22179.497%22%20ry=%2260.977%22%20fill=%22#0f0%22/%3E%3C/g%3E%3C/g%3E%3Cpath%20d=%22M126.16%20115.387c-1.523%201.514-2.14%203.307-2.023%205.326-.507%201.097-2.411%202.346-2.027%203.267-1.196%201.923-1.624%203.389-1.572%204.569-.544%201.24-.403%201.705-.348%202.268-2.266%203.497-4.092%208.255-5.878%2013.125-2.302%202.765-3.64%205.792-4.898%208.84-2.191%203.7-3.756%207.67-4.02%2011.394l-.265.558c2.996%203.107%204.946%201.524%207.018.747%206.637-3.112%209.504-8.52%2012.212-14.025.473-1.572%201.57-3.127%203.151-4.669%204.414-4.785%206.886-10.022%209.857-15.142.228-.428.58-1.032%201.143-1.941%201.675-1.795%203.418-4.997%205.132-7.612z%22%20fill=%22url(#b)%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.265%22%20transform=%22translate(-90.276%20-115.233)%22/%3E%3Cpath%20d=%22M18.486%2038.911c-2.362%202.823-3.506%206.298-4.228%2010.204.518.13%201.302-.444%202.155-1.196%202.575-6.067%201.848-7.142%202.073-9.008z%22%20fill=%22#f8ecf8%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.265%22/%3E%3Cpath%20d=%22M33.79%205.666c2.093-.057%203.853.53%205.373%201.582M31.832%208.759c2.001.286%203.946.663%205.428%201.788M30.331%2013.16c1.325-.48%203.02.099%204.83%201.005M29.98%2015.593l1.79.362%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%22.265%22/%3E%3C/svg%3E", + "otid": 1615538095529 + }, + "design": { + "graph": { + "blocks": [ { - "source": { - "block": "289f00be-f97d-4553-a60a-32d8b45da4cc", - "port": "outlabel" + "id": "59f7bee9-9832-421d-aa0a-de177f3f121d", + "type": "basic.input", + "data": { + "name": "", + "clock": true }, - "target": { - "block": "165f75a6-a05d-4025-aac5-91f45cd6cd30", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + "position": { + "x": 128, + "y": 232 } }, { - "source": { - "block": "7d0852c6-4778-4a53-bf90-30527c44a0eb", - "port": "outlabel" + "id": "c2136078-81d0-4137-8583-c122b93cbdb0", + "type": "basic.inputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "target": { - "block": "165f75a6-a05d-4025-aac5-91f45cd6cd30", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + "position": { + "x": 280, + "y": 232 } }, { - "source": { - "block": "cf4e570a-5ee4-4836-8dab-4d4340c3acb3", - "port": "73948305-b05b-418f-88af-11328f400cdc" + "id": "626e14a3-68ca-440d-b469-aeb6a69bddcb", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk", + "oldBlockColor": "fuchsia" }, - "target": { - "block": "caf86b2c-c08d-411d-be47-4084fec9532e", - "port": "inlabel" + "position": { + "x": 472, + "y": 368 } }, { - "source": { - "block": "d1540ef0-9272-4082-9b24-9843ddb00cd7", - "port": "outlabel" - }, - "target": { - "block": "2d992803-f074-4c94-b1a7-558ec08e9e80", - "port": "dbe1622c-3510-4132-8b5c-2fbf81d7f581" + "id": "1b2fe6f0-f08f-44d2-824a-e5205b3e9fab", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk", + "oldBlockColor": "fuchsia" }, - "vertices": [ - { - "x": 1000, - "y": 32 - } - ] + "position": { + "x": 888, + "y": 384 + } }, { - "source": { - "block": "40e3c20c-5598-44a1-b5b4-760dba97d882", - "port": "outlabel" - }, - "target": { - "block": "2d992803-f074-4c94-b1a7-558ec08e9e80", - "port": "25996d5e-6856-4828-8cb3-5dea5ff5cf9c", - "size": 8 + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", + "data": { + "name": "s" }, - "size": 8 + "position": { + "x": 1200, + "y": 456 + } }, { - "source": { - "block": "9978357f-7ad7-44b5-97d2-b44692508773", - "port": "out", - "size": 8 - }, - "target": { - "block": "5344b55b-0e5d-4444-88ef-fd6b3caa1c5b", - "port": "inlabel" + "id": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", + "type": "basic.input", + "data": { + "name": "pin", + "clock": false }, - "size": 8 + "position": { + "x": 152, + "y": 472 + } }, { - "source": { - "block": "5b15b8c9-8fb1-410a-8910-a60ef283ff1d", - "port": "outlabel" + "id": "07e7cb88-d87c-4aa3-9938-fc226e3f4815", + "type": "basic.constant", + "data": { + "name": "pup", + "value": "0", + "local": false }, - "target": { - "block": "1d98c440-947b-4591-946a-b35d277853b1", - "port": "096f61b6-6d5c-4907-9512-e65b25969458" + "position": { + "x": 336, + "y": 360 } }, { - "source": { - "block": "28d32f23-19b6-4a8c-8ac6-edbbb1a0e999", - "port": "outlabel" - }, - "target": { - "block": "1d98c440-947b-4591-946a-b35d277853b1", - "port": "35a0e425-acd1-4cd9-b3dc-ff7f451dce86", - "size": 8 + "id": "6aacd3c5-a3e9-4a17-afb8-2b1271b3054c", + "type": "basic.constant", + "data": { + "name": "not", + "value": "0", + "local": false }, - "size": 8 + "position": { + "x": 768, + "y": 368 + } }, { - "source": { - "block": "1d98c440-947b-4591-946a-b35d277853b1", - "port": "6da4196c-cae2-44ba-b472-b6b9f0e7b1f8", - "size": 8 - }, - "target": { - "block": "703240cb-6595-44d0-a266-869db1fe0889", - "port": "inlabel" + "id": "93b888bf-453e-4c9c-8f58-6b9c6d54d5de", + "type": "6c3affc36ce9207db9e9addcade0eb18994ddf4a", + "position": { + "x": 336, + "y": 472 }, - "size": 8 + "size": { + "width": 96, + "height": 64 + } }, { - "source": { - "block": "eda78d52-57f7-4e44-bd8e-75e67c496650", - "port": "outlabel" + "id": "6ca11b45-e83b-492d-b175-8ab8f1faa08a", + "type": "basic.info", + "data": { + "info": "Internal pull-up \n* 0: OFF\n* 1: ON", + "readonly": true }, - "target": { - "block": "cf4e570a-5ee4-4836-8dab-4d4340c3acb3", - "port": "ad4d0fc2-118e-496e-b292-c435bad20e7d" + "position": { + "x": 320, + "y": 560 + }, + "size": { + "width": 176, + "height": 72 } }, { - "source": { - "block": "9cabcf85-d855-4e65-96c9-13c244d34d4d", - "port": "out", - "size": 14 + "id": "2349cf1c-768c-483c-bdf3-852e36755326", + "type": "basic.info", + "data": { + "info": "Synchronization stage", + "readonly": true }, - "target": { - "block": "6063cdbd-2840-4dec-99f5-d24004ff1c48", - "port": "inlabel" + "position": { + "x": 552, + "y": 536 }, - "vertices": [], - "size": 14 + "size": { + "width": 184, + "height": 32 + } }, { - "source": { - "block": "45f97815-a402-46f1-a60b-bc584aa6a2ca", - "port": "outlabel" + "id": "c13f29d4-49ed-45ca-bf58-401682aa156c", + "type": "basic.info", + "data": { + "info": "Normalization stage\n\n* 0: Wire\n* 1: signal inverted", + "readonly": true }, - "target": { - "block": "609dbf24-0993-4b6c-b756-89c07956ceb6", - "port": "3178c182-b1bd-4e92-bc67-6e0868b62279", - "size": 14 + "position": { + "x": 760, + "y": 560 }, - "size": 14 + "size": { + "width": 192, + "height": 88 + } }, { - "source": { - "block": "1dae6915-2355-4174-95e5-088a7499fb42", - "port": "outlabel" + "id": "9207da36-adfa-43d6-a633-ccaa601b9293", + "type": "basic.info", + "data": { + "info": "Debouncing stage", + "readonly": true }, - "target": { - "block": "7a8892b7-c00f-43ba-84c9-0e184c5144bf", - "port": "e3bb4d9b-5ba2-4987-bd84-cd8763a214cd", - "size": 14 + "position": { + "x": 1016, + "y": 544 }, - "size": 14 + "size": { + "width": 168, + "height": 40 + } }, { - "source": { - "block": "34028c73-8f61-4f50-a039-0a57d6056946", - "port": "outlabel" + "id": "dec4bfde-1bd9-47b4-9e19-768969a2abc4", + "type": "68f4069229b120ada15cf7106fca630bde40ff7e", + "position": { + "x": 768, + "y": 472 }, - "target": { - "block": "2d992803-f074-4c94-b1a7-558ec08e9e80", - "port": "5c70a159-1900-4d97-9e7d-961876e03bbe", - "size": 4 + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "7f8e8a9e-3757-4b55-baa0-cb8680c3a332", + "type": "dd36dc1269be1a36894b4c4dfd8b2bd2c9026fe6", + "position": { + "x": 1032, + "y": 456 }, - "size": 4 + "size": { + "width": 96, + "height": 64 + } }, + { + "id": "8d23de75-ac27-4a3b-911c-6a237f0dc702", + "type": "0705a6a13435ea79daf5779a2a0f076bd71f0a14", + "position": { + "x": 600, + "y": 456 + }, + "size": { + "width": 96, + "height": 64 + } + } + ], + "wires": [ { "source": { - "block": "cf4e570a-5ee4-4836-8dab-4d4340c3acb3", - "port": "a8eb520f-8b09-41ab-9146-919bf44b6078", - "size": 4 + "block": "59f7bee9-9832-421d-aa0a-de177f3f121d", + "port": "out" }, "target": { - "block": "8e8559df-135a-42b3-842d-7e6f7528aa8c", + "block": "c2136078-81d0-4137-8583-c122b93cbdb0", "port": "inlabel" }, - "size": 4 + "vertices": [] }, { "source": { - "block": "7a989d63-cd4a-4c47-9513-57b4ea6ee141", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "626e14a3-68ca-440d-b469-aeb6a69bddcb", + "port": "outlabel" }, "target": { - "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "block": "8d23de75-ac27-4a3b-911c-6a237f0dc702", + "port": "39873fa0-c3f5-47ef-b54b-b6b344416b25" + } + }, + { + "source": { + "block": "1b2fe6f0-f08f-44d2-824a-e5205b3e9fab", + "port": "outlabel" }, - "vertices": [] + "target": { + "block": "7f8e8a9e-3757-4b55-baa0-cb8680c3a332", + "port": "4bf41c17-a2da-4140-95f7-2a80d51b1e1a" + } }, { "source": { - "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "93b888bf-453e-4c9c-8f58-6b9c6d54d5de", + "port": "a139fa0d-9b45-4480-a251-f4a66b49aa23" }, "target": { - "block": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "block": "8d23de75-ac27-4a3b-911c-6a237f0dc702", + "port": "f25e9a9e-cd4c-4025-8745-0691a99a3fb8" }, "vertices": [] }, { "source": { - "block": "26b71a43-5955-4452-9b0e-94ea6ef453b7", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "8d23de75-ac27-4a3b-911c-6a237f0dc702", + "port": "7bfc506f-7a54-40a1-8d33-e78a5409b972" }, "target": { - "block": "7a8892b7-c00f-43ba-84c9-0e184c5144bf", - "port": "1e637a79-4a6d-495c-bcac-9664bdbe4b94" - } + "block": "dec4bfde-1bd9-47b4-9e19-768969a2abc4", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + }, + "vertices": [] }, { "source": { - "block": "165f75a6-a05d-4025-aac5-91f45cd6cd30", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + "block": "6aacd3c5-a3e9-4a17-afb8-2b1271b3054c", + "port": "constant-out" }, "target": { - "block": "95c4416f-62f5-4196-a406-f7915d40a572", - "port": "in" - } + "block": "dec4bfde-1bd9-47b4-9e19-768969a2abc4", + "port": "2cd40fd8-3a2b-46f7-a922-fedf146ed11a" + }, + "vertices": [] }, { "source": { - "block": "0414e63d-55c1-41b0-abdf-4e02d0f68ff9", - "port": "3d584b0a-29eb-47af-8c43-c0822282ef05" + "block": "dec4bfde-1bd9-47b4-9e19-768969a2abc4", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "1d98c440-947b-4591-946a-b35d277853b1", - "port": "065ea371-8398-43b3-8341-287c234a3acb" - } + "block": "7f8e8a9e-3757-4b55-baa0-cb8680c3a332", + "port": "c9e1af2a-6f09-4cf6-a5b3-fdf7ec2c6530" + }, + "vertices": [] }, { "source": { - "block": "2d992803-f074-4c94-b1a7-558ec08e9e80", - "port": "d3e51db6-385f-454c-ab74-d71058b21962" + "block": "07e7cb88-d87c-4aa3-9938-fc226e3f4815", + "port": "constant-out" }, "target": { - "block": "7a8892b7-c00f-43ba-84c9-0e184c5144bf", - "port": "c6fdfa0c-392c-41e8-b043-d6f35a656465" - }, - "size": 14 + "block": "93b888bf-453e-4c9c-8f58-6b9c6d54d5de", + "port": "121930e0-54c3-4b31-aa37-b33c7764abfa" + } }, { "source": { - "block": "7a8892b7-c00f-43ba-84c9-0e184c5144bf", - "port": "11f6b6c3-3db4-4536-b9af-3a4182303be7" + "block": "7f8e8a9e-3757-4b55-baa0-cb8680c3a332", + "port": "22ff3fa1-943b-4d1a-bd89-36e1c054d077" }, "target": { - "block": "0d362d8c-37c7-4a07-af15-ae7af9bbc7c9", + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", "port": "in" + } + }, + { + "source": { + "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", + "port": "out" }, - "size": 14 + "target": { + "block": "93b888bf-453e-4c9c-8f58-6b9c6d54d5de", + "port": "bb4a1ca9-1b30-471e-92ca-ca7ff2fc1150" + } } ] } } }, - "81613874c6152f06c06ed7014bf4235900cfcc30": { + "6c3affc36ce9207db9e9addcade0eb18994ddf4a": { "package": { - "name": "OR", - "version": "1.0.1", - "description": "Puerta OR", - "author": "Jesús Arroyo, Juan González", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22192.718%22%20width=%22383.697%22%20version=%221%22%3E%3Cpath%20d=%22M175.56%20188.718H84.527s30.345-42.538%2031.086-94.03c.743-51.49-31.821-90.294-31.821-90.294L176.109%204c46.445%201.948%20103.899%2053.44%20123.047%2093.678-32.601%2067.503-92.158%2089.79-123.596%2091.04z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2047.292h99.605M4.883%20145.168h100.981M298.57%2098.89h81.07%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20font-weight=%22400%22%20font-size=%2266.317%22%20y=%22121.28%22%20x=%22131.572%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20font-weight=%22700%22%20y=%22121.28%22%20x=%22131.572%22%3EOR%3C/tspan%3E%3C/text%3E%3C/svg%3E" + "name": "Pull-upx1", + "version": "1.0.2", + "description": "FPGA internal pull-up configuration on the input port", + "author": "Juan González", + "image": "%3Csvg%20id=%22svg2%22%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-265%20401.5%2063.5%2038.4%22%3E%3Cstyle%3E.st0%7Bdisplay:none%7D.st1%7Bfill:none;stroke:#000;stroke-width:.75;stroke-linejoin:round;stroke-miterlimit:10%7D.st2%7Bfill:#010002%7D%3C/style%3E%3Cpath%20class=%22st0%22%20d=%22M-242.5%20411.8v11.8h-5.4v-11.8h5.4m1-1h-7.4v13.8h7.4v-13.8z%22/%3E%3Cpath%20d=%22M-212%20425.6l-15.4-8.7v8.5h-17.4v-2.7c0-.2-.1-.4-.3-.4l-2.3-1.2%205.6-2.9c.2-.1.3-.3.3-.5s-.1-.4-.3-.4l-5.7-2.7%202.4-1.6c.1-.1.2-.2.2-.4v-2.7h3.1l-3.5-6.1-3.5%206.1h3v2.5l-2.9%202c-.1.1-.2.3-.2.5s.1.3.3.4l5.6%202.6-5.6%202.9c-.2.1-.3.3-.3.4s.1.4.3.4l2.9%201.5V425.5H-265v1.2h37.6v8.5l15.4-8.7h10.5v-.8H-212zm-33.3-20.4l2.2%203.9h-4.5l2.3-3.9zm19.2%2027.7v-13.8l12.3%206.9-12.3%206.9z%22/%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "18c2ebc7-5152-439c-9b3f-851c59bac834", + "id": "bb4a1ca9-1b30-471e-92ca-ca7ff2fc1150", "type": "basic.input", "data": { - "name": "" + "name": "pin", + "clock": false }, "position": { - "x": 64, - "y": 88 + "x": 72, + "y": 256 } }, { - "id": "664caf9e-5f40-4df4-800a-b626af702e62", + "id": "a139fa0d-9b45-4480-a251-f4a66b49aa23", "type": "basic.output", "data": { "name": "" }, "position": { - "x": 784, - "y": 152 + "x": 704, + "y": 256 } }, { - "id": "97b51945-d716-4b6c-9db9-970d08541249", - "type": "basic.input", + "id": "121930e0-54c3-4b31-aa37-b33c7764abfa", + "type": "basic.constant", "data": { - "name": "" + "name": "on", + "value": "1", + "local": false }, "position": { - "x": 64, - "y": 224 + "x": 408, + "y": -8 } }, { - "id": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "id": "2b245a71-2d80-466b-955f-e3d61839fe25", "type": "basic.code", "data": { - "code": "//-- Puerta OR\n\n//-- module and (input wire a, input wire b,\n//-- output wire c);\n\nassign c = a | b;\n\n//-- endmodule", - "params": [], + "code": "// 1-Pull up\n\n//-- Place the IO block, configured as \n//-- input with pull-up\nSB_IO\n #(\n .PIN_TYPE(6'b 1010_01),\n \n //-- The pull-up is activated or not\n //-- depeding on the ON parameter\n .PULLUP(ON)\n \n ) input_pin (\n\n //--- Input pin\n .PACKAGE_PIN(i),\n \n //-- Block output\n .D_IN_0(o),\n \n //-- Configured as input\n .OUTPUT_ENABLE(1'b0),\n \n //-- Not used\n .D_OUT_0(1'b0)\n );", + "params": [ + { + "name": "ON" + } + ], "ports": { "in": [ { - "name": "a" - }, - { - "name": "b" + "name": "i" } ], "out": [ { - "name": "c" + "name": "o" } ] } }, "position": { "x": 256, - "y": 48 + "y": 104 }, "size": { - "width": 464, - "height": 272 + "width": 392, + "height": 368 + } + }, + { + "id": "8055c1f2-dad2-4257-a271-c0bd64700cd7", + "type": "basic.info", + "data": { + "info": "### Pull-up parameter:\n\n0: No pull-up \n1: Pull-up activated", + "readonly": true + }, + "position": { + "x": 144, + "y": -48 + }, + "size": { + "width": 264, + "height": 104 + } + }, + { + "id": "5a96e53f-d2ff-4058-bbed-779876848487", + "type": "basic.info", + "data": { + "info": "Only an FPGA pin can \nbe connected here!!!", + "readonly": true + }, + "position": { + "x": 56, + "y": 200 + }, + "size": { + "width": 192, + "height": 56 + } + }, + { + "id": "26b0a2d0-aaa1-4204-9e57-2f2d674e03a0", + "type": "basic.info", + "data": { + "info": "The pull-up is connected \nby default", + "readonly": true + }, + "position": { + "x": 512, + "y": 0 + }, + "size": { + "width": 208, + "height": 56 } } ], "wires": [ { "source": { - "block": "18c2ebc7-5152-439c-9b3f-851c59bac834", + "block": "bb4a1ca9-1b30-471e-92ca-ca7ff2fc1150", "port": "out" }, "target": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "a" + "block": "2b245a71-2d80-466b-955f-e3d61839fe25", + "port": "i" } }, { "source": { - "block": "97b51945-d716-4b6c-9db9-970d08541249", - "port": "out" + "block": "2b245a71-2d80-466b-955f-e3d61839fe25", + "port": "o" }, "target": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "b" + "block": "a139fa0d-9b45-4480-a251-f4a66b49aa23", + "port": "in" } }, { "source": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "c" + "block": "121930e0-54c3-4b31-aa37-b33c7764abfa", + "port": "constant-out" }, "target": { - "block": "664caf9e-5f40-4df4-800a-b626af702e62", - "port": "in" + "block": "2b245a71-2d80-466b-955f-e3d61839fe25", + "port": "ON" } } ] } } }, - "56d27471f271f95a5d5eb660f7745d5d9329ab02": { + "68f4069229b120ada15cf7106fca630bde40ff7e": { "package": { - "name": "8-bits-Reg", - "version": "0.1", - "description": "8-bits register (in verilog)", + "name": "not-wire-x01", + "version": "0.2", + "description": "Select positive or negative logic for the input (0=positive, 1=negative)", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22519.236%22%20height=%22279.911%22%20viewBox=%220%200%20137.38127%2074.059853%22%3E%3Cpath%20d=%22M41.506%2040.152l13.608%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke=%22#000%22%20stroke-width=%221.092%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M34.122%2032.088L24.89%2012.475l-6.45%203.724-2.07-3.583L37.276.546l2.07%203.584-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.772L33.017%2045.02s-2.849-3.695-2.16-6.795c.687-3.1%203.265-6.137%203.265-6.137z%22%20fill=%22red%22%20stroke=%22#000%22%20stroke-width=%221.092%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22translate(-93.518%20-22.665)%20scale(1.09073)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20cx=%22100.602%22%20cy=%2273.815%22%20r=%2214.559%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M81.95%2040.152l13.607%2016.672L88.64%2036.29%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M74.566%2032.088l-9.232-19.613-6.451%203.724-2.069-3.583L77.719.546l2.069%203.584-6.092%203.517%2012.03%2018.223s5.399-2.025%208.535.74c3.137%202.766%202.52%204.92%202.887%204.772L73.46%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M121.637%2040.152l13.608%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M114.253%2032.088l-9.232-19.613-6.45%203.724-2.07-3.583L117.407.546l2.07%203.584-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.772L113.147%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3C/svg%3E" + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22317.537%22%20height=%22255.621%22%20version=%221%22%3E%3Cpath%20d=%22M112.127%2098.805l133.418%2076.406-133.418%2076.41z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20cx=%22263.881%22%20cy=%22174.972%22%20rx=%2217.634%22%20ry=%2217.982%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4%20175.592h108.187m169.632%200h31.718%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:0%25%22%20x=%22121.949%22%20y=%22187.178%22%20transform=%22scale(.9971%201.0029)%22%20font-weight=%22400%22%20font-size=%229.874%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%22121.949%22%20y=%22187.178%22%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20font-size=%2240.873%22%3ENot%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M4%2062.122h309.537%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:0%25%22%20x=%2214.865%22%20y=%2236.868%22%20transform=%22scale(.99532%201.0047)%22%20font-weight=%22400%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%2214.865%22%20y=%2236.868%22%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20font-size=%2249.675%22%3E0%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:0%25%22%20x=%2216.903%22%20y=%22151.969%22%20transform=%22scale(.99532%201.0047)%22%20font-weight=%22400%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%2216.903%22%20y=%22151.969%22%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20font-size=%2249.675%22%3E1%3C/tspan%3E%3C/text%3E%3C/svg%3E", + "otid": 1607779171609 }, "design": { "graph": { "blocks": [ { - "id": "096f61b6-6d5c-4907-9512-e65b25969458", - "type": "basic.input", + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", "data": { - "name": "", - "clock": true + "name": "" }, "position": { - "x": 80, - "y": 176 + "x": 824, + "y": 304 } }, { - "id": "6da4196c-cae2-44ba-b472-b6b9f0e7b1f8", - "type": "basic.output", + "id": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", + "type": "basic.input", "data": { - "name": "q", - "range": "[7:0]", - "size": 8 + "name": "", + "clock": false }, "position": { - "x": 640, - "y": 248 + "x": 376, + "y": 320 } }, { - "id": "35a0e425-acd1-4cd9-b3dc-ff7f451dce86", - "type": "basic.input", + "id": "2cd40fd8-3a2b-46f7-a922-fedf146ed11a", + "type": "basic.constant", "data": { - "name": "", - "range": "[7:0]", - "clock": false, - "size": 8 + "name": "not", + "value": "0", + "local": false }, "position": { - "x": 80, - "y": 248 + "x": 520, + "y": 160 } }, { - "id": "065ea371-8398-43b3-8341-287c234a3acb", - "type": "basic.input", - "data": { - "name": "load", - "clock": false - }, + "id": "160f76e9-4d8d-424e-8689-bb890101823c", + "type": "3ba5d0ecbd8f55582a6307158732789df06cb74c", "position": { - "x": 80, - "y": 312 + "x": 520, + "y": 256 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "f3b434e4-0c8f-4dd7-90c7-305189a807f1", - "type": "basic.constant", + "id": "019e81db-5707-409c-b159-b4cb29813cc4", + "type": "basic.info", "data": { - "name": "", - "value": "0", - "local": false + "info": "When k=0, it works like a wire \n(The output is equal to the input) \nWhen k=1, it act as a not gate\n(The output is the inverse of the input)", + "readonly": true }, "position": { - "x": 376, - "y": 56 + "x": 632, + "y": 392 + }, + "size": { + "width": 336, + "height": 96 } }, { - "id": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "type": "basic.code", + "id": "68880edb-df66-4540-8ee4-f3836fdb5f0e", + "type": "basic.info", "data": { - "code": "localparam N = 8;\n\nreg [N-1:0] q = INI;\n\nalways @(posedge clk)\n if (load)\n q <= d;", - "params": [ - { - "name": "INI" - } - ], - "ports": { - "in": [ - { - "name": "clk" - }, - { - "name": "d", - "range": "[7:0]", - "size": 8 - }, - { - "name": "load" - } - ], - "out": [ - { - "name": "q", - "range": "[7:0]", - "size": 8 - } - ] - } + "info": "### Truth table for XOR\n\n| k | input | output | function |\n|---|-------|--------|----------|\n| 0 | 0 | 0 | wire |\n| 0 | 1 | 1 | wire |\n| 1 | 0 | 1 | Not |\n| 1 | 1 | 0 | Not |", + "readonly": true }, "position": { - "x": 280, - "y": 176 + "x": 728, + "y": 8 }, "size": { - "width": 288, - "height": 200 + "width": 296, + "height": 144 + } + }, + { + "id": "100882d4-91fe-428f-9ce9-9e02ed2b2a9d", + "type": "d1240143e1ff7afe57f0f11565da980612b2bb76", + "position": { + "x": 672, + "y": 304 + }, + "size": { + "width": 96, + "height": 64 } } ], "wires": [ { "source": { - "block": "f3b434e4-0c8f-4dd7-90c7-305189a807f1", + "block": "2cd40fd8-3a2b-46f7-a922-fedf146ed11a", "port": "constant-out" }, "target": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "INI" + "block": "160f76e9-4d8d-424e-8689-bb890101823c", + "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" }, "vertices": [] }, { "source": { - "block": "065ea371-8398-43b3-8341-287c234a3acb", - "port": "out" + "block": "160f76e9-4d8d-424e-8689-bb890101823c", + "port": "5d443143-4aca-4d4f-ba40-2b88451b86d3" }, "target": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "load" + "block": "100882d4-91fe-428f-9ce9-9e02ed2b2a9d", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" } }, { "source": { - "block": "096f61b6-6d5c-4907-9512-e65b25969458", + "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", "port": "out" }, "target": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "clk" + "block": "100882d4-91fe-428f-9ce9-9e02ed2b2a9d", + "port": "97b51945-d716-4b6c-9db9-970d08541249" } }, { "source": { - "block": "35a0e425-acd1-4cd9-b3dc-ff7f451dce86", - "port": "out" - }, - "target": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "d" - }, - "size": 8 - }, - { - "source": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "q" + "block": "100882d4-91fe-428f-9ce9-9e02ed2b2a9d", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, "target": { - "block": "6da4196c-cae2-44ba-b472-b6b9f0e7b1f8", + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", "port": "in" - }, - "size": 8 + } } ] } } }, - "7cd239bdd995aa0988ea7615327f97fbe335930d": { + "3ba5d0ecbd8f55582a6307158732789df06cb74c": { "package": { - "name": "Mux 2 a 1 de 14 bits", + "name": "Constante-1bits", "version": "0.0.1", - "description": "Multiplexor de 2 a 1 de 14 bits", - "author": "Juan Gonzalez-Gomez (obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2280.833%22%20height=%22158.56%22%20viewBox=%220%200%2075.781585%20148.65066%22%3E%3Cpath%20d=%22M74.375%2036.836c0-12.691-6.99-24.413-18.326-30.729-11.335-6.316-25.284-6.262-36.568.141C8.198%2012.652%201.304%2024.427%201.407%2037.118v74.415c-.103%2012.69%206.79%2024.466%2018.074%2030.87%2011.284%206.403%2025.233%206.457%2036.568.14%2011.336-6.316%2018.326-18.037%2018.326-30.728z%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%222.813%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.448%22%20y=%2291.518%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.448%22%20y=%2291.518%22%3E0%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.359%22%20y=%2214.582%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.359%22%20y=%2214.582%22%3E1%3C/tspan%3E%3C/text%3E%3C/svg%3E" + "description": "Valor genérico constante, de 1 bits. Su valor se introduce como parámetro. Por defecto vale 0", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22145.608%22%20height=%22247.927%22%20viewBox=%220%200%20136.50729%20232.43134%22%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22293.115%22%20y=%22648.344%22%20font-weight=%22400%22%20font-size=%22335.399%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22%20transform=%22translate(-316.929%20-415.913)%22%3E%3Ctspan%20x=%22293.115%22%20y=%22648.344%22%3Ek%3C/tspan%3E%3C/text%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "c6fdfa0c-392c-41e8-b043-d6f35a656465", - "type": "basic.input", - "data": { - "name": "i1", - "range": "[13:0]", - "clock": false, - "size": 14 - }, - "position": { - "x": -704, - "y": -88 - } - }, - { - "id": "11f6b6c3-3db4-4536-b9af-3a4182303be7", + "id": "5d443143-4aca-4d4f-ba40-2b88451b86d3", "type": "basic.output", "data": { - "name": "o", - "range": "[13:0]", - "size": 14 - }, - "position": { - "x": -40, - "y": 0 - } - }, - { - "id": "e3bb4d9b-5ba2-4987-bd84-cd8763a214cd", - "type": "basic.input", - "data": { - "name": "i0", - "range": "[13:0]", - "clock": false, - "size": 14 + "name": "" }, "position": { - "x": -704, - "y": 0 + "x": 960, + "y": 248 } }, { - "id": "1e637a79-4a6d-495c-bcac-9664bdbe4b94", - "type": "basic.input", + "id": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "type": "basic.constant", "data": { - "name": "sel", - "clock": false + "name": "", + "value": "0", + "local": false }, "position": { - "x": -704, - "y": 88 + "x": 728, + "y": 128 } }, { - "id": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "id": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", "type": "basic.code", "data": { - "code": "\nreg [13:0] o;\n\nalways @(*) begin\n case(sel)\n 0: o = i0;\n 1: o = i1;\n default: o = i0;\n endcase\nend\n\n", - "params": [], + "code": "assign k = VALUE;", + "params": [ + { + "name": "VALUE" + } + ], "ports": { - "in": [ - { - "name": "i1", - "range": "[13:0]", - "size": 14 - }, - { - "name": "i0", - "range": "[13:0]", - "size": 14 - }, - { - "name": "sel" - } - ], + "in": [], "out": [ { - "name": "o", - "range": "[13:0]", - "size": 14 + "name": "k" } ] } }, "position": { - "x": -464, - "y": -104 + "x": 672, + "y": 248 }, "size": { - "width": 304, - "height": 272 + "width": 208, + "height": 64 } } ], "wires": [ { "source": { - "block": "1e637a79-4a6d-495c-bcac-9664bdbe4b94", - "port": "out" + "block": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "port": "constant-out" }, "target": { - "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", - "port": "sel" + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "VALUE" } }, { "source": { - "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", - "port": "o" + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "k" }, "target": { - "block": "11f6b6c3-3db4-4536-b9af-3a4182303be7", + "block": "5d443143-4aca-4d4f-ba40-2b88451b86d3", "port": "in" - }, - "size": 14 - }, - { - "source": { - "block": "e3bb4d9b-5ba2-4987-bd84-cd8763a214cd", - "port": "out" - }, - "target": { - "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", - "port": "i0" - }, - "size": 14 - }, - { - "source": { - "block": "c6fdfa0c-392c-41e8-b043-d6f35a656465", - "port": "out" - }, - "target": { - "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", - "port": "i1" - }, - "size": 14 + } } ] } } }, - "efe39aa2a101707774e24b099a0654cc52ff8a04": { + "dd36dc1269be1a36894b4c4dfd8b2bd2c9026fe6": { "package": { - "name": "count-4bits", - "version": "0.1", - "description": "Máquina de contar, de 4 bits", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22498.716%22%20width=%22422.648%22%3E%3Cpath%20d=%22M198.947%2079.637c-24.895%200-45.092%2020.196-45.092%2045.109%200%2024.886%2020.197%2045.126%2045.092%2045.126%2024.904%200%2044.953-20.24%2044.953-45.126%200-24.913-20.05-45.11-44.953-45.11zm90.41%2071.022l-8.128%2019.578%2014.497%2028.472%201.914%203.759-20.1%2020.1-32.98-15.575-19.578%208.04-9.937%2030.421-1.27%204.038h-28.411l-12.295-34.337-19.579-8.075-28.514%2014.462-3.76%201.88-20.091-20.083%2015.558-32.997-8.066-19.56-30.37-9.92-4.028-1.306v-28.393L108.58%2098.85l8.067-19.544-14.454-28.533-1.905-3.741%2020.065-20.066%2033.023%2015.55%2019.552-8.084%209.929-30.403L184.137%200h28.402l12.304%2034.38%2019.526%208.084%2028.524-14.471%203.794-1.906%2020.083%2020.066-15.558%2032.97%208.04%2019.588%2030.455%209.928%204.003%201.28v28.384z%22%20fill=%22#00f%22/%3E%3Crect%20rx=%2210.608%22%20ry=%2210.608%22%20y=%22266.697%22%20x=%22218.697%22%20height=%22180.846%22%20width=%22111.64%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%225.658%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%22387.839%22%20x=%22242.878%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2233.946%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%225.658%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%22387.839%22%20x=%22242.878%22%20font-weight=%22700%22%20font-size=%22134.762%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M222.934%20361.162h104.934%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%228.487%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20rx=%2210.608%22%20ry=%2210.608%22%20y=%22266.697%22%20x=%2292.408%22%20height=%22180.846%22%20width=%22111.64%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%225.658%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%22387.839%22%20x=%22109.261%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2233.946%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%225.658%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%22387.839%22%20x=%22109.261%22%20font-weight=%22700%22%20font-size=%22134.762%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M96.645%20361.162h104.934%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%228.487%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%20-277.4%2063.192)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%20-277.4%20211.802)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%2049.068%20210.797)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%2046.938%2063.192)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/svg%3E" + "name": "Debouncer-x01", + "version": "1.3.0", + "description": "Remove the rebound on a mechanical switch", + "author": "Juan González", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-252%20400.9%2090%2040%22%3E%3Cpath%20d=%22M-251.547%20436.672h22.802v-30.353h5.862v30.353h5.259v-30.353h3.447v30.353h2.984v-30.353h3.506v30.523h6.406V405.77h38.868%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%221.4%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M-232.57%20403.877l26.946%2032.391M-205.624%20403.877l-26.946%2032.391%22%20fill=%22none%22%20stroke=%22red%22%20stroke-width=%223%22%20stroke-linecap=%22round%22/%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "cb426e3d-ace3-4a57-a74b-155caed0c14c", + "id": "4bf41c17-a2da-4140-95f7-2a80d51b1e1a", "type": "basic.input", "data": { "name": "", "clock": true }, "position": { - "x": 592, - "y": -416 + "x": -376, + "y": -656 } }, { - "id": "9291f94d-2d9a-4c3a-b7df-4299abf84886", + "id": "a0474543-ff59-4f6f-8d2e-3993d79c13de", "type": "basic.inputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true - }, - "position": { - "x": 736, - "y": -416 - } - }, - { - "id": "81fb4efb-363e-483e-b1df-c2ebda777355", - "type": "basic.outputLabel", "data": { "blockColor": "yellow", "name": "clk" }, "position": { - "x": 1416, - "y": -352 + "x": -224, + "y": -656 } }, { - "id": "92c88f9e-7d51-4946-b0ef-088dcd8efa49", - "type": "basic.inputLabel", + "id": "22ff3fa1-943b-4d1a-bd89-36e1c054d077", + "type": "basic.output", "data": { - "blockColor": "red", - "name": "on", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "name": "" }, "position": { "x": 952, - "y": -304 + "y": -600 } }, { - "id": "6c846478-ff94-415a-b78e-03b6981bc0fe", + "id": "20d06e62-fd81-4956-b93c-ade0e616fb98", "type": "basic.outputLabel", "data": { "blockColor": "fuchsia", - "name": "rst" + "name": "out" }, "position": { - "x": 1416, - "y": -288 + "x": 816, + "y": -600 } }, { - "id": "40607400-436e-4dea-b733-8308a06fd4ef", - "type": "basic.outputLabel", + "id": "c9e1af2a-6f09-4cf6-a5b3-fdf7ec2c6530", + "type": "basic.input", "data": { - "blockColor": "yellow", - "name": "clk" + "name": "", + "clock": false }, "position": { - "x": 584, - "y": -224 + "x": -376, + "y": -584 } }, { - "id": "6a11eaf9-4bd5-405e-81f8-44418365326b", - "type": "basic.output", + "id": "b0e427bd-ce26-43b5-9d61-685f1c1ab922", + "type": "basic.inputLabel", "data": { - "name": "Busy" + "blockColor": "fuchsia", + "name": "in" }, "position": { - "x": 2312, - "y": -216 + "x": -224, + "y": -584 } }, { - "id": "2438a009-c8e2-4acb-b443-90fe0ddd989d", + "id": "5d12a177-7618-4517-9067-3012f7cb42ce", "type": "basic.outputLabel", "data": { - "blockColor": "red", - "name": "on", + "blockColor": "yellow", + "name": "clk", "oldBlockColor": "fuchsia" }, "position": { - "x": 2152, - "y": -216 + "x": 552, + "y": -440 } }, { - "id": "bc6920df-ca50-4643-ad7a-7e10c29856e8", + "id": "2f1050dd-a720-4ede-890e-612ce370ba61", "type": "basic.inputLabel", "data": { "blockColor": "fuchsia", - "name": "rst", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "name": "out", + "oldBlockColor": "fuchsia" }, "position": { - "x": 952, - "y": -192 + "x": 840, + "y": -352 } }, { - "id": "8f591b24-0427-409f-aa6e-ca1861556cf5", - "type": "basic.input", + "id": "761cc74e-6d08-4b08-acf3-70197fd7076a", + "type": "basic.outputLabel", "data": { - "name": "start", - "clock": false + "blockColor": "fuchsia", + "name": "in", + "oldBlockColor": "fuchsia" }, "position": { - "x": 584, - "y": -136 + "x": 536, + "y": -352 } }, { - "id": "ce3dc4bf-dbfd-4a81-97cd-3c0a0a672d89", - "type": "basic.inputLabel", + "id": "c1243e04-edbf-4cc6-9d85-f7bf35ac1dae", + "type": "basic.outputLabel", "data": { - "name": "cnt", - "range": "[3:0]", - "pins": [ - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "navy" + "blockColor": "yellow", + "name": "clk", + "oldBlockColor": "fuchsia" }, "position": { - "x": 1824, - "y": -120 + "x": 384, + "y": -288 } }, { - "id": "be5cddf8-3e91-4b00-b2d0-0be80df6cc2d", + "id": "d8572528-e0db-413c-a4ff-64d8cfee021d", "type": "basic.outputLabel", "data": { - "name": "cnt", - "range": "[3:0]", - "blockColor": "navy", - "size": 4 + "blockColor": "yellow", + "name": "clk", + "oldBlockColor": "fuchsia" }, "position": { - "x": 1200, - "y": -104 + "x": 112, + "y": -248 } }, { - "id": "9baa509b-0012-4e0e-b874-e62987258aa1", - "type": "basic.inputLabel", + "id": "ba86528a-72e9-40f7-a1e6-c2e684026c24", + "type": "basic.outputLabel", "data": { "blockColor": "fuchsia", - "name": "start", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "name": "in", + "oldBlockColor": "fuchsia" }, "position": { - "x": 944, - "y": -72 + "x": 112, + "y": -176 } }, { - "id": "c69e492c-ad1e-46f7-8523-5e5c615f682d", - "type": "basic.outputLabel", + "id": "1be0ed57-ae41-4ca5-a8c0-3d70585336a6", + "type": "basic.info", "data": { - "name": "cnt", - "range": "[3:0]", - "blockColor": "navy", - "size": 4 + "info": "Edge detector", + "readonly": true }, "position": { - "x": 2160, - "y": -72 + "x": 240, + "y": -120 + }, + "size": { + "width": 128, + "height": 40 } }, { - "id": "a8eb520f-8b09-41ab-9146-919bf44b6078", - "type": "basic.output", + "id": "cabf3c3d-a707-4e06-be9a-4a66817c7a26", + "type": "basic.info", "data": { - "name": "n", - "range": "[3:0]", - "size": 4 + "info": "Whenever there is a change in \nthe input, the counter is started", + "readonly": true }, "position": { - "x": 2312, - "y": -72 + "x": 368, + "y": -88 + }, + "size": { + "width": 288, + "height": 56 } }, { - "id": "45bd338b-4745-4b06-b199-462cdaffa31d", - "type": "basic.outputLabel", + "id": "6dcd32b7-40bd-433d-a1e2-222636c19f2f", + "type": "basic.info", "data": { - "blockColor": "gold", - "name": "stop", - "oldBlockColor": "fuchsia" + "info": "If the counter reaches it maximum \nvalue, the input is considered stable \nand it is captured", + "readonly": true }, "position": { - "x": 584, - "y": -24 + "x": 720, + "y": -456 + }, + "size": { + "width": 304, + "height": 72 } }, { - "id": "8a5f0c79-7347-4b35-8e27-603ebed8bf9f", - "type": "basic.outputLabel", + "id": "5ee60a84-8e65-49de-9b87-5afd9770b5a3", + "type": "basic.info", "data": { - "blockColor": "darkgreen", - "name": "cycle", - "oldBlockColor": "fuchsia" + "info": "### Time calculation\n\nFor CLK=12MHZ, a 16-bit counter reaches its \nmaximum every 2 ** 16 * 1/F = 5.5ms aprox \nIF more time is needed for debouncing, \nuse a counter with more bits (17, 18...)", + "readonly": true }, "position": { - "x": 1472, - "y": 16 + "x": 432, + "y": -640 + }, + "size": { + "width": 360, + "height": 120 } }, { - "id": "5a3f8466-6a57-4607-939a-fb15222442a7", - "type": "basic.inputLabel", + "id": "f998abd9-dfc8-42d4-8816-c89f07a61e6f", + "type": "basic.info", "data": { - "blockColor": "fuchsia", - "name": "done", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "info": "## Debouncer \n\nA value is considered stable when \nthere is no changes during 5.5ms \naprox. When a value is stable it is \ncaptured on the output flip-flop", + "readonly": true }, "position": { - "x": 920, - "y": 24 + "x": -8, + "y": -648 + }, + "size": { + "width": 312, + "height": 128 } }, { - "id": "dddd2a78-e0f8-4688-ad63-0c41ad98894b", - "type": "basic.outputLabel", + "id": "ababfa12-265a-4c7c-a482-8ed44cf9171c", + "type": "basic.info", "data": { - "blockColor": "fuchsia", - "name": "exec", - "oldBlockColor": "fuchsia" + "info": "Stable output", + "readonly": true }, "position": { - "x": 2160, - "y": 104 + "x": 880, + "y": -280 + }, + "size": { + "width": 136, + "height": 40 } }, { - "id": "73948305-b05b-418f-88af-11328f400cdc", - "type": "basic.output", + "id": "656df089-b248-432e-b6b5-ecd4bb5cc8eb", + "type": "basic.info", "data": { - "name": "exec" + "info": "Counter", + "readonly": true }, "position": { - "x": 2328, - "y": 104 + "x": 536, + "y": -232 + }, + "size": { + "width": 96, + "height": 40 } }, { - "id": "c5781045-a890-4e66-8f67-80d0cb317ee6", - "type": "basic.outputLabel", - "data": { - "blockColor": "red", - "name": "on", - "oldBlockColor": "fuchsia" - }, + "id": "a409a5ab-68e2-4e36-b698-f6c309afdd54", + "type": "1ed41a9f9beacd7b446f07558a35d3b77dc87319", "position": { - "x": 1544, - "y": 136 + "x": 240, + "y": -192 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "fa7f43f2-cbb2-47e0-bcc5-32336f9cd8ed", - "type": "basic.outputLabel", - "data": { - "blockColor": "red", - "name": "on", - "oldBlockColor": "fuchsia" - }, + "id": "626e9279-30e7-4e81-8427-1f969a1f7789", + "type": "8a23ffd0491010ff595493182b82c722bd6902d7", "position": { - "x": 648, - "y": 152 + "x": 704, + "y": -368 + }, + "size": { + "width": 96, + "height": 96 } }, { - "id": "8c96c7ec-0c2f-4870-9197-46116cd1d134", - "type": "basic.inputLabel", - "data": { - "blockColor": "darkgreen", - "name": "cycle", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" - }, + "id": "3bc0627a-8d4d-4e19-a4aa-83b0dbfa525a", + "type": "e8e3e62a1e1b5f4e98c7e128c7cd1bdf59b8f307", "position": { - "x": 1080, - "y": 168 + "x": 520, + "y": -192 + }, + "size": { + "width": 96, + "height": 64 } - }, + } + ], + "wires": [ { - "id": "ad4d0fc2-118e-496e-b292-c435bad20e7d", - "type": "basic.input", - "data": { - "name": "next", - "clock": false + "source": { + "block": "4bf41c17-a2da-4140-95f7-2a80d51b1e1a", + "port": "out" }, - "position": { - "x": 616, - "y": 208 + "target": { + "block": "a0474543-ff59-4f6f-8d2e-3993d79c13de", + "port": "inlabel" } }, { - "id": "d8820925-23d9-4f02-8491-adf813601d08", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk" + "source": { + "block": "d8572528-e0db-413c-a4ff-64d8cfee021d", + "port": "outlabel" }, - "position": { - "x": 1384, - "y": 232 + "target": { + "block": "a409a5ab-68e2-4e36-b698-f6c309afdd54", + "port": "2708468d-1088-4570-be63-fb0d4799a941" } }, { - "id": "a756b829-42d1-4779-b42d-a9acc3800854", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "done", - "oldBlockColor": "fuchsia" + "source": { + "block": "5d12a177-7618-4517-9067-3012f7cb42ce", + "port": "outlabel" }, - "position": { - "x": 2160, - "y": 248 + "target": { + "block": "626e9279-30e7-4e81-8427-1f969a1f7789", + "port": "df0c1bb1-f8ef-49f3-b71f-9384c29a9735" } }, { - "id": "49221b19-132a-4e3f-9a1f-97bcd463391b", - "type": "basic.output", - "data": { - "name": "done" + "source": { + "block": "c1243e04-edbf-4cc6-9d85-f7bf35ac1dae", + "port": "outlabel" }, - "position": { - "x": 2320, - "y": 248 + "target": { + "block": "3bc0627a-8d4d-4e19-a4aa-83b0dbfa525a", + "port": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6" } }, { - "id": "06b60a4f-b1b1-4a91-ba10-bdb5a7515718", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "exec", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "source": { + "block": "c9e1af2a-6f09-4cf6-a5b3-fdf7ec2c6530", + "port": "out" }, - "position": { - "x": 1952, - "y": 288 + "target": { + "block": "b0e427bd-ce26-43b5-9d61-685f1c1ab922", + "port": "inlabel" } }, { - "id": "f9f37a77-fd08-4506-9c1b-cc53daa19559", - "type": "basic.outputLabel", - "data": { - "blockColor": "darkgreen", - "name": "cycle", - "oldBlockColor": "fuchsia" + "source": { + "block": "ba86528a-72e9-40f7-a1e6-c2e684026c24", + "port": "outlabel" }, - "position": { - "x": 1384, - "y": 304 + "target": { + "block": "a409a5ab-68e2-4e36-b698-f6c309afdd54", + "port": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff" } }, { - "id": "10afc859-04fd-433d-823a-4fa4721320c1", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "start" + "source": { + "block": "626e9279-30e7-4e81-8427-1f969a1f7789", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, - "position": { - "x": 1680, - "y": 376 + "target": { + "block": "2f1050dd-a720-4ede-890e-612ce370ba61", + "port": "inlabel" } }, { - "id": "2e9e9e82-c651-4a6b-9d9e-4c796699d133", - "type": "basic.inputLabel", - "data": { - "blockColor": "gold", - "name": "stop", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "source": { + "block": "20d06e62-fd81-4956-b93c-ade0e616fb98", + "port": "outlabel" }, - "position": { - "x": 1144, - "y": 376 + "target": { + "block": "22ff3fa1-943b-4d1a-bd89-36e1c054d077", + "port": "in" } }, { - "id": "50aa90d1-18a3-4f3c-9ca9-2d65c8664bc2", - "type": "basic.outputLabel", - "data": { - "name": "cnt", - "range": "[3:0]", - "blockColor": "navy", - "size": 4 + "source": { + "block": "761cc74e-6d08-4b08-acf3-70197fd7076a", + "port": "outlabel" }, - "position": { - "x": 688, - "y": 552 + "target": { + "block": "626e9279-30e7-4e81-8427-1f969a1f7789", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" } }, { - "id": "d0005413-fea9-4b0b-8a18-9b15d4977bc1", - "type": "basic.constant", - "data": { - "name": "N", - "value": "16", - "local": false + "source": { + "block": "3bc0627a-8d4d-4e19-a4aa-83b0dbfa525a", + "port": "88e0e872-0460-4ecc-bf26-8a7a5598a024" }, - "position": { - "x": 680, - "y": 344 - } + "target": { + "block": "626e9279-30e7-4e81-8427-1f969a1f7789", + "port": "58d2c88e-2434-438f-986b-0f5b9c3654ca" + }, + "vertices": [] }, { - "id": "a19b8bcd-a0a4-4da0-9844-5e5c0306e231", - "type": "basic.constant", - "data": { - "name": "", - "value": "1", - "local": true + "source": { + "block": "a409a5ab-68e2-4e36-b698-f6c309afdd54", + "port": "1c25e08e-e664-4fab-9b30-cedc1f8a3739" }, - "position": { - "x": 1352, - "y": -208 + "target": { + "block": "3bc0627a-8d4d-4e19-a4aa-83b0dbfa525a", + "port": "2a921d76-1cbd-48fe-82a9-11b0ab4dbc06" } - }, + } + ] + } + } + }, + "1ed41a9f9beacd7b446f07558a35d3b77dc87319": { + "package": { + "name": "Edges-detector-block", + "version": "0.3", + "description": "Edges detector. It generates a 1-period pulse (tic) when either a rising edge or a falling edge is detected on the input. Block implementation", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22294.1%22%20height=%22185.316%22%20viewBox=%220%200%2077.813988%2049.031403%22%3E%3Cg%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M13.478%2032.941l6.026%207.975-5.054%206.03%201.749%201.556m-3.96-15.367l-3.5%207.976-7.97%201.556.583%202.528%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%221.058%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M12.773%202.492v29.942%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%223.969%22/%3E%3Cpath%20d=%22M1.984%2022.683l10.689%2010.453%2010.35-10.453%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%223.969%22%20stroke-linejoin=%22round%22/%3E%3Cg%20fill=%22none%22%20stroke=%22#00f%22%3E%3Cpath%20d=%22M42.248%2032.434l6.026%207.975-5.054%206.03%201.749%201.556m-3.96-15.367l-3.5%207.976-7.97%201.555.583%202.529%22%20stroke-width=%221.058%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M41.543%2032.628V2.686%22%20stroke-width=%223.969%22/%3E%3Cpath%20d=%22M30.754%2012.436L41.443%201.984l10.35%2010.452%22%20stroke-width=%223.969%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(.842%200%200%20.842%20-19.408%20-26.157)%22%20stroke=%22green%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ { - "id": "374613cb-968d-46d1-94a4-16686e7df28d", - "type": "basic.constant", + "id": "913b2fb3-8676-42d8-bd97-97880350317d", + "type": "basic.output", "data": { - "name": "", - "value": "0", - "local": true + "name": "nc" }, "position": { - "x": 1648, - "y": -256 + "x": 624, + "y": 120 } }, { - "id": "d59fae1c-4ff0-418f-9a6e-440a854abd17", - "type": "438dedd956354c574afcde6f0793a7d369b2a031", - "position": { - "x": 752, - "y": -168 + "id": "2708468d-1088-4570-be63-fb0d4799a941", + "type": "basic.input", + "data": { + "name": "", + "clock": true }, - "size": { - "width": 96, - "height": 128 - } - }, - { - "id": "d76d4948-a798-448c-adfa-c03b511371e5", - "type": "1c7dae7144d376f2ee4896fcc502a29110e2db37", "position": { - "x": 1544, - "y": 288 - }, - "size": { - "width": 96, - "height": 64 + "x": 88, + "y": 152 } }, { - "id": "bd61136e-6597-4728-a8c3-141a1841150b", - "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", - "position": { - "x": 808, - "y": 168 + "id": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", + "type": "basic.input", + "data": { + "name": "", + "clock": false }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "7d6ed080-252a-4f1b-8ec7-0f47d7866317", - "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", "position": { - "x": 1016, - "y": 376 - }, - "size": { - "width": 96, - "height": 64 + "x": 88, + "y": 280 } }, { - "id": "ac8b922a-9249-49a3-8b42-a1f259ccae2b", - "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", - "position": { - "x": 1680, - "y": 272 + "id": "1c25e08e-e664-4fab-9b30-cedc1f8a3739", + "type": "basic.output", + "data": { + "name": "" }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "28aef1aa-1cc2-4bb4-9a70-2db1962258d4", - "type": "81613874c6152f06c06ed7014bf4235900cfcc30", "position": { - "x": 1824, - "y": 288 - }, - "size": { - "width": 96, - "height": 64 + "x": 616, + "y": 352 } }, { - "id": "e042b05f-b116-4a58-8aee-1bf2833ecb6b", + "id": "49c0a94e-2687-4aa4-8cba-327b2942095f", "type": "basic.info", "data": { - "info": "**Reloj del sistema**", + "info": "## Edges detector\n\nIt generates a 1-period pulse (tic) when an edge (Rising or falling) is detected on the \ninput signal", "readonly": true }, "position": { - "x": 680, - "y": -472 + "x": 104, + "y": -40 }, "size": { - "width": 192, - "height": 40 + "width": 648, + "height": 96 } }, { - "id": "09056d84-24ad-48b7-89c2-0d008ca64b89", + "id": "a6ea5e17-d259-4272-8d1c-87a6a7fe3235", "type": "basic.info", "data": { - "info": "**Estado de** \n**la máquina**", + "info": "Input signal", "readonly": true }, "position": { - "x": 760, - "y": -248 + "x": 96, + "y": 256 }, "size": { - "width": 160, + "width": 136, "height": 40 } }, { - "id": "02ad4d4d-3335-43e1-a671-4b00fc01c8be", + "id": "d0d6c668-3c03-42f5-9244-9a0431f11a87", "type": "basic.info", "data": { - "info": "Máquina encendida", + "info": "System clock", "readonly": true }, "position": { - "x": 936, - "y": -328 + "x": 104, + "y": 120 }, "size": { - "width": 168, - "height": 40 + "width": 96, + "height": 48 } }, { - "id": "23827b42-5be3-406c-9991-b4ad6deb74e8", + "id": "f18011f4-eb45-4f91-9716-c1d8c99f1845", "type": "basic.info", "data": { - "info": "Máquina apagada \n(rst = 1)", + "info": "Current signal \nstate", "readonly": true }, "position": { - "x": 952, - "y": -232 + "x": 160, + "y": 352 }, "size": { - "width": 152, - "height": 56 + "width": 168, + "height": 48 } }, { - "id": "8a928b2a-c1fd-4d20-ba27-2f2bb41c0d01", + "id": "ab801839-c115-4e44-adb7-349586890b97", "type": "basic.info", "data": { - "info": "Tic de arranque", + "info": "Signal state in the previous \nclock cycle", "readonly": true }, "position": { - "x": 960, - "y": -96 + "x": 328, + "y": 200 }, "size": { - "width": 160, - "height": 40 + "width": 248, + "height": 48 } }, { - "id": "6648005b-8565-4aa7-9dbe-692786ab5eed", + "id": "fde5c436-d382-48e7-80b5-390c05f46b9d", "type": "basic.info", "data": { - "info": "Tic de fin", + "info": "The output is 1 if the current value is 1 and the \nprevious 0, or if the current value is 0 and the \nprevious 1\n", "readonly": true }, "position": { - "x": 944, - "y": 0 + "x": 504, + "y": 264 }, "size": { - "width": 120, - "height": 32 + "width": 400, + "height": 72 } }, { - "id": "08d8a2f1-ca1d-4bb5-84ec-2e003a76d1c1", - "type": "basic.info", - "data": { - "info": "**Contador de ciclos**", - "readonly": true - }, + "id": "4a6c58dc-e4cb-43b8-8a52-07ef0aa616f6", + "type": "d1240143e1ff7afe57f0f11565da980612b2bb76", "position": { - "x": 1480, - "y": -424 + "x": 480, + "y": 352 }, "size": { - "width": 224, - "height": 40 + "width": 96, + "height": 64 } }, { - "id": "6b89fbaa-ded1-4b08-85b3-d5043665ba0f", + "id": "5590cf27-7da8-4183-b70c-0c9fda4a6dc0", "type": "basic.info", "data": { - "info": "Número de ciclos \ncontados", + "info": "In any other case the output is 0", "readonly": true }, "position": { - "x": 1824, - "y": -160 + "x": 520, + "y": 432 }, "size": { - "width": 160, - "height": 56 + "width": 296, + "height": 40 } }, { - "id": "ce9c2faa-a5a2-43ef-a19f-8089842fa7fb", - "type": "basic.info", - "data": { - "info": "Valor \nincrementado", - "readonly": true - }, + "id": "932daa85-b751-4060-a7fa-d517b2c7eaa7", + "type": "58ed2b5c7e33e2f215ccba6c101d9ea4ff60f284", "position": { - "x": 1496, - "y": -120 + "x": 320, + "y": 264 }, "size": { - "width": 128, - "height": 56 + "width": 96, + "height": 64 } - }, + } + ], + "wires": [ { - "id": "9749c7ec-56c0-4d88-8b20-572f154aba47", - "type": "basic.info", - "data": { - "info": "### Salidas", - "readonly": true + "source": { + "block": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", + "port": "out" }, - "position": { - "x": 2152, - "y": -328 + "target": { + "block": "932daa85-b751-4060-a7fa-d517b2c7eaa7", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + } + }, + { + "source": { + "block": "2708468d-1088-4570-be63-fb0d4799a941", + "port": "out" }, - "size": { - "width": 280, - "height": 40 + "target": { + "block": "932daa85-b751-4060-a7fa-d517b2c7eaa7", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" } }, { - "id": "4c022dd4-dc38-48e8-8e23-991de83819a0", - "type": "basic.info", - "data": { - "info": "Estado de la máquina", - "readonly": true + "source": { + "block": "4a6c58dc-e4cb-43b8-8a52-07ef0aa616f6", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, - "position": { - "x": 2160, - "y": -248 + "target": { + "block": "1c25e08e-e664-4fab-9b30-cedc1f8a3739", + "port": "in" + } + }, + { + "source": { + "block": "932daa85-b751-4060-a7fa-d517b2c7eaa7", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" }, - "size": { - "width": 192, - "height": 40 + "target": { + "block": "4a6c58dc-e4cb-43b8-8a52-07ef0aa616f6", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" } }, { - "id": "2f5c5893-19c2-411c-b942-83e2e0355d9b", - "type": "basic.info", - "data": { - "info": "Ciclo actual", - "readonly": true + "source": { + "block": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", + "port": "out" }, - "position": { - "x": 2168, - "y": -104 + "target": { + "block": "4a6c58dc-e4cb-43b8-8a52-07ef0aa616f6", + "port": "97b51945-d716-4b6c-9db9-970d08541249" }, - "size": { - "width": 152, - "height": 40 - } - }, + "vertices": [ + { + "x": 264, + "y": 368 + } + ] + } + ] + } + } + }, + "8a23ffd0491010ff595493182b82c722bd6902d7": { + "package": { + "name": "DFF-verilog", + "version": "0.2", + "description": "DFF. D Flip-flop. Verilog implementation", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22216.379%22%20height=%22279.911%22%20viewBox=%220%200%2057.25032%2074.059853%22%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M41.506%2040.152l13.608%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M34.122%2032.088L24.89%2012.475l-6.45%203.724-2.07-3.583L37.276.546l2.07%203.584-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.772L33.017%2045.02s-2.849-3.695-2.16-6.795c.687-3.1%203.265-6.137%203.265-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20transform=%22translate(-93.518%20-22.665)%20scale(1.09073)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20cx=%22100.602%22%20cy=%2273.815%22%20r=%2214.559%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1594812046378 + }, + "design": { + "graph": { + "blocks": [ { - "id": "3529c7ae-8223-48c9-a5c7-1b8161eb3654", - "type": "basic.info", + "id": "df0c1bb1-f8ef-49f3-b71f-9384c29a9735", + "type": "basic.input", "data": { - "info": "Cuenta finalizada", - "readonly": true + "name": "", + "clock": true }, "position": { - "x": 2160, - "y": 216 - }, - "size": { - "width": 176, - "height": 48 + "x": 128, + "y": 424 } }, { - "id": "8d3fe74d-0b04-434f-bd0a-c966094bb54e", - "type": "basic.info", + "id": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", + "type": "basic.input", "data": { - "info": "Ejecutar el ciclo", - "readonly": true + "name": "d", + "clock": false }, "position": { - "x": 2168, - "y": 80 - }, - "size": { - "width": 168, - "height": 40 + "x": 128, + "y": 536 } }, { - "id": "eae9349c-e15a-4922-8652-1849ae8af424", - "type": "basic.info", + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", "data": { - "info": "Número de ciclos \na contar", - "readonly": true + "name": "" }, "position": { - "x": 696, - "y": 288 - }, - "size": { - "width": 152, - "height": 56 + "x": 824, + "y": 536 } }, { - "id": "95a0fd91-d4b4-4a8c-a326-fa00aead76a2", - "type": "basic.info", + "id": "58d2c88e-2434-438f-986b-0f5b9c3654ca", + "type": "basic.input", "data": { - "info": "¿Estamos en el \nciclo k-1?", - "readonly": true + "name": "load", + "clock": false }, "position": { - "x": 1024, - "y": 480 - }, - "size": { - "width": 144, - "height": 56 + "x": 128, + "y": 648 } }, { - "id": "ee786c92-eee9-4192-b5cd-7ffd2cff4aa0", - "type": "basic.info", + "id": "be33796a-a109-4ab0-a53b-dd6ec67587cd", + "type": "basic.constant", "data": { - "info": "Solo se hace caso a la \nentrada next si la \nmáquina está encendida", - "readonly": true + "name": "", + "value": "0", + "local": false }, "position": { - "x": 648, - "y": 88 - }, - "size": { - "width": 216, - "height": 80 + "x": 488, + "y": 280 } }, { - "id": "fdea86ef-3e4a-4419-972a-3e09c49380ab", - "type": "basic.info", + "id": "5bffd6ef-bb9d-4d3f-a4f0-f91c6040ddc5", + "type": "basic.code", "data": { - "info": "Nuevo ciclo", - "readonly": true + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "d" + }, + { + "name": "load" + } + ], + "out": [ + { + "name": "q" + } + ] + }, + "params": [ + { + "name": "INI" + } + ], + "code": "//-- Initial value\nreg qi = INI;\n\nalways @(posedge clk)\nbegin\n \n //-- When load is active\n //-- the input data is captured\n if (load == 1'b1)\n qi <= d;\n \nend\n\n//-- Connect the register with the\n//-- output\nassign q = qi;\n" }, "position": { - "x": 920, - "y": 168 + "x": 320, + "y": 400 }, "size": { - "width": 136, - "height": 40 + "width": 424, + "height": 336 } - }, + } + ], + "wires": [ { - "id": "f1312a02-2038-404e-b9cf-5f4ee6b11012", - "type": "basic.info", - "data": { - "info": "Si es el ciclo k-1 y \nse pide un ciclo \nnuevo: Terminar", - "readonly": true - }, - "position": { - "x": 1128, - "y": 304 + "source": { + "block": "df0c1bb1-f8ef-49f3-b71f-9384c29a9735", + "port": "out" }, - "size": { - "width": 208, - "height": 72 + "target": { + "block": "5bffd6ef-bb9d-4d3f-a4f0-f91c6040ddc5", + "port": "clk" } }, { - "id": "9baabc30-8c27-4b55-92e4-d59783269162", - "type": "basic.info", - "data": { - "info": "Apagar la \nmáquina", - "readonly": true - }, - "position": { - "x": 600, - "y": -64 + "source": { + "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", + "port": "out" }, - "size": { - "width": 120, - "height": 56 + "target": { + "block": "5bffd6ef-bb9d-4d3f-a4f0-f91c6040ddc5", + "port": "d" } }, { - "id": "b1d4db4d-86bf-41b9-8192-647537f22b35", - "type": "basic.info", - "data": { - "info": "Ciclo nuevo: \nincrementar la cuenta", - "readonly": true - }, - "position": { - "x": 1464, - "y": -32 + "source": { + "block": "58d2c88e-2434-438f-986b-0f5b9c3654ca", + "port": "out" }, - "size": { - "width": 208, - "height": 56 + "target": { + "block": "5bffd6ef-bb9d-4d3f-a4f0-f91c6040ddc5", + "port": "load" } }, { - "id": "6c065227-d7b8-48ea-8105-765c0ff10e5d", - "type": "basic.info", - "data": { - "info": "El tic de start se saca \npor exec para que se ejecute \nel primer ciclo", - "readonly": true - }, - "position": { - "x": 1680, - "y": 440 + "source": { + "block": "5bffd6ef-bb9d-4d3f-a4f0-f91c6040ddc5", + "port": "q" }, - "size": { - "width": 248, - "height": 72 + "target": { + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" } }, { - "id": "f41e1b4d-0de7-4d61-9b57-16de7ef8dc8a", - "type": "basic.info", + "source": { + "block": "be33796a-a109-4ab0-a53b-dd6ec67587cd", + "port": "constant-out" + }, + "target": { + "block": "5bffd6ef-bb9d-4d3f-a4f0-f91c6040ddc5", + "port": "INI" + } + } + ] + } + } + }, + "e8e3e62a1e1b5f4e98c7e128c7cd1bdf59b8f307": { + "package": { + "name": "syscounter-rst-16bits", + "version": "0.2", + "description": "16-bits Syscounter with reset", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22302.843%22%20height=%22186.504%22%20viewBox=%220%200%2080.127205%2049.345746%22%3E%3Cdefs%3E%3Cmarker%20id=%22a%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20fill=%22#00f%22%20fill-rule=%22evenodd%22%20stroke=%22#00f%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3C/defs%3E%3Cg%20transform=%22translate(-65.585%20-4.54)%22%3E%3Cpath%20d=%22M138.803%2048.49V16.91%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%222.806%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20marker-end=%22url(#a)%22/%3E%3Crect%20rx=%222.807%22%20ry=%222.807%22%20y=%225.289%22%20x=%2299.747%22%20height=%2247.849%22%20width=%2229.538%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%221.497%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%2240.921%22%20x=%22108.575%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%228.982%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%221.497%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2240.921%22%20x=%22108.575%22%20font-weight=%22700%22%20font-size=%2235.656%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M100.868%2030.283h27.764%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%222.245%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20rx=%222.807%22%20ry=%222.807%22%20y=%225.289%22%20x=%2266.333%22%20height=%2247.849%22%20width=%2229.538%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%221.497%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%2240.921%22%20x=%2273.223%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%228.982%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%221.497%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2240.921%22%20x=%2273.223%22%20font-weight=%22700%22%20font-size=%2235.656%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M67.454%2030.283h27.764%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%222.245%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618592156430 + }, + "design": { + "graph": { + "blocks": [ + { + "id": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", + "type": "basic.input", "data": { - "info": "Si la máquina está \napagada, las señales \nde ejecución no pueden \nsalir!", - "readonly": true + "name": "", + "clock": true }, "position": { - "x": 1688, - "y": 168 - }, - "size": { - "width": 208, - "height": 80 + "x": 216, + "y": -120 } }, { - "id": "1ed4ad01-9b81-4934-84b7-804dcaec10c1", - "type": "basic.info", + "id": "0a772657-8018-424d-8f04-75d3ffff3692", + "type": "basic.inputLabel", "data": { - "info": "Retrasar la señal un ciclo \nmientras que se detecta si \nla máquina ha finalizado o no", - "readonly": true + "blockColor": "yellow", + "name": "clk", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true }, "position": { - "x": 1432, - "y": 360 + "x": 368, + "y": -120 + } + }, + { + "id": "b9359b10-b14f-4dd7-adf9-3f4f22bc65e6", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk", + "oldBlockColor": "fuchsia" }, - "size": { - "width": 256, - "height": 72 + "position": { + "x": 384, + "y": -32 } }, { - "id": "55848689-05c8-4d58-b5a8-c421ff202e2d", - "type": "a3c966710f8e14f7d3464d7e89c1894dfebb86c7", + "id": "217e7560-fd53-4db7-b08f-c9e027e3ba4e", + "type": "basic.outputLabel", + "data": { + "name": "q", + "range": "[15:0]", + "blockColor": "fuchsia", + "size": 16 + }, "position": { - "x": 1648, - "y": -152 + "x": 1040, + "y": -32 + } + }, + { + "id": "9c188e62-dea5-47d2-bfb6-b8379f6c7637", + "type": "basic.output", + "data": { + "name": "q", + "range": "[15:0]", + "size": 16 }, - "size": { - "width": 96, - "height": 128 + "position": { + "x": 1216, + "y": -32 } }, { - "id": "642ea367-8f37-400d-b632-46e227ce544d", - "type": "04dcede98e726cdb028c1ef593f02f949d5f5ac6", + "id": "88e0e872-0460-4ecc-bf26-8a7a5598a024", + "type": "basic.output", + "data": { + "name": "max" + }, "position": { - "x": 1352, - "y": -104 + "x": 1208, + "y": 56 + } + }, + { + "id": "06c393de-8af4-4b53-852c-b0e0160b5314", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "c" }, - "size": { - "width": 96, - "height": 64 + "position": { + "x": 1048, + "y": 56 + } + }, + { + "id": "2a921d76-1cbd-48fe-82a9-11b0ab4dbc06", + "type": "basic.input", + "data": { + "name": "rst", + "clock": false + }, + "position": { + "x": 216, + "y": 56 + } + }, + { + "id": "b34779b6-0670-454d-8d35-9f92e6ff15cf", + "type": "basic.inputLabel", + "data": { + "name": "q", + "range": "[15:0]", + "pins": [ + { + "index": "15", + "name": "", + "value": "" + }, + { + "index": "14", + "name": "", + "value": "" + }, + { + "index": "13", + "name": "", + "value": "" + }, + { + "index": "12", + "name": "", + "value": "" + }, + { + "index": "11", + "name": "", + "value": "" + }, + { + "index": "10", + "name": "", + "value": "" + }, + { + "index": "9", + "name": "", + "value": "" + }, + { + "index": "8", + "name": "", + "value": "" + }, + { + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "blockColor": "fuchsia" + }, + "position": { + "x": 712, + "y": 88 } }, { - "id": "3452d2fa-0c76-4021-925d-d73c3cea853f", - "type": "2e691702e123c308f561a5a93912a03de1896719", + "id": "cd9b7fce-c943-4b4c-a716-94f2cd21ccda", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "c", + "pins": [ + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true + }, "position": { "x": 856, - "y": 512 + "y": 144 + } + }, + { + "id": "230ff023-e330-4c47-84fb-8366ab5fdbd4", + "type": "8ecd5933e4bd5916eca00d6b654d6760012c47a6", + "position": { + "x": 720, + "y": 160 }, "size": { "width": 96, @@ -10421,774 +10182,1161 @@ } }, { - "id": "caaa982b-20a8-426d-a546-beb213ed699f", - "type": "33e7c0abcd8b70a7af87fdb6750be0e24a796695", + "id": "de292739-9119-4a80-832d-033be6a9ffbe", + "type": "0788ea6614e4f073f6ed9a49665243d6d489ba46", "position": { - "x": 680, - "y": 448 + "x": 544, + "y": 40 }, "size": { "width": 96, - "height": 64 + "height": 96 } } ], "wires": [ { "source": { - "block": "6c846478-ff94-415a-b78e-03b6981bc0fe", - "port": "outlabel" + "block": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", + "port": "out" }, "target": { - "block": "55848689-05c8-4d58-b5a8-c421ff202e2d", - "port": "a2b70876-c7c0-4208-a403-eed81e32fe5a" + "block": "0a772657-8018-424d-8f04-75d3ffff3692", + "port": "inlabel" }, - "vertices": [ - { - "x": 1592, - "y": -192 - } - ] + "vertices": [] }, { "source": { - "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", - "port": "89a5da53-cc8b-4099-a5e3-b9cf281619b1" + "block": "230ff023-e330-4c47-84fb-8366ab5fdbd4", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "bc6920df-ca50-4643-ad7a-7e10c29856e8", + "block": "cd9b7fce-c943-4b4c-a716-94f2cd21ccda", "port": "inlabel" + }, + "vertices": [] + }, + { + "source": { + "block": "b9359b10-b14f-4dd7-adf9-3f4f22bc65e6", + "port": "outlabel" + }, + "target": { + "block": "de292739-9119-4a80-832d-033be6a9ffbe", + "port": "0ae5a502-ee21-47ad-bacb-405a35a87a91" } }, { "source": { - "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", - "port": "aefe9248-3b3d-441b-9e65-33cda65b99dd" + "block": "06c393de-8af4-4b53-852c-b0e0160b5314", + "port": "outlabel" }, "target": { - "block": "9baa509b-0012-4e0e-b874-e62987258aa1", - "port": "inlabel" + "block": "88e0e872-0460-4ecc-bf26-8a7a5598a024", + "port": "in" } }, { "source": { - "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", - "port": "0d991cee-b329-439b-b9e7-5712d2db539d" + "block": "de292739-9119-4a80-832d-033be6a9ffbe", + "port": "7995c7b0-4a39-4a19-aaa4-68f4e469912f", + "size": 16 }, "target": { - "block": "92c88f9e-7d51-4946-b0ef-088dcd8efa49", + "block": "b34779b6-0670-454d-8d35-9f92e6ff15cf", "port": "inlabel" }, - "vertices": [ - { - "x": 888, - "y": -216 - } - ] + "size": 16 }, { "source": { - "block": "fa7f43f2-cbb2-47e0-bcc5-32336f9cd8ed", + "block": "217e7560-fd53-4db7-b08f-c9e027e3ba4e", "port": "outlabel" }, "target": { - "block": "bd61136e-6597-4728-a8c3-141a1841150b", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - } + "block": "9c188e62-dea5-47d2-bfb6-b8379f6c7637", + "port": "in", + "size": 16 + }, + "size": 16 }, { "source": { - "block": "45bd338b-4745-4b06-b199-462cdaffa31d", - "port": "outlabel" + "block": "2a921d76-1cbd-48fe-82a9-11b0ab4dbc06", + "port": "out" }, "target": { - "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", - "port": "ba15eacb-1e03-4580-932b-3231703481e5" + "block": "de292739-9119-4a80-832d-033be6a9ffbe", + "port": "892d93f1-9c4c-46c1-82c7-ff9702a5725a" } }, { "source": { - "block": "7d6ed080-252a-4f1b-8ec7-0f47d7866317", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "de292739-9119-4a80-832d-033be6a9ffbe", + "port": "7995c7b0-4a39-4a19-aaa4-68f4e469912f" }, "target": { - "block": "2e9e9e82-c651-4a6b-9d9e-4c796699d133", - "port": "inlabel" - } + "block": "230ff023-e330-4c47-84fb-8366ab5fdbd4", + "port": "cc343d02-8e43-4dd6-9999-21e29934ed5b" + }, + "vertices": [], + "size": 16 }, { "source": { - "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", - "port": "3802390d-8417-4369-b93c-dda647ccb0c6" + "block": "230ff023-e330-4c47-84fb-8366ab5fdbd4", + "port": "a7420015-7f67-4b9a-9dba-b3a58ce79fdc" }, "target": { - "block": "5a3f8466-6a57-4607-939a-fb15222442a7", - "port": "inlabel" - } - }, + "block": "de292739-9119-4a80-832d-033be6a9ffbe", + "port": "c48a2779-52ed-4dde-8f95-e8ce67397de8" + }, + "vertices": [ + { + "x": 840, + "y": 264 + } + ], + "size": 16 + } + ] + } + } + }, + "8ecd5933e4bd5916eca00d6b654d6760012c47a6": { + "package": { + "name": "Inc1-16bits", + "version": "0.1", + "description": "Inc1-16bit: Increment a 16-bits number by one", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20width=%22387.891%22%20height=%22310.09%22%20viewBox=%220%200%20363.64764%20290.70999%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.759%2055.834v79.813h79.508v35.946H115.76v79.813h-36.25v-79.813H-.002v-35.946h79.51V55.834z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3Cpath%20d=%22M196.193%20257.608h64.256V35.828l-69.902%2014.02V14.018L260.06%200h39.332v257.608h64.257v33.102H196.193z%22%20style=%22line-height:1.25%22%20font-size=%22398.777%22%20stroke-width=%229.969%22/%3E%3C/svg%3E", + "otid": 1618560481898 + }, + "design": { + "graph": { + "blocks": [ { - "source": { - "block": "c5781045-a890-4e66-8f67-80d0cb317ee6", - "port": "outlabel" + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", + "data": { + "name": "c" }, - "target": { - "block": "ac8b922a-9249-49a3-8b42-a1f259ccae2b", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "position": { + "x": 624, + "y": -168 } }, { - "source": { - "block": "a756b829-42d1-4779-b42d-a9acc3800854", - "port": "outlabel" + "id": "cc343d02-8e43-4dd6-9999-21e29934ed5b", + "type": "basic.input", + "data": { + "name": "", + "range": "[15:0]", + "clock": false, + "size": 16 }, - "target": { - "block": "49221b19-132a-4e3f-9a1f-97bcd463391b", - "port": "in" + "position": { + "x": 280, + "y": -152 } }, { - "source": { - "block": "8a5f0c79-7347-4b35-8e27-603ebed8bf9f", - "port": "outlabel" + "id": "a7420015-7f67-4b9a-9dba-b3a58ce79fdc", + "type": "basic.output", + "data": { + "name": "s", + "range": "[15:0]", + "size": 16 }, - "target": { - "block": "55848689-05c8-4d58-b5a8-c421ff202e2d", - "port": "065ea371-8398-43b3-8341-287c234a3acb" + "position": { + "x": 624, + "y": -104 } }, { - "source": { - "block": "10afc859-04fd-433d-823a-4fa4721320c1", - "port": "outlabel" + "id": "cd0d6f4d-9898-4114-94a9-0b4b98223c27", + "type": "basic.constant", + "data": { + "name": "", + "value": "1", + "local": true }, - "target": { - "block": "28aef1aa-1cc2-4bb4-9a70-2db1962258d4", - "port": "97b51945-d716-4b6c-9db9-970d08541249" + "position": { + "x": 456, + "y": -256 } }, { - "source": { - "block": "28aef1aa-1cc2-4bb4-9a70-2db1962258d4", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "id": "12fb4602-d67f-4129-a777-f04945adf29d", + "type": "26569688c377bf52132e5f1de5a15da7143d9388", + "position": { + "x": 456, + "y": -152 }, - "target": { - "block": "06b60a4f-b1b1-4a91-ba10-bdb5a7515718", - "port": "inlabel" + "size": { + "width": 96, + "height": 64 } - }, + } + ], + "wires": [ { "source": { - "block": "bd61136e-6597-4728-a8c3-141a1841150b", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "12fb4602-d67f-4129-a777-f04945adf29d", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "8c96c7ec-0c2f-4870-9197-46116cd1d134", - "port": "inlabel" + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" } }, { "source": { - "block": "f9f37a77-fd08-4506-9c1b-cc53daa19559", - "port": "outlabel" + "block": "cd0d6f4d-9898-4114-94a9-0b4b98223c27", + "port": "constant-out" }, "target": { - "block": "d76d4948-a798-448c-adfa-c03b511371e5", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + "block": "12fb4602-d67f-4129-a777-f04945adf29d", + "port": "e728fdca-755f-4f2d-98e7-0716b1c5258f" } }, { "source": { - "block": "cb426e3d-ace3-4a57-a74b-155caed0c14c", + "block": "cc343d02-8e43-4dd6-9999-21e29934ed5b", "port": "out" }, "target": { - "block": "9291f94d-2d9a-4c3a-b7df-4299abf84886", - "port": "inlabel" - } + "block": "12fb4602-d67f-4129-a777-f04945adf29d", + "port": "1253e5dc-89f9-4074-874c-82628c0e1d6f" + }, + "size": 16 }, { "source": { - "block": "40607400-436e-4dea-b733-8308a06fd4ef", - "port": "outlabel" + "block": "12fb4602-d67f-4129-a777-f04945adf29d", + "port": "f4640f0f-2d2b-40c6-adb2-2581f7d1f9a7" }, "target": { - "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", - "port": "046501b8-4427-4d4d-af97-7fe807774f33" + "block": "a7420015-7f67-4b9a-9dba-b3a58ce79fdc", + "port": "in" + }, + "size": 16 + } + ] + } + } + }, + "26569688c377bf52132e5f1de5a15da7143d9388": { + "package": { + "name": "AdderK-16bits", + "version": "0.1", + "description": "AdderK-16bit: Adder of 16-bit operand and 16-bit constant", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618560481898 + }, + "design": { + "graph": { + "blocks": [ + { + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", + "data": { + "name": "c" + }, + "position": { + "x": 624, + "y": -168 } }, { - "source": { - "block": "2438a009-c8e2-4acb-b443-90fe0ddd989d", - "port": "outlabel" + "id": "f4640f0f-2d2b-40c6-adb2-2581f7d1f9a7", + "type": "basic.output", + "data": { + "name": "s", + "range": "[15:0]", + "size": 16 }, - "target": { - "block": "6a11eaf9-4bd5-405e-81f8-44418365326b", - "port": "in" + "position": { + "x": 624, + "y": -96 } }, { - "source": { - "block": "81fb4efb-363e-483e-b1df-c2ebda777355", - "port": "outlabel" + "id": "1253e5dc-89f9-4074-874c-82628c0e1d6f", + "type": "basic.input", + "data": { + "name": "", + "range": "[15:0]", + "clock": false, + "size": 16 }, - "target": { - "block": "55848689-05c8-4d58-b5a8-c421ff202e2d", - "port": "096f61b6-6d5c-4907-9512-e65b25969458" + "position": { + "x": 232, + "y": -56 } }, { - "source": { - "block": "d8820925-23d9-4f02-8491-adf813601d08", - "port": "outlabel" + "id": "e728fdca-755f-4f2d-98e7-0716b1c5258f", + "type": "basic.constant", + "data": { + "name": "", + "value": "0", + "local": false }, - "target": { - "block": "d76d4948-a798-448c-adfa-c03b511371e5", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + "position": { + "x": 232, + "y": -272 + } + }, + { + "id": "3ed9c4cb-d412-46e8-86cc-9943f564ccd0", + "type": "651fa32fcf52b534a766fdb2ba638a010338f268", + "position": { + "x": 232, + "y": -168 }, - "vertices": [ - { - "x": 1496, - "y": 280 - } - ] + "size": { + "width": 96, + "height": 64 + } }, + { + "id": "82e8e1b8-0816-489f-9427-b03956cdc86a", + "type": "bc66d79524a86b172c0ff190e607bca7c0694b8b", + "position": { + "x": 456, + "y": -152 + }, + "size": { + "width": 96, + "height": 64 + } + } + ], + "wires": [ { "source": { - "block": "dddd2a78-e0f8-4688-ad63-0c41ad98894b", - "port": "outlabel" + "block": "82e8e1b8-0816-489f-9427-b03956cdc86a", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "73948305-b05b-418f-88af-11328f400cdc", + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", "port": "in" } }, { "source": { - "block": "55848689-05c8-4d58-b5a8-c421ff202e2d", - "port": "f655c5c0-0157-4195-89ac-f92c5b3f8e0b", - "size": 4 + "block": "e728fdca-755f-4f2d-98e7-0716b1c5258f", + "port": "constant-out" }, "target": { - "block": "ce3dc4bf-dbfd-4a81-97cd-3c0a0a672d89", - "port": "inlabel" - }, - "size": 4 + "block": "3ed9c4cb-d412-46e8-86cc-9943f564ccd0", + "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" + } }, { "source": { - "block": "c69e492c-ad1e-46f7-8523-5e5c615f682d", - "port": "outlabel" + "block": "3ed9c4cb-d412-46e8-86cc-9943f564ccd0", + "port": "d54af040-d87a-431d-a15f-d5deb4795af5" }, "target": { - "block": "a8eb520f-8b09-41ab-9146-919bf44b6078", - "port": "in", - "size": 4 + "block": "82e8e1b8-0816-489f-9427-b03956cdc86a", + "port": "353729bb-5213-45a7-a8e1-4e1d812492bd" }, - "size": 4 + "size": 16 }, { "source": { - "block": "be5cddf8-3e91-4b00-b2d0-0be80df6cc2d", - "port": "outlabel" + "block": "1253e5dc-89f9-4074-874c-82628c0e1d6f", + "port": "out" }, "target": { - "block": "642ea367-8f37-400d-b632-46e227ce544d", - "port": "d1ed8643-0bb2-48ac-9aca-17184aee9368", - "size": 4 + "block": "82e8e1b8-0816-489f-9427-b03956cdc86a", + "port": "eeb34637-ba55-4a7f-803e-e85d9b9c7fc4" }, - "size": 4 + "size": 16 }, { "source": { - "block": "50aa90d1-18a3-4f3c-9ca9-2d65c8664bc2", - "port": "outlabel" - }, - "target": { - "block": "3452d2fa-0c76-4021-925d-d73c3cea853f", - "port": "128b8626-fc1e-4144-a837-a275b812ee83", - "size": 4 - }, - "size": 4 - }, - { - "source": { - "block": "374613cb-968d-46d1-94a4-16686e7df28d", - "port": "constant-out" + "block": "82e8e1b8-0816-489f-9427-b03956cdc86a", + "port": "14253a9f-c3ef-4ada-bb54-dbbed784b7a9" }, "target": { - "block": "55848689-05c8-4d58-b5a8-c421ff202e2d", - "port": "f3b434e4-0c8f-4dd7-90c7-305189a807f1" - } - }, - { - "source": { - "block": "a19b8bcd-a0a4-4da0-9844-5e5c0306e231", - "port": "constant-out" + "block": "f4640f0f-2d2b-40c6-adb2-2581f7d1f9a7", + "port": "in" }, - "target": { - "block": "642ea367-8f37-400d-b632-46e227ce544d", - "port": "c4eedeee-32b3-41da-834c-48f3a92cbaec" - } - }, + "size": 16 + } + ] + } + } + }, + "651fa32fcf52b534a766fdb2ba638a010338f268": { + "package": { + "name": "16-bits-gen-constant", + "version": "0.0.2", + "description": "Generic: 16-bits generic constant", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22145.608%22%20height=%22247.927%22%20viewBox=%220%200%20136.50729%20232.43134%22%3E%3Cg%20style=%22line-height:0%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%3E%3Cpath%20d=%22M56.012%20146.905q9.055%206.708%2020.459%2017.105%2011.404%2010.062%2022.472%2021.8%2011.403%2011.74%2021.465%2024.15%2010.062%2012.074%2016.1%2022.471h-32.87q-6.372-10.397-15.763-21.13-9.392-11.068-20.124-21.13-10.398-10.062-21.13-18.447-10.398-8.385-18.783-14.087v74.794H0V4.695L27.838%200v141.874q18.447-16.1%2036.894-31.863%2018.447-16.1%2033.205-33.205h32.533q-14.422%2017.106-34.881%2035.217-20.124%2018.112-39.577%2034.882z%22%20style=%22line-height:1.25%22%20font-size=%22335.399%22%20font-weight=%22400%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22/%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ { - "source": { - "block": "3452d2fa-0c76-4021-925d-d73c3cea853f", - "port": "0344dacc-8583-456b-b377-8cb4ab97cf94" + "id": "d54af040-d87a-431d-a15f-d5deb4795af5", + "type": "basic.output", + "data": { + "name": "", + "range": "[15:0]", + "size": 16 }, - "target": { - "block": "7d6ed080-252a-4f1b-8ec7-0f47d7866317", - "port": "97b51945-d716-4b6c-9db9-970d08541249" + "position": { + "x": 960, + "y": 248 } }, { - "source": { - "block": "ac8b922a-9249-49a3-8b42-a1f259ccae2b", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "id": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "type": "basic.constant", + "data": { + "name": "", + "value": "0", + "local": false }, - "target": { - "block": "28aef1aa-1cc2-4bb4-9a70-2db1962258d4", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "position": { + "x": 728, + "y": 128 } }, { - "source": { - "block": "d76d4948-a798-448c-adfa-c03b511371e5", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + "id": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "type": "basic.code", + "data": { + "code": "assign k = VALUE;", + "params": [ + { + "name": "VALUE" + } + ], + "ports": { + "in": [], + "out": [ + { + "name": "k", + "range": "[15:0]", + "size": 16 + } + ] + } }, - "target": { - "block": "ac8b922a-9249-49a3-8b42-a1f259ccae2b", - "port": "97b51945-d716-4b6c-9db9-970d08541249" - } - }, - { - "source": { - "block": "bd61136e-6597-4728-a8c3-141a1841150b", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "position": { + "x": 672, + "y": 248 }, - "target": { - "block": "7d6ed080-252a-4f1b-8ec7-0f47d7866317", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "size": { + "width": 208, + "height": 64 } - }, + } + ], + "wires": [ { "source": { - "block": "d0005413-fea9-4b0b-8a18-9b15d4977bc1", + "block": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", "port": "constant-out" }, "target": { - "block": "caaa982b-20a8-426d-a546-beb213ed699f", - "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" - } - }, - { - "source": { - "block": "8f591b24-0427-409f-aa6e-ca1861556cf5", - "port": "out" - }, - "target": { - "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", - "port": "88176871-35ac-42bf-bf62-36c81a4b4b47" - } - }, - { - "source": { - "block": "ad4d0fc2-118e-496e-b292-c435bad20e7d", - "port": "out" - }, - "target": { - "block": "bd61136e-6597-4728-a8c3-141a1841150b", - "port": "97b51945-d716-4b6c-9db9-970d08541249" + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "VALUE" } }, { "source": { - "block": "642ea367-8f37-400d-b632-46e227ce544d", - "port": "423ecf0e-b1de-4a7f-8bf0-032e0c1f0467" - }, - "target": { - "block": "55848689-05c8-4d58-b5a8-c421ff202e2d", - "port": "ee31ca02-b981-4474-a62e-85f20302435c" - }, - "size": 4 - }, - { - "source": { - "block": "caaa982b-20a8-426d-a546-beb213ed699f", - "port": "2da79d6d-81ed-4d5d-b4bf-113557353105" + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "k" }, "target": { - "block": "3452d2fa-0c76-4021-925d-d73c3cea853f", - "port": "0587ffc4-0beb-4bc0-b72c-df8bde2c6bf2" + "block": "d54af040-d87a-431d-a15f-d5deb4795af5", + "port": "in" }, - "size": 4 + "size": 16 } ] } } }, - "438dedd956354c574afcde6f0793a7d369b2a031": { + "bc66d79524a86b172c0ff190e607bca7c0694b8b": { "package": { - "name": "Machine-state", + "name": "Adder-16bits", "version": "0.1", - "description": "Biestable de almacenamiento del estado de la máquina", - "author": "Juan Gonzalez-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22404.343%22%20width=%22319.18%22%20id=%22svg4%22%3E%3Cdefs%20id=%22defs8%22%3E%3Cmarker%20id=%22TriangleOutM%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20id=%22path972%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow1Mend%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-4%200l-2%202%207-2-7-2z%22%20id=%22path836%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow2Mend%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20id=%22path854%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow2Mend-3%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20id=%22path854-6%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow1Mend-5%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-4%200l-2%202%207-2-7-2z%22%20id=%22path836-3%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22TriangleOutM-7%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path972-5%22%20d=%22M2.308%200l-3.46%202v-4z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow1Mend-3%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path836-5%22%20d=%22M-4%200l-2%202%207-2-7-2z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow2Mend-6%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path854-2%22%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow2Mend-3-9%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path854-6-1%22%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow1Mend-5-2%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path836-3-7%22%20d=%22M-4%200l-2%202%207-2-7-2z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cdefs%20id=%22defs3%22%3E%3Cpath%20id=%22a%22%20d=%22M-58.3-45h653.6v640H-58.3z%22/%3E%3C/defs%3E%3Cpath%20id=%22path898%22%20d=%22M-58.3-45h653.6v640H-58.3z%22/%3E%3Cmarker%20id=%22TriangleOutM-3%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20id=%22path972-6%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow1Mend-7%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-4%200l-2%202%207-2-7-2z%22%20id=%22path836-53%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow2Mend-5%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20id=%22path854-62%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow2Mend-3-91%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20id=%22path854-6-2%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow1Mend-5-7%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-4%200l-2%202%207-2-7-2z%22%20id=%22path836-3-0%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22TriangleOutM-7-9%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path972-5-3%22%20d=%22M2.308%200l-3.46%202v-4z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow1Mend-3-6%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path836-5-0%22%20d=%22M-4%200l-2%202%207-2-7-2z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow2Mend-6-6%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path854-2-2%22%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow2Mend-3-9-6%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path854-6-1-1%22%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow1Mend-5-2-8%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path836-3-7-7%22%20d=%22M-4%200l-2%202%207-2-7-2z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cdefs%20id=%22defs3-9%22%3E%3Cpath%20id=%22a-2%22%20d=%22M-58.3-45h653.6v640H-58.3z%22/%3E%3C/defs%3E%3Cpath%20id=%22path974%22%20d=%22M-58.3-45h653.6v640H-58.3z%22/%3E%3C/defs%3E%3Cpath%20d=%22M124.728%2079.637c-24.895%200-45.091%2020.196-45.091%2045.109%200%2024.886%2020.196%2045.126%2045.092%2045.126%2024.904%200%2044.952-20.24%2044.952-45.126%200-24.913-20.049-45.11-44.953-45.11zm90.41%2071.022l-8.128%2019.578%2014.497%2028.472%201.914%203.759-20.1%2020.1-32.979-15.575-19.578%208.04-9.938%2030.421-1.27%204.038h-28.41L98.85%20215.155%2079.27%20207.08l-28.514%2014.462-3.759%201.88-20.092-20.083%2015.559-32.997-8.067-19.56-30.37-9.92L0%20139.555v-28.393L34.362%2098.85l8.067-19.544-14.453-28.533-1.906-3.741%2020.066-20.066%2033.022%2015.55%2019.553-8.084%209.928-30.403L109.92%200h28.401l12.304%2034.38%2019.527%208.084%2028.523-14.471%203.794-1.906%2020.083%2020.066-15.558%2032.97%208.04%2019.588%2030.456%209.928%204.003%201.28v28.384z%22%20id=%22path2%22%20fill=%22#00f%22%20stroke-width=%22.278%22/%3E%3Cg%20id=%22g992-5%22%20transform=%22matrix(3.23542%200%200%203.23542%20-54.399%20117.43)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20id=%22path992-2-62%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20id=%22path1773-2-3-1-8-9-9%22%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cstyle%20id=%22style2%22%3E.st0%7Bdisplay:none%7D.st1%7Bfill:none;stroke:#303030;stroke-width:.7;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10%7D.st2%7Bfill:#303030%7D%3C/style%3E%3Cg%20id=%22g1022%22%20transform=%22matrix(.5585%200%200%20.5585%2076.484%2043.495)%22%3E%3Cg%20transform=%22translate(3.47%203.198)%22%20id=%22layer1%22%3E%3Cpath%20id=%22path9-3%22%20d=%22M21.358%20145.947a63.75%2063.75%200%200%200%201.152%2011.049%22%20class=%22st1%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20id=%22path11%22%20d=%22M48.702%2092.116a64.784%2064.784%200%200%200-12.559%2011.68%2064.99%2064.99%200%200%200-12.69%2024.809%22%20class=%22st1%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20class=%22st1%22%20id=%22line17%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22%20d=%22M184.865%20207.591L41.298%20262.802%22/%3E%3Cpath%20d=%22M185.448%20175.07l.37.154c2.52.831%204.718%202.386%206.634%204.249%202.02%202.322%203.694%204.777%204.423%208.713%201.496%208.074-3.286%2016.05-10.95%2018.997l-1.06.408L41.298%20262.8l-.733.283c-8.003%203.077-17.551.461-21.82-6.975-3.3-5.748-2.736-12.198.418-21.613%203.155-9.414%202.86-21.856-1.644-33.55l.041.003-12.507-32.667c-12.88-33.415-.747-70.376%2027.41-90.31l-1.102-2.749c-3.685-9.583%201.14-20.438%2010.723-24.124%209.583-3.685%2020.439%201.14%2024.124%2010.723l1.654%203.239c34.881-3.556%2068.594%2015.855%2081.318%2049.33l15.24%2038.432c4.795%208.723%2011.831%2015.955%2021.028%2022.248z%22%20id=%22path21-3%22%20fill=%22#fff%22%20stroke=%22#303030%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20id=%22path826%22%20d=%22M64.268%20268.838l45.015-17.115s7.963%2024.296-14.427%2030.38c-22.39%206.086-30.588-13.265-30.588-13.265z%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3Cg%20id=%22layer3%22%3E%3Crect%20ry=%2219.847%22%20y=%223.671%22%20x=%2295.783%22%20height=%22135.189%22%20width=%22135.189%22%20id=%22rect845%22%20fill=%22#55acee%22%20stroke=%22#303030%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3C/g%3E%3Cg%20id=%22layer4%22%3E%3Cpath%20id=%22path7-6%22%20d=%22M172.724%2052.533V27.647h-9.888L144.047%2037.7l2.308%208.9%2014.833-8.076h.33v74.824H172.724V52.533z%22%20class=%22st2%22%20fill=%22#303030%22%20stroke-width=%2214.425%22/%3E%3C/g%3E%3C/g%3E%3Cg%20id=%22g992-5-7%22%20transform=%22matrix(3.23542%200%200%203.23542%20-57.653%2011.124)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20id=%22path992-2-62-5%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20id=%22path1773-2-3-1-8-9-9-3%22%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/svg%3E" + "description": "Adder-16bits: Adder of two operands of 16 bits", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618560481898 }, "design": { "graph": { "blocks": [ { - "id": "0d991cee-b329-439b-b9e7-5712d2db539d", - "type": "basic.output", - "data": { - "name": "state" - }, - "position": { - "x": 960, - "y": 8 - } - }, - { - "id": "89a5da53-cc8b-4099-a5e3-b9cf281619b1", - "type": "basic.output", + "id": "e2589574-b6cc-4faf-8e69-3d23248bcba2", + "type": "basic.inputLabel", "data": { - "name": "rst" + "name": "a1", + "range": "[7:0]", + "pins": [ + { + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia", + "blockColor": "deeppink" }, "position": { - "x": 960, - "y": 120 + "x": 8, + "y": -664 } }, { - "id": "046501b8-4427-4d4d-af97-7fe807774f33", - "type": "basic.input", + "id": "4f2c77a9-f54e-4c7e-b1b8-d1739ea521c7", + "type": "basic.outputLabel", "data": { - "name": "", - "clock": true + "name": "a1", + "range": "[7:0]", + "blockColor": "deeppink", + "size": 8 }, "position": { - "x": 408, - "y": 184 + "x": 352, + "y": -664 } }, { - "id": "aefe9248-3b3d-441b-9e65-33cda65b99dd", + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", "type": "basic.output", "data": { - "name": "on" + "name": "c" }, "position": { "x": 960, - "y": 256 + "y": -608 } }, { - "id": "88176871-35ac-42bf-bf62-36c81a4b4b47", + "id": "353729bb-5213-45a7-a8e1-4e1d812492bd", "type": "basic.input", "data": { - "name": "start", - "clock": false + "name": "", + "range": "[15:0]", + "clock": false, + "size": 16 }, "position": { - "x": 424, - "y": 288 + "x": -320, + "y": -608 } }, { - "id": "ba15eacb-1e03-4580-932b-3231703481e5", - "type": "basic.input", + "id": "6736a55c-7818-4da9-9c1a-f57200ad2526", + "type": "basic.inputLabel", "data": { - "name": "stop", - "clock": false - }, - "position": { - "x": 424, - "y": 352 + "name": "a0", + "range": "[7:0]", + "pins": [ + { + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia", + "blockColor": "deeppink" + }, + "position": { + "x": 8, + "y": -592 } }, { - "id": "3802390d-8417-4369-b93c-dda647ccb0c6", - "type": "basic.output", + "id": "4743defe-36c0-40a2-aaf0-188272583034", + "type": "basic.outputLabel", "data": { - "name": "off" + "name": "b1", + "range": "[7:0]", + "blockColor": "fuchsia", + "size": 8 }, "position": { - "x": 960, - "y": 360 + "x": 352, + "y": -584 } }, { - "id": "66f5f40c-d14b-4be3-96b6-6cea8d96b738", - "type": "b959c256104d1064a5ef7b38632ffb6eed3b396f", - "position": { - "x": 600, - "y": 272 + "id": "14253a9f-c3ef-4ada-bb54-dbbed784b7a9", + "type": "basic.output", + "data": { + "name": "s", + "range": "[15:0]", + "size": 16 }, - "size": { - "width": 96, - "height": 96 + "position": { + "x": 960, + "y": -544 } }, { - "id": "03835a1e-c674-4fa3-927b-0511beff772c", - "type": "c386a7076c0569a15326b30b6748ca284426424d", - "position": { - "x": 776, - "y": 272 + "id": "a3761c9e-14ee-47ef-95f0-ddbb132ba6cf", + "type": "basic.inputLabel", + "data": { + "name": "b1", + "range": "[7:0]", + "pins": [ + { + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "blockColor": "fuchsia" }, - "size": { - "width": 96, - "height": 64 + "position": { + "x": 8, + "y": -472 } }, { - "id": "de860182-e038-4198-b4a4-505dd7a6fa9e", - "type": "35f267d0df6ffcb7fc33753bc9df9cf083642cca", - "position": { - "x": 736, - "y": 120 + "id": "7d042e3c-08e0-4027-ba97-6f6143ac0b7e", + "type": "basic.outputLabel", + "data": { + "name": "a0", + "range": "[7:0]", + "blockColor": "deeppink", + "size": 8 }, - "size": { - "width": 96, - "height": 64 + "position": { + "x": 184, + "y": -472 } }, { - "id": "42f19387-aa1f-4514-88aa-adca9bf9f03b", - "type": "basic.info", + "id": "eeb34637-ba55-4a7f-803e-e85d9b9c7fc4", + "type": "basic.input", "data": { - "info": "**Tic de apagado**", - "readonly": true + "name": "", + "range": "[15:0]", + "clock": false, + "size": 16 }, "position": { - "x": 960, - "y": 344 - }, - "size": { - "width": 168, - "height": 40 + "x": -320, + "y": -424 } }, { - "id": "eaab4880-4c6d-422f-a8ab-c06e579aa7c6", - "type": "basic.info", + "id": "a7cd6890-7130-4f25-9966-b5ca1132d597", + "type": "basic.inputLabel", "data": { - "info": "**Tic de encendido**", - "readonly": true + "name": "b0", + "range": "[7:0]", + "pins": [ + { + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "blockColor": "fuchsia" }, "position": { - "x": 952, - "y": 240 - }, - "size": { - "width": 168, - "height": 40 + "x": 8, + "y": -408 } }, { - "id": "4e85996b-c40e-4f84-bfbc-ff87d4bc425d", - "type": "basic.info", + "id": "7114cf32-af2c-438f-b816-1043a8bd819d", + "type": "basic.outputLabel", "data": { - "info": "**Inicializar**", - "readonly": true + "name": "b0", + "range": "[7:0]", + "blockColor": "fuchsia", + "size": 8 }, "position": { - "x": 968, - "y": 96 + "x": 184, + "y": -408 + } + }, + { + "id": "4cb18fdd-66bb-461c-ae6d-1454c8e4a9a6", + "type": "306ca367fbbc5181b3c709d73f447e0710871a1d", + "position": { + "x": -168, + "y": -424 }, "size": { - "width": 168, - "height": 40 + "width": 96, + "height": 64 } }, { - "id": "130f81c9-ce87-47a8-b393-762b31a724fc", - "type": "basic.info", - "data": { - "info": "**Estado de la máquina**", - "readonly": true + "id": "e3cde6db-ea93-4550-affd-14856b75d5a5", + "type": "306ca367fbbc5181b3c709d73f447e0710871a1d", + "position": { + "x": -168, + "y": -608 }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "64c3574b-3227-40ab-ab03-c2e2af710a45", + "type": "cb23aa3d8a3e95bd194fd9ec9b9c40b36595d893", "position": { - "x": 936, - "y": -16 + "x": 352, + "y": -456 }, "size": { - "width": 168, - "height": 40 + "width": 96, + "height": 64 + } + }, + { + "id": "0857be54-1eea-4619-841f-b1bb49aa66d0", + "type": "c3c498191b14e9288a85fa2871b3966665f75475", + "position": { + "x": 520, + "y": -600 + }, + "size": { + "width": 96, + "height": 96 + } + }, + { + "id": "17bd7ef3-6604-48a9-9c2e-50a8be908636", + "type": "8cc49c9b29485f2cfeab6064d7bb1cf9ced045b1", + "position": { + "x": 760, + "y": -544 + }, + "size": { + "width": 96, + "height": 64 } } ], "wires": [ { "source": { - "block": "66f5f40c-d14b-4be3-96b6-6cea8d96b738", - "port": "1cb167a4-9e2a-416b-803e-da7b6151eaa5" + "block": "4cb18fdd-66bb-461c-ae6d-1454c8e4a9a6", + "port": "0e7ef93d-c4da-4c2e-9653-7a470dc912b6", + "size": 8 }, "target": { - "block": "03835a1e-c674-4fa3-927b-0511beff772c", - "port": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff" - } + "block": "a7cd6890-7130-4f25-9966-b5ca1132d597", + "port": "inlabel" + }, + "size": 8 }, { "source": { - "block": "66f5f40c-d14b-4be3-96b6-6cea8d96b738", - "port": "1cb167a4-9e2a-416b-803e-da7b6151eaa5" + "block": "4cb18fdd-66bb-461c-ae6d-1454c8e4a9a6", + "port": "6ac467f0-b16b-44ef-8f03-ae206c13186e", + "size": 8 }, "target": { - "block": "0d991cee-b329-439b-b9e7-5712d2db539d", - "port": "in" + "block": "a3761c9e-14ee-47ef-95f0-ddbb132ba6cf", + "port": "inlabel" }, - "vertices": [ - { - "x": 720, - "y": 144 - } - ] + "size": 8 }, { "source": { - "block": "66f5f40c-d14b-4be3-96b6-6cea8d96b738", - "port": "1cb167a4-9e2a-416b-803e-da7b6151eaa5" + "block": "e3cde6db-ea93-4550-affd-14856b75d5a5", + "port": "0e7ef93d-c4da-4c2e-9653-7a470dc912b6", + "size": 8 }, "target": { - "block": "de860182-e038-4198-b4a4-505dd7a6fa9e", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - } + "block": "6736a55c-7818-4da9-9c1a-f57200ad2526", + "port": "inlabel" + }, + "size": 8 }, { "source": { - "block": "de860182-e038-4198-b4a4-505dd7a6fa9e", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "e3cde6db-ea93-4550-affd-14856b75d5a5", + "port": "6ac467f0-b16b-44ef-8f03-ae206c13186e", + "size": 8 }, "target": { - "block": "89a5da53-cc8b-4099-a5e3-b9cf281619b1", - "port": "in" - } + "block": "e2589574-b6cc-4faf-8e69-3d23248bcba2", + "port": "inlabel" + }, + "size": 8 }, { "source": { - "block": "88176871-35ac-42bf-bf62-36c81a4b4b47", - "port": "out" + "block": "7114cf32-af2c-438f-b816-1043a8bd819d", + "port": "outlabel" }, "target": { - "block": "66f5f40c-d14b-4be3-96b6-6cea8d96b738", - "port": "3ae2d46d-7981-497a-899f-b60bfae0f43e" - } + "block": "64c3574b-3227-40ab-ab03-c2e2af710a45", + "port": "63477487-9493-4058-a7e1-9bab443ec466", + "size": 8 + }, + "size": 8 }, { "source": { - "block": "ba15eacb-1e03-4580-932b-3231703481e5", - "port": "out" + "block": "7d042e3c-08e0-4027-ba97-6f6143ac0b7e", + "port": "outlabel" }, "target": { - "block": "66f5f40c-d14b-4be3-96b6-6cea8d96b738", - "port": "86eb8c81-17fc-4371-bd21-51f429191f3c" - } + "block": "64c3574b-3227-40ab-ab03-c2e2af710a45", + "port": "b4b08c4b-8eb1-4cd3-a1bf-a45bf7177ed3", + "size": 8 + }, + "size": 8 }, { "source": { - "block": "03835a1e-c674-4fa3-927b-0511beff772c", - "port": "1c25e08e-e664-4fab-9b30-cedc1f8a3739" + "block": "4f2c77a9-f54e-4c7e-b1b8-d1739ea521c7", + "port": "outlabel" }, "target": { - "block": "aefe9248-3b3d-441b-9e65-33cda65b99dd", + "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", + "port": "4bf17d89-89b8-4524-800a-2d15f9bbb111", + "size": 8 + }, + "size": 8 + }, + { + "source": { + "block": "4743defe-36c0-40a2-aaf0-188272583034", + "port": "outlabel" + }, + "target": { + "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", + "port": "3867504b-f331-4e0e-b923-acc86cb4255c", + "size": 8 + }, + "size": 8 + }, + { + "source": { + "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + }, + "target": { + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", "port": "in" } }, { "source": { - "block": "03835a1e-c674-4fa3-927b-0511beff772c", - "port": "3ada5999-55ba-4c4e-9877-a3e9ed82308c" + "block": "64c3574b-3227-40ab-ab03-c2e2af710a45", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "3802390d-8417-4369-b93c-dda647ccb0c6", - "port": "in" + "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", + "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" } }, { "source": { - "block": "046501b8-4427-4d4d-af97-7fe807774f33", + "block": "eeb34637-ba55-4a7f-803e-e85d9b9c7fc4", "port": "out" }, "target": { - "block": "66f5f40c-d14b-4be3-96b6-6cea8d96b738", - "port": "9f09a4af-8f7a-45c3-af7b-293a244e76d9" - } + "block": "4cb18fdd-66bb-461c-ae6d-1454c8e4a9a6", + "port": "a0c9783a-c287-45a7-bfc7-9da552cf732f" + }, + "size": 16 }, { "source": { - "block": "046501b8-4427-4d4d-af97-7fe807774f33", + "block": "353729bb-5213-45a7-a8e1-4e1d812492bd", "port": "out" }, "target": { - "block": "03835a1e-c674-4fa3-927b-0511beff772c", - "port": "2708468d-1088-4570-be63-fb0d4799a941" - } + "block": "e3cde6db-ea93-4550-affd-14856b75d5a5", + "port": "a0c9783a-c287-45a7-bfc7-9da552cf732f" + }, + "size": 16 + }, + { + "source": { + "block": "17bd7ef3-6604-48a9-9c2e-50a8be908636", + "port": "79c56f9a-597f-491e-b1d1-d321f63303c2" + }, + "target": { + "block": "14253a9f-c3ef-4ada-bb54-dbbed784b7a9", + "port": "in" + }, + "size": 16 + }, + { + "source": { + "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", + "port": "9daaaf78-5a89-4d4a-a1b2-db1d3af962f1" + }, + "target": { + "block": "17bd7ef3-6604-48a9-9c2e-50a8be908636", + "port": "5a35cd57-1006-4f6d-b263-5b977e9ef142" + }, + "size": 8 + }, + { + "source": { + "block": "64c3574b-3227-40ab-ab03-c2e2af710a45", + "port": "dc2d9a2c-9ee9-4985-a678-d88c89fd8b74" + }, + "target": { + "block": "17bd7ef3-6604-48a9-9c2e-50a8be908636", + "port": "38fdb02d-4323-4a34-9ffe-8385f844b660" + }, + "size": 8 } ] } } }, - "b959c256104d1064a5ef7b38632ffb6eed3b396f": { + "0788ea6614e4f073f6ed9a49665243d6d489ba46": { "package": { - "name": "Biestable-Set-Reset", - "version": "0.1", - "description": "Biestable con entradas de Set y Reset síncronas, para poner y quitar notaficaciones de eventos", - "author": "Juan Gonzalez-Gomez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20234.62951%20290.44458%22%20id=%22svg30%22%20width=%22234.63%22%20height=%22290.445%22%3E%3Cstyle%20id=%22style2%22%3E.st0%7Bdisplay:none%7D.st1%7Bfill:none;stroke:#303030;stroke-width:.7;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10%7D.st2%7Bfill:#303030%7D%3C/style%3E%3Cg%20id=%22layer1%22%20transform=%22translate(3.47%203.198)%22%3E%3Cpath%20class=%22st1%22%20d=%22M21.358%20145.947a63.75%2063.75%200%200%200%201.152%2011.049%22%20id=%22path9%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20class=%22st1%22%20d=%22M48.702%2092.116a64.784%2064.784%200%200%200-12.559%2011.68%2064.99%2064.99%200%200%200-12.69%2024.809%22%20id=%22path11%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20id=%22line17%22%20class=%22st1%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22%20d=%22M184.865%20207.591L41.298%20262.802%22/%3E%3Cpath%20id=%22path21-3%22%20d=%22M185.448%20175.07l.37.154c2.52.831%204.718%202.386%206.634%204.249%202.02%202.322%203.694%204.777%204.423%208.713%201.496%208.074-3.286%2016.05-10.95%2018.997l-1.06.408L41.298%20262.8l-.733.283c-8.003%203.077-17.551.461-21.82-6.975-3.3-5.748-2.736-12.198.418-21.613%203.155-9.414%202.86-21.856-1.644-33.55l.041.003-12.507-32.667c-12.88-33.415-.747-70.376%2027.41-90.31l-1.102-2.749c-3.685-9.583%201.14-20.438%2010.723-24.124%209.583-3.685%2020.439%201.14%2024.124%2010.723l1.654%203.239c34.881-3.556%2068.594%2015.855%2081.318%2049.33l15.24%2038.432c4.795%208.723%2011.831%2015.955%2021.028%2022.248z%22%20fill=%22#fff%22%20stroke=%22#303030%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20d=%22M64.268%20268.838l45.015-17.115s7.963%2024.296-14.427%2030.38c-22.39%206.086-30.588-13.265-30.588-13.265z%22%20id=%22path826%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3Cg%20id=%22layer3%22%3E%3Crect%20id=%22rect845%22%20width=%22135.189%22%20height=%22135.189%22%20x=%2295.783%22%20y=%223.671%22%20ry=%2219.847%22%20fill=%22#55acee%22%20stroke=%22#303030%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3C/g%3E%3Cg%20id=%22layer4%22%3E%3Cpath%20class=%22st2%22%20d=%22M172.724%2052.533V27.647h-9.888L144.047%2037.7l2.308%208.9%2014.833-8.076h.33v74.824H172.724V52.533z%22%20id=%22path7%22%20fill=%22#303030%22%20stroke-width=%2214.425%22/%3E%3C/g%3E%3C/svg%3E" + "name": "16-Sys-reg-rst", + "version": "0.8", + "description": "16-Sys-reg-rst: 16 bits system register with reset. Verilog implementation", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20width=%22252.294%22%20height=%22220.368%22%20viewBox=%220%200%2066.75283%2058.305748%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M25.682%2041.088L39.29%2057.76l-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M18.298%2033.024L9.066%2013.41l-6.45%203.724-2.07-3.583%2020.905-12.07%202.069%203.584-6.092%203.517%2012.03%2018.223s5.399-2.025%208.535.74c3.137%202.766%202.52%204.92%202.887%204.773L17.192%2045.956s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M42.022%2040.152l13.607%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M34.638%2032.088l-9.232-19.613-6.451%203.724-2.07-3.583L37.792.546%2039.86%204.13l-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.137%202.766%202.52%204.92%202.887%204.772L33.532%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20transform=%22translate(-38.356%20-17.732)%22%3E%3Crect%20width=%2224.412%22%20height=%2213.185%22%20x=%2280.3%22%20y=%2221.375%22%20ry=%222.247%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%22.794%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:1.25%22%20x=%2282.245%22%20y=%2230.943%22%20font-weight=%22400%22%20font-size=%2210.583%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20x=%2282.245%22%20y=%2230.943%22%20font-weight=%22700%22%3ESys%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E", + "otid": 1618509859237 }, "design": { "graph": { "blocks": [ { - "id": "9f09a4af-8f7a-45c3-af7b-293a244e76d9", + "id": "34c6aff6-7aca-4cc1-8d79-d6143d2f6937", + "type": "basic.output", + "data": { + "name": "nc" + }, + "position": { + "x": 920, + "y": -24 + } + }, + { + "id": "83ce9e72-711d-44f2-bbf5-b01c201a652a", + "type": "basic.output", + "data": { + "name": "nc" + }, + "position": { + "x": 920, + "y": 56 + } + }, + { + "id": "0ae5a502-ee21-47ad-bacb-405a35a87a91", "type": "basic.input", "data": { "name": "", "clock": true }, "position": { - "x": 200, + "x": 368, "y": 64 } }, { - "id": "3ae2d46d-7981-497a-899f-b60bfae0f43e", + "id": "892d93f1-9c4c-46c1-82c7-ff9702a5725a", "type": "basic.input", "data": { - "name": "set", + "name": "rst", "clock": false }, "position": { - "x": 200, - "y": 152 + "x": 376, + "y": 200 } }, { - "id": "1cb167a4-9e2a-416b-803e-da7b6151eaa5", + "id": "7995c7b0-4a39-4a19-aaa4-68f4e469912f", "type": "basic.output", "data": { - "name": "" + "name": "", + "range": "[15:0]", + "size": 16 }, "position": { - "x": 720, - "y": 152 + "x": 920, + "y": 200 } }, { - "id": "86eb8c81-17fc-4371-bd21-51f429191f3c", + "id": "c48a2779-52ed-4dde-8f95-e8ce67397de8", "type": "basic.input", "data": { - "name": "rst", - "clock": false + "name": "", + "range": "[15:0]", + "clock": false, + "size": 16 }, "position": { - "x": 200, - "y": 232 + "x": 376, + "y": 336 } }, { - "id": "bf12a800-db30-4289-a7c5-8c08438f9a39", + "id": "d1e52cbe-a82e-4bea-9ed0-e970eec3e43e", "type": "basic.constant", "data": { "name": "", @@ -11196,226 +11344,174 @@ "local": false }, "position": { - "x": 464, - "y": 0 + "x": 656, + "y": -80 } }, { - "id": "90068dea-9e7b-4a0f-afa3-e6585d0d8542", + "id": "2cc2ff9d-ebfc-43e2-83d7-5c4a6d8c77e6", "type": "basic.code", "data": { - "code": "reg q = INI;\n\nalways @(posedge clk)\n if (set)\n q <= 1'b1;\n else if (rst)\n q<=1'b0;", - "params": [ - { - "name": "INI" - } - ], "ports": { "in": [ { "name": "clk" }, { - "name": "set" + "name": "rst" }, { - "name": "rst" + "name": "d", + "range": "[15:0]", + "size": 16 } ], "out": [ { - "name": "q" - } - ] - } + "name": "q", + "range": "[15:0]", + "size": 16 + } + ] + }, + "params": [ + { + "name": "INI" + } + ], + "code": "//-- Generic System register\n//-- with reset\n//-- Number of bits\nlocalparam N = 16;\n\n//-- Initial value\nreg [N-1:0] qi = INI;\n\nalways @(posedge clk)\nbegin\n\n //-- Reset: Capture the initial\n //-- value\n if (rst == 1'b1)\n qi <= INI;\n \n //-- No reset: Capture the input\n else\n qi <= d;\nend\n\n//-- Connect the register with the\n//-- output\nassign q = qi;\n" }, "position": { - "x": 400, - "y": 120 + "x": 528, + "y": 32 }, "size": { - "width": 224, - "height": 128 + "width": 344, + "height": 400 } } ], "wires": [ { "source": { - "block": "9f09a4af-8f7a-45c3-af7b-293a244e76d9", - "port": "out" + "block": "2cc2ff9d-ebfc-43e2-83d7-5c4a6d8c77e6", + "port": "q" }, "target": { - "block": "90068dea-9e7b-4a0f-afa3-e6585d0d8542", - "port": "clk" + "block": "7995c7b0-4a39-4a19-aaa4-68f4e469912f", + "port": "in" }, - "vertices": [ - { - "x": 336, - "y": 104 - } - ] + "vertices": [], + "size": 16 }, { "source": { - "block": "3ae2d46d-7981-497a-899f-b60bfae0f43e", - "port": "out" + "block": "d1e52cbe-a82e-4bea-9ed0-e970eec3e43e", + "port": "constant-out" }, "target": { - "block": "90068dea-9e7b-4a0f-afa3-e6585d0d8542", - "port": "set" - } + "block": "2cc2ff9d-ebfc-43e2-83d7-5c4a6d8c77e6", + "port": "INI" + }, + "vertices": [] }, { "source": { - "block": "86eb8c81-17fc-4371-bd21-51f429191f3c", + "block": "892d93f1-9c4c-46c1-82c7-ff9702a5725a", "port": "out" }, "target": { - "block": "90068dea-9e7b-4a0f-afa3-e6585d0d8542", + "block": "2cc2ff9d-ebfc-43e2-83d7-5c4a6d8c77e6", "port": "rst" - }, - "vertices": [ - { - "x": 344, - "y": 248 - } - ] + } }, { "source": { - "block": "90068dea-9e7b-4a0f-afa3-e6585d0d8542", - "port": "q" + "block": "c48a2779-52ed-4dde-8f95-e8ce67397de8", + "port": "out" }, "target": { - "block": "1cb167a4-9e2a-416b-803e-da7b6151eaa5", - "port": "in" - } + "block": "2cc2ff9d-ebfc-43e2-83d7-5c4a6d8c77e6", + "port": "d" + }, + "size": 16 }, { "source": { - "block": "bf12a800-db30-4289-a7c5-8c08438f9a39", - "port": "constant-out" + "block": "0ae5a502-ee21-47ad-bacb-405a35a87a91", + "port": "out" }, "target": { - "block": "90068dea-9e7b-4a0f-afa3-e6585d0d8542", - "port": "INI" + "block": "2cc2ff9d-ebfc-43e2-83d7-5c4a6d8c77e6", + "port": "clk" } } ] } } }, - "c386a7076c0569a15326b30b6748ca284426424d": { + "0705a6a13435ea79daf5779a2a0f076bd71f0a14": { "package": { - "name": "Detector-flancos", - "version": "0.1", - "description": "Detector de flancos de subida y bajada. Emite tic por las salidas correspondientes al detecta los flancos", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22375.877%22%20height=%22399.413%22%20viewBox=%220%200%2099.450701%20105.67809%22%3E%3Cdefs%3E%3Cmarker%20orient=%22auto%22%20id=%22a%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20fill=%22red%22%20fill-rule=%22evenodd%22%20stroke=%22red%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22b%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20fill=%22red%22%20fill-rule=%22evenodd%22%20stroke=%22red%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3C/defs%3E%3Cg%20transform=%22translate(-61.727%20-50.902)%22%3E%3Cg%20fill=%22none%22%20stroke=%22#00f%22%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M76.611%2083.336l6.027%207.974-5.055%206.03%201.75%201.557M75.371%2083.53l-3.5%207.975-7.97%201.556.583%202.528%22%20stroke-width=%221.058%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M75.907%2083.53V53.588%22%20stroke-width=%223.969%22/%3E%3Cpath%20d=%22M65.118%2063.338l10.688-10.452%2010.351%2010.452%22%20stroke-width=%223.969%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3Cpath%20d=%22M123.88%2069.103c2.17%203.317%204.013%202.718%205.68%200%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22/%3E%3Cpath%20d=%22M132.326%2095.38V51.614h-11.225v43.497%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%221.323%22%20stroke-linecap=%22round%22/%3E%3Cellipse%20cx=%22112.489%22%20cy=%2297.866%22%20rx=%227.009%22%20ry=%222.635%22%20transform=%22rotate(-1.418)%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%22.265%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20cx=%22-140.807%22%20cy=%2291.678%22%20rx=%227.009%22%20ry=%222.635%22%20transform=%22scale(-1%201)%20rotate(-1.418)%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%22.265%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M124.8%2059.416v3.875M128.39%2059.416v3.875%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%22.529%22/%3E%3Cpath%20d=%22M85.794%2074.097h21.381%22%20fill=%22red%22%20stroke=%22red%22%20stroke-width=%222.646%22%20marker-end=%22url(#a)%22/%3E%3Cg%20transform=%22matrix(.842%200%200%20.842%2062.826%2011.41)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cpath%20d=%22M74.965%20140.485l6.027%207.974-5.055%206.03%201.75%201.557m-3.96-15.367l-3.5%207.975-7.97%201.556.582%202.528%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%221.058%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M74.695%20110.063v29.943%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%223.969%22%20stroke-linecap=%22round%22/%3E%3Cpath%20d=%22M63.906%20130.255l10.689%2010.452%2010.35-10.452%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%223.969%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M124.208%20120.573c2.17%203.317%204.013%202.718%205.68%200%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22/%3E%3Cpath%20d=%22M132.654%20146.85v-43.764H121.43v43.496%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%221.323%22%20stroke-linecap=%22round%22/%3E%3Cellipse%20cx=%22111.543%22%20cy=%22149.329%22%20rx=%227.009%22%20ry=%222.635%22%20transform=%22rotate(-1.418)%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%22.265%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20cx=%22-142.409%22%20cy=%22143.124%22%20rx=%227.009%22%20ry=%222.635%22%20transform=%22scale(-1%201)%20rotate(-1.418)%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%22.265%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M125.128%20110.887v3.874M128.718%20110.887v3.874%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%22.529%22/%3E%3Cpath%20d=%22M86.122%20125.567h21.381%22%20fill=%22red%22%20stroke=%22red%22%20stroke-width=%222.646%22%20marker-end=%22url(#b)%22/%3E%3Cg%20transform=%22matrix(.842%200%200%20.842%2063.956%2061.544)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E" + "name": "Sync-x01-verilog", + "version": "0.3", + "description": "Sync-x01: 1-bit input with the system clock domain (Verilog implementation)", + "author": "Juan Gonzalez-González (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22214.451%22%20height=%22214.451%22%20viewBox=%220%200%20214.45128%20214.45128%22%3E%3Ccircle%20cx=%22107.226%22%20cy=%22107.226%22%20r=%22107.226%22%20fill=%22#4d4d4d%22/%3E%3Cpath%20d=%22M107.363%2038.297c14.504.03%2029.212%204.552%2040.7%2013.5%208.077%209.303-7.312%2019.268-14.243%2010.195-20.865-12.624-50.29-8.18-65.988%2010.695-8.352%209.367-13.058%2021.866-13.003%2034.413h13.789c-7.353%2011.037-14.707%2022.066-22.06%2033.095l-22.062-33.087h13.788c-.439-29.962%2021.108-58.462%2050.032-66.221%206.212-1.701%2012.607-2.654%2019.048-2.587zm60.53%2035.85l22.063%2033.092h-13.789c.39%2030.318-21.706%2059.137-51.14%2066.487-19.862%205.547-42.32%201.5-58.645-11.19-8.329-9.459%207.274-19.328%2014.27-10.173%2020.214%2012.265%2048.524%208.375%2064.48-9.142%209.242-9.522%2014.56-22.711%2014.489-35.982h-13.789l22.062-33.092z%22%20fill=%22#fbfbc9%22/%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "2708468d-1088-4570-be63-fb0d4799a941", - "type": "basic.input", - "data": { - "name": "", - "clock": true - }, - "position": { - "x": 152, - "y": 160 - } - }, - { - "id": "1c25e08e-e664-4fab-9b30-cedc1f8a3739", + "id": "04b7a776-03f4-4de2-a09f-9f3cae6dded2", "type": "basic.output", "data": { - "name": "up" + "name": "nc" }, "position": { - "x": 672, - "y": 160 + "x": 384, + "y": -80 } }, { - "id": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", + "id": "39873fa0-c3f5-47ef-b54b-b6b344416b25", "type": "basic.input", "data": { "name": "", - "clock": false + "clock": true }, "position": { - "x": 152, - "y": 248 + "x": -136, + "y": -16 } }, { - "id": "3ada5999-55ba-4c4e-9877-a3e9ed82308c", + "id": "7bfc506f-7a54-40a1-8d33-e78a5409b972", "type": "basic.output", "data": { - "name": "down" - }, - "position": { - "x": 672, - "y": 248 - } - }, - { - "id": "49c0a94e-2687-4aa4-8cba-327b2942095f", - "type": "basic.info", - "data": { - "info": "## Detector doble: flancos de subida y bajada\n\nSe detectan tanto los flancos de subida como de bajada y se emite los \ntics por sus salidas correspondientes", - "readonly": true - }, - "position": { - "x": 144, - "y": -24 - }, - "size": { - "width": 568, - "height": 80 - } - }, - { - "id": "a6ea5e17-d259-4272-8d1c-87a6a7fe3235", - "type": "basic.info", - "data": { - "info": "Señal de \nentrada", - "readonly": true + "name": "" }, "position": { - "x": 168, - "y": 216 - }, - "size": { - "width": 96, - "height": 56 + "x": 384, + "y": 56 } }, { - "id": "d0d6c668-3c03-42f5-9244-9a0431f11a87", - "type": "basic.info", + "id": "f25e9a9e-cd4c-4025-8745-0691a99a3fb8", + "type": "basic.input", "data": { - "info": "Reloj del \nsistema", - "readonly": true + "name": "", + "clock": false }, "position": { - "x": 168, - "y": 120 - }, - "size": { - "width": 96, - "height": 48 + "x": -136, + "y": 128 } }, { - "id": "73c2239c-1050-4d9f-ae49-0299d50982af", + "id": "cf6fe46f-cd0d-4a77-be7a-dd6aa92801fa", "type": "basic.code", "data": { - "code": "reg q = 0;\n\nalways @(posedge clk)\n q <= i;\n \nassign up = (~q & i); \nassign down = (q & ~i); ", + "code": "//-- Two D flip-flops\n//-- connected in cascade\n\nreg q1 = 0;\nreg q2 = 0;\n\nalways @(posedge clk) \nbegin\n //-- First D Flip-Flop\n q1 <= d;\n \n //-- Secondo D Flip-flop\n q2 <= q1;\nend\n\n//-- Assign the output\nassign q = q2;", "params": [], "ports": { "in": [ @@ -11423,67 +11519,54 @@ "name": "clk" }, { - "name": "i" + "name": "d" } ], "out": [ { - "name": "up" - }, - { - "name": "down" + "name": "q" } ] } }, "position": { - "x": 336, - "y": 152 + "x": 32, + "y": -56 }, "size": { - "width": 264, - "height": 168 + "width": 296, + "height": 288 } } ], "wires": [ { "source": { - "block": "2708468d-1088-4570-be63-fb0d4799a941", + "block": "39873fa0-c3f5-47ef-b54b-b6b344416b25", "port": "out" }, "target": { - "block": "73c2239c-1050-4d9f-ae49-0299d50982af", + "block": "cf6fe46f-cd0d-4a77-be7a-dd6aa92801fa", "port": "clk" } }, { "source": { - "block": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", + "block": "f25e9a9e-cd4c-4025-8745-0691a99a3fb8", "port": "out" }, "target": { - "block": "73c2239c-1050-4d9f-ae49-0299d50982af", - "port": "i" - } - }, - { - "source": { - "block": "73c2239c-1050-4d9f-ae49-0299d50982af", - "port": "up" - }, - "target": { - "block": "1c25e08e-e664-4fab-9b30-cedc1f8a3739", - "port": "in" + "block": "cf6fe46f-cd0d-4a77-be7a-dd6aa92801fa", + "port": "d" } }, { "source": { - "block": "73c2239c-1050-4d9f-ae49-0299d50982af", - "port": "down" + "block": "cf6fe46f-cd0d-4a77-be7a-dd6aa92801fa", + "port": "q" }, "target": { - "block": "3ada5999-55ba-4c4e-9877-a3e9ed82308c", + "block": "7bfc506f-7a54-40a1-8d33-e78a5409b972", "port": "in" } } @@ -11491,1458 +11574,1004 @@ } } }, - "a3c966710f8e14f7d3464d7e89c1894dfebb86c7": { + "455c3beb3ea73cf6862dfbc0c899a5e357964a24": { "package": { - "name": "Registro", - "version": "0.1", - "description": "Registro de 4 bits con entrada de reset", + "name": "Mem-16KB-down-machine", + "version": "0.5", + "description": "16KB memory download machine", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22519.236%22%20height=%22279.911%22%20viewBox=%220%200%20137.38127%2074.059853%22%3E%3Cpath%20d=%22M41.506%2040.152l13.608%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke=%22#000%22%20stroke-width=%221.092%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M34.122%2032.088L24.89%2012.475l-6.45%203.724-2.07-3.583L37.276.546l2.07%203.584-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.772L33.017%2045.02s-2.849-3.695-2.16-6.795c.687-3.1%203.265-6.137%203.265-6.137z%22%20fill=%22red%22%20stroke=%22#000%22%20stroke-width=%221.092%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22translate(-93.518%20-22.665)%20scale(1.09073)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20cx=%22100.602%22%20cy=%2273.815%22%20r=%2214.559%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M81.95%2040.152l13.607%2016.672L88.64%2036.29%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M74.566%2032.088l-9.232-19.613-6.451%203.724-2.069-3.583L77.719.546l2.069%203.584-6.092%203.517%2012.03%2018.223s5.399-2.025%208.535.74c3.137%202.766%202.52%204.92%202.887%204.772L73.46%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M121.637%2040.152l13.608%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M114.253%2032.088l-9.232-19.613-6.45%203.724-2.07-3.583L117.407.546l2.07%203.584-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.772L113.147%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3C/svg%3E" + "image": "%3Csvg%20height=%22120.961%22%20width=%22100%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cdefs%3E%3Cfilter%20id=%22c%22%20color-interpolation-filters=%22sRGB%22%20x=%22-.035%22%20y=%22-.018%22%20width=%221.071%22%20height=%221.036%22%3E%3CfeGaussianBlur%20stdDeviation=%221.23%22/%3E%3C/filter%3E%3Cfilter%20id=%22g%22%20color-interpolation-filters=%22sRGB%22%20x=%22-.036%22%20y=%22-.018%22%20width=%221.071%22%20height=%221.036%22%3E%3CfeGaussianBlur%20stdDeviation=%221.23%22/%3E%3C/filter%3E%3Cfilter%20id=%22f%22%20color-interpolation-filters=%22sRGB%22%20x=%22-.049%22%20y=%22-.016%22%20width=%221.098%22%20height=%221.032%22%3E%3CfeGaussianBlur%20stdDeviation=%221.258%22/%3E%3C/filter%3E%3Cfilter%20id=%22e%22%20color-interpolation-filters=%22sRGB%22%20x=%22-.072%22%20y=%22-.014%22%20width=%221.144%22%20height=%221.029%22%3E%3CfeGaussianBlur%20stdDeviation=%221.312%22/%3E%3C/filter%3E%3Cfilter%20id=%22b%22%20height=%221.027%22%20width=%221.242%22%20y=%22-.013%22%20x=%22-.121%22%20color-interpolation-filters=%22sRGB%22%3E%3CfeGaussianBlur%20stdDeviation=%221.309%22/%3E%3C/filter%3E%3Cfilter%20id=%22d%22%20height=%221.027%22%20width=%221.242%22%20y=%22-.013%22%20x=%22-.121%22%20color-interpolation-filters=%22sRGB%22%3E%3CfeGaussianBlur%20stdDeviation=%221.309%22/%3E%3C/filter%3E%3Cfilter%20id=%22a%22%20height=%221.025%22%20width=%221.996%22%20y=%22-.012%22%20x=%22-.498%22%20color-interpolation-filters=%22sRGB%22%3E%3CfeGaussianBlur%20stdDeviation=%221.245%22/%3E%3C/filter%3E%3CradialGradient%20id=%22h%22%20gradientUnits=%22userSpaceOnUse%22%20cy=%22356.19%22%20cx=%22300%22%20gradientTransform=%22matrix(-.43814%20.01306%20-.0012%20-.02628%20181.233%2061.352)%22%20r=%2255.264%22%3E%3Cstop%20offset=%220%22/%3E%3Cstop%20stop-color=%22#464646%22%20offset=%22.602%22/%3E%3Cstop%20stop-color=%22#aca592%22%20stop-opacity=%220%22%20offset=%221%22/%3E%3C/radialGradient%3E%3ClinearGradient%20id=%22i%22%20y2=%22333.77%22%20gradientUnits=%22userSpaceOnUse%22%20x2=%22291.22%22%20gradientTransform=%22matrix(-.3425%20.01021%20-.01275%20-.27715%20156.562%20149.485)%22%20y1=%22330.77%22%20x1=%22291.22%22%3E%3Cstop%20stop-color=%22#fff%22%20stop-opacity=%22.362%22%20offset=%220%22/%3E%3Cstop%20stop-opacity=%220%22%20offset=%221%22/%3E%3C/linearGradient%3E%3ClinearGradient%20id=%22j%22%20y2=%22339.48%22%20gradientUnits=%22userSpaceOnUse%22%20x2=%22337.09%22%20gradientTransform=%22matrix(-.33921%20.01011%20-.01492%20-.32428%20156.195%20165.141)%22%20y1=%22339.48%22%20x1=%22343.43%22%3E%3Cstop%20stop-color=%22#fff%22%20stop-opacity=%22.362%22%20offset=%220%22/%3E%3Cstop%20stop-opacity=%220%22%20offset=%221%22/%3E%3C/linearGradient%3E%3ClinearGradient%20id=%22k%22%20y2=%22304.68%22%20gradientUnits=%22userSpaceOnUse%22%20x2=%22300.31%22%20gradientTransform=%22matrix(-.32563%20.0097%20-.01206%20-.2621%20151.26%20144.401)%22%20y1=%22331.2%22%20x1=%22300.31%22%3E%3Cstop%20stop-opacity=%22.302%22%20offset=%220%22/%3E%3Cstop%20stop-opacity=%220%22%20offset=%221%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath%20opacity=%22.95%22%20fill=%22none%22%20d=%22M0%2020.961h100v100H0z%22/%3E%3Cpath%20d=%22M53.928%20119.654L52.1%2079.937l-1.104-23.99-3.256.096%201.104%2023.991%201.826%2039.717z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#d4aa00%22/%3E%3Cpath%20d=%22M297%20109.34V352.4h6V109.34z%22%20style=%22text-indent:0;text-transform:none%22%20transform=%22matrix(-.32563%20.0097%20-.01206%20-.2621%20151.309%20145.45)%22%20color=%22#000%22%20fill=%22#fcff4c%22%20fill-opacity=%22.544%22%20filter=%22url(#a)%22/%3E%3Cpath%20d=%22M60.372%20117.56l3.198-.49c-3.202-13.45-7.816-28.557-8.457-42.475l-.863-18.749-3.256.098.863%2018.748c.658%2014.31%205.337%2029.518%208.514%2042.865z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#d45500%22/%3E%3Cpath%20d=%22M272.94%20116.59l-5.875%201.5c7.92%2051.61%2019.94%20109.69%2019.94%20162.79v71.531h6V280.88c0-54.598-12.202-113.07-20.062-164.28z%22%20style=%22text-indent:0;text-transform:none%22%20transform=%22matrix(-.32563%20.0097%20-.01206%20-.2621%20151.309%20145.45)%22%20color=%22#000%22%20fill=%22#fca%22%20fill-opacity=%22.409%22%20filter=%22url(#b)%22/%3E%3Cpath%20d=%22M69.996%20112.761l3.056-.912c-6.978-15.02-14.11-24.952-15.163-47.836l-.38-8.265-3.257.097.38%208.265c1.072%2023.296%208.478%2033.826%2015.364%2048.646z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#a00%22/%3E%3Cpath%20d=%22M79.672%20106.477l2.661-1.515c-9.79-11.143-20.205-19.73-21.186-41.045l-.38-8.264-3.257.097.38%208.264C58.902%2086%2070.056%2095.528%2079.674%20106.474z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#784421%22/%3E%3Cpath%20d=%22M89.428%2098.614l1.962-2.092C81.67%2090.65%2065.24%2082.005%2064.402%2063.82l-.38-8.265-3.256.097.38%208.265C62.04%2083.35%2079.89%2092.851%2089.43%2098.614z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#1a1a1a%22/%3E%3Cpath%20d=%22M183.16%20189.47l-4.313%201.75c28.98%2023.48%2079.65%2053.27%2079.65%20129.66v31.531h4V320.88c0-71.639-50.903-108.37-79.344-131.41z%22%20style=%22text-indent:0;text-transform:none%22%20transform=%22matrix(-.32563%20.0097%20-.01206%20-.2621%20151.309%20145.45)%22%20color=%22#000%22%20fill=%22#fff%22%20fill-opacity=%22.313%22%20filter=%22url(#c)%22/%3E%3Cpath%20d=%22M44.052%20118.046c1.941-13.5%205.209-28.946%204.55-43.257l-.862-18.748-3.256.097.863%2018.748c.64%2013.918-2.572%2029.258-4.53%2042.86l3.234.297z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22green%22/%3E%3Cpath%20transform=%22matrix(.32563%20-.0097%20-.01206%20-.2621%20-44.14%20150.226)%22%20d=%22M272.94%20112.59l-5.875%201.5c7.92%2051.61%2019.94%20109.69%2019.94%20162.79v71.531h6V276.88c0-54.598-12.202-113.07-20.062-164.28z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#cfa%22%20fill-opacity=%22.409%22%20filter=%22url(#d)%22/%3E%3Cpath%20d=%22M34.013%20113.833c5.507-15.193%2011.923-26.132%2010.85-49.43l-.38-8.265-3.256.097.38%208.264c1.053%2022.883-5.147%2033.214-10.725%2048.606l3.131.727z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#04a%22/%3E%3Cpath%20transform=%22matrix(.32563%20-.0097%20-.01206%20-.2621%20-44.202%20150.228)%22%20d=%22M242.75%20129.78l-3.5%203.125c19.277%2058.01%2038.25%2096.664%2038.25%20183.97v31.531h5.5v-31.531c0-88.882-21.224-129.84-40.25-187.09z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#acf%22%20fill-opacity=%22.475%22%20filter=%22url(#e)%22/%3E%3Cpath%20d=%22M23.786%20108.143C32.372%2096.651%2042.62%2086.487%2041.607%2064.5l-.38-8.264-3.257.097.38%208.264c.981%2021.314-8.618%2030.496-17.358%2042.192l2.793%201.352z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#aa00d4%22/%3E%3Cpath%20transform=%22matrix(.32563%20-.0097%20-.01206%20-.2621%20-63.922%20150.816)%22%20d=%22M275.19%20158.62l-4.375-.531c28.45%2043.57%2057.68%2077.47%2057.68%20158.79v31.53h4v-31.53c0-83.882-29.36-115.45-57.312-158.25z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#eaf%22%20fill-opacity=%22.483%22%20filter=%22url(#f)%22/%3E%3Cpath%20d=%22M13.334%20100.883c8.983-6.313%2025.91-16.854%2025.017-36.287l-.38-8.264-3.257.097.38%208.264c.837%2018.184-14.754%2027.784-23.91%2034.22l2.149%201.97z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#6f6f91%22/%3E%3Cpath%20transform=%22matrix(.32563%20-.0097%20-.01206%20-.2621%20-43.742%20150.214)%22%20d=%22M183.16%20185.47l-4.313%201.75c28.98%2023.48%2078.15%2055.27%2078.15%20129.65v31.531h5V316.87c0-69.13-50.4-108.37-78.84-131.4z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#dbdbe3%22%20fill-opacity=%22.429%22%20filter=%22url(#g)%22/%3E%3Cpath%20d=%22M73.69%2057.606L25.264%2059.05l-.202-4.398c12.474-.817%2026.455-1.496%2048.425-1.444z%22%20color=%22#000%22%20fill=%22url(#h)%22/%3E%3Cpath%20d=%22M64.604%2060.633l-30.005.894-.246-5.336c7.717-.77%2016.373-1.346%2030.005-.894z%22%20color=%22#000%22%20fill=%22#1a1a1a%22/%3E%3Cpath%20d=%22M64.467%2060.434l-29.75.887-.03-.659c7.655-.673%2016.24-1.19%2029.75-.887z%22%20color=%22#000%22%20fill=%22url(#i)%22/%3E%3Cpath%20d=%22M36.953%2061.291l-2.194.066-.236-5.14c1.09-.029%201.543-.087%202.193-.067z%22%20color=%22#000%22%20fill=%22url(#j)%22/%3E%3Cpath%20d=%22M64.526%2067.018l-29.466.88-.296-6.44c7.578-.746%2016.08-1.306%2029.465-.879z%22%20color=%22#000%22%20fill=%22url(#k)%22/%3E%3Cpath%20d=%22M39.749%2062.438a17382.86%2017382.86%200%200%200-16.022-9.136c-7.035-4.007-12.814-7.308-12.842-7.335-.028-.027%209.023-5.125%2020.114-11.329L51.164%2023.36l.041%207.98c.023%204.39.047%2012.504.052%2018.034l.01%2010.053-.258.043c-1.31.216-2.573.602-3.6%201.102-1.394.678-3.04%202.007-3.947%203.188-.227.296-.428.536-.447.533a258.47%20258.47%200%200%201-3.266-1.854zm19.433.916c-1.387-1.72-3.778-3.223-5.848-3.68a84.366%2084.366%200%200%201-1.148-.258c-.103-.026-.17-5.28-.231-18.058-.047-9.91-.072-18.034-.055-18.05.033-.034%2038.983%2022.448%2039.105%2022.57.073.073-30.92%2018.297-31.09%2018.28-.05-.005-.38-.367-.733-.804zM10.639%2069.42c0-18.118.034-22.668.17-22.583.094.058%207.285%204.221%2015.98%209.252%209.32%205.392%2015.801%209.22%2015.79%209.327-.011.1-.12.542-.244.985-.509%201.835-.413%204.334.24%206.25l.307.9-15.328%208.835a7575.428%207575.428%200%200%201-16.122%209.278l-.793.444zM76.18%2083.365c-8.53-5.14-15.551-9.39-15.604-9.443-.052-.052.06-.584.25-1.183.514-1.62.592-4.195.184-6.007-.163-.72-.275-1.328-.25-1.349.147-.123%2030.997-18.63%2031.055-18.63.098%200%20.056%2038.69-.046%2042.727l-.082%203.233z%22%20fill=%22#7ccff4%22/%3E%3Cpath%20d=%22M92.898%2047.736c-1.658%207.32%203.673%2035.148-.816%2037.094-9.788-16.912-21.55-23.98-21.55-23.98s15.22-10.893%2022.366-13.114zM52.12%2022.772c5.53%205.076%2032.33%2014.27%2031.79%2019.131-19.54.097-31.517%206.795-31.517%206.795s-1.893-18.62-.273-25.926zM10.95%2045.233C18.165%2043.167%2040%2025.11%2043.865%2028.108c-10.12%2016.716-10.66%2030.428-10.66%2030.428S16.333%2050.43%2010.95%2045.233zm-.857%2047.424c1.753-7.298-3.22-35.193%201.293-37.08%209.57%2017.036%2021.24%2024.255%2021.24%2024.255s-15.36%2010.696-22.533%2012.825z%22%20fill=%22#98ddf4%22/%3E%3Cpath%20d=%22M10.564%2046.162l41.054-23.67L92.644%2046.21l-.027%2047.383-32.877-19.34a9.364%209.364%200%201%200-16.216-.008L10.543%2093.551zM43.022%2065.23L10.568%2046.171m41.05-23.284l.023%2037.158m8.689%205.13L92.646%2046.21%22%20fill=%22none%22%20stroke=%22#275d75%22%20stroke-width=%223.009%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22translate(-44.235%2067.501)%20scale(.75005)%22%20stroke=%22#00f400%22%3E%3Ccircle%20r=%2224.508%22%20cy=%221.741%22%20cx=%22128.644%22%20opacity=%22.95%22%20fill=%22#272524%22%20stroke-width=%222.247%22%20stroke-linecap=%22round%22/%3E%3Cpath%20d=%22M113.085%2010.269h16.744V-9.227h14.781%22%20fill=%22none%22%20stroke-width=%222.682%22/%3E%3C/g%3E%3Ctext%20style=%22line-height:1.25%22%20x=%2223.033%22%20y=%2218.856%22%20font-weight=%22400%22%20font-size=%2221.804%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%22.545%22%3E%3Ctspan%20x=%2223.033%22%20y=%2218.856%22%3E16KB%3C/tspan%3E%3C/text%3E%3C/svg%3E", + "otid": 1596697289362 }, "design": { "graph": { "blocks": [ { - "id": "096f61b6-6d5c-4907-9512-e65b25969458", + "id": "01edffcc-6e84-40ff-a986-e6bb1d144035", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "tx", + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 1080, + "y": 536 + } + }, + { + "id": "874e0745-10f1-45c2-8893-f7dfad87390d", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" + }, + "position": { + "x": 728, + "y": 544 + } + }, + { + "id": "bef1b4c2-b479-4152-ba4d-eb6b9906949c", "type": "basic.input", "data": { "name": "", "clock": true }, "position": { - "x": 80, - "y": 168 + "x": -32, + "y": 584 } }, { - "id": "a2b70876-c7c0-4208-a403-eed81e32fe5a", - "type": "basic.input", + "id": "e957a950-a21d-4560-8c01-c477d88a75a2", + "type": "basic.inputLabel", "data": { - "name": "rst", - "clock": false + "blockColor": "yellow", + "name": "clk" }, "position": { - "x": 80, - "y": 216 + "x": 112, + "y": 584 } }, { - "id": "f655c5c0-0157-4195-89ac-f92c5b3f8e0b", + "id": "757f1816-834d-4cd7-a5e1-d726a472de91", "type": "basic.output", "data": { - "name": "q", - "range": "[3:0]", - "size": 4 + "name": "tx" }, "position": { - "x": 632, - "y": 248 + "x": 1456, + "y": 600 } }, { - "id": "ee31ca02-b981-4474-a62e-85f20302435c", - "type": "basic.input", + "id": "b5a3b2cc-7b32-4ac9-b6bf-002fe40d9ebe", + "type": "basic.outputLabel", "data": { - "name": "", - "range": "[3:0]", - "clock": false, - "size": 4 + "blockColor": "fuchsia", + "name": "tx", + "oldBlockColor": "fuchsia" }, "position": { - "x": 80, - "y": 272 + "x": 1304, + "y": 600 } }, { - "id": "065ea371-8398-43b3-8341-287c234a3acb", - "type": "basic.input", + "id": "25428eb9-c2a5-476c-8ea5-4876e3cb78cb", + "type": "basic.inputLabel", "data": { - "name": "load", - "clock": false + "blockColor": "fuchsia", + "name": "stdo", + "range": "[9:0]", + "size": 10 }, "position": { - "x": 80, - "y": 320 + "x": 1104, + "y": 616 } }, { - "id": "f3b434e4-0c8f-4dd7-90c7-305189a807f1", - "type": "basic.constant", + "id": "2226faa1-dd30-45cc-b4fb-2bcffd758576", + "type": "basic.outputLabel", "data": { - "name": "", - "value": "0", - "local": false + "blockColor": "fuchsia", + "name": "stdo_1", + "range": "[9:0]", + "oldBlockColor": "fuchsia", + "size": 10 }, "position": { - "x": 376, - "y": 56 + "x": 720, + "y": 616 } }, { - "id": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "type": "basic.code", + "id": "b1e41924-f354-4744-b5f0-a93a1fdc6828", + "type": "basic.input", "data": { - "code": "localparam N = 4;\n\nreg [N-1:0] q = INI;\n\nalways @(posedge clk)\n if (rst)\n q <= 0;\n else\n if (load)\n q <= d;", - "params": [ - { - "name": "INI" - } - ], - "ports": { - "in": [ - { - "name": "clk" - }, - { - "name": "rst" - }, - { - "name": "d", - "range": "[3:0]", - "size": 4 - }, - { - "name": "load" - } - ], - "out": [ - { - "name": "q", - "range": "[3:0]", - "size": 4 - } - ] - } + "name": "trig", + "clock": false }, "position": { - "x": 280, - "y": 176 - }, - "size": { - "width": 288, - "height": 200 - } - } - ], - "wires": [ - { - "source": { - "block": "f3b434e4-0c8f-4dd7-90c7-305189a807f1", - "port": "constant-out" - }, - "target": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "INI" - }, - "vertices": [] - }, - { - "source": { - "block": "065ea371-8398-43b3-8341-287c234a3acb", - "port": "out" - }, - "target": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "load" + "x": -32, + "y": 664 } }, { - "source": { - "block": "096f61b6-6d5c-4907-9512-e65b25969458", - "port": "out" + "id": "4de777a9-a4a5-4ace-adf6-688298d0d736", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "trig" }, - "target": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "clk" + "position": { + "x": 112, + "y": 664 } }, { - "source": { - "block": "ee31ca02-b981-4474-a62e-85f20302435c", - "port": "out" - }, - "target": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "d" - }, - "size": 4 - }, - { - "source": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "q" - }, - "target": { - "block": "f655c5c0-0157-4195-89ac-f92c5b3f8e0b", - "port": "in" - }, - "size": 4 - }, - { - "source": { - "block": "a2b70876-c7c0-4208-a403-eed81e32fe5a", - "port": "out" - }, - "target": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "rst" - } - } - ] - } - } - }, - "04dcede98e726cdb028c1ef593f02f949d5f5ac6": { - "package": { - "name": "sum-1op-4bits", - "version": "0.1", - "description": "Sumador de un operando de 4 bits con una constante pasada como parámetro (No hay accarreo)", - "author": "Juan González-Gómez", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%3E%3Ctext%20style=%22line-height:125%25%22%20x=%22-33.052%22%20y=%22195.572%22%20font-weight=%22400%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20font-family=%22sans-serif%22%20stroke-width=%224.441%22%3E%3Ctspan%20x=%22-33.052%22%20y=%22195.572%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%3E+%3C/tspan%3E%3C/text%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "d1ed8643-0bb2-48ac-9aca-17184aee9368", + "id": "9cdfc247-4374-4660-b8c7-246e9aa090d7", "type": "basic.input", "data": { - "name": "", - "range": "[3:0]", + "name": "ch", + "range": "[7:0]", "clock": false, - "size": 4 + "size": 8 }, "position": { - "x": 208, - "y": 192 + "x": -32, + "y": 752 } }, { - "id": "423ecf0e-b1de-4a7f-8bf0-032e0c1f0467", - "type": "basic.output", + "id": "b3f14933-93b7-4bc1-8585-471518a370ce", + "type": "basic.inputLabel", "data": { - "name": "", - "range": "[3:0]", - "size": 4 + "name": "ch", + "range": "[7:0]", + "blockColor": "fuchsia", + "size": 8 }, "position": { - "x": 672, - "y": 192 + "x": 120, + "y": 752 } }, { - "id": "c4eedeee-32b3-41da-834c-48f3a92cbaec", - "type": "basic.constant", + "id": "97a9bf0d-0475-40fe-bcc2-f75e2b928290", + "type": "basic.inputLabel", "data": { - "name": "", - "value": "1", - "local": false + "blockColor": "fuchsia", + "name": "on2", + "oldBlockColor": "fuchsia" }, "position": { - "x": 448, - "y": 96 + "x": 1136, + "y": 760 } }, { - "id": "a8d15f9d-bba5-432f-b698-17964638c83a", - "type": "basic.code", + "id": "a76b111f-f808-4e45-8873-d8e76eb8612e", + "type": "basic.outputLabel", "data": { - "code": "assign s = a + k;", - "params": [ - { - "name": "k" - } - ], - "ports": { - "in": [ - { - "name": "a", - "range": "[3:0]", - "size": 4 - } - ], - "out": [ - { - "name": "s", - "range": "[3:0]", - "size": 4 - } - ] - } + "blockColor": "yellow", + "name": "clk" }, "position": { - "x": 384, - "y": 192 - }, - "size": { - "width": 216, - "height": 64 - } - } - ], - "wires": [ - { - "source": { - "block": "c4eedeee-32b3-41da-834c-48f3a92cbaec", - "port": "constant-out" - }, - "target": { - "block": "a8d15f9d-bba5-432f-b698-17964638c83a", - "port": "k" + "x": 824, + "y": 768 } }, { - "source": { - "block": "d1ed8643-0bb2-48ac-9aca-17184aee9368", - "port": "out" - }, - "target": { - "block": "a8d15f9d-bba5-432f-b698-17964638c83a", - "port": "a" - }, - "size": 4 - }, - { - "source": { - "block": "a8d15f9d-bba5-432f-b698-17964638c83a", - "port": "s" - }, - "target": { - "block": "423ecf0e-b1de-4a7f-8bf0-032e0c1f0467", - "port": "in" - }, - "size": 4 - } - ] - } - } - }, - "2e691702e123c308f561a5a93912a03de1896719": { - "package": { - "name": "Comparador de dos operandos", - "version": "0.1", - "description": "Comparador de dos operandos de 4 bits", - "author": "Juan Gonzalez-Gomez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22312.756%22%20height=%22168.82%22%20viewBox=%220%200%20293.20803%20158.26888%22%3E%3Ctext%20style=%22line-height:125%25%22%20x=%22178.324%22%20y=%22457.047%22%20font-size=%2296.3%22%20transform=%22matrix(4.864%200%200%204.864%20-916.998%20-1997.335)%22%20fill=%22#00f%22%20stroke-width=%22.057%22%20font-weight=%22400%22%20letter-spacing=%220%22%20word-spacing=%220%22%20font-family=%22sans-serif%22%3E%3Ctspan%20x=%22178.324%22%20y=%22457.047%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20stroke-width=%22.206%22%3E=%3C/tspan%3E%3C/text%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "0587ffc4-0beb-4bc0-b72c-df8bde2c6bf2", - "type": "basic.input", + "id": "95f8ff76-02e4-4f69-8db6-d285cfe13d4a", + "type": "basic.outputLabel", "data": { - "name": "", - "range": "[3:0]", - "clock": false, - "size": 4 + "blockColor": "yellow", + "name": "clk" }, "position": { - "x": 152, - "y": 104 + "x": 328, + "y": 784 } }, { - "id": "0344dacc-8583-456b-b377-8cb4ab97cf94", - "type": "basic.output", + "id": "db47aa3d-add3-4672-aad0-e71644d43161", + "type": "basic.inputLabel", "data": { - "name": "" + "blockColor": "fuchsia", + "name": "stdo_1", + "range": "[9:0]", + "size": 10 }, "position": { - "x": 616, - "y": 160 + "x": 1184, + "y": 824 } }, { - "id": "128b8626-fc1e-4144-a837-a275b812ee83", - "type": "basic.input", + "id": "b1cd47ec-5a10-4bd1-bff9-a9d1707d621d", + "type": "basic.outputLabel", "data": { - "name": "", - "range": "[3:0]", - "clock": false, - "size": 4 + "blockColor": "yellow", + "name": "clk" }, "position": { - "x": 152, - "y": 200 + "x": 1312, + "y": 840 } }, { - "id": "9c811723-c900-4ceb-9989-036b071ee3fe", - "type": "basic.code", + "id": "f443dcde-4fbe-46f8-90d9-94a64a06a928", + "type": "basic.outputLabel", "data": { - "code": "assign eq = (a == b);", - "params": [], - "ports": { - "in": [ - { - "name": "a", - "range": "[3:0]", - "size": 4 - }, - { - "name": "b", - "range": "[3:0]", - "size": 4 - } - ], - "out": [ - { - "name": "eq" - } - ] - } + "blockColor": "fuchsia", + "name": "stdo", + "range": "[9:0]", + "size": 10 }, "position": { - "x": 344, - "y": 160 - }, - "size": { - "width": 224, - "height": 64 - } - } - ], - "wires": [ - { - "source": { - "block": "9c811723-c900-4ceb-9989-036b071ee3fe", - "port": "eq" - }, - "target": { - "block": "0344dacc-8583-456b-b377-8cb4ab97cf94", - "port": "in" + "x": 792, + "y": 848 } }, { - "source": { - "block": "128b8626-fc1e-4144-a837-a275b812ee83", - "port": "out" - }, - "target": { - "block": "9c811723-c900-4ceb-9989-036b071ee3fe", - "port": "b" - }, - "size": 4 - }, - { - "source": { - "block": "0587ffc4-0beb-4bc0-b72c-df8bde2c6bf2", - "port": "out" - }, - "target": { - "block": "9c811723-c900-4ceb-9989-036b071ee3fe", - "port": "a" - }, - "size": 4 - } - ] - } - } - }, - "33e7c0abcd8b70a7af87fdb6750be0e24a796695": { - "package": { - "name": "Constante-4bits", - "version": "0.0.1", - "description": "Valor genérico constante (menos 1), de 4 bits. Su valor se introduce como parámetro. Por defecto vale 0", - "author": "Juan Gonzalez-Gomez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22489.056%22%20height=%22247.927%22%20viewBox=%220%200%20458.49013%20232.43134%22%3E%3Ctext%20style=%22line-height:0%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22293.115%22%20y=%22648.344%22%20font-weight=%22400%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22%20transform=%22translate(-316.929%20-415.913)%22%3E%3Ctspan%20x=%22293.115%22%20y=%22648.344%22%20style=%22line-height:1.25%22%20font-size=%22335.399%22%3Ek-1%3C/tspan%3E%3C/text%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "2da79d6d-81ed-4d5d-b4bf-113557353105", - "type": "basic.output", + "id": "b3c9756a-c4ff-496f-972f-11e1904c9bd4", + "type": "basic.outputLabel", "data": { - "name": "k", - "range": "[3:0]", - "size": 4 + "name": "mbus", + "range": "[23:0]", + "blockColor": "fuchsia", + "size": 24 }, "position": { - "x": 960, - "y": 248 + "x": 264, + "y": 856 } }, { - "id": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", - "type": "basic.constant", + "id": "218bd314-2f32-4e2b-b3f4-4f7e0f8f3e70", + "type": "basic.inputLabel", "data": { - "name": "", - "value": "1", - "local": false + "name": "mbus", + "range": "[23:0]", + "blockColor": "fuchsia", + "size": 24 }, "position": { - "x": 728, - "y": 112 + "x": 1616, + "y": 896 } }, { - "id": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", - "type": "basic.code", + "id": "02620ac0-eba1-4e7b-8c7c-42f281dfad06", + "type": "basic.outputLabel", "data": { - "code": "assign k = VALUE-1;", - "params": [ - { - "name": "VALUE" - } - ], - "ports": { - "in": [], - "out": [ - { - "name": "k", - "range": "[3:0]", - "size": 4 - } - ] - } + "blockColor": "fuchsia", + "name": "trig", + "oldBlockColor": "fuchsia" }, "position": { - "x": 672, - "y": 248 - }, - "size": { - "width": 208, - "height": 64 - } - } - ], - "wires": [ - { - "source": { - "block": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", - "port": "constant-out" - }, - "target": { - "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", - "port": "VALUE" + "x": 224, + "y": 944 } }, { - "source": { - "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", - "port": "k" - }, - "target": { - "block": "2da79d6d-81ed-4d5d-b4bf-113557353105", - "port": "in" - }, - "size": 4 - } - ] - } - } - }, - "3611498f72f6612ad9bff72919bddb61a3ef0e82": { - "package": { - "name": "Mem-16B-down-machine", - "version": "0.1", - "description": "16B memory download machine", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20viewBox=%220%200%2088.570022%20126.13218%22%20height=%22476.72%22%20width=%22334.753%22%3E%3Cg%20transform=%22translate(-158.43%20-96.411)%22%3E%3Cimage%20xlink:href=%22data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAgM0lEQVR4Xu1dCZBU1bm+PdPTM8CM%20AgMO+yCrAq4oGjWKIIorcYnRlD59saImGlOaqK/UPPeHu5VyjyYuMRu+uFVEjRqX4FNRQURwQVxQ%20YdiGZQYGepZ+33frfK9Oneq+t+/0zHTad/+qU7fv7bt0n/8///L9/znX+1ZTTDHFFFNMMcUUU0wx%20xRRTTDHFFFNMMcUUU0wxxZToofuX8XPo82LqcLaZUhUAMbucraKi4viysrI9jCBkp5gybKBH0un0%20cuy3URC6WwiSXvcRmV9ZVVV1azKZPBvN69+/vzd06FBv2LBh1mkxff31197ixYvJfa+1tfUnHR0d%20x7W1tc3HV2kJQakJQBmZjzYUo99n/qRJk7xTTz3V69WrV5bTY/rmm2+8u+++29u6desO2L0cAnCq%20YXy61AQgYe5bBebvB9XvJRIJ79hjj/VSqZTX3t6e5ZKYBg0a5B133HHenDlzPPRZLQ5VG+a3lpwJ%20kPoH83uT+Ww77rhjCPNjYh+Z/hqK3T5oW9C2obWXlAaQAMCm9SovL/cGDx7sQaWFXBbTTjvt5AsA%20+qwOu7SVSTnOpSgASdBkSjTtPhybkMtioomkyWTjLvmjSK0UncAkJLmMAgDKUwBiqqur81atWkUt%200Bcmc2XJaQCBPtqCvMrKyjztf0wIm9lp1AbjW1paPrIwlUzJaAAJAKgajbYtTwGIaeDAgd6KFSv8%20zmMfloIJcCFf3rOCDT7AKAgAAY78nMCYqC3lB/Q1/Zgy4WB7AERcVAFIiPE333zz6JEjR565ffv2%20Xlu2bKm58847d2psbKQAhGiAmOQr1dTU+J8PPPDAE37wgx8MhgO9BeZg++bNm18588wzXzYQcXtX%20CUGii5ifuuyyy8YD7Fk4YMAAOTHelVde6X300UfejBkzPAhGwG1i5ksA2HdPPfWUd/LJJ7NRczKM%209iOp55577oyzzjrrvwkOGUHIFFsDJIya6nPQQQfdSweGKoyNAgBNIIcmRxQQM15ELcl9oKdU/4yh%202W/sR/anvz98+PD/wqnPozUZc9BeFA3gMv/GG288CgLwaL9+/by+fft6q1ev9gXgqKOO8v/MEUcc%204UOdJUxiUgSmRhv59va3v/2tnztBv9J0+k40Bxe16fLly2effvrpt1EIlCfobg2Q0FYq34J7q6ZN%20mzZ8v/32u5nSKonllhKrPACOyQcofQEonPlZma7GZ6jPFD5v27bN69Onj78/evTon/34xz9+/v77%20719s+NFup5OjOoqJKA7ezjvvPAuM7QuGJkBlyFtXgNkzMbrHUXUx3Utmf/XVVz7zTzrpJL9TTjnl%20FK+EieYrAuO1H8r8nBrgb3/7m1dbW+vNnj3bfzY165AhQ7zPPvvM9wlWrly5DFnD5yAUaQhMB4Qk%20g/My0LxPn3POOQuiOIqJPCDd1IMPPnjiiBEjHiFzObK15Y9Zs2aNn+Ovrq5mKtP74IMPlPjxfvGL%20X3ggCkKpC0AhjNdxfbZb1u9ffPFFb8OGDd4dd9zB+gBv/fr13pgxYzw62OzzTz75hKaWfc5+5jFt%20aX5/hrT7gzQPchQ7awLKZOPB4Nly7CQAbBzlUv38/P7773vQEs0vv/zyckhpNTpkNK6X+i911a/P%20UUe8y2jdI6tgiMj4t956axGFb88996wD0wfRDJDp7G/wQ+l18kJbaoo7jjzyyL8/++yzX8tR7JQG%20EPPRasHQT/FwPkBCwCaJ8zXAhx9+6Esp4lVJqXfDDTf42uDggw/uSVsscjtd+1Gu1/lsETRAkLoP%201whLlizx2+9//3uNbm/8+PHe22+/7e2yyy5ECmluXQ3A5kdeTz/99OlwIOfiVs0mZMwUpAEA6pDx%20fKgEQM6ez4w33niDQuDbLVJzczO/U1hDFdqVjC/cMYt+vYRAx8JUvCtA+Qinew/aeoZ+ZDAjAZ/p%20L730EiMEAkbsY35HXnDLfqdJZn/3poOO1kIB6KwJSAjWBZOXbtq0acK6det4c7v5Dx83bhwZQcEg%20w33mAwFkR7goYE8LghgSpgGiMknfBal7Nff5bIHnsx+5hZPN/vQZrKTaPvvsw/IxagGZYTX1/Qo4%207B8Y/y1RSBiokKIDCN9//upXvzoRUjgMzKxgBMBIgIQQpQwJjElQRymZBgoAnRj9GVzTE/Y5aDQV%20cr39XRRV79p6CQKZlfV7HaPZlPYk0zm6JQDIEHKkL2tqatrcAWIEwMvwfevatWu/efTRR1+wI4BC%20BYA32o625dprr32R/gBab3NdObzSGoAWp+AHp+QfSOVLimWnihSjizGFXu9+7zLVfYaOaWt/lkl0%20Ge+eRy0qbIX7cvoIq484/vjjH4BGbrJCvq1oG9BWo20zqj/U9iZC1H81mY5q1csQ6x+KeHSkHQbS%204VMRA4/RLr3zzjsefYbXXnuNjTbMb98KClf37ne5jkkLZDUX7Nd//vOf3ne/+13vkEMO8Xr37s1I%20gJqAZsHXrtAATB3bTiCPrYXf8NpvfvObG8GHz4UWFuIElkGl/BwO3r+7IaCwfkqlnEH+6LFjx3Kf%20zJc0f9vyAO7IzmfUZ8MW3OO6BweStGd6t912S5Hpb775pjd58mSli8lw5Q3kBBIbGIhrT0QSbgTM%209jGqJ+iMACivX4VM1BnCAOwmW88fy+8XLFjAH9R49NFHPwNPNA3I8mgcHwTp/bYIQC47HmYqcp7j%20OpiuxnjssceW3X777f/D/YcffvhwhIH1+++/vwYd+10aQELBRuRw3/PPP38s0vGLFQayRRWASrQ+%20YF6N7BCbGwYyTUnmm+rf/n/+859P5+df//rX3scff+ypIORbQLkAnSAH0T2WCxDKeg5yLBP/9Kc/%20TbSdwHnz5tEcKMyWj2BjATQhHIzjcJtPjA/XHlUDCAPoDa9T6kXhhv9gMXbhwoW0RYxTqf4JBUtA%205PCUPBLo2m2X+focgQLxAWL+ep4YTJyFnxsaGuhnMSlE6F0mVlv6ATzOaKHNDOLyzkQBSgKVY87a%20vXBEzqVU8eZ8iJhKdJB2CRgBpZPHZaPowRbTB3DVaqHXh4V67oiOKgTaJ+MY40sA5PlL8xJsI/PT%20mE+YIlDEczTYYG7pN9BJnHfvvfd+lk9NYTIkBGy9/PLLn5syZcoqPHRnaIIqU6yYAGMpWeWoA9h1%203333HQfG0ymk6uEPlQAwj01hKVUBEEPz9eZzYQt5h6LLli0jw3k+4XRXALjPnMt6wL3zySOc126u%207QBrtmOQrnnmmWfeVh1hZ5NBHWS+iS03zp8//2O0tSY3UG5a6phjjhkPp2Sc4n/lsCWRaMUe/WJM%20IdcGaQD+vyBgxx7pYc/loGHmz36WgCBbAJgXGAwsoOamm26aJ0ab1kJ+oTWibdF3hQhAC8KQjtNO%20O+0QPPBgSFh5whCksgwmYJjtINIUfPnll2SARkexBUCd35UCQIa710SCjd3vlTHl6Hc1Co9xS5yf%20dl8a4fDDD5+2xx57jAAPVA/gI7eoKVz4/PPPz4EWkAB0RBWAhGl8SM0FF1xwPx4yXo6dtgR7Nm7c%20qOofZgVZrsSctf8ZxOOlYv+DGGcLM7dhYV02LRAaKXz66adZsQH6A6NGjfK++OILf4ChLoMCwHQx%20ne8x6G95/0oaTdh1112PQ6Rw8vXXX/9GZ6FgqviKH/7wh6cB5h2fDQPgD6Dal+3HH6D6WoLpzSuQ%20H6hFR00pCQEITwa5zHcdvygYQFYBBYbPweQy33/ek08+OR9+1DqM9tqJEyfuB6bT0dM6C9II8hNk%20LmrgnJ+Nr98xvGyPggMIBOoNaZqZCwOgACgWfe+99wgHUyv0wxz3fvBOK1naDCqeAES3wdkydmJ6%20ULVPlJSve4whm7z+rNfuvffew1BnMYz9iMGYBhiUAj7AwWfnB1xAiP1eTx4aHKA1qgmoQOuFZMM2%20Le0iVS8hkF2aO3euX6Sw++678/gQNP04tmJhAO4oDTtH4Wouu5+rHiDoWNjz+Tyqdqn+XGsGDGEx%20CJnKfqYJIBhUX19PbMBGAwXPU5swZE8aAWg2g7o9igDwghTU+st4yIEo8qR614PUuNYPcQB2gh0B%20KEnEzz2NAopRQUwPvc62+7YwhJHLePd+7rmI5VnxG6hdpGnJZEHAsPF+4ccLL7ygzKsGp2oFeXyp%20GchlnU0Hd1xzzTXzZs2add306dMPwg1T6AS/yIC1AHhgAn+gDAKyN+yRoGEJQE+HgTbTIwhA4LlK%20bbueea578ry8439oVwI2YfWECv2k1qVdOcqX4bNqAjIQlAySRh1pELTywoceeuhFjfqoAkCOtZmc%208mbY8vfQvsF+jSTKXFcJ3P80FSdasCVbT6OAfE6AAETzB8TMELJHdyR4mBEUwrW8tAqFRFgAeKuq%20HxZ/1iE8nwsHkuq2VcCdUfmN5J3hYVvUbGDGXNTCm8ABqcVExYGQsio0nl9ObYBc9QGIS4fpB0kA%20ILHqCDGm2GrfPTdSvt9toKAQMBQSpsqX05cHUdXbA0ueP0PAHe67776TkSz6K/q8FfdrY8PnXsBi%20Nr/yyiubyMNOFYWqnBiFIMfAAbnBjQA0H4CMFvYPtUMcm99zCpPjHUemqPa7K+bm2aPfbi4zXSaH%20ZvtssAfMsZy+cGKU8Prrr8u790w6WFp28HnnnXc+czJ2JMDt2Wef/QjC+EsiQcH2TKCf/vSnoydM%20mEDm55wPIPWPknCqpmY4i58atTUGm2qZgH/xtK6Y7gI/dtMxCbUNCGk/0PaT6eifKMzX/IA0/IWl%20uI4O9xhA8tUHHHAAGc0+Z3OxAG4ZIfzb7373u0U/+tGPHrDKwzKhGkBz/hBrni6VLqbbn/VgxPy0%20aXT81iFV2c7vlL9mKxIFedZBJVuuANgYiC0IWa9xBcl2hOnxa7Z0BGJ+IAVktZ1C9eqrr34BQGgS%20J+DstddedmGIRr6azAUHYq+gxFAyFwYAhlbxB8vDd6Fgph5ZnkxnBhlBerUjEaeOxHcMGYVs9SST%20XTXunhNUjp1LACT4OuYyOFeuwN5nH3WK+boe4NpkMpU8QG6GU8c4SYSwO7Ot2YpCOCiJMFYRC5Av%20EMUEpABQLCHowHBF8/5tIu6PQlECEtQGFBTNExDzu0MAwpgpFet+F8z4cAFwr8l79EMrkhkF9YVU%20vJjNmgCG2iy+Yf/zmO1n0G8gwTfYbkVuiUg4wK233roIocYcqJyD8cBBkmp1Do41IzlBhldbtqi7%20BUCMCMvURREAXeMCP3axRdSmkS9MpCBBp++AbKwPCilFvMMOO6QBCDUCgh+kCEihMPiyEY7466gL%20fKJTOIBSwZjd+zi2LErsh1apKiFeN3PmzJFXXXXVLI4ONcs77Q4BiFKCnU0AwkZ8wPGiMF8CYDt6%203FcVdurxxx9fftttt82x5gZ0GOx/o5kfsDXIASQlA0CgJrQNmIo0GGqmL6SrEq2cNQE1oDPOOMNO%20FPFHUvq6QwDEvDDmh2mIfBnsRgNhQuPmDKj2HeYXLADC/O0ld7iG0IHAFRrhiK8jBsCqIPAijRxN%20K2oCGslDGwyKBAQh3kxdcskls4Et7207f3LyiEopSmBCg3XrBDlce1kA5a3m3a0oDxtv2+9sQpS3%20AMj/IMgjh68ryHj/nC1MH4BRAZNzFAiqetZsHMucjJw/YQFQ/w1wFn+C6myiuB1RcAC2sl/+8pdX%20wM67zBfmLxDIF4SlS5d6tEfwTL8CQOSvC1CQAIQzsKsFINu9o5gHxfnsj67WfGT6avCigWX3eMZw%20ONx08MgHNTcEZBsEMz0bAjA1ihOoKWG9MPIPs3EAu5FUC0AQCCaCKGB/ABX9oY5YKl6IBsjmXefj%202UcVAG2D7mufn2ufI94N9bpSANi/dejbOo5sMp9l44DoyQOZBxcHUCZ2l1tuuWVfDOZ5uXyBZI4J%20IdX4MzVcm8bWAPqsCSFaFwDlR5ocomyVmNYVDl4+4E22e0URAp0fKgDudWQ6R77sc3cQw0j5W0Bn%20WSPgm1xUCPG4iwOo0VQTla0jT+ULBGoAe0oY2lrUAwxEuKFRL/LVHNEoAD+Cg9kEQ0b3AcLj8rDz%20omiTIEdOlJXZrhDQBrP+UdhDdxHnY7hRAMwBcQD6AxRCt8BUi3RsRV3gEmEBkSaGYC7aLUgo/BwP%20GOJIvyYhNIL5/dHo/EkACBw5AhCZ8Z3VBtrm60i69wtkvnsNRxdr+XR+dxL7VQIgGB7amRnBZvgC%201RRABwsgGLQBcwcell8XFQdIo7hzKdq12B9gagHKhQPAIemDdQG+B+9TDiG3MhH5hoFBuHoU2DYb%20sztjXkKZr+JQ+DkclT2V6+AAk523cQGO8hRqAh7FHMxG4QDWWgHr0b4JWysgmQsEQtuMdOIQePf7%20EHTgqiBs6IAylCmPB0pYazkg/DFkJrdibHeM+nyAHzdTx2ORwkqX6fpMJI7MVxlXTxEdTJob8IH4%20ggSAWjh1xRVXHIEw/CPwhrzrIBaAz61AY1fAAfyQwhBFADISgj/+8Y8XA+s/xnUCyWyqPjJY8wEB%20OvDHsMlOhavjcMZHdwjdz+Fz/NTC7D4FW/aex3o6s0lnjn3PWgtlArlPSHggVmEbyLDQxQJQyLMP%20VhI5KbQs3MUALr300t3g3dvMd2sB1DhT1fcHnnjiiQWQ0jTO3x+d3j+LKg5KowYlVKLCv0EZw7yF%20T0zWdGsCMPq+GHTPPffM5fb73//+RDjg9ZivybUZqA1yYgHEcTBJ9ORzzz33/rxwAM35w41HK8HD%20G7lND+V8AGqBzz//fC1CkmGQ0ibkvSukItGij/rw40HMLhROVpO3rVCqaIyXFoPJHQbTm0IWdhPg%20efa9qoPCagJ2dsJABwfI8ro3jOKBzOgx3Wvj/ZrpQ3XDV50yHJw6dSqxgPEqB4MmYDawMyO5s0IQ%20ZRHH0BBTWkjhF4RZPkVRi1sOPfTQ3ckPMpYTQ7B4J00vcQGtHqowXIJAU81ooNKE9Vt4q7xwAEw8%20+AATPbZiejKLCeT9qnFU0A7xIaoF4GeZi6Awy7afUZgdBtkGCUC+foTqGch0OnwUcLu6qWhCoNBP%20CSEyW/X/1AQ0BfJXxCsKAWdrQSNHwgEybFiteiUeeAMqUWaiKGQ4vX9QQkzla0wgWYPhgFQ7qWA6%20ShKAqCM/2A8IX6SB2yjMd59HQIUjho0CYINaxV6rmGigFoWy1wxMAxD6ElP4iAVk0Dxu2TBI1/7l%20L395CeH6gnzTwYoA0lQXUOXvo63Bfl+0XlYtQAXeZTPhoosuGuv4BBQE4eE87uL4kRkOCmJa2HSv%20sHtJtUtdkukBL7cqriBQAKQBlIvh4pwo/96ACTxPaW6AtbbjJlMTsIX7eU0N08WaXIClxsbAw+/P%20eQAqBMGDdwBCON2pVVdIqCoabiM4gpF9gfxW6Q5v9O7p5LnVy0UUgvAZQiA5fXwryxRogvVIEK1A%20n/tCQBygEoTFpj90agI68jEB7Xg7Vd0JJ5zwACRsnJsIUtZLAoC4lKEgc9U2ChhVAKIJSDj8m7NA%20k8KpEYXUNUd9rmtzrv1XDGLCiQkg+l8sxhUKC4eb8f6ReCmHu3I4X9e/CotLn4Pyvoa8cAA5gXjB%20wy1wLGzm20KglarZiQwBGW9+CWdjPYSuBh01Vh1fIMAThtVHAZzYbHVPD1/OlZzbbHP8bOZrvxg+%20AAdeM3iyDJFANXCJscy5wPYrJUy+SPvas4UH431N90AAJltQfntWAVA1MFofPGhKrsUh7algzPtD%20/SzCJJJXqV4wVWzEd77znbH6IQWp//Da/chr95PJqmZyp3y7QuvOFnaFoYeJzvVmgEHzuHPxxRd/%20hWLdaQr/0Oz1hBQNCJUdCrh4+nXXXTfXrgkIEoBqwp4QgqwLQ1DV8yFcCpZFCQgVazET9Xv4LgMk%20sBfeciFp7MwI7xTcq3131GqSijx6mC4KrJa2t+cuqtPsY0FzAXtaG/BNLLVYtncWGcx8DON/ml7k%20ajgoyRdXA3BL/4ZRjd4fIF8gpwbgfhVuuBWLE/XOUgsgTJzM5yLQFJRhPMbzaFMxdYmd1LWjPvwe%209jO1r3WMKAAaHa59dxNHbsyv79mKxXz5LJXo8xGaH4CXRpCxHIAE5qjVstUE8Dues0FYQHhJGAiv%20JLsGb5+6QLUAjj0ns1dASEY48wFUGCFJ7DTkCyoogqB9h40UiKM5dq6nL0Zrm+14zn21HiIKr6IA%20qXyVizUiUqsGNpOyBJW8oNBsxNT+R4DrNJAVYUigpoVvxyLFS9CuNrUAVB/l9lvEEF6cxMWKskwI%204YMVBvYYw2Xfqe7gILkjPWCaeiiSmAvBLEZGUAJAYVY2ln1eceKJJz4EgW9WqGdai3l/wEpNDQsL%20AwUC8UbrjLrYrhdEmJaCw3cApowPcWsEhQgqZrXCr+4UADKbsTyl3bHdoat/BWkDl8HFYr77P2TK%20JBCMBGrw3uY9Acw9SX4JEDL2fqPh5WZ+l48AqBhkE5aInQoseRJHvVkaphw2pwKJiMOUJVRySEUg%202kYEgqKkaW01z0anrpA3g7jqPSgMLHpGEIUfeo2sPUOIOMAUvGOwCcc2kfk4Rl62oXhlKV44vQrR%202tZcq4Ym3VoAFBFOwtJkD+MhQ7NNCGGihD+C+4sWLeL6gEIBJZlkfr44QKTsIB0dRBruaC90RnGg%20utfxYhMZzsUl+P/Zz8Bd6IgLDOLqYdOdCSKcScwsYhOqt/kSiTeDfICEVDyygJfCcxwaMCGEW0UD%20tEdLYHe5SHEaAjIOD+4vAegEw9193p/PItMpYFGY4nr8BQhKUUlCSTRwSRrEUjD0yVhMQUuB6WET%20RGqwoATfJLqXfARbEyQdDKAGN58hECjXhBCqXYJACBNXQgtsxLYCmmADEMGMfACdHzG8U0WrMnMc%206RGYEk0Q1LElQBR+mgCfeeiTFryq7wvwYRyqg0MniOD8oVjuZwb8t7mWEGSyCUA1VTwQJt4w66IQ%20HJGcq8b1a/EjhoDpcgg9ZKb4lhBemy+Eq9WveF8y3Y1nu2OmTcm+sOKwww7bDXMx9FoYfwvgjXwg%20b7IWhbA/oZ2prbOCQUn3RdFgwlLYmgmK69mEoWs04v0A3OcKFQR/bCGRD+AyWfdQEzKXJ4Nicl8p%20z4IQ8gUmm1PFaCa5tXkgJJSTR7ZeffXVVmFIwLwAzCO7Ce+dPQ8MrYOzVwd/oNJ6nVkzsn9fwhEZ%20i5GfctYG5CjW4sddPBpjIrOhne03hckx5kBahtC8Foxm6l4oaBpRwGpo8yYsJ/eHrNlAeYWy/2gD%200UagDTUgUDVa0i4GeeCBB46DdzkKgkEUitlAaQBWrvpATPdQTIR/8WZwaV/2O/uf6eF1KP8mk1sd%20R2+rWTRyFdoKtAZTKLLd9QGEAWwx6FGKNzD7FXqHMN4dsD8mgo5SRCA0Suaie2PlmNx3CIkPCAEH%204GWRU1GoM8fE+20WPzeaWULN2bCApAMDp7GwwPAZM2bcgCTPWNl1MZhhHx+ulcOYjWI8KjBItr9b%20KCZqVy0aSbvOWdkSCNZk7AHnfA/wxl0trAER241ICT+WbdXQpA0Cgfn1WBz6Idy0xsUAGPrZkxBY%20lWJKx9fj+zRCtjRq1uu7LayKifaeo70BvgDRwEHvvvsuy8KVKFKBi1sUMghI4e14o/hK1BE854JB%20SXtCCEq9Z0GCxHy76SFML1IYOPI5B+CvSBrxHbUMC4fADtV3mwaIic4e52FQzXdMmzat7qyzzjqB%20L+dAWl6D0y0KkbngKmOn4rqX3UUjpQG47Q3vfqAyfE4xCG/Km2ttAHr688D8BSauTAAMqu3+apnY%20BzD2PP2Pf/xjPUZ/BXhzEvqcA5P8yYYFaI5DPau93DeIJO0ZQWB8K1U7gSAw1Mb0tWwpsX+uUPH+%20hRde+FccWmuSR0mopCHd7gTGoSD7vgkDlf1ehncDbwQAVAGmz6IPBpCIfoKwG9UEsDaCQrDOAEGK%206tpdJLDsrrvuehFTig+DJI2DTbcfrPlpvNF8FI3+wYQWqylRpoqoOR8BoGBRw5QKEWHj6CoW0c8C%205q+aBgI/O+It7Yu5y+7EuwOfx7wALtc7E4JRma14FZNHGgEFP2PVdbjzAX3VUIs2DK0eteaTEQUM%20ANMrcCNSBkxrA8zbgJKv5WS8EYC1+iGwSUdhIaPrKTgAkFjD5nde4RQT7DwhdvYnczD/geXfXrBq%20NerIY/gBQ+EfjOY7HdDKMiBo7zYIxfpnn312EXEANsOzZpkBlYJXkYloO/FmFAaznzLnCCdoNjjB%20GqvQIMnzsXDkz1EldDY9VAIWXUYxUetSAKiJuBjXJXhXEEfzZjN4+5Fvhmc11oqunmZ5WWDQGsO/%20FtsEZAxztaxIh7l5L7QKCYD1FpEmtE1mmzZSSEexRmAQVFYXqfnY5tPp1mLT3Gf9n+GHnLm0ccQ3%20GE2ekgC4PNPIz1YWrhuSWs3Jmg5mv0w6bc5rMZ8T5ruyBMiablWSoJAcp39F0iv4UKU1RoW/Wv/H%208KTJ4lmZg/BuYzPntbkCkNGJVl1guWkCiXROu91sIIkkpluOYylm3f7Vw0CZbQlBq2ktFvMTzsBV%2068g1MSRjtTb3HcLOOSJ9Tqj1CMNjSjhMFmNbrWOJAJ6FTg4VReFmGbJTEzXlqlsoJsK/rL9QfO4M%20Tm2jUbKrzCcApLcBB09k0WKXU0wq+2pBle/fHVVeEBU6XCtMuDgIbRRWF7sNocoYYgHFJL3mpRTJ%20rr9Mg+BQryOz8X+ake2bAxzgVSeeby+mAPCXVpvikeFo9cAA9kKoMoCARKKI9iAD4hZzHBsAj27j%20oVIKSOR4O5M8GtC+MtsN5nhHMQVAINKOBowYpKVlLRCpmNShpo4tMQFot1/jawCdtYb5muxRkGAn%20u0BSVXmyntLqgkhsRR5BGkWZEtQCAuAU5rGfm93K3mJqAGmBCjPiq0wTIJEoYudJA2S0LWEz0GZa%202rS2YjuB7j0UmyazgEjF70B7v7Qo42oz+1iRNED4vYrOfDHc3f4/o5hiiimmmGKKKaaYYooppphi%20iimmmGKKKaaYYooppv8FlJhXILrvZ3wAAAAASUVORK5CYII=%22%20preserveAspectRatio=%22none%22%20height=%22102.996%22%20width=%2287.169%22%20x=%22159.832%22%20y=%22119.548%22/%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20x=%22205.695%22%20y=%22150.011%22%20transform=%22scale(.98866%201.01147)%22%20font-weight=%22400%22%20font-size=%2219.302%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#ff0%22%20stroke-width=%22.504%22%3E%3Ctspan%20x=%22205.695%22%20y=%22150.011%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ERAM%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20x=%22205.372%22%20y=%22110.296%22%20transform=%22scale(.98866%201.01147)%22%20font-weight=%22400%22%20font-size=%2219.302%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#00f%22%20stroke-width=%22.504%22%3E%3Ctspan%20x=%22205.372%22%20y=%22110.296%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EDownload%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M206.647%20182.6a6.892%206.892%200%200%200-6.89%206.892c0%203.803%203.086%206.896%206.89%206.896%203.805%200%206.868-3.093%206.868-6.896%200-3.806-3.063-6.892-6.868-6.892zm13.814%2010.852l-1.242%202.991%202.215%204.35.293.575-3.072%203.072-5.039-2.38-2.991%201.228-1.519%204.648-.194.617h-4.341l-1.879-5.246-2.991-1.234-4.357%202.21-.575.287-3.07-3.069%202.378-5.042-1.233-2.989-4.64-1.515-.616-.2v-4.338l5.25-1.882%201.233-2.986-2.208-4.36-.291-.571%203.066-3.066%205.045%202.376%202.988-1.236%201.517-4.645.196-.616h4.34l1.88%205.253%202.983%201.236%204.358-2.212.58-.29%203.069%203.065-2.377%205.038%201.228%202.993%204.654%201.517.611.196v4.337z%22%20fill=%22#0ff%22/%3E%3Cg%20transform=%22matrix(.85604%200%200%20.85604%2085.035%2091.517)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E", - "otid": 1596697289362 - }, - "design": { - "graph": { - "blocks": [ - { - "id": "38abb13c-8652-41fb-931c-c7bf760ebb24", - "type": "basic.output", + "id": "8de3b7b2-f1f3-41a6-91c1-dcd310e375b5", + "type": "basic.inputLabel", "data": { - "name": "busy" + "blockColor": "fuchsia", + "name": "data2", + "range": "[7:0]", + "oldBlockColor": "fuchsia", + "size": 8 }, "position": { - "x": 1936, - "y": -168 + "x": 1152, + "y": 1000 } }, { - "id": "a040cc3d-b2c6-458e-bde6-f8234a19b6d1", + "id": "db924183-9079-4d5e-ba72-24086b523403", "type": "basic.outputLabel", "data": { + "name": "ch", + "range": "[7:0]", "blockColor": "fuchsia", - "name": "busy" + "size": 8 }, "position": { - "x": 1744, - "y": -168 + "x": 280, + "y": 1016 } }, { - "id": "af8afdcf-1f69-4187-81ab-082d28c98dd9", - "type": "basic.outputLabel", + "id": "bf04f199-c541-48bb-b97b-024f13f8a77c", + "type": "basic.constant", "data": { - "name": "addr", - "range": "[3:0]", - "blockColor": "navy", - "size": 4, - "oldBlockColor": "fuchsia" + "name": "sclk", + "value": "12000000", + "local": false }, "position": { - "x": 864, - "y": -144 + "x": 840, + "y": 472 } }, { - "id": "f81791c6-f02f-46d0-b738-5895dd124243", - "type": "basic.outputLabel", + "id": "301e5c60-1782-4bb1-8922-3b1430d30e21", + "type": "basic.constant", "data": { - "blockColor": "yellow", - "name": "clk" + "name": "bps", + "value": "115200", + "local": false }, "position": { - "x": 1744, - "y": -96 + "x": 968, + "y": 472 } }, { - "id": "b359cb97-c324-4ffc-a73c-64c7f457e6fa", - "type": "basic.outputLabel", + "id": "68b503e6-2b67-4fba-9b21-96ca03b1ac6a", + "type": "basic.memory", "data": { - "name": "stdo", - "range": "[9:0]", - "blockColor": "fuchsia", - "size": 10 + "name": "", + "list": "00\n01\n02\n03\n04\n05\n06\n07\n08\n09\n0A\n0B\n0C\n0D\n0E\n0F\n", + "local": true, + "format": 10 }, "position": { - "x": 1728, - "y": -16 + "x": 1424, + "y": 672 + }, + "size": { + "width": 152, + "height": 160 } }, { - "id": "7fb933a6-5c63-4d46-8aaa-440b30974993", - "type": "basic.input", + "id": "1b7cce1e-5e7b-4fef-93cd-ff06c9262fbf", + "type": "basic.info", "data": { - "name": "", - "clock": true + "info": "## Icerok-probe machine\n\nMachine for capturing data, storing it in the memory and transmit \nto the computer by serial port", + "readonly": true }, "position": { "x": -48, - "y": 24 + "y": 368 + }, + "size": { + "width": 688, + "height": 88 } }, { - "id": "2c31aa6a-383c-4eb5-b669-b8a31ad14225", - "type": "basic.inputLabel", + "id": "1a5dba1d-460f-4fe7-b89a-e82a5ce80797", + "type": "basic.info", "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "info": "Writing the data to the memory on \nevery system clock cycle", + "readonly": true }, "position": { - "x": 96, - "y": 24 + "x": 368, + "y": 1080 + }, + "size": { + "width": 296, + "height": 56 } }, { - "id": "a875b188-26fa-4052-ae81-4b5f22f4c1e5", - "type": "basic.outputLabel", + "id": "e9eeb570-af93-4a48-a7bb-b2373f112a3d", + "type": "basic.info", "data": { - "blockColor": "fuchsia", - "name": "tic", - "oldBlockColor": "fuchsia" + "info": "Transmiting the raw memory contents \nto the computer, by serial port", + "readonly": true }, "position": { - "x": 1648, - "y": 48 + "x": 936, + "y": 1080 + }, + "size": { + "width": 296, + "height": 56 } }, { - "id": "20d63505-e2fd-44ed-95b9-9f45e8875e70", - "type": "basic.output", + "id": "120026aa-96d4-4c3f-bdf9-6ae35383aa84", + "type": "basic.info", "data": { - "name": "stdo", - "range": "[9:0]", - "size": 10 + "info": "When the sampling is done \ntransmit the information to \nthe computer", + "readonly": true }, "position": { - "x": 2128, - "y": 48 + "x": 664, + "y": 992 + }, + "size": { + "width": 280, + "height": 72 } }, { - "id": "8ca2279c-fdc3-40d3-9fbe-2071c026932f", - "type": "basic.outputLabel", + "id": "7c470f08-1331-4242-ad22-412c4e83cf61", + "type": "basic.info", "data": { - "blockColor": "fuchsia", - "name": "bus_mine", - "oldBlockColor": "fuchsia" + "info": "Memory were the data \nis stored", + "readonly": true }, "position": { - "x": 880, - "y": 112 + "x": 1448, + "y": 984 + }, + "size": { + "width": 216, + "height": 64 } }, { - "id": "786f1170-66ce-4c3a-acdc-073388546edd", - "type": "basic.outputLabel", - "data": { - "name": "data", - "range": "[7:0]", - "oldBlockColor": "fuchsia", - "blockColor": "fuchsia", - "size": 8 - }, + "id": "b3fb3351-e2cc-42b6-ac47-08d6fee8e3cb", + "type": "58354ef6a90ba7895773f2652b9bdd4b7fc36176", "position": { - "x": 1656, - "y": 112 + "x": 904, + "y": 600 + }, + "size": { + "width": 96, + "height": 96 } }, { - "id": "886b88b1-4987-4f1f-aadd-d82bb53ab445", - "type": "basic.input", - "data": { - "name": "stdo", - "range": "[9:0]", - "clock": false, - "size": 10 - }, + "id": "daefb83b-9b87-4d60-9ad8-9209f5d30e21", + "type": "1250d52a7afd45bb1a9a3db8b7b07091812cfe25", "position": { - "x": -96, - "y": 120 + "x": 1456, + "y": 896 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "523a4825-1562-4f5d-b129-c7d08fe542c2", - "type": "basic.inputLabel", - "data": { - "name": "stdo", - "range": "[9:0]", - "pins": [ - { - "index": "9", - "name": "", - "value": "" - }, - { - "index": "8", - "name": "", - "value": "" - }, - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia" - }, + "id": "a7a62de6-e5c1-4dec-95c9-55e64ac949d2", + "type": "76edf4205ccb9e56d286f0315a959a27a34b5c04", "position": { - "x": 48, - "y": 120 + "x": 488, + "y": 896 + }, + "size": { + "width": 96, + "height": 128 } }, { - "id": "b63a0660-3988-4951-b606-0177b556defc", - "type": "basic.outputLabel", - "data": { - "name": "mbi", - "range": "[13:0]", - "blockColor": "fuchsia", - "size": 14 - }, + "id": "70c57eb6-a5b4-421b-9262-cdc5875376e1", + "type": "698400cf4aed3c1bcc56992cf4dee108a0b3b2d8", "position": { - "x": 1128, - "y": 120 + "x": 984, + "y": 864 + }, + "size": { + "width": 96, + "height": 192 } + } + ], + "wires": [ + { + "source": { + "block": "02620ac0-eba1-4e7b-8c7c-42f281dfad06", + "port": "outlabel" + }, + "target": { + "block": "a7a62de6-e5c1-4dec-95c9-55e64ac949d2", + "port": "b14f140b-7bb5-46d9-8019-39c27ff6e0e3" + }, + "vertices": [] }, { - "id": "727e032f-d74b-464e-81fe-b30b1e669b9e", - "type": "basic.output", - "data": { - "name": "mbo", - "range": "[13:0]", - "size": 14 + "source": { + "block": "70c57eb6-a5b4-421b-9262-cdc5875376e1", + "port": "38abb13c-8652-41fb-931c-c7bf760ebb24" }, - "position": { - "x": 1472, - "y": 120 - } + "target": { + "block": "97a9bf0d-0475-40fe-bcc2-f75e2b928290", + "port": "inlabel" + }, + "vertices": [] }, { - "id": "bf61387a-ef36-4f3c-898f-e274c3136b18", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "next", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "source": { + "block": "70c57eb6-a5b4-421b-9262-cdc5875376e1", + "port": "3066cf48-9921-4487-826e-0464a2dead7a", + "size": 8 }, - "position": { - "x": 2064, - "y": 136 - } + "target": { + "block": "8de3b7b2-f1f3-41a6-91c1-dcd310e375b5", + "port": "inlabel" + }, + "vertices": [], + "size": 8 }, { - "id": "914e03dd-1133-4325-a333-b10f953ecce5", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "data", - "range": "[7:0]", - "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "source": { + "block": "70c57eb6-a5b4-421b-9262-cdc5875376e1", + "port": "20d63505-e2fd-44ed-95b9-9f45e8875e70", + "size": 10 }, - "position": { - "x": 576, - "y": 152 - } - }, - { - "id": "d94290b8-502b-46eb-a630-3b0800bf3c9b", - "type": "basic.outputLabel", - "data": { - "name": "mbi", - "range": "[13:0]", - "blockColor": "fuchsia", - "size": 14 + "target": { + "block": "db47aa3d-add3-4672-aad0-e71644d43161", + "port": "inlabel" }, - "position": { - "x": 224, - "y": 216 - } + "vertices": [], + "size": 10 }, { - "id": "9be4488d-51be-4346-8a31-5d8f2f86e4d3", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "bus_mine", - "oldBlockColor": "fuchsia" + "source": { + "block": "f443dcde-4fbe-46f8-90d9-94a64a06a928", + "port": "outlabel" }, - "position": { - "x": 936, - "y": 248 - } + "target": { + "block": "70c57eb6-a5b4-421b-9262-cdc5875376e1", + "port": "886b88b1-4987-4f1f-aadd-d82bb53ab445", + "size": 10 + }, + "vertices": [], + "size": 10 }, { - "id": "472c0cbb-1d6b-4af4-a439-52f52118d405", - "type": "basic.input", - "data": { - "name": "mbus", - "range": "[13:0]", - "clock": false, - "size": 14 + "source": { + "block": "b3fb3351-e2cc-42b6-ac47-08d6fee8e3cb", + "port": "93defa79-7f79-4614-8e5b-17ceacc8c7cf", + "size": 10 }, - "position": { - "x": -96, - "y": 264 - } + "target": { + "block": "25428eb9-c2a5-476c-8ea5-4876e3cb78cb", + "port": "inlabel" + }, + "vertices": [], + "size": 10 }, { - "id": "9bc05443-4e8c-4288-a609-67e961b01ca7", - "type": "basic.inputLabel", - "data": { - "name": "mbi", - "range": "[13:0]", - "pins": [ - { - "index": "13", - "name": "", - "value": "" - }, - { - "index": "12", - "name": "", - "value": "" - }, - { - "index": "11", - "name": "", - "value": "" - }, - { - "index": "10", - "name": "", - "value": "" - }, - { - "index": "9", - "name": "", - "value": "" - }, - { - "index": "8", - "name": "", - "value": "" - }, - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia" + "source": { + "block": "2226faa1-dd30-45cc-b4fb-2bcffd758576", + "port": "outlabel" }, - "position": { - "x": 56, - "y": 264 - } + "target": { + "block": "b3fb3351-e2cc-42b6-ac47-08d6fee8e3cb", + "port": "bf297685-7b54-477f-b9ee-3c143135097b", + "size": 10 + }, + "vertices": [], + "size": 10 }, { - "id": "923c4db6-0c76-4647-a848-75fd61fba6ec", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "done", - "oldBlockColor": "fuchsia" + "source": { + "block": "bef1b4c2-b479-4152-ba4d-eb6b9906949c", + "port": "out" }, - "position": { - "x": 936, - "y": 312 - } + "target": { + "block": "e957a950-a21d-4560-8c01-c477d88a75a2", + "port": "inlabel" + }, + "vertices": [] }, { - "id": "05a1a5b4-bf29-49df-b0b1-887859d9ec9e", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "bbusy", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "source": { + "block": "874e0745-10f1-45c2-8893-f7dfad87390d", + "port": "outlabel" }, - "position": { - "x": 560, - "y": 336 + "target": { + "block": "b3fb3351-e2cc-42b6-ac47-08d6fee8e3cb", + "port": "2d00d963-00f8-4a0a-9cb8-a4e5bfb61323" } }, { - "id": "b14f140b-7bb5-46d9-8019-39c27ff6e0e3", - "type": "basic.input", - "data": { - "name": "start", - "clock": false + "source": { + "block": "b3fb3351-e2cc-42b6-ac47-08d6fee8e3cb", + "port": "f2043f09-b391-40ea-9d1d-721438b68ef1" }, - "position": { - "x": -80, - "y": 424 + "target": { + "block": "01edffcc-6e84-40ff-a986-e6bb1d144035", + "port": "inlabel" } }, { - "id": "da45f105-3600-4458-a820-50046581f5dd", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "start", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "source": { + "block": "b5a3b2cc-7b32-4ac9-b6bf-002fe40d9ebe", + "port": "outlabel" }, - "position": { - "x": 64, - "y": 424 + "target": { + "block": "757f1816-834d-4cd7-a5e1-d726a472de91", + "port": "in" } }, { - "id": "7d0852c6-4778-4a53-bf90-30527c44a0eb", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk" + "source": { + "block": "b1e41924-f354-4744-b5f0-a93a1fdc6828", + "port": "out" }, - "position": { - "x": 1736, - "y": 464 + "target": { + "block": "4de777a9-a4a5-4ace-adf6-688298d0d736", + "port": "inlabel" } }, { - "id": "54e9bf9f-b852-4c45-bd53-f6eb4ee707eb", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "start_read", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "source": { + "block": "9cdfc247-4374-4660-b8c7-246e9aa090d7", + "port": "out", + "size": 8 }, - "position": { - "x": 608, - "y": 504 + "target": { + "block": "b3f14933-93b7-4bc1-8585-471518a370ce", + "port": "inlabel" + }, + "size": 8 + }, + { + "source": { + "block": "db924183-9079-4d5e-ba72-24086b523403", + "port": "outlabel" + }, + "target": { + "block": "a7a62de6-e5c1-4dec-95c9-55e64ac949d2", + "port": "9978357f-7ad7-44b5-97d2-b44692508773", + "size": 8 + }, + "size": 8 + }, + { + "source": { + "block": "95f8ff76-02e4-4f69-8db6-d285cfe13d4a", + "port": "outlabel" + }, + "target": { + "block": "a7a62de6-e5c1-4dec-95c9-55e64ac949d2", + "port": "7fb933a6-5c63-4d46-8aaa-440b30974993" } }, { - "id": "95c4416f-62f5-4196-a406-f7915d40a572", - "type": "basic.output", - "data": { - "name": "done" + "source": { + "block": "a76b111f-f808-4e45-8873-d8e76eb8612e", + "port": "outlabel" }, - "position": { - "x": 2048, - "y": 520 + "target": { + "block": "70c57eb6-a5b4-421b-9262-cdc5875376e1", + "port": "7fb933a6-5c63-4d46-8aaa-440b30974993" } }, { - "id": "289f00be-f97d-4553-a60a-32d8b45da4cc", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "done", - "oldBlockColor": "fuchsia" + "source": { + "block": "b1cd47ec-5a10-4bd1-bff9-a9d1707d621d", + "port": "outlabel" }, - "position": { - "x": 1728, - "y": 536 + "target": { + "block": "daefb83b-9b87-4d60-9ad8-9209f5d30e21", + "port": "6080df5a-c853-47cf-aaa7-c5a8f1e65879" } }, { - "id": "d7e7c210-c311-440e-b516-94c3f0244f34", - "type": "basic.input", - "data": { - "name": "nc", - "clock": false + "source": { + "block": "daefb83b-9b87-4d60-9ad8-9209f5d30e21", + "port": "ecaf7923-2995-4c02-a531-778edf600834", + "size": 24 }, - "position": { - "x": -80, - "y": 536 + "target": { + "block": "218bd314-2f32-4e2b-b3f4-4f7e0f8f3e70", + "port": "inlabel" + }, + "size": 24 + }, + { + "source": { + "block": "b3c9756a-c4ff-496f-972f-11e1904c9bd4", + "port": "outlabel" + }, + "target": { + "block": "a7a62de6-e5c1-4dec-95c9-55e64ac949d2", + "port": "94f3b4c1-ffb7-450b-99c4-aebfb6c4e124", + "size": 24 + }, + "vertices": [ + { + "x": 392, + "y": 920 + } + ], + "size": 24 + }, + { + "source": { + "block": "68b503e6-2b67-4fba-9b21-96ca03b1ac6a", + "port": "memory-out" + }, + "target": { + "block": "daefb83b-9b87-4d60-9ad8-9209f5d30e21", + "port": "b07ab569-1013-48d4-916e-4e447f8ea11b" + }, + "vertices": [] + }, + { + "source": { + "block": "a7a62de6-e5c1-4dec-95c9-55e64ac949d2", + "port": "95c4416f-62f5-4196-a406-f7915d40a572" + }, + "target": { + "block": "70c57eb6-a5b4-421b-9262-cdc5875376e1", + "port": "b14f140b-7bb5-46d9-8019-39c27ff6e0e3" + }, + "vertices": [] + }, + { + "source": { + "block": "bf04f199-c541-48bb-b97b-024f13f8a77c", + "port": "constant-out" + }, + "target": { + "block": "b3fb3351-e2cc-42b6-ac47-08d6fee8e3cb", + "port": "ac5c1fd2-04e0-41a2-8d4d-c2e41b2e5b8f" } }, { - "id": "fce01e4d-e6d2-4811-8f96-410673168b4c", - "type": "basic.outputLabel", + "source": { + "block": "301e5c60-1782-4bb1-8922-3b1430d30e21", + "port": "constant-out" + }, + "target": { + "block": "b3fb3351-e2cc-42b6-ac47-08d6fee8e3cb", + "port": "d4a02852-2578-4c4d-b7e2-0708b0ef9794" + } + }, + { + "source": { + "block": "a7a62de6-e5c1-4dec-95c9-55e64ac949d2", + "port": "fa41806b-2355-4923-895f-3ead2e752b43" + }, + "target": { + "block": "70c57eb6-a5b4-421b-9262-cdc5875376e1", + "port": "64a86ee7-b105-409d-9e91-cca498c9121b" + }, + "size": 24 + }, + { + "source": { + "block": "70c57eb6-a5b4-421b-9262-cdc5875376e1", + "port": "7b8dd447-e9d2-4c9f-ba7c-c3af9abed4e8" + }, + "target": { + "block": "daefb83b-9b87-4d60-9ad8-9209f5d30e21", + "port": "7b7a0dd2-57ea-4f82-940a-a1fafe7962bf" + }, + "size": 24 + } + ] + } + } + }, + "58354ef6a90ba7895773f2652b9bdd4b7fc36176": { + "package": { + "name": "stdout-serial-sysclk", + "version": "0.2", + "description": "Serial transmiter for the stdout bus, with sysclk parameter", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22230.265%22%20width=%22258.177%22%20viewBox=%220%200%20242.04167%20215.87473%22%3E%3Cg%20transform=%22translate(344.08%20-10.985)%20scale(1.04907)%22%20stroke=%22#000%22%3E%3Cpath%20d=%22M-170.798%20177.526l.315%2036.011%2040.397-37.263v-33.51z%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M-308.584%20177.892l53.235-35.7%20124.635.628-39.456%2035.7%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Crect%20ry=%223.509%22%20height=%2236.325%22%20width=%22139.039%22%20y=%22178.153%22%20x=%22-308.895%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22square%22/%3E%3Cg%20transform=%22matrix(1.88858%200%200%201.88858%20-312.436%20138.651)%22%20stroke-width=%22.938%22%20stroke-linecap=%22square%22%3E%3Ccircle%20cy=%2230.367%22%20cx=%2211.326%22%20r=%223.15%22%20fill=%22red%22/%3E%3Ccircle%20cy=%2230.367%22%20cx=%2220.611%22%20r=%223.15%22%20fill=%22#faa%22/%3E%3Ccircle%20cy=%2230.367%22%20cx=%2262.82%22%20r=%223.15%22%20fill=%22green%22/%3E%3Ccircle%20cy=%2230.367%22%20cx=%2230.554%22%20r=%223.15%22%20fill=%22red%22/%3E%3C/g%3E%3C/g%3E%3Ctext%20y=%2240.93%22%20x=%2225.952%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2294.276%22%20letter-spacing=%220%22%20word-spacing=%220%22%20transform=%22scale(.99853%201.00147)%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%221.749%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2240.93%22%20x=%2225.952%22%20font-weight=%22700%22%20font-size=%2253.872%22%3ESerial%3C/tspan%3E%3C/text%3E%3Ctext%20y=%22108.569%22%20x=%22-3.867%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2294.276%22%20letter-spacing=%220%22%20word-spacing=%220%22%20transform=%22scale(.99853%201.00147)%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%221.749%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%22108.569%22%20x=%22-3.867%22%20font-weight=%22700%22%20font-size=%2253.872%22%3ESTDOUT%3C/tspan%3E%3C/text%3E%3C/svg%3E", + "otid": 1574522291739 + }, + "design": { + "graph": { + "blocks": [ + { + "id": "2d00d963-00f8-4a0a-9cb8-a4e5bfb61323", + "type": "basic.input", "data": { - "blockColor": "fuchsia", - "name": "bbusy", - "oldBlockColor": "fuchsia" + "name": "", + "clock": true }, "position": { - "x": 152, - "y": 552 + "x": 248, + "y": 224 } }, { - "id": "700d8b15-d6df-4b76-b10d-72db58c33e6c", + "id": "340a0c20-8472-4bd8-ae36-204a57b49285", "type": "basic.inputLabel", "data": { - "blockColor": "fuchsia", - "name": "bus_mine", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "blockColor": "yellow", + "name": "clk" }, "position": { - "x": 776, - "y": 584 + "x": 424, + "y": 224 } }, { - "id": "0399b081-5696-4bf7-bb75-cd55da78d4f5", + "id": "019dc637-ca36-4e18-8db1-5d5318fb2d6e", "type": "basic.outputLabel", "data": { - "name": "data", - "range": "[7:0]", - "oldBlockColor": "fuchsia", - "blockColor": "fuchsia", - "size": 8 + "blockColor": "yellow", + "name": "clk" }, "position": { - "x": 1648, - "y": 600 + "x": 552, + "y": 376 } }, { - "id": "08007be8-e099-4080-acb1-e580660bb147", - "type": "basic.input", + "id": "3229f563-798d-4db3-9966-52596ca5cef1", + "type": "basic.inputLabel", "data": { - "name": "nc", - "clock": false + "name": "tx", + "blockColor": "fuchsia", + "oldBlockColor": "fuchsia" }, "position": { - "x": -80, - "y": 616 + "x": 848, + "y": 376 } }, { - "id": "3066cf48-9921-4487-826e-0464a2dead7a", + "id": "f2043f09-b391-40ea-9d1d-721438b68ef1", "type": "basic.output", "data": { - "name": "data", - "range": "[7:0]", - "size": 8 + "name": "tx" }, "position": { - "x": 2040, - "y": 680 + "x": 1336, + "y": 384 } }, { - "id": "524ca75c-cdd3-4e79-851a-b46ce146bd66", + "id": "6ba67914-123c-4491-862c-8eda58a6c040", "type": "basic.outputLabel", "data": { + "name": "tx", "blockColor": "fuchsia", - "name": "start" + "oldBlockColor": "fuchsia" }, "position": { - "x": 152, - "y": 696 + "x": 1184, + "y": 384 } }, { - "id": "7e9db299-cb56-4cd9-a489-d5fbd6eb3e2f", + "id": "e1ba0ef0-77f6-4ab9-9892-b5c93aa3167c", "type": "basic.inputLabel", "data": { - "blockColor": "fuchsia", "name": "busy", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "blockColor": "fuchsia" }, "position": { - "x": 1184, - "y": 704 + "x": 848, + "y": 456 } }, { - "id": "7df4a7f1-90b6-4562-8be3-e4719a824545", - "type": "basic.outputLabel", + "id": "bf297685-7b54-477f-b9ee-3c143135097b", + "type": "basic.input", "data": { - "blockColor": "yellow", - "name": "clk" + "name": "", + "range": "[9:0]", + "clock": false, + "size": 10 }, "position": { - "x": 880, - "y": 752 + "x": 256, + "y": 472 } }, { - "id": "c1c96b9c-e573-43a0-8b60-9f7fe7ad5ae6", + "id": "6a12a92e-7e13-4bc0-9051-8aba3b29df38", "type": "basic.outputLabel", "data": { "blockColor": "fuchsia", - "name": "busy" - }, - "position": { - "x": 1648, - "y": 776 - } - }, - { - "id": "64f8b6de-1661-4bb4-a2eb-5458a30a6d66", - "type": "basic.inputLabel", - "data": { - "name": "addr", - "range": "[3:0]", - "pins": [ - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, + "name": "Ready", + "range": "[9:0]", "oldBlockColor": "fuchsia", - "blockColor": "navy" - }, - "position": { - "x": 1224, - "y": 784 - } - }, - { - "id": "dc204461-1dd1-428f-91a2-006d905d6585", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "start_read" - }, - "position": { - "x": 872, - "y": 832 - } - }, - { - "id": "0db424eb-f896-41e1-becb-7eb065dd64f2", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "busy" + "size": 10 }, "position": { - "x": 152, - "y": 840 + "x": 1184, + "y": 480 } }, { - "id": "adcb920c-12a7-478f-b1f2-9877d62d2673", - "type": "basic.outputLabel", + "id": "93defa79-7f79-4614-8e5b-17ceacc8c7cf", + "type": "basic.output", "data": { - "blockColor": "yellow", - "name": "clk" + "name": "rdy", + "range": "[9:0]", + "size": 10 }, "position": { - "x": 1200, - "y": 864 + "x": 1336, + "y": 480 } }, { - "id": "24450b7d-19ce-463a-83fb-5e1c04e4b093", + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", "type": "basic.output", "data": { - "name": "tic" + "name": "busy" }, "position": { - "x": 2040, - "y": 888 + "x": 1336, + "y": 576 } }, { - "id": "1afea26e-4199-4bc9-bee1-c5689a14f8b6", + "id": "6b86af4f-f0c9-4134-b2c9-9e9d1b0d6e15", "type": "basic.outputLabel", "data": { - "blockColor": "fuchsia", - "name": "tic", - "oldBlockColor": "fuchsia" + "name": "busy", + "blockColor": "fuchsia" }, "position": { - "x": 1872, - "y": 888 + "x": 1192, + "y": 576 } }, { - "id": "caf86b2c-c08d-411d-be47-4084fec9532e", + "id": "2482a63c-2352-4fd5-81ee-6fcaa856ccdd", "type": "basic.inputLabel", "data": { "blockColor": "fuchsia", - "name": "tic", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "name": "Ready", + "range": "[9:0]", + "oldBlockColor": "fuchsia", + "size": 10 }, "position": { - "x": 1504, - "y": 912 + "x": 1008, + "y": 600 } }, { - "id": "eda78d52-57f7-4e44-bd8e-75e67c496650", - "type": "basic.outputLabel", + "id": "b04e50bc-ceae-4d5b-9bd1-259af770825c", + "type": "basic.input", "data": { - "blockColor": "fuchsia", - "name": "next" + "name": "nc", + "clock": false }, "position": { - "x": 880, - "y": 936 + "x": 256, + "y": 600 } }, { - "id": "366a768a-2f5d-4c01-8338-bdef0a688ea7", - "type": "basic.inputLabel", + "id": "ac5c1fd2-04e0-41a2-8d4d-c2e41b2e5b8f", + "type": "basic.constant", "data": { - "blockColor": "fuchsia", - "name": "done", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "name": "sclk", + "value": "12000000", + "local": false }, "position": { - "x": 1152, - "y": 992 + "x": 624, + "y": 264 } }, { - "id": "0a517454-aeac-48a3-bc62-6aa73da948bd", - "type": "basic.info", + "id": "d4a02852-2578-4c4d-b7e2-0708b0ef9794", + "type": "basic.constant", "data": { - "info": "Reading data from memory \nReading bus status", - "readonly": true + "name": "bps", + "value": "115200", + "local": false }, "position": { - "x": 336, - "y": 120 - }, - "size": { - "width": 232, - "height": 64 + "x": 768, + "y": 264 } }, { - "id": "b6323c55-9b6d-4753-8953-7fb34775a27b", - "type": "21cfcc19a4ad14c5fb5e8cfebd018ec356fe7542", + "id": "e968d987-07d6-43f6-91c7-c51f2d0d5793", + "type": "c955cf93ef694308de70400b30cdd774804f88a9", "position": { - "x": 864, - "y": 16 + "x": 480, + "y": 472 }, "size": { "width": 96, @@ -12950,11 +12579,11 @@ } }, { - "id": "5f897fa2-936f-47cd-9310-a36fb4cb14a1", - "type": "3bf99b8d77aa1b29ec1bf618b53175de87f1001d", + "id": "4cbc5545-838d-4037-8ff3-065df8ec78f6", + "type": "113ccf91a6aa073b6493e621c1add3fe0989efad", "position": { - "x": 864, - "y": -64 + "x": 848, + "y": 600 }, "size": { "width": 96, @@ -12962,1044 +12591,1187 @@ } }, { - "id": "a200cfa9-fe9a-4c4b-b9d4-f4307d071797", + "id": "7fa9a681-773d-4d20-91c6-e8109073c635", "type": "basic.info", "data": { - "info": "Calculate if the bus can be taken", + "info": "## STDOUT serial\n\nSerial transmitter for the STDOUT bus\n", "readonly": true }, "position": { - "x": 216, - "y": 440 + "x": 264, + "y": 64 }, "size": { - "width": 272, - "height": 32 + "width": 352, + "height": 88 } }, { - "id": "7a989d63-cd4a-4c47-9513-57b4ea6ee141", - "type": "35f267d0df6ffcb7fc33753bc9df9cf083642cca", + "id": "e03f0e2f-15f0-4a94-8757-e4a9f8a02c56", + "type": "basic.info", + "data": { + "info": "**STDOUT Bus** \n* Data to transmit (8 bits) \n* tic (1 bit)\n* data sent (done tic, 1 bit)", + "readonly": true + }, "position": { - "x": 296, - "y": 552 + "x": 240, + "y": 352 }, "size": { - "width": 96, - "height": 64 + "width": 264, + "height": 80 } }, { - "id": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", - "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", + "id": "30ebb8d3-8383-4cf3-8e2c-95f15e6a134f", + "type": "dfb66a3c3bf23ef758606d2c4ba6b059ba3793d9", "position": { - "x": 464, - "y": 568 + "x": 680, + "y": 440 }, "size": { "width": 96, - "height": 64 + "height": 96 } - }, + } + ], + "wires": [ { - "id": "239fe2ba-e2b9-4446-a1ea-51e1616f5b75", - "type": "basic.info", - "data": { - "info": "The bus is available", - "readonly": true + "source": { + "block": "2d00d963-00f8-4a0a-9cb8-a4e5bfb61323", + "port": "out" }, - "position": { - "x": 384, - "y": 512 + "target": { + "block": "340a0c20-8472-4bd8-ae36-204a57b49285", + "port": "inlabel" }, - "size": { - "width": 184, - "height": 32 + "vertices": [] + }, + { + "source": { + "block": "019dc637-ca36-4e18-8db1-5d5318fb2d6e", + "port": "outlabel" + }, + "target": { + "block": "30ebb8d3-8383-4cf3-8e2c-95f15e6a134f", + "port": "4c296e24-7312-407a-8fb0-f3a6d4feb3ab" } }, { - "id": "b62ad9b4-5b0e-4b74-a0ad-947946a59331", - "type": "basic.info", - "data": { - "info": "This circuits wants \nto use the bus", - "readonly": true + "source": { + "block": "4cbc5545-838d-4037-8ff3-065df8ec78f6", + "port": "72968b0a-a651-457f-8809-036985e64653", + "size": 10 }, - "position": { - "x": 280, - "y": 664 + "target": { + "block": "2482a63c-2352-4fd5-81ee-6fcaa856ccdd", + "port": "inlabel" }, - "size": { - "width": 192, - "height": 56 - } + "size": 10 }, { - "id": "c25805fd-f852-43d5-93db-f3f0cb17c301", - "type": "basic.info", - "data": { - "info": "The bus has been already \ntaken", - "readonly": true + "source": { + "block": "6a12a92e-7e13-4bc0-9051-8aba3b29df38", + "port": "outlabel" }, - "position": { - "x": 272, - "y": 816 + "target": { + "block": "93defa79-7f79-4614-8e5b-17ceacc8c7cf", + "port": "in", + "size": 10 }, - "size": { - "width": 208, - "height": 56 - } + "size": 10 }, { - "id": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", - "type": "81613874c6152f06c06ed7014bf4235900cfcc30", - "position": { - "x": 648, - "y": 584 + "source": { + "block": "30ebb8d3-8383-4cf3-8e2c-95f15e6a134f", + "port": "75d4695e-f445-4762-9ae9-c9bf0e51974f" }, - "size": { - "width": 96, - "height": 64 + "target": { + "block": "e1ba0ef0-77f6-4ab9-9892-b5c93aa3167c", + "port": "inlabel" } }, { - "id": "26b71a43-5955-4452-9b0e-94ea6ef453b7", - "type": "81613874c6152f06c06ed7014bf4235900cfcc30", - "position": { - "x": 1088, - "y": 296 + "source": { + "block": "6b86af4f-f0c9-4134-b2c9-9e9d1b0d6e15", + "port": "outlabel" }, - "size": { - "width": 96, - "height": 64 + "target": { + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" } }, { - "id": "d3ce12c0-3b45-4ed2-8446-fb6c4c8e8710", - "type": "basic.info", - "data": { - "info": "One cycle after the machine is done \nthe bus is already taken to write \nthe bbusy signal to 0 and allow \nother circuits to use it", - "readonly": true - }, - "position": { - "x": 960, - "y": 392 + "source": { + "block": "6ba67914-123c-4491-862c-8eda58a6c040", + "port": "outlabel" }, - "size": { - "width": 304, - "height": 88 + "target": { + "block": "f2043f09-b391-40ea-9d1d-721438b68ef1", + "port": "in" } }, { - "id": "110cf90a-bc63-4642-a72e-33e8e397e804", - "type": "basic.info", - "data": { - "info": "The output bus is controlled \nby this circuit (1) or \nremain untouched (0)", - "readonly": true - }, - "position": { - "x": 1320, - "y": 288 + "source": { + "block": "30ebb8d3-8383-4cf3-8e2c-95f15e6a134f", + "port": "09701eaa-8d79-487f-b003-267e04095bb1" }, - "size": { - "width": 240, - "height": 112 + "target": { + "block": "3229f563-798d-4db3-9966-52596ca5cef1", + "port": "inlabel" } }, { - "id": "0421b3fd-c660-4279-abe0-e1d486431ce0", - "type": "basic.info", - "data": { - "info": "The reading machine \ncan be started", - "readonly": true + "source": { + "block": "e968d987-07d6-43f6-91c7-c51f2d0d5793", + "port": "03a1539f-6d99-4957-a7ca-3718ec57b1ee" }, - "position": { - "x": 584, - "y": 456 + "target": { + "block": "30ebb8d3-8383-4cf3-8e2c-95f15e6a134f", + "port": "27183891-b385-412b-bc55-21df1dd0280e" }, - "size": { - "width": 184, - "height": 64 - } + "vertices": [], + "size": 8 }, { - "id": "e0ace7c0-caa0-440e-9868-d76ffb18bfb2", - "type": "basic.info", - "data": { - "info": "Reading machine", - "readonly": true + "source": { + "block": "e968d987-07d6-43f6-91c7-c51f2d0d5793", + "port": "11b231a8-883c-47a2-afea-ce22fc2fc800" }, - "position": { - "x": 1016, - "y": 728 + "target": { + "block": "30ebb8d3-8383-4cf3-8e2c-95f15e6a134f", + "port": "6bb28a95-e6e4-4044-9c22-c4404693b6b1" }, - "size": { - "width": 168, - "height": 48 - } + "vertices": [] }, { - "id": "165f75a6-a05d-4025-aac5-91f45cd6cd30", - "type": "1c7dae7144d376f2ee4896fcc502a29110e2db37", - "position": { - "x": 1904, - "y": 520 + "source": { + "block": "30ebb8d3-8383-4cf3-8e2c-95f15e6a134f", + "port": "42306dfc-8702-4c9a-98d6-56b4c86fff21" }, - "size": { - "width": 96, - "height": 64 - } + "target": { + "block": "4cbc5545-838d-4037-8ff3-065df8ec78f6", + "port": "3bbe35e4-7c46-4bbb-b9c3-3a6f4bbaf1c0" + }, + "vertices": [] }, { - "id": "d155022c-5f5d-4a1b-8e0b-9643481e530b", - "type": "359a555a147b0afd9d84e4a720ec84b7cdfbc034", - "position": { - "x": 1880, - "y": 664 + "source": { + "block": "bf297685-7b54-477f-b9ee-3c143135097b", + "port": "out" }, - "size": { - "width": 96, - "height": 96 - } + "target": { + "block": "e968d987-07d6-43f6-91c7-c51f2d0d5793", + "port": "62f60de5-6d65-45f1-a57a-96daf57df585" + }, + "size": 10 }, { - "id": "5aeed2ef-7590-4245-a540-a63acb068e09", - "type": "3bf99b8d77aa1b29ec1bf618b53175de87f1001d", - "position": { - "x": 1648, - "y": 680 + "source": { + "block": "d4a02852-2578-4c4d-b7e2-0708b0ef9794", + "port": "constant-out" }, - "size": { - "width": 96, - "height": 64 + "target": { + "block": "30ebb8d3-8383-4cf3-8e2c-95f15e6a134f", + "port": "671d0b4d-317d-4aef-8422-8b9a400211a4" } }, { - "id": "045bea3c-647f-44be-8b84-4957291749a4", - "type": "1c7dae7144d376f2ee4896fcc502a29110e2db37", - "position": { - "x": 1336, - "y": 912 + "source": { + "block": "ac5c1fd2-04e0-41a2-8d4d-c2e41b2e5b8f", + "port": "constant-out" }, - "size": { - "width": 96, - "height": 64 + "target": { + "block": "30ebb8d3-8383-4cf3-8e2c-95f15e6a134f", + "port": "76db97e8-ad17-4a4b-b288-73e449659681" } - }, + } + ] + } + } + }, + "c955cf93ef694308de70400b30cdd774804f88a9": { + "package": { + "name": "stdout-bus-split2", + "version": "0.1", + "description": "stdout bus splitter into data and tic signals", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22354.768%22%20height=%22219.63%22%20viewBox=%220%200%20332.595%20205.90272%22%3E%3Cpath%20d=%22M168.377%2068.938l61.147-52.233C240.21%206.25%20254.56.461%20269.484.5h62.611v26.186l-61.698.046c-8.012-.043-15.705%203.133-21.47%208.81l-61.448%2052.61a57.292%2057.292%200%200%201-39.993%2016.139%2057.292%2057.292%200%200%201%2039.993%2016.139l61.448%2049.93c5.765%205.678%2013.458%208.854%2021.47%208.81l61.698.046v26.187h-62.612c-14.924.039-29.463-5.9-40.204-16.28l-60.902-49.48a29.857%2029.857%200%200%200-21.347-8.809L.5%20130.72V77.752h146.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%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22194.597%22%20y=%22247.958%22%20font-weight=%22400%22%20font-size=%2244.109%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.938%22%20transform=%22translate(-184.13%20-199.542)%22%3E%3Ctspan%20x=%22194.597%22%20y=%22247.958%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ESTDOUT%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22228.835%22%20y=%22387.938%22%20font-weight=%22400%22%20font-size=%2244.109%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.938%22%20transform=%22translate(-184.13%20-199.542)%22%3E%3Ctspan%20x=%22228.835%22%20y=%22387.938%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EBUS%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22299.979%22%20y=%22389.373%22%20font-weight=%22400%22%20font-size=%2215%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%22.938%22%20transform=%22translate(-184.13%20-199.542)%22/%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ { - "id": "e9c87f9b-8312-41de-af70-db0772825e09", - "type": "ae7cd7cc997647c6f4f9ed332bbf1849b798d4cb", - "position": { - "x": 1904, - "y": 32 + "id": "03a1539f-6d99-4957-a7ca-3718ec57b1ee", + "type": "basic.output", + "data": { + "name": "", + "range": "[7:0]", + "size": 8 }, - "size": { - "width": 96, - "height": 128 + "position": { + "x": 608, + "y": 168 } }, { - "id": "5ce3f494-5892-4a5c-9720-fc5c71449b27", - "type": "basic.info", + "id": "62f60de5-6d65-45f1-a57a-96daf57df585", + "type": "basic.input", "data": { - "info": "## Download machine\n\nTransmit all the memory contents through the serial port \nThe bytes are transmited raw (in binary). No ascii encoding \nThere should be a program running on the computer capable of \nreading these raw bytes", - "readonly": true + "name": "", + "range": "[9:0]", + "clock": false, + "size": 10 }, "position": { - "x": -112, - "y": -168 - }, - "size": { - "width": 504, - "height": 120 + "x": 128, + "y": 192 } }, { - "id": "10cf0acf-2627-46d4-8c0d-840056c3a6be", - "type": "f1dc888a11b743f08087b6e65015fe269bed1f6f", - "position": { - "x": 384, - "y": 184 + "id": "11b231a8-883c-47a2-afea-ce22fc2fc800", + "type": "basic.output", + "data": { + "name": "tic" }, - "size": { - "width": 96, - "height": 128 - } - }, - { - "id": "8205f22c-1d31-4e0a-a4d9-7fbbc780e32d", - "type": "6050ed4fa033f3f13d3fe5fae5dcedb414a0fede", "position": { - "x": 1080, - "y": -80 - }, - "size": { - "width": 96, - "height": 128 + "x": 576, + "y": 248 } }, { - "id": "c4492dd4-658c-4c26-9b2b-b6d26243039b", - "type": "7cd239bdd995aa0988ea7615327f97fbe335930d", - "position": { - "x": 1312, - "y": 104 + "id": "16e78204-213e-4833-9096-89d735307ec2", + "type": "basic.code", + "data": { + "code": "assign data = i[9:2];\nassign tic = i[1];", + "params": [], + "ports": { + "in": [ + { + "name": "i", + "range": "[9:0]", + "size": 10 + } + ], + "out": [ + { + "name": "data", + "range": "[7:0]", + "size": 8 + }, + { + "name": "tic" + } + ] + } }, - "size": { - "width": 96, - "height": 96 - } - }, - { - "id": "98bbdcc7-f58a-4c93-be85-ccfe5b16ddb4", - "type": "efe39aa2a101707774e24b099a0654cc52ff8a04", "position": { - "x": 1016, - "y": 800 + "x": 296, + "y": 176 }, "size": { - "width": 96, - "height": 128 + "width": 232, + "height": 96 } } ], "wires": [ { "source": { - "block": "7fb933a6-5c63-4d46-8aaa-440b30974993", - "port": "out" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "data" }, "target": { - "block": "2c31aa6a-383c-4eb5-b669-b8a31ad14225", - "port": "inlabel" - }, - "vertices": [] - }, - { - "source": { - "block": "b14f140b-7bb5-46d9-8019-39c27ff6e0e3", - "port": "out" + "block": "03a1539f-6d99-4957-a7ca-3718ec57b1ee", + "port": "in" }, - "target": { - "block": "da45f105-3600-4458-a820-50046581f5dd", - "port": "inlabel" - } + "size": 8 }, { "source": { - "block": "10cf0acf-2627-46d4-8c0d-840056c3a6be", - "port": "9751f777-00ec-46c1-8d85-07d2dec1e653" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "tic" }, "target": { - "block": "05a1a5b4-bf29-49df-b0b1-887859d9ec9e", - "port": "inlabel" + "block": "11b231a8-883c-47a2-afea-ce22fc2fc800", + "port": "in" } }, { "source": { - "block": "10cf0acf-2627-46d4-8c0d-840056c3a6be", - "port": "afe50480-6fe5-4ca6-b639-c730569a6a1d", - "size": 8 + "block": "62f60de5-6d65-45f1-a57a-96daf57df585", + "port": "out" }, "target": { - "block": "914e03dd-1133-4325-a333-b10f953ecce5", - "port": "inlabel" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i" }, - "size": 8 - }, + "size": 10 + } + ] + } + } + }, + "113ccf91a6aa073b6493e621c1add3fe0989efad": { + "package": { + "name": "stdout-bus-next-in", + "version": "0.1", + "description": "Convert the 1-bit next signal into a 10-bit stdout bus", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22356.708%22%20height=%22176.233%22%20viewBox=%220%200%2094.37896%2046.628384%22%3E%3Cg%20transform=%22translate(-44.148%20-120.418)%22%3E%3Crect%20width=%2233.016%22%20height=%227.314%22%20x=%22-77.429%22%20y=%22141.954%22%20ry=%220%22%20transform=%22scale(-1%201)%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22bevel%22/%3E%3Crect%20width=%2235.851%22%20height=%2214.797%22%20x=%22-138.262%22%20y=%22138.101%22%20ry=%220%22%20transform=%22scale(-1%201)%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22bevel%22/%3E%3Crect%20width=%2225.079%22%20height=%2227.493%22%20x=%22-102.314%22%20y=%22132.039%22%20ry=%220%22%20transform=%22scale(-1%201)%22%20fill=%22#999%22%20stroke=%22#000%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22bevel%22/%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%2289.27%22%20y=%22130.378%22%20font-weight=%22400%22%20font-size=%2212.449%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20x=%2289.27%22%20y=%22130.378%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ESTDOUT%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22105.548%22%20y=%22166.86%22%20font-weight=%22400%22%20font-size=%2212.449%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20x=%22105.548%22%20y=%22166.86%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EBUS%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ { - "source": { - "block": "7df4a7f1-90b6-4562-8be3-e4719a824545", - "port": "outlabel" + "id": "3bbe35e4-7c46-4bbb-b9c3-3a6f4bbaf1c0", + "type": "basic.input", + "data": { + "name": "next", + "clock": false }, - "target": { - "block": "98bbdcc7-f58a-4c93-be85-ccfe5b16ddb4", - "port": "cb426e3d-ace3-4a57-a74b-155caed0c14c" + "position": { + "x": 128, + "y": 192 } }, { - "source": { - "block": "fce01e4d-e6d2-4811-8f96-410673168b4c", - "port": "outlabel" - }, - "target": { - "block": "7a989d63-cd4a-4c47-9513-57b4ea6ee141", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "id": "72968b0a-a651-457f-8809-036985e64653", + "type": "basic.output", + "data": { + "name": "", + "range": "[9:0]", + "size": 10 }, - "vertices": [] + "position": { + "x": 640, + "y": 192 + } }, { - "source": { - "block": "524ca75c-cdd3-4e79-851a-b46ce146bd66", - "port": "outlabel" + "id": "16e78204-213e-4833-9096-89d735307ec2", + "type": "basic.code", + "data": { + "code": "assign o[0] = next;", + "params": [], + "ports": { + "in": [ + { + "name": "next" + } + ], + "out": [ + { + "name": "o", + "range": "[9:0]", + "size": 10 + } + ] + } }, - "target": { - "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", - "port": "97b51945-d716-4b6c-9db9-970d08541249" + "position": { + "x": 296, + "y": 176 }, - "vertices": [] - }, + "size": { + "width": 264, + "height": 88 + } + } + ], + "wires": [ { "source": { - "block": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "3bbe35e4-7c46-4bbb-b9c3-3a6f4bbaf1c0", + "port": "out" }, "target": { - "block": "700d8b15-d6df-4b76-b10d-72db58c33e6c", - "port": "inlabel" - }, - "vertices": [] + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "next" + } }, { "source": { - "block": "0db424eb-f896-41e1-becb-7eb065dd64f2", - "port": "outlabel" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o" }, "target": { - "block": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", - "port": "97b51945-d716-4b6c-9db9-970d08541249" + "block": "72968b0a-a651-457f-8809-036985e64653", + "port": "in" }, - "vertices": [ - { - "x": 584, - "y": 824 - } - ] - }, + "size": 10 + } + ] + } + } + }, + "dfb66a3c3bf23ef758606d2c4ba6b059ba3793d9": { + "package": { + "name": "Serial-tx-sysclk", + "version": "0.3", + "description": "Serial transmitter with system clock freq parameter", + "author": "Juan Gonzalez-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22223.269%22%20width=%22293.137%22%20viewBox=%220%200%20274.81662%20209.31615%22%3E%3Cg%20transform=%22translate(347.142%20-102.544)%20scale(1.04907)%22%20stroke=%22#000%22%3E%3Cpath%20d=%22M-170.798%20177.526l.315%2036.011%2040.397-37.263v-33.51z%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M-308.584%20177.892l53.235-35.7%20124.635.628-39.456%2035.7%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Crect%20ry=%223.509%22%20height=%2236.325%22%20width=%22139.039%22%20y=%22178.153%22%20x=%22-308.895%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22square%22/%3E%3Cg%20transform=%22matrix(1.88858%200%200%201.88858%20-312.436%20138.651)%22%20stroke-width=%22.938%22%20stroke-linecap=%22square%22%3E%3Ccircle%20cy=%2230.367%22%20cx=%2211.326%22%20r=%223.15%22%20fill=%22red%22/%3E%3Ccircle%20cy=%2230.367%22%20cx=%2220.611%22%20r=%223.15%22%20fill=%22#faa%22/%3E%3Ccircle%20cy=%2230.367%22%20cx=%2262.82%22%20r=%223.15%22%20fill=%22green%22/%3E%3Ccircle%20cy=%2230.367%22%20cx=%2230.554%22%20r=%223.15%22%20fill=%22red%22/%3E%3C/g%3E%3C/g%3E%3Ctext%20y=%2228.295%22%20x=%2270.801%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2265.172%22%20letter-spacing=%220%22%20word-spacing=%220%22%20transform=%22scale(.99853%201.00147)%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%221.209%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2228.295%22%20x=%2270.801%22%20font-weight=%22700%22%20font-size=%2237.241%22%3ESerial%3C/tspan%3E%3C/text%3E%3Cg%20transform=%22translate(-49.71%20-39.925)%20scale(2.8106)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22translate(-240.978%20-39.925)%20scale(2.8106)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Ccircle%20cx=%22233.043%22%20cy=%2281.071%22%20r=%2240.92%22%20fill=%22#ececec%22%20stroke=%22green%22%20stroke-width=%221.71%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M261.766%2092.931h-4.696V67.437h-48.103v25.295h-5.116%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%224.275%22%20stroke-linecap=%22round%22/%3E%3Ctext%20y=%22165.6%22%20x=%22108.068%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2265.172%22%20letter-spacing=%220%22%20word-spacing=%220%22%20transform=%22scale(.99853%201.00147)%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%221.209%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%22165.6%22%20x=%22108.068%22%20font-weight=%22700%22%20font-size=%2237.241%22%3ETX%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ { - "source": { - "block": "9be4488d-51be-4346-8a31-5d8f2f86e4d3", - "port": "outlabel" - }, - "target": { - "block": "26b71a43-5955-4452-9b0e-94ea6ef453b7", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "id": "09701eaa-8d79-487f-b003-267e04095bb1", + "type": "basic.output", + "data": { + "name": "TX" }, - "vertices": [] + "position": { + "x": 960, + "y": 120 + } }, { - "source": { - "block": "923c4db6-0c76-4647-a848-75fd61fba6ec", - "port": "outlabel" - }, - "target": { - "block": "26b71a43-5955-4452-9b0e-94ea6ef453b7", - "port": "97b51945-d716-4b6c-9db9-970d08541249" + "id": "4c296e24-7312-407a-8fb0-f3a6d4feb3ab", + "type": "basic.input", + "data": { + "name": "", + "clock": true }, - "vertices": [] + "position": { + "x": -16, + "y": 120 + } }, { - "source": { - "block": "98bbdcc7-f58a-4c93-be85-ccfe5b16ddb4", - "port": "49221b19-132a-4e3f-9a1f-97bcd463391b" + "id": "27183891-b385-412b-bc55-21df1dd0280e", + "type": "basic.input", + "data": { + "name": "", + "range": "[7:0]", + "clock": false, + "size": 8 }, - "target": { - "block": "366a768a-2f5d-4c01-8338-bdef0a688ea7", - "port": "inlabel" + "position": { + "x": -16, + "y": 272 } }, { - "source": { - "block": "eda78d52-57f7-4e44-bd8e-75e67c496650", - "port": "outlabel" + "id": "75d4695e-f445-4762-9ae9-c9bf0e51974f", + "type": "basic.output", + "data": { + "name": "busy" }, - "target": { - "block": "98bbdcc7-f58a-4c93-be85-ccfe5b16ddb4", - "port": "ad4d0fc2-118e-496e-b292-c435bad20e7d" + "position": { + "x": 960, + "y": 272 } }, { - "source": { - "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "id": "6bb28a95-e6e4-4044-9c22-c4404693b6b1", + "type": "basic.input", + "data": { + "name": "txmit", + "clock": false }, - "target": { - "block": "54e9bf9f-b852-4c45-bd53-f6eb4ee707eb", - "port": "inlabel" + "position": { + "x": 0, + "y": 424 } }, { - "source": { - "block": "dc204461-1dd1-428f-91a2-006d905d6585", - "port": "outlabel" + "id": "42306dfc-8702-4c9a-98d6-56b4c86fff21", + "type": "basic.output", + "data": { + "name": "done" }, - "target": { - "block": "98bbdcc7-f58a-4c93-be85-ccfe5b16ddb4", - "port": "8f591b24-0427-409f-aa6e-ca1861556cf5" + "position": { + "x": 960, + "y": 424 } }, { - "source": { - "block": "98bbdcc7-f58a-4c93-be85-ccfe5b16ddb4", - "port": "6a11eaf9-4bd5-405e-81f8-44418365326b" + "id": "76db97e8-ad17-4a4b-b288-73e449659681", + "type": "basic.constant", + "data": { + "name": "sclk", + "value": "12000000", + "local": false }, - "target": { - "block": "7e9db299-cb56-4cd9-a489-d5fbd6eb3e2f", - "port": "inlabel" + "position": { + "x": 344, + "y": -64 } }, { - "source": { - "block": "a040cc3d-b2c6-458e-bde6-f8234a19b6d1", - "port": "outlabel" - }, - "target": { - "block": "38abb13c-8652-41fb-931c-c7bf760ebb24", - "port": "in" + "id": "671d0b4d-317d-4aef-8422-8b9a400211a4", + "type": "basic.constant", + "data": { + "name": "bps", + "value": "115200", + "local": false }, - "vertices": [] + "position": { + "x": 624, + "y": -64 + } }, { - "source": { - "block": "8ca2279c-fdc3-40d3-9fbe-2071c026932f", - "port": "outlabel" + "id": "3238443f-338d-4796-b54a-c463c5f191aa", + "type": "basic.code", + "data": { + "code": "//---- Calculate the divisor for achieving the requered BAUDs\n//---- when the system clk is working at SCLK Hertzs\n\nlocalparam DIV = SCLK/BAUD;\n\n//-- Get the number of bits needed for storing the DIV value\nlocalparam N = $clog2(DIV);\n\n//-- It is a counter module DIV\nreg [N-1:0] divcounter = 0;\n\n//-- Cable de reset para el contador\n//-- Comparador que resetea el contador cuando se alcanza el tope\n//-- o cuando el estado del biestable es 0 (apagado)\nwire reset = ov_gen | (state == 0);\n\n//-- Contador con reset\nalways @(posedge clk)\n if (reset)\n divcounter <= 0;\n else\n divcounter <= divcounter + 1;\n\n//-- Hemos llegado al final\nwire ov_gen = (divcounter == DIV-1);\n\n\n\n//-- REGISTRO DESPLAZAMIENTO\n\n//-- Salida serie. Inicialmete a 1 (reposo) \nreg TX_i = 1;\nassign TX = TX_i;\n\n//-- Registro de desplazamiento de 9 bits\n//-- Inicializado todo a 1s\nreg [8:0] q = 9'h1FF;\n\n//-- La entrada de shift es la salida del generador de baudios\nwire shift = ov_gen;\n\nalways @(posedge clk)\n if (txmit_tic)\n //-- Carga del registro\n q <= {data, 1'b0};\n \n else if (shift)\n //-- Desplazamiento. Rellenar con 1 (bit de stop)\n q <= {1'b1, q[8:1]};\n \n//-- Sacar el bit de menor peso por serial-out \nwire so;\nassign so = q[0];\n\n//-- La salida tx la registramos\nalways @(posedge clk)\n TX_i <= so;\n \n//-- La señal de entrada txmit se pasa por un \n//-- detector de flancos de subida para generar un tic\nreg q_re = 0;\nwire txmit_tic;\n\nalways @(posedge clk)\n q_re <= txmit;\n \nassign txmit_tic = (~q_re & txmit); \n\n\n\n//-- Estado de transmisor\n//-- 0: Parado\n//-- 1: Ocupado (transmitiendo)\nreg state = 0;\n \nalways @(posedge clk)\n //-- Empieza la transmision: ocupado\n if (txmit)\n state <= 1'b1;\n \n //-- Acaba la transmision: libre \n else if (ov)\n state <= 1'b0;\n\n//-- Contador de bits enviados\nreg [3:0] bits = 0;\nalways @(posedge clk)\n //-- Si la cuenta ha terminado... volver a 0\n if (ov)\n bits <= 2'b00;\n else\n if (shift)\n bits <= bits + 1;\n\n//-- Comprobar si se ha transmitido el último bit (overflow)\n//-- 1 bit de start + 8 bits de datos + 1 bit de stop\nwire ov = (bits == 10);\n\n//-- La señal de ocupado es el estado del transmisor\nassign busy = state;\n\n//-- La señal de done es la de overflow pero retrasada un\n//-- periodo de reloj del sistema y que el biestable \n//-- llegue al estado de parado antes de que se \n//-- empiece otra transmision\n\nreg done_i=0;\nassign done = done_i;\n\nalways @(posedge clk)\n done_i <= ov;\n", + "params": [ + { + "name": "SCLK" + }, + { + "name": "BAUD" + } + ], + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "data", + "range": "[7:0]", + "size": 8 + }, + { + "name": "txmit" + } + ], + "out": [ + { + "name": "TX" + }, + { + "name": "busy" + }, + { + "name": "done" + } + ] + } }, - "target": { - "block": "8205f22c-1d31-4e0a-a4d9-7fbbc780e32d", - "port": "49fb1766-1e7f-4706-9872-a6cd65cc9f2d" + "position": { + "x": 248, + "y": 72 + }, + "size": { + "width": 560, + "height": 456 } - }, + } + ], + "wires": [ { "source": { - "block": "289f00be-f97d-4553-a60a-32d8b45da4cc", - "port": "outlabel" + "block": "3238443f-338d-4796-b54a-c463c5f191aa", + "port": "TX" }, "target": { - "block": "165f75a6-a05d-4025-aac5-91f45cd6cd30", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + "block": "09701eaa-8d79-487f-b003-267e04095bb1", + "port": "in" } }, { "source": { - "block": "7d0852c6-4778-4a53-bf90-30527c44a0eb", - "port": "outlabel" + "block": "671d0b4d-317d-4aef-8422-8b9a400211a4", + "port": "constant-out" }, "target": { - "block": "165f75a6-a05d-4025-aac5-91f45cd6cd30", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + "block": "3238443f-338d-4796-b54a-c463c5f191aa", + "port": "BAUD" } }, { "source": { - "block": "c1c96b9c-e573-43a0-8b60-9f7fe7ad5ae6", - "port": "outlabel" + "block": "4c296e24-7312-407a-8fb0-f3a6d4feb3ab", + "port": "out" }, "target": { - "block": "d155022c-5f5d-4a1b-8e0b-9643481e530b", - "port": "1e637a79-4a6d-495c-bcac-9664bdbe4b94" - }, - "vertices": [] + "block": "3238443f-338d-4796-b54a-c463c5f191aa", + "port": "clk" + } }, { "source": { - "block": "0399b081-5696-4bf7-bb75-cd55da78d4f5", - "port": "outlabel" + "block": "27183891-b385-412b-bc55-21df1dd0280e", + "port": "out" }, "target": { - "block": "d155022c-5f5d-4a1b-8e0b-9643481e530b", - "port": "9f5a1c91-1b93-4609-877c-816ed8fd0871", - "size": 8 + "block": "3238443f-338d-4796-b54a-c463c5f191aa", + "port": "data" }, "size": 8 }, { "source": { - "block": "adcb920c-12a7-478f-b1f2-9877d62d2673", - "port": "outlabel" + "block": "6bb28a95-e6e4-4044-9c22-c4404693b6b1", + "port": "out" }, "target": { - "block": "045bea3c-647f-44be-8b84-4957291749a4", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + "block": "3238443f-338d-4796-b54a-c463c5f191aa", + "port": "txmit" } }, { "source": { - "block": "045bea3c-647f-44be-8b84-4957291749a4", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + "block": "3238443f-338d-4796-b54a-c463c5f191aa", + "port": "busy" }, "target": { - "block": "caf86b2c-c08d-411d-be47-4084fec9532e", - "port": "inlabel" + "block": "75d4695e-f445-4762-9ae9-c9bf0e51974f", + "port": "in" } }, { "source": { - "block": "1afea26e-4199-4bc9-bee1-c5689a14f8b6", - "port": "outlabel" + "block": "3238443f-338d-4796-b54a-c463c5f191aa", + "port": "done" }, "target": { - "block": "24450b7d-19ce-463a-83fb-5e1c04e4b093", + "block": "42306dfc-8702-4c9a-98d6-56b4c86fff21", "port": "in" } }, { "source": { - "block": "886b88b1-4987-4f1f-aadd-d82bb53ab445", - "port": "out", - "size": 10 + "block": "76db97e8-ad17-4a4b-b288-73e449659681", + "port": "constant-out" }, "target": { - "block": "523a4825-1562-4f5d-b129-c7d08fe542c2", - "port": "inlabel" + "block": "3238443f-338d-4796-b54a-c463c5f191aa", + "port": "SCLK" + } + } + ] + } + } + }, + "1250d52a7afd45bb1a9a3db8b7b07091812cfe25": { + "package": { + "name": "Smem-16KB-bus", + "version": "0.3", + "description": "16KB memory. Bus interface", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20viewBox=%220%200%2087.168922%20102.99556%22%20height=%22389.275%22%20width=%22329.457%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20transform=%22translate(-159.832%20-119.548)%22%3E%3Cimage%20xlink:href=%22data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAgM0lEQVR4Xu1dCZBU1bm+PdPTM8CM%20AgMO+yCrAq4oGjWKIIorcYnRlD59saImGlOaqK/UPPeHu5VyjyYuMRu+uFVEjRqX4FNRQURwQVxQ%20YdiGZQYGepZ+33frfK9Oneq+t+/0zHTad/+qU7fv7bt0n/8///L9/znX+1ZTTDHFFFNMMcUUU0wx%20xRRTTDHFFFNMMcUUU0wxxZToofuX8XPo82LqcLaZUhUAMbucraKi4viysrI9jCBkp5gybKBH0un0%20cuy3URC6WwiSXvcRmV9ZVVV1azKZPBvN69+/vzd06FBv2LBh1mkxff31197ixYvJfa+1tfUnHR0d%20x7W1tc3HV2kJQakJQBmZjzYUo99n/qRJk7xTTz3V69WrV5bTY/rmm2+8u+++29u6desO2L0cAnCq%20YXy61AQgYe5bBebvB9XvJRIJ79hjj/VSqZTX3t6e5ZKYBg0a5B133HHenDlzPPRZLQ5VG+a3lpwJ%20kPoH83uT+Ww77rhjCPNjYh+Z/hqK3T5oW9C2obWXlAaQAMCm9SovL/cGDx7sQaWFXBbTTjvt5AsA%20+qwOu7SVSTnOpSgASdBkSjTtPhybkMtioomkyWTjLvmjSK0UncAkJLmMAgDKUwBiqqur81atWkUt%200Bcmc2XJaQCBPtqCvMrKyjztf0wIm9lp1AbjW1paPrIwlUzJaAAJAKgajbYtTwGIaeDAgd6KFSv8%20zmMfloIJcCFf3rOCDT7AKAgAAY78nMCYqC3lB/Q1/Zgy4WB7AERcVAFIiPE333zz6JEjR565ffv2%20Xlu2bKm58847d2psbKQAhGiAmOQr1dTU+J8PPPDAE37wgx8MhgO9BeZg++bNm18588wzXzYQcXtX%20CUGii5ifuuyyy8YD7Fk4YMAAOTHelVde6X300UfejBkzPAhGwG1i5ksA2HdPPfWUd/LJJ7NRczKM%209iOp55577oyzzjrrvwkOGUHIFFsDJIya6nPQQQfdSweGKoyNAgBNIIcmRxQQM15ELcl9oKdU/4yh%202W/sR/anvz98+PD/wqnPozUZc9BeFA3gMv/GG288CgLwaL9+/by+fft6q1ev9gXgqKOO8v/MEUcc%204UOdJUxiUgSmRhv59va3v/2tnztBv9J0+k40Bxe16fLly2effvrpt1EIlCfobg2Q0FYq34J7q6ZN%20mzZ8v/32u5nSKonllhKrPACOyQcofQEonPlZma7GZ6jPFD5v27bN69Onj78/evTon/34xz9+/v77%20719s+NFup5OjOoqJKA7ezjvvPAuM7QuGJkBlyFtXgNkzMbrHUXUx3Utmf/XVVz7zTzrpJL9TTjnl%20FK+EieYrAuO1H8r8nBrgb3/7m1dbW+vNnj3bfzY165AhQ7zPPvvM9wlWrly5DFnD5yAUaQhMB4Qk%20g/My0LxPn3POOQuiOIqJPCDd1IMPPnjiiBEjHiFzObK15Y9Zs2aNn+Ovrq5mKtP74IMPlPjxfvGL%20X3ggCkKpC0AhjNdxfbZb1u9ffPFFb8OGDd4dd9zB+gBv/fr13pgxYzw62OzzTz75hKaWfc5+5jFt%20aX5/hrT7gzQPchQ7awLKZOPB4Nly7CQAbBzlUv38/P7773vQEs0vv/zyckhpNTpkNK6X+i911a/P%20UUe8y2jdI6tgiMj4t956axGFb88996wD0wfRDJDp7G/wQ+l18kJbaoo7jjzyyL8/++yzX8tR7JQG%20EPPRasHQT/FwPkBCwCaJ8zXAhx9+6Esp4lVJqXfDDTf42uDggw/uSVsscjtd+1Gu1/lsETRAkLoP%201whLlizx2+9//3uNbm/8+PHe22+/7e2yyy5ECmluXQ3A5kdeTz/99OlwIOfiVs0mZMwUpAEA6pDx%20fKgEQM6ez4w33niDQuDbLVJzczO/U1hDFdqVjC/cMYt+vYRAx8JUvCtA+Qinew/aeoZ+ZDAjAZ/p%20L730EiMEAkbsY35HXnDLfqdJZn/3poOO1kIB6KwJSAjWBZOXbtq0acK6det4c7v5Dx83bhwZQcEg%20w33mAwFkR7goYE8LghgSpgGiMknfBal7Nff5bIHnsx+5hZPN/vQZrKTaPvvsw/IxagGZYTX1/Qo4%207B8Y/y1RSBiokKIDCN9//upXvzoRUjgMzKxgBMBIgIQQpQwJjElQRymZBgoAnRj9GVzTE/Y5aDQV%20cr39XRRV79p6CQKZlfV7HaPZlPYk0zm6JQDIEHKkL2tqatrcAWIEwMvwfevatWu/efTRR1+wI4BC%20BYA32o625dprr32R/gBab3NdObzSGoAWp+AHp+QfSOVLimWnihSjizGFXu9+7zLVfYaOaWt/lkl0%20Ge+eRy0qbIX7cvoIq484/vjjH4BGbrJCvq1oG9BWo20zqj/U9iZC1H81mY5q1csQ6x+KeHSkHQbS%204VMRA4/RLr3zzjsefYbXXnuNjTbMb98KClf37ne5jkkLZDUX7Nd//vOf3ne/+13vkEMO8Xr37s1I%20gJqAZsHXrtAATB3bTiCPrYXf8NpvfvObG8GHz4UWFuIElkGl/BwO3r+7IaCwfkqlnEH+6LFjx3Kf%20zJc0f9vyAO7IzmfUZ8MW3OO6BweStGd6t912S5Hpb775pjd58mSli8lw5Q3kBBIbGIhrT0QSbgTM%209jGqJ+iMACivX4VM1BnCAOwmW88fy+8XLFjAH9R49NFHPwNPNA3I8mgcHwTp/bYIQC47HmYqcp7j%20OpiuxnjssceW3X777f/D/YcffvhwhIH1+++/vwYd+10aQELBRuRw3/PPP38s0vGLFQayRRWASrQ+%20YF6N7BCbGwYyTUnmm+rf/n/+859P5+df//rX3scff+ypIORbQLkAnSAH0T2WCxDKeg5yLBP/9Kc/%20TbSdwHnz5tEcKMyWj2BjATQhHIzjcJtPjA/XHlUDCAPoDa9T6kXhhv9gMXbhwoW0RYxTqf4JBUtA%205PCUPBLo2m2X+focgQLxAWL+ep4YTJyFnxsaGuhnMSlE6F0mVlv6ATzOaKHNDOLyzkQBSgKVY87a%20vXBEzqVU8eZ8iJhKdJB2CRgBpZPHZaPowRbTB3DVaqHXh4V67oiOKgTaJ+MY40sA5PlL8xJsI/PT%20mE+YIlDEczTYYG7pN9BJnHfvvfd+lk9NYTIkBGy9/PLLn5syZcoqPHRnaIIqU6yYAGMpWeWoA9h1%203333HQfG0ymk6uEPlQAwj01hKVUBEEPz9eZzYQt5h6LLli0jw3k+4XRXALjPnMt6wL3zySOc126u%207QBrtmOQrnnmmWfeVh1hZ5NBHWS+iS03zp8//2O0tSY3UG5a6phjjhkPp2Sc4n/lsCWRaMUe/WJM%20IdcGaQD+vyBgxx7pYc/loGHmz36WgCBbAJgXGAwsoOamm26aJ0ab1kJ+oTWibdF3hQhAC8KQjtNO%20O+0QPPBgSFh5whCksgwmYJjtINIUfPnll2SARkexBUCd35UCQIa710SCjd3vlTHl6Hc1Co9xS5yf%20dl8a4fDDD5+2xx57jAAPVA/gI7eoKVz4/PPPz4EWkAB0RBWAhGl8SM0FF1xwPx4yXo6dtgR7Nm7c%20qOofZgVZrsSctf8ZxOOlYv+DGGcLM7dhYV02LRAaKXz66adZsQH6A6NGjfK++OILf4ChLoMCwHQx%20ne8x6G95/0oaTdh1112PQ6Rw8vXXX/9GZ6FgqviKH/7wh6cB5h2fDQPgD6Dal+3HH6D6WoLpzSuQ%20H6hFR00pCQEITwa5zHcdvygYQFYBBYbPweQy33/ek08+OR9+1DqM9tqJEyfuB6bT0dM6C9II8hNk%20LmrgnJ+Nr98xvGyPggMIBOoNaZqZCwOgACgWfe+99wgHUyv0wxz3fvBOK1naDCqeAES3wdkydmJ6%20ULVPlJSve4whm7z+rNfuvffew1BnMYz9iMGYBhiUAj7AwWfnB1xAiP1eTx4aHKA1qgmoQOuFZMM2%20Le0iVS8hkF2aO3euX6Sw++678/gQNP04tmJhAO4oDTtH4Wouu5+rHiDoWNjz+Tyqdqn+XGsGDGEx%20CJnKfqYJIBhUX19PbMBGAwXPU5swZE8aAWg2g7o9igDwghTU+st4yIEo8qR614PUuNYPcQB2gh0B%20KEnEzz2NAopRQUwPvc62+7YwhJHLePd+7rmI5VnxG6hdpGnJZEHAsPF+4ccLL7ygzKsGp2oFeXyp%20GchlnU0Hd1xzzTXzZs2add306dMPwg1T6AS/yIC1AHhgAn+gDAKyN+yRoGEJQE+HgTbTIwhA4LlK%20bbueea578ry8439oVwI2YfWECv2k1qVdOcqX4bNqAjIQlAySRh1pELTywoceeuhFjfqoAkCOtZmc%208mbY8vfQvsF+jSTKXFcJ3P80FSdasCVbT6OAfE6AAETzB8TMELJHdyR4mBEUwrW8tAqFRFgAeKuq%20HxZ/1iE8nwsHkuq2VcCdUfmN5J3hYVvUbGDGXNTCm8ABqcVExYGQsio0nl9ObYBc9QGIS4fpB0kA%20ILHqCDGm2GrfPTdSvt9toKAQMBQSpsqX05cHUdXbA0ueP0PAHe67776TkSz6K/q8FfdrY8PnXsBi%20Nr/yyiubyMNOFYWqnBiFIMfAAbnBjQA0H4CMFvYPtUMcm99zCpPjHUemqPa7K+bm2aPfbi4zXSaH%20ZvtssAfMsZy+cGKU8Prrr8u790w6WFp28HnnnXc+czJ2JMDt2Wef/QjC+EsiQcH2TKCf/vSnoydM%20mEDm55wPIPWPknCqpmY4i58atTUGm2qZgH/xtK6Y7gI/dtMxCbUNCGk/0PaT6eifKMzX/IA0/IWl%20uI4O9xhA8tUHHHAAGc0+Z3OxAG4ZIfzb7373u0U/+tGPHrDKwzKhGkBz/hBrni6VLqbbn/VgxPy0%20aXT81iFV2c7vlL9mKxIFedZBJVuuANgYiC0IWa9xBcl2hOnxa7Z0BGJ+IAVktZ1C9eqrr34BQGgS%20J+DstddedmGIRr6azAUHYq+gxFAyFwYAhlbxB8vDd6Fgph5ZnkxnBhlBerUjEaeOxHcMGYVs9SST%20XTXunhNUjp1LACT4OuYyOFeuwN5nH3WK+boe4NpkMpU8QG6GU8c4SYSwO7Ot2YpCOCiJMFYRC5Av%20EMUEpABQLCHowHBF8/5tIu6PQlECEtQGFBTNExDzu0MAwpgpFet+F8z4cAFwr8l79EMrkhkF9YVU%20vJjNmgCG2iy+Yf/zmO1n0G8gwTfYbkVuiUg4wK233roIocYcqJyD8cBBkmp1Do41IzlBhldbtqi7%20BUCMCMvURREAXeMCP3axRdSmkS9MpCBBp++AbKwPCilFvMMOO6QBCDUCgh+kCEihMPiyEY7466gL%20fKJTOIBSwZjd+zi2LErsh1apKiFeN3PmzJFXXXXVLI4ONcs77Q4BiFKCnU0AwkZ8wPGiMF8CYDt6%203FcVdurxxx9fftttt82x5gZ0GOx/o5kfsDXIASQlA0CgJrQNmIo0GGqmL6SrEq2cNQE1oDPOOMNO%20FPFHUvq6QwDEvDDmh2mIfBnsRgNhQuPmDKj2HeYXLADC/O0ld7iG0IHAFRrhiK8jBsCqIPAijRxN%20K2oCGslDGwyKBAQh3kxdcskls4Et7207f3LyiEopSmBCg3XrBDlce1kA5a3m3a0oDxtv2+9sQpS3%20AMj/IMgjh68ryHj/nC1MH4BRAZNzFAiqetZsHMucjJw/YQFQ/w1wFn+C6myiuB1RcAC2sl/+8pdX%20wM67zBfmLxDIF4SlS5d6tEfwTL8CQOSvC1CQAIQzsKsFINu9o5gHxfnsj67WfGT6avCigWX3eMZw%20ONx08MgHNTcEZBsEMz0bAjA1ihOoKWG9MPIPs3EAu5FUC0AQCCaCKGB/ABX9oY5YKl6IBsjmXefj%202UcVAG2D7mufn2ufI94N9bpSANi/dejbOo5sMp9l44DoyQOZBxcHUCZ2l1tuuWVfDOZ5uXyBZI4J%20IdX4MzVcm8bWAPqsCSFaFwDlR5ocomyVmNYVDl4+4E22e0URAp0fKgDudWQ6R77sc3cQw0j5W0Bn%20WSPgm1xUCPG4iwOo0VQTla0jT+ULBGoAe0oY2lrUAwxEuKFRL/LVHNEoAD+Cg9kEQ0b3AcLj8rDz%20omiTIEdOlJXZrhDQBrP+UdhDdxHnY7hRAMwBcQD6AxRCt8BUi3RsRV3gEmEBkSaGYC7aLUgo/BwP%20GOJIvyYhNIL5/dHo/EkACBw5AhCZ8Z3VBtrm60i69wtkvnsNRxdr+XR+dxL7VQIgGB7amRnBZvgC%201RRABwsgGLQBcwcell8XFQdIo7hzKdq12B9gagHKhQPAIemDdQG+B+9TDiG3MhH5hoFBuHoU2DYb%20sztjXkKZr+JQ+DkclT2V6+AAk523cQGO8hRqAh7FHMxG4QDWWgHr0b4JWysgmQsEQtuMdOIQePf7%20EHTgqiBs6IAylCmPB0pYazkg/DFkJrdibHeM+nyAHzdTx2ORwkqX6fpMJI7MVxlXTxEdTJob8IH4%20ggSAWjh1xRVXHIEw/CPwhrzrIBaAz61AY1fAAfyQwhBFADISgj/+8Y8XA+s/xnUCyWyqPjJY8wEB%20OvDHsMlOhavjcMZHdwjdz+Fz/NTC7D4FW/aex3o6s0lnjn3PWgtlArlPSHggVmEbyLDQxQJQyLMP%20VhI5KbQs3MUALr300t3g3dvMd2sB1DhT1fcHnnjiiQWQ0jTO3x+d3j+LKg5KowYlVKLCv0EZw7yF%20T0zWdGsCMPq+GHTPPffM5fb73//+RDjg9ZivybUZqA1yYgHEcTBJ9ORzzz33/rxwAM35w41HK8HD%20G7lND+V8AGqBzz//fC1CkmGQ0ibkvSukItGij/rw40HMLhROVpO3rVCqaIyXFoPJHQbTm0IWdhPg%20efa9qoPCagJ2dsJABwfI8ro3jOKBzOgx3Wvj/ZrpQ3XDV50yHJw6dSqxgPEqB4MmYDawMyO5s0IQ%20ZRHH0BBTWkjhF4RZPkVRi1sOPfTQ3ckPMpYTQ7B4J00vcQGtHqowXIJAU81ooNKE9Vt4q7xwAEw8%20+AATPbZiejKLCeT9qnFU0A7xIaoF4GeZi6Awy7afUZgdBtkGCUC+foTqGch0OnwUcLu6qWhCoNBP%20CSEyW/X/1AQ0BfJXxCsKAWdrQSNHwgEybFiteiUeeAMqUWaiKGQ4vX9QQkzla0wgWYPhgFQ7qWA6%20ShKAqCM/2A8IX6SB2yjMd59HQIUjho0CYINaxV6rmGigFoWy1wxMAxD6ElP4iAVk0Dxu2TBI1/7l%20L395CeH6gnzTwYoA0lQXUOXvo63Bfl+0XlYtQAXeZTPhoosuGuv4BBQE4eE87uL4kRkOCmJa2HSv%20sHtJtUtdkukBL7cqriBQAKQBlIvh4pwo/96ACTxPaW6AtbbjJlMTsIX7eU0N08WaXIClxsbAw+/P%20eQAqBMGDdwBCON2pVVdIqCoabiM4gpF9gfxW6Q5v9O7p5LnVy0UUgvAZQiA5fXwryxRogvVIEK1A%20n/tCQBygEoTFpj90agI68jEB7Xg7Vd0JJ5zwACRsnJsIUtZLAoC4lKEgc9U2ChhVAKIJSDj8m7NA%20k8KpEYXUNUd9rmtzrv1XDGLCiQkg+l8sxhUKC4eb8f6ReCmHu3I4X9e/CotLn4Pyvoa8cAA5gXjB%20wy1wLGzm20KglarZiQwBGW9+CWdjPYSuBh01Vh1fIMAThtVHAZzYbHVPD1/OlZzbbHP8bOZrvxg+%20AAdeM3iyDJFANXCJscy5wPYrJUy+SPvas4UH431N90AAJltQfntWAVA1MFofPGhKrsUh7algzPtD%20/SzCJJJXqV4wVWzEd77znbH6IQWp//Da/chr95PJqmZyp3y7QuvOFnaFoYeJzvVmgEHzuHPxxRd/%20hWLdaQr/0Oz1hBQNCJUdCrh4+nXXXTfXrgkIEoBqwp4QgqwLQ1DV8yFcCpZFCQgVazET9Xv4LgMk%20sBfeciFp7MwI7xTcq3131GqSijx6mC4KrJa2t+cuqtPsY0FzAXtaG/BNLLVYtncWGcx8DON/ml7k%20ajgoyRdXA3BL/4ZRjd4fIF8gpwbgfhVuuBWLE/XOUgsgTJzM5yLQFJRhPMbzaFMxdYmd1LWjPvwe%209jO1r3WMKAAaHa59dxNHbsyv79mKxXz5LJXo8xGaH4CXRpCxHIAE5qjVstUE8Dues0FYQHhJGAiv%20JLsGb5+6QLUAjj0ns1dASEY48wFUGCFJ7DTkCyoogqB9h40UiKM5dq6nL0Zrm+14zn21HiIKr6IA%20qXyVizUiUqsGNpOyBJW8oNBsxNT+R4DrNJAVYUigpoVvxyLFS9CuNrUAVB/l9lvEEF6cxMWKskwI%204YMVBvYYw2Xfqe7gILkjPWCaeiiSmAvBLEZGUAJAYVY2ln1eceKJJz4EgW9WqGdai3l/wEpNDQsL%20AwUC8UbrjLrYrhdEmJaCw3cApowPcWsEhQgqZrXCr+4UADKbsTyl3bHdoat/BWkDl8HFYr77P2TK%20JBCMBGrw3uY9Acw9SX4JEDL2fqPh5WZ+l48AqBhkE5aInQoseRJHvVkaphw2pwKJiMOUJVRySEUg%202kYEgqKkaW01z0anrpA3g7jqPSgMLHpGEIUfeo2sPUOIOMAUvGOwCcc2kfk4Rl62oXhlKV44vQrR%202tZcq4Ym3VoAFBFOwtJkD+MhQ7NNCGGihD+C+4sWLeL6gEIBJZlkfr44QKTsIB0dRBruaC90RnGg%20utfxYhMZzsUl+P/Zz8Bd6IgLDOLqYdOdCSKcScwsYhOqt/kSiTeDfICEVDyygJfCcxwaMCGEW0UD%20tEdLYHe5SHEaAjIOD+4vAegEw9193p/PItMpYFGY4nr8BQhKUUlCSTRwSRrEUjD0yVhMQUuB6WET%20RGqwoATfJLqXfARbEyQdDKAGN58hECjXhBCqXYJACBNXQgtsxLYCmmADEMGMfACdHzG8U0WrMnMc%206RGYEk0Q1LElQBR+mgCfeeiTFryq7wvwYRyqg0MniOD8oVjuZwb8t7mWEGSyCUA1VTwQJt4w66IQ%20HJGcq8b1a/EjhoDpcgg9ZKb4lhBemy+Eq9WveF8y3Y1nu2OmTcm+sOKwww7bDXMx9FoYfwvgjXwg%20b7IWhbA/oZ2prbOCQUn3RdFgwlLYmgmK69mEoWs04v0A3OcKFQR/bCGRD+AyWfdQEzKXJ4Nicl8p%20z4IQ8gUmm1PFaCa5tXkgJJSTR7ZeffXVVmFIwLwAzCO7Ce+dPQ8MrYOzVwd/oNJ6nVkzsn9fwhEZ%20i5GfctYG5CjW4sddPBpjIrOhne03hckx5kBahtC8Foxm6l4oaBpRwGpo8yYsJ/eHrNlAeYWy/2gD%200UagDTUgUDVa0i4GeeCBB46DdzkKgkEUitlAaQBWrvpATPdQTIR/8WZwaV/2O/uf6eF1KP8mk1sd%20R2+rWTRyFdoKtAZTKLLd9QGEAWwx6FGKNzD7FXqHMN4dsD8mgo5SRCA0Suaie2PlmNx3CIkPCAEH%204GWRU1GoM8fE+20WPzeaWULN2bCApAMDp7GwwPAZM2bcgCTPWNl1MZhhHx+ulcOYjWI8KjBItr9b%20KCZqVy0aSbvOWdkSCNZk7AHnfA/wxl0trAER241ICT+WbdXQpA0Cgfn1WBz6Idy0xsUAGPrZkxBY%20lWJKx9fj+zRCtjRq1uu7LayKifaeo70BvgDRwEHvvvsuy8KVKFKBi1sUMghI4e14o/hK1BE854JB%20SXtCCEq9Z0GCxHy76SFML1IYOPI5B+CvSBrxHbUMC4fADtV3mwaIic4e52FQzXdMmzat7qyzzjqB%20L+dAWl6D0y0KkbngKmOn4rqX3UUjpQG47Q3vfqAyfE4xCG/Km2ttAHr688D8BSauTAAMqu3+apnY%20BzD2PP2Pf/xjPUZ/BXhzEvqcA5P8yYYFaI5DPau93DeIJO0ZQWB8K1U7gSAw1Mb0tWwpsX+uUPH+%20hRde+FccWmuSR0mopCHd7gTGoSD7vgkDlf1ehncDbwQAVAGmz6IPBpCIfoKwG9UEsDaCQrDOAEGK%206tpdJLDsrrvuehFTig+DJI2DTbcfrPlpvNF8FI3+wYQWqylRpoqoOR8BoGBRw5QKEWHj6CoW0c8C%205q+aBgI/O+It7Yu5y+7EuwOfx7wALtc7E4JRma14FZNHGgEFP2PVdbjzAX3VUIs2DK0eteaTEQUM%20ANMrcCNSBkxrA8zbgJKv5WS8EYC1+iGwSUdhIaPrKTgAkFjD5nde4RQT7DwhdvYnczD/geXfXrBq%20NerIY/gBQ+EfjOY7HdDKMiBo7zYIxfpnn312EXEANsOzZpkBlYJXkYloO/FmFAaznzLnCCdoNjjB%20GqvQIMnzsXDkz1EldDY9VAIWXUYxUetSAKiJuBjXJXhXEEfzZjN4+5Fvhmc11oqunmZ5WWDQGsO/%20FtsEZAxztaxIh7l5L7QKCYD1FpEmtE1mmzZSSEexRmAQVFYXqfnY5tPp1mLT3Gf9n+GHnLm0ccQ3%20GE2ekgC4PNPIz1YWrhuSWs3Jmg5mv0w6bc5rMZ8T5ruyBMiablWSoJAcp39F0iv4UKU1RoW/Wv/H%208KTJ4lmZg/BuYzPntbkCkNGJVl1guWkCiXROu91sIIkkpluOYylm3f7Vw0CZbQlBq2ktFvMTzsBV%2068g1MSRjtTb3HcLOOSJ9Tqj1CMNjSjhMFmNbrWOJAJ6FTg4VReFmGbJTEzXlqlsoJsK/rL9QfO4M%20Tm2jUbKrzCcApLcBB09k0WKXU0wq+2pBle/fHVVeEBU6XCtMuDgIbRRWF7sNocoYYgHFJL3mpRTJ%20rr9Mg+BQryOz8X+ake2bAxzgVSeeby+mAPCXVpvikeFo9cAA9kKoMoCARKKI9iAD4hZzHBsAj27j%20oVIKSOR4O5M8GtC+MtsN5nhHMQVAINKOBowYpKVlLRCpmNShpo4tMQFot1/jawCdtYb5muxRkGAn%20u0BSVXmyntLqgkhsRR5BGkWZEtQCAuAU5rGfm93K3mJqAGmBCjPiq0wTIJEoYudJA2S0LWEz0GZa%202rS2YjuB7j0UmyazgEjF70B7v7Qo42oz+1iRNED4vYrOfDHc3f4/o5hiiimmmGKKKaaYYooppphi%20iimmmGKKKaaYYooppv8FlJhXILrvZ3wAAAAASUVORK5CYII=%22%20preserveAspectRatio=%22none%22%20height=%22102.996%22%20width=%2287.169%22%20x=%22159.832%22%20y=%22119.548%22/%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20x=%22205.024%22%20y=%22157.686%22%20transform=%22scale(.98866%201.01147)%22%20font-weight=%22400%22%20font-size=%2219.302%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#ff0%22%20stroke-width=%22.504%22%3E%3Ctspan%20x=%22205.024%22%20y=%22157.686%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ERAM%3C/tspan%3E%3C/text%3E%3Ctext%20transform=%22scale(.98866%201.01147)%22%20y=%22187.881%22%20x=%22205.327%22%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20font-weight=%22400%22%20font-size=%2222.015%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#0ff%22%20stroke-width=%22.423%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20y=%22187.881%22%20x=%22205.327%22%20font-weight=%22500%22%3E16KB%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E", + "otid": 1599036668965 + }, + "design": { + "graph": { + "blocks": [ + { + "id": "6080df5a-c853-47cf-aaa7-c5a8f1e65879", + "type": "basic.input", + "data": { + "name": "", + "clock": true }, - "size": 10 + "position": { + "x": 168, + "y": 392 + } }, { - "source": { - "block": "b359cb97-c324-4ffc-a73c-64c7f457e6fa", - "port": "outlabel" - }, - "target": { - "block": "e9c87f9b-8312-41de-af70-db0772825e09", - "port": "8c3ce21f-2214-489f-853a-d60a223034da", - "size": 10 + "id": "9edd47b2-4907-40d5-b10f-6aab4a9e797a", + "type": "basic.inputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "size": 10 + "position": { + "x": 312, + "y": 392 + } }, { - "source": { - "block": "f81791c6-f02f-46d0-b738-5895dd124243", - "port": "outlabel" + "id": "270594ca-dba5-499a-8030-08e69613c220", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "target": { - "block": "e9c87f9b-8312-41de-af70-db0772825e09", - "port": "04841e3c-8761-454a-8d99-496fde26ea1f" + "position": { + "x": 392, + "y": 536 } }, { - "source": { - "block": "a875b188-26fa-4052-ae81-4b5f22f4c1e5", - "port": "outlabel" - }, - "target": { - "block": "e9c87f9b-8312-41de-af70-db0772825e09", - "port": "1ac9dd5b-9741-4af4-963a-50cbf8c4c6be" + "id": "ecaf7923-2995-4c02-a531-778edf600834", + "type": "basic.output", + "data": { + "name": "", + "range": "[23:0]", + "size": 24 }, - "vertices": [ - { - "x": 1800, - "y": 88 - } - ] + "position": { + "x": 1392, + "y": 696 + } }, { - "source": { - "block": "786f1170-66ce-4c3a-acdc-073388546edd", - "port": "outlabel" + "id": "7b7a0dd2-57ea-4f82-940a-a1fafe7962bf", + "type": "basic.input", + "data": { + "name": "", + "range": "[23:0]", + "clock": false, + "size": 24 }, - "target": { - "block": "e9c87f9b-8312-41de-af70-db0772825e09", - "port": "72632c73-fe18-42b3-b81f-46999ddfdb20", - "size": 8 + "position": { + "x": 168, + "y": 712 + } + }, + { + "id": "043752cd-506b-478d-affc-bdad68d7d0a9", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "size": 8 + "position": { + "x": 608, + "y": 848 + } }, { - "source": { - "block": "e9c87f9b-8312-41de-af70-db0772825e09", - "port": "233059d5-8ab7-4c63-8dab-0c6af3a1dc28" + "id": "a04d00a7-87f1-485e-b24e-13078b946ef8", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "target": { - "block": "bf61387a-ef36-4f3c-898f-e274c3136b18", - "port": "inlabel" + "position": { + "x": 600, + "y": 1008 } }, { - "source": { - "block": "472c0cbb-1d6b-4af4-a439-52f52118d405", - "port": "out", - "size": 14 + "id": "b07ab569-1013-48d4-916e-4e447f8ea11b", + "type": "basic.memory", + "data": { + "name": "", + "list": "0 0 0 0\n0 0 0 0\n0 0 0 0\n0 0 0 0", + "local": false, + "format": 10 }, - "target": { - "block": "9bc05443-4e8c-4288-a609-67e961b01ca7", - "port": "inlabel" + "position": { + "x": 584, + "y": 504 }, - "vertices": [], - "size": 14 + "size": { + "width": 192, + "height": 112 + } }, { - "source": { - "block": "d94290b8-502b-46eb-a630-3b0800bf3c9b", - "port": "outlabel" + "id": "4a9d02e8-e892-426f-b5a0-ddeb0edd071c", + "type": "58ed2b5c7e33e2f215ccba6c101d9ea4ff60f284", + "position": { + "x": 768, + "y": 912 }, - "target": { - "block": "10cf0acf-2627-46d4-8c0d-840056c3a6be", - "port": "3178c182-b1bd-4e92-bc67-6e0868b62279", - "size": 14 + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "1d6a09a1-5455-4eae-b831-59fd7086b1ff", + "type": "58ed2b5c7e33e2f215ccba6c101d9ea4ff60f284", + "position": { + "x": 768, + "y": 1056 }, - "size": 14 + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "63e2623d-a6e8-486c-aade-edda359a0027", + "type": "0d02b5c37dd73bb78b27425b4fd615e89dedd8d9", + "position": { + "x": 632, + "y": 648 + }, + "size": { + "width": 96, + "height": 128 + } + }, + { + "id": "1f7c8d33-19ca-481c-afaf-db7d5930a013", + "type": "d1635cb33c6d31e1ea457005c78d574fcf71828b", + "position": { + "x": 352, + "y": 680 + }, + "size": { + "width": 96, + "height": 128 + } + }, + { + "id": "43c5bcc0-920d-408b-9fb0-b2cb7a0e6482", + "type": "6e4fc811dcd6d1ac703e608270f81ee906ee7e98", + "position": { + "x": 1216, + "y": 664 + }, + "size": { + "width": 96, + "height": 128 + } }, + { + "id": "3dcc0b06-f8e0-46a5-a620-fc86fc2c1cbd", + "type": "7dd73370f9ea522fe9c9e331d4d240f520f61d10", + "position": { + "x": 1008, + "y": 568 + }, + "size": { + "width": 96, + "height": 64 + } + } + ], + "wires": [ { "source": { - "block": "af8afdcf-1f69-4187-81ab-082d28c98dd9", - "port": "outlabel" + "block": "6080df5a-c853-47cf-aaa7-c5a8f1e65879", + "port": "out" }, "target": { - "block": "8205f22c-1d31-4e0a-a4d9-7fbbc780e32d", - "port": "5c70a159-1900-4d97-9e7d-961876e03bbe", - "size": 4 + "block": "9edd47b2-4907-40d5-b10f-6aab4a9e797a", + "port": "inlabel" }, - "size": 4 + "vertices": [] }, { "source": { - "block": "b63a0660-3988-4951-b606-0177b556defc", + "block": "270594ca-dba5-499a-8030-08e69613c220", "port": "outlabel" }, "target": { - "block": "c4492dd4-658c-4c26-9b2b-b6d26243039b", - "port": "e3bb4d9b-5ba2-4987-bd84-cd8763a214cd", - "size": 14 + "block": "63e2623d-a6e8-486c-aade-edda359a0027", + "port": "0b91cb0d-4144-4939-8755-e331104016db" }, - "size": 14 + "vertices": [ + { + "x": 544, + "y": 616 + } + ] }, { "source": { - "block": "98bbdcc7-f58a-4c93-be85-ccfe5b16ddb4", - "port": "a8eb520f-8b09-41ab-9146-919bf44b6078", - "size": 4 + "block": "043752cd-506b-478d-affc-bdad68d7d0a9", + "port": "outlabel" }, "target": { - "block": "64f8b6de-1661-4bb4-a2eb-5458a30a6d66", - "port": "inlabel" - }, - "size": 4 + "block": "4a9d02e8-e892-426f-b5a0-ddeb0edd071c", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + } }, { "source": { - "block": "5f897fa2-936f-47cd-9310-a36fb4cb14a1", - "port": "ad29e130-c17a-4544-9237-4c72551ccbeb" + "block": "a04d00a7-87f1-485e-b24e-13078b946ef8", + "port": "outlabel" }, "target": { - "block": "8205f22c-1d31-4e0a-a4d9-7fbbc780e32d", - "port": "25996d5e-6856-4828-8cb3-5dea5ff5cf9c" - }, - "vertices": [], - "size": 8 + "block": "1d6a09a1-5455-4eae-b831-59fd7086b1ff", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + } }, { "source": { - "block": "b6323c55-9b6d-4753-8953-7fb34775a27b", - "port": "3d584b0a-29eb-47af-8c43-c0822282ef05" + "block": "b07ab569-1013-48d4-916e-4e447f8ea11b", + "port": "memory-out" }, "target": { - "block": "8205f22c-1d31-4e0a-a4d9-7fbbc780e32d", - "port": "dbe1622c-3510-4132-8b5c-2fbf81d7f581" + "block": "63e2623d-a6e8-486c-aade-edda359a0027", + "port": "d80bfd80-1f6d-46af-b5de-5cd121ebe630" }, - "vertices": [ - { - "x": 1000, - "y": 16 - } - ] + "vertices": [] }, { "source": { - "block": "7a989d63-cd4a-4c47-9513-57b4ea6ee141", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "63e2623d-a6e8-486c-aade-edda359a0027", + "port": "2f18358c-ebaa-4fbf-99b4-610ab78deed2" }, "target": { - "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "block": "43c5bcc0-920d-408b-9fb0-b2cb7a0e6482", + "port": "25996d5e-6856-4828-8cb3-5dea5ff5cf9c" }, - "vertices": [] + "vertices": [], + "size": 8 }, { "source": { - "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "1f7c8d33-19ca-481c-afaf-db7d5930a013", + "port": "afe50480-6fe5-4ca6-b639-c730569a6a1d" }, "target": { - "block": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "block": "63e2623d-a6e8-486c-aade-edda359a0027", + "port": "9931384a-74ee-4de4-9df7-cc04fd19cf46" }, - "vertices": [] + "vertices": [], + "size": 8 }, { "source": { - "block": "26b71a43-5955-4452-9b0e-94ea6ef453b7", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "1f7c8d33-19ca-481c-afaf-db7d5930a013", + "port": "c79430a3-a90f-40e9-af05-e6da44b5ac8d" }, "target": { - "block": "c4492dd4-658c-4c26-9b2b-b6d26243039b", - "port": "1e637a79-4a6d-495c-bcac-9664bdbe4b94" - } + "block": "63e2623d-a6e8-486c-aade-edda359a0027", + "port": "c61902b3-38ce-45bf-98c9-322638c2264b" + }, + "vertices": [] }, { "source": { - "block": "165f75a6-a05d-4025-aac5-91f45cd6cd30", + "block": "4a9d02e8-e892-426f-b5a0-ddeb0edd071c", "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" }, "target": { - "block": "95c4416f-62f5-4196-a406-f7915d40a572", - "port": "in" - } + "block": "43c5bcc0-920d-408b-9fb0-b2cb7a0e6482", + "port": "dbe1622c-3510-4132-8b5c-2fbf81d7f581" + }, + "vertices": [ + { + "x": 1128, + "y": 888 + } + ] }, { "source": { - "block": "5aeed2ef-7590-4245-a540-a63acb068e09", - "port": "ad29e130-c17a-4544-9237-4c72551ccbeb" + "block": "1f7c8d33-19ca-481c-afaf-db7d5930a013", + "port": "c79430a3-a90f-40e9-af05-e6da44b5ac8d" }, "target": { - "block": "d155022c-5f5d-4a1b-8e0b-9643481e530b", - "port": "325fbba1-e929-4921-a644-95f918e6e4ee" + "block": "4a9d02e8-e892-426f-b5a0-ddeb0edd071c", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" }, - "vertices": [], - "size": 8 + "vertices": [ + { + "x": 560, + "y": 920 + } + ] }, { "source": { - "block": "d155022c-5f5d-4a1b-8e0b-9643481e530b", - "port": "bf25756a-65a4-4b09-915d-494010d6f4ff" + "block": "1d6a09a1-5455-4eae-b831-59fd7086b1ff", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" }, "target": { - "block": "3066cf48-9921-4487-826e-0464a2dead7a", - "port": "in" + "block": "43c5bcc0-920d-408b-9fb0-b2cb7a0e6482", + "port": "49fb1766-1e7f-4706-9872-a6cd65cc9f2d" }, - "size": 8 + "vertices": [] }, { "source": { - "block": "98bbdcc7-f58a-4c93-be85-ccfe5b16ddb4", - "port": "73948305-b05b-418f-88af-11328f400cdc" + "block": "1f7c8d33-19ca-481c-afaf-db7d5930a013", + "port": "9751f777-00ec-46c1-8d85-07d2dec1e653" }, "target": { - "block": "045bea3c-647f-44be-8b84-4957291749a4", + "block": "1d6a09a1-5455-4eae-b831-59fd7086b1ff", "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" }, "vertices": [ { - "x": 1176, - "y": 928 + "x": 504, + "y": 992 } ] }, { "source": { - "block": "e9c87f9b-8312-41de-af70-db0772825e09", - "port": "9aa5255a-60da-463d-ba87-d4f96456d802" + "block": "7b7a0dd2-57ea-4f82-940a-a1fafe7962bf", + "port": "out" }, "target": { - "block": "20d63505-e2fd-44ed-95b9-9f45e8875e70", - "port": "in" + "block": "1f7c8d33-19ca-481c-afaf-db7d5930a013", + "port": "2117685c-3a4e-4403-a12a-5de3ed4c20a5" }, - "size": 10 + "size": 24 }, { "source": { - "block": "8205f22c-1d31-4e0a-a4d9-7fbbc780e32d", - "port": "d3e51db6-385f-454c-ab74-d71058b21962" + "block": "1f7c8d33-19ca-481c-afaf-db7d5930a013", + "port": "1fcc5668-ae6d-4286-9b66-f8f113c12bea" }, "target": { - "block": "c4492dd4-658c-4c26-9b2b-b6d26243039b", - "port": "c6fdfa0c-392c-41e8-b043-d6f35a656465" + "block": "63e2623d-a6e8-486c-aade-edda359a0027", + "port": "480cf49a-cf72-4fad-a37e-92acddd25d32" }, "size": 14 }, { "source": { - "block": "c4492dd4-658c-4c26-9b2b-b6d26243039b", - "port": "11f6b6c3-3db4-4536-b9af-3a4182303be7" + "block": "43c5bcc0-920d-408b-9fb0-b2cb7a0e6482", + "port": "81a20a74-f096-4c3b-bc35-91917f08c79b" }, "target": { - "block": "727e032f-d74b-464e-81fe-b30b1e669b9e", + "block": "ecaf7923-2995-4c02-a531-778edf600834", "port": "in" }, - "size": 14 + "size": 24 + }, + { + "source": { + "block": "3dcc0b06-f8e0-46a5-a620-fc86fc2c1cbd", + "port": "9a292d4b-866d-4b91-919d-e75f9a0714b9" + }, + "target": { + "block": "43c5bcc0-920d-408b-9fb0-b2cb7a0e6482", + "port": "61496e71-85ba-465b-89b9-fedb08b8590d" + }, + "vertices": [ + { + "x": 1136, + "y": 640 + } + ], + "size": 14 } ] } } }, - "21cfcc19a4ad14c5fb5e8cfebd018ec356fe7542": { + "0d02b5c37dd73bb78b27425b4fd615e89dedd8d9": { "package": { - "name": "0", - "version": "0.1", - "description": "Un bit constante a 0", - "author": "Jesus Arroyo", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2233.563%22%20height=%2257.469%22%20viewBox=%220%200%2031.465601%2053.876499%22%3E%3Cpath%20d=%22M21.822%2032.843l4.092%208.992-3.772%209.727%204.181%201.31m-12.967-19.26s-1.091%208.253-2.585%208.919C9.278%2043.198%201%2049.389%201%2049.389l2.647%203.256%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%22-.863%22%20y=%2230.575%22%20transform=%22scale(.90756%201.10186)%22%20font-weight=%22400%22%20font-size=%2254.594%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22%3E%3Ctspan%20x=%22-.863%22%20y=%2230.575%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold%20Italic'%22%20font-style=%22italic%22%20font-weight=%22700%22%3Eo%3C/tspan%3E%3C/text%3E%3C/svg%3E" + "name": "Memory-16KiB", + "version": "1.1", + "description": "16KiB Bytes Synchronous memory", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20viewBox=%220%200%2087.168922%20106.43202%22%20height=%22402.263%22%20width=%22329.457%22%3E%3Cg%20transform=%22translate(-159.832%20-119.548)%22%3E%3Cimage%20xlink:href=%22data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAgM0lEQVR4Xu1dCZBU1bm+PdPTM8CM%20AgMO+yCrAq4oGjWKIIorcYnRlD59saImGlOaqK/UPPeHu5VyjyYuMRu+uFVEjRqX4FNRQURwQVxQ%20YdiGZQYGepZ+33frfK9Oneq+t+/0zHTad/+qU7fv7bt0n/8///L9/znX+1ZTTDHFFFNMMcUUU0wx%20xRRTTDHFFFNMMcUUU0wxxZToofuX8XPo82LqcLaZUhUAMbucraKi4viysrI9jCBkp5gybKBH0un0%20cuy3URC6WwiSXvcRmV9ZVVV1azKZPBvN69+/vzd06FBv2LBh1mkxff31197ixYvJfa+1tfUnHR0d%20x7W1tc3HV2kJQakJQBmZjzYUo99n/qRJk7xTTz3V69WrV5bTY/rmm2+8u+++29u6desO2L0cAnCq%20YXy61AQgYe5bBebvB9XvJRIJ79hjj/VSqZTX3t6e5ZKYBg0a5B133HHenDlzPPRZLQ5VG+a3lpwJ%20kPoH83uT+Ww77rhjCPNjYh+Z/hqK3T5oW9C2obWXlAaQAMCm9SovL/cGDx7sQaWFXBbTTjvt5AsA%20+qwOu7SVSTnOpSgASdBkSjTtPhybkMtioomkyWTjLvmjSK0UncAkJLmMAgDKUwBiqqur81atWkUt%200Bcmc2XJaQCBPtqCvMrKyjztf0wIm9lp1AbjW1paPrIwlUzJaAAJAKgajbYtTwGIaeDAgd6KFSv8%20zmMfloIJcCFf3rOCDT7AKAgAAY78nMCYqC3lB/Q1/Zgy4WB7AERcVAFIiPE333zz6JEjR565ffv2%20Xlu2bKm58847d2psbKQAhGiAmOQr1dTU+J8PPPDAE37wgx8MhgO9BeZg++bNm18588wzXzYQcXtX%20CUGii5ifuuyyy8YD7Fk4YMAAOTHelVde6X300UfejBkzPAhGwG1i5ksA2HdPPfWUd/LJJ7NRczKM%209iOp55577oyzzjrrvwkOGUHIFFsDJIya6nPQQQfdSweGKoyNAgBNIIcmRxQQM15ELcl9oKdU/4yh%202W/sR/anvz98+PD/wqnPozUZc9BeFA3gMv/GG288CgLwaL9+/by+fft6q1ev9gXgqKOO8v/MEUcc%204UOdJUxiUgSmRhv59va3v/2tnztBv9J0+k40Bxe16fLly2effvrpt1EIlCfobg2Q0FYq34J7q6ZN%20mzZ8v/32u5nSKonllhKrPACOyQcofQEonPlZma7GZ6jPFD5v27bN69Onj78/evTon/34xz9+/v77%20719s+NFup5OjOoqJKA7ezjvvPAuM7QuGJkBlyFtXgNkzMbrHUXUx3Utmf/XVVz7zTzrpJL9TTjnl%20FK+EieYrAuO1H8r8nBrgb3/7m1dbW+vNnj3bfzY165AhQ7zPPvvM9wlWrly5DFnD5yAUaQhMB4Qk%20g/My0LxPn3POOQuiOIqJPCDd1IMPPnjiiBEjHiFzObK15Y9Zs2aNn+Ovrq5mKtP74IMPlPjxfvGL%20X3ggCkKpC0AhjNdxfbZb1u9ffPFFb8OGDd4dd9zB+gBv/fr13pgxYzw62OzzTz75hKaWfc5+5jFt%20aX5/hrT7gzQPchQ7awLKZOPB4Nly7CQAbBzlUv38/P7773vQEs0vv/zyckhpNTpkNK6X+i911a/P%20UUe8y2jdI6tgiMj4t956axGFb88996wD0wfRDJDp7G/wQ+l18kJbaoo7jjzyyL8/++yzX8tR7JQG%20EPPRasHQT/FwPkBCwCaJ8zXAhx9+6Esp4lVJqXfDDTf42uDggw/uSVsscjtd+1Gu1/lsETRAkLoP%201whLlizx2+9//3uNbm/8+PHe22+/7e2yyy5ECmluXQ3A5kdeTz/99OlwIOfiVs0mZMwUpAEA6pDx%20fKgEQM6ez4w33niDQuDbLVJzczO/U1hDFdqVjC/cMYt+vYRAx8JUvCtA+Qinew/aeoZ+ZDAjAZ/p%20L730EiMEAkbsY35HXnDLfqdJZn/3poOO1kIB6KwJSAjWBZOXbtq0acK6det4c7v5Dx83bhwZQcEg%20w33mAwFkR7goYE8LghgSpgGiMknfBal7Nff5bIHnsx+5hZPN/vQZrKTaPvvsw/IxagGZYTX1/Qo4%207B8Y/y1RSBiokKIDCN9//upXvzoRUjgMzKxgBMBIgIQQpQwJjElQRymZBgoAnRj9GVzTE/Y5aDQV%20cr39XRRV79p6CQKZlfV7HaPZlPYk0zm6JQDIEHKkL2tqatrcAWIEwMvwfevatWu/efTRR1+wI4BC%20BYA32o625dprr32R/gBab3NdObzSGoAWp+AHp+QfSOVLimWnihSjizGFXu9+7zLVfYaOaWt/lkl0%20Ge+eRy0qbIX7cvoIq484/vjjH4BGbrJCvq1oG9BWo20zqj/U9iZC1H81mY5q1csQ6x+KeHSkHQbS%204VMRA4/RLr3zzjsefYbXXnuNjTbMb98KClf37ne5jkkLZDUX7Nd//vOf3ne/+13vkEMO8Xr37s1I%20gJqAZsHXrtAATB3bTiCPrYXf8NpvfvObG8GHz4UWFuIElkGl/BwO3r+7IaCwfkqlnEH+6LFjx3Kf%20zJc0f9vyAO7IzmfUZ8MW3OO6BweStGd6t912S5Hpb775pjd58mSli8lw5Q3kBBIbGIhrT0QSbgTM%209jGqJ+iMACivX4VM1BnCAOwmW88fy+8XLFjAH9R49NFHPwNPNA3I8mgcHwTp/bYIQC47HmYqcp7j%20OpiuxnjssceW3X777f/D/YcffvhwhIH1+++/vwYd+10aQELBRuRw3/PPP38s0vGLFQayRRWASrQ+%20YF6N7BCbGwYyTUnmm+rf/n/+859P5+df//rX3scff+ypIORbQLkAnSAH0T2WCxDKeg5yLBP/9Kc/%20TbSdwHnz5tEcKMyWj2BjATQhHIzjcJtPjA/XHlUDCAPoDa9T6kXhhv9gMXbhwoW0RYxTqf4JBUtA%205PCUPBLo2m2X+focgQLxAWL+ep4YTJyFnxsaGuhnMSlE6F0mVlv6ATzOaKHNDOLyzkQBSgKVY87a%20vXBEzqVU8eZ8iJhKdJB2CRgBpZPHZaPowRbTB3DVaqHXh4V67oiOKgTaJ+MY40sA5PlL8xJsI/PT%20mE+YIlDEczTYYG7pN9BJnHfvvfd+lk9NYTIkBGy9/PLLn5syZcoqPHRnaIIqU6yYAGMpWeWoA9h1%203333HQfG0ymk6uEPlQAwj01hKVUBEEPz9eZzYQt5h6LLli0jw3k+4XRXALjPnMt6wL3zySOc126u%207QBrtmOQrnnmmWfeVh1hZ5NBHWS+iS03zp8//2O0tSY3UG5a6phjjhkPp2Sc4n/lsCWRaMUe/WJM%20IdcGaQD+vyBgxx7pYc/loGHmz36WgCBbAJgXGAwsoOamm26aJ0ab1kJ+oTWibdF3hQhAC8KQjtNO%20O+0QPPBgSFh5whCksgwmYJjtINIUfPnll2SARkexBUCd35UCQIa710SCjd3vlTHl6Hc1Co9xS5yf%20dl8a4fDDD5+2xx57jAAPVA/gI7eoKVz4/PPPz4EWkAB0RBWAhGl8SM0FF1xwPx4yXo6dtgR7Nm7c%20qOofZgVZrsSctf8ZxOOlYv+DGGcLM7dhYV02LRAaKXz66adZsQH6A6NGjfK++OILf4ChLoMCwHQx%20ne8x6G95/0oaTdh1112PQ6Rw8vXXX/9GZ6FgqviKH/7wh6cB5h2fDQPgD6Dal+3HH6D6WoLpzSuQ%20H6hFR00pCQEITwa5zHcdvygYQFYBBYbPweQy33/ek08+OR9+1DqM9tqJEyfuB6bT0dM6C9II8hNk%20LmrgnJ+Nr98xvGyPggMIBOoNaZqZCwOgACgWfe+99wgHUyv0wxz3fvBOK1naDCqeAES3wdkydmJ6%20ULVPlJSve4whm7z+rNfuvffew1BnMYz9iMGYBhiUAj7AwWfnB1xAiP1eTx4aHKA1qgmoQOuFZMM2%20Le0iVS8hkF2aO3euX6Sw++678/gQNP04tmJhAO4oDTtH4Wouu5+rHiDoWNjz+Tyqdqn+XGsGDGEx%20CJnKfqYJIBhUX19PbMBGAwXPU5swZE8aAWg2g7o9igDwghTU+st4yIEo8qR614PUuNYPcQB2gh0B%20KEnEzz2NAopRQUwPvc62+7YwhJHLePd+7rmI5VnxG6hdpGnJZEHAsPF+4ccLL7ygzKsGp2oFeXyp%20GchlnU0Hd1xzzTXzZs2add306dMPwg1T6AS/yIC1AHhgAn+gDAKyN+yRoGEJQE+HgTbTIwhA4LlK%20bbueea578ry8439oVwI2YfWECv2k1qVdOcqX4bNqAjIQlAySRh1pELTywoceeuhFjfqoAkCOtZmc%208mbY8vfQvsF+jSTKXFcJ3P80FSdasCVbT6OAfE6AAETzB8TMELJHdyR4mBEUwrW8tAqFRFgAeKuq%20HxZ/1iE8nwsHkuq2VcCdUfmN5J3hYVvUbGDGXNTCm8ABqcVExYGQsio0nl9ObYBc9QGIS4fpB0kA%20ILHqCDGm2GrfPTdSvt9toKAQMBQSpsqX05cHUdXbA0ueP0PAHe67776TkSz6K/q8FfdrY8PnXsBi%20Nr/yyiubyMNOFYWqnBiFIMfAAbnBjQA0H4CMFvYPtUMcm99zCpPjHUemqPa7K+bm2aPfbi4zXSaH%20ZvtssAfMsZy+cGKU8Prrr8u790w6WFp28HnnnXc+czJ2JMDt2Wef/QjC+EsiQcH2TKCf/vSnoydM%20mEDm55wPIPWPknCqpmY4i58atTUGm2qZgH/xtK6Y7gI/dtMxCbUNCGk/0PaT6eifKMzX/IA0/IWl%20uI4O9xhA8tUHHHAAGc0+Z3OxAG4ZIfzb7373u0U/+tGPHrDKwzKhGkBz/hBrni6VLqbbn/VgxPy0%20aXT81iFV2c7vlL9mKxIFedZBJVuuANgYiC0IWa9xBcl2hOnxa7Z0BGJ+IAVktZ1C9eqrr34BQGgS%20J+DstddedmGIRr6azAUHYq+gxFAyFwYAhlbxB8vDd6Fgph5ZnkxnBhlBerUjEaeOxHcMGYVs9SST%20XTXunhNUjp1LACT4OuYyOFeuwN5nH3WK+boe4NpkMpU8QG6GU8c4SYSwO7Ot2YpCOCiJMFYRC5Av%20EMUEpABQLCHowHBF8/5tIu6PQlECEtQGFBTNExDzu0MAwpgpFet+F8z4cAFwr8l79EMrkhkF9YVU%20vJjNmgCG2iy+Yf/zmO1n0G8gwTfYbkVuiUg4wK233roIocYcqJyD8cBBkmp1Do41IzlBhldbtqi7%20BUCMCMvURREAXeMCP3axRdSmkS9MpCBBp++AbKwPCilFvMMOO6QBCDUCgh+kCEihMPiyEY7466gL%20fKJTOIBSwZjd+zi2LErsh1apKiFeN3PmzJFXXXXVLI4ONcs77Q4BiFKCnU0AwkZ8wPGiMF8CYDt6%203FcVdurxxx9fftttt82x5gZ0GOx/o5kfsDXIASQlA0CgJrQNmIo0GGqmL6SrEq2cNQE1oDPOOMNO%20FPFHUvq6QwDEvDDmh2mIfBnsRgNhQuPmDKj2HeYXLADC/O0ld7iG0IHAFRrhiK8jBsCqIPAijRxN%20K2oCGslDGwyKBAQh3kxdcskls4Et7207f3LyiEopSmBCg3XrBDlce1kA5a3m3a0oDxtv2+9sQpS3%20AMj/IMgjh68ryHj/nC1MH4BRAZNzFAiqetZsHMucjJw/YQFQ/w1wFn+C6myiuB1RcAC2sl/+8pdX%20wM67zBfmLxDIF4SlS5d6tEfwTL8CQOSvC1CQAIQzsKsFINu9o5gHxfnsj67WfGT6avCigWX3eMZw%20ONx08MgHNTcEZBsEMz0bAjA1ihOoKWG9MPIPs3EAu5FUC0AQCCaCKGB/ABX9oY5YKl6IBsjmXefj%202UcVAG2D7mufn2ufI94N9bpSANi/dejbOo5sMp9l44DoyQOZBxcHUCZ2l1tuuWVfDOZ5uXyBZI4J%20IdX4MzVcm8bWAPqsCSFaFwDlR5ocomyVmNYVDl4+4E22e0URAp0fKgDudWQ6R77sc3cQw0j5W0Bn%20WSPgm1xUCPG4iwOo0VQTla0jT+ULBGoAe0oY2lrUAwxEuKFRL/LVHNEoAD+Cg9kEQ0b3AcLj8rDz%20omiTIEdOlJXZrhDQBrP+UdhDdxHnY7hRAMwBcQD6AxRCt8BUi3RsRV3gEmEBkSaGYC7aLUgo/BwP%20GOJIvyYhNIL5/dHo/EkACBw5AhCZ8Z3VBtrm60i69wtkvnsNRxdr+XR+dxL7VQIgGB7amRnBZvgC%201RRABwsgGLQBcwcell8XFQdIo7hzKdq12B9gagHKhQPAIemDdQG+B+9TDiG3MhH5hoFBuHoU2DYb%20sztjXkKZr+JQ+DkclT2V6+AAk523cQGO8hRqAh7FHMxG4QDWWgHr0b4JWysgmQsEQtuMdOIQePf7%20EHTgqiBs6IAylCmPB0pYazkg/DFkJrdibHeM+nyAHzdTx2ORwkqX6fpMJI7MVxlXTxEdTJob8IH4%20ggSAWjh1xRVXHIEw/CPwhrzrIBaAz61AY1fAAfyQwhBFADISgj/+8Y8XA+s/xnUCyWyqPjJY8wEB%20OvDHsMlOhavjcMZHdwjdz+Fz/NTC7D4FW/aex3o6s0lnjn3PWgtlArlPSHggVmEbyLDQxQJQyLMP%20VhI5KbQs3MUALr300t3g3dvMd2sB1DhT1fcHnnjiiQWQ0jTO3x+d3j+LKg5KowYlVKLCv0EZw7yF%20T0zWdGsCMPq+GHTPPffM5fb73//+RDjg9ZivybUZqA1yYgHEcTBJ9ORzzz33/rxwAM35w41HK8HD%20G7lND+V8AGqBzz//fC1CkmGQ0ibkvSukItGij/rw40HMLhROVpO3rVCqaIyXFoPJHQbTm0IWdhPg%20efa9qoPCagJ2dsJABwfI8ro3jOKBzOgx3Wvj/ZrpQ3XDV50yHJw6dSqxgPEqB4MmYDawMyO5s0IQ%20ZRHH0BBTWkjhF4RZPkVRi1sOPfTQ3ckPMpYTQ7B4J00vcQGtHqowXIJAU81ooNKE9Vt4q7xwAEw8%20+AATPbZiejKLCeT9qnFU0A7xIaoF4GeZi6Awy7afUZgdBtkGCUC+foTqGch0OnwUcLu6qWhCoNBP%20CSEyW/X/1AQ0BfJXxCsKAWdrQSNHwgEybFiteiUeeAMqUWaiKGQ4vX9QQkzla0wgWYPhgFQ7qWA6%20ShKAqCM/2A8IX6SB2yjMd59HQIUjho0CYINaxV6rmGigFoWy1wxMAxD6ElP4iAVk0Dxu2TBI1/7l%20L395CeH6gnzTwYoA0lQXUOXvo63Bfl+0XlYtQAXeZTPhoosuGuv4BBQE4eE87uL4kRkOCmJa2HSv%20sHtJtUtdkukBL7cqriBQAKQBlIvh4pwo/96ACTxPaW6AtbbjJlMTsIX7eU0N08WaXIClxsbAw+/P%20eQAqBMGDdwBCON2pVVdIqCoabiM4gpF9gfxW6Q5v9O7p5LnVy0UUgvAZQiA5fXwryxRogvVIEK1A%20n/tCQBygEoTFpj90agI68jEB7Xg7Vd0JJ5zwACRsnJsIUtZLAoC4lKEgc9U2ChhVAKIJSDj8m7NA%20k8KpEYXUNUd9rmtzrv1XDGLCiQkg+l8sxhUKC4eb8f6ReCmHu3I4X9e/CotLn4Pyvoa8cAA5gXjB%20wy1wLGzm20KglarZiQwBGW9+CWdjPYSuBh01Vh1fIMAThtVHAZzYbHVPD1/OlZzbbHP8bOZrvxg+%20AAdeM3iyDJFANXCJscy5wPYrJUy+SPvas4UH431N90AAJltQfntWAVA1MFofPGhKrsUh7algzPtD%20/SzCJJJXqV4wVWzEd77znbH6IQWp//Da/chr95PJqmZyp3y7QuvOFnaFoYeJzvVmgEHzuHPxxRd/%20hWLdaQr/0Oz1hBQNCJUdCrh4+nXXXTfXrgkIEoBqwp4QgqwLQ1DV8yFcCpZFCQgVazET9Xv4LgMk%20sBfeciFp7MwI7xTcq3131GqSijx6mC4KrJa2t+cuqtPsY0FzAXtaG/BNLLVYtncWGcx8DON/ml7k%20ajgoyRdXA3BL/4ZRjd4fIF8gpwbgfhVuuBWLE/XOUgsgTJzM5yLQFJRhPMbzaFMxdYmd1LWjPvwe%209jO1r3WMKAAaHa59dxNHbsyv79mKxXz5LJXo8xGaH4CXRpCxHIAE5qjVstUE8Dues0FYQHhJGAiv%20JLsGb5+6QLUAjj0ns1dASEY48wFUGCFJ7DTkCyoogqB9h40UiKM5dq6nL0Zrm+14zn21HiIKr6IA%20qXyVizUiUqsGNpOyBJW8oNBsxNT+R4DrNJAVYUigpoVvxyLFS9CuNrUAVB/l9lvEEF6cxMWKskwI%204YMVBvYYw2Xfqe7gILkjPWCaeiiSmAvBLEZGUAJAYVY2ln1eceKJJz4EgW9WqGdai3l/wEpNDQsL%20AwUC8UbrjLrYrhdEmJaCw3cApowPcWsEhQgqZrXCr+4UADKbsTyl3bHdoat/BWkDl8HFYr77P2TK%20JBCMBGrw3uY9Acw9SX4JEDL2fqPh5WZ+l48AqBhkE5aInQoseRJHvVkaphw2pwKJiMOUJVRySEUg%202kYEgqKkaW01z0anrpA3g7jqPSgMLHpGEIUfeo2sPUOIOMAUvGOwCcc2kfk4Rl62oXhlKV44vQrR%202tZcq4Ym3VoAFBFOwtJkD+MhQ7NNCGGihD+C+4sWLeL6gEIBJZlkfr44QKTsIB0dRBruaC90RnGg%20utfxYhMZzsUl+P/Zz8Bd6IgLDOLqYdOdCSKcScwsYhOqt/kSiTeDfICEVDyygJfCcxwaMCGEW0UD%20tEdLYHe5SHEaAjIOD+4vAegEw9193p/PItMpYFGY4nr8BQhKUUlCSTRwSRrEUjD0yVhMQUuB6WET%20RGqwoATfJLqXfARbEyQdDKAGN58hECjXhBCqXYJACBNXQgtsxLYCmmADEMGMfACdHzG8U0WrMnMc%206RGYEk0Q1LElQBR+mgCfeeiTFryq7wvwYRyqg0MniOD8oVjuZwb8t7mWEGSyCUA1VTwQJt4w66IQ%20HJGcq8b1a/EjhoDpcgg9ZKb4lhBemy+Eq9WveF8y3Y1nu2OmTcm+sOKwww7bDXMx9FoYfwvgjXwg%20b7IWhbA/oZ2prbOCQUn3RdFgwlLYmgmK69mEoWs04v0A3OcKFQR/bCGRD+AyWfdQEzKXJ4Nicl8p%20z4IQ8gUmm1PFaCa5tXkgJJSTR7ZeffXVVmFIwLwAzCO7Ce+dPQ8MrYOzVwd/oNJ6nVkzsn9fwhEZ%20i5GfctYG5CjW4sddPBpjIrOhne03hckx5kBahtC8Foxm6l4oaBpRwGpo8yYsJ/eHrNlAeYWy/2gD%200UagDTUgUDVa0i4GeeCBB46DdzkKgkEUitlAaQBWrvpATPdQTIR/8WZwaV/2O/uf6eF1KP8mk1sd%20R2+rWTRyFdoKtAZTKLLd9QGEAWwx6FGKNzD7FXqHMN4dsD8mgo5SRCA0Suaie2PlmNx3CIkPCAEH%204GWRU1GoM8fE+20WPzeaWULN2bCApAMDp7GwwPAZM2bcgCTPWNl1MZhhHx+ulcOYjWI8KjBItr9b%20KCZqVy0aSbvOWdkSCNZk7AHnfA/wxl0trAER241ICT+WbdXQpA0Cgfn1WBz6Idy0xsUAGPrZkxBY%20lWJKx9fj+zRCtjRq1uu7LayKifaeo70BvgDRwEHvvvsuy8KVKFKBi1sUMghI4e14o/hK1BE854JB%20SXtCCEq9Z0GCxHy76SFML1IYOPI5B+CvSBrxHbUMC4fADtV3mwaIic4e52FQzXdMmzat7qyzzjqB%20L+dAWl6D0y0KkbngKmOn4rqX3UUjpQG47Q3vfqAyfE4xCG/Km2ttAHr688D8BSauTAAMqu3+apnY%20BzD2PP2Pf/xjPUZ/BXhzEvqcA5P8yYYFaI5DPau93DeIJO0ZQWB8K1U7gSAw1Mb0tWwpsX+uUPH+%20hRde+FccWmuSR0mopCHd7gTGoSD7vgkDlf1ehncDbwQAVAGmz6IPBpCIfoKwG9UEsDaCQrDOAEGK%206tpdJLDsrrvuehFTig+DJI2DTbcfrPlpvNF8FI3+wYQWqylRpoqoOR8BoGBRw5QKEWHj6CoW0c8C%205q+aBgI/O+It7Yu5y+7EuwOfx7wALtc7E4JRma14FZNHGgEFP2PVdbjzAX3VUIs2DK0eteaTEQUM%20ANMrcCNSBkxrA8zbgJKv5WS8EYC1+iGwSUdhIaPrKTgAkFjD5nde4RQT7DwhdvYnczD/geXfXrBq%20NerIY/gBQ+EfjOY7HdDKMiBo7zYIxfpnn312EXEANsOzZpkBlYJXkYloO/FmFAaznzLnCCdoNjjB%20GqvQIMnzsXDkz1EldDY9VAIWXUYxUetSAKiJuBjXJXhXEEfzZjN4+5Fvhmc11oqunmZ5WWDQGsO/%20FtsEZAxztaxIh7l5L7QKCYD1FpEmtE1mmzZSSEexRmAQVFYXqfnY5tPp1mLT3Gf9n+GHnLm0ccQ3%20GE2ekgC4PNPIz1YWrhuSWs3Jmg5mv0w6bc5rMZ8T5ruyBMiablWSoJAcp39F0iv4UKU1RoW/Wv/H%208KTJ4lmZg/BuYzPntbkCkNGJVl1guWkCiXROu91sIIkkpluOYylm3f7Vw0CZbQlBq2ktFvMTzsBV%2068g1MSRjtTb3HcLOOSJ9Tqj1CMNjSjhMFmNbrWOJAJ6FTg4VReFmGbJTEzXlqlsoJsK/rL9QfO4M%20Tm2jUbKrzCcApLcBB09k0WKXU0wq+2pBle/fHVVeEBU6XCtMuDgIbRRWF7sNocoYYgHFJL3mpRTJ%20rr9Mg+BQryOz8X+ake2bAxzgVSeeby+mAPCXVpvikeFo9cAA9kKoMoCARKKI9iAD4hZzHBsAj27j%20oVIKSOR4O5M8GtC+MtsN5nhHMQVAINKOBowYpKVlLRCpmNShpo4tMQFot1/jawCdtYb5muxRkGAn%20u0BSVXmyntLqgkhsRR5BGkWZEtQCAuAU5rGfm93K3mJqAGmBCjPiq0wTIJEoYudJA2S0LWEz0GZa%202rS2YjuB7j0UmyazgEjF70B7v7Qo42oz+1iRNED4vYrOfDHc3f4/o5hiiimmmGKKKaaYYooppphi%20iimmmGKKKaaYYooppv8FlJhXILrvZ3wAAAAASUVORK5CYII=%22%20preserveAspectRatio=%22none%22%20height=%22102.996%22%20width=%2287.169%22%20x=%22159.832%22%20y=%22119.548%22/%3E%3Cg%20transform=%22matrix(.7703%200%200%20.7703%2096.231%20157.67)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Ctext%20transform=%22scale(.98866%201.01147)%22%20y=%22161.244%22%20x=%22204.861%22%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20font-weight=%22400%22%20font-size=%2214.44%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#0ff%22%20stroke-width=%22.278%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20y=%22161.244%22%20x=%22204.861%22%20font-weight=%22500%22%3ESync%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20x=%22205.095%22%20y=%22147.504%22%20transform=%22scale(.98866%201.01147)%22%20font-weight=%22400%22%20font-size=%2219.302%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#ff0%22%20stroke-width=%22.504%22%3E%3Ctspan%20x=%22205.095%22%20y=%22147.504%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ERAM%3C/tspan%3E%3C/text%3E%3Ctext%20transform=%22scale(.98866%201.01147)%22%20y=%22192.306%22%20x=%22205.409%22%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20font-weight=%22400%22%20font-size=%2219.276%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#0f0%22%20stroke-width=%22.278%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20y=%22192.306%22%20x=%22205.409%22%20font-weight=%22500%22%3E16KiB%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "3d584b0a-29eb-47af-8c43-c0822282ef05", - "type": "basic.output", + "id": "0b91cb0d-4144-4939-8755-e331104016db", + "type": "basic.input", "data": { - "name": "" + "name": "", + "clock": true }, "position": { - "x": 512, - "y": 160 + "x": 128, + "y": 208 } }, { - "id": "61331ec5-2c56-4cdd-b607-e63b1502fa65", - "type": "basic.code", + "id": "480cf49a-cf72-4fad-a37e-92acddd25d32", + "type": "basic.input", "data": { - "code": "//-- Bit constante a 0\nassign q = 1'b0;\n\n", - "params": [], - "ports": { - "in": [], - "out": [ - { - "name": "q" - } - ] - } + "name": "addr", + "range": "[13:0]", + "clock": false, + "size": 14 }, "position": { - "x": 168, - "y": 112 - }, - "size": { - "width": 256, - "height": 160 - } - } - ], - "wires": [ - { - "source": { - "block": "61331ec5-2c56-4cdd-b607-e63b1502fa65", - "port": "q" - }, - "target": { - "block": "3d584b0a-29eb-47af-8c43-c0822282ef05", - "port": "in" + "x": 120, + "y": 288 } - } - ] - } - } - }, - "3bf99b8d77aa1b29ec1bf618b53175de87f1001d": { - "package": { - "name": "Valor_0_8bits", - "version": "0.0.1", - "description": "Valor constante 0 para bus de 8 bits", - "author": "Juan Gonzalez-Gomez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22346.308%22%20height=%22300.445%22%20viewBox=%220%200%20324.66403%20281.66758%22%3E%3Cg%20font-weight=%22400%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22371.115%22%20y=%22653.344%22%20font-size=%22335.399%22%20fill=%22green%22%20transform=%22translate(-326.544%20-441.037)%22%3E%3Ctspan%20x=%22371.115%22%20y=%22653.344%22%3E0%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22322.722%22%20y=%22721.624%22%20font-size=%2283.077%22%20transform=%22translate(-326.544%20-441.037)%22%3E%3Ctspan%20x=%22322.722%22%20y=%22721.624%22%3E00000000%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22548.722%22%20y=%22651.624%22%20font-size=%2283.077%22%20fill=%22#00f%22%20transform=%22translate(-326.544%20-441.037)%22%3E%3Ctspan%20x=%22548.722%22%20y=%22651.624%22%3E00%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ + }, { - "id": "ad29e130-c17a-4544-9237-4c72551ccbeb", + "id": "2f18358c-ebaa-4fbf-99b4-610ab78deed2", "type": "basic.output", "data": { - "name": "k", + "name": "", "range": "[7:0]", "size": 8 }, "position": { - "x": 928, - "y": 256 + "x": 936, + "y": 336 } }, { - "id": "ad7918eb-22dd-4b6c-949f-e428f5a55530", - "type": "basic.constant", + "id": "9931384a-74ee-4de4-9df7-cc04fd19cf46", + "type": "basic.input", "data": { - "name": "", - "value": "0", - "local": true + "name": "d", + "range": "[7:0]", + "clock": false, + "size": 8 }, "position": { - "x": 728, - "y": 152 - } - }, - { - "id": "d8755f82-ee3e-47e9-9ac3-e4d6713a6105", - "type": "5ad97e1e35a295d0ec722addd6df97c806fc6b7c", - "position": { - "x": 728, - "y": 256 - }, - "size": { - "width": 96, - "height": 64 - } - } - ], - "wires": [ - { - "source": { - "block": "ad7918eb-22dd-4b6c-949f-e428f5a55530", - "port": "constant-out" - }, - "target": { - "block": "d8755f82-ee3e-47e9-9ac3-e4d6713a6105", - "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" + "x": 120, + "y": 376 } }, { - "source": { - "block": "d8755f82-ee3e-47e9-9ac3-e4d6713a6105", - "port": "a9d6830d-5cc7-4f63-a068-35181d2537bc" - }, - "target": { - "block": "ad29e130-c17a-4544-9237-4c72551ccbeb", - "port": "in" - }, - "size": 8 - } - ] - } - } - }, - "5ad97e1e35a295d0ec722addd6df97c806fc6b7c": { - "package": { - "name": "Constante-8bits", - "version": "0.0.1", - "description": "Valor genérico constante, de 8 bits. Su valor se introduce como parámetro. Por defecto vale 0", - "author": "Juan Gonzalez-Gomez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22145.608%22%20height=%22247.927%22%20viewBox=%220%200%20136.50729%20232.43134%22%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22293.115%22%20y=%22648.344%22%20font-weight=%22400%22%20font-size=%22335.399%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22%20transform=%22translate(-316.929%20-415.913)%22%3E%3Ctspan%20x=%22293.115%22%20y=%22648.344%22%3Ek%3C/tspan%3E%3C/text%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "a9d6830d-5cc7-4f63-a068-35181d2537bc", - "type": "basic.output", + "id": "c61902b3-38ce-45bf-98c9-322638c2264b", + "type": "basic.input", "data": { - "name": "k", - "range": "[7:0]", - "size": 8 + "name": "wr", + "clock": false }, "position": { - "x": 960, - "y": 248 + "x": 120, + "y": 456 } }, { - "id": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", - "type": "basic.constant", + "id": "d80bfd80-1f6d-46af-b5de-5cd121ebe630", + "type": "basic.memory", "data": { "name": "", - "value": "0", - "local": false + "list": "0 0 0 0 0 0 0 0\n0 0 0 0 0 0 0 0", + "local": false, + "format": 10 }, "position": { - "x": 728, - "y": 128 + "x": 464, + "y": 56 + }, + "size": { + "width": 200, + "height": 72 } }, { - "id": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "id": "f5619044-1e4b-4218-bfc2-44eced6cb16a", "type": "basic.code", "data": { - "code": "assign k = VALUE;", + "code": "//-- Address with\nlocalparam ADDR_WIDTH = 14;\n//-- Data with\nlocalparam DATA_WIDTH = 8;\n\n//-- Size of the memory\nlocalparam SIZE = 1 << ADDR_WIDTH;\n\n//-- Memory itself\nreg [DATA_WIDTH-1:0] mem[0:SIZE-1];\n\n//-- The data_out is a registered output (not a wire)\nreg [7:0] data_out_i;\nassign data_out = data_out_i;\n\n//-- Reading port: Synchronous\nalways @(posedge clk)\nbegin\n data_out_i <= mem[addr];\nend\n\n//-- Writing port: Synchronous\nalways @(posedge clk)\nbegin\n if (wr) mem[addr] <= data_in;\nend\n\n\n//-- Init the memory\ninitial begin\n \n if (ROMF)\n $readmemh(ROMF, mem, 0, SIZE-1);\n \nend\n", "params": [ { - "name": "VALUE" + "name": "ROMF" } ], "ports": { - "in": [], + "in": [ + { + "name": "clk" + }, + { + "name": "addr", + "range": "[13:0]", + "size": 14 + }, + { + "name": "data_in", + "range": "[7:0]", + "size": 8 + }, + { + "name": "wr" + } + ], "out": [ { - "name": "k", + "name": "data_out", "range": "[7:0]", "size": 8 } @@ -14007,4874 +13779,649 @@ } }, "position": { - "x": 672, - "y": 248 + "x": 312, + "y": 200 }, "size": { - "width": 208, - "height": 64 + "width": 504, + "height": 328 } } ], "wires": [ { "source": { - "block": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", - "port": "constant-out" + "block": "0b91cb0d-4144-4939-8755-e331104016db", + "port": "out" }, "target": { - "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", - "port": "VALUE" + "block": "f5619044-1e4b-4218-bfc2-44eced6cb16a", + "port": "clk" } }, { "source": { - "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", - "port": "k" + "block": "c61902b3-38ce-45bf-98c9-322638c2264b", + "port": "out" }, "target": { - "block": "a9d6830d-5cc7-4f63-a068-35181d2537bc", - "port": "in" - }, - "size": 8 - } - ] - } - } - }, - "359a555a147b0afd9d84e4a720ec84b7cdfbc034": { - "package": { - "name": "Mux 2 a 1 de 8 bits", - "version": "0.0.1", - "description": "Multiplexor de 2 a 1 de 8 bits", - "author": "Juan Gonzalez-Gomez (obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2280.833%22%20height=%22158.56%22%20viewBox=%220%200%2075.781585%20148.65066%22%3E%3Cpath%20d=%22M74.375%2036.836c0-12.691-6.99-24.413-18.326-30.729-11.335-6.316-25.284-6.262-36.568.141C8.198%2012.652%201.304%2024.427%201.407%2037.118v74.415c-.103%2012.69%206.79%2024.466%2018.074%2030.87%2011.284%206.403%2025.233%206.457%2036.568.14%2011.336-6.316%2018.326-18.037%2018.326-30.728z%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%222.813%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.448%22%20y=%2291.518%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.448%22%20y=%2291.518%22%3E0%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.359%22%20y=%2214.582%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.359%22%20y=%2214.582%22%3E1%3C/tspan%3E%3C/text%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ + "block": "f5619044-1e4b-4218-bfc2-44eced6cb16a", + "port": "wr" + } + }, { - "id": "9f5a1c91-1b93-4609-877c-816ed8fd0871", - "type": "basic.input", - "data": { - "name": "i1", - "range": "[7:0]", - "clock": false, + "source": { + "block": "d80bfd80-1f6d-46af-b5de-5cd121ebe630", + "port": "memory-out" + }, + "target": { + "block": "f5619044-1e4b-4218-bfc2-44eced6cb16a", + "port": "ROMF" + } + }, + { + "source": { + "block": "9931384a-74ee-4de4-9df7-cc04fd19cf46", + "port": "out" + }, + "target": { + "block": "f5619044-1e4b-4218-bfc2-44eced6cb16a", + "port": "data_in" + }, + "size": 8 + }, + { + "source": { + "block": "f5619044-1e4b-4218-bfc2-44eced6cb16a", + "port": "data_out" + }, + "target": { + "block": "2f18358c-ebaa-4fbf-99b4-610ab78deed2", + "port": "in" + }, + "size": 8 + }, + { + "source": { + "block": "480cf49a-cf72-4fad-a37e-92acddd25d32", + "port": "out" + }, + "target": { + "block": "f5619044-1e4b-4218-bfc2-44eced6cb16a", + "port": "addr" + }, + "size": 14 + } + ] + } + } + }, + "d1635cb33c6d31e1ea457005c78d574fcf71828b": { + "package": { + "name": "membus-16KB-split", + "version": "0.2", + "description": "Split a 16KB memory bus into its fields", + "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": { + "graph": { + "blocks": [ + { + "id": "1fcc5668-ae6d-4286-9b66-f8f113c12bea", + "type": "basic.output", + "data": { + "name": "addr", + "range": "[13:0]", + "size": 14 + }, + "position": { + "x": 608, + "y": 120 + } + }, + { + "id": "afe50480-6fe5-4ca6-b639-c730569a6a1d", + "type": "basic.output", + "data": { + "name": "data", + "range": "[7:0]", "size": 8 }, "position": { - "x": -704, - "y": -88 + "x": 624, + "y": 224 } }, { - "id": "325fbba1-e929-4921-a644-95f918e6e4ee", + "id": "2117685c-3a4e-4403-a12a-5de3ed4c20a5", "type": "basic.input", "data": { - "name": "i0", - "range": "[7:0]", + "name": "i", + "range": "[23:0]", "clock": false, - "size": 8 + "size": 24 }, "position": { - "x": -704, - "y": 0 + "x": 48, + "y": 248 } }, { - "id": "bf25756a-65a4-4b09-915d-494010d6f4ff", + "id": "c79430a3-a90f-40e9-af05-e6da44b5ac8d", "type": "basic.output", "data": { - "name": "o", - "range": "[7:0]", - "size": 8 + "name": "wr" }, "position": { - "x": -48, - "y": 0 + "x": 576, + "y": 344 } }, { - "id": "1e637a79-4a6d-495c-bcac-9664bdbe4b94", - "type": "basic.input", + "id": "9751f777-00ec-46c1-8d85-07d2dec1e653", + "type": "basic.output", "data": { - "name": "sel", - "clock": false + "name": "bbusy" }, "position": { - "x": -704, - "y": 88 + "x": 536, + "y": 432 } }, { - "id": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "id": "16e78204-213e-4833-9096-89d735307ec2", "type": "basic.code", "data": { - "code": "//-- Multiplexor de 2 a 1, \n//-- de 8 bits\n\nreg [7:0] o;\n\nalways @(*) begin\n case(sel)\n 0: o = i0;\n 1: o = i1;\n default: o = i0;\n endcase\nend\n\n", - "params": [], "ports": { "in": [ { - "name": "i1", - "range": "[7:0]", - "size": 8 + "name": "i", + "range": "[23:0]", + "size": 24 + } + ], + "out": [ + { + "name": "addr", + "range": "[13:0]", + "size": 14 }, { - "name": "i0", + "name": "data", "range": "[7:0]", "size": 8 }, { - "name": "sel" - } - ], - "out": [ + "name": "wr" + }, { - "name": "o", - "range": "[7:0]", - "size": 8 + "name": "bbusy" } ] - } + }, + "params": [], + "code": "//-- Addr\nassign addr = i[23:10];\n\n//-- data\nassign data = i[9:2];\n\n//-- write\nassign wr = i[1];\n\n//-- Bus is busy\nassign bbusy = i[0];" }, "position": { - "x": -464, - "y": -104 + "x": 224, + "y": 176 }, "size": { - "width": 304, - "height": 272 + "width": 264, + "height": 208 } } ], "wires": [ { "source": { - "block": "1e637a79-4a6d-495c-bcac-9664bdbe4b94", - "port": "out" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "bbusy" }, "target": { - "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", - "port": "sel" + "block": "9751f777-00ec-46c1-8d85-07d2dec1e653", + "port": "in" } }, { "source": { - "block": "325fbba1-e929-4921-a644-95f918e6e4ee", - "port": "out" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "wr" }, "target": { - "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", - "port": "i0" + "block": "c79430a3-a90f-40e9-af05-e6da44b5ac8d", + "port": "in" + } + }, + { + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "data" + }, + "target": { + "block": "afe50480-6fe5-4ca6-b639-c730569a6a1d", + "port": "in" }, "size": 8 }, { "source": { - "block": "9f5a1c91-1b93-4609-877c-816ed8fd0871", + "block": "2117685c-3a4e-4403-a12a-5de3ed4c20a5", "port": "out" }, "target": { - "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", - "port": "i1" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i" }, - "size": 8 + "size": 24 }, { "source": { - "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", - "port": "o" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "addr" }, "target": { - "block": "bf25756a-65a4-4b09-915d-494010d6f4ff", + "block": "1fcc5668-ae6d-4286-9b66-f8f113c12bea", "port": "in" }, - "size": 8 + "size": 14 } ] } } }, - "ae7cd7cc997647c6f4f9ed332bbf1849b798d4cb": { + "6e4fc811dcd6d1ac703e608270f81ee906ee7e98": { "package": { - "name": "putc-char", - "version": "0.1", - "description": "Transmit one character to the STDOUT bus", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22613.166%22%20width=%22433.95%22%3E%3Cdefs%3E%3Cmarker%20id=%22a%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20fill=%22red%22%20fill-rule=%22evenodd%22%20stroke=%22red%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3C/defs%3E%3Cpath%20d=%22M221.062%20395.717c-17.751%200-32.152%2014.401-32.152%2032.165%200%2017.745%2014.4%2032.177%2032.152%2032.177%2017.758%200%2032.053-14.432%2032.053-32.177%200-17.764-14.295-32.165-32.053-32.165zm64.466%2050.642l-5.795%2013.96%2010.336%2020.302%201.366%202.68-14.333%2014.333-23.515-11.106-13.96%205.733-7.086%2021.691-.906%202.88h-20.258l-8.767-24.484-13.96-5.758-20.333%2010.312-2.68%201.34-14.326-14.32%2011.093-23.528-5.751-13.948-21.655-7.073-2.873-.93v-20.246l24.502-8.78%205.752-13.935-10.306-20.345-1.359-2.668%2014.308-14.308%2023.547%2011.088%2013.941-5.764%207.08-21.68.912-2.872h20.252l8.773%2024.514%2013.923%205.764%2020.339-10.318%202.705-1.359%2014.32%2014.308-11.094%2023.51%205.733%2013.966%2021.717%207.08%202.854.911v20.24z%22%20fill=%22#00f%22/%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%20-272.686%20152.713)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22124.309%22%20y=%22611.792%22%20font-weight=%22400%22%20font-size=%2291.605%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%225.725%22%3E%3Ctspan%20x=%22124.309%22%20y=%22611.792%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EChar%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%2294.134%22%20y=%2273.141%22%20font-weight=%22400%22%20font-size=%2291.605%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%225.725%22%3E%3Ctspan%20x=%2294.134%22%20y=%2273.141%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EPUTC%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M118.652%20252.337h134.3%22%20fill=%22none%22%20stroke=%22red%22%20stroke-width=%2218%22%20marker-end=%22url(#a)%22/%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%2060.37%20145.491)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%2279.938%22%20y=%22195.066%22%20font-weight=%22400%22%20font-size=%2291.605%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22red%22%20stroke-width=%225.725%22%3E%3Ctspan%20x=%2279.938%22%20y=%22195.066%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3Estdout%3C/tspan%3E%3C/text%3E%3Cpath%20fill=%22none%22%20stroke=%22red%22%20stroke-width=%223%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20d=%22M1.5%20109.784h429.559v199.593H1.5z%22/%3E%3Cpath%20d=%22M429.878%2018.574V1.5h-22.311%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%223%22%20stroke-linecap=%22round%22/%3E%3C/svg%3E", - "otid": 1571979442657 + "name": "membus-16KB-join", + "version": "0.0.2", + "description": "Join the fields into one 16KB memory bus", + "author": "Juan Gonzalez-Gomez (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=%22M164.218%2077.643L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v26.186l61.698.046c8.012-.043%2015.705%203.133%2021.47%208.81l61.448%2061.315a57.292%2057.292%200%200%200%2039.993%2016.139%2057.292%2057.292%200%200%200-39.993%2016.14L83.668%20190.45c-5.765%205.677-13.458%208.853-21.47%208.81L.5%20199.306v26.186h62.612c14.924.039%2029.463-5.9%2040.204-16.28l60.902-60.863a29.857%2029.857%200%200%201%2021.347-8.81l146.53-.113V86.457H185.571a29.884%2029.884%200%200%201-21.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "04841e3c-8761-454a-8d99-496fde26ea1f", + "id": "61496e71-85ba-465b-89b9-fedb08b8590d", "type": "basic.input", "data": { - "name": "", - "clock": true + "name": "addr", + "range": "[13:0]", + "clock": false, + "size": 14 }, "position": { - "x": -304, - "y": 384 + "x": 128, + "y": 192 } }, { - "id": "ed414ec2-55e9-4b36-9c04-d544201b630e", - "type": "basic.inputLabel", + "id": "25996d5e-6856-4828-8cb3-5dea5ff5cf9c", + "type": "basic.input", "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "name": "data", + "range": "[7:0]", + "clock": false, + "size": 8 }, "position": { - "x": -144, - "y": 384 + "x": 128, + "y": 264 } }, { - "id": "c73b1a42-78ce-47a9-bb4c-807cffae6d42", + "id": "81a20a74-f096-4c3b-bc35-91917f08c79b", "type": "basic.output", - "data": { - "name": "nc" - }, - "position": { - "x": 1200, - "y": 568 - } - }, - { - "id": "8c3ce21f-2214-489f-853a-d60a223034da", - "type": "basic.input", "data": { "name": "", - "range": "[9:0]", - "clock": false, - "size": 10 + "range": "[23:0]", + "size": 24 }, - "position": { - "x": -328, - "y": 584 - } - }, - { - "id": "a0b2c050-26fc-4ac0-875f-6ef2c1f03c5e", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "stdout", - "range": "[9:0]", - "pins": [ - { - "index": "9", - "name": "", - "value": "" - }, - { - "index": "8", - "name": "", - "value": "" - }, - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true - }, - "position": { - "x": -176, - "y": 584 - } - }, - { - "id": "80c60ca1-61f9-40d2-8a87-5cd02ffb2d90", - "type": "basic.outputLabel", - "data": { - "blockColor": "steelblue", - "name": "char", - "range": "[7:0]", - "oldBlockColor": "fuchsia", - "size": 8 - }, - "position": { - "x": 688, - "y": 664 - } - }, - { - "id": "bc052fe3-357e-486c-a2e1-fef8f36a37ae", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "next", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "steelblue" - }, - "position": { - "x": -16, - "y": 664 - } - }, - { - "id": "6940c4f1-a919-408b-9f9a-c542d928ac41", - "type": "basic.outputLabel", - "data": { - "blockColor": "steelblue", - "name": "exec", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 688, - "y": 720 - } - }, - { - "id": "f809e9bb-2587-459d-807e-629afdc99f43", - "type": "basic.inputLabel", - "data": { - "blockColor": "darkgreen", - "name": "busy", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "darkorange" - }, - "position": { - "x": 544, - "y": 728 - } - }, - { - "id": "04a63331-d349-46dd-b312-aacf9b71b3c6", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk" - }, - "position": { - "x": 184, - "y": 728 - } - }, - { - "id": "9aa5255a-60da-463d-ba87-d4f96456d802", - "type": "basic.output", - "data": { - "name": "", - "range": "[9:0]", - "size": 10 - }, - "position": { - "x": 1216, - "y": 776 - } - }, - { - "id": "ddc62e2a-e70b-449d-860f-e815be4c4d8e", - "type": "basic.outputLabel", - "data": { - "name": "stdout", - "range": "[9:0]", - "blockColor": "fuchsia", - "size": 10 - }, - "position": { - "x": 856, - "y": 776 - } - }, - { - "id": "dea0965b-016f-40c0-aad7-c4d26a391f46", - "type": "basic.outputLabel", - "data": { - "blockColor": "steelblue", - "name": "txmit", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 200, - "y": 824 - } - }, - { - "id": "a6820ca3-b48c-4815-aa10-2f6b80e6c4af", - "type": "basic.inputLabel", - "data": { - "blockColor": "steelblue", - "name": "exec", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 544, - "y": 840 - } - }, - { - "id": "1ac9dd5b-9741-4af4-963a-50cbf8c4c6be", - "type": "basic.input", - "data": { - "name": "txmit", - "clock": false - }, - "position": { - "x": -320, - "y": 848 - } - }, - { - "id": "9fd18953-28a5-488b-be46-c1107835d885", - "type": "basic.inputLabel", - "data": { - "blockColor": "steelblue", - "name": "txmit", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" - }, - "position": { - "x": -168, - "y": 848 - } - }, - { - "id": "1ed1a91b-927d-4eed-b00f-b05b5dda7cbf", - "type": "basic.outputLabel", - "data": { - "blockColor": "darkgreen", - "name": "busy", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 856, - "y": 848 - } - }, - { - "id": "542ef450-6c74-4024-a245-fe1d832776bb", - "type": "basic.outputLabel", - "data": { - "blockColor": "darkgreen", - "name": "busy", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 80, - "y": 888 - } - }, - { - "id": "2c5224d8-9648-4069-8367-a0c8ec056753", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "done", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true - }, - "position": { - "x": 552, - "y": 936 - } - }, - { - "id": "fdd4378f-0950-4ef2-b5d9-091a87499091", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "next" - }, - "position": { - "x": 80, - "y": 960 - } - }, - { - "id": "ddba74a9-5192-4fb7-8192-9e9e07103ad8", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "done" - }, - "position": { - "x": 1048, - "y": 968 - } - }, - { - "id": "233059d5-8ab7-4c63-8dab-0c6af3a1dc28", - "type": "basic.output", - "data": { - "name": "done" - }, - "position": { - "x": 1200, - "y": 968 - } - }, - { - "id": "72632c73-fe18-42b3-b81f-46999ddfdb20", - "type": "basic.input", - "data": { - "name": "char", - "range": "[7:0]", - "clock": false, - "size": 8 - }, - "position": { - "x": -320, - "y": 984 - } - }, - { - "id": "59b55b10-4bcd-45fd-9dbe-e6dd6767c97c", - "type": "basic.inputLabel", - "data": { - "blockColor": "steelblue", - "name": "char", - "range": "[7:0]", - "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" - }, - "position": { - "x": -160, - "y": 984 - } - }, - { - "id": "e787e85b-39c6-4705-a8b3-4da9c48be3ea", - "type": "basic.outputLabel", - "data": { - "blockColor": "darkgreen", - "name": "busy", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 1048, - "y": 1056 - } - }, - { - "id": "f1cc51c6-3ef4-496d-99cf-0ee3007a2c64", - "type": "basic.output", - "data": { - "name": "busy" - }, - "position": { - "x": 1192, - "y": 1056 - } - }, - { - "id": "af3693c8-f4e9-4cbe-90e5-cd93b52b1834", - "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", - "position": { - "x": 224, - "y": 904 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "70db30ca-f05e-4d85-9911-4e37562185a2", - "type": "basic.info", - "data": { - "info": "## PUTC: Transmit one character (STDOUT bus)\n\nWhen **idle**, the STDOUT bus crosses the component without modification \n\nWhen the machine starts, the char is outputed and the state is changed to busy \nWhen the transmitter is done (tic received in next) the machine is turned off", - "readonly": true - }, - "position": { - "x": 160, - "y": 360 - }, - "size": { - "width": 696, - "height": 136 - } - }, - { - "id": "bc97ca4f-8082-4a12-b1d9-4c9f257ef54a", - "type": "438dedd956354c574afcde6f0793a7d369b2a031", - "position": { - "x": 368, - "y": 792 - }, - "size": { - "width": 96, - "height": 128 - } - }, - { - "id": "17adabf1-6e5f-481e-b723-92cafbd3f126", - "type": "basic.info", - "data": { - "info": "Start tic: The byte from the \ninput char is transmited", - "readonly": true - }, - "position": { - "x": -288, - "y": 800 - }, - "size": { - "width": 240, - "height": 64 - } - }, - { - "id": "f9228c3c-67bd-4a38-b678-87e025a45048", - "type": "basic.info", - "data": { - "info": "Char to be transmited", - "readonly": true - }, - "position": { - "x": -272, - "y": 952 - }, - "size": { - "width": 216, - "height": 48 - } - }, - { - "id": "40cbc8b9-ba20-4d53-90a4-74481101d34b", - "type": "basic.info", - "data": { - "info": "State of the machine: \n1: ON: transmitting \n2: OFF: transparent mode ", - "readonly": true - }, - "position": { - "x": 344, - "y": 648 - }, - "size": { - "width": 232, - "height": 88 - } - }, - { - "id": "5a19e117-936d-4868-be9f-d1e03760a510", - "type": "basic.info", - "data": { - "info": "If the machine is on \nand the character has been \ntransmitted: Turn it off", - "readonly": true - }, - "position": { - "x": 344, - "y": 960 - }, - "size": { - "width": 264, - "height": 72 - } - }, - { - "id": "358d0c6c-1d72-445e-bdc0-c40d831753f7", - "type": "basic.info", - "data": { - "info": "The machine has finished", - "readonly": true - }, - "position": { - "x": 1072, - "y": 936 - }, - "size": { - "width": 352, - "height": 56 - } - }, - { - "id": "6257ea46-accb-4d9a-b165-35a8a2c04270", - "type": "basic.info", - "data": { - "info": "**STDOUT BUS**", - "readonly": true - }, - "position": { - "x": -296, - "y": 536 - }, - "size": { - "width": 160, - "height": 32 - } - }, - { - "id": "ef395571-47c5-4fa2-9bb0-cc6bf29a96df", - "type": "46cae7e9ebf62b7867b3a90798e5bc71b9eec2e0", - "position": { - "x": -168, - "y": 664 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "476ddfa0-b036-4f51-af3f-3de23d9e074f", - "type": "basic.info", - "data": { - "info": "Not connected", - "readonly": true - }, - "position": { - "x": 1192, - "y": 536 - }, - "size": { - "width": 128, - "height": 40 - } - }, - { - "id": "f8560747-4666-4911-8c20-a85c7c39f0c1", - "type": "basic.info", - "data": { - "info": "**STDOUT BUS**", - "readonly": true - }, - "position": { - "x": 1208, - "y": 736 - }, - "size": { - "width": 160, - "height": 32 - } - }, - { - "id": "ef467ee3-3e65-4bf6-8e70-aae8b6da0bf0", - "type": "3e13565dc4f4666505760a8e42d91e6ba1ab5a7f", - "position": { - "x": 1048, - "y": 760 - }, - "size": { - "width": 96, - "height": 96 - } - }, - { - "id": "ec68d254-7f67-4ca6-9e0e-b2e2e9d45066", - "type": "dfb235f1673ee7cefa8539b9a9f9e43979df37ea", - "position": { - "x": 856, - "y": 680 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "f59e851d-2d7f-41e9-8128-77b7da1c6a18", - "type": "basic.info", - "data": { - "info": "**Create the bus** \nfrom the data and tic signals", - "readonly": true - }, - "position": { - "x": 720, - "y": 592 - }, - "size": { - "width": 248, - "height": 56 - } - }, - { - "id": "c6b39875-76bf-43b3-bf07-98c17499bf21", - "type": "basic.info", - "data": { - "info": "Transparent mode... \nor not", - "readonly": true - }, - "position": { - "x": 1056, - "y": 680 - }, - "size": { - "width": 192, - "height": 56 - } - } - ], - "wires": [ - { - "source": { - "block": "72632c73-fe18-42b3-b81f-46999ddfdb20", - "port": "out", - "size": 8 - }, - "target": { - "block": "59b55b10-4bcd-45fd-9dbe-e6dd6767c97c", - "port": "inlabel" - }, - "size": 8 - }, - { - "source": { - "block": "04841e3c-8761-454a-8d99-496fde26ea1f", - "port": "out" - }, - "target": { - "block": "ed414ec2-55e9-4b36-9c04-d544201b630e", - "port": "inlabel" - } - }, - { - "source": { - "block": "e787e85b-39c6-4705-a8b3-4da9c48be3ea", - "port": "outlabel" - }, - "target": { - "block": "f1cc51c6-3ef4-496d-99cf-0ee3007a2c64", - "port": "in" - } - }, - { - "source": { - "block": "ddba74a9-5192-4fb7-8192-9e9e07103ad8", - "port": "outlabel" - }, - "target": { - "block": "233059d5-8ab7-4c63-8dab-0c6af3a1dc28", - "port": "in" - } - }, - { - "source": { - "block": "04a63331-d349-46dd-b312-aacf9b71b3c6", - "port": "outlabel" - }, - "target": { - "block": "bc97ca4f-8082-4a12-b1d9-4c9f257ef54a", - "port": "046501b8-4427-4d4d-af97-7fe807774f33" - } - }, - { - "source": { - "block": "bc97ca4f-8082-4a12-b1d9-4c9f257ef54a", - "port": "0d991cee-b329-439b-b9e7-5712d2db539d" - }, - "target": { - "block": "f809e9bb-2587-459d-807e-629afdc99f43", - "port": "inlabel" - } - }, - { - "source": { - "block": "542ef450-6c74-4024-a245-fe1d832776bb", - "port": "outlabel" - }, - "target": { - "block": "af3693c8-f4e9-4cbe-90e5-cd93b52b1834", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - } - }, - { - "source": { - "block": "bc97ca4f-8082-4a12-b1d9-4c9f257ef54a", - "port": "3802390d-8417-4369-b93c-dda647ccb0c6" - }, - "target": { - "block": "2c5224d8-9648-4069-8367-a0c8ec056753", - "port": "inlabel" - } - }, - { - "source": { - "block": "bc97ca4f-8082-4a12-b1d9-4c9f257ef54a", - "port": "aefe9248-3b3d-441b-9e65-33cda65b99dd" - }, - "target": { - "block": "a6820ca3-b48c-4815-aa10-2f6b80e6c4af", - "port": "inlabel" - } - }, - { - "source": { - "block": "1ac9dd5b-9741-4af4-963a-50cbf8c4c6be", - "port": "out" - }, - "target": { - "block": "9fd18953-28a5-488b-be46-c1107835d885", - "port": "inlabel" - } - }, - { - "source": { - "block": "dea0965b-016f-40c0-aad7-c4d26a391f46", - "port": "outlabel" - }, - "target": { - "block": "bc97ca4f-8082-4a12-b1d9-4c9f257ef54a", - "port": "88176871-35ac-42bf-bf62-36c81a4b4b47" - } - }, - { - "source": { - "block": "8c3ce21f-2214-489f-853a-d60a223034da", - "port": "out", - "size": 10 - }, - "target": { - "block": "a0b2c050-26fc-4ac0-875f-6ef2c1f03c5e", - "port": "inlabel" - }, - "vertices": [], - "size": 10 - }, - { - "source": { - "block": "ef395571-47c5-4fa2-9bb0-cc6bf29a96df", - "port": "7e8b125e-5171-41ea-871b-ea7f0ffd4a03" - }, - "target": { - "block": "bc052fe3-357e-486c-a2e1-fef8f36a37ae", - "port": "inlabel" - }, - "vertices": [] - }, - { - "source": { - "block": "fdd4378f-0950-4ef2-b5d9-091a87499091", - "port": "outlabel" - }, - "target": { - "block": "af3693c8-f4e9-4cbe-90e5-cd93b52b1834", - "port": "97b51945-d716-4b6c-9db9-970d08541249" - } - }, - { - "source": { - "block": "ddc62e2a-e70b-449d-860f-e815be4c4d8e", - "port": "outlabel" - }, - "target": { - "block": "ef467ee3-3e65-4bf6-8e70-aae8b6da0bf0", - "port": "b0100e99-7b7f-4731-9a87-6e3ac76eea54", - "size": 10 - }, - "vertices": [], - "size": 10 - }, - { - "source": { - "block": "1ed1a91b-927d-4eed-b00f-b05b5dda7cbf", - "port": "outlabel" - }, - "target": { - "block": "ef467ee3-3e65-4bf6-8e70-aae8b6da0bf0", - "port": "1e637a79-4a6d-495c-bcac-9664bdbe4b94" - }, - "vertices": [] - }, - { - "source": { - "block": "80c60ca1-61f9-40d2-8a87-5cd02ffb2d90", - "port": "outlabel" - }, - "target": { - "block": "ec68d254-7f67-4ca6-9e0e-b2e2e9d45066", - "port": "eb5386a0-d51a-4bb4-9f25-b8add9f18cfb", - "size": 8 - }, - "size": 8 - }, - { - "source": { - "block": "6940c4f1-a919-408b-9f9a-c542d928ac41", - "port": "outlabel" - }, - "target": { - "block": "ec68d254-7f67-4ca6-9e0e-b2e2e9d45066", - "port": "9d2cea30-da88-4104-bf4e-e7934b02a553" - } - }, - { - "source": { - "block": "af3693c8-f4e9-4cbe-90e5-cd93b52b1834", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" - }, - "target": { - "block": "bc97ca4f-8082-4a12-b1d9-4c9f257ef54a", - "port": "ba15eacb-1e03-4580-932b-3231703481e5" - } - }, - { - "source": { - "block": "8c3ce21f-2214-489f-853a-d60a223034da", - "port": "out" - }, - "target": { - "block": "ef395571-47c5-4fa2-9bb0-cc6bf29a96df", - "port": "6f62a1a4-70d0-42a7-bb69-0639fbebdc04" - }, - "vertices": [], - "size": 10 - }, - { - "source": { - "block": "ef467ee3-3e65-4bf6-8e70-aae8b6da0bf0", - "port": "a8e40103-081c-4611-bd1a-6eeda46b33e3" - }, - "target": { - "block": "9aa5255a-60da-463d-ba87-d4f96456d802", - "port": "in" - }, - "vertices": [], - "size": 10 - }, - { - "source": { - "block": "ec68d254-7f67-4ca6-9e0e-b2e2e9d45066", - "port": "eda56153-8d23-4caa-a8de-73c6be124bb9" - }, - "target": { - "block": "ef467ee3-3e65-4bf6-8e70-aae8b6da0bf0", - "port": "c2bdc405-f749-4bec-bea6-8fe3705fa3bb" - }, - "vertices": [], - "size": 10 - } - ] - } - } - }, - "46cae7e9ebf62b7867b3a90798e5bc71b9eec2e0": { - "package": { - "name": "stdout-bus-next-out", - "version": "0.1", - "description": "Extract the next signal from the stdout bus", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22356.708%22%20height=%22176.233%22%20viewBox=%220%200%2094.37896%2046.628384%22%3E%3Cg%20transform=%22translate(-44.148%20-120.418)%22%3E%3Crect%20width=%2233.016%22%20height=%227.314%22%20x=%22105.246%22%20y=%22141.954%22%20ry=%220%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22bevel%22/%3E%3Crect%20width=%2235.851%22%20height=%2214.797%22%20x=%2244.412%22%20y=%22138.101%22%20ry=%220%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22bevel%22/%3E%3Crect%20width=%2225.079%22%20height=%2227.493%22%20x=%2280.36%22%20y=%22132.039%22%20ry=%220%22%20fill=%22#999%22%20stroke=%22#000%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22bevel%22/%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%2246.181%22%20y=%22130.756%22%20font-weight=%22400%22%20font-size=%2212.449%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20x=%2246.181%22%20y=%22130.756%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ESTDOUT%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%2250.363%22%20y=%22164.97%22%20font-weight=%22400%22%20font-size=%2212.449%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20x=%2250.363%22%20y=%22164.97%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EBUS%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "7e8b125e-5171-41ea-871b-ea7f0ffd4a03", - "type": "basic.output", - "data": { - "name": "next" - }, - "position": { - "x": 608, - "y": 192 - } - }, - { - "id": "6f62a1a4-70d0-42a7-bb69-0639fbebdc04", - "type": "basic.input", - "data": { - "name": "", - "range": "[9:0]", - "clock": false, - "size": 10 - }, - "position": { - "x": 128, - "y": 192 - } - }, - { - "id": "16e78204-213e-4833-9096-89d735307ec2", - "type": "basic.code", - "data": { - "code": "assign o = i[0];", - "params": [], - "ports": { - "in": [ - { - "name": "i", - "range": "[9:0]", - "size": 10 - } - ], - "out": [ - { - "name": "o" - } - ] - } - }, - "position": { - "x": 296, - "y": 176 - }, - "size": { - "width": 264, - "height": 88 - } - } - ], - "wires": [ - { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o" - }, - "target": { - "block": "7e8b125e-5171-41ea-871b-ea7f0ffd4a03", - "port": "in" - } - }, - { - "source": { - "block": "6f62a1a4-70d0-42a7-bb69-0639fbebdc04", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i" - }, - "size": 10 - } - ] - } - } - }, - "3e13565dc4f4666505760a8e42d91e6ba1ab5a7f": { - "package": { - "name": "10bits-2-1-Mux", - "version": "0.1", - "description": "10 bits, 2-1 Multiplexor", - "author": "Juan Gonzalez-Gomez (obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2280.833%22%20height=%22158.56%22%20viewBox=%220%200%2075.781585%20148.65066%22%3E%3Cpath%20d=%22M74.375%2036.836c0-12.691-6.99-24.413-18.326-30.729-11.335-6.316-25.284-6.262-36.568.141C8.198%2012.652%201.304%2024.427%201.407%2037.118v74.415c-.103%2012.69%206.79%2024.466%2018.074%2030.87%2011.284%206.403%2025.233%206.457%2036.568.14%2011.336-6.316%2018.326-18.037%2018.326-30.728z%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%222.813%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.448%22%20y=%2291.518%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.448%22%20y=%2291.518%22%3E0%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.359%22%20y=%2214.582%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.359%22%20y=%2214.582%22%3E1%3C/tspan%3E%3C/text%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "c2bdc405-f749-4bec-bea6-8fe3705fa3bb", - "type": "basic.input", - "data": { - "name": "i1", - "range": "[9:0]", - "clock": false, - "size": 10 - }, - "position": { - "x": -664, - "y": -88 - } - }, - { - "id": "a8e40103-081c-4611-bd1a-6eeda46b33e3", - "type": "basic.output", - "data": { - "name": "", - "range": "[9:0]", - "size": 10 - }, - "position": { - "x": -88, - "y": 0 - } - }, - { - "id": "b0100e99-7b7f-4731-9a87-6e3ac76eea54", - "type": "basic.input", - "data": { - "name": "i0", - "range": "[9:0]", - "clock": false, - "size": 10 - }, - "position": { - "x": -664, - "y": 0 - } - }, - { - "id": "1e637a79-4a6d-495c-bcac-9664bdbe4b94", - "type": "basic.input", - "data": { - "name": "sel", - "clock": false - }, - "position": { - "x": -656, - "y": 88 - } - }, - { - "id": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", - "type": "basic.code", - "data": { - "code": "\nreg [9:0] o;\n\nalways @(*) begin\n case(sel)\n 0: o = i0;\n 1: o = i1;\n default: o = i0;\n endcase\nend\n\n", - "params": [], - "ports": { - "in": [ - { - "name": "i1", - "range": "[9:0]", - "size": 10 - }, - { - "name": "i0", - "range": "[9:0]", - "size": 10 - }, - { - "name": "sel" - } - ], - "out": [ - { - "name": "o", - "range": "[9:0]", - "size": 10 - } - ] - } - }, - "position": { - "x": -464, - "y": -104 - }, - "size": { - "width": 304, - "height": 272 - } - } - ], - "wires": [ - { - "source": { - "block": "1e637a79-4a6d-495c-bcac-9664bdbe4b94", - "port": "out" - }, - "target": { - "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", - "port": "sel" - } - }, - { - "source": { - "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", - "port": "o" - }, - "target": { - "block": "a8e40103-081c-4611-bd1a-6eeda46b33e3", - "port": "in" - }, - "size": 10 - }, - { - "source": { - "block": "c2bdc405-f749-4bec-bea6-8fe3705fa3bb", - "port": "out" - }, - "target": { - "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", - "port": "i1" - }, - "size": 10 - }, - { - "source": { - "block": "b0100e99-7b7f-4731-9a87-6e3ac76eea54", - "port": "out" - }, - "target": { - "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", - "port": "i0" - }, - "size": 10 - } - ] - } - } - }, - "dfb235f1673ee7cefa8539b9a9f9e43979df37ea": { - "package": { - "name": "stdout-bus-joint2", - "version": "0.1", - "description": "stdout bus joiner (data + tic)", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22354.768%22%20height=%22219.63%22%20viewBox=%220%200%20332.595%20205.90272%22%3E%3Cpath%20d=%22M164.218%2068.938L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v26.186l61.698.046c8.012-.043%2015.705%203.133%2021.47%208.81l61.448%2052.61a57.292%2057.292%200%200%200%2039.993%2016.139%2057.292%2057.292%200%200%200-39.993%2016.139l-61.448%2049.93c-5.765%205.678-13.458%208.854-21.47%208.81L.5%20179.217v26.187h62.612c14.924.039%2029.463-5.9%2040.204-16.28l60.902-49.48a29.857%2029.857%200%200%201%2021.347-8.809l146.53-.114V77.752H185.571a29.884%2029.884%200%200%201-21.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22341.249%22%20y=%22247.958%22%20font-weight=%22400%22%20font-size=%2244.109%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.938%22%20transform=%22translate(-184.13%20-199.542)%22%3E%3Ctspan%20x=%22341.249%22%20y=%22247.958%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ESTDOUT%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22390.889%22%20y=%22387.938%22%20font-weight=%22400%22%20font-size=%2244.109%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.938%22%20transform=%22translate(-184.13%20-199.542)%22%3E%3Ctspan%20x=%22390.889%22%20y=%22387.938%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EBUS%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22299.979%22%20y=%22389.373%22%20font-weight=%22400%22%20font-size=%2215%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%22.938%22%20transform=%22translate(-184.13%20-199.542)%22/%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "eb5386a0-d51a-4bb4-9f25-b8add9f18cfb", - "type": "basic.input", - "data": { - "name": "", - "range": "[7:0]", - "clock": false, - "size": 8 - }, - "position": { - "x": 112, - "y": 168 - } - }, - { - "id": "eda56153-8d23-4caa-a8de-73c6be124bb9", - "type": "basic.output", - "data": { - "name": "", - "range": "[9:0]", - "size": 10 - }, - "position": { - "x": 648, - "y": 192 - } - }, - { - "id": "9d2cea30-da88-4104-bf4e-e7934b02a553", - "type": "basic.input", - "data": { - "name": "tic", - "clock": false - }, - "position": { - "x": 112, - "y": 232 - } - }, - { - "id": "16e78204-213e-4833-9096-89d735307ec2", - "type": "basic.code", - "data": { - "code": "assign o[9:1] = {i, tic};", - "params": [], - "ports": { - "in": [ - { - "name": "i", - "range": "[7:0]", - "size": 8 - }, - { - "name": "tic" - } - ], - "out": [ - { - "name": "o", - "range": "[9:0]", - "size": 10 - } - ] - } - }, - "position": { - "x": 296, - "y": 176 - }, - "size": { - "width": 264, - "height": 88 - } - } - ], - "wires": [ - { - "source": { - "block": "eb5386a0-d51a-4bb4-9f25-b8add9f18cfb", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i" - }, - "size": 8 - }, - { - "source": { - "block": "9d2cea30-da88-4104-bf4e-e7934b02a553", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "tic" - } - }, - { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o" - }, - "target": { - "block": "eda56153-8d23-4caa-a8de-73c6be124bb9", - "port": "in" - }, - "size": 10 - } - ] - } - } - }, - "af1545e2cba3d57550e8c41f0e5cd36e4ec1e0be": { - "package": { - "name": "stdout-serial-buffer", - "version": "0.2", - "description": "Serial transmiter for the stdout bus (1 char buffer). Sysclk parameter", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22230.265%22%20width=%22258.177%22%20viewBox=%220%200%20242.04167%20215.87473%22%3E%3Cg%20transform=%22translate(344.08%20-10.985)%20scale(1.04907)%22%20stroke=%22#000%22%3E%3Cpath%20d=%22M-170.798%20177.526l.315%2036.011%2040.397-37.263v-33.51z%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M-308.584%20177.892l53.235-35.7%20124.635.628-39.456%2035.7%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Crect%20ry=%223.509%22%20height=%2236.325%22%20width=%22139.039%22%20y=%22178.153%22%20x=%22-308.895%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22square%22/%3E%3Cg%20transform=%22matrix(1.88858%200%200%201.88858%20-312.436%20138.651)%22%20stroke-width=%22.938%22%20stroke-linecap=%22square%22%3E%3Ccircle%20cy=%2230.367%22%20cx=%2211.326%22%20r=%223.15%22%20fill=%22red%22/%3E%3Ccircle%20cy=%2230.367%22%20cx=%2220.611%22%20r=%223.15%22%20fill=%22#faa%22/%3E%3Ccircle%20cy=%2230.367%22%20cx=%2262.82%22%20r=%223.15%22%20fill=%22green%22/%3E%3Ccircle%20cy=%2230.367%22%20cx=%2230.554%22%20r=%223.15%22%20fill=%22red%22/%3E%3C/g%3E%3C/g%3E%3Ctext%20y=%2240.93%22%20x=%2225.952%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2294.276%22%20letter-spacing=%220%22%20word-spacing=%220%22%20transform=%22scale(.99853%201.00147)%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%221.749%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2240.93%22%20x=%2225.952%22%20font-weight=%22700%22%20font-size=%2253.872%22%3ESerial%3C/tspan%3E%3C/text%3E%3Ctext%20y=%22108.569%22%20x=%22-3.867%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2294.276%22%20letter-spacing=%220%22%20word-spacing=%220%22%20transform=%22scale(.99853%201.00147)%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%221.749%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%22108.569%22%20x=%22-3.867%22%20font-weight=%22700%22%20font-size=%2253.872%22%3ESTDOUT%3C/tspan%3E%3C/text%3E%3C/svg%3E", - "otid": 1574522291739 - }, - "design": { - "graph": { - "blocks": [ - { - "id": "2d00d963-00f8-4a0a-9cb8-a4e5bfb61323", - "type": "basic.input", - "data": { - "name": "", - "clock": true - }, - "position": { - "x": 248, - "y": 224 - } - }, - { - "id": "340a0c20-8472-4bd8-ae36-204a57b49285", - "type": "basic.inputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true - }, - "position": { - "x": 424, - "y": 224 - } - }, - { - "id": "019dc637-ca36-4e18-8db1-5d5318fb2d6e", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk" - }, - "position": { - "x": 472, - "y": 376 - } - }, - { - "id": "3229f563-798d-4db3-9966-52596ca5cef1", - "type": "basic.inputLabel", - "data": { - "name": "tx", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 928, - "y": 376 - } - }, - { - "id": "f2043f09-b391-40ea-9d1d-721438b68ef1", - "type": "basic.output", - "data": { - "name": "tx" - }, - "position": { - "x": 1336, - "y": 384 - } - }, - { - "id": "6ba67914-123c-4491-862c-8eda58a6c040", - "type": "basic.outputLabel", - "data": { - "name": "tx", - "blockColor": "fuchsia", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 1184, - "y": 384 - } - }, - { - "id": "e1ba0ef0-77f6-4ab9-9892-b5c93aa3167c", - "type": "basic.inputLabel", - "data": { - "name": "busy", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia" - }, - "position": { - "x": 936, - "y": 456 - } - }, - { - "id": "bf297685-7b54-477f-b9ee-3c143135097b", - "type": "basic.input", - "data": { - "name": "", - "range": "[9:0]", - "clock": false, - "size": 10 - }, - "position": { - "x": 256, - "y": 472 - } - }, - { - "id": "6a12a92e-7e13-4bc0-9051-8aba3b29df38", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "Ready", - "range": "[9:0]", - "oldBlockColor": "fuchsia", - "size": 10 - }, - "position": { - "x": 1184, - "y": 480 - } - }, - { - "id": "93defa79-7f79-4614-8e5b-17ceacc8c7cf", - "type": "basic.output", - "data": { - "name": "rdy", - "range": "[9:0]", - "size": 10 - }, - "position": { - "x": 1336, - "y": 480 - } - }, - { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "type": "basic.output", - "data": { - "name": "busy" - }, - "position": { - "x": 1336, - "y": 576 - } - }, - { - "id": "6b86af4f-f0c9-4134-b2c9-9e9d1b0d6e15", - "type": "basic.outputLabel", - "data": { - "name": "busy", - "blockColor": "fuchsia" - }, - "position": { - "x": 1192, - "y": 576 - } - }, - { - "id": "2482a63c-2352-4fd5-81ee-6fcaa856ccdd", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "Ready", - "range": "[9:0]", - "pins": [ - { - "index": "9", - "name": "", - "value": "" - }, - { - "index": "8", - "name": "", - "value": "" - }, - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 1008, - "y": 600 - } - }, - { - "id": "b04e50bc-ceae-4d5b-9bd1-259af770825c", - "type": "basic.input", - "data": { - "name": "nc", - "clock": false - }, - "position": { - "x": 256, - "y": 600 - } - }, - { - "id": "bb5ac23f-87a4-4029-8fa8-ed6b93a824f9", - "type": "basic.constant", - "data": { - "name": "sclk", - "value": "12000000", - "local": false - }, - "position": { - "x": 656, - "y": 312 - } - }, - { - "id": "d4a02852-2578-4c4d-b7e2-0708b0ef9794", - "type": "basic.constant", - "data": { - "name": "bps", - "value": "115200", - "local": false - }, - "position": { - "x": 792, - "y": 312 - } - }, - { - "id": "e968d987-07d6-43f6-91c7-c51f2d0d5793", - "type": "c955cf93ef694308de70400b30cdd774804f88a9", - "position": { - "x": 480, - "y": 472 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "4cbc5545-838d-4037-8ff3-065df8ec78f6", - "type": "113ccf91a6aa073b6493e621c1add3fe0989efad", - "position": { - "x": 848, - "y": 600 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "7fa9a681-773d-4d20-91c6-e8109073c635", - "type": "basic.info", - "data": { - "info": "## STDOUT serial\n\nSerial transmitter for the STDOUT bus\n", - "readonly": true - }, - "position": { - "x": 264, - "y": 64 - }, - "size": { - "width": 352, - "height": 88 - } - }, - { - "id": "e03f0e2f-15f0-4a94-8757-e4a9f8a02c56", - "type": "basic.info", - "data": { - "info": "**STDOUT Bus** \n* Data to transmit (8 bits) \n* tic (1 bit)\n* data sent (done tic, 1 bit)", - "readonly": true - }, - "position": { - "x": 240, - "y": 352 - }, - "size": { - "width": 264, - "height": 80 - } - }, - { - "id": "a1d00ad1-cc0a-49d5-ab42-4a031b34464f", - "type": "0bbdc65ba424ff40518e139c64fecf5a9d646c78", - "position": { - "x": 680, - "y": 440 - }, - "size": { - "width": 96, - "height": 96 - } - } - ], - "wires": [ - { - "source": { - "block": "2d00d963-00f8-4a0a-9cb8-a4e5bfb61323", - "port": "out" - }, - "target": { - "block": "340a0c20-8472-4bd8-ae36-204a57b49285", - "port": "inlabel" - }, - "vertices": [] - }, - { - "source": { - "block": "019dc637-ca36-4e18-8db1-5d5318fb2d6e", - "port": "outlabel" - }, - "target": { - "block": "a1d00ad1-cc0a-49d5-ab42-4a031b34464f", - "port": "aa41bb20-1565-45fc-b082-c728415f7cb3" - }, - "vertices": [ - { - "x": 608, - "y": 432 - } - ] - }, - { - "source": { - "block": "4cbc5545-838d-4037-8ff3-065df8ec78f6", - "port": "72968b0a-a651-457f-8809-036985e64653", - "size": 10 - }, - "target": { - "block": "2482a63c-2352-4fd5-81ee-6fcaa856ccdd", - "port": "inlabel" - }, - "size": 10 - }, - { - "source": { - "block": "6a12a92e-7e13-4bc0-9051-8aba3b29df38", - "port": "outlabel" - }, - "target": { - "block": "93defa79-7f79-4614-8e5b-17ceacc8c7cf", - "port": "in", - "size": 10 - }, - "size": 10 - }, - { - "source": { - "block": "a1d00ad1-cc0a-49d5-ab42-4a031b34464f", - "port": "b1b1682c-2c7c-4e71-8068-426364b08096" - }, - "target": { - "block": "e1ba0ef0-77f6-4ab9-9892-b5c93aa3167c", - "port": "inlabel" - } - }, - { - "source": { - "block": "6b86af4f-f0c9-4134-b2c9-9e9d1b0d6e15", - "port": "outlabel" - }, - "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "port": "in" - } - }, - { - "source": { - "block": "6ba67914-123c-4491-862c-8eda58a6c040", - "port": "outlabel" - }, - "target": { - "block": "f2043f09-b391-40ea-9d1d-721438b68ef1", - "port": "in" - } - }, - { - "source": { - "block": "a1d00ad1-cc0a-49d5-ab42-4a031b34464f", - "port": "369dcc35-b79e-452f-8686-5a0fc79026ee" - }, - "target": { - "block": "3229f563-798d-4db3-9966-52596ca5cef1", - "port": "inlabel" - } - }, - { - "source": { - "block": "e968d987-07d6-43f6-91c7-c51f2d0d5793", - "port": "03a1539f-6d99-4957-a7ca-3718ec57b1ee" - }, - "target": { - "block": "a1d00ad1-cc0a-49d5-ab42-4a031b34464f", - "port": "3677e940-f241-4c6e-8411-81f6c8044f4a" - }, - "vertices": [], - "size": 8 - }, - { - "source": { - "block": "e968d987-07d6-43f6-91c7-c51f2d0d5793", - "port": "11b231a8-883c-47a2-afea-ce22fc2fc800" - }, - "target": { - "block": "a1d00ad1-cc0a-49d5-ab42-4a031b34464f", - "port": "737e0f1e-4964-4029-a40b-baf773e3c886" - }, - "vertices": [] - }, - { - "source": { - "block": "a1d00ad1-cc0a-49d5-ab42-4a031b34464f", - "port": "9e42bee5-bcaa-42fd-9077-6920b7b3f920" - }, - "target": { - "block": "4cbc5545-838d-4037-8ff3-065df8ec78f6", - "port": "3bbe35e4-7c46-4bbb-b9c3-3a6f4bbaf1c0" - }, - "vertices": [] - }, - { - "source": { - "block": "bf297685-7b54-477f-b9ee-3c143135097b", - "port": "out" - }, - "target": { - "block": "e968d987-07d6-43f6-91c7-c51f2d0d5793", - "port": "62f60de5-6d65-45f1-a57a-96daf57df585" - }, - "size": 10 - }, - { - "source": { - "block": "d4a02852-2578-4c4d-b7e2-0708b0ef9794", - "port": "constant-out" - }, - "target": { - "block": "a1d00ad1-cc0a-49d5-ab42-4a031b34464f", - "port": "98166aa3-0973-4d30-9a46-29a3e4c30a57" - } - }, - { - "source": { - "block": "bb5ac23f-87a4-4029-8fa8-ed6b93a824f9", - "port": "constant-out" - }, - "target": { - "block": "a1d00ad1-cc0a-49d5-ab42-4a031b34464f", - "port": "36509a01-2e78-4be1-8055-0fba0ed93b33" - } - } - ] - } - } - }, - "c955cf93ef694308de70400b30cdd774804f88a9": { - "package": { - "name": "stdout-bus-split2", - "version": "0.1", - "description": "stdout bus splitter into data and tic signals", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22354.768%22%20height=%22219.63%22%20viewBox=%220%200%20332.595%20205.90272%22%3E%3Cpath%20d=%22M168.377%2068.938l61.147-52.233C240.21%206.25%20254.56.461%20269.484.5h62.611v26.186l-61.698.046c-8.012-.043-15.705%203.133-21.47%208.81l-61.448%2052.61a57.292%2057.292%200%200%201-39.993%2016.139%2057.292%2057.292%200%200%201%2039.993%2016.139l61.448%2049.93c5.765%205.678%2013.458%208.854%2021.47%208.81l61.698.046v26.187h-62.612c-14.924.039-29.463-5.9-40.204-16.28l-60.902-49.48a29.857%2029.857%200%200%200-21.347-8.809L.5%20130.72V77.752h146.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%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22194.597%22%20y=%22247.958%22%20font-weight=%22400%22%20font-size=%2244.109%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.938%22%20transform=%22translate(-184.13%20-199.542)%22%3E%3Ctspan%20x=%22194.597%22%20y=%22247.958%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ESTDOUT%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22228.835%22%20y=%22387.938%22%20font-weight=%22400%22%20font-size=%2244.109%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.938%22%20transform=%22translate(-184.13%20-199.542)%22%3E%3Ctspan%20x=%22228.835%22%20y=%22387.938%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EBUS%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22299.979%22%20y=%22389.373%22%20font-weight=%22400%22%20font-size=%2215%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%22.938%22%20transform=%22translate(-184.13%20-199.542)%22/%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "03a1539f-6d99-4957-a7ca-3718ec57b1ee", - "type": "basic.output", - "data": { - "name": "", - "range": "[7:0]", - "size": 8 - }, - "position": { - "x": 608, - "y": 168 - } - }, - { - "id": "62f60de5-6d65-45f1-a57a-96daf57df585", - "type": "basic.input", - "data": { - "name": "", - "range": "[9:0]", - "clock": false, - "size": 10 - }, - "position": { - "x": 128, - "y": 192 - } - }, - { - "id": "11b231a8-883c-47a2-afea-ce22fc2fc800", - "type": "basic.output", - "data": { - "name": "tic" - }, - "position": { - "x": 576, - "y": 248 - } - }, - { - "id": "16e78204-213e-4833-9096-89d735307ec2", - "type": "basic.code", - "data": { - "code": "assign data = i[9:2];\nassign tic = i[1];", - "params": [], - "ports": { - "in": [ - { - "name": "i", - "range": "[9:0]", - "size": 10 - } - ], - "out": [ - { - "name": "data", - "range": "[7:0]", - "size": 8 - }, - { - "name": "tic" - } - ] - } - }, - "position": { - "x": 296, - "y": 176 - }, - "size": { - "width": 232, - "height": 96 - } - } - ], - "wires": [ - { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "data" - }, - "target": { - "block": "03a1539f-6d99-4957-a7ca-3718ec57b1ee", - "port": "in" - }, - "size": 8 - }, - { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "tic" - }, - "target": { - "block": "11b231a8-883c-47a2-afea-ce22fc2fc800", - "port": "in" - } - }, - { - "source": { - "block": "62f60de5-6d65-45f1-a57a-96daf57df585", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i" - }, - "size": 10 - } - ] - } - } - }, - "113ccf91a6aa073b6493e621c1add3fe0989efad": { - "package": { - "name": "stdout-bus-next-in", - "version": "0.1", - "description": "Convert the 1-bit next signal into a 10-bit stdout bus", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22356.708%22%20height=%22176.233%22%20viewBox=%220%200%2094.37896%2046.628384%22%3E%3Cg%20transform=%22translate(-44.148%20-120.418)%22%3E%3Crect%20width=%2233.016%22%20height=%227.314%22%20x=%22-77.429%22%20y=%22141.954%22%20ry=%220%22%20transform=%22scale(-1%201)%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22bevel%22/%3E%3Crect%20width=%2235.851%22%20height=%2214.797%22%20x=%22-138.262%22%20y=%22138.101%22%20ry=%220%22%20transform=%22scale(-1%201)%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22bevel%22/%3E%3Crect%20width=%2225.079%22%20height=%2227.493%22%20x=%22-102.314%22%20y=%22132.039%22%20ry=%220%22%20transform=%22scale(-1%201)%22%20fill=%22#999%22%20stroke=%22#000%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22bevel%22/%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%2289.27%22%20y=%22130.378%22%20font-weight=%22400%22%20font-size=%2212.449%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20x=%2289.27%22%20y=%22130.378%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ESTDOUT%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22105.548%22%20y=%22166.86%22%20font-weight=%22400%22%20font-size=%2212.449%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20x=%22105.548%22%20y=%22166.86%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EBUS%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "3bbe35e4-7c46-4bbb-b9c3-3a6f4bbaf1c0", - "type": "basic.input", - "data": { - "name": "next", - "clock": false - }, - "position": { - "x": 128, - "y": 192 - } - }, - { - "id": "72968b0a-a651-457f-8809-036985e64653", - "type": "basic.output", - "data": { - "name": "", - "range": "[9:0]", - "size": 10 - }, - "position": { - "x": 640, - "y": 192 - } - }, - { - "id": "16e78204-213e-4833-9096-89d735307ec2", - "type": "basic.code", - "data": { - "code": "assign o[0] = next;", - "params": [], - "ports": { - "in": [ - { - "name": "next" - } - ], - "out": [ - { - "name": "o", - "range": "[9:0]", - "size": 10 - } - ] - } - }, - "position": { - "x": 296, - "y": 176 - }, - "size": { - "width": 264, - "height": 88 - } - } - ], - "wires": [ - { - "source": { - "block": "3bbe35e4-7c46-4bbb-b9c3-3a6f4bbaf1c0", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "next" - } - }, - { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o" - }, - "target": { - "block": "72968b0a-a651-457f-8809-036985e64653", - "port": "in" - }, - "size": 10 - } - ] - } - } - }, - "0bbdc65ba424ff40518e139c64fecf5a9d646c78": { - "package": { - "name": "Serial-tx-Bufferx1", - "version": "0.1", - "description": "Serial transmitter with a buffer for 1 byte", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20274.81662%20209.31615%22%20width=%22293.137%22%20height=%22223.269%22%3E%3Cg%20transform=%22translate(347.142%20-102.544)%20scale(1.04907)%22%20stroke=%22#000%22%3E%3Cpath%20d=%22M-170.798%20177.526l.315%2036.011%2040.397-37.263v-33.51z%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M-308.584%20177.892l53.235-35.7%20124.635.628-39.456%2035.7%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Crect%20x=%22-308.895%22%20y=%22178.153%22%20width=%22139.039%22%20height=%2236.325%22%20ry=%223.509%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22square%22/%3E%3Cg%20transform=%22matrix(1.88858%200%200%201.88858%20-312.436%20138.651)%22%20stroke-width=%22.938%22%20stroke-linecap=%22square%22%3E%3Ccircle%20r=%223.15%22%20cx=%2211.326%22%20cy=%2230.367%22%20fill=%22red%22/%3E%3Ccircle%20r=%223.15%22%20cx=%2220.611%22%20cy=%2230.367%22%20fill=%22#faa%22/%3E%3Ccircle%20r=%223.15%22%20cx=%2262.82%22%20cy=%2230.367%22%20fill=%22green%22/%3E%3Ccircle%20r=%223.15%22%20cx=%2230.554%22%20cy=%2230.367%22%20fill=%22red%22/%3E%3C/g%3E%3C/g%3E%3Ctext%20transform=%22scale(.99853%201.00147)%22%20word-spacing=%220%22%20letter-spacing=%220%22%20font-size=%2265.171%22%20font-weight=%22400%22%20style=%22line-height:0%25%22%20x=%2270.801%22%20y=%2228.295%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%221.209%22%3E%3Ctspan%20font-size=%2237.241%22%20font-weight=%22700%22%20x=%2270.801%22%20y=%2228.295%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%3ESerial%3C/tspan%3E%3C/text%3E%3Cg%20transform=%22translate(-49.71%20-39.925)%20scale(2.8106)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20cx=%22100.602%22%20cy=%2273.815%22%20r=%2214.559%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22translate(-240.978%20-39.925)%20scale(2.8106)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20cx=%22100.602%22%20cy=%2273.815%22%20r=%2214.559%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Ccircle%20r=%2240.92%22%20cy=%2281.071%22%20cx=%22233.043%22%20fill=%22#ececec%22%20stroke=%22green%22%20stroke-width=%221.71%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M261.766%2092.931h-4.696V67.437h-48.103v25.295h-5.116%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%224.275%22%20stroke-linecap=%22round%22/%3E%3Ctext%20transform=%22scale(.99853%201.00147)%22%20word-spacing=%220%22%20letter-spacing=%220%22%20font-size=%2265.171%22%20font-weight=%22400%22%20style=%22line-height:0%25%22%20x=%22108.068%22%20y=%22165.6%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%221.209%22%3E%3Ctspan%20font-size=%2237.241%22%20font-weight=%22700%22%20x=%22108.068%22%20y=%22165.6%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%3ETX%3C/tspan%3E%3C/text%3E%3Ctext%20y=%22198.423%22%20x=%2284.123%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2248.233%22%20letter-spacing=%220%22%20word-spacing=%220%22%20transform=%22scale(.99853%201.00147)%22%20font-family=%22sans-serif%22%20fill=%22green%22%20stroke-width=%221.209%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%22198.423%22%20x=%2284.123%22%20font-weight=%22700%22%20font-size=%2227.562%22%3EBuffx1%3C/tspan%3E%3C/text%3E%3C/svg%3E", - "otid": 1592071458900 - }, - "design": { - "graph": { - "blocks": [ - { - "id": "a9c22dcd-8004-403b-8252-7d67e44b004c", - "type": "basic.inputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true - }, - "position": { - "x": 176, - "y": 328 - } - }, - { - "id": "aa41bb20-1565-45fc-b082-c728415f7cb3", - "type": "basic.input", - "data": { - "name": "", - "clock": true - }, - "position": { - "x": 40, - "y": 328 - } - }, - { - "id": "f58220ae-6857-4aee-a048-8f29a9a3edb0", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk" - }, - "position": { - "x": 392, - "y": 352 - } - }, - { - "id": "81cfea05-80b0-4fcf-b822-ee74415e5729", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk" - }, - "position": { - "x": 704, - "y": 360 - } - }, - { - "id": "369dcc35-b79e-452f-8686-5a0fc79026ee", - "type": "basic.output", - "data": { - "name": "TX" - }, - "position": { - "x": 1120, - "y": 392 - } - }, - { - "id": "bd015212-9591-44d1-b9bd-e00404e9e127", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "busy", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 392, - "y": 416 - } - }, - { - "id": "1b53ca45-9c3b-48e2-a4d4-46606b68f6ed", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "bbusy", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 720, - "y": 432 - } - }, - { - "id": "b1b1682c-2c7c-4e71-8068-426364b08096", - "type": "basic.output", - "data": { - "name": "busy" - }, - "position": { - "x": 1416, - "y": 488 - } - }, - { - "id": "a9515ba2-54a0-497f-a55e-3a97b52307b5", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "bbusy" - }, - "position": { - "x": 1256, - "y": 488 - } - }, - { - "id": "0c84226f-058f-4e9f-9697-4676db24be6e", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "busy", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true - }, - "position": { - "x": 1144, - "y": 496 - } - }, - { - "id": "3677e940-f241-4c6e-8411-81f6c8044f4a", - "type": "basic.input", - "data": { - "name": "", - "range": "[7:0]", - "clock": false, - "size": 8 - }, - "position": { - "x": 40, - "y": 496 - } - }, - { - "id": "9e42bee5-bcaa-42fd-9077-6920b7b3f920", - "type": "basic.output", - "data": { - "name": "done" - }, - "position": { - "x": 1424, - "y": 568 - } - }, - { - "id": "bb087c79-9c6d-4eb9-9ce0-08daaf8ae25c", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "done" - }, - "position": { - "x": 1256, - "y": 568 - } - }, - { - "id": "737e0f1e-4964-4029-a40b-baf773e3c886", - "type": "basic.input", - "data": { - "name": "txmit", - "clock": false - }, - "position": { - "x": 32, - "y": 592 - } - }, - { - "id": "ac7ffef6-e027-4f70-aa92-244c622c2288", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "done", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true - }, - "position": { - "x": 840, - "y": 616 - } - }, - { - "id": "36509a01-2e78-4be1-8055-0fba0ed93b33", - "type": "basic.constant", - "data": { - "name": "sclk", - "value": "12000000", - "local": false - }, - "position": { - "x": 848, - "y": 368 - } - }, - { - "id": "98166aa3-0973-4d30-9a46-29a3e4c30a57", - "type": "basic.constant", - "data": { - "name": "bps", - "value": "115200", - "local": false - }, - "position": { - "x": 968, - "y": 368 - } - }, - { - "id": "add79568-8fa3-4976-96d4-5774aa4d5ee6", - "type": "c953202df76fedf2dff67e2add8103df0fefcf72", - "position": { - "x": 560, - "y": 448 - }, - "size": { - "width": 96, - "height": 128 - } - }, - { - "id": "93bd8ba4-1388-44e3-9a4f-a805866fa8e2", - "type": "f5dc974ff576804a66c6a60ab920080490117fc3", - "position": { - "x": 872, - "y": 480 - }, - "size": { - "width": 96, - "height": 96 - } - } - ], - "wires": [ - { - "source": { - "block": "93bd8ba4-1388-44e3-9a4f-a805866fa8e2", - "port": "75d4695e-f445-4762-9ae9-c9bf0e51974f" - }, - "target": { - "block": "0c84226f-058f-4e9f-9697-4676db24be6e", - "port": "inlabel" - }, - "vertices": [] - }, - { - "source": { - "block": "bd015212-9591-44d1-b9bd-e00404e9e127", - "port": "outlabel" - }, - "target": { - "block": "add79568-8fa3-4976-96d4-5774aa4d5ee6", - "port": "0bc6ea13-3b91-44af-99ca-b8a88c42b845" - }, - "vertices": [] - }, - { - "source": { - "block": "aa41bb20-1565-45fc-b082-c728415f7cb3", - "port": "out" - }, - "target": { - "block": "a9c22dcd-8004-403b-8252-7d67e44b004c", - "port": "inlabel" - }, - "vertices": [] - }, - { - "source": { - "block": "f58220ae-6857-4aee-a048-8f29a9a3edb0", - "port": "outlabel" - }, - "target": { - "block": "add79568-8fa3-4976-96d4-5774aa4d5ee6", - "port": "9409102d-240c-4352-9abe-791f1d3dc427" - } - }, - { - "source": { - "block": "81cfea05-80b0-4fcf-b822-ee74415e5729", - "port": "outlabel" - }, - "target": { - "block": "93bd8ba4-1388-44e3-9a4f-a805866fa8e2", - "port": "4c296e24-7312-407a-8fb0-f3a6d4feb3ab" - }, - "vertices": [ - { - "x": 832, - "y": 448 - } - ] - }, - { - "source": { - "block": "add79568-8fa3-4976-96d4-5774aa4d5ee6", - "port": "e292a084-fe45-48cf-8901-25443ea28288" - }, - "target": { - "block": "ac7ffef6-e027-4f70-aa92-244c622c2288", - "port": "inlabel" - } - }, - { - "source": { - "block": "bb087c79-9c6d-4eb9-9ce0-08daaf8ae25c", - "port": "outlabel" - }, - "target": { - "block": "9e42bee5-bcaa-42fd-9077-6920b7b3f920", - "port": "in" - } - }, - { - "source": { - "block": "add79568-8fa3-4976-96d4-5774aa4d5ee6", - "port": "5cadf71f-ae3d-44ee-a2f3-f95d2b2fc416" - }, - "target": { - "block": "1b53ca45-9c3b-48e2-a4d4-46606b68f6ed", - "port": "inlabel" - } - }, - { - "source": { - "block": "a9515ba2-54a0-497f-a55e-3a97b52307b5", - "port": "outlabel" - }, - "target": { - "block": "b1b1682c-2c7c-4e71-8068-426364b08096", - "port": "in" - } - }, - { - "source": { - "block": "add79568-8fa3-4976-96d4-5774aa4d5ee6", - "port": "7c97b34e-6809-4280-9a47-7c6565783efd" - }, - "target": { - "block": "93bd8ba4-1388-44e3-9a4f-a805866fa8e2", - "port": "27183891-b385-412b-bc55-21df1dd0280e" - }, - "vertices": [], - "size": 8 - }, - { - "source": { - "block": "add79568-8fa3-4976-96d4-5774aa4d5ee6", - "port": "e292a084-fe45-48cf-8901-25443ea28288" - }, - "target": { - "block": "93bd8ba4-1388-44e3-9a4f-a805866fa8e2", - "port": "6bb28a95-e6e4-4044-9c22-c4404693b6b1" - }, - "vertices": [] - }, - { - "source": { - "block": "3677e940-f241-4c6e-8411-81f6c8044f4a", - "port": "out" - }, - "target": { - "block": "add79568-8fa3-4976-96d4-5774aa4d5ee6", - "port": "00a3945b-8f8b-4145-a89f-5c63356cbb42" - }, - "size": 8 - }, - { - "source": { - "block": "737e0f1e-4964-4029-a40b-baf773e3c886", - "port": "out" - }, - "target": { - "block": "add79568-8fa3-4976-96d4-5774aa4d5ee6", - "port": "ebecf4bb-9a9a-4343-bf58-c328017940a1" - } - }, - { - "source": { - "block": "93bd8ba4-1388-44e3-9a4f-a805866fa8e2", - "port": "09701eaa-8d79-487f-b003-267e04095bb1" - }, - "target": { - "block": "369dcc35-b79e-452f-8686-5a0fc79026ee", - "port": "in" - } - }, - { - "source": { - "block": "98166aa3-0973-4d30-9a46-29a3e4c30a57", - "port": "constant-out" - }, - "target": { - "block": "93bd8ba4-1388-44e3-9a4f-a805866fa8e2", - "port": "671d0b4d-317d-4aef-8422-8b9a400211a4" - } - }, - { - "source": { - "block": "36509a01-2e78-4be1-8055-0fba0ed93b33", - "port": "constant-out" - }, - "target": { - "block": "93bd8ba4-1388-44e3-9a4f-a805866fa8e2", - "port": "76db97e8-ad17-4a4b-b288-73e449659681" - } - } - ] - } - } - }, - "c953202df76fedf2dff67e2add8103df0fefcf72": { - "package": { - "name": "Bufferx1", - "version": "0.1", - "description": "1-byte buffer", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22486.672%22%20height=%22602.137%22%20viewBox=%220%200%20128.76529%20159.31538%22%3E%3Cdefs%3E%3Cmarker%20id=%22a%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20fill=%22green%22%20fill-rule=%22evenodd%22%20stroke=%22green%22%20stroke-width=%22.4pt%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22b%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20fill=%22green%22%20fill-rule=%22evenodd%22%20stroke=%22green%22%20stroke-width=%22.4pt%22/%3E%3C/marker%3E%3C/defs%3E%3Cg%20transform=%22translate(-36.709%20-6.935)%22%3E%3Ctext%20y=%2223.901%22%20x=%2252.692%22%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20font-weight=%22400%22%20font-size=%2224.237%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%221.515%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20y=%2223.901%22%20x=%2252.692%22%20font-weight=%22500%22%3EBUFFER%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%2257.966%22%20y=%2254.038%22%20font-weight=%22400%22%20font-size=%2224.237%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%221.515%22%3E%3Ctspan%20x=%2257.966%22%20y=%2254.038%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3E1%20Byte%3C/tspan%3E%3C/text%3E%3Cpath%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%221.058%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20d=%22M88.111%2080.714h18.065v34.343H88.111z%22/%3E%3Cpath%20d=%22M36.735%2097.51l32.787.406%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%224.233%22%20marker-end=%22url(#a)%22/%3E%3Ccircle%20r=%2212.463%22%20cy=%22153.527%22%20cx=%2249.548%22%20fill=%22#ececec%22%20stroke=%22green%22%20stroke-width=%22.521%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M55.006%20160.654h-2.87V144.54h-5.21v15.99H43.8%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%221.302%22%20stroke-linecap=%22round%22/%3E%3Ccircle%20cx=%22152.75%22%20cy=%22152.608%22%20r=%2212.463%22%20fill=%22#ececec%22%20stroke=%22green%22%20stroke-width=%22.521%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M158.208%20159.736h-2.87V143.62h-5.209v15.989h-3.126%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%221.302%22%20stroke-linecap=%22round%22/%3E%3Cpath%20d=%22M112.404%2097.51l32.788.406%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%224.233%22%20marker-end=%22url(#b)%22/%3E%3C/g%3E%3C/svg%3E", - "otid": 1592069772467 - }, - "design": { - "graph": { - "blocks": [ - { - "id": "9409102d-240c-4352-9abe-791f1d3dc427", - "type": "basic.input", - "data": { - "name": "", - "clock": true - }, - "position": { - "x": 0, - "y": 168 - } - }, - { - "id": "3d49de96-a8cc-4d88-8f57-75e496bdff70", - "type": "basic.inputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true - }, - "position": { - "x": 144, - "y": 168 - } - }, - { - "id": "f7141ca8-af9f-4746-b93b-eaf40e5a7287", - "type": "basic.output", - "data": { - "name": "nc" - }, - "position": { - "x": 1480, - "y": 176 - } - }, - { - "id": "5cadf71f-ae3d-44ee-a2f3-f95d2b2fc416", - "type": "basic.output", - "data": { - "name": "busy", - "virtual": false - }, - "position": { - "x": 1480, - "y": 288 - } - }, - { - "id": "f9363071-27a7-4f7e-9251-5d18cbfcb661", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "full" - }, - "position": { - "x": 1328, - "y": 288 - } - }, - { - "id": "0bc6ea13-3b91-44af-99ca-b8a88c42b845", - "type": "basic.input", - "data": { - "name": "busy", - "clock": false - }, - "position": { - "x": -8, - "y": 296 - } - }, - { - "id": "a0618acf-b3a5-4778-9c40-73ef35c9e5e3", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "busy", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 136, - "y": 296 - } - }, - { - "id": "f6a0cbbe-4f41-4558-a15a-b11cae68a067", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk" - }, - "position": { - "x": 568, - "y": 304 - } - }, - { - "id": "00a3945b-8f8b-4145-a89f-5c63356cbb42", - "type": "basic.input", - "data": { - "name": "din", - "range": "[7:0]", - "clock": false, - "size": 8 - }, - "position": { - "x": -8, - "y": 368 - } - }, - { - "id": "2fce138f-6339-467a-bca4-50f3daea2cd8", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "din", - "range": "[7:0]", - "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true - }, - "position": { - "x": 136, - "y": 368 - } - }, - { - "id": "9b1d07d3-66d2-4f19-8b65-fce699451099", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "din", - "range": "[7:0]", - "size": 8 - }, - "position": { - "x": 568, - "y": 368 - } - }, - { - "id": "7c97b34e-6809-4280-9a47-7c6565783efd", - "type": "basic.output", - "data": { - "name": "dout", - "range": "[7:0]", - "size": 8 - }, - "position": { - "x": 1488, - "y": 368 - } - }, - { - "id": "250b5b98-fbd7-467e-b14a-3c2367f49fc6", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "dout", - "range": "[7:0]", - "size": 8 - }, - "position": { - "x": 1328, - "y": 368 - } - }, - { - "id": "048f5151-87d8-438e-b807-89e45379f059", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "dout", - "range": "[7:0]", - "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true - }, - "position": { - "x": 888, - "y": 392 - } - }, - { - "id": "ebecf4bb-9a9a-4343-bf58-c328017940a1", - "type": "basic.input", - "data": { - "name": "load", - "clock": false - }, - "position": { - "x": -8, - "y": 440 - } - }, - { - "id": "da1430f6-4614-47c2-957e-e3d9c28a1107", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "load", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true - }, - "position": { - "x": 136, - "y": 440 - } - }, - { - "id": "9fab6e1c-2098-4655-97ac-7d984af752aa", - "type": "basic.outputLabel", - "data": { - "blockColor": "greenyellow", - "name": "transmit", - "oldBlockColor": "greenyellow" - }, - "position": { - "x": 1328, - "y": 448 - } - }, - { - "id": "e292a084-fe45-48cf-8901-25443ea28288", - "type": "basic.output", - "data": { - "name": "txmit" - }, - "position": { - "x": 1488, - "y": 448 - } - }, - { - "id": "caf3ea8d-b0ab-41e9-b5e2-483c88af018e", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk" - }, - "position": { - "x": 768, - "y": 488 - } - }, - { - "id": "2e58e7ea-7227-4e3a-aa72-ebf8449d7dea", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk" - }, - "position": { - "x": 592, - "y": 544 - } - }, - { - "id": "e7c8154d-0273-4360-ba92-9ff7ef997c43", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "full", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true - }, - "position": { - "x": 1096, - "y": 584 - } - }, - { - "id": "e6835d26-38af-46c6-95d7-2b812807d733", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "load" - }, - "position": { - "x": 280, - "y": 584 - } - }, - { - "id": "882b10f5-e60d-4364-9b84-6fd7bcc34f09", - "type": "basic.outputLabel", - "data": { - "blockColor": "greenyellow", - "name": "transmit", - "oldBlockColor": "greenyellow" - }, - "position": { - "x": 776, - "y": 672 - } - }, - { - "id": "ed09d5d0-0653-49bb-956d-31d182eba03e", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "full" - }, - "position": { - "x": 128, - "y": 680 - } - }, - { - "id": "90a4fcf1-e628-4fa2-a897-f6ff5d9ec518", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk" - }, - "position": { - "x": 1088, - "y": 696 - } - }, - { - "id": "b39be05b-bc4c-4818-886e-45a0e6321d7a", - "type": "basic.inputLabel", - "data": { - "blockColor": "greenyellow", - "name": "transmit", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "greenyellow" - }, - "position": { - "x": 1352, - "y": 776 - } - }, - { - "id": "4934cb58-9165-4df1-ab8d-cce25d31c622", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "busy", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 784, - "y": 808 - } - }, - { - "id": "83c18781-c3fa-4049-9ae3-0c098af203f3", - "type": "35f267d0df6ffcb7fc33753bc9df9cf083642cca", - "position": { - "x": 912, - "y": 808 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "90d72446-1e0c-4cbc-aacf-45f6ae1b23fc", - "type": "89d2342d9664348db3e70e823cacbc8eb24ea3d0", - "position": { - "x": 720, - "y": 376 - }, - "size": { - "width": 96, - "height": 96 - } - }, - { - "id": "57db6a78-0c5c-4642-822e-22335b96f2a5", - "type": "1c7dae7144d376f2ee4896fcc502a29110e2db37", - "position": { - "x": 720, - "y": 584 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "59abbca0-841c-4330-9b9e-9a01e1f66e5d", - "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", - "position": { - "x": 1064, - "y": 792 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "5cf8a623-93ba-46b1-aeed-e677dacca948", - "type": "b959c256104d1064a5ef7b38632ffb6eed3b396f", - "position": { - "x": 912, - "y": 568 - }, - "size": { - "width": 96, - "height": 96 - } - }, - { - "id": "de2c9942-4970-4d39-8726-2bf623926cdb", - "type": "8e2728307baccbf26c01cdb87bcfba8ca64a435c", - "position": { - "x": 1216, - "y": 776 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "bed90867-99ce-46ee-9dea-ab7429901c13", - "type": "35f267d0df6ffcb7fc33753bc9df9cf083642cca", - "position": { - "x": 264, - "y": 680 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "c70e942c-80b7-4927-82b9-fc9497fd2c8f", - "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", - "position": { - "x": 408, - "y": 600 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "2f3e8573-2271-4318-bc85-4f7a8863d3b9", - "type": "basic.info", - "data": { - "info": "Empty Buffer \n(There is no byte \nwaiting)", - "readonly": true - }, - "position": { - "x": 416, - "y": 696 - }, - "size": { - "width": 176, - "height": 72 - } - }, - { - "id": "75732690-c25e-4ef2-8bd4-24063b99eccd", - "type": "basic.info", - "data": { - "info": "Byte stored in the \nbuffer, waiting to be \ntransmitted when the \ntransmitter is ready", - "readonly": true - }, - "position": { - "x": 736, - "y": 272 - }, - "size": { - "width": 192, - "height": 80 - } - }, - { - "id": "ae4e35fb-6c45-4358-9da3-fd6001c91dc5", - "type": "basic.info", - "data": { - "info": "Buffer state: \n0: empty \n1: full", - "readonly": true - }, - "position": { - "x": 1024, - "y": 520 - }, - "size": { - "width": 152, - "height": 72 - } - }, - { - "id": "89b7c934-9b29-4cd6-b65e-6a43b4ac918a", - "type": "basic.info", - "data": { - "info": "Transmitter ready", - "readonly": true - }, - "position": { - "x": 912, - "y": 880 - }, - "size": { - "width": 168, - "height": 32 - } - }, - { - "id": "0a843d2d-8d40-45e1-84e1-56278083af19", - "type": "basic.info", - "data": { - "info": "If the transmittter is ready \nand there is a character \nin the buffer: Transmit!", - "readonly": true - }, - "position": { - "x": 1224, - "y": 696 - }, - "size": { - "width": 248, - "height": 72 - } - }, - { - "id": "dd4a29f2-1762-4fac-9def-299bdae4f72f", - "type": "basic.info", - "data": { - "info": "Serial transmitter state", - "readonly": true - }, - "position": { - "x": 56, - "y": 272 - }, - "size": { - "width": 208, - "height": 40 - } - } - ], - "wires": [ - { - "source": { - "block": "4934cb58-9165-4df1-ab8d-cce25d31c622", - "port": "outlabel" - }, - "target": { - "block": "83c18781-c3fa-4049-9ae3-0c098af203f3", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - }, - "vertices": [] - }, - { - "source": { - "block": "882b10f5-e60d-4364-9b84-6fd7bcc34f09", - "port": "outlabel" - }, - "target": { - "block": "5cf8a623-93ba-46b1-aeed-e677dacca948", - "port": "86eb8c81-17fc-4371-bd21-51f429191f3c" - }, - "vertices": [] - }, - { - "source": { - "block": "5cf8a623-93ba-46b1-aeed-e677dacca948", - "port": "1cb167a4-9e2a-416b-803e-da7b6151eaa5" - }, - "target": { - "block": "e7c8154d-0273-4360-ba92-9ff7ef997c43", - "port": "inlabel" - }, - "vertices": [] - }, - { - "source": { - "block": "ed09d5d0-0653-49bb-956d-31d182eba03e", - "port": "outlabel" - }, - "target": { - "block": "bed90867-99ce-46ee-9dea-ab7429901c13", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - }, - "vertices": [] - }, - { - "source": { - "block": "de2c9942-4970-4d39-8726-2bf623926cdb", - "port": "1d2e403f-0fa6-41fd-83a9-4f309eadd855" - }, - "target": { - "block": "b39be05b-bc4c-4818-886e-45a0e6321d7a", - "port": "inlabel" - }, - "vertices": [] - }, - { - "source": { - "block": "9409102d-240c-4352-9abe-791f1d3dc427", - "port": "out" - }, - "target": { - "block": "3d49de96-a8cc-4d88-8f57-75e496bdff70", - "port": "inlabel" - }, - "vertices": [] - }, - { - "source": { - "block": "f6a0cbbe-4f41-4558-a15a-b11cae68a067", - "port": "outlabel" - }, - "target": { - "block": "90d72446-1e0c-4cbc-aacf-45f6ae1b23fc", - "port": "096f61b6-6d5c-4907-9512-e65b25969458" - } - }, - { - "source": { - "block": "2e58e7ea-7227-4e3a-aa72-ebf8449d7dea", - "port": "outlabel" - }, - "target": { - "block": "57db6a78-0c5c-4642-822e-22335b96f2a5", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" - } - }, - { - "source": { - "block": "00a3945b-8f8b-4145-a89f-5c63356cbb42", - "port": "out", - "size": 8 - }, - "target": { - "block": "2fce138f-6339-467a-bca4-50f3daea2cd8", - "port": "inlabel" - }, - "size": 8 - }, - { - "source": { - "block": "9b1d07d3-66d2-4f19-8b65-fce699451099", - "port": "outlabel" - }, - "target": { - "block": "90d72446-1e0c-4cbc-aacf-45f6ae1b23fc", - "port": "42b35cc2-aa64-4e66-be42-169958246799", - "size": 8 - }, - "size": 8 - }, - { - "source": { - "block": "ebecf4bb-9a9a-4343-bf58-c328017940a1", - "port": "out" - }, - "target": { - "block": "da1430f6-4614-47c2-957e-e3d9c28a1107", - "port": "inlabel" - } - }, - { - "source": { - "block": "e6835d26-38af-46c6-95d7-2b812807d733", - "port": "outlabel" - }, - "target": { - "block": "c70e942c-80b7-4927-82b9-fc9497fd2c8f", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - } - }, - { - "source": { - "block": "90d72446-1e0c-4cbc-aacf-45f6ae1b23fc", - "port": "d3e4f800-c611-4f65-88e7-8b7d2def0021", - "size": 8 - }, - "target": { - "block": "048f5151-87d8-438e-b807-89e45379f059", - "port": "inlabel" - }, - "size": 8 - }, - { - "source": { - "block": "250b5b98-fbd7-467e-b14a-3c2367f49fc6", - "port": "outlabel" - }, - "target": { - "block": "7c97b34e-6809-4280-9a47-7c6565783efd", - "port": "in", - "size": 8 - }, - "size": 8 - }, - { - "source": { - "block": "caf3ea8d-b0ab-41e9-b5e2-483c88af018e", - "port": "outlabel" - }, - "target": { - "block": "5cf8a623-93ba-46b1-aeed-e677dacca948", - "port": "9f09a4af-8f7a-45c3-af7b-293a244e76d9" - } - }, - { - "source": { - "block": "90a4fcf1-e628-4fa2-a897-f6ff5d9ec518", - "port": "outlabel" - }, - "target": { - "block": "de2c9942-4970-4d39-8726-2bf623926cdb", - "port": "4196184b-4a60-493b-bcc6-c95958483683" - } - }, - { - "source": { - "block": "9fab6e1c-2098-4655-97ac-7d984af752aa", - "port": "outlabel" - }, - "target": { - "block": "e292a084-fe45-48cf-8901-25443ea28288", - "port": "in" - } - }, - { - "source": { - "block": "0bc6ea13-3b91-44af-99ca-b8a88c42b845", - "port": "out" - }, - "target": { - "block": "a0618acf-b3a5-4778-9c40-73ef35c9e5e3", - "port": "inlabel" - }, - "vertices": [] - }, - { - "source": { - "block": "f9363071-27a7-4f7e-9251-5d18cbfcb661", - "port": "outlabel" - }, - "target": { - "block": "5cadf71f-ae3d-44ee-a2f3-f95d2b2fc416", - "port": "in" - } - }, - { - "source": { - "block": "83c18781-c3fa-4049-9ae3-0c098af203f3", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" - }, - "target": { - "block": "59abbca0-841c-4330-9b9e-9a01e1f66e5d", - "port": "97b51945-d716-4b6c-9db9-970d08541249" - }, - "vertices": [] - }, - { - "source": { - "block": "5cf8a623-93ba-46b1-aeed-e677dacca948", - "port": "1cb167a4-9e2a-416b-803e-da7b6151eaa5" - }, - "target": { - "block": "59abbca0-841c-4330-9b9e-9a01e1f66e5d", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - }, - "vertices": [] - }, - { - "source": { - "block": "57db6a78-0c5c-4642-822e-22335b96f2a5", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" - }, - "target": { - "block": "5cf8a623-93ba-46b1-aeed-e677dacca948", - "port": "3ae2d46d-7981-497a-899f-b60bfae0f43e" - }, - "vertices": [] - }, - { - "source": { - "block": "59abbca0-841c-4330-9b9e-9a01e1f66e5d", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" - }, - "target": { - "block": "de2c9942-4970-4d39-8726-2bf623926cdb", - "port": "b6426b43-dcda-418d-b6d3-4764b5bc0b25" - }, - "vertices": [] - }, - { - "source": { - "block": "c70e942c-80b7-4927-82b9-fc9497fd2c8f", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" - }, - "target": { - "block": "57db6a78-0c5c-4642-822e-22335b96f2a5", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" - }, - "vertices": [] - }, - { - "source": { - "block": "c70e942c-80b7-4927-82b9-fc9497fd2c8f", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" - }, - "target": { - "block": "90d72446-1e0c-4cbc-aacf-45f6ae1b23fc", - "port": "065ea371-8398-43b3-8341-287c234a3acb" - }, - "vertices": [ - { - "x": 536, - "y": 568 - } - ] - }, - { - "source": { - "block": "bed90867-99ce-46ee-9dea-ab7429901c13", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" - }, - "target": { - "block": "c70e942c-80b7-4927-82b9-fc9497fd2c8f", - "port": "97b51945-d716-4b6c-9db9-970d08541249" - }, - "vertices": [] - } - ] - } - } - }, - "89d2342d9664348db3e70e823cacbc8eb24ea3d0": { - "package": { - "name": "Registro", - "version": "0.1", - "description": "Registro de 8 bits", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22519.236%22%20height=%22279.911%22%20viewBox=%220%200%20137.38127%2074.059853%22%3E%3Cpath%20d=%22M41.506%2040.152l13.608%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke=%22#000%22%20stroke-width=%221.092%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M34.122%2032.088L24.89%2012.475l-6.45%203.724-2.07-3.583L37.276.546l2.07%203.584-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.772L33.017%2045.02s-2.849-3.695-2.16-6.795c.687-3.1%203.265-6.137%203.265-6.137z%22%20fill=%22red%22%20stroke=%22#000%22%20stroke-width=%221.092%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22translate(-93.518%20-22.665)%20scale(1.09073)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20cx=%22100.602%22%20cy=%2273.815%22%20r=%2214.559%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M81.95%2040.152l13.607%2016.672L88.64%2036.29%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M74.566%2032.088l-9.232-19.613-6.451%203.724-2.069-3.583L77.719.546l2.069%203.584-6.092%203.517%2012.03%2018.223s5.399-2.025%208.535.74c3.137%202.766%202.52%204.92%202.887%204.772L73.46%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M121.637%2040.152l13.608%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M114.253%2032.088l-9.232-19.613-6.45%203.724-2.07-3.583L117.407.546l2.07%203.584-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.772L113.147%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "096f61b6-6d5c-4907-9512-e65b25969458", - "type": "basic.input", - "data": { - "name": "", - "clock": true - }, - "position": { - "x": 80, - "y": 176 - } - }, - { - "id": "d3e4f800-c611-4f65-88e7-8b7d2def0021", - "type": "basic.output", - "data": { - "name": "q", - "range": "[7:0]", - "size": 8 - }, - "position": { - "x": 632, - "y": 248 - } - }, - { - "id": "42b35cc2-aa64-4e66-be42-169958246799", - "type": "basic.input", - "data": { - "name": "", - "range": "[7:0]", - "clock": false, - "size": 8 - }, - "position": { - "x": 80, - "y": 248 - } - }, - { - "id": "065ea371-8398-43b3-8341-287c234a3acb", - "type": "basic.input", - "data": { - "name": "load", - "clock": false - }, - "position": { - "x": 80, - "y": 312 - } - }, - { - "id": "f3b434e4-0c8f-4dd7-90c7-305189a807f1", - "type": "basic.constant", - "data": { - "name": "", - "value": "0", - "local": false - }, - "position": { - "x": 376, - "y": 56 - } - }, - { - "id": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "type": "basic.code", - "data": { - "code": "localparam N = 8;\n\nreg [N-1:0] q = INI;\n\nalways @(posedge clk)\n if (load)\n q <= d;", - "params": [ - { - "name": "INI" - } - ], - "ports": { - "in": [ - { - "name": "clk" - }, - { - "name": "d", - "range": "[7:0]", - "size": 8 - }, - { - "name": "load" - } - ], - "out": [ - { - "name": "q", - "range": "[7:0]", - "size": 8 - } - ] - } - }, - "position": { - "x": 280, - "y": 176 - }, - "size": { - "width": 288, - "height": 200 - } - } - ], - "wires": [ - { - "source": { - "block": "f3b434e4-0c8f-4dd7-90c7-305189a807f1", - "port": "constant-out" - }, - "target": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "INI" - }, - "vertices": [] - }, - { - "source": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "q" - }, - "target": { - "block": "d3e4f800-c611-4f65-88e7-8b7d2def0021", - "port": "in" - }, - "size": 8 - }, - { - "source": { - "block": "42b35cc2-aa64-4e66-be42-169958246799", - "port": "out" - }, - "target": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "d" - }, - "size": 8 - }, - { - "source": { - "block": "065ea371-8398-43b3-8341-287c234a3acb", - "port": "out" - }, - "target": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "load" - } - }, - { - "source": { - "block": "096f61b6-6d5c-4907-9512-e65b25969458", - "port": "out" - }, - "target": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "clk" - } - } - ] - } - } - }, - "8e2728307baccbf26c01cdb87bcfba8ca64a435c": { - "package": { - "name": "Subida", - "version": "0.1", - "description": "Detector de flanco de subida. Emite un tic cuando detecta un flanco ascendente", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22363.337%22%20height=%22251.136%22%20viewBox=%220%200%2096.132868%2066.446441%22%3E%3Cdefs%3E%3Cmarker%20orient=%22auto%22%20id=%22a%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20fill=%22red%22%20fill-rule=%22evenodd%22%20stroke=%22red%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3C/defs%3E%3Cg%20transform=%22translate(-63.113%20-50.902)%22%3E%3Cg%20fill=%22none%22%20stroke=%22#00f%22%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M76.611%2083.336l6.027%207.974-5.055%206.03%201.75%201.557M75.371%2083.53l-3.5%207.975-7.97%201.556.583%202.528%22%20stroke-width=%221.058%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M75.907%2083.53V53.588%22%20stroke-width=%223.969%22/%3E%3Cpath%20d=%22M65.118%2063.338l10.688-10.452%2010.351%2010.452%22%20stroke-width=%223.969%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3Cpath%20d=%22M123.88%2069.103c2.17%203.317%204.013%202.718%205.68%200%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22/%3E%3Cpath%20d=%22M132.326%2095.38V51.614h-11.225v43.497%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%221.323%22%20stroke-linecap=%22round%22/%3E%3Cellipse%20cx=%22112.489%22%20cy=%2297.866%22%20rx=%227.009%22%20ry=%222.635%22%20transform=%22rotate(-1.418)%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%22.265%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20cx=%22-140.807%22%20cy=%2291.678%22%20rx=%227.009%22%20ry=%222.635%22%20transform=%22scale(-1%201)%20rotate(-1.418)%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%22.265%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M124.8%2059.416v3.875M128.39%2059.416v3.875%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%22.529%22/%3E%3Cpath%20d=%22M85.794%2074.097h21.381%22%20fill=%22red%22%20stroke=%22red%22%20stroke-width=%222.646%22%20marker-end=%22url(#a)%22/%3E%3Cg%20transform=%22matrix(.842%200%200%20.842%2062.024%2042.68)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "4196184b-4a60-493b-bcc6-c95958483683", - "type": "basic.input", - "data": { - "name": "", - "clock": true - }, - "position": { - "x": 152, - "y": 176 - } - }, - { - "id": "1d2e403f-0fa6-41fd-83a9-4f309eadd855", - "type": "basic.output", - "data": { - "name": "" - }, - "position": { - "x": 624, - "y": 200 - } - }, - { - "id": "b6426b43-dcda-418d-b6d3-4764b5bc0b25", - "type": "basic.input", - "data": { - "name": "", - "clock": false - }, - "position": { - "x": 152, - "y": 232 - } - }, - { - "id": "3b0eca37-3439-41c9-99e7-7ff1e56bb528", - "type": "basic.code", - "data": { - "code": "reg q = 0;\n\nalways @(posedge clk)\n q <= i;\n \nassign o = (~q & i); ", - "params": [], - "ports": { - "in": [ - { - "name": "clk" - }, - { - "name": "i" - } - ], - "out": [ - { - "name": "o" - } - ] - } - }, - "position": { - "x": 336, - "y": 176 - }, - "size": { - "width": 232, - "height": 112 - } - } - ], - "wires": [ - { - "source": { - "block": "b6426b43-dcda-418d-b6d3-4764b5bc0b25", - "port": "out" - }, - "target": { - "block": "3b0eca37-3439-41c9-99e7-7ff1e56bb528", - "port": "i" - } - }, - { - "source": { - "block": "3b0eca37-3439-41c9-99e7-7ff1e56bb528", - "port": "o" - }, - "target": { - "block": "1d2e403f-0fa6-41fd-83a9-4f309eadd855", - "port": "in" - } - }, - { - "source": { - "block": "4196184b-4a60-493b-bcc6-c95958483683", - "port": "out" - }, - "target": { - "block": "3b0eca37-3439-41c9-99e7-7ff1e56bb528", - "port": "clk" - } - } - ] - } - } - }, - "f5dc974ff576804a66c6a60ab920080490117fc3": { - "package": { - "name": "Serial-tx-sysclk", - "version": "0.2", - "description": "Serial transmitter with system clock freq parameter", - "author": "Juan Gonzalez-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22223.269%22%20width=%22293.137%22%20viewBox=%220%200%20274.81662%20209.31615%22%3E%3Cg%20transform=%22translate(347.142%20-102.544)%20scale(1.04907)%22%20stroke=%22#000%22%3E%3Cpath%20d=%22M-170.798%20177.526l.315%2036.011%2040.397-37.263v-33.51z%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M-308.584%20177.892l53.235-35.7%20124.635.628-39.456%2035.7%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Crect%20ry=%223.509%22%20height=%2236.325%22%20width=%22139.039%22%20y=%22178.153%22%20x=%22-308.895%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22square%22/%3E%3Cg%20transform=%22matrix(1.88858%200%200%201.88858%20-312.436%20138.651)%22%20stroke-width=%22.938%22%20stroke-linecap=%22square%22%3E%3Ccircle%20cy=%2230.367%22%20cx=%2211.326%22%20r=%223.15%22%20fill=%22red%22/%3E%3Ccircle%20cy=%2230.367%22%20cx=%2220.611%22%20r=%223.15%22%20fill=%22#faa%22/%3E%3Ccircle%20cy=%2230.367%22%20cx=%2262.82%22%20r=%223.15%22%20fill=%22green%22/%3E%3Ccircle%20cy=%2230.367%22%20cx=%2230.554%22%20r=%223.15%22%20fill=%22red%22/%3E%3C/g%3E%3C/g%3E%3Ctext%20y=%2228.295%22%20x=%2270.801%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2265.172%22%20letter-spacing=%220%22%20word-spacing=%220%22%20transform=%22scale(.99853%201.00147)%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%221.209%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2228.295%22%20x=%2270.801%22%20font-weight=%22700%22%20font-size=%2237.241%22%3ESerial%3C/tspan%3E%3C/text%3E%3Cg%20transform=%22translate(-49.71%20-39.925)%20scale(2.8106)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22translate(-240.978%20-39.925)%20scale(2.8106)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Ccircle%20cx=%22233.043%22%20cy=%2281.071%22%20r=%2240.92%22%20fill=%22#ececec%22%20stroke=%22green%22%20stroke-width=%221.71%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M261.766%2092.931h-4.696V67.437h-48.103v25.295h-5.116%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%224.275%22%20stroke-linecap=%22round%22/%3E%3Ctext%20y=%22165.6%22%20x=%22108.068%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2265.172%22%20letter-spacing=%220%22%20word-spacing=%220%22%20transform=%22scale(.99853%201.00147)%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%221.209%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%22165.6%22%20x=%22108.068%22%20font-weight=%22700%22%20font-size=%2237.241%22%3ETX%3C/tspan%3E%3C/text%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "09701eaa-8d79-487f-b003-267e04095bb1", - "type": "basic.output", - "data": { - "name": "TX" - }, - "position": { - "x": 960, - "y": 120 - } - }, - { - "id": "4c296e24-7312-407a-8fb0-f3a6d4feb3ab", - "type": "basic.input", - "data": { - "name": "", - "clock": true - }, - "position": { - "x": -16, - "y": 120 - } - }, - { - "id": "27183891-b385-412b-bc55-21df1dd0280e", - "type": "basic.input", - "data": { - "name": "", - "range": "[7:0]", - "clock": false, - "size": 8 - }, - "position": { - "x": -16, - "y": 272 - } - }, - { - "id": "75d4695e-f445-4762-9ae9-c9bf0e51974f", - "type": "basic.output", - "data": { - "name": "busy" - }, - "position": { - "x": 960, - "y": 272 - } - }, - { - "id": "6bb28a95-e6e4-4044-9c22-c4404693b6b1", - "type": "basic.input", - "data": { - "name": "txmit", - "clock": false - }, - "position": { - "x": 0, - "y": 424 - } - }, - { - "id": "42306dfc-8702-4c9a-98d6-56b4c86fff21", - "type": "basic.output", - "data": { - "name": "done" - }, - "position": { - "x": 960, - "y": 424 - } - }, - { - "id": "76db97e8-ad17-4a4b-b288-73e449659681", - "type": "basic.constant", - "data": { - "name": "sclk", - "value": "12000000", - "local": false - }, - "position": { - "x": 344, - "y": -64 - } - }, - { - "id": "671d0b4d-317d-4aef-8422-8b9a400211a4", - "type": "basic.constant", - "data": { - "name": "bps", - "value": "115200", - "local": false - }, - "position": { - "x": 624, - "y": -64 - } - }, - { - "id": "3238443f-338d-4796-b54a-c463c5f191aa", - "type": "basic.code", - "data": { - "code": "//---- Calculate the divisor for achieving the requered BAUDs\n//---- when the system clk is working at SCLK Hertzs\n\nlocalparam DIV = SCLK/BAUD;\n\n//-- Get the number of bits needed for storing the DIV value\nlocalparam N = $clog2(DIV);\n\n//-- It is a counter module DIV\nreg [N-1:0] divcounter = 0;\n\n//-- Cable de reset para el contador\n//-- Comparador que resetea el contador cuando se alcanza el tope\n//-- o cuando el estado del biestable es 0 (apagado)\nwire reset = ov_gen | (state == 0);\n\n//-- Contador con reset\nalways @(posedge clk)\n if (reset)\n divcounter <= 0;\n else\n divcounter <= divcounter + 1;\n\n//-- Hemos llegado al final\nwire ov_gen = (divcounter == DIV-1);\n\n\n\n//-- REGISTRO DESPLAZAMIENTO\n\n//-- Salida serie. Inicialmete a 1 (reposo) \nreg TX = 1;\n\n//-- Registro de desplazamiento de 9 bits\n//-- Inicializado todo a 1s\nreg [8:0] q = 9'h1FF;\n\n//-- La entrada de shift es la salida del generador de baudios\nwire shift = ov_gen;\n\nalways @(posedge clk)\n if (txmit_tic)\n //-- Carga del registro\n q <= {data, 1'b0};\n \n else if (shift)\n //-- Desplazamiento. Rellenar con 1 (bit de stop)\n q <= {1'b1, q[8:1]};\n \n//-- Sacar el bit de menor peso por serial-out \nwire so;\nassign so = q[0];\n\n//-- La salida tx la registramos\nalways @(posedge clk)\n TX <= so;\n \n//-- La señal de entrada txmit se pasa por un \n//-- detector de flancos de subida para generar un tic\nreg q_re = 0;\nwire txmit_tic;\n\nalways @(posedge clk)\n q_re <= txmit;\n \nassign txmit_tic = (~q_re & txmit); \n\n\n\n//-- Estado de transmisor\n//-- 0: Parado\n//-- 1: Ocupado (transmitiendo)\nreg state = 0;\n \nalways @(posedge clk)\n //-- Empieza la transmision: ocupado\n if (txmit)\n state <= 1'b1;\n \n //-- Acaba la transmision: libre \n else if (ov)\n state <= 1'b0;\n\n//-- Contador de bits enviados\nreg [3:0] bits = 0;\nalways @(posedge clk)\n //-- Si la cuenta ha terminado... volver a 0\n if (ov)\n bits <= 2'b00;\n else\n if (shift)\n bits <= bits + 1;\n\n//-- Comprobar si se ha transmitido el último bit (overflow)\n//-- 1 bit de start + 8 bits de datos + 1 bit de stop\nwire ov = (bits == 10);\n\n//-- La señal de ocupado es el estado del transmisor\nassign busy = state;\n\n//-- La señal de done es la de overflow pero retrasada un\n//-- periodo de reloj del sistema y que el biestable \n//-- llegue al estado de parado antes de que se \n//-- empiece otra transmision\n\nreg done=0;\n\nalways @(posedge clk)\n done <= ov;\n", - "params": [ - { - "name": "SCLK" - }, - { - "name": "BAUD" - } - ], - "ports": { - "in": [ - { - "name": "clk" - }, - { - "name": "data", - "range": "[7:0]", - "size": 8 - }, - { - "name": "txmit" - } - ], - "out": [ - { - "name": "TX" - }, - { - "name": "busy" - }, - { - "name": "done" - } - ] - } - }, - "position": { - "x": 248, - "y": 72 - }, - "size": { - "width": 560, - "height": 456 - } - } - ], - "wires": [ - { - "source": { - "block": "3238443f-338d-4796-b54a-c463c5f191aa", - "port": "TX" - }, - "target": { - "block": "09701eaa-8d79-487f-b003-267e04095bb1", - "port": "in" - } - }, - { - "source": { - "block": "671d0b4d-317d-4aef-8422-8b9a400211a4", - "port": "constant-out" - }, - "target": { - "block": "3238443f-338d-4796-b54a-c463c5f191aa", - "port": "BAUD" - } - }, - { - "source": { - "block": "4c296e24-7312-407a-8fb0-f3a6d4feb3ab", - "port": "out" - }, - "target": { - "block": "3238443f-338d-4796-b54a-c463c5f191aa", - "port": "clk" - } - }, - { - "source": { - "block": "27183891-b385-412b-bc55-21df1dd0280e", - "port": "out" - }, - "target": { - "block": "3238443f-338d-4796-b54a-c463c5f191aa", - "port": "data" - }, - "size": 8 - }, - { - "source": { - "block": "6bb28a95-e6e4-4044-9c22-c4404693b6b1", - "port": "out" - }, - "target": { - "block": "3238443f-338d-4796-b54a-c463c5f191aa", - "port": "txmit" - } - }, - { - "source": { - "block": "3238443f-338d-4796-b54a-c463c5f191aa", - "port": "busy" - }, - "target": { - "block": "75d4695e-f445-4762-9ae9-c9bf0e51974f", - "port": "in" - } - }, - { - "source": { - "block": "3238443f-338d-4796-b54a-c463c5f191aa", - "port": "done" - }, - "target": { - "block": "42306dfc-8702-4c9a-98d6-56b4c86fff21", - "port": "in" - } - }, - { - "source": { - "block": "76db97e8-ad17-4a4b-b288-73e449659681", - "port": "constant-out" - }, - "target": { - "block": "3238443f-338d-4796-b54a-c463c5f191aa", - "port": "SCLK" - } - } - ] - } - } - }, - "78be078f7f5f29f81b4664a2bc3f6c05c1daf4f2": { - "package": { - "name": "Bus8-Split-1-7", - "version": "0.1", - "description": "Bus8-Split-half: Split the 8-bits bus into two buses of 1 and 7 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": { - "graph": { - "blocks": [ - { - "id": "6461d1f4-0bf2-46a4-8c57-46d4419eba2b", - "type": "basic.output", - "data": { - "name": "1" - }, - "position": { - "x": 584, - "y": 104 - } - }, - { - "id": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e", - "type": "basic.input", - "data": { - "name": "", - "range": "[7:0]", - "clock": false, - "size": 8 - }, - "position": { - "x": 120, - "y": 208 - } - }, - { - "id": "7851244f-72ce-4b5b-a481-c1202933c8be", - "type": "basic.output", - "data": { - "name": "0", - "range": "[6:0]", - "size": 7 - }, - "position": { - "x": 584, - "y": 272 - } - }, - { - "id": "16e78204-213e-4833-9096-89d735307ec2", - "type": "basic.code", - "data": { - "code": "assign o1 = i[7];\nassign o0 = i[6:0];", - "params": [], - "ports": { - "in": [ - { - "name": "i", - "range": "[7:0]", - "size": 8 - } - ], - "out": [ - { - "name": "o1" - }, - { - "name": "o0", - "range": "[6:0]", - "size": 7 - } - ] - } - }, - "position": { - "x": 272, - "y": 176 - }, - "size": { - "width": 240, - "height": 120 - } - } - ], - "wires": [ - { - "source": { - "block": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i" - }, - "size": 8 - }, - { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o0" - }, - "target": { - "block": "7851244f-72ce-4b5b-a481-c1202933c8be", - "port": "in" - }, - "size": 7 - }, - { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o1" - }, - "target": { - "block": "6461d1f4-0bf2-46a4-8c57-46d4419eba2b", - "port": "in" - } - } - ] - } - } - }, - "b9c1f5aa0a5d685f6312192b6cb46a9f19d87910": { - "package": { - "name": "syscounter-rst-24bits", - "version": "0.1", - "description": "24-bits Syscounter with reset", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22302.843%22%20height=%22186.504%22%20viewBox=%220%200%2080.127205%2049.345746%22%3E%3Cdefs%3E%3Cmarker%20id=%22a%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20fill=%22#00f%22%20fill-rule=%22evenodd%22%20stroke=%22#00f%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3C/defs%3E%3Cg%20transform=%22translate(-65.585%20-4.54)%22%3E%3Cpath%20d=%22M138.803%2048.49V16.91%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%222.806%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20marker-end=%22url(#a)%22/%3E%3Crect%20rx=%222.807%22%20ry=%222.807%22%20y=%225.289%22%20x=%2299.747%22%20height=%2247.849%22%20width=%2229.538%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%221.497%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%2240.921%22%20x=%22108.575%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%228.982%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%221.497%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2240.921%22%20x=%22108.575%22%20font-weight=%22700%22%20font-size=%2235.656%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M100.868%2030.283h27.764%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%222.245%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20rx=%222.807%22%20ry=%222.807%22%20y=%225.289%22%20x=%2266.333%22%20height=%2247.849%22%20width=%2229.538%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%221.497%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%2240.921%22%20x=%2273.223%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%228.982%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%221.497%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2240.921%22%20x=%2273.223%22%20font-weight=%22700%22%20font-size=%2235.656%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M67.454%2030.283h27.764%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%222.245%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3C/svg%3E", - "otid": 1618592156430 - }, - "design": { - "graph": { - "blocks": [ - { - "id": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", - "type": "basic.input", - "data": { - "name": "", - "clock": true - }, - "position": { - "x": 216, - "y": -120 - } - }, - { - "id": "0a772657-8018-424d-8f04-75d3ffff3692", - "type": "basic.inputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true - }, - "position": { - "x": 368, - "y": -120 - } - }, - { - "id": "b9359b10-b14f-4dd7-adf9-3f4f22bc65e6", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 384, - "y": -32 - } - }, - { - "id": "1c0a14ca-54a9-47ce-bf3d-aedefd2053f3", - "type": "basic.outputLabel", - "data": { - "name": "q", - "range": "[23:0]", - "pins": [ - { - "index": "23", - "name": "", - "value": "" - }, - { - "index": "22", - "name": "", - "value": "" - }, - { - "index": "21", - "name": "", - "value": "" - }, - { - "index": "20", - "name": "", - "value": "" - }, - { - "index": "19", - "name": "", - "value": "" - }, - { - "index": "18", - "name": "", - "value": "" - }, - { - "index": "17", - "name": "", - "value": "" - }, - { - "index": "16", - "name": "", - "value": "" - }, - { - "index": "15", - "name": "", - "value": "" - }, - { - "index": "14", - "name": "", - "value": "" - }, - { - "index": "13", - "name": "", - "value": "" - }, - { - "index": "12", - "name": "", - "value": "" - }, - { - "index": "11", - "name": "", - "value": "" - }, - { - "index": "10", - "name": "", - "value": "" - }, - { - "index": "9", - "name": "", - "value": "" - }, - { - "index": "8", - "name": "", - "value": "" - }, - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia" - }, - "position": { - "x": 1040, - "y": -32 - } - }, - { - "id": "c5e9e2e4-005a-464d-927c-2b18aac9180e", - "type": "basic.output", - "data": { - "name": "q", - "range": "[23:0]", - "pins": [ - { - "index": "23", - "name": "", - "value": "" - }, - { - "index": "22", - "name": "", - "value": "" - }, - { - "index": "21", - "name": "", - "value": "" - }, - { - "index": "20", - "name": "", - "value": "" - }, - { - "index": "19", - "name": "", - "value": "" - }, - { - "index": "18", - "name": "", - "value": "" - }, - { - "index": "17", - "name": "", - "value": "" - }, - { - "index": "16", - "name": "", - "value": "" - }, - { - "index": "15", - "name": "", - "value": "" - }, - { - "index": "14", - "name": "", - "value": "" - }, - { - "index": "13", - "name": "", - "value": "" - }, - { - "index": "12", - "name": "", - "value": "" - }, - { - "index": "11", - "name": "", - "value": "" - }, - { - "index": "10", - "name": "", - "value": "" - }, - { - "index": "9", - "name": "", - "value": "" - }, - { - "index": "8", - "name": "", - "value": "" - }, - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": false + "position": { + "x": 760, + "y": 288 + } + }, + { + "id": "dbe1622c-3510-4132-8b5c-2fbf81d7f581", + "type": "basic.input", + "data": { + "name": "wr", + "clock": false }, "position": { - "x": 1200, - "y": -32 + "x": 128, + "y": 328 } }, { - "id": "88e0e872-0460-4ecc-bf26-8a7a5598a024", - "type": "basic.output", + "id": "49fb1766-1e7f-4706-9872-a6cd65cc9f2d", + "type": "basic.input", "data": { - "name": "max" + "name": "bbusy", + "clock": false }, "position": { - "x": 1208, - "y": 56 + "x": 128, + "y": 400 } }, { - "id": "06c393de-8af4-4b53-852c-b0e0160b5314", - "type": "basic.outputLabel", + "id": "3545528c-05e2-4e95-8223-5b7b77587423", + "type": "basic.code", "data": { - "blockColor": "fuchsia", - "name": "c" + "ports": { + "in": [ + { + "name": "addr", + "range": "[13:0]", + "size": 14 + }, + { + "name": "data", + "range": "[7:0]", + "size": 8 + }, + { + "name": "wr" + }, + { + "name": "bbusy" + } + ], + "out": [ + { + "name": "o", + "range": "[23:0]", + "size": 24 + } + ] + }, + "params": [], + "code": "assign o = {addr, data, wr, bbusy};\n\n" }, "position": { - "x": 1048, - "y": 56 + "x": 328, + "y": 224 + }, + "size": { + "width": 352, + "height": 184 + } + } + ], + "wires": [ + { + "source": { + "block": "25996d5e-6856-4828-8cb3-5dea5ff5cf9c", + "port": "out" + }, + "target": { + "block": "3545528c-05e2-4e95-8223-5b7b77587423", + "port": "data" + }, + "size": 8 + }, + { + "source": { + "block": "dbe1622c-3510-4132-8b5c-2fbf81d7f581", + "port": "out" + }, + "target": { + "block": "3545528c-05e2-4e95-8223-5b7b77587423", + "port": "wr" } }, { - "id": "2a921d76-1cbd-48fe-82a9-11b0ab4dbc06", - "type": "basic.input", + "source": { + "block": "49fb1766-1e7f-4706-9872-a6cd65cc9f2d", + "port": "out" + }, + "target": { + "block": "3545528c-05e2-4e95-8223-5b7b77587423", + "port": "bbusy" + } + }, + { + "source": { + "block": "61496e71-85ba-465b-89b9-fedb08b8590d", + "port": "out" + }, + "target": { + "block": "3545528c-05e2-4e95-8223-5b7b77587423", + "port": "addr" + }, + "size": 14 + }, + { + "source": { + "block": "3545528c-05e2-4e95-8223-5b7b77587423", + "port": "o" + }, + "target": { + "block": "81a20a74-f096-4c3b-bc35-91917f08c79b", + "port": "in" + }, + "size": 24 + } + ] + } + } + }, + "7dd73370f9ea522fe9c9e331d4d240f520f61d10": { + "package": { + "name": "14bits-Value_0", + "version": "0.1", + "description": "14bits constant value: 0", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22153.645%22%20height=%22230.616%22%20viewBox=%220%200%20144.04211%20216.20273%22%3E%3Cg%20style=%22line-height:0%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%3E%3Cpath%20d=%22M72.021%2022.332q-21.774%200-32.8%2021.495-10.887%2021.355-10.887%2064.344%200%2042.85%2010.887%2064.345%2011.026%2021.355%2032.8%2021.355%2021.913%200%2032.8-21.355%2011.027-21.495%2011.027-64.345%200-42.99-11.027-64.344-10.887-21.495-32.8-21.495zm0-22.332q35.034%200%2053.458%2027.776%2018.563%2027.636%2018.563%2080.395%200%2052.62-18.563%2080.396-18.424%2027.636-53.458%2027.636-35.033%200-53.597-27.636Q0%20160.79%200%20108.17q0-52.76%2018.424-80.395Q36.988%200%2072.021%200z%22%20style=%22line-height:1.25%22%20font-size=%22285.851%22%20font-family=%22sans-serif%22%20stroke-width=%227.146%22%20font-weight=%22400%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22/%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "9a292d4b-866d-4b91-919d-e75f9a0714b9", + "type": "basic.output", "data": { - "name": "rst", - "clock": false + "name": "", + "range": "[13:0]", + "size": 14 }, "position": { - "x": 216, - "y": 56 + "x": 928, + "y": 256 } }, { - "id": "6b17f83a-c001-41a8-bf30-6f2b838c00b4", - "type": "basic.inputLabel", + "id": "7c214b7c-5138-4e3e-aa20-c423be96e47e", + "type": "basic.constant", "data": { - "name": "q", - "range": "[23:0]", + "name": "", + "value": "0", + "local": true + }, + "position": { + "x": 728, + "y": 160 + } + }, + { + "id": "f1162367-605e-4e74-b25c-1a03e7175a02", + "type": "3dcd4b40bf34ee2c849e07c685bec61517a3ee88", + "position": { + "x": 728, + "y": 256 + }, + "size": { + "width": 96, + "height": 64 + } + } + ], + "wires": [ + { + "source": { + "block": "7c214b7c-5138-4e3e-aa20-c423be96e47e", + "port": "constant-out" + }, + "target": { + "block": "f1162367-605e-4e74-b25c-1a03e7175a02", + "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" + }, + "vertices": [] + }, + { + "source": { + "block": "f1162367-605e-4e74-b25c-1a03e7175a02", + "port": "eecc16dc-2b03-4f7b-bc80-7bbc3012a333" + }, + "target": { + "block": "9a292d4b-866d-4b91-919d-e75f9a0714b9", + "port": "in" + }, + "size": 14 + } + ] + } + } + }, + "3dcd4b40bf34ee2c849e07c685bec61517a3ee88": { + "package": { + "name": "14-bits-gen-constant", + "version": "0.1", + "description": "Generic: 14-bits generic constant", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22145.608%22%20height=%22247.927%22%20viewBox=%220%200%20136.50729%20232.43134%22%3E%3Cg%20style=%22line-height:0%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%3E%3Cpath%20d=%22M56.012%20146.905q9.055%206.708%2020.459%2017.105%2011.404%2010.062%2022.472%2021.8%2011.403%2011.74%2021.465%2024.15%2010.062%2012.074%2016.1%2022.471h-32.87q-6.372-10.397-15.763-21.13-9.392-11.068-20.124-21.13-10.398-10.062-21.13-18.447-10.398-8.385-18.783-14.087v74.794H0V4.695L27.838%200v141.874q18.447-16.1%2036.894-31.863%2018.447-16.1%2033.205-33.205h32.533q-14.422%2017.106-34.881%2035.217-20.124%2018.112-39.577%2034.882z%22%20style=%22line-height:1.25%22%20font-size=%22335.399%22%20font-weight=%22400%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22/%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "eecc16dc-2b03-4f7b-bc80-7bbc3012a333", + "type": "basic.output", + "data": { + "name": "", + "virtual": true, + "range": "[13:0]", "pins": [ - { - "index": "23", - "name": "", - "value": "" - }, - { - "index": "22", - "name": "", - "value": "" - }, - { - "index": "21", - "name": "", - "value": "" - }, - { - "index": "20", - "name": "", - "value": "" - }, - { - "index": "19", - "name": "", - "value": "" - }, - { - "index": "18", - "name": "", - "value": "" - }, - { - "index": "17", - "name": "", - "value": "" - }, - { - "index": "16", - "name": "", - "value": "" - }, - { - "index": "15", - "name": "", - "value": "" - }, - { - "index": "14", - "name": "", - "value": "" - }, { "index": "13", - "name": "", - "value": "" + "name": "NULL", + "value": "NULL" }, { "index": "12", - "name": "", - "value": "" + "name": "NULL", + "value": "NULL" }, { "index": "11", - "name": "", - "value": "" + "name": "NULL", + "value": "NULL" }, { "index": "10", - "name": "", - "value": "" + "name": "NULL", + "value": "NULL" }, { "index": "9", - "name": "", - "value": "" + "name": "NULL", + "value": "NULL" }, { "index": "8", - "name": "", - "value": "" + "name": "NULL", + "value": "NULL" }, { "index": "7", - "name": "", - "value": "" + "name": "NULL", + "value": "NULL" }, { "index": "6", - "name": "", - "value": "" + "name": "NULL", + "value": "NULL" }, { "index": "5", - "name": "", - "value": "" + "name": "NULL", + "value": "NULL" }, { "index": "4", - "name": "", - "value": "" + "name": "NULL", + "value": "NULL" }, { "index": "3", - "name": "", - "value": "" + "name": "NULL", + "value": "NULL" }, { "index": "2", - "name": "", - "value": "" + "name": "NULL", + "value": "NULL" }, { "index": "1", - "name": "", - "value": "" + "name": "NULL", + "value": "NULL" }, { "index": "0", - "name": "", - "value": "" + "name": "NULL", + "value": "NULL" } - ], - "virtual": true, - "blockColor": "fuchsia" + ] }, "position": { - "x": 704, - "y": 56 + "x": 968, + "y": 248 } }, { - "id": "cd9b7fce-c943-4b4c-a716-94f2cd21ccda", - "type": "basic.inputLabel", + "id": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "type": "basic.constant", "data": { - "blockColor": "fuchsia", - "name": "c", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "name": "", + "value": "0", + "local": false }, "position": { - "x": 856, - "y": 144 + "x": 728, + "y": 128 } }, { - "id": "efe69f75-a437-49c9-abcc-47af25d287d9", - "type": "5495b52484372dce272875f5c190707a35eeaa6f", - "position": { - "x": 544, - "y": 40 + "id": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "type": "basic.code", + "data": { + "ports": { + "in": [], + "out": [ + { + "name": "k", + "range": "[13:0]", + "size": 14 + } + ] + }, + "params": [ + { + "name": "VALUE" + } + ], + "code": "assign k = VALUE;" }, - "size": { - "width": 96, - "height": 96 - } - }, - { - "id": "0e86ad34-29ae-4375-b943-dec3e1dc1312", - "type": "9c4559db1fdec26319e6d6eb38f7622cb97039db", "position": { - "x": 720, - "y": 160 + "x": 672, + "y": 248 }, "size": { - "width": 96, + "width": 208, "height": 64 } } @@ -18882,2190 +14429,2276 @@ "wires": [ { "source": { - "block": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", - "port": "out" + "block": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "port": "constant-out" }, "target": { - "block": "0a772657-8018-424d-8f04-75d3ffff3692", - "port": "inlabel" - }, - "vertices": [] + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "VALUE" + } }, { "source": { - "block": "0e86ad34-29ae-4375-b943-dec3e1dc1312", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "k" }, "target": { - "block": "cd9b7fce-c943-4b4c-a716-94f2cd21ccda", - "port": "inlabel" + "block": "eecc16dc-2b03-4f7b-bc80-7bbc3012a333", + "port": "in" }, - "vertices": [] - }, + "size": 14 + } + ] + } + } + }, + "76edf4205ccb9e56d286f0315a959a27a34b5c04": { + "package": { + "name": "Mem-16KB-sample-machine", + "version": "0.3", + "description": "16KB memory sample machine. Captura the input data and store it in the memory", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20viewBox=%220%200%2088.570022%20126.13218%22%20height=%22476.72%22%20width=%22334.753%22%3E%3Cg%20transform=%22translate(-158.43%20-96.411)%22%3E%3Cimage%20xlink:href=%22data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAgM0lEQVR4Xu1dCZBU1bm+PdPTM8CM%20AgMO+yCrAq4oGjWKIIorcYnRlD59saImGlOaqK/UPPeHu5VyjyYuMRu+uFVEjRqX4FNRQURwQVxQ%20YdiGZQYGepZ+33frfK9Oneq+t+/0zHTad/+qU7fv7bt0n/8///L9/znX+1ZTTDHFFFNMMcUUU0wx%20xRRTTDHFFFNMMcUUU0wxxZToofuX8XPo82LqcLaZUhUAMbucraKi4viysrI9jCBkp5gybKBH0un0%20cuy3URC6WwiSXvcRmV9ZVVV1azKZPBvN69+/vzd06FBv2LBh1mkxff31197ixYvJfa+1tfUnHR0d%20x7W1tc3HV2kJQakJQBmZjzYUo99n/qRJk7xTTz3V69WrV5bTY/rmm2+8u+++29u6desO2L0cAnCq%20YXy61AQgYe5bBebvB9XvJRIJ79hjj/VSqZTX3t6e5ZKYBg0a5B133HHenDlzPPRZLQ5VG+a3lpwJ%20kPoH83uT+Ww77rhjCPNjYh+Z/hqK3T5oW9C2obWXlAaQAMCm9SovL/cGDx7sQaWFXBbTTjvt5AsA%20+qwOu7SVSTnOpSgASdBkSjTtPhybkMtioomkyWTjLvmjSK0UncAkJLmMAgDKUwBiqqur81atWkUt%200Bcmc2XJaQCBPtqCvMrKyjztf0wIm9lp1AbjW1paPrIwlUzJaAAJAKgajbYtTwGIaeDAgd6KFSv8%20zmMfloIJcCFf3rOCDT7AKAgAAY78nMCYqC3lB/Q1/Zgy4WB7AERcVAFIiPE333zz6JEjR565ffv2%20Xlu2bKm58847d2psbKQAhGiAmOQr1dTU+J8PPPDAE37wgx8MhgO9BeZg++bNm18588wzXzYQcXtX%20CUGii5ifuuyyy8YD7Fk4YMAAOTHelVde6X300UfejBkzPAhGwG1i5ksA2HdPPfWUd/LJJ7NRczKM%209iOp55577oyzzjrrvwkOGUHIFFsDJIya6nPQQQfdSweGKoyNAgBNIIcmRxQQM15ELcl9oKdU/4yh%202W/sR/anvz98+PD/wqnPozUZc9BeFA3gMv/GG288CgLwaL9+/by+fft6q1ev9gXgqKOO8v/MEUcc%204UOdJUxiUgSmRhv59va3v/2tnztBv9J0+k40Bxe16fLly2effvrpt1EIlCfobg2Q0FYq34J7q6ZN%20mzZ8v/32u5nSKonllhKrPACOyQcofQEonPlZma7GZ6jPFD5v27bN69Onj78/evTon/34xz9+/v77%20719s+NFup5OjOoqJKA7ezjvvPAuM7QuGJkBlyFtXgNkzMbrHUXUx3Utmf/XVVz7zTzrpJL9TTjnl%20FK+EieYrAuO1H8r8nBrgb3/7m1dbW+vNnj3bfzY165AhQ7zPPvvM9wlWrly5DFnD5yAUaQhMB4Qk%20g/My0LxPn3POOQuiOIqJPCDd1IMPPnjiiBEjHiFzObK15Y9Zs2aNn+Ovrq5mKtP74IMPlPjxfvGL%20X3ggCkKpC0AhjNdxfbZb1u9ffPFFb8OGDd4dd9zB+gBv/fr13pgxYzw62OzzTz75hKaWfc5+5jFt%20aX5/hrT7gzQPchQ7awLKZOPB4Nly7CQAbBzlUv38/P7773vQEs0vv/zyckhpNTpkNK6X+i911a/P%20UUe8y2jdI6tgiMj4t956axGFb88996wD0wfRDJDp7G/wQ+l18kJbaoo7jjzyyL8/++yzX8tR7JQG%20EPPRasHQT/FwPkBCwCaJ8zXAhx9+6Esp4lVJqXfDDTf42uDggw/uSVsscjtd+1Gu1/lsETRAkLoP%201whLlizx2+9//3uNbm/8+PHe22+/7e2yyy5ECmluXQ3A5kdeTz/99OlwIOfiVs0mZMwUpAEA6pDx%20fKgEQM6ez4w33niDQuDbLVJzczO/U1hDFdqVjC/cMYt+vYRAx8JUvCtA+Qinew/aeoZ+ZDAjAZ/p%20L730EiMEAkbsY35HXnDLfqdJZn/3poOO1kIB6KwJSAjWBZOXbtq0acK6det4c7v5Dx83bhwZQcEg%20w33mAwFkR7goYE8LghgSpgGiMknfBal7Nff5bIHnsx+5hZPN/vQZrKTaPvvsw/IxagGZYTX1/Qo4%207B8Y/y1RSBiokKIDCN9//upXvzoRUjgMzKxgBMBIgIQQpQwJjElQRymZBgoAnRj9GVzTE/Y5aDQV%20cr39XRRV79p6CQKZlfV7HaPZlPYk0zm6JQDIEHKkL2tqatrcAWIEwMvwfevatWu/efTRR1+wI4BC%20BYA32o625dprr32R/gBab3NdObzSGoAWp+AHp+QfSOVLimWnihSjizGFXu9+7zLVfYaOaWt/lkl0%20Ge+eRy0qbIX7cvoIq484/vjjH4BGbrJCvq1oG9BWo20zqj/U9iZC1H81mY5q1csQ6x+KeHSkHQbS%204VMRA4/RLr3zzjsefYbXXnuNjTbMb98KClf37ne5jkkLZDUX7Nd//vOf3ne/+13vkEMO8Xr37s1I%20gJqAZsHXrtAATB3bTiCPrYXf8NpvfvObG8GHz4UWFuIElkGl/BwO3r+7IaCwfkqlnEH+6LFjx3Kf%20zJc0f9vyAO7IzmfUZ8MW3OO6BweStGd6t912S5Hpb775pjd58mSli8lw5Q3kBBIbGIhrT0QSbgTM%209jGqJ+iMACivX4VM1BnCAOwmW88fy+8XLFjAH9R49NFHPwNPNA3I8mgcHwTp/bYIQC47HmYqcp7j%20OpiuxnjssceW3X777f/D/YcffvhwhIH1+++/vwYd+10aQELBRuRw3/PPP38s0vGLFQayRRWASrQ+%20YF6N7BCbGwYyTUnmm+rf/n/+859P5+df//rX3scff+ypIORbQLkAnSAH0T2WCxDKeg5yLBP/9Kc/%20TbSdwHnz5tEcKMyWj2BjATQhHIzjcJtPjA/XHlUDCAPoDa9T6kXhhv9gMXbhwoW0RYxTqf4JBUtA%205PCUPBLo2m2X+focgQLxAWL+ep4YTJyFnxsaGuhnMSlE6F0mVlv6ATzOaKHNDOLyzkQBSgKVY87a%20vXBEzqVU8eZ8iJhKdJB2CRgBpZPHZaPowRbTB3DVaqHXh4V67oiOKgTaJ+MY40sA5PlL8xJsI/PT%20mE+YIlDEczTYYG7pN9BJnHfvvfd+lk9NYTIkBGy9/PLLn5syZcoqPHRnaIIqU6yYAGMpWeWoA9h1%203333HQfG0ymk6uEPlQAwj01hKVUBEEPz9eZzYQt5h6LLli0jw3k+4XRXALjPnMt6wL3zySOc126u%207QBrtmOQrnnmmWfeVh1hZ5NBHWS+iS03zp8//2O0tSY3UG5a6phjjhkPp2Sc4n/lsCWRaMUe/WJM%20IdcGaQD+vyBgxx7pYc/loGHmz36WgCBbAJgXGAwsoOamm26aJ0ab1kJ+oTWibdF3hQhAC8KQjtNO%20O+0QPPBgSFh5whCksgwmYJjtINIUfPnll2SARkexBUCd35UCQIa710SCjd3vlTHl6Hc1Co9xS5yf%20dl8a4fDDD5+2xx57jAAPVA/gI7eoKVz4/PPPz4EWkAB0RBWAhGl8SM0FF1xwPx4yXo6dtgR7Nm7c%20qOofZgVZrsSctf8ZxOOlYv+DGGcLM7dhYV02LRAaKXz66adZsQH6A6NGjfK++OILf4ChLoMCwHQx%20ne8x6G95/0oaTdh1112PQ6Rw8vXXX/9GZ6FgqviKH/7wh6cB5h2fDQPgD6Dal+3HH6D6WoLpzSuQ%20H6hFR00pCQEITwa5zHcdvygYQFYBBYbPweQy33/ek08+OR9+1DqM9tqJEyfuB6bT0dM6C9II8hNk%20LmrgnJ+Nr98xvGyPggMIBOoNaZqZCwOgACgWfe+99wgHUyv0wxz3fvBOK1naDCqeAES3wdkydmJ6%20ULVPlJSve4whm7z+rNfuvffew1BnMYz9iMGYBhiUAj7AwWfnB1xAiP1eTx4aHKA1qgmoQOuFZMM2%20Le0iVS8hkF2aO3euX6Sw++678/gQNP04tmJhAO4oDTtH4Wouu5+rHiDoWNjz+Tyqdqn+XGsGDGEx%20CJnKfqYJIBhUX19PbMBGAwXPU5swZE8aAWg2g7o9igDwghTU+st4yIEo8qR614PUuNYPcQB2gh0B%20KEnEzz2NAopRQUwPvc62+7YwhJHLePd+7rmI5VnxG6hdpGnJZEHAsPF+4ccLL7ygzKsGp2oFeXyp%20GchlnU0Hd1xzzTXzZs2add306dMPwg1T6AS/yIC1AHhgAn+gDAKyN+yRoGEJQE+HgTbTIwhA4LlK%20bbueea578ry8439oVwI2YfWECv2k1qVdOcqX4bNqAjIQlAySRh1pELTywoceeuhFjfqoAkCOtZmc%208mbY8vfQvsF+jSTKXFcJ3P80FSdasCVbT6OAfE6AAETzB8TMELJHdyR4mBEUwrW8tAqFRFgAeKuq%20HxZ/1iE8nwsHkuq2VcCdUfmN5J3hYVvUbGDGXNTCm8ABqcVExYGQsio0nl9ObYBc9QGIS4fpB0kA%20ILHqCDGm2GrfPTdSvt9toKAQMBQSpsqX05cHUdXbA0ueP0PAHe67776TkSz6K/q8FfdrY8PnXsBi%20Nr/yyiubyMNOFYWqnBiFIMfAAbnBjQA0H4CMFvYPtUMcm99zCpPjHUemqPa7K+bm2aPfbi4zXSaH%20ZvtssAfMsZy+cGKU8Prrr8u790w6WFp28HnnnXc+czJ2JMDt2Wef/QjC+EsiQcH2TKCf/vSnoydM%20mEDm55wPIPWPknCqpmY4i58atTUGm2qZgH/xtK6Y7gI/dtMxCbUNCGk/0PaT6eifKMzX/IA0/IWl%20uI4O9xhA8tUHHHAAGc0+Z3OxAG4ZIfzb7373u0U/+tGPHrDKwzKhGkBz/hBrni6VLqbbn/VgxPy0%20aXT81iFV2c7vlL9mKxIFedZBJVuuANgYiC0IWa9xBcl2hOnxa7Z0BGJ+IAVktZ1C9eqrr34BQGgS%20J+DstddedmGIRr6azAUHYq+gxFAyFwYAhlbxB8vDd6Fgph5ZnkxnBhlBerUjEaeOxHcMGYVs9SST%20XTXunhNUjp1LACT4OuYyOFeuwN5nH3WK+boe4NpkMpU8QG6GU8c4SYSwO7Ot2YpCOCiJMFYRC5Av%20EMUEpABQLCHowHBF8/5tIu6PQlECEtQGFBTNExDzu0MAwpgpFet+F8z4cAFwr8l79EMrkhkF9YVU%20vJjNmgCG2iy+Yf/zmO1n0G8gwTfYbkVuiUg4wK233roIocYcqJyD8cBBkmp1Do41IzlBhldbtqi7%20BUCMCMvURREAXeMCP3axRdSmkS9MpCBBp++AbKwPCilFvMMOO6QBCDUCgh+kCEihMPiyEY7466gL%20fKJTOIBSwZjd+zi2LErsh1apKiFeN3PmzJFXXXXVLI4ONcs77Q4BiFKCnU0AwkZ8wPGiMF8CYDt6%203FcVdurxxx9fftttt82x5gZ0GOx/o5kfsDXIASQlA0CgJrQNmIo0GGqmL6SrEq2cNQE1oDPOOMNO%20FPFHUvq6QwDEvDDmh2mIfBnsRgNhQuPmDKj2HeYXLADC/O0ld7iG0IHAFRrhiK8jBsCqIPAijRxN%20K2oCGslDGwyKBAQh3kxdcskls4Et7207f3LyiEopSmBCg3XrBDlce1kA5a3m3a0oDxtv2+9sQpS3%20AMj/IMgjh68ryHj/nC1MH4BRAZNzFAiqetZsHMucjJw/YQFQ/w1wFn+C6myiuB1RcAC2sl/+8pdX%20wM67zBfmLxDIF4SlS5d6tEfwTL8CQOSvC1CQAIQzsKsFINu9o5gHxfnsj67WfGT6avCigWX3eMZw%20ONx08MgHNTcEZBsEMz0bAjA1ihOoKWG9MPIPs3EAu5FUC0AQCCaCKGB/ABX9oY5YKl6IBsjmXefj%202UcVAG2D7mufn2ufI94N9bpSANi/dejbOo5sMp9l44DoyQOZBxcHUCZ2l1tuuWVfDOZ5uXyBZI4J%20IdX4MzVcm8bWAPqsCSFaFwDlR5ocomyVmNYVDl4+4E22e0URAp0fKgDudWQ6R77sc3cQw0j5W0Bn%20WSPgm1xUCPG4iwOo0VQTla0jT+ULBGoAe0oY2lrUAwxEuKFRL/LVHNEoAD+Cg9kEQ0b3AcLj8rDz%20omiTIEdOlJXZrhDQBrP+UdhDdxHnY7hRAMwBcQD6AxRCt8BUi3RsRV3gEmEBkSaGYC7aLUgo/BwP%20GOJIvyYhNIL5/dHo/EkACBw5AhCZ8Z3VBtrm60i69wtkvnsNRxdr+XR+dxL7VQIgGB7amRnBZvgC%201RRABwsgGLQBcwcell8XFQdIo7hzKdq12B9gagHKhQPAIemDdQG+B+9TDiG3MhH5hoFBuHoU2DYb%20sztjXkKZr+JQ+DkclT2V6+AAk523cQGO8hRqAh7FHMxG4QDWWgHr0b4JWysgmQsEQtuMdOIQePf7%20EHTgqiBs6IAylCmPB0pYazkg/DFkJrdibHeM+nyAHzdTx2ORwkqX6fpMJI7MVxlXTxEdTJob8IH4%20ggSAWjh1xRVXHIEw/CPwhrzrIBaAz61AY1fAAfyQwhBFADISgj/+8Y8XA+s/xnUCyWyqPjJY8wEB%20OvDHsMlOhavjcMZHdwjdz+Fz/NTC7D4FW/aex3o6s0lnjn3PWgtlArlPSHggVmEbyLDQxQJQyLMP%20VhI5KbQs3MUALr300t3g3dvMd2sB1DhT1fcHnnjiiQWQ0jTO3x+d3j+LKg5KowYlVKLCv0EZw7yF%20T0zWdGsCMPq+GHTPPffM5fb73//+RDjg9ZivybUZqA1yYgHEcTBJ9ORzzz33/rxwAM35w41HK8HD%20G7lND+V8AGqBzz//fC1CkmGQ0ibkvSukItGij/rw40HMLhROVpO3rVCqaIyXFoPJHQbTm0IWdhPg%20efa9qoPCagJ2dsJABwfI8ro3jOKBzOgx3Wvj/ZrpQ3XDV50yHJw6dSqxgPEqB4MmYDawMyO5s0IQ%20ZRHH0BBTWkjhF4RZPkVRi1sOPfTQ3ckPMpYTQ7B4J00vcQGtHqowXIJAU81ooNKE9Vt4q7xwAEw8%20+AATPbZiejKLCeT9qnFU0A7xIaoF4GeZi6Awy7afUZgdBtkGCUC+foTqGch0OnwUcLu6qWhCoNBP%20CSEyW/X/1AQ0BfJXxCsKAWdrQSNHwgEybFiteiUeeAMqUWaiKGQ4vX9QQkzla0wgWYPhgFQ7qWA6%20ShKAqCM/2A8IX6SB2yjMd59HQIUjho0CYINaxV6rmGigFoWy1wxMAxD6ElP4iAVk0Dxu2TBI1/7l%20L395CeH6gnzTwYoA0lQXUOXvo63Bfl+0XlYtQAXeZTPhoosuGuv4BBQE4eE87uL4kRkOCmJa2HSv%20sHtJtUtdkukBL7cqriBQAKQBlIvh4pwo/96ACTxPaW6AtbbjJlMTsIX7eU0N08WaXIClxsbAw+/P%20eQAqBMGDdwBCON2pVVdIqCoabiM4gpF9gfxW6Q5v9O7p5LnVy0UUgvAZQiA5fXwryxRogvVIEK1A%20n/tCQBygEoTFpj90agI68jEB7Xg7Vd0JJ5zwACRsnJsIUtZLAoC4lKEgc9U2ChhVAKIJSDj8m7NA%20k8KpEYXUNUd9rmtzrv1XDGLCiQkg+l8sxhUKC4eb8f6ReCmHu3I4X9e/CotLn4Pyvoa8cAA5gXjB%20wy1wLGzm20KglarZiQwBGW9+CWdjPYSuBh01Vh1fIMAThtVHAZzYbHVPD1/OlZzbbHP8bOZrvxg+%20AAdeM3iyDJFANXCJscy5wPYrJUy+SPvas4UH431N90AAJltQfntWAVA1MFofPGhKrsUh7algzPtD%20/SzCJJJXqV4wVWzEd77znbH6IQWp//Da/chr95PJqmZyp3y7QuvOFnaFoYeJzvVmgEHzuHPxxRd/%20hWLdaQr/0Oz1hBQNCJUdCrh4+nXXXTfXrgkIEoBqwp4QgqwLQ1DV8yFcCpZFCQgVazET9Xv4LgMk%20sBfeciFp7MwI7xTcq3131GqSijx6mC4KrJa2t+cuqtPsY0FzAXtaG/BNLLVYtncWGcx8DON/ml7k%20ajgoyRdXA3BL/4ZRjd4fIF8gpwbgfhVuuBWLE/XOUgsgTJzM5yLQFJRhPMbzaFMxdYmd1LWjPvwe%209jO1r3WMKAAaHa59dxNHbsyv79mKxXz5LJXo8xGaH4CXRpCxHIAE5qjVstUE8Dues0FYQHhJGAiv%20JLsGb5+6QLUAjj0ns1dASEY48wFUGCFJ7DTkCyoogqB9h40UiKM5dq6nL0Zrm+14zn21HiIKr6IA%20qXyVizUiUqsGNpOyBJW8oNBsxNT+R4DrNJAVYUigpoVvxyLFS9CuNrUAVB/l9lvEEF6cxMWKskwI%204YMVBvYYw2Xfqe7gILkjPWCaeiiSmAvBLEZGUAJAYVY2ln1eceKJJz4EgW9WqGdai3l/wEpNDQsL%20AwUC8UbrjLrYrhdEmJaCw3cApowPcWsEhQgqZrXCr+4UADKbsTyl3bHdoat/BWkDl8HFYr77P2TK%20JBCMBGrw3uY9Acw9SX4JEDL2fqPh5WZ+l48AqBhkE5aInQoseRJHvVkaphw2pwKJiMOUJVRySEUg%202kYEgqKkaW01z0anrpA3g7jqPSgMLHpGEIUfeo2sPUOIOMAUvGOwCcc2kfk4Rl62oXhlKV44vQrR%202tZcq4Ym3VoAFBFOwtJkD+MhQ7NNCGGihD+C+4sWLeL6gEIBJZlkfr44QKTsIB0dRBruaC90RnGg%20utfxYhMZzsUl+P/Zz8Bd6IgLDOLqYdOdCSKcScwsYhOqt/kSiTeDfICEVDyygJfCcxwaMCGEW0UD%20tEdLYHe5SHEaAjIOD+4vAegEw9193p/PItMpYFGY4nr8BQhKUUlCSTRwSRrEUjD0yVhMQUuB6WET%20RGqwoATfJLqXfARbEyQdDKAGN58hECjXhBCqXYJACBNXQgtsxLYCmmADEMGMfACdHzG8U0WrMnMc%206RGYEk0Q1LElQBR+mgCfeeiTFryq7wvwYRyqg0MniOD8oVjuZwb8t7mWEGSyCUA1VTwQJt4w66IQ%20HJGcq8b1a/EjhoDpcgg9ZKb4lhBemy+Eq9WveF8y3Y1nu2OmTcm+sOKwww7bDXMx9FoYfwvgjXwg%20b7IWhbA/oZ2prbOCQUn3RdFgwlLYmgmK69mEoWs04v0A3OcKFQR/bCGRD+AyWfdQEzKXJ4Nicl8p%20z4IQ8gUmm1PFaCa5tXkgJJSTR7ZeffXVVmFIwLwAzCO7Ce+dPQ8MrYOzVwd/oNJ6nVkzsn9fwhEZ%20i5GfctYG5CjW4sddPBpjIrOhne03hckx5kBahtC8Foxm6l4oaBpRwGpo8yYsJ/eHrNlAeYWy/2gD%200UagDTUgUDVa0i4GeeCBB46DdzkKgkEUitlAaQBWrvpATPdQTIR/8WZwaV/2O/uf6eF1KP8mk1sd%20R2+rWTRyFdoKtAZTKLLd9QGEAWwx6FGKNzD7FXqHMN4dsD8mgo5SRCA0Suaie2PlmNx3CIkPCAEH%204GWRU1GoM8fE+20WPzeaWULN2bCApAMDp7GwwPAZM2bcgCTPWNl1MZhhHx+ulcOYjWI8KjBItr9b%20KCZqVy0aSbvOWdkSCNZk7AHnfA/wxl0trAER241ICT+WbdXQpA0Cgfn1WBz6Idy0xsUAGPrZkxBY%20lWJKx9fj+zRCtjRq1uu7LayKifaeo70BvgDRwEHvvvsuy8KVKFKBi1sUMghI4e14o/hK1BE854JB%20SXtCCEq9Z0GCxHy76SFML1IYOPI5B+CvSBrxHbUMC4fADtV3mwaIic4e52FQzXdMmzat7qyzzjqB%20L+dAWl6D0y0KkbngKmOn4rqX3UUjpQG47Q3vfqAyfE4xCG/Km2ttAHr688D8BSauTAAMqu3+apnY%20BzD2PP2Pf/xjPUZ/BXhzEvqcA5P8yYYFaI5DPau93DeIJO0ZQWB8K1U7gSAw1Mb0tWwpsX+uUPH+%20hRde+FccWmuSR0mopCHd7gTGoSD7vgkDlf1ehncDbwQAVAGmz6IPBpCIfoKwG9UEsDaCQrDOAEGK%206tpdJLDsrrvuehFTig+DJI2DTbcfrPlpvNF8FI3+wYQWqylRpoqoOR8BoGBRw5QKEWHj6CoW0c8C%205q+aBgI/O+It7Yu5y+7EuwOfx7wALtc7E4JRma14FZNHGgEFP2PVdbjzAX3VUIs2DK0eteaTEQUM%20ANMrcCNSBkxrA8zbgJKv5WS8EYC1+iGwSUdhIaPrKTgAkFjD5nde4RQT7DwhdvYnczD/geXfXrBq%20NerIY/gBQ+EfjOY7HdDKMiBo7zYIxfpnn312EXEANsOzZpkBlYJXkYloO/FmFAaznzLnCCdoNjjB%20GqvQIMnzsXDkz1EldDY9VAIWXUYxUetSAKiJuBjXJXhXEEfzZjN4+5Fvhmc11oqunmZ5WWDQGsO/%20FtsEZAxztaxIh7l5L7QKCYD1FpEmtE1mmzZSSEexRmAQVFYXqfnY5tPp1mLT3Gf9n+GHnLm0ccQ3%20GE2ekgC4PNPIz1YWrhuSWs3Jmg5mv0w6bc5rMZ8T5ruyBMiablWSoJAcp39F0iv4UKU1RoW/Wv/H%208KTJ4lmZg/BuYzPntbkCkNGJVl1guWkCiXROu91sIIkkpluOYylm3f7Vw0CZbQlBq2ktFvMTzsBV%2068g1MSRjtTb3HcLOOSJ9Tqj1CMNjSjhMFmNbrWOJAJ6FTg4VReFmGbJTEzXlqlsoJsK/rL9QfO4M%20Tm2jUbKrzCcApLcBB09k0WKXU0wq+2pBle/fHVVeEBU6XCtMuDgIbRRWF7sNocoYYgHFJL3mpRTJ%20rr9Mg+BQryOz8X+ake2bAxzgVSeeby+mAPCXVpvikeFo9cAA9kKoMoCARKKI9iAD4hZzHBsAj27j%20oVIKSOR4O5M8GtC+MtsN5nhHMQVAINKOBowYpKVlLRCpmNShpo4tMQFot1/jawCdtYb5muxRkGAn%20u0BSVXmyntLqgkhsRR5BGkWZEtQCAuAU5rGfm93K3mJqAGmBCjPiq0wTIJEoYudJA2S0LWEz0GZa%202rS2YjuB7j0UmyazgEjF70B7v7Qo42oz+1iRNED4vYrOfDHc3f4/o5hiiimmmGKKKaaYYooppphi%20iimmmGKKKaaYYooppv8FlJhXILrvZ3wAAAAASUVORK5CYII=%22%20preserveAspectRatio=%22none%22%20height=%22102.996%22%20width=%2287.169%22%20x=%22159.832%22%20y=%22119.548%22/%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20x=%22205.695%22%20y=%22150.011%22%20transform=%22scale(.98866%201.01147)%22%20font-weight=%22400%22%20font-size=%2219.302%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#ff0%22%20stroke-width=%22.504%22%3E%3Ctspan%20x=%22205.695%22%20y=%22150.011%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ERAM%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20x=%22205.372%22%20y=%22110.296%22%20transform=%22scale(.98866%201.01147)%22%20font-weight=%22400%22%20font-size=%2219.302%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#00f%22%20stroke-width=%22.504%22%3E%3Ctspan%20x=%22205.372%22%20y=%22110.296%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ESample%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M206.647%20182.6a6.892%206.892%200%200%200-6.89%206.892c0%203.803%203.086%206.896%206.89%206.896%203.805%200%206.868-3.093%206.868-6.896%200-3.806-3.063-6.892-6.868-6.892zm13.814%2010.852l-1.242%202.991%202.215%204.35.293.575-3.072%203.072-5.039-2.38-2.991%201.228-1.519%204.648-.194.617h-4.341l-1.879-5.246-2.991-1.234-4.357%202.21-.575.287-3.07-3.069%202.378-5.042-1.233-2.989-4.64-1.515-.616-.2v-4.338l5.25-1.882%201.233-2.986-2.208-4.36-.291-.571%203.066-3.066%205.045%202.376%202.988-1.236%201.517-4.645.196-.616h4.34l1.88%205.253%202.983%201.236%204.358-2.212.58-.29%203.069%203.065-2.377%205.038%201.228%202.993%204.654%201.517.611.196v4.337z%22%20fill=%22#0ff%22/%3E%3Cg%20transform=%22matrix(.85604%200%200%20.85604%2085.035%2091.517)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E", + "otid": 1596697289362 + }, + "design": { + "graph": { + "blocks": [ { - "source": { - "block": "b9359b10-b14f-4dd7-adf9-3f4f22bc65e6", - "port": "outlabel" + "id": "eb3a1b78-59a5-4be4-a92e-3b7e9a65f13b", + "type": "basic.outputLabel", + "data": { + "name": "addr", + "range": "[13:0]", + "blockColor": "navy", + "size": 14 }, - "target": { - "block": "efe69f75-a437-49c9-abcc-47af25d287d9", - "port": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6" + "position": { + "x": 872, + "y": -144 } }, { - "source": { - "block": "06c393de-8af4-4b53-852c-b0e0160b5314", - "port": "outlabel" + "id": "40e3c20c-5598-44a1-b5b4-760dba97d882", + "type": "basic.outputLabel", + "data": { + "name": "din_r", + "range": "[7:0]", + "oldBlockColor": "fuchsia", + "blockColor": "fuchsia", + "size": 8 }, - "target": { - "block": "88e0e872-0460-4ecc-bf26-8a7a5598a024", - "port": "in" + "position": { + "x": 872, + "y": -64 } }, { - "source": { - "block": "2a921d76-1cbd-48fe-82a9-11b0ab4dbc06", - "port": "out" + "id": "38abb13c-8652-41fb-931c-c7bf760ebb24", + "type": "basic.output", + "data": { + "name": "busy" }, - "target": { - "block": "efe69f75-a437-49c9-abcc-47af25d287d9", - "port": "159f86de-af0f-4f1a-9a93-7e8149d5d322" + "position": { + "x": 1832, + "y": -56 } }, { - "source": { - "block": "efe69f75-a437-49c9-abcc-47af25d287d9", - "port": "ee000e36-3af9-433a-b1bc-be1b8aad79e1" - }, - "target": { - "block": "6b17f83a-c001-41a8-bf30-6f2b838c00b4", - "port": "inlabel" - }, - "size": 24 - }, - { - "source": { - "block": "1c0a14ca-54a9-47ce-bf3d-aedefd2053f3", - "port": "outlabel" - }, - "target": { - "block": "c5e9e2e4-005a-464d-927c-2b18aac9180e", - "port": "in" - }, - "size": 24 - }, - { - "source": { - "block": "efe69f75-a437-49c9-abcc-47af25d287d9", - "port": "ee000e36-3af9-433a-b1bc-be1b8aad79e1" - }, - "target": { - "block": "0e86ad34-29ae-4375-b943-dec3e1dc1312", - "port": "fd4d4e4e-dd92-4b76-a6d5-9b762b17396b" + "id": "a040cc3d-b2c6-458e-bde6-f8234a19b6d1", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "busy" }, - "vertices": [ - { - "x": 656, - "y": 128 - } - ], - "size": 24 + "position": { + "x": 1640, + "y": -56 + } }, { - "source": { - "block": "0e86ad34-29ae-4375-b943-dec3e1dc1312", - "port": "1645d4a4-bbe5-4f2e-8c06-2b0bc1f4a8db" - }, - "target": { - "block": "efe69f75-a437-49c9-abcc-47af25d287d9", - "port": "4ea37c80-a37c-4faf-a706-d3ccf5bc0b1e" + "id": "d1540ef0-9272-4082-9b24-9843ddb00cd7", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "wr", + "oldBlockColor": "fuchsia" }, - "vertices": [ - { - "x": 840, - "y": 288 - } - ], - "size": 24 - } - ] - } - } - }, - "5495b52484372dce272875f5c190707a35eeaa6f": { - "package": { - "name": "DFF-rst-x24", - "version": "0.1", - "description": "DFF-rst-x24: 24 D flip-flops in paralell with reset", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22252.294%22%20height=%22220.368%22%20viewBox=%220%200%2066.75283%2058.305748%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M25.682%2041.088L39.29%2057.76l-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M18.298%2033.024L9.066%2013.41l-6.45%203.724-2.07-3.583%2020.905-12.07%202.069%203.584-6.092%203.517%2012.03%2018.223s5.399-2.025%208.535.74c3.137%202.766%202.52%204.92%202.887%204.773L17.192%2045.956s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M42.022%2040.152l13.607%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M34.638%2032.088l-9.232-19.613-6.451%203.724-2.07-3.583L37.792.546%2039.86%204.13l-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.137%202.766%202.52%204.92%202.887%204.772L33.532%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20transform=%22translate(-38.356%20-17.732)%22%3E%3Crect%20width=%2224.412%22%20height=%2213.185%22%20x=%2280.3%22%20y=%2221.375%22%20ry=%222.247%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%22.794%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:1.25%22%20x=%2282.245%22%20y=%2230.943%22%20font-weight=%22400%22%20font-size=%2210.583%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20x=%2282.245%22%20y=%2230.943%22%20font-weight=%22700%22%3ESys%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E", - "otid": 1618509859237 - }, - "design": { - "graph": { - "blocks": [ + "position": { + "x": 856, + "y": 24 + } + }, { - "id": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", + "id": "7fb933a6-5c63-4d46-8aaa-440b30974993", "type": "basic.input", "data": { "name": "", "clock": true }, "position": { - "x": -632, - "y": -264 + "x": -120, + "y": 80 } }, { - "id": "0a772657-8018-424d-8f04-75d3ffff3692", + "id": "2c31aa6a-383c-4eb5-b669-b8a31ad14225", "type": "basic.inputLabel", "data": { "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "name": "clk" }, "position": { - "x": -480, - "y": -264 + "x": 24, + "y": 80 + } + }, + { + "id": "8ca2279c-fdc3-40d3-9fbe-2071c026932f", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "bus_mine", + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 880, + "y": 112 + } + }, + { + "id": "0dfcc0e0-4f99-40f8-82ae-e43ea86f5e58", + "type": "basic.outputLabel", + "data": { + "name": "mbi", + "range": "[23:0]", + "blockColor": "fuchsia", + "size": 24 + }, + "position": { + "x": 1120, + "y": 120 + } + }, + { + "id": "fa41806b-2355-4923-895f-3ead2e752b43", + "type": "basic.output", + "data": { + "name": "mbo", + "range": "[23:0]", + "size": 24 + }, + "position": { + "x": 1480, + "y": 120 } }, { - "id": "159f86de-af0f-4f1a-9a93-7e8149d5d322", + "id": "94f3b4c1-ffb7-450b-99c4-aebfb6c4e124", "type": "basic.input", "data": { - "name": "rst", - "clock": false + "name": "mbus", + "range": "[23:0]", + "clock": false, + "size": 24 }, "position": { - "x": -624, - "y": -192 + "x": -128, + "y": 216 } }, { - "id": "eae23d49-1710-4ffb-9162-8c4238e16af9", + "id": "01c88c3e-3d41-47d5-8548-d6d9a2c1cfe8", "type": "basic.inputLabel", "data": { - "blockColor": "navy", - "name": "rst", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "name": "mbi", + "range": "[23:0]", + "blockColor": "fuchsia", + "size": 24 }, "position": { - "x": -480, - "y": -192 + "x": 40, + "y": 216 } }, { - "id": "cf0ec9b2-9d62-4940-aa5c-aeb5598d4206", + "id": "d987011b-ee0c-4b06-b3b7-dfb2097a5c6f", "type": "basic.outputLabel", "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" + "name": "mbi", + "range": "[23:0]", + "blockColor": "fuchsia", + "size": 24 }, "position": { - "x": -168, - "y": -168 + "x": 216, + "y": 216 } }, { - "id": "95c3db7f-827e-4950-8a74-ed4c855b1e80", + "id": "7d0852c6-4778-4a53-bf90-30527c44a0eb", "type": "basic.outputLabel", "data": { - "blockColor": "navy", - "name": "rst", - "oldBlockColor": "fuchsia" + "blockColor": "yellow", + "name": "clk" }, "position": { - "x": -176, - "y": -96 + "x": 1640, + "y": 224 } }, { - "id": "7a94a774-819e-4796-ad92-2b9f0a06e828", + "id": "9be4488d-51be-4346-8a31-5d8f2f86e4d3", "type": "basic.outputLabel", "data": { - "blockColor": "yellow", - "name": "clk", + "blockColor": "fuchsia", + "name": "bus_mine", "oldBlockColor": "fuchsia" }, "position": { - "x": -200, - "y": 16 + "x": 936, + "y": 248 + } + }, + { + "id": "95c4416f-62f5-4196-a406-f7915d40a572", + "type": "basic.output", + "data": { + "name": "done" + }, + "position": { + "x": 1952, + "y": 296 } }, { - "id": "35ac40b6-de26-493f-b22e-d15895042a60", + "id": "289f00be-f97d-4553-a60a-32d8b45da4cc", "type": "basic.outputLabel", "data": { - "blockColor": "navy", - "name": "rst", + "blockColor": "fuchsia", + "name": "done", "oldBlockColor": "fuchsia" }, "position": { - "x": -200, - "y": 72 + "x": 1632, + "y": 296 } }, { - "id": "ee000e36-3af9-433a-b1bc-be1b8aad79e1", - "type": "basic.output", + "id": "b14f140b-7bb5-46d9-8019-39c27ff6e0e3", + "type": "basic.input", "data": { - "name": "", - "range": "[23:0]", - "size": 24 + "name": "start", + "clock": false }, "position": { - "x": 448, - "y": 96 + "x": -88, + "y": 312 + } + }, + { + "id": "da45f105-3600-4458-a820-50046581f5dd", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "start" + }, + "position": { + "x": 56, + "y": 312 } }, { - "id": "21ec5232-45c6-4327-a55c-fe821b7c4aec", + "id": "923c4db6-0c76-4647-a848-75fd61fba6ec", "type": "basic.outputLabel", "data": { - "blockColor": "yellow", - "name": "clk", + "blockColor": "fuchsia", + "name": "done", "oldBlockColor": "fuchsia" }, "position": { - "x": -176, - "y": 168 + "x": 936, + "y": 312 } }, { - "id": "cd4dcd80-0eb7-445e-9d87-0a13a22cef83", - "type": "basic.outputLabel", + "id": "05a1a5b4-bf29-49df-b0b1-887859d9ec9e", + "type": "basic.inputLabel", "data": { - "blockColor": "navy", - "name": "rst", + "blockColor": "fuchsia", + "name": "bbusy", "oldBlockColor": "fuchsia" }, "position": { - "x": -184, - "y": 224 + "x": 560, + "y": 336 } }, { - "id": "4ea37c80-a37c-4faf-a706-d3ccf5bc0b1e", + "id": "9978357f-7ad7-44b5-97d2-b44692508773", "type": "basic.input", "data": { - "name": "", - "range": "[23:0]", + "name": "din", + "range": "[7:0]", "clock": false, - "size": 24 + "size": 8 }, "position": { - "x": -632, - "y": 248 + "x": -88, + "y": 392 } }, { - "id": "757b05f5-b2e4-4ad8-a566-3096c09c8059", - "type": "6fef69b52e3d1ced0e01e887f8e757974affab8f", - "position": { - "x": -416, - "y": 232 + "id": "5344b55b-0e5d-4444-88ef-fd6b3caa1c5b", + "type": "basic.inputLabel", + "data": { + "name": "din", + "range": "[7:0]", + "blockColor": "fuchsia", + "size": 8 }, - "size": { - "width": 96, - "height": 96 + "position": { + "x": 64, + "y": 392 } }, { - "id": "af50cfab-f0c6-4abc-93b9-e27166cc74db", - "type": "33e50db9d48b2ac603cb27c1e0d79c8c449fc4fb", - "position": { - "x": 248, - "y": 80 + "id": "5884d0cb-fd13-4b25-b561-c919079d2136", + "type": "basic.output", + "data": { + "name": "nc" }, - "size": { - "width": 96, - "height": 96 + "position": { + "x": 1936, + "y": 488 } }, { - "id": "2c6cfae2-44a7-4747-a651-b8d8f42ad3c5", - "type": "cf434451314de2d169c80ddfd83df7fd58182666", - "position": { - "x": -8, - "y": 232 + "id": "54e9bf9f-b852-4c45-bd53-f6eb4ee707eb", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "start_read" }, - "size": { - "width": 96, - "height": 96 + "position": { + "x": 608, + "y": 504 } }, { - "id": "6d6ebb97-998c-4e62-af16-aca44192d056", - "type": "cf434451314de2d169c80ddfd83df7fd58182666", - "position": { - "x": -8, - "y": 80 + "id": "fce01e4d-e6d2-4811-8f96-410673168b4c", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "bbusy", + "oldBlockColor": "fuchsia" }, - "size": { - "width": 96, - "height": 96 + "position": { + "x": 152, + "y": 552 + } + }, + { + "id": "700d8b15-d6df-4b76-b10d-72db58c33e6c", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "bus_mine", + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 776, + "y": 584 } }, { - "id": "34efd41c-8732-4b0e-a437-b3cb4b411d39", - "type": "cf434451314de2d169c80ddfd83df7fd58182666", - "position": { - "x": -8, - "y": -72 + "id": "5b15b8c9-8fb1-410a-8910-a60ef283ff1d", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "size": { - "width": 96, - "height": 96 + "position": { + "x": 1496, + "y": 648 } - } - ], - "wires": [ - { - "source": { - "block": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", - "port": "out" - }, - "target": { - "block": "0a772657-8018-424d-8f04-75d3ffff3692", - "port": "inlabel" - }, - "vertices": [] }, { - "source": { - "block": "159f86de-af0f-4f1a-9a93-7e8149d5d322", - "port": "out" + "id": "524ca75c-cdd3-4e79-851a-b46ce146bd66", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "start" }, - "target": { - "block": "eae23d49-1710-4ffb-9162-8c4238e16af9", - "port": "inlabel" + "position": { + "x": 152, + "y": 696 } }, { - "source": { - "block": "cf0ec9b2-9d62-4940-aa5c-aeb5598d4206", - "port": "outlabel" + "id": "7e9db299-cb56-4cd9-a489-d5fbd6eb3e2f", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "busy" }, - "target": { - "block": "34efd41c-8732-4b0e-a437-b3cb4b411d39", - "port": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6" + "position": { + "x": 1184, + "y": 704 } }, { - "source": { - "block": "95c3db7f-827e-4950-8a74-ed4c855b1e80", - "port": "outlabel" - }, - "target": { - "block": "34efd41c-8732-4b0e-a437-b3cb4b411d39", - "port": "159f86de-af0f-4f1a-9a93-7e8149d5d322" + "id": "28d32f23-19b6-4a8c-8ac6-edbbb1a0e999", + "type": "basic.outputLabel", + "data": { + "name": "din", + "range": "[7:0]", + "blockColor": "fuchsia", + "size": 8 }, - "vertices": [ - { - "x": -56, - "y": -40 - } - ] + "position": { + "x": 1496, + "y": 712 + } }, { - "source": { - "block": "7a94a774-819e-4796-ad92-2b9f0a06e828", - "port": "outlabel" + "id": "703240cb-6595-44d0-a266-869db1fe0889", + "type": "basic.inputLabel", + "data": { + "name": "din_r", + "range": "[7:0]", + "blockColor": "fuchsia", + "oldBlockColor": "fuchsia", + "size": 8 }, - "target": { - "block": "6d6ebb97-998c-4e62-af16-aca44192d056", - "port": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6" + "position": { + "x": 1840, + "y": 712 } }, { - "source": { - "block": "35ac40b6-de26-493f-b22e-d15895042a60", - "port": "outlabel" + "id": "7df4a7f1-90b6-4562-8be3-e4719a824545", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "target": { - "block": "6d6ebb97-998c-4e62-af16-aca44192d056", - "port": "159f86de-af0f-4f1a-9a93-7e8149d5d322" + "position": { + "x": 880, + "y": 752 } }, { - "source": { - "block": "21ec5232-45c6-4327-a55c-fe821b7c4aec", - "port": "outlabel" + "id": "2c719f94-9d13-4502-9018-1231407bb53a", + "type": "basic.inputLabel", + "data": { + "name": "addr", + "range": "[13:0]", + "blockColor": "navy", + "size": 14 }, - "target": { - "block": "2c6cfae2-44a7-4747-a651-b8d8f42ad3c5", - "port": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6" + "position": { + "x": 1232, + "y": 816 } }, { - "source": { - "block": "cd4dcd80-0eb7-445e-9d87-0a13a22cef83", - "port": "outlabel" + "id": "dc204461-1dd1-428f-91a2-006d905d6585", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "start_read" }, - "target": { - "block": "2c6cfae2-44a7-4747-a651-b8d8f42ad3c5", - "port": "159f86de-af0f-4f1a-9a93-7e8149d5d322" + "position": { + "x": 872, + "y": 832 } }, { - "source": { - "block": "af50cfab-f0c6-4abc-93b9-e27166cc74db", - "port": "756c8eb7-3567-48b4-9757-fe992499b794" - }, - "target": { - "block": "ee000e36-3af9-433a-b1bc-be1b8aad79e1", - "port": "in" + "id": "0db424eb-f896-41e1-becb-7eb065dd64f2", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "busy" }, - "size": 24 + "position": { + "x": 152, + "y": 840 + } }, { - "source": { - "block": "4ea37c80-a37c-4faf-a706-d3ccf5bc0b1e", - "port": "out" - }, - "target": { - "block": "757b05f5-b2e4-4ad8-a566-3096c09c8059", - "port": "986785ba-71af-4029-b917-652dc40e9b60" + "id": "eda78d52-57f7-4e44-bd8e-75e67c496650", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "wr", + "oldBlockColor": "fuchsia" }, - "size": 24 + "position": { + "x": 864, + "y": 904 + } }, { - "source": { - "block": "2c6cfae2-44a7-4747-a651-b8d8f42ad3c5", - "port": "f1844cff-7fd4-4781-82ea-93999fec5e74" - }, - "target": { - "block": "af50cfab-f0c6-4abc-93b9-e27166cc74db", - "port": "4f42dbcc-6f8d-49de-9291-7a602cce9d27" + "id": "caf86b2c-c08d-411d-be47-4084fec9532e", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "wr", + "oldBlockColor": "fuchsia" }, - "size": 8 + "position": { + "x": 1216, + "y": 912 + } }, { - "source": { - "block": "6d6ebb97-998c-4e62-af16-aca44192d056", - "port": "f1844cff-7fd4-4781-82ea-93999fec5e74" - }, - "target": { - "block": "af50cfab-f0c6-4abc-93b9-e27166cc74db", - "port": "29a44a77-ec20-436d-a9e8-7fc2ca5de57e" + "id": "366a768a-2f5d-4c01-8338-bdef0a688ea7", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "done", + "oldBlockColor": "fuchsia" }, - "size": 8 + "position": { + "x": 1144, + "y": 1008 + } }, { - "source": { - "block": "34efd41c-8732-4b0e-a437-b3cb4b411d39", - "port": "f1844cff-7fd4-4781-82ea-93999fec5e74" + "id": "0a517454-aeac-48a3-bc62-6aa73da948bd", + "type": "basic.info", + "data": { + "info": "Reading data from memory \nReading bus status", + "readonly": true }, - "target": { - "block": "af50cfab-f0c6-4abc-93b9-e27166cc74db", - "port": "3abd42f7-f396-4aa1-981a-889c0c279d10" + "position": { + "x": 336, + "y": 120 }, - "size": 8 + "size": { + "width": 232, + "height": 64 + } }, { - "source": { - "block": "757b05f5-b2e4-4ad8-a566-3096c09c8059", - "port": "9ded277e-a83c-466f-b1cb-bdebea943387" + "id": "a200cfa9-fe9a-4c4b-b9d4-f4307d071797", + "type": "basic.info", + "data": { + "info": "Calculate if the bus can be taken", + "readonly": true }, - "target": { - "block": "2c6cfae2-44a7-4747-a651-b8d8f42ad3c5", - "port": "98e23c4f-291f-4a6a-977f-dd1e9fd61186" + "position": { + "x": 216, + "y": 440 }, - "size": 8 + "size": { + "width": 272, + "height": 32 + } }, { - "source": { - "block": "757b05f5-b2e4-4ad8-a566-3096c09c8059", - "port": "f25ddd8a-a716-43b7-bdbd-5c7f1373d828" - }, - "target": { - "block": "6d6ebb97-998c-4e62-af16-aca44192d056", - "port": "98e23c4f-291f-4a6a-977f-dd1e9fd61186" + "id": "7a989d63-cd4a-4c47-9513-57b4ea6ee141", + "type": "35f267d0df6ffcb7fc33753bc9df9cf083642cca", + "position": { + "x": 296, + "y": 552 }, - "vertices": [ - { - "x": -224, - "y": 216 - } - ], - "size": 8 + "size": { + "width": 96, + "height": 64 + } }, { - "source": { - "block": "757b05f5-b2e4-4ad8-a566-3096c09c8059", - "port": "b0180d54-ce8d-436d-8bf8-6ebb49879520" - }, - "target": { - "block": "34efd41c-8732-4b0e-a437-b3cb4b411d39", - "port": "98e23c4f-291f-4a6a-977f-dd1e9fd61186" + "id": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", + "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", + "position": { + "x": 464, + "y": 568 }, - "vertices": [ - { - "x": -256, - "y": 104 - } - ], - "size": 8 - } - ] - } - } - }, - "6fef69b52e3d1ced0e01e887f8e757974affab8f": { - "package": { - "name": "Bus24-Split-one-third", - "version": "0.1", - "description": "Bus24-Split-one-third: Split the 24-bits bus into three buses of the same size", - "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": { - "graph": { - "blocks": [ + "size": { + "width": 96, + "height": 64 + } + }, { - "id": "b0180d54-ce8d-436d-8bf8-6ebb49879520", - "type": "basic.output", + "id": "239fe2ba-e2b9-4446-a1ea-51e1616f5b75", + "type": "basic.info", "data": { - "name": "2", - "range": "[7:0]", - "size": 8 + "info": "The bus is available", + "readonly": true }, "position": { - "x": 616, - "y": 56 + "x": 384, + "y": 512 + }, + "size": { + "width": 184, + "height": 32 } }, { - "id": "f25ddd8a-a716-43b7-bdbd-5c7f1373d828", - "type": "basic.output", + "id": "b62ad9b4-5b0e-4b74-a0ad-947946a59331", + "type": "basic.info", "data": { - "name": "1", - "range": "[7:0]", - "size": 8 + "info": "This circuits wants \nto use the bus", + "readonly": true }, "position": { - "x": 616, - "y": 208 + "x": 280, + "y": 664 + }, + "size": { + "width": 192, + "height": 56 } }, { - "id": "986785ba-71af-4029-b917-652dc40e9b60", - "type": "basic.input", + "id": "c25805fd-f852-43d5-93db-f3f0cb17c301", + "type": "basic.info", "data": { - "name": "", - "range": "[23:0]", - "clock": false, - "size": 24 + "info": "The bus has been already \ntaken", + "readonly": true }, "position": { - "x": 88, - "y": 208 + "x": 272, + "y": 816 + }, + "size": { + "width": 208, + "height": 56 } }, { - "id": "9ded277e-a83c-466f-b1cb-bdebea943387", - "type": "basic.output", - "data": { - "name": "0", - "range": "[7:0]", - "size": 8 + "id": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", + "type": "81613874c6152f06c06ed7014bf4235900cfcc30", + "position": { + "x": 648, + "y": 584 }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "26b71a43-5955-4452-9b0e-94ea6ef453b7", + "type": "81613874c6152f06c06ed7014bf4235900cfcc30", "position": { - "x": 608, + "x": 1088, "y": 296 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "16e78204-213e-4833-9096-89d735307ec2", - "type": "basic.code", + "id": "d3ce12c0-3b45-4ed2-8446-fb6c4c8e8710", + "type": "basic.info", "data": { - "code": "assign o2 = i[23:16];\nassign o1 = i[15:8];\nassign o0 = i[7:0];", - "params": [], - "ports": { - "in": [ - { - "name": "i", - "range": "[23:0]", - "size": 24 - } - ], - "out": [ - { - "name": "o2", - "range": "[7:0]", - "size": 8 - }, - { - "name": "o1", - "range": "[7:0]", - "size": 8 - }, - { - "name": "o0", - "range": "[7:0]", - "size": 8 - } - ] - } + "info": "One cycle after the machine is done \nthe bus is already taken to write \nthe bbusy signal to 0 and allow \nother circuits to use it", + "readonly": true }, "position": { - "x": 272, - "y": 176 + "x": 960, + "y": 392 }, "size": { - "width": 240, - "height": 120 + "width": 304, + "height": 88 } - } - ], - "wires": [ - { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o1" - }, - "target": { - "block": "f25ddd8a-a716-43b7-bdbd-5c7f1373d828", - "port": "in" - }, - "size": 8 }, { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o2" + "id": "110cf90a-bc63-4642-a72e-33e8e397e804", + "type": "basic.info", + "data": { + "info": "The output bus is controlled \nby this circuit (1) or \nremain untouched (0)", + "readonly": true }, - "target": { - "block": "b0180d54-ce8d-436d-8bf8-6ebb49879520", - "port": "in" + "position": { + "x": 1352, + "y": 256 }, - "size": 8 + "size": { + "width": 240, + "height": 112 + } }, { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o0" + "id": "0421b3fd-c660-4279-abe0-e1d486431ce0", + "type": "basic.info", + "data": { + "info": "The reading machine \ncan be started", + "readonly": true }, - "target": { - "block": "9ded277e-a83c-466f-b1cb-bdebea943387", - "port": "in" + "position": { + "x": 584, + "y": 456 }, - "size": 8 + "size": { + "width": 184, + "height": 64 + } }, { - "source": { - "block": "986785ba-71af-4029-b917-652dc40e9b60", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i" + "id": "0414e63d-55c1-41b0-abdf-4e02d0f68ff9", + "type": "725b7e2cb9666b5ed3183537d9c898f096dab82a", + "position": { + "x": 1504, + "y": 792 }, - "size": 24 - } - ] - } - } - }, - "33e50db9d48b2ac603cb27c1e0d79c8c449fc4fb": { - "package": { - "name": "Bus24-Join-one-third", - "version": "0.1", - "description": "Bus24-Join-one-third: Join the three buses into an 24-bits Bus", - "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=%22M164.218%2077.643L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v26.186l61.698.046c8.012-.043%2015.705%203.133%2021.47%208.81l61.448%2061.315a57.292%2057.292%200%200%200%2039.993%2016.139%2057.292%2057.292%200%200%200-39.993%2016.14L83.668%20190.45c-5.765%205.677-13.458%208.853-21.47%208.81L.5%20199.306v26.186h62.612c14.924.039%2029.463-5.9%2040.204-16.28l60.902-60.863a29.857%2029.857%200%200%201%2021.347-8.81l146.53-.113V86.457H185.571a29.884%2029.884%200%200%201-21.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ + "size": { + "width": 96, + "height": 64 + } + }, { - "id": "3abd42f7-f396-4aa1-981a-889c0c279d10", - "type": "basic.input", + "id": "cb239ba5-a0b6-498b-817d-0f0013b987c0", + "type": "basic.info", "data": { - "name": "2", - "range": "[7:0]", - "clock": false, - "size": 8 + "info": "## Sample machine\n\nRead the input data, (one byte per clock cycle) and store it into the memory\n\n", + "readonly": true }, "position": { - "x": 112, - "y": 104 + "x": -104, + "y": -192 + }, + "size": { + "width": 648, + "height": 104 } }, { - "id": "29a44a77-ec20-436d-a9e8-7fc2ca5de57e", - "type": "basic.input", - "data": { - "name": "1", - "range": "[7:0]", - "clock": false, - "size": 8 + "id": "5caa6aff-82f8-4a53-84f7-b67bb5bad8a8", + "type": "58ed2b5c7e33e2f215ccba6c101d9ea4ff60f284", + "position": { + "x": 1808, + "y": 280 }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "fc204eb4-2475-49d5-8d15-940e4cede5d4", + "type": "8d66187a7f8e3ffab330c0980473cb3427f8a5a6", "position": { - "x": 120, - "y": 200 + "x": 1680, + "y": 696 + }, + "size": { + "width": 96, + "height": 96 } }, { - "id": "756c8eb7-3567-48b4-9757-fe992499b794", - "type": "basic.output", - "data": { - "name": "", - "range": "[23:0]", - "size": 24 + "id": "ccd1e0fa-873c-4274-85c6-f906e6266aee", + "type": "d1635cb33c6d31e1ea457005c78d574fcf71828b", + "position": { + "x": 384, + "y": 184 }, + "size": { + "width": 96, + "height": 128 + } + }, + { + "id": "f171b375-a1d9-4dbb-a2db-61b09e78bad8", + "type": "cae9cdc6d7b2442eb4d4095c65ccf9bd24a99bb9", "position": { - "x": 640, - "y": 200 + "x": 1016, + "y": 800 + }, + "size": { + "width": 96, + "height": 128 } }, { - "id": "4f42dbcc-6f8d-49de-9291-7a602cce9d27", - "type": "basic.input", - "data": { - "name": "0", - "range": "[7:0]", - "clock": false, - "size": 8 - }, + "id": "6db36553-cdbf-4430-8693-607cf166a23a", + "type": "6e4fc811dcd6d1ac703e608270f81ee906ee7e98", "position": { - "x": 120, - "y": 288 + "x": 1080, + "y": -80 + }, + "size": { + "width": 96, + "height": 128 } }, { - "id": "16e78204-213e-4833-9096-89d735307ec2", - "type": "basic.code", - "data": { - "code": "assign o = {i2, i1, i0};\n", - "params": [], - "ports": { - "in": [ - { - "name": "i2", - "range": "[7:0]", - "size": 8 - }, - { - "name": "i1", - "range": "[7:0]", - "size": 8 - }, - { - "name": "i0", - "range": "[7:0]", - "size": 8 - } - ], - "out": [ - { - "name": "o", - "range": "[23:0]", - "size": 24 - } - ] - } - }, + "id": "adb6b0df-8c6d-408c-b6f5-953934e48c81", + "type": "5fcfda234fb072b021cd8f915af77e7ae7860198", "position": { - "x": 296, - "y": 176 + "x": 1312, + "y": 104 }, "size": { - "width": 272, - "height": 104 + "width": 96, + "height": 96 } } ], "wires": [ { "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o" + "block": "7fb933a6-5c63-4d46-8aaa-440b30974993", + "port": "out" }, "target": { - "block": "756c8eb7-3567-48b4-9757-fe992499b794", - "port": "in" + "block": "2c31aa6a-383c-4eb5-b669-b8a31ad14225", + "port": "inlabel" }, - "size": 24 + "vertices": [] }, { "source": { - "block": "29a44a77-ec20-436d-a9e8-7fc2ca5de57e", + "block": "b14f140b-7bb5-46d9-8019-39c27ff6e0e3", "port": "out" }, "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i1" - }, - "size": 8 + "block": "da45f105-3600-4458-a820-50046581f5dd", + "port": "inlabel" + } }, { "source": { - "block": "4f42dbcc-6f8d-49de-9291-7a602cce9d27", - "port": "out" + "block": "ccd1e0fa-873c-4274-85c6-f906e6266aee", + "port": "9751f777-00ec-46c1-8d85-07d2dec1e653" }, "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i0" - }, - "size": 8 + "block": "05a1a5b4-bf29-49df-b0b1-887859d9ec9e", + "port": "inlabel" + } }, { "source": { - "block": "3abd42f7-f396-4aa1-981a-889c0c279d10", - "port": "out" + "block": "7df4a7f1-90b6-4562-8be3-e4719a824545", + "port": "outlabel" }, "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i2" - }, - "size": 8 - } - ] - } - } - }, - "cf434451314de2d169c80ddfd83df7fd58182666": { - "package": { - "name": "DFF-rst-x08", - "version": "0.1", - "description": "DFF-rst-x08: Eight D flip-flops in paralell with reset", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22252.294%22%20height=%22220.368%22%20viewBox=%220%200%2066.75283%2058.305748%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M25.682%2041.088L39.29%2057.76l-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M18.298%2033.024L9.066%2013.41l-6.45%203.724-2.07-3.583%2020.905-12.07%202.069%203.584-6.092%203.517%2012.03%2018.223s5.399-2.025%208.535.74c3.137%202.766%202.52%204.92%202.887%204.773L17.192%2045.956s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M42.022%2040.152l13.607%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M34.638%2032.088l-9.232-19.613-6.451%203.724-2.07-3.583L37.792.546%2039.86%204.13l-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.137%202.766%202.52%204.92%202.887%204.772L33.532%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20transform=%22translate(-38.356%20-17.732)%22%3E%3Crect%20width=%2224.412%22%20height=%2213.185%22%20x=%2280.3%22%20y=%2221.375%22%20ry=%222.247%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%22.794%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:1.25%22%20x=%2282.245%22%20y=%2230.943%22%20font-weight=%22400%22%20font-size=%2210.583%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20x=%2282.245%22%20y=%2230.943%22%20font-weight=%22700%22%3ESys%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E", - "otid": 1618509859237 - }, - "design": { - "graph": { - "blocks": [ - { - "id": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", - "type": "basic.input", - "data": { - "name": "", - "clock": true - }, - "position": { - "x": -496, - "y": -256 + "block": "f171b375-a1d9-4dbb-a2db-61b09e78bad8", + "port": "cb426e3d-ace3-4a57-a74b-155caed0c14c" } }, { - "id": "0a772657-8018-424d-8f04-75d3ffff3692", - "type": "basic.inputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "source": { + "block": "fce01e4d-e6d2-4811-8f96-410673168b4c", + "port": "outlabel" }, - "position": { - "x": -344, - "y": -256 - } - }, - { - "id": "159f86de-af0f-4f1a-9a93-7e8149d5d322", - "type": "basic.input", - "data": { - "name": "rst", - "clock": false + "target": { + "block": "7a989d63-cd4a-4c47-9513-57b4ea6ee141", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" }, - "position": { - "x": -488, - "y": -184 - } + "vertices": [] }, { - "id": "eae23d49-1710-4ffb-9162-8c4238e16af9", - "type": "basic.inputLabel", - "data": { - "blockColor": "navy", - "name": "rst", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "source": { + "block": "524ca75c-cdd3-4e79-851a-b46ce146bd66", + "port": "outlabel" }, - "position": { - "x": -344, - "y": -184 - } - }, - { - "id": "7a94a774-819e-4796-ad92-2b9f0a06e828", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" + "target": { + "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", + "port": "97b51945-d716-4b6c-9db9-970d08541249" }, - "position": { - "x": -8, - "y": -152 - } + "vertices": [] }, { - "id": "35ac40b6-de26-493f-b22e-d15895042a60", - "type": "basic.outputLabel", - "data": { - "blockColor": "navy", - "name": "rst", - "oldBlockColor": "fuchsia" + "source": { + "block": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, - "position": { - "x": -16, - "y": -88 - } - }, - { - "id": "fdb3de4d-1a1f-420d-83f5-652d30cd8ca3", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" + "target": { + "block": "700d8b15-d6df-4b76-b10d-72db58c33e6c", + "port": "inlabel" }, - "position": { - "x": -48, - "y": 48 - } + "vertices": [] }, { - "id": "719d7e53-bdb2-40e8-8bed-c86a12749e88", - "type": "basic.outputLabel", - "data": { - "blockColor": "navy", - "name": "rst", - "oldBlockColor": "fuchsia" + "source": { + "block": "0db424eb-f896-41e1-becb-7eb065dd64f2", + "port": "outlabel" }, - "position": { - "x": -48, - "y": 104 - } + "target": { + "block": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + }, + "vertices": [ + { + "x": 584, + "y": 824 + } + ] }, { - "id": "f1844cff-7fd4-4781-82ea-93999fec5e74", - "type": "basic.output", - "data": { - "name": "", - "range": "[7:0]", - "size": 8 + "source": { + "block": "9be4488d-51be-4346-8a31-5d8f2f86e4d3", + "port": "outlabel" }, - "position": { - "x": 560, - "y": 128 - } + "target": { + "block": "26b71a43-5955-4452-9b0e-94ea6ef453b7", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + }, + "vertices": [] }, { - "id": "98e23c4f-291f-4a6a-977f-dd1e9fd61186", - "type": "basic.input", - "data": { - "name": "", - "range": "[7:0]", - "clock": false, - "size": 8 + "source": { + "block": "923c4db6-0c76-4647-a848-75fd61fba6ec", + "port": "outlabel" + }, + "target": { + "block": "26b71a43-5955-4452-9b0e-94ea6ef453b7", + "port": "97b51945-d716-4b6c-9db9-970d08541249" }, - "position": { - "x": -488, - "y": 160 - } + "vertices": [] }, { - "id": "f071a293-16e9-4c8b-8494-14b7f15033a3", - "type": "5c75f6e4f841e85f7c34d83b9cc081ef669dd12d", - "position": { - "x": 144, - "y": 128 + "source": { + "block": "f171b375-a1d9-4dbb-a2db-61b09e78bad8", + "port": "49221b19-132a-4e3f-9a1f-97bcd463391b" }, - "size": { - "width": 96, - "height": 96 + "target": { + "block": "366a768a-2f5d-4c01-8338-bdef0a688ea7", + "port": "inlabel" } }, { - "id": "4be672f2-c453-4028-9da2-d6edebfab777", - "type": "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a", - "position": { - "x": -320, - "y": 160 + "source": { + "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, - "size": { - "width": 96, - "height": 64 + "target": { + "block": "54e9bf9f-b852-4c45-bd53-f6eb4ee707eb", + "port": "inlabel" } }, { - "id": "6da4d258-9a3e-446d-9085-2b9170fea487", - "type": "afb28fd5426aea14477d11cbe30a290679f789f8", - "position": { - "x": 392, - "y": 128 + "source": { + "block": "dc204461-1dd1-428f-91a2-006d905d6585", + "port": "outlabel" }, - "size": { - "width": 96, - "height": 64 + "target": { + "block": "f171b375-a1d9-4dbb-a2db-61b09e78bad8", + "port": "8f591b24-0427-409f-aa6e-ca1861556cf5" } }, { - "id": "03291097-00e3-48db-9044-3c73ed88eeb8", - "type": "5c75f6e4f841e85f7c34d83b9cc081ef669dd12d", - "position": { - "x": 144, - "y": -88 + "source": { + "block": "f171b375-a1d9-4dbb-a2db-61b09e78bad8", + "port": "6a11eaf9-4bd5-405e-81f8-44418365326b" }, - "size": { - "width": 96, - "height": 96 + "target": { + "block": "7e9db299-cb56-4cd9-a489-d5fbd6eb3e2f", + "port": "inlabel" } - } - ], - "wires": [ + }, { "source": { - "block": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", - "port": "out" + "block": "a040cc3d-b2c6-458e-bde6-f8234a19b6d1", + "port": "outlabel" }, "target": { - "block": "0a772657-8018-424d-8f04-75d3ffff3692", - "port": "inlabel" + "block": "38abb13c-8652-41fb-931c-c7bf760ebb24", + "port": "in" }, "vertices": [] }, { "source": { - "block": "159f86de-af0f-4f1a-9a93-7e8149d5d322", - "port": "out" + "block": "8ca2279c-fdc3-40d3-9fbe-2071c026932f", + "port": "outlabel" }, "target": { - "block": "eae23d49-1710-4ffb-9162-8c4238e16af9", - "port": "inlabel" + "block": "6db36553-cdbf-4430-8693-607cf166a23a", + "port": "49fb1766-1e7f-4706-9872-a6cd65cc9f2d" } }, { "source": { - "block": "7a94a774-819e-4796-ad92-2b9f0a06e828", + "block": "289f00be-f97d-4553-a60a-32d8b45da4cc", "port": "outlabel" }, "target": { - "block": "03291097-00e3-48db-9044-3c73ed88eeb8", - "port": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6" + "block": "5caa6aff-82f8-4a53-84f7-b67bb5bad8a8", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" } }, { "source": { - "block": "35ac40b6-de26-493f-b22e-d15895042a60", + "block": "7d0852c6-4778-4a53-bf90-30527c44a0eb", "port": "outlabel" }, "target": { - "block": "03291097-00e3-48db-9044-3c73ed88eeb8", - "port": "159f86de-af0f-4f1a-9a93-7e8149d5d322" + "block": "5caa6aff-82f8-4a53-84f7-b67bb5bad8a8", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + } + }, + { + "source": { + "block": "f171b375-a1d9-4dbb-a2db-61b09e78bad8", + "port": "73948305-b05b-418f-88af-11328f400cdc" + }, + "target": { + "block": "caf86b2c-c08d-411d-be47-4084fec9532e", + "port": "inlabel" } }, { "source": { - "block": "719d7e53-bdb2-40e8-8bed-c86a12749e88", + "block": "d1540ef0-9272-4082-9b24-9843ddb00cd7", "port": "outlabel" }, "target": { - "block": "f071a293-16e9-4c8b-8494-14b7f15033a3", - "port": "159f86de-af0f-4f1a-9a93-7e8149d5d322" + "block": "6db36553-cdbf-4430-8693-607cf166a23a", + "port": "dbe1622c-3510-4132-8b5c-2fbf81d7f581" }, "vertices": [ { - "x": 64, - "y": 152 + "x": 1000, + "y": 32 } ] }, { "source": { - "block": "fdb3de4d-1a1f-420d-83f5-652d30cd8ca3", + "block": "40e3c20c-5598-44a1-b5b4-760dba97d882", "port": "outlabel" }, "target": { - "block": "f071a293-16e9-4c8b-8494-14b7f15033a3", - "port": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6" - } + "block": "6db36553-cdbf-4430-8693-607cf166a23a", + "port": "25996d5e-6856-4828-8cb3-5dea5ff5cf9c", + "size": 8 + }, + "size": 8 }, { "source": { - "block": "f071a293-16e9-4c8b-8494-14b7f15033a3", - "port": "571d3fa4-680d-4422-92c6-b3b1dcd4fa8b" + "block": "9978357f-7ad7-44b5-97d2-b44692508773", + "port": "out", + "size": 8 }, "target": { - "block": "6da4d258-9a3e-446d-9085-2b9170fea487", - "port": "843164ff-f7d8-48b9-bf59-1e0d1135c81f" + "block": "5344b55b-0e5d-4444-88ef-fd6b3caa1c5b", + "port": "inlabel" }, - "size": 4 + "size": 8 }, { "source": { - "block": "4be672f2-c453-4028-9da2-d6edebfab777", - "port": "eb61d084-ca22-4894-b8a2-f936db38f4b1" + "block": "5b15b8c9-8fb1-410a-8910-a60ef283ff1d", + "port": "outlabel" }, "target": { - "block": "f071a293-16e9-4c8b-8494-14b7f15033a3", - "port": "26833303-0a1a-4750-8546-b98e2fdfdd82" - }, - "size": 4 + "block": "fc204eb4-2475-49d5-8d15-940e4cede5d4", + "port": "c39743c3-1b76-483c-8613-15f2782d0809" + } }, { "source": { - "block": "98e23c4f-291f-4a6a-977f-dd1e9fd61186", - "port": "out" + "block": "28d32f23-19b6-4a8c-8ac6-edbbb1a0e999", + "port": "outlabel" }, "target": { - "block": "4be672f2-c453-4028-9da2-d6edebfab777", - "port": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e" + "block": "fc204eb4-2475-49d5-8d15-940e4cede5d4", + "port": "1b621e37-f1b1-46a7-8450-5500bb513afb", + "size": 8 }, "size": 8 }, { "source": { - "block": "6da4d258-9a3e-446d-9085-2b9170fea487", - "port": "1269698e-e555-4fcb-a613-cb4c7ff2e598" + "block": "fc204eb4-2475-49d5-8d15-940e4cede5d4", + "port": "8e68dac0-4473-40be-a907-0eb952ae4420", + "size": 8 }, "target": { - "block": "f1844cff-7fd4-4781-82ea-93999fec5e74", - "port": "in" + "block": "703240cb-6595-44d0-a266-869db1fe0889", + "port": "inlabel" }, "size": 8 }, { "source": { - "block": "4be672f2-c453-4028-9da2-d6edebfab777", - "port": "637e64f4-0a6b-4037-9a75-89397e078a58" + "block": "eda78d52-57f7-4e44-bd8e-75e67c496650", + "port": "outlabel" + }, + "target": { + "block": "f171b375-a1d9-4dbb-a2db-61b09e78bad8", + "port": "ad4d0fc2-118e-496e-b292-c435bad20e7d" + } + }, + { + "source": { + "block": "94f3b4c1-ffb7-450b-99c4-aebfb6c4e124", + "port": "out", + "size": 24 + }, + "target": { + "block": "01c88c3e-3d41-47d5-8548-d6d9a2c1cfe8", + "port": "inlabel" + }, + "size": 24 + }, + { + "source": { + "block": "d987011b-ee0c-4b06-b3b7-dfb2097a5c6f", + "port": "outlabel" + }, + "target": { + "block": "ccd1e0fa-873c-4274-85c6-f906e6266aee", + "port": "2117685c-3a4e-4403-a12a-5de3ed4c20a5", + "size": 24 + }, + "size": 24 + }, + { + "source": { + "block": "f171b375-a1d9-4dbb-a2db-61b09e78bad8", + "port": "19940e4f-3166-4887-a4e2-ea5babe5f726", + "size": 14 + }, + "target": { + "block": "2c719f94-9d13-4502-9018-1231407bb53a", + "port": "inlabel" + }, + "size": 14 + }, + { + "source": { + "block": "eb3a1b78-59a5-4be4-a92e-3b7e9a65f13b", + "port": "outlabel" }, "target": { - "block": "03291097-00e3-48db-9044-3c73ed88eeb8", - "port": "26833303-0a1a-4750-8546-b98e2fdfdd82" + "block": "6db36553-cdbf-4430-8693-607cf166a23a", + "port": "61496e71-85ba-465b-89b9-fedb08b8590d", + "size": 14 }, "vertices": [ { - "x": -104, - "y": 32 + "x": 992, + "y": -96 } ], - "size": 4 + "size": 14 }, { "source": { - "block": "03291097-00e3-48db-9044-3c73ed88eeb8", - "port": "571d3fa4-680d-4422-92c6-b3b1dcd4fa8b" + "block": "0dfcc0e0-4f99-40f8-82ae-e43ea86f5e58", + "port": "outlabel" }, "target": { - "block": "6da4d258-9a3e-446d-9085-2b9170fea487", - "port": "a1770adf-e143-4506-9d87-3cb9c870f534" + "block": "adb6b0df-8c6d-408c-b6f5-953934e48c81", + "port": "63847aa3-e2cd-4ff3-806d-b566a8176645", + "size": 24 }, - "size": 4 - } - ] - } - } - }, - "5c75f6e4f841e85f7c34d83b9cc081ef669dd12d": { - "package": { - "name": "DFF-rst-x04", - "version": "0.1", - "description": "DFF-rst-x04: Three D flip-flops in paralell with reset", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22252.294%22%20height=%22220.368%22%20viewBox=%220%200%2066.75283%2058.305748%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M25.682%2041.088L39.29%2057.76l-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M18.298%2033.024L9.066%2013.41l-6.45%203.724-2.07-3.583%2020.905-12.07%202.069%203.584-6.092%203.517%2012.03%2018.223s5.399-2.025%208.535.74c3.137%202.766%202.52%204.92%202.887%204.773L17.192%2045.956s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M42.022%2040.152l13.607%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M34.638%2032.088l-9.232-19.613-6.451%203.724-2.07-3.583L37.792.546%2039.86%204.13l-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.137%202.766%202.52%204.92%202.887%204.772L33.532%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20transform=%22translate(-38.356%20-17.732)%22%3E%3Crect%20width=%2224.412%22%20height=%2213.185%22%20x=%2280.3%22%20y=%2221.375%22%20ry=%222.247%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%22.794%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:1.25%22%20x=%2282.245%22%20y=%2230.943%22%20font-weight=%22400%22%20font-size=%2210.583%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20x=%2282.245%22%20y=%2230.943%22%20font-weight=%22700%22%3ESys%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E", - "otid": 1618509859237 - }, - "design": { - "graph": { - "blocks": [ + "size": 24 + }, { - "id": "7a94a774-819e-4796-ad92-2b9f0a06e828", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" + "source": { + "block": "7a989d63-cd4a-4c47-9513-57b4ea6ee141", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, - "position": { - "x": -160, - "y": -336 - } + "target": { + "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + }, + "vertices": [] }, { - "id": "35ac40b6-de26-493f-b22e-d15895042a60", - "type": "basic.outputLabel", - "data": { - "blockColor": "navy", - "name": "rst", - "oldBlockColor": "fuchsia" + "source": { + "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, - "position": { - "x": -168, - "y": -280 - } + "target": { + "block": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + }, + "vertices": [] }, { - "id": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", - "type": "basic.input", - "data": { - "name": "", - "clock": true + "source": { + "block": "26b71a43-5955-4452-9b0e-94ea6ef453b7", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, - "position": { - "x": -496, - "y": -256 + "target": { + "block": "adb6b0df-8c6d-408c-b6f5-953934e48c81", + "port": "1e7e3cd6-ed00-468a-9f7c-0bb91e020dce" } }, { - "id": "0a772657-8018-424d-8f04-75d3ffff3692", - "type": "basic.inputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "source": { + "block": "5caa6aff-82f8-4a53-84f7-b67bb5bad8a8", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" }, - "position": { - "x": -344, - "y": -256 + "target": { + "block": "95c4416f-62f5-4196-a406-f7915d40a572", + "port": "in" } }, { - "id": "fdb3de4d-1a1f-420d-83f5-652d30cd8ca3", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" + "source": { + "block": "0414e63d-55c1-41b0-abdf-4e02d0f68ff9", + "port": "3d584b0a-29eb-47af-8c43-c0822282ef05" }, - "position": { - "x": 112, - "y": -200 + "target": { + "block": "fc204eb4-2475-49d5-8d15-940e4cede5d4", + "port": "f1022de4-0225-43d7-92d3-451161ee6942" } }, { - "id": "159f86de-af0f-4f1a-9a93-7e8149d5d322", + "source": { + "block": "6db36553-cdbf-4430-8693-607cf166a23a", + "port": "81a20a74-f096-4c3b-bc35-91917f08c79b" + }, + "target": { + "block": "adb6b0df-8c6d-408c-b6f5-953934e48c81", + "port": "a7083464-b9f2-4661-ba0e-e1875f71f9f7" + }, + "vertices": [ + { + "x": 1232, + "y": 56 + } + ], + "size": 24 + }, + { + "source": { + "block": "adb6b0df-8c6d-408c-b6f5-953934e48c81", + "port": "cf1ee513-b831-4546-b816-53c8196fca1c" + }, + "target": { + "block": "fa41806b-2355-4923-895f-3ead2e752b43", + "port": "in" + }, + "size": 24 + } + ] + } + } + }, + "35f267d0df6ffcb7fc33753bc9df9cf083642cca": { + "package": { + "name": "NOT", + "version": "1.0.3", + "description": "Puerta NOT", + "author": "Jesús Arroyo, Juan González", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22317.651%22%20height=%22194.058%22%20version=%221%22%3E%3Cpath%20d=%22M69.246%204l161.86%2093.027-161.86%2093.031V4z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20cx=%22253.352%22%20cy=%2296.736%22%20rx=%2221.393%22%20ry=%2221.893%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2097.49h65.262m205.796%200h38.48%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%2281.112%22%20y=%22111.734%22%20transform=%22scale(.99532%201.0047)%22%20font-weight=%22400%22%20font-size=%2249.675%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%2281.112%22%20y=%22111.734%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%3ENot%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "18c2ebc7-5152-439c-9b3f-851c59bac834", "type": "basic.input", "data": { - "name": "rst", - "clock": false + "name": "" }, "position": { - "x": -488, - "y": -184 + "x": 64, + "y": 144 } }, { - "id": "eae23d49-1710-4ffb-9162-8c4238e16af9", - "type": "basic.inputLabel", + "id": "664caf9e-5f40-4df4-800a-b626af702e62", + "type": "basic.output", "data": { - "blockColor": "navy", - "name": "rst", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "name": "" }, "position": { - "x": -344, - "y": -184 + "x": 752, + "y": 144 } }, { - "id": "719d7e53-bdb2-40e8-8bed-c86a12749e88", - "type": "basic.outputLabel", + "id": "5365ed8c-e5db-4445-938f-8d689830ea5c", + "type": "basic.code", "data": { - "blockColor": "navy", - "name": "rst", - "oldBlockColor": "fuchsia" + "code": "//-- Puerta NOT\n\n//-- module (input wire a, output wire c);\n\n\nassign c = ~a;\n\n\n//-- endmodule\n", + "params": [], + "ports": { + "in": [ + { + "name": "a" + } + ], + "out": [ + { + "name": "c" + } + ] + } }, "position": { - "x": 112, - "y": -112 + "x": 256, + "y": 48 + }, + "size": { + "width": 400, + "height": 256 } - }, + } + ], + "wires": [ { - "id": "b9359b10-b14f-4dd7-adf9-3f4f22bc65e6", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" + "source": { + "block": "18c2ebc7-5152-439c-9b3f-851c59bac834", + "port": "out" }, - "position": { - "x": 376, - "y": -8 + "target": { + "block": "5365ed8c-e5db-4445-938f-8d689830ea5c", + "port": "a" } }, { - "id": "ff33bbea-7f70-4f0f-b74d-6bcb9f41d0ba", - "type": "basic.outputLabel", - "data": { - "blockColor": "navy", - "name": "rst", - "oldBlockColor": "fuchsia" + "source": { + "block": "5365ed8c-e5db-4445-938f-8d689830ea5c", + "port": "c" }, - "position": { - "x": 376, - "y": 80 + "target": { + "block": "664caf9e-5f40-4df4-800a-b626af702e62", + "port": "in" } - }, + } + ] + } + } + }, + "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6": { + "package": { + "name": "AND", + "version": "1.0.1", + "description": "Puerta AND", + "author": "Jesús Arroyo, Juan González", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22336.09%22%20height=%22194.045%22%20version=%221%22%3E%3Cpath%20d=%22M174.656%20190.045H78.304V4h96.352s87.463%208.625%2087.463%2091.94c0%2083.311-87.463%2094.105-87.463%2094.105z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2045.668h74.018M4.057%20144.812h74.018m184.632-50.034h69.326%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%2292.894%22%20y=%22114.587%22%20font-weight=%22400%22%20font-size=%2258.054%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%2292.894%22%20y=%22114.587%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%3EAND%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ { - "id": "571d3fa4-680d-4422-92c6-b3b1dcd4fa8b", - "type": "basic.output", + "id": "18c2ebc7-5152-439c-9b3f-851c59bac834", + "type": "basic.input", "data": { - "name": "", - "range": "[3:0]", - "size": 4 + "name": "" }, "position": { - "x": 1032, - "y": 184 + "x": 64, + "y": 88 } }, { - "id": "7f915e41-616b-42d0-b6b3-93e8312f9091", - "type": "basic.outputLabel", + "id": "664caf9e-5f40-4df4-800a-b626af702e62", + "type": "basic.output", "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" + "name": "" }, "position": { - "x": 528, - "y": 208 + "x": 784, + "y": 152 } }, { - "id": "26833303-0a1a-4750-8546-b98e2fdfdd82", + "id": "97b51945-d716-4b6c-9db9-970d08541249", "type": "basic.input", "data": { - "name": "", - "range": "[3:0]", - "clock": false, - "size": 4 + "name": "" }, "position": { - "x": -336, + "x": 64, "y": 224 } }, { - "id": "a47f4645-6751-4e16-8293-52d8f8cfc9f1", - "type": "basic.outputLabel", + "id": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "type": "basic.code", "data": { - "blockColor": "navy", - "name": "rst", - "oldBlockColor": "fuchsia" + "code": "//-- Puerta AND\n\n//-- module and (input wire a, input wire b,\n//-- output wire c);\n\nassign c = a & b;\n\n//-- endmodule", + "params": [], + "ports": { + "in": [ + { + "name": "a" + }, + { + "name": "b" + } + ], + "out": [ + { + "name": "c" + } + ] + } }, "position": { - "x": 520, - "y": 264 + "x": 256, + "y": 48 + }, + "size": { + "width": 464, + "height": 272 } - }, + } + ], + "wires": [ { - "id": "48335216-c02f-4e23-8a04-e3d4eaa032ab", - "type": "c4f23ad05c2010ec9bd213c8814c9238873037ae", - "position": { - "x": -168, - "y": 192 + "source": { + "block": "18c2ebc7-5152-439c-9b3f-851c59bac834", + "port": "out" }, - "size": { - "width": 96, - "height": 128 + "target": { + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "a" } }, { - "id": "ac2e4720-4af2-481e-9d20-d935321e31f2", - "type": "84f0a15761ee8b753f67079819a7614923939472", - "position": { - "x": 848, - "y": 152 + "source": { + "block": "97b51945-d716-4b6c-9db9-970d08541249", + "port": "out" }, - "size": { - "width": 96, - "height": 128 + "target": { + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "b" } }, { - "id": "0f69a2a7-39f9-4ed1-be11-0e7ee877a076", - "type": "2be0f80ece8db75007def664695ef5f257f88b99", - "position": { - "x": 672, - "y": 264 + "source": { + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "c" + }, + "target": { + "block": "664caf9e-5f40-4df4-800a-b626af702e62", + "port": "in" + } + } + ] + } + } + }, + "81613874c6152f06c06ed7014bf4235900cfcc30": { + "package": { + "name": "OR", + "version": "1.0.1", + "description": "Puerta OR", + "author": "Jesús Arroyo, Juan González", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22192.718%22%20width=%22383.697%22%20version=%221%22%3E%3Cpath%20d=%22M175.56%20188.718H84.527s30.345-42.538%2031.086-94.03c.743-51.49-31.821-90.294-31.821-90.294L176.109%204c46.445%201.948%20103.899%2053.44%20123.047%2093.678-32.601%2067.503-92.158%2089.79-123.596%2091.04z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2047.292h99.605M4.883%20145.168h100.981M298.57%2098.89h81.07%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20font-weight=%22400%22%20font-size=%2266.317%22%20y=%22121.28%22%20x=%22131.572%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20font-weight=%22700%22%20y=%22121.28%22%20x=%22131.572%22%3EOR%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "18c2ebc7-5152-439c-9b3f-851c59bac834", + "type": "basic.input", + "data": { + "name": "" }, - "size": { - "width": 96, - "height": 96 + "position": { + "x": 64, + "y": 88 } }, { - "id": "795fee35-1b0d-4780-afe4-25451dc8b7b3", - "type": "2be0f80ece8db75007def664695ef5f257f88b99", - "position": { - "x": 520, - "y": 64 + "id": "664caf9e-5f40-4df4-800a-b626af702e62", + "type": "basic.output", + "data": { + "name": "" }, - "size": { - "width": 96, - "height": 96 + "position": { + "x": 784, + "y": 152 } }, { - "id": "ef954a48-69f2-4704-9719-698826029980", - "type": "2be0f80ece8db75007def664695ef5f257f88b99", - "position": { - "x": 272, - "y": -128 + "id": "97b51945-d716-4b6c-9db9-970d08541249", + "type": "basic.input", + "data": { + "name": "" }, - "size": { - "width": 96, - "height": 96 + "position": { + "x": 64, + "y": 224 } }, { - "id": "e76b0273-be54-4e06-ab90-45b1a08d31e4", - "type": "2be0f80ece8db75007def664695ef5f257f88b99", + "id": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "type": "basic.code", + "data": { + "code": "//-- Puerta OR\n\n//-- module and (input wire a, input wire b,\n//-- output wire c);\n\nassign c = a | b;\n\n//-- endmodule", + "params": [], + "ports": { + "in": [ + { + "name": "a" + }, + { + "name": "b" + } + ], + "out": [ + { + "name": "c" + } + ] + } + }, "position": { - "x": -16, - "y": -296 + "x": 256, + "y": 48 }, "size": { - "width": 96, - "height": 96 + "width": 464, + "height": 272 } } ], "wires": [ { "source": { - "block": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", + "block": "18c2ebc7-5152-439c-9b3f-851c59bac834", "port": "out" }, "target": { - "block": "0a772657-8018-424d-8f04-75d3ffff3692", - "port": "inlabel" - }, - "vertices": [] - }, - { - "source": { - "block": "b9359b10-b14f-4dd7-adf9-3f4f22bc65e6", - "port": "outlabel" - }, - "target": { - "block": "795fee35-1b0d-4780-afe4-25451dc8b7b3", - "port": "e5f6cfba-f822-4d53-a924-926407bc4e3f" + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "a" } }, { "source": { - "block": "7f915e41-616b-42d0-b6b3-93e8312f9091", - "port": "outlabel" + "block": "97b51945-d716-4b6c-9db9-970d08541249", + "port": "out" }, "target": { - "block": "0f69a2a7-39f9-4ed1-be11-0e7ee877a076", - "port": "e5f6cfba-f822-4d53-a924-926407bc4e3f" + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "b" } }, { "source": { - "block": "159f86de-af0f-4f1a-9a93-7e8149d5d322", - "port": "out" + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "c" }, "target": { - "block": "eae23d49-1710-4ffb-9162-8c4238e16af9", - "port": "inlabel" + "block": "664caf9e-5f40-4df4-800a-b626af702e62", + "port": "in" } - }, + } + ] + } + } + }, + "725b7e2cb9666b5ed3183537d9c898f096dab82a": { + "package": { + "name": "1", + "version": "0.1", + "description": "Un bit constante a 1", + "author": "Jesus Arroyo", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2233.632%22%20height=%2269.34%22%20viewBox=%220%200%2031.530464%2065.006656%22%3E%3Cpath%20d=%22M3.517%2012.015L19%200l12.53%202.863-10.012%2043.262-9.746-2.227%207.7-34.532L8.03%2016.38z%22%20fill=%22green%22%20fill-rule=%22evenodd%22/%3E%3Cpath%20d=%22M17.593%2043.464l7.822%2010.472-6.56%207.919%202.27%202.043m-5.14-20.179l-4.542%2010.473-10.345%202.043.757%203.32%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%222.196%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ { - "source": { - "block": "ff33bbea-7f70-4f0f-b74d-6bcb9f41d0ba", - "port": "outlabel" + "id": "3d584b0a-29eb-47af-8c43-c0822282ef05", + "type": "basic.output", + "data": { + "name": "" }, - "target": { - "block": "795fee35-1b0d-4780-afe4-25451dc8b7b3", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + "position": { + "x": 512, + "y": 160 } }, { - "source": { - "block": "a47f4645-6751-4e16-8293-52d8f8cfc9f1", - "port": "outlabel" + "id": "61331ec5-2c56-4cdd-b607-e63b1502fa65", + "type": "basic.code", + "data": { + "code": "//-- Bit constante a 1\nassign q = 1'b1;\n\n", + "params": [], + "ports": { + "in": [], + "out": [ + { + "name": "q" + } + ] + } }, - "target": { - "block": "0f69a2a7-39f9-4ed1-be11-0e7ee877a076", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + "position": { + "x": 168, + "y": 112 + }, + "size": { + "width": 256, + "height": 160 } - }, + } + ], + "wires": [ { "source": { - "block": "719d7e53-bdb2-40e8-8bed-c86a12749e88", - "port": "outlabel" + "block": "61331ec5-2c56-4cdd-b607-e63b1502fa65", + "port": "q" }, "target": { - "block": "ef954a48-69f2-4704-9719-698826029980", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + "block": "3d584b0a-29eb-47af-8c43-c0822282ef05", + "port": "in" } - }, + } + ] + } + } + }, + "8d66187a7f8e3ffab330c0980473cb3427f8a5a6": { + "package": { + "name": "08-Reg", + "version": "0.8", + "description": "08-Reg: 8 bits Register. Verilog implementation", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22286.865%22%20height=%22270.812%22%20viewBox=%220%200%2075.899794%2071.65232%22%3E%3Cpath%20d=%22M43.907%2033.607h10.645%22%20color=%22#000%22%20fill=%22#00f%22/%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M102.876%20163.95l4.552%2028.037%205.644-28.037%22%20fill=%22#ccc%22%20transform=%22matrix(.65581%20-.3791%20.37863%20.6566%20-85.712%20-27.533)%22/%3E%3Cpath%20d=%22M99.758%20149.859l2.39-28.512h-9.831v-5.462h31.86v5.462h-9.284l1.724%2028.769s7.509%201.248%209.269%206.48c1.76%205.231-.367%207.286.15%207.36l-36.077-.044s-.817-6.104%202.015-9.194c2.832-3.09%207.784-4.86%207.784-4.86z%22%20fill=%22red%22%20transform=%22matrix(.65581%20-.3791%20.37863%20.6566%20-85.712%20-27.533)%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M102.876%20163.95l4.552%2028.037%205.644-28.037%22%20fill=%22#ccc%22%20transform=%22matrix(.65581%20-.3791%20.37863%20.6566%20-69.38%20-28.47)%22/%3E%3Cpath%20d=%22M99.758%20149.859l2.39-28.512h-9.831v-5.462h31.86v5.462h-9.284l1.724%2028.769s7.509%201.248%209.269%206.48c1.76%205.231-.367%207.286.15%207.36l-36.077-.044s-.817-6.104%202.015-9.194c2.832-3.09%207.784-4.86%207.784-4.86z%22%20fill=%22red%22%20transform=%22matrix(.65581%20-.3791%20.37863%20.6566%20-69.38%20-28.47)%22/%3E%3C/g%3E%3Cg%20transform=%22translate(-93.518%20-25.072)%20scale(1.09073)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20cx=%22100.602%22%20cy=%2273.815%22%20r=%2214.559%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618509859237 + }, + "design": { + "graph": { + "blocks": [ { - "source": { - "block": "fdb3de4d-1a1f-420d-83f5-652d30cd8ca3", - "port": "outlabel" + "id": "c39743c3-1b76-483c-8613-15f2782d0809", + "type": "basic.input", + "data": { + "name": "", + "clock": true }, - "target": { - "block": "ef954a48-69f2-4704-9719-698826029980", - "port": "e5f6cfba-f822-4d53-a924-926407bc4e3f" + "position": { + "x": 568, + "y": 144 } }, { - "source": { - "block": "7a94a774-819e-4796-ad92-2b9f0a06e828", - "port": "outlabel" + "id": "8e68dac0-4473-40be-a907-0eb952ae4420", + "type": "basic.output", + "data": { + "name": "", + "range": "[7:0]", + "size": 8 }, - "target": { - "block": "e76b0273-be54-4e06-ab90-45b1a08d31e4", - "port": "e5f6cfba-f822-4d53-a924-926407bc4e3f" + "position": { + "x": 1136, + "y": 240 } }, { - "source": { - "block": "35ac40b6-de26-493f-b22e-d15895042a60", - "port": "outlabel" + "id": "1b621e37-f1b1-46a7-8450-5500bb513afb", + "type": "basic.input", + "data": { + "name": "", + "range": "[7:0]", + "clock": false, + "size": 8 }, - "target": { - "block": "e76b0273-be54-4e06-ab90-45b1a08d31e4", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + "position": { + "x": 568, + "y": 240 } }, { - "source": { - "block": "0f69a2a7-39f9-4ed1-be11-0e7ee877a076", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "id": "f1022de4-0225-43d7-92d3-451161ee6942", + "type": "basic.input", + "data": { + "name": "load", + "clock": false }, - "target": { - "block": "ac2e4720-4af2-481e-9d20-d935321e31f2", - "port": "e4111201-8441-4e7d-bcd2-bcf9d265d043" + "position": { + "x": 568, + "y": 328 } }, { - "source": { - "block": "795fee35-1b0d-4780-afe4-25451dc8b7b3", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" - }, - "target": { - "block": "ac2e4720-4af2-481e-9d20-d935321e31f2", - "port": "969e11ca-69e8-403b-a566-7bf2fbe3a5a8" + "id": "1ee1f0e1-9e00-4224-82dd-d976319e771f", + "type": "basic.constant", + "data": { + "name": "", + "value": "0", + "local": false }, - "vertices": [ - { - "x": 712, - "y": 128 - } - ] + "position": { + "x": 848, + "y": 24 + } }, { - "source": { - "block": "48335216-c02f-4e23-8a04-e3d4eaa032ab", - "port": "f5a71d7b-de20-4527-80c8-0eb20de0dc77" + "id": "80679117-f4e2-46f1-95c8-6b897a7d0936", + "type": "basic.code", + "data": { + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "d", + "range": "[7:0]", + "size": 8 + }, + { + "name": "load" + } + ], + "out": [ + { + "name": "q", + "range": "[7:0]", + "size": 8 + } + ] + }, + "params": [ + { + "name": "INI" + } + ], + "code": "//-- Generic register\n//-- Number of bits\nlocalparam N = 8;\n\n//-- Initial value\nreg [N-1:0] qi = INI;\n\nalways @(posedge clk)\n\n //-- The value is load only if \n //-- load is 1\n if (load == 1'b1)\n qi <= d;\n \n//-- Connect the register with the\n//-- output\nassign q = qi;" }, - "target": { - "block": "795fee35-1b0d-4780-afe4-25451dc8b7b3", - "port": "0da42cdc-7d03-494b-acec-9b2095f8d663" + "position": { + "x": 728, + "y": 128 + }, + "size": { + "width": 328, + "height": 280 } - }, + } + ], + "wires": [ { "source": { - "block": "48335216-c02f-4e23-8a04-e3d4eaa032ab", - "port": "0f7487e5-b070-4277-bba6-acf69934afca" + "block": "1ee1f0e1-9e00-4224-82dd-d976319e771f", + "port": "constant-out" }, "target": { - "block": "0f69a2a7-39f9-4ed1-be11-0e7ee877a076", - "port": "0da42cdc-7d03-494b-acec-9b2095f8d663" - }, - "vertices": [ - { - "x": -48, - "y": 312 - } - ] - }, - { - "source": { - "block": "48335216-c02f-4e23-8a04-e3d4eaa032ab", - "port": "33072210-9ba0-4659-8339-95952b939e6e" + "block": "80679117-f4e2-46f1-95c8-6b897a7d0936", + "port": "INI" }, - "target": { - "block": "ef954a48-69f2-4704-9719-698826029980", - "port": "0da42cdc-7d03-494b-acec-9b2095f8d663" - } + "vertices": [] }, { "source": { - "block": "ef954a48-69f2-4704-9719-698826029980", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "block": "c39743c3-1b76-483c-8613-15f2782d0809", + "port": "out" }, "target": { - "block": "ac2e4720-4af2-481e-9d20-d935321e31f2", - "port": "346b4ae4-4bb6-4845-9c17-3b25e0dde718" + "block": "80679117-f4e2-46f1-95c8-6b897a7d0936", + "port": "clk" }, - "vertices": [ - { - "x": 768, - "y": 72 - } - ] + "vertices": [] }, { "source": { - "block": "26833303-0a1a-4750-8546-b98e2fdfdd82", + "block": "f1022de4-0225-43d7-92d3-451161ee6942", "port": "out" }, "target": { - "block": "48335216-c02f-4e23-8a04-e3d4eaa032ab", - "port": "0ebd46a4-769b-45e6-bcaf-e3796264aed3" - }, - "size": 4 + "block": "80679117-f4e2-46f1-95c8-6b897a7d0936", + "port": "load" + } }, { "source": { - "block": "ac2e4720-4af2-481e-9d20-d935321e31f2", - "port": "55180947-6349-4a04-a151-ad69ea2b155e" + "block": "1b621e37-f1b1-46a7-8450-5500bb513afb", + "port": "out" }, "target": { - "block": "571d3fa4-680d-4422-92c6-b3b1dcd4fa8b", - "port": "in" + "block": "80679117-f4e2-46f1-95c8-6b897a7d0936", + "port": "d" }, - "size": 4 + "size": 8 }, { "source": { - "block": "48335216-c02f-4e23-8a04-e3d4eaa032ab", - "port": "bbe1895b-be8b-4237-b0d1-ae592e3e6208" + "block": "80679117-f4e2-46f1-95c8-6b897a7d0936", + "port": "q" }, "target": { - "block": "e76b0273-be54-4e06-ab90-45b1a08d31e4", - "port": "0da42cdc-7d03-494b-acec-9b2095f8d663" - } - }, - { - "source": { - "block": "e76b0273-be54-4e06-ab90-45b1a08d31e4", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "block": "8e68dac0-4473-40be-a907-0eb952ae4420", + "port": "in" }, - "target": { - "block": "ac2e4720-4af2-481e-9d20-d935321e31f2", - "port": "6c2aa548-5a4c-4e8d-a56c-a70926b19f18" - } + "size": 8 } ] } } }, - "c4f23ad05c2010ec9bd213c8814c9238873037ae": { + "cae9cdc6d7b2442eb4d4095c65ccf9bd24a99bb9": { "package": { - "name": "Bus4-Split-all", - "version": "0.1", - "description": "Bus4-Split-all: Split the 4-bits bus into its wires", + "name": "count-14bits", + "version": "0.3", + "description": "Máquina de contar, de 14 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" + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22498.716%22%20width=%22422.648%22%3E%3Cpath%20d=%22M198.947%2079.637c-24.895%200-45.092%2020.196-45.092%2045.109%200%2024.886%2020.197%2045.126%2045.092%2045.126%2024.904%200%2044.953-20.24%2044.953-45.126%200-24.913-20.05-45.11-44.953-45.11zm90.41%2071.022l-8.128%2019.578%2014.497%2028.472%201.914%203.759-20.1%2020.1-32.98-15.575-19.578%208.04-9.937%2030.421-1.27%204.038h-28.411l-12.295-34.337-19.579-8.075-28.514%2014.462-3.76%201.88-20.091-20.083%2015.558-32.997-8.066-19.56-30.37-9.92-4.028-1.306v-28.393L108.58%2098.85l8.067-19.544-14.454-28.533-1.905-3.741%2020.065-20.066%2033.023%2015.55%2019.552-8.084%209.929-30.403L184.137%200h28.402l12.304%2034.38%2019.526%208.084%2028.524-14.471%203.794-1.906%2020.083%2020.066-15.558%2032.97%208.04%2019.588%2030.455%209.928%204.003%201.28v28.384z%22%20fill=%22#00f%22/%3E%3Crect%20rx=%2210.608%22%20ry=%2210.608%22%20y=%22266.697%22%20x=%22218.697%22%20height=%22180.846%22%20width=%22111.64%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%225.658%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%22387.839%22%20x=%22242.878%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2233.946%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%225.658%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%22387.839%22%20x=%22242.878%22%20font-weight=%22700%22%20font-size=%22134.762%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M222.934%20361.162h104.934%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%228.487%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20rx=%2210.608%22%20ry=%2210.608%22%20y=%22266.697%22%20x=%2292.408%22%20height=%22180.846%22%20width=%22111.64%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%225.658%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%22387.839%22%20x=%22109.261%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2233.946%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%225.658%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%22387.839%22%20x=%22109.261%22%20font-weight=%22700%22%20font-size=%22134.762%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M96.645%20361.162h104.934%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%228.487%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%20-277.4%2063.192)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%20-277.4%20211.802)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%2049.068%20210.797)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%2046.938%2063.192)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "bbe1895b-be8b-4237-b0d1-ae592e3e6208", - "type": "basic.output", + "id": "cb426e3d-ace3-4a57-a74b-155caed0c14c", + "type": "basic.input", "data": { - "name": "3" + "name": "", + "clock": true }, "position": { - "x": 576, - "y": 80 + "x": 592, + "y": -416 } }, { - "id": "33072210-9ba0-4659-8339-95952b939e6e", - "type": "basic.output", + "id": "9291f94d-2d9a-4c3a-b7df-4299abf84886", + "type": "basic.inputLabel", "data": { - "name": "2" + "blockColor": "yellow", + "name": "clk" }, "position": { - "x": 600, - "y": 144 + "x": 736, + "y": -416 } }, { - "id": "0ebd46a4-769b-45e6-bcaf-e3796264aed3", - "type": "basic.input", + "id": "81fb4efb-363e-483e-b1df-c2ebda777355", + "type": "basic.outputLabel", "data": { - "name": "", - "range": "[3:0]", - "clock": false, - "size": 4 + "blockColor": "yellow", + "name": "clk" }, "position": { - "x": 128, - "y": 184 + "x": 1416, + "y": -352 } }, { - "id": "f5a71d7b-de20-4527-80c8-0eb20de0dc77", - "type": "basic.output", + "id": "92c88f9e-7d51-4946-b0ef-088dcd8efa49", + "type": "basic.inputLabel", "data": { - "name": "1" + "blockColor": "red", + "name": "on", + "oldBlockColor": "fuchsia" }, "position": { - "x": 592, - "y": 240 + "x": 952, + "y": -304 } }, { - "id": "0f7487e5-b070-4277-bba6-acf69934afca", + "id": "6c846478-ff94-415a-b78e-03b6981bc0fe", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "rst" + }, + "position": { + "x": 1416, + "y": -288 + } + }, + { + "id": "40607400-436e-4dea-b733-8308a06fd4ef", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" + }, + "position": { + "x": 584, + "y": -224 + } + }, + { + "id": "6a11eaf9-4bd5-405e-81f8-44418365326b", "type": "basic.output", "data": { - "name": "0" + "name": "Busy" }, "position": { - "x": 568, - "y": 296 + "x": 2312, + "y": -216 } }, { - "id": "16e78204-213e-4833-9096-89d735307ec2", - "type": "basic.code", + "id": "2438a009-c8e2-4acb-b443-90fe0ddd989d", + "type": "basic.outputLabel", "data": { - "code": "assign o3 = i[3];\nassign o2 = i[2];\nassign o1 = i[1];\nassign o0 = i[0];", - "params": [], - "ports": { - "in": [ - { - "name": "i", - "range": "[3:0]", - "size": 4 - } - ], - "out": [ - { - "name": "o3" - }, - { - "name": "o2" - }, - { - "name": "o1" - }, - { - "name": "o0" - } - ] - } + "blockColor": "red", + "name": "on", + "oldBlockColor": "fuchsia" }, "position": { - "x": 296, - "y": 176 + "x": 2152, + "y": -216 + } + }, + { + "id": "bc6920df-ca50-4643-ad7a-7e10c29856e8", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "rst" }, - "size": { - "width": 208, - "height": 80 + "position": { + "x": 952, + "y": -192 } - } - ], - "wires": [ + }, { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o1" + "id": "8f591b24-0427-409f-aa6e-ca1861556cf5", + "type": "basic.input", + "data": { + "name": "start", + "clock": false }, - "target": { - "block": "f5a71d7b-de20-4527-80c8-0eb20de0dc77", - "port": "in" + "position": { + "x": 584, + "y": -136 } }, { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o0" + "id": "ba7c88dc-642a-46e2-9dac-c32ba106020d", + "type": "basic.outputLabel", + "data": { + "name": "cnt", + "range": "[13:0]", + "blockColor": "navy", + "size": 14 }, - "target": { - "block": "0f7487e5-b070-4277-bba6-acf69934afca", - "port": "in" + "position": { + "x": 1184, + "y": -120 } }, { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o2" + "id": "1cfadcd2-42df-4d6b-9aed-0e94c93bf202", + "type": "basic.inputLabel", + "data": { + "name": "cnt", + "range": "[13:0]", + "blockColor": "navy", + "size": 14 }, - "target": { - "block": "33072210-9ba0-4659-8339-95952b939e6e", - "port": "in" + "position": { + "x": 1824, + "y": -104 + } + }, + { + "id": "9baa509b-0012-4e0e-b874-e62987258aa1", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "start" + }, + "position": { + "x": 944, + "y": -72 } }, { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o3" + "id": "19940e4f-3166-4887-a4e2-ea5babe5f726", + "type": "basic.output", + "data": { + "name": "n", + "range": "[13:0]", + "size": 14 }, - "target": { - "block": "bbe1895b-be8b-4237-b0d1-ae592e3e6208", - "port": "in" + "position": { + "x": 2328, + "y": -72 } }, { - "source": { - "block": "0ebd46a4-769b-45e6-bcaf-e3796264aed3", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i" + "id": "f46fb7c4-9551-4da4-9a31-7dd52f738527", + "type": "basic.outputLabel", + "data": { + "name": "cnt", + "range": "[13:0]", + "blockColor": "navy", + "size": 14 }, - "size": 4 - } - ] - } - } - }, - "84f0a15761ee8b753f67079819a7614923939472": { - "package": { - "name": "Bus4-Join-all", - "version": "0.1", - "description": "Bus4-Join-all: Join all the wires into a 4-bits Bus", - "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=%22M164.218%2077.643L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v26.186l61.698.046c8.012-.043%2015.705%203.133%2021.47%208.81l61.448%2061.315a57.292%2057.292%200%200%200%2039.993%2016.139%2057.292%2057.292%200%200%200-39.993%2016.14L83.668%20190.45c-5.765%205.677-13.458%208.853-21.47%208.81L.5%20199.306v26.186h62.612c14.924.039%2029.463-5.9%2040.204-16.28l60.902-60.863a29.857%2029.857%200%200%201%2021.347-8.81l146.53-.113V86.457H185.571a29.884%2029.884%200%200%201-21.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ + "position": { + "x": 2160, + "y": -72 + } + }, { - "id": "6c2aa548-5a4c-4e8d-a56c-a70926b19f18", - "type": "basic.input", + "id": "45bd338b-4745-4b06-b199-462cdaffa31d", + "type": "basic.outputLabel", "data": { - "name": "3", - "clock": false + "blockColor": "gold", + "name": "stop", + "oldBlockColor": "fuchsia" }, "position": { - "x": 80, - "y": 64 + "x": 584, + "y": -24 } }, { - "id": "346b4ae4-4bb6-4845-9c17-3b25e0dde718", - "type": "basic.input", + "id": "8a5f0c79-7347-4b35-8e27-603ebed8bf9f", + "type": "basic.outputLabel", "data": { - "name": "2", - "clock": false + "blockColor": "darkgreen", + "name": "cycle", + "oldBlockColor": "fuchsia" }, "position": { - "x": 80, - "y": 136 + "x": 1472, + "y": 16 } }, { - "id": "55180947-6349-4a04-a151-ad69ea2b155e", - "type": "basic.output", + "id": "5a3f8466-6a57-4607-939a-fb15222442a7", + "type": "basic.inputLabel", "data": { - "name": "", - "range": "[3:0]", - "size": 4 + "blockColor": "fuchsia", + "name": "done" }, "position": { - "x": 712, - "y": 200 + "x": 920, + "y": 24 } }, { - "id": "969e11ca-69e8-403b-a566-7bf2fbe3a5a8", - "type": "basic.input", + "id": "dddd2a78-e0f8-4688-ad63-0c41ad98894b", + "type": "basic.outputLabel", "data": { - "name": "1", - "clock": false + "blockColor": "fuchsia", + "name": "exec", + "oldBlockColor": "fuchsia" }, "position": { - "x": 80, - "y": 208 + "x": 2160, + "y": 104 } }, { - "id": "e4111201-8441-4e7d-bcd2-bcf9d265d043", - "type": "basic.input", + "id": "73948305-b05b-418f-88af-11328f400cdc", + "type": "basic.output", "data": { - "name": "0", - "clock": false + "name": "exec" }, "position": { - "x": 80, - "y": 272 + "x": 2328, + "y": 104 } }, { - "id": "16e78204-213e-4833-9096-89d735307ec2", - "type": "basic.code", + "id": "c5781045-a890-4e66-8f67-80d0cb317ee6", + "type": "basic.outputLabel", "data": { - "code": "assign o = {i3, i2, i1, i0};\n", - "params": [], - "ports": { - "in": [ - { - "name": "i3" - }, - { - "name": "i2" - }, - { - "name": "i1" - }, - { - "name": "i0" - } - ], - "out": [ - { - "name": "o", - "range": "[3:0]", - "size": 4 - } - ] - } + "blockColor": "red", + "name": "on", + "oldBlockColor": "fuchsia" }, "position": { - "x": 296, - "y": 176 - }, - "size": { - "width": 344, - "height": 104 + "x": 1544, + "y": 136 } - } - ], - "wires": [ + }, { - "source": { - "block": "969e11ca-69e8-403b-a566-7bf2fbe3a5a8", - "port": "out" + "id": "fa7f43f2-cbb2-47e0-bcc5-32336f9cd8ed", + "type": "basic.outputLabel", + "data": { + "blockColor": "red", + "name": "on", + "oldBlockColor": "fuchsia" }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i1" + "position": { + "x": 648, + "y": 152 } }, { - "source": { - "block": "e4111201-8441-4e7d-bcd2-bcf9d265d043", - "port": "out" + "id": "8c96c7ec-0c2f-4870-9197-46116cd1d134", + "type": "basic.inputLabel", + "data": { + "blockColor": "darkgreen", + "name": "cycle", + "oldBlockColor": "fuchsia" }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i0" + "position": { + "x": 1080, + "y": 168 } }, { - "source": { - "block": "346b4ae4-4bb6-4845-9c17-3b25e0dde718", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i2" + "id": "ad4d0fc2-118e-496e-b292-c435bad20e7d", + "type": "basic.input", + "data": { + "name": "next", + "clock": false }, - "vertices": [ - { - "x": 200, - "y": 176 - } - ] + "position": { + "x": 616, + "y": 208 + } }, { - "source": { - "block": "6c2aa548-5a4c-4e8d-a56c-a70926b19f18", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i3" + "id": "d8820925-23d9-4f02-8491-adf813601d08", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "vertices": [ - { - "x": 224, - "y": 128 - } - ] + "position": { + "x": 1384, + "y": 216 + } }, { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o" - }, - "target": { - "block": "55180947-6349-4a04-a151-ad69ea2b155e", - "port": "in" - }, - "size": 4 - } - ] - } - } - }, - "2be0f80ece8db75007def664695ef5f257f88b99": { - "package": { - "name": "DFF-rst-x01", - "version": "0.2", - "description": "DFF-rst-x01: D Flip flop with reset input. When rst=1, the DFF is 0", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22196.313%22%20height=%22216.83%22%20viewBox=%220%200%2051.941051%2057.369679%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20transform=%22translate(-52.22%20-48.028)%22%3E%3Crect%20width=%2224.412%22%20height=%2213.185%22%20x=%2279.352%22%20y=%2253.67%22%20ry=%222.247%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%22.794%22%20stroke-linecap=%22round%22/%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M77.902%2088.18l13.607%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M70.517%2080.116l-9.232-19.613-6.45%203.725-2.07-3.584%2020.905-12.07%202.07%203.584-6.093%203.518%2012.03%2018.222s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.773L69.412%2093.049s-2.848-3.696-2.16-6.796c.687-3.1%203.265-6.137%203.265-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Ctext%20style=%22line-height:1.25%22%20x=%2281.296%22%20y=%2263.239%22%20font-weight=%22400%22%20font-size=%2210.583%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20x=%2281.296%22%20y=%2263.239%22%20font-weight=%22700%22%3ESys%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E", - "otid": 1617895961660 - }, - "design": { - "graph": { - "blocks": [ + "id": "a756b829-42d1-4779-b42d-a9acc3800854", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "done", + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 2160, + "y": 248 + } + }, { - "id": "e5f6cfba-f822-4d53-a924-926407bc4e3f", - "type": "basic.input", + "id": "49221b19-132a-4e3f-9a1f-97bcd463391b", + "type": "basic.output", "data": { - "name": "", - "clock": true + "name": "done" }, "position": { - "x": 200, - "y": -264 + "x": 2320, + "y": 248 } }, { - "id": "4b0bae4c-c796-429c-ac44-785afc2f4c89", + "id": "06b60a4f-b1b1-4a91-ba10-bdb5a7515718", "type": "basic.inputLabel", "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "blockColor": "fuchsia", + "name": "exec", + "oldBlockColor": "fuchsia" }, "position": { - "x": 352, - "y": -264 + "x": 1952, + "y": 288 } }, { - "id": "4caec7c8-0763-44fc-9b7b-110e0260b74b", + "id": "f9f37a77-fd08-4506-9c1b-cc53daa19559", "type": "basic.outputLabel", "data": { - "blockColor": "yellow", - "name": "clk", + "blockColor": "darkgreen", + "name": "cycle", "oldBlockColor": "fuchsia" }, "position": { - "x": 584, - "y": -128 + "x": 1384, + "y": 288 } }, { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "type": "basic.output", + "id": "10afc859-04fd-433d-823a-4fa4721320c1", + "type": "basic.outputLabel", "data": { - "name": "" + "blockColor": "fuchsia", + "name": "start" }, "position": { - "x": 856, - "y": -56 + "x": 1680, + "y": 376 } }, { - "id": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", - "type": "basic.input", + "id": "2e9e9e82-c651-4a6b-9d9e-4c796699d133", + "type": "basic.inputLabel", "data": { - "name": "rst", - "clock": false + "blockColor": "gold", + "name": "stop", + "oldBlockColor": "fuchsia" }, "position": { - "x": 200, - "y": -56 + "x": 1144, + "y": 376 } }, { - "id": "0da42cdc-7d03-494b-acec-9b2095f8d663", - "type": "basic.input", + "id": "9726aeb6-7b23-479f-ac97-1bbfc2e82bc0", + "type": "basic.outputLabel", "data": { - "name": "d", - "clock": false + "name": "cnt", + "range": "[13:0]", + "blockColor": "navy", + "size": 14 }, "position": { - "x": 200, - "y": 80 + "x": 688, + "y": 528 } }, { - "id": "63e9825a-4f37-4c3c-b118-e2bbd28d5ac7", + "id": "d0005413-fea9-4b0b-8a18-9b15d4977bc1", "type": "basic.constant", "data": { - "name": "", - "value": "0", + "name": "N", + "value": "'h4000", "local": false }, "position": { - "x": 712, - "y": -160 + "x": 680, + "y": 344 } }, { - "id": "3238f8fb-ade5-4d95-a02d-692defd900d6", - "type": "basic.info", + "id": "a19b8bcd-a0a4-4da0-9844-5e5c0306e231", + "type": "basic.constant", "data": { - "info": "Reset input: Active high \nWhen rst = 1, the DFF is reset to 0", - "readonly": true + "name": "", + "value": "1", + "local": true }, "position": { - "x": 184, - "y": -120 + "x": 1336, + "y": -224 + } + }, + { + "id": "374613cb-968d-46d1-94a4-16686e7df28d", + "type": "basic.constant", + "data": { + "name": "", + "value": "0", + "local": true + }, + "position": { + "x": 1648, + "y": -256 + } + }, + { + "id": "bd61136e-6597-4728-a8c3-141a1841150b", + "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", + "position": { + "x": 808, + "y": 168 }, "size": { - "width": 272, - "height": 48 + "width": 96, + "height": 64 } }, { - "id": "4d2e11c4-2f46-4c0a-9d1a-b641b417d495", - "type": "3676a00f3a70e406487ed14b901daf3e4984e63d", + "id": "7d6ed080-252a-4f1b-8ec7-0f47d7866317", + "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", "position": { - "x": 360, - "y": -56 + "x": 1016, + "y": 376 }, "size": { "width": 96, @@ -21073,11 +16706,23 @@ } }, { - "id": "c5b4454d-c8bc-420b-b7b6-ad21ca8304e0", - "type": "ba518ee261a2be13a9739cd3a01cdcebe0ef63c0", + "id": "ac8b922a-9249-49a3-8b42-a1f259ccae2b", + "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", "position": { - "x": 536, - "y": -40 + "x": 1680, + "y": 272 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "28aef1aa-1cc2-4bb4-9a70-2db1962258d4", + "type": "81613874c6152f06c06ed7014bf4235900cfcc30", + "position": { + "x": 1824, + "y": 288 }, "size": { "width": 96, @@ -21085,478 +16730,455 @@ } }, { - "id": "ca985673-a11d-42a0-926c-d564fe02b723", + "id": "e042b05f-b116-4a58-8aee-1bf2833ecb6b", "type": "basic.info", "data": { - "info": "Data input", + "info": "**Reloj del sistema**", "readonly": true }, "position": { - "x": 216, - "y": 56 + "x": 680, + "y": -472 }, "size": { - "width": 104, + "width": 192, "height": 40 } }, { - "id": "f36afb1b-0486-4fcf-98ad-a8b6d64ab550", + "id": "09056d84-24ad-48b7-89c2-0d008ca64b89", "type": "basic.info", "data": { - "info": "System clock", + "info": "**Estado de** \n**la máquina**", "readonly": true }, "position": { - "x": 208, - "y": -304 + "x": 760, + "y": -248 }, "size": { - "width": 144, + "width": 160, "height": 40 } }, { - "id": "9833aab1-3c8e-40a6-859b-ce1960837256", + "id": "02ad4d4d-3335-43e1-a671-4b00fc01c8be", "type": "basic.info", "data": { - "info": "Initial default \nvalue: 0", + "info": "Máquina encendida", "readonly": true }, "position": { - "x": 720, - "y": -200 + "x": 936, + "y": -328 }, "size": { - "width": 152, - "height": 64 + "width": 168, + "height": 40 } }, { - "id": "9abbb3b1-2218-4aa2-bb22-add4c00ec265", - "type": "053dc2e26797e60dd454402e395eb23f388681b9", + "id": "23827b42-5be3-406c-9991-b4ad6deb74e8", + "type": "basic.info", + "data": { + "info": "Máquina apagada \n(rst = 1)", + "readonly": true + }, "position": { - "x": 712, - "y": -56 + "x": 952, + "y": -232 }, "size": { - "width": 96, - "height": 64 + "width": 152, + "height": 56 } - } - ], - "wires": [ - { - "source": { - "block": "e5f6cfba-f822-4d53-a924-926407bc4e3f", - "port": "out" - }, - "target": { - "block": "4b0bae4c-c796-429c-ac44-785afc2f4c89", - "port": "inlabel" - }, - "vertices": [] }, { - "source": { - "block": "4caec7c8-0763-44fc-9b7b-110e0260b74b", - "port": "outlabel" + "id": "8a928b2a-c1fd-4d20-ba27-2f2bb41c0d01", + "type": "basic.info", + "data": { + "info": "Tic de arranque", + "readonly": true }, - "target": { - "block": "9abbb3b1-2218-4aa2-bb22-add4c00ec265", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + "position": { + "x": 960, + "y": -96 + }, + "size": { + "width": 160, + "height": 40 } }, { - "source": { - "block": "c5b4454d-c8bc-420b-b7b6-ad21ca8304e0", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "id": "6648005b-8565-4aa7-9dbe-692786ab5eed", + "type": "basic.info", + "data": { + "info": "Tic de fin", + "readonly": true }, - "target": { - "block": "9abbb3b1-2218-4aa2-bb22-add4c00ec265", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + "position": { + "x": 944, + "y": 0 }, - "vertices": [] + "size": { + "width": 120, + "height": 32 + } }, { - "source": { - "block": "4d2e11c4-2f46-4c0a-9d1a-b641b417d495", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "id": "08d8a2f1-ca1d-4bb5-84ec-2e003a76d1c1", + "type": "basic.info", + "data": { + "info": "**Contador de ciclos**", + "readonly": true }, - "target": { - "block": "c5b4454d-c8bc-420b-b7b6-ad21ca8304e0", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "position": { + "x": 1480, + "y": -424 }, - "vertices": [] + "size": { + "width": 224, + "height": 40 + } }, { - "source": { - "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", - "port": "out" + "id": "6b89fbaa-ded1-4b08-85b3-d5043665ba0f", + "type": "basic.info", + "data": { + "info": "Número de ciclos \ncontados", + "readonly": true }, - "target": { - "block": "4d2e11c4-2f46-4c0a-9d1a-b641b417d495", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "position": { + "x": 1824, + "y": -152 + }, + "size": { + "width": 160, + "height": 56 } }, { - "source": { - "block": "0da42cdc-7d03-494b-acec-9b2095f8d663", - "port": "out" + "id": "ce9c2faa-a5a2-43ef-a19f-8089842fa7fb", + "type": "basic.info", + "data": { + "info": "Valor \nincrementado", + "readonly": true }, - "target": { - "block": "c5b4454d-c8bc-420b-b7b6-ad21ca8304e0", - "port": "97b51945-d716-4b6c-9db9-970d08541249" + "position": { + "x": 1496, + "y": -128 + }, + "size": { + "width": 128, + "height": 56 } }, { - "source": { - "block": "9abbb3b1-2218-4aa2-bb22-add4c00ec265", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + "id": "9749c7ec-56c0-4d88-8b20-572f154aba47", + "type": "basic.info", + "data": { + "info": "### Salidas", + "readonly": true }, - "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "port": "in" + "position": { + "x": 2152, + "y": -328 + }, + "size": { + "width": 280, + "height": 40 } }, { - "source": { - "block": "63e9825a-4f37-4c3c-b118-e2bbd28d5ac7", - "port": "constant-out" + "id": "4c022dd4-dc38-48e8-8e23-991de83819a0", + "type": "basic.info", + "data": { + "info": "Estado de la máquina", + "readonly": true }, - "target": { - "block": "9abbb3b1-2218-4aa2-bb22-add4c00ec265", - "port": "65194b18-5d2a-41b2-bd86-01be99978ad6" + "position": { + "x": 2160, + "y": -248 + }, + "size": { + "width": 192, + "height": 40 } - } - ] - } - } - }, - "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a": { - "package": { - "name": "Bus8-Split-half", - "version": "0.1", - "description": "Bus8-Split-half: Split the 8-bits bus into two buses of the same size", - "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": { - "graph": { - "blocks": [ + }, { - "id": "637e64f4-0a6b-4037-9a75-89397e078a58", - "type": "basic.output", + "id": "2f5c5893-19c2-411c-b942-83e2e0355d9b", + "type": "basic.info", "data": { - "name": "1", - "range": "[3:0]", - "size": 4 + "info": "Ciclo actual", + "readonly": true }, "position": { - "x": 584, - "y": 104 + "x": 2168, + "y": -104 + }, + "size": { + "width": 152, + "height": 40 } }, { - "id": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e", - "type": "basic.input", + "id": "3529c7ae-8223-48c9-a5c7-1b8161eb3654", + "type": "basic.info", "data": { - "name": "", - "range": "[7:0]", - "clock": false, - "size": 8 + "info": "Cuenta finalizada", + "readonly": true }, "position": { - "x": 120, - "y": 208 + "x": 2160, + "y": 216 + }, + "size": { + "width": 176, + "height": 48 } }, { - "id": "eb61d084-ca22-4894-b8a2-f936db38f4b1", - "type": "basic.output", + "id": "8d3fe74d-0b04-434f-bd0a-c966094bb54e", + "type": "basic.info", "data": { - "name": "0", - "range": "[3:0]", - "size": 4 + "info": "Ejecutar el ciclo", + "readonly": true }, "position": { - "x": 584, - "y": 232 + "x": 2168, + "y": 80 + }, + "size": { + "width": 168, + "height": 40 } }, { - "id": "16e78204-213e-4833-9096-89d735307ec2", - "type": "basic.code", + "id": "eae9349c-e15a-4922-8652-1849ae8af424", + "type": "basic.info", "data": { - "code": "assign o1 = i[7:4];\nassign o0 = i[3:0];", - "params": [], - "ports": { - "in": [ - { - "name": "i", - "range": "[7:0]", - "size": 8 - } - ], - "out": [ - { - "name": "o1", - "range": "[3:0]", - "size": 4 - }, - { - "name": "o0", - "range": "[3:0]", - "size": 4 - } - ] - } + "info": "Número de ciclos \na contar", + "readonly": true }, "position": { - "x": 272, - "y": 176 + "x": 696, + "y": 288 }, "size": { - "width": 240, - "height": 120 + "width": 152, + "height": 56 } - } - ], - "wires": [ + }, { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o1" + "id": "95a0fd91-d4b4-4a8c-a326-fa00aead76a2", + "type": "basic.info", + "data": { + "info": "¿Estamos en el \nciclo k-1?", + "readonly": true }, - "target": { - "block": "637e64f4-0a6b-4037-9a75-89397e078a58", - "port": "in" + "position": { + "x": 1024, + "y": 480 }, - "size": 4 + "size": { + "width": 144, + "height": 56 + } }, { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o0" + "id": "ee786c92-eee9-4192-b5cd-7ffd2cff4aa0", + "type": "basic.info", + "data": { + "info": "Solo se hace caso a la \nentrada next si la \nmáquina está encendida", + "readonly": true }, - "target": { - "block": "eb61d084-ca22-4894-b8a2-f936db38f4b1", - "port": "in" + "position": { + "x": 648, + "y": 88 }, - "size": 4 + "size": { + "width": 216, + "height": 80 + } }, { - "source": { - "block": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e", - "port": "out" + "id": "fdea86ef-3e4a-4419-972a-3e09c49380ab", + "type": "basic.info", + "data": { + "info": "Nuevo ciclo", + "readonly": true }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i" + "position": { + "x": 920, + "y": 168 }, - "size": 8 - } - ] - } - } - }, - "afb28fd5426aea14477d11cbe30a290679f789f8": { - "package": { - "name": "Bus8-Join-half", - "version": "0.1", - "description": "Bus8-Join-half: Join the two same halves into an 8-bits Bus", - "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=%22M164.218%2077.643L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v26.186l61.698.046c8.012-.043%2015.705%203.133%2021.47%208.81l61.448%2061.315a57.292%2057.292%200%200%200%2039.993%2016.139%2057.292%2057.292%200%200%200-39.993%2016.14L83.668%20190.45c-5.765%205.677-13.458%208.853-21.47%208.81L.5%20199.306v26.186h62.612c14.924.039%2029.463-5.9%2040.204-16.28l60.902-60.863a29.857%2029.857%200%200%201%2021.347-8.81l146.53-.113V86.457H185.571a29.884%2029.884%200%200%201-21.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ + "size": { + "width": 136, + "height": 40 + } + }, { - "id": "a1770adf-e143-4506-9d87-3cb9c870f534", - "type": "basic.input", + "id": "f1312a02-2038-404e-b9cf-5f4ee6b11012", + "type": "basic.info", "data": { - "name": "1", - "range": "[3:0]", - "clock": false, - "size": 4 + "info": "Si es el ciclo k-1 y \nse pide un ciclo \nnuevo: Terminar", + "readonly": true }, "position": { - "x": 128, - "y": 168 + "x": 1136, + "y": 304 + }, + "size": { + "width": 208, + "height": 72 } }, { - "id": "1269698e-e555-4fcb-a613-cb4c7ff2e598", - "type": "basic.output", + "id": "9baabc30-8c27-4b55-92e4-d59783269162", + "type": "basic.info", "data": { - "name": "", - "range": "[7:0]", - "size": 8 + "info": "Apagar la \nmáquina", + "readonly": true }, "position": { - "x": 640, - "y": 200 + "x": 600, + "y": -64 + }, + "size": { + "width": 120, + "height": 56 } }, { - "id": "843164ff-f7d8-48b9-bf59-1e0d1135c81f", - "type": "basic.input", + "id": "b1d4db4d-86bf-41b9-8192-647537f22b35", + "type": "basic.info", "data": { - "name": "0", - "range": "[3:0]", - "clock": false, - "size": 4 + "info": "Ciclo nuevo: \nincrementar la cuenta", + "readonly": true }, "position": { - "x": 128, - "y": 224 + "x": 1464, + "y": -32 + }, + "size": { + "width": 208, + "height": 56 } }, { - "id": "16e78204-213e-4833-9096-89d735307ec2", - "type": "basic.code", + "id": "6c065227-d7b8-48ea-8105-765c0ff10e5d", + "type": "basic.info", "data": { - "code": "assign o = {i1, i0};\n", - "params": [], - "ports": { - "in": [ - { - "name": "i1", - "range": "[3:0]", - "size": 4 - }, - { - "name": "i0", - "range": "[3:0]", - "size": 4 - } - ], - "out": [ - { - "name": "o", - "range": "[7:0]", - "size": 8 - } - ] - } + "info": "El tic de start se saca \npor exec para que se ejecute \nel primer ciclo", + "readonly": true }, "position": { - "x": 296, - "y": 176 + "x": 1680, + "y": 440 }, "size": { - "width": 272, - "height": 104 + "width": 248, + "height": 72 } - } - ], - "wires": [ - { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o" - }, - "target": { - "block": "1269698e-e555-4fcb-a613-cb4c7ff2e598", - "port": "in" - }, - "size": 8 }, { - "source": { - "block": "a1770adf-e143-4506-9d87-3cb9c870f534", - "port": "out" + "id": "f41e1b4d-0de7-4d61-9b57-16de7ef8dc8a", + "type": "basic.info", + "data": { + "info": "Si la máquina está \napagada, las señales \nde ejecución no pueden \nsalir!", + "readonly": true }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i1" + "position": { + "x": 1688, + "y": 168 }, - "size": 4 + "size": { + "width": 208, + "height": 80 + } }, { - "source": { - "block": "843164ff-f7d8-48b9-bf59-1e0d1135c81f", - "port": "out" + "id": "1ed4ad01-9b81-4934-84b7-804dcaec10c1", + "type": "basic.info", + "data": { + "info": "Retrasar la señal un ciclo \nmientras que se detecta si \nla máquina ha finalizado o no", + "readonly": true }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i0" + "position": { + "x": 1416, + "y": 392 }, - "size": 4 - } - ] - } - } - }, - "9c4559db1fdec26319e6d6eb38f7622cb97039db": { - "package": { - "name": "Inc1-24bits", - "version": "0.1", - "description": "Inc1-24bit: Increment a 24-bits number by one", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22387.891%22%20height=%22310.09%22%20viewBox=%220%200%20363.64764%20290.70999%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.759%2055.834v79.813h79.508v35.946H115.76v79.813h-36.25v-79.813H-.002v-35.946h79.51V55.834z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3Cpath%20d=%22M196.193%20257.608h64.256V35.828l-69.902%2014.02V14.018L260.06%200h39.332v257.608h64.257v33.102H196.193z%22%20style=%22line-height:1.25%22%20font-size=%22398.777%22%20stroke-width=%229.969%22/%3E%3C/svg%3E", - "otid": 1618560481898 - }, - "design": { - "graph": { - "blocks": [ + "size": { + "width": 256, + "height": 72 + } + }, { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "type": "basic.output", - "data": { - "name": "c" - }, + "id": "2a6b0d55-b2c4-4ed4-9483-8871ba946dcf", + "type": "aec21dcbeb94ef212f1936ba3b7cf22e0e349a8f", "position": { - "x": 624, + "x": 752, "y": -168 + }, + "size": { + "width": 96, + "height": 128 } }, { - "id": "fd4d4e4e-dd92-4b76-a6d5-9b762b17396b", - "type": "basic.input", - "data": { - "name": "", - "range": "[23:0]", - "clock": false, - "size": 24 + "id": "331d12d0-f6ea-49dd-8762-fb992de54f0f", + "type": "58ed2b5c7e33e2f215ccba6c101d9ea4ff60f284", + "position": { + "x": 1544, + "y": 272 }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "6ebcb033-3fa2-49c8-92f3-3b5eed869715", + "type": "bf21f4d270a776c39e0c3763ffe9253d8f25e93d", "position": { - "x": 288, + "x": 1648, "y": -152 + }, + "size": { + "width": 96, + "height": 128 } }, { - "id": "1645d4a4-bbe5-4f2e-8c06-2b0bc1f4a8db", - "type": "basic.output", - "data": { - "name": "s", - "range": "[23:0]", - "size": 24 - }, + "id": "1a3e3c55-3a15-44eb-b040-abaa9763b6a9", + "type": "5ba0990b1cafb42a483bf845663b1bce6cbfa43b", "position": { - "x": 624, - "y": -88 + "x": 1336, + "y": -120 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "cd0d6f4d-9898-4114-94a9-0b4b98223c27", - "type": "basic.constant", - "data": { - "name": "", - "value": "1", - "local": true - }, + "id": "32e14852-e793-4199-a915-5ba8b629ef76", + "type": "c98ba9d3bd2afa5c5dc32f623ae81a9df5d211b3", "position": { - "x": 456, - "y": -256 + "x": 856, + "y": 512 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "e0fd8cad-2704-4d20-9610-d0fcf51bef8f", - "type": "44c099cdc7a6cf9fbfa77006d47e996f643fff53", + "id": "27d9e58c-8375-447e-8210-f0cd82af5d37", + "type": "be366defa772394c264631243c78ced91837ab0f", "position": { - "x": 456, - "y": -152 + "x": 680, + "y": 448 }, "size": { "width": 96, @@ -21567,880 +17189,641 @@ "wires": [ { "source": { - "block": "e0fd8cad-2704-4d20-9610-d0fcf51bef8f", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "block": "6c846478-ff94-415a-b78e-03b6981bc0fe", + "port": "outlabel" + }, + "target": { + "block": "6ebcb033-3fa2-49c8-92f3-3b5eed869715", + "port": "c97f7411-94ef-4d63-ba23-ce596ebcbb25" + }, + "vertices": [ + { + "x": 1592, + "y": -192 + } + ] + }, + { + "source": { + "block": "2a6b0d55-b2c4-4ed4-9483-8871ba946dcf", + "port": "89a5da53-cc8b-4099-a5e3-b9cf281619b1" + }, + "target": { + "block": "bc6920df-ca50-4643-ad7a-7e10c29856e8", + "port": "inlabel" + } + }, + { + "source": { + "block": "2a6b0d55-b2c4-4ed4-9483-8871ba946dcf", + "port": "aefe9248-3b3d-441b-9e65-33cda65b99dd" + }, + "target": { + "block": "9baa509b-0012-4e0e-b874-e62987258aa1", + "port": "inlabel" + } + }, + { + "source": { + "block": "2a6b0d55-b2c4-4ed4-9483-8871ba946dcf", + "port": "0d991cee-b329-439b-b9e7-5712d2db539d" + }, + "target": { + "block": "92c88f9e-7d51-4946-b0ef-088dcd8efa49", + "port": "inlabel" + }, + "vertices": [ + { + "x": 888, + "y": -216 + } + ] + }, + { + "source": { + "block": "fa7f43f2-cbb2-47e0-bcc5-32336f9cd8ed", + "port": "outlabel" }, "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "port": "in" + "block": "bd61136e-6597-4728-a8c3-141a1841150b", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" } }, { "source": { - "block": "cd0d6f4d-9898-4114-94a9-0b4b98223c27", - "port": "constant-out" + "block": "45bd338b-4745-4b06-b199-462cdaffa31d", + "port": "outlabel" }, "target": { - "block": "e0fd8cad-2704-4d20-9610-d0fcf51bef8f", - "port": "e728fdca-755f-4f2d-98e7-0716b1c5258f" + "block": "2a6b0d55-b2c4-4ed4-9483-8871ba946dcf", + "port": "ba15eacb-1e03-4580-932b-3231703481e5" } }, { "source": { - "block": "fd4d4e4e-dd92-4b76-a6d5-9b762b17396b", - "port": "out" + "block": "7d6ed080-252a-4f1b-8ec7-0f47d7866317", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, "target": { - "block": "e0fd8cad-2704-4d20-9610-d0fcf51bef8f", - "port": "176bfb23-fa63-433f-8928-717ce4072bcb" - }, - "size": 24 + "block": "2e9e9e82-c651-4a6b-9d9e-4c796699d133", + "port": "inlabel" + } }, { "source": { - "block": "e0fd8cad-2704-4d20-9610-d0fcf51bef8f", - "port": "4aac3b0e-53f3-4adf-aee9-83569d5e47d9" + "block": "2a6b0d55-b2c4-4ed4-9483-8871ba946dcf", + "port": "3802390d-8417-4369-b93c-dda647ccb0c6" }, "target": { - "block": "1645d4a4-bbe5-4f2e-8c06-2b0bc1f4a8db", - "port": "in" - }, - "size": 24 - } - ] - } - } - }, - "44c099cdc7a6cf9fbfa77006d47e996f643fff53": { - "package": { - "name": "AdderK-24bits", - "version": "0.1", - "description": "AdderK-24bit: Adder of 24-bit operand and 24-bit constant", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", - "otid": 1618560481898 - }, - "design": { - "graph": { - "blocks": [ - { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "type": "basic.output", - "data": { - "name": "c" - }, - "position": { - "x": 624, - "y": -168 + "block": "5a3f8466-6a57-4607-939a-fb15222442a7", + "port": "inlabel" } }, { - "id": "4aac3b0e-53f3-4adf-aee9-83569d5e47d9", - "type": "basic.output", - "data": { - "name": "s", - "range": "[23:0]", - "size": 24 + "source": { + "block": "c5781045-a890-4e66-8f67-80d0cb317ee6", + "port": "outlabel" }, - "position": { - "x": 624, - "y": -104 + "target": { + "block": "ac8b922a-9249-49a3-8b42-a1f259ccae2b", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" } }, { - "id": "176bfb23-fa63-433f-8928-717ce4072bcb", - "type": "basic.input", - "data": { - "name": "", - "range": "[23:0]", - "clock": false, - "size": 24 + "source": { + "block": "a756b829-42d1-4779-b42d-a9acc3800854", + "port": "outlabel" }, - "position": { - "x": 224, - "y": -80 + "target": { + "block": "49221b19-132a-4e3f-9a1f-97bcd463391b", + "port": "in" } }, { - "id": "e728fdca-755f-4f2d-98e7-0716b1c5258f", - "type": "basic.constant", - "data": { - "name": "", - "value": "0", - "local": false + "source": { + "block": "8a5f0c79-7347-4b35-8e27-603ebed8bf9f", + "port": "outlabel" }, - "position": { - "x": 232, - "y": -272 + "target": { + "block": "6ebcb033-3fa2-49c8-92f3-3b5eed869715", + "port": "f1022de4-0225-43d7-92d3-451161ee6942" } }, { - "id": "60b5fc06-7bd6-4799-a628-cf38eb28c785", - "type": "4c802f22559756474dc3d43a97f91568941d171d", - "position": { - "x": 232, - "y": -168 + "source": { + "block": "10afc859-04fd-433d-823a-4fa4721320c1", + "port": "outlabel" }, - "size": { - "width": 96, - "height": 64 + "target": { + "block": "28aef1aa-1cc2-4bb4-9a70-2db1962258d4", + "port": "97b51945-d716-4b6c-9db9-970d08541249" } }, - { - "id": "34406303-8cdf-4d6e-8b16-86c28db456ad", - "type": "91404d1e58c133c8ad9fe681f9f4f38e6b5f47d0", - "position": { - "x": 456, - "y": -152 - }, - "size": { - "width": 96, - "height": 64 - } - } - ], - "wires": [ { "source": { - "block": "34406303-8cdf-4d6e-8b16-86c28db456ad", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "block": "28aef1aa-1cc2-4bb4-9a70-2db1962258d4", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "port": "in" + "block": "06b60a4f-b1b1-4a91-ba10-bdb5a7515718", + "port": "inlabel" } }, { "source": { - "block": "e728fdca-755f-4f2d-98e7-0716b1c5258f", - "port": "constant-out" + "block": "bd61136e-6597-4728-a8c3-141a1841150b", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, "target": { - "block": "60b5fc06-7bd6-4799-a628-cf38eb28c785", - "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" + "block": "8c96c7ec-0c2f-4870-9197-46116cd1d134", + "port": "inlabel" } }, { "source": { - "block": "34406303-8cdf-4d6e-8b16-86c28db456ad", - "port": "4f58ac7d-7f3d-47a4-863a-659bcc4c1d53" + "block": "f9f37a77-fd08-4506-9c1b-cc53daa19559", + "port": "outlabel" }, "target": { - "block": "4aac3b0e-53f3-4adf-aee9-83569d5e47d9", - "port": "in" - }, - "size": 24 + "block": "331d12d0-f6ea-49dd-8762-fb992de54f0f", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + } }, { "source": { - "block": "176bfb23-fa63-433f-8928-717ce4072bcb", + "block": "cb426e3d-ace3-4a57-a74b-155caed0c14c", "port": "out" }, "target": { - "block": "34406303-8cdf-4d6e-8b16-86c28db456ad", - "port": "c37b5f19-0593-403c-bd31-56990c7eb37a" - }, - "size": 24 + "block": "9291f94d-2d9a-4c3a-b7df-4299abf84886", + "port": "inlabel" + } }, { "source": { - "block": "60b5fc06-7bd6-4799-a628-cf38eb28c785", - "port": "968a742a-8970-4ac1-af06-efa0e851eda8" + "block": "40607400-436e-4dea-b733-8308a06fd4ef", + "port": "outlabel" }, "target": { - "block": "34406303-8cdf-4d6e-8b16-86c28db456ad", - "port": "934a5244-9d2c-4665-bb14-f92b56c3203c" - }, - "size": 24 - } - ] - } - } - }, - "4c802f22559756474dc3d43a97f91568941d171d": { - "package": { - "name": "24-bits-gen-constant", - "version": "0.0.2", - "description": "Generic: 24-bits generic constant", - "author": "Juan Gonzalez-Gomez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22145.608%22%20height=%22247.927%22%20viewBox=%220%200%20136.50729%20232.43134%22%3E%3Cg%20style=%22line-height:0%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%3E%3Cpath%20d=%22M56.012%20146.905q9.055%206.708%2020.459%2017.105%2011.404%2010.062%2022.472%2021.8%2011.403%2011.74%2021.465%2024.15%2010.062%2012.074%2016.1%2022.471h-32.87q-6.372-10.397-15.763-21.13-9.392-11.068-20.124-21.13-10.398-10.062-21.13-18.447-10.398-8.385-18.783-14.087v74.794H0V4.695L27.838%200v141.874q18.447-16.1%2036.894-31.863%2018.447-16.1%2033.205-33.205h32.533q-14.422%2017.106-34.881%2035.217-20.124%2018.112-39.577%2034.882z%22%20style=%22line-height:1.25%22%20font-size=%22335.399%22%20font-weight=%22400%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22/%3E%3C/g%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ + "block": "2a6b0d55-b2c4-4ed4-9483-8871ba946dcf", + "port": "046501b8-4427-4d4d-af97-7fe807774f33" + } + }, { - "id": "968a742a-8970-4ac1-af06-efa0e851eda8", - "type": "basic.output", - "data": { - "name": "", - "range": "[23:0]", - "size": 24 + "source": { + "block": "2438a009-c8e2-4acb-b443-90fe0ddd989d", + "port": "outlabel" }, - "position": { - "x": 960, - "y": 248 + "target": { + "block": "6a11eaf9-4bd5-405e-81f8-44418365326b", + "port": "in" } }, { - "id": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", - "type": "basic.constant", - "data": { - "name": "", - "value": "0", - "local": false + "source": { + "block": "81fb4efb-363e-483e-b1df-c2ebda777355", + "port": "outlabel" }, - "position": { - "x": 728, - "y": 128 + "target": { + "block": "6ebcb033-3fa2-49c8-92f3-3b5eed869715", + "port": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6" } }, { - "id": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", - "type": "basic.code", - "data": { - "code": "assign k = VALUE;", - "params": [ - { - "name": "VALUE" - } - ], - "ports": { - "in": [], - "out": [ - { - "name": "k", - "range": "[23:0]", - "size": 24 - } - ] + "source": { + "block": "d8820925-23d9-4f02-8491-adf813601d08", + "port": "outlabel" + }, + "target": { + "block": "331d12d0-f6ea-49dd-8762-fb992de54f0f", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + }, + "vertices": [ + { + "x": 1496, + "y": 264 } + ] + }, + { + "source": { + "block": "dddd2a78-e0f8-4688-ad63-0c41ad98894b", + "port": "outlabel" }, - "position": { - "x": 672, - "y": 248 - }, - "size": { - "width": 208, - "height": 64 + "target": { + "block": "73948305-b05b-418f-88af-11328f400cdc", + "port": "in" } - } - ], - "wires": [ + }, { "source": { - "block": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", - "port": "constant-out" + "block": "6ebcb033-3fa2-49c8-92f3-3b5eed869715", + "port": "521f03e5-f364-41b0-a2b8-c7858e6debf5", + "size": 14 }, "target": { - "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", - "port": "VALUE" - } + "block": "1cfadcd2-42df-4d6b-9aed-0e94c93bf202", + "port": "inlabel" + }, + "size": 14 }, { "source": { - "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", - "port": "k" + "block": "f46fb7c4-9551-4da4-9a31-7dd52f738527", + "port": "outlabel" }, "target": { - "block": "968a742a-8970-4ac1-af06-efa0e851eda8", - "port": "in" + "block": "19940e4f-3166-4887-a4e2-ea5babe5f726", + "port": "in", + "size": 14 }, - "size": 24 - } - ] - } - } - }, - "91404d1e58c133c8ad9fe681f9f4f38e6b5f47d0": { - "package": { - "name": "Adder-24bits", - "version": "0.1", - "description": "Adder-24bits: Adder of two operands of 24 bits", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", - "otid": 1618560481898 - }, - "design": { - "graph": { - "blocks": [ + "size": 14 + }, { - "id": "8ac0c222-8cbc-4974-bfd2-43f11eb8d8ad", - "type": "basic.outputLabel", - "data": { - "name": "a2", - "range": "[7:0]", - "oldBlockColor": "fuchsia", - "blockColor": "deeppink", - "size": 8 + "source": { + "block": "ba7c88dc-642a-46e2-9dac-c32ba106020d", + "port": "outlabel" }, - "position": { - "x": 584, - "y": -816 - } + "target": { + "block": "1a3e3c55-3a15-44eb-b040-abaa9763b6a9", + "port": "ccf244b8-cc65-453c-a958-19a3768f7007", + "size": 14 + }, + "size": 14 }, { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "type": "basic.output", - "data": { - "name": "c" + "source": { + "block": "9726aeb6-7b23-479f-ac97-1bbfc2e82bc0", + "port": "outlabel" }, - "position": { - "x": 1136, - "y": -776 + "target": { + "block": "32e14852-e793-4199-a915-5ba8b629ef76", + "port": "b457d512-6d78-479d-9b18-993a80c00740", + "size": 14 + }, + "size": 14 + }, + { + "source": { + "block": "374613cb-968d-46d1-94a4-16686e7df28d", + "port": "constant-out" + }, + "target": { + "block": "6ebcb033-3fa2-49c8-92f3-3b5eed869715", + "port": "d9020031-ade2-47d0-bca0-4b88fe7eaebd" } }, { - "id": "cc858595-88b1-4f0b-baeb-77fdd9a4d7ed", - "type": "basic.outputLabel", - "data": { - "name": "b2", - "range": "[7:0]", - "blockColor": "fuchsia", - "size": 8 + "source": { + "block": "a19b8bcd-a0a4-4da0-9844-5e5c0306e231", + "port": "constant-out" }, - "position": { - "x": 584, - "y": -752 + "target": { + "block": "1a3e3c55-3a15-44eb-b040-abaa9763b6a9", + "port": "e728fdca-755f-4f2d-98e7-0716b1c5258f" } }, { - "id": "235e1fe4-919e-422d-9eb3-dc232e8f9407", - "type": "basic.inputLabel", - "data": { - "name": "a2", - "range": "[7:0]", - "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia", - "blockColor": "deeppink" + "source": { + "block": "32e14852-e793-4199-a915-5ba8b629ef76", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, - "position": { - "x": 40, - "y": -672 + "target": { + "block": "7d6ed080-252a-4f1b-8ec7-0f47d7866317", + "port": "97b51945-d716-4b6c-9db9-970d08541249" } }, { - "id": "4f2c77a9-f54e-4c7e-b1b8-d1739ea521c7", - "type": "basic.outputLabel", - "data": { - "name": "a1", - "range": "[7:0]", - "blockColor": "deeppink", - "size": 8 + "source": { + "block": "ac8b922a-9249-49a3-8b42-a1f259ccae2b", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, - "position": { - "x": 392, - "y": -640 + "target": { + "block": "28aef1aa-1cc2-4bb4-9a70-2db1962258d4", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" } }, { - "id": "4f58ac7d-7f3d-47a4-863a-659bcc4c1d53", - "type": "basic.output", - "data": { - "name": "s", - "range": "[23:0]", - "size": 24 + "source": { + "block": "331d12d0-f6ea-49dd-8762-fb992de54f0f", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" }, - "position": { - "x": 1144, - "y": -616 + "target": { + "block": "ac8b922a-9249-49a3-8b42-a1f259ccae2b", + "port": "97b51945-d716-4b6c-9db9-970d08541249" } }, { - "id": "e2589574-b6cc-4faf-8e69-3d23248bcba2", - "type": "basic.inputLabel", - "data": { - "name": "a1", - "range": "[7:0]", - "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia", - "blockColor": "deeppink" + "source": { + "block": "bd61136e-6597-4728-a8c3-141a1841150b", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "7d6ed080-252a-4f1b-8ec7-0f47d7866317", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } + }, + { + "source": { + "block": "d0005413-fea9-4b0b-8a18-9b15d4977bc1", + "port": "constant-out" }, - "position": { - "x": 40, - "y": -608 + "target": { + "block": "27d9e58c-8375-447e-8210-f0cd82af5d37", + "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" } }, { - "id": "934a5244-9d2c-4665-bb14-f92b56c3203c", - "type": "basic.input", - "data": { - "name": "", - "range": "[23:0]", - "clock": false, - "size": 24 + "source": { + "block": "8f591b24-0427-409f-aa6e-ca1861556cf5", + "port": "out" }, - "position": { - "x": -496, - "y": -608 + "target": { + "block": "2a6b0d55-b2c4-4ed4-9483-8871ba946dcf", + "port": "88176871-35ac-42bf-bf62-36c81a4b4b47" } }, { - "id": "4743defe-36c0-40a2-aaf0-188272583034", - "type": "basic.outputLabel", - "data": { - "name": "b1", - "range": "[7:0]", - "blockColor": "fuchsia", - "size": 8 + "source": { + "block": "ad4d0fc2-118e-496e-b292-c435bad20e7d", + "port": "out" }, - "position": { - "x": 392, - "y": -560 + "target": { + "block": "bd61136e-6597-4728-a8c3-141a1841150b", + "port": "97b51945-d716-4b6c-9db9-970d08541249" } }, { - "id": "6736a55c-7818-4da9-9c1a-f57200ad2526", - "type": "basic.inputLabel", + "source": { + "block": "1a3e3c55-3a15-44eb-b040-abaa9763b6a9", + "port": "097a6fa5-5366-4605-952c-dcc1425e255c" + }, + "target": { + "block": "6ebcb033-3fa2-49c8-92f3-3b5eed869715", + "port": "e699a6f3-fd6f-49dc-a8d3-d35853cb8e6b" + }, + "size": 14 + }, + { + "source": { + "block": "27d9e58c-8375-447e-8210-f0cd82af5d37", + "port": "d10a3bb7-99d9-4193-8faf-cbe27f5c8482" + }, + "target": { + "block": "32e14852-e793-4199-a915-5ba8b629ef76", + "port": "a42068b6-dc74-4537-869c-d20ea32059b0" + }, + "size": 14 + } + ] + } + } + }, + "aec21dcbeb94ef212f1936ba3b7cf22e0e349a8f": { + "package": { + "name": "Machine-state", + "version": "0.2", + "description": "Biestable de almacenamiento del estado de la máquina", + "author": "Juan Gonzalez-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22404.343%22%20width=%22319.18%22%20id=%22svg4%22%3E%3Cdefs%20id=%22defs8%22%3E%3Cmarker%20id=%22TriangleOutM%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20id=%22path972%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow1Mend%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-4%200l-2%202%207-2-7-2z%22%20id=%22path836%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow2Mend%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20id=%22path854%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow2Mend-3%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20id=%22path854-6%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow1Mend-5%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-4%200l-2%202%207-2-7-2z%22%20id=%22path836-3%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22TriangleOutM-7%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path972-5%22%20d=%22M2.308%200l-3.46%202v-4z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow1Mend-3%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path836-5%22%20d=%22M-4%200l-2%202%207-2-7-2z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow2Mend-6%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path854-2%22%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow2Mend-3-9%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path854-6-1%22%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow1Mend-5-2%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path836-3-7%22%20d=%22M-4%200l-2%202%207-2-7-2z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cdefs%20id=%22defs3%22%3E%3Cpath%20id=%22a%22%20d=%22M-58.3-45h653.6v640H-58.3z%22/%3E%3C/defs%3E%3Cpath%20id=%22path898%22%20d=%22M-58.3-45h653.6v640H-58.3z%22/%3E%3Cmarker%20id=%22TriangleOutM-3%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20id=%22path972-6%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow1Mend-7%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-4%200l-2%202%207-2-7-2z%22%20id=%22path836-53%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow2Mend-5%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20id=%22path854-62%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow2Mend-3-91%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20id=%22path854-6-2%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow1Mend-5-7%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-4%200l-2%202%207-2-7-2z%22%20id=%22path836-3-0%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22TriangleOutM-7-9%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path972-5-3%22%20d=%22M2.308%200l-3.46%202v-4z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow1Mend-3-6%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path836-5-0%22%20d=%22M-4%200l-2%202%207-2-7-2z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow2Mend-6-6%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path854-2-2%22%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow2Mend-3-9-6%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path854-6-1-1%22%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow1Mend-5-2-8%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path836-3-7-7%22%20d=%22M-4%200l-2%202%207-2-7-2z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cdefs%20id=%22defs3-9%22%3E%3Cpath%20id=%22a-2%22%20d=%22M-58.3-45h653.6v640H-58.3z%22/%3E%3C/defs%3E%3Cpath%20id=%22path974%22%20d=%22M-58.3-45h653.6v640H-58.3z%22/%3E%3C/defs%3E%3Cpath%20d=%22M124.728%2079.637c-24.895%200-45.091%2020.196-45.091%2045.109%200%2024.886%2020.196%2045.126%2045.092%2045.126%2024.904%200%2044.952-20.24%2044.952-45.126%200-24.913-20.049-45.11-44.953-45.11zm90.41%2071.022l-8.128%2019.578%2014.497%2028.472%201.914%203.759-20.1%2020.1-32.979-15.575-19.578%208.04-9.938%2030.421-1.27%204.038h-28.41L98.85%20215.155%2079.27%20207.08l-28.514%2014.462-3.759%201.88-20.092-20.083%2015.559-32.997-8.067-19.56-30.37-9.92L0%20139.555v-28.393L34.362%2098.85l8.067-19.544-14.453-28.533-1.906-3.741%2020.066-20.066%2033.022%2015.55%2019.553-8.084%209.928-30.403L109.92%200h28.401l12.304%2034.38%2019.527%208.084%2028.523-14.471%203.794-1.906%2020.083%2020.066-15.558%2032.97%208.04%2019.588%2030.456%209.928%204.003%201.28v28.384z%22%20id=%22path2%22%20fill=%22#00f%22%20stroke-width=%22.278%22/%3E%3Cg%20id=%22g992-5%22%20transform=%22matrix(3.23542%200%200%203.23542%20-54.399%20117.43)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20id=%22path992-2-62%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20id=%22path1773-2-3-1-8-9-9%22%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cstyle%20id=%22style2%22%3E.st0%7Bdisplay:none%7D.st1%7Bfill:none;stroke:#303030;stroke-width:.7;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10%7D.st2%7Bfill:#303030%7D%3C/style%3E%3Cg%20id=%22g1022%22%20transform=%22matrix(.5585%200%200%20.5585%2076.484%2043.495)%22%3E%3Cg%20transform=%22translate(3.47%203.198)%22%20id=%22layer1%22%3E%3Cpath%20id=%22path9-3%22%20d=%22M21.358%20145.947a63.75%2063.75%200%200%200%201.152%2011.049%22%20class=%22st1%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20id=%22path11%22%20d=%22M48.702%2092.116a64.784%2064.784%200%200%200-12.559%2011.68%2064.99%2064.99%200%200%200-12.69%2024.809%22%20class=%22st1%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20class=%22st1%22%20id=%22line17%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22%20d=%22M184.865%20207.591L41.298%20262.802%22/%3E%3Cpath%20d=%22M185.448%20175.07l.37.154c2.52.831%204.718%202.386%206.634%204.249%202.02%202.322%203.694%204.777%204.423%208.713%201.496%208.074-3.286%2016.05-10.95%2018.997l-1.06.408L41.298%20262.8l-.733.283c-8.003%203.077-17.551.461-21.82-6.975-3.3-5.748-2.736-12.198.418-21.613%203.155-9.414%202.86-21.856-1.644-33.55l.041.003-12.507-32.667c-12.88-33.415-.747-70.376%2027.41-90.31l-1.102-2.749c-3.685-9.583%201.14-20.438%2010.723-24.124%209.583-3.685%2020.439%201.14%2024.124%2010.723l1.654%203.239c34.881-3.556%2068.594%2015.855%2081.318%2049.33l15.24%2038.432c4.795%208.723%2011.831%2015.955%2021.028%2022.248z%22%20id=%22path21-3%22%20fill=%22#fff%22%20stroke=%22#303030%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20id=%22path826%22%20d=%22M64.268%20268.838l45.015-17.115s7.963%2024.296-14.427%2030.38c-22.39%206.086-30.588-13.265-30.588-13.265z%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3Cg%20id=%22layer3%22%3E%3Crect%20ry=%2219.847%22%20y=%223.671%22%20x=%2295.783%22%20height=%22135.189%22%20width=%22135.189%22%20id=%22rect845%22%20fill=%22#55acee%22%20stroke=%22#303030%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3C/g%3E%3Cg%20id=%22layer4%22%3E%3Cpath%20id=%22path7-6%22%20d=%22M172.724%2052.533V27.647h-9.888L144.047%2037.7l2.308%208.9%2014.833-8.076h.33v74.824H172.724V52.533z%22%20class=%22st2%22%20fill=%22#303030%22%20stroke-width=%2214.425%22/%3E%3C/g%3E%3C/g%3E%3Cg%20id=%22g992-5-7%22%20transform=%22matrix(3.23542%200%200%203.23542%20-57.653%2011.124)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20id=%22path992-2-62-5%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20id=%22path1773-2-3-1-8-9-9-3%22%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "046501b8-4427-4d4d-af97-7fe807774f33", + "type": "basic.input", "data": { - "name": "a0", - "range": "[7:0]", - "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia", - "blockColor": "deeppink" + "name": "", + "clock": true }, "position": { - "x": -160, - "y": -512 + "x": 408, + "y": -72 } }, { - "id": "7d042e3c-08e0-4027-ba97-6f6143ac0b7e", - "type": "basic.outputLabel", + "id": "05f62e09-33f9-435f-8355-d4529a75ab42", + "type": "basic.inputLabel", "data": { - "name": "a0", - "range": "[7:0]", - "blockColor": "deeppink", - "size": 8 + "name": "clk", + "blockColor": "yellow" }, "position": { - "x": 224, - "y": -448 + "x": 552, + "y": -72 } }, { - "id": "7114cf32-af2c-438f-b816-1043a8bd819d", - "type": "basic.outputLabel", + "id": "0d991cee-b329-439b-b9e7-5712d2db539d", + "type": "basic.output", "data": { - "name": "b0", - "range": "[7:0]", - "blockColor": "fuchsia", - "size": 8 + "name": "state" }, "position": { - "x": 224, - "y": -384 + "x": 960, + "y": 8 } }, { - "id": "389f9a01-b7df-4d16-8f0e-bb14b76997ce", - "type": "basic.inputLabel", + "id": "89a5da53-cc8b-4099-a5e3-b9cf281619b1", + "type": "basic.output", "data": { - "name": "b2", - "range": "[7:0]", - "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia" + "name": "rst" }, "position": { - "x": 24, - "y": -368 + "x": 960, + "y": 120 } }, { - "id": "a3761c9e-14ee-47ef-95f0-ddbb132ba6cf", - "type": "basic.inputLabel", + "id": "a83c9acd-2e13-413d-907f-7231924811d8", + "type": "basic.outputLabel", "data": { - "name": "b1", - "range": "[7:0]", - "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia" + "name": "clk", + "blockColor": "yellow" }, "position": { - "x": 24, - "y": -296 + "x": 448, + "y": 216 } }, { - "id": "c37b5f19-0593-403c-bd31-56990c7eb37a", + "id": "2b16f62c-39ef-4e1c-aa83-f0d248bfecc8", + "type": "basic.outputLabel", + "data": { + "name": "clk", + "blockColor": "yellow" + }, + "position": { + "x": 800, + "y": 216 + } + }, + { + "id": "aefe9248-3b3d-441b-9e65-33cda65b99dd", + "type": "basic.output", + "data": { + "name": "on" + }, + "position": { + "x": 1088, + "y": 288 + } + }, + { + "id": "88176871-35ac-42bf-bf62-36c81a4b4b47", "type": "basic.input", "data": { - "name": "", - "range": "[23:0]", - "clock": false, - "size": 24 + "name": "start", + "clock": false }, "position": { - "x": -496, - "y": -240 + "x": 424, + "y": 288 } }, { - "id": "a7cd6890-7130-4f25-9966-b5ca1132d597", - "type": "basic.inputLabel", + "id": "ba15eacb-1e03-4580-932b-3231703481e5", + "type": "basic.input", "data": { - "name": "b0", - "range": "[7:0]", - "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia" + "name": "stop", + "clock": false }, "position": { - "x": -160, - "y": -224 + "x": 424, + "y": 352 } }, { - "id": "64c3574b-3227-40ab-ab03-c2e2af710a45", - "type": "cb23aa3d8a3e95bd194fd9ec9b9c40b36595d893", + "id": "00a49b33-7325-4584-86d5-fbf8c73a8fab", + "type": "basic.outputLabel", + "data": { + "name": "clk", + "blockColor": "yellow" + }, "position": { - "x": 392, - "y": -432 + "x": 808, + "y": 368 + } + }, + { + "id": "3802390d-8417-4369-b93c-dda647ccb0c6", + "type": "basic.output", + "data": { + "name": "off" }, - "size": { - "width": 96, - "height": 64 + "position": { + "x": 1080, + "y": 440 } }, { - "id": "0857be54-1eea-4619-841f-b1bb49aa66d0", - "type": "c3c498191b14e9288a85fa2871b3966665f75475", + "id": "de860182-e038-4198-b4a4-505dd7a6fa9e", + "type": "35f267d0df6ffcb7fc33753bc9df9cf083642cca", "position": { - "x": 560, - "y": -576 + "x": 736, + "y": 120 }, "size": { "width": 96, - "height": 96 + "height": 64 } }, { - "id": "17bd7ef3-6604-48a9-9c2e-50a8be908636", - "type": "8cc49c9b29485f2cfeab6064d7bb1cf9ced045b1", + "id": "42f19387-aa1f-4514-88aa-adca9bf9f03b", + "type": "basic.info", + "data": { + "info": "**Tic de apagado**", + "readonly": true + }, "position": { - "x": 800, - "y": -520 + "x": 1080, + "y": 424 }, "size": { - "width": 96, - "height": 64 + "width": 168, + "height": 40 } }, { - "id": "9ed89505-bd1e-4e7e-b4af-ae8c5a01bbfe", - "type": "ab13f05d92d80a82af1a712a92621ea26dde55f3", + "id": "eaab4880-4c6d-422f-a8ab-c06e579aa7c6", + "type": "basic.info", + "data": { + "info": "**Tic de encendido**", + "readonly": true + }, "position": { - "x": -336, - "y": -240 + "x": 1080, + "y": 272 }, "size": { - "width": 96, - "height": 64 + "width": 168, + "height": 40 } }, { - "id": "27df49b2-0dd8-448e-a014-bca989657886", - "type": "306ca367fbbc5181b3c709d73f447e0710871a1d", + "id": "4e85996b-c40e-4f84-bfbc-ff87d4bc425d", + "type": "basic.info", + "data": { + "info": "**Inicializar**", + "readonly": true + }, "position": { - "x": -160, - "y": -312 + "x": 968, + "y": 96 }, "size": { - "width": 96, - "height": 64 + "width": 168, + "height": 40 } }, { - "id": "fe7804dd-1170-4d4d-a734-cc17e193a209", - "type": "ab13f05d92d80a82af1a712a92621ea26dde55f3", + "id": "130f81c9-ce87-47a8-b393-762b31a724fc", + "type": "basic.info", + "data": { + "info": "**Estado de la máquina**", + "readonly": true + }, "position": { - "x": -328, - "y": -608 + "x": 936, + "y": -16 }, "size": { - "width": 96, - "height": 64 + "width": 168, + "height": 40 } }, { - "id": "48515e04-a5ad-4b03-8ad2-58e336de48ca", - "type": "306ca367fbbc5181b3c709d73f447e0710871a1d", + "id": "676afc2b-c0b0-4829-b192-7e64dde3d21d", + "type": "ef27646a2ca3d9f1e7811dac0fd909719b5affe1", "position": { - "x": -128, - "y": -624 + "x": 600, + "y": 272 }, "size": { "width": 96, - "height": 64 + "height": 96 } }, { - "id": "dcab5da0-fe7e-4131-af28-829e18fbb525", - "type": "c3c498191b14e9288a85fa2871b3966665f75475", + "id": "1c4e8a3b-13ab-4364-9a0e-820f6a31ab95", + "type": "ae13be3e513e7cb48d47d3fb3aa840dd85dc1f5e", "position": { - "x": 744, - "y": -768 + "x": 928, + "y": 272 }, "size": { "width": 96, - "height": 96 + "height": 64 } }, { - "id": "c047f19d-fd2f-4cf6-a055-3b4ae336688a", - "type": "a52e3be3d374c081062b542fc91c5cb1be726cb8", + "id": "4deefcf0-477f-40e1-af35-6e99a039cea8", + "type": "3ae3bbe36b39edd47bc66dd6290af6cb6c47fa47", "position": { - "x": 976, - "y": -616 + "x": 944, + "y": 424 }, "size": { "width": 96, @@ -22451,3197 +17834,3688 @@ "wires": [ { "source": { - "block": "9ed89505-bd1e-4e7e-b4af-ae8c5a01bbfe", - "port": "872cccab-7461-412b-9924-bad211fa1922", - "size": 8 + "block": "046501b8-4427-4d4d-af97-7fe807774f33", + "port": "out" + }, + "target": { + "block": "05f62e09-33f9-435f-8355-d4529a75ab42", + "port": "inlabel" + } + }, + { + "source": { + "block": "a83c9acd-2e13-413d-907f-7231924811d8", + "port": "outlabel" + }, + "target": { + "block": "676afc2b-c0b0-4829-b192-7e64dde3d21d", + "port": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6" + } + }, + { + "source": { + "block": "2b16f62c-39ef-4e1c-aa83-f0d248bfecc8", + "port": "outlabel" + }, + "target": { + "block": "1c4e8a3b-13ab-4364-9a0e-820f6a31ab95", + "port": "2708468d-1088-4570-be63-fb0d4799a941" + } + }, + { + "source": { + "block": "00a49b33-7325-4584-86d5-fbf8c73a8fab", + "port": "outlabel" + }, + "target": { + "block": "4deefcf0-477f-40e1-af35-6e99a039cea8", + "port": "2708468d-1088-4570-be63-fb0d4799a941" + } + }, + { + "source": { + "block": "676afc2b-c0b0-4829-b192-7e64dde3d21d", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + }, + "target": { + "block": "1c4e8a3b-13ab-4364-9a0e-820f6a31ab95", + "port": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff" + } + }, + { + "source": { + "block": "676afc2b-c0b0-4829-b192-7e64dde3d21d", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "a7cd6890-7130-4f25-9966-b5ca1132d597", - "port": "inlabel" + "block": "0d991cee-b329-439b-b9e7-5712d2db539d", + "port": "in" }, - "size": 8 + "vertices": [ + { + "x": 720, + "y": 144 + } + ] }, { "source": { - "block": "7114cf32-af2c-438f-b816-1043a8bd819d", - "port": "outlabel" + "block": "676afc2b-c0b0-4829-b192-7e64dde3d21d", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "64c3574b-3227-40ab-ab03-c2e2af710a45", - "port": "63477487-9493-4058-a7e1-9bab443ec466", - "size": 8 - }, - "size": 8 + "block": "de860182-e038-4198-b4a4-505dd7a6fa9e", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } }, { "source": { - "block": "7d042e3c-08e0-4027-ba97-6f6143ac0b7e", - "port": "outlabel" + "block": "de860182-e038-4198-b4a4-505dd7a6fa9e", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, "target": { - "block": "64c3574b-3227-40ab-ab03-c2e2af710a45", - "port": "b4b08c4b-8eb1-4cd3-a1bf-a45bf7177ed3", - "size": 8 - }, - "size": 8 + "block": "89a5da53-cc8b-4099-a5e3-b9cf281619b1", + "port": "in" + } }, { "source": { - "block": "4f2c77a9-f54e-4c7e-b1b8-d1739ea521c7", - "port": "outlabel" + "block": "88176871-35ac-42bf-bf62-36c81a4b4b47", + "port": "out" }, "target": { - "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", - "port": "4bf17d89-89b8-4524-800a-2d15f9bbb111", - "size": 8 - }, - "size": 8 + "block": "676afc2b-c0b0-4829-b192-7e64dde3d21d", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + } }, { "source": { - "block": "4743defe-36c0-40a2-aaf0-188272583034", - "port": "outlabel" + "block": "ba15eacb-1e03-4580-932b-3231703481e5", + "port": "out" }, "target": { - "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", - "port": "3867504b-f331-4e0e-b923-acc86cb4255c", - "size": 8 - }, - "size": 8 + "block": "676afc2b-c0b0-4829-b192-7e64dde3d21d", + "port": "fc243ba8-9abb-4a22-81c4-fabdf043cd01" + } }, { "source": { - "block": "27df49b2-0dd8-448e-a014-bca989657886", - "port": "0e7ef93d-c4da-4c2e-9653-7a470dc912b6", - "size": 8 + "block": "1c4e8a3b-13ab-4364-9a0e-820f6a31ab95", + "port": "1c25e08e-e664-4fab-9b30-cedc1f8a3739" }, "target": { - "block": "a3761c9e-14ee-47ef-95f0-ddbb132ba6cf", - "port": "inlabel" - }, - "size": 8 + "block": "aefe9248-3b3d-441b-9e65-33cda65b99dd", + "port": "in" + } }, { "source": { - "block": "fe7804dd-1170-4d4d-a734-cc17e193a209", - "port": "872cccab-7461-412b-9924-bad211fa1922", - "size": 8 + "block": "676afc2b-c0b0-4829-b192-7e64dde3d21d", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "6736a55c-7818-4da9-9c1a-f57200ad2526", - "port": "inlabel" + "block": "4deefcf0-477f-40e1-af35-6e99a039cea8", + "port": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff" }, - "size": 8 + "vertices": [ + { + "x": 744, + "y": 368 + } + ] }, { "source": { - "block": "48515e04-a5ad-4b03-8ad2-58e336de48ca", - "port": "0e7ef93d-c4da-4c2e-9653-7a470dc912b6", - "size": 8 + "block": "4deefcf0-477f-40e1-af35-6e99a039cea8", + "port": "1c25e08e-e664-4fab-9b30-cedc1f8a3739" }, "target": { - "block": "e2589574-b6cc-4faf-8e69-3d23248bcba2", - "port": "inlabel" + "block": "3802390d-8417-4369-b93c-dda647ccb0c6", + "port": "in" + } + } + ] + } + } + }, + "3ae3bbe36b39edd47bc66dd6290af6cb6c47fa47": { + "package": { + "name": "Falling-edge-detector CLONE", + "version": "0.3-c1697559169818", + "description": "Falling-edge detector. It generates a 1-period pulse (tic) when a falling edge is detected on the input", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22185.363%22%20height=%22183.398%22%20viewBox=%220%200%2049.043981%2048.524089%22%3E%3Cg%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M13.478%2032.434l6.026%207.975-5.054%206.03%201.749%201.556m-3.96-15.367l-3.5%207.976-7.97%201.555.583%202.529%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%221.058%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M12.773%201.984v29.943%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%223.969%22/%3E%3Cpath%20d=%22M1.984%2022.176l10.689%2010.452%2010.35-10.452%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%223.969%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22matrix(.842%200%200%20.842%20-48.178%20-26.157)%22%20stroke=%22green%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "2b563f82-937a-4a8e-92c0-d29e947d1cac", + "type": "basic.output", + "data": { + "name": "nc" }, - "size": 8 + "position": { + "x": 712, + "y": 56 + } }, { - "source": { - "block": "27df49b2-0dd8-448e-a014-bca989657886", - "port": "6ac467f0-b16b-44ef-8f03-ae206c13186e", - "size": 8 + "id": "2708468d-1088-4570-be63-fb0d4799a941", + "type": "basic.input", + "data": { + "name": "", + "clock": true }, - "target": { - "block": "389f9a01-b7df-4d16-8f0e-bb14b76997ce", - "port": "inlabel" + "position": { + "x": 88, + "y": 152 + } + }, + { + "id": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", + "type": "basic.input", + "data": { + "name": "", + "clock": false }, - "size": 8 + "position": { + "x": 88, + "y": 280 + } }, { - "source": { - "block": "48515e04-a5ad-4b03-8ad2-58e336de48ca", - "port": "6ac467f0-b16b-44ef-8f03-ae206c13186e", - "size": 8 + "id": "1c25e08e-e664-4fab-9b30-cedc1f8a3739", + "type": "basic.output", + "data": { + "name": "" }, - "target": { - "block": "235e1fe4-919e-422d-9eb3-dc232e8f9407", - "port": "inlabel" + "position": { + "x": 688, + "y": 296 + } + }, + { + "id": "49c0a94e-2687-4aa4-8cba-327b2942095f", + "type": "basic.info", + "data": { + "info": "## Falling edge detector\n\nIt generates a 1-period pulse (tic) when a falling edge is detected on the \ninput signal", + "readonly": true }, - "size": 8 + "position": { + "x": 104, + "y": -40 + }, + "size": { + "width": 568, + "height": 80 + } }, { - "source": { - "block": "cc858595-88b1-4f0b-baeb-77fdd9a4d7ed", - "port": "outlabel" + "id": "a6ea5e17-d259-4272-8d1c-87a6a7fe3235", + "type": "basic.info", + "data": { + "info": "Input signal", + "readonly": true }, - "target": { - "block": "dcab5da0-fe7e-4131-af28-829e18fbb525", - "port": "3867504b-f331-4e0e-b923-acc86cb4255c", - "size": 8 + "position": { + "x": 96, + "y": 256 }, - "size": 8 + "size": { + "width": 136, + "height": 40 + } }, { - "source": { - "block": "8ac0c222-8cbc-4974-bfd2-43f11eb8d8ad", - "port": "outlabel" + "id": "d0d6c668-3c03-42f5-9244-9a0431f11a87", + "type": "basic.info", + "data": { + "info": "System clock", + "readonly": true }, - "target": { - "block": "dcab5da0-fe7e-4131-af28-829e18fbb525", - "port": "4bf17d89-89b8-4524-800a-2d15f9bbb111", - "size": 8 + "position": { + "x": 104, + "y": 120 }, - "size": 8 + "size": { + "width": 96, + "height": 48 + } }, { - "source": { - "block": "64c3574b-3227-40ab-ab03-c2e2af710a45", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "id": "f18011f4-eb45-4f91-9716-c1d8c99f1845", + "type": "basic.info", + "data": { + "info": "Current signal \nstate", + "readonly": true }, - "target": { - "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", - "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" + "position": { + "x": 192, + "y": 368 + }, + "size": { + "width": 168, + "height": 48 } }, { - "source": { - "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", - "port": "9daaaf78-5a89-4d4a-a1b2-db1d3af962f1" + "id": "ab801839-c115-4e44-adb7-349586890b97", + "type": "basic.info", + "data": { + "info": "Signal state in the previous \nclock cycle", + "readonly": true }, - "target": { - "block": "17bd7ef3-6604-48a9-9c2e-50a8be908636", - "port": "5a35cd57-1006-4f6d-b263-5b977e9ef142" + "position": { + "x": 328, + "y": 200 }, - "size": 8 + "size": { + "width": 248, + "height": 48 + } + }, + { + "id": "fde5c436-d382-48e7-80b5-390c05f46b9d", + "type": "basic.info", + "data": { + "info": "If the current signal is 0 and its value in \nthe previous clock cycle was 1, it means \nthat a falling edge has been detected! \nThe output es 1\n\nIn any other case the output is 0", + "readonly": true + }, + "position": { + "x": 560, + "y": 136 + }, + "size": { + "width": 344, + "height": 96 + } }, { - "source": { - "block": "64c3574b-3227-40ab-ab03-c2e2af710a45", - "port": "dc2d9a2c-9ee9-4985-a678-d88c89fd8b74" + "id": "c3990bfd-57a6-4602-ab46-800486326dd6", + "type": "basic.info", + "data": { + "info": "**Delay**: 0 clock cycles \n\nThere is no delay between the arrival of a falling edge \nand its detection", + "readonly": true }, - "target": { - "block": "17bd7ef3-6604-48a9-9c2e-50a8be908636", - "port": "38fdb02d-4323-4a34-9ffe-8385f844b660" + "position": { + "x": 224, + "y": 488 }, - "size": 8 + "size": { + "width": 416, + "height": 88 + } }, { - "source": { - "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "id": "cb3c75b7-aa35-448f-bd35-28e6df0c68f3", + "type": "ba518ee261a2be13a9739cd3a01cdcebe0ef63c0", + "position": { + "x": 544, + "y": 296 }, - "target": { - "block": "dcab5da0-fe7e-4131-af28-829e18fbb525", - "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" + "size": { + "width": 96, + "height": 64 } }, { - "source": { - "block": "dcab5da0-fe7e-4131-af28-829e18fbb525", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "id": "ffe5388b-d5a9-4c10-a091-472e212b4945", + "type": "3676a00f3a70e406487ed14b901daf3e4984e63d", + "position": { + "x": 312, + "y": 400 }, - "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "port": "in" + "size": { + "width": 96, + "height": 64 } }, { - "source": { - "block": "17bd7ef3-6604-48a9-9c2e-50a8be908636", - "port": "79c56f9a-597f-491e-b1d1-d321f63303c2" - }, - "target": { - "block": "c047f19d-fd2f-4cf6-a055-3b4ae336688a", - "port": "c4ca0e6a-6557-45ee-8363-1bffebaad486" + "id": "2d9bc250-6e26-46b7-b580-18a611e9a27f", + "type": "58ed2b5c7e33e2f215ccba6c101d9ea4ff60f284", + "position": { + "x": 320, + "y": 264 }, - "size": 16 - }, + "size": { + "width": 96, + "height": 64 + } + } + ], + "wires": [ { "source": { - "block": "c37b5f19-0593-403c-bd31-56990c7eb37a", + "block": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", "port": "out" }, "target": { - "block": "9ed89505-bd1e-4e7e-b4af-ae8c5a01bbfe", - "port": "901245a6-b7da-4af7-8917-7a47e5675ae1" - }, - "size": 24 + "block": "2d9bc250-6e26-46b7-b580-18a611e9a27f", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + } }, { "source": { - "block": "9ed89505-bd1e-4e7e-b4af-ae8c5a01bbfe", - "port": "4ca7b72f-724d-435c-8490-645c338586db" + "block": "2708468d-1088-4570-be63-fb0d4799a941", + "port": "out" }, "target": { - "block": "27df49b2-0dd8-448e-a014-bca989657886", - "port": "a0c9783a-c287-45a7-bfc7-9da552cf732f" - }, - "size": 16 + "block": "2d9bc250-6e26-46b7-b580-18a611e9a27f", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + } }, { "source": { - "block": "934a5244-9d2c-4665-bb14-f92b56c3203c", - "port": "out" + "block": "cb3c75b7-aa35-448f-bd35-28e6df0c68f3", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, "target": { - "block": "fe7804dd-1170-4d4d-a734-cc17e193a209", - "port": "901245a6-b7da-4af7-8917-7a47e5675ae1" - }, - "size": 24 + "block": "1c25e08e-e664-4fab-9b30-cedc1f8a3739", + "port": "in" + } }, { "source": { - "block": "fe7804dd-1170-4d4d-a734-cc17e193a209", - "port": "4ca7b72f-724d-435c-8490-645c338586db" + "block": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", + "port": "out" }, "target": { - "block": "48515e04-a5ad-4b03-8ad2-58e336de48ca", - "port": "a0c9783a-c287-45a7-bfc7-9da552cf732f" - }, - "size": 16 + "block": "ffe5388b-d5a9-4c10-a091-472e212b4945", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } }, { "source": { - "block": "dcab5da0-fe7e-4131-af28-829e18fbb525", - "port": "9daaaf78-5a89-4d4a-a1b2-db1d3af962f1" + "block": "2d9bc250-6e26-46b7-b580-18a611e9a27f", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" }, "target": { - "block": "c047f19d-fd2f-4cf6-a055-3b4ae336688a", - "port": "29a44a77-ec20-436d-a9e8-7fc2ca5de57e" - }, - "size": 8 + "block": "cb3c75b7-aa35-448f-bd35-28e6df0c68f3", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } }, { "source": { - "block": "c047f19d-fd2f-4cf6-a055-3b4ae336688a", - "port": "756c8eb7-3567-48b4-9757-fe992499b794" + "block": "ffe5388b-d5a9-4c10-a091-472e212b4945", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, "target": { - "block": "4f58ac7d-7f3d-47a4-863a-659bcc4c1d53", - "port": "in" - }, - "size": 24 + "block": "cb3c75b7-aa35-448f-bd35-28e6df0c68f3", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + } } ] } } }, - "cb23aa3d8a3e95bd194fd9ec9b9c40b36595d893": { + "bf21f4d270a776c39e0c3763ffe9253d8f25e93d": { "package": { - "name": "Adder-8bits", - "version": "0.1", - "description": "Adder-8bits: Adder of two operands of 8 bits", + "name": "14-Reg-rst", + "version": "0.8", + "description": "14-Reg-rst: 14 bits Register with reset. Verilog implementation", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", - "otid": 1618560481898 + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22286.865%22%20height=%22270.812%22%20viewBox=%220%200%2075.899794%2071.65232%22%3E%3Cpath%20d=%22M43.907%2033.607h10.645%22%20color=%22#000%22%20fill=%22#00f%22/%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M102.876%20163.95l4.552%2028.037%205.644-28.037%22%20fill=%22#ccc%22%20transform=%22matrix(.65581%20-.3791%20.37863%20.6566%20-85.712%20-27.533)%22/%3E%3Cpath%20d=%22M99.758%20149.859l2.39-28.512h-9.831v-5.462h31.86v5.462h-9.284l1.724%2028.769s7.509%201.248%209.269%206.48c1.76%205.231-.367%207.286.15%207.36l-36.077-.044s-.817-6.104%202.015-9.194c2.832-3.09%207.784-4.86%207.784-4.86z%22%20fill=%22red%22%20transform=%22matrix(.65581%20-.3791%20.37863%20.6566%20-85.712%20-27.533)%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M102.876%20163.95l4.552%2028.037%205.644-28.037%22%20fill=%22#ccc%22%20transform=%22matrix(.65581%20-.3791%20.37863%20.6566%20-69.38%20-28.47)%22/%3E%3Cpath%20d=%22M99.758%20149.859l2.39-28.512h-9.831v-5.462h31.86v5.462h-9.284l1.724%2028.769s7.509%201.248%209.269%206.48c1.76%205.231-.367%207.286.15%207.36l-36.077-.044s-.817-6.104%202.015-9.194c2.832-3.09%207.784-4.86%207.784-4.86z%22%20fill=%22red%22%20transform=%22matrix(.65581%20-.3791%20.37863%20.6566%20-69.38%20-28.47)%22/%3E%3C/g%3E%3Cg%20transform=%22translate(-93.518%20-25.072)%20scale(1.09073)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20cx=%22100.602%22%20cy=%2273.815%22%20r=%2214.559%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618509859237 }, "design": { "graph": { "blocks": [ { - "id": "1c85838b-e269-4a65-a112-0a1bbca9b2a1", - "type": "basic.inputLabel", - "data": { - "name": "a1", - "range": "[3:0]", - "pins": [ - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia", - "blockColor": "deeppink" - }, - "position": { - "x": 16, - "y": -688 - } - }, - { - "id": "d01b9c0c-a541-49e6-b5aa-a0c0f21612a0", - "type": "basic.outputLabel", - "data": { - "name": "a1", - "range": "[3:0]", - "oldBlockColor": "fuchsia", - "blockColor": "deeppink", - "size": 4 - }, - "position": { - "x": 352, - "y": -664 - } - }, - { - "id": "b4b08c4b-8eb1-4cd3-a1bf-a45bf7177ed3", + "id": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", "type": "basic.input", "data": { "name": "", - "range": "[7:0]", - "clock": false, - "size": 8 + "clock": true }, "position": { - "x": -312, - "y": -632 + "x": 560, + "y": 64 } }, { - "id": "f3b83846-5723-40b3-a598-fd21797f7ce1", - "type": "basic.inputLabel", + "id": "36fccd77-8921-45ec-b4f9-9dd209acaefa", + "type": "basic.output", "data": { - "name": "a0", - "range": "[3:0]", - "pins": [ - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia", - "blockColor": "deeppink" + "name": "nc" }, "position": { - "x": 16, - "y": -616 + "x": 1184, + "y": 72 } }, { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "id": "93c58f23-2a4f-40ba-8cc1-80e434606d4e", "type": "basic.output", "data": { - "name": "c" + "name": "nc" }, "position": { - "x": 960, - "y": -608 + "x": 1184, + "y": 144 } }, { - "id": "fb36b075-bb31-4aa7-8dbd-f0d108126f21", - "type": "basic.outputLabel", + "id": "c97f7411-94ef-4d63-ba23-ce596ebcbb25", + "type": "basic.input", "data": { - "name": "b1", - "range": "[3:0]", - "blockColor": "fuchsia", - "size": 4 + "name": "rst", + "clock": false }, "position": { - "x": 352, - "y": -584 + "x": 560, + "y": 168 } }, { - "id": "dc2d9a2c-9ee9-4985-a678-d88c89fd8b74", + "id": "521f03e5-f364-41b0-a2b8-c7858e6debf5", "type": "basic.output", "data": { - "name": "s", - "range": "[7:0]", - "size": 8 + "name": "", + "range": "[13:0]", + "size": 14 }, "position": { - "x": 960, - "y": -544 + "x": 1184, + "y": 224 } }, { - "id": "6de2e227-2992-41fb-a52e-16e86632cd2c", - "type": "basic.outputLabel", + "id": "e699a6f3-fd6f-49dc-a8d3-d35853cb8e6b", + "type": "basic.input", "data": { - "name": "a0", - "range": "[3:0]", - "oldBlockColor": "fuchsia", - "blockColor": "deeppink", - "size": 4 + "name": "", + "range": "[13:0]", + "clock": false, + "size": 14 }, "position": { - "x": 184, - "y": -472 + "x": 560, + "y": 272 } }, { - "id": "d5b2605b-a224-4d60-896b-d1553fd943e1", - "type": "basic.inputLabel", + "id": "f1022de4-0225-43d7-92d3-451161ee6942", + "type": "basic.input", "data": { - "name": "b1", - "range": "[3:0]", - "pins": [ - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia" + "name": "load", + "clock": false }, "position": { - "x": 8, - "y": -440 + "x": 560, + "y": 376 } }, { - "id": "e3beef79-c05d-4705-8dbc-de5b7b94941a", - "type": "basic.outputLabel", + "id": "9544d010-d8ad-4946-b068-6b9273721873", + "type": "basic.output", "data": { - "name": "b0", - "range": "[3:0]", - "blockColor": "fuchsia", - "size": 4 + "name": "nc" }, "position": { - "x": 184, - "y": -408 + "x": 1184, + "y": 376 } }, { - "id": "63477487-9493-4058-a7e1-9bab443ec466", - "type": "basic.input", + "id": "d9020031-ade2-47d0-bca0-4b88fe7eaebd", + "type": "basic.constant", "data": { "name": "", - "range": "[7:0]", - "clock": false, - "size": 8 + "value": "0", + "local": false }, "position": { - "x": -320, - "y": -384 + "x": 864, + "y": -80 } }, { - "id": "df32424c-55e8-45ed-9adc-3d8bb146e3e0", - "type": "basic.inputLabel", + "id": "2947d492-028d-487a-83fa-b2f84a2e2d2f", + "type": "basic.code", "data": { - "name": "b0", - "range": "[3:0]", - "pins": [ - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "rst" + }, + { + "name": "d", + "range": "[13:0]", + "size": 14 + }, + { + "name": "load" + } + ], + "out": [ + { + "name": "q", + "range": "[13:0]", + "size": 14 + } + ] + }, + "params": [ { - "index": "0", - "name": "", - "value": "" + "name": "INI" } ], - "virtual": true, - "blockColor": "fuchsia" + "code": "//-- Generic register with reset\n//-- Number of bits\nlocalparam N = 14;\n\n//-- Initial value\nreg [N-1:0] qi = INI;\n\nalways @(posedge clk)\nbegin\n\n //-- Reset has the priority\n if (rst == 1'b1)\n qi <= INI;\n \n else\n //-- The value is load only if \n //-- load is 1\n if (load == 1'b1)\n qi <= d;\n \n //-- In any other case the reg\n //-- keeps its value\nend\n\n//-- Connect the register with the\n//-- output\nassign q = qi;\n" }, "position": { - "x": 8, - "y": -368 + "x": 720, + "y": 40 + }, + "size": { + "width": 376, + "height": 424 } + } + ], + "wires": [ + { + "source": { + "block": "d9020031-ade2-47d0-bca0-4b88fe7eaebd", + "port": "constant-out" + }, + "target": { + "block": "2947d492-028d-487a-83fa-b2f84a2e2d2f", + "port": "INI" + }, + "vertices": [] }, { - "id": "6781108b-d67f-4ee8-97a9-79bab2c400b1", - "type": "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a", - "position": { - "x": -168, - "y": -384 + "source": { + "block": "2947d492-028d-487a-83fa-b2f84a2e2d2f", + "port": "q" }, - "size": { - "width": 96, - "height": 64 + "target": { + "block": "521f03e5-f364-41b0-a2b8-c7858e6debf5", + "port": "in" + }, + "size": 14 + }, + { + "source": { + "block": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", + "port": "out" + }, + "target": { + "block": "2947d492-028d-487a-83fa-b2f84a2e2d2f", + "port": "clk" } }, { - "id": "ffcdd533-6cad-4ba4-9f88-4b1030d78af8", - "type": "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a", - "position": { - "x": -152, - "y": -632 + "source": { + "block": "e699a6f3-fd6f-49dc-a8d3-d35853cb8e6b", + "port": "out" }, - "size": { - "width": 96, - "height": 64 + "target": { + "block": "2947d492-028d-487a-83fa-b2f84a2e2d2f", + "port": "d" + }, + "size": 14 + }, + { + "source": { + "block": "c97f7411-94ef-4d63-ba23-ce596ebcbb25", + "port": "out" + }, + "target": { + "block": "2947d492-028d-487a-83fa-b2f84a2e2d2f", + "port": "rst" } }, { - "id": "7b82019f-c8a7-4b8c-baa1-6eb224a95cb2", - "type": "25966b9480fc28011aea0e17452c30d5ff9d76e8", - "position": { - "x": 352, - "y": -456 + "source": { + "block": "f1022de4-0225-43d7-92d3-451161ee6942", + "port": "out" }, - "size": { - "width": 96, - "height": 64 + "target": { + "block": "2947d492-028d-487a-83fa-b2f84a2e2d2f", + "port": "load" + } + } + ] + } + } + }, + "5ba0990b1cafb42a483bf845663b1bce6cbfa43b": { + "package": { + "name": "AdderK-14bits", + "version": "0.6", + "description": "AdderK-14bit: Adder of 14-bit operand and 14-bit constant", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618560481898 + }, + "design": { + "graph": { + "blocks": [ + { + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", + "data": { + "name": "c" + }, + "position": { + "x": 952, + "y": -344 } }, { - "id": "b8a72421-dc14-4c18-b343-9c3516b37f54", - "type": "afb28fd5426aea14477d11cbe30a290679f789f8", + "id": "ccf244b8-cc65-453c-a958-19a3768f7007", + "type": "basic.input", + "data": { + "name": "", + "range": "[13:0]", + "clock": false, + "size": 14 + }, "position": { - "x": 760, - "y": -544 + "x": 384, + "y": -288 + } + }, + { + "id": "097a6fa5-5366-4605-952c-dcc1425e255c", + "type": "basic.output", + "data": { + "name": "s", + "range": "[13:0]", + "size": 14 }, - "size": { - "width": 96, - "height": 64 + "position": { + "x": 952, + "y": -232 + } + }, + { + "id": "e728fdca-755f-4f2d-98e7-0716b1c5258f", + "type": "basic.constant", + "data": { + "name": "", + "value": "0", + "local": false + }, + "position": { + "x": 680, + "y": -472 } }, { - "id": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", - "type": "a1ce303b8ce47a06371ea4641c81460f34a1cca9", + "id": "2ad3d9b5-c810-4c17-b74b-9fc432126626", + "type": "basic.code", + "data": { + "ports": { + "in": [ + { + "name": "a", + "range": "[13:0]", + "size": 14 + } + ], + "out": [ + { + "name": "c" + }, + { + "name": "s", + "range": "[13:0]", + "size": 14 + } + ] + }, + "params": [ + { + "name": "k" + } + ], + "code": "//-- Number of bits\nlocalparam N = 14;\n\n//-- Temporal cable with N+1 bits\nwire [N:0] temp;\n\nwire [N-1:0] b = k;\nassign temp = {1'b0, a} + {1'b0, b};\nassign s = temp[N-1:0];\nassign c = temp[N];" + }, "position": { - "x": 520, - "y": -600 + "x": 560, + "y": -368 }, "size": { - "width": 96, - "height": 96 + "width": 336, + "height": 224 } } ], "wires": [ { "source": { - "block": "6781108b-d67f-4ee8-97a9-79bab2c400b1", - "port": "eb61d084-ca22-4894-b8a2-f936db38f4b1", - "size": 4 + "block": "2ad3d9b5-c810-4c17-b74b-9fc432126626", + "port": "c" }, "target": { - "block": "df32424c-55e8-45ed-9adc-3d8bb146e3e0", - "port": "inlabel" - }, - "size": 4 + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" + } }, { "source": { - "block": "6781108b-d67f-4ee8-97a9-79bab2c400b1", - "port": "637e64f4-0a6b-4037-9a75-89397e078a58", - "size": 4 + "block": "e728fdca-755f-4f2d-98e7-0716b1c5258f", + "port": "constant-out" }, "target": { - "block": "d5b2605b-a224-4d60-896b-d1553fd943e1", - "port": "inlabel" - }, - "size": 4 + "block": "2ad3d9b5-c810-4c17-b74b-9fc432126626", + "port": "k" + } }, { "source": { - "block": "ffcdd533-6cad-4ba4-9f88-4b1030d78af8", - "port": "637e64f4-0a6b-4037-9a75-89397e078a58", - "size": 4 + "block": "2ad3d9b5-c810-4c17-b74b-9fc432126626", + "port": "s" }, "target": { - "block": "1c85838b-e269-4a65-a112-0a1bbca9b2a1", - "port": "inlabel" + "block": "097a6fa5-5366-4605-952c-dcc1425e255c", + "port": "in" }, - "size": 4 + "size": 14 }, { "source": { - "block": "ffcdd533-6cad-4ba4-9f88-4b1030d78af8", - "port": "eb61d084-ca22-4894-b8a2-f936db38f4b1", - "size": 4 + "block": "ccf244b8-cc65-453c-a958-19a3768f7007", + "port": "out" }, "target": { - "block": "f3b83846-5723-40b3-a598-fd21797f7ce1", - "port": "inlabel" + "block": "2ad3d9b5-c810-4c17-b74b-9fc432126626", + "port": "a" }, - "size": 4 + "size": 14 + } + ] + } + } + }, + "c98ba9d3bd2afa5c5dc32f623ae81a9df5d211b3": { + "package": { + "name": "comp2-14bits", + "version": "0.2", + "description": "Comp2-14bit: Comparator of two 14-bit numbers", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22312.756%22%20height=%22168.82%22%20viewBox=%220%200%20293.20803%20158.26888%22%3E%3Cg%20font-weight=%22400%22%20letter-spacing=%220%22%20word-spacing=%220%22%20font-family=%22sans-serif%22%20stroke-width=%22.057%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M0%200h293.209v53.747H-.001zm0%20104.064h293.209v54.205H-.001z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20font-size=%2296.3%22%20fill=%22#00f%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E", + "otid": 1618594740929 + }, + "design": { + "graph": { + "blocks": [ + { + "id": "a42068b6-dc74-4537-869c-d20ea32059b0", + "type": "basic.input", + "data": { + "name": "", + "range": "[13:0]", + "clock": false, + "size": 14 + }, + "position": { + "x": 368, + "y": 56 + } }, { - "source": { - "block": "e3beef79-c05d-4705-8dbc-de5b7b94941a", - "port": "outlabel" + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", + "data": { + "name": "" }, - "target": { - "block": "7b82019f-c8a7-4b8c-baa1-6eb224a95cb2", - "port": "d192d0af-e7be-4be6-925a-50227d80784c", - "size": 4 + "position": { + "x": 968, + "y": 88 + } + }, + { + "id": "b457d512-6d78-479d-9b18-993a80c00740", + "type": "basic.input", + "data": { + "name": "", + "range": "[13:0]", + "clock": false, + "size": 14 }, - "size": 4 + "position": { + "x": 368, + "y": 176 + } }, { - "source": { - "block": "6de2e227-2992-41fb-a52e-16e86632cd2c", - "port": "outlabel" + "id": "2df886b0-4697-49ce-a8dd-2ffa9ede33a7", + "type": "basic.info", + "data": { + "info": "A", + "readonly": true }, - "target": { - "block": "7b82019f-c8a7-4b8c-baa1-6eb224a95cb2", - "port": "c2d36218-be99-4dd1-bf69-7690c667255b", - "size": 4 + "position": { + "x": 408, + "y": 32 }, - "size": 4 + "size": { + "width": 80, + "height": 32 + } }, { - "source": { - "block": "fb36b075-bb31-4aa7-8dbd-f0d108126f21", - "port": "outlabel" + "id": "fa5825ce-289b-4004-84f5-12ee322cae15", + "type": "basic.info", + "data": { + "info": "B", + "readonly": true }, - "target": { - "block": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", - "port": "d192d0af-e7be-4be6-925a-50227d80784c", - "size": 4 + "position": { + "x": 408, + "y": 152 }, - "size": 4 + "size": { + "width": 80, + "height": 32 + } }, + { + "id": "3e7a13bd-12d9-438b-ac65-f3642c1c2066", + "type": "basic.code", + "data": { + "ports": { + "in": [ + { + "name": "a", + "range": "[13:0]", + "size": 14 + }, + { + "name": "b", + "range": "[13:0]", + "size": 14 + } + ], + "out": [ + { + "name": "o" + } + ] + }, + "params": [], + "code": "assign o = (a == b);" + }, + "position": { + "x": 584, + "y": 56 + }, + "size": { + "width": 304, + "height": 128 + } + } + ], + "wires": [ { "source": { - "block": "d01b9c0c-a541-49e6-b5aa-a0c0f21612a0", - "port": "outlabel" + "block": "a42068b6-dc74-4537-869c-d20ea32059b0", + "port": "out" }, "target": { - "block": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", - "port": "c2d36218-be99-4dd1-bf69-7690c667255b", - "size": 4 + "block": "3e7a13bd-12d9-438b-ac65-f3642c1c2066", + "port": "a" }, - "size": 4 + "size": 14 }, { "source": { - "block": "63477487-9493-4058-a7e1-9bab443ec466", + "block": "b457d512-6d78-479d-9b18-993a80c00740", "port": "out" }, "target": { - "block": "6781108b-d67f-4ee8-97a9-79bab2c400b1", - "port": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e" + "block": "3e7a13bd-12d9-438b-ac65-f3642c1c2066", + "port": "b" }, - "size": 8 + "size": 14 }, { "source": { - "block": "b4b08c4b-8eb1-4cd3-a1bf-a45bf7177ed3", - "port": "out" + "block": "3e7a13bd-12d9-438b-ac65-f3642c1c2066", + "port": "o" }, "target": { - "block": "ffcdd533-6cad-4ba4-9f88-4b1030d78af8", - "port": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e" + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" + } + } + ] + } + } + }, + "be366defa772394c264631243c78ced91837ab0f": { + "package": { + "name": "14-bits-k-1", + "version": "0.0.3", + "description": "Generic: 14-bits k-1 constant (Input values: 1,2,...,). It returns the value input by the user minus 1. Outputs: 0,1,2,...,4095", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20width=%22379.943%22%20height=%22248.129%22%20viewBox=%220%200%20356.19654%20232.62089%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20fill=%22green%22%3E%3Cg%20style=%22line-height:0%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%3E%3Cpath%20d=%22M56.012%20146.905q9.055%206.708%2020.459%2017.105%2011.404%2010.062%2022.472%2021.801%2011.403%2011.739%2021.465%2024.149%2010.062%2012.074%2016.1%2022.471h-32.87q-6.372-10.397-15.763-21.13-9.392-11.068-20.124-21.13-10.398-10.062-21.13-18.447-10.398-8.385-18.783-14.086v74.793H0V4.696L27.838%200v141.874q18.447-16.1%2036.894-31.863%2018.447-16.1%2033.204-33.205h32.534q-14.422%2017.106-34.881%2035.217-20.124%2018.112-39.577%2034.882z%22%20style=%22line-height:1.25%22%20font-size=%22335.399%22%20font-weight=%22400%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22/%3E%3C/g%3E%3Cg%20style=%22line-height:1.25%22%20font-size=%22240.378%22%20stroke-width=%226.009%22%3E%3Cpath%20d=%22M127.343%20148.678h70.366v21.41h-70.366zM243.924%20210.427h43.081V61.732l-46.867%209.4V47.11l46.606-9.4h26.371v172.717h43.082v22.194H243.924z%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "d10a3bb7-99d9-4193-8faf-cbe27f5c8482", + "type": "basic.output", + "data": { + "name": "", + "range": "[13:0]", + "size": 14 }, - "size": 8 + "position": { + "x": 1008, + "y": 248 + } + }, + { + "id": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "type": "basic.constant", + "data": { + "name": "K", + "value": "1", + "local": false + }, + "position": { + "x": 744, + "y": 120 + } }, { - "source": { - "block": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", - "port": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42" + "id": "294f1eb0-e5cf-4c89-b914-bbb9b8305d64", + "type": "basic.info", + "data": { + "info": "Output: 0,1,2,...,4095", + "readonly": true }, - "target": { - "block": "b8a72421-dc14-4c18-b343-9c3516b37f54", - "port": "a1770adf-e143-4506-9d87-3cb9c870f534" + "position": { + "x": 1016, + "y": 224 }, - "size": 4 + "size": { + "width": 192, + "height": 40 + } }, { - "source": { - "block": "7b82019f-c8a7-4b8c-baa1-6eb224a95cb2", - "port": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42" + "id": "83e77c69-25af-4960-9fe3-c1fb07abf203", + "type": "basic.info", + "data": { + "info": "Inputs: 1,2,...", + "readonly": true }, - "target": { - "block": "b8a72421-dc14-4c18-b343-9c3516b37f54", - "port": "843164ff-f7d8-48b9-bf59-1e0d1135c81f" + "position": { + "x": 728, + "y": 80 }, - "size": 4 + "size": { + "width": 184, + "height": 40 + } }, { - "source": { - "block": "b8a72421-dc14-4c18-b343-9c3516b37f54", - "port": "1269698e-e555-4fcb-a613-cb4c7ff2e598" + "id": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "type": "basic.code", + "data": { + "ports": { + "in": [], + "out": [ + { + "name": "k", + "range": "[13:0]", + "size": 14 + } + ] + }, + "params": [ + { + "name": "VALUE" + } + ], + "code": "assign k = VALUE-1;" }, - "target": { - "block": "dc2d9a2c-9ee9-4985-a678-d88c89fd8b74", - "port": "in" + "position": { + "x": 672, + "y": 248 }, - "size": 8 - }, + "size": { + "width": 240, + "height": 64 + } + } + ], + "wires": [ { "source": { - "block": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "block": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "port": "constant-out" }, "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "port": "in" + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "VALUE" } }, { "source": { - "block": "7b82019f-c8a7-4b8c-baa1-6eb224a95cb2", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "k" }, "target": { - "block": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", - "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" - } + "block": "d10a3bb7-99d9-4193-8faf-cbe27f5c8482", + "port": "in" + }, + "size": 14 } ] } } }, - "25966b9480fc28011aea0e17452c30d5ff9d76e8": { + "5fcfda234fb072b021cd8f915af77e7ae7860198": { "package": { - "name": "Adder-4bits", - "version": "0.1", - "description": "Adder-4bits: Adder of two operands of 4 bits", + "name": "24-bits-Mux-2-1-verilog", + "version": "0.2", + "description": "2-to-1 Multplexer (24-bit channels). Verilog implementation", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", - "otid": 1618560481898 + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2280.833%22%20height=%22158.56%22%20viewBox=%220%200%2075.781585%20148.65066%22%3E%3Cpath%20d=%22M74.375%2036.836c0-12.691-6.99-24.413-18.326-30.729-11.335-6.316-25.284-6.262-36.568.141C8.198%2012.652%201.304%2024.427%201.407%2037.118v74.415c-.103%2012.69%206.79%2024.466%2018.074%2030.87%2011.284%206.403%2025.233%206.457%2036.568.14%2011.336-6.316%2018.326-18.037%2018.326-30.728z%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%222.813%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.448%22%20y=%2291.518%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.448%22%20y=%2291.518%22%3E0%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.359%22%20y=%2214.582%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.359%22%20y=%2214.582%22%3E1%3C/tspan%3E%3C/text%3E%3C/svg%3E", + "otid": 1618922858665 }, "design": { "graph": { "blocks": [ { - "id": "1c9b3962-5793-4e6f-98d4-9ca2113d0823", - "type": "basic.inputLabel", + "id": "a7083464-b9f2-4661-ba0e-e1875f71f9f7", + "type": "basic.input", "data": { - "blockColor": "deeppink", - "name": "a3", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "deeppink" + "name": "1", + "range": "[23:0]", + "clock": false, + "size": 24 }, "position": { - "x": 8, - "y": -744 + "x": 328, + "y": -64 } }, { - "id": "161a3e27-de9b-4674-b990-c1e8314a29f3", - "type": "basic.outputLabel", + "id": "cf1ee513-b831-4546-b816-53c8196fca1c", + "type": "basic.output", "data": { - "blockColor": "deeppink", - "name": "a3", - "oldBlockColor": "deeppink" + "name": "", + "range": "[23:0]", + "size": 24 }, "position": { - "x": 576, - "y": -736 + "x": 984, + "y": 24 } }, { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "type": "basic.output", + "id": "63847aa3-e2cd-4ff3-806d-b566a8176645", + "type": "basic.input", "data": { - "name": "c" + "name": "0", + "range": "[23:0]", + "clock": false, + "size": 24 }, "position": { - "x": 920, - "y": -696 + "x": 328, + "y": 24 } }, { - "id": "73a0a48e-d345-4eda-8603-782e9865d928", - "type": "basic.inputLabel", + "id": "1e7e3cd6-ed00-468a-9f7c-0bb91e020dce", + "type": "basic.input", "data": { - "blockColor": "deeppink", - "name": "a2", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "deeppink" + "name": "sel", + "clock": false }, "position": { - "x": 8, - "y": -688 + "x": 320, + "y": 112 } }, { - "id": "05fb13c5-879a-422f-84a8-56d1db8816da", - "type": "basic.outputLabel", + "id": "b64f5610-774d-45c0-bbc6-85b1a6713f43", + "type": "basic.code", "data": { - "blockColor": "fuchsia", - "name": "b3", - "oldBlockColor": "fuchsia" + "ports": { + "in": [ + { + "name": "i1", + "range": "[23:0]", + "size": 24 + }, + { + "name": "i0", + "range": "[23:0]", + "size": 24 + }, + { + "name": "sel" + } + ], + "out": [ + { + "name": "o", + "range": "[23:0]", + "size": 24 + } + ] + }, + "params": [], + "code": "//-- 2-to-1 Multiplexer \n\nassign o = sel ? i1 : i0;" }, "position": { - "x": 576, - "y": -672 + "x": 560, + "y": -80 + }, + "size": { + "width": 304, + "height": 272 } + } + ], + "wires": [ + { + "source": { + "block": "1e7e3cd6-ed00-468a-9f7c-0bb91e020dce", + "port": "out" + }, + "target": { + "block": "b64f5610-774d-45c0-bbc6-85b1a6713f43", + "port": "sel" + }, + "vertices": [] }, { - "id": "a30f87da-7077-4ad6-92dd-adbfdd1bed45", - "type": "basic.inputLabel", - "data": { - "blockColor": "deeppink", - "name": "a1", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "deeppink" + "source": { + "block": "a7083464-b9f2-4661-ba0e-e1875f71f9f7", + "port": "out" }, - "position": { - "x": 8, - "y": -632 - } + "target": { + "block": "b64f5610-774d-45c0-bbc6-85b1a6713f43", + "port": "i1" + }, + "size": 24 }, { - "id": "c2d36218-be99-4dd1-bf69-7690c667255b", - "type": "basic.input", - "data": { - "name": "", - "range": "[3:0]", - "clock": false, - "size": 4 + "source": { + "block": "63847aa3-e2cd-4ff3-806d-b566a8176645", + "port": "out" }, - "position": { - "x": -312, - "y": -632 - } + "target": { + "block": "b64f5610-774d-45c0-bbc6-85b1a6713f43", + "port": "i0" + }, + "size": 24 }, { - "id": "ed7a30bc-17fc-444e-89e5-aa9f83b32e86", - "type": "basic.outputLabel", - "data": { - "blockColor": "deeppink", - "name": "a2", - "oldBlockColor": "deeppink" + "source": { + "block": "b64f5610-774d-45c0-bbc6-85b1a6713f43", + "port": "o" }, - "position": { - "x": 456, - "y": -584 - } - }, + "target": { + "block": "cf1ee513-b831-4546-b816-53c8196fca1c", + "port": "in" + }, + "size": 24 + } + ] + } + } + }, + "698400cf4aed3c1bcc56992cf4dee108a0b3b2d8": { + "package": { + "name": "Mem-16KB-down-machine", + "version": "0.3", + "description": "16KB memory download machine", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20viewBox=%220%200%2088.570022%20126.13218%22%20height=%22476.72%22%20width=%22334.753%22%3E%3Cg%20transform=%22translate(-158.43%20-96.411)%22%3E%3Cimage%20xlink:href=%22data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAgM0lEQVR4Xu1dCZBU1bm+PdPTM8CM%20AgMO+yCrAq4oGjWKIIorcYnRlD59saImGlOaqK/UPPeHu5VyjyYuMRu+uFVEjRqX4FNRQURwQVxQ%20YdiGZQYGepZ+33frfK9Oneq+t+/0zHTad/+qU7fv7bt0n/8///L9/znX+1ZTTDHFFFNMMcUUU0wx%20xRRTTDHFFFNMMcUUU0wxxZToofuX8XPo82LqcLaZUhUAMbucraKi4viysrI9jCBkp5gybKBH0un0%20cuy3URC6WwiSXvcRmV9ZVVV1azKZPBvN69+/vzd06FBv2LBh1mkxff31197ixYvJfa+1tfUnHR0d%20x7W1tc3HV2kJQakJQBmZjzYUo99n/qRJk7xTTz3V69WrV5bTY/rmm2+8u+++29u6desO2L0cAnCq%20YXy61AQgYe5bBebvB9XvJRIJ79hjj/VSqZTX3t6e5ZKYBg0a5B133HHenDlzPPRZLQ5VG+a3lpwJ%20kPoH83uT+Ww77rhjCPNjYh+Z/hqK3T5oW9C2obWXlAaQAMCm9SovL/cGDx7sQaWFXBbTTjvt5AsA%20+qwOu7SVSTnOpSgASdBkSjTtPhybkMtioomkyWTjLvmjSK0UncAkJLmMAgDKUwBiqqur81atWkUt%200Bcmc2XJaQCBPtqCvMrKyjztf0wIm9lp1AbjW1paPrIwlUzJaAAJAKgajbYtTwGIaeDAgd6KFSv8%20zmMfloIJcCFf3rOCDT7AKAgAAY78nMCYqC3lB/Q1/Zgy4WB7AERcVAFIiPE333zz6JEjR565ffv2%20Xlu2bKm58847d2psbKQAhGiAmOQr1dTU+J8PPPDAE37wgx8MhgO9BeZg++bNm18588wzXzYQcXtX%20CUGii5ifuuyyy8YD7Fk4YMAAOTHelVde6X300UfejBkzPAhGwG1i5ksA2HdPPfWUd/LJJ7NRczKM%209iOp55577oyzzjrrvwkOGUHIFFsDJIya6nPQQQfdSweGKoyNAgBNIIcmRxQQM15ELcl9oKdU/4yh%202W/sR/anvz98+PD/wqnPozUZc9BeFA3gMv/GG288CgLwaL9+/by+fft6q1ev9gXgqKOO8v/MEUcc%204UOdJUxiUgSmRhv59va3v/2tnztBv9J0+k40Bxe16fLly2effvrpt1EIlCfobg2Q0FYq34J7q6ZN%20mzZ8v/32u5nSKonllhKrPACOyQcofQEonPlZma7GZ6jPFD5v27bN69Onj78/evTon/34xz9+/v77%20719s+NFup5OjOoqJKA7ezjvvPAuM7QuGJkBlyFtXgNkzMbrHUXUx3Utmf/XVVz7zTzrpJL9TTjnl%20FK+EieYrAuO1H8r8nBrgb3/7m1dbW+vNnj3bfzY165AhQ7zPPvvM9wlWrly5DFnD5yAUaQhMB4Qk%20g/My0LxPn3POOQuiOIqJPCDd1IMPPnjiiBEjHiFzObK15Y9Zs2aNn+Ovrq5mKtP74IMPlPjxfvGL%20X3ggCkKpC0AhjNdxfbZb1u9ffPFFb8OGDd4dd9zB+gBv/fr13pgxYzw62OzzTz75hKaWfc5+5jFt%20aX5/hrT7gzQPchQ7awLKZOPB4Nly7CQAbBzlUv38/P7773vQEs0vv/zyckhpNTpkNK6X+i911a/P%20UUe8y2jdI6tgiMj4t956axGFb88996wD0wfRDJDp7G/wQ+l18kJbaoo7jjzyyL8/++yzX8tR7JQG%20EPPRasHQT/FwPkBCwCaJ8zXAhx9+6Esp4lVJqXfDDTf42uDggw/uSVsscjtd+1Gu1/lsETRAkLoP%201whLlizx2+9//3uNbm/8+PHe22+/7e2yyy5ECmluXQ3A5kdeTz/99OlwIOfiVs0mZMwUpAEA6pDx%20fKgEQM6ez4w33niDQuDbLVJzczO/U1hDFdqVjC/cMYt+vYRAx8JUvCtA+Qinew/aeoZ+ZDAjAZ/p%20L730EiMEAkbsY35HXnDLfqdJZn/3poOO1kIB6KwJSAjWBZOXbtq0acK6det4c7v5Dx83bhwZQcEg%20w33mAwFkR7goYE8LghgSpgGiMknfBal7Nff5bIHnsx+5hZPN/vQZrKTaPvvsw/IxagGZYTX1/Qo4%207B8Y/y1RSBiokKIDCN9//upXvzoRUjgMzKxgBMBIgIQQpQwJjElQRymZBgoAnRj9GVzTE/Y5aDQV%20cr39XRRV79p6CQKZlfV7HaPZlPYk0zm6JQDIEHKkL2tqatrcAWIEwMvwfevatWu/efTRR1+wI4BC%20BYA32o625dprr32R/gBab3NdObzSGoAWp+AHp+QfSOVLimWnihSjizGFXu9+7zLVfYaOaWt/lkl0%20Ge+eRy0qbIX7cvoIq484/vjjH4BGbrJCvq1oG9BWo20zqj/U9iZC1H81mY5q1csQ6x+KeHSkHQbS%204VMRA4/RLr3zzjsefYbXXnuNjTbMb98KClf37ne5jkkLZDUX7Nd//vOf3ne/+13vkEMO8Xr37s1I%20gJqAZsHXrtAATB3bTiCPrYXf8NpvfvObG8GHz4UWFuIElkGl/BwO3r+7IaCwfkqlnEH+6LFjx3Kf%20zJc0f9vyAO7IzmfUZ8MW3OO6BweStGd6t912S5Hpb775pjd58mSli8lw5Q3kBBIbGIhrT0QSbgTM%209jGqJ+iMACivX4VM1BnCAOwmW88fy+8XLFjAH9R49NFHPwNPNA3I8mgcHwTp/bYIQC47HmYqcp7j%20OpiuxnjssceW3X777f/D/YcffvhwhIH1+++/vwYd+10aQELBRuRw3/PPP38s0vGLFQayRRWASrQ+%20YF6N7BCbGwYyTUnmm+rf/n/+859P5+df//rX3scff+ypIORbQLkAnSAH0T2WCxDKeg5yLBP/9Kc/%20TbSdwHnz5tEcKMyWj2BjATQhHIzjcJtPjA/XHlUDCAPoDa9T6kXhhv9gMXbhwoW0RYxTqf4JBUtA%205PCUPBLo2m2X+focgQLxAWL+ep4YTJyFnxsaGuhnMSlE6F0mVlv6ATzOaKHNDOLyzkQBSgKVY87a%20vXBEzqVU8eZ8iJhKdJB2CRgBpZPHZaPowRbTB3DVaqHXh4V67oiOKgTaJ+MY40sA5PlL8xJsI/PT%20mE+YIlDEczTYYG7pN9BJnHfvvfd+lk9NYTIkBGy9/PLLn5syZcoqPHRnaIIqU6yYAGMpWeWoA9h1%203333HQfG0ymk6uEPlQAwj01hKVUBEEPz9eZzYQt5h6LLli0jw3k+4XRXALjPnMt6wL3zySOc126u%207QBrtmOQrnnmmWfeVh1hZ5NBHWS+iS03zp8//2O0tSY3UG5a6phjjhkPp2Sc4n/lsCWRaMUe/WJM%20IdcGaQD+vyBgxx7pYc/loGHmz36WgCBbAJgXGAwsoOamm26aJ0ab1kJ+oTWibdF3hQhAC8KQjtNO%20O+0QPPBgSFh5whCksgwmYJjtINIUfPnll2SARkexBUCd35UCQIa710SCjd3vlTHl6Hc1Co9xS5yf%20dl8a4fDDD5+2xx57jAAPVA/gI7eoKVz4/PPPz4EWkAB0RBWAhGl8SM0FF1xwPx4yXo6dtgR7Nm7c%20qOofZgVZrsSctf8ZxOOlYv+DGGcLM7dhYV02LRAaKXz66adZsQH6A6NGjfK++OILf4ChLoMCwHQx%20ne8x6G95/0oaTdh1112PQ6Rw8vXXX/9GZ6FgqviKH/7wh6cB5h2fDQPgD6Dal+3HH6D6WoLpzSuQ%20H6hFR00pCQEITwa5zHcdvygYQFYBBYbPweQy33/ek08+OR9+1DqM9tqJEyfuB6bT0dM6C9II8hNk%20LmrgnJ+Nr98xvGyPggMIBOoNaZqZCwOgACgWfe+99wgHUyv0wxz3fvBOK1naDCqeAES3wdkydmJ6%20ULVPlJSve4whm7z+rNfuvffew1BnMYz9iMGYBhiUAj7AwWfnB1xAiP1eTx4aHKA1qgmoQOuFZMM2%20Le0iVS8hkF2aO3euX6Sw++678/gQNP04tmJhAO4oDTtH4Wouu5+rHiDoWNjz+Tyqdqn+XGsGDGEx%20CJnKfqYJIBhUX19PbMBGAwXPU5swZE8aAWg2g7o9igDwghTU+st4yIEo8qR614PUuNYPcQB2gh0B%20KEnEzz2NAopRQUwPvc62+7YwhJHLePd+7rmI5VnxG6hdpGnJZEHAsPF+4ccLL7ygzKsGp2oFeXyp%20GchlnU0Hd1xzzTXzZs2add306dMPwg1T6AS/yIC1AHhgAn+gDAKyN+yRoGEJQE+HgTbTIwhA4LlK%20bbueea578ry8439oVwI2YfWECv2k1qVdOcqX4bNqAjIQlAySRh1pELTywoceeuhFjfqoAkCOtZmc%208mbY8vfQvsF+jSTKXFcJ3P80FSdasCVbT6OAfE6AAETzB8TMELJHdyR4mBEUwrW8tAqFRFgAeKuq%20HxZ/1iE8nwsHkuq2VcCdUfmN5J3hYVvUbGDGXNTCm8ABqcVExYGQsio0nl9ObYBc9QGIS4fpB0kA%20ILHqCDGm2GrfPTdSvt9toKAQMBQSpsqX05cHUdXbA0ueP0PAHe67776TkSz6K/q8FfdrY8PnXsBi%20Nr/yyiubyMNOFYWqnBiFIMfAAbnBjQA0H4CMFvYPtUMcm99zCpPjHUemqPa7K+bm2aPfbi4zXSaH%20ZvtssAfMsZy+cGKU8Prrr8u790w6WFp28HnnnXc+czJ2JMDt2Wef/QjC+EsiQcH2TKCf/vSnoydM%20mEDm55wPIPWPknCqpmY4i58atTUGm2qZgH/xtK6Y7gI/dtMxCbUNCGk/0PaT6eifKMzX/IA0/IWl%20uI4O9xhA8tUHHHAAGc0+Z3OxAG4ZIfzb7373u0U/+tGPHrDKwzKhGkBz/hBrni6VLqbbn/VgxPy0%20aXT81iFV2c7vlL9mKxIFedZBJVuuANgYiC0IWa9xBcl2hOnxa7Z0BGJ+IAVktZ1C9eqrr34BQGgS%20J+DstddedmGIRr6azAUHYq+gxFAyFwYAhlbxB8vDd6Fgph5ZnkxnBhlBerUjEaeOxHcMGYVs9SST%20XTXunhNUjp1LACT4OuYyOFeuwN5nH3WK+boe4NpkMpU8QG6GU8c4SYSwO7Ot2YpCOCiJMFYRC5Av%20EMUEpABQLCHowHBF8/5tIu6PQlECEtQGFBTNExDzu0MAwpgpFet+F8z4cAFwr8l79EMrkhkF9YVU%20vJjNmgCG2iy+Yf/zmO1n0G8gwTfYbkVuiUg4wK233roIocYcqJyD8cBBkmp1Do41IzlBhldbtqi7%20BUCMCMvURREAXeMCP3axRdSmkS9MpCBBp++AbKwPCilFvMMOO6QBCDUCgh+kCEihMPiyEY7466gL%20fKJTOIBSwZjd+zi2LErsh1apKiFeN3PmzJFXXXXVLI4ONcs77Q4BiFKCnU0AwkZ8wPGiMF8CYDt6%203FcVdurxxx9fftttt82x5gZ0GOx/o5kfsDXIASQlA0CgJrQNmIo0GGqmL6SrEq2cNQE1oDPOOMNO%20FPFHUvq6QwDEvDDmh2mIfBnsRgNhQuPmDKj2HeYXLADC/O0ld7iG0IHAFRrhiK8jBsCqIPAijRxN%20K2oCGslDGwyKBAQh3kxdcskls4Et7207f3LyiEopSmBCg3XrBDlce1kA5a3m3a0oDxtv2+9sQpS3%20AMj/IMgjh68ryHj/nC1MH4BRAZNzFAiqetZsHMucjJw/YQFQ/w1wFn+C6myiuB1RcAC2sl/+8pdX%20wM67zBfmLxDIF4SlS5d6tEfwTL8CQOSvC1CQAIQzsKsFINu9o5gHxfnsj67WfGT6avCigWX3eMZw%20ONx08MgHNTcEZBsEMz0bAjA1ihOoKWG9MPIPs3EAu5FUC0AQCCaCKGB/ABX9oY5YKl6IBsjmXefj%202UcVAG2D7mufn2ufI94N9bpSANi/dejbOo5sMp9l44DoyQOZBxcHUCZ2l1tuuWVfDOZ5uXyBZI4J%20IdX4MzVcm8bWAPqsCSFaFwDlR5ocomyVmNYVDl4+4E22e0URAp0fKgDudWQ6R77sc3cQw0j5W0Bn%20WSPgm1xUCPG4iwOo0VQTla0jT+ULBGoAe0oY2lrUAwxEuKFRL/LVHNEoAD+Cg9kEQ0b3AcLj8rDz%20omiTIEdOlJXZrhDQBrP+UdhDdxHnY7hRAMwBcQD6AxRCt8BUi3RsRV3gEmEBkSaGYC7aLUgo/BwP%20GOJIvyYhNIL5/dHo/EkACBw5AhCZ8Z3VBtrm60i69wtkvnsNRxdr+XR+dxL7VQIgGB7amRnBZvgC%201RRABwsgGLQBcwcell8XFQdIo7hzKdq12B9gagHKhQPAIemDdQG+B+9TDiG3MhH5hoFBuHoU2DYb%20sztjXkKZr+JQ+DkclT2V6+AAk523cQGO8hRqAh7FHMxG4QDWWgHr0b4JWysgmQsEQtuMdOIQePf7%20EHTgqiBs6IAylCmPB0pYazkg/DFkJrdibHeM+nyAHzdTx2ORwkqX6fpMJI7MVxlXTxEdTJob8IH4%20ggSAWjh1xRVXHIEw/CPwhrzrIBaAz61AY1fAAfyQwhBFADISgj/+8Y8XA+s/xnUCyWyqPjJY8wEB%20OvDHsMlOhavjcMZHdwjdz+Fz/NTC7D4FW/aex3o6s0lnjn3PWgtlArlPSHggVmEbyLDQxQJQyLMP%20VhI5KbQs3MUALr300t3g3dvMd2sB1DhT1fcHnnjiiQWQ0jTO3x+d3j+LKg5KowYlVKLCv0EZw7yF%20T0zWdGsCMPq+GHTPPffM5fb73//+RDjg9ZivybUZqA1yYgHEcTBJ9ORzzz33/rxwAM35w41HK8HD%20G7lND+V8AGqBzz//fC1CkmGQ0ibkvSukItGij/rw40HMLhROVpO3rVCqaIyXFoPJHQbTm0IWdhPg%20efa9qoPCagJ2dsJABwfI8ro3jOKBzOgx3Wvj/ZrpQ3XDV50yHJw6dSqxgPEqB4MmYDawMyO5s0IQ%20ZRHH0BBTWkjhF4RZPkVRi1sOPfTQ3ckPMpYTQ7B4J00vcQGtHqowXIJAU81ooNKE9Vt4q7xwAEw8%20+AATPbZiejKLCeT9qnFU0A7xIaoF4GeZi6Awy7afUZgdBtkGCUC+foTqGch0OnwUcLu6qWhCoNBP%20CSEyW/X/1AQ0BfJXxCsKAWdrQSNHwgEybFiteiUeeAMqUWaiKGQ4vX9QQkzla0wgWYPhgFQ7qWA6%20ShKAqCM/2A8IX6SB2yjMd59HQIUjho0CYINaxV6rmGigFoWy1wxMAxD6ElP4iAVk0Dxu2TBI1/7l%20L395CeH6gnzTwYoA0lQXUOXvo63Bfl+0XlYtQAXeZTPhoosuGuv4BBQE4eE87uL4kRkOCmJa2HSv%20sHtJtUtdkukBL7cqriBQAKQBlIvh4pwo/96ACTxPaW6AtbbjJlMTsIX7eU0N08WaXIClxsbAw+/P%20eQAqBMGDdwBCON2pVVdIqCoabiM4gpF9gfxW6Q5v9O7p5LnVy0UUgvAZQiA5fXwryxRogvVIEK1A%20n/tCQBygEoTFpj90agI68jEB7Xg7Vd0JJ5zwACRsnJsIUtZLAoC4lKEgc9U2ChhVAKIJSDj8m7NA%20k8KpEYXUNUd9rmtzrv1XDGLCiQkg+l8sxhUKC4eb8f6ReCmHu3I4X9e/CotLn4Pyvoa8cAA5gXjB%20wy1wLGzm20KglarZiQwBGW9+CWdjPYSuBh01Vh1fIMAThtVHAZzYbHVPD1/OlZzbbHP8bOZrvxg+%20AAdeM3iyDJFANXCJscy5wPYrJUy+SPvas4UH431N90AAJltQfntWAVA1MFofPGhKrsUh7algzPtD%20/SzCJJJXqV4wVWzEd77znbH6IQWp//Da/chr95PJqmZyp3y7QuvOFnaFoYeJzvVmgEHzuHPxxRd/%20hWLdaQr/0Oz1hBQNCJUdCrh4+nXXXTfXrgkIEoBqwp4QgqwLQ1DV8yFcCpZFCQgVazET9Xv4LgMk%20sBfeciFp7MwI7xTcq3131GqSijx6mC4KrJa2t+cuqtPsY0FzAXtaG/BNLLVYtncWGcx8DON/ml7k%20ajgoyRdXA3BL/4ZRjd4fIF8gpwbgfhVuuBWLE/XOUgsgTJzM5yLQFJRhPMbzaFMxdYmd1LWjPvwe%209jO1r3WMKAAaHa59dxNHbsyv79mKxXz5LJXo8xGaH4CXRpCxHIAE5qjVstUE8Dues0FYQHhJGAiv%20JLsGb5+6QLUAjj0ns1dASEY48wFUGCFJ7DTkCyoogqB9h40UiKM5dq6nL0Zrm+14zn21HiIKr6IA%20qXyVizUiUqsGNpOyBJW8oNBsxNT+R4DrNJAVYUigpoVvxyLFS9CuNrUAVB/l9lvEEF6cxMWKskwI%204YMVBvYYw2Xfqe7gILkjPWCaeiiSmAvBLEZGUAJAYVY2ln1eceKJJz4EgW9WqGdai3l/wEpNDQsL%20AwUC8UbrjLrYrhdEmJaCw3cApowPcWsEhQgqZrXCr+4UADKbsTyl3bHdoat/BWkDl8HFYr77P2TK%20JBCMBGrw3uY9Acw9SX4JEDL2fqPh5WZ+l48AqBhkE5aInQoseRJHvVkaphw2pwKJiMOUJVRySEUg%202kYEgqKkaW01z0anrpA3g7jqPSgMLHpGEIUfeo2sPUOIOMAUvGOwCcc2kfk4Rl62oXhlKV44vQrR%202tZcq4Ym3VoAFBFOwtJkD+MhQ7NNCGGihD+C+4sWLeL6gEIBJZlkfr44QKTsIB0dRBruaC90RnGg%20utfxYhMZzsUl+P/Zz8Bd6IgLDOLqYdOdCSKcScwsYhOqt/kSiTeDfICEVDyygJfCcxwaMCGEW0UD%20tEdLYHe5SHEaAjIOD+4vAegEw9193p/PItMpYFGY4nr8BQhKUUlCSTRwSRrEUjD0yVhMQUuB6WET%20RGqwoATfJLqXfARbEyQdDKAGN58hECjXhBCqXYJACBNXQgtsxLYCmmADEMGMfACdHzG8U0WrMnMc%206RGYEk0Q1LElQBR+mgCfeeiTFryq7wvwYRyqg0MniOD8oVjuZwb8t7mWEGSyCUA1VTwQJt4w66IQ%20HJGcq8b1a/EjhoDpcgg9ZKb4lhBemy+Eq9WveF8y3Y1nu2OmTcm+sOKwww7bDXMx9FoYfwvgjXwg%20b7IWhbA/oZ2prbOCQUn3RdFgwlLYmgmK69mEoWs04v0A3OcKFQR/bCGRD+AyWfdQEzKXJ4Nicl8p%20z4IQ8gUmm1PFaCa5tXkgJJSTR7ZeffXVVmFIwLwAzCO7Ce+dPQ8MrYOzVwd/oNJ6nVkzsn9fwhEZ%20i5GfctYG5CjW4sddPBpjIrOhne03hckx5kBahtC8Foxm6l4oaBpRwGpo8yYsJ/eHrNlAeYWy/2gD%200UagDTUgUDVa0i4GeeCBB46DdzkKgkEUitlAaQBWrvpATPdQTIR/8WZwaV/2O/uf6eF1KP8mk1sd%20R2+rWTRyFdoKtAZTKLLd9QGEAWwx6FGKNzD7FXqHMN4dsD8mgo5SRCA0Suaie2PlmNx3CIkPCAEH%204GWRU1GoM8fE+20WPzeaWULN2bCApAMDp7GwwPAZM2bcgCTPWNl1MZhhHx+ulcOYjWI8KjBItr9b%20KCZqVy0aSbvOWdkSCNZk7AHnfA/wxl0trAER241ICT+WbdXQpA0Cgfn1WBz6Idy0xsUAGPrZkxBY%20lWJKx9fj+zRCtjRq1uu7LayKifaeo70BvgDRwEHvvvsuy8KVKFKBi1sUMghI4e14o/hK1BE854JB%20SXtCCEq9Z0GCxHy76SFML1IYOPI5B+CvSBrxHbUMC4fADtV3mwaIic4e52FQzXdMmzat7qyzzjqB%20L+dAWl6D0y0KkbngKmOn4rqX3UUjpQG47Q3vfqAyfE4xCG/Km2ttAHr688D8BSauTAAMqu3+apnY%20BzD2PP2Pf/xjPUZ/BXhzEvqcA5P8yYYFaI5DPau93DeIJO0ZQWB8K1U7gSAw1Mb0tWwpsX+uUPH+%20hRde+FccWmuSR0mopCHd7gTGoSD7vgkDlf1ehncDbwQAVAGmz6IPBpCIfoKwG9UEsDaCQrDOAEGK%206tpdJLDsrrvuehFTig+DJI2DTbcfrPlpvNF8FI3+wYQWqylRpoqoOR8BoGBRw5QKEWHj6CoW0c8C%205q+aBgI/O+It7Yu5y+7EuwOfx7wALtc7E4JRma14FZNHGgEFP2PVdbjzAX3VUIs2DK0eteaTEQUM%20ANMrcCNSBkxrA8zbgJKv5WS8EYC1+iGwSUdhIaPrKTgAkFjD5nde4RQT7DwhdvYnczD/geXfXrBq%20NerIY/gBQ+EfjOY7HdDKMiBo7zYIxfpnn312EXEANsOzZpkBlYJXkYloO/FmFAaznzLnCCdoNjjB%20GqvQIMnzsXDkz1EldDY9VAIWXUYxUetSAKiJuBjXJXhXEEfzZjN4+5Fvhmc11oqunmZ5WWDQGsO/%20FtsEZAxztaxIh7l5L7QKCYD1FpEmtE1mmzZSSEexRmAQVFYXqfnY5tPp1mLT3Gf9n+GHnLm0ccQ3%20GE2ekgC4PNPIz1YWrhuSWs3Jmg5mv0w6bc5rMZ8T5ruyBMiablWSoJAcp39F0iv4UKU1RoW/Wv/H%208KTJ4lmZg/BuYzPntbkCkNGJVl1guWkCiXROu91sIIkkpluOYylm3f7Vw0CZbQlBq2ktFvMTzsBV%2068g1MSRjtTb3HcLOOSJ9Tqj1CMNjSjhMFmNbrWOJAJ6FTg4VReFmGbJTEzXlqlsoJsK/rL9QfO4M%20Tm2jUbKrzCcApLcBB09k0WKXU0wq+2pBle/fHVVeEBU6XCtMuDgIbRRWF7sNocoYYgHFJL3mpRTJ%20rr9Mg+BQryOz8X+ake2bAxzgVSeeby+mAPCXVpvikeFo9cAA9kKoMoCARKKI9iAD4hZzHBsAj27j%20oVIKSOR4O5M8GtC+MtsN5nhHMQVAINKOBowYpKVlLRCpmNShpo4tMQFot1/jawCdtYb5muxRkGAn%20u0BSVXmyntLqgkhsRR5BGkWZEtQCAuAU5rGfm93K3mJqAGmBCjPiq0wTIJEoYudJA2S0LWEz0GZa%202rS2YjuB7j0UmyazgEjF70B7v7Qo42oz+1iRNED4vYrOfDHc3f4/o5hiiimmmGKKKaaYYooppphi%20iimmmGKKKaaYYooppv8FlJhXILrvZ3wAAAAASUVORK5CYII=%22%20preserveAspectRatio=%22none%22%20height=%22102.996%22%20width=%2287.169%22%20x=%22159.832%22%20y=%22119.548%22/%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20x=%22205.695%22%20y=%22150.011%22%20transform=%22scale(.98866%201.01147)%22%20font-weight=%22400%22%20font-size=%2219.302%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#ff0%22%20stroke-width=%22.504%22%3E%3Ctspan%20x=%22205.695%22%20y=%22150.011%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ERAM%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20x=%22205.372%22%20y=%22110.296%22%20transform=%22scale(.98866%201.01147)%22%20font-weight=%22400%22%20font-size=%2219.302%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#00f%22%20stroke-width=%22.504%22%3E%3Ctspan%20x=%22205.372%22%20y=%22110.296%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EDownload%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M206.647%20182.6a6.892%206.892%200%200%200-6.89%206.892c0%203.803%203.086%206.896%206.89%206.896%203.805%200%206.868-3.093%206.868-6.896%200-3.806-3.063-6.892-6.868-6.892zm13.814%2010.852l-1.242%202.991%202.215%204.35.293.575-3.072%203.072-5.039-2.38-2.991%201.228-1.519%204.648-.194.617h-4.341l-1.879-5.246-2.991-1.234-4.357%202.21-.575.287-3.07-3.069%202.378-5.042-1.233-2.989-4.64-1.515-.616-.2v-4.338l5.25-1.882%201.233-2.986-2.208-4.36-.291-.571%203.066-3.066%205.045%202.376%202.988-1.236%201.517-4.645.196-.616h4.34l1.88%205.253%202.983%201.236%204.358-2.212.58-.29%203.069%203.065-2.377%205.038%201.228%202.993%204.654%201.517.611.196v4.337z%22%20fill=%22#0ff%22/%3E%3Cg%20transform=%22matrix(.85604%200%200%20.85604%2085.035%2091.517)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E", + "otid": 1596697289362 + }, + "design": { + "graph": { + "blocks": [ { - "id": "d7d5e8c8-78dd-41a8-aedf-1051b89bfb77", - "type": "basic.inputLabel", + "id": "38abb13c-8652-41fb-931c-c7bf760ebb24", + "type": "basic.output", "data": { - "blockColor": "deeppink", - "name": "a0", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "name": "busy" }, "position": { - "x": 8, - "y": -576 + "x": 1936, + "y": -168 } }, { - "id": "3c8597e6-ca79-494a-9a53-04c284205216", + "id": "a040cc3d-b2c6-458e-bde6-f8234a19b6d1", "type": "basic.outputLabel", "data": { "blockColor": "fuchsia", - "name": "b2", - "oldBlockColor": "fuchsia" + "name": "busy" }, "position": { - "x": 456, - "y": -528 + "x": 1744, + "y": -168 } }, { - "id": "ee992ca6-d586-4901-aaa3-a17d94ddac84", - "type": "basic.inputLabel", + "id": "9188c313-c3af-4a0b-b917-d759873cd681", + "type": "basic.outputLabel", "data": { - "blockColor": "fuchsia", - "name": "b3", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "name": "addr", + "range": "[13:0]", + "blockColor": "navy", + "size": 14 }, "position": { - "x": -8, - "y": -448 + "x": 864, + "y": -144 } }, { - "id": "c5dce3e4-5ecc-4fc9-bbf6-7c1adfa1c7ff", + "id": "f81791c6-f02f-46d0-b738-5895dd124243", "type": "basic.outputLabel", "data": { - "blockColor": "deeppink", - "name": "a1", - "oldBlockColor": "fuchsia" + "blockColor": "yellow", + "name": "clk" }, "position": { - "x": 328, - "y": -440 + "x": 1744, + "y": -96 } }, { - "id": "fb8bbeb1-5c60-4629-bc13-231545818d0b", - "type": "basic.inputLabel", + "id": "b359cb97-c324-4ffc-a73c-64c7f457e6fa", + "type": "basic.outputLabel", "data": { + "name": "stdo", + "range": "[9:0]", "blockColor": "fuchsia", - "name": "b2", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "size": 10 }, "position": { - "x": -8, - "y": -384 + "x": 1728, + "y": -16 } }, { - "id": "d192d0af-e7be-4be6-925a-50227d80784c", + "id": "7fb933a6-5c63-4d46-8aaa-440b30974993", "type": "basic.input", "data": { "name": "", - "range": "[3:0]", - "clock": false, - "size": 4 + "clock": true }, "position": { - "x": -312, - "y": -384 + "x": -48, + "y": 24 } }, { - "id": "038a8cb8-35b8-424a-9d14-c320cfcddccf", - "type": "basic.outputLabel", + "id": "2c31aa6a-383c-4eb5-b669-b8a31ad14225", + "type": "basic.inputLabel", "data": { - "blockColor": "fuchsia", - "name": "b1" + "blockColor": "yellow", + "name": "clk" }, "position": { - "x": 328, - "y": -376 + "x": 96, + "y": 24 } }, { - "id": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42", - "type": "basic.output", + "id": "a875b188-26fa-4052-ae81-4b5f22f4c1e5", + "type": "basic.outputLabel", "data": { - "name": "s", - "range": "[3:0]", - "size": 4 + "blockColor": "fuchsia", + "name": "tic", + "oldBlockColor": "fuchsia" }, "position": { - "x": 1064, - "y": -368 + "x": 1648, + "y": 48 } }, { - "id": "527c9113-e440-454b-b427-182b646c10f5", - "type": "basic.inputLabel", + "id": "20d63505-e2fd-44ed-95b9-9f45e8875e70", + "type": "basic.output", "data": { - "blockColor": "fuchsia", - "name": "b1", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "name": "stdo", + "range": "[9:0]", + "size": 10 }, "position": { - "x": -16, - "y": -320 + "x": 2128, + "y": 48 } }, { - "id": "f8dceaf6-6020-49e5-b775-ed4821fbd5bd", + "id": "8ca2279c-fdc3-40d3-9fbe-2071c026932f", "type": "basic.outputLabel", "data": { - "blockColor": "deeppink", - "name": "a0", + "blockColor": "fuchsia", + "name": "bus_mine", "oldBlockColor": "fuchsia" }, "position": { - "x": 184, - "y": -296 + "x": 880, + "y": 112 } }, { - "id": "b652825e-10ba-47cc-9832-e39d73586234", - "type": "basic.inputLabel", + "id": "786f1170-66ce-4c3a-acdc-073388546edd", + "type": "basic.outputLabel", "data": { + "name": "data", + "range": "[7:0]", + "oldBlockColor": "fuchsia", "blockColor": "fuchsia", - "name": "b0", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "size": 8 }, "position": { - "x": -32, - "y": -264 + "x": 1656, + "y": 112 } }, { - "id": "7e5351cc-ea73-4bb2-9dda-0390f005b90b", - "type": "basic.outputLabel", + "id": "886b88b1-4987-4f1f-aadd-d82bb53ab445", + "type": "basic.input", "data": { - "blockColor": "fuchsia", - "name": "b0", - "oldBlockColor": "fuchsia" + "name": "stdo", + "range": "[9:0]", + "clock": false, + "size": 10 }, "position": { - "x": 184, - "y": -232 + "x": -96, + "y": 120 } }, { - "id": "e7d0a130-cf6b-4220-a06f-42543db0214f", - "type": "1ea21df64c18f01d8f4b905c437ccf0ca332baf6", - "position": { - "x": 320, - "y": -248 + "id": "523a4825-1562-4f5d-b129-c7d08fe542c2", + "type": "basic.inputLabel", + "data": { + "name": "stdo", + "range": "[9:0]", + "blockColor": "fuchsia", + "size": 10 }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", - "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", "position": { - "x": 464, - "y": -392 - }, - "size": { - "width": 96, - "height": 96 + "x": 48, + "y": 120 } }, { - "id": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", - "position": { - "x": 608, - "y": -544 + "id": "90093714-11a0-4cea-ad1a-bae5e4aac8dc", + "type": "basic.outputLabel", + "data": { + "name": "mbi", + "range": "[23:0]", + "blockColor": "fuchsia", + "size": 24 }, - "size": { - "width": 96, - "height": 96 - } - }, - { - "id": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "type": "c4f23ad05c2010ec9bd213c8814c9238873037ae", "position": { - "x": -168, - "y": -416 - }, - "size": { - "width": 96, - "height": 128 + "x": 1128, + "y": 120 } }, { - "id": "57e59301-2919-4f06-ba95-54ce5d99d774", - "type": "c4f23ad05c2010ec9bd213c8814c9238873037ae", - "position": { - "x": -152, - "y": -664 + "id": "7b8dd447-e9d2-4c9f-ba7c-c3af9abed4e8", + "type": "basic.output", + "data": { + "name": "mbo", + "range": "[23:0]", + "size": 24 }, - "size": { - "width": 96, - "height": 128 + "position": { + "x": 1472, + "y": 120 } }, { - "id": "11342001-e6e0-443b-af87-0e5d7ada0227", - "type": "84f0a15761ee8b753f67079819a7614923939472", - "position": { - "x": 896, - "y": -400 + "id": "bf61387a-ef36-4f3c-898f-e274c3136b18", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "next" }, - "size": { - "width": 96, - "height": 128 + "position": { + "x": 2064, + "y": 136 } }, { - "id": "72c87c65-b34b-480f-8cde-cd97c0914014", - "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", - "position": { - "x": 744, - "y": -688 + "id": "914e03dd-1133-4325-a333-b10f953ecce5", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "data", + "range": "[7:0]", + "size": 8 }, - "size": { - "width": 96, - "height": 96 + "position": { + "x": 576, + "y": 152 } - } - ], - "wires": [ + }, { - "source": { - "block": "038a8cb8-35b8-424a-9d14-c320cfcddccf", - "port": "outlabel" + "id": "93050bc1-206a-4fb3-9c14-9a41ab42f7ed", + "type": "basic.outputLabel", + "data": { + "name": "mbi", + "range": "[23:0]", + "blockColor": "fuchsia", + "size": 24 }, - "target": { - "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", - "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + "position": { + "x": 224, + "y": 216 } }, { - "source": { - "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "port": "f5a71d7b-de20-4527-80c8-0eb20de0dc77" + "id": "9be4488d-51be-4346-8a31-5d8f2f86e4d3", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "bus_mine", + "oldBlockColor": "fuchsia" }, - "target": { - "block": "527c9113-e440-454b-b427-182b646c10f5", - "port": "inlabel" + "position": { + "x": 936, + "y": 248 } }, { - "source": { - "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "port": "0f7487e5-b070-4277-bba6-acf69934afca" + "id": "64a86ee7-b105-409d-9e91-cca498c9121b", + "type": "basic.input", + "data": { + "name": "mbus", + "range": "[23:0]", + "clock": false, + "size": 24 }, - "target": { - "block": "b652825e-10ba-47cc-9832-e39d73586234", - "port": "inlabel" + "position": { + "x": -96, + "y": 264 } }, { - "source": { - "block": "7e5351cc-ea73-4bb2-9dda-0390f005b90b", - "port": "outlabel" + "id": "74555a80-b4b5-40d0-bf28-afa5a588b1e2", + "type": "basic.inputLabel", + "data": { + "name": "mbi", + "range": "[23:0]", + "blockColor": "fuchsia", + "size": 24 }, - "target": { - "block": "e7d0a130-cf6b-4220-a06f-42543db0214f", - "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + "position": { + "x": 56, + "y": 264 } }, { - "source": { - "block": "f8dceaf6-6020-49e5-b775-ed4821fbd5bd", - "port": "outlabel" + "id": "923c4db6-0c76-4647-a848-75fd61fba6ec", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "done", + "oldBlockColor": "fuchsia" }, - "target": { - "block": "e7d0a130-cf6b-4220-a06f-42543db0214f", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + "position": { + "x": 936, + "y": 312 } }, { - "source": { - "block": "57e59301-2919-4f06-ba95-54ce5d99d774", - "port": "0f7487e5-b070-4277-bba6-acf69934afca" + "id": "05a1a5b4-bf29-49df-b0b1-887859d9ec9e", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "bbusy", + "oldBlockColor": "fuchsia" }, - "target": { - "block": "d7d5e8c8-78dd-41a8-aedf-1051b89bfb77", - "port": "inlabel" + "position": { + "x": 560, + "y": 336 } }, { - "source": { - "block": "c5dce3e4-5ecc-4fc9-bbf6-7c1adfa1c7ff", - "port": "outlabel" + "id": "b14f140b-7bb5-46d9-8019-39c27ff6e0e3", + "type": "basic.input", + "data": { + "name": "start", + "clock": false }, - "target": { - "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + "position": { + "x": -80, + "y": 424 } }, { - "source": { - "block": "57e59301-2919-4f06-ba95-54ce5d99d774", - "port": "f5a71d7b-de20-4527-80c8-0eb20de0dc77" + "id": "da45f105-3600-4458-a820-50046581f5dd", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "start" }, - "target": { - "block": "a30f87da-7077-4ad6-92dd-adbfdd1bed45", - "port": "inlabel" + "position": { + "x": 64, + "y": 424 } }, { - "source": { - "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "port": "33072210-9ba0-4659-8339-95952b939e6e" + "id": "7d0852c6-4778-4a53-bf90-30527c44a0eb", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "target": { - "block": "fb8bbeb1-5c60-4629-bc13-231545818d0b", - "port": "inlabel" + "position": { + "x": 1736, + "y": 464 } }, { - "source": { - "block": "57e59301-2919-4f06-ba95-54ce5d99d774", - "port": "33072210-9ba0-4659-8339-95952b939e6e" + "id": "54e9bf9f-b852-4c45-bd53-f6eb4ee707eb", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "start_read" }, - "target": { - "block": "73a0a48e-d345-4eda-8603-782e9865d928", - "port": "inlabel" + "position": { + "x": 608, + "y": 504 } }, { - "source": { - "block": "3c8597e6-ca79-494a-9a53-04c284205216", - "port": "outlabel" + "id": "95c4416f-62f5-4196-a406-f7915d40a572", + "type": "basic.output", + "data": { + "name": "done" }, - "target": { - "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + "position": { + "x": 2048, + "y": 536 } }, { - "source": { - "block": "ed7a30bc-17fc-444e-89e5-aa9f83b32e86", - "port": "outlabel" + "id": "289f00be-f97d-4553-a60a-32d8b45da4cc", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "done", + "oldBlockColor": "fuchsia" }, - "target": { - "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + "position": { + "x": 1728, + "y": 536 } }, { - "source": { - "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "port": "bbe1895b-be8b-4237-b0d1-ae592e3e6208" + "id": "d7e7c210-c311-440e-b516-94c3f0244f34", + "type": "basic.input", + "data": { + "name": "nc", + "clock": false }, - "target": { - "block": "ee992ca6-d586-4901-aaa3-a17d94ddac84", - "port": "inlabel" + "position": { + "x": -80, + "y": 536 } }, { - "source": { - "block": "57e59301-2919-4f06-ba95-54ce5d99d774", - "port": "bbe1895b-be8b-4237-b0d1-ae592e3e6208" - }, - "target": { - "block": "1c9b3962-5793-4e6f-98d4-9ca2113d0823", - "port": "inlabel" + "id": "fce01e4d-e6d2-4811-8f96-410673168b4c", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "bbusy", + "oldBlockColor": "fuchsia" }, - "vertices": [ - { - "x": -24, - "y": -696 - } - ] + "position": { + "x": 152, + "y": 552 + } }, { - "source": { - "block": "05fb13c5-879a-422f-84a8-56d1db8816da", - "port": "outlabel" + "id": "700d8b15-d6df-4b76-b10d-72db58c33e6c", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "bus_mine", + "oldBlockColor": "fuchsia" }, - "target": { - "block": "72c87c65-b34b-480f-8cde-cd97c0914014", - "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + "position": { + "x": 776, + "y": 584 } }, { - "source": { - "block": "161a3e27-de9b-4674-b990-c1e8314a29f3", - "port": "outlabel" + "id": "0399b081-5696-4bf7-bb75-cd55da78d4f5", + "type": "basic.outputLabel", + "data": { + "name": "data", + "range": "[7:0]", + "oldBlockColor": "fuchsia", + "blockColor": "fuchsia", + "size": 8 }, - "target": { - "block": "72c87c65-b34b-480f-8cde-cd97c0914014", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + "position": { + "x": 1648, + "y": 600 } }, { - "source": { - "block": "e7d0a130-cf6b-4220-a06f-42543db0214f", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "id": "08007be8-e099-4080-acb1-e580660bb147", + "type": "basic.input", + "data": { + "name": "nc", + "clock": false }, - "target": { - "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", - "port": "5e915366-608a-431a-bf68-8c64fb4c302c" + "position": { + "x": -80, + "y": 616 } }, { - "source": { - "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", - "port": "c7d2d573-b901-420e-a923-6832e5b18e34" + "id": "3066cf48-9921-4487-826e-0464a2dead7a", + "type": "basic.output", + "data": { + "name": "data", + "range": "[7:0]", + "size": 8 }, - "target": { - "block": "11342001-e6e0-443b-af87-0e5d7ada0227", - "port": "969e11ca-69e8-403b-a566-7bf2fbe3a5a8" + "position": { + "x": 2040, + "y": 680 } }, { - "source": { - "block": "e7d0a130-cf6b-4220-a06f-42543db0214f", - "port": "c7d2d573-b901-420e-a923-6832e5b18e34" + "id": "524ca75c-cdd3-4e79-851a-b46ce146bd66", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "start" }, - "target": { - "block": "11342001-e6e0-443b-af87-0e5d7ada0227", - "port": "e4111201-8441-4e7d-bcd2-bcf9d265d043" + "position": { + "x": 152, + "y": 696 } }, { - "source": { - "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "id": "7e9db299-cb56-4cd9-a489-d5fbd6eb3e2f", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "busy" }, - "target": { - "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "port": "5e915366-608a-431a-bf68-8c64fb4c302c" + "position": { + "x": 1184, + "y": 704 } }, { - "source": { - "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "port": "c7d2d573-b901-420e-a923-6832e5b18e34" - }, - "target": { - "block": "11342001-e6e0-443b-af87-0e5d7ada0227", - "port": "346b4ae4-4bb6-4845-9c17-3b25e0dde718" + "id": "7df4a7f1-90b6-4562-8be3-e4719a824545", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "vertices": [ - { - "x": 824, - "y": -424 - } - ] + "position": { + "x": 880, + "y": 752 + } }, { - "source": { - "block": "d192d0af-e7be-4be6-925a-50227d80784c", - "port": "out" - }, - "target": { - "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "port": "0ebd46a4-769b-45e6-bcaf-e3796264aed3" + "id": "c1c96b9c-e573-43a0-8b60-9f7fe7ad5ae6", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "busy" }, - "size": 4 + "position": { + "x": 1648, + "y": 776 + } }, { - "source": { - "block": "c2d36218-be99-4dd1-bf69-7690c667255b", - "port": "out" - }, - "target": { - "block": "57e59301-2919-4f06-ba95-54ce5d99d774", - "port": "0ebd46a4-769b-45e6-bcaf-e3796264aed3" + "id": "e4dc109d-2b1c-402e-b474-ee1c6abeec66", + "type": "basic.inputLabel", + "data": { + "name": "addr", + "range": "[13:0]", + "blockColor": "navy", + "size": 14 }, - "size": 4 + "position": { + "x": 1224, + "y": 784 + } }, { - "source": { - "block": "11342001-e6e0-443b-af87-0e5d7ada0227", - "port": "55180947-6349-4a04-a151-ad69ea2b155e" - }, - "target": { - "block": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42", - "port": "in" + "id": "dc204461-1dd1-428f-91a2-006d905d6585", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "start_read" }, - "size": 4 + "position": { + "x": 872, + "y": 832 + } }, { - "source": { - "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" - }, - "target": { - "block": "72c87c65-b34b-480f-8cde-cd97c0914014", - "port": "5e915366-608a-431a-bf68-8c64fb4c302c" + "id": "0db424eb-f896-41e1-becb-7eb065dd64f2", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "busy" }, - "vertices": [ - { - "x": 728, - "y": -552 - } - ] + "position": { + "x": 152, + "y": 840 + } }, { - "source": { - "block": "72c87c65-b34b-480f-8cde-cd97c0914014", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "id": "adcb920c-12a7-478f-b1f2-9877d62d2673", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "port": "in" + "position": { + "x": 1200, + "y": 864 } }, { - "source": { - "block": "72c87c65-b34b-480f-8cde-cd97c0914014", - "port": "c7d2d573-b901-420e-a923-6832e5b18e34" + "id": "24450b7d-19ce-463a-83fb-5e1c04e4b093", + "type": "basic.output", + "data": { + "name": "tic" }, - "target": { - "block": "11342001-e6e0-443b-af87-0e5d7ada0227", - "port": "6c2aa548-5a4c-4e8d-a56c-a70926b19f18" + "position": { + "x": 2040, + "y": 888 } - } - ] - } - } - }, - "1ea21df64c18f01d8f4b905c437ccf0ca332baf6": { - "package": { - "name": "Adder-1bit", - "version": "0.1", - "description": "Adder-1bit: Adder of two operands of 1 bit", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", - "otid": 1618560481898 - }, - "design": { - "graph": { - "blocks": [ + }, + { + "id": "1afea26e-4199-4bc9-bee1-c5689a14f8b6", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "tic", + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 1872, + "y": 888 + } + }, { - "id": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", - "type": "basic.input", + "id": "caf86b2c-c08d-411d-be47-4084fec9532e", + "type": "basic.inputLabel", "data": { - "name": "", - "clock": false + "blockColor": "fuchsia", + "name": "tic", + "oldBlockColor": "fuchsia" }, "position": { - "x": 280, - "y": -224 + "x": 1504, + "y": 928 } }, { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "type": "basic.output", + "id": "eda78d52-57f7-4e44-bd8e-75e67c496650", + "type": "basic.outputLabel", "data": { - "name": "c" + "blockColor": "fuchsia", + "name": "next" }, "position": { - "x": 616, - "y": -176 + "x": 880, + "y": 936 } }, { - "id": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba", - "type": "basic.input", + "id": "366a768a-2f5d-4c01-8338-bdef0a688ea7", + "type": "basic.inputLabel", "data": { - "name": "", - "clock": false + "blockColor": "fuchsia", + "name": "done", + "oldBlockColor": "fuchsia" }, "position": { - "x": 280, - "y": -152 + "x": 1152, + "y": 992 } }, { - "id": "c7d2d573-b901-420e-a923-6832e5b18e34", - "type": "basic.output", + "id": "0a517454-aeac-48a3-bc62-6aa73da948bd", + "type": "basic.info", "data": { - "name": "s" + "info": "Reading data from memory \nReading bus status", + "readonly": true }, "position": { - "x": 616, - "y": -96 + "x": 336, + "y": 120 + }, + "size": { + "width": 232, + "height": 64 } }, { - "id": "0ef44beb-f4b1-484c-b15a-dc4431241aee", - "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", + "id": "b6323c55-9b6d-4753-8953-7fb34775a27b", + "type": "21cfcc19a4ad14c5fb5e8cfebd018ec356fe7542", "position": { - "x": 456, - "y": -168 + "x": 864, + "y": 16 }, "size": { "width": 96, - "height": 96 + "height": 64 } }, { - "id": "e80cc244-1751-4524-9f77-734a36b24a88", - "type": "d30ca9ee4f35f6cb76d5e5701447fc2b739bc640", + "id": "5f897fa2-936f-47cd-9310-a36fb4cb14a1", + "type": "3bf99b8d77aa1b29ec1bf618b53175de87f1001d", "position": { - "x": 304, + "x": 864, "y": -64 }, "size": { "width": 96, "height": 64 } - } - ], - "wires": [ + }, { - "source": { - "block": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba", - "port": "out" + "id": "a200cfa9-fe9a-4c4b-b9d4-f4307d071797", + "type": "basic.info", + "data": { + "info": "Calculate if the bus can be taken", + "readonly": true }, - "target": { - "block": "0ef44beb-f4b1-484c-b15a-dc4431241aee", - "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + "position": { + "x": 216, + "y": 440 + }, + "size": { + "width": 272, + "height": 32 } }, { - "source": { - "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", - "port": "out" - }, - "target": { - "block": "0ef44beb-f4b1-484c-b15a-dc4431241aee", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + "id": "7a989d63-cd4a-4c47-9513-57b4ea6ee141", + "type": "35f267d0df6ffcb7fc33753bc9df9cf083642cca", + "position": { + "x": 296, + "y": 552 }, - "vertices": [ - { - "x": 400, - "y": -168 - } - ] + "size": { + "width": 96, + "height": 64 + } }, { - "source": { - "block": "e80cc244-1751-4524-9f77-734a36b24a88", - "port": "3d584b0a-29eb-47af-8c43-c0822282ef05" + "id": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", + "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", + "position": { + "x": 464, + "y": 568 }, - "target": { - "block": "0ef44beb-f4b1-484c-b15a-dc4431241aee", - "port": "5e915366-608a-431a-bf68-8c64fb4c302c" + "size": { + "width": 96, + "height": 64 } }, { - "source": { - "block": "0ef44beb-f4b1-484c-b15a-dc4431241aee", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "id": "239fe2ba-e2b9-4446-a1ea-51e1616f5b75", + "type": "basic.info", + "data": { + "info": "The bus is available", + "readonly": true }, - "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "port": "in" + "position": { + "x": 384, + "y": 512 + }, + "size": { + "width": 184, + "height": 32 } }, { - "source": { - "block": "0ef44beb-f4b1-484c-b15a-dc4431241aee", - "port": "c7d2d573-b901-420e-a923-6832e5b18e34" + "id": "b62ad9b4-5b0e-4b74-a0ad-947946a59331", + "type": "basic.info", + "data": { + "info": "This circuits wants \nto use the bus", + "readonly": true }, - "target": { - "block": "c7d2d573-b901-420e-a923-6832e5b18e34", - "port": "in" + "position": { + "x": 280, + "y": 664 + }, + "size": { + "width": 192, + "height": 56 } - } - ] - } - } - }, - "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a": { - "package": { - "name": "AdderC-1bit", - "version": "0.1", - "description": "AdderC-1bit: Adder of two operands of 1 bit plus the carry in", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", - "otid": 1618560481898 - }, - "design": { - "graph": { - "blocks": [ + }, { - "id": "b28215b2-e375-43cd-96b4-ed5b60418dc6", - "type": "basic.outputLabel", + "id": "c25805fd-f852-43d5-93db-f3f0cb17c301", + "type": "basic.info", "data": { - "blockColor": "fuchsia", - "name": "a" + "info": "The bus has been already \ntaken", + "readonly": true }, "position": { - "x": 504, - "y": -208 + "x": 272, + "y": 816 + }, + "size": { + "width": 208, + "height": 56 } }, { - "id": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", - "type": "basic.input", - "data": { - "name": "a", - "clock": false + "id": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", + "type": "81613874c6152f06c06ed7014bf4235900cfcc30", + "position": { + "x": 648, + "y": 584 }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "26b71a43-5955-4452-9b0e-94ea6ef453b7", + "type": "81613874c6152f06c06ed7014bf4235900cfcc30", "position": { - "x": 136, - "y": -192 + "x": 1088, + "y": 296 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "f2c3e9af-37a6-4815-9413-c437d2471b1f", - "type": "basic.inputLabel", + "id": "d3ce12c0-3b45-4ed2-8446-fb6c4c8e8710", + "type": "basic.info", "data": { - "blockColor": "fuchsia", - "name": "a", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "info": "One cycle after the machine is done \nthe bus is already taken to write \nthe bbusy signal to 0 and allow \nother circuits to use it", + "readonly": true }, "position": { - "x": 272, - "y": -192 + "x": 960, + "y": 392 + }, + "size": { + "width": 304, + "height": 88 } }, { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "type": "basic.output", + "id": "110cf90a-bc63-4642-a72e-33e8e397e804", + "type": "basic.info", "data": { - "name": "c" + "info": "The output bus is controlled \nby this circuit (1) or \nremain untouched (0)", + "readonly": true }, "position": { - "x": 1112, - "y": -176 + "x": 1320, + "y": 288 + }, + "size": { + "width": 240, + "height": 112 } }, { - "id": "cdbf1806-fde2-4763-aeae-cd26f3db2a86", - "type": "basic.outputLabel", + "id": "0421b3fd-c660-4279-abe0-e1d486431ce0", + "type": "basic.info", "data": { - "blockColor": "fuchsia", - "name": "b" + "info": "The reading machine \ncan be started", + "readonly": true }, "position": { - "x": 504, - "y": -144 + "x": 584, + "y": 456 + }, + "size": { + "width": 184, + "height": 64 } }, { - "id": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba", - "type": "basic.input", + "id": "e0ace7c0-caa0-440e-9868-d76ffb18bfb2", + "type": "basic.info", "data": { - "name": "b", - "clock": false + "info": "Reading machine", + "readonly": true }, "position": { - "x": 136, - "y": -120 + "x": 1016, + "y": 728 + }, + "size": { + "width": 168, + "height": 48 } }, { - "id": "65936289-69ce-4e26-be4e-44f8a3706934", - "type": "basic.inputLabel", + "id": "5ce3f494-5892-4a5c-9720-fc5c71449b27", + "type": "basic.info", "data": { - "blockColor": "fuchsia", - "name": "b", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "info": "## Download machine\n\nTransmit all the memory contents through the serial port \nThe bytes are transmited raw (in binary). No ascii encoding \nThere should be a program running on the computer capable of \nreading these raw bytes", + "readonly": true }, "position": { - "x": 272, - "y": -120 + "x": -112, + "y": -168 + }, + "size": { + "width": 504, + "height": 120 } }, { - "id": "6b7a0fc7-9eeb-4894-98fd-e0122d08cdf0", - "type": "basic.outputLabel", - "data": { - "blockColor": "navy", - "name": "ci", - "oldBlockColor": "fuchsia" - }, + "id": "3d85ed1d-6439-43fc-b3cc-228f8dda3867", + "type": "58ed2b5c7e33e2f215ccba6c101d9ea4ff60f284", "position": { - "x": 648, - "y": -96 + "x": 1336, + "y": 912 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "5e915366-608a-431a-bf68-8c64fb4c302c", - "type": "basic.input", - "data": { - "name": "ci", - "clock": false - }, + "id": "966513fd-32a9-4c4a-aeda-ff1b9b27306f", + "type": "58ed2b5c7e33e2f215ccba6c101d9ea4ff60f284", "position": { - "x": 136, - "y": -40 + "x": 1904, + "y": 520 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "9fca1dd5-3d6c-4321-a1cf-fd35336e41ea", - "type": "basic.inputLabel", - "data": { - "blockColor": "navy", - "name": "ci", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" - }, + "id": "c663c571-8a20-4487-bd53-93978e9d1dc8", + "type": "da0861afd3d2e1db0b7bde922cdad9c4a1258652", "position": { - "x": 272, - "y": -40 + "x": 1648, + "y": 680 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "79149d67-753e-414e-ba2a-49ba4edfe523", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "a" - }, + "id": "239ee447-1dc8-4d0a-9f7a-ff93efa825f2", + "type": "873d7e980c08ce11dae3eb7abdaad1615527b3dc", "position": { - "x": 480, - "y": 24 + "x": 1904, + "y": 32 + }, + "size": { + "width": 96, + "height": 128 } }, { - "id": "c7d2d573-b901-420e-a923-6832e5b18e34", - "type": "basic.output", - "data": { - "name": "s" - }, + "id": "3fc0dded-543a-4636-a951-fbfcec7d3c24", + "type": "249940b3a2a6f82363df9ad6e49d976c389523b9", "position": { - "x": 992, - "y": 56 + "x": 1880, + "y": 664 + }, + "size": { + "width": 96, + "height": 96 } }, { - "id": "edf4525b-edd8-40fa-b784-631b102fb907", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "b" - }, + "id": "b83abd74-3947-4217-b890-75dae5bbb676", + "type": "d1635cb33c6d31e1ea457005c78d574fcf71828b", "position": { - "x": 480, - "y": 88 + "x": 384, + "y": 184 + }, + "size": { + "width": 96, + "height": 128 } }, { - "id": "35a4f7cc-d7ef-4653-af75-fe112a5f5151", - "type": "basic.outputLabel", - "data": { - "blockColor": "navy", - "name": "ci", - "oldBlockColor": "fuchsia" - }, + "id": "3e2a74fa-37e6-46c1-b08f-656cfdf57991", + "type": "6e4fc811dcd6d1ac703e608270f81ee906ee7e98", "position": { - "x": 648, - "y": 120 + "x": 1080, + "y": -80 + }, + "size": { + "width": 96, + "height": 128 } }, { - "id": "687d4abf-9ce2-408a-8010-c00e2cec2d44", - "type": "d1240143e1ff7afe57f0f11565da980612b2bb76", + "id": "bcba73d0-e5af-4e93-8321-2cd9bd80a3c1", + "type": "cae9cdc6d7b2442eb4d4095c65ccf9bd24a99bb9", "position": { - "x": 648, - "y": 40 + "x": 1016, + "y": 800 }, "size": { "width": 96, - "height": 64 + "height": 128 } }, { - "id": "6756cb54-aa93-40af-a5f3-41ef2b2edec9", - "type": "d1240143e1ff7afe57f0f11565da980612b2bb76", + "id": "b03bc63e-9e9c-47d7-b458-9fed9605b706", + "type": "5fcfda234fb072b021cd8f915af77e7ae7860198", "position": { - "x": 832, - "y": 56 + "x": 1312, + "y": 104 }, "size": { "width": 96, - "height": 64 + "height": 96 + } + } + ], + "wires": [ + { + "source": { + "block": "7fb933a6-5c63-4d46-8aaa-440b30974993", + "port": "out" + }, + "target": { + "block": "2c31aa6a-383c-4eb5-b669-b8a31ad14225", + "port": "inlabel" + }, + "vertices": [] + }, + { + "source": { + "block": "b14f140b-7bb5-46d9-8019-39c27ff6e0e3", + "port": "out" + }, + "target": { + "block": "da45f105-3600-4458-a820-50046581f5dd", + "port": "inlabel" + } + }, + { + "source": { + "block": "b83abd74-3947-4217-b890-75dae5bbb676", + "port": "9751f777-00ec-46c1-8d85-07d2dec1e653" + }, + "target": { + "block": "05a1a5b4-bf29-49df-b0b1-887859d9ec9e", + "port": "inlabel" + } + }, + { + "source": { + "block": "b83abd74-3947-4217-b890-75dae5bbb676", + "port": "afe50480-6fe5-4ca6-b639-c730569a6a1d", + "size": 8 + }, + "target": { + "block": "914e03dd-1133-4325-a333-b10f953ecce5", + "port": "inlabel" + }, + "size": 8 + }, + { + "source": { + "block": "7df4a7f1-90b6-4562-8be3-e4719a824545", + "port": "outlabel" + }, + "target": { + "block": "bcba73d0-e5af-4e93-8321-2cd9bd80a3c1", + "port": "cb426e3d-ace3-4a57-a74b-155caed0c14c" } }, { - "id": "f7053b6b-9812-48df-9212-cb8dc49d44cd", - "type": "ba518ee261a2be13a9739cd3a01cdcebe0ef63c0", - "position": { - "x": 808, - "y": -80 + "source": { + "block": "fce01e4d-e6d2-4811-8f96-410673168b4c", + "port": "outlabel" + }, + "target": { + "block": "7a989d63-cd4a-4c47-9513-57b4ea6ee141", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + }, + "vertices": [] + }, + { + "source": { + "block": "524ca75c-cdd3-4e79-851a-b46ce146bd66", + "port": "outlabel" }, - "size": { - "width": 96, - "height": 64 - } + "target": { + "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + }, + "vertices": [] }, { - "id": "d77ee777-f5ad-4f89-832b-e1f95f0cf9db", - "type": "ba518ee261a2be13a9739cd3a01cdcebe0ef63c0", - "position": { - "x": 632, - "y": -192 + "source": { + "block": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, - "size": { - "width": 96, - "height": 64 - } + "target": { + "block": "700d8b15-d6df-4b76-b10d-72db58c33e6c", + "port": "inlabel" + }, + "vertices": [] }, { - "id": "dd3259d5-99f6-47f2-881c-4e969e324444", - "type": "873425949b2a80f1a7f66f320796bcd068a59889", - "position": { - "x": 960, - "y": -176 + "source": { + "block": "0db424eb-f896-41e1-becb-7eb065dd64f2", + "port": "outlabel" }, - "size": { - "width": 96, - "height": 64 - } - } - ], - "wires": [ + "target": { + "block": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + }, + "vertices": [ + { + "x": 584, + "y": 824 + } + ] + }, { "source": { - "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", - "port": "out" + "block": "9be4488d-51be-4346-8a31-5d8f2f86e4d3", + "port": "outlabel" }, "target": { - "block": "f2c3e9af-37a6-4815-9413-c437d2471b1f", - "port": "inlabel" - } + "block": "26b71a43-5955-4452-9b0e-94ea6ef453b7", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + }, + "vertices": [] }, { "source": { - "block": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba", - "port": "out" + "block": "923c4db6-0c76-4647-a848-75fd61fba6ec", + "port": "outlabel" }, "target": { - "block": "65936289-69ce-4e26-be4e-44f8a3706934", - "port": "inlabel" - } + "block": "26b71a43-5955-4452-9b0e-94ea6ef453b7", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + }, + "vertices": [] }, { "source": { - "block": "5e915366-608a-431a-bf68-8c64fb4c302c", - "port": "out" + "block": "bcba73d0-e5af-4e93-8321-2cd9bd80a3c1", + "port": "49221b19-132a-4e3f-9a1f-97bcd463391b" }, "target": { - "block": "9fca1dd5-3d6c-4321-a1cf-fd35336e41ea", + "block": "366a768a-2f5d-4c01-8338-bdef0a688ea7", "port": "inlabel" } }, { "source": { - "block": "79149d67-753e-414e-ba2a-49ba4edfe523", + "block": "eda78d52-57f7-4e44-bd8e-75e67c496650", "port": "outlabel" }, "target": { - "block": "687d4abf-9ce2-408a-8010-c00e2cec2d44", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "block": "bcba73d0-e5af-4e93-8321-2cd9bd80a3c1", + "port": "ad4d0fc2-118e-496e-b292-c435bad20e7d" } }, { "source": { - "block": "edf4525b-edd8-40fa-b784-631b102fb907", - "port": "outlabel" + "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, "target": { - "block": "687d4abf-9ce2-408a-8010-c00e2cec2d44", - "port": "97b51945-d716-4b6c-9db9-970d08541249" + "block": "54e9bf9f-b852-4c45-bd53-f6eb4ee707eb", + "port": "inlabel" } }, { "source": { - "block": "35a4f7cc-d7ef-4653-af75-fe112a5f5151", + "block": "dc204461-1dd1-428f-91a2-006d905d6585", "port": "outlabel" }, "target": { - "block": "6756cb54-aa93-40af-a5f3-41ef2b2edec9", - "port": "97b51945-d716-4b6c-9db9-970d08541249" + "block": "bcba73d0-e5af-4e93-8321-2cd9bd80a3c1", + "port": "8f591b24-0427-409f-aa6e-ca1861556cf5" } }, { "source": { - "block": "6b7a0fc7-9eeb-4894-98fd-e0122d08cdf0", - "port": "outlabel" + "block": "bcba73d0-e5af-4e93-8321-2cd9bd80a3c1", + "port": "6a11eaf9-4bd5-405e-81f8-44418365326b" }, "target": { - "block": "f7053b6b-9812-48df-9212-cb8dc49d44cd", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "block": "7e9db299-cb56-4cd9-a489-d5fbd6eb3e2f", + "port": "inlabel" } }, { "source": { - "block": "b28215b2-e375-43cd-96b4-ed5b60418dc6", + "block": "a040cc3d-b2c6-458e-bde6-f8234a19b6d1", "port": "outlabel" }, "target": { - "block": "d77ee777-f5ad-4f89-832b-e1f95f0cf9db", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - } + "block": "38abb13c-8652-41fb-931c-c7bf760ebb24", + "port": "in" + }, + "vertices": [] }, { "source": { - "block": "cdbf1806-fde2-4763-aeae-cd26f3db2a86", + "block": "8ca2279c-fdc3-40d3-9fbe-2071c026932f", "port": "outlabel" }, "target": { - "block": "d77ee777-f5ad-4f89-832b-e1f95f0cf9db", - "port": "97b51945-d716-4b6c-9db9-970d08541249" + "block": "3e2a74fa-37e6-46c1-b08f-656cfdf57991", + "port": "49fb1766-1e7f-4706-9872-a6cd65cc9f2d" } }, { "source": { - "block": "687d4abf-9ce2-408a-8010-c00e2cec2d44", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "289f00be-f97d-4553-a60a-32d8b45da4cc", + "port": "outlabel" }, "target": { - "block": "6756cb54-aa93-40af-a5f3-41ef2b2edec9", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "block": "966513fd-32a9-4c4a-aeda-ff1b9b27306f", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" } }, { "source": { - "block": "6756cb54-aa93-40af-a5f3-41ef2b2edec9", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "7d0852c6-4778-4a53-bf90-30527c44a0eb", + "port": "outlabel" }, "target": { - "block": "c7d2d573-b901-420e-a923-6832e5b18e34", - "port": "in" + "block": "966513fd-32a9-4c4a-aeda-ff1b9b27306f", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" } }, { "source": { - "block": "687d4abf-9ce2-408a-8010-c00e2cec2d44", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "c1c96b9c-e573-43a0-8b60-9f7fe7ad5ae6", + "port": "outlabel" }, "target": { - "block": "f7053b6b-9812-48df-9212-cb8dc49d44cd", - "port": "97b51945-d716-4b6c-9db9-970d08541249" - } + "block": "3fc0dded-543a-4636-a951-fbfcec7d3c24", + "port": "1e7e3cd6-ed00-468a-9f7c-0bb91e020dce" + }, + "vertices": [] }, { "source": { - "block": "f7053b6b-9812-48df-9212-cb8dc49d44cd", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "adcb920c-12a7-478f-b1f2-9877d62d2673", + "port": "outlabel" }, "target": { - "block": "dd3259d5-99f6-47f2-881c-4e969e324444", - "port": "97b51945-d716-4b6c-9db9-970d08541249" + "block": "3d85ed1d-6439-43fc-b3cc-228f8dda3867", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" } }, { "source": { - "block": "d77ee777-f5ad-4f89-832b-e1f95f0cf9db", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "3d85ed1d-6439-43fc-b3cc-228f8dda3867", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" }, "target": { - "block": "dd3259d5-99f6-47f2-881c-4e969e324444", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "block": "caf86b2c-c08d-411d-be47-4084fec9532e", + "port": "inlabel" } }, { "source": { - "block": "dd3259d5-99f6-47f2-881c-4e969e324444", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "1afea26e-4199-4bc9-bee1-c5689a14f8b6", + "port": "outlabel" }, "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "block": "24450b7d-19ce-463a-83fb-5e1c04e4b093", "port": "in" } - } - ] - } - } - }, - "d1240143e1ff7afe57f0f11565da980612b2bb76": { - "package": { - "name": "XOR2", - "version": "1.0.2", - "description": "XOR gate: two bits input xor gate", - "author": "Jesús Arroyo, Juan González", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22193.047%22%20width=%22383.697%22%20version=%221%22%3E%3Cpath%20d=%22M175.56%20189.047H84.527s30.345-42.538%2031.086-94.03c.743-51.49-31.821-90.294-31.821-90.294l92.317-.394c46.445%201.948%20103.899%2053.44%20123.047%2093.678-32.601%2067.503-92.158%2089.79-123.596%2091.04z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2047.62h99.605M4.883%20145.497h100.981M298.57%2099.219h81.07%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20x=%22129.011%22%20y=%22115.285%22%20font-size=%2258.24%22%20font-weight=%22400%22%20style=%22line-height:125%25%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20transform=%22translate(0%20.329)%22%3E%3Ctspan%20x=%22129.011%22%20y=%22115.285%22%20font-weight=%22700%22%3EXOR%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M54.321%20188.368s30.345-42.538%2031.086-94.03c.742-51.49-31.821-90.294-31.821-90.294%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ + }, { - "id": "18c2ebc7-5152-439c-9b3f-851c59bac834", - "type": "basic.input", - "data": { - "name": "" + "source": { + "block": "886b88b1-4987-4f1f-aadd-d82bb53ab445", + "port": "out", + "size": 10 }, - "position": { - "x": 120, - "y": 48 - } + "target": { + "block": "523a4825-1562-4f5d-b129-c7d08fe542c2", + "port": "inlabel" + }, + "size": 10 }, { - "id": "664caf9e-5f40-4df4-800a-b626af702e62", - "type": "basic.output", - "data": { - "name": "" + "source": { + "block": "b359cb97-c324-4ffc-a73c-64c7f457e6fa", + "port": "outlabel" }, - "position": { - "x": 560, - "y": 72 - } + "target": { + "block": "239ee447-1dc8-4d0a-9f7a-ff93efa825f2", + "port": "8c3ce21f-2214-489f-853a-d60a223034da", + "size": 10 + }, + "size": 10 }, { - "id": "97b51945-d716-4b6c-9db9-970d08541249", - "type": "basic.input", - "data": { - "name": "" + "source": { + "block": "f81791c6-f02f-46d0-b738-5895dd124243", + "port": "outlabel" }, - "position": { - "x": 120, - "y": 104 + "target": { + "block": "239ee447-1dc8-4d0a-9f7a-ff93efa825f2", + "port": "04841e3c-8761-454a-8d99-496fde26ea1f" } }, { - "id": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "type": "basic.code", - "data": { - "code": "//-- XOR gate\n//-- Verilog implementation\n\nassign c = a ^ b;\n", - "params": [], - "ports": { - "in": [ - { - "name": "a" - }, - { - "name": "b" - } - ], - "out": [ - { - "name": "c" - } - ] - } + "source": { + "block": "a875b188-26fa-4052-ae81-4b5f22f4c1e5", + "port": "outlabel" }, - "position": { - "x": 256, - "y": 48 + "target": { + "block": "239ee447-1dc8-4d0a-9f7a-ff93efa825f2", + "port": "1ac9dd5b-9741-4af4-963a-50cbf8c4c6be" }, - "size": { - "width": 272, - "height": 112 - } - } - ], - "wires": [ + "vertices": [ + { + "x": 1800, + "y": 88 + } + ] + }, { "source": { - "block": "18c2ebc7-5152-439c-9b3f-851c59bac834", - "port": "out" + "block": "786f1170-66ce-4c3a-acdc-073388546edd", + "port": "outlabel" }, "target": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "a" - } + "block": "239ee447-1dc8-4d0a-9f7a-ff93efa825f2", + "port": "72632c73-fe18-42b3-b81f-46999ddfdb20", + "size": 8 + }, + "size": 8 }, { "source": { - "block": "97b51945-d716-4b6c-9db9-970d08541249", - "port": "out" + "block": "239ee447-1dc8-4d0a-9f7a-ff93efa825f2", + "port": "233059d5-8ab7-4c63-8dab-0c6af3a1dc28" }, "target": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "b" + "block": "bf61387a-ef36-4f3c-898f-e274c3136b18", + "port": "inlabel" } }, { "source": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "c" + "block": "0399b081-5696-4bf7-bb75-cd55da78d4f5", + "port": "outlabel" }, "target": { - "block": "664caf9e-5f40-4df4-800a-b626af702e62", - "port": "in" - } - } - ] - } - } - }, - "a1ce303b8ce47a06371ea4641c81460f34a1cca9": { - "package": { - "name": "AdderC-4bits", - "version": "0.1", - "description": "AdderC-4bits: Adder of two operands of 4 bits and Carry in", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", - "otid": 1618560481898 - }, - "design": { - "graph": { - "blocks": [ + "block": "3fc0dded-543a-4636-a951-fbfcec7d3c24", + "port": "3ebd9e0a-9308-4615-af47-ae7b97f6f04a", + "size": 8 + }, + "vertices": [ + { + "x": 1800, + "y": 656 + } + ], + "size": 8 + }, { - "id": "1c9b3962-5793-4e6f-98d4-9ca2113d0823", - "type": "basic.inputLabel", - "data": { - "blockColor": "deeppink", - "name": "a3", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "deeppink" + "source": { + "block": "64a86ee7-b105-409d-9e91-cca498c9121b", + "port": "out", + "size": 24 }, - "position": { - "x": 8, - "y": -744 - } + "target": { + "block": "74555a80-b4b5-40d0-bf28-afa5a588b1e2", + "port": "inlabel" + }, + "size": 24 }, { - "id": "161a3e27-de9b-4674-b990-c1e8314a29f3", - "type": "basic.outputLabel", - "data": { - "blockColor": "deeppink", - "name": "a3", - "oldBlockColor": "deeppink" + "source": { + "block": "93050bc1-206a-4fb3-9c14-9a41ab42f7ed", + "port": "outlabel" }, - "position": { - "x": 576, - "y": -736 - } + "target": { + "block": "b83abd74-3947-4217-b890-75dae5bbb676", + "port": "2117685c-3a4e-4403-a12a-5de3ed4c20a5", + "size": 24 + }, + "size": 24 }, { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "type": "basic.output", - "data": { - "name": "c" + "source": { + "block": "9188c313-c3af-4a0b-b917-d759873cd681", + "port": "outlabel" }, - "position": { - "x": 920, - "y": -696 - } + "target": { + "block": "3e2a74fa-37e6-46c1-b08f-656cfdf57991", + "port": "61496e71-85ba-465b-89b9-fedb08b8590d", + "size": 14 + }, + "size": 14 }, { - "id": "73a0a48e-d345-4eda-8603-782e9865d928", - "type": "basic.inputLabel", - "data": { - "blockColor": "deeppink", - "name": "a2", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "deeppink" + "source": { + "block": "bcba73d0-e5af-4e93-8321-2cd9bd80a3c1", + "port": "19940e4f-3166-4887-a4e2-ea5babe5f726", + "size": 14 }, - "position": { - "x": 8, - "y": -688 - } + "target": { + "block": "e4dc109d-2b1c-402e-b474-ee1c6abeec66", + "port": "inlabel" + }, + "size": 14 }, { - "id": "05fb13c5-879a-422f-84a8-56d1db8816da", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "b3", - "oldBlockColor": "fuchsia" + "source": { + "block": "90093714-11a0-4cea-ad1a-bae5e4aac8dc", + "port": "outlabel" }, - "position": { - "x": 576, - "y": -672 - } + "target": { + "block": "b03bc63e-9e9c-47d7-b458-9fed9605b706", + "port": "63847aa3-e2cd-4ff3-806d-b566a8176645", + "size": 24 + }, + "size": 24 }, { - "id": "a30f87da-7077-4ad6-92dd-adbfdd1bed45", - "type": "basic.inputLabel", - "data": { - "blockColor": "deeppink", - "name": "a1", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "deeppink" + "source": { + "block": "5f897fa2-936f-47cd-9310-a36fb4cb14a1", + "port": "ad29e130-c17a-4544-9237-4c72551ccbeb" }, - "position": { - "x": 8, - "y": -632 - } + "target": { + "block": "3e2a74fa-37e6-46c1-b08f-656cfdf57991", + "port": "25996d5e-6856-4828-8cb3-5dea5ff5cf9c" + }, + "vertices": [], + "size": 8 }, { - "id": "c2d36218-be99-4dd1-bf69-7690c667255b", - "type": "basic.input", - "data": { - "name": "", - "range": "[3:0]", - "clock": false, - "size": 4 + "source": { + "block": "b6323c55-9b6d-4753-8953-7fb34775a27b", + "port": "3d584b0a-29eb-47af-8c43-c0822282ef05" }, - "position": { - "x": -312, - "y": -632 - } + "target": { + "block": "3e2a74fa-37e6-46c1-b08f-656cfdf57991", + "port": "dbe1622c-3510-4132-8b5c-2fbf81d7f581" + }, + "vertices": [ + { + "x": 1000, + "y": 16 + } + ] }, { - "id": "ed7a30bc-17fc-444e-89e5-aa9f83b32e86", - "type": "basic.outputLabel", - "data": { - "blockColor": "deeppink", - "name": "a2", - "oldBlockColor": "deeppink" + "source": { + "block": "7a989d63-cd4a-4c47-9513-57b4ea6ee141", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, - "position": { - "x": 456, - "y": -584 - } + "target": { + "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + }, + "vertices": [] }, { - "id": "d7d5e8c8-78dd-41a8-aedf-1051b89bfb77", - "type": "basic.inputLabel", - "data": { - "blockColor": "deeppink", - "name": "a0", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "source": { + "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, - "position": { - "x": 8, - "y": -576 - } + "target": { + "block": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + }, + "vertices": [] }, { - "id": "3c8597e6-ca79-494a-9a53-04c284205216", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "b2", - "oldBlockColor": "fuchsia" + "source": { + "block": "26b71a43-5955-4452-9b0e-94ea6ef453b7", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, - "position": { - "x": 456, - "y": -528 + "target": { + "block": "b03bc63e-9e9c-47d7-b458-9fed9605b706", + "port": "1e7e3cd6-ed00-468a-9f7c-0bb91e020dce" } }, { - "id": "ee992ca6-d586-4901-aaa3-a17d94ddac84", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "b3", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "source": { + "block": "966513fd-32a9-4c4a-aeda-ff1b9b27306f", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" }, - "position": { - "x": -8, - "y": -448 + "target": { + "block": "95c4416f-62f5-4196-a406-f7915d40a572", + "port": "in" } }, { - "id": "c5dce3e4-5ecc-4fc9-bbf6-7c1adfa1c7ff", - "type": "basic.outputLabel", - "data": { - "blockColor": "deeppink", - "name": "a1", - "oldBlockColor": "fuchsia" + "source": { + "block": "3fc0dded-543a-4636-a951-fbfcec7d3c24", + "port": "e1d78d57-b098-4613-a11e-9e106a69765b" }, - "position": { - "x": 328, - "y": -440 - } + "target": { + "block": "3066cf48-9921-4487-826e-0464a2dead7a", + "port": "in" + }, + "size": 8 }, { - "id": "fb8bbeb1-5c60-4629-bc13-231545818d0b", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "b2", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "source": { + "block": "bcba73d0-e5af-4e93-8321-2cd9bd80a3c1", + "port": "73948305-b05b-418f-88af-11328f400cdc" }, - "position": { - "x": -8, - "y": -384 - } + "target": { + "block": "3d85ed1d-6439-43fc-b3cc-228f8dda3867", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + }, + "vertices": [ + { + "x": 1176, + "y": 928 + } + ] }, { - "id": "d192d0af-e7be-4be6-925a-50227d80784c", - "type": "basic.input", - "data": { - "name": "", - "range": "[3:0]", - "clock": false, - "size": 4 + "source": { + "block": "239ee447-1dc8-4d0a-9f7a-ff93efa825f2", + "port": "9aa5255a-60da-463d-ba87-d4f96456d802" }, - "position": { - "x": -312, - "y": -384 - } + "target": { + "block": "20d63505-e2fd-44ed-95b9-9f45e8875e70", + "port": "in" + }, + "size": 10 }, { - "id": "038a8cb8-35b8-424a-9d14-c320cfcddccf", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "b1" + "source": { + "block": "c663c571-8a20-4487-bd53-93978e9d1dc8", + "port": "56102125-3ee5-4ee9-94d5-e66dfcacb7de" }, - "position": { - "x": 328, - "y": -376 - } + "target": { + "block": "3fc0dded-543a-4636-a951-fbfcec7d3c24", + "port": "d3868260-885c-407b-b2e4-3a25beb8fd5e" + }, + "size": 8 }, { - "id": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42", - "type": "basic.output", - "data": { - "name": "s", - "range": "[3:0]", - "size": 4 + "source": { + "block": "3e2a74fa-37e6-46c1-b08f-656cfdf57991", + "port": "81a20a74-f096-4c3b-bc35-91917f08c79b" }, - "position": { - "x": 1064, - "y": -368 - } + "target": { + "block": "b03bc63e-9e9c-47d7-b458-9fed9605b706", + "port": "a7083464-b9f2-4661-ba0e-e1875f71f9f7" + }, + "vertices": [ + { + "x": 1240, + "y": 48 + } + ], + "size": 24 }, { - "id": "527c9113-e440-454b-b427-182b646c10f5", - "type": "basic.inputLabel", + "source": { + "block": "b03bc63e-9e9c-47d7-b458-9fed9605b706", + "port": "cf1ee513-b831-4546-b816-53c8196fca1c" + }, + "target": { + "block": "7b8dd447-e9d2-4c9f-ba7c-c3af9abed4e8", + "port": "in" + }, + "size": 24 + } + ] + } + } + }, + "21cfcc19a4ad14c5fb5e8cfebd018ec356fe7542": { + "package": { + "name": "0", + "version": "0.1", + "description": "Un bit constante a 0", + "author": "Jesus Arroyo", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2233.563%22%20height=%2257.469%22%20viewBox=%220%200%2031.465601%2053.876499%22%3E%3Cpath%20d=%22M21.822%2032.843l4.092%208.992-3.772%209.727%204.181%201.31m-12.967-19.26s-1.091%208.253-2.585%208.919C9.278%2043.198%201%2049.389%201%2049.389l2.647%203.256%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%22-.863%22%20y=%2230.575%22%20transform=%22scale(.90756%201.10186)%22%20font-weight=%22400%22%20font-size=%2254.594%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22%3E%3Ctspan%20x=%22-.863%22%20y=%2230.575%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold%20Italic'%22%20font-style=%22italic%22%20font-weight=%22700%22%3Eo%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "3d584b0a-29eb-47af-8c43-c0822282ef05", + "type": "basic.output", "data": { - "blockColor": "fuchsia", - "name": "b1", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "name": "" }, "position": { - "x": -16, - "y": -320 + "x": 512, + "y": 160 } }, { - "id": "f8dceaf6-6020-49e5-b775-ed4821fbd5bd", - "type": "basic.outputLabel", + "id": "61331ec5-2c56-4cdd-b607-e63b1502fa65", + "type": "basic.code", "data": { - "blockColor": "deeppink", - "name": "a0", - "oldBlockColor": "fuchsia" + "code": "//-- Bit constante a 0\nassign q = 1'b0;\n\n", + "params": [], + "ports": { + "in": [], + "out": [ + { + "name": "q" + } + ] + } }, "position": { - "x": 184, - "y": -296 + "x": 168, + "y": 112 + }, + "size": { + "width": 256, + "height": 160 } - }, + } + ], + "wires": [ { - "id": "b652825e-10ba-47cc-9832-e39d73586234", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "b0", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "source": { + "block": "61331ec5-2c56-4cdd-b607-e63b1502fa65", + "port": "q" }, - "position": { - "x": -32, - "y": -264 + "target": { + "block": "3d584b0a-29eb-47af-8c43-c0822282ef05", + "port": "in" } - }, + } + ] + } + } + }, + "3bf99b8d77aa1b29ec1bf618b53175de87f1001d": { + "package": { + "name": "Valor_0_8bits", + "version": "0.0.1", + "description": "Valor constante 0 para bus de 8 bits", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22346.308%22%20height=%22300.445%22%20viewBox=%220%200%20324.66403%20281.66758%22%3E%3Cg%20font-weight=%22400%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22371.115%22%20y=%22653.344%22%20font-size=%22335.399%22%20fill=%22green%22%20transform=%22translate(-326.544%20-441.037)%22%3E%3Ctspan%20x=%22371.115%22%20y=%22653.344%22%3E0%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22322.722%22%20y=%22721.624%22%20font-size=%2283.077%22%20transform=%22translate(-326.544%20-441.037)%22%3E%3Ctspan%20x=%22322.722%22%20y=%22721.624%22%3E00000000%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22548.722%22%20y=%22651.624%22%20font-size=%2283.077%22%20fill=%22#00f%22%20transform=%22translate(-326.544%20-441.037)%22%3E%3Ctspan%20x=%22548.722%22%20y=%22651.624%22%3E00%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ { - "id": "7e5351cc-ea73-4bb2-9dda-0390f005b90b", - "type": "basic.outputLabel", + "id": "ad29e130-c17a-4544-9237-4c72551ccbeb", + "type": "basic.output", "data": { - "blockColor": "fuchsia", - "name": "b0", - "oldBlockColor": "fuchsia" + "name": "k", + "range": "[7:0]", + "size": 8 }, - "position": { - "x": 184, - "y": -232 + "position": { + "x": 928, + "y": 256 } }, { - "id": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86", - "type": "basic.input", + "id": "ad7918eb-22dd-4b6c-949f-e428f5a55530", + "type": "basic.constant", "data": { - "name": "ci", - "clock": false + "name": "", + "value": "0", + "local": true }, "position": { - "x": -296, - "y": -168 + "x": 728, + "y": 152 } }, { - "id": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", - "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", + "id": "d8755f82-ee3e-47e9-9ac3-e4d6713a6105", + "type": "5ad97e1e35a295d0ec722addd6df97c806fc6b7c", "position": { - "x": 464, - "y": -392 + "x": 728, + "y": 256 }, "size": { "width": 96, - "height": 96 + "height": 64 } - }, + } + ], + "wires": [ { - "id": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", - "position": { - "x": 608, - "y": -544 + "source": { + "block": "ad7918eb-22dd-4b6c-949f-e428f5a55530", + "port": "constant-out" }, - "size": { - "width": 96, - "height": 96 + "target": { + "block": "d8755f82-ee3e-47e9-9ac3-e4d6713a6105", + "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" } }, { - "id": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "type": "c4f23ad05c2010ec9bd213c8814c9238873037ae", + "source": { + "block": "d8755f82-ee3e-47e9-9ac3-e4d6713a6105", + "port": "a9d6830d-5cc7-4f63-a068-35181d2537bc" + }, + "target": { + "block": "ad29e130-c17a-4544-9237-4c72551ccbeb", + "port": "in" + }, + "size": 8 + } + ] + } + } + }, + "5ad97e1e35a295d0ec722addd6df97c806fc6b7c": { + "package": { + "name": "Constante-8bits", + "version": "0.0.1", + "description": "Valor genérico constante, de 8 bits. Su valor se introduce como parámetro. Por defecto vale 0", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22145.608%22%20height=%22247.927%22%20viewBox=%220%200%20136.50729%20232.43134%22%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22293.115%22%20y=%22648.344%22%20font-weight=%22400%22%20font-size=%22335.399%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22%20transform=%22translate(-316.929%20-415.913)%22%3E%3Ctspan%20x=%22293.115%22%20y=%22648.344%22%3Ek%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "a9d6830d-5cc7-4f63-a068-35181d2537bc", + "type": "basic.output", + "data": { + "name": "k", + "range": "[7:0]", + "size": 8 + }, "position": { - "x": -168, - "y": -416 + "x": 960, + "y": 248 + } + }, + { + "id": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "type": "basic.constant", + "data": { + "name": "", + "value": "0", + "local": false }, - "size": { - "width": 96, - "height": 128 + "position": { + "x": 728, + "y": 128 } }, { - "id": "57e59301-2919-4f06-ba95-54ce5d99d774", - "type": "c4f23ad05c2010ec9bd213c8814c9238873037ae", + "id": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "type": "basic.code", + "data": { + "code": "assign k = VALUE;", + "params": [ + { + "name": "VALUE" + } + ], + "ports": { + "in": [], + "out": [ + { + "name": "k", + "range": "[7:0]", + "size": 8 + } + ] + } + }, "position": { - "x": -152, - "y": -664 + "x": 672, + "y": 248 }, "size": { - "width": 96, - "height": 128 + "width": 208, + "height": 64 + } + } + ], + "wires": [ + { + "source": { + "block": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "port": "constant-out" + }, + "target": { + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "VALUE" } }, { - "id": "11342001-e6e0-443b-af87-0e5d7ada0227", - "type": "84f0a15761ee8b753f67079819a7614923939472", + "source": { + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "k" + }, + "target": { + "block": "a9d6830d-5cc7-4f63-a068-35181d2537bc", + "port": "in" + }, + "size": 8 + } + ] + } + } + }, + "da0861afd3d2e1db0b7bde922cdad9c4a1258652": { + "package": { + "name": "8bits-Value_0", + "version": "0.0.1", + "description": "8bits constant value: 0", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22153.645%22%20height=%22230.616%22%20viewBox=%220%200%20144.04211%20216.20273%22%3E%3Cg%20style=%22line-height:0%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%3E%3Cpath%20d=%22M72.021%2022.332q-21.774%200-32.8%2021.495-10.887%2021.355-10.887%2064.344%200%2042.85%2010.887%2064.345%2011.026%2021.355%2032.8%2021.355%2021.913%200%2032.8-21.355%2011.027-21.495%2011.027-64.345%200-42.99-11.027-64.344-10.887-21.495-32.8-21.495zm0-22.332q35.034%200%2053.458%2027.776%2018.563%2027.636%2018.563%2080.395%200%2052.62-18.563%2080.396-18.424%2027.636-53.458%2027.636-35.033%200-53.597-27.636Q0%20160.79%200%20108.17q0-52.76%2018.424-80.395Q36.988%200%2072.021%200z%22%20style=%22line-height:1.25%22%20font-size=%22285.851%22%20font-family=%22sans-serif%22%20stroke-width=%227.146%22%20font-weight=%22400%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22/%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "56102125-3ee5-4ee9-94d5-e66dfcacb7de", + "type": "basic.output", + "data": { + "name": "", + "range": "[7:0]", + "size": 8 + }, "position": { "x": 896, - "y": -400 - }, - "size": { - "width": 96, - "height": 128 + "y": 256 } }, { - "id": "72c87c65-b34b-480f-8cde-cd97c0914014", - "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", - "position": { - "x": 744, - "y": -688 + "id": "ad7918eb-22dd-4b6c-949f-e428f5a55530", + "type": "basic.constant", + "data": { + "name": "", + "value": "0", + "local": true }, - "size": { - "width": 96, - "height": 96 + "position": { + "x": 728, + "y": 152 } }, { - "id": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", - "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", + "id": "6db4f25e-c3b1-4cc1-b159-a918b9ce2f53", + "type": "ffc517ae50d4171640702dac38a546757cc9ae35", "position": { - "x": 320, - "y": -248 + "x": 728, + "y": 256 }, "size": { "width": 96, - "height": 96 + "height": 64 } } ], "wires": [ { "source": { - "block": "038a8cb8-35b8-424a-9d14-c320cfcddccf", - "port": "outlabel" + "block": "ad7918eb-22dd-4b6c-949f-e428f5a55530", + "port": "constant-out" }, "target": { - "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", - "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + "block": "6db4f25e-c3b1-4cc1-b159-a918b9ce2f53", + "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" } }, { "source": { - "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "port": "f5a71d7b-de20-4527-80c8-0eb20de0dc77" + "block": "6db4f25e-c3b1-4cc1-b159-a918b9ce2f53", + "port": "b5ba4b9b-f5f9-4eb7-9faf-b362f0463917" }, "target": { - "block": "527c9113-e440-454b-b427-182b646c10f5", - "port": "inlabel" - } - }, + "block": "56102125-3ee5-4ee9-94d5-e66dfcacb7de", + "port": "in" + }, + "size": 8 + } + ] + } + } + }, + "ffc517ae50d4171640702dac38a546757cc9ae35": { + "package": { + "name": "8-bits-gen-constant", + "version": "0.0.2", + "description": "Generic: 8-bits generic constant (0-255)", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22145.608%22%20height=%22247.927%22%20viewBox=%220%200%20136.50729%20232.43134%22%3E%3Cg%20style=%22line-height:0%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%3E%3Cpath%20d=%22M56.012%20146.905q9.055%206.708%2020.459%2017.105%2011.404%2010.062%2022.472%2021.8%2011.403%2011.74%2021.465%2024.15%2010.062%2012.074%2016.1%2022.471h-32.87q-6.372-10.397-15.763-21.13-9.392-11.068-20.124-21.13-10.398-10.062-21.13-18.447-10.398-8.385-18.783-14.087v74.794H0V4.695L27.838%200v141.874q18.447-16.1%2036.894-31.863%2018.447-16.1%2033.205-33.205h32.533q-14.422%2017.106-34.881%2035.217-20.124%2018.112-39.577%2034.882z%22%20style=%22line-height:1.25%22%20font-size=%22335.399%22%20font-weight=%22400%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22/%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ { - "source": { - "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "port": "0f7487e5-b070-4277-bba6-acf69934afca" + "id": "b5ba4b9b-f5f9-4eb7-9faf-b362f0463917", + "type": "basic.output", + "data": { + "name": "", + "range": "[7:0]", + "size": 8 }, - "target": { - "block": "b652825e-10ba-47cc-9832-e39d73586234", - "port": "inlabel" + "position": { + "x": 952, + "y": 248 } }, { - "source": { - "block": "7e5351cc-ea73-4bb2-9dda-0390f005b90b", - "port": "outlabel" - }, - "target": { - "block": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", - "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + "id": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "type": "basic.constant", + "data": { + "name": "", + "value": "0", + "local": false + }, + "position": { + "x": 728, + "y": 128 } }, { - "source": { - "block": "f8dceaf6-6020-49e5-b775-ed4821fbd5bd", - "port": "outlabel" + "id": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "type": "basic.code", + "data": { + "code": "assign k = VALUE;", + "params": [ + { + "name": "VALUE" + } + ], + "ports": { + "in": [], + "out": [ + { + "name": "k", + "range": "[7:0]", + "size": 8 + } + ] + } }, - "target": { - "block": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + "position": { + "x": 672, + "y": 248 + }, + "size": { + "width": 208, + "height": 64 } - }, + } + ], + "wires": [ { "source": { - "block": "57e59301-2919-4f06-ba95-54ce5d99d774", - "port": "0f7487e5-b070-4277-bba6-acf69934afca" + "block": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "port": "constant-out" }, "target": { - "block": "d7d5e8c8-78dd-41a8-aedf-1051b89bfb77", - "port": "inlabel" + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "VALUE" } }, { "source": { - "block": "c5dce3e4-5ecc-4fc9-bbf6-7c1adfa1c7ff", - "port": "outlabel" + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "k" }, "target": { - "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" - } - }, + "block": "b5ba4b9b-f5f9-4eb7-9faf-b362f0463917", + "port": "in" + }, + "size": 8 + } + ] + } + } + }, + "873d7e980c08ce11dae3eb7abdaad1615527b3dc": { + "package": { + "name": "putc-char", + "version": "0.2", + "description": "Transmit one character to the STDOUT bus", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22613.166%22%20width=%22433.95%22%3E%3Cdefs%3E%3Cmarker%20id=%22a%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20fill=%22red%22%20fill-rule=%22evenodd%22%20stroke=%22red%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3C/defs%3E%3Cpath%20d=%22M221.062%20395.717c-17.751%200-32.152%2014.401-32.152%2032.165%200%2017.745%2014.4%2032.177%2032.152%2032.177%2017.758%200%2032.053-14.432%2032.053-32.177%200-17.764-14.295-32.165-32.053-32.165zm64.466%2050.642l-5.795%2013.96%2010.336%2020.302%201.366%202.68-14.333%2014.333-23.515-11.106-13.96%205.733-7.086%2021.691-.906%202.88h-20.258l-8.767-24.484-13.96-5.758-20.333%2010.312-2.68%201.34-14.326-14.32%2011.093-23.528-5.751-13.948-21.655-7.073-2.873-.93v-20.246l24.502-8.78%205.752-13.935-10.306-20.345-1.359-2.668%2014.308-14.308%2023.547%2011.088%2013.941-5.764%207.08-21.68.912-2.872h20.252l8.773%2024.514%2013.923%205.764%2020.339-10.318%202.705-1.359%2014.32%2014.308-11.094%2023.51%205.733%2013.966%2021.717%207.08%202.854.911v20.24z%22%20fill=%22#00f%22/%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%20-272.686%20152.713)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22124.309%22%20y=%22611.792%22%20font-weight=%22400%22%20font-size=%2291.605%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%225.725%22%3E%3Ctspan%20x=%22124.309%22%20y=%22611.792%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EChar%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%2294.134%22%20y=%2273.141%22%20font-weight=%22400%22%20font-size=%2291.605%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%225.725%22%3E%3Ctspan%20x=%2294.134%22%20y=%2273.141%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EPUTC%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M118.652%20252.337h134.3%22%20fill=%22none%22%20stroke=%22red%22%20stroke-width=%2218%22%20marker-end=%22url(#a)%22/%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%2060.37%20145.491)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%2279.938%22%20y=%22195.066%22%20font-weight=%22400%22%20font-size=%2291.605%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22red%22%20stroke-width=%225.725%22%3E%3Ctspan%20x=%2279.938%22%20y=%22195.066%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3Estdout%3C/tspan%3E%3C/text%3E%3Cpath%20fill=%22none%22%20stroke=%22red%22%20stroke-width=%223%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20d=%22M1.5%20109.784h429.559v199.593H1.5z%22/%3E%3Cpath%20d=%22M429.878%2018.574V1.5h-22.311%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%223%22%20stroke-linecap=%22round%22/%3E%3C/svg%3E", + "otid": 1571979442657 + }, + "design": { + "graph": { + "blocks": [ { - "source": { - "block": "57e59301-2919-4f06-ba95-54ce5d99d774", - "port": "f5a71d7b-de20-4527-80c8-0eb20de0dc77" + "id": "04841e3c-8761-454a-8d99-496fde26ea1f", + "type": "basic.input", + "data": { + "name": "", + "clock": true }, - "target": { - "block": "a30f87da-7077-4ad6-92dd-adbfdd1bed45", - "port": "inlabel" + "position": { + "x": -304, + "y": 384 } }, { - "source": { - "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "port": "33072210-9ba0-4659-8339-95952b939e6e" + "id": "ed414ec2-55e9-4b36-9c04-d544201b630e", + "type": "basic.inputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "target": { - "block": "fb8bbeb1-5c60-4629-bc13-231545818d0b", - "port": "inlabel" + "position": { + "x": -144, + "y": 384 } }, { - "source": { - "block": "57e59301-2919-4f06-ba95-54ce5d99d774", - "port": "33072210-9ba0-4659-8339-95952b939e6e" + "id": "c73b1a42-78ce-47a9-bb4c-807cffae6d42", + "type": "basic.output", + "data": { + "name": "nc" }, - "target": { - "block": "73a0a48e-d345-4eda-8603-782e9865d928", - "port": "inlabel" + "position": { + "x": 1200, + "y": 568 } }, { - "source": { - "block": "3c8597e6-ca79-494a-9a53-04c284205216", - "port": "outlabel" + "id": "8c3ce21f-2214-489f-853a-d60a223034da", + "type": "basic.input", + "data": { + "name": "", + "range": "[9:0]", + "clock": false, + "size": 10 }, - "target": { - "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + "position": { + "x": -328, + "y": 584 } }, { - "source": { - "block": "ed7a30bc-17fc-444e-89e5-aa9f83b32e86", - "port": "outlabel" + "id": "a0b2c050-26fc-4ac0-875f-6ef2c1f03c5e", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "stdout", + "range": "[9:0]", + "size": 10 }, - "target": { - "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + "position": { + "x": -176, + "y": 584 } }, { - "source": { - "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "port": "bbe1895b-be8b-4237-b0d1-ae592e3e6208" + "id": "80c60ca1-61f9-40d2-8a87-5cd02ffb2d90", + "type": "basic.outputLabel", + "data": { + "blockColor": "steelblue", + "name": "char", + "range": "[7:0]", + "oldBlockColor": "fuchsia", + "size": 8 }, - "target": { - "block": "ee992ca6-d586-4901-aaa3-a17d94ddac84", - "port": "inlabel" + "position": { + "x": 688, + "y": 664 } }, { - "source": { - "block": "57e59301-2919-4f06-ba95-54ce5d99d774", - "port": "bbe1895b-be8b-4237-b0d1-ae592e3e6208" - }, - "target": { - "block": "1c9b3962-5793-4e6f-98d4-9ca2113d0823", - "port": "inlabel" + "id": "bc052fe3-357e-486c-a2e1-fef8f36a37ae", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "next", + "oldBlockColor": "steelblue" }, - "vertices": [ - { - "x": -24, - "y": -696 - } - ] + "position": { + "x": -16, + "y": 664 + } }, { - "source": { - "block": "05fb13c5-879a-422f-84a8-56d1db8816da", - "port": "outlabel" + "id": "6940c4f1-a919-408b-9f9a-c542d928ac41", + "type": "basic.outputLabel", + "data": { + "blockColor": "steelblue", + "name": "exec", + "oldBlockColor": "fuchsia" }, - "target": { - "block": "72c87c65-b34b-480f-8cde-cd97c0914014", - "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + "position": { + "x": 688, + "y": 720 } }, { - "source": { - "block": "161a3e27-de9b-4674-b990-c1e8314a29f3", - "port": "outlabel" + "id": "f809e9bb-2587-459d-807e-629afdc99f43", + "type": "basic.inputLabel", + "data": { + "blockColor": "darkgreen", + "name": "busy", + "oldBlockColor": "darkorange" }, - "target": { - "block": "72c87c65-b34b-480f-8cde-cd97c0914014", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + "position": { + "x": 544, + "y": 728 } }, { - "source": { - "block": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "id": "04a63331-d349-46dd-b312-aacf9b71b3c6", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "target": { - "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", - "port": "5e915366-608a-431a-bf68-8c64fb4c302c" + "position": { + "x": 184, + "y": 728 } }, { - "source": { - "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", - "port": "c7d2d573-b901-420e-a923-6832e5b18e34" + "id": "9aa5255a-60da-463d-ba87-d4f96456d802", + "type": "basic.output", + "data": { + "name": "", + "range": "[9:0]", + "size": 10 }, - "target": { - "block": "11342001-e6e0-443b-af87-0e5d7ada0227", - "port": "969e11ca-69e8-403b-a566-7bf2fbe3a5a8" + "position": { + "x": 1216, + "y": 776 } }, { - "source": { - "block": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", - "port": "c7d2d573-b901-420e-a923-6832e5b18e34" + "id": "ddc62e2a-e70b-449d-860f-e815be4c4d8e", + "type": "basic.outputLabel", + "data": { + "name": "stdout", + "range": "[9:0]", + "blockColor": "fuchsia", + "size": 10 }, - "target": { - "block": "11342001-e6e0-443b-af87-0e5d7ada0227", - "port": "e4111201-8441-4e7d-bcd2-bcf9d265d043" + "position": { + "x": 856, + "y": 776 } }, { - "source": { - "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "id": "dea0965b-016f-40c0-aad7-c4d26a391f46", + "type": "basic.outputLabel", + "data": { + "blockColor": "steelblue", + "name": "txmit", + "oldBlockColor": "fuchsia" }, - "target": { - "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "port": "5e915366-608a-431a-bf68-8c64fb4c302c" + "position": { + "x": 200, + "y": 824 } }, { - "source": { - "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "port": "c7d2d573-b901-420e-a923-6832e5b18e34" - }, - "target": { - "block": "11342001-e6e0-443b-af87-0e5d7ada0227", - "port": "346b4ae4-4bb6-4845-9c17-3b25e0dde718" + "id": "a6820ca3-b48c-4815-aa10-2f6b80e6c4af", + "type": "basic.inputLabel", + "data": { + "blockColor": "steelblue", + "name": "exec", + "oldBlockColor": "fuchsia" }, - "vertices": [ - { - "x": 824, - "y": -424 - } - ] + "position": { + "x": 544, + "y": 840 + } }, { - "source": { - "block": "d192d0af-e7be-4be6-925a-50227d80784c", - "port": "out" - }, - "target": { - "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "port": "0ebd46a4-769b-45e6-bcaf-e3796264aed3" + "id": "1ac9dd5b-9741-4af4-963a-50cbf8c4c6be", + "type": "basic.input", + "data": { + "name": "txmit", + "clock": false }, - "size": 4 + "position": { + "x": -320, + "y": 848 + } }, { - "source": { - "block": "c2d36218-be99-4dd1-bf69-7690c667255b", - "port": "out" - }, - "target": { - "block": "57e59301-2919-4f06-ba95-54ce5d99d774", - "port": "0ebd46a4-769b-45e6-bcaf-e3796264aed3" + "id": "9fd18953-28a5-488b-be46-c1107835d885", + "type": "basic.inputLabel", + "data": { + "blockColor": "steelblue", + "name": "txmit", + "oldBlockColor": "fuchsia" }, - "size": 4 + "position": { + "x": -168, + "y": 848 + } }, { - "source": { - "block": "11342001-e6e0-443b-af87-0e5d7ada0227", - "port": "55180947-6349-4a04-a151-ad69ea2b155e" - }, - "target": { - "block": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42", - "port": "in" + "id": "1ed1a91b-927d-4eed-b00f-b05b5dda7cbf", + "type": "basic.outputLabel", + "data": { + "blockColor": "darkgreen", + "name": "busy", + "oldBlockColor": "fuchsia" }, - "size": 4 + "position": { + "x": 856, + "y": 848 + } }, { - "source": { - "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" - }, - "target": { - "block": "72c87c65-b34b-480f-8cde-cd97c0914014", - "port": "5e915366-608a-431a-bf68-8c64fb4c302c" + "id": "542ef450-6c74-4024-a245-fe1d832776bb", + "type": "basic.outputLabel", + "data": { + "blockColor": "darkgreen", + "name": "busy", + "oldBlockColor": "fuchsia" }, - "vertices": [ - { - "x": 728, - "y": -552 - } - ] + "position": { + "x": 80, + "y": 888 + } }, { - "source": { - "block": "72c87c65-b34b-480f-8cde-cd97c0914014", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "id": "2c5224d8-9648-4069-8367-a0c8ec056753", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "done" }, - "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "port": "in" + "position": { + "x": 552, + "y": 936 } }, { - "source": { - "block": "72c87c65-b34b-480f-8cde-cd97c0914014", - "port": "c7d2d573-b901-420e-a923-6832e5b18e34" + "id": "fdd4378f-0950-4ef2-b5d9-091a87499091", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "next" }, - "target": { - "block": "11342001-e6e0-443b-af87-0e5d7ada0227", - "port": "6c2aa548-5a4c-4e8d-a56c-a70926b19f18" + "position": { + "x": 80, + "y": 960 } }, { - "source": { - "block": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86", - "port": "out" + "id": "ddba74a9-5192-4fb7-8192-9e9e07103ad8", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "done" }, - "target": { - "block": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", - "port": "5e915366-608a-431a-bf68-8c64fb4c302c" + "position": { + "x": 1048, + "y": 968 } - } - ] - } - } - }, - "c3c498191b14e9288a85fa2871b3966665f75475": { - "package": { - "name": "AdderC-8bits", - "version": "0.1", - "description": "AdderC-8bits: Adder of two operands of 8 bits and Carry in", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", - "otid": 1618560481898 - }, - "design": { - "graph": { - "blocks": [ + }, { - "id": "bc495131-253e-49c9-9cd7-9e843cbe7ce5", - "type": "basic.inputLabel", + "id": "233059d5-8ab7-4c63-8dab-0c6af3a1dc28", + "type": "basic.output", "data": { - "name": "a1", - "range": "[3:0]", - "pins": [ - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "deeppink" + "name": "done" }, "position": { - "x": -64, - "y": -648 + "x": 1200, + "y": 968 } }, { - "id": "4bf17d89-89b8-4524-800a-2d15f9bbb111", + "id": "72632c73-fe18-42b3-b81f-46999ddfdb20", "type": "basic.input", "data": { - "name": "", + "name": "char", "range": "[7:0]", "clock": false, "size": 8 }, "position": { - "x": -408, - "y": -584 + "x": -320, + "y": 984 } }, { - "id": "dc0243cd-75d9-4b07-bc17-150c250121ba", - "type": "basic.inputLabel", - "data": { - "name": "a0", - "range": "[3:0]", - "pins": [ - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "deeppink", - "blockColor": "deeppink" + "id": "59b55b10-4bcd-45fd-9dbe-e6dd6767c97c", + "type": "basic.inputLabel", + "data": { + "blockColor": "steelblue", + "name": "char", + "range": "[7:0]", + "oldBlockColor": "fuchsia", + "size": 8 }, "position": { - "x": -64, - "y": -568 + "x": -160, + "y": 984 } }, { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "id": "e787e85b-39c6-4705-a8b3-4da9c48be3ea", + "type": "basic.outputLabel", + "data": { + "blockColor": "darkgreen", + "name": "busy", + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 1048, + "y": 1056 + } + }, + { + "id": "f1cc51c6-3ef4-496d-99cf-0ee3007a2c64", "type": "basic.output", "data": { - "name": "c" + "name": "busy" }, "position": { - "x": 832, - "y": -480 + "x": 1192, + "y": 1056 } }, { - "id": "bd04885a-8a3a-4215-bbf1-c472c10c44f5", - "type": "basic.outputLabel", + "id": "af3693c8-f4e9-4cbe-90e5-cd93b52b1834", + "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", + "position": { + "x": 224, + "y": 904 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "70db30ca-f05e-4d85-9911-4e37562185a2", + "type": "basic.info", "data": { - "name": "a1", - "range": "[3:0]", - "blockColor": "deeppink", - "size": 4 + "info": "## PUTC: Transmit one character (STDOUT bus)\n\nWhen **idle**, the STDOUT bus crosses the component without modification \n\nWhen the machine starts, the char is outputed and the state is changed to busy \nWhen the transmitter is done (tic received in next) the machine is turned off", + "readonly": true }, "position": { - "x": 248, - "y": -456 + "x": 160, + "y": 360 + }, + "size": { + "width": 696, + "height": 136 } }, { - "id": "ba04e310-65e0-4554-ba2b-fbde28690a0b", - "type": "basic.inputLabel", + "id": "17adabf1-6e5f-481e-b723-92cafbd3f126", + "type": "basic.info", "data": { - "name": "b1", - "range": "[3:0]", - "pins": [ - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia" + "info": "Start tic: The byte from the \ninput char is transmited", + "readonly": true }, "position": { - "x": -80, - "y": -448 + "x": -288, + "y": 800 + }, + "size": { + "width": 240, + "height": 64 } }, { - "id": "3867504b-f331-4e0e-b923-acc86cb4255c", - "type": "basic.input", + "id": "f9228c3c-67bd-4a38-b678-87e025a45048", + "type": "basic.info", "data": { - "name": "", - "range": "[7:0]", - "clock": false, - "size": 8 + "info": "Char to be transmited", + "readonly": true }, "position": { - "x": -400, - "y": -392 + "x": -272, + "y": 952 + }, + "size": { + "width": 216, + "height": 48 } }, { - "id": "d60cb59e-3e5c-4044-ae1f-3a06f33e83f9", - "type": "basic.inputLabel", + "id": "40cbc8b9-ba20-4d53-90a4-74481101d34b", + "type": "basic.info", "data": { - "name": "b0", - "range": "[3:0]", - "pins": [ - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia" + "info": "State of the machine: \n1: ON: transmitting \n2: OFF: transparent mode ", + "readonly": true }, "position": { - "x": -80, - "y": -376 + "x": 344, + "y": 648 + }, + "size": { + "width": 232, + "height": 88 } }, { - "id": "383985cb-fd11-48ff-972a-cee8b631bd65", - "type": "basic.outputLabel", + "id": "5a19e117-936d-4868-be9f-d1e03760a510", + "type": "basic.info", "data": { - "name": "b1", - "range": "[3:0]", - "blockColor": "fuchsia", - "size": 4 + "info": "If the machine is on \nand the character has been \ntransmitted: Turn it off", + "readonly": true }, "position": { - "x": 248, - "y": -376 + "x": 344, + "y": 960 + }, + "size": { + "width": 264, + "height": 72 } }, { - "id": "9daaaf78-5a89-4d4a-a1b2-db1d3af962f1", - "type": "basic.output", + "id": "358d0c6c-1d72-445e-bdc0-c40d831753f7", + "type": "basic.info", "data": { - "name": "s", - "range": "[7:0]", - "size": 8 + "info": "The machine has finished", + "readonly": true }, "position": { - "x": 840, - "y": -336 + "x": 1072, + "y": 936 + }, + "size": { + "width": 352, + "height": 56 } }, { - "id": "7905afe7-6a82-43d9-811b-45f379a3c0a9", - "type": "basic.outputLabel", + "id": "6257ea46-accb-4d9a-b165-35a8a2c04270", + "type": "basic.info", "data": { - "name": "a0", - "range": "[3:0]", - "blockColor": "deeppink", - "size": 4 + "info": "**STDOUT BUS**", + "readonly": true }, "position": { - "x": 120, - "y": -304 + "x": -296, + "y": 536 + }, + "size": { + "width": 160, + "height": 32 } }, { - "id": "53d3821c-4072-438d-a45e-3a5364fdc8bc", - "type": "basic.outputLabel", + "id": "ef395571-47c5-4fa2-9bb0-cc6bf29a96df", + "type": "46cae7e9ebf62b7867b3a90798e5bc71b9eec2e0", + "position": { + "x": -168, + "y": 664 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "476ddfa0-b036-4f51-af3f-3de23d9e074f", + "type": "basic.info", "data": { - "name": "b0", - "range": "[3:0]", - "blockColor": "fuchsia", - "size": 4 + "info": "Not connected", + "readonly": true }, "position": { - "x": 120, - "y": -232 + "x": 1192, + "y": 536 + }, + "size": { + "width": 128, + "height": 40 } }, { - "id": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86", - "type": "basic.input", + "id": "f8560747-4666-4911-8c20-a85c7c39f0c1", + "type": "basic.info", "data": { - "name": "ci", - "clock": false + "info": "**STDOUT BUS**", + "readonly": true }, "position": { - "x": -392, - "y": -168 + "x": 1208, + "y": 736 + }, + "size": { + "width": 160, + "height": 32 } }, { - "id": "d5ab6421-1fc7-4d8d-8124-2cc7e0eb931d", - "type": "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a", + "id": "ec68d254-7f67-4ca6-9e0e-b2e2e9d45066", + "type": "dfb235f1673ee7cefa8539b9a9f9e43979df37ea", "position": { - "x": -248, - "y": -392 + "x": 856, + "y": 680 }, "size": { "width": 96, @@ -25649,47 +21523,55 @@ } }, { - "id": "d6ce7b9d-d8cf-4cde-85a8-589536fcc3a3", - "type": "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a", + "id": "f59e851d-2d7f-41e9-8128-77b7da1c6a18", + "type": "basic.info", + "data": { + "info": "**Create the bus** \nfrom the data and tic signals", + "readonly": true + }, "position": { - "x": -240, - "y": -584 + "x": 720, + "y": 592 }, "size": { - "width": 96, - "height": 64 + "width": 248, + "height": 56 } }, { - "id": "0e0cf23b-5743-4a19-838d-fb46d407ee16", - "type": "afb28fd5426aea14477d11cbe30a290679f789f8", + "id": "c6b39875-76bf-43b3-bf07-98c17499bf21", + "type": "basic.info", + "data": { + "info": "Transparent mode... \nor not", + "readonly": true + }, "position": { - "x": 688, - "y": -336 + "x": 1056, + "y": 680 }, "size": { - "width": 96, - "height": 64 + "width": 192, + "height": 56 } }, { - "id": "840ba8a1-693f-4531-a947-adcaeac4e854", - "type": "a1ce303b8ce47a06371ea4641c81460f34a1cca9", + "id": "6492be89-2e8a-4083-aa96-9c98a57ca413", + "type": "aec21dcbeb94ef212f1936ba3b7cf22e0e349a8f", "position": { - "x": 320, - "y": -248 + "x": 368, + "y": 792 }, "size": { "width": 96, - "height": 96 + "height": 128 } }, { - "id": "7a4072f6-7500-4b87-86dc-2c63246b510b", - "type": "a1ce303b8ce47a06371ea4641c81460f34a1cca9", + "id": "24781aa1-3b28-4a87-9d6b-613933793a06", + "type": "8ed9836d2da2233ae19d6633059e8503d58971bb", "position": { - "x": 464, - "y": -392 + "x": 1048, + "y": 760 }, "size": { "width": 96, @@ -25700,839 +21582,770 @@ "wires": [ { "source": { - "block": "d5ab6421-1fc7-4d8d-8124-2cc7e0eb931d", - "port": "eb61d084-ca22-4894-b8a2-f936db38f4b1", - "size": 4 - }, - "target": { - "block": "d60cb59e-3e5c-4044-ae1f-3a06f33e83f9", - "port": "inlabel" - }, - "size": 4 - }, - { - "source": { - "block": "d5ab6421-1fc7-4d8d-8124-2cc7e0eb931d", - "port": "637e64f4-0a6b-4037-9a75-89397e078a58", - "size": 4 + "block": "72632c73-fe18-42b3-b81f-46999ddfdb20", + "port": "out", + "size": 8 }, "target": { - "block": "ba04e310-65e0-4554-ba2b-fbde28690a0b", + "block": "59b55b10-4bcd-45fd-9dbe-e6dd6767c97c", "port": "inlabel" }, - "size": 4 + "size": 8 }, { "source": { - "block": "d6ce7b9d-d8cf-4cde-85a8-589536fcc3a3", - "port": "eb61d084-ca22-4894-b8a2-f936db38f4b1", - "size": 4 + "block": "04841e3c-8761-454a-8d99-496fde26ea1f", + "port": "out" }, "target": { - "block": "dc0243cd-75d9-4b07-bc17-150c250121ba", + "block": "ed414ec2-55e9-4b36-9c04-d544201b630e", "port": "inlabel" - }, - "size": 4 + } }, { "source": { - "block": "d6ce7b9d-d8cf-4cde-85a8-589536fcc3a3", - "port": "637e64f4-0a6b-4037-9a75-89397e078a58", - "size": 4 + "block": "e787e85b-39c6-4705-a8b3-4da9c48be3ea", + "port": "outlabel" }, "target": { - "block": "bc495131-253e-49c9-9cd7-9e843cbe7ce5", - "port": "inlabel" - }, - "size": 4 + "block": "f1cc51c6-3ef4-496d-99cf-0ee3007a2c64", + "port": "in" + } }, { "source": { - "block": "53d3821c-4072-438d-a45e-3a5364fdc8bc", + "block": "ddba74a9-5192-4fb7-8192-9e9e07103ad8", "port": "outlabel" }, "target": { - "block": "840ba8a1-693f-4531-a947-adcaeac4e854", - "port": "d192d0af-e7be-4be6-925a-50227d80784c", - "size": 4 - }, - "size": 4 + "block": "233059d5-8ab7-4c63-8dab-0c6af3a1dc28", + "port": "in" + } }, { "source": { - "block": "7905afe7-6a82-43d9-811b-45f379a3c0a9", + "block": "04a63331-d349-46dd-b312-aacf9b71b3c6", "port": "outlabel" }, "target": { - "block": "840ba8a1-693f-4531-a947-adcaeac4e854", - "port": "c2d36218-be99-4dd1-bf69-7690c667255b", - "size": 4 - }, - "vertices": [ - { - "x": 272, - "y": -256 - } - ], - "size": 4 + "block": "6492be89-2e8a-4083-aa96-9c98a57ca413", + "port": "046501b8-4427-4d4d-af97-7fe807774f33" + } }, { "source": { - "block": "383985cb-fd11-48ff-972a-cee8b631bd65", - "port": "outlabel" + "block": "6492be89-2e8a-4083-aa96-9c98a57ca413", + "port": "0d991cee-b329-439b-b9e7-5712d2db539d" }, "target": { - "block": "7a4072f6-7500-4b87-86dc-2c63246b510b", - "port": "d192d0af-e7be-4be6-925a-50227d80784c", - "size": 4 - }, - "size": 4 + "block": "f809e9bb-2587-459d-807e-629afdc99f43", + "port": "inlabel" + } }, { "source": { - "block": "bd04885a-8a3a-4215-bbf1-c472c10c44f5", + "block": "542ef450-6c74-4024-a245-fe1d832776bb", "port": "outlabel" }, "target": { - "block": "7a4072f6-7500-4b87-86dc-2c63246b510b", - "port": "c2d36218-be99-4dd1-bf69-7690c667255b", - "size": 4 - }, - "vertices": [ - { - "x": 384, - "y": -400 - } - ], - "size": 4 + "block": "af3693c8-f4e9-4cbe-90e5-cd93b52b1834", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } }, { "source": { - "block": "840ba8a1-693f-4531-a947-adcaeac4e854", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "block": "6492be89-2e8a-4083-aa96-9c98a57ca413", + "port": "3802390d-8417-4369-b93c-dda647ccb0c6" }, "target": { - "block": "7a4072f6-7500-4b87-86dc-2c63246b510b", - "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" + "block": "2c5224d8-9648-4069-8367-a0c8ec056753", + "port": "inlabel" } }, { "source": { - "block": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86", - "port": "out" + "block": "6492be89-2e8a-4083-aa96-9c98a57ca413", + "port": "aefe9248-3b3d-441b-9e65-33cda65b99dd" }, "target": { - "block": "840ba8a1-693f-4531-a947-adcaeac4e854", - "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" + "block": "a6820ca3-b48c-4815-aa10-2f6b80e6c4af", + "port": "inlabel" } }, { "source": { - "block": "4bf17d89-89b8-4524-800a-2d15f9bbb111", + "block": "1ac9dd5b-9741-4af4-963a-50cbf8c4c6be", "port": "out" }, "target": { - "block": "d6ce7b9d-d8cf-4cde-85a8-589536fcc3a3", - "port": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e" - }, - "size": 8 + "block": "9fd18953-28a5-488b-be46-c1107835d885", + "port": "inlabel" + } }, { "source": { - "block": "3867504b-f331-4e0e-b923-acc86cb4255c", - "port": "out" + "block": "dea0965b-016f-40c0-aad7-c4d26a391f46", + "port": "outlabel" }, "target": { - "block": "d5ab6421-1fc7-4d8d-8124-2cc7e0eb931d", - "port": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e" - }, - "size": 8 + "block": "6492be89-2e8a-4083-aa96-9c98a57ca413", + "port": "88176871-35ac-42bf-bf62-36c81a4b4b47" + } }, { "source": { - "block": "0e0cf23b-5743-4a19-838d-fb46d407ee16", - "port": "1269698e-e555-4fcb-a613-cb4c7ff2e598" + "block": "8c3ce21f-2214-489f-853a-d60a223034da", + "port": "out", + "size": 10 }, "target": { - "block": "9daaaf78-5a89-4d4a-a1b2-db1d3af962f1", - "port": "in" + "block": "a0b2c050-26fc-4ac0-875f-6ef2c1f03c5e", + "port": "inlabel" }, - "size": 8 + "vertices": [], + "size": 10 }, { "source": { - "block": "840ba8a1-693f-4531-a947-adcaeac4e854", - "port": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42" + "block": "ef395571-47c5-4fa2-9bb0-cc6bf29a96df", + "port": "7e8b125e-5171-41ea-871b-ea7f0ffd4a03" }, "target": { - "block": "0e0cf23b-5743-4a19-838d-fb46d407ee16", - "port": "843164ff-f7d8-48b9-bf59-1e0d1135c81f" + "block": "bc052fe3-357e-486c-a2e1-fef8f36a37ae", + "port": "inlabel" }, - "size": 4 + "vertices": [] }, { "source": { - "block": "7a4072f6-7500-4b87-86dc-2c63246b510b", - "port": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42" + "block": "fdd4378f-0950-4ef2-b5d9-091a87499091", + "port": "outlabel" }, "target": { - "block": "0e0cf23b-5743-4a19-838d-fb46d407ee16", - "port": "a1770adf-e143-4506-9d87-3cb9c870f534" - }, - "size": 4 + "block": "af3693c8-f4e9-4cbe-90e5-cd93b52b1834", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + } }, { "source": { - "block": "7a4072f6-7500-4b87-86dc-2c63246b510b", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "block": "1ed1a91b-927d-4eed-b00f-b05b5dda7cbf", + "port": "outlabel" }, "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "port": "in" - }, - "vertices": [ - { - "x": 624, - "y": -392 - } - ] - } - ] - } - } - }, - "8cc49c9b29485f2cfeab6064d7bb1cf9ced045b1": { - "package": { - "name": "Bus16-Join-half", - "version": "0.1", - "description": "Bus16-Join-half: Join the two same halves into an 16-bits Bus", - "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=%22M164.218%2077.643L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v26.186l61.698.046c8.012-.043%2015.705%203.133%2021.47%208.81l61.448%2061.315a57.292%2057.292%200%200%200%2039.993%2016.139%2057.292%2057.292%200%200%200-39.993%2016.14L83.668%20190.45c-5.765%205.677-13.458%208.853-21.47%208.81L.5%20199.306v26.186h62.612c14.924.039%2029.463-5.9%2040.204-16.28l60.902-60.863a29.857%2029.857%200%200%201%2021.347-8.81l146.53-.113V86.457H185.571a29.884%2029.884%200%200%201-21.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "5a35cd57-1006-4f6d-b263-5b977e9ef142", - "type": "basic.input", - "data": { - "name": "1", - "range": "[7:0]", - "clock": false, - "size": 8 + "block": "24781aa1-3b28-4a87-9d6b-613933793a06", + "port": "1e7e3cd6-ed00-468a-9f7c-0bb91e020dce" }, - "position": { - "x": 120, - "y": 168 - } + "vertices": [] }, { - "id": "79c56f9a-597f-491e-b1d1-d321f63303c2", - "type": "basic.output", - "data": { - "name": "", - "range": "[15:0]", - "size": 16 + "source": { + "block": "80c60ca1-61f9-40d2-8a87-5cd02ffb2d90", + "port": "outlabel" }, - "position": { - "x": 632, - "y": 200 - } + "target": { + "block": "ec68d254-7f67-4ca6-9e0e-b2e2e9d45066", + "port": "eb5386a0-d51a-4bb4-9f25-b8add9f18cfb", + "size": 8 + }, + "size": 8 }, { - "id": "38fdb02d-4323-4a34-9ffe-8385f844b660", - "type": "basic.input", - "data": { - "name": "0", - "range": "[7:0]", - "clock": false, - "size": 8 + "source": { + "block": "6940c4f1-a919-408b-9f9a-c542d928ac41", + "port": "outlabel" }, - "position": { - "x": 120, - "y": 264 + "target": { + "block": "ec68d254-7f67-4ca6-9e0e-b2e2e9d45066", + "port": "9d2cea30-da88-4104-bf4e-e7934b02a553" } }, { - "id": "16e78204-213e-4833-9096-89d735307ec2", - "type": "basic.code", - "data": { - "code": "assign o = {i1, i0};\n", - "params": [], - "ports": { - "in": [ - { - "name": "i1", - "range": "[7:0]", - "size": 8 - }, - { - "name": "i0", - "range": "[7:0]", - "size": 8 - } - ], - "out": [ - { - "name": "o", - "range": "[15:0]", - "size": 16 - } - ] - } + "source": { + "block": "ddc62e2a-e70b-449d-860f-e815be4c4d8e", + "port": "outlabel" }, - "position": { - "x": 296, - "y": 176 + "target": { + "block": "24781aa1-3b28-4a87-9d6b-613933793a06", + "port": "7eebf205-f431-42e6-ae74-c1559aa741ec", + "size": 10 }, - "size": { - "width": 272, - "height": 104 + "size": 10 + }, + { + "source": { + "block": "af3693c8-f4e9-4cbe-90e5-cd93b52b1834", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "6492be89-2e8a-4083-aa96-9c98a57ca413", + "port": "ba15eacb-1e03-4580-932b-3231703481e5" } - } - ], - "wires": [ + }, { "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o" + "block": "8c3ce21f-2214-489f-853a-d60a223034da", + "port": "out" }, "target": { - "block": "79c56f9a-597f-491e-b1d1-d321f63303c2", - "port": "in" + "block": "ef395571-47c5-4fa2-9bb0-cc6bf29a96df", + "port": "6f62a1a4-70d0-42a7-bb69-0639fbebdc04" }, - "size": 16 + "vertices": [], + "size": 10 }, { "source": { - "block": "38fdb02d-4323-4a34-9ffe-8385f844b660", - "port": "out" + "block": "24781aa1-3b28-4a87-9d6b-613933793a06", + "port": "3594d5a9-ed9e-4b56-86ac-397384eaee88" }, "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i0" + "block": "9aa5255a-60da-463d-ba87-d4f96456d802", + "port": "in" }, - "size": 8 + "size": 10 }, { "source": { - "block": "5a35cd57-1006-4f6d-b263-5b977e9ef142", - "port": "out" + "block": "ec68d254-7f67-4ca6-9e0e-b2e2e9d45066", + "port": "eda56153-8d23-4caa-a8de-73c6be124bb9" }, "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i1" + "block": "24781aa1-3b28-4a87-9d6b-613933793a06", + "port": "20325019-e8d3-4d83-9c24-2284ef449ba6" }, - "size": 8 + "vertices": [ + { + "x": 984, + "y": 744 + } + ], + "size": 10 } ] } } }, - "ab13f05d92d80a82af1a712a92621ea26dde55f3": { + "46cae7e9ebf62b7867b3a90798e5bc71b9eec2e0": { "package": { - "name": "Bus24-Split-16-8", + "name": "stdout-bus-next-out", "version": "0.1", - "description": "Bus24-Split-16-8: Split the 24-bits bus into two buses of 16 and 8 wires", + "description": "Extract the next signal from the stdout bus", "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" + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22356.708%22%20height=%22176.233%22%20viewBox=%220%200%2094.37896%2046.628384%22%3E%3Cg%20transform=%22translate(-44.148%20-120.418)%22%3E%3Crect%20width=%2233.016%22%20height=%227.314%22%20x=%22105.246%22%20y=%22141.954%22%20ry=%220%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22bevel%22/%3E%3Crect%20width=%2235.851%22%20height=%2214.797%22%20x=%2244.412%22%20y=%22138.101%22%20ry=%220%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22bevel%22/%3E%3Crect%20width=%2225.079%22%20height=%2227.493%22%20x=%2280.36%22%20y=%22132.039%22%20ry=%220%22%20fill=%22#999%22%20stroke=%22#000%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22bevel%22/%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%2246.181%22%20y=%22130.756%22%20font-weight=%22400%22%20font-size=%2212.449%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20x=%2246.181%22%20y=%22130.756%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ESTDOUT%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%2250.363%22%20y=%22164.97%22%20font-weight=%22400%22%20font-size=%2212.449%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20x=%2250.363%22%20y=%22164.97%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EBUS%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "4ca7b72f-724d-435c-8490-645c338586db", + "id": "7e8b125e-5171-41ea-871b-ea7f0ffd4a03", "type": "basic.output", "data": { - "name": "1", - "range": "[15:0]", - "size": 16 + "name": "next" }, "position": { - "x": 600, - "y": 128 + "x": 608, + "y": 192 } }, { - "id": "901245a6-b7da-4af7-8917-7a47e5675ae1", + "id": "6f62a1a4-70d0-42a7-bb69-0639fbebdc04", "type": "basic.input", "data": { "name": "", - "range": "[23:0]", + "range": "[9:0]", "clock": false, - "size": 24 - }, - "position": { - "x": 96, - "y": 200 - } - }, - { - "id": "872cccab-7461-412b-9924-bad211fa1922", - "type": "basic.output", - "data": { - "name": "0", - "range": "[7:0]", - "size": 8 + "size": 10 }, "position": { - "x": 592, - "y": 224 + "x": 128, + "y": 192 } }, { "id": "16e78204-213e-4833-9096-89d735307ec2", "type": "basic.code", "data": { - "code": "assign o1 = i[23:8];\nassign o0 = i[7:0];", + "code": "assign o = i[0];", "params": [], "ports": { "in": [ { "name": "i", - "range": "[23:0]", - "size": 24 + "range": "[9:0]", + "size": 10 } ], "out": [ { - "name": "o1", - "range": "[15:0]", - "size": 16 - }, - { - "name": "o0", - "range": "[7:0]", - "size": 8 + "name": "o" } ] } }, "position": { - "x": 272, - "y": 168 + "x": 296, + "y": 176 }, "size": { - "width": 240, - "height": 120 + "width": 264, + "height": 88 } } ], "wires": [ - { - "source": { - "block": "901245a6-b7da-4af7-8917-7a47e5675ae1", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i" - }, - "size": 24 - }, { "source": { "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o1" + "port": "o" }, "target": { - "block": "4ca7b72f-724d-435c-8490-645c338586db", + "block": "7e8b125e-5171-41ea-871b-ea7f0ffd4a03", "port": "in" - }, - "size": 16 + } }, { "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o0" + "block": "6f62a1a4-70d0-42a7-bb69-0639fbebdc04", + "port": "out" }, "target": { - "block": "872cccab-7461-412b-9924-bad211fa1922", - "port": "in" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i" }, - "size": 8 + "size": 10 } ] } } }, - "306ca367fbbc5181b3c709d73f447e0710871a1d": { + "dfb235f1673ee7cefa8539b9a9f9e43979df37ea": { "package": { - "name": "Bus16-Split-half", + "name": "stdout-bus-joint2", "version": "0.1", - "description": "Bus16-Split-half: Split the 16-bits bus into two buses of the same size", + "description": "stdout bus joiner (data + tic)", "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" + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22354.768%22%20height=%22219.63%22%20viewBox=%220%200%20332.595%20205.90272%22%3E%3Cpath%20d=%22M164.218%2068.938L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v26.186l61.698.046c8.012-.043%2015.705%203.133%2021.47%208.81l61.448%2052.61a57.292%2057.292%200%200%200%2039.993%2016.139%2057.292%2057.292%200%200%200-39.993%2016.139l-61.448%2049.93c-5.765%205.678-13.458%208.854-21.47%208.81L.5%20179.217v26.187h62.612c14.924.039%2029.463-5.9%2040.204-16.28l60.902-49.48a29.857%2029.857%200%200%201%2021.347-8.809l146.53-.114V77.752H185.571a29.884%2029.884%200%200%201-21.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22341.249%22%20y=%22247.958%22%20font-weight=%22400%22%20font-size=%2244.109%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.938%22%20transform=%22translate(-184.13%20-199.542)%22%3E%3Ctspan%20x=%22341.249%22%20y=%22247.958%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ESTDOUT%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22390.889%22%20y=%22387.938%22%20font-weight=%22400%22%20font-size=%2244.109%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.938%22%20transform=%22translate(-184.13%20-199.542)%22%3E%3Ctspan%20x=%22390.889%22%20y=%22387.938%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EBUS%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22299.979%22%20y=%22389.373%22%20font-weight=%22400%22%20font-size=%2215%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%22.938%22%20transform=%22translate(-184.13%20-199.542)%22/%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "6ac467f0-b16b-44ef-8f03-ae206c13186e", - "type": "basic.output", + "id": "eb5386a0-d51a-4bb4-9f25-b8add9f18cfb", + "type": "basic.input", "data": { - "name": "1", + "name": "", "range": "[7:0]", + "clock": false, "size": 8 }, "position": { - "x": 608, - "y": 176 + "x": 112, + "y": 168 } }, { - "id": "a0c9783a-c287-45a7-bfc7-9da552cf732f", - "type": "basic.input", + "id": "eda56153-8d23-4caa-a8de-73c6be124bb9", + "type": "basic.output", "data": { "name": "", - "range": "[15:0]", - "clock": false, - "size": 16 + "range": "[9:0]", + "size": 10 }, "position": { - "x": 96, - "y": 208 + "x": 648, + "y": 192 } }, { - "id": "0e7ef93d-c4da-4c2e-9653-7a470dc912b6", - "type": "basic.output", + "id": "9d2cea30-da88-4104-bf4e-e7934b02a553", + "type": "basic.input", "data": { - "name": "0", - "range": "[7:0]", - "size": 8 + "name": "tic", + "clock": false }, "position": { - "x": 608, - "y": 272 + "x": 112, + "y": 232 } }, { "id": "16e78204-213e-4833-9096-89d735307ec2", "type": "basic.code", "data": { - "code": "assign o1 = i[15:8];\nassign o0 = i[7:0];", + "code": "assign o[9:1] = {i, tic};", "params": [], "ports": { "in": [ { "name": "i", - "range": "[15:0]", - "size": 16 - } - ], - "out": [ - { - "name": "o1", "range": "[7:0]", "size": 8 }, { - "name": "o0", - "range": "[7:0]", - "size": 8 + "name": "tic" + } + ], + "out": [ + { + "name": "o", + "range": "[9:0]", + "size": 10 } ] } }, "position": { - "x": 272, + "x": 296, "y": 176 }, "size": { - "width": 240, - "height": 120 + "width": 264, + "height": 88 } } ], "wires": [ { "source": { - "block": "a0c9783a-c287-45a7-bfc7-9da552cf732f", + "block": "eb5386a0-d51a-4bb4-9f25-b8add9f18cfb", "port": "out" }, "target": { "block": "16e78204-213e-4833-9096-89d735307ec2", "port": "i" }, - "size": 16 + "size": 8 }, { "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o1" + "block": "9d2cea30-da88-4104-bf4e-e7934b02a553", + "port": "out" }, "target": { - "block": "6ac467f0-b16b-44ef-8f03-ae206c13186e", - "port": "in" - }, - "size": 8 + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "tic" + } }, { "source": { "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o0" + "port": "o" }, "target": { - "block": "0e7ef93d-c4da-4c2e-9653-7a470dc912b6", + "block": "eda56153-8d23-4caa-a8de-73c6be124bb9", "port": "in" }, - "size": 8 + "size": 10 } ] } } }, - "a52e3be3d374c081062b542fc91c5cb1be726cb8": { + "8ed9836d2da2233ae19d6633059e8503d58971bb": { "package": { - "name": "Bus24-Join-8-16 CLONE", - "version": "0.1-c1628232010333", - "description": "Bus24-Join-8-16: Join the two buses into an 24-bits Bus", + "name": "10-bits-Mux-2-1-verilog", + "version": "0.2", + "description": "2-to-1 Multplexer (10-bit channels). Verilog implementation", "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=%22M164.218%2077.643L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v26.186l61.698.046c8.012-.043%2015.705%203.133%2021.47%208.81l61.448%2061.315a57.292%2057.292%200%200%200%2039.993%2016.139%2057.292%2057.292%200%200%200-39.993%2016.14L83.668%20190.45c-5.765%205.677-13.458%208.853-21.47%208.81L.5%20199.306v26.186h62.612c14.924.039%2029.463-5.9%2040.204-16.28l60.902-60.863a29.857%2029.857%200%200%201%2021.347-8.81l146.53-.113V86.457H185.571a29.884%2029.884%200%200%201-21.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2280.833%22%20height=%22158.56%22%20viewBox=%220%200%2075.781585%20148.65066%22%3E%3Cpath%20d=%22M74.375%2036.836c0-12.691-6.99-24.413-18.326-30.729-11.335-6.316-25.284-6.262-36.568.141C8.198%2012.652%201.304%2024.427%201.407%2037.118v74.415c-.103%2012.69%206.79%2024.466%2018.074%2030.87%2011.284%206.403%2025.233%206.457%2036.568.14%2011.336-6.316%2018.326-18.037%2018.326-30.728z%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%222.813%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.448%22%20y=%2291.518%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.448%22%20y=%2291.518%22%3E0%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.359%22%20y=%2214.582%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.359%22%20y=%2214.582%22%3E1%3C/tspan%3E%3C/text%3E%3C/svg%3E", + "otid": 1618922858665 }, "design": { "graph": { "blocks": [ { - "id": "29a44a77-ec20-436d-a9e8-7fc2ca5de57e", + "id": "20325019-e8d3-4d83-9c24-2284ef449ba6", "type": "basic.input", "data": { "name": "1", - "range": "[7:0]", + "range": "[9:0]", "clock": false, - "size": 8 + "size": 10 }, "position": { - "x": 120, - "y": 168 + "x": 320, + "y": -56 } }, { - "id": "756c8eb7-3567-48b4-9757-fe992499b794", + "id": "3594d5a9-ed9e-4b56-86ac-397384eaee88", "type": "basic.output", "data": { "name": "", - "range": "[23:0]", - "size": 24 + "range": "[9:0]", + "size": 10 }, "position": { - "x": 640, - "y": 200 + "x": 984, + "y": 32 } }, { - "id": "c4ca0e6a-6557-45ee-8363-1bffebaad486", + "id": "7eebf205-f431-42e6-ae74-c1559aa741ec", "type": "basic.input", "data": { "name": "0", - "range": "[15:0]", + "range": "[9:0]", "clock": false, - "size": 16 + "size": 10 }, "position": { - "x": 120, - "y": 264 + "x": 320, + "y": 32 } }, { - "id": "16e78204-213e-4833-9096-89d735307ec2", + "id": "1e7e3cd6-ed00-468a-9f7c-0bb91e020dce", + "type": "basic.input", + "data": { + "name": "sel", + "clock": false + }, + "position": { + "x": 320, + "y": 120 + } + }, + { + "id": "b64f5610-774d-45c0-bbc6-85b1a6713f43", "type": "basic.code", "data": { - "code": "assign o = {i1, i0};\n", - "params": [], "ports": { "in": [ { "name": "i1", - "range": "[7:0]", - "size": 8 + "range": "[9:0]", + "size": 10 }, { "name": "i0", - "range": "[15:0]", - "size": 16 + "range": "[9:0]", + "size": 10 + }, + { + "name": "sel" } ], "out": [ { "name": "o", - "range": "[23:0]", - "size": 24 + "range": "[9:0]", + "size": 10 } ] - } + }, + "params": [], + "code": "//-- 2-to-1 Multiplexer \n\nassign o = sel ? i1 : i0;" }, "position": { - "x": 296, - "y": 176 + "x": 560, + "y": -72 }, "size": { - "width": 272, - "height": 104 + "width": 304, + "height": 272 } } ], "wires": [ { "source": { - "block": "c4ca0e6a-6557-45ee-8363-1bffebaad486", + "block": "1e7e3cd6-ed00-468a-9f7c-0bb91e020dce", "port": "out" }, "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i0" + "block": "b64f5610-774d-45c0-bbc6-85b1a6713f43", + "port": "sel" }, - "size": 16 + "vertices": [] }, { "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", + "block": "b64f5610-774d-45c0-bbc6-85b1a6713f43", "port": "o" }, "target": { - "block": "756c8eb7-3567-48b4-9757-fe992499b794", + "block": "3594d5a9-ed9e-4b56-86ac-397384eaee88", "port": "in" }, - "size": 24 + "size": 10 }, { "source": { - "block": "29a44a77-ec20-436d-a9e8-7fc2ca5de57e", + "block": "20325019-e8d3-4d83-9c24-2284ef449ba6", "port": "out" }, "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", + "block": "b64f5610-774d-45c0-bbc6-85b1a6713f43", "port": "i1" }, - "size": 8 + "size": 10 + }, + { + "source": { + "block": "7eebf205-f431-42e6-ae74-c1559aa741ec", + "port": "out" + }, + "target": { + "block": "b64f5610-774d-45c0-bbc6-85b1a6713f43", + "port": "i0" + }, + "size": 10 } ] } } }, - "90475fb7e43e99638e866f88fcab6adab81005ac": { + "249940b3a2a6f82363df9ad6e49d976c389523b9": { "package": { - "name": "Bus24-Split-8-16", + "name": "8-bits-Mux-2-1-verilog", "version": "0.1", - "description": "Bus24-Split-8-16: Split the 24-bits bus into two buses of 8 and 16 wires", + "description": "2-to-1 Multplexer (8-bit channels). Verilog implementation", "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" + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2280.833%22%20height=%22158.56%22%20viewBox=%220%200%2075.781585%20148.65066%22%3E%3Cpath%20d=%22M74.375%2036.836c0-12.691-6.99-24.413-18.326-30.729-11.335-6.316-25.284-6.262-36.568.141C8.198%2012.652%201.304%2024.427%201.407%2037.118v74.415c-.103%2012.69%206.79%2024.466%2018.074%2030.87%2011.284%206.403%2025.233%206.457%2036.568.14%2011.336-6.316%2018.326-18.037%2018.326-30.728z%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%222.813%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.448%22%20y=%2291.518%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.448%22%20y=%2291.518%22%3E0%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.359%22%20y=%2214.582%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.359%22%20y=%2214.582%22%3E1%3C/tspan%3E%3C/text%3E%3C/svg%3E", + "otid": 1618922858665 }, "design": { "graph": { "blocks": [ { - "id": "965844d4-b087-4bba-82ce-46c48370b9d7", - "type": "basic.output", + "id": "3ebd9e0a-9308-4615-af47-ae7b97f6f04a", + "type": "basic.input", "data": { "name": "1", "range": "[7:0]", + "clock": false, "size": 8 }, "position": { - "x": 592, - "y": 152 + "x": 320, + "y": -56 } }, { - "id": "901245a6-b7da-4af7-8917-7a47e5675ae1", - "type": "basic.input", + "id": "e1d78d57-b098-4613-a11e-9e106a69765b", + "type": "basic.output", "data": { "name": "", - "range": "[23:0]", - "clock": false, - "size": 24 + "range": "[7:0]", + "size": 8 }, "position": { - "x": 80, - "y": 208 + "x": 984, + "y": 32 } }, { - "id": "329d21c4-3508-44bb-9bf0-e308736f52f2", - "type": "basic.output", + "id": "d3868260-885c-407b-b2e4-3a25beb8fd5e", + "type": "basic.input", "data": { "name": "0", - "range": "[15:0]", - "size": 16 + "range": "[7:0]", + "clock": false, + "size": 8 }, "position": { - "x": 600, - "y": 232 + "x": 320, + "y": 32 } }, { - "id": "16e78204-213e-4833-9096-89d735307ec2", + "id": "1e7e3cd6-ed00-468a-9f7c-0bb91e020dce", + "type": "basic.input", + "data": { + "name": "sel", + "clock": false + }, + "position": { + "x": 320, + "y": 120 + } + }, + { + "id": "b64f5610-774d-45c0-bbc6-85b1a6713f43", "type": "basic.code", "data": { - "code": "assign o1 = i[23:16];\nassign o0 = i[15:0];", - "params": [], "ports": { "in": [ { - "name": "i", - "range": "[23:0]", - "size": 24 + "name": "i1", + "range": "[7:0]", + "size": 8 + }, + { + "name": "i0", + "range": "[7:0]", + "size": 8 + }, + { + "name": "sel" } ], "out": [ { - "name": "o1", + "name": "o", "range": "[7:0]", "size": 8 - }, - { - "name": "o0", - "range": "[15:0]", - "size": 16 } ] - } + }, + "params": [], + "code": "//-- 2-to-1 Multiplexer \n\nassign o = sel ? i1 : i0;" }, "position": { - "x": 272, - "y": 176 + "x": 560, + "y": -72 }, "size": { - "width": 240, - "height": 120 + "width": 304, + "height": 272 } } ], "wires": [ { "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o0" + "block": "1e7e3cd6-ed00-468a-9f7c-0bb91e020dce", + "port": "out" }, "target": { - "block": "329d21c4-3508-44bb-9bf0-e308736f52f2", - "port": "in" + "block": "b64f5610-774d-45c0-bbc6-85b1a6713f43", + "port": "sel" }, - "size": 16 + "vertices": [] }, { "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o1" + "block": "b64f5610-774d-45c0-bbc6-85b1a6713f43", + "port": "o" }, "target": { - "block": "965844d4-b087-4bba-82ce-46c48370b9d7", + "block": "e1d78d57-b098-4613-a11e-9e106a69765b", "port": "in" }, "size": 8 }, { "source": { - "block": "901245a6-b7da-4af7-8917-7a47e5675ae1", + "block": "d3868260-885c-407b-b2e4-3a25beb8fd5e", "port": "out" }, "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i" + "block": "b64f5610-774d-45c0-bbc6-85b1a6713f43", + "port": "i0" }, - "size": 24 + "size": 8 + }, + { + "source": { + "block": "3ebd9e0a-9308-4615-af47-ae7b97f6f04a", + "port": "out" + }, + "target": { + "block": "b64f5610-774d-45c0-bbc6-85b1a6713f43", + "port": "i1" + }, + "size": 8 } ] } diff --git a/examples/TESTs/syscounters/28-bits/syscounter-rst/Alhambra-II/01-manual-testing.ice b/examples/TESTs/syscounters/28-bits/syscounter-rst/Alhambra-II/01-manual-testing.ice index d5e5572..ecea3ad 100644 --- a/examples/TESTs/syscounters/28-bits/syscounter-rst/Alhambra-II/01-manual-testing.ice +++ b/examples/TESTs/syscounters/28-bits/syscounter-rst/Alhambra-II/01-manual-testing.ice @@ -429,11 +429,11 @@ } }, { - "id": "b2b71472-2bb5-47d5-87fd-f2ba2b761330", - "type": "f08a82ba2df4b812c3ec75b5e1a283ae0e70cc3f", + "id": "4039f550-3e22-4410-bc30-26c77b4742ab", + "type": "ba518ee261a2be13a9739cd3a01cdcebe0ef63c0", "position": { - "x": 1200, - "y": 400 + "x": 2024, + "y": 240 }, "size": { "width": 96, @@ -441,35 +441,35 @@ } }, { - "id": "9987e2fe-81e4-4995-8e1b-5cc250305d3b", - "type": "4c1570e58dc7efecf440f8a4ff7d1dda4250ef0c", + "id": "bcc037e7-2811-44e2-8dab-3284b45ba0bd", + "type": "78be078f7f5f29f81b4664a2bc3f6c05c1daf4f2", "position": { - "x": 1424, - "y": 400 + "x": 1784, + "y": 240 }, "size": { "width": 96, - "height": 96 + "height": 64 } }, { - "id": "eb0c5ccb-d409-4896-ac98-e072a0480299", - "type": "2a35153f656f2d69dfddb3d5023a77bf81baead9", + "id": "6f6f8ce4-d419-4a4c-b4e4-06a7cc9fec49", + "type": "e2f315320f653562def276e03b3907f1c224f333", "position": { - "x": 1952, - "y": -80 + "x": 936, + "y": 168 }, "size": { "width": 96, - "height": 96 + "height": 128 } }, { - "id": "4039f550-3e22-4410-bc30-26c77b4742ab", - "type": "ba518ee261a2be13a9739cd3a01cdcebe0ef63c0", + "id": "556e1fc8-1982-4d2e-ba6f-36433170d9dd", + "type": "afb28fd5426aea14477d11cbe30a290679f789f8", "position": { - "x": 2024, - "y": 240 + "x": 1312, + "y": 168 }, "size": { "width": 96, @@ -477,11 +477,11 @@ } }, { - "id": "bcc037e7-2811-44e2-8dab-3284b45ba0bd", - "type": "78be078f7f5f29f81b4664a2bc3f6c05c1daf4f2", + "id": "94472787-bc3c-4c27-a214-07eafb94ea99", + "type": "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a", "position": { - "x": 1784, - "y": 240 + "x": 1136, + "y": 224 }, "size": { "width": 96, @@ -489,8 +489,8 @@ } }, { - "id": "c8d85feb-9404-4f6e-ae4e-1502dfd39d0b", - "type": "149b43a2d6ca7fe76c15d1e75cf0fbf2f7bb4477", + "id": "3d8cd5fb-e162-4217-98aa-d34340a6d809", + "type": "7b1d49ec8e4ad8e7df80c22409cb921f16fae8f7", "position": { "x": 736, "y": 216 @@ -501,23 +501,23 @@ } }, { - "id": "6f6f8ce4-d419-4a4c-b4e4-06a7cc9fec49", - "type": "e2f315320f653562def276e03b3907f1c224f333", + "id": "d271376e-a1e1-45f7-b65d-5a067e1c94fe", + "type": "ef27646a2ca3d9f1e7811dac0fd909719b5affe1", "position": { - "x": 936, - "y": 168 + "x": 1424, + "y": 400 }, "size": { "width": 96, - "height": 128 + "height": 96 } }, { - "id": "556e1fc8-1982-4d2e-ba6f-36433170d9dd", - "type": "afb28fd5426aea14477d11cbe30a290679f789f8", + "id": "33f368c5-8a06-46a8-9597-572eca4f86bd", + "type": "5018a67fe520592d7f82dbf669bb3c3661624b65", "position": { - "x": 1312, - "y": 168 + "x": 1200, + "y": 400 }, "size": { "width": 96, @@ -525,15 +525,15 @@ } }, { - "id": "94472787-bc3c-4c27-a214-07eafb94ea99", - "type": "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a", + "id": "551aa8e4-a9b7-4181-be26-e34a54c2bbeb", + "type": "455c3beb3ea73cf6862dfbc0c899a5e357964a24", "position": { - "x": 1136, - "y": 224 + "x": 1952, + "y": -80 }, "size": { "width": 96, - "height": 64 + "height": 96 } } ], @@ -544,7 +544,7 @@ "port": "out" }, "target": { - "block": "c8d85feb-9404-4f6e-ae4e-1502dfd39d0b", + "block": "3d8cd5fb-e162-4217-98aa-d34340a6d809", "port": "2a921d76-1cbd-48fe-82a9-11b0ab4dbc06" } }, @@ -554,17 +554,17 @@ "port": "out" }, "target": { - "block": "b2b71472-2bb5-47d5-87fd-f2ba2b761330", + "block": "33f368c5-8a06-46a8-9597-572eca4f86bd", "port": "21bc142d-a93a-430d-b37a-326435def9f9" } }, { "source": { - "block": "b2b71472-2bb5-47d5-87fd-f2ba2b761330", + "block": "33f368c5-8a06-46a8-9597-572eca4f86bd", "port": "997db8c4-b772-49d8-83e7-4427aff720e6" }, "target": { - "block": "9987e2fe-81e4-4995-8e1b-5cc250305d3b", + "block": "d271376e-a1e1-45f7-b65d-5a067e1c94fe", "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" } }, @@ -584,13 +584,13 @@ "port": "outlabel" }, "target": { - "block": "9987e2fe-81e4-4995-8e1b-5cc250305d3b", + "block": "d271376e-a1e1-45f7-b65d-5a067e1c94fe", "port": "fc243ba8-9abb-4a22-81c4-fabdf043cd01" } }, { "source": { - "block": "eb0c5ccb-d409-4896-ac98-e072a0480299", + "block": "551aa8e4-a9b7-4181-be26-e34a54c2bbeb", "port": "757f1816-834d-4cd7-a5e1-d726a472de91" }, "target": { @@ -605,7 +605,7 @@ "port": "outlabel" }, "target": { - "block": "eb0c5ccb-d409-4896-ac98-e072a0480299", + "block": "551aa8e4-a9b7-4181-be26-e34a54c2bbeb", "port": "b1e41924-f354-4744-b5f0-a93a1fdc6828" }, "vertices": [ @@ -617,7 +617,7 @@ }, { "source": { - "block": "9987e2fe-81e4-4995-8e1b-5cc250305d3b", + "block": "d271376e-a1e1-45f7-b65d-5a067e1c94fe", "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { @@ -663,14 +663,14 @@ "port": "outlabel" }, "target": { - "block": "eb0c5ccb-d409-4896-ac98-e072a0480299", + "block": "551aa8e4-a9b7-4181-be26-e34a54c2bbeb", "port": "9cdfc247-4374-4660-b8c7-246e9aa090d7" }, "size": 8 }, { "source": { - "block": "c8d85feb-9404-4f6e-ae4e-1502dfd39d0b", + "block": "3d8cd5fb-e162-4217-98aa-d34340a6d809", "port": "8e9383dd-fa5c-49f5-a6c1-ecf5e9f3b1a0" }, "target": { @@ -727,960 +727,1142 @@ } }, "dependencies": { - "f08a82ba2df4b812c3ec75b5e1a283ae0e70cc3f": { + "ba518ee261a2be13a9739cd3a01cdcebe0ef63c0": { "package": { - "name": "Button-tic", - "version": "0.1", - "description": "Button-tic: Configurable button that emits a tic when it is pressed", - "author": "Juan Gonzalez-Gomez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20width=%22293.977%22%20height=%22257.958%22%20viewBox=%220%200%2077.781366%2068.251365%22%3E%3Cdefs%3E%3ClinearGradient%20gradientTransform=%22matrix(-.013%20-.01966%20.01932%20-.01493%20151.654%20290.082)%22%20gradientUnits=%22userSpaceOnUse%22%20y2=%222300.215%22%20x2=%226069.057%22%20y1=%222538.05%22%20x1=%225466.681%22%20id=%22b%22%20xlink:href=%22#a%22/%3E%3ClinearGradient%20id=%22a%22%3E%3Cstop%20offset=%220%22%20stop-color=%22#c3875c%22/%3E%3Cstop%20offset=%22.48%22%20stop-color=%22#eccba3%22/%3E%3Cstop%20offset=%221%22%20stop-color=%22#fce0cb%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg%20transform=%22translate(138.022%20-134.888)%22%3E%3Cpath%20d=%22M-117.19%20184.278a20.69%209.094%200%200%200-13.734%202.307l-5.434.006-1.284%205.482a20.69%209.094%200%200%200-.238%201.3%2020.69%209.094%200%200%200%2020.69%209.093%2020.69%209.094%200%200%200%2020.69-9.094%2020.69%209.094%200%200%200-.029-.351h.064l-1.277-6.47-5.778.005a20.69%209.094%200%200%200-13.67-2.278z%22%20fill=%22#333%22%20stroke=%22#000%22%20stroke-width=%22.282%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20ry=%226.762%22%20rx=%2219.408%22%20cy=%22187.341%22%20cx=%22-117.074%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%22.282%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22matrix(.1018%200%200%20.10181%20-158.528%20145.536)%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-width=%222.772%22%3E%3Cellipse%20cx=%22406.087%22%20cy=%22399.216%22%20rx=%22184.221%22%20ry=%2272.858%22%20fill=%22green%22/%3E%3Cellipse%20cx=%22406.23%22%20cy=%22383.328%22%20rx=%22179.497%22%20ry=%2260.977%22%20fill=%22#0f0%22/%3E%3C/g%3E%3C/g%3E%3Cpath%20d=%22M126.16%20115.387c-1.523%201.514-2.14%203.307-2.023%205.326-.507%201.097-2.411%202.346-2.027%203.267-1.196%201.923-1.624%203.389-1.572%204.569-.544%201.24-.403%201.705-.348%202.268-2.266%203.497-4.092%208.255-5.878%2013.125-2.302%202.765-3.64%205.792-4.898%208.84-2.191%203.7-3.756%207.67-4.02%2011.394l-.265.558c2.996%203.107%204.946%201.524%207.018.747%206.637-3.112%209.504-8.52%2012.212-14.025.473-1.572%201.57-3.127%203.151-4.669%204.414-4.785%206.886-10.022%209.857-15.142.228-.428.58-1.032%201.143-1.941%201.675-1.795%203.418-4.997%205.132-7.612z%22%20fill=%22url(#b)%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.265%22%20transform=%22translate(-90.276%20-115.233)%22/%3E%3Cpath%20d=%22M18.486%2038.911c-2.362%202.823-3.506%206.298-4.228%2010.204.518.13%201.302-.444%202.155-1.196%202.575-6.067%201.848-7.142%202.073-9.008z%22%20fill=%22#f8ecf8%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.265%22/%3E%3Cpath%20d=%22M33.79%205.666c2.093-.057%203.853.53%205.373%201.582M31.832%208.759c2.001.286%203.946.663%205.428%201.788M30.331%2013.16c1.325-.48%203.02.099%204.83%201.005M29.98%2015.593l1.79.362%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%22.265%22/%3E%3Cg%20transform=%22matrix(1.2877%200%200%201.2877%20-70.904%20-45.941)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/svg%3E" + "name": "AND2", + "version": "1.0.2", + "description": "Two bits input And gate", + "author": "Jesús Arroyo, Juan González", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22336.09%22%20height=%22194.045%22%20version=%221%22%3E%3Cpath%20d=%22M174.656%20190.045H78.304V4h96.352s87.463%208.625%2087.463%2091.94c0%2083.311-87.463%2094.105-87.463%2094.105z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2045.668h74.018M4.057%20144.812h74.018m184.632-50.034h69.326%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%2292.894%22%20y=%22114.587%22%20font-weight=%22400%22%20font-size=%2258.054%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%2292.894%22%20y=%22114.587%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%3EAND%3C/tspan%3E%3C/text%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "653b2ced-3f13-4b1d-a2b6-c330c671067a", + "id": "18c2ebc7-5152-439c-9b3f-851c59bac834", "type": "basic.input", "data": { - "name": "", - "clock": true + "name": "" }, "position": { - "x": 128, - "y": -32 + "x": 96, + "y": 56 } }, { - "id": "98209ccc-d0f3-48fc-b10b-c2865b7442fc", - "type": "basic.inputLabel", + "id": "664caf9e-5f40-4df4-800a-b626af702e62", + "type": "basic.output", "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "name": "" }, "position": { - "x": 280, - "y": -32 + "x": 600, + "y": 96 } }, { - "id": "b58132b2-2e39-4a85-ab5b-63bded91cecc", - "type": "basic.output", + "id": "97b51945-d716-4b6c-9db9-970d08541249", + "type": "basic.input", "data": { - "name": "s" + "name": "" }, "position": { - "x": 728, - "y": -16 + "x": 96, + "y": 128 } }, { - "id": "2f9cf56e-789c-4621-923a-be59ef6ccd4a", - "type": "basic.outputLabel", + "id": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "type": "basic.code", "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" + "code": "//-- AND gate\n//-- Verilog implementation\n\nassign c = a & b;\n", + "params": [], + "ports": { + "in": [ + { + "name": "a" + }, + { + "name": "b" + } + ], + "out": [ + { + "name": "c" + } + ] + } }, "position": { - "x": 312, - "y": 104 + "x": 256, + "y": 48 + }, + "size": { + "width": 304, + "height": 152 } - }, + } + ], + "wires": [ { - "id": "b8666bca-0d3d-4cbb-8129-fcea674d428a", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" + "source": { + "block": "18c2ebc7-5152-439c-9b3f-851c59bac834", + "port": "out" }, - "position": { - "x": 744, - "y": 136 + "target": { + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "a" } }, { - "id": "997db8c4-b772-49d8-83e7-4427aff720e6", - "type": "basic.output", - "data": { - "name": "Press" + "source": { + "block": "97b51945-d716-4b6c-9db9-970d08541249", + "port": "out" }, - "position": { - "x": 1024, - "y": 168 + "target": { + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "b" } }, { - "id": "21bc142d-a93a-430d-b37a-326435def9f9", - "type": "basic.input", - "data": { - "name": "pin", - "clock": false + "source": { + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "c" }, - "position": { - "x": 304, - "y": 200 + "target": { + "block": "664caf9e-5f40-4df4-800a-b626af702e62", + "port": "in" } - }, + } + ] + } + } + }, + "78be078f7f5f29f81b4664a2bc3f6c05c1daf4f2": { + "package": { + "name": "Bus8-Split-1-7", + "version": "0.1", + "description": "Bus8-Split-half: Split the 8-bits bus into two buses of 1 and 7 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": { + "graph": { + "blocks": [ { - "id": "7f2c89d2-aea0-4ff9-b4f9-52d70cefa867", - "type": "basic.constant", + "id": "6461d1f4-0bf2-46a4-8c57-46d4419eba2b", + "type": "basic.output", "data": { - "name": "pup", - "value": "0", - "local": false + "name": "1" }, "position": { - "x": 448, - "y": 56 + "x": 584, + "y": 104 } }, { - "id": "1ff8ad12-4df4-4aee-922b-c0c0fb449926", - "type": "basic.constant", + "id": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e", + "type": "basic.input", "data": { - "name": "not", - "value": "0", - "local": false + "name": "", + "range": "[7:0]", + "clock": false, + "size": 8 }, "position": { - "x": 560, - "y": 56 + "x": 120, + "y": 208 } }, { - "id": "15503ba9-0846-4d76-9fa4-dd8f67da8f08", - "type": "basic.info", + "id": "7851244f-72ce-4b5b-a481-c1202933c8be", + "type": "basic.output", "data": { - "info": "System clock", - "readonly": true + "name": "0", + "range": "[6:0]", + "size": 7 }, "position": { - "x": 136, - "y": -56 - }, - "size": { - "width": 136, - "height": 40 + "x": 584, + "y": 272 } }, { - "id": "811f4c54-c464-463e-ad4d-eedaaf357148", - "type": "e245ee74990b448c1d6ce27462261485c9649d55", - "position": { - "x": 496, - "y": 184 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "5b87e16b-9cc4-444b-8b67-04775620b4e5", - "type": "c8ffff0c6db83755c69d6633413f8122e52a420c", + "id": "16e78204-213e-4833-9096-89d735307ec2", + "type": "basic.code", + "data": { + "code": "assign o1 = i[7];\nassign o0 = i[6:0];", + "params": [], + "ports": { + "in": [ + { + "name": "i", + "range": "[7:0]", + "size": 8 + } + ], + "out": [ + { + "name": "o1" + }, + { + "name": "o0", + "range": "[6:0]", + "size": 7 + } + ] + } + }, "position": { - "x": 888, - "y": 168 + "x": 272, + "y": 176 }, "size": { - "width": 96, - "height": 64 + "width": 240, + "height": 120 } + } + ], + "wires": [ + { + "source": { + "block": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e", + "port": "out" + }, + "target": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i" + }, + "size": 8 }, { - "id": "8f811ac3-ce9d-4e72-af71-03036c9426e7", - "type": "basic.info", + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o0" + }, + "target": { + "block": "7851244f-72ce-4b5b-a481-c1202933c8be", + "port": "in" + }, + "size": 7 + }, + { + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o1" + }, + "target": { + "block": "6461d1f4-0bf2-46a4-8c57-46d4419eba2b", + "port": "in" + } + } + ] + } + } + }, + "e2f315320f653562def276e03b3907f1c224f333": { + "package": { + "name": "Bus28-Split-4-8-8-8", + "version": "0.1", + "description": "Bus28-Split-4-8-8-8: Split the 28-bits bus into four buses of 4, 8, 8, and 8 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": { + "graph": { + "blocks": [ + { + "id": "5acc5191-7aad-45b2-b859-8b1fdcaf8832", + "type": "basic.output", "data": { - "info": "Button state signal", - "readonly": true + "name": "3", + "range": "[3:0]", + "size": 4 }, "position": { - "x": 720, - "y": -32 - }, - "size": { - "width": 176, - "height": 40 + "x": 704, + "y": 96 } }, { - "id": "dee7b550-b7f2-40d7-955d-bfb931daba22", - "type": "basic.info", + "id": "81877dde-9ba9-411f-a9b4-b13e3d344326", + "type": "basic.output", "data": { - "info": "Tic: button pressed", - "readonly": true + "name": "2", + "range": "[7:0]", + "size": 8 }, "position": { - "x": 1024, - "y": 152 - }, - "size": { - "width": 184, - "height": 40 + "x": 728, + "y": 200 } }, { - "id": "88b26983-667f-40de-b1c6-c6710a7bbd4a", - "type": "basic.info", + "id": "8dc63d68-e086-4db8-a819-610111258e7d", + "type": "basic.input", "data": { - "info": "Rising edge detector", - "readonly": true + "name": "", + "range": "[27:0]", + "clock": false, + "size": 28 }, "position": { - "x": 872, - "y": 248 - }, - "size": { - "width": 184, - "height": 40 + "x": 80, + "y": 216 } }, { - "id": "0957ba76-2838-49cb-8fd4-b9fe42f21801", - "type": "basic.info", + "id": "83128884-b296-4f8e-ae27-6e2d26dd1744", + "type": "basic.output", "data": { - "info": "Pull up on/off", - "readonly": true + "name": "1", + "range": "[7:0]", + "size": 8 }, "position": { - "x": 448, - "y": 16 + "x": 688, + "y": 360 + } + }, + { + "id": "b7518758-d519-431e-a19d-4a1197635efa", + "type": "basic.output", + "data": { + "name": "0", + "range": "[7:0]", + "size": 8 }, - "size": { - "width": 152, - "height": 40 + "position": { + "x": 616, + "y": 432 } }, { - "id": "5a5caef3-ffd0-46a4-9f63-e55aa8cd750d", - "type": "basic.info", + "id": "16e78204-213e-4833-9096-89d735307ec2", + "type": "basic.code", "data": { - "info": "Not on/off", - "readonly": true + "code": "assign o3 = i[31:24];\nassign o2 = i[23:16];\nassign o1 = i[15:8];\nassign o0 = i[7:0];", + "params": [], + "ports": { + "in": [ + { + "name": "i", + "range": "[27:0]", + "size": 28 + } + ], + "out": [ + { + "name": "o3", + "range": "[3:0]", + "size": 4 + }, + { + "name": "o2", + "range": "[7:0]", + "size": 8 + }, + { + "name": "o1", + "range": "[7:0]", + "size": 8 + }, + { + "name": "o0", + "range": "[7:0]", + "size": 8 + } + ] + } }, "position": { - "x": 576, - "y": 16 + "x": 272, + "y": 176 }, "size": { - "width": 120, - "height": 32 + "width": 280, + "height": 144 } } ], "wires": [ { "source": { - "block": "653b2ced-3f13-4b1d-a2b6-c330c671067a", + "block": "8dc63d68-e086-4db8-a819-610111258e7d", "port": "out" }, "target": { - "block": "98209ccc-d0f3-48fc-b10b-c2865b7442fc", - "port": "inlabel" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i" }, - "vertices": [] + "size": 28 }, { "source": { - "block": "2f9cf56e-789c-4621-923a-be59ef6ccd4a", - "port": "outlabel" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o0" }, "target": { - "block": "811f4c54-c464-463e-ad4d-eedaaf357148", - "port": "59f7bee9-9832-421d-aa0a-de177f3f121d" + "block": "b7518758-d519-431e-a19d-4a1197635efa", + "port": "in" }, - "vertices": [ - { - "x": 424, - "y": 160 - } - ] + "size": 8 }, { "source": { - "block": "b8666bca-0d3d-4cbb-8129-fcea674d428a", - "port": "outlabel" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o1" }, "target": { - "block": "5b87e16b-9cc4-444b-8b67-04775620b4e5", - "port": "2708468d-1088-4570-be63-fb0d4799a941" - } + "block": "83128884-b296-4f8e-ae27-6e2d26dd1744", + "port": "in" + }, + "size": 8 }, { "source": { - "block": "21bc142d-a93a-430d-b37a-326435def9f9", - "port": "out" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o2" }, "target": { - "block": "811f4c54-c464-463e-ad4d-eedaaf357148", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" - } + "block": "81877dde-9ba9-411f-a9b4-b13e3d344326", + "port": "in" + }, + "size": 8 }, { "source": { - "block": "811f4c54-c464-463e-ad4d-eedaaf357148", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o3" }, "target": { - "block": "b58132b2-2e39-4a85-ab5b-63bded91cecc", - "port": "in" - } - }, - { - "source": { - "block": "811f4c54-c464-463e-ad4d-eedaaf357148", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" - }, - "target": { - "block": "5b87e16b-9cc4-444b-8b67-04775620b4e5", - "port": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff" - }, - "vertices": [] - }, - { - "source": { - "block": "5b87e16b-9cc4-444b-8b67-04775620b4e5", - "port": "1c25e08e-e664-4fab-9b30-cedc1f8a3739" - }, - "target": { - "block": "997db8c4-b772-49d8-83e7-4427aff720e6", + "block": "5acc5191-7aad-45b2-b859-8b1fdcaf8832", "port": "in" - } - }, - { - "source": { - "block": "7f2c89d2-aea0-4ff9-b4f9-52d70cefa867", - "port": "constant-out" - }, - "target": { - "block": "811f4c54-c464-463e-ad4d-eedaaf357148", - "port": "07e7cb88-d87c-4aa3-9938-fc226e3f4815" - } - }, - { - "source": { - "block": "1ff8ad12-4df4-4aee-922b-c0c0fb449926", - "port": "constant-out" }, - "target": { - "block": "811f4c54-c464-463e-ad4d-eedaaf357148", - "port": "6aacd3c5-a3e9-4a17-afb8-2b1271b3054c" - } + "size": 4 } ] } } }, - "e245ee74990b448c1d6ce27462261485c9649d55": { + "afb28fd5426aea14477d11cbe30a290679f789f8": { "package": { - "name": "Button", + "name": "Bus8-Join-half", "version": "0.1", - "description": "Configurable button (pull-up on/off. Not on/off)", + "description": "Bus8-Join-half: Join the two same halves into an 8-bits Bus", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20width=%22202.458%22%20height=%22255.947%22%20viewBox=%220%200%2053.566957%2067.719398%22%3E%3Cdefs%3E%3ClinearGradient%20gradientTransform=%22matrix(-.013%20-.01966%20.01932%20-.01493%20151.654%20290.082)%22%20gradientUnits=%22userSpaceOnUse%22%20y2=%222300.215%22%20x2=%226069.057%22%20y1=%222538.05%22%20x1=%225466.681%22%20id=%22b%22%20xlink:href=%22#a%22/%3E%3ClinearGradient%20id=%22a%22%3E%3Cstop%20offset=%220%22%20stop-color=%22#c3875c%22/%3E%3Cstop%20offset=%22.48%22%20stop-color=%22#eccba3%22/%3E%3Cstop%20offset=%221%22%20stop-color=%22#fce0cb%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg%20transform=%22translate(138.022%20-134.888)%22%3E%3Cpath%20d=%22M-117.19%20184.278a20.69%209.094%200%200%200-13.734%202.307l-5.434.006-1.284%205.482a20.69%209.094%200%200%200-.238%201.3%2020.69%209.094%200%200%200%2020.69%209.093%2020.69%209.094%200%200%200%2020.69-9.094%2020.69%209.094%200%200%200-.029-.351h.064l-1.277-6.47-5.778.005a20.69%209.094%200%200%200-13.67-2.278z%22%20fill=%22#333%22%20stroke=%22#000%22%20stroke-width=%22.282%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20ry=%226.762%22%20rx=%2219.408%22%20cy=%22187.341%22%20cx=%22-117.074%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%22.282%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22matrix(.1018%200%200%20.10181%20-158.528%20145.536)%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-width=%222.772%22%3E%3Cellipse%20cx=%22406.087%22%20cy=%22399.216%22%20rx=%22184.221%22%20ry=%2272.858%22%20fill=%22green%22/%3E%3Cellipse%20cx=%22406.23%22%20cy=%22383.328%22%20rx=%22179.497%22%20ry=%2260.977%22%20fill=%22#0f0%22/%3E%3C/g%3E%3C/g%3E%3Cpath%20d=%22M126.16%20115.387c-1.523%201.514-2.14%203.307-2.023%205.326-.507%201.097-2.411%202.346-2.027%203.267-1.196%201.923-1.624%203.389-1.572%204.569-.544%201.24-.403%201.705-.348%202.268-2.266%203.497-4.092%208.255-5.878%2013.125-2.302%202.765-3.64%205.792-4.898%208.84-2.191%203.7-3.756%207.67-4.02%2011.394l-.265.558c2.996%203.107%204.946%201.524%207.018.747%206.637-3.112%209.504-8.52%2012.212-14.025.473-1.572%201.57-3.127%203.151-4.669%204.414-4.785%206.886-10.022%209.857-15.142.228-.428.58-1.032%201.143-1.941%201.675-1.795%203.418-4.997%205.132-7.612z%22%20fill=%22url(#b)%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.265%22%20transform=%22translate(-90.276%20-115.233)%22/%3E%3Cpath%20d=%22M18.486%2038.911c-2.362%202.823-3.506%206.298-4.228%2010.204.518.13%201.302-.444%202.155-1.196%202.575-6.067%201.848-7.142%202.073-9.008z%22%20fill=%22#f8ecf8%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.265%22/%3E%3Cpath%20d=%22M33.79%205.666c2.093-.057%203.853.53%205.373%201.582M31.832%208.759c2.001.286%203.946.663%205.428%201.788M30.331%2013.16c1.325-.48%203.02.099%204.83%201.005M29.98%2015.593l1.79.362%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%22.265%22/%3E%3C/svg%3E", - "otid": 1615538095529 + "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=%22M164.218%2077.643L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v26.186l61.698.046c8.012-.043%2015.705%203.133%2021.47%208.81l61.448%2061.315a57.292%2057.292%200%200%200%2039.993%2016.139%2057.292%2057.292%200%200%200-39.993%2016.14L83.668%20190.45c-5.765%205.677-13.458%208.853-21.47%208.81L.5%20199.306v26.186h62.612c14.924.039%2029.463-5.9%2040.204-16.28l60.902-60.863a29.857%2029.857%200%200%201%2021.347-8.81l146.53-.113V86.457H185.571a29.884%2029.884%200%200%201-21.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "59f7bee9-9832-421d-aa0a-de177f3f121d", + "id": "a1770adf-e143-4506-9d87-3cb9c870f534", "type": "basic.input", "data": { - "name": "", - "clock": true + "name": "1", + "range": "[3:0]", + "clock": false, + "size": 4 }, "position": { "x": 128, - "y": 232 + "y": 168 } }, { - "id": "c2136078-81d0-4137-8583-c122b93cbdb0", - "type": "basic.inputLabel", + "id": "1269698e-e555-4fcb-a613-cb4c7ff2e598", + "type": "basic.output", "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "name": "", + "range": "[7:0]", + "size": 8 }, "position": { - "x": 280, - "y": 232 + "x": 640, + "y": 200 } }, { - "id": "626e14a3-68ca-440d-b469-aeb6a69bddcb", - "type": "basic.outputLabel", + "id": "843164ff-f7d8-48b9-bf59-1e0d1135c81f", + "type": "basic.input", "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" + "name": "0", + "range": "[3:0]", + "clock": false, + "size": 4 }, "position": { - "x": 472, - "y": 368 + "x": 128, + "y": 224 } }, { - "id": "1b2fe6f0-f08f-44d2-824a-e5205b3e9fab", - "type": "basic.outputLabel", + "id": "16e78204-213e-4833-9096-89d735307ec2", + "type": "basic.code", "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" + "code": "assign o = {i1, i0};\n", + "params": [], + "ports": { + "in": [ + { + "name": "i1", + "range": "[3:0]", + "size": 4 + }, + { + "name": "i0", + "range": "[3:0]", + "size": 4 + } + ], + "out": [ + { + "name": "o", + "range": "[7:0]", + "size": 8 + } + ] + } }, "position": { - "x": 880, - "y": 368 + "x": 296, + "y": 176 + }, + "size": { + "width": 272, + "height": 104 } + } + ], + "wires": [ + { + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o" + }, + "target": { + "block": "1269698e-e555-4fcb-a613-cb4c7ff2e598", + "port": "in" + }, + "size": 8 }, { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "source": { + "block": "a1770adf-e143-4506-9d87-3cb9c870f534", + "port": "out" + }, + "target": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i1" + }, + "size": 4 + }, + { + "source": { + "block": "843164ff-f7d8-48b9-bf59-1e0d1135c81f", + "port": "out" + }, + "target": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i0" + }, + "size": 4 + } + ] + } + } + }, + "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a": { + "package": { + "name": "Bus8-Split-half", + "version": "0.1", + "description": "Bus8-Split-half: Split the 8-bits bus into two buses of the same size", + "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": { + "graph": { + "blocks": [ + { + "id": "637e64f4-0a6b-4037-9a75-89397e078a58", "type": "basic.output", "data": { - "name": "s" + "name": "1", + "range": "[3:0]", + "size": 4 }, "position": { - "x": 1200, - "y": 440 + "x": 584, + "y": 104 } }, { - "id": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", + "id": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e", "type": "basic.input", "data": { - "name": "pin", - "clock": false + "name": "", + "range": "[7:0]", + "clock": false, + "size": 8 }, "position": { - "x": 152, - "y": 472 + "x": 120, + "y": 208 } }, { - "id": "07e7cb88-d87c-4aa3-9938-fc226e3f4815", - "type": "basic.constant", + "id": "eb61d084-ca22-4894-b8a2-f936db38f4b1", + "type": "basic.output", "data": { - "name": "pup", - "value": "0", - "local": false + "name": "0", + "range": "[3:0]", + "size": 4 }, "position": { - "x": 336, - "y": 360 + "x": 584, + "y": 232 } }, { - "id": "6aacd3c5-a3e9-4a17-afb8-2b1271b3054c", - "type": "basic.constant", + "id": "16e78204-213e-4833-9096-89d735307ec2", + "type": "basic.code", "data": { - "name": "not", - "value": "0", - "local": false + "code": "assign o1 = i[7:4];\nassign o0 = i[3:0];", + "params": [], + "ports": { + "in": [ + { + "name": "i", + "range": "[7:0]", + "size": 8 + } + ], + "out": [ + { + "name": "o1", + "range": "[3:0]", + "size": 4 + }, + { + "name": "o0", + "range": "[3:0]", + "size": 4 + } + ] + } }, "position": { - "x": 760, - "y": 352 + "x": 272, + "y": 176 + }, + "size": { + "width": 240, + "height": 120 } - }, + } + ], + "wires": [ { - "id": "93b888bf-453e-4c9c-8f58-6b9c6d54d5de", - "type": "6c3affc36ce9207db9e9addcade0eb18994ddf4a", - "position": { - "x": 336, - "y": 472 + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o1" }, - "size": { - "width": 96, - "height": 64 - } + "target": { + "block": "637e64f4-0a6b-4037-9a75-89397e078a58", + "port": "in" + }, + "size": 4 }, { - "id": "10111468-7bb5-46ee-8990-113fdf380068", - "type": "76118c377f31059327783a617b8e38ffd6b935b8", - "position": { - "x": 600, - "y": 456 + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o0" }, - "size": { - "width": 96, - "height": 64 + "target": { + "block": "eb61d084-ca22-4894-b8a2-f936db38f4b1", + "port": "in" + }, + "size": 4 + }, + { + "source": { + "block": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e", + "port": "out" + }, + "target": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i" + }, + "size": 8 + } + ] + } + } + }, + "7b1d49ec8e4ad8e7df80c22409cb921f16fae8f7": { + "package": { + "name": "syscounter-rst-28bits", + "version": "0.2", + "description": "28-bits Syscounter with reset", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22302.843%22%20height=%22186.504%22%20viewBox=%220%200%2080.127205%2049.345746%22%3E%3Cdefs%3E%3Cmarker%20id=%22a%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20fill=%22#00f%22%20fill-rule=%22evenodd%22%20stroke=%22#00f%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3C/defs%3E%3Cg%20transform=%22translate(-65.585%20-4.54)%22%3E%3Cpath%20d=%22M138.803%2048.49V16.91%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%222.806%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20marker-end=%22url(#a)%22/%3E%3Crect%20rx=%222.807%22%20ry=%222.807%22%20y=%225.289%22%20x=%2299.747%22%20height=%2247.849%22%20width=%2229.538%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%221.497%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%2240.921%22%20x=%22108.575%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%228.982%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%221.497%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2240.921%22%20x=%22108.575%22%20font-weight=%22700%22%20font-size=%2235.656%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M100.868%2030.283h27.764%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%222.245%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20rx=%222.807%22%20ry=%222.807%22%20y=%225.289%22%20x=%2266.333%22%20height=%2247.849%22%20width=%2229.538%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%221.497%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%2240.921%22%20x=%2273.223%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%228.982%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%221.497%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2240.921%22%20x=%2273.223%22%20font-weight=%22700%22%20font-size=%2235.656%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M67.454%2030.283h27.764%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%222.245%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618592156430 + }, + "design": { + "graph": { + "blocks": [ + { + "id": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": 216, + "y": -120 } }, { - "id": "3154e48a-4d34-460b-9ed8-69a8a9c83eb2", - "type": "5645befdb78839c4a1fcf8b7f7f1bfdd13cd127d", + "id": "0a772657-8018-424d-8f04-75d3ffff3692", + "type": "basic.inputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" + }, "position": { - "x": 760, - "y": 456 + "x": 368, + "y": -120 + } + }, + { + "id": "b9359b10-b14f-4dd7-adf9-3f4f22bc65e6", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk", + "oldBlockColor": "fuchsia" }, - "size": { - "width": 96, - "height": 64 + "position": { + "x": 384, + "y": -32 } }, { - "id": "4687a20b-5221-4f82-8442-b6114bf8788d", - "type": "5539ec808ddc65a96d5da8d44290e4da16a256b8", + "id": "e01b322b-9ec2-4c71-9a46-4a2a8f89c033", + "type": "basic.outputLabel", + "data": { + "name": "q", + "range": "[27:0]", + "blockColor": "fuchsia", + "size": 28 + }, "position": { - "x": 1024, - "y": 440 + "x": 1040, + "y": -32 + } + }, + { + "id": "8e9383dd-fa5c-49f5-a6c1-ecf5e9f3b1a0", + "type": "basic.output", + "data": { + "name": "q", + "range": "[27:0]", + "size": 28 }, - "size": { - "width": 96, - "height": 64 + "position": { + "x": 1200, + "y": -32 } }, { - "id": "6ca11b45-e83b-492d-b175-8ab8f1faa08a", - "type": "basic.info", + "id": "88e0e872-0460-4ecc-bf26-8a7a5598a024", + "type": "basic.output", "data": { - "info": "Internal pull-up \n* 0: OFF\n* 1: ON", - "readonly": true + "name": "max" }, "position": { - "x": 320, - "y": 560 + "x": 1208, + "y": 56 + } + }, + { + "id": "06c393de-8af4-4b53-852c-b0e0160b5314", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "c" }, - "size": { - "width": 176, - "height": 72 + "position": { + "x": 1048, + "y": 56 } }, { - "id": "2349cf1c-768c-483c-bdf3-852e36755326", - "type": "basic.info", + "id": "2a921d76-1cbd-48fe-82a9-11b0ab4dbc06", + "type": "basic.input", "data": { - "info": "Synchronization stage", - "readonly": true + "name": "rst", + "clock": false }, "position": { - "x": 552, - "y": 536 + "x": 216, + "y": 56 + } + }, + { + "id": "03ffc492-f77e-42cb-b4bf-12ecbac89eaa", + "type": "basic.inputLabel", + "data": { + "name": "q", + "range": "[27:0]", + "blockColor": "fuchsia", + "size": 28 }, - "size": { - "width": 184, - "height": 32 + "position": { + "x": 712, + "y": 88 } }, { - "id": "c13f29d4-49ed-45ca-bf58-401682aa156c", - "type": "basic.info", + "id": "cd9b7fce-c943-4b4c-a716-94f2cd21ccda", + "type": "basic.inputLabel", "data": { - "info": "Normalization stage\n\n* 0: Wire\n* 1: signal inverted", - "readonly": true + "blockColor": "fuchsia", + "name": "c" }, "position": { - "x": 752, - "y": 536 + "x": 856, + "y": 144 + } + }, + { + "id": "16392505-8c6d-4b32-8898-480bd49fbb2a", + "type": "50924d45ba8124e240528864432b26e74c60a8e3", + "position": { + "x": 720, + "y": 160 }, "size": { - "width": 192, - "height": 88 + "width": 96, + "height": 64 } }, { - "id": "9207da36-adfa-43d6-a633-ccaa601b9293", - "type": "basic.info", - "data": { - "info": "Debouncing stage", - "readonly": true - }, + "id": "d3f380f7-db00-4c8b-abaa-ab10327be625", + "type": "4c653e8e349b6a3234fe482348bf8af9783d48c7", "position": { - "x": 1008, - "y": 528 + "x": 544, + "y": 40 }, "size": { - "width": 168, - "height": 40 + "width": 96, + "height": 96 } } ], "wires": [ { "source": { - "block": "59f7bee9-9832-421d-aa0a-de177f3f121d", + "block": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", "port": "out" }, "target": { - "block": "c2136078-81d0-4137-8583-c122b93cbdb0", + "block": "0a772657-8018-424d-8f04-75d3ffff3692", "port": "inlabel" }, "vertices": [] }, { "source": { - "block": "626e14a3-68ca-440d-b469-aeb6a69bddcb", - "port": "outlabel" + "block": "16392505-8c6d-4b32-8898-480bd49fbb2a", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "10111468-7bb5-46ee-8990-113fdf380068", - "port": "39873fa0-c3f5-47ef-b54b-b6b344416b25" - } + "block": "cd9b7fce-c943-4b4c-a716-94f2cd21ccda", + "port": "inlabel" + }, + "vertices": [] }, { "source": { - "block": "1b2fe6f0-f08f-44d2-824a-e5205b3e9fab", + "block": "b9359b10-b14f-4dd7-adf9-3f4f22bc65e6", "port": "outlabel" }, "target": { - "block": "4687a20b-5221-4f82-8442-b6114bf8788d", - "port": "4bf41c17-a2da-4140-95f7-2a80d51b1e1a" + "block": "d3f380f7-db00-4c8b-abaa-ab10327be625", + "port": "0ae5a502-ee21-47ad-bacb-405a35a87a91" } }, { "source": { - "block": "93b888bf-453e-4c9c-8f58-6b9c6d54d5de", - "port": "a139fa0d-9b45-4480-a251-f4a66b49aa23" + "block": "06c393de-8af4-4b53-852c-b0e0160b5314", + "port": "outlabel" }, "target": { - "block": "10111468-7bb5-46ee-8990-113fdf380068", - "port": "f25e9a9e-cd4c-4025-8745-0691a99a3fb8" - }, - "vertices": [] + "block": "88e0e872-0460-4ecc-bf26-8a7a5598a024", + "port": "in" + } }, { "source": { - "block": "10111468-7bb5-46ee-8990-113fdf380068", - "port": "7bfc506f-7a54-40a1-8d33-e78a5409b972" + "block": "e01b322b-9ec2-4c71-9a46-4a2a8f89c033", + "port": "outlabel" }, "target": { - "block": "3154e48a-4d34-460b-9ed8-69a8a9c83eb2", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + "block": "8e9383dd-fa5c-49f5-a6c1-ecf5e9f3b1a0", + "port": "in", + "size": 28 }, - "vertices": [] + "size": 28 }, { "source": { - "block": "6aacd3c5-a3e9-4a17-afb8-2b1271b3054c", - "port": "constant-out" + "block": "d3f380f7-db00-4c8b-abaa-ab10327be625", + "port": "7995c7b0-4a39-4a19-aaa4-68f4e469912f", + "size": 28 }, "target": { - "block": "3154e48a-4d34-460b-9ed8-69a8a9c83eb2", - "port": "2cd40fd8-3a2b-46f7-a922-fedf146ed11a" + "block": "03ffc492-f77e-42cb-b4bf-12ecbac89eaa", + "port": "inlabel" }, - "vertices": [] - }, - { - "source": { - "block": "3154e48a-4d34-460b-9ed8-69a8a9c83eb2", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" - }, - "target": { - "block": "4687a20b-5221-4f82-8442-b6114bf8788d", - "port": "c9e1af2a-6f09-4cf6-a5b3-fdf7ec2c6530" - }, - "vertices": [] + "size": 28 }, { "source": { - "block": "07e7cb88-d87c-4aa3-9938-fc226e3f4815", - "port": "constant-out" + "block": "2a921d76-1cbd-48fe-82a9-11b0ab4dbc06", + "port": "out" }, "target": { - "block": "93b888bf-453e-4c9c-8f58-6b9c6d54d5de", - "port": "121930e0-54c3-4b31-aa37-b33c7764abfa" + "block": "d3f380f7-db00-4c8b-abaa-ab10327be625", + "port": "892d93f1-9c4c-46c1-82c7-ff9702a5725a" } }, { "source": { - "block": "4687a20b-5221-4f82-8442-b6114bf8788d", - "port": "22ff3fa1-943b-4d1a-bd89-36e1c054d077" + "block": "d3f380f7-db00-4c8b-abaa-ab10327be625", + "port": "7995c7b0-4a39-4a19-aaa4-68f4e469912f" }, "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "port": "in" - } + "block": "16392505-8c6d-4b32-8898-480bd49fbb2a", + "port": "63856668-cf22-4174-a3cd-02a664a50874" + }, + "size": 28 }, { "source": { - "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", - "port": "out" + "block": "16392505-8c6d-4b32-8898-480bd49fbb2a", + "port": "cbaa92ba-c88f-4b89-a5f7-2fe513b6fa4c" }, "target": { - "block": "93b888bf-453e-4c9c-8f58-6b9c6d54d5de", - "port": "bb4a1ca9-1b30-471e-92ca-ca7ff2fc1150" - } + "block": "d3f380f7-db00-4c8b-abaa-ab10327be625", + "port": "c48a2779-52ed-4dde-8f95-e8ce67397de8" + }, + "vertices": [ + { + "x": 824, + "y": 280 + } + ], + "size": 28 } ] } } }, - "6c3affc36ce9207db9e9addcade0eb18994ddf4a": { + "50924d45ba8124e240528864432b26e74c60a8e3": { "package": { - "name": "Pull-upx1", - "version": "1.0.2", - "description": "FPGA internal pull-up configuration on the input port", - "author": "Juan González", - "image": "%3Csvg%20id=%22svg2%22%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-265%20401.5%2063.5%2038.4%22%3E%3Cstyle%3E.st0%7Bdisplay:none%7D.st1%7Bfill:none;stroke:#000;stroke-width:.75;stroke-linejoin:round;stroke-miterlimit:10%7D.st2%7Bfill:#010002%7D%3C/style%3E%3Cpath%20class=%22st0%22%20d=%22M-242.5%20411.8v11.8h-5.4v-11.8h5.4m1-1h-7.4v13.8h7.4v-13.8z%22/%3E%3Cpath%20d=%22M-212%20425.6l-15.4-8.7v8.5h-17.4v-2.7c0-.2-.1-.4-.3-.4l-2.3-1.2%205.6-2.9c.2-.1.3-.3.3-.5s-.1-.4-.3-.4l-5.7-2.7%202.4-1.6c.1-.1.2-.2.2-.4v-2.7h3.1l-3.5-6.1-3.5%206.1h3v2.5l-2.9%202c-.1.1-.2.3-.2.5s.1.3.3.4l5.6%202.6-5.6%202.9c-.2.1-.3.3-.3.4s.1.4.3.4l2.9%201.5V425.5H-265v1.2h37.6v8.5l15.4-8.7h10.5v-.8H-212zm-33.3-20.4l2.2%203.9h-4.5l2.3-3.9zm19.2%2027.7v-13.8l12.3%206.9-12.3%206.9z%22/%3E%3C/svg%3E" + "name": "Inc1-28bits", + "version": "0.1", + "description": "Inc1-28bit: Increment a 28-bits number by one", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20width=%22387.891%22%20height=%22310.09%22%20viewBox=%220%200%20363.64764%20290.70999%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.759%2055.834v79.813h79.508v35.946H115.76v79.813h-36.25v-79.813H-.002v-35.946h79.51V55.834z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3Cpath%20d=%22M196.193%20257.608h64.256V35.828l-69.902%2014.02V14.018L260.06%200h39.332v257.608h64.257v33.102H196.193z%22%20style=%22line-height:1.25%22%20font-size=%22398.777%22%20stroke-width=%229.969%22/%3E%3C/svg%3E", + "otid": 1618560481898 }, "design": { "graph": { "blocks": [ { - "id": "bb4a1ca9-1b30-471e-92ca-ca7ff2fc1150", - "type": "basic.input", - "data": { - "name": "pin", - "clock": false - }, - "position": { - "x": 72, - "y": 256 - } - }, - { - "id": "a139fa0d-9b45-4480-a251-f4a66b49aa23", + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", "type": "basic.output", "data": { - "name": "" - }, - "position": { - "x": 704, - "y": 256 - } - }, - { - "id": "121930e0-54c3-4b31-aa37-b33c7764abfa", - "type": "basic.constant", - "data": { - "name": "on", - "value": "1", - "local": false + "name": "c" }, "position": { - "x": 408, - "y": -8 + "x": 624, + "y": -168 } }, { - "id": "2b245a71-2d80-466b-955f-e3d61839fe25", - "type": "basic.code", + "id": "63856668-cf22-4174-a3cd-02a664a50874", + "type": "basic.input", "data": { - "code": "// 1-Pull up\n\n//-- Place the IO block, configured as \n//-- input with pull-up\nSB_IO\n #(\n .PIN_TYPE(6'b 1010_01),\n \n //-- The pull-up is activated or not\n //-- depeding on the ON parameter\n .PULLUP(ON)\n \n ) input_pin (\n\n //--- Input pin\n .PACKAGE_PIN(i),\n \n //-- Block output\n .D_IN_0(o),\n \n //-- Configured as input\n .OUTPUT_ENABLE(1'b0),\n \n //-- Not used\n .D_OUT_0(1'b0)\n );", - "params": [ - { - "name": "ON" - } - ], - "ports": { - "in": [ - { - "name": "i" - } - ], - "out": [ - { - "name": "o" - } - ] - } + "name": "", + "range": "[27:0]", + "clock": false, + "size": 28 }, "position": { - "x": 256, - "y": 104 - }, - "size": { - "width": 392, - "height": 368 + "x": 288, + "y": -152 } }, { - "id": "8055c1f2-dad2-4257-a271-c0bd64700cd7", - "type": "basic.info", + "id": "cbaa92ba-c88f-4b89-a5f7-2fe513b6fa4c", + "type": "basic.output", "data": { - "info": "### Pull-up parameter:\n\n0: No pull-up \n1: Pull-up activated", - "readonly": true + "name": "s", + "range": "[27:0]", + "size": 28 }, "position": { - "x": 144, - "y": -48 - }, - "size": { - "width": 264, - "height": 104 + "x": 632, + "y": -104 } }, { - "id": "5a96e53f-d2ff-4058-bbed-779876848487", - "type": "basic.info", + "id": "cd0d6f4d-9898-4114-94a9-0b4b98223c27", + "type": "basic.constant", "data": { - "info": "Only an FPGA pin can \nbe connected here!!!", - "readonly": true + "name": "", + "value": "1", + "local": true }, "position": { - "x": 56, - "y": 200 - }, - "size": { - "width": 192, - "height": 56 + "x": 456, + "y": -256 } }, { - "id": "26b0a2d0-aaa1-4204-9e57-2f2d674e03a0", - "type": "basic.info", - "data": { - "info": "The pull-up is connected \nby default", - "readonly": true - }, + "id": "3de5ce54-e3ef-4c60-8f1d-c37edf44b110", + "type": "2e3ff218342f6aacd4f654dcd8b5fefb3e3af4da", "position": { - "x": 512, - "y": 0 + "x": 456, + "y": -152 }, "size": { - "width": 208, - "height": 56 + "width": 96, + "height": 64 } } ], "wires": [ { "source": { - "block": "bb4a1ca9-1b30-471e-92ca-ca7ff2fc1150", - "port": "out" + "block": "3de5ce54-e3ef-4c60-8f1d-c37edf44b110", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "2b245a71-2d80-466b-955f-e3d61839fe25", - "port": "i" + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" } }, { "source": { - "block": "2b245a71-2d80-466b-955f-e3d61839fe25", - "port": "o" + "block": "cd0d6f4d-9898-4114-94a9-0b4b98223c27", + "port": "constant-out" }, "target": { - "block": "a139fa0d-9b45-4480-a251-f4a66b49aa23", - "port": "in" + "block": "3de5ce54-e3ef-4c60-8f1d-c37edf44b110", + "port": "e728fdca-755f-4f2d-98e7-0716b1c5258f" } }, { "source": { - "block": "121930e0-54c3-4b31-aa37-b33c7764abfa", - "port": "constant-out" + "block": "63856668-cf22-4174-a3cd-02a664a50874", + "port": "out" }, "target": { - "block": "2b245a71-2d80-466b-955f-e3d61839fe25", - "port": "ON" - } + "block": "3de5ce54-e3ef-4c60-8f1d-c37edf44b110", + "port": "477ebaee-8234-49d2-ad4b-6a2179b210ff" + }, + "size": 28 + }, + { + "source": { + "block": "3de5ce54-e3ef-4c60-8f1d-c37edf44b110", + "port": "b6f8c812-a829-4650-b1d7-d321f3402e5b" + }, + "target": { + "block": "cbaa92ba-c88f-4b89-a5f7-2fe513b6fa4c", + "port": "in" + }, + "size": 28 } ] } } }, - "76118c377f31059327783a617b8e38ffd6b935b8": { + "2e3ff218342f6aacd4f654dcd8b5fefb3e3af4da": { "package": { - "name": "Sync-x01", - "version": "0.1", - "description": "Sync 1-bit input with the system clock domain", - "author": "Juan Gonzalez-González (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22214.451%22%20height=%22214.451%22%20viewBox=%220%200%20214.45128%20214.45128%22%3E%3Ccircle%20cx=%22107.226%22%20cy=%22107.226%22%20r=%22107.226%22%20fill=%22#4d4d4d%22/%3E%3Cpath%20d=%22M107.363%2038.297c14.504.03%2029.212%204.552%2040.7%2013.5%208.077%209.303-7.312%2019.268-14.243%2010.195-20.865-12.624-50.29-8.18-65.988%2010.695-8.352%209.367-13.058%2021.866-13.003%2034.413h13.789c-7.353%2011.037-14.707%2022.066-22.06%2033.095l-22.062-33.087h13.788c-.439-29.962%2021.108-58.462%2050.032-66.221%206.212-1.701%2012.607-2.654%2019.048-2.587zm60.53%2035.85l22.063%2033.092h-13.789c.39%2030.318-21.706%2059.137-51.14%2066.487-19.862%205.547-42.32%201.5-58.645-11.19-8.329-9.459%207.274-19.328%2014.27-10.173%2020.214%2012.265%2048.524%208.375%2064.48-9.142%209.242-9.522%2014.56-22.711%2014.489-35.982h-13.789l22.062-33.092z%22%20fill=%22#fbfbc9%22/%3E%3C/svg%3E" + "name": "AdderK-24bits CLONE", + "version": "0.1-c1628268191080", + "description": "AdderK-24bit: Adder of 24-bit operand and 24-bit constant", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618560481898 }, "design": { "graph": { "blocks": [ { - "id": "39873fa0-c3f5-47ef-b54b-b6b344416b25", - "type": "basic.input", + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", "data": { - "name": "", - "clock": true + "name": "c" }, "position": { - "x": -256, - "y": -56 + "x": 624, + "y": -168 } }, { - "id": "e226f910-14af-473d-956b-03559f466726", - "type": "basic.inputLabel", + "id": "b6f8c812-a829-4650-b1d7-d321f3402e5b", + "type": "basic.output", "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "name": "s", + "range": "[27:0]", + "size": 28 }, "position": { - "x": -104, - "y": -56 + "x": 624, + "y": -104 } }, { - "id": "7f538425-03ff-409e-81c2-d2714dfb036f", - "type": "basic.outputLabel", + "id": "477ebaee-8234-49d2-ad4b-6a2179b210ff", + "type": "basic.input", "data": { - "blockColor": "yellow", - "name": "clk" - }, - "position": { - "x": 128, - "y": 32 - } - }, - { - "id": "868cf45b-3801-40c1-9a04-498087cf183e", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk" - }, - "position": { - "x": -56, - "y": 72 - } - }, - { - "id": "7bfc506f-7a54-40a1-8d33-e78a5409b972", - "type": "basic.output", - "data": { - "name": "" + "name": "", + "range": "[27:0]", + "clock": false, + "size": 28 }, "position": { - "x": 424, - "y": 128 + "x": 232, + "y": -64 } }, { - "id": "f25e9a9e-cd4c-4025-8745-0691a99a3fb8", - "type": "basic.input", + "id": "e728fdca-755f-4f2d-98e7-0716b1c5258f", + "type": "basic.constant", "data": { "name": "", - "clock": false + "value": "0", + "local": false }, "position": { - "x": -64, - "y": 160 + "x": 232, + "y": -272 } }, { - "id": "67741c87-f247-4b39-a7c2-42944b8daa48", - "type": "c8cfbaa5ea9096f681e8acf2ca239f06275f5db2", + "id": "46672fbe-81e2-47d1-9c38-77e3a77b5e0e", + "type": "1c2d11dcbb903420442974f49ad92acddd1dd8d1", "position": { - "x": 104, - "y": 144 + "x": 232, + "y": -168 }, "size": { "width": 96, @@ -1688,11 +1870,11 @@ } }, { - "id": "d627c1ba-2223-4a7b-918f-9458ec7be7a0", - "type": "c8cfbaa5ea9096f681e8acf2ca239f06275f5db2", + "id": "f685839d-bfb8-4561-af10-9cb9a40c178d", + "type": "e33ea9666c8a87ccef5e22e98b0e9dd7ad97342b", "position": { - "x": 280, - "y": 128 + "x": 456, + "y": -152 }, "size": { "width": 96, @@ -1703,116 +1885,87 @@ "wires": [ { "source": { - "block": "39873fa0-c3f5-47ef-b54b-b6b344416b25", - "port": "out" + "block": "f685839d-bfb8-4561-af10-9cb9a40c178d", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "e226f910-14af-473d-956b-03559f466726", - "port": "inlabel" + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" } }, { "source": { - "block": "868cf45b-3801-40c1-9a04-498087cf183e", - "port": "outlabel" + "block": "e728fdca-755f-4f2d-98e7-0716b1c5258f", + "port": "constant-out" }, "target": { - "block": "67741c87-f247-4b39-a7c2-42944b8daa48", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + "block": "46672fbe-81e2-47d1-9c38-77e3a77b5e0e", + "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" } }, { "source": { - "block": "7f538425-03ff-409e-81c2-d2714dfb036f", - "port": "outlabel" + "block": "46672fbe-81e2-47d1-9c38-77e3a77b5e0e", + "port": "6d4a2bac-93ac-4064-906f-0eb273368d1e" }, "target": { - "block": "d627c1ba-2223-4a7b-918f-9458ec7be7a0", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" - } - }, - { - "source": { - "block": "f25e9a9e-cd4c-4025-8745-0691a99a3fb8", - "port": "out" + "block": "f685839d-bfb8-4561-af10-9cb9a40c178d", + "port": "438a6c29-77ff-4ef2-b963-1ddcfd48245d" }, - "target": { - "block": "67741c87-f247-4b39-a7c2-42944b8daa48", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" - } + "size": 28 }, { "source": { - "block": "67741c87-f247-4b39-a7c2-42944b8daa48", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + "block": "f685839d-bfb8-4561-af10-9cb9a40c178d", + "port": "232dad32-f470-4b1f-a92c-bf32f47a29d6" }, "target": { - "block": "d627c1ba-2223-4a7b-918f-9458ec7be7a0", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" - } + "block": "b6f8c812-a829-4650-b1d7-d321f3402e5b", + "port": "in" + }, + "size": 28 }, { "source": { - "block": "d627c1ba-2223-4a7b-918f-9458ec7be7a0", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + "block": "477ebaee-8234-49d2-ad4b-6a2179b210ff", + "port": "out" }, "target": { - "block": "7bfc506f-7a54-40a1-8d33-e78a5409b972", - "port": "in" - } + "block": "f685839d-bfb8-4561-af10-9cb9a40c178d", + "port": "aa5f2a99-2abd-495d-9405-ae0bc7644cfc" + }, + "size": 28 } ] } } }, - "c8cfbaa5ea9096f681e8acf2ca239f06275f5db2": { + "1c2d11dcbb903420442974f49ad92acddd1dd8d1": { "package": { - "name": "DFF", - "version": "2.0", - "description": "D Flip-flop (verilog implementation)", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22156.57%22%20height=%22216.83%22%20viewBox=%220%200%2041.425941%2057.369679%22%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M25.682%2040.152L39.29%2056.824%2032.372%2036.29%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M18.298%2032.088L9.066%2012.475l-6.45%203.724-2.07-3.583L21.451.546%2023.52%204.13l-6.092%203.517%2012.03%2018.223s5.399-2.025%208.535.74c3.137%202.766%202.52%204.92%202.887%204.772L17.192%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3C/svg%3E" + "name": "28-bits-gen-constant", + "version": "0.0.2", + "description": "Generic: 28-bits generic constant", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22145.608%22%20height=%22247.927%22%20viewBox=%220%200%20136.50729%20232.43134%22%3E%3Cg%20style=%22line-height:0%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%3E%3Cpath%20d=%22M56.012%20146.905q9.055%206.708%2020.459%2017.105%2011.404%2010.062%2022.472%2021.8%2011.403%2011.74%2021.465%2024.15%2010.062%2012.074%2016.1%2022.471h-32.87q-6.372-10.397-15.763-21.13-9.392-11.068-20.124-21.13-10.398-10.062-21.13-18.447-10.398-8.385-18.783-14.087v74.794H0V4.695L27.838%200v141.874q18.447-16.1%2036.894-31.863%2018.447-16.1%2033.205-33.205h32.533q-14.422%2017.106-34.881%2035.217-20.124%2018.112-39.577%2034.882z%22%20style=%22line-height:1.25%22%20font-size=%22335.399%22%20font-weight=%22400%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22/%3E%3C/g%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "3943e194-090b-4553-9df3-88bc4b17abc2", - "type": "basic.input", - "data": { - "name": "", - "clock": true - }, - "position": { - "x": 208, - "y": 160 - } - }, - { - "id": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78", + "id": "6d4a2bac-93ac-4064-906f-0eb273368d1e", "type": "basic.output", - "data": { - "name": "" - }, - "position": { - "x": 816, - "y": 224 - } - }, - { - "id": "bf2f0c53-2d04-4cba-aa70-2df85502d24f", - "type": "basic.input", "data": { "name": "", - "clock": false + "range": "[27:0]", + "size": 28 }, "position": { - "x": 208, - "y": 304 + "x": 968, + "y": 248 } }, { - "id": "65194b18-5d2a-41b2-bd86-01be99978ad6", + "id": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", "type": "basic.constant", "data": { "name": "", @@ -1820,711 +1973,710 @@ "local": false }, "position": { - "x": 512, - "y": 64 + "x": 728, + "y": 128 } }, { - "id": "bdc170f0-4468-4137-bd79-4624c9cadf2b", + "id": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", "type": "basic.code", "data": { - "code": "//-- Initial value\nreg q = INI;\n\n//-- Capture the input data \n//-- on the rising edge of \n//-- the system clock\nalways @(posedge clk)\n q <= d;", + "code": "assign k = VALUE;", "params": [ { - "name": "INI" + "name": "VALUE" } ], "ports": { - "in": [ - { - "name": "clk" - }, - { - "name": "d" - } - ], + "in": [], "out": [ { - "name": "q" + "name": "k", + "range": "[27:0]", + "size": 28 } ] } }, "position": { - "x": 384, - "y": 168 - }, - "size": { - "width": 344, - "height": 176 - } - }, - { - "id": "53d11290-50b3-40fb-b253-222cb296b075", - "type": "basic.info", - "data": { - "info": "Parameter: Initial value", - "readonly": true - }, - "position": { - "x": 488, - "y": 48 + "x": 672, + "y": 248 }, "size": { "width": 208, - "height": 40 + "height": 64 } - }, + } + ], + "wires": [ { - "id": "c25a29cd-d5ed-435e-b375-e6d5557660d8", - "type": "basic.info", - "data": { - "info": "System clock", - "readonly": true - }, - "position": { - "x": 208, - "y": 136 + "source": { + "block": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "port": "constant-out" }, - "size": { - "width": 120, - "height": 32 + "target": { + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "VALUE" } }, { - "id": "ecafc6fa-330b-4ba7-aa67-40b3ea48f1f1", - "type": "basic.info", - "data": { - "info": "Input data", - "readonly": true + "source": { + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "k" }, - "position": { - "x": 224, - "y": 280 + "target": { + "block": "6d4a2bac-93ac-4064-906f-0eb273368d1e", + "port": "in" }, - "size": { - "width": 112, - "height": 40 - } - }, + "size": 28 + } + ] + } + } + }, + "e33ea9666c8a87ccef5e22e98b0e9dd7ad97342b": { + "package": { + "name": "Adder-28bits", + "version": "0.1", + "description": "Adder-28bits: Adder of two operands of 28 bits", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618560481898 + }, + "design": { + "graph": { + "blocks": [ { - "id": "df95c331-682d-4733-a62d-ad9fcd75f96a", - "type": "basic.info", + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", "data": { - "info": "Output", - "readonly": true + "name": "c" }, "position": { - "x": 840, - "y": 200 - }, - "size": { - "width": 80, - "height": 40 + "x": 1160, + "y": -496 } }, { - "id": "dd8217df-b56d-49a9-ae94-f5e0c96e1460", - "type": "basic.info", + "id": "9b6d88fa-20b2-4b05-ad2b-c436a4a7f496", + "type": "basic.inputLabel", "data": { - "info": "# D Flip-Flop \n\nIt stores the input data that arrives at cycle n \nIts output is shown in the cycle n+1", - "readonly": true + "name": "a3", + "range": "[3:0]", + "pins": [ + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia", + "blockColor": "deeppink" }, "position": { - "x": 144, - "y": -136 - }, - "size": { - "width": 488, - "height": 104 - } - } - ], - "wires": [ - { - "source": { - "block": "3943e194-090b-4553-9df3-88bc4b17abc2", - "port": "out" - }, - "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "clk" - } - }, - { - "source": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "q" - }, - "target": { - "block": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78", - "port": "in" - } - }, - { - "source": { - "block": "65194b18-5d2a-41b2-bd86-01be99978ad6", - "port": "constant-out" - }, - "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "INI" + "x": 40, + "y": -464 } }, { - "source": { - "block": "bf2f0c53-2d04-4cba-aa70-2df85502d24f", - "port": "out" - }, - "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "d" - } - } - ] - } - } - }, - "5645befdb78839c4a1fcf8b7f7f1bfdd13cd127d": { - "package": { - "name": "not-wire-x01", - "version": "0.1", - "description": "Select positive or negative logic for the input (0=positive, 1=negative)", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22317.537%22%20height=%22255.621%22%20version=%221%22%3E%3Cpath%20d=%22M112.127%2098.805l133.418%2076.406-133.418%2076.41z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20cx=%22263.881%22%20cy=%22174.972%22%20rx=%2217.634%22%20ry=%2217.982%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4%20175.592h108.187m169.632%200h31.718%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:0%25%22%20x=%22121.949%22%20y=%22187.178%22%20transform=%22scale(.9971%201.0029)%22%20font-weight=%22400%22%20font-size=%229.874%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%22121.949%22%20y=%22187.178%22%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20font-size=%2240.873%22%3ENot%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M4%2062.122h309.537%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:0%25%22%20x=%2214.865%22%20y=%2236.868%22%20transform=%22scale(.99532%201.0047)%22%20font-weight=%22400%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%2214.865%22%20y=%2236.868%22%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20font-size=%2249.675%22%3E0%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:0%25%22%20x=%2216.903%22%20y=%22151.969%22%20transform=%22scale(.99532%201.0047)%22%20font-weight=%22400%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%2216.903%22%20y=%22151.969%22%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20font-size=%2249.675%22%3E1%3C/tspan%3E%3C/text%3E%3C/svg%3E", - "otid": 1607779171609 - }, - "design": { - "graph": { - "blocks": [ - { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "type": "basic.output", + "id": "55631885-7de8-4477-9ac1-9efd76c180e0", + "type": "basic.outputLabel", "data": { - "name": "" + "name": "a3", + "range": "[3:0]", + "blockColor": "deeppink", + "size": 4 }, "position": { - "x": 824, - "y": 304 + "x": 784, + "y": -440 } }, { - "id": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", + "id": "438a6c29-77ff-4ef2-b963-1ddcfd48245d", "type": "basic.input", "data": { "name": "", - "clock": false + "range": "[27:0]", + "clock": false, + "size": 28 }, "position": { - "x": 376, - "y": 320 + "x": -664, + "y": -416 } }, { - "id": "2cd40fd8-3a2b-46f7-a922-fedf146ed11a", - "type": "basic.constant", + "id": "235e1fe4-919e-422d-9eb3-dc232e8f9407", + "type": "basic.inputLabel", "data": { - "name": "not", - "value": "0", - "local": false + "name": "a2", + "range": "[7:0]", + "pins": [ + { + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia", + "blockColor": "deeppink" }, "position": { - "x": 520, - "y": 160 + "x": 32, + "y": -376 } }, { - "id": "160f76e9-4d8d-424e-8689-bb890101823c", - "type": "3ba5d0ecbd8f55582a6307158732789df06cb74c", - "position": { - "x": 520, - "y": 256 + "id": "eff7351f-52a9-408d-b237-2d3ee93120f0", + "type": "basic.outputLabel", + "data": { + "name": "b3", + "range": "[3:0]", + "blockColor": "fuchsia", + "size": 4 }, - "size": { - "width": 96, - "height": 64 + "position": { + "x": 776, + "y": -360 } }, { - "id": "5237d3a4-e717-4eb1-a261-65f0c313b67c", - "type": "b70dd9c39fe3c51faff4233d2dde462fc53c7e38", - "position": { - "x": 672, - "y": 304 + "id": "e2589574-b6cc-4faf-8e69-3d23248bcba2", + "type": "basic.inputLabel", + "data": { + "name": "a1", + "range": "[7:0]", + "pins": [ + { + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia", + "blockColor": "deeppink" }, - "size": { - "width": 96, - "height": 64 + "position": { + "x": -160, + "y": -336 } }, { - "id": "019e81db-5707-409c-b159-b4cb29813cc4", - "type": "basic.info", + "id": "6736a55c-7818-4da9-9c1a-f57200ad2526", + "type": "basic.inputLabel", "data": { - "info": "When k=0, it works like a wire \n(The output is equal to the input) \nWhen k=1, it act as a not gate\n(The output is the inverse of the input)", - "readonly": true + "name": "a0", + "range": "[7:0]", + "pins": [ + { + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia", + "blockColor": "deeppink" }, "position": { - "x": 632, - "y": 392 - }, - "size": { - "width": 336, - "height": 96 + "x": -336, + "y": -320 } }, { - "id": "68880edb-df66-4540-8ee4-f3836fdb5f0e", - "type": "basic.info", + "id": "232dad32-f470-4b1f-a92c-bf32f47a29d6", + "type": "basic.output", "data": { - "info": "### Truth table for XOR\n\n| k | input | output | function |\n|---|-------|--------|----------|\n| 0 | 0 | 0 | wire |\n| 0 | 1 | 1 | wire |\n| 1 | 0 | 1 | Not |\n| 1 | 1 | 0 | Not |", - "readonly": true + "name": "s", + "range": "[27:0]", + "size": 28 }, "position": { - "x": 728, - "y": 8 - }, - "size": { - "width": 296, - "height": 144 - } - } - ], - "wires": [ - { - "source": { - "block": "2cd40fd8-3a2b-46f7-a922-fedf146ed11a", - "port": "constant-out" - }, - "target": { - "block": "160f76e9-4d8d-424e-8689-bb890101823c", - "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" - }, - "vertices": [] - }, - { - "source": { - "block": "160f76e9-4d8d-424e-8689-bb890101823c", - "port": "5d443143-4aca-4d4f-ba40-2b88451b86d3" - }, - "target": { - "block": "5237d3a4-e717-4eb1-a261-65f0c313b67c", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - } - }, - { - "source": { - "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", - "port": "out" - }, - "target": { - "block": "5237d3a4-e717-4eb1-a261-65f0c313b67c", - "port": "97b51945-d716-4b6c-9db9-970d08541249" + "x": 1328, + "y": -320 } }, { - "source": { - "block": "5237d3a4-e717-4eb1-a261-65f0c313b67c", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" - }, - "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "port": "in" - } - } - ] - } - } - }, - "3ba5d0ecbd8f55582a6307158732789df06cb74c": { - "package": { - "name": "Constante-1bits", - "version": "0.0.1", - "description": "Valor genérico constante, de 1 bits. Su valor se introduce como parámetro. Por defecto vale 0", - "author": "Juan Gonzalez-Gomez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22145.608%22%20height=%22247.927%22%20viewBox=%220%200%20136.50729%20232.43134%22%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22293.115%22%20y=%22648.344%22%20font-weight=%22400%22%20font-size=%22335.399%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22%20transform=%22translate(-316.929%20-415.913)%22%3E%3Ctspan%20x=%22293.115%22%20y=%22648.344%22%3Ek%3C/tspan%3E%3C/text%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "5d443143-4aca-4d4f-ba40-2b88451b86d3", - "type": "basic.output", + "id": "8ac0c222-8cbc-4974-bfd2-43f11eb8d8ad", + "type": "basic.outputLabel", "data": { - "name": "" + "name": "a2", + "range": "[7:0]", + "oldBlockColor": "fuchsia", + "blockColor": "deeppink", + "size": 8 }, "position": { - "x": 960, - "y": 248 + "x": 600, + "y": -312 } }, { - "id": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", - "type": "basic.constant", + "id": "cc858595-88b1-4f0b-baeb-77fdd9a4d7ed", + "type": "basic.outputLabel", "data": { - "name": "", - "value": "0", - "local": false + "name": "b2", + "range": "[7:0]", + "blockColor": "fuchsia", + "size": 8 }, "position": { - "x": 728, - "y": 128 + "x": 600, + "y": -248 } }, { - "id": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", - "type": "basic.code", + "id": "2572197f-6a71-4ac7-927d-f15f5b13beea", + "type": "basic.inputLabel", "data": { - "code": "assign k = VALUE;", - "params": [ + "name": "b3", + "range": "[3:0]", + "pins": [ { - "name": "VALUE" + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" } ], - "ports": { - "in": [], - "out": [ - { - "name": "k" - } - ] - } + "virtual": true, + "blockColor": "fuchsia" }, "position": { - "x": 672, - "y": 248 - }, - "size": { - "width": 208, - "height": 64 - } - } - ], - "wires": [ - { - "source": { - "block": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", - "port": "constant-out" - }, - "target": { - "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", - "port": "VALUE" + "x": 40, + "y": -200 } }, { - "source": { - "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", - "port": "k" - }, - "target": { - "block": "5d443143-4aca-4d4f-ba40-2b88451b86d3", - "port": "in" - } - } - ] - } - } - }, - "b70dd9c39fe3c51faff4233d2dde462fc53c7e38": { - "package": { - "name": "XOR", - "version": "1.0.1", - "description": "Puerta XOR", - "author": "Jesús Arroyo, Juan González", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22193.047%22%20width=%22383.697%22%20version=%221%22%3E%3Cpath%20d=%22M175.56%20189.047H84.527s30.345-42.538%2031.086-94.03c.743-51.49-31.821-90.294-31.821-90.294l92.317-.394c46.445%201.948%20103.899%2053.44%20123.047%2093.678-32.601%2067.503-92.158%2089.79-123.596%2091.04z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2047.62h99.605M4.883%20145.497h100.981M298.57%2099.219h81.07%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20x=%22129.011%22%20y=%22115.285%22%20font-size=%2258.24%22%20font-weight=%22400%22%20style=%22line-height:125%25%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20transform=%22translate(0%20.329)%22%3E%3Ctspan%20x=%22129.011%22%20y=%22115.285%22%20font-weight=%22700%22%3EXOR%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M54.321%20188.368s30.345-42.538%2031.086-94.03c.742-51.49-31.821-90.294-31.821-90.294%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "18c2ebc7-5152-439c-9b3f-851c59bac834", - "type": "basic.input", + "id": "4f2c77a9-f54e-4c7e-b1b8-d1739ea521c7", + "type": "basic.outputLabel", "data": { - "name": "" + "name": "a1", + "range": "[7:0]", + "blockColor": "deeppink", + "size": 8 }, "position": { - "x": 64, - "y": 88 + "x": 408, + "y": -136 } }, { - "id": "664caf9e-5f40-4df4-800a-b626af702e62", - "type": "basic.output", + "id": "389f9a01-b7df-4d16-8f0e-bb14b76997ce", + "type": "basic.inputLabel", "data": { - "name": "" + "name": "b2", + "range": "[7:0]", + "pins": [ + { + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "blockColor": "fuchsia" }, "position": { - "x": 784, - "y": 152 + "x": 32, + "y": -112 } }, { - "id": "97b51945-d716-4b6c-9db9-970d08541249", - "type": "basic.input", + "id": "4743defe-36c0-40a2-aaf0-188272583034", + "type": "basic.outputLabel", "data": { - "name": "" + "name": "b1", + "range": "[7:0]", + "blockColor": "fuchsia", + "size": 8 }, "position": { - "x": 64, - "y": 224 + "x": 408, + "y": -56 } }, { - "id": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "type": "basic.code", + "id": "a3761c9e-14ee-47ef-95f0-ddbb132ba6cf", + "type": "basic.inputLabel", "data": { - "code": "//-- Puerta XOR\n\n//-- module xor (input wire a, input wire b,\n//-- output wire c);\n\nassign c = a ^ b;\n\n//-- endmodule", - "params": [], - "ports": { - "in": [ - { - "name": "a" - }, - { - "name": "b" - } - ], - "out": [ - { - "name": "c" - } - ] - } + "name": "b1", + "range": "[7:0]", + "pins": [ + { + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "blockColor": "fuchsia" }, "position": { - "x": 256, - "y": 48 - }, - "size": { - "width": 464, - "height": 272 - } - } - ], - "wires": [ - { - "source": { - "block": "18c2ebc7-5152-439c-9b3f-851c59bac834", - "port": "out" - }, - "target": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "a" - } - }, - { - "source": { - "block": "97b51945-d716-4b6c-9db9-970d08541249", - "port": "out" - }, - "target": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "b" + "x": -144, + "y": -24 } }, { - "source": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "c" - }, - "target": { - "block": "664caf9e-5f40-4df4-800a-b626af702e62", - "port": "in" - } - } - ] - } - } - }, - "5539ec808ddc65a96d5da8d44290e4da16a256b8": { - "package": { - "name": "Debouncer-x01", - "version": "1.0.0", - "description": "Remove the rebound on a mechanical switch", - "author": "Juan González", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-252%20400.9%2090%2040%22%3E%3Cpath%20d=%22M-251.547%20436.672h22.802v-30.353h5.862v30.353h5.259v-30.353h3.447v30.353h2.984v-30.353h3.506v30.523h6.406V405.77h38.868%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%221.4%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M-232.57%20403.877l26.946%2032.391M-205.624%20403.877l-26.946%2032.391%22%20fill=%22none%22%20stroke=%22red%22%20stroke-width=%223%22%20stroke-linecap=%22round%22/%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "4bf41c17-a2da-4140-95f7-2a80d51b1e1a", + "id": "aa5f2a99-2abd-495d-9405-ae0bc7644cfc", "type": "basic.input", "data": { "name": "", - "clock": true + "range": "[27:0]", + "clock": false, + "size": 28 }, "position": { - "x": -376, - "y": -656 + "x": -648, + "y": -24 } }, { - "id": "a0474543-ff59-4f6f-8d2e-3993d79c13de", + "id": "a7cd6890-7130-4f25-9966-b5ca1132d597", "type": "basic.inputLabel", "data": { - "blockColor": "yellow", - "name": "clk", + "name": "b0", + "range": "[7:0]", "pins": [ + { + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, { "index": "0", "name": "", "value": "" } ], - "virtual": true + "virtual": true, + "blockColor": "fuchsia" }, "position": { - "x": -224, - "y": -656 + "x": -312, + "y": -8 } }, { - "id": "22ff3fa1-943b-4d1a-bd89-36e1c054d077", - "type": "basic.output", + "id": "7d042e3c-08e0-4027-ba97-6f6143ac0b7e", + "type": "basic.outputLabel", "data": { - "name": "" + "name": "a0", + "range": "[7:0]", + "blockColor": "deeppink", + "size": 8 }, "position": { - "x": 952, - "y": -600 + "x": 240, + "y": 56 } }, { - "id": "20d06e62-fd81-4956-b93c-ade0e616fb98", + "id": "7114cf32-af2c-438f-b816-1043a8bd819d", "type": "basic.outputLabel", "data": { + "name": "b0", + "range": "[7:0]", "blockColor": "fuchsia", - "name": "out" - }, - "position": { - "x": 816, - "y": -600 - } - }, - { - "id": "c9e1af2a-6f09-4cf6-a5b3-fdf7ec2c6530", - "type": "basic.input", - "data": { - "name": "", - "clock": false + "size": 8 }, "position": { - "x": -376, - "y": -584 + "x": 240, + "y": 120 } }, { - "id": "b0e427bd-ce26-43b5-9d61-685f1c1ab922", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "in", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true - }, + "id": "64c3574b-3227-40ab-ab03-c2e2af710a45", + "type": "cb23aa3d8a3e95bd194fd9ec9b9c40b36595d893", "position": { - "x": -224, - "y": -584 - } - }, - { - "id": "d8572528-e0db-413c-a4ff-64d8cfee021d", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" + "x": 408, + "y": 72 }, - "position": { - "x": -32, - "y": -448 + "size": { + "width": 96, + "height": 64 } }, { - "id": "5d12a177-7618-4517-9067-3012f7cb42ce", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" - }, + "id": "0857be54-1eea-4619-841f-b1bb49aa66d0", + "type": "c3c498191b14e9288a85fa2871b3966665f75475", "position": { - "x": 552, - "y": -440 - } - }, - { - "id": "2f1050dd-a720-4ede-890e-612ce370ba61", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "out", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "x": 576, + "y": -72 }, - "position": { - "x": 840, - "y": -352 + "size": { + "width": 96, + "height": 96 } }, { - "id": "ba86528a-72e9-40f7-a1e6-c2e684026c24", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "in", - "oldBlockColor": "fuchsia" - }, + "id": "17bd7ef3-6604-48a9-9c2e-50a8be908636", + "type": "8cc49c9b29485f2cfeab6064d7bb1cf9ced045b1", "position": { - "x": -32, - "y": -336 - } - }, - { - "id": "c1243e04-edbf-4cc6-9d85-f7bf35ac1dae", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" + "x": 816, + "y": -16 }, - "position": { - "x": 384, - "y": -288 + "size": { + "width": 96, + "height": 64 } }, { - "id": "cc581727-73de-451c-849d-eb5e8387f0e4", - "type": "c8cfbaa5ea9096f681e8acf2ca239f06275f5db2", + "id": "dcab5da0-fe7e-4131-af28-829e18fbb525", + "type": "c3c498191b14e9288a85fa2871b3966665f75475", "position": { - "x": 120, - "y": -352 + "x": 760, + "y": -264 }, "size": { "width": 96, - "height": 64 + "height": 96 } }, { - "id": "e4164124-c993-47b5-a746-809a3e625f53", - "type": "b70dd9c39fe3c51faff4233d2dde462fc53c7e38", + "id": "c047f19d-fd2f-4cf6-a055-3b4ae336688a", + "type": "a52e3be3d374c081062b542fc91c5cb1be726cb8", "position": { - "x": 248, - "y": -176 + "x": 992, + "y": -112 }, "size": { "width": 96, @@ -2532,34 +2684,34 @@ } }, { - "id": "3c0a5e86-2068-4aef-8ad9-34d39461ddfe", - "type": "93adf61bc489d9a96a344d3f2600237e9e19c607", + "id": "542e4400-133f-43a1-bed0-bac46478fd7b", + "type": "2db4d243dd03a8574fd42a0998d5f90be5caec10", "position": { - "x": 704, - "y": -368 + "x": -488, + "y": -24 }, "size": { "width": 96, - "height": 96 + "height": 64 } }, { - "id": "c8bd0542-c3ff-484b-80b0-b883c1df77e5", - "type": "8d4ef5a2cf273f2265401931a99a46e9dc224688", + "id": "f409a567-3cb6-48b9-a1c2-102b4cbe30e4", + "type": "2db4d243dd03a8574fd42a0998d5f90be5caec10", "position": { - "x": 520, - "y": -192 + "x": -504, + "y": -416 }, "size": { "width": 96, - "height": 96 + "height": 64 } }, { - "id": "c287e056-90e6-46b6-b1fa-5f8abba12518", - "type": "725b7e2cb9666b5ed3183537d9c898f096dab82a", + "id": "7a01bae3-8842-4934-b4d1-c504077cf8e9", + "type": "0f6c392fd18934000cbfa24f7cb7eab931e7c1b2", "position": { - "x": 384, + "x": -312, "y": -96 }, "size": { @@ -2568,1504 +2720,1257 @@ } }, { - "id": "5a74cbea-0212-467b-8391-9740d50c3a18", - "type": "basic.info", - "data": { - "info": "Previous input \nvalue", - "readonly": true - }, + "id": "f265e84a-a015-4a71-84d4-51208b7f459d", + "type": "c97ea62c7e57797474a81bca730a1b2bec259617", "position": { - "x": 128, - "y": -408 + "x": -128, + "y": -128 }, "size": { - "width": 136, - "height": 56 + "width": 96, + "height": 64 } }, { - "id": "1be0ed57-ae41-4ca5-a8c0-3d70585336a6", - "type": "basic.info", - "data": { - "info": "Current input \nvalue", - "readonly": true - }, + "id": "30d9e6c9-692a-4021-89de-c9a2c12e7f76", + "type": "0f6c392fd18934000cbfa24f7cb7eab931e7c1b2", "position": { - "x": 88, - "y": -112 + "x": -304, + "y": -432 }, "size": { - "width": 136, - "height": 56 + "width": 96, + "height": 64 } }, { - "id": "dc34c3ef-e05e-4431-b7eb-dbb8ac883d6c", - "type": "basic.info", - "data": { - "info": "There is a change \non the input", - "readonly": true - }, + "id": "3b84f8ba-f678-4338-be85-c745150168a4", + "type": "c97ea62c7e57797474a81bca730a1b2bec259617", "position": { - "x": 360, - "y": -200 + "x": -112, + "y": -448 }, "size": { - "width": 152, - "height": 56 + "width": 96, + "height": 64 } }, { - "id": "cabf3c3d-a707-4e06-be9a-4a66817c7a26", - "type": "basic.info", - "data": { - "info": "Whenever there is a change in \nthe input, the counter is started", - "readonly": true - }, + "id": "1e66693a-ca98-48ad-93cd-9aa429d9ef2e", + "type": "a1ce303b8ce47a06371ea4641c81460f34a1cca9", "position": { - "x": 528, - "y": -88 + "x": 952, + "y": -376 }, "size": { - "width": 288, - "height": 56 + "width": 96, + "height": 96 } }, { - "id": "6dcd32b7-40bd-433d-a1e2-222636c19f2f", - "type": "basic.info", - "data": { - "info": "If the counter reaches it maximum \nvalue, the input is considered stable \nand it is captured", - "readonly": true - }, + "id": "e8cbb789-ee59-4a99-901e-f5bafe635bc0", + "type": "ce38dc5eab555d38058730d56bf27972e5cbb202", "position": { - "x": 720, - "y": -456 + "x": 1160, + "y": -320 }, "size": { - "width": 304, - "height": 72 + "width": 96, + "height": 64 } - }, + } + ], + "wires": [ { - "id": "5ee60a84-8e65-49de-9b87-5afd9770b5a3", - "type": "basic.info", - "data": { - "info": "### Time calculation\n\nFor CLK=12MHZ, a 16-bit counter reaches its \nmaximum every 2 ** 16 * 1/F = 5.5ms aprox \nIF more time is needed for debouncing, \nuse a counter with more bits (17, 18...)", - "readonly": true + "source": { + "block": "542e4400-133f-43a1-bed0-bac46478fd7b", + "port": "b7518758-d519-431e-a19d-4a1197635efa", + "size": 8 }, - "position": { - "x": 432, - "y": -640 + "target": { + "block": "a7cd6890-7130-4f25-9966-b5ca1132d597", + "port": "inlabel" }, - "size": { - "width": 360, - "height": 120 - } + "size": 8 }, { - "id": "f998abd9-dfc8-42d4-8816-c89f07a61e6f", - "type": "basic.info", - "data": { - "info": "## Debouncer \n\nA value is considered stable when \nthere is no changes during 5.5ms \naprox. When a value is stable it is \ncaptured on the output flip-flop", - "readonly": true + "source": { + "block": "7114cf32-af2c-438f-b816-1043a8bd819d", + "port": "outlabel" }, - "position": { - "x": -8, - "y": -648 + "target": { + "block": "64c3574b-3227-40ab-ab03-c2e2af710a45", + "port": "63477487-9493-4058-a7e1-9bab443ec466", + "size": 8 }, - "size": { - "width": 312, - "height": 128 - } + "size": 8 }, { - "id": "ababfa12-265a-4c7c-a482-8ed44cf9171c", - "type": "basic.info", - "data": { - "info": "Stable output", - "readonly": true + "source": { + "block": "7d042e3c-08e0-4027-ba97-6f6143ac0b7e", + "port": "outlabel" }, - "position": { - "x": 880, - "y": -280 + "target": { + "block": "64c3574b-3227-40ab-ab03-c2e2af710a45", + "port": "b4b08c4b-8eb1-4cd3-a1bf-a45bf7177ed3", + "size": 8 }, - "size": { - "width": 136, - "height": 40 - } + "size": 8 }, - { - "id": "656df089-b248-432e-b6b5-ecd4bb5cc8eb", - "type": "basic.info", - "data": { - "info": "Counter", - "readonly": true - }, - "position": { - "x": 536, - "y": -232 - }, - "size": { - "width": 96, - "height": 40 - } - } - ], - "wires": [ { "source": { - "block": "4bf41c17-a2da-4140-95f7-2a80d51b1e1a", - "port": "out" + "block": "4f2c77a9-f54e-4c7e-b1b8-d1739ea521c7", + "port": "outlabel" }, "target": { - "block": "a0474543-ff59-4f6f-8d2e-3993d79c13de", - "port": "inlabel" - } + "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", + "port": "4bf17d89-89b8-4524-800a-2d15f9bbb111", + "size": 8 + }, + "size": 8 }, { "source": { - "block": "d8572528-e0db-413c-a4ff-64d8cfee021d", + "block": "4743defe-36c0-40a2-aaf0-188272583034", "port": "outlabel" }, "target": { - "block": "cc581727-73de-451c-849d-eb5e8387f0e4", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" - } + "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", + "port": "3867504b-f331-4e0e-b923-acc86cb4255c", + "size": 8 + }, + "size": 8 }, { "source": { - "block": "5d12a177-7618-4517-9067-3012f7cb42ce", - "port": "outlabel" + "block": "7a01bae3-8842-4934-b4d1-c504077cf8e9", + "port": "b4a2e85c-b31d-4363-be79-79d23492dd85", + "size": 8 }, "target": { - "block": "3c0a5e86-2068-4aef-8ad9-34d39461ddfe", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" - } + "block": "a3761c9e-14ee-47ef-95f0-ddbb132ba6cf", + "port": "inlabel" + }, + "size": 8 }, { "source": { - "block": "c1243e04-edbf-4cc6-9d85-f7bf35ac1dae", - "port": "outlabel" + "block": "f409a567-3cb6-48b9-a1c2-102b4cbe30e4", + "port": "b7518758-d519-431e-a19d-4a1197635efa", + "size": 8 }, "target": { - "block": "c8bd0542-c3ff-484b-80b0-b883c1df77e5", - "port": "c90da543-4b9c-4f4c-a5fa-7e1166ee1dd3" - } + "block": "6736a55c-7818-4da9-9c1a-f57200ad2526", + "port": "inlabel" + }, + "size": 8 }, { "source": { - "block": "c9e1af2a-6f09-4cf6-a5b3-fdf7ec2c6530", - "port": "out" + "block": "30d9e6c9-692a-4021-89de-c9a2c12e7f76", + "port": "b4a2e85c-b31d-4363-be79-79d23492dd85", + "size": 8 }, "target": { - "block": "b0e427bd-ce26-43b5-9d61-685f1c1ab922", + "block": "e2589574-b6cc-4faf-8e69-3d23248bcba2", "port": "inlabel" - } + }, + "size": 8 }, { "source": { - "block": "ba86528a-72e9-40f7-a1e6-c2e684026c24", + "block": "cc858595-88b1-4f0b-baeb-77fdd9a4d7ed", "port": "outlabel" }, "target": { - "block": "cc581727-73de-451c-849d-eb5e8387f0e4", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" - } + "block": "dcab5da0-fe7e-4131-af28-829e18fbb525", + "port": "3867504b-f331-4e0e-b923-acc86cb4255c", + "size": 8 + }, + "size": 8 }, { "source": { - "block": "ba86528a-72e9-40f7-a1e6-c2e684026c24", + "block": "8ac0c222-8cbc-4974-bfd2-43f11eb8d8ad", "port": "outlabel" }, "target": { - "block": "e4164124-c993-47b5-a746-809a3e625f53", - "port": "97b51945-d716-4b6c-9db9-970d08541249" - } + "block": "dcab5da0-fe7e-4131-af28-829e18fbb525", + "port": "4bf17d89-89b8-4524-800a-2d15f9bbb111", + "size": 8 + }, + "size": 8 }, { "source": { - "block": "3c0a5e86-2068-4aef-8ad9-34d39461ddfe", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + "block": "f265e84a-a015-4a71-84d4-51208b7f459d", + "port": "99e7399f-ce06-4f67-ae35-0b9a6785d60e", + "size": 8 }, "target": { - "block": "2f1050dd-a720-4ede-890e-612ce370ba61", + "block": "389f9a01-b7df-4d16-8f0e-bb14b76997ce", "port": "inlabel" - } + }, + "size": 8 }, { "source": { - "block": "20d06e62-fd81-4956-b93c-ade0e616fb98", - "port": "outlabel" + "block": "f265e84a-a015-4a71-84d4-51208b7f459d", + "port": "9a0bd20b-0206-4f0e-b07d-e96696b705c5", + "size": 4 }, "target": { - "block": "22ff3fa1-943b-4d1a-bd89-36e1c054d077", - "port": "in" - } + "block": "2572197f-6a71-4ac7-927d-f15f5b13beea", + "port": "inlabel" + }, + "size": 4 }, { "source": { - "block": "cc581727-73de-451c-849d-eb5e8387f0e4", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + "block": "3b84f8ba-f678-4338-be85-c745150168a4", + "port": "99e7399f-ce06-4f67-ae35-0b9a6785d60e", + "size": 8 }, "target": { - "block": "e4164124-c993-47b5-a746-809a3e625f53", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "block": "235e1fe4-919e-422d-9eb3-dc232e8f9407", + "port": "inlabel" }, - "vertices": [] + "size": 8 }, { "source": { - "block": "cc581727-73de-451c-849d-eb5e8387f0e4", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + "block": "3b84f8ba-f678-4338-be85-c745150168a4", + "port": "9a0bd20b-0206-4f0e-b07d-e96696b705c5", + "size": 4 }, "target": { - "block": "3c0a5e86-2068-4aef-8ad9-34d39461ddfe", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + "block": "9b6d88fa-20b2-4b05-ad2b-c436a4a7f496", + "port": "inlabel" }, - "vertices": [] + "size": 4 }, { "source": { - "block": "c8bd0542-c3ff-484b-80b0-b883c1df77e5", - "port": "cc17ff4d-1c27-4dc3-a14c-da730d54750e" + "block": "eff7351f-52a9-408d-b237-2d3ee93120f0", + "port": "outlabel" }, "target": { - "block": "3c0a5e86-2068-4aef-8ad9-34d39461ddfe", - "port": "4e3677f4-ae08-4a6f-80a7-ec71cd0c24b7" + "block": "1e66693a-ca98-48ad-93cd-9aa429d9ef2e", + "port": "d192d0af-e7be-4be6-925a-50227d80784c", + "size": 4 }, - "vertices": [] + "size": 4 }, { "source": { - "block": "e4164124-c993-47b5-a746-809a3e625f53", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "55631885-7de8-4477-9ac1-9efd76c180e0", + "port": "outlabel" }, "target": { - "block": "c8bd0542-c3ff-484b-80b0-b883c1df77e5", - "port": "743b5299-2d89-4783-b7c9-12a5b36df406" + "block": "1e66693a-ca98-48ad-93cd-9aa429d9ef2e", + "port": "c2d36218-be99-4dd1-bf69-7690c667255b", + "size": 4 }, - "vertices": [] + "size": 4 }, { "source": { - "block": "c287e056-90e6-46b6-b1fa-5f8abba12518", - "port": "3d584b0a-29eb-47af-8c43-c0822282ef05" + "block": "64c3574b-3227-40ab-ab03-c2e2af710a45", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "c8bd0542-c3ff-484b-80b0-b883c1df77e5", - "port": "26aba23f-8567-4e9b-bd45-c26724030f33" - }, - "vertices": [] - } - ] - } - } - }, - "93adf61bc489d9a96a344d3f2600237e9e19c607": { - "package": { - "name": "Reg-1bit", - "version": "0.1", - "description": "1bit register (implemented in verilog)", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22216.379%22%20height=%22279.911%22%20viewBox=%220%200%2057.25032%2074.059853%22%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M41.506%2040.152l13.608%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M34.122%2032.088L24.89%2012.475l-6.45%203.724-2.07-3.583L37.276.546l2.07%203.584-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.772L33.017%2045.02s-2.849-3.695-2.16-6.795c.687-3.1%203.265-6.137%203.265-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20transform=%22translate(-93.518%20-22.665)%20scale(1.09073)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20cx=%22100.602%22%20cy=%2273.815%22%20r=%2214.559%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "3943e194-090b-4553-9df3-88bc4b17abc2", - "type": "basic.input", - "data": { - "name": "", - "clock": true - }, - "position": { - "x": 216, - "y": 104 + "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", + "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" } }, { - "id": "bf2f0c53-2d04-4cba-aa70-2df85502d24f", - "type": "basic.input", - "data": { - "name": "d", - "clock": false + "source": { + "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", + "port": "9daaaf78-5a89-4d4a-a1b2-db1d3af962f1" }, - "position": { - "x": 216, - "y": 192 - } + "target": { + "block": "17bd7ef3-6604-48a9-9c2e-50a8be908636", + "port": "5a35cd57-1006-4f6d-b263-5b977e9ef142" + }, + "size": 8 }, { - "id": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78", - "type": "basic.output", - "data": { - "name": "" + "source": { + "block": "64c3574b-3227-40ab-ab03-c2e2af710a45", + "port": "dc2d9a2c-9ee9-4985-a678-d88c89fd8b74" }, - "position": { - "x": 728, - "y": 192 - } + "target": { + "block": "17bd7ef3-6604-48a9-9c2e-50a8be908636", + "port": "38fdb02d-4323-4a34-9ffe-8385f844b660" + }, + "size": 8 }, { - "id": "4e3677f4-ae08-4a6f-80a7-ec71cd0c24b7", - "type": "basic.input", - "data": { - "name": "load", - "clock": false + "source": { + "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, - "position": { - "x": 240, - "y": 320 + "target": { + "block": "dcab5da0-fe7e-4131-af28-829e18fbb525", + "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" } }, { - "id": "65194b18-5d2a-41b2-bd86-01be99978ad6", - "type": "basic.constant", - "data": { - "name": "", - "value": "0", - "local": false + "source": { + "block": "17bd7ef3-6604-48a9-9c2e-50a8be908636", + "port": "79c56f9a-597f-491e-b1d1-d321f63303c2" }, - "position": { - "x": 472, - "y": 56 - } + "target": { + "block": "c047f19d-fd2f-4cf6-a055-3b4ae336688a", + "port": "c4ca0e6a-6557-45ee-8363-1bffebaad486" + }, + "size": 16 }, { - "id": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "type": "basic.code", - "data": { - "code": "reg q = INI;\n\nalways @(posedge clk)\n if (load)\n q <= d;", - "params": [ - { - "name": "INI" - } - ], - "ports": { - "in": [ - { - "name": "clk" - }, - { - "name": "d" - }, - { - "name": "load" - } - ], - "out": [ - { - "name": "q" - } - ] - } + "source": { + "block": "dcab5da0-fe7e-4131-af28-829e18fbb525", + "port": "9daaaf78-5a89-4d4a-a1b2-db1d3af962f1" }, - "position": { - "x": 384, - "y": 168 + "target": { + "block": "c047f19d-fd2f-4cf6-a055-3b4ae336688a", + "port": "29a44a77-ec20-436d-a9e8-7fc2ca5de57e" }, - "size": { - "width": 272, - "height": 104 - } + "size": 8 }, { - "id": "3df131d9-1f78-4d88-bd06-bcbe95855d01", - "type": "basic.info", - "data": { - "info": "Initial value", - "readonly": true + "source": { + "block": "aa5f2a99-2abd-495d-9405-ae0bc7644cfc", + "port": "out" }, - "position": { - "x": 480, - "y": 48 + "target": { + "block": "542e4400-133f-43a1-bed0-bac46478fd7b", + "port": "8dc63d68-e086-4db8-a819-610111258e7d" }, - "size": { - "width": 136, - "height": 32 - } - } - ], - "wires": [ + "size": 28 + }, { "source": { - "block": "3943e194-090b-4553-9df3-88bc4b17abc2", + "block": "438a6c29-77ff-4ef2-b963-1ddcfd48245d", "port": "out" }, "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "clk" - } + "block": "f409a567-3cb6-48b9-a1c2-102b4cbe30e4", + "port": "8dc63d68-e086-4db8-a819-610111258e7d" + }, + "size": 28 }, { "source": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "q" + "block": "542e4400-133f-43a1-bed0-bac46478fd7b", + "port": "e670e20a-36c4-4196-8e52-26e59367c270" }, "target": { - "block": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78", - "port": "in" - } + "block": "7a01bae3-8842-4934-b4d1-c504077cf8e9", + "port": "6a8347bb-e6ee-494a-87c8-277445460362" + }, + "size": 20 }, { "source": { - "block": "65194b18-5d2a-41b2-bd86-01be99978ad6", - "port": "constant-out" + "block": "7a01bae3-8842-4934-b4d1-c504077cf8e9", + "port": "865e30d6-1832-4a16-a2b5-6bf334df5cf4" }, "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "INI" - } + "block": "f265e84a-a015-4a71-84d4-51208b7f459d", + "port": "46011ec6-127b-4e6b-83ca-aed5b18ae4d0" + }, + "size": 12 }, { "source": { - "block": "bf2f0c53-2d04-4cba-aa70-2df85502d24f", - "port": "out" + "block": "f409a567-3cb6-48b9-a1c2-102b4cbe30e4", + "port": "e670e20a-36c4-4196-8e52-26e59367c270" }, "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "d" + "block": "30d9e6c9-692a-4021-89de-c9a2c12e7f76", + "port": "6a8347bb-e6ee-494a-87c8-277445460362" + }, + "size": 20 + }, + { + "source": { + "block": "30d9e6c9-692a-4021-89de-c9a2c12e7f76", + "port": "865e30d6-1832-4a16-a2b5-6bf334df5cf4" + }, + "target": { + "block": "3b84f8ba-f678-4338-be85-c745150168a4", + "port": "46011ec6-127b-4e6b-83ca-aed5b18ae4d0" + }, + "size": 12 + }, + { + "source": { + "block": "dcab5da0-fe7e-4131-af28-829e18fbb525", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + }, + "target": { + "block": "1e66693a-ca98-48ad-93cd-9aa429d9ef2e", + "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" } }, { "source": { - "block": "4e3677f4-ae08-4a6f-80a7-ec71cd0c24b7", - "port": "out" + "block": "c047f19d-fd2f-4cf6-a055-3b4ae336688a", + "port": "756c8eb7-3567-48b4-9757-fe992499b794" }, "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "load" + "block": "e8cbb789-ee59-4a99-901e-f5bafe635bc0", + "port": "3b957f7a-e94e-490f-8313-231ef9f2bdae" + }, + "size": 24 + }, + { + "source": { + "block": "1e66693a-ca98-48ad-93cd-9aa429d9ef2e", + "port": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42" + }, + "target": { + "block": "e8cbb789-ee59-4a99-901e-f5bafe635bc0", + "port": "3a4ce56b-73a3-44ea-9cdb-fc2b3c62fb05" + }, + "size": 4 + }, + { + "source": { + "block": "1e66693a-ca98-48ad-93cd-9aa429d9ef2e", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + }, + "target": { + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" } + }, + { + "source": { + "block": "e8cbb789-ee59-4a99-901e-f5bafe635bc0", + "port": "c2b47079-3d57-467d-88eb-3c00fb497103" + }, + "target": { + "block": "232dad32-f470-4b1f-a92c-bf32f47a29d6", + "port": "in" + }, + "size": 28 } ] } } }, - "8d4ef5a2cf273f2265401931a99a46e9dc224688": { + "cb23aa3d8a3e95bd194fd9ec9b9c40b36595d893": { "package": { - "name": "Contador-16bits-up-rst", + "name": "Adder-8bits", "version": "0.1", - "description": "Contador módulo M, ascendente, de 16 bits, con reset ", + "description": "Adder-8bits: Adder of two operands of 8 bits", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22327.118%22%20height=%22304.435%22%20viewBox=%220%200%2086.549973%2080.548402%22%3E%3Cdefs%3E%3Cmarker%20id=%22a%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20fill=%22#00f%22%20fill-rule=%22evenodd%22%20stroke=%22#00f%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3C/defs%3E%3Cg%20transform=%22translate(-59.162%20-4.54)%22%3E%3Cpath%20d=%22M138.803%2048.49V16.91%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%222.806%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20marker-end=%22url(#a)%22/%3E%3Crect%20rx=%222.807%22%20ry=%222.807%22%20y=%225.289%22%20x=%2299.747%22%20height=%2247.849%22%20width=%2229.538%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%221.497%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%2240.921%22%20x=%22108.575%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%228.982%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%221.497%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2240.921%22%20x=%22108.575%22%20font-weight=%22700%22%20font-size=%2235.656%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M100.868%2030.283h27.764%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%222.245%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20rx=%222.807%22%20ry=%222.807%22%20y=%225.289%22%20x=%2266.333%22%20height=%2247.849%22%20width=%2229.538%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%221.497%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%2240.921%22%20x=%2273.223%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%228.982%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%221.497%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2240.921%22%20x=%2273.223%22%20font-weight=%22700%22%20font-size=%2235.656%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M67.454%2030.283h27.764%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%222.245%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22matrix(1.00937%200%200%201.00937%20-27.38%20-4.42)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(1.00937%200%200%201.00937%2028.939%20-4.42)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E" + "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618560481898 }, "design": { "graph": { "blocks": [ { - "id": "c90da543-4b9c-4f4c-a5fa-7e1166ee1dd3", - "type": "basic.input", + "id": "1c85838b-e269-4a65-a112-0a1bbca9b2a1", + "type": "basic.inputLabel", "data": { - "name": "", - "clock": true + "name": "a1", + "range": "[3:0]", + "pins": [ + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia", + "blockColor": "deeppink" }, "position": { - "x": 264, - "y": 176 + "x": 16, + "y": -688 } }, { - "id": "bc20f3e9-fdc2-457f-9c07-6d609142c689", - "type": "basic.output", + "id": "d01b9c0c-a541-49e6-b5aa-a0c0f21612a0", + "type": "basic.outputLabel", "data": { - "name": "", - "range": "[15:0]", - "size": 16 + "name": "a1", + "range": "[3:0]", + "oldBlockColor": "fuchsia", + "blockColor": "deeppink", + "size": 4 }, "position": { - "x": 800, - "y": 200 + "x": 352, + "y": -664 } }, { - "id": "743b5299-2d89-4783-b7c9-12a5b36df406", + "id": "b4b08c4b-8eb1-4cd3-a1bf-a45bf7177ed3", "type": "basic.input", "data": { - "name": "rst", - "clock": false + "name": "", + "range": "[7:0]", + "clock": false, + "size": 8 }, "position": { - "x": 264, - "y": 280 + "x": -312, + "y": -632 } }, { - "id": "cc17ff4d-1c27-4dc3-a14c-da730d54750e", - "type": "basic.output", + "id": "f3b83846-5723-40b3-a598-fd21797f7ce1", + "type": "basic.inputLabel", "data": { - "name": "ov" - }, - "position": { - "x": 800, - "y": 352 - } - }, - { - "id": "26aba23f-8567-4e9b-bd45-c26724030f33", - "type": "basic.input", + "name": "a0", + "range": "[3:0]", + "pins": [ + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia", + "blockColor": "deeppink" + }, + "position": { + "x": 16, + "y": -616 + } + }, + { + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", "data": { - "name": "cnt", - "clock": false + "name": "c" }, "position": { - "x": 264, - "y": 376 + "x": 960, + "y": -608 } }, { - "id": "eb9f9c33-e717-43f0-98eb-dbd9c278fa8c", - "type": "basic.constant", + "id": "fb36b075-bb31-4aa7-8dbd-f0d108126f21", + "type": "basic.outputLabel", "data": { - "name": "", - "value": "'h10000", - "local": false + "name": "b1", + "range": "[3:0]", + "blockColor": "fuchsia", + "size": 4 }, "position": { - "x": 528, - "y": 48 + "x": 352, + "y": -584 } }, { - "id": "b35ae5de-a490-4f7b-9200-ac52cd3f333e", - "type": "basic.info", + "id": "dc2d9a2c-9ee9-4985-a678-d88c89fd8b74", + "type": "basic.output", "data": { - "info": "**Parámetro**: Módulo del contador", - "readonly": true + "name": "s", + "range": "[7:0]", + "size": 8 }, "position": { - "x": 472, - "y": 32 + "x": 960, + "y": -544 + } + }, + { + "id": "6de2e227-2992-41fb-a52e-16e86632cd2c", + "type": "basic.outputLabel", + "data": { + "name": "a0", + "range": "[3:0]", + "oldBlockColor": "fuchsia", + "blockColor": "deeppink", + "size": 4 }, - "size": { - "width": 280, - "height": 56 + "position": { + "x": 184, + "y": -472 } }, { - "id": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", - "type": "basic.code", + "id": "d5b2605b-a224-4d60-896b-d1553fd943e1", + "type": "basic.inputLabel", "data": { - "code": "//-- Numero de bits del contador\nlocalparam N = 16; \n\n//-- En contadores de N bits:\n//-- M = 2 ** N\n\n//-- Internamente usamos un bit mas\n//-- (N+1) bits\nreg [N:0] qi = 0;\n\nalways @(posedge clk)\n if (rst | ov)\n qi <= 0;\n else\n if (cnt)\n qi <= qi + 1;\n \nassign q = qi;\n\n//-- Comprobar overflow\nassign ov = (qi == M);\n ", - "params": [ + "name": "b1", + "range": "[3:0]", + "pins": [ + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, { - "name": "M" + "index": "0", + "name": "", + "value": "" } ], - "ports": { - "in": [ - { - "name": "clk" - }, - { - "name": "rst" - }, - { - "name": "cnt" - } - ], - "out": [ - { - "name": "q", - "range": "[15:0]", - "size": 16 - }, - { - "name": "ov" - } - ] - } + "virtual": true, + "blockColor": "fuchsia" }, "position": { - "x": 408, - "y": 160 - }, - "size": { - "width": 336, - "height": 296 + "x": 8, + "y": -440 } - } - ], - "wires": [ + }, { - "source": { - "block": "743b5299-2d89-4783-b7c9-12a5b36df406", - "port": "out" + "id": "e3beef79-c05d-4705-8dbc-de5b7b94941a", + "type": "basic.outputLabel", + "data": { + "name": "b0", + "range": "[3:0]", + "blockColor": "fuchsia", + "size": 4 }, - "target": { - "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", - "port": "rst" + "position": { + "x": 184, + "y": -408 } }, { - "source": { - "block": "eb9f9c33-e717-43f0-98eb-dbd9c278fa8c", - "port": "constant-out" + "id": "63477487-9493-4058-a7e1-9bab443ec466", + "type": "basic.input", + "data": { + "name": "", + "range": "[7:0]", + "clock": false, + "size": 8 }, - "target": { - "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", - "port": "M" + "position": { + "x": -320, + "y": -384 } }, { - "source": { - "block": "26aba23f-8567-4e9b-bd45-c26724030f33", - "port": "out" + "id": "df32424c-55e8-45ed-9adc-3d8bb146e3e0", + "type": "basic.inputLabel", + "data": { + "name": "b0", + "range": "[3:0]", + "pins": [ + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "blockColor": "fuchsia" }, - "target": { - "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", - "port": "cnt" + "position": { + "x": 8, + "y": -368 } }, { - "source": { - "block": "c90da543-4b9c-4f4c-a5fa-7e1166ee1dd3", - "port": "out" + "id": "6781108b-d67f-4ee8-97a9-79bab2c400b1", + "type": "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a", + "position": { + "x": -168, + "y": -384 }, - "target": { - "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", - "port": "clk" + "size": { + "width": 96, + "height": 64 } }, { - "source": { - "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", - "port": "ov" + "id": "ffcdd533-6cad-4ba4-9f88-4b1030d78af8", + "type": "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a", + "position": { + "x": -152, + "y": -632 }, - "target": { - "block": "cc17ff4d-1c27-4dc3-a14c-da730d54750e", - "port": "in" + "size": { + "width": 96, + "height": 64 } }, { - "source": { - "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", - "port": "q" + "id": "7b82019f-c8a7-4b8c-baa1-6eb224a95cb2", + "type": "25966b9480fc28011aea0e17452c30d5ff9d76e8", + "position": { + "x": 352, + "y": -456 }, - "target": { - "block": "bc20f3e9-fdc2-457f-9c07-6d609142c689", - "port": "in" + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "b8a72421-dc14-4c18-b343-9c3516b37f54", + "type": "afb28fd5426aea14477d11cbe30a290679f789f8", + "position": { + "x": 760, + "y": -544 }, - "size": 16 - } - ] - } - } - }, - "725b7e2cb9666b5ed3183537d9c898f096dab82a": { - "package": { - "name": "1", - "version": "0.1", - "description": "Un bit constante a 1", - "author": "Jesus Arroyo", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2233.632%22%20height=%2269.34%22%20viewBox=%220%200%2031.530464%2065.006656%22%3E%3Cpath%20d=%22M3.517%2012.015L19%200l12.53%202.863-10.012%2043.262-9.746-2.227%207.7-34.532L8.03%2016.38z%22%20fill=%22green%22%20fill-rule=%22evenodd%22/%3E%3Cpath%20d=%22M17.593%2043.464l7.822%2010.472-6.56%207.919%202.27%202.043m-5.14-20.179l-4.542%2010.473-10.345%202.043.757%203.32%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%222.196%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "3d584b0a-29eb-47af-8c43-c0822282ef05", - "type": "basic.output", - "data": { - "name": "" - }, - "position": { - "x": 512, - "y": 160 + "size": { + "width": 96, + "height": 64 } }, { - "id": "61331ec5-2c56-4cdd-b607-e63b1502fa65", - "type": "basic.code", - "data": { - "code": "//-- Bit constante a 1\nassign q = 1'b1;\n\n", - "params": [], - "ports": { - "in": [], - "out": [ - { - "name": "q" - } - ] - } - }, + "id": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", + "type": "a1ce303b8ce47a06371ea4641c81460f34a1cca9", "position": { - "x": 168, - "y": 112 + "x": 520, + "y": -600 }, "size": { - "width": 256, - "height": 160 + "width": 96, + "height": 96 } } ], "wires": [ { "source": { - "block": "61331ec5-2c56-4cdd-b607-e63b1502fa65", - "port": "q" + "block": "6781108b-d67f-4ee8-97a9-79bab2c400b1", + "port": "eb61d084-ca22-4894-b8a2-f936db38f4b1", + "size": 4 }, "target": { - "block": "3d584b0a-29eb-47af-8c43-c0822282ef05", - "port": "in" - } - } - ] - } - } - }, - "c8ffff0c6db83755c69d6633413f8122e52a420c": { - "package": { - "name": "Rising-edge-detector", - "version": "0.1", - "description": "Rising-edge detector. It generates a 1-period pulse (tic) when a rising edge is detected on the input", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22185.363%22%20height=%22183.398%22%20viewBox=%220%200%2049.043981%2048.524089%22%3E%3Cg%20stroke-linecap=%22round%22%3E%3Cg%20fill=%22none%22%20stroke=%22#00f%22%3E%3Cpath%20d=%22M13.478%2032.434l6.026%207.975-5.054%206.03%201.749%201.556m-3.96-15.367l-3.5%207.976-7.97%201.555.583%202.529%22%20stroke-width=%221.058%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M12.773%2032.628V2.686%22%20stroke-width=%223.969%22/%3E%3Cpath%20d=%22M1.984%2012.436L12.673%201.984l10.35%2010.452%22%20stroke-width=%223.969%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(.842%200%200%20.842%20-48.178%20-26.157)%22%20stroke=%22green%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "2708468d-1088-4570-be63-fb0d4799a941", - "type": "basic.input", - "data": { - "name": "", - "clock": true + "block": "df32424c-55e8-45ed-9adc-3d8bb146e3e0", + "port": "inlabel" }, - "position": { - "x": 152, - "y": 152 - } + "size": 4 }, { - "id": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", - "type": "basic.input", - "data": { - "name": "", - "clock": false + "source": { + "block": "6781108b-d67f-4ee8-97a9-79bab2c400b1", + "port": "637e64f4-0a6b-4037-9a75-89397e078a58", + "size": 4 }, - "position": { - "x": 152, - "y": 280 - } - }, - { - "id": "1c25e08e-e664-4fab-9b30-cedc1f8a3739", - "type": "basic.output", - "data": { - "name": "" + "target": { + "block": "d5b2605b-a224-4d60-896b-d1553fd943e1", + "port": "inlabel" }, - "position": { - "x": 840, - "y": 400 - } + "size": 4 }, { - "id": "71397c49-5476-4a34-a914-7ec7f07fbf10", - "type": "1c7dae7144d376f2ee4896fcc502a29110e2db37", - "position": { - "x": 320, - "y": 264 + "source": { + "block": "ffcdd533-6cad-4ba4-9f88-4b1030d78af8", + "port": "637e64f4-0a6b-4037-9a75-89397e078a58", + "size": 4 }, - "size": { - "width": 96, - "height": 64 - } + "target": { + "block": "1c85838b-e269-4a65-a112-0a1bbca9b2a1", + "port": "inlabel" + }, + "size": 4 }, { - "id": "dd46675b-cc63-4048-8a37-c684913c3514", - "type": "35f267d0df6ffcb7fc33753bc9df9cf083642cca", - "position": { - "x": 552, - "y": 264 + "source": { + "block": "ffcdd533-6cad-4ba4-9f88-4b1030d78af8", + "port": "eb61d084-ca22-4894-b8a2-f936db38f4b1", + "size": 4 }, - "size": { - "width": 96, - "height": 64 - } + "target": { + "block": "f3b83846-5723-40b3-a598-fd21797f7ce1", + "port": "inlabel" + }, + "size": 4 }, { - "id": "5b898222-8c0c-4e10-8a92-2b8734c87693", - "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", - "position": { - "x": 696, - "y": 400 + "source": { + "block": "e3beef79-c05d-4705-8dbc-de5b7b94941a", + "port": "outlabel" }, - "size": { - "width": 96, - "height": 64 - } + "target": { + "block": "7b82019f-c8a7-4b8c-baa1-6eb224a95cb2", + "port": "d192d0af-e7be-4be6-925a-50227d80784c", + "size": 4 + }, + "size": 4 }, { - "id": "49c0a94e-2687-4aa4-8cba-327b2942095f", - "type": "basic.info", - "data": { - "info": "## Rising edge detector\n\nIt generates a 1-period pulse (tic) when a rising edge is detected on the \ninput signal", - "readonly": true + "source": { + "block": "6de2e227-2992-41fb-a52e-16e86632cd2c", + "port": "outlabel" }, - "position": { - "x": 176, - "y": -16 + "target": { + "block": "7b82019f-c8a7-4b8c-baa1-6eb224a95cb2", + "port": "c2d36218-be99-4dd1-bf69-7690c667255b", + "size": 4 }, - "size": { - "width": 568, - "height": 80 - } + "size": 4 }, { - "id": "a6ea5e17-d259-4272-8d1c-87a6a7fe3235", - "type": "basic.info", - "data": { - "info": "Input signal", - "readonly": true + "source": { + "block": "fb36b075-bb31-4aa7-8dbd-f0d108126f21", + "port": "outlabel" }, - "position": { - "x": 160, - "y": 256 + "target": { + "block": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", + "port": "d192d0af-e7be-4be6-925a-50227d80784c", + "size": 4 }, - "size": { - "width": 136, - "height": 40 - } + "size": 4 }, { - "id": "d0d6c668-3c03-42f5-9244-9a0431f11a87", - "type": "basic.info", - "data": { - "info": "System clock", - "readonly": true + "source": { + "block": "d01b9c0c-a541-49e6-b5aa-a0c0f21612a0", + "port": "outlabel" }, - "position": { - "x": 168, - "y": 120 + "target": { + "block": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", + "port": "c2d36218-be99-4dd1-bf69-7690c667255b", + "size": 4 }, - "size": { - "width": 96, - "height": 48 - } + "size": 4 }, { - "id": "f18011f4-eb45-4f91-9716-c1d8c99f1845", - "type": "basic.info", - "data": { - "info": "Current signal \nstate", - "readonly": true + "source": { + "block": "63477487-9493-4058-a7e1-9bab443ec466", + "port": "out" }, - "position": { - "x": 328, - "y": 456 + "target": { + "block": "6781108b-d67f-4ee8-97a9-79bab2c400b1", + "port": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e" }, - "size": { - "width": 168, - "height": 48 - } + "size": 8 }, { - "id": "ab801839-c115-4e44-adb7-349586890b97", - "type": "basic.info", - "data": { - "info": "Signal state in the previous \nclock cycle", - "readonly": true + "source": { + "block": "b4b08c4b-8eb1-4cd3-a1bf-a45bf7177ed3", + "port": "out" }, - "position": { - "x": 328, - "y": 200 + "target": { + "block": "ffcdd533-6cad-4ba4-9f88-4b1030d78af8", + "port": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e" }, - "size": { - "width": 248, - "height": 48 - } + "size": 8 }, - { - "id": "fde5c436-d382-48e7-80b5-390c05f46b9d", - "type": "basic.info", - "data": { - "info": "If the current signal is 1 and its value in \nthe previous clock cycle was 0, it means \nthat a rising edge has been detected! \nThe output es 1\n\nIn any other case the output is 0", - "readonly": true - }, - "position": { - "x": 728, - "y": 256 - }, - "size": { - "width": 344, - "height": 96 - } - }, - { - "id": "c3990bfd-57a6-4602-ab46-800486326dd6", - "type": "basic.info", - "data": { - "info": "**Delay**: 0 clock cycles \n\nThere is no delay between the arrival of a rising edge \nand its detection", - "readonly": true - }, - "position": { - "x": 528, - "y": 504 - }, - "size": { - "width": 416, - "height": 88 - } - } - ], - "wires": [ { "source": { - "block": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", - "port": "out" + "block": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", + "port": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42" }, "target": { - "block": "71397c49-5476-4a34-a914-7ec7f07fbf10", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" - } - }, - { - "source": { - "block": "2708468d-1088-4570-be63-fb0d4799a941", - "port": "out" + "block": "b8a72421-dc14-4c18-b343-9c3516b37f54", + "port": "a1770adf-e143-4506-9d87-3cb9c870f534" }, - "target": { - "block": "71397c49-5476-4a34-a914-7ec7f07fbf10", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" - } + "size": 4 }, { "source": { - "block": "71397c49-5476-4a34-a914-7ec7f07fbf10", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + "block": "7b82019f-c8a7-4b8c-baa1-6eb224a95cb2", + "port": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42" }, "target": { - "block": "dd46675b-cc63-4048-8a37-c684913c3514", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - } + "block": "b8a72421-dc14-4c18-b343-9c3516b37f54", + "port": "843164ff-f7d8-48b9-bf59-1e0d1135c81f" + }, + "size": 4 }, { "source": { - "block": "dd46675b-cc63-4048-8a37-c684913c3514", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "b8a72421-dc14-4c18-b343-9c3516b37f54", + "port": "1269698e-e555-4fcb-a613-cb4c7ff2e598" }, "target": { - "block": "5b898222-8c0c-4e10-8a92-2b8734c87693", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - } + "block": "dc2d9a2c-9ee9-4985-a678-d88c89fd8b74", + "port": "in" + }, + "size": 8 }, { "source": { - "block": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", - "port": "out" + "block": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "5b898222-8c0c-4e10-8a92-2b8734c87693", - "port": "97b51945-d716-4b6c-9db9-970d08541249" + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" } }, { "source": { - "block": "5b898222-8c0c-4e10-8a92-2b8734c87693", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "7b82019f-c8a7-4b8c-baa1-6eb224a95cb2", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "1c25e08e-e664-4fab-9b30-cedc1f8a3739", - "port": "in" + "block": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", + "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" } } ] } } }, - "1c7dae7144d376f2ee4896fcc502a29110e2db37": { + "25966b9480fc28011aea0e17452c30d5ff9d76e8": { "package": { - "name": "DFF", + "name": "Adder-4bits", "version": "0.1", - "description": "D Flip-flop", + "description": "Adder-4bits: Adder of two operands of 4 bits", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22156.57%22%20height=%22216.83%22%20viewBox=%220%200%2041.425941%2057.369679%22%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M25.682%2040.152L39.29%2056.824%2032.372%2036.29%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M18.298%2032.088L9.066%2012.475l-6.45%203.724-2.07-3.583L21.451.546%2023.52%204.13l-6.092%203.517%2012.03%2018.223s5.399-2.025%208.535.74c3.137%202.766%202.52%204.92%202.887%204.772L17.192%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3C/svg%3E" + "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618560481898 }, "design": { "graph": { "blocks": [ { - "id": "3943e194-090b-4553-9df3-88bc4b17abc2", - "type": "basic.input", + "id": "1c9b3962-5793-4e6f-98d4-9ca2113d0823", + "type": "basic.inputLabel", "data": { - "name": "", - "clock": true + "blockColor": "deeppink", + "name": "a3", + "pins": [ + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true, + "oldBlockColor": "deeppink" }, "position": { - "x": 192, - "y": 136 + "x": 8, + "y": -744 } }, { - "id": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78", + "id": "161a3e27-de9b-4674-b990-c1e8314a29f3", + "type": "basic.outputLabel", + "data": { + "blockColor": "deeppink", + "name": "a3", + "oldBlockColor": "deeppink" + }, + "position": { + "x": 576, + "y": -736 + } + }, + { + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", "type": "basic.output", "data": { - "name": "" + "name": "c" }, "position": { - "x": 680, - "y": 184 + "x": 920, + "y": -696 } }, { - "id": "bf2f0c53-2d04-4cba-aa70-2df85502d24f", - "type": "basic.input", + "id": "73a0a48e-d345-4eda-8603-782e9865d928", + "type": "basic.inputLabel", "data": { - "name": "", - "clock": false + "blockColor": "deeppink", + "name": "a2", + "pins": [ + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true, + "oldBlockColor": "deeppink" }, "position": { - "x": 192, - "y": 232 + "x": 8, + "y": -688 } }, { - "id": "65194b18-5d2a-41b2-bd86-01be99978ad6", - "type": "basic.constant", + "id": "05fb13c5-879a-422f-84a8-56d1db8816da", + "type": "basic.outputLabel", "data": { - "name": "", - "value": "0", - "local": false + "blockColor": "fuchsia", + "name": "b3", + "oldBlockColor": "fuchsia" }, "position": { - "x": 456, - "y": 64 + "x": 576, + "y": -672 } }, { - "id": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "type": "basic.code", + "id": "a30f87da-7077-4ad6-92dd-adbfdd1bed45", + "type": "basic.inputLabel", "data": { - "code": "reg q = INI;\nalways @(posedge clk)\n q <= d;", - "params": [ + "blockColor": "deeppink", + "name": "a1", + "pins": [ { - "name": "INI" + "index": "0", + "name": "NULL", + "value": "NULL" } ], - "ports": { - "in": [ - { - "name": "clk" - }, - { - "name": "d" - } - ], - "out": [ - { - "name": "q" - } - ] - } + "virtual": true, + "oldBlockColor": "deeppink" }, "position": { - "x": 384, - "y": 168 - }, - "size": { - "width": 232, - "height": 88 - } - } - ], - "wires": [ - { - "source": { - "block": "3943e194-090b-4553-9df3-88bc4b17abc2", - "port": "out" - }, - "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "clk" + "x": 8, + "y": -632 } }, { - "source": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "q" + "id": "c2d36218-be99-4dd1-bf69-7690c667255b", + "type": "basic.input", + "data": { + "name": "", + "range": "[3:0]", + "clock": false, + "size": 4 }, - "target": { - "block": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78", - "port": "in" + "position": { + "x": -312, + "y": -632 } }, { - "source": { - "block": "65194b18-5d2a-41b2-bd86-01be99978ad6", - "port": "constant-out" + "id": "ed7a30bc-17fc-444e-89e5-aa9f83b32e86", + "type": "basic.outputLabel", + "data": { + "blockColor": "deeppink", + "name": "a2", + "oldBlockColor": "deeppink" }, - "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "INI" + "position": { + "x": 456, + "y": -584 } }, { - "source": { - "block": "bf2f0c53-2d04-4cba-aa70-2df85502d24f", - "port": "out" - }, - "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "d" - } - } - ] - } - } - }, - "35f267d0df6ffcb7fc33753bc9df9cf083642cca": { - "package": { - "name": "NOT", - "version": "1.0.3", - "description": "Puerta NOT", - "author": "Jesús Arroyo, Juan González", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22317.651%22%20height=%22194.058%22%20version=%221%22%3E%3Cpath%20d=%22M69.246%204l161.86%2093.027-161.86%2093.031V4z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20cx=%22253.352%22%20cy=%2296.736%22%20rx=%2221.393%22%20ry=%2221.893%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2097.49h65.262m205.796%200h38.48%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%2281.112%22%20y=%22111.734%22%20transform=%22scale(.99532%201.0047)%22%20font-weight=%22400%22%20font-size=%2249.675%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%2281.112%22%20y=%22111.734%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%3ENot%3C/tspan%3E%3C/text%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "18c2ebc7-5152-439c-9b3f-851c59bac834", - "type": "basic.input", + "id": "d7d5e8c8-78dd-41a8-aedf-1051b89bfb77", + "type": "basic.inputLabel", "data": { - "name": "" + "blockColor": "deeppink", + "name": "a0", + "pins": [ + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia" }, "position": { - "x": 64, - "y": 144 + "x": 8, + "y": -576 } }, { - "id": "664caf9e-5f40-4df4-800a-b626af702e62", - "type": "basic.output", + "id": "3c8597e6-ca79-494a-9a53-04c284205216", + "type": "basic.outputLabel", "data": { - "name": "" + "blockColor": "fuchsia", + "name": "b2", + "oldBlockColor": "fuchsia" }, "position": { - "x": 752, - "y": 144 + "x": 456, + "y": -528 } }, { - "id": "5365ed8c-e5db-4445-938f-8d689830ea5c", - "type": "basic.code", + "id": "ee992ca6-d586-4901-aaa3-a17d94ddac84", + "type": "basic.inputLabel", "data": { - "code": "//-- Puerta NOT\n\n//-- module (input wire a, output wire c);\n\n\nassign c = ~a;\n\n\n//-- endmodule\n", - "params": [], - "ports": { - "in": [ - { - "name": "a" - } - ], - "out": [ - { - "name": "c" - } - ] - } + "blockColor": "fuchsia", + "name": "b3", + "pins": [ + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia" }, "position": { - "x": 256, - "y": 48 - }, - "size": { - "width": 400, - "height": 256 + "x": -8, + "y": -448 } - } - ], - "wires": [ + }, { - "source": { - "block": "18c2ebc7-5152-439c-9b3f-851c59bac834", - "port": "out" + "id": "c5dce3e4-5ecc-4fc9-bbf6-7c1adfa1c7ff", + "type": "basic.outputLabel", + "data": { + "blockColor": "deeppink", + "name": "a1", + "oldBlockColor": "fuchsia" }, - "target": { - "block": "5365ed8c-e5db-4445-938f-8d689830ea5c", - "port": "a" + "position": { + "x": 328, + "y": -440 } }, { - "source": { - "block": "5365ed8c-e5db-4445-938f-8d689830ea5c", - "port": "c" + "id": "fb8bbeb1-5c60-4629-bc13-231545818d0b", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "b2", + "pins": [ + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia" }, - "target": { - "block": "664caf9e-5f40-4df4-800a-b626af702e62", - "port": "in" + "position": { + "x": -8, + "y": -384 } - } - ] - } - } - }, - "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6": { - "package": { - "name": "AND", - "version": "1.0.1", - "description": "Puerta AND", - "author": "Jesús Arroyo, Juan González", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22336.09%22%20height=%22194.045%22%20version=%221%22%3E%3Cpath%20d=%22M174.656%20190.045H78.304V4h96.352s87.463%208.625%2087.463%2091.94c0%2083.311-87.463%2094.105-87.463%2094.105z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2045.668h74.018M4.057%20144.812h74.018m184.632-50.034h69.326%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%2292.894%22%20y=%22114.587%22%20font-weight=%22400%22%20font-size=%2258.054%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%2292.894%22%20y=%22114.587%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%3EAND%3C/tspan%3E%3C/text%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ + }, { - "id": "18c2ebc7-5152-439c-9b3f-851c59bac834", + "id": "d192d0af-e7be-4be6-925a-50227d80784c", "type": "basic.input", "data": { - "name": "" + "name": "", + "range": "[3:0]", + "clock": false, + "size": 4 }, "position": { - "x": 64, - "y": 88 + "x": -312, + "y": -384 } }, { - "id": "664caf9e-5f40-4df4-800a-b626af702e62", - "type": "basic.output", + "id": "038a8cb8-35b8-424a-9d14-c320cfcddccf", + "type": "basic.outputLabel", "data": { - "name": "" + "blockColor": "fuchsia", + "name": "b1" }, "position": { - "x": 784, - "y": 152 + "x": 328, + "y": -376 } }, { - "id": "97b51945-d716-4b6c-9db9-970d08541249", - "type": "basic.input", + "id": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42", + "type": "basic.output", "data": { - "name": "" + "name": "s", + "range": "[3:0]", + "size": 4 }, "position": { - "x": 64, - "y": 224 + "x": 1064, + "y": -368 } }, { - "id": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "type": "basic.code", + "id": "527c9113-e440-454b-b427-182b646c10f5", + "type": "basic.inputLabel", "data": { - "code": "//-- Puerta AND\n\n//-- module and (input wire a, input wire b,\n//-- output wire c);\n\nassign c = a & b;\n\n//-- endmodule", - "params": [], - "ports": { - "in": [ - { - "name": "a" - }, - { - "name": "b" - } - ], - "out": [ - { - "name": "c" - } - ] - } + "blockColor": "fuchsia", + "name": "b1", + "pins": [ + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true }, "position": { - "x": 256, - "y": 48 - }, - "size": { - "width": 464, - "height": 272 - } - } - ], - "wires": [ - { - "source": { - "block": "18c2ebc7-5152-439c-9b3f-851c59bac834", - "port": "out" - }, - "target": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "a" + "x": -16, + "y": -320 } }, { - "source": { - "block": "97b51945-d716-4b6c-9db9-970d08541249", - "port": "out" + "id": "f8dceaf6-6020-49e5-b775-ed4821fbd5bd", + "type": "basic.outputLabel", + "data": { + "blockColor": "deeppink", + "name": "a0", + "oldBlockColor": "fuchsia" }, - "target": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "b" + "position": { + "x": 184, + "y": -296 } }, { - "source": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "c" - }, - "target": { - "block": "664caf9e-5f40-4df4-800a-b626af702e62", - "port": "in" - } - } - ] - } - } - }, - "4c1570e58dc7efecf440f8a4ff7d1dda4250ef0c": { - "package": { - "name": "RS-FF-set", - "version": "0.1", - "description": "RS-FF-set. RS Flip-flop with priority set", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20312.54461%20289.77628%22%20id=%22svg30%22%20width=%22312.545%22%20height=%22289.776%22%3E%3Cdefs%20id=%22defs34%22%3E%3Cmarker%20id=%22TriangleOutM%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20id=%22path988%22%20fill=%22#00f%22%20fill-rule=%22evenodd%22%20stroke=%22#00f%22%20stroke-width=%22.4pt%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow2Mend%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20id=%22path870%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3C/defs%3E%3Cstyle%20id=%22style2%22%3E.st0%7Bdisplay:none%7D.st1%7Bfill:none;stroke:#303030;stroke-width:.7;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10%7D.st2%7Bfill:#303030%7D%3C/style%3E%3Cg%20id=%22layer1%22%20transform=%22translate(81.543%203.027)%22%3E%3Cpath%20class=%22st1%22%20d=%22M48.702%2092.116a64.784%2064.784%200%200%200-12.559%2011.68%2064.99%2064.99%200%200%200-12.69%2024.809%22%20id=%22path11%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20id=%22line17%22%20class=%22st1%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22%20d=%22M184.865%20207.591L41.298%20262.802%22/%3E%3Cpath%20id=%22path21-3%22%20d=%22M185.448%20175.07l.37.154c2.52.831%204.718%202.386%206.634%204.249%202.02%202.322%203.694%204.777%204.423%208.713%201.496%208.074-3.286%2016.05-10.95%2018.997l-1.06.408L41.298%20262.8l-.733.283c-8.003%203.077-17.551.461-21.82-6.975-3.3-5.748-2.736-12.198.418-21.613%203.155-9.414%202.86-21.856-1.644-33.55l.041.003-12.507-32.667c-12.88-33.415-.747-70.376%2027.41-90.31l-1.102-2.749c-3.685-9.583%201.14-20.438%2010.723-24.124%209.583-3.685%2020.439%201.14%2024.124%2010.723l1.654%203.239c34.881-3.556%2068.594%2015.855%2081.318%2049.33l15.24%2038.432c4.795%208.723%2011.831%2015.955%2021.028%2022.248z%22%20fill=%22#fff%22%20stroke=%22#303030%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20d=%22M64.268%20268.838l45.015-17.115s7.963%2024.296-14.427%2030.38c-22.39%206.086-30.588-13.265-30.588-13.265z%22%20id=%22path826%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3Cg%20id=%22layer3%22%20transform=%22translate(78.072%20-.17)%22%3E%3Crect%20id=%22rect845%22%20width=%22135.189%22%20height=%22135.189%22%20x=%2295.783%22%20y=%223.671%22%20ry=%2219.847%22%20fill=%22#55acee%22%20stroke=%22#303030%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3C/g%3E%3Cg%20id=%22layer4%22%20transform=%22translate(78.072%20-.17)%22%3E%3Cellipse%20id=%22path1211%22%20cx=%22-39.888%22%20cy=%22125.645%22%20rx=%2235.684%22%20ry=%2237.984%22%20fill=%22#fff6d5%22%20stroke=%22#000%22%20stroke-width=%225%22%20stroke-linecap=%22round%22/%3E%3Cpath%20class=%22st2%22%20d=%22M172.724%2052.533V27.647h-9.888L144.047%2037.7l2.308%208.9%2014.833-8.076h.33v74.824H172.724V52.533z%22%20id=%22path7%22%20fill=%22#303030%22%20stroke-width=%2214.425%22/%3E%3Cpath%20d=%22M-38.915%20152.276v-39.72%22%20id=%22path841%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%225%22%20marker-end=%22url(#TriangleOutM)%22/%3E%3C/g%3E%3C/svg%3E", - "otid": 1621864223514 - }, - "design": { - "graph": { - "blocks": [ - { - "id": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", - "type": "basic.input", - "data": { - "name": "", - "clock": true - }, - "position": { - "x": 216, - "y": -40 - } - }, - { - "id": "0a772657-8018-424d-8f04-75d3ffff3692", - "type": "basic.inputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true - }, - "position": { - "x": 368, - "y": -40 - } - }, - { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "type": "basic.output", - "data": { - "name": "output" - }, - "position": { - "x": 1496, - "y": 40 - } - }, - { - "id": "97800965-0802-4a8f-9ed0-e61db33ae442", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "q", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 1352, - "y": 40 - } - }, - { - "id": "b9359b10-b14f-4dd7-adf9-3f4f22bc65e6", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 1008, - "y": 136 - } - }, - { - "id": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", - "type": "basic.input", - "data": { - "name": "set", - "clock": false - }, - "position": { - "x": 216, - "y": 136 - } - }, - { - "id": "7e1bf901-73cb-4a29-8843-27b3cc756bb1", - "type": "basic.inputLabel", - "data": { - "blockColor": "royalblue", - "name": "set", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 384, - "y": 136 - } - }, - { - "id": "2378a6da-a057-4c61-9eb0-e36b6861059f", - "type": "basic.inputLabel", - "data": { - "blockColor": "navy", - "name": "reset", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 384, - "y": 216 - } - }, - { - "id": "fc243ba8-9abb-4a22-81c4-fabdf043cd01", - "type": "basic.input", - "data": { - "name": "reset", - "clock": false - }, - "position": { - "x": 224, - "y": 216 - } - }, - { - "id": "fe2e7470-5890-4c51-b71e-8ff89b4db797", + "id": "b652825e-10ba-47cc-9832-e39d73586234", "type": "basic.inputLabel", "data": { "blockColor": "fuchsia", - "name": "q", + "name": "b0", "pins": [ { "index": "0", @@ -4077,80 +3982,53 @@ "oldBlockColor": "fuchsia" }, "position": { - "x": 1304, - "y": 232 + "x": -32, + "y": -264 } }, { - "id": "833a07bb-6153-48fe-bb7a-f24fcd38ed65", + "id": "7e5351cc-ea73-4bb2-9dda-0390f005b90b", "type": "basic.outputLabel", "data": { "blockColor": "fuchsia", - "name": "q", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 640, - "y": 248 - } - }, - { - "id": "7e57f319-38cf-4c3a-ac16-f37a05f8de19", - "type": "basic.outputLabel", - "data": { - "blockColor": "royalblue", - "name": "set", + "name": "b0", "oldBlockColor": "fuchsia" }, "position": { - "x": 816, - "y": 344 + "x": 184, + "y": -232 } }, { - "id": "38e515cf-4953-42f4-9cbc-7e4e17f605ee", - "type": "basic.outputLabel", - "data": { - "blockColor": "navy", - "name": "reset", - "oldBlockColor": "fuchsia" - }, + "id": "e7d0a130-cf6b-4220-a06f-42543db0214f", + "type": "1ea21df64c18f01d8f4b905c437ccf0ca332baf6", "position": { - "x": 648, - "y": 344 - } - }, - { - "id": "bc3416e4-576f-40fb-85a9-5058b9f85395", - "type": "basic.constant", - "data": { - "name": "", - "value": "0", - "local": false + "x": 320, + "y": -248 }, - "position": { - "x": 1176, - "y": 136 + "size": { + "width": 96, + "height": 64 } }, { - "id": "34ac83a6-30cb-4ba5-b84e-c2d318713033", - "type": "053dc2e26797e60dd454402e395eb23f388681b9", + "id": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", "position": { - "x": 1176, - "y": 232 + "x": 464, + "y": -392 }, "size": { "width": 96, - "height": 64 + "height": 96 } }, { - "id": "3c8c3d3d-8a1f-45a1-8ba9-0d019e0c041c", - "type": "d0c4e5ca28edb32eb88f24d610c7a2782d8bc697", + "id": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", "position": { - "x": 968, - "y": 232 + "x": 608, + "y": -544 }, "size": { "width": 96, @@ -4158,488 +4036,532 @@ } }, { - "id": "8d656647-f4ea-475e-b4c1-54787973b618", - "type": "febcfed8636b8ee9a98750b96ed9e53a165dd4a8", + "id": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "type": "c4f23ad05c2010ec9bd213c8814c9238873037ae", "position": { - "x": 800, - "y": 136 + "x": -168, + "y": -416 }, "size": { "width": 96, - "height": 64 + "height": 128 } }, { - "id": "5929fa8c-d037-406b-b5aa-9e52e71f2832", - "type": "d0c4e5ca28edb32eb88f24d610c7a2782d8bc697", + "id": "57e59301-2919-4f06-ba95-54ce5d99d774", + "type": "c4f23ad05c2010ec9bd213c8814c9238873037ae", "position": { - "x": 800, - "y": 232 + "x": -152, + "y": -664 }, "size": { "width": 96, - "height": 96 + "height": 128 } }, { - "id": "4eb098a5-9671-4946-b827-ce276e6a94f2", - "type": "d30ca9ee4f35f6cb76d5e5701447fc2b739bc640", + "id": "11342001-e6e0-443b-af87-0e5d7ada0227", + "type": "84f0a15761ee8b753f67079819a7614923939472", "position": { - "x": 632, - "y": 136 + "x": 896, + "y": -400 }, "size": { "width": 96, - "height": 64 + "height": 128 } }, { - "id": "864d85b3-242c-408a-9e20-fb4931e68f70", - "type": "basic.info", - "data": { - "info": "Priority for the set", - "readonly": true - }, + "id": "72c87c65-b34b-480f-8cde-cd97c0914014", + "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", "position": { - "x": 1000, - "y": 344 + "x": 744, + "y": -688 }, "size": { - "width": 184, - "height": 32 + "width": 96, + "height": 96 } } ], "wires": [ { "source": { - "block": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", - "port": "out" + "block": "038a8cb8-35b8-424a-9d14-c320cfcddccf", + "port": "outlabel" }, "target": { - "block": "0a772657-8018-424d-8f04-75d3ffff3692", - "port": "inlabel" - }, - "vertices": [] + "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + } }, { "source": { - "block": "34ac83a6-30cb-4ba5-b84e-c2d318713033", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "port": "f5a71d7b-de20-4527-80c8-0eb20de0dc77" }, "target": { - "block": "fe2e7470-5890-4c51-b71e-8ff89b4db797", + "block": "527c9113-e440-454b-b427-182b646c10f5", "port": "inlabel" + } + }, + { + "source": { + "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "port": "0f7487e5-b070-4277-bba6-acf69934afca" }, - "vertices": [] + "target": { + "block": "b652825e-10ba-47cc-9832-e39d73586234", + "port": "inlabel" + } }, { "source": { - "block": "7e57f319-38cf-4c3a-ac16-f37a05f8de19", + "block": "7e5351cc-ea73-4bb2-9dda-0390f005b90b", "port": "outlabel" }, "target": { - "block": "3c8c3d3d-8a1f-45a1-8ba9-0d019e0c041c", - "port": "08fac044-f451-4fb7-9668-f5bce3b40c2c" - }, - "vertices": [] + "block": "e7d0a130-cf6b-4220-a06f-42543db0214f", + "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + } }, { "source": { - "block": "833a07bb-6153-48fe-bb7a-f24fcd38ed65", + "block": "f8dceaf6-6020-49e5-b775-ed4821fbd5bd", "port": "outlabel" }, "target": { - "block": "5929fa8c-d037-406b-b5aa-9e52e71f2832", - "port": "d4a339a0-7bdb-4695-8f6b-93ea4a70b36a" + "block": "e7d0a130-cf6b-4220-a06f-42543db0214f", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + } + }, + { + "source": { + "block": "57e59301-2919-4f06-ba95-54ce5d99d774", + "port": "0f7487e5-b070-4277-bba6-acf69934afca" }, - "vertices": [] + "target": { + "block": "d7d5e8c8-78dd-41a8-aedf-1051b89bfb77", + "port": "inlabel" + } }, { "source": { - "block": "38e515cf-4953-42f4-9cbc-7e4e17f605ee", + "block": "c5dce3e4-5ecc-4fc9-bbf6-7c1adfa1c7ff", "port": "outlabel" }, "target": { - "block": "5929fa8c-d037-406b-b5aa-9e52e71f2832", - "port": "08fac044-f451-4fb7-9668-f5bce3b40c2c" + "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + } + }, + { + "source": { + "block": "57e59301-2919-4f06-ba95-54ce5d99d774", + "port": "f5a71d7b-de20-4527-80c8-0eb20de0dc77" }, - "vertices": [] + "target": { + "block": "a30f87da-7077-4ad6-92dd-adbfdd1bed45", + "port": "inlabel" + } }, { "source": { - "block": "b9359b10-b14f-4dd7-adf9-3f4f22bc65e6", + "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "port": "33072210-9ba0-4659-8339-95952b939e6e" + }, + "target": { + "block": "fb8bbeb1-5c60-4629-bc13-231545818d0b", + "port": "inlabel" + } + }, + { + "source": { + "block": "57e59301-2919-4f06-ba95-54ce5d99d774", + "port": "33072210-9ba0-4659-8339-95952b939e6e" + }, + "target": { + "block": "73a0a48e-d345-4eda-8603-782e9865d928", + "port": "inlabel" + } + }, + { + "source": { + "block": "3c8597e6-ca79-494a-9a53-04c284205216", "port": "outlabel" }, "target": { - "block": "34ac83a6-30cb-4ba5-b84e-c2d318713033", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + } + }, + { + "source": { + "block": "ed7a30bc-17fc-444e-89e5-aa9f83b32e86", + "port": "outlabel" + }, + "target": { + "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + } + }, + { + "source": { + "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "port": "bbe1895b-be8b-4237-b0d1-ae592e3e6208" + }, + "target": { + "block": "ee992ca6-d586-4901-aaa3-a17d94ddac84", + "port": "inlabel" + } + }, + { + "source": { + "block": "57e59301-2919-4f06-ba95-54ce5d99d774", + "port": "bbe1895b-be8b-4237-b0d1-ae592e3e6208" + }, + "target": { + "block": "1c9b3962-5793-4e6f-98d4-9ca2113d0823", + "port": "inlabel" }, "vertices": [ { - "x": 1128, - "y": 208 + "x": -24, + "y": -696 } ] }, { "source": { - "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", - "port": "out" + "block": "05fb13c5-879a-422f-84a8-56d1db8816da", + "port": "outlabel" }, "target": { - "block": "7e1bf901-73cb-4a29-8843-27b3cc756bb1", - "port": "inlabel" + "block": "72c87c65-b34b-480f-8cde-cd97c0914014", + "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" } }, { "source": { - "block": "fc243ba8-9abb-4a22-81c4-fabdf043cd01", - "port": "out" + "block": "161a3e27-de9b-4674-b990-c1e8314a29f3", + "port": "outlabel" }, "target": { - "block": "2378a6da-a057-4c61-9eb0-e36b6861059f", - "port": "inlabel" + "block": "72c87c65-b34b-480f-8cde-cd97c0914014", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" } }, { "source": { - "block": "97800965-0802-4a8f-9ed0-e61db33ae442", - "port": "outlabel" + "block": "e7d0a130-cf6b-4220-a06f-42543db0214f", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "port": "in" + "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "port": "5e915366-608a-431a-bf68-8c64fb4c302c" } }, { "source": { - "block": "bc3416e4-576f-40fb-85a9-5058b9f85395", - "port": "constant-out" + "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "port": "c7d2d573-b901-420e-a923-6832e5b18e34" }, "target": { - "block": "34ac83a6-30cb-4ba5-b84e-c2d318713033", - "port": "65194b18-5d2a-41b2-bd86-01be99978ad6" + "block": "11342001-e6e0-443b-af87-0e5d7ada0227", + "port": "969e11ca-69e8-403b-a566-7bf2fbe3a5a8" + } + }, + { + "source": { + "block": "e7d0a130-cf6b-4220-a06f-42543db0214f", + "port": "c7d2d573-b901-420e-a923-6832e5b18e34" }, - "vertices": [] + "target": { + "block": "11342001-e6e0-443b-af87-0e5d7ada0227", + "port": "e4111201-8441-4e7d-bcd2-bcf9d265d043" + } }, { "source": { - "block": "3c8c3d3d-8a1f-45a1-8ba9-0d019e0c041c", - "port": "0e6a9a81-8521-4ade-8012-71915b39ae41" + "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "34ac83a6-30cb-4ba5-b84e-c2d318713033", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "port": "5e915366-608a-431a-bf68-8c64fb4c302c" + } + }, + { + "source": { + "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "port": "c7d2d573-b901-420e-a923-6832e5b18e34" }, - "vertices": [] + "target": { + "block": "11342001-e6e0-443b-af87-0e5d7ada0227", + "port": "346b4ae4-4bb6-4845-9c17-3b25e0dde718" + }, + "vertices": [ + { + "x": 824, + "y": -424 + } + ] }, { "source": { - "block": "8d656647-f4ea-475e-b4c1-54787973b618", - "port": "3d584b0a-29eb-47af-8c43-c0822282ef05" + "block": "d192d0af-e7be-4be6-925a-50227d80784c", + "port": "out" }, "target": { - "block": "3c8c3d3d-8a1f-45a1-8ba9-0d019e0c041c", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "port": "0ebd46a4-769b-45e6-bcaf-e3796264aed3" }, - "vertices": [] + "size": 4 }, { "source": { - "block": "5929fa8c-d037-406b-b5aa-9e52e71f2832", - "port": "0e6a9a81-8521-4ade-8012-71915b39ae41" + "block": "c2d36218-be99-4dd1-bf69-7690c667255b", + "port": "out" }, "target": { - "block": "3c8c3d3d-8a1f-45a1-8ba9-0d019e0c041c", - "port": "d4a339a0-7bdb-4695-8f6b-93ea4a70b36a" + "block": "57e59301-2919-4f06-ba95-54ce5d99d774", + "port": "0ebd46a4-769b-45e6-bcaf-e3796264aed3" }, - "vertices": [] + "size": 4 }, { "source": { - "block": "4eb098a5-9671-4946-b827-ce276e6a94f2", - "port": "3d584b0a-29eb-47af-8c43-c0822282ef05" + "block": "11342001-e6e0-443b-af87-0e5d7ada0227", + "port": "55180947-6349-4a04-a151-ad69ea2b155e" }, "target": { - "block": "5929fa8c-d037-406b-b5aa-9e52e71f2832", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + "block": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42", + "port": "in" }, - "vertices": [] + "size": 4 + }, + { + "source": { + "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + }, + "target": { + "block": "72c87c65-b34b-480f-8cde-cd97c0914014", + "port": "5e915366-608a-431a-bf68-8c64fb4c302c" + }, + "vertices": [ + { + "x": 728, + "y": -552 + } + ] + }, + { + "source": { + "block": "72c87c65-b34b-480f-8cde-cd97c0914014", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + }, + "target": { + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" + } + }, + { + "source": { + "block": "72c87c65-b34b-480f-8cde-cd97c0914014", + "port": "c7d2d573-b901-420e-a923-6832e5b18e34" + }, + "target": { + "block": "11342001-e6e0-443b-af87-0e5d7ada0227", + "port": "6c2aa548-5a4c-4e8d-a56c-a70926b19f18" + } } ] } } }, - "053dc2e26797e60dd454402e395eb23f388681b9": { + "1ea21df64c18f01d8f4b905c437ccf0ca332baf6": { "package": { - "name": "DFF", - "version": "2.0", - "description": "D Flip-flop (verilog implementation)", + "name": "Adder-1bit", + "version": "0.1", + "description": "Adder-1bit: Adder of two operands of 1 bit", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22196.313%22%20height=%22216.83%22%20viewBox=%220%200%2051.941051%2057.369679%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20transform=%22translate(-52.22%20-48.028)%22%3E%3Crect%20width=%2224.412%22%20height=%2213.185%22%20x=%2279.352%22%20y=%2253.67%22%20ry=%222.247%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%22.794%22%20stroke-linecap=%22round%22/%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M77.902%2088.18l13.607%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M70.517%2080.116l-9.232-19.613-6.45%203.725-2.07-3.584%2020.905-12.07%202.07%203.584-6.093%203.518%2012.03%2018.222s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.773L69.412%2093.049s-2.848-3.696-2.16-6.796c.687-3.1%203.265-6.137%203.265-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Ctext%20style=%22line-height:1.25%22%20x=%2281.296%22%20y=%2263.239%22%20font-weight=%22400%22%20font-size=%2210.583%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20x=%2281.296%22%20y=%2263.239%22%20font-weight=%22700%22%3ESys%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E" + "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618560481898 }, "design": { "graph": { "blocks": [ { - "id": "3943e194-090b-4553-9df3-88bc4b17abc2", + "id": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", "type": "basic.input", "data": { "name": "", - "clock": true + "clock": false }, "position": { - "x": 208, - "y": 160 + "x": 280, + "y": -224 } }, { - "id": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78", + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", "type": "basic.output", "data": { - "name": "" + "name": "c" }, "position": { - "x": 816, - "y": 224 + "x": 616, + "y": -176 } }, { - "id": "bf2f0c53-2d04-4cba-aa70-2df85502d24f", + "id": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba", "type": "basic.input", "data": { "name": "", "clock": false }, "position": { - "x": 208, - "y": 304 + "x": 280, + "y": -152 } }, { - "id": "65194b18-5d2a-41b2-bd86-01be99978ad6", - "type": "basic.constant", + "id": "c7d2d573-b901-420e-a923-6832e5b18e34", + "type": "basic.output", "data": { - "name": "", - "value": "0", - "local": false - }, - "position": { - "x": 512, - "y": 64 - } - }, - { - "id": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "type": "basic.code", - "data": { - "code": "//-- Initial value\nreg q = INI;\n\n//-- Capture the input data \n//-- on the rising edge of \n//-- the system clock\nalways @(posedge clk)\n q <= d;", - "params": [ - { - "name": "INI" - } - ], - "ports": { - "in": [ - { - "name": "clk" - }, - { - "name": "d" - } - ], - "out": [ - { - "name": "q" - } - ] - } - }, - "position": { - "x": 384, - "y": 168 - }, - "size": { - "width": 344, - "height": 176 - } - }, - { - "id": "53d11290-50b3-40fb-b253-222cb296b075", - "type": "basic.info", - "data": { - "info": "Parameter: Initial value", - "readonly": true - }, - "position": { - "x": 488, - "y": 48 - }, - "size": { - "width": 208, - "height": 40 - } - }, - { - "id": "c25a29cd-d5ed-435e-b375-e6d5557660d8", - "type": "basic.info", - "data": { - "info": "System clock", - "readonly": true - }, - "position": { - "x": 208, - "y": 136 - }, - "size": { - "width": 120, - "height": 32 - } - }, - { - "id": "ecafc6fa-330b-4ba7-aa67-40b3ea48f1f1", - "type": "basic.info", - "data": { - "info": "Input data", - "readonly": true + "name": "s" }, "position": { - "x": 224, - "y": 280 - }, - "size": { - "width": 112, - "height": 40 + "x": 616, + "y": -96 } }, { - "id": "df95c331-682d-4733-a62d-ad9fcd75f96a", - "type": "basic.info", - "data": { - "info": "Output", - "readonly": true - }, + "id": "0ef44beb-f4b1-484c-b15a-dc4431241aee", + "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", "position": { - "x": 840, - "y": 200 + "x": 456, + "y": -168 }, "size": { - "width": 80, - "height": 40 + "width": 96, + "height": 96 } }, { - "id": "dd8217df-b56d-49a9-ae94-f5e0c96e1460", - "type": "basic.info", - "data": { - "info": "# D Flip-Flop \n\nIt stores the input data that arrives at cycle n \nIts output is shown in the cycle n+1", - "readonly": true - }, + "id": "e80cc244-1751-4524-9f77-734a36b24a88", + "type": "d30ca9ee4f35f6cb76d5e5701447fc2b739bc640", "position": { - "x": 144, - "y": -136 + "x": 304, + "y": -64 }, "size": { - "width": 488, - "height": 104 + "width": 96, + "height": 64 } } ], "wires": [ { "source": { - "block": "3943e194-090b-4553-9df3-88bc4b17abc2", + "block": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba", "port": "out" }, "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "clk" + "block": "0ef44beb-f4b1-484c-b15a-dc4431241aee", + "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" } }, { "source": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "q" + "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", + "port": "out" }, "target": { - "block": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78", - "port": "in" + "block": "0ef44beb-f4b1-484c-b15a-dc4431241aee", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + }, + "vertices": [ + { + "x": 400, + "y": -168 + } + ] + }, + { + "source": { + "block": "e80cc244-1751-4524-9f77-734a36b24a88", + "port": "3d584b0a-29eb-47af-8c43-c0822282ef05" + }, + "target": { + "block": "0ef44beb-f4b1-484c-b15a-dc4431241aee", + "port": "5e915366-608a-431a-bf68-8c64fb4c302c" } }, { "source": { - "block": "65194b18-5d2a-41b2-bd86-01be99978ad6", - "port": "constant-out" + "block": "0ef44beb-f4b1-484c-b15a-dc4431241aee", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "INI" + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" } }, { "source": { - "block": "bf2f0c53-2d04-4cba-aa70-2df85502d24f", - "port": "out" + "block": "0ef44beb-f4b1-484c-b15a-dc4431241aee", + "port": "c7d2d573-b901-420e-a923-6832e5b18e34" }, "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "d" + "block": "c7d2d573-b901-420e-a923-6832e5b18e34", + "port": "in" } } ] } } }, - "d0c4e5ca28edb32eb88f24d610c7a2782d8bc697": { + "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a": { "package": { - "name": "Mux-2-1", + "name": "AdderC-1bit", "version": "0.1", - "description": "2-to-1 Multplexer (1-bit channels)", + "description": "AdderC-1bit: Adder of two operands of 1 bit plus the carry in", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2280.833%22%20height=%22158.56%22%20viewBox=%220%200%2075.781585%20148.65066%22%3E%3Cpath%20d=%22M74.375%2036.836c0-12.691-6.99-24.413-18.326-30.729-11.335-6.316-25.284-6.262-36.568.141C8.198%2012.652%201.304%2024.427%201.407%2037.118v74.415c-.103%2012.69%206.79%2024.466%2018.074%2030.87%2011.284%206.403%2025.233%206.457%2036.568.14%2011.336-6.316%2018.326-18.037%2018.326-30.728z%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%222.813%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.448%22%20y=%2291.518%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.448%22%20y=%2291.518%22%3E0%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.359%22%20y=%2214.582%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.359%22%20y=%2214.582%22%3E1%3C/tspan%3E%3C/text%3E%3C/svg%3E", - "otid": 1618922858665 + "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618560481898 }, "design": { "graph": { "blocks": [ { - "id": "a0fa1754-f66a-4772-adc6-07f9549ae9fe", + "id": "b28215b2-e375-43cd-96b4-ed5b60418dc6", "type": "basic.outputLabel", "data": { "blockColor": "fuchsia", "name": "a" }, "position": { - "x": 456, - "y": 360 - } - }, - { - "id": "0e6a9a81-8521-4ade-8012-71915b39ae41", - "type": "basic.output", - "data": { - "name": "" - }, - "position": { - "x": 1096, - "y": 392 + "x": 504, + "y": -208 } }, { "id": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", "type": "basic.input", "data": { - "name": "1", + "name": "a", "clock": false }, "position": { "x": 136, - "y": 416 + "y": -192 } }, { - "id": "d80dfce7-c76f-40a0-91ff-5e55863fe5da", + "id": "f2c3e9af-37a6-4815-9413-c437d2471b1f", "type": "basic.inputLabel", "data": { "blockColor": "fuchsia", @@ -4655,73 +4577,164 @@ }, "position": { "x": 272, - "y": 416 + "y": -192 } }, { - "id": "a14a9465-c4d0-4c20-aa1a-458b40aa8b70", - "type": "basic.inputLabel", + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", + "data": { + "name": "c" + }, + "position": { + "x": 1112, + "y": -176 + } + }, + { + "id": "cdbf1806-fde2-4763-aeae-cd26f3db2a86", + "type": "basic.outputLabel", "data": { "blockColor": "fuchsia", - "name": "b", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "name": "b" }, "position": { - "x": 272, - "y": 528 + "x": 504, + "y": -144 } }, { - "id": "d4a339a0-7bdb-4695-8f6b-93ea4a70b36a", + "id": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba", "type": "basic.input", "data": { - "name": "0", + "name": "b", "clock": false }, "position": { "x": 136, - "y": 528 + "y": -120 } }, { - "id": "8d94a294-a698-43c5-9777-874fd39b8586", - "type": "basic.outputLabel", + "id": "65936289-69ce-4e26-be4e-44f8a3706934", + "type": "basic.inputLabel", "data": { "blockColor": "fuchsia", "name": "b", - "oldBlockColor": "fuchsia" + "pins": [ + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true }, "position": { - "x": 616, - "y": 552 + "x": 272, + "y": -120 } }, { - "id": "08fac044-f451-4fb7-9668-f5bce3b40c2c", - "type": "basic.input", + "id": "6b7a0fc7-9eeb-4894-98fd-e0122d08cdf0", + "type": "basic.outputLabel", "data": { - "name": "sel", - "clock": false + "blockColor": "navy", + "name": "ci", + "oldBlockColor": "fuchsia" }, "position": { - "x": 376, - "y": 656 + "x": 648, + "y": -96 } }, { - "id": "ec23e0ef-db5d-46b0-b1fd-452e0dc46a0b", - "type": "873425949b2a80f1a7f66f320796bcd068a59889", - "position": { - "x": 952, - "y": 392 + "id": "5e915366-608a-431a-bf68-8c64fb4c302c", + "type": "basic.input", + "data": { + "name": "ci", + "clock": false + }, + "position": { + "x": 136, + "y": -40 + } + }, + { + "id": "9fca1dd5-3d6c-4321-a1cf-fd35336e41ea", + "type": "basic.inputLabel", + "data": { + "blockColor": "navy", + "name": "ci", + "pins": [ + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 272, + "y": -40 + } + }, + { + "id": "79149d67-753e-414e-ba2a-49ba4edfe523", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "a" + }, + "position": { + "x": 480, + "y": 24 + } + }, + { + "id": "c7d2d573-b901-420e-a923-6832e5b18e34", + "type": "basic.output", + "data": { + "name": "s" + }, + "position": { + "x": 992, + "y": 56 + } + }, + { + "id": "edf4525b-edd8-40fa-b784-631b102fb907", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "b" + }, + "position": { + "x": 480, + "y": 88 + } + }, + { + "id": "35a4f7cc-d7ef-4653-af75-fe112a5f5151", + "type": "basic.outputLabel", + "data": { + "blockColor": "navy", + "name": "ci", + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 648, + "y": 120 + } + }, + { + "id": "687d4abf-9ce2-408a-8010-c00e2cec2d44", + "type": "d1240143e1ff7afe57f0f11565da980612b2bb76", + "position": { + "x": 648, + "y": 40 }, "size": { "width": 96, @@ -4729,11 +4742,11 @@ } }, { - "id": "cbd20301-0f38-49ce-bd16-b5d27a8ad6e8", - "type": "ba518ee261a2be13a9739cd3a01cdcebe0ef63c0", + "id": "6756cb54-aa93-40af-a5f3-41ef2b2edec9", + "type": "d1240143e1ff7afe57f0f11565da980612b2bb76", "position": { - "x": 600, - "y": 376 + "x": 832, + "y": 56 }, "size": { "width": 96, @@ -4741,11 +4754,11 @@ } }, { - "id": "4f537b92-d51a-4e53-808b-0730bd2424dd", - "type": "3676a00f3a70e406487ed14b901daf3e4984e63d", + "id": "f7053b6b-9812-48df-9212-cb8dc49d44cd", + "type": "ba518ee261a2be13a9739cd3a01cdcebe0ef63c0", "position": { - "x": 624, - "y": 656 + "x": 808, + "y": -80 }, "size": { "width": 96, @@ -4753,11 +4766,23 @@ } }, { - "id": "6219285f-76c0-4fdf-8f60-bd5afeef0e52", + "id": "d77ee777-f5ad-4f89-832b-e1f95f0cf9db", "type": "ba518ee261a2be13a9739cd3a01cdcebe0ef63c0", "position": { - "x": 784, - "y": 568 + "x": 632, + "y": -192 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "dd3259d5-99f6-47f2-881c-4e969e324444", + "type": "873425949b2a80f1a7f66f320796bcd068a59889", + "position": { + "x": 960, + "y": -176 }, "size": { "width": 96, @@ -4768,123 +4793,165 @@ "wires": [ { "source": { - "block": "a0fa1754-f66a-4772-adc6-07f9549ae9fe", - "port": "outlabel" + "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", + "port": "out" }, "target": { - "block": "cbd20301-0f38-49ce-bd16-b5d27a8ad6e8", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - }, - "vertices": [] + "block": "f2c3e9af-37a6-4815-9413-c437d2471b1f", + "port": "inlabel" + } }, { "source": { - "block": "8d94a294-a698-43c5-9777-874fd39b8586", - "port": "outlabel" + "block": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba", + "port": "out" }, "target": { - "block": "6219285f-76c0-4fdf-8f60-bd5afeef0e52", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - }, - "vertices": [] + "block": "65936289-69ce-4e26-be4e-44f8a3706934", + "port": "inlabel" + } }, { "source": { - "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", + "block": "5e915366-608a-431a-bf68-8c64fb4c302c", "port": "out" }, "target": { - "block": "d80dfce7-c76f-40a0-91ff-5e55863fe5da", + "block": "9fca1dd5-3d6c-4321-a1cf-fd35336e41ea", "port": "inlabel" } }, { "source": { - "block": "d4a339a0-7bdb-4695-8f6b-93ea4a70b36a", - "port": "out" + "block": "79149d67-753e-414e-ba2a-49ba4edfe523", + "port": "outlabel" }, "target": { - "block": "a14a9465-c4d0-4c20-aa1a-458b40aa8b70", - "port": "inlabel" + "block": "687d4abf-9ce2-408a-8010-c00e2cec2d44", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" } }, { "source": { - "block": "ec23e0ef-db5d-46b0-b1fd-452e0dc46a0b", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "edf4525b-edd8-40fa-b784-631b102fb907", + "port": "outlabel" }, "target": { - "block": "0e6a9a81-8521-4ade-8012-71915b39ae41", - "port": "in" + "block": "687d4abf-9ce2-408a-8010-c00e2cec2d44", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + } + }, + { + "source": { + "block": "35a4f7cc-d7ef-4653-af75-fe112a5f5151", + "port": "outlabel" }, - "vertices": [] + "target": { + "block": "6756cb54-aa93-40af-a5f3-41ef2b2edec9", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + } }, { "source": { - "block": "cbd20301-0f38-49ce-bd16-b5d27a8ad6e8", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "6b7a0fc7-9eeb-4894-98fd-e0122d08cdf0", + "port": "outlabel" }, "target": { - "block": "ec23e0ef-db5d-46b0-b1fd-452e0dc46a0b", + "block": "f7053b6b-9812-48df-9212-cb8dc49d44cd", "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } + }, + { + "source": { + "block": "b28215b2-e375-43cd-96b4-ed5b60418dc6", + "port": "outlabel" }, - "vertices": [] + "target": { + "block": "d77ee777-f5ad-4f89-832b-e1f95f0cf9db", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } }, { "source": { - "block": "08fac044-f451-4fb7-9668-f5bce3b40c2c", - "port": "out" + "block": "cdbf1806-fde2-4763-aeae-cd26f3db2a86", + "port": "outlabel" }, "target": { - "block": "cbd20301-0f38-49ce-bd16-b5d27a8ad6e8", + "block": "d77ee777-f5ad-4f89-832b-e1f95f0cf9db", "port": "97b51945-d716-4b6c-9db9-970d08541249" - }, - "vertices": [] + } }, { "source": { - "block": "08fac044-f451-4fb7-9668-f5bce3b40c2c", - "port": "out" + "block": "687d4abf-9ce2-408a-8010-c00e2cec2d44", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, "target": { - "block": "4f537b92-d51a-4e53-808b-0730bd2424dd", + "block": "6756cb54-aa93-40af-a5f3-41ef2b2edec9", "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } + }, + { + "source": { + "block": "6756cb54-aa93-40af-a5f3-41ef2b2edec9", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, - "vertices": [] + "target": { + "block": "c7d2d573-b901-420e-a923-6832e5b18e34", + "port": "in" + } }, { "source": { - "block": "6219285f-76c0-4fdf-8f60-bd5afeef0e52", + "block": "687d4abf-9ce2-408a-8010-c00e2cec2d44", "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, "target": { - "block": "ec23e0ef-db5d-46b0-b1fd-452e0dc46a0b", + "block": "f7053b6b-9812-48df-9212-cb8dc49d44cd", "port": "97b51945-d716-4b6c-9db9-970d08541249" - }, - "vertices": [] + } }, { "source": { - "block": "4f537b92-d51a-4e53-808b-0730bd2424dd", + "block": "f7053b6b-9812-48df-9212-cb8dc49d44cd", "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, "target": { - "block": "6219285f-76c0-4fdf-8f60-bd5afeef0e52", + "block": "dd3259d5-99f6-47f2-881c-4e969e324444", "port": "97b51945-d716-4b6c-9db9-970d08541249" + } + }, + { + "source": { + "block": "d77ee777-f5ad-4f89-832b-e1f95f0cf9db", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, - "vertices": [] + "target": { + "block": "dd3259d5-99f6-47f2-881c-4e969e324444", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } + }, + { + "source": { + "block": "dd3259d5-99f6-47f2-881c-4e969e324444", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" + } } ] } } }, - "873425949b2a80f1a7f66f320796bcd068a59889": { + "d1240143e1ff7afe57f0f11565da980612b2bb76": { "package": { - "name": "OR2", + "name": "XOR2", "version": "1.0.2", - "description": "OR2: Two bits input OR gate", + "description": "XOR gate: two bits input xor gate", "author": "Jesús Arroyo, Juan González", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22192.718%22%20width=%22383.697%22%20version=%221%22%3E%3Cpath%20d=%22M175.56%20188.718H84.527s30.345-42.538%2031.086-94.03c.743-51.49-31.821-90.294-31.821-90.294L176.109%204c46.445%201.948%20103.899%2053.44%20123.047%2093.678-32.601%2067.503-92.158%2089.79-123.596%2091.04z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2047.292h99.605M4.883%20145.168h100.981M298.57%2098.89h81.07%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20font-weight=%22400%22%20font-size=%2266.317%22%20y=%22121.28%22%20x=%22131.572%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20font-weight=%22700%22%20y=%22121.28%22%20x=%22131.572%22%3EOR%3C/tspan%3E%3C/text%3E%3C/svg%3E" + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22193.047%22%20width=%22383.697%22%20version=%221%22%3E%3Cpath%20d=%22M175.56%20189.047H84.527s30.345-42.538%2031.086-94.03c.743-51.49-31.821-90.294-31.821-90.294l92.317-.394c46.445%201.948%20103.899%2053.44%20123.047%2093.678-32.601%2067.503-92.158%2089.79-123.596%2091.04z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2047.62h99.605M4.883%20145.497h100.981M298.57%2099.219h81.07%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20x=%22129.011%22%20y=%22115.285%22%20font-size=%2258.24%22%20font-weight=%22400%22%20style=%22line-height:125%25%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20transform=%22translate(0%20.329)%22%3E%3Ctspan%20x=%22129.011%22%20y=%22115.285%22%20font-weight=%22700%22%3EXOR%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M54.321%20188.368s30.345-42.538%2031.086-94.03c.742-51.49-31.821-90.294-31.821-90.294%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" }, "design": { "graph": { @@ -4896,8 +4963,8 @@ "name": "" }, "position": { - "x": 112, - "y": 40 + "x": 120, + "y": 48 } }, { @@ -4907,7 +4974,7 @@ "name": "" }, "position": { - "x": 608, + "x": 560, "y": 72 } }, @@ -4918,15 +4985,15 @@ "name": "" }, "position": { - "x": 112, - "y": 96 + "x": 120, + "y": 104 } }, { "id": "00925b04-5004-4307-a737-fa4e97c8b6ab", "type": "basic.code", "data": { - "code": "//-- OR Gate\n//-- Verilog implementation\n\nassign c = a | b;\n\n", + "code": "//-- XOR gate\n//-- Verilog implementation\n\nassign c = a ^ b;\n", "params": [], "ports": { "in": [ @@ -4949,8 +5016,8 @@ "y": 48 }, "size": { - "width": 312, - "height": 104 + "width": 272, + "height": 112 } } ], @@ -4989,13 +5056,13 @@ } } }, - "ba518ee261a2be13a9739cd3a01cdcebe0ef63c0": { + "873425949b2a80f1a7f66f320796bcd068a59889": { "package": { - "name": "AND2", + "name": "OR2", "version": "1.0.2", - "description": "Two bits input And gate", + "description": "OR2: Two bits input OR gate", "author": "Jesús Arroyo, Juan González", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22336.09%22%20height=%22194.045%22%20version=%221%22%3E%3Cpath%20d=%22M174.656%20190.045H78.304V4h96.352s87.463%208.625%2087.463%2091.94c0%2083.311-87.463%2094.105-87.463%2094.105z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2045.668h74.018M4.057%20144.812h74.018m184.632-50.034h69.326%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%2292.894%22%20y=%22114.587%22%20font-weight=%22400%22%20font-size=%2258.054%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%2292.894%22%20y=%22114.587%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%3EAND%3C/tspan%3E%3C/text%3E%3C/svg%3E" + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22192.718%22%20width=%22383.697%22%20version=%221%22%3E%3Cpath%20d=%22M175.56%20188.718H84.527s30.345-42.538%2031.086-94.03c.743-51.49-31.821-90.294-31.821-90.294L176.109%204c46.445%201.948%20103.899%2053.44%20123.047%2093.678-32.601%2067.503-92.158%2089.79-123.596%2091.04z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2047.292h99.605M4.883%20145.168h100.981M298.57%2098.89h81.07%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20font-weight=%22400%22%20font-size=%2266.317%22%20y=%22121.28%22%20x=%22131.572%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20font-weight=%22700%22%20y=%22121.28%22%20x=%22131.572%22%3EOR%3C/tspan%3E%3C/text%3E%3C/svg%3E" }, "design": { "graph": { @@ -5007,8 +5074,8 @@ "name": "" }, "position": { - "x": 96, - "y": 56 + "x": 112, + "y": 40 } }, { @@ -5018,8 +5085,8 @@ "name": "" }, "position": { - "x": 600, - "y": 96 + "x": 608, + "y": 72 } }, { @@ -5029,15 +5096,15 @@ "name": "" }, "position": { - "x": 96, - "y": 128 + "x": 112, + "y": 96 } }, { "id": "00925b04-5004-4307-a737-fa4e97c8b6ab", "type": "basic.code", "data": { - "code": "//-- AND gate\n//-- Verilog implementation\n\nassign c = a & b;\n", + "code": "//-- OR Gate\n//-- Verilog implementation\n\nassign c = a | b;\n\n", "params": [], "ports": { "in": [ @@ -5060,8 +5127,8 @@ "y": 48 }, "size": { - "width": 304, - "height": 152 + "width": 312, + "height": 104 } } ], @@ -5100,51 +5167,36 @@ } } }, - "3676a00f3a70e406487ed14b901daf3e4984e63d": { + "d30ca9ee4f35f6cb76d5e5701447fc2b739bc640": { "package": { - "name": "NOT", - "version": "2.0", - "description": "NOT gate (Verilog implementation)", - "author": "Jesús Arroyo, Juan González", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22317.651%22%20height=%22194.058%22%20version=%221%22%3E%3Cpath%20d=%22M69.246%204l161.86%2093.027-161.86%2093.031V4z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20cx=%22253.352%22%20cy=%2296.736%22%20rx=%2221.393%22%20ry=%2221.893%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2097.49h65.262m205.796%200h38.48%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%2281.112%22%20y=%22111.734%22%20transform=%22scale(.99532%201.0047)%22%20font-weight=%22400%22%20font-size=%2249.675%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%2281.112%22%20y=%22111.734%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%3ENot%3C/tspan%3E%3C/text%3E%3C/svg%3E" + "name": "bit-0", + "version": "0.2", + "description": "Constant bit 0", + "author": "Jesus Arroyo", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22125.776%22%20height=%22197.727%22%20viewBox=%220%200%20110.54641%20173.78236%22%3E%3Cpath%20d=%22M69.664%20107.353l13.494%2029.374L70.719%20168.5l13.788%204.283m-42.761-62.916S38.148%20136.825%2033.22%20139C28.298%20141.18%201%20161.403%201%20161.403l8.729%2010.636%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cg%20style=%22line-height:0%25%22%3E%3Cpath%20d=%22M65.536%2024.562q-9.493%200-15.876%208.251-6.303%208.156-8.855%2023.604-2.553%2015.448%201.037%2023.7%203.59%208.155%2013.084%208.155%209.334%200%2015.636-8.155%206.383-8.252%208.936-23.7%202.553-15.448-1.037-23.604-3.59-8.251-12.925-8.251zm4.07-24.564q23.056%200%2033.507%2014.969%2010.53%2014.968%206.143%2041.45-4.388%2026.482-19.865%2041.45-15.478%2014.968-38.534%2014.968-23.136%200-33.667-14.968Q6.659%2082.9%2011.047%2056.417q4.387-26.482%2019.865-41.45Q46.469-.002%2069.605-.002z%22%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold%20Italic'%22%20font-style=%22italic%22%20font-weight=%22700%22%20font-size=%22179.184%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22/%3E%3C/g%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "18c2ebc7-5152-439c-9b3f-851c59bac834", - "type": "basic.input", - "data": { - "name": "" - }, - "position": { - "x": 112, - "y": 72 - } - }, - { - "id": "664caf9e-5f40-4df4-800a-b626af702e62", + "id": "3d584b0a-29eb-47af-8c43-c0822282ef05", "type": "basic.output", "data": { "name": "" }, "position": { - "x": 560, - "y": 72 + "x": 456, + "y": 120 } }, { - "id": "5365ed8c-e5db-4445-938f-8d689830ea5c", + "id": "61331ec5-2c56-4cdd-b607-e63b1502fa65", "type": "basic.code", "data": { - "code": "//-- NOT Gate\nassign q = ~a;\n\n", + "code": "//-- Constant bit-0\nassign q = 1'b0;\n\n", "params": [], "ports": { - "in": [ - { - "name": "a" - } - ], + "in": [], "out": [ { "name": "q" @@ -5153,65 +5205,23 @@ } }, "position": { - "x": 256, - "y": 48 - }, - "size": { - "width": 256, - "height": 104 - } - }, - { - "id": "e3bb41e3-1944-4946-9675-c2dbe2e49fcf", - "type": "basic.info", - "data": { - "info": "Input", - "readonly": true - }, - "position": { - "x": 128, - "y": 32 - }, - "size": { - "width": 80, - "height": 40 - } - }, - { - "id": "8408dd5f-945f-4a89-9790-7752813d4e91", - "type": "basic.info", - "data": { - "info": "Output", - "readonly": true - }, - "position": { - "x": 576, - "y": 40 + "x": 168, + "y": 112 }, "size": { - "width": 80, - "height": 40 + "width": 248, + "height": 80 } } ], "wires": [ { "source": { - "block": "18c2ebc7-5152-439c-9b3f-851c59bac834", - "port": "out" - }, - "target": { - "block": "5365ed8c-e5db-4445-938f-8d689830ea5c", - "port": "a" - } - }, - { - "source": { - "block": "5365ed8c-e5db-4445-938f-8d689830ea5c", + "block": "61331ec5-2c56-4cdd-b607-e63b1502fa65", "port": "q" }, "target": { - "block": "664caf9e-5f40-4df4-800a-b626af702e62", + "block": "3d584b0a-29eb-47af-8c43-c0822282ef05", "port": "in" } } @@ -5219,111 +5229,111 @@ } } }, - "febcfed8636b8ee9a98750b96ed9e53a165dd4a8": { + "c4f23ad05c2010ec9bd213c8814c9238873037ae": { "package": { - "name": "bit-1", - "version": "0.2", - "description": "Constant bit 1", - "author": "Jesus Arroyo", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2289.79%22%20height=%22185.093%22%20viewBox=%220%200%2084.179064%20173.52585%22%3E%3Cpath%20d=%22M7.702%2032.42L49.972%200l34.207%207.725-27.333%20116.736-26.607-6.01L51.26%2025.273%2020.023%2044.2z%22%20fill=%22green%22%20fill-rule=%22evenodd%22/%3E%3Cpath%20d=%22M46.13%20117.28l21.355%2028.258-17.91%2021.368%206.198%205.513m-14.033-54.45l-12.4%2028.26-28.242%205.512%202.067%208.959%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%222.196%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" + "name": "Bus4-Split-all", + "version": "0.1", + "description": "Bus4-Split-all: Split the 4-bits bus into its 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": { "graph": { "blocks": [ { - "id": "3d584b0a-29eb-47af-8c43-c0822282ef05", + "id": "bbe1895b-be8b-4237-b0d1-ae592e3e6208", "type": "basic.output", "data": { - "name": "" + "name": "3" }, "position": { - "x": 456, - "y": 120 + "x": 576, + "y": 80 } }, { - "id": "61331ec5-2c56-4cdd-b607-e63b1502fa65", - "type": "basic.code", + "id": "33072210-9ba0-4659-8339-95952b939e6e", + "type": "basic.output", "data": { - "code": "//-- Constant bit-1\nassign q = 1'b1;\n\n", - "params": [], - "ports": { - "in": [], - "out": [ - { - "name": "q" - } - ] - } + "name": "2" }, "position": { - "x": 168, - "y": 112 + "x": 600, + "y": 144 + } + }, + { + "id": "0ebd46a4-769b-45e6-bcaf-e3796264aed3", + "type": "basic.input", + "data": { + "name": "", + "range": "[3:0]", + "clock": false, + "size": 4 }, - "size": { - "width": 248, - "height": 80 + "position": { + "x": 128, + "y": 184 } - } - ], - "wires": [ + }, { - "source": { - "block": "61331ec5-2c56-4cdd-b607-e63b1502fa65", - "port": "q" + "id": "f5a71d7b-de20-4527-80c8-0eb20de0dc77", + "type": "basic.output", + "data": { + "name": "1" }, - "target": { - "block": "3d584b0a-29eb-47af-8c43-c0822282ef05", - "port": "in" + "position": { + "x": 592, + "y": 240 } - } - ] - } - } - }, - "d30ca9ee4f35f6cb76d5e5701447fc2b739bc640": { - "package": { - "name": "bit-0", - "version": "0.2", - "description": "Constant bit 0", - "author": "Jesus Arroyo", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22125.776%22%20height=%22197.727%22%20viewBox=%220%200%20110.54641%20173.78236%22%3E%3Cpath%20d=%22M69.664%20107.353l13.494%2029.374L70.719%20168.5l13.788%204.283m-42.761-62.916S38.148%20136.825%2033.22%20139C28.298%20141.18%201%20161.403%201%20161.403l8.729%2010.636%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cg%20style=%22line-height:0%25%22%3E%3Cpath%20d=%22M65.536%2024.562q-9.493%200-15.876%208.251-6.303%208.156-8.855%2023.604-2.553%2015.448%201.037%2023.7%203.59%208.155%2013.084%208.155%209.334%200%2015.636-8.155%206.383-8.252%208.936-23.7%202.553-15.448-1.037-23.604-3.59-8.251-12.925-8.251zm4.07-24.564q23.056%200%2033.507%2014.969%2010.53%2014.968%206.143%2041.45-4.388%2026.482-19.865%2041.45-15.478%2014.968-38.534%2014.968-23.136%200-33.667-14.968Q6.659%2082.9%2011.047%2056.417q4.387-26.482%2019.865-41.45Q46.469-.002%2069.605-.002z%22%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold%20Italic'%22%20font-style=%22italic%22%20font-weight=%22700%22%20font-size=%22179.184%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22/%3E%3C/g%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ + }, { - "id": "3d584b0a-29eb-47af-8c43-c0822282ef05", + "id": "0f7487e5-b070-4277-bba6-acf69934afca", "type": "basic.output", "data": { - "name": "" + "name": "0" }, "position": { - "x": 456, - "y": 120 + "x": 568, + "y": 296 } }, { - "id": "61331ec5-2c56-4cdd-b607-e63b1502fa65", + "id": "16e78204-213e-4833-9096-89d735307ec2", "type": "basic.code", "data": { - "code": "//-- Constant bit-0\nassign q = 1'b0;\n\n", + "code": "assign o3 = i[3];\nassign o2 = i[2];\nassign o1 = i[1];\nassign o0 = i[0];", "params": [], "ports": { - "in": [], + "in": [ + { + "name": "i", + "range": "[3:0]", + "size": 4 + } + ], "out": [ { - "name": "q" + "name": "o3" + }, + { + "name": "o2" + }, + { + "name": "o1" + }, + { + "name": "o0" } ] } }, "position": { - "x": 168, - "y": 112 + "x": 296, + "y": 176 }, "size": { - "width": 248, + "width": 208, "height": 80 } } @@ -5331,308 +5341,257 @@ "wires": [ { "source": { - "block": "61331ec5-2c56-4cdd-b607-e63b1502fa65", - "port": "q" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o1" }, "target": { - "block": "3d584b0a-29eb-47af-8c43-c0822282ef05", + "block": "f5a71d7b-de20-4527-80c8-0eb20de0dc77", "port": "in" } - } - ] - } - } - }, - "2a35153f656f2d69dfddb3d5023a77bf81baead9": { - "package": { - "name": "Mem-16B-icerok-probe", - "version": "0.1", - "description": "16B memory icerok probe", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22120.961%22%20width=%22100%22%3E%3Cdefs%3E%3Cfilter%20id=%22c%22%20color-interpolation-filters=%22sRGB%22%3E%3CfeGaussianBlur%20stdDeviation=%221.23%22/%3E%3C/filter%3E%3Cfilter%20id=%22g%22%20color-interpolation-filters=%22sRGB%22%3E%3CfeGaussianBlur%20stdDeviation=%221.23%22/%3E%3C/filter%3E%3Cfilter%20id=%22f%22%20color-interpolation-filters=%22sRGB%22%3E%3CfeGaussianBlur%20stdDeviation=%221.258%22/%3E%3C/filter%3E%3Cfilter%20id=%22e%22%20color-interpolation-filters=%22sRGB%22%3E%3CfeGaussianBlur%20stdDeviation=%221.312%22/%3E%3C/filter%3E%3Cfilter%20id=%22b%22%20height=%221.027%22%20width=%221.242%22%20y=%22-.013%22%20x=%22-.121%22%20color-interpolation-filters=%22sRGB%22%3E%3CfeGaussianBlur%20stdDeviation=%221.309%22/%3E%3C/filter%3E%3Cfilter%20id=%22d%22%20height=%221.027%22%20width=%221.242%22%20y=%22-.013%22%20x=%22-.121%22%20color-interpolation-filters=%22sRGB%22%3E%3CfeGaussianBlur%20stdDeviation=%221.309%22/%3E%3C/filter%3E%3Cfilter%20id=%22a%22%20height=%221.025%22%20width=%221.996%22%20y=%22-.012%22%20x=%22-.498%22%20color-interpolation-filters=%22sRGB%22%3E%3CfeGaussianBlur%20stdDeviation=%221.245%22/%3E%3C/filter%3E%3CradialGradient%20id=%22h%22%20gradientUnits=%22userSpaceOnUse%22%20cy=%22356.19%22%20cx=%22300%22%20gradientTransform=%22matrix(-.43814%20.01306%20-.0012%20-.02628%20181.233%2061.352)%22%20r=%2255.264%22%3E%3Cstop%20offset=%220%22/%3E%3Cstop%20stop-color=%22#464646%22%20offset=%22.602%22/%3E%3Cstop%20stop-color=%22#aca592%22%20stop-opacity=%220%22%20offset=%221%22/%3E%3C/radialGradient%3E%3ClinearGradient%20id=%22i%22%20y2=%22333.77%22%20gradientUnits=%22userSpaceOnUse%22%20x2=%22291.22%22%20gradientTransform=%22matrix(-.3425%20.01021%20-.01275%20-.27715%20156.562%20149.485)%22%20y1=%22330.77%22%20x1=%22291.22%22%3E%3Cstop%20stop-color=%22#fff%22%20stop-opacity=%22.362%22%20offset=%220%22/%3E%3Cstop%20stop-opacity=%220%22%20offset=%221%22/%3E%3C/linearGradient%3E%3ClinearGradient%20id=%22j%22%20y2=%22339.48%22%20gradientUnits=%22userSpaceOnUse%22%20x2=%22337.09%22%20gradientTransform=%22matrix(-.33921%20.01011%20-.01492%20-.32428%20156.195%20165.141)%22%20y1=%22339.48%22%20x1=%22343.43%22%3E%3Cstop%20stop-color=%22#fff%22%20stop-opacity=%22.362%22%20offset=%220%22/%3E%3Cstop%20stop-opacity=%220%22%20offset=%221%22/%3E%3C/linearGradient%3E%3ClinearGradient%20id=%22k%22%20y2=%22304.68%22%20gradientUnits=%22userSpaceOnUse%22%20x2=%22300.31%22%20gradientTransform=%22matrix(-.32563%20.0097%20-.01206%20-.2621%20151.26%20144.401)%22%20y1=%22331.2%22%20x1=%22300.31%22%3E%3Cstop%20stop-opacity=%22.302%22%20offset=%220%22/%3E%3Cstop%20stop-opacity=%220%22%20offset=%221%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath%20opacity=%22.95%22%20fill=%22none%22%20d=%22M0%2020.961h100v100H0z%22/%3E%3Cpath%20d=%22M53.928%20119.654L52.1%2079.937l-1.104-23.99-3.256.096%201.104%2023.991%201.826%2039.717z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#d4aa00%22/%3E%3Cpath%20d=%22M297%20109.34V352.4h6V109.34z%22%20style=%22text-indent:0;text-transform:none%22%20transform=%22matrix(-.32563%20.0097%20-.01206%20-.2621%20151.309%20145.45)%22%20color=%22#000%22%20fill=%22#fcff4c%22%20fill-opacity=%22.544%22%20filter=%22url(#a)%22/%3E%3Cpath%20d=%22M60.372%20117.56l3.198-.49c-3.202-13.45-7.816-28.557-8.457-42.475l-.863-18.749-3.256.098.863%2018.748c.658%2014.31%205.337%2029.518%208.514%2042.865z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#d45500%22/%3E%3Cpath%20d=%22M272.94%20116.59l-5.875%201.5c7.92%2051.61%2019.94%20109.69%2019.94%20162.79v71.531h6V280.88c0-54.598-12.202-113.07-20.062-164.28z%22%20style=%22text-indent:0;text-transform:none%22%20transform=%22matrix(-.32563%20.0097%20-.01206%20-.2621%20151.309%20145.45)%22%20color=%22#000%22%20fill=%22#fca%22%20fill-opacity=%22.409%22%20filter=%22url(#b)%22/%3E%3Cpath%20d=%22M69.996%20112.761l3.056-.912c-6.978-15.02-14.11-24.952-15.163-47.836l-.38-8.265-3.257.097.38%208.265c1.072%2023.296%208.478%2033.826%2015.364%2048.646z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#a00%22/%3E%3Cpath%20d=%22M79.672%20106.477l2.661-1.515c-9.79-11.143-20.205-19.73-21.186-41.045l-.38-8.264-3.257.097.38%208.264C58.902%2086%2070.056%2095.528%2079.674%20106.474z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#784421%22/%3E%3Cpath%20d=%22M89.428%2098.614l1.962-2.092C81.67%2090.65%2065.24%2082.005%2064.402%2063.82l-.38-8.265-3.256.097.38%208.265C62.04%2083.35%2079.89%2092.851%2089.43%2098.614z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#1a1a1a%22/%3E%3Cpath%20d=%22M183.16%20189.47l-4.313%201.75c28.98%2023.48%2079.65%2053.27%2079.65%20129.66v31.531h4V320.88c0-71.639-50.903-108.37-79.344-131.41z%22%20style=%22text-indent:0;text-transform:none%22%20transform=%22matrix(-.32563%20.0097%20-.01206%20-.2621%20151.309%20145.45)%22%20color=%22#000%22%20fill=%22#fff%22%20fill-opacity=%22.313%22%20filter=%22url(#c)%22/%3E%3Cpath%20d=%22M44.052%20118.046c1.941-13.5%205.209-28.946%204.55-43.257l-.862-18.748-3.256.097.863%2018.748c.64%2013.918-2.572%2029.258-4.53%2042.86l3.234.297z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22green%22/%3E%3Cpath%20transform=%22matrix(.32563%20-.0097%20-.01206%20-.2621%20-44.14%20150.226)%22%20d=%22M272.94%20112.59l-5.875%201.5c7.92%2051.61%2019.94%20109.69%2019.94%20162.79v71.531h6V276.88c0-54.598-12.202-113.07-20.062-164.28z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#cfa%22%20fill-opacity=%22.409%22%20filter=%22url(#d)%22/%3E%3Cpath%20d=%22M34.013%20113.833c5.507-15.193%2011.923-26.132%2010.85-49.43l-.38-8.265-3.256.097.38%208.264c1.053%2022.883-5.147%2033.214-10.725%2048.606l3.131.727z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#04a%22/%3E%3Cpath%20transform=%22matrix(.32563%20-.0097%20-.01206%20-.2621%20-44.202%20150.228)%22%20d=%22M242.75%20129.78l-3.5%203.125c19.277%2058.01%2038.25%2096.664%2038.25%20183.97v31.531h5.5v-31.531c0-88.882-21.224-129.84-40.25-187.09z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#acf%22%20fill-opacity=%22.475%22%20filter=%22url(#e)%22/%3E%3Cpath%20d=%22M23.786%20108.143C32.372%2096.651%2042.62%2086.487%2041.607%2064.5l-.38-8.264-3.257.097.38%208.264c.981%2021.314-8.618%2030.496-17.358%2042.192l2.793%201.352z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#aa00d4%22/%3E%3Cpath%20transform=%22matrix(.32563%20-.0097%20-.01206%20-.2621%20-63.922%20150.816)%22%20d=%22M275.19%20158.62l-4.375-.531c28.45%2043.57%2057.68%2077.47%2057.68%20158.79v31.53h4v-31.53c0-83.882-29.36-115.45-57.312-158.25z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#eaf%22%20fill-opacity=%22.483%22%20filter=%22url(#f)%22/%3E%3Cpath%20d=%22M13.334%20100.883c8.983-6.313%2025.91-16.854%2025.017-36.287l-.38-8.264-3.257.097.38%208.264c.837%2018.184-14.754%2027.784-23.91%2034.22l2.149%201.97z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#6f6f91%22/%3E%3Cpath%20transform=%22matrix(.32563%20-.0097%20-.01206%20-.2621%20-43.742%20150.214)%22%20d=%22M183.16%20185.47l-4.313%201.75c28.98%2023.48%2078.15%2055.27%2078.15%20129.65v31.531h5V316.87c0-69.13-50.4-108.37-78.84-131.4z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#dbdbe3%22%20fill-opacity=%22.429%22%20filter=%22url(#g)%22/%3E%3Cpath%20d=%22M73.69%2057.606L25.264%2059.05l-.202-4.398c12.474-.817%2026.455-1.496%2048.425-1.444z%22%20color=%22#000%22%20fill=%22url(#h)%22/%3E%3Cpath%20d=%22M64.604%2060.633l-30.005.894-.246-5.336c7.717-.77%2016.373-1.346%2030.005-.894z%22%20color=%22#000%22%20fill=%22#1a1a1a%22/%3E%3Cpath%20d=%22M64.467%2060.434l-29.75.887-.03-.659c7.655-.673%2016.24-1.19%2029.75-.887z%22%20color=%22#000%22%20fill=%22url(#i)%22/%3E%3Cpath%20d=%22M36.953%2061.291l-2.194.066-.236-5.14c1.09-.029%201.543-.087%202.193-.067z%22%20color=%22#000%22%20fill=%22url(#j)%22/%3E%3Cpath%20d=%22M64.526%2067.018l-29.466.88-.296-6.44c7.578-.746%2016.08-1.306%2029.465-.879z%22%20color=%22#000%22%20fill=%22url(#k)%22/%3E%3Cpath%20d=%22M39.749%2062.438a17382.86%2017382.86%200%200%200-16.022-9.136c-7.035-4.007-12.814-7.308-12.842-7.335-.028-.027%209.023-5.125%2020.114-11.329L51.164%2023.36l.041%207.98c.023%204.39.047%2012.504.052%2018.034l.01%2010.053-.258.043c-1.31.216-2.573.602-3.6%201.102-1.394.678-3.04%202.007-3.947%203.188-.227.296-.428.536-.447.533a258.47%20258.47%200%200%201-3.266-1.854zm19.433.916c-1.387-1.72-3.778-3.223-5.848-3.68a84.366%2084.366%200%200%201-1.148-.258c-.103-.026-.17-5.28-.231-18.058-.047-9.91-.072-18.034-.055-18.05.033-.034%2038.983%2022.448%2039.105%2022.57.073.073-30.92%2018.297-31.09%2018.28-.05-.005-.38-.367-.733-.804zM10.639%2069.42c0-18.118.034-22.668.17-22.583.094.058%207.285%204.221%2015.98%209.252%209.32%205.392%2015.801%209.22%2015.79%209.327-.011.1-.12.542-.244.985-.509%201.835-.413%204.334.24%206.25l.307.9-15.328%208.835a7575.428%207575.428%200%200%201-16.122%209.278l-.793.444zM76.18%2083.365c-8.53-5.14-15.551-9.39-15.604-9.443-.052-.052.06-.584.25-1.183.514-1.62.592-4.195.184-6.007-.163-.72-.275-1.328-.25-1.349.147-.123%2030.997-18.63%2031.055-18.63.098%200%20.056%2038.69-.046%2042.727l-.082%203.233z%22%20fill=%22#7ccff4%22/%3E%3Cpath%20d=%22M92.898%2047.736c-1.658%207.32%203.673%2035.148-.816%2037.094-9.788-16.912-21.55-23.98-21.55-23.98s15.22-10.893%2022.366-13.114zM52.12%2022.772c5.53%205.076%2032.33%2014.27%2031.79%2019.131-19.54.097-31.517%206.795-31.517%206.795s-1.893-18.62-.273-25.926zM10.95%2045.233C18.165%2043.167%2040%2025.11%2043.865%2028.108c-10.12%2016.716-10.66%2030.428-10.66%2030.428S16.333%2050.43%2010.95%2045.233zm-.857%2047.424c1.753-7.298-3.22-35.193%201.293-37.08%209.57%2017.036%2021.24%2024.255%2021.24%2024.255s-15.36%2010.696-22.533%2012.825z%22%20fill=%22#98ddf4%22/%3E%3Cpath%20d=%22M10.564%2046.162l41.054-23.67L92.644%2046.21l-.027%2047.383L59.74%2074.253a9.364%209.364%200%201%200-16.216-.008L10.543%2093.551zM43.022%2065.23L10.568%2046.171m41.05-23.284l.023%2037.158m8.689%205.13L92.646%2046.21%22%20fill=%22none%22%20stroke=%22#275d75%22%20stroke-width=%223.009%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22translate(-44.235%2067.501)%20scale(.75005)%22%20stroke=%22#00f400%22%3E%3Ccircle%20r=%2224.508%22%20cy=%221.741%22%20cx=%22128.644%22%20opacity=%22.95%22%20fill=%22#272524%22%20stroke-width=%222.247%22%20stroke-linecap=%22round%22/%3E%3Cpath%20d=%22M113.085%2010.269h16.744V-9.227h14.781%22%20fill=%22none%22%20stroke-width=%222.682%22/%3E%3C/g%3E%3Ctext%20style=%22line-height:1.25%22%20x=%228.309%22%20y=%2217.029%22%20font-weight=%22400%22%20font-size=%2221.804%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%22.545%22%3E%3Ctspan%20x=%228.309%22%20y=%2217.029%22%3E16Bytes%3C/tspan%3E%3C/text%3E%3C/svg%3E", - "otid": 1596697289362 - }, - "design": { - "graph": { - "blocks": [ + }, { - "id": "01edffcc-6e84-40ff-a986-e6bb1d144035", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "tx", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o0" }, - "position": { - "x": 1168, - "y": 536 + "target": { + "block": "0f7487e5-b070-4277-bba6-acf69934afca", + "port": "in" } }, { - "id": "874e0745-10f1-45c2-8893-f7dfad87390d", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk" + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o2" }, - "position": { - "x": 648, - "y": 544 + "target": { + "block": "33072210-9ba0-4659-8339-95952b939e6e", + "port": "in" } }, { - "id": "bef1b4c2-b479-4152-ba4d-eb6b9906949c", - "type": "basic.input", - "data": { - "name": "", - "clock": true + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o3" }, - "position": { - "x": -32, - "y": 584 + "target": { + "block": "bbe1895b-be8b-4237-b0d1-ae592e3e6208", + "port": "in" } }, { - "id": "e957a950-a21d-4560-8c01-c477d88a75a2", - "type": "basic.inputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "source": { + "block": "0ebd46a4-769b-45e6-bcaf-e3796264aed3", + "port": "out" }, - "position": { - "x": 112, - "y": 584 - } - }, + "target": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i" + }, + "size": 4 + } + ] + } + } + }, + "84f0a15761ee8b753f67079819a7614923939472": { + "package": { + "name": "Bus4-Join-all", + "version": "0.1", + "description": "Bus4-Join-all: Join all the wires into a 4-bits Bus", + "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=%22M164.218%2077.643L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v26.186l61.698.046c8.012-.043%2015.705%203.133%2021.47%208.81l61.448%2061.315a57.292%2057.292%200%200%200%2039.993%2016.139%2057.292%2057.292%200%200%200-39.993%2016.14L83.668%20190.45c-5.765%205.677-13.458%208.853-21.47%208.81L.5%20199.306v26.186h62.612c14.924.039%2029.463-5.9%2040.204-16.28l60.902-60.863a29.857%2029.857%200%200%201%2021.347-8.81l146.53-.113V86.457H185.571a29.884%2029.884%200%200%201-21.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ { - "id": "757f1816-834d-4cd7-a5e1-d726a472de91", - "type": "basic.output", + "id": "6c2aa548-5a4c-4e8d-a56c-a70926b19f18", + "type": "basic.input", "data": { - "name": "tx" + "name": "3", + "clock": false }, "position": { - "x": 1456, - "y": 600 + "x": 80, + "y": 64 } }, { - "id": "b5a3b2cc-7b32-4ac9-b6bf-002fe40d9ebe", - "type": "basic.outputLabel", + "id": "346b4ae4-4bb6-4845-9c17-3b25e0dde718", + "type": "basic.input", "data": { - "blockColor": "fuchsia", - "name": "tx", - "oldBlockColor": "fuchsia" + "name": "2", + "clock": false }, "position": { - "x": 1304, - "y": 600 + "x": 80, + "y": 136 } }, { - "id": "25428eb9-c2a5-476c-8ea5-4876e3cb78cb", - "type": "basic.inputLabel", + "id": "55180947-6349-4a04-a151-ad69ea2b155e", + "type": "basic.output", "data": { - "blockColor": "fuchsia", - "name": "stdo", - "range": "[9:0]", - "pins": [ - { - "index": "9", - "name": "", - "value": "" - }, - { - "index": "8", - "name": "", - "value": "" - }, - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "name": "", + "range": "[3:0]", + "size": 4 }, "position": { - "x": 1160, - "y": 616 + "x": 712, + "y": 200 } }, { - "id": "2226faa1-dd30-45cc-b4fb-2bcffd758576", - "type": "basic.outputLabel", + "id": "969e11ca-69e8-403b-a566-7bf2fbe3a5a8", + "type": "basic.input", "data": { - "blockColor": "fuchsia", - "name": "stdo_1", - "range": "[9:0]", - "oldBlockColor": "fuchsia", - "size": 10 + "name": "1", + "clock": false }, "position": { - "x": 648, - "y": 616 + "x": 80, + "y": 208 } }, { - "id": "b1e41924-f354-4744-b5f0-a93a1fdc6828", + "id": "e4111201-8441-4e7d-bcd2-bcf9d265d043", "type": "basic.input", "data": { - "name": "trig", + "name": "0", "clock": false }, "position": { - "x": -32, - "y": 664 + "x": 80, + "y": 272 } }, { - "id": "4de777a9-a4a5-4ace-adf6-688298d0d736", - "type": "basic.inputLabel", + "id": "16e78204-213e-4833-9096-89d735307ec2", + "type": "basic.code", "data": { - "blockColor": "fuchsia", - "name": "trig", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "code": "assign o = {i3, i2, i1, i0};\n", + "params": [], + "ports": { + "in": [ + { + "name": "i3" + }, + { + "name": "i2" + }, + { + "name": "i1" + }, + { + "name": "i0" + } + ], + "out": [ + { + "name": "o", + "range": "[3:0]", + "size": 4 + } + ] + } }, "position": { - "x": 112, - "y": 664 + "x": 296, + "y": 176 + }, + "size": { + "width": 344, + "height": 104 } - }, + } + ], + "wires": [ { - "id": "9cdfc247-4374-4660-b8c7-246e9aa090d7", - "type": "basic.input", - "data": { - "name": "ch", - "range": "[7:0]", - "clock": false, - "size": 8 + "source": { + "block": "969e11ca-69e8-403b-a566-7bf2fbe3a5a8", + "port": "out" }, - "position": { - "x": -32, - "y": 752 + "target": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i1" } }, { - "id": "b3f14933-93b7-4bc1-8585-471518a370ce", - "type": "basic.inputLabel", - "data": { - "name": "ch", - "range": "[7:0]", - "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia" + "source": { + "block": "e4111201-8441-4e7d-bcd2-bcf9d265d043", + "port": "out" }, - "position": { - "x": 120, - "y": 752 + "target": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i0" } }, { - "id": "97a9bf0d-0475-40fe-bcc2-f75e2b928290", + "source": { + "block": "346b4ae4-4bb6-4845-9c17-3b25e0dde718", + "port": "out" + }, + "target": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i2" + }, + "vertices": [ + { + "x": 200, + "y": 176 + } + ] + }, + { + "source": { + "block": "6c2aa548-5a4c-4e8d-a56c-a70926b19f18", + "port": "out" + }, + "target": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i3" + }, + "vertices": [ + { + "x": 224, + "y": 128 + } + ] + }, + { + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o" + }, + "target": { + "block": "55180947-6349-4a04-a151-ad69ea2b155e", + "port": "in" + }, + "size": 4 + } + ] + } + } + }, + "a1ce303b8ce47a06371ea4641c81460f34a1cca9": { + "package": { + "name": "AdderC-4bits", + "version": "0.1", + "description": "AdderC-4bits: Adder of two operands of 4 bits and Carry in", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618560481898 + }, + "design": { + "graph": { + "blocks": [ + { + "id": "1c9b3962-5793-4e6f-98d4-9ca2113d0823", "type": "basic.inputLabel", "data": { - "blockColor": "fuchsia", - "name": "on2", + "blockColor": "deeppink", + "name": "a3", "pins": [ { "index": "0", @@ -5641,455 +5600,380 @@ } ], "virtual": true, - "oldBlockColor": "fuchsia" + "oldBlockColor": "deeppink" }, "position": { - "x": 1136, - "y": 760 + "x": 8, + "y": -744 } }, { - "id": "a76b111f-f808-4e45-8873-d8e76eb8612e", + "id": "161a3e27-de9b-4674-b990-c1e8314a29f3", "type": "basic.outputLabel", "data": { - "blockColor": "yellow", - "name": "clk" + "blockColor": "deeppink", + "name": "a3", + "oldBlockColor": "deeppink" }, "position": { - "x": 824, - "y": 768 + "x": 576, + "y": -736 } }, { - "id": "95f8ff76-02e4-4f69-8db6-d285cfe13d4a", - "type": "basic.outputLabel", + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", "data": { - "blockColor": "yellow", - "name": "clk" + "name": "c" }, "position": { - "x": 328, - "y": 784 + "x": 920, + "y": -696 } }, { - "id": "db47aa3d-add3-4672-aad0-e71644d43161", + "id": "73a0a48e-d345-4eda-8603-782e9865d928", "type": "basic.inputLabel", "data": { - "blockColor": "fuchsia", - "name": "stdo_1", - "range": "[9:0]", + "blockColor": "deeppink", + "name": "a2", "pins": [ - { - "index": "9", - "name": "", - "value": "" - }, - { - "index": "8", - "name": "", - "value": "" - }, - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, { "index": "0", - "name": "", - "value": "" + "name": "NULL", + "value": "NULL" } ], - "virtual": true - }, - "position": { - "x": 1184, - "y": 824 - } - }, - { - "id": "b1cd47ec-5a10-4bd1-bff9-a9d1707d621d", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk" + "virtual": true, + "oldBlockColor": "deeppink" }, "position": { - "x": 1312, - "y": 840 + "x": 8, + "y": -688 } }, { - "id": "f443dcde-4fbe-46f8-90d9-94a64a06a928", + "id": "05fb13c5-879a-422f-84a8-56d1db8816da", "type": "basic.outputLabel", "data": { "blockColor": "fuchsia", - "name": "stdo", - "range": "[9:0]", - "size": 10 + "name": "b3", + "oldBlockColor": "fuchsia" }, "position": { - "x": 792, - "y": 848 + "x": 576, + "y": -672 } }, { - "id": "096003ce-186a-4b28-8793-420c798499d2", - "type": "basic.outputLabel", + "id": "a30f87da-7077-4ad6-92dd-adbfdd1bed45", + "type": "basic.inputLabel", "data": { - "name": "mbus", - "range": "[13:0]", - "blockColor": "fuchsia", - "size": 14 + "blockColor": "deeppink", + "name": "a1", + "pins": [ + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true, + "oldBlockColor": "deeppink" }, "position": { - "x": 264, - "y": 856 + "x": 8, + "y": -632 + } + }, + { + "id": "c2d36218-be99-4dd1-bf69-7690c667255b", + "type": "basic.input", + "data": { + "name": "", + "range": "[3:0]", + "clock": false, + "size": 4 + }, + "position": { + "x": -312, + "y": -632 + } + }, + { + "id": "ed7a30bc-17fc-444e-89e5-aa9f83b32e86", + "type": "basic.outputLabel", + "data": { + "blockColor": "deeppink", + "name": "a2", + "oldBlockColor": "deeppink" + }, + "position": { + "x": 456, + "y": -584 } }, { - "id": "72a72392-ecf8-409d-a508-2d2c6c1b136c", + "id": "d7d5e8c8-78dd-41a8-aedf-1051b89bfb77", "type": "basic.inputLabel", "data": { - "name": "mbus", - "range": "[13:0]", + "blockColor": "deeppink", + "name": "a0", "pins": [ - { - "index": "13", - "name": "", - "value": "" - }, - { - "index": "12", - "name": "", - "value": "" - }, - { - "index": "11", - "name": "", - "value": "" - }, - { - "index": "10", - "name": "", - "value": "" - }, - { - "index": "9", - "name": "", - "value": "" - }, - { - "index": "8", - "name": "", - "value": "" - }, - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, { "index": "0", - "name": "", - "value": "" + "name": "NULL", + "value": "NULL" } ], "virtual": true, - "blockColor": "fuchsia" + "oldBlockColor": "fuchsia" }, "position": { - "x": 1616, - "y": 896 + "x": 8, + "y": -576 } }, { - "id": "02620ac0-eba1-4e7b-8c7c-42f281dfad06", + "id": "3c8597e6-ca79-494a-9a53-04c284205216", "type": "basic.outputLabel", "data": { "blockColor": "fuchsia", - "name": "trig", + "name": "b2", "oldBlockColor": "fuchsia" }, "position": { - "x": 224, - "y": 944 + "x": 456, + "y": -528 } }, { - "id": "8de3b7b2-f1f3-41a6-91c1-dcd310e375b5", + "id": "ee992ca6-d586-4901-aaa3-a17d94ddac84", "type": "basic.inputLabel", "data": { "blockColor": "fuchsia", - "name": "data2", - "range": "[7:0]", + "name": "b3", "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, { "index": "0", - "name": "", - "value": "" + "name": "NULL", + "value": "NULL" } ], "virtual": true, "oldBlockColor": "fuchsia" }, "position": { - "x": 1152, - "y": 1000 + "x": -8, + "y": -448 } }, { - "id": "db924183-9079-4d5e-ba72-24086b523403", + "id": "c5dce3e4-5ecc-4fc9-bbf6-7c1adfa1c7ff", "type": "basic.outputLabel", "data": { - "name": "ch", - "range": "[7:0]", - "blockColor": "fuchsia", - "size": 8 + "blockColor": "deeppink", + "name": "a1", + "oldBlockColor": "fuchsia" }, "position": { - "x": 280, - "y": 1016 + "x": 328, + "y": -440 } }, { - "id": "e7b0e2e7-b435-4215-a6f7-d9ac0c6726bd", - "type": "basic.constant", + "id": "fb8bbeb1-5c60-4629-bc13-231545818d0b", + "type": "basic.inputLabel", "data": { - "name": "sclk", - "value": "12000000", - "local": false + "blockColor": "fuchsia", + "name": "b2", + "pins": [ + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia" }, "position": { - "x": 880, - "y": 480 + "x": -8, + "y": -384 } }, { - "id": "a23126b7-19d0-4249-b3da-817a04fac6a6", - "type": "basic.constant", + "id": "d192d0af-e7be-4be6-925a-50227d80784c", + "type": "basic.input", "data": { - "name": "bps", - "value": "115200", - "local": false + "name": "", + "range": "[3:0]", + "clock": false, + "size": 4 }, "position": { - "x": 1040, - "y": 480 + "x": -312, + "y": -384 } }, { - "id": "68b503e6-2b67-4fba-9b21-96ca03b1ac6a", - "type": "basic.memory", + "id": "038a8cb8-35b8-424a-9d14-c320cfcddccf", + "type": "basic.outputLabel", "data": { - "name": "", - "list": "00\n01\n02\n03\n04\n05\n06\n07\n08\n09\n0A\n0B\n0C\n0D\n0E\n0F\n", - "local": true, - "format": 10 + "blockColor": "fuchsia", + "name": "b1" }, "position": { - "x": 1424, - "y": 672 - }, - "size": { - "width": 152, - "height": 160 + "x": 328, + "y": -376 } }, { - "id": "1b7cce1e-5e7b-4fef-93cd-ff06c9262fbf", - "type": "basic.info", + "id": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42", + "type": "basic.output", "data": { - "info": "## Icerok-probe machine\n\nMachine for capturing data, storing it in the memory and transmit \nto the computer by serial port", - "readonly": true + "name": "s", + "range": "[3:0]", + "size": 4 }, "position": { - "x": -48, - "y": 368 - }, - "size": { - "width": 688, - "height": 88 + "x": 1064, + "y": -368 } }, { - "id": "1a5dba1d-460f-4fe7-b89a-e82a5ce80797", - "type": "basic.info", + "id": "527c9113-e440-454b-b427-182b646c10f5", + "type": "basic.inputLabel", "data": { - "info": "Writing the data to the memory on \nevery system clock cycle", - "readonly": true + "blockColor": "fuchsia", + "name": "b1", + "pins": [ + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true }, "position": { - "x": 368, - "y": 1080 + "x": -16, + "y": -320 + } + }, + { + "id": "f8dceaf6-6020-49e5-b775-ed4821fbd5bd", + "type": "basic.outputLabel", + "data": { + "blockColor": "deeppink", + "name": "a0", + "oldBlockColor": "fuchsia" }, - "size": { - "width": 296, - "height": 56 + "position": { + "x": 184, + "y": -296 } }, { - "id": "e9eeb570-af93-4a48-a7bb-b2373f112a3d", - "type": "basic.info", + "id": "b652825e-10ba-47cc-9832-e39d73586234", + "type": "basic.inputLabel", "data": { - "info": "Transmiting the raw memory contents \nto the computer, by serial port", - "readonly": true + "blockColor": "fuchsia", + "name": "b0", + "pins": [ + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia" }, "position": { - "x": 936, - "y": 1080 + "x": -32, + "y": -264 + } + }, + { + "id": "7e5351cc-ea73-4bb2-9dda-0390f005b90b", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "b0", + "oldBlockColor": "fuchsia" }, - "size": { - "width": 296, - "height": 56 + "position": { + "x": 184, + "y": -232 } }, { - "id": "120026aa-96d4-4c3f-bdf9-6ae35383aa84", - "type": "basic.info", + "id": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86", + "type": "basic.input", "data": { - "info": "When the sampling is done \ntransmit the information to \nthe computer", - "readonly": true + "name": "ci", + "clock": false }, "position": { - "x": 664, - "y": 992 + "x": -296, + "y": -168 + } + }, + { + "id": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", + "position": { + "x": 464, + "y": -392 }, "size": { - "width": 280, - "height": 72 + "width": 96, + "height": 96 } }, { - "id": "7c470f08-1331-4242-ad22-412c4e83cf61", - "type": "basic.info", - "data": { - "info": "Memory were the data \nis stored", - "readonly": true + "id": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", + "position": { + "x": 608, + "y": -544 }, + "size": { + "width": 96, + "height": 96 + } + }, + { + "id": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "type": "c4f23ad05c2010ec9bd213c8814c9238873037ae", "position": { - "x": 1448, - "y": 984 + "x": -168, + "y": -416 }, "size": { - "width": 216, - "height": 64 + "width": 96, + "height": 128 } }, { - "id": "8d4702c6-7ee0-4768-9480-03d077785a14", - "type": "5db16434c331e6689e301a8620b611571d914365", + "id": "57e59301-2919-4f06-ba95-54ce5d99d774", + "type": "c4f23ad05c2010ec9bd213c8814c9238873037ae", "position": { - "x": 1456, - "y": 896 + "x": -152, + "y": -664 }, "size": { "width": 96, - "height": 64 + "height": 128 } }, { - "id": "1725cc20-1beb-4be7-b4ec-9e288b631779", - "type": "26ab4b14044d51c1bbe481de5533a9b47d267746", + "id": "11342001-e6e0-443b-af87-0e5d7ada0227", + "type": "84f0a15761ee8b753f67079819a7614923939472", "position": { - "x": 488, - "y": 896 + "x": 896, + "y": -400 }, "size": { "width": 96, @@ -6097,23 +5981,23 @@ } }, { - "id": "90332e4a-ed30-407a-9144-b5a97b4e83e0", - "type": "3611498f72f6612ad9bff72919bddb61a3ef0e82", + "id": "72c87c65-b34b-480f-8cde-cd97c0914014", + "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", "position": { - "x": 984, - "y": 864 + "x": 744, + "y": -688 }, "size": { "width": 96, - "height": 192 + "height": 96 } }, { - "id": "13459b93-cb56-4480-8170-22510d3c3a80", - "type": "af1545e2cba3d57550e8c41f0e5cd36e4ec1e0be", + "id": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", + "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", "position": { - "x": 904, - "y": 600 + "x": 320, + "y": -248 }, "size": { "width": 96, @@ -6124,461 +6008,616 @@ "wires": [ { "source": { - "block": "02620ac0-eba1-4e7b-8c7c-42f281dfad06", + "block": "038a8cb8-35b8-424a-9d14-c320cfcddccf", "port": "outlabel" }, "target": { - "block": "1725cc20-1beb-4be7-b4ec-9e288b631779", - "port": "b14f140b-7bb5-46d9-8019-39c27ff6e0e3" - }, - "vertices": [] + "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + } }, { "source": { - "block": "90332e4a-ed30-407a-9144-b5a97b4e83e0", - "port": "38abb13c-8652-41fb-931c-c7bf760ebb24" + "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "port": "f5a71d7b-de20-4527-80c8-0eb20de0dc77" }, "target": { - "block": "97a9bf0d-0475-40fe-bcc2-f75e2b928290", + "block": "527c9113-e440-454b-b427-182b646c10f5", "port": "inlabel" - }, - "vertices": [] + } }, { "source": { - "block": "90332e4a-ed30-407a-9144-b5a97b4e83e0", - "port": "3066cf48-9921-4487-826e-0464a2dead7a", - "size": 8 + "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "port": "0f7487e5-b070-4277-bba6-acf69934afca" }, "target": { - "block": "8de3b7b2-f1f3-41a6-91c1-dcd310e375b5", + "block": "b652825e-10ba-47cc-9832-e39d73586234", "port": "inlabel" - }, - "vertices": [], - "size": 8 + } }, { "source": { - "block": "90332e4a-ed30-407a-9144-b5a97b4e83e0", - "port": "20d63505-e2fd-44ed-95b9-9f45e8875e70", - "size": 10 + "block": "7e5351cc-ea73-4bb2-9dda-0390f005b90b", + "port": "outlabel" }, "target": { - "block": "db47aa3d-add3-4672-aad0-e71644d43161", - "port": "inlabel" - }, - "vertices": [], - "size": 10 + "block": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", + "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + } }, { "source": { - "block": "f443dcde-4fbe-46f8-90d9-94a64a06a928", + "block": "f8dceaf6-6020-49e5-b775-ed4821fbd5bd", "port": "outlabel" }, "target": { - "block": "90332e4a-ed30-407a-9144-b5a97b4e83e0", - "port": "886b88b1-4987-4f1f-aadd-d82bb53ab445", - "size": 10 - }, - "vertices": [], - "size": 10 + "block": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + } }, { "source": { - "block": "13459b93-cb56-4480-8170-22510d3c3a80", - "port": "93defa79-7f79-4614-8e5b-17ceacc8c7cf", - "size": 10 + "block": "57e59301-2919-4f06-ba95-54ce5d99d774", + "port": "0f7487e5-b070-4277-bba6-acf69934afca" }, "target": { - "block": "25428eb9-c2a5-476c-8ea5-4876e3cb78cb", + "block": "d7d5e8c8-78dd-41a8-aedf-1051b89bfb77", "port": "inlabel" - }, - "vertices": [], - "size": 10 + } }, { "source": { - "block": "2226faa1-dd30-45cc-b4fb-2bcffd758576", + "block": "c5dce3e4-5ecc-4fc9-bbf6-7c1adfa1c7ff", "port": "outlabel" }, "target": { - "block": "13459b93-cb56-4480-8170-22510d3c3a80", - "port": "bf297685-7b54-477f-b9ee-3c143135097b", - "size": 10 - }, - "vertices": [], - "size": 10 + "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + } }, { "source": { - "block": "bef1b4c2-b479-4152-ba4d-eb6b9906949c", - "port": "out" + "block": "57e59301-2919-4f06-ba95-54ce5d99d774", + "port": "f5a71d7b-de20-4527-80c8-0eb20de0dc77" }, "target": { - "block": "e957a950-a21d-4560-8c01-c477d88a75a2", + "block": "a30f87da-7077-4ad6-92dd-adbfdd1bed45", "port": "inlabel" - }, - "vertices": [] + } }, { "source": { - "block": "874e0745-10f1-45c2-8893-f7dfad87390d", - "port": "outlabel" + "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "port": "33072210-9ba0-4659-8339-95952b939e6e" }, "target": { - "block": "13459b93-cb56-4480-8170-22510d3c3a80", - "port": "2d00d963-00f8-4a0a-9cb8-a4e5bfb61323" + "block": "fb8bbeb1-5c60-4629-bc13-231545818d0b", + "port": "inlabel" } }, { "source": { - "block": "13459b93-cb56-4480-8170-22510d3c3a80", - "port": "f2043f09-b391-40ea-9d1d-721438b68ef1" + "block": "57e59301-2919-4f06-ba95-54ce5d99d774", + "port": "33072210-9ba0-4659-8339-95952b939e6e" }, "target": { - "block": "01edffcc-6e84-40ff-a986-e6bb1d144035", + "block": "73a0a48e-d345-4eda-8603-782e9865d928", "port": "inlabel" } }, { "source": { - "block": "b5a3b2cc-7b32-4ac9-b6bf-002fe40d9ebe", + "block": "3c8597e6-ca79-494a-9a53-04c284205216", "port": "outlabel" }, "target": { - "block": "757f1816-834d-4cd7-a5e1-d726a472de91", - "port": "in" + "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" } }, { "source": { - "block": "b1e41924-f354-4744-b5f0-a93a1fdc6828", - "port": "out" + "block": "ed7a30bc-17fc-444e-89e5-aa9f83b32e86", + "port": "outlabel" }, "target": { - "block": "4de777a9-a4a5-4ace-adf6-688298d0d736", + "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + } + }, + { + "source": { + "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "port": "bbe1895b-be8b-4237-b0d1-ae592e3e6208" + }, + "target": { + "block": "ee992ca6-d586-4901-aaa3-a17d94ddac84", "port": "inlabel" } }, { "source": { - "block": "9cdfc247-4374-4660-b8c7-246e9aa090d7", - "port": "out", - "size": 8 + "block": "57e59301-2919-4f06-ba95-54ce5d99d774", + "port": "bbe1895b-be8b-4237-b0d1-ae592e3e6208" }, "target": { - "block": "b3f14933-93b7-4bc1-8585-471518a370ce", + "block": "1c9b3962-5793-4e6f-98d4-9ca2113d0823", "port": "inlabel" }, - "size": 8 + "vertices": [ + { + "x": -24, + "y": -696 + } + ] }, { "source": { - "block": "db924183-9079-4d5e-ba72-24086b523403", + "block": "05fb13c5-879a-422f-84a8-56d1db8816da", "port": "outlabel" }, "target": { - "block": "1725cc20-1beb-4be7-b4ec-9e288b631779", - "port": "9978357f-7ad7-44b5-97d2-b44692508773", - "size": 8 - }, - "size": 8 + "block": "72c87c65-b34b-480f-8cde-cd97c0914014", + "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + } }, { "source": { - "block": "95f8ff76-02e4-4f69-8db6-d285cfe13d4a", + "block": "161a3e27-de9b-4674-b990-c1e8314a29f3", "port": "outlabel" }, "target": { - "block": "1725cc20-1beb-4be7-b4ec-9e288b631779", - "port": "7fb933a6-5c63-4d46-8aaa-440b30974993" + "block": "72c87c65-b34b-480f-8cde-cd97c0914014", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" } }, { "source": { - "block": "a76b111f-f808-4e45-8873-d8e76eb8612e", - "port": "outlabel" + "block": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "90332e4a-ed30-407a-9144-b5a97b4e83e0", - "port": "7fb933a6-5c63-4d46-8aaa-440b30974993" + "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "port": "5e915366-608a-431a-bf68-8c64fb4c302c" } }, { "source": { - "block": "b1cd47ec-5a10-4bd1-bff9-a9d1707d621d", - "port": "outlabel" + "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "port": "c7d2d573-b901-420e-a923-6832e5b18e34" }, "target": { - "block": "8d4702c6-7ee0-4768-9480-03d077785a14", - "port": "6080df5a-c853-47cf-aaa7-c5a8f1e65879" + "block": "11342001-e6e0-443b-af87-0e5d7ada0227", + "port": "969e11ca-69e8-403b-a566-7bf2fbe3a5a8" } }, { "source": { - "block": "8d4702c6-7ee0-4768-9480-03d077785a14", - "port": "29234969-c318-4201-b86b-7bbc0f38d2c2", - "size": 14 + "block": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", + "port": "c7d2d573-b901-420e-a923-6832e5b18e34" }, "target": { - "block": "72a72392-ecf8-409d-a508-2d2c6c1b136c", - "port": "inlabel" + "block": "11342001-e6e0-443b-af87-0e5d7ada0227", + "port": "e4111201-8441-4e7d-bcd2-bcf9d265d043" + } + }, + { + "source": { + "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, - "size": 14 + "target": { + "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "port": "5e915366-608a-431a-bf68-8c64fb4c302c" + } }, { "source": { - "block": "096003ce-186a-4b28-8793-420c798499d2", - "port": "outlabel" + "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "port": "c7d2d573-b901-420e-a923-6832e5b18e34" }, "target": { - "block": "1725cc20-1beb-4be7-b4ec-9e288b631779", - "port": "9cabcf85-d855-4e65-96c9-13c244d34d4d", - "size": 14 + "block": "11342001-e6e0-443b-af87-0e5d7ada0227", + "port": "346b4ae4-4bb6-4845-9c17-3b25e0dde718" }, "vertices": [ { - "x": 400, - "y": 912 + "x": 824, + "y": -424 } - ], - "size": 14 + ] }, { "source": { - "block": "68b503e6-2b67-4fba-9b21-96ca03b1ac6a", - "port": "memory-out" + "block": "d192d0af-e7be-4be6-925a-50227d80784c", + "port": "out" }, "target": { - "block": "8d4702c6-7ee0-4768-9480-03d077785a14", - "port": "b07ab569-1013-48d4-916e-4e447f8ea11b" + "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "port": "0ebd46a4-769b-45e6-bcaf-e3796264aed3" }, - "vertices": [] + "size": 4 }, { "source": { - "block": "1725cc20-1beb-4be7-b4ec-9e288b631779", - "port": "95c4416f-62f5-4196-a406-f7915d40a572" + "block": "c2d36218-be99-4dd1-bf69-7690c667255b", + "port": "out" }, "target": { - "block": "90332e4a-ed30-407a-9144-b5a97b4e83e0", - "port": "b14f140b-7bb5-46d9-8019-39c27ff6e0e3" + "block": "57e59301-2919-4f06-ba95-54ce5d99d774", + "port": "0ebd46a4-769b-45e6-bcaf-e3796264aed3" }, - "vertices": [] + "size": 4 }, { "source": { - "block": "1725cc20-1beb-4be7-b4ec-9e288b631779", - "port": "0d362d8c-37c7-4a07-af15-ae7af9bbc7c9" + "block": "11342001-e6e0-443b-af87-0e5d7ada0227", + "port": "55180947-6349-4a04-a151-ad69ea2b155e" }, "target": { - "block": "90332e4a-ed30-407a-9144-b5a97b4e83e0", - "port": "472c0cbb-1d6b-4af4-a439-52f52118d405" + "block": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42", + "port": "in" }, - "size": 14 + "size": 4 }, { "source": { - "block": "90332e4a-ed30-407a-9144-b5a97b4e83e0", - "port": "727e032f-d74b-464e-81fe-b30b1e669b9e" + "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "8d4702c6-7ee0-4768-9480-03d077785a14", - "port": "8fd18a6c-a1d7-494a-916f-fe51094f3872" + "block": "72c87c65-b34b-480f-8cde-cd97c0914014", + "port": "5e915366-608a-431a-bf68-8c64fb4c302c" }, - "size": 14 + "vertices": [ + { + "x": 728, + "y": -552 + } + ] }, { "source": { - "block": "a23126b7-19d0-4249-b3da-817a04fac6a6", - "port": "constant-out" + "block": "72c87c65-b34b-480f-8cde-cd97c0914014", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "13459b93-cb56-4480-8170-22510d3c3a80", - "port": "d4a02852-2578-4c4d-b7e2-0708b0ef9794" + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" } }, { "source": { - "block": "e7b0e2e7-b435-4215-a6f7-d9ac0c6726bd", - "port": "constant-out" + "block": "72c87c65-b34b-480f-8cde-cd97c0914014", + "port": "c7d2d573-b901-420e-a923-6832e5b18e34" + }, + "target": { + "block": "11342001-e6e0-443b-af87-0e5d7ada0227", + "port": "6c2aa548-5a4c-4e8d-a56c-a70926b19f18" + } + }, + { + "source": { + "block": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86", + "port": "out" }, "target": { - "block": "13459b93-cb56-4480-8170-22510d3c3a80", - "port": "bb5ac23f-87a4-4029-8fa8-ed6b93a824f9" + "block": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", + "port": "5e915366-608a-431a-bf68-8c64fb4c302c" } } ] } } }, - "5db16434c331e6689e301a8620b611571d914365": { + "c3c498191b14e9288a85fa2871b3966665f75475": { "package": { - "name": "Smem-16B-bus", + "name": "AdderC-8bits", "version": "0.1", - "description": "16B memory. Bus interface", + "description": "AdderC-8bits: Adder of two operands of 8 bits and Carry in", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20viewBox=%220%200%2087.168922%20102.99556%22%20height=%22389.275%22%20width=%22329.457%22%3E%3Cg%20transform=%22translate(-159.832%20-119.548)%22%3E%3Cimage%20xlink:href=%22data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAgM0lEQVR4Xu1dCZBU1bm+PdPTM8CM%20AgMO+yCrAq4oGjWKIIorcYnRlD59saImGlOaqK/UPPeHu5VyjyYuMRu+uFVEjRqX4FNRQURwQVxQ%20YdiGZQYGepZ+33frfK9Oneq+t+/0zHTad/+qU7fv7bt0n/8///L9/znX+1ZTTDHFFFNMMcUUU0wx%20xRRTTDHFFFNMMcUUU0wxxZToofuX8XPo82LqcLaZUhUAMbucraKi4viysrI9jCBkp5gybKBH0un0%20cuy3URC6WwiSXvcRmV9ZVVV1azKZPBvN69+/vzd06FBv2LBh1mkxff31197ixYvJfa+1tfUnHR0d%20x7W1tc3HV2kJQakJQBmZjzYUo99n/qRJk7xTTz3V69WrV5bTY/rmm2+8u+++29u6desO2L0cAnCq%20YXy61AQgYe5bBebvB9XvJRIJ79hjj/VSqZTX3t6e5ZKYBg0a5B133HHenDlzPPRZLQ5VG+a3lpwJ%20kPoH83uT+Ww77rhjCPNjYh+Z/hqK3T5oW9C2obWXlAaQAMCm9SovL/cGDx7sQaWFXBbTTjvt5AsA%20+qwOu7SVSTnOpSgASdBkSjTtPhybkMtioomkyWTjLvmjSK0UncAkJLmMAgDKUwBiqqur81atWkUt%200Bcmc2XJaQCBPtqCvMrKyjztf0wIm9lp1AbjW1paPrIwlUzJaAAJAKgajbYtTwGIaeDAgd6KFSv8%20zmMfloIJcCFf3rOCDT7AKAgAAY78nMCYqC3lB/Q1/Zgy4WB7AERcVAFIiPE333zz6JEjR565ffv2%20Xlu2bKm58847d2psbKQAhGiAmOQr1dTU+J8PPPDAE37wgx8MhgO9BeZg++bNm18588wzXzYQcXtX%20CUGii5ifuuyyy8YD7Fk4YMAAOTHelVde6X300UfejBkzPAhGwG1i5ksA2HdPPfWUd/LJJ7NRczKM%209iOp55577oyzzjrrvwkOGUHIFFsDJIya6nPQQQfdSweGKoyNAgBNIIcmRxQQM15ELcl9oKdU/4yh%202W/sR/anvz98+PD/wqnPozUZc9BeFA3gMv/GG288CgLwaL9+/by+fft6q1ev9gXgqKOO8v/MEUcc%204UOdJUxiUgSmRhv59va3v/2tnztBv9J0+k40Bxe16fLly2effvrpt1EIlCfobg2Q0FYq34J7q6ZN%20mzZ8v/32u5nSKonllhKrPACOyQcofQEonPlZma7GZ6jPFD5v27bN69Onj78/evTon/34xz9+/v77%20719s+NFup5OjOoqJKA7ezjvvPAuM7QuGJkBlyFtXgNkzMbrHUXUx3Utmf/XVVz7zTzrpJL9TTjnl%20FK+EieYrAuO1H8r8nBrgb3/7m1dbW+vNnj3bfzY165AhQ7zPPvvM9wlWrly5DFnD5yAUaQhMB4Qk%20g/My0LxPn3POOQuiOIqJPCDd1IMPPnjiiBEjHiFzObK15Y9Zs2aNn+Ovrq5mKtP74IMPlPjxfvGL%20X3ggCkKpC0AhjNdxfbZb1u9ffPFFb8OGDd4dd9zB+gBv/fr13pgxYzw62OzzTz75hKaWfc5+5jFt%20aX5/hrT7gzQPchQ7awLKZOPB4Nly7CQAbBzlUv38/P7773vQEs0vv/zyckhpNTpkNK6X+i911a/P%20UUe8y2jdI6tgiMj4t956axGFb88996wD0wfRDJDp7G/wQ+l18kJbaoo7jjzyyL8/++yzX8tR7JQG%20EPPRasHQT/FwPkBCwCaJ8zXAhx9+6Esp4lVJqXfDDTf42uDggw/uSVsscjtd+1Gu1/lsETRAkLoP%201whLlizx2+9//3uNbm/8+PHe22+/7e2yyy5ECmluXQ3A5kdeTz/99OlwIOfiVs0mZMwUpAEA6pDx%20fKgEQM6ez4w33niDQuDbLVJzczO/U1hDFdqVjC/cMYt+vYRAx8JUvCtA+Qinew/aeoZ+ZDAjAZ/p%20L730EiMEAkbsY35HXnDLfqdJZn/3poOO1kIB6KwJSAjWBZOXbtq0acK6det4c7v5Dx83bhwZQcEg%20w33mAwFkR7goYE8LghgSpgGiMknfBal7Nff5bIHnsx+5hZPN/vQZrKTaPvvsw/IxagGZYTX1/Qo4%207B8Y/y1RSBiokKIDCN9//upXvzoRUjgMzKxgBMBIgIQQpQwJjElQRymZBgoAnRj9GVzTE/Y5aDQV%20cr39XRRV79p6CQKZlfV7HaPZlPYk0zm6JQDIEHKkL2tqatrcAWIEwMvwfevatWu/efTRR1+wI4BC%20BYA32o625dprr32R/gBab3NdObzSGoAWp+AHp+QfSOVLimWnihSjizGFXu9+7zLVfYaOaWt/lkl0%20Ge+eRy0qbIX7cvoIq484/vjjH4BGbrJCvq1oG9BWo20zqj/U9iZC1H81mY5q1csQ6x+KeHSkHQbS%204VMRA4/RLr3zzjsefYbXXnuNjTbMb98KClf37ne5jkkLZDUX7Nd//vOf3ne/+13vkEMO8Xr37s1I%20gJqAZsHXrtAATB3bTiCPrYXf8NpvfvObG8GHz4UWFuIElkGl/BwO3r+7IaCwfkqlnEH+6LFjx3Kf%20zJc0f9vyAO7IzmfUZ8MW3OO6BweStGd6t912S5Hpb775pjd58mSli8lw5Q3kBBIbGIhrT0QSbgTM%209jGqJ+iMACivX4VM1BnCAOwmW88fy+8XLFjAH9R49NFHPwNPNA3I8mgcHwTp/bYIQC47HmYqcp7j%20OpiuxnjssceW3X777f/D/YcffvhwhIH1+++/vwYd+10aQELBRuRw3/PPP38s0vGLFQayRRWASrQ+%20YF6N7BCbGwYyTUnmm+rf/n/+859P5+df//rX3scff+ypIORbQLkAnSAH0T2WCxDKeg5yLBP/9Kc/%20TbSdwHnz5tEcKMyWj2BjATQhHIzjcJtPjA/XHlUDCAPoDa9T6kXhhv9gMXbhwoW0RYxTqf4JBUtA%205PCUPBLo2m2X+focgQLxAWL+ep4YTJyFnxsaGuhnMSlE6F0mVlv6ATzOaKHNDOLyzkQBSgKVY87a%20vXBEzqVU8eZ8iJhKdJB2CRgBpZPHZaPowRbTB3DVaqHXh4V67oiOKgTaJ+MY40sA5PlL8xJsI/PT%20mE+YIlDEczTYYG7pN9BJnHfvvfd+lk9NYTIkBGy9/PLLn5syZcoqPHRnaIIqU6yYAGMpWeWoA9h1%203333HQfG0ymk6uEPlQAwj01hKVUBEEPz9eZzYQt5h6LLli0jw3k+4XRXALjPnMt6wL3zySOc126u%207QBrtmOQrnnmmWfeVh1hZ5NBHWS+iS03zp8//2O0tSY3UG5a6phjjhkPp2Sc4n/lsCWRaMUe/WJM%20IdcGaQD+vyBgxx7pYc/loGHmz36WgCBbAJgXGAwsoOamm26aJ0ab1kJ+oTWibdF3hQhAC8KQjtNO%20O+0QPPBgSFh5whCksgwmYJjtINIUfPnll2SARkexBUCd35UCQIa710SCjd3vlTHl6Hc1Co9xS5yf%20dl8a4fDDD5+2xx57jAAPVA/gI7eoKVz4/PPPz4EWkAB0RBWAhGl8SM0FF1xwPx4yXo6dtgR7Nm7c%20qOofZgVZrsSctf8ZxOOlYv+DGGcLM7dhYV02LRAaKXz66adZsQH6A6NGjfK++OILf4ChLoMCwHQx%20ne8x6G95/0oaTdh1112PQ6Rw8vXXX/9GZ6FgqviKH/7wh6cB5h2fDQPgD6Dal+3HH6D6WoLpzSuQ%20H6hFR00pCQEITwa5zHcdvygYQFYBBYbPweQy33/ek08+OR9+1DqM9tqJEyfuB6bT0dM6C9II8hNk%20LmrgnJ+Nr98xvGyPggMIBOoNaZqZCwOgACgWfe+99wgHUyv0wxz3fvBOK1naDCqeAES3wdkydmJ6%20ULVPlJSve4whm7z+rNfuvffew1BnMYz9iMGYBhiUAj7AwWfnB1xAiP1eTx4aHKA1qgmoQOuFZMM2%20Le0iVS8hkF2aO3euX6Sw++678/gQNP04tmJhAO4oDTtH4Wouu5+rHiDoWNjz+Tyqdqn+XGsGDGEx%20CJnKfqYJIBhUX19PbMBGAwXPU5swZE8aAWg2g7o9igDwghTU+st4yIEo8qR614PUuNYPcQB2gh0B%20KEnEzz2NAopRQUwPvc62+7YwhJHLePd+7rmI5VnxG6hdpGnJZEHAsPF+4ccLL7ygzKsGp2oFeXyp%20GchlnU0Hd1xzzTXzZs2add306dMPwg1T6AS/yIC1AHhgAn+gDAKyN+yRoGEJQE+HgTbTIwhA4LlK%20bbueea578ry8439oVwI2YfWECv2k1qVdOcqX4bNqAjIQlAySRh1pELTywoceeuhFjfqoAkCOtZmc%208mbY8vfQvsF+jSTKXFcJ3P80FSdasCVbT6OAfE6AAETzB8TMELJHdyR4mBEUwrW8tAqFRFgAeKuq%20HxZ/1iE8nwsHkuq2VcCdUfmN5J3hYVvUbGDGXNTCm8ABqcVExYGQsio0nl9ObYBc9QGIS4fpB0kA%20ILHqCDGm2GrfPTdSvt9toKAQMBQSpsqX05cHUdXbA0ueP0PAHe67776TkSz6K/q8FfdrY8PnXsBi%20Nr/yyiubyMNOFYWqnBiFIMfAAbnBjQA0H4CMFvYPtUMcm99zCpPjHUemqPa7K+bm2aPfbi4zXSaH%20ZvtssAfMsZy+cGKU8Prrr8u790w6WFp28HnnnXc+czJ2JMDt2Wef/QjC+EsiQcH2TKCf/vSnoydM%20mEDm55wPIPWPknCqpmY4i58atTUGm2qZgH/xtK6Y7gI/dtMxCbUNCGk/0PaT6eifKMzX/IA0/IWl%20uI4O9xhA8tUHHHAAGc0+Z3OxAG4ZIfzb7373u0U/+tGPHrDKwzKhGkBz/hBrni6VLqbbn/VgxPy0%20aXT81iFV2c7vlL9mKxIFedZBJVuuANgYiC0IWa9xBcl2hOnxa7Z0BGJ+IAVktZ1C9eqrr34BQGgS%20J+DstddedmGIRr6azAUHYq+gxFAyFwYAhlbxB8vDd6Fgph5ZnkxnBhlBerUjEaeOxHcMGYVs9SST%20XTXunhNUjp1LACT4OuYyOFeuwN5nH3WK+boe4NpkMpU8QG6GU8c4SYSwO7Ot2YpCOCiJMFYRC5Av%20EMUEpABQLCHowHBF8/5tIu6PQlECEtQGFBTNExDzu0MAwpgpFet+F8z4cAFwr8l79EMrkhkF9YVU%20vJjNmgCG2iy+Yf/zmO1n0G8gwTfYbkVuiUg4wK233roIocYcqJyD8cBBkmp1Do41IzlBhldbtqi7%20BUCMCMvURREAXeMCP3axRdSmkS9MpCBBp++AbKwPCilFvMMOO6QBCDUCgh+kCEihMPiyEY7466gL%20fKJTOIBSwZjd+zi2LErsh1apKiFeN3PmzJFXXXXVLI4ONcs77Q4BiFKCnU0AwkZ8wPGiMF8CYDt6%203FcVdurxxx9fftttt82x5gZ0GOx/o5kfsDXIASQlA0CgJrQNmIo0GGqmL6SrEq2cNQE1oDPOOMNO%20FPFHUvq6QwDEvDDmh2mIfBnsRgNhQuPmDKj2HeYXLADC/O0ld7iG0IHAFRrhiK8jBsCqIPAijRxN%20K2oCGslDGwyKBAQh3kxdcskls4Et7207f3LyiEopSmBCg3XrBDlce1kA5a3m3a0oDxtv2+9sQpS3%20AMj/IMgjh68ryHj/nC1MH4BRAZNzFAiqetZsHMucjJw/YQFQ/w1wFn+C6myiuB1RcAC2sl/+8pdX%20wM67zBfmLxDIF4SlS5d6tEfwTL8CQOSvC1CQAIQzsKsFINu9o5gHxfnsj67WfGT6avCigWX3eMZw%20ONx08MgHNTcEZBsEMz0bAjA1ihOoKWG9MPIPs3EAu5FUC0AQCCaCKGB/ABX9oY5YKl6IBsjmXefj%202UcVAG2D7mufn2ufI94N9bpSANi/dejbOo5sMp9l44DoyQOZBxcHUCZ2l1tuuWVfDOZ5uXyBZI4J%20IdX4MzVcm8bWAPqsCSFaFwDlR5ocomyVmNYVDl4+4E22e0URAp0fKgDudWQ6R77sc3cQw0j5W0Bn%20WSPgm1xUCPG4iwOo0VQTla0jT+ULBGoAe0oY2lrUAwxEuKFRL/LVHNEoAD+Cg9kEQ0b3AcLj8rDz%20omiTIEdOlJXZrhDQBrP+UdhDdxHnY7hRAMwBcQD6AxRCt8BUi3RsRV3gEmEBkSaGYC7aLUgo/BwP%20GOJIvyYhNIL5/dHo/EkACBw5AhCZ8Z3VBtrm60i69wtkvnsNRxdr+XR+dxL7VQIgGB7amRnBZvgC%201RRABwsgGLQBcwcell8XFQdIo7hzKdq12B9gagHKhQPAIemDdQG+B+9TDiG3MhH5hoFBuHoU2DYb%20sztjXkKZr+JQ+DkclT2V6+AAk523cQGO8hRqAh7FHMxG4QDWWgHr0b4JWysgmQsEQtuMdOIQePf7%20EHTgqiBs6IAylCmPB0pYazkg/DFkJrdibHeM+nyAHzdTx2ORwkqX6fpMJI7MVxlXTxEdTJob8IH4%20ggSAWjh1xRVXHIEw/CPwhrzrIBaAz61AY1fAAfyQwhBFADISgj/+8Y8XA+s/xnUCyWyqPjJY8wEB%20OvDHsMlOhavjcMZHdwjdz+Fz/NTC7D4FW/aex3o6s0lnjn3PWgtlArlPSHggVmEbyLDQxQJQyLMP%20VhI5KbQs3MUALr300t3g3dvMd2sB1DhT1fcHnnjiiQWQ0jTO3x+d3j+LKg5KowYlVKLCv0EZw7yF%20T0zWdGsCMPq+GHTPPffM5fb73//+RDjg9ZivybUZqA1yYgHEcTBJ9ORzzz33/rxwAM35w41HK8HD%20G7lND+V8AGqBzz//fC1CkmGQ0ibkvSukItGij/rw40HMLhROVpO3rVCqaIyXFoPJHQbTm0IWdhPg%20efa9qoPCagJ2dsJABwfI8ro3jOKBzOgx3Wvj/ZrpQ3XDV50yHJw6dSqxgPEqB4MmYDawMyO5s0IQ%20ZRHH0BBTWkjhF4RZPkVRi1sOPfTQ3ckPMpYTQ7B4J00vcQGtHqowXIJAU81ooNKE9Vt4q7xwAEw8%20+AATPbZiejKLCeT9qnFU0A7xIaoF4GeZi6Awy7afUZgdBtkGCUC+foTqGch0OnwUcLu6qWhCoNBP%20CSEyW/X/1AQ0BfJXxCsKAWdrQSNHwgEybFiteiUeeAMqUWaiKGQ4vX9QQkzla0wgWYPhgFQ7qWA6%20ShKAqCM/2A8IX6SB2yjMd59HQIUjho0CYINaxV6rmGigFoWy1wxMAxD6ElP4iAVk0Dxu2TBI1/7l%20L395CeH6gnzTwYoA0lQXUOXvo63Bfl+0XlYtQAXeZTPhoosuGuv4BBQE4eE87uL4kRkOCmJa2HSv%20sHtJtUtdkukBL7cqriBQAKQBlIvh4pwo/96ACTxPaW6AtbbjJlMTsIX7eU0N08WaXIClxsbAw+/P%20eQAqBMGDdwBCON2pVVdIqCoabiM4gpF9gfxW6Q5v9O7p5LnVy0UUgvAZQiA5fXwryxRogvVIEK1A%20n/tCQBygEoTFpj90agI68jEB7Xg7Vd0JJ5zwACRsnJsIUtZLAoC4lKEgc9U2ChhVAKIJSDj8m7NA%20k8KpEYXUNUd9rmtzrv1XDGLCiQkg+l8sxhUKC4eb8f6ReCmHu3I4X9e/CotLn4Pyvoa8cAA5gXjB%20wy1wLGzm20KglarZiQwBGW9+CWdjPYSuBh01Vh1fIMAThtVHAZzYbHVPD1/OlZzbbHP8bOZrvxg+%20AAdeM3iyDJFANXCJscy5wPYrJUy+SPvas4UH431N90AAJltQfntWAVA1MFofPGhKrsUh7algzPtD%20/SzCJJJXqV4wVWzEd77znbH6IQWp//Da/chr95PJqmZyp3y7QuvOFnaFoYeJzvVmgEHzuHPxxRd/%20hWLdaQr/0Oz1hBQNCJUdCrh4+nXXXTfXrgkIEoBqwp4QgqwLQ1DV8yFcCpZFCQgVazET9Xv4LgMk%20sBfeciFp7MwI7xTcq3131GqSijx6mC4KrJa2t+cuqtPsY0FzAXtaG/BNLLVYtncWGcx8DON/ml7k%20ajgoyRdXA3BL/4ZRjd4fIF8gpwbgfhVuuBWLE/XOUgsgTJzM5yLQFJRhPMbzaFMxdYmd1LWjPvwe%209jO1r3WMKAAaHa59dxNHbsyv79mKxXz5LJXo8xGaH4CXRpCxHIAE5qjVstUE8Dues0FYQHhJGAiv%20JLsGb5+6QLUAjj0ns1dASEY48wFUGCFJ7DTkCyoogqB9h40UiKM5dq6nL0Zrm+14zn21HiIKr6IA%20qXyVizUiUqsGNpOyBJW8oNBsxNT+R4DrNJAVYUigpoVvxyLFS9CuNrUAVB/l9lvEEF6cxMWKskwI%204YMVBvYYw2Xfqe7gILkjPWCaeiiSmAvBLEZGUAJAYVY2ln1eceKJJz4EgW9WqGdai3l/wEpNDQsL%20AwUC8UbrjLrYrhdEmJaCw3cApowPcWsEhQgqZrXCr+4UADKbsTyl3bHdoat/BWkDl8HFYr77P2TK%20JBCMBGrw3uY9Acw9SX4JEDL2fqPh5WZ+l48AqBhkE5aInQoseRJHvVkaphw2pwKJiMOUJVRySEUg%202kYEgqKkaW01z0anrpA3g7jqPSgMLHpGEIUfeo2sPUOIOMAUvGOwCcc2kfk4Rl62oXhlKV44vQrR%202tZcq4Ym3VoAFBFOwtJkD+MhQ7NNCGGihD+C+4sWLeL6gEIBJZlkfr44QKTsIB0dRBruaC90RnGg%20utfxYhMZzsUl+P/Zz8Bd6IgLDOLqYdOdCSKcScwsYhOqt/kSiTeDfICEVDyygJfCcxwaMCGEW0UD%20tEdLYHe5SHEaAjIOD+4vAegEw9193p/PItMpYFGY4nr8BQhKUUlCSTRwSRrEUjD0yVhMQUuB6WET%20RGqwoATfJLqXfARbEyQdDKAGN58hECjXhBCqXYJACBNXQgtsxLYCmmADEMGMfACdHzG8U0WrMnMc%206RGYEk0Q1LElQBR+mgCfeeiTFryq7wvwYRyqg0MniOD8oVjuZwb8t7mWEGSyCUA1VTwQJt4w66IQ%20HJGcq8b1a/EjhoDpcgg9ZKb4lhBemy+Eq9WveF8y3Y1nu2OmTcm+sOKwww7bDXMx9FoYfwvgjXwg%20b7IWhbA/oZ2prbOCQUn3RdFgwlLYmgmK69mEoWs04v0A3OcKFQR/bCGRD+AyWfdQEzKXJ4Nicl8p%20z4IQ8gUmm1PFaCa5tXkgJJSTR7ZeffXVVmFIwLwAzCO7Ce+dPQ8MrYOzVwd/oNJ6nVkzsn9fwhEZ%20i5GfctYG5CjW4sddPBpjIrOhne03hckx5kBahtC8Foxm6l4oaBpRwGpo8yYsJ/eHrNlAeYWy/2gD%200UagDTUgUDVa0i4GeeCBB46DdzkKgkEUitlAaQBWrvpATPdQTIR/8WZwaV/2O/uf6eF1KP8mk1sd%20R2+rWTRyFdoKtAZTKLLd9QGEAWwx6FGKNzD7FXqHMN4dsD8mgo5SRCA0Suaie2PlmNx3CIkPCAEH%204GWRU1GoM8fE+20WPzeaWULN2bCApAMDp7GwwPAZM2bcgCTPWNl1MZhhHx+ulcOYjWI8KjBItr9b%20KCZqVy0aSbvOWdkSCNZk7AHnfA/wxl0trAER241ICT+WbdXQpA0Cgfn1WBz6Idy0xsUAGPrZkxBY%20lWJKx9fj+zRCtjRq1uu7LayKifaeo70BvgDRwEHvvvsuy8KVKFKBi1sUMghI4e14o/hK1BE854JB%20SXtCCEq9Z0GCxHy76SFML1IYOPI5B+CvSBrxHbUMC4fADtV3mwaIic4e52FQzXdMmzat7qyzzjqB%20L+dAWl6D0y0KkbngKmOn4rqX3UUjpQG47Q3vfqAyfE4xCG/Km2ttAHr688D8BSauTAAMqu3+apnY%20BzD2PP2Pf/xjPUZ/BXhzEvqcA5P8yYYFaI5DPau93DeIJO0ZQWB8K1U7gSAw1Mb0tWwpsX+uUPH+%20hRde+FccWmuSR0mopCHd7gTGoSD7vgkDlf1ehncDbwQAVAGmz6IPBpCIfoKwG9UEsDaCQrDOAEGK%206tpdJLDsrrvuehFTig+DJI2DTbcfrPlpvNF8FI3+wYQWqylRpoqoOR8BoGBRw5QKEWHj6CoW0c8C%205q+aBgI/O+It7Yu5y+7EuwOfx7wALtc7E4JRma14FZNHGgEFP2PVdbjzAX3VUIs2DK0eteaTEQUM%20ANMrcCNSBkxrA8zbgJKv5WS8EYC1+iGwSUdhIaPrKTgAkFjD5nde4RQT7DwhdvYnczD/geXfXrBq%20NerIY/gBQ+EfjOY7HdDKMiBo7zYIxfpnn312EXEANsOzZpkBlYJXkYloO/FmFAaznzLnCCdoNjjB%20GqvQIMnzsXDkz1EldDY9VAIWXUYxUetSAKiJuBjXJXhXEEfzZjN4+5Fvhmc11oqunmZ5WWDQGsO/%20FtsEZAxztaxIh7l5L7QKCYD1FpEmtE1mmzZSSEexRmAQVFYXqfnY5tPp1mLT3Gf9n+GHnLm0ccQ3%20GE2ekgC4PNPIz1YWrhuSWs3Jmg5mv0w6bc5rMZ8T5ruyBMiablWSoJAcp39F0iv4UKU1RoW/Wv/H%208KTJ4lmZg/BuYzPntbkCkNGJVl1guWkCiXROu91sIIkkpluOYylm3f7Vw0CZbQlBq2ktFvMTzsBV%2068g1MSRjtTb3HcLOOSJ9Tqj1CMNjSjhMFmNbrWOJAJ6FTg4VReFmGbJTEzXlqlsoJsK/rL9QfO4M%20Tm2jUbKrzCcApLcBB09k0WKXU0wq+2pBle/fHVVeEBU6XCtMuDgIbRRWF7sNocoYYgHFJL3mpRTJ%20rr9Mg+BQryOz8X+ake2bAxzgVSeeby+mAPCXVpvikeFo9cAA9kKoMoCARKKI9iAD4hZzHBsAj27j%20oVIKSOR4O5M8GtC+MtsN5nhHMQVAINKOBowYpKVlLRCpmNShpo4tMQFot1/jawCdtYb5muxRkGAn%20u0BSVXmyntLqgkhsRR5BGkWZEtQCAuAU5rGfm93K3mJqAGmBCjPiq0wTIJEoYudJA2S0LWEz0GZa%202rS2YjuB7j0UmyazgEjF70B7v7Qo42oz+1iRNED4vYrOfDHc3f4/o5hiiimmmGKKKaaYYooppphi%20iimmmGKKKaaYYooppv8FlJhXILrvZ3wAAAAASUVORK5CYII=%22%20preserveAspectRatio=%22none%22%20height=%22102.996%22%20width=%2287.169%22%20x=%22159.832%22%20y=%22119.548%22/%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20x=%22205.024%22%20y=%22157.686%22%20transform=%22scale(.98866%201.01147)%22%20font-weight=%22400%22%20font-size=%2219.302%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#ff0%22%20stroke-width=%22.504%22%3E%3Ctspan%20x=%22205.024%22%20y=%22157.686%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ERAM%3C/tspan%3E%3C/text%3E%3Ctext%20transform=%22scale(.98866%201.01147)%22%20y=%22193.338%22%20x=%22204.398%22%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20font-weight=%22400%22%20font-size=%2226.776%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#0ff%22%20stroke-width=%22.515%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20y=%22193.338%22%20x=%22204.398%22%20font-weight=%22500%22%3E16B%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E", - "otid": 1599036668965 + "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618560481898 }, "design": { "graph": { "blocks": [ { - "id": "6080df5a-c853-47cf-aaa7-c5a8f1e65879", - "type": "basic.input", - "data": { - "name": "", - "clock": true - }, - "position": { - "x": 168, - "y": 392 - } - }, - { - "id": "9edd47b2-4907-40d5-b10f-6aab4a9e797a", + "id": "bc495131-253e-49c9-9cd7-9e843cbe7ce5", "type": "basic.inputLabel", "data": { - "blockColor": "yellow", - "name": "clk", + "name": "a1", + "range": "[3:0]", "pins": [ + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, { "index": "0", "name": "", "value": "" } ], - "virtual": true + "virtual": true, + "blockColor": "deeppink" }, "position": { - "x": 312, - "y": 392 + "x": -64, + "y": -648 } }, { - "id": "270594ca-dba5-499a-8030-08e69613c220", - "type": "basic.outputLabel", + "id": "4bf17d89-89b8-4524-800a-2d15f9bbb111", + "type": "basic.input", "data": { - "blockColor": "yellow", - "name": "clk" + "name": "", + "range": "[7:0]", + "clock": false, + "size": 8 }, "position": { - "x": 392, - "y": 536 + "x": -408, + "y": -584 } }, { - "id": "29234969-c318-4201-b86b-7bbc0f38d2c2", - "type": "basic.output", + "id": "dc0243cd-75d9-4b07-bc17-150c250121ba", + "type": "basic.inputLabel", "data": { - "name": "", - "range": "[13:0]", - "size": 14 + "name": "a0", + "range": "[3:0]", + "pins": [ + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "oldBlockColor": "deeppink", + "blockColor": "deeppink" }, "position": { - "x": 1392, - "y": 696 + "x": -64, + "y": -568 } }, { - "id": "8fd18a6c-a1d7-494a-916f-fe51094f3872", - "type": "basic.input", + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", "data": { - "name": "", - "range": "[13:0]", - "clock": false, - "size": 14 + "name": "c" }, "position": { - "x": 168, - "y": 712 + "x": 832, + "y": -480 } }, { - "id": "043752cd-506b-478d-affc-bdad68d7d0a9", + "id": "bd04885a-8a3a-4215-bbf1-c472c10c44f5", "type": "basic.outputLabel", "data": { - "blockColor": "yellow", - "name": "clk" + "name": "a1", + "range": "[3:0]", + "blockColor": "deeppink", + "size": 4 }, "position": { - "x": 608, - "y": 848 + "x": 248, + "y": -456 } }, { - "id": "a04d00a7-87f1-485e-b24e-13078b946ef8", - "type": "basic.outputLabel", + "id": "ba04e310-65e0-4554-ba2b-fbde28690a0b", + "type": "basic.inputLabel", "data": { - "blockColor": "yellow", - "name": "clk" + "name": "b1", + "range": "[3:0]", + "pins": [ + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "blockColor": "fuchsia" }, "position": { - "x": 600, - "y": 1008 + "x": -80, + "y": -448 } }, { - "id": "b07ab569-1013-48d4-916e-4e447f8ea11b", - "type": "basic.memory", + "id": "3867504b-f331-4e0e-b923-acc86cb4255c", + "type": "basic.input", "data": { "name": "", - "list": "0 0 0 0\n0 0 0 0\n0 0 0 0\n0 0 0 0", - "local": false, - "format": 10 + "range": "[7:0]", + "clock": false, + "size": 8 }, "position": { - "x": 584, - "y": 504 + "x": -400, + "y": -392 + } + }, + { + "id": "d60cb59e-3e5c-4044-ae1f-3a06f33e83f9", + "type": "basic.inputLabel", + "data": { + "name": "b0", + "range": "[3:0]", + "pins": [ + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "blockColor": "fuchsia" }, - "size": { - "width": 192, - "height": 112 + "position": { + "x": -80, + "y": -376 } }, { - "id": "776c027a-a389-4046-82ee-fa3d006ba0b1", - "type": "d49d834a24f78bb30b74683564d2f13a5cada9fa", + "id": "383985cb-fd11-48ff-972a-cee8b631bd65", + "type": "basic.outputLabel", + "data": { + "name": "b1", + "range": "[3:0]", + "blockColor": "fuchsia", + "size": 4 + }, "position": { - "x": 632, - "y": 648 + "x": 248, + "y": -376 + } + }, + { + "id": "9daaaf78-5a89-4d4a-a1b2-db1d3af962f1", + "type": "basic.output", + "data": { + "name": "s", + "range": "[7:0]", + "size": 8 }, - "size": { - "width": 96, - "height": 128 + "position": { + "x": 840, + "y": -336 } }, { - "id": "70e71886-1594-499c-a6f5-a865165730a0", - "type": "6050ed4fa033f3f13d3fe5fae5dcedb414a0fede", + "id": "7905afe7-6a82-43d9-811b-45f379a3c0a9", + "type": "basic.outputLabel", + "data": { + "name": "a0", + "range": "[3:0]", + "blockColor": "deeppink", + "size": 4 + }, "position": { - "x": 1216, - "y": 664 + "x": 120, + "y": -304 + } + }, + { + "id": "53d3821c-4072-438d-a45e-3a5364fdc8bc", + "type": "basic.outputLabel", + "data": { + "name": "b0", + "range": "[3:0]", + "blockColor": "fuchsia", + "size": 4 + }, + "position": { + "x": 120, + "y": -232 + } + }, + { + "id": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86", + "type": "basic.input", + "data": { + "name": "ci", + "clock": false + }, + "position": { + "x": -392, + "y": -168 + } + }, + { + "id": "d5ab6421-1fc7-4d8d-8124-2cc7e0eb931d", + "type": "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a", + "position": { + "x": -248, + "y": -392 }, "size": { "width": 96, - "height": 128 + "height": 64 } }, { - "id": "bcc2e005-127b-4ef9-9b22-b07725cda3e2", - "type": "f1dc888a11b743f08087b6e65015fe269bed1f6f", + "id": "d6ce7b9d-d8cf-4cde-85a8-589536fcc3a3", + "type": "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a", "position": { - "x": 352, - "y": 680 + "x": -240, + "y": -584 }, "size": { "width": 96, - "height": 128 + "height": 64 } }, { - "id": "1b598360-9767-43a3-ae76-33599d7814a1", - "type": "a0b8df28f3452068e469a9c210e4e62ae8c78900", + "id": "0e0cf23b-5743-4a19-838d-fb46d407ee16", + "type": "afb28fd5426aea14477d11cbe30a290679f789f8", "position": { - "x": 1024, - "y": 568 + "x": 688, + "y": -336 }, "size": { "width": 96, @@ -6586,626 +6625,495 @@ } }, { - "id": "e96fe029-12e1-4f3a-b939-fa6209fe6269", - "type": "1c7dae7144d376f2ee4896fcc502a29110e2db37", + "id": "840ba8a1-693f-4531-a947-adcaeac4e854", + "type": "a1ce303b8ce47a06371ea4641c81460f34a1cca9", "position": { - "x": 768, - "y": 912 + "x": 320, + "y": -248 }, "size": { "width": 96, - "height": 64 + "height": 96 } }, { - "id": "1bf31738-b963-4b88-b792-23f90903e2b0", - "type": "1c7dae7144d376f2ee4896fcc502a29110e2db37", + "id": "7a4072f6-7500-4b87-86dc-2c63246b510b", + "type": "a1ce303b8ce47a06371ea4641c81460f34a1cca9", "position": { - "x": 768, - "y": 1056 + "x": 464, + "y": -392 }, "size": { "width": 96, - "height": 64 + "height": 96 } } ], "wires": [ { "source": { - "block": "6080df5a-c853-47cf-aaa7-c5a8f1e65879", - "port": "out" + "block": "d5ab6421-1fc7-4d8d-8124-2cc7e0eb931d", + "port": "eb61d084-ca22-4894-b8a2-f936db38f4b1", + "size": 4 }, "target": { - "block": "9edd47b2-4907-40d5-b10f-6aab4a9e797a", + "block": "d60cb59e-3e5c-4044-ae1f-3a06f33e83f9", "port": "inlabel" }, - "vertices": [] + "size": 4 }, { "source": { - "block": "270594ca-dba5-499a-8030-08e69613c220", - "port": "outlabel" + "block": "d5ab6421-1fc7-4d8d-8124-2cc7e0eb931d", + "port": "637e64f4-0a6b-4037-9a75-89397e078a58", + "size": 4 }, "target": { - "block": "776c027a-a389-4046-82ee-fa3d006ba0b1", - "port": "0b91cb0d-4144-4939-8755-e331104016db" + "block": "ba04e310-65e0-4554-ba2b-fbde28690a0b", + "port": "inlabel" }, - "vertices": [ - { - "x": 544, - "y": 616 - } - ] + "size": 4 }, { "source": { - "block": "043752cd-506b-478d-affc-bdad68d7d0a9", - "port": "outlabel" + "block": "d6ce7b9d-d8cf-4cde-85a8-589536fcc3a3", + "port": "eb61d084-ca22-4894-b8a2-f936db38f4b1", + "size": 4 }, "target": { - "block": "e96fe029-12e1-4f3a-b939-fa6209fe6269", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" - } + "block": "dc0243cd-75d9-4b07-bc17-150c250121ba", + "port": "inlabel" + }, + "size": 4 }, { "source": { - "block": "a04d00a7-87f1-485e-b24e-13078b946ef8", - "port": "outlabel" + "block": "d6ce7b9d-d8cf-4cde-85a8-589536fcc3a3", + "port": "637e64f4-0a6b-4037-9a75-89397e078a58", + "size": 4 }, "target": { - "block": "1bf31738-b963-4b88-b792-23f90903e2b0", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" - } + "block": "bc495131-253e-49c9-9cd7-9e843cbe7ce5", + "port": "inlabel" + }, + "size": 4 }, { "source": { - "block": "b07ab569-1013-48d4-916e-4e447f8ea11b", - "port": "memory-out" + "block": "53d3821c-4072-438d-a45e-3a5364fdc8bc", + "port": "outlabel" }, "target": { - "block": "776c027a-a389-4046-82ee-fa3d006ba0b1", - "port": "d80bfd80-1f6d-46af-b5de-5cd121ebe630" + "block": "840ba8a1-693f-4531-a947-adcaeac4e854", + "port": "d192d0af-e7be-4be6-925a-50227d80784c", + "size": 4 }, - "vertices": [] + "size": 4 }, { "source": { - "block": "776c027a-a389-4046-82ee-fa3d006ba0b1", - "port": "2f18358c-ebaa-4fbf-99b4-610ab78deed2" + "block": "7905afe7-6a82-43d9-811b-45f379a3c0a9", + "port": "outlabel" }, "target": { - "block": "70e71886-1594-499c-a6f5-a865165730a0", - "port": "25996d5e-6856-4828-8cb3-5dea5ff5cf9c" - }, - "vertices": [], - "size": 8 + "block": "840ba8a1-693f-4531-a947-adcaeac4e854", + "port": "c2d36218-be99-4dd1-bf69-7690c667255b", + "size": 4 + }, + "vertices": [ + { + "x": 272, + "y": -256 + } + ], + "size": 4 }, { "source": { - "block": "bcc2e005-127b-4ef9-9b22-b07725cda3e2", - "port": "74b8320c-7097-4f7b-9c14-fdd8d9a379ca" + "block": "383985cb-fd11-48ff-972a-cee8b631bd65", + "port": "outlabel" }, "target": { - "block": "776c027a-a389-4046-82ee-fa3d006ba0b1", - "port": "9598f3a5-bf63-4e35-ac2e-329d93da7d81" + "block": "7a4072f6-7500-4b87-86dc-2c63246b510b", + "port": "d192d0af-e7be-4be6-925a-50227d80784c", + "size": 4 }, - "vertices": [], "size": 4 }, { "source": { - "block": "bcc2e005-127b-4ef9-9b22-b07725cda3e2", - "port": "afe50480-6fe5-4ca6-b639-c730569a6a1d" + "block": "bd04885a-8a3a-4215-bbf1-c472c10c44f5", + "port": "outlabel" }, "target": { - "block": "776c027a-a389-4046-82ee-fa3d006ba0b1", - "port": "9931384a-74ee-4de4-9df7-cc04fd19cf46" + "block": "7a4072f6-7500-4b87-86dc-2c63246b510b", + "port": "c2d36218-be99-4dd1-bf69-7690c667255b", + "size": 4 }, - "vertices": [], - "size": 8 + "vertices": [ + { + "x": 384, + "y": -400 + } + ], + "size": 4 }, { "source": { - "block": "bcc2e005-127b-4ef9-9b22-b07725cda3e2", - "port": "c79430a3-a90f-40e9-af05-e6da44b5ac8d" + "block": "840ba8a1-693f-4531-a947-adcaeac4e854", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "776c027a-a389-4046-82ee-fa3d006ba0b1", - "port": "c61902b3-38ce-45bf-98c9-322638c2264b" - }, - "vertices": [] + "block": "7a4072f6-7500-4b87-86dc-2c63246b510b", + "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" + } }, { "source": { - "block": "1b598360-9767-43a3-ae76-33599d7814a1", - "port": "53acced8-0736-40f7-8db1-7103a21f31c2" + "block": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86", + "port": "out" }, "target": { - "block": "70e71886-1594-499c-a6f5-a865165730a0", - "port": "5c70a159-1900-4d97-9e7d-961876e03bbe" - }, - "vertices": [], - "size": 4 + "block": "840ba8a1-693f-4531-a947-adcaeac4e854", + "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" + } }, { "source": { - "block": "e96fe029-12e1-4f3a-b939-fa6209fe6269", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + "block": "4bf17d89-89b8-4524-800a-2d15f9bbb111", + "port": "out" }, "target": { - "block": "70e71886-1594-499c-a6f5-a865165730a0", - "port": "dbe1622c-3510-4132-8b5c-2fbf81d7f581" + "block": "d6ce7b9d-d8cf-4cde-85a8-589536fcc3a3", + "port": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e" }, - "vertices": [ - { - "x": 1128, - "y": 888 - } - ] + "size": 8 }, { "source": { - "block": "bcc2e005-127b-4ef9-9b22-b07725cda3e2", - "port": "c79430a3-a90f-40e9-af05-e6da44b5ac8d" + "block": "3867504b-f331-4e0e-b923-acc86cb4255c", + "port": "out" }, "target": { - "block": "e96fe029-12e1-4f3a-b939-fa6209fe6269", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + "block": "d5ab6421-1fc7-4d8d-8124-2cc7e0eb931d", + "port": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e" }, - "vertices": [ - { - "x": 560, - "y": 920 - } - ] + "size": 8 }, { "source": { - "block": "1bf31738-b963-4b88-b792-23f90903e2b0", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + "block": "0e0cf23b-5743-4a19-838d-fb46d407ee16", + "port": "1269698e-e555-4fcb-a613-cb4c7ff2e598" }, "target": { - "block": "70e71886-1594-499c-a6f5-a865165730a0", - "port": "49fb1766-1e7f-4706-9872-a6cd65cc9f2d" + "block": "9daaaf78-5a89-4d4a-a1b2-db1d3af962f1", + "port": "in" }, - "vertices": [] + "size": 8 }, { "source": { - "block": "bcc2e005-127b-4ef9-9b22-b07725cda3e2", - "port": "9751f777-00ec-46c1-8d85-07d2dec1e653" + "block": "840ba8a1-693f-4531-a947-adcaeac4e854", + "port": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42" }, "target": { - "block": "1bf31738-b963-4b88-b792-23f90903e2b0", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + "block": "0e0cf23b-5743-4a19-838d-fb46d407ee16", + "port": "843164ff-f7d8-48b9-bf59-1e0d1135c81f" }, - "vertices": [ - { - "x": 504, - "y": 992 - } - ] + "size": 4 }, { "source": { - "block": "8fd18a6c-a1d7-494a-916f-fe51094f3872", - "port": "out" + "block": "7a4072f6-7500-4b87-86dc-2c63246b510b", + "port": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42" }, "target": { - "block": "bcc2e005-127b-4ef9-9b22-b07725cda3e2", - "port": "3178c182-b1bd-4e92-bc67-6e0868b62279" + "block": "0e0cf23b-5743-4a19-838d-fb46d407ee16", + "port": "a1770adf-e143-4506-9d87-3cb9c870f534" }, - "size": 14 + "size": 4 }, { "source": { - "block": "70e71886-1594-499c-a6f5-a865165730a0", - "port": "d3e51db6-385f-454c-ab74-d71058b21962" + "block": "7a4072f6-7500-4b87-86dc-2c63246b510b", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "29234969-c318-4201-b86b-7bbc0f38d2c2", + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", "port": "in" }, - "size": 14 + "vertices": [ + { + "x": 624, + "y": -392 + } + ] } ] } } }, - "d49d834a24f78bb30b74683564d2f13a5cada9fa": { + "8cc49c9b29485f2cfeab6064d7bb1cf9ced045b1": { "package": { - "name": "Memory-16B", - "version": "1.0", - "description": "16 Bytes Synchronous memory", + "name": "Bus16-Join-half", + "version": "0.1", + "description": "Bus16-Join-half: Join the two same halves into an 16-bits Bus", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20viewBox=%220%200%2087.168922%20106.43202%22%20height=%22402.263%22%20width=%22329.457%22%3E%3Cg%20transform=%22translate(-159.832%20-119.548)%22%3E%3Cimage%20xlink:href=%22data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAgM0lEQVR4Xu1dCZBU1bm+PdPTM8CM%20AgMO+yCrAq4oGjWKIIorcYnRlD59saImGlOaqK/UPPeHu5VyjyYuMRu+uFVEjRqX4FNRQURwQVxQ%20YdiGZQYGepZ+33frfK9Oneq+t+/0zHTad/+qU7fv7bt0n/8///L9/znX+1ZTTDHFFFNMMcUUU0wx%20xRRTTDHFFFNMMcUUU0wxxZToofuX8XPo82LqcLaZUhUAMbucraKi4viysrI9jCBkp5gybKBH0un0%20cuy3URC6WwiSXvcRmV9ZVVV1azKZPBvN69+/vzd06FBv2LBh1mkxff31197ixYvJfa+1tfUnHR0d%20x7W1tc3HV2kJQakJQBmZjzYUo99n/qRJk7xTTz3V69WrV5bTY/rmm2+8u+++29u6desO2L0cAnCq%20YXy61AQgYe5bBebvB9XvJRIJ79hjj/VSqZTX3t6e5ZKYBg0a5B133HHenDlzPPRZLQ5VG+a3lpwJ%20kPoH83uT+Ww77rhjCPNjYh+Z/hqK3T5oW9C2obWXlAaQAMCm9SovL/cGDx7sQaWFXBbTTjvt5AsA%20+qwOu7SVSTnOpSgASdBkSjTtPhybkMtioomkyWTjLvmjSK0UncAkJLmMAgDKUwBiqqur81atWkUt%200Bcmc2XJaQCBPtqCvMrKyjztf0wIm9lp1AbjW1paPrIwlUzJaAAJAKgajbYtTwGIaeDAgd6KFSv8%20zmMfloIJcCFf3rOCDT7AKAgAAY78nMCYqC3lB/Q1/Zgy4WB7AERcVAFIiPE333zz6JEjR565ffv2%20Xlu2bKm58847d2psbKQAhGiAmOQr1dTU+J8PPPDAE37wgx8MhgO9BeZg++bNm18588wzXzYQcXtX%20CUGii5ifuuyyy8YD7Fk4YMAAOTHelVde6X300UfejBkzPAhGwG1i5ksA2HdPPfWUd/LJJ7NRczKM%209iOp55577oyzzjrrvwkOGUHIFFsDJIya6nPQQQfdSweGKoyNAgBNIIcmRxQQM15ELcl9oKdU/4yh%202W/sR/anvz98+PD/wqnPozUZc9BeFA3gMv/GG288CgLwaL9+/by+fft6q1ev9gXgqKOO8v/MEUcc%204UOdJUxiUgSmRhv59va3v/2tnztBv9J0+k40Bxe16fLly2effvrpt1EIlCfobg2Q0FYq34J7q6ZN%20mzZ8v/32u5nSKonllhKrPACOyQcofQEonPlZma7GZ6jPFD5v27bN69Onj78/evTon/34xz9+/v77%20719s+NFup5OjOoqJKA7ezjvvPAuM7QuGJkBlyFtXgNkzMbrHUXUx3Utmf/XVVz7zTzrpJL9TTjnl%20FK+EieYrAuO1H8r8nBrgb3/7m1dbW+vNnj3bfzY165AhQ7zPPvvM9wlWrly5DFnD5yAUaQhMB4Qk%20g/My0LxPn3POOQuiOIqJPCDd1IMPPnjiiBEjHiFzObK15Y9Zs2aNn+Ovrq5mKtP74IMPlPjxfvGL%20X3ggCkKpC0AhjNdxfbZb1u9ffPFFb8OGDd4dd9zB+gBv/fr13pgxYzw62OzzTz75hKaWfc5+5jFt%20aX5/hrT7gzQPchQ7awLKZOPB4Nly7CQAbBzlUv38/P7773vQEs0vv/zyckhpNTpkNK6X+i911a/P%20UUe8y2jdI6tgiMj4t956axGFb88996wD0wfRDJDp7G/wQ+l18kJbaoo7jjzyyL8/++yzX8tR7JQG%20EPPRasHQT/FwPkBCwCaJ8zXAhx9+6Esp4lVJqXfDDTf42uDggw/uSVsscjtd+1Gu1/lsETRAkLoP%201whLlizx2+9//3uNbm/8+PHe22+/7e2yyy5ECmluXQ3A5kdeTz/99OlwIOfiVs0mZMwUpAEA6pDx%20fKgEQM6ez4w33niDQuDbLVJzczO/U1hDFdqVjC/cMYt+vYRAx8JUvCtA+Qinew/aeoZ+ZDAjAZ/p%20L730EiMEAkbsY35HXnDLfqdJZn/3poOO1kIB6KwJSAjWBZOXbtq0acK6det4c7v5Dx83bhwZQcEg%20w33mAwFkR7goYE8LghgSpgGiMknfBal7Nff5bIHnsx+5hZPN/vQZrKTaPvvsw/IxagGZYTX1/Qo4%207B8Y/y1RSBiokKIDCN9//upXvzoRUjgMzKxgBMBIgIQQpQwJjElQRymZBgoAnRj9GVzTE/Y5aDQV%20cr39XRRV79p6CQKZlfV7HaPZlPYk0zm6JQDIEHKkL2tqatrcAWIEwMvwfevatWu/efTRR1+wI4BC%20BYA32o625dprr32R/gBab3NdObzSGoAWp+AHp+QfSOVLimWnihSjizGFXu9+7zLVfYaOaWt/lkl0%20Ge+eRy0qbIX7cvoIq484/vjjH4BGbrJCvq1oG9BWo20zqj/U9iZC1H81mY5q1csQ6x+KeHSkHQbS%204VMRA4/RLr3zzjsefYbXXnuNjTbMb98KClf37ne5jkkLZDUX7Nd//vOf3ne/+13vkEMO8Xr37s1I%20gJqAZsHXrtAATB3bTiCPrYXf8NpvfvObG8GHz4UWFuIElkGl/BwO3r+7IaCwfkqlnEH+6LFjx3Kf%20zJc0f9vyAO7IzmfUZ8MW3OO6BweStGd6t912S5Hpb775pjd58mSli8lw5Q3kBBIbGIhrT0QSbgTM%209jGqJ+iMACivX4VM1BnCAOwmW88fy+8XLFjAH9R49NFHPwNPNA3I8mgcHwTp/bYIQC47HmYqcp7j%20OpiuxnjssceW3X777f/D/YcffvhwhIH1+++/vwYd+10aQELBRuRw3/PPP38s0vGLFQayRRWASrQ+%20YF6N7BCbGwYyTUnmm+rf/n/+859P5+df//rX3scff+ypIORbQLkAnSAH0T2WCxDKeg5yLBP/9Kc/%20TbSdwHnz5tEcKMyWj2BjATQhHIzjcJtPjA/XHlUDCAPoDa9T6kXhhv9gMXbhwoW0RYxTqf4JBUtA%205PCUPBLo2m2X+focgQLxAWL+ep4YTJyFnxsaGuhnMSlE6F0mVlv6ATzOaKHNDOLyzkQBSgKVY87a%20vXBEzqVU8eZ8iJhKdJB2CRgBpZPHZaPowRbTB3DVaqHXh4V67oiOKgTaJ+MY40sA5PlL8xJsI/PT%20mE+YIlDEczTYYG7pN9BJnHfvvfd+lk9NYTIkBGy9/PLLn5syZcoqPHRnaIIqU6yYAGMpWeWoA9h1%203333HQfG0ymk6uEPlQAwj01hKVUBEEPz9eZzYQt5h6LLli0jw3k+4XRXALjPnMt6wL3zySOc126u%207QBrtmOQrnnmmWfeVh1hZ5NBHWS+iS03zp8//2O0tSY3UG5a6phjjhkPp2Sc4n/lsCWRaMUe/WJM%20IdcGaQD+vyBgxx7pYc/loGHmz36WgCBbAJgXGAwsoOamm26aJ0ab1kJ+oTWibdF3hQhAC8KQjtNO%20O+0QPPBgSFh5whCksgwmYJjtINIUfPnll2SARkexBUCd35UCQIa710SCjd3vlTHl6Hc1Co9xS5yf%20dl8a4fDDD5+2xx57jAAPVA/gI7eoKVz4/PPPz4EWkAB0RBWAhGl8SM0FF1xwPx4yXo6dtgR7Nm7c%20qOofZgVZrsSctf8ZxOOlYv+DGGcLM7dhYV02LRAaKXz66adZsQH6A6NGjfK++OILf4ChLoMCwHQx%20ne8x6G95/0oaTdh1112PQ6Rw8vXXX/9GZ6FgqviKH/7wh6cB5h2fDQPgD6Dal+3HH6D6WoLpzSuQ%20H6hFR00pCQEITwa5zHcdvygYQFYBBYbPweQy33/ek08+OR9+1DqM9tqJEyfuB6bT0dM6C9II8hNk%20LmrgnJ+Nr98xvGyPggMIBOoNaZqZCwOgACgWfe+99wgHUyv0wxz3fvBOK1naDCqeAES3wdkydmJ6%20ULVPlJSve4whm7z+rNfuvffew1BnMYz9iMGYBhiUAj7AwWfnB1xAiP1eTx4aHKA1qgmoQOuFZMM2%20Le0iVS8hkF2aO3euX6Sw++678/gQNP04tmJhAO4oDTtH4Wouu5+rHiDoWNjz+Tyqdqn+XGsGDGEx%20CJnKfqYJIBhUX19PbMBGAwXPU5swZE8aAWg2g7o9igDwghTU+st4yIEo8qR614PUuNYPcQB2gh0B%20KEnEzz2NAopRQUwPvc62+7YwhJHLePd+7rmI5VnxG6hdpGnJZEHAsPF+4ccLL7ygzKsGp2oFeXyp%20GchlnU0Hd1xzzTXzZs2add306dMPwg1T6AS/yIC1AHhgAn+gDAKyN+yRoGEJQE+HgTbTIwhA4LlK%20bbueea578ry8439oVwI2YfWECv2k1qVdOcqX4bNqAjIQlAySRh1pELTywoceeuhFjfqoAkCOtZmc%208mbY8vfQvsF+jSTKXFcJ3P80FSdasCVbT6OAfE6AAETzB8TMELJHdyR4mBEUwrW8tAqFRFgAeKuq%20HxZ/1iE8nwsHkuq2VcCdUfmN5J3hYVvUbGDGXNTCm8ABqcVExYGQsio0nl9ObYBc9QGIS4fpB0kA%20ILHqCDGm2GrfPTdSvt9toKAQMBQSpsqX05cHUdXbA0ueP0PAHe67776TkSz6K/q8FfdrY8PnXsBi%20Nr/yyiubyMNOFYWqnBiFIMfAAbnBjQA0H4CMFvYPtUMcm99zCpPjHUemqPa7K+bm2aPfbi4zXSaH%20ZvtssAfMsZy+cGKU8Prrr8u790w6WFp28HnnnXc+czJ2JMDt2Wef/QjC+EsiQcH2TKCf/vSnoydM%20mEDm55wPIPWPknCqpmY4i58atTUGm2qZgH/xtK6Y7gI/dtMxCbUNCGk/0PaT6eifKMzX/IA0/IWl%20uI4O9xhA8tUHHHAAGc0+Z3OxAG4ZIfzb7373u0U/+tGPHrDKwzKhGkBz/hBrni6VLqbbn/VgxPy0%20aXT81iFV2c7vlL9mKxIFedZBJVuuANgYiC0IWa9xBcl2hOnxa7Z0BGJ+IAVktZ1C9eqrr34BQGgS%20J+DstddedmGIRr6azAUHYq+gxFAyFwYAhlbxB8vDd6Fgph5ZnkxnBhlBerUjEaeOxHcMGYVs9SST%20XTXunhNUjp1LACT4OuYyOFeuwN5nH3WK+boe4NpkMpU8QG6GU8c4SYSwO7Ot2YpCOCiJMFYRC5Av%20EMUEpABQLCHowHBF8/5tIu6PQlECEtQGFBTNExDzu0MAwpgpFet+F8z4cAFwr8l79EMrkhkF9YVU%20vJjNmgCG2iy+Yf/zmO1n0G8gwTfYbkVuiUg4wK233roIocYcqJyD8cBBkmp1Do41IzlBhldbtqi7%20BUCMCMvURREAXeMCP3axRdSmkS9MpCBBp++AbKwPCilFvMMOO6QBCDUCgh+kCEihMPiyEY7466gL%20fKJTOIBSwZjd+zi2LErsh1apKiFeN3PmzJFXXXXVLI4ONcs77Q4BiFKCnU0AwkZ8wPGiMF8CYDt6%203FcVdurxxx9fftttt82x5gZ0GOx/o5kfsDXIASQlA0CgJrQNmIo0GGqmL6SrEq2cNQE1oDPOOMNO%20FPFHUvq6QwDEvDDmh2mIfBnsRgNhQuPmDKj2HeYXLADC/O0ld7iG0IHAFRrhiK8jBsCqIPAijRxN%20K2oCGslDGwyKBAQh3kxdcskls4Et7207f3LyiEopSmBCg3XrBDlce1kA5a3m3a0oDxtv2+9sQpS3%20AMj/IMgjh68ryHj/nC1MH4BRAZNzFAiqetZsHMucjJw/YQFQ/w1wFn+C6myiuB1RcAC2sl/+8pdX%20wM67zBfmLxDIF4SlS5d6tEfwTL8CQOSvC1CQAIQzsKsFINu9o5gHxfnsj67WfGT6avCigWX3eMZw%20ONx08MgHNTcEZBsEMz0bAjA1ihOoKWG9MPIPs3EAu5FUC0AQCCaCKGB/ABX9oY5YKl6IBsjmXefj%202UcVAG2D7mufn2ufI94N9bpSANi/dejbOo5sMp9l44DoyQOZBxcHUCZ2l1tuuWVfDOZ5uXyBZI4J%20IdX4MzVcm8bWAPqsCSFaFwDlR5ocomyVmNYVDl4+4E22e0URAp0fKgDudWQ6R77sc3cQw0j5W0Bn%20WSPgm1xUCPG4iwOo0VQTla0jT+ULBGoAe0oY2lrUAwxEuKFRL/LVHNEoAD+Cg9kEQ0b3AcLj8rDz%20omiTIEdOlJXZrhDQBrP+UdhDdxHnY7hRAMwBcQD6AxRCt8BUi3RsRV3gEmEBkSaGYC7aLUgo/BwP%20GOJIvyYhNIL5/dHo/EkACBw5AhCZ8Z3VBtrm60i69wtkvnsNRxdr+XR+dxL7VQIgGB7amRnBZvgC%201RRABwsgGLQBcwcell8XFQdIo7hzKdq12B9gagHKhQPAIemDdQG+B+9TDiG3MhH5hoFBuHoU2DYb%20sztjXkKZr+JQ+DkclT2V6+AAk523cQGO8hRqAh7FHMxG4QDWWgHr0b4JWysgmQsEQtuMdOIQePf7%20EHTgqiBs6IAylCmPB0pYazkg/DFkJrdibHeM+nyAHzdTx2ORwkqX6fpMJI7MVxlXTxEdTJob8IH4%20ggSAWjh1xRVXHIEw/CPwhrzrIBaAz61AY1fAAfyQwhBFADISgj/+8Y8XA+s/xnUCyWyqPjJY8wEB%20OvDHsMlOhavjcMZHdwjdz+Fz/NTC7D4FW/aex3o6s0lnjn3PWgtlArlPSHggVmEbyLDQxQJQyLMP%20VhI5KbQs3MUALr300t3g3dvMd2sB1DhT1fcHnnjiiQWQ0jTO3x+d3j+LKg5KowYlVKLCv0EZw7yF%20T0zWdGsCMPq+GHTPPffM5fb73//+RDjg9ZivybUZqA1yYgHEcTBJ9ORzzz33/rxwAM35w41HK8HD%20G7lND+V8AGqBzz//fC1CkmGQ0ibkvSukItGij/rw40HMLhROVpO3rVCqaIyXFoPJHQbTm0IWdhPg%20efa9qoPCagJ2dsJABwfI8ro3jOKBzOgx3Wvj/ZrpQ3XDV50yHJw6dSqxgPEqB4MmYDawMyO5s0IQ%20ZRHH0BBTWkjhF4RZPkVRi1sOPfTQ3ckPMpYTQ7B4J00vcQGtHqowXIJAU81ooNKE9Vt4q7xwAEw8%20+AATPbZiejKLCeT9qnFU0A7xIaoF4GeZi6Awy7afUZgdBtkGCUC+foTqGch0OnwUcLu6qWhCoNBP%20CSEyW/X/1AQ0BfJXxCsKAWdrQSNHwgEybFiteiUeeAMqUWaiKGQ4vX9QQkzla0wgWYPhgFQ7qWA6%20ShKAqCM/2A8IX6SB2yjMd59HQIUjho0CYINaxV6rmGigFoWy1wxMAxD6ElP4iAVk0Dxu2TBI1/7l%20L395CeH6gnzTwYoA0lQXUOXvo63Bfl+0XlYtQAXeZTPhoosuGuv4BBQE4eE87uL4kRkOCmJa2HSv%20sHtJtUtdkukBL7cqriBQAKQBlIvh4pwo/96ACTxPaW6AtbbjJlMTsIX7eU0N08WaXIClxsbAw+/P%20eQAqBMGDdwBCON2pVVdIqCoabiM4gpF9gfxW6Q5v9O7p5LnVy0UUgvAZQiA5fXwryxRogvVIEK1A%20n/tCQBygEoTFpj90agI68jEB7Xg7Vd0JJ5zwACRsnJsIUtZLAoC4lKEgc9U2ChhVAKIJSDj8m7NA%20k8KpEYXUNUd9rmtzrv1XDGLCiQkg+l8sxhUKC4eb8f6ReCmHu3I4X9e/CotLn4Pyvoa8cAA5gXjB%20wy1wLGzm20KglarZiQwBGW9+CWdjPYSuBh01Vh1fIMAThtVHAZzYbHVPD1/OlZzbbHP8bOZrvxg+%20AAdeM3iyDJFANXCJscy5wPYrJUy+SPvas4UH431N90AAJltQfntWAVA1MFofPGhKrsUh7algzPtD%20/SzCJJJXqV4wVWzEd77znbH6IQWp//Da/chr95PJqmZyp3y7QuvOFnaFoYeJzvVmgEHzuHPxxRd/%20hWLdaQr/0Oz1hBQNCJUdCrh4+nXXXTfXrgkIEoBqwp4QgqwLQ1DV8yFcCpZFCQgVazET9Xv4LgMk%20sBfeciFp7MwI7xTcq3131GqSijx6mC4KrJa2t+cuqtPsY0FzAXtaG/BNLLVYtncWGcx8DON/ml7k%20ajgoyRdXA3BL/4ZRjd4fIF8gpwbgfhVuuBWLE/XOUgsgTJzM5yLQFJRhPMbzaFMxdYmd1LWjPvwe%209jO1r3WMKAAaHa59dxNHbsyv79mKxXz5LJXo8xGaH4CXRpCxHIAE5qjVstUE8Dues0FYQHhJGAiv%20JLsGb5+6QLUAjj0ns1dASEY48wFUGCFJ7DTkCyoogqB9h40UiKM5dq6nL0Zrm+14zn21HiIKr6IA%20qXyVizUiUqsGNpOyBJW8oNBsxNT+R4DrNJAVYUigpoVvxyLFS9CuNrUAVB/l9lvEEF6cxMWKskwI%204YMVBvYYw2Xfqe7gILkjPWCaeiiSmAvBLEZGUAJAYVY2ln1eceKJJz4EgW9WqGdai3l/wEpNDQsL%20AwUC8UbrjLrYrhdEmJaCw3cApowPcWsEhQgqZrXCr+4UADKbsTyl3bHdoat/BWkDl8HFYr77P2TK%20JBCMBGrw3uY9Acw9SX4JEDL2fqPh5WZ+l48AqBhkE5aInQoseRJHvVkaphw2pwKJiMOUJVRySEUg%202kYEgqKkaW01z0anrpA3g7jqPSgMLHpGEIUfeo2sPUOIOMAUvGOwCcc2kfk4Rl62oXhlKV44vQrR%202tZcq4Ym3VoAFBFOwtJkD+MhQ7NNCGGihD+C+4sWLeL6gEIBJZlkfr44QKTsIB0dRBruaC90RnGg%20utfxYhMZzsUl+P/Zz8Bd6IgLDOLqYdOdCSKcScwsYhOqt/kSiTeDfICEVDyygJfCcxwaMCGEW0UD%20tEdLYHe5SHEaAjIOD+4vAegEw9193p/PItMpYFGY4nr8BQhKUUlCSTRwSRrEUjD0yVhMQUuB6WET%20RGqwoATfJLqXfARbEyQdDKAGN58hECjXhBCqXYJACBNXQgtsxLYCmmADEMGMfACdHzG8U0WrMnMc%206RGYEk0Q1LElQBR+mgCfeeiTFryq7wvwYRyqg0MniOD8oVjuZwb8t7mWEGSyCUA1VTwQJt4w66IQ%20HJGcq8b1a/EjhoDpcgg9ZKb4lhBemy+Eq9WveF8y3Y1nu2OmTcm+sOKwww7bDXMx9FoYfwvgjXwg%20b7IWhbA/oZ2prbOCQUn3RdFgwlLYmgmK69mEoWs04v0A3OcKFQR/bCGRD+AyWfdQEzKXJ4Nicl8p%20z4IQ8gUmm1PFaCa5tXkgJJSTR7ZeffXVVmFIwLwAzCO7Ce+dPQ8MrYOzVwd/oNJ6nVkzsn9fwhEZ%20i5GfctYG5CjW4sddPBpjIrOhne03hckx5kBahtC8Foxm6l4oaBpRwGpo8yYsJ/eHrNlAeYWy/2gD%200UagDTUgUDVa0i4GeeCBB46DdzkKgkEUitlAaQBWrvpATPdQTIR/8WZwaV/2O/uf6eF1KP8mk1sd%20R2+rWTRyFdoKtAZTKLLd9QGEAWwx6FGKNzD7FXqHMN4dsD8mgo5SRCA0Suaie2PlmNx3CIkPCAEH%204GWRU1GoM8fE+20WPzeaWULN2bCApAMDp7GwwPAZM2bcgCTPWNl1MZhhHx+ulcOYjWI8KjBItr9b%20KCZqVy0aSbvOWdkSCNZk7AHnfA/wxl0trAER241ICT+WbdXQpA0Cgfn1WBz6Idy0xsUAGPrZkxBY%20lWJKx9fj+zRCtjRq1uu7LayKifaeo70BvgDRwEHvvvsuy8KVKFKBi1sUMghI4e14o/hK1BE854JB%20SXtCCEq9Z0GCxHy76SFML1IYOPI5B+CvSBrxHbUMC4fADtV3mwaIic4e52FQzXdMmzat7qyzzjqB%20L+dAWl6D0y0KkbngKmOn4rqX3UUjpQG47Q3vfqAyfE4xCG/Km2ttAHr688D8BSauTAAMqu3+apnY%20BzD2PP2Pf/xjPUZ/BXhzEvqcA5P8yYYFaI5DPau93DeIJO0ZQWB8K1U7gSAw1Mb0tWwpsX+uUPH+%20hRde+FccWmuSR0mopCHd7gTGoSD7vgkDlf1ehncDbwQAVAGmz6IPBpCIfoKwG9UEsDaCQrDOAEGK%206tpdJLDsrrvuehFTig+DJI2DTbcfrPlpvNF8FI3+wYQWqylRpoqoOR8BoGBRw5QKEWHj6CoW0c8C%205q+aBgI/O+It7Yu5y+7EuwOfx7wALtc7E4JRma14FZNHGgEFP2PVdbjzAX3VUIs2DK0eteaTEQUM%20ANMrcCNSBkxrA8zbgJKv5WS8EYC1+iGwSUdhIaPrKTgAkFjD5nde4RQT7DwhdvYnczD/geXfXrBq%20NerIY/gBQ+EfjOY7HdDKMiBo7zYIxfpnn312EXEANsOzZpkBlYJXkYloO/FmFAaznzLnCCdoNjjB%20GqvQIMnzsXDkz1EldDY9VAIWXUYxUetSAKiJuBjXJXhXEEfzZjN4+5Fvhmc11oqunmZ5WWDQGsO/%20FtsEZAxztaxIh7l5L7QKCYD1FpEmtE1mmzZSSEexRmAQVFYXqfnY5tPp1mLT3Gf9n+GHnLm0ccQ3%20GE2ekgC4PNPIz1YWrhuSWs3Jmg5mv0w6bc5rMZ8T5ruyBMiablWSoJAcp39F0iv4UKU1RoW/Wv/H%208KTJ4lmZg/BuYzPntbkCkNGJVl1guWkCiXROu91sIIkkpluOYylm3f7Vw0CZbQlBq2ktFvMTzsBV%2068g1MSRjtTb3HcLOOSJ9Tqj1CMNjSjhMFmNbrWOJAJ6FTg4VReFmGbJTEzXlqlsoJsK/rL9QfO4M%20Tm2jUbKrzCcApLcBB09k0WKXU0wq+2pBle/fHVVeEBU6XCtMuDgIbRRWF7sNocoYYgHFJL3mpRTJ%20rr9Mg+BQryOz8X+ake2bAxzgVSeeby+mAPCXVpvikeFo9cAA9kKoMoCARKKI9iAD4hZzHBsAj27j%20oVIKSOR4O5M8GtC+MtsN5nhHMQVAINKOBowYpKVlLRCpmNShpo4tMQFot1/jawCdtYb5muxRkGAn%20u0BSVXmyntLqgkhsRR5BGkWZEtQCAuAU5rGfm93K3mJqAGmBCjPiq0wTIJEoYudJA2S0LWEz0GZa%202rS2YjuB7j0UmyazgEjF70B7v7Qo42oz+1iRNED4vYrOfDHc3f4/o5hiiimmmGKKKaaYYooppphi%20iimmmGKKKaaYYooppv8FlJhXILrvZ3wAAAAASUVORK5CYII=%22%20preserveAspectRatio=%22none%22%20height=%22102.996%22%20width=%2287.169%22%20x=%22159.832%22%20y=%22119.548%22/%3E%3Cg%20transform=%22matrix(.7703%200%200%20.7703%2096.231%20157.67)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Ctext%20transform=%22scale(.98866%201.01147)%22%20y=%22173.585%22%20x=%22204.861%22%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20font-weight=%22400%22%20font-size=%2214.44%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#0ff%22%20stroke-width=%22.278%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20y=%22173.585%22%20x=%22204.861%22%20font-weight=%22500%22%3ESync%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20x=%22205.095%22%20y=%22147.504%22%20transform=%22scale(.98866%201.01147)%22%20font-weight=%22400%22%20font-size=%2219.302%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#ff0%22%20stroke-width=%22.504%22%3E%3Ctspan%20x=%22205.095%22%20y=%22147.504%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ERAM%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E" + "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=%22M164.218%2077.643L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v26.186l61.698.046c8.012-.043%2015.705%203.133%2021.47%208.81l61.448%2061.315a57.292%2057.292%200%200%200%2039.993%2016.139%2057.292%2057.292%200%200%200-39.993%2016.14L83.668%20190.45c-5.765%205.677-13.458%208.853-21.47%208.81L.5%20199.306v26.186h62.612c14.924.039%2029.463-5.9%2040.204-16.28l60.902-60.863a29.857%2029.857%200%200%201%2021.347-8.81l146.53-.113V86.457H185.571a29.884%2029.884%200%200%201-21.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "0b91cb0d-4144-4939-8755-e331104016db", - "type": "basic.input", - "data": { - "name": "", - "clock": true - }, - "position": { - "x": 120, - "y": 208 - } - }, - { - "id": "9598f3a5-bf63-4e35-ac2e-329d93da7d81", + "id": "5a35cd57-1006-4f6d-b263-5b977e9ef142", "type": "basic.input", "data": { - "name": "addr", - "range": "[3:0]", + "name": "1", + "range": "[7:0]", "clock": false, - "size": 4 + "size": 8 }, "position": { "x": 120, - "y": 288 + "y": 168 } }, { - "id": "2f18358c-ebaa-4fbf-99b4-610ab78deed2", + "id": "79c56f9a-597f-491e-b1d1-d321f63303c2", "type": "basic.output", "data": { "name": "", - "range": "[7:0]", - "size": 8 + "range": "[15:0]", + "size": 16 }, "position": { - "x": 936, - "y": 336 + "x": 632, + "y": 200 } }, { - "id": "9931384a-74ee-4de4-9df7-cc04fd19cf46", + "id": "38fdb02d-4323-4a34-9ffe-8385f844b660", "type": "basic.input", "data": { - "name": "d", + "name": "0", "range": "[7:0]", "clock": false, "size": 8 }, "position": { "x": 120, - "y": 376 - } - }, - { - "id": "c61902b3-38ce-45bf-98c9-322638c2264b", - "type": "basic.input", - "data": { - "name": "wr", - "clock": false - }, - "position": { - "x": 120, - "y": 456 - } - }, - { - "id": "d80bfd80-1f6d-46af-b5de-5cd121ebe630", - "type": "basic.memory", - "data": { - "name": "", - "list": "0 0 0 0 0 0 0 0\n0 0 0 0 0 0 0 0", - "local": false, - "format": 10 - }, - "position": { - "x": 464, - "y": 56 - }, - "size": { - "width": 200, - "height": 72 + "y": 264 } }, { - "id": "f5619044-1e4b-4218-bfc2-44eced6cb16a", + "id": "16e78204-213e-4833-9096-89d735307ec2", "type": "basic.code", "data": { - "code": "//-- Address with\nlocalparam ADDR_WIDTH = 4;\n//-- Data with\nlocalparam DATA_WIDTH = 8;\n\n//-- Size of the memory\nlocalparam SIZE = 1 << ADDR_WIDTH;\n\n//-- Memory itself\nreg [DATA_WIDTH-1:0] mem[0:SIZE-1];\n\n//-- The data_out is a registered output (not a wire)\nreg data_out;\n\n//-- Reading port: Synchronous\nalways @(posedge clk)\nbegin\n data_out <= mem[addr];\nend\n\n//-- Writing port: Synchronous\nalways @(posedge clk)\nbegin\n if (wr) mem[addr] <= data_in;\nend\n\n\n//-- Init the memory\ninitial begin\n \n if (ROMF)\n $readmemh(ROMF, mem, 0, SIZE-1);\n \nend\n", - "params": [ - { - "name": "ROMF" - } - ], + "code": "assign o = {i1, i0};\n", + "params": [], "ports": { "in": [ { - "name": "clk" - }, - { - "name": "addr", - "range": "[3:0]", - "size": 4 - }, - { - "name": "data_in", + "name": "i1", "range": "[7:0]", "size": 8 }, { - "name": "wr" + "name": "i0", + "range": "[7:0]", + "size": 8 } ], "out": [ { - "name": "data_out", - "range": "[7:0]", - "size": 8 + "name": "o", + "range": "[15:0]", + "size": 16 } ] } }, "position": { - "x": 312, - "y": 200 + "x": 296, + "y": 176 }, "size": { - "width": 504, - "height": 328 + "width": 272, + "height": 104 } } ], "wires": [ { "source": { - "block": "0b91cb0d-4144-4939-8755-e331104016db", - "port": "out" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o" }, "target": { - "block": "f5619044-1e4b-4218-bfc2-44eced6cb16a", - "port": "clk" - } + "block": "79c56f9a-597f-491e-b1d1-d321f63303c2", + "port": "in" + }, + "size": 16 }, { "source": { - "block": "c61902b3-38ce-45bf-98c9-322638c2264b", + "block": "38fdb02d-4323-4a34-9ffe-8385f844b660", "port": "out" }, "target": { - "block": "f5619044-1e4b-4218-bfc2-44eced6cb16a", - "port": "wr" - } - }, - { - "source": { - "block": "d80bfd80-1f6d-46af-b5de-5cd121ebe630", - "port": "memory-out" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i0" }, - "target": { - "block": "f5619044-1e4b-4218-bfc2-44eced6cb16a", - "port": "ROMF" - } + "size": 8 }, { "source": { - "block": "9931384a-74ee-4de4-9df7-cc04fd19cf46", + "block": "5a35cd57-1006-4f6d-b263-5b977e9ef142", "port": "out" }, "target": { - "block": "f5619044-1e4b-4218-bfc2-44eced6cb16a", - "port": "data_in" - }, - "size": 8 - }, - { - "source": { - "block": "f5619044-1e4b-4218-bfc2-44eced6cb16a", - "port": "data_out" - }, - "target": { - "block": "2f18358c-ebaa-4fbf-99b4-610ab78deed2", - "port": "in" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i1" }, "size": 8 - }, - { - "source": { - "block": "9598f3a5-bf63-4e35-ac2e-329d93da7d81", - "port": "out" - }, - "target": { - "block": "f5619044-1e4b-4218-bfc2-44eced6cb16a", - "port": "addr" - }, - "size": 4 } ] } } }, - "6050ed4fa033f3f13d3fe5fae5dcedb414a0fede": { + "a52e3be3d374c081062b542fc91c5cb1be726cb8": { "package": { - "name": "membus-16B-join", - "version": "0.0.1", - "description": "Join the fields into one 16B memory bus", - "author": "Juan Gonzalez-Gomez (Obijuan)", + "name": "Bus24-Join-8-16 CLONE", + "version": "0.1-c1628232010333", + "description": "Bus24-Join-8-16: Join the two buses into an 24-bits Bus", + "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=%22M164.218%2077.643L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v26.186l61.698.046c8.012-.043%2015.705%203.133%2021.47%208.81l61.448%2061.315a57.292%2057.292%200%200%200%2039.993%2016.139%2057.292%2057.292%200%200%200-39.993%2016.14L83.668%20190.45c-5.765%205.677-13.458%208.853-21.47%208.81L.5%20199.306v26.186h62.612c14.924.039%2029.463-5.9%2040.204-16.28l60.902-60.863a29.857%2029.857%200%200%201%2021.347-8.81l146.53-.113V86.457H185.571a29.884%2029.884%200%200%201-21.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "5c70a159-1900-4d97-9e7d-961876e03bbe", - "type": "basic.input", - "data": { - "name": "addr", - "range": "[3:0]", - "clock": false, - "size": 4 - }, - "position": { - "x": 128, - "y": 192 - } - }, - { - "id": "25996d5e-6856-4828-8cb3-5dea5ff5cf9c", + "id": "29a44a77-ec20-436d-a9e8-7fc2ca5de57e", "type": "basic.input", "data": { - "name": "data", + "name": "1", "range": "[7:0]", "clock": false, "size": 8 }, "position": { - "x": 128, - "y": 264 + "x": 120, + "y": 168 } }, { - "id": "d3e51db6-385f-454c-ab74-d71058b21962", + "id": "756c8eb7-3567-48b4-9757-fe992499b794", "type": "basic.output", "data": { "name": "", - "range": "[13:0]", - "size": 14 - }, - "position": { - "x": 760, - "y": 288 - } - }, - { - "id": "dbe1622c-3510-4132-8b5c-2fbf81d7f581", - "type": "basic.input", - "data": { - "name": "wr", - "clock": false + "range": "[23:0]", + "size": 24 }, "position": { - "x": 128, - "y": 328 + "x": 640, + "y": 200 } }, { - "id": "49fb1766-1e7f-4706-9872-a6cd65cc9f2d", + "id": "c4ca0e6a-6557-45ee-8363-1bffebaad486", "type": "basic.input", "data": { - "name": "bbusy", - "clock": false + "name": "0", + "range": "[15:0]", + "clock": false, + "size": 16 }, "position": { - "x": 128, - "y": 400 + "x": 120, + "y": 264 } }, { - "id": "3545528c-05e2-4e95-8223-5b7b77587423", + "id": "16e78204-213e-4833-9096-89d735307ec2", "type": "basic.code", "data": { - "code": "assign o = {addr, data, wr, bbusy};\n\n", + "code": "assign o = {i1, i0};\n", "params": [], "ports": { "in": [ { - "name": "addr", - "range": "[3:0]", - "size": 4 - }, - { - "name": "data", + "name": "i1", "range": "[7:0]", "size": 8 }, { - "name": "wr" - }, - { - "name": "bbusy" + "name": "i0", + "range": "[15:0]", + "size": 16 } ], "out": [ { "name": "o", - "range": "[13:0]", - "size": 14 + "range": "[23:0]", + "size": 24 } ] } }, "position": { - "x": 328, - "y": 224 + "x": 296, + "y": 176 }, "size": { - "width": 352, - "height": 184 + "width": 272, + "height": 104 } } ], "wires": [ { "source": { - "block": "25996d5e-6856-4828-8cb3-5dea5ff5cf9c", + "block": "c4ca0e6a-6557-45ee-8363-1bffebaad486", "port": "out" }, "target": { - "block": "3545528c-05e2-4e95-8223-5b7b77587423", - "port": "data" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i0" }, - "size": 8 + "size": 16 }, { "source": { - "block": "dbe1622c-3510-4132-8b5c-2fbf81d7f581", - "port": "out" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o" }, "target": { - "block": "3545528c-05e2-4e95-8223-5b7b77587423", - "port": "wr" - } - }, - { - "source": { - "block": "49fb1766-1e7f-4706-9872-a6cd65cc9f2d", - "port": "out" + "block": "756c8eb7-3567-48b4-9757-fe992499b794", + "port": "in" }, - "target": { - "block": "3545528c-05e2-4e95-8223-5b7b77587423", - "port": "bbusy" - } + "size": 24 }, { "source": { - "block": "5c70a159-1900-4d97-9e7d-961876e03bbe", + "block": "29a44a77-ec20-436d-a9e8-7fc2ca5de57e", "port": "out" }, "target": { - "block": "3545528c-05e2-4e95-8223-5b7b77587423", - "port": "addr" - }, - "size": 4 - }, - { - "source": { - "block": "3545528c-05e2-4e95-8223-5b7b77587423", - "port": "o" - }, - "target": { - "block": "d3e51db6-385f-454c-ab74-d71058b21962", - "port": "in" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i1" }, - "size": 14 + "size": 8 } ] } } }, - "f1dc888a11b743f08087b6e65015fe269bed1f6f": { + "2db4d243dd03a8574fd42a0998d5f90be5caec10": { "package": { - "name": "membus-16B-split", + "name": "Bus28-Split-20-8", "version": "0.1", - "description": "Split a 16B memory bus into its fields", + "description": "Bus28-Split-20-8: Split the 28-bits bus into two buses of 20 and 8 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" }, @@ -7213,1134 +7121,1092 @@ "graph": { "blocks": [ { - "id": "74b8320c-7097-4f7b-9c14-fdd8d9a379ca", - "type": "basic.output", - "data": { - "name": "addr", - "range": "[3:0]", - "size": 4 - }, - "position": { - "x": 592, - "y": 32 - } - }, - { - "id": "afe50480-6fe5-4ca6-b639-c730569a6a1d", + "id": "e670e20a-36c4-4196-8e52-26e59367c270", "type": "basic.output", "data": { - "name": "data", - "range": "[7:0]", - "size": 8 + "name": "1", + "range": "[19:0]", + "size": 20 }, "position": { - "x": 624, - "y": 224 + "x": 608, + "y": 120 } }, { - "id": "3178c182-b1bd-4e92-bc67-6e0868b62279", + "id": "8dc63d68-e086-4db8-a819-610111258e7d", "type": "basic.input", "data": { - "name": "i", - "range": "[13:0]", + "name": "", + "range": "[27:0]", "clock": false, - "size": 14 - }, - "position": { - "x": 48, - "y": 248 - } - }, - { - "id": "c79430a3-a90f-40e9-af05-e6da44b5ac8d", - "type": "basic.output", - "data": { - "name": "wr" + "size": 28 }, "position": { - "x": 576, - "y": 344 + "x": 80, + "y": 208 } }, { - "id": "9751f777-00ec-46c1-8d85-07d2dec1e653", + "id": "b7518758-d519-431e-a19d-4a1197635efa", "type": "basic.output", "data": { - "name": "bbusy" + "name": "0", + "range": "[7:0]", + "size": 8 }, "position": { - "x": 536, - "y": 432 + "x": 608, + "y": 232 } }, { "id": "16e78204-213e-4833-9096-89d735307ec2", "type": "basic.code", "data": { - "code": "//-- Addr\nassign addr = i[13:10];\n\n//-- data\nassign data = i[9:2];\n\n//-- write\nassign wr = i[1];\n\n//-- Bus is busy\nassign bbusy = i[0];", + "code": "assign o1 = i[27:8];\nassign o0 = i[7:0];", "params": [], "ports": { "in": [ { "name": "i", - "range": "[13:0]", - "size": 14 + "range": "[27:0]", + "size": 28 } ], "out": [ { - "name": "addr", - "range": "[3:0]", - "size": 4 + "name": "o1", + "range": "[19:0]", + "size": 20 }, { - "name": "data", + "name": "o0", "range": "[7:0]", "size": 8 - }, - { - "name": "wr" - }, - { - "name": "bbusy" } ] } }, "position": { - "x": 224, + "x": 272, "y": 176 }, "size": { - "width": 264, - "height": 208 + "width": 240, + "height": 120 } } ], "wires": [ { "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "bbusy" + "block": "8dc63d68-e086-4db8-a819-610111258e7d", + "port": "out" }, "target": { - "block": "9751f777-00ec-46c1-8d85-07d2dec1e653", - "port": "in" - } + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i" + }, + "size": 28 }, { "source": { "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "wr" + "port": "o0" }, "target": { - "block": "c79430a3-a90f-40e9-af05-e6da44b5ac8d", - "port": "in" - } - }, - { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "data" - }, - "target": { - "block": "afe50480-6fe5-4ca6-b639-c730569a6a1d", + "block": "b7518758-d519-431e-a19d-4a1197635efa", "port": "in" }, "size": 8 }, - { - "source": { - "block": "3178c182-b1bd-4e92-bc67-6e0868b62279", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i" - }, - "size": 14 - }, { "source": { "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "addr" + "port": "o1" }, "target": { - "block": "74b8320c-7097-4f7b-9c14-fdd8d9a379ca", + "block": "e670e20a-36c4-4196-8e52-26e59367c270", "port": "in" }, - "size": 4 + "size": 20 } ] } } }, - "a0b8df28f3452068e469a9c210e4e62ae8c78900": { + "0f6c392fd18934000cbfa24f7cb7eab931e7c1b2": { "package": { - "name": "Valor_0_4bits", - "version": "0.0.1", - "description": "Valor constante 0 para bus de 4 bits", - "author": "Juan Gonzalez-Gomez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22255.888%22%20height=%22307.912%22%20viewBox=%220%200%20239.89529%20288.66753%22%3E%3Cg%20font-weight=%22400%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22372.115%22%20y=%22646.344%22%20font-size=%22335.399%22%20fill=%22green%22%20transform=%22translate(-326.544%20-434.037)%22%3E%3Ctspan%20x=%22372.115%22%20y=%22646.344%22%3E0%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22322.722%22%20y=%22721.624%22%20font-size=%2283.077%22%20transform=%22translate(-326.544%20-434.037)%22%3E%3Ctspan%20x=%22322.722%22%20y=%22721.624%22%3E0000%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22528.722%22%20y=%22721.624%22%20font-size=%2283.077%22%20fill=%22#00f%22%20transform=%22translate(-326.544%20-434.037)%22%3E%3Ctspan%20x=%22528.722%22%20y=%22721.624%22%3E0%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E" + "name": "Bus20-Split-12-8", + "version": "0.1", + "description": "Bus20-Split-8-12: Split the 20-bits bus into two buses of 8 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": { "graph": { "blocks": [ { - "id": "53acced8-0736-40f7-8db1-7103a21f31c2", + "id": "865e30d6-1832-4a16-a2b5-6bf334df5cf4", "type": "basic.output", "data": { - "name": "k", - "range": "[3:0]", - "size": 4 + "name": "1", + "range": "[11:0]", + "size": 12 }, "position": { - "x": 928, - "y": 256 + "x": 600, + "y": 144 } }, { - "id": "ad7918eb-22dd-4b6c-949f-e428f5a55530", - "type": "basic.constant", + "id": "6a8347bb-e6ee-494a-87c8-277445460362", + "type": "basic.input", "data": { "name": "", - "value": "0", - "local": true + "range": "[19:0]", + "clock": false, + "size": 20 }, "position": { - "x": 728, - "y": 152 + "x": 80, + "y": 208 + } + }, + { + "id": "b4a2e85c-b31d-4363-be79-79d23492dd85", + "type": "basic.output", + "data": { + "name": "0", + "range": "[7:0]", + "size": 8 + }, + "position": { + "x": 600, + "y": 232 } }, { - "id": "63e1b925-5baa-45a6-abc6-a7ababd05a49", - "type": "9274d3154d579c5922da669b25ca14097a46a22f", + "id": "16e78204-213e-4833-9096-89d735307ec2", + "type": "basic.code", + "data": { + "code": "assign o1 = i[19:8];\nassign o0 = i[7:0];", + "params": [], + "ports": { + "in": [ + { + "name": "i", + "range": "[19:0]", + "size": 20 + } + ], + "out": [ + { + "name": "o1", + "range": "[11:0]", + "size": 12 + }, + { + "name": "o0", + "range": "[7:0]", + "size": 8 + } + ] + } + }, "position": { - "x": 728, - "y": 256 + "x": 272, + "y": 176 }, "size": { - "width": 96, - "height": 64 + "width": 240, + "height": 120 } } ], "wires": [ { "source": { - "block": "ad7918eb-22dd-4b6c-949f-e428f5a55530", - "port": "constant-out" + "block": "6a8347bb-e6ee-494a-87c8-277445460362", + "port": "out" }, "target": { - "block": "63e1b925-5baa-45a6-abc6-a7ababd05a49", - "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" - } + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i" + }, + "size": 20 }, { "source": { - "block": "63e1b925-5baa-45a6-abc6-a7ababd05a49", - "port": "5ed3ad73-16e5-4dda-9483-c36394a97ad2" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o0" }, "target": { - "block": "53acced8-0736-40f7-8db1-7103a21f31c2", + "block": "b4a2e85c-b31d-4363-be79-79d23492dd85", "port": "in" }, - "size": 4 + "size": 8 + }, + { + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o1" + }, + "target": { + "block": "865e30d6-1832-4a16-a2b5-6bf334df5cf4", + "port": "in" + }, + "size": 12 } ] } } }, - "9274d3154d579c5922da669b25ca14097a46a22f": { + "c97ea62c7e57797474a81bca730a1b2bec259617": { "package": { - "name": "Constante-4bits", - "version": "0.0.1", - "description": "Valor genérico constante, de 4 bits. Su valor se introduce como parámetro. Por defecto vale 0", - "author": "Juan Gonzalez-Gomez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22145.608%22%20height=%22247.927%22%20viewBox=%220%200%20136.50729%20232.43134%22%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22293.115%22%20y=%22648.344%22%20font-weight=%22400%22%20font-size=%22335.399%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22%20transform=%22translate(-316.929%20-415.913)%22%3E%3Ctspan%20x=%22293.115%22%20y=%22648.344%22%3Ek%3C/tspan%3E%3C/text%3E%3C/svg%3E" + "name": "Bus12-Split-4-8", + "version": "0.1", + "description": "Bus12-Split-4-8: Split the 12-bits bus into two buses of 4 and 8 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": { "graph": { "blocks": [ { - "id": "5ed3ad73-16e5-4dda-9483-c36394a97ad2", + "id": "9a0bd20b-0206-4f0e-b07d-e96696b705c5", "type": "basic.output", "data": { - "name": "k", + "name": "1", "range": "[3:0]", "size": 4 }, "position": { - "x": 960, - "y": 248 + "x": 496, + "y": 16 } }, { - "id": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", - "type": "basic.constant", + "id": "46011ec6-127b-4e6b-83ca-aed5b18ae4d0", + "type": "basic.input", "data": { "name": "", - "value": "0", - "local": false + "range": "[11:0]", + "clock": false, + "size": 12 }, "position": { - "x": 728, - "y": 128 + "x": -32, + "y": 64 } }, { - "id": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "id": "99e7399f-ce06-4f67-ae35-0b9a6785d60e", + "type": "basic.output", + "data": { + "name": "0", + "range": "[7:0]", + "size": 8 + }, + "position": { + "x": 504, + "y": 104 + } + }, + { + "id": "16e78204-213e-4833-9096-89d735307ec2", "type": "basic.code", "data": { - "code": "assign k = VALUE;", - "params": [ - { - "name": "VALUE" - } - ], + "code": "\nassign o1 = i[11:8];\nassign o0 = i[7:0];", + "params": [], "ports": { - "in": [], + "in": [ + { + "name": "i", + "range": "[11:0]", + "size": 12 + } + ], "out": [ { - "name": "k", + "name": "o1", "range": "[3:0]", "size": 4 + }, + { + "name": "o0", + "range": "[7:0]", + "size": 8 } ] } }, "position": { - "x": 672, - "y": 248 + "x": 136, + "y": 0 }, "size": { - "width": 208, - "height": 64 + "width": 280, + "height": 184 } } ], "wires": [ { "source": { - "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", - "port": "k" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o1" }, "target": { - "block": "5ed3ad73-16e5-4dda-9483-c36394a97ad2", + "block": "9a0bd20b-0206-4f0e-b07d-e96696b705c5", "port": "in" }, "size": 4 }, { "source": { - "block": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", - "port": "constant-out" + "block": "46011ec6-127b-4e6b-83ca-aed5b18ae4d0", + "port": "out" }, "target": { - "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", - "port": "VALUE" - } + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i" + }, + "size": 12 + }, + { + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o0" + }, + "target": { + "block": "99e7399f-ce06-4f67-ae35-0b9a6785d60e", + "port": "in" + }, + "size": 8 } ] } } }, - "26ab4b14044d51c1bbe481de5533a9b47d267746": { + "ce38dc5eab555d38058730d56bf27972e5cbb202": { "package": { - "name": "Mem-16B-sample-machine", + "name": "Bus28-Join-4-24", "version": "0.1", - "description": "16B memory sample machine. Captura the input data and store it in the memory", + "description": "Bus28-Join-4-24: Join the two buses into an 28-bits Bus", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20viewBox=%220%200%2088.570022%20126.13218%22%20height=%22476.72%22%20width=%22334.753%22%3E%3Cg%20transform=%22translate(-158.43%20-96.411)%22%3E%3Cimage%20xlink:href=%22data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAgM0lEQVR4Xu1dCZBU1bm+PdPTM8CM%20AgMO+yCrAq4oGjWKIIorcYnRlD59saImGlOaqK/UPPeHu5VyjyYuMRu+uFVEjRqX4FNRQURwQVxQ%20YdiGZQYGepZ+33frfK9Oneq+t+/0zHTad/+qU7fv7bt0n/8///L9/znX+1ZTTDHFFFNMMcUUU0wx%20xRRTTDHFFFNMMcUUU0wxxZToofuX8XPo82LqcLaZUhUAMbucraKi4viysrI9jCBkp5gybKBH0un0%20cuy3URC6WwiSXvcRmV9ZVVV1azKZPBvN69+/vzd06FBv2LBh1mkxff31197ixYvJfa+1tfUnHR0d%20x7W1tc3HV2kJQakJQBmZjzYUo99n/qRJk7xTTz3V69WrV5bTY/rmm2+8u+++29u6desO2L0cAnCq%20YXy61AQgYe5bBebvB9XvJRIJ79hjj/VSqZTX3t6e5ZKYBg0a5B133HHenDlzPPRZLQ5VG+a3lpwJ%20kPoH83uT+Ww77rhjCPNjYh+Z/hqK3T5oW9C2obWXlAaQAMCm9SovL/cGDx7sQaWFXBbTTjvt5AsA%20+qwOu7SVSTnOpSgASdBkSjTtPhybkMtioomkyWTjLvmjSK0UncAkJLmMAgDKUwBiqqur81atWkUt%200Bcmc2XJaQCBPtqCvMrKyjztf0wIm9lp1AbjW1paPrIwlUzJaAAJAKgajbYtTwGIaeDAgd6KFSv8%20zmMfloIJcCFf3rOCDT7AKAgAAY78nMCYqC3lB/Q1/Zgy4WB7AERcVAFIiPE333zz6JEjR565ffv2%20Xlu2bKm58847d2psbKQAhGiAmOQr1dTU+J8PPPDAE37wgx8MhgO9BeZg++bNm18588wzXzYQcXtX%20CUGii5ifuuyyy8YD7Fk4YMAAOTHelVde6X300UfejBkzPAhGwG1i5ksA2HdPPfWUd/LJJ7NRczKM%209iOp55577oyzzjrrvwkOGUHIFFsDJIya6nPQQQfdSweGKoyNAgBNIIcmRxQQM15ELcl9oKdU/4yh%202W/sR/anvz98+PD/wqnPozUZc9BeFA3gMv/GG288CgLwaL9+/by+fft6q1ev9gXgqKOO8v/MEUcc%204UOdJUxiUgSmRhv59va3v/2tnztBv9J0+k40Bxe16fLly2effvrpt1EIlCfobg2Q0FYq34J7q6ZN%20mzZ8v/32u5nSKonllhKrPACOyQcofQEonPlZma7GZ6jPFD5v27bN69Onj78/evTon/34xz9+/v77%20719s+NFup5OjOoqJKA7ezjvvPAuM7QuGJkBlyFtXgNkzMbrHUXUx3Utmf/XVVz7zTzrpJL9TTjnl%20FK+EieYrAuO1H8r8nBrgb3/7m1dbW+vNnj3bfzY165AhQ7zPPvvM9wlWrly5DFnD5yAUaQhMB4Qk%20g/My0LxPn3POOQuiOIqJPCDd1IMPPnjiiBEjHiFzObK15Y9Zs2aNn+Ovrq5mKtP74IMPlPjxfvGL%20X3ggCkKpC0AhjNdxfbZb1u9ffPFFb8OGDd4dd9zB+gBv/fr13pgxYzw62OzzTz75hKaWfc5+5jFt%20aX5/hrT7gzQPchQ7awLKZOPB4Nly7CQAbBzlUv38/P7773vQEs0vv/zyckhpNTpkNK6X+i911a/P%20UUe8y2jdI6tgiMj4t956axGFb88996wD0wfRDJDp7G/wQ+l18kJbaoo7jjzyyL8/++yzX8tR7JQG%20EPPRasHQT/FwPkBCwCaJ8zXAhx9+6Esp4lVJqXfDDTf42uDggw/uSVsscjtd+1Gu1/lsETRAkLoP%201whLlizx2+9//3uNbm/8+PHe22+/7e2yyy5ECmluXQ3A5kdeTz/99OlwIOfiVs0mZMwUpAEA6pDx%20fKgEQM6ez4w33niDQuDbLVJzczO/U1hDFdqVjC/cMYt+vYRAx8JUvCtA+Qinew/aeoZ+ZDAjAZ/p%20L730EiMEAkbsY35HXnDLfqdJZn/3poOO1kIB6KwJSAjWBZOXbtq0acK6det4c7v5Dx83bhwZQcEg%20w33mAwFkR7goYE8LghgSpgGiMknfBal7Nff5bIHnsx+5hZPN/vQZrKTaPvvsw/IxagGZYTX1/Qo4%207B8Y/y1RSBiokKIDCN9//upXvzoRUjgMzKxgBMBIgIQQpQwJjElQRymZBgoAnRj9GVzTE/Y5aDQV%20cr39XRRV79p6CQKZlfV7HaPZlPYk0zm6JQDIEHKkL2tqatrcAWIEwMvwfevatWu/efTRR1+wI4BC%20BYA32o625dprr32R/gBab3NdObzSGoAWp+AHp+QfSOVLimWnihSjizGFXu9+7zLVfYaOaWt/lkl0%20Ge+eRy0qbIX7cvoIq484/vjjH4BGbrJCvq1oG9BWo20zqj/U9iZC1H81mY5q1csQ6x+KeHSkHQbS%204VMRA4/RLr3zzjsefYbXXnuNjTbMb98KClf37ne5jkkLZDUX7Nd//vOf3ne/+13vkEMO8Xr37s1I%20gJqAZsHXrtAATB3bTiCPrYXf8NpvfvObG8GHz4UWFuIElkGl/BwO3r+7IaCwfkqlnEH+6LFjx3Kf%20zJc0f9vyAO7IzmfUZ8MW3OO6BweStGd6t912S5Hpb775pjd58mSli8lw5Q3kBBIbGIhrT0QSbgTM%209jGqJ+iMACivX4VM1BnCAOwmW88fy+8XLFjAH9R49NFHPwNPNA3I8mgcHwTp/bYIQC47HmYqcp7j%20OpiuxnjssceW3X777f/D/YcffvhwhIH1+++/vwYd+10aQELBRuRw3/PPP38s0vGLFQayRRWASrQ+%20YF6N7BCbGwYyTUnmm+rf/n/+859P5+df//rX3scff+ypIORbQLkAnSAH0T2WCxDKeg5yLBP/9Kc/%20TbSdwHnz5tEcKMyWj2BjATQhHIzjcJtPjA/XHlUDCAPoDa9T6kXhhv9gMXbhwoW0RYxTqf4JBUtA%205PCUPBLo2m2X+focgQLxAWL+ep4YTJyFnxsaGuhnMSlE6F0mVlv6ATzOaKHNDOLyzkQBSgKVY87a%20vXBEzqVU8eZ8iJhKdJB2CRgBpZPHZaPowRbTB3DVaqHXh4V67oiOKgTaJ+MY40sA5PlL8xJsI/PT%20mE+YIlDEczTYYG7pN9BJnHfvvfd+lk9NYTIkBGy9/PLLn5syZcoqPHRnaIIqU6yYAGMpWeWoA9h1%203333HQfG0ymk6uEPlQAwj01hKVUBEEPz9eZzYQt5h6LLli0jw3k+4XRXALjPnMt6wL3zySOc126u%207QBrtmOQrnnmmWfeVh1hZ5NBHWS+iS03zp8//2O0tSY3UG5a6phjjhkPp2Sc4n/lsCWRaMUe/WJM%20IdcGaQD+vyBgxx7pYc/loGHmz36WgCBbAJgXGAwsoOamm26aJ0ab1kJ+oTWibdF3hQhAC8KQjtNO%20O+0QPPBgSFh5whCksgwmYJjtINIUfPnll2SARkexBUCd35UCQIa710SCjd3vlTHl6Hc1Co9xS5yf%20dl8a4fDDD5+2xx57jAAPVA/gI7eoKVz4/PPPz4EWkAB0RBWAhGl8SM0FF1xwPx4yXo6dtgR7Nm7c%20qOofZgVZrsSctf8ZxOOlYv+DGGcLM7dhYV02LRAaKXz66adZsQH6A6NGjfK++OILf4ChLoMCwHQx%20ne8x6G95/0oaTdh1112PQ6Rw8vXXX/9GZ6FgqviKH/7wh6cB5h2fDQPgD6Dal+3HH6D6WoLpzSuQ%20H6hFR00pCQEITwa5zHcdvygYQFYBBYbPweQy33/ek08+OR9+1DqM9tqJEyfuB6bT0dM6C9II8hNk%20LmrgnJ+Nr98xvGyPggMIBOoNaZqZCwOgACgWfe+99wgHUyv0wxz3fvBOK1naDCqeAES3wdkydmJ6%20ULVPlJSve4whm7z+rNfuvffew1BnMYz9iMGYBhiUAj7AwWfnB1xAiP1eTx4aHKA1qgmoQOuFZMM2%20Le0iVS8hkF2aO3euX6Sw++678/gQNP04tmJhAO4oDTtH4Wouu5+rHiDoWNjz+Tyqdqn+XGsGDGEx%20CJnKfqYJIBhUX19PbMBGAwXPU5swZE8aAWg2g7o9igDwghTU+st4yIEo8qR614PUuNYPcQB2gh0B%20KEnEzz2NAopRQUwPvc62+7YwhJHLePd+7rmI5VnxG6hdpGnJZEHAsPF+4ccLL7ygzKsGp2oFeXyp%20GchlnU0Hd1xzzTXzZs2add306dMPwg1T6AS/yIC1AHhgAn+gDAKyN+yRoGEJQE+HgTbTIwhA4LlK%20bbueea578ry8439oVwI2YfWECv2k1qVdOcqX4bNqAjIQlAySRh1pELTywoceeuhFjfqoAkCOtZmc%208mbY8vfQvsF+jSTKXFcJ3P80FSdasCVbT6OAfE6AAETzB8TMELJHdyR4mBEUwrW8tAqFRFgAeKuq%20HxZ/1iE8nwsHkuq2VcCdUfmN5J3hYVvUbGDGXNTCm8ABqcVExYGQsio0nl9ObYBc9QGIS4fpB0kA%20ILHqCDGm2GrfPTdSvt9toKAQMBQSpsqX05cHUdXbA0ueP0PAHe67776TkSz6K/q8FfdrY8PnXsBi%20Nr/yyiubyMNOFYWqnBiFIMfAAbnBjQA0H4CMFvYPtUMcm99zCpPjHUemqPa7K+bm2aPfbi4zXSaH%20ZvtssAfMsZy+cGKU8Prrr8u790w6WFp28HnnnXc+czJ2JMDt2Wef/QjC+EsiQcH2TKCf/vSnoydM%20mEDm55wPIPWPknCqpmY4i58atTUGm2qZgH/xtK6Y7gI/dtMxCbUNCGk/0PaT6eifKMzX/IA0/IWl%20uI4O9xhA8tUHHHAAGc0+Z3OxAG4ZIfzb7373u0U/+tGPHrDKwzKhGkBz/hBrni6VLqbbn/VgxPy0%20aXT81iFV2c7vlL9mKxIFedZBJVuuANgYiC0IWa9xBcl2hOnxa7Z0BGJ+IAVktZ1C9eqrr34BQGgS%20J+DstddedmGIRr6azAUHYq+gxFAyFwYAhlbxB8vDd6Fgph5ZnkxnBhlBerUjEaeOxHcMGYVs9SST%20XTXunhNUjp1LACT4OuYyOFeuwN5nH3WK+boe4NpkMpU8QG6GU8c4SYSwO7Ot2YpCOCiJMFYRC5Av%20EMUEpABQLCHowHBF8/5tIu6PQlECEtQGFBTNExDzu0MAwpgpFet+F8z4cAFwr8l79EMrkhkF9YVU%20vJjNmgCG2iy+Yf/zmO1n0G8gwTfYbkVuiUg4wK233roIocYcqJyD8cBBkmp1Do41IzlBhldbtqi7%20BUCMCMvURREAXeMCP3axRdSmkS9MpCBBp++AbKwPCilFvMMOO6QBCDUCgh+kCEihMPiyEY7466gL%20fKJTOIBSwZjd+zi2LErsh1apKiFeN3PmzJFXXXXVLI4ONcs77Q4BiFKCnU0AwkZ8wPGiMF8CYDt6%203FcVdurxxx9fftttt82x5gZ0GOx/o5kfsDXIASQlA0CgJrQNmIo0GGqmL6SrEq2cNQE1oDPOOMNO%20FPFHUvq6QwDEvDDmh2mIfBnsRgNhQuPmDKj2HeYXLADC/O0ld7iG0IHAFRrhiK8jBsCqIPAijRxN%20K2oCGslDGwyKBAQh3kxdcskls4Et7207f3LyiEopSmBCg3XrBDlce1kA5a3m3a0oDxtv2+9sQpS3%20AMj/IMgjh68ryHj/nC1MH4BRAZNzFAiqetZsHMucjJw/YQFQ/w1wFn+C6myiuB1RcAC2sl/+8pdX%20wM67zBfmLxDIF4SlS5d6tEfwTL8CQOSvC1CQAIQzsKsFINu9o5gHxfnsj67WfGT6avCigWX3eMZw%20ONx08MgHNTcEZBsEMz0bAjA1ihOoKWG9MPIPs3EAu5FUC0AQCCaCKGB/ABX9oY5YKl6IBsjmXefj%202UcVAG2D7mufn2ufI94N9bpSANi/dejbOo5sMp9l44DoyQOZBxcHUCZ2l1tuuWVfDOZ5uXyBZI4J%20IdX4MzVcm8bWAPqsCSFaFwDlR5ocomyVmNYVDl4+4E22e0URAp0fKgDudWQ6R77sc3cQw0j5W0Bn%20WSPgm1xUCPG4iwOo0VQTla0jT+ULBGoAe0oY2lrUAwxEuKFRL/LVHNEoAD+Cg9kEQ0b3AcLj8rDz%20omiTIEdOlJXZrhDQBrP+UdhDdxHnY7hRAMwBcQD6AxRCt8BUi3RsRV3gEmEBkSaGYC7aLUgo/BwP%20GOJIvyYhNIL5/dHo/EkACBw5AhCZ8Z3VBtrm60i69wtkvnsNRxdr+XR+dxL7VQIgGB7amRnBZvgC%201RRABwsgGLQBcwcell8XFQdIo7hzKdq12B9gagHKhQPAIemDdQG+B+9TDiG3MhH5hoFBuHoU2DYb%20sztjXkKZr+JQ+DkclT2V6+AAk523cQGO8hRqAh7FHMxG4QDWWgHr0b4JWysgmQsEQtuMdOIQePf7%20EHTgqiBs6IAylCmPB0pYazkg/DFkJrdibHeM+nyAHzdTx2ORwkqX6fpMJI7MVxlXTxEdTJob8IH4%20ggSAWjh1xRVXHIEw/CPwhrzrIBaAz61AY1fAAfyQwhBFADISgj/+8Y8XA+s/xnUCyWyqPjJY8wEB%20OvDHsMlOhavjcMZHdwjdz+Fz/NTC7D4FW/aex3o6s0lnjn3PWgtlArlPSHggVmEbyLDQxQJQyLMP%20VhI5KbQs3MUALr300t3g3dvMd2sB1DhT1fcHnnjiiQWQ0jTO3x+d3j+LKg5KowYlVKLCv0EZw7yF%20T0zWdGsCMPq+GHTPPffM5fb73//+RDjg9ZivybUZqA1yYgHEcTBJ9ORzzz33/rxwAM35w41HK8HD%20G7lND+V8AGqBzz//fC1CkmGQ0ibkvSukItGij/rw40HMLhROVpO3rVCqaIyXFoPJHQbTm0IWdhPg%20efa9qoPCagJ2dsJABwfI8ro3jOKBzOgx3Wvj/ZrpQ3XDV50yHJw6dSqxgPEqB4MmYDawMyO5s0IQ%20ZRHH0BBTWkjhF4RZPkVRi1sOPfTQ3ckPMpYTQ7B4J00vcQGtHqowXIJAU81ooNKE9Vt4q7xwAEw8%20+AATPbZiejKLCeT9qnFU0A7xIaoF4GeZi6Awy7afUZgdBtkGCUC+foTqGch0OnwUcLu6qWhCoNBP%20CSEyW/X/1AQ0BfJXxCsKAWdrQSNHwgEybFiteiUeeAMqUWaiKGQ4vX9QQkzla0wgWYPhgFQ7qWA6%20ShKAqCM/2A8IX6SB2yjMd59HQIUjho0CYINaxV6rmGigFoWy1wxMAxD6ElP4iAVk0Dxu2TBI1/7l%20L395CeH6gnzTwYoA0lQXUOXvo63Bfl+0XlYtQAXeZTPhoosuGuv4BBQE4eE87uL4kRkOCmJa2HSv%20sHtJtUtdkukBL7cqriBQAKQBlIvh4pwo/96ACTxPaW6AtbbjJlMTsIX7eU0N08WaXIClxsbAw+/P%20eQAqBMGDdwBCON2pVVdIqCoabiM4gpF9gfxW6Q5v9O7p5LnVy0UUgvAZQiA5fXwryxRogvVIEK1A%20n/tCQBygEoTFpj90agI68jEB7Xg7Vd0JJ5zwACRsnJsIUtZLAoC4lKEgc9U2ChhVAKIJSDj8m7NA%20k8KpEYXUNUd9rmtzrv1XDGLCiQkg+l8sxhUKC4eb8f6ReCmHu3I4X9e/CotLn4Pyvoa8cAA5gXjB%20wy1wLGzm20KglarZiQwBGW9+CWdjPYSuBh01Vh1fIMAThtVHAZzYbHVPD1/OlZzbbHP8bOZrvxg+%20AAdeM3iyDJFANXCJscy5wPYrJUy+SPvas4UH431N90AAJltQfntWAVA1MFofPGhKrsUh7algzPtD%20/SzCJJJXqV4wVWzEd77znbH6IQWp//Da/chr95PJqmZyp3y7QuvOFnaFoYeJzvVmgEHzuHPxxRd/%20hWLdaQr/0Oz1hBQNCJUdCrh4+nXXXTfXrgkIEoBqwp4QgqwLQ1DV8yFcCpZFCQgVazET9Xv4LgMk%20sBfeciFp7MwI7xTcq3131GqSijx6mC4KrJa2t+cuqtPsY0FzAXtaG/BNLLVYtncWGcx8DON/ml7k%20ajgoyRdXA3BL/4ZRjd4fIF8gpwbgfhVuuBWLE/XOUgsgTJzM5yLQFJRhPMbzaFMxdYmd1LWjPvwe%209jO1r3WMKAAaHa59dxNHbsyv79mKxXz5LJXo8xGaH4CXRpCxHIAE5qjVstUE8Dues0FYQHhJGAiv%20JLsGb5+6QLUAjj0ns1dASEY48wFUGCFJ7DTkCyoogqB9h40UiKM5dq6nL0Zrm+14zn21HiIKr6IA%20qXyVizUiUqsGNpOyBJW8oNBsxNT+R4DrNJAVYUigpoVvxyLFS9CuNrUAVB/l9lvEEF6cxMWKskwI%204YMVBvYYw2Xfqe7gILkjPWCaeiiSmAvBLEZGUAJAYVY2ln1eceKJJz4EgW9WqGdai3l/wEpNDQsL%20AwUC8UbrjLrYrhdEmJaCw3cApowPcWsEhQgqZrXCr+4UADKbsTyl3bHdoat/BWkDl8HFYr77P2TK%20JBCMBGrw3uY9Acw9SX4JEDL2fqPh5WZ+l48AqBhkE5aInQoseRJHvVkaphw2pwKJiMOUJVRySEUg%202kYEgqKkaW01z0anrpA3g7jqPSgMLHpGEIUfeo2sPUOIOMAUvGOwCcc2kfk4Rl62oXhlKV44vQrR%202tZcq4Ym3VoAFBFOwtJkD+MhQ7NNCGGihD+C+4sWLeL6gEIBJZlkfr44QKTsIB0dRBruaC90RnGg%20utfxYhMZzsUl+P/Zz8Bd6IgLDOLqYdOdCSKcScwsYhOqt/kSiTeDfICEVDyygJfCcxwaMCGEW0UD%20tEdLYHe5SHEaAjIOD+4vAegEw9193p/PItMpYFGY4nr8BQhKUUlCSTRwSRrEUjD0yVhMQUuB6WET%20RGqwoATfJLqXfARbEyQdDKAGN58hECjXhBCqXYJACBNXQgtsxLYCmmADEMGMfACdHzG8U0WrMnMc%206RGYEk0Q1LElQBR+mgCfeeiTFryq7wvwYRyqg0MniOD8oVjuZwb8t7mWEGSyCUA1VTwQJt4w66IQ%20HJGcq8b1a/EjhoDpcgg9ZKb4lhBemy+Eq9WveF8y3Y1nu2OmTcm+sOKwww7bDXMx9FoYfwvgjXwg%20b7IWhbA/oZ2prbOCQUn3RdFgwlLYmgmK69mEoWs04v0A3OcKFQR/bCGRD+AyWfdQEzKXJ4Nicl8p%20z4IQ8gUmm1PFaCa5tXkgJJSTR7ZeffXVVmFIwLwAzCO7Ce+dPQ8MrYOzVwd/oNJ6nVkzsn9fwhEZ%20i5GfctYG5CjW4sddPBpjIrOhne03hckx5kBahtC8Foxm6l4oaBpRwGpo8yYsJ/eHrNlAeYWy/2gD%200UagDTUgUDVa0i4GeeCBB46DdzkKgkEUitlAaQBWrvpATPdQTIR/8WZwaV/2O/uf6eF1KP8mk1sd%20R2+rWTRyFdoKtAZTKLLd9QGEAWwx6FGKNzD7FXqHMN4dsD8mgo5SRCA0Suaie2PlmNx3CIkPCAEH%204GWRU1GoM8fE+20WPzeaWULN2bCApAMDp7GwwPAZM2bcgCTPWNl1MZhhHx+ulcOYjWI8KjBItr9b%20KCZqVy0aSbvOWdkSCNZk7AHnfA/wxl0trAER241ICT+WbdXQpA0Cgfn1WBz6Idy0xsUAGPrZkxBY%20lWJKx9fj+zRCtjRq1uu7LayKifaeo70BvgDRwEHvvvsuy8KVKFKBi1sUMghI4e14o/hK1BE854JB%20SXtCCEq9Z0GCxHy76SFML1IYOPI5B+CvSBrxHbUMC4fADtV3mwaIic4e52FQzXdMmzat7qyzzjqB%20L+dAWl6D0y0KkbngKmOn4rqX3UUjpQG47Q3vfqAyfE4xCG/Km2ttAHr688D8BSauTAAMqu3+apnY%20BzD2PP2Pf/xjPUZ/BXhzEvqcA5P8yYYFaI5DPau93DeIJO0ZQWB8K1U7gSAw1Mb0tWwpsX+uUPH+%20hRde+FccWmuSR0mopCHd7gTGoSD7vgkDlf1ehncDbwQAVAGmz6IPBpCIfoKwG9UEsDaCQrDOAEGK%206tpdJLDsrrvuehFTig+DJI2DTbcfrPlpvNF8FI3+wYQWqylRpoqoOR8BoGBRw5QKEWHj6CoW0c8C%205q+aBgI/O+It7Yu5y+7EuwOfx7wALtc7E4JRma14FZNHGgEFP2PVdbjzAX3VUIs2DK0eteaTEQUM%20ANMrcCNSBkxrA8zbgJKv5WS8EYC1+iGwSUdhIaPrKTgAkFjD5nde4RQT7DwhdvYnczD/geXfXrBq%20NerIY/gBQ+EfjOY7HdDKMiBo7zYIxfpnn312EXEANsOzZpkBlYJXkYloO/FmFAaznzLnCCdoNjjB%20GqvQIMnzsXDkz1EldDY9VAIWXUYxUetSAKiJuBjXJXhXEEfzZjN4+5Fvhmc11oqunmZ5WWDQGsO/%20FtsEZAxztaxIh7l5L7QKCYD1FpEmtE1mmzZSSEexRmAQVFYXqfnY5tPp1mLT3Gf9n+GHnLm0ccQ3%20GE2ekgC4PNPIz1YWrhuSWs3Jmg5mv0w6bc5rMZ8T5ruyBMiablWSoJAcp39F0iv4UKU1RoW/Wv/H%208KTJ4lmZg/BuYzPntbkCkNGJVl1guWkCiXROu91sIIkkpluOYylm3f7Vw0CZbQlBq2ktFvMTzsBV%2068g1MSRjtTb3HcLOOSJ9Tqj1CMNjSjhMFmNbrWOJAJ6FTg4VReFmGbJTEzXlqlsoJsK/rL9QfO4M%20Tm2jUbKrzCcApLcBB09k0WKXU0wq+2pBle/fHVVeEBU6XCtMuDgIbRRWF7sNocoYYgHFJL3mpRTJ%20rr9Mg+BQryOz8X+ake2bAxzgVSeeby+mAPCXVpvikeFo9cAA9kKoMoCARKKI9iAD4hZzHBsAj27j%20oVIKSOR4O5M8GtC+MtsN5nhHMQVAINKOBowYpKVlLRCpmNShpo4tMQFot1/jawCdtYb5muxRkGAn%20u0BSVXmyntLqgkhsRR5BGkWZEtQCAuAU5rGfm93K3mJqAGmBCjPiq0wTIJEoYudJA2S0LWEz0GZa%202rS2YjuB7j0UmyazgEjF70B7v7Qo42oz+1iRNED4vYrOfDHc3f4/o5hiiimmmGKKKaaYYooppphi%20iimmmGKKKaaYYooppv8FlJhXILrvZ3wAAAAASUVORK5CYII=%22%20preserveAspectRatio=%22none%22%20height=%22102.996%22%20width=%2287.169%22%20x=%22159.832%22%20y=%22119.548%22/%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20x=%22205.695%22%20y=%22150.011%22%20transform=%22scale(.98866%201.01147)%22%20font-weight=%22400%22%20font-size=%2219.302%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#ff0%22%20stroke-width=%22.504%22%3E%3Ctspan%20x=%22205.695%22%20y=%22150.011%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ERAM%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20x=%22205.372%22%20y=%22110.296%22%20transform=%22scale(.98866%201.01147)%22%20font-weight=%22400%22%20font-size=%2219.302%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#00f%22%20stroke-width=%22.504%22%3E%3Ctspan%20x=%22205.372%22%20y=%22110.296%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ESample%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M206.647%20182.6a6.892%206.892%200%200%200-6.89%206.892c0%203.803%203.086%206.896%206.89%206.896%203.805%200%206.868-3.093%206.868-6.896%200-3.806-3.063-6.892-6.868-6.892zm13.814%2010.852l-1.242%202.991%202.215%204.35.293.575-3.072%203.072-5.039-2.38-2.991%201.228-1.519%204.648-.194.617h-4.341l-1.879-5.246-2.991-1.234-4.357%202.21-.575.287-3.07-3.069%202.378-5.042-1.233-2.989-4.64-1.515-.616-.2v-4.338l5.25-1.882%201.233-2.986-2.208-4.36-.291-.571%203.066-3.066%205.045%202.376%202.988-1.236%201.517-4.645.196-.616h4.34l1.88%205.253%202.983%201.236%204.358-2.212.58-.29%203.069%203.065-2.377%205.038%201.228%202.993%204.654%201.517.611.196v4.337z%22%20fill=%22#0ff%22/%3E%3Cg%20transform=%22matrix(.85604%200%200%20.85604%2085.035%2091.517)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E", - "otid": 1596697289362 + "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=%22M164.218%2077.643L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v26.186l61.698.046c8.012-.043%2015.705%203.133%2021.47%208.81l61.448%2061.315a57.292%2057.292%200%200%200%2039.993%2016.139%2057.292%2057.292%200%200%200-39.993%2016.14L83.668%20190.45c-5.765%205.677-13.458%208.853-21.47%208.81L.5%20199.306v26.186h62.612c14.924.039%2029.463-5.9%2040.204-16.28l60.902-60.863a29.857%2029.857%200%200%201%2021.347-8.81l146.53-.113V86.457H185.571a29.884%2029.884%200%200%201-21.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "34028c73-8f61-4f50-a039-0a57d6056946", - "type": "basic.outputLabel", + "id": "3a4ce56b-73a3-44ea-9cdb-fc2b3c62fb05", + "type": "basic.input", "data": { - "name": "addr", + "name": "1", "range": "[3:0]", - "blockColor": "navy", - "size": 4, - "oldBlockColor": "fuchsia" + "clock": false, + "size": 4 }, "position": { - "x": 872, - "y": -144 + "x": 120, + "y": 168 } }, { - "id": "40e3c20c-5598-44a1-b5b4-760dba97d882", - "type": "basic.outputLabel", - "data": { - "name": "din_r", - "range": "[7:0]", - "oldBlockColor": "fuchsia", - "blockColor": "fuchsia", - "size": 8 + "id": "c2b47079-3d57-467d-88eb-3c00fb497103", + "type": "basic.output", + "data": { + "name": "", + "range": "[27:0]", + "size": 28 }, "position": { - "x": 872, - "y": -64 + "x": 640, + "y": 200 } }, { - "id": "38abb13c-8652-41fb-931c-c7bf760ebb24", - "type": "basic.output", + "id": "3b957f7a-e94e-490f-8313-231ef9f2bdae", + "type": "basic.input", "data": { - "name": "busy" + "name": "0", + "range": "[23:0]", + "clock": false, + "size": 24 }, "position": { - "x": 1832, - "y": -56 + "x": 120, + "y": 256 } }, { - "id": "a040cc3d-b2c6-458e-bde6-f8234a19b6d1", - "type": "basic.outputLabel", + "id": "16e78204-213e-4833-9096-89d735307ec2", + "type": "basic.code", "data": { - "blockColor": "fuchsia", - "name": "busy" + "code": "assign o = {i1, i0};\n", + "params": [], + "ports": { + "in": [ + { + "name": "i1", + "range": "[3:0]", + "size": 4 + }, + { + "name": "i0", + "range": "[23:0]", + "size": 24 + } + ], + "out": [ + { + "name": "o", + "range": "[27:0]", + "size": 28 + } + ] + } }, "position": { - "x": 1640, - "y": -56 + "x": 296, + "y": 176 + }, + "size": { + "width": 272, + "height": 104 } + } + ], + "wires": [ + { + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o" + }, + "target": { + "block": "c2b47079-3d57-467d-88eb-3c00fb497103", + "port": "in" + }, + "size": 28 }, { - "id": "d1540ef0-9272-4082-9b24-9843ddb00cd7", - "type": "basic.outputLabel", + "source": { + "block": "3b957f7a-e94e-490f-8313-231ef9f2bdae", + "port": "out" + }, + "target": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i0" + }, + "size": 24 + }, + { + "source": { + "block": "3a4ce56b-73a3-44ea-9cdb-fc2b3c62fb05", + "port": "out" + }, + "target": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i1" + }, + "size": 4 + } + ] + } + } + }, + "4c653e8e349b6a3234fe482348bf8af9783d48c7": { + "package": { + "name": "28-Sys-reg-rst", + "version": "0.8", + "description": "28-Sys-reg-rst: 28 bits system register with reset. Verilog implementation", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20width=%22252.294%22%20height=%22220.368%22%20viewBox=%220%200%2066.75283%2058.305748%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M25.682%2041.088L39.29%2057.76l-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M18.298%2033.024L9.066%2013.41l-6.45%203.724-2.07-3.583%2020.905-12.07%202.069%203.584-6.092%203.517%2012.03%2018.223s5.399-2.025%208.535.74c3.137%202.766%202.52%204.92%202.887%204.773L17.192%2045.956s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M42.022%2040.152l13.607%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M34.638%2032.088l-9.232-19.613-6.451%203.724-2.07-3.583L37.792.546%2039.86%204.13l-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.137%202.766%202.52%204.92%202.887%204.772L33.532%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20transform=%22translate(-38.356%20-17.732)%22%3E%3Crect%20width=%2224.412%22%20height=%2213.185%22%20x=%2280.3%22%20y=%2221.375%22%20ry=%222.247%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%22.794%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:1.25%22%20x=%2282.245%22%20y=%2230.943%22%20font-weight=%22400%22%20font-size=%2210.583%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20x=%2282.245%22%20y=%2230.943%22%20font-weight=%22700%22%3ESys%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E", + "otid": 1618509859237 + }, + "design": { + "graph": { + "blocks": [ + { + "id": "34c6aff6-7aca-4cc1-8d79-d6143d2f6937", + "type": "basic.output", "data": { - "blockColor": "fuchsia", - "name": "wr", - "oldBlockColor": "fuchsia" + "name": "nc" }, "position": { - "x": 856, - "y": 24 + "x": 920, + "y": -24 } }, { - "id": "7fb933a6-5c63-4d46-8aaa-440b30974993", + "id": "83ce9e72-711d-44f2-bbf5-b01c201a652a", + "type": "basic.output", + "data": { + "name": "nc" + }, + "position": { + "x": 920, + "y": 56 + } + }, + { + "id": "0ae5a502-ee21-47ad-bacb-405a35a87a91", "type": "basic.input", "data": { "name": "", "clock": true }, "position": { - "x": -120, - "y": 80 + "x": 368, + "y": 64 } }, { - "id": "2c31aa6a-383c-4eb5-b669-b8a31ad14225", - "type": "basic.inputLabel", + "id": "892d93f1-9c4c-46c1-82c7-ff9702a5725a", + "type": "basic.input", "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "name": "rst", + "clock": false }, "position": { - "x": 24, - "y": 80 + "x": 376, + "y": 200 } }, { - "id": "8ca2279c-fdc3-40d3-9fbe-2071c026932f", - "type": "basic.outputLabel", + "id": "7995c7b0-4a39-4a19-aaa4-68f4e469912f", + "type": "basic.output", "data": { - "blockColor": "fuchsia", - "name": "bus_mine", - "oldBlockColor": "fuchsia" + "name": "", + "range": "[27:0]", + "size": 28 }, "position": { - "x": 880, - "y": 112 + "x": 920, + "y": 200 } }, { - "id": "1dae6915-2355-4174-95e5-088a7499fb42", - "type": "basic.outputLabel", + "id": "c48a2779-52ed-4dde-8f95-e8ce67397de8", + "type": "basic.input", "data": { - "name": "mbi", - "range": "[13:0]", - "blockColor": "fuchsia", - "size": 14 + "name": "", + "range": "[27:0]", + "clock": false, + "size": 28 }, "position": { - "x": 1120, - "y": 120 + "x": 376, + "y": 336 } }, { - "id": "0d362d8c-37c7-4a07-af15-ae7af9bbc7c9", - "type": "basic.output", + "id": "d1e52cbe-a82e-4bea-9ed0-e970eec3e43e", + "type": "basic.constant", "data": { - "name": "mbo", - "range": "[13:0]", - "size": 14 + "name": "", + "value": "0", + "local": false }, "position": { - "x": 1480, - "y": 120 + "x": 656, + "y": -80 } }, { - "id": "9cabcf85-d855-4e65-96c9-13c244d34d4d", - "type": "basic.input", + "id": "2cc2ff9d-ebfc-43e2-83d7-5c4a6d8c77e6", + "type": "basic.code", "data": { - "name": "mbus", - "range": "[13:0]", - "clock": false, - "size": 14 + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "rst" + }, + { + "name": "d", + "range": "[27:0]", + "size": 28 + } + ], + "out": [ + { + "name": "q", + "range": "[27:0]", + "size": 28 + } + ] + }, + "params": [ + { + "name": "INI" + } + ], + "code": "//-- Generic System register\n//-- with reset\n//-- Number of bits\nlocalparam N = 28;\n\n//-- Initial value\nreg [N-1:0] qi = INI;\n\nalways @(posedge clk)\nbegin\n\n //-- Reset: Capture the initial\n //-- value\n if (rst == 1'b1)\n qi <= INI;\n \n //-- No reset: Capture the input\n else\n qi <= d;\nend\n\n//-- Connect the register with the\n//-- output\nassign q = qi;\n" }, "position": { - "x": -128, - "y": 216 + "x": 528, + "y": 32 + }, + "size": { + "width": 344, + "height": 400 } + } + ], + "wires": [ + { + "source": { + "block": "2cc2ff9d-ebfc-43e2-83d7-5c4a6d8c77e6", + "port": "q" + }, + "target": { + "block": "7995c7b0-4a39-4a19-aaa4-68f4e469912f", + "port": "in" + }, + "vertices": [], + "size": 28 }, { - "id": "6063cdbd-2840-4dec-99f5-d24004ff1c48", - "type": "basic.inputLabel", - "data": { - "name": "mbi", - "range": "[13:0]", - "pins": [ - { - "index": "13", - "name": "", - "value": "" - }, - { - "index": "12", - "name": "", - "value": "" - }, - { - "index": "11", - "name": "", - "value": "" - }, - { - "index": "10", - "name": "", - "value": "" - }, - { - "index": "9", - "name": "", - "value": "" - }, - { - "index": "8", - "name": "", - "value": "" - }, - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia" + "source": { + "block": "d1e52cbe-a82e-4bea-9ed0-e970eec3e43e", + "port": "constant-out" }, - "position": { - "x": 40, - "y": 216 - } + "target": { + "block": "2cc2ff9d-ebfc-43e2-83d7-5c4a6d8c77e6", + "port": "INI" + }, + "vertices": [] }, { - "id": "45f97815-a402-46f1-a60b-bc584aa6a2ca", - "type": "basic.outputLabel", - "data": { - "name": "mbi", - "range": "[13:0]", - "blockColor": "fuchsia", - "size": 14 + "source": { + "block": "892d93f1-9c4c-46c1-82c7-ff9702a5725a", + "port": "out" }, - "position": { - "x": 216, - "y": 216 + "target": { + "block": "2cc2ff9d-ebfc-43e2-83d7-5c4a6d8c77e6", + "port": "rst" } }, { - "id": "7d0852c6-4778-4a53-bf90-30527c44a0eb", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk" + "source": { + "block": "c48a2779-52ed-4dde-8f95-e8ce67397de8", + "port": "out" }, - "position": { - "x": 1640, - "y": 224 - } + "target": { + "block": "2cc2ff9d-ebfc-43e2-83d7-5c4a6d8c77e6", + "port": "d" + }, + "size": 28 }, { - "id": "9be4488d-51be-4346-8a31-5d8f2f86e4d3", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "bus_mine", - "oldBlockColor": "fuchsia" + "source": { + "block": "0ae5a502-ee21-47ad-bacb-405a35a87a91", + "port": "out" }, - "position": { - "x": 936, - "y": 248 + "target": { + "block": "2cc2ff9d-ebfc-43e2-83d7-5c4a6d8c77e6", + "port": "clk" } - }, + } + ] + } + } + }, + "ef27646a2ca3d9f1e7811dac0fd909719b5affe1": { + "package": { + "name": "RS-FF-set-verilog", + "version": "0.2", + "description": "RS-FF-set-verilog. RS Flip-flop with priority set. Implementation in verilog", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20312.54461%20289.77628%22%20id=%22svg30%22%20width=%22312.545%22%20height=%22289.776%22%3E%3Cdefs%20id=%22defs34%22%3E%3Cmarker%20id=%22TriangleOutM%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20id=%22path988%22%20fill=%22#00f%22%20fill-rule=%22evenodd%22%20stroke=%22#00f%22%20stroke-width=%22.4pt%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow2Mend%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20id=%22path870%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3C/defs%3E%3Cstyle%20id=%22style2%22%3E.st0%7Bdisplay:none%7D.st1%7Bfill:none;stroke:#303030;stroke-width:.7;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10%7D.st2%7Bfill:#303030%7D%3C/style%3E%3Cg%20id=%22layer1%22%20transform=%22translate(81.543%203.027)%22%3E%3Cpath%20class=%22st1%22%20d=%22M48.702%2092.116a64.784%2064.784%200%200%200-12.559%2011.68%2064.99%2064.99%200%200%200-12.69%2024.809%22%20id=%22path11%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20id=%22line17%22%20class=%22st1%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22%20d=%22M184.865%20207.591L41.298%20262.802%22/%3E%3Cpath%20id=%22path21-3%22%20d=%22M185.448%20175.07l.37.154c2.52.831%204.718%202.386%206.634%204.249%202.02%202.322%203.694%204.777%204.423%208.713%201.496%208.074-3.286%2016.05-10.95%2018.997l-1.06.408L41.298%20262.8l-.733.283c-8.003%203.077-17.551.461-21.82-6.975-3.3-5.748-2.736-12.198.418-21.613%203.155-9.414%202.86-21.856-1.644-33.55l.041.003-12.507-32.667c-12.88-33.415-.747-70.376%2027.41-90.31l-1.102-2.749c-3.685-9.583%201.14-20.438%2010.723-24.124%209.583-3.685%2020.439%201.14%2024.124%2010.723l1.654%203.239c34.881-3.556%2068.594%2015.855%2081.318%2049.33l15.24%2038.432c4.795%208.723%2011.831%2015.955%2021.028%2022.248z%22%20fill=%22#fff%22%20stroke=%22#303030%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20d=%22M64.268%20268.838l45.015-17.115s7.963%2024.296-14.427%2030.38c-22.39%206.086-30.588-13.265-30.588-13.265z%22%20id=%22path826%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3Cg%20id=%22layer3%22%20transform=%22translate(78.072%20-.17)%22%3E%3Crect%20id=%22rect845%22%20width=%22135.189%22%20height=%22135.189%22%20x=%2295.783%22%20y=%223.671%22%20ry=%2219.847%22%20fill=%22#55acee%22%20stroke=%22#303030%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3C/g%3E%3Cg%20id=%22layer4%22%20transform=%22translate(78.072%20-.17)%22%3E%3Cellipse%20id=%22path1211%22%20cx=%22-39.888%22%20cy=%22125.645%22%20rx=%2235.684%22%20ry=%2237.984%22%20fill=%22#fff6d5%22%20stroke=%22#000%22%20stroke-width=%225%22%20stroke-linecap=%22round%22/%3E%3Cpath%20class=%22st2%22%20d=%22M172.724%2052.533V27.647h-9.888L144.047%2037.7l2.308%208.9%2014.833-8.076h.33v74.824H172.724V52.533z%22%20id=%22path7%22%20fill=%22#303030%22%20stroke-width=%2214.425%22/%3E%3Cpath%20d=%22M-38.915%20152.276v-39.72%22%20id=%22path841%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%225%22%20marker-end=%22url(#TriangleOutM)%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1621864223514 + }, + "design": { + "graph": { + "blocks": [ { - "id": "95c4416f-62f5-4196-a406-f7915d40a572", - "type": "basic.output", + "id": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", + "type": "basic.input", "data": { - "name": "done" + "name": "", + "clock": true }, "position": { - "x": 1952, - "y": 280 + "x": 240, + "y": 0 } }, { - "id": "289f00be-f97d-4553-a60a-32d8b45da4cc", - "type": "basic.outputLabel", + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", "data": { - "blockColor": "fuchsia", - "name": "done", - "oldBlockColor": "fuchsia" + "name": "" }, "position": { - "x": 1632, - "y": 296 + "x": 832, + "y": 120 } }, { - "id": "b14f140b-7bb5-46d9-8019-39c27ff6e0e3", + "id": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", "type": "basic.input", "data": { - "name": "start", + "name": "set", "clock": false }, "position": { - "x": -88, - "y": 312 + "x": 232, + "y": 120 } }, { - "id": "da45f105-3600-4458-a820-50046581f5dd", - "type": "basic.inputLabel", + "id": "fc243ba8-9abb-4a22-81c4-fabdf043cd01", + "type": "basic.input", "data": { - "blockColor": "fuchsia", - "name": "start", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "name": "reset", + "clock": false }, "position": { - "x": 56, - "y": 312 + "x": 232, + "y": 240 } }, { - "id": "923c4db6-0c76-4647-a848-75fd61fba6ec", - "type": "basic.outputLabel", + "id": "bc3416e4-576f-40fb-85a9-5058b9f85395", + "type": "basic.constant", "data": { - "blockColor": "fuchsia", - "name": "done", - "oldBlockColor": "fuchsia" + "name": "", + "value": "0", + "local": false }, "position": { - "x": 936, - "y": 312 + "x": 536, + "y": -144 } }, { - "id": "05a1a5b4-bf29-49df-b0b1-887859d9ec9e", - "type": "basic.inputLabel", + "id": "4f7ac391-3547-4bdd-b444-f34f89afeb79", + "type": "basic.code", "data": { - "blockColor": "fuchsia", - "name": "bbusy", - "pins": [ + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "set" + }, + { + "name": "reset" + } + ], + "out": [ + { + "name": "q" + } + ] + }, + "params": [ { - "index": "0", - "name": "NULL", - "value": "NULL" + "name": "INI" } ], - "virtual": true, - "oldBlockColor": "fuchsia" + "code": "//-- Initial value\nreg qi = INI;\n\nalways @(posedge clk)\nbegin\n\n //-- Priority on set\n //-- It is first checked\n if (set == 1'b1) \n qi <= 1'b1;\n \n //-- Second: check reset\n else if (reset == 1'b1)\n qi <= 1'b0;\n \n //-- In any other case the FF\n //-- remains in its current \n //-- state (no change)\nend\n\n//-- Connect the register with the\n//-- output\nassign q = qi;\n" }, "position": { - "x": 560, - "y": 336 + "x": 400, + "y": -32 + }, + "size": { + "width": 360, + "height": 360 } - }, + } + ], + "wires": [ { - "id": "9978357f-7ad7-44b5-97d2-b44692508773", - "type": "basic.input", - "data": { - "name": "din", - "range": "[7:0]", - "clock": false, - "size": 8 + "source": { + "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", + "port": "out" }, - "position": { - "x": -88, - "y": 392 + "target": { + "block": "4f7ac391-3547-4bdd-b444-f34f89afeb79", + "port": "set" } }, { - "id": "5344b55b-0e5d-4444-88ef-fd6b3caa1c5b", + "source": { + "block": "fc243ba8-9abb-4a22-81c4-fabdf043cd01", + "port": "out" + }, + "target": { + "block": "4f7ac391-3547-4bdd-b444-f34f89afeb79", + "port": "reset" + } + }, + { + "source": { + "block": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", + "port": "out" + }, + "target": { + "block": "4f7ac391-3547-4bdd-b444-f34f89afeb79", + "port": "clk" + } + }, + { + "source": { + "block": "bc3416e4-576f-40fb-85a9-5058b9f85395", + "port": "constant-out" + }, + "target": { + "block": "4f7ac391-3547-4bdd-b444-f34f89afeb79", + "port": "INI" + } + }, + { + "source": { + "block": "4f7ac391-3547-4bdd-b444-f34f89afeb79", + "port": "q" + }, + "target": { + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" + } + } + ] + } + } + }, + "5018a67fe520592d7f82dbf669bb3c3661624b65": { + "package": { + "name": "Button-tic", + "version": "0.6", + "description": "Button-tic: Configurable button that emits a tic when it is pressed", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20width=%22293.977%22%20height=%22257.958%22%20viewBox=%220%200%2077.781366%2068.251365%22%3E%3Cdefs%3E%3ClinearGradient%20gradientTransform=%22matrix(-.013%20-.01966%20.01932%20-.01493%20151.654%20290.082)%22%20gradientUnits=%22userSpaceOnUse%22%20y2=%222300.215%22%20x2=%226069.057%22%20y1=%222538.05%22%20x1=%225466.681%22%20id=%22b%22%20xlink:href=%22#a%22/%3E%3ClinearGradient%20id=%22a%22%3E%3Cstop%20offset=%220%22%20stop-color=%22#c3875c%22/%3E%3Cstop%20offset=%22.48%22%20stop-color=%22#eccba3%22/%3E%3Cstop%20offset=%221%22%20stop-color=%22#fce0cb%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg%20transform=%22translate(138.022%20-134.888)%22%3E%3Cpath%20d=%22M-117.19%20184.278a20.69%209.094%200%200%200-13.734%202.307l-5.434.006-1.284%205.482a20.69%209.094%200%200%200-.238%201.3%2020.69%209.094%200%200%200%2020.69%209.093%2020.69%209.094%200%200%200%2020.69-9.094%2020.69%209.094%200%200%200-.029-.351h.064l-1.277-6.47-5.778.005a20.69%209.094%200%200%200-13.67-2.278z%22%20fill=%22#333%22%20stroke=%22#000%22%20stroke-width=%22.282%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20ry=%226.762%22%20rx=%2219.408%22%20cy=%22187.341%22%20cx=%22-117.074%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%22.282%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22matrix(.1018%200%200%20.10181%20-158.528%20145.536)%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-width=%222.772%22%3E%3Cellipse%20cx=%22406.087%22%20cy=%22399.216%22%20rx=%22184.221%22%20ry=%2272.858%22%20fill=%22green%22/%3E%3Cellipse%20cx=%22406.23%22%20cy=%22383.328%22%20rx=%22179.497%22%20ry=%2260.977%22%20fill=%22#0f0%22/%3E%3C/g%3E%3C/g%3E%3Cpath%20d=%22M126.16%20115.387c-1.523%201.514-2.14%203.307-2.023%205.326-.507%201.097-2.411%202.346-2.027%203.267-1.196%201.923-1.624%203.389-1.572%204.569-.544%201.24-.403%201.705-.348%202.268-2.266%203.497-4.092%208.255-5.878%2013.125-2.302%202.765-3.64%205.792-4.898%208.84-2.191%203.7-3.756%207.67-4.02%2011.394l-.265.558c2.996%203.107%204.946%201.524%207.018.747%206.637-3.112%209.504-8.52%2012.212-14.025.473-1.572%201.57-3.127%203.151-4.669%204.414-4.785%206.886-10.022%209.857-15.142.228-.428.58-1.032%201.143-1.941%201.675-1.795%203.418-4.997%205.132-7.612z%22%20fill=%22url(#b)%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.265%22%20transform=%22translate(-90.276%20-115.233)%22/%3E%3Cpath%20d=%22M18.486%2038.911c-2.362%202.823-3.506%206.298-4.228%2010.204.518.13%201.302-.444%202.155-1.196%202.575-6.067%201.848-7.142%202.073-9.008z%22%20fill=%22#f8ecf8%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.265%22/%3E%3Cpath%20d=%22M33.79%205.666c2.093-.057%203.853.53%205.373%201.582M31.832%208.759c2.001.286%203.946.663%205.428%201.788M30.331%2013.16c1.325-.48%203.02.099%204.83%201.005M29.98%2015.593l1.79.362%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%22.265%22/%3E%3Cg%20transform=%22matrix(1.2877%200%200%201.2877%20-70.904%20-45.941)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "653b2ced-3f13-4b1d-a2b6-c330c671067a", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": 128, + "y": -32 + } + }, + { + "id": "98209ccc-d0f3-48fc-b10b-c2865b7442fc", "type": "basic.inputLabel", "data": { - "name": "din", - "range": "[7:0]", - "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia" + "blockColor": "yellow", + "name": "clk" }, "position": { - "x": 64, - "y": 392 + "x": 280, + "y": -32 } }, { - "id": "5884d0cb-fd13-4b25-b561-c919079d2136", + "id": "b58132b2-2e39-4a85-ab5b-63bded91cecc", "type": "basic.output", "data": { - "name": "nc" + "name": "s" }, "position": { - "x": 1936, - "y": 488 + "x": 728, + "y": -16 } }, { - "id": "54e9bf9f-b852-4c45-bd53-f6eb4ee707eb", - "type": "basic.inputLabel", + "id": "2f9cf56e-789c-4621-923a-be59ef6ccd4a", + "type": "basic.outputLabel", "data": { - "blockColor": "fuchsia", - "name": "start_read", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "blockColor": "yellow", + "name": "clk", + "oldBlockColor": "fuchsia" }, "position": { - "x": 608, - "y": 504 + "x": 312, + "y": 104 } }, { - "id": "fce01e4d-e6d2-4811-8f96-410673168b4c", + "id": "b8666bca-0d3d-4cbb-8129-fcea674d428a", "type": "basic.outputLabel", "data": { - "blockColor": "fuchsia", - "name": "bbusy", + "blockColor": "yellow", + "name": "clk", "oldBlockColor": "fuchsia" }, "position": { - "x": 152, - "y": 552 + "x": 744, + "y": 136 } }, { - "id": "700d8b15-d6df-4b76-b10d-72db58c33e6c", - "type": "basic.inputLabel", + "id": "997db8c4-b772-49d8-83e7-4427aff720e6", + "type": "basic.output", "data": { - "blockColor": "fuchsia", - "name": "bus_mine", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "name": "Press" }, "position": { - "x": 776, - "y": 584 + "x": 1032, + "y": 184 } }, { - "id": "5b15b8c9-8fb1-410a-8910-a60ef283ff1d", - "type": "basic.outputLabel", + "id": "21bc142d-a93a-430d-b37a-326435def9f9", + "type": "basic.input", "data": { - "blockColor": "yellow", - "name": "clk" + "name": "pin", + "clock": false }, "position": { - "x": 1496, - "y": 648 + "x": 304, + "y": 200 } }, { - "id": "524ca75c-cdd3-4e79-851a-b46ce146bd66", - "type": "basic.outputLabel", + "id": "7f2c89d2-aea0-4ff9-b4f9-52d70cefa867", + "type": "basic.constant", "data": { - "blockColor": "fuchsia", - "name": "start" + "name": "pup", + "value": "0", + "local": false }, "position": { - "x": 152, - "y": 696 + "x": 448, + "y": 56 } }, { - "id": "7e9db299-cb56-4cd9-a489-d5fbd6eb3e2f", - "type": "basic.inputLabel", + "id": "1ff8ad12-4df4-4aee-922b-c0c0fb449926", + "type": "basic.constant", "data": { - "blockColor": "fuchsia", - "name": "busy", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "name": "not", + "value": "0", + "local": false }, "position": { - "x": 1184, - "y": 704 + "x": 560, + "y": 56 } }, { - "id": "28d32f23-19b6-4a8c-8ac6-edbbb1a0e999", - "type": "basic.outputLabel", + "id": "15503ba9-0846-4d76-9fa4-dd8f67da8f08", + "type": "basic.info", "data": { - "name": "din", - "range": "[7:0]", - "blockColor": "fuchsia", - "size": 8 + "info": "System clock", + "readonly": true }, "position": { - "x": 1496, - "y": 712 + "x": 136, + "y": -56 + }, + "size": { + "width": 136, + "height": 40 } }, { - "id": "703240cb-6595-44d0-a266-869db1fe0889", - "type": "basic.inputLabel", + "id": "8f811ac3-ce9d-4e72-af71-03036c9426e7", + "type": "basic.info", "data": { - "name": "din_r", - "range": "[7:0]", - "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 1840, - "y": 712 - } - }, - { - "id": "7df4a7f1-90b6-4562-8be3-e4719a824545", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk" - }, - "position": { - "x": 880, - "y": 752 - } - }, - { - "id": "8e8559df-135a-42b3-842d-7e6f7528aa8c", - "type": "basic.inputLabel", - "data": { - "name": "addr", - "range": "[3:0]", - "pins": [ - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia", - "blockColor": "navy" + "info": "Button state signal", + "readonly": true }, "position": { - "x": 1232, - "y": 816 - } - }, - { - "id": "dc204461-1dd1-428f-91a2-006d905d6585", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "start_read" + "x": 720, + "y": -32 }, - "position": { - "x": 872, - "y": 832 + "size": { + "width": 176, + "height": 40 } }, { - "id": "0db424eb-f896-41e1-becb-7eb065dd64f2", - "type": "basic.outputLabel", + "id": "dee7b550-b7f2-40d7-955d-bfb931daba22", + "type": "basic.info", "data": { - "blockColor": "fuchsia", - "name": "busy" + "info": "Tic: button pressed", + "readonly": true }, "position": { - "x": 152, - "y": 840 - } - }, - { - "id": "eda78d52-57f7-4e44-bd8e-75e67c496650", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "wr", - "oldBlockColor": "fuchsia" + "x": 1024, + "y": 152 }, - "position": { - "x": 864, - "y": 904 + "size": { + "width": 184, + "height": 40 } }, { - "id": "caf86b2c-c08d-411d-be47-4084fec9532e", - "type": "basic.inputLabel", + "id": "88b26983-667f-40de-b1c6-c6710a7bbd4a", + "type": "basic.info", "data": { - "blockColor": "fuchsia", - "name": "wr", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "info": "Rising edge detector", + "readonly": true }, "position": { - "x": 1216, - "y": 912 - } - }, - { - "id": "366a768a-2f5d-4c01-8338-bdef0a688ea7", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "done", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "x": 872, + "y": 248 }, - "position": { - "x": 1144, - "y": 1008 + "size": { + "width": 184, + "height": 40 } }, { - "id": "0a517454-aeac-48a3-bc62-6aa73da948bd", + "id": "0957ba76-2838-49cb-8fd4-b9fe42f21801", "type": "basic.info", "data": { - "info": "Reading data from memory \nReading bus status", + "info": "Pull up on/off", "readonly": true }, "position": { - "x": 336, - "y": 120 + "x": 448, + "y": 16 }, "size": { - "width": 232, - "height": 64 + "width": 152, + "height": 40 } }, { - "id": "a200cfa9-fe9a-4c4b-b9d4-f4307d071797", + "id": "5a5caef3-ffd0-46a4-9f63-e55aa8cd750d", "type": "basic.info", "data": { - "info": "Calculate if the bus can be taken", + "info": "Not on/off", "readonly": true }, "position": { - "x": 216, - "y": 440 + "x": 576, + "y": 16 }, "size": { - "width": 272, + "width": 120, "height": 32 } }, { - "id": "7a989d63-cd4a-4c47-9513-57b4ea6ee141", - "type": "35f267d0df6ffcb7fc33753bc9df9cf083642cca", + "id": "541797cf-83f6-45cf-9a33-0009bb231e47", + "type": "ae13be3e513e7cb48d47d3fb3aa840dd85dc1f5e", "position": { - "x": 296, - "y": 552 + "x": 888, + "y": 168 }, "size": { "width": 96, @@ -8348,1997 +8214,2003 @@ } }, { - "id": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", - "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", + "id": "eed1d43a-6faf-4ca5-b3b8-f1e071234e0f", + "type": "091b3514573becaa7196cc3f7854140e5773864d", "position": { - "x": 464, - "y": 568 + "x": 496, + "y": 184 }, "size": { "width": 96, "height": 64 } - }, + } + ], + "wires": [ { - "id": "239fe2ba-e2b9-4446-a1ea-51e1616f5b75", - "type": "basic.info", - "data": { - "info": "The bus is available", - "readonly": true + "source": { + "block": "653b2ced-3f13-4b1d-a2b6-c330c671067a", + "port": "out" }, - "position": { - "x": 384, - "y": 512 + "target": { + "block": "98209ccc-d0f3-48fc-b10b-c2865b7442fc", + "port": "inlabel" }, - "size": { - "width": 184, - "height": 32 - } + "vertices": [] }, { - "id": "b62ad9b4-5b0e-4b74-a0ad-947946a59331", - "type": "basic.info", - "data": { - "info": "This circuits wants \nto use the bus", - "readonly": true + "source": { + "block": "2f9cf56e-789c-4621-923a-be59ef6ccd4a", + "port": "outlabel" }, - "position": { - "x": 280, - "y": 664 + "target": { + "block": "eed1d43a-6faf-4ca5-b3b8-f1e071234e0f", + "port": "59f7bee9-9832-421d-aa0a-de177f3f121d" }, - "size": { - "width": 192, - "height": 56 - } + "vertices": [ + { + "x": 424, + "y": 160 + } + ] }, { - "id": "c25805fd-f852-43d5-93db-f3f0cb17c301", - "type": "basic.info", - "data": { - "info": "The bus has been already \ntaken", - "readonly": true + "source": { + "block": "b8666bca-0d3d-4cbb-8129-fcea674d428a", + "port": "outlabel" }, - "position": { - "x": 272, - "y": 816 + "target": { + "block": "541797cf-83f6-45cf-9a33-0009bb231e47", + "port": "2708468d-1088-4570-be63-fb0d4799a941" + } + }, + { + "source": { + "block": "21bc142d-a93a-430d-b37a-326435def9f9", + "port": "out" }, - "size": { - "width": 208, - "height": 56 + "target": { + "block": "eed1d43a-6faf-4ca5-b3b8-f1e071234e0f", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" } }, { - "id": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", - "type": "81613874c6152f06c06ed7014bf4235900cfcc30", - "position": { - "x": 648, - "y": 584 + "source": { + "block": "eed1d43a-6faf-4ca5-b3b8-f1e071234e0f", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, - "size": { - "width": 96, - "height": 64 + "target": { + "block": "b58132b2-2e39-4a85-ab5b-63bded91cecc", + "port": "in" } }, { - "id": "26b71a43-5955-4452-9b0e-94ea6ef453b7", - "type": "81613874c6152f06c06ed7014bf4235900cfcc30", + "source": { + "block": "eed1d43a-6faf-4ca5-b3b8-f1e071234e0f", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + }, + "target": { + "block": "541797cf-83f6-45cf-9a33-0009bb231e47", + "port": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff" + }, + "vertices": [] + }, + { + "source": { + "block": "541797cf-83f6-45cf-9a33-0009bb231e47", + "port": "1c25e08e-e664-4fab-9b30-cedc1f8a3739" + }, + "target": { + "block": "997db8c4-b772-49d8-83e7-4427aff720e6", + "port": "in" + } + }, + { + "source": { + "block": "7f2c89d2-aea0-4ff9-b4f9-52d70cefa867", + "port": "constant-out" + }, + "target": { + "block": "eed1d43a-6faf-4ca5-b3b8-f1e071234e0f", + "port": "07e7cb88-d87c-4aa3-9938-fc226e3f4815" + } + }, + { + "source": { + "block": "1ff8ad12-4df4-4aee-922b-c0c0fb449926", + "port": "constant-out" + }, + "target": { + "block": "eed1d43a-6faf-4ca5-b3b8-f1e071234e0f", + "port": "6aacd3c5-a3e9-4a17-afb8-2b1271b3054c" + } + } + ] + } + } + }, + "ae13be3e513e7cb48d47d3fb3aa840dd85dc1f5e": { + "package": { + "name": "Rising-edge-detector", + "version": "0.4", + "description": "Rising-edge detector. It generates a 1-period pulse (tic) when a rising edge is detected on the input. Block implementation", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22185.363%22%20height=%22183.398%22%20viewBox=%220%200%2049.043981%2048.524089%22%3E%3Cg%20stroke-linecap=%22round%22%3E%3Cg%20fill=%22none%22%20stroke=%22#00f%22%3E%3Cpath%20d=%22M13.478%2032.434l6.026%207.975-5.054%206.03%201.749%201.556m-3.96-15.367l-3.5%207.976-7.97%201.555.583%202.529%22%20stroke-width=%221.058%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M12.773%2032.628V2.686%22%20stroke-width=%223.969%22/%3E%3Cpath%20d=%22M1.984%2012.436L12.673%201.984l10.35%2010.452%22%20stroke-width=%223.969%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(.842%200%200%20.842%20-48.178%20-26.157)%22%20stroke=%22green%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "2708468d-1088-4570-be63-fb0d4799a941", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, "position": { - "x": 1088, - "y": 296 + "x": 152, + "y": 152 + } + }, + { + "id": "9215ae7b-9960-4c8e-b80c-4d636db8510d", + "type": "basic.output", + "data": { + "name": "nc" }, - "size": { - "width": 96, - "height": 64 + "position": { + "x": 840, + "y": 160 } }, { - "id": "d3ce12c0-3b45-4ed2-8446-fb6c4c8e8710", - "type": "basic.info", + "id": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", + "type": "basic.input", "data": { - "info": "One cycle after the machine is done \nthe bus is already taken to write \nthe bbusy signal to 0 and allow \nother circuits to use it", - "readonly": true + "name": "", + "clock": false }, "position": { - "x": 960, - "y": 392 + "x": 152, + "y": 280 + } + }, + { + "id": "1c25e08e-e664-4fab-9b30-cedc1f8a3739", + "type": "basic.output", + "data": { + "name": "" }, - "size": { - "width": 304, - "height": 88 + "position": { + "x": 840, + "y": 400 } }, { - "id": "110cf90a-bc63-4642-a72e-33e8e397e804", + "id": "49c0a94e-2687-4aa4-8cba-327b2942095f", "type": "basic.info", "data": { - "info": "The output bus is controlled \nby this circuit (1) or \nremain untouched (0)", + "info": "## Rising edge detector\n\nIt generates a 1-period pulse (tic) when a rising edge is detected on the \ninput signal", "readonly": true }, "position": { - "x": 1352, - "y": 256 + "x": 176, + "y": -16 }, "size": { - "width": 240, - "height": 112 + "width": 568, + "height": 80 } }, { - "id": "0421b3fd-c660-4279-abe0-e1d486431ce0", + "id": "a6ea5e17-d259-4272-8d1c-87a6a7fe3235", "type": "basic.info", "data": { - "info": "The reading machine \ncan be started", + "info": "Input signal", "readonly": true }, "position": { - "x": 584, - "y": 456 + "x": 160, + "y": 256 }, "size": { - "width": 184, - "height": 64 + "width": 136, + "height": 40 } }, { - "id": "165f75a6-a05d-4025-aac5-91f45cd6cd30", - "type": "1c7dae7144d376f2ee4896fcc502a29110e2db37", + "id": "d0d6c668-3c03-42f5-9244-9a0431f11a87", + "type": "basic.info", + "data": { + "info": "System clock", + "readonly": true + }, "position": { - "x": 1808, - "y": 280 + "x": 168, + "y": 120 }, "size": { "width": 96, - "height": 64 + "height": 48 } }, { - "id": "1d98c440-947b-4591-946a-b35d277853b1", - "type": "56d27471f271f95a5d5eb660f7745d5d9329ab02", + "id": "f18011f4-eb45-4f91-9716-c1d8c99f1845", + "type": "basic.info", + "data": { + "info": "Current signal \nstate", + "readonly": true + }, "position": { - "x": 1680, - "y": 696 + "x": 328, + "y": 456 }, "size": { - "width": 96, - "height": 96 + "width": 168, + "height": 48 } }, { - "id": "0414e63d-55c1-41b0-abdf-4e02d0f68ff9", - "type": "725b7e2cb9666b5ed3183537d9c898f096dab82a", + "id": "ab801839-c115-4e44-adb7-349586890b97", + "type": "basic.info", + "data": { + "info": "Signal state in the previous \nclock cycle", + "readonly": true + }, "position": { - "x": 1504, - "y": 792 + "x": 328, + "y": 200 }, "size": { - "width": 96, - "height": 64 + "width": 248, + "height": 48 } }, { - "id": "cb239ba5-a0b6-498b-817d-0f0013b987c0", + "id": "fde5c436-d382-48e7-80b5-390c05f46b9d", "type": "basic.info", "data": { - "info": "## Sample machine\n\nRead the input data, (one byte per clock cycle) and store it into the memory\n\n", + "info": "If the current signal is 1 and its value in \nthe previous clock cycle was 0, it means \nthat a rising edge has been detected! \nThe output es 1\n\nIn any other case the output is 0", "readonly": true }, "position": { - "x": -104, - "y": -192 + "x": 728, + "y": 256 }, "size": { - "width": 648, - "height": 104 + "width": 344, + "height": 96 } }, { - "id": "609dbf24-0993-4b6c-b756-89c07956ceb6", - "type": "f1dc888a11b743f08087b6e65015fe269bed1f6f", + "id": "c3990bfd-57a6-4602-ab46-800486326dd6", + "type": "basic.info", + "data": { + "info": "**Delay**: 0 clock cycles \n\nThere is no delay between the arrival of a rising edge \nand its detection", + "readonly": true + }, "position": { - "x": 384, - "y": 184 + "x": 528, + "y": 504 }, "size": { - "width": 96, - "height": 128 + "width": 416, + "height": 88 } }, { - "id": "2d992803-f074-4c94-b1a7-558ec08e9e80", - "type": "6050ed4fa033f3f13d3fe5fae5dcedb414a0fede", + "id": "70cfa680-3def-482c-b194-054c1f522357", + "type": "3676a00f3a70e406487ed14b901daf3e4984e63d", "position": { - "x": 1080, - "y": -80 + "x": 552, + "y": 280 }, "size": { "width": 96, - "height": 128 + "height": 64 } }, { - "id": "7a8892b7-c00f-43ba-84c9-0e184c5144bf", - "type": "7cd239bdd995aa0988ea7615327f97fbe335930d", + "id": "49c498a6-eb89-4e72-889d-26e39cea5ad0", + "type": "ba518ee261a2be13a9739cd3a01cdcebe0ef63c0", "position": { - "x": 1312, - "y": 104 + "x": 696, + "y": 400 }, "size": { "width": 96, - "height": 96 + "height": 64 } }, { - "id": "cf4e570a-5ee4-4836-8dab-4d4340c3acb3", - "type": "efe39aa2a101707774e24b099a0654cc52ff8a04", + "id": "4f9cbe33-5c5a-43fb-bb20-863555cd0c64", + "type": "58ed2b5c7e33e2f215ccba6c101d9ea4ff60f284", "position": { - "x": 1016, - "y": 800 + "x": 320, + "y": 264 }, "size": { "width": 96, - "height": 128 + "height": 64 } } ], "wires": [ { "source": { - "block": "7fb933a6-5c63-4d46-8aaa-440b30974993", + "block": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", "port": "out" }, "target": { - "block": "2c31aa6a-383c-4eb5-b669-b8a31ad14225", - "port": "inlabel" - }, - "vertices": [] + "block": "4f9cbe33-5c5a-43fb-bb20-863555cd0c64", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + } }, { "source": { - "block": "b14f140b-7bb5-46d9-8019-39c27ff6e0e3", + "block": "2708468d-1088-4570-be63-fb0d4799a941", "port": "out" }, "target": { - "block": "da45f105-3600-4458-a820-50046581f5dd", - "port": "inlabel" + "block": "4f9cbe33-5c5a-43fb-bb20-863555cd0c64", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" } }, { "source": { - "block": "609dbf24-0993-4b6c-b756-89c07956ceb6", - "port": "9751f777-00ec-46c1-8d85-07d2dec1e653" + "block": "4f9cbe33-5c5a-43fb-bb20-863555cd0c64", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" }, "target": { - "block": "05a1a5b4-bf29-49df-b0b1-887859d9ec9e", - "port": "inlabel" + "block": "70cfa680-3def-482c-b194-054c1f522357", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" } }, { "source": { - "block": "7df4a7f1-90b6-4562-8be3-e4719a824545", - "port": "outlabel" - }, - "target": { - "block": "cf4e570a-5ee4-4836-8dab-4d4340c3acb3", - "port": "cb426e3d-ace3-4a57-a74b-155caed0c14c" - } - }, - { - "source": { - "block": "fce01e4d-e6d2-4811-8f96-410673168b4c", - "port": "outlabel" + "block": "70cfa680-3def-482c-b194-054c1f522357", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, "target": { - "block": "7a989d63-cd4a-4c47-9513-57b4ea6ee141", + "block": "49c498a6-eb89-4e72-889d-26e39cea5ad0", "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - }, - "vertices": [] + } }, { "source": { - "block": "524ca75c-cdd3-4e79-851a-b46ce146bd66", - "port": "outlabel" + "block": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", + "port": "out" }, "target": { - "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", + "block": "49c498a6-eb89-4e72-889d-26e39cea5ad0", "port": "97b51945-d716-4b6c-9db9-970d08541249" - }, - "vertices": [] + } }, { "source": { - "block": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", + "block": "49c498a6-eb89-4e72-889d-26e39cea5ad0", "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, "target": { - "block": "700d8b15-d6df-4b76-b10d-72db58c33e6c", - "port": "inlabel" - }, - "vertices": [] - }, + "block": "1c25e08e-e664-4fab-9b30-cedc1f8a3739", + "port": "in" + } + } + ] + } + } + }, + "3676a00f3a70e406487ed14b901daf3e4984e63d": { + "package": { + "name": "NOT", + "version": "2.0", + "description": "NOT gate (Verilog implementation)", + "author": "Jesús Arroyo, Juan González", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22317.651%22%20height=%22194.058%22%20version=%221%22%3E%3Cpath%20d=%22M69.246%204l161.86%2093.027-161.86%2093.031V4z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20cx=%22253.352%22%20cy=%2296.736%22%20rx=%2221.393%22%20ry=%2221.893%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2097.49h65.262m205.796%200h38.48%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%2281.112%22%20y=%22111.734%22%20transform=%22scale(.99532%201.0047)%22%20font-weight=%22400%22%20font-size=%2249.675%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%2281.112%22%20y=%22111.734%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%3ENot%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ { - "source": { - "block": "0db424eb-f896-41e1-becb-7eb065dd64f2", - "port": "outlabel" - }, - "target": { - "block": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", - "port": "97b51945-d716-4b6c-9db9-970d08541249" + "id": "18c2ebc7-5152-439c-9b3f-851c59bac834", + "type": "basic.input", + "data": { + "name": "" }, - "vertices": [ - { - "x": 584, - "y": 824 - } - ] + "position": { + "x": 112, + "y": 72 + } }, { - "source": { - "block": "9be4488d-51be-4346-8a31-5d8f2f86e4d3", - "port": "outlabel" - }, - "target": { - "block": "26b71a43-5955-4452-9b0e-94ea6ef453b7", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "id": "664caf9e-5f40-4df4-800a-b626af702e62", + "type": "basic.output", + "data": { + "name": "" }, - "vertices": [] + "position": { + "x": 560, + "y": 72 + } }, { - "source": { - "block": "923c4db6-0c76-4647-a848-75fd61fba6ec", - "port": "outlabel" - }, - "target": { - "block": "26b71a43-5955-4452-9b0e-94ea6ef453b7", - "port": "97b51945-d716-4b6c-9db9-970d08541249" + "id": "5365ed8c-e5db-4445-938f-8d689830ea5c", + "type": "basic.code", + "data": { + "code": "//-- NOT Gate\nassign q = ~a;\n\n", + "params": [], + "ports": { + "in": [ + { + "name": "a" + } + ], + "out": [ + { + "name": "q" + } + ] + } }, - "vertices": [] - }, - { - "source": { - "block": "cf4e570a-5ee4-4836-8dab-4d4340c3acb3", - "port": "49221b19-132a-4e3f-9a1f-97bcd463391b" + "position": { + "x": 256, + "y": 48 }, - "target": { - "block": "366a768a-2f5d-4c01-8338-bdef0a688ea7", - "port": "inlabel" + "size": { + "width": 256, + "height": 104 } }, { - "source": { - "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "id": "e3bb41e3-1944-4946-9675-c2dbe2e49fcf", + "type": "basic.info", + "data": { + "info": "Input", + "readonly": true }, - "target": { - "block": "54e9bf9f-b852-4c45-bd53-f6eb4ee707eb", - "port": "inlabel" + "position": { + "x": 128, + "y": 32 + }, + "size": { + "width": 80, + "height": 40 } }, { - "source": { - "block": "dc204461-1dd1-428f-91a2-006d905d6585", - "port": "outlabel" + "id": "8408dd5f-945f-4a89-9790-7752813d4e91", + "type": "basic.info", + "data": { + "info": "Output", + "readonly": true }, - "target": { - "block": "cf4e570a-5ee4-4836-8dab-4d4340c3acb3", - "port": "8f591b24-0427-409f-aa6e-ca1861556cf5" + "position": { + "x": 576, + "y": 40 + }, + "size": { + "width": 80, + "height": 40 } - }, + } + ], + "wires": [ { "source": { - "block": "cf4e570a-5ee4-4836-8dab-4d4340c3acb3", - "port": "6a11eaf9-4bd5-405e-81f8-44418365326b" + "block": "18c2ebc7-5152-439c-9b3f-851c59bac834", + "port": "out" }, "target": { - "block": "7e9db299-cb56-4cd9-a489-d5fbd6eb3e2f", - "port": "inlabel" + "block": "5365ed8c-e5db-4445-938f-8d689830ea5c", + "port": "a" } }, { "source": { - "block": "a040cc3d-b2c6-458e-bde6-f8234a19b6d1", - "port": "outlabel" + "block": "5365ed8c-e5db-4445-938f-8d689830ea5c", + "port": "q" }, "target": { - "block": "38abb13c-8652-41fb-931c-c7bf760ebb24", + "block": "664caf9e-5f40-4df4-800a-b626af702e62", "port": "in" + } + } + ] + } + } + }, + "58ed2b5c7e33e2f215ccba6c101d9ea4ff60f284": { + "package": { + "name": "sys-DFF-verilog", + "version": "3", + "description": "System - D Flip-flop. Capture data every system clock cycle. Verilog implementation", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20width=%22196.313%22%20height=%22216.83%22%20viewBox=%220%200%2051.941051%2057.369679%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20transform=%22translate(-52.22%20-48.028)%22%3E%3Crect%20width=%2224.412%22%20height=%2213.185%22%20x=%2279.352%22%20y=%2253.67%22%20ry=%222.247%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%22.794%22%20stroke-linecap=%22round%22/%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M77.902%2088.18l13.607%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M70.517%2080.116l-9.232-19.613-6.45%203.725-2.07-3.584%2020.905-12.07%202.07%203.584-6.093%203.518%2012.03%2018.222s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.773L69.412%2093.049s-2.848-3.696-2.16-6.796c.687-3.1%203.265-6.137%203.265-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Ctext%20style=%22line-height:1.25%22%20x=%2281.296%22%20y=%2263.239%22%20font-weight=%22400%22%20font-size=%2210.583%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20x=%2281.296%22%20y=%2263.239%22%20font-weight=%22700%22%3ESys%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "54dbabeb-8aef-4184-8fdc-87528aca29a3", + "type": "basic.output", + "data": { + "name": "nc" }, - "vertices": [] + "position": { + "x": 816, + "y": 112 + } }, { - "source": { - "block": "8ca2279c-fdc3-40d3-9fbe-2071c026932f", - "port": "outlabel" + "id": "3943e194-090b-4553-9df3-88bc4b17abc2", + "type": "basic.input", + "data": { + "name": "", + "clock": true }, - "target": { - "block": "2d992803-f074-4c94-b1a7-558ec08e9e80", - "port": "49fb1766-1e7f-4706-9872-a6cd65cc9f2d" + "position": { + "x": 208, + "y": 184 } }, { - "source": { - "block": "289f00be-f97d-4553-a60a-32d8b45da4cc", - "port": "outlabel" + "id": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78", + "type": "basic.output", + "data": { + "name": "" }, - "target": { - "block": "165f75a6-a05d-4025-aac5-91f45cd6cd30", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + "position": { + "x": 816, + "y": 232 } }, { - "source": { - "block": "7d0852c6-4778-4a53-bf90-30527c44a0eb", - "port": "outlabel" + "id": "bf2f0c53-2d04-4cba-aa70-2df85502d24f", + "type": "basic.input", + "data": { + "name": "", + "clock": false }, - "target": { - "block": "165f75a6-a05d-4025-aac5-91f45cd6cd30", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + "position": { + "x": 208, + "y": 280 } }, { - "source": { - "block": "cf4e570a-5ee4-4836-8dab-4d4340c3acb3", - "port": "73948305-b05b-418f-88af-11328f400cdc" + "id": "65194b18-5d2a-41b2-bd86-01be99978ad6", + "type": "basic.constant", + "data": { + "name": "", + "value": "0", + "local": false }, - "target": { - "block": "caf86b2c-c08d-411d-be47-4084fec9532e", - "port": "inlabel" + "position": { + "x": 512, + "y": 64 } }, { - "source": { - "block": "d1540ef0-9272-4082-9b24-9843ddb00cd7", - "port": "outlabel" - }, - "target": { - "block": "2d992803-f074-4c94-b1a7-558ec08e9e80", - "port": "dbe1622c-3510-4132-8b5c-2fbf81d7f581" - }, - "vertices": [ - { - "x": 1000, - "y": 32 + "id": "bdc170f0-4468-4137-bd79-4624c9cadf2b", + "type": "basic.code", + "data": { + "code": "//-- Initial value\nreg qi = INI;\n\n//-- Capture the input data \n//-- on the rising edge of \n//-- the system clock\nalways @(posedge clk)\n qi <= d;\n \n//-- Connect the register with the\n//-- output\nassign q = qi;", + "params": [ + { + "name": "INI" + } + ], + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "d" + } + ], + "out": [ + { + "name": "q" + } + ] } - ] - }, - { - "source": { - "block": "40e3c20c-5598-44a1-b5b4-760dba97d882", - "port": "outlabel" - }, - "target": { - "block": "2d992803-f074-4c94-b1a7-558ec08e9e80", - "port": "25996d5e-6856-4828-8cb3-5dea5ff5cf9c", - "size": 8 - }, - "size": 8 - }, - { - "source": { - "block": "9978357f-7ad7-44b5-97d2-b44692508773", - "port": "out", - "size": 8 - }, - "target": { - "block": "5344b55b-0e5d-4444-88ef-fd6b3caa1c5b", - "port": "inlabel" }, - "size": 8 - }, - { - "source": { - "block": "5b15b8c9-8fb1-410a-8910-a60ef283ff1d", - "port": "outlabel" + "position": { + "x": 384, + "y": 168 }, - "target": { - "block": "1d98c440-947b-4591-946a-b35d277853b1", - "port": "096f61b6-6d5c-4907-9512-e65b25969458" + "size": { + "width": 352, + "height": 192 } }, { - "source": { - "block": "28d32f23-19b6-4a8c-8ac6-edbbb1a0e999", - "port": "outlabel" - }, - "target": { - "block": "1d98c440-947b-4591-946a-b35d277853b1", - "port": "35a0e425-acd1-4cd9-b3dc-ff7f451dce86", - "size": 8 - }, - "size": 8 - }, - { - "source": { - "block": "1d98c440-947b-4591-946a-b35d277853b1", - "port": "6da4196c-cae2-44ba-b472-b6b9f0e7b1f8", - "size": 8 - }, - "target": { - "block": "703240cb-6595-44d0-a266-869db1fe0889", - "port": "inlabel" + "id": "53d11290-50b3-40fb-b253-222cb296b075", + "type": "basic.info", + "data": { + "info": "Parameter: Initial value", + "readonly": true }, - "size": 8 - }, - { - "source": { - "block": "eda78d52-57f7-4e44-bd8e-75e67c496650", - "port": "outlabel" + "position": { + "x": 488, + "y": 32 }, - "target": { - "block": "cf4e570a-5ee4-4836-8dab-4d4340c3acb3", - "port": "ad4d0fc2-118e-496e-b292-c435bad20e7d" + "size": { + "width": 208, + "height": 40 } }, { - "source": { - "block": "9cabcf85-d855-4e65-96c9-13c244d34d4d", - "port": "out", - "size": 14 - }, - "target": { - "block": "6063cdbd-2840-4dec-99f5-d24004ff1c48", - "port": "inlabel" - }, - "vertices": [], - "size": 14 - }, - { - "source": { - "block": "45f97815-a402-46f1-a60b-bc584aa6a2ca", - "port": "outlabel" - }, - "target": { - "block": "609dbf24-0993-4b6c-b756-89c07956ceb6", - "port": "3178c182-b1bd-4e92-bc67-6e0868b62279", - "size": 14 - }, - "size": 14 - }, - { - "source": { - "block": "1dae6915-2355-4174-95e5-088a7499fb42", - "port": "outlabel" + "id": "c25a29cd-d5ed-435e-b375-e6d5557660d8", + "type": "basic.info", + "data": { + "info": "System clock", + "readonly": true }, - "target": { - "block": "7a8892b7-c00f-43ba-84c9-0e184c5144bf", - "port": "e3bb4d9b-5ba2-4987-bd84-cd8763a214cd", - "size": 14 + "position": { + "x": 208, + "y": 160 }, - "size": 14 + "size": { + "width": 120, + "height": 32 + } }, { - "source": { - "block": "34028c73-8f61-4f50-a039-0a57d6056946", - "port": "outlabel" + "id": "ecafc6fa-330b-4ba7-aa67-40b3ea48f1f1", + "type": "basic.info", + "data": { + "info": "Input data", + "readonly": true }, - "target": { - "block": "2d992803-f074-4c94-b1a7-558ec08e9e80", - "port": "5c70a159-1900-4d97-9e7d-961876e03bbe", - "size": 4 + "position": { + "x": 224, + "y": 256 }, - "size": 4 + "size": { + "width": 112, + "height": 40 + } }, { - "source": { - "block": "cf4e570a-5ee4-4836-8dab-4d4340c3acb3", - "port": "a8eb520f-8b09-41ab-9146-919bf44b6078", - "size": 4 + "id": "df95c331-682d-4733-a62d-ad9fcd75f96a", + "type": "basic.info", + "data": { + "info": "Output", + "readonly": true }, - "target": { - "block": "8e8559df-135a-42b3-842d-7e6f7528aa8c", - "port": "inlabel" + "position": { + "x": 840, + "y": 200 }, - "size": 4 + "size": { + "width": 80, + "height": 40 + } }, { - "source": { - "block": "7a989d63-cd4a-4c47-9513-57b4ea6ee141", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "id": "dd8217df-b56d-49a9-ae94-f5e0c96e1460", + "type": "basic.info", + "data": { + "info": "# D Flip-Flop (system)\n\nIt stores the input data that arrives at cycle n \nIts output is shown in the cycle n+1", + "readonly": true }, - "target": { - "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "position": { + "x": 144, + "y": -136 }, - "vertices": [] + "size": { + "width": 488, + "height": 104 + } }, { - "source": { - "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "id": "92bfbcf5-6016-4ad8-963c-c5c7747304d0", + "type": "basic.info", + "data": { + "info": "Not connected", + "readonly": true }, - "target": { - "block": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "position": { + "x": 808, + "y": 88 }, - "vertices": [] - }, + "size": { + "width": 176, + "height": 32 + } + } + ], + "wires": [ { "source": { - "block": "26b71a43-5955-4452-9b0e-94ea6ef453b7", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "3943e194-090b-4553-9df3-88bc4b17abc2", + "port": "out" }, "target": { - "block": "7a8892b7-c00f-43ba-84c9-0e184c5144bf", - "port": "1e637a79-4a6d-495c-bcac-9664bdbe4b94" + "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", + "port": "clk" } }, { "source": { - "block": "165f75a6-a05d-4025-aac5-91f45cd6cd30", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", + "port": "q" }, "target": { - "block": "95c4416f-62f5-4196-a406-f7915d40a572", + "block": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78", "port": "in" } }, { "source": { - "block": "0414e63d-55c1-41b0-abdf-4e02d0f68ff9", - "port": "3d584b0a-29eb-47af-8c43-c0822282ef05" + "block": "65194b18-5d2a-41b2-bd86-01be99978ad6", + "port": "constant-out" }, "target": { - "block": "1d98c440-947b-4591-946a-b35d277853b1", - "port": "065ea371-8398-43b3-8341-287c234a3acb" + "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", + "port": "INI" } }, { "source": { - "block": "2d992803-f074-4c94-b1a7-558ec08e9e80", - "port": "d3e51db6-385f-454c-ab74-d71058b21962" - }, - "target": { - "block": "7a8892b7-c00f-43ba-84c9-0e184c5144bf", - "port": "c6fdfa0c-392c-41e8-b043-d6f35a656465" - }, - "size": 14 - }, - { - "source": { - "block": "7a8892b7-c00f-43ba-84c9-0e184c5144bf", - "port": "11f6b6c3-3db4-4536-b9af-3a4182303be7" + "block": "bf2f0c53-2d04-4cba-aa70-2df85502d24f", + "port": "out" }, "target": { - "block": "0d362d8c-37c7-4a07-af15-ae7af9bbc7c9", - "port": "in" - }, - "size": 14 + "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", + "port": "d" + } } ] } } }, - "81613874c6152f06c06ed7014bf4235900cfcc30": { + "091b3514573becaa7196cc3f7854140e5773864d": { "package": { - "name": "OR", - "version": "1.0.1", - "description": "Puerta OR", - "author": "Jesús Arroyo, Juan González", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22192.718%22%20width=%22383.697%22%20version=%221%22%3E%3Cpath%20d=%22M175.56%20188.718H84.527s30.345-42.538%2031.086-94.03c.743-51.49-31.821-90.294-31.821-90.294L176.109%204c46.445%201.948%20103.899%2053.44%20123.047%2093.678-32.601%2067.503-92.158%2089.79-123.596%2091.04z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2047.292h99.605M4.883%20145.168h100.981M298.57%2098.89h81.07%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20font-weight=%22400%22%20font-size=%2266.317%22%20y=%22121.28%22%20x=%22131.572%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20font-weight=%22700%22%20y=%22121.28%22%20x=%22131.572%22%3EOR%3C/tspan%3E%3C/text%3E%3C/svg%3E" + "name": "Button", + "version": "0.5", + "description": "Configurable button (pull-up on/off. Not on/off)", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20width=%22202.458%22%20height=%22255.947%22%20viewBox=%220%200%2053.566957%2067.719398%22%3E%3Cdefs%3E%3ClinearGradient%20gradientTransform=%22matrix(-.013%20-.01966%20.01932%20-.01493%20151.654%20290.082)%22%20gradientUnits=%22userSpaceOnUse%22%20y2=%222300.215%22%20x2=%226069.057%22%20y1=%222538.05%22%20x1=%225466.681%22%20id=%22b%22%20xlink:href=%22#a%22/%3E%3ClinearGradient%20id=%22a%22%3E%3Cstop%20offset=%220%22%20stop-color=%22#c3875c%22/%3E%3Cstop%20offset=%22.48%22%20stop-color=%22#eccba3%22/%3E%3Cstop%20offset=%221%22%20stop-color=%22#fce0cb%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg%20transform=%22translate(138.022%20-134.888)%22%3E%3Cpath%20d=%22M-117.19%20184.278a20.69%209.094%200%200%200-13.734%202.307l-5.434.006-1.284%205.482a20.69%209.094%200%200%200-.238%201.3%2020.69%209.094%200%200%200%2020.69%209.093%2020.69%209.094%200%200%200%2020.69-9.094%2020.69%209.094%200%200%200-.029-.351h.064l-1.277-6.47-5.778.005a20.69%209.094%200%200%200-13.67-2.278z%22%20fill=%22#333%22%20stroke=%22#000%22%20stroke-width=%22.282%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20ry=%226.762%22%20rx=%2219.408%22%20cy=%22187.341%22%20cx=%22-117.074%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%22.282%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22matrix(.1018%200%200%20.10181%20-158.528%20145.536)%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-width=%222.772%22%3E%3Cellipse%20cx=%22406.087%22%20cy=%22399.216%22%20rx=%22184.221%22%20ry=%2272.858%22%20fill=%22green%22/%3E%3Cellipse%20cx=%22406.23%22%20cy=%22383.328%22%20rx=%22179.497%22%20ry=%2260.977%22%20fill=%22#0f0%22/%3E%3C/g%3E%3C/g%3E%3Cpath%20d=%22M126.16%20115.387c-1.523%201.514-2.14%203.307-2.023%205.326-.507%201.097-2.411%202.346-2.027%203.267-1.196%201.923-1.624%203.389-1.572%204.569-.544%201.24-.403%201.705-.348%202.268-2.266%203.497-4.092%208.255-5.878%2013.125-2.302%202.765-3.64%205.792-4.898%208.84-2.191%203.7-3.756%207.67-4.02%2011.394l-.265.558c2.996%203.107%204.946%201.524%207.018.747%206.637-3.112%209.504-8.52%2012.212-14.025.473-1.572%201.57-3.127%203.151-4.669%204.414-4.785%206.886-10.022%209.857-15.142.228-.428.58-1.032%201.143-1.941%201.675-1.795%203.418-4.997%205.132-7.612z%22%20fill=%22url(#b)%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.265%22%20transform=%22translate(-90.276%20-115.233)%22/%3E%3Cpath%20d=%22M18.486%2038.911c-2.362%202.823-3.506%206.298-4.228%2010.204.518.13%201.302-.444%202.155-1.196%202.575-6.067%201.848-7.142%202.073-9.008z%22%20fill=%22#f8ecf8%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.265%22/%3E%3Cpath%20d=%22M33.79%205.666c2.093-.057%203.853.53%205.373%201.582M31.832%208.759c2.001.286%203.946.663%205.428%201.788M30.331%2013.16c1.325-.48%203.02.099%204.83%201.005M29.98%2015.593l1.79.362%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%22.265%22/%3E%3C/svg%3E", + "otid": 1615538095529 }, "design": { "graph": { "blocks": [ { - "id": "18c2ebc7-5152-439c-9b3f-851c59bac834", + "id": "59f7bee9-9832-421d-aa0a-de177f3f121d", "type": "basic.input", "data": { - "name": "" + "name": "", + "clock": true }, "position": { - "x": 64, - "y": 88 + "x": 128, + "y": 232 } }, { - "id": "664caf9e-5f40-4df4-800a-b626af702e62", - "type": "basic.output", + "id": "c2136078-81d0-4137-8583-c122b93cbdb0", + "type": "basic.inputLabel", "data": { - "name": "" + "blockColor": "yellow", + "name": "clk" }, "position": { - "x": 784, - "y": 152 + "x": 280, + "y": 232 } }, { - "id": "97b51945-d716-4b6c-9db9-970d08541249", - "type": "basic.input", + "id": "626e14a3-68ca-440d-b469-aeb6a69bddcb", + "type": "basic.outputLabel", "data": { - "name": "" + "blockColor": "yellow", + "name": "clk", + "oldBlockColor": "fuchsia" }, "position": { - "x": 64, - "y": 224 + "x": 472, + "y": 368 } }, { - "id": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "type": "basic.code", + "id": "1b2fe6f0-f08f-44d2-824a-e5205b3e9fab", + "type": "basic.outputLabel", "data": { - "code": "//-- Puerta OR\n\n//-- module and (input wire a, input wire b,\n//-- output wire c);\n\nassign c = a | b;\n\n//-- endmodule", - "params": [], - "ports": { - "in": [ - { - "name": "a" - }, - { - "name": "b" - } - ], - "out": [ - { - "name": "c" - } - ] - } + "blockColor": "yellow", + "name": "clk", + "oldBlockColor": "fuchsia" }, "position": { - "x": 256, - "y": 48 - }, - "size": { - "width": 464, - "height": 272 - } - } - ], - "wires": [ - { - "source": { - "block": "18c2ebc7-5152-439c-9b3f-851c59bac834", - "port": "out" - }, - "target": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "a" + "x": 888, + "y": 384 } }, { - "source": { - "block": "97b51945-d716-4b6c-9db9-970d08541249", - "port": "out" + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", + "data": { + "name": "s" }, - "target": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "b" + "position": { + "x": 1200, + "y": 456 } }, { - "source": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "c" - }, - "target": { - "block": "664caf9e-5f40-4df4-800a-b626af702e62", - "port": "in" - } - } - ] - } - } - }, - "56d27471f271f95a5d5eb660f7745d5d9329ab02": { - "package": { - "name": "8-bits-Reg", - "version": "0.1", - "description": "8-bits register (in verilog)", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22519.236%22%20height=%22279.911%22%20viewBox=%220%200%20137.38127%2074.059853%22%3E%3Cpath%20d=%22M41.506%2040.152l13.608%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke=%22#000%22%20stroke-width=%221.092%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M34.122%2032.088L24.89%2012.475l-6.45%203.724-2.07-3.583L37.276.546l2.07%203.584-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.772L33.017%2045.02s-2.849-3.695-2.16-6.795c.687-3.1%203.265-6.137%203.265-6.137z%22%20fill=%22red%22%20stroke=%22#000%22%20stroke-width=%221.092%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22translate(-93.518%20-22.665)%20scale(1.09073)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20cx=%22100.602%22%20cy=%2273.815%22%20r=%2214.559%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M81.95%2040.152l13.607%2016.672L88.64%2036.29%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M74.566%2032.088l-9.232-19.613-6.451%203.724-2.069-3.583L77.719.546l2.069%203.584-6.092%203.517%2012.03%2018.223s5.399-2.025%208.535.74c3.137%202.766%202.52%204.92%202.887%204.772L73.46%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M121.637%2040.152l13.608%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M114.253%2032.088l-9.232-19.613-6.45%203.724-2.07-3.583L117.407.546l2.07%203.584-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.772L113.147%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "096f61b6-6d5c-4907-9512-e65b25969458", + "id": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", "type": "basic.input", "data": { - "name": "", - "clock": true + "name": "pin", + "clock": false }, "position": { - "x": 80, - "y": 176 + "x": 152, + "y": 472 } }, { - "id": "6da4196c-cae2-44ba-b472-b6b9f0e7b1f8", - "type": "basic.output", + "id": "07e7cb88-d87c-4aa3-9938-fc226e3f4815", + "type": "basic.constant", "data": { - "name": "q", - "range": "[7:0]", - "size": 8 + "name": "pup", + "value": "0", + "local": false }, "position": { - "x": 640, - "y": 248 + "x": 336, + "y": 360 } }, { - "id": "35a0e425-acd1-4cd9-b3dc-ff7f451dce86", - "type": "basic.input", + "id": "6aacd3c5-a3e9-4a17-afb8-2b1271b3054c", + "type": "basic.constant", "data": { - "name": "", - "range": "[7:0]", - "clock": false, - "size": 8 + "name": "not", + "value": "0", + "local": false }, "position": { - "x": 80, - "y": 248 + "x": 768, + "y": 368 } }, { - "id": "065ea371-8398-43b3-8341-287c234a3acb", - "type": "basic.input", + "id": "93b888bf-453e-4c9c-8f58-6b9c6d54d5de", + "type": "6c3affc36ce9207db9e9addcade0eb18994ddf4a", + "position": { + "x": 336, + "y": 472 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "6ca11b45-e83b-492d-b175-8ab8f1faa08a", + "type": "basic.info", "data": { - "name": "load", - "clock": false + "info": "Internal pull-up \n* 0: OFF\n* 1: ON", + "readonly": true }, "position": { - "x": 80, - "y": 312 + "x": 320, + "y": 560 + }, + "size": { + "width": 176, + "height": 72 } }, { - "id": "f3b434e4-0c8f-4dd7-90c7-305189a807f1", - "type": "basic.constant", + "id": "2349cf1c-768c-483c-bdf3-852e36755326", + "type": "basic.info", "data": { - "name": "", - "value": "0", - "local": false + "info": "Synchronization stage", + "readonly": true }, "position": { - "x": 376, - "y": 56 + "x": 552, + "y": 536 + }, + "size": { + "width": 184, + "height": 32 } }, { - "id": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "type": "basic.code", + "id": "c13f29d4-49ed-45ca-bf58-401682aa156c", + "type": "basic.info", "data": { - "code": "localparam N = 8;\n\nreg [N-1:0] q = INI;\n\nalways @(posedge clk)\n if (load)\n q <= d;", - "params": [ - { - "name": "INI" - } - ], - "ports": { - "in": [ - { - "name": "clk" - }, - { - "name": "d", - "range": "[7:0]", - "size": 8 - }, - { - "name": "load" - } - ], - "out": [ - { - "name": "q", - "range": "[7:0]", - "size": 8 - } - ] - } + "info": "Normalization stage\n\n* 0: Wire\n* 1: signal inverted", + "readonly": true }, "position": { - "x": 280, - "y": 176 + "x": 760, + "y": 560 }, "size": { - "width": 288, - "height": 200 + "width": 192, + "height": 88 } - } - ], - "wires": [ + }, { - "source": { - "block": "f3b434e4-0c8f-4dd7-90c7-305189a807f1", - "port": "constant-out" + "id": "9207da36-adfa-43d6-a633-ccaa601b9293", + "type": "basic.info", + "data": { + "info": "Debouncing stage", + "readonly": true }, - "target": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "INI" + "position": { + "x": 1016, + "y": 544 }, - "vertices": [] + "size": { + "width": 168, + "height": 40 + } }, { - "source": { - "block": "065ea371-8398-43b3-8341-287c234a3acb", - "port": "out" + "id": "dec4bfde-1bd9-47b4-9e19-768969a2abc4", + "type": "68f4069229b120ada15cf7106fca630bde40ff7e", + "position": { + "x": 768, + "y": 472 }, - "target": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "load" + "size": { + "width": 96, + "height": 64 } }, { - "source": { - "block": "096f61b6-6d5c-4907-9512-e65b25969458", - "port": "out" + "id": "7f8e8a9e-3757-4b55-baa0-cb8680c3a332", + "type": "dd36dc1269be1a36894b4c4dfd8b2bd2c9026fe6", + "position": { + "x": 1032, + "y": 456 }, - "target": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "clk" + "size": { + "width": 96, + "height": 64 } }, + { + "id": "8d23de75-ac27-4a3b-911c-6a237f0dc702", + "type": "0705a6a13435ea79daf5779a2a0f076bd71f0a14", + "position": { + "x": 600, + "y": 456 + }, + "size": { + "width": 96, + "height": 64 + } + } + ], + "wires": [ { "source": { - "block": "35a0e425-acd1-4cd9-b3dc-ff7f451dce86", + "block": "59f7bee9-9832-421d-aa0a-de177f3f121d", "port": "out" }, "target": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "d" + "block": "c2136078-81d0-4137-8583-c122b93cbdb0", + "port": "inlabel" }, - "size": 8 + "vertices": [] }, { "source": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "q" + "block": "626e14a3-68ca-440d-b469-aeb6a69bddcb", + "port": "outlabel" }, "target": { - "block": "6da4196c-cae2-44ba-b472-b6b9f0e7b1f8", - "port": "in" - }, - "size": 8 - } - ] - } - } - }, - "7cd239bdd995aa0988ea7615327f97fbe335930d": { - "package": { - "name": "Mux 2 a 1 de 14 bits", - "version": "0.0.1", - "description": "Multiplexor de 2 a 1 de 14 bits", - "author": "Juan Gonzalez-Gomez (obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2280.833%22%20height=%22158.56%22%20viewBox=%220%200%2075.781585%20148.65066%22%3E%3Cpath%20d=%22M74.375%2036.836c0-12.691-6.99-24.413-18.326-30.729-11.335-6.316-25.284-6.262-36.568.141C8.198%2012.652%201.304%2024.427%201.407%2037.118v74.415c-.103%2012.69%206.79%2024.466%2018.074%2030.87%2011.284%206.403%2025.233%206.457%2036.568.14%2011.336-6.316%2018.326-18.037%2018.326-30.728z%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%222.813%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.448%22%20y=%2291.518%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.448%22%20y=%2291.518%22%3E0%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.359%22%20y=%2214.582%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.359%22%20y=%2214.582%22%3E1%3C/tspan%3E%3C/text%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "c6fdfa0c-392c-41e8-b043-d6f35a656465", - "type": "basic.input", - "data": { - "name": "i1", - "range": "[13:0]", - "clock": false, - "size": 14 - }, - "position": { - "x": -704, - "y": -88 + "block": "8d23de75-ac27-4a3b-911c-6a237f0dc702", + "port": "39873fa0-c3f5-47ef-b54b-b6b344416b25" } }, { - "id": "11f6b6c3-3db4-4536-b9af-3a4182303be7", - "type": "basic.output", - "data": { - "name": "o", - "range": "[13:0]", - "size": 14 + "source": { + "block": "1b2fe6f0-f08f-44d2-824a-e5205b3e9fab", + "port": "outlabel" }, - "position": { - "x": -40, - "y": 0 + "target": { + "block": "7f8e8a9e-3757-4b55-baa0-cb8680c3a332", + "port": "4bf41c17-a2da-4140-95f7-2a80d51b1e1a" } }, { - "id": "e3bb4d9b-5ba2-4987-bd84-cd8763a214cd", - "type": "basic.input", - "data": { - "name": "i0", - "range": "[13:0]", - "clock": false, - "size": 14 + "source": { + "block": "93b888bf-453e-4c9c-8f58-6b9c6d54d5de", + "port": "a139fa0d-9b45-4480-a251-f4a66b49aa23" }, - "position": { - "x": -704, - "y": 0 - } - }, - { - "id": "1e637a79-4a6d-495c-bcac-9664bdbe4b94", - "type": "basic.input", - "data": { - "name": "sel", - "clock": false + "target": { + "block": "8d23de75-ac27-4a3b-911c-6a237f0dc702", + "port": "f25e9a9e-cd4c-4025-8745-0691a99a3fb8" }, - "position": { - "x": -704, - "y": 88 - } + "vertices": [] }, { - "id": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", - "type": "basic.code", - "data": { - "code": "\nreg [13:0] o;\n\nalways @(*) begin\n case(sel)\n 0: o = i0;\n 1: o = i1;\n default: o = i0;\n endcase\nend\n\n", - "params": [], - "ports": { - "in": [ - { - "name": "i1", - "range": "[13:0]", - "size": 14 - }, - { - "name": "i0", - "range": "[13:0]", - "size": 14 - }, - { - "name": "sel" - } - ], - "out": [ - { - "name": "o", - "range": "[13:0]", - "size": 14 - } - ] - } + "source": { + "block": "8d23de75-ac27-4a3b-911c-6a237f0dc702", + "port": "7bfc506f-7a54-40a1-8d33-e78a5409b972" }, - "position": { - "x": -464, - "y": -104 + "target": { + "block": "dec4bfde-1bd9-47b4-9e19-768969a2abc4", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" }, - "size": { - "width": 304, - "height": 272 - } - } - ], - "wires": [ + "vertices": [] + }, { "source": { - "block": "1e637a79-4a6d-495c-bcac-9664bdbe4b94", - "port": "out" + "block": "6aacd3c5-a3e9-4a17-afb8-2b1271b3054c", + "port": "constant-out" }, "target": { - "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", - "port": "sel" - } + "block": "dec4bfde-1bd9-47b4-9e19-768969a2abc4", + "port": "2cd40fd8-3a2b-46f7-a922-fedf146ed11a" + }, + "vertices": [] }, { "source": { - "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", - "port": "o" + "block": "dec4bfde-1bd9-47b4-9e19-768969a2abc4", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "11f6b6c3-3db4-4536-b9af-3a4182303be7", - "port": "in" + "block": "7f8e8a9e-3757-4b55-baa0-cb8680c3a332", + "port": "c9e1af2a-6f09-4cf6-a5b3-fdf7ec2c6530" }, - "size": 14 + "vertices": [] }, { "source": { - "block": "e3bb4d9b-5ba2-4987-bd84-cd8763a214cd", - "port": "out" + "block": "07e7cb88-d87c-4aa3-9938-fc226e3f4815", + "port": "constant-out" }, "target": { - "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", - "port": "i0" + "block": "93b888bf-453e-4c9c-8f58-6b9c6d54d5de", + "port": "121930e0-54c3-4b31-aa37-b33c7764abfa" + } + }, + { + "source": { + "block": "7f8e8a9e-3757-4b55-baa0-cb8680c3a332", + "port": "22ff3fa1-943b-4d1a-bd89-36e1c054d077" }, - "size": 14 + "target": { + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" + } }, { "source": { - "block": "c6fdfa0c-392c-41e8-b043-d6f35a656465", + "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", "port": "out" }, "target": { - "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", - "port": "i1" - }, - "size": 14 + "block": "93b888bf-453e-4c9c-8f58-6b9c6d54d5de", + "port": "bb4a1ca9-1b30-471e-92ca-ca7ff2fc1150" + } } ] } } }, - "efe39aa2a101707774e24b099a0654cc52ff8a04": { + "6c3affc36ce9207db9e9addcade0eb18994ddf4a": { "package": { - "name": "count-4bits", - "version": "0.1", - "description": "Máquina de contar, de 4 bits", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22498.716%22%20width=%22422.648%22%3E%3Cpath%20d=%22M198.947%2079.637c-24.895%200-45.092%2020.196-45.092%2045.109%200%2024.886%2020.197%2045.126%2045.092%2045.126%2024.904%200%2044.953-20.24%2044.953-45.126%200-24.913-20.05-45.11-44.953-45.11zm90.41%2071.022l-8.128%2019.578%2014.497%2028.472%201.914%203.759-20.1%2020.1-32.98-15.575-19.578%208.04-9.937%2030.421-1.27%204.038h-28.411l-12.295-34.337-19.579-8.075-28.514%2014.462-3.76%201.88-20.091-20.083%2015.558-32.997-8.066-19.56-30.37-9.92-4.028-1.306v-28.393L108.58%2098.85l8.067-19.544-14.454-28.533-1.905-3.741%2020.065-20.066%2033.023%2015.55%2019.552-8.084%209.929-30.403L184.137%200h28.402l12.304%2034.38%2019.526%208.084%2028.524-14.471%203.794-1.906%2020.083%2020.066-15.558%2032.97%208.04%2019.588%2030.455%209.928%204.003%201.28v28.384z%22%20fill=%22#00f%22/%3E%3Crect%20rx=%2210.608%22%20ry=%2210.608%22%20y=%22266.697%22%20x=%22218.697%22%20height=%22180.846%22%20width=%22111.64%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%225.658%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%22387.839%22%20x=%22242.878%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2233.946%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%225.658%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%22387.839%22%20x=%22242.878%22%20font-weight=%22700%22%20font-size=%22134.762%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M222.934%20361.162h104.934%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%228.487%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20rx=%2210.608%22%20ry=%2210.608%22%20y=%22266.697%22%20x=%2292.408%22%20height=%22180.846%22%20width=%22111.64%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%225.658%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%22387.839%22%20x=%22109.261%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2233.946%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%225.658%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%22387.839%22%20x=%22109.261%22%20font-weight=%22700%22%20font-size=%22134.762%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M96.645%20361.162h104.934%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%228.487%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%20-277.4%2063.192)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%20-277.4%20211.802)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%2049.068%20210.797)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%2046.938%2063.192)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/svg%3E" + "name": "Pull-upx1", + "version": "1.0.2", + "description": "FPGA internal pull-up configuration on the input port", + "author": "Juan González", + "image": "%3Csvg%20id=%22svg2%22%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-265%20401.5%2063.5%2038.4%22%3E%3Cstyle%3E.st0%7Bdisplay:none%7D.st1%7Bfill:none;stroke:#000;stroke-width:.75;stroke-linejoin:round;stroke-miterlimit:10%7D.st2%7Bfill:#010002%7D%3C/style%3E%3Cpath%20class=%22st0%22%20d=%22M-242.5%20411.8v11.8h-5.4v-11.8h5.4m1-1h-7.4v13.8h7.4v-13.8z%22/%3E%3Cpath%20d=%22M-212%20425.6l-15.4-8.7v8.5h-17.4v-2.7c0-.2-.1-.4-.3-.4l-2.3-1.2%205.6-2.9c.2-.1.3-.3.3-.5s-.1-.4-.3-.4l-5.7-2.7%202.4-1.6c.1-.1.2-.2.2-.4v-2.7h3.1l-3.5-6.1-3.5%206.1h3v2.5l-2.9%202c-.1.1-.2.3-.2.5s.1.3.3.4l5.6%202.6-5.6%202.9c-.2.1-.3.3-.3.4s.1.4.3.4l2.9%201.5V425.5H-265v1.2h37.6v8.5l15.4-8.7h10.5v-.8H-212zm-33.3-20.4l2.2%203.9h-4.5l2.3-3.9zm19.2%2027.7v-13.8l12.3%206.9-12.3%206.9z%22/%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "cb426e3d-ace3-4a57-a74b-155caed0c14c", + "id": "bb4a1ca9-1b30-471e-92ca-ca7ff2fc1150", "type": "basic.input", "data": { - "name": "", - "clock": true + "name": "pin", + "clock": false }, "position": { - "x": 592, - "y": -416 + "x": 72, + "y": 256 } }, { - "id": "9291f94d-2d9a-4c3a-b7df-4299abf84886", - "type": "basic.inputLabel", + "id": "a139fa0d-9b45-4480-a251-f4a66b49aa23", + "type": "basic.output", "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "name": "" }, "position": { - "x": 736, - "y": -416 + "x": 704, + "y": 256 } }, { - "id": "81fb4efb-363e-483e-b1df-c2ebda777355", - "type": "basic.outputLabel", + "id": "121930e0-54c3-4b31-aa37-b33c7764abfa", + "type": "basic.constant", "data": { - "blockColor": "yellow", - "name": "clk" + "name": "on", + "value": "1", + "local": false }, "position": { - "x": 1416, - "y": -352 + "x": 408, + "y": -8 } }, { - "id": "92c88f9e-7d51-4946-b0ef-088dcd8efa49", - "type": "basic.inputLabel", + "id": "2b245a71-2d80-466b-955f-e3d61839fe25", + "type": "basic.code", "data": { - "blockColor": "red", - "name": "on", - "pins": [ + "code": "// 1-Pull up\n\n//-- Place the IO block, configured as \n//-- input with pull-up\nSB_IO\n #(\n .PIN_TYPE(6'b 1010_01),\n \n //-- The pull-up is activated or not\n //-- depeding on the ON parameter\n .PULLUP(ON)\n \n ) input_pin (\n\n //--- Input pin\n .PACKAGE_PIN(i),\n \n //-- Block output\n .D_IN_0(o),\n \n //-- Configured as input\n .OUTPUT_ENABLE(1'b0),\n \n //-- Not used\n .D_OUT_0(1'b0)\n );", + "params": [ { - "index": "0", - "name": "", - "value": "" + "name": "ON" } ], - "virtual": true, - "oldBlockColor": "fuchsia" + "ports": { + "in": [ + { + "name": "i" + } + ], + "out": [ + { + "name": "o" + } + ] + } }, "position": { - "x": 952, - "y": -304 + "x": 256, + "y": 104 + }, + "size": { + "width": 392, + "height": 368 } }, { - "id": "6c846478-ff94-415a-b78e-03b6981bc0fe", - "type": "basic.outputLabel", + "id": "8055c1f2-dad2-4257-a271-c0bd64700cd7", + "type": "basic.info", "data": { - "blockColor": "fuchsia", - "name": "rst" + "info": "### Pull-up parameter:\n\n0: No pull-up \n1: Pull-up activated", + "readonly": true }, "position": { - "x": 1416, - "y": -288 + "x": 144, + "y": -48 + }, + "size": { + "width": 264, + "height": 104 } }, { - "id": "40607400-436e-4dea-b733-8308a06fd4ef", - "type": "basic.outputLabel", + "id": "5a96e53f-d2ff-4058-bbed-779876848487", + "type": "basic.info", "data": { - "blockColor": "yellow", - "name": "clk" + "info": "Only an FPGA pin can \nbe connected here!!!", + "readonly": true }, "position": { - "x": 584, - "y": -224 + "x": 56, + "y": 200 + }, + "size": { + "width": 192, + "height": 56 } }, { - "id": "6a11eaf9-4bd5-405e-81f8-44418365326b", - "type": "basic.output", + "id": "26b0a2d0-aaa1-4204-9e57-2f2d674e03a0", + "type": "basic.info", "data": { - "name": "Busy" + "info": "The pull-up is connected \nby default", + "readonly": true }, "position": { - "x": 2312, - "y": -216 + "x": 512, + "y": 0 + }, + "size": { + "width": 208, + "height": 56 } - }, + } + ], + "wires": [ { - "id": "2438a009-c8e2-4acb-b443-90fe0ddd989d", - "type": "basic.outputLabel", - "data": { - "blockColor": "red", - "name": "on", - "oldBlockColor": "fuchsia" + "source": { + "block": "bb4a1ca9-1b30-471e-92ca-ca7ff2fc1150", + "port": "out" }, - "position": { - "x": 2152, - "y": -216 + "target": { + "block": "2b245a71-2d80-466b-955f-e3d61839fe25", + "port": "i" } }, { - "id": "bc6920df-ca50-4643-ad7a-7e10c29856e8", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "rst", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "source": { + "block": "2b245a71-2d80-466b-955f-e3d61839fe25", + "port": "o" }, - "position": { - "x": 952, - "y": -192 + "target": { + "block": "a139fa0d-9b45-4480-a251-f4a66b49aa23", + "port": "in" } }, { - "id": "8f591b24-0427-409f-aa6e-ca1861556cf5", - "type": "basic.input", - "data": { - "name": "start", - "clock": false + "source": { + "block": "121930e0-54c3-4b31-aa37-b33c7764abfa", + "port": "constant-out" }, - "position": { - "x": 584, - "y": -136 + "target": { + "block": "2b245a71-2d80-466b-955f-e3d61839fe25", + "port": "ON" } - }, + } + ] + } + } + }, + "68f4069229b120ada15cf7106fca630bde40ff7e": { + "package": { + "name": "not-wire-x01", + "version": "0.2", + "description": "Select positive or negative logic for the input (0=positive, 1=negative)", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22317.537%22%20height=%22255.621%22%20version=%221%22%3E%3Cpath%20d=%22M112.127%2098.805l133.418%2076.406-133.418%2076.41z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20cx=%22263.881%22%20cy=%22174.972%22%20rx=%2217.634%22%20ry=%2217.982%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4%20175.592h108.187m169.632%200h31.718%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:0%25%22%20x=%22121.949%22%20y=%22187.178%22%20transform=%22scale(.9971%201.0029)%22%20font-weight=%22400%22%20font-size=%229.874%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%22121.949%22%20y=%22187.178%22%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20font-size=%2240.873%22%3ENot%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M4%2062.122h309.537%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:0%25%22%20x=%2214.865%22%20y=%2236.868%22%20transform=%22scale(.99532%201.0047)%22%20font-weight=%22400%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%2214.865%22%20y=%2236.868%22%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20font-size=%2249.675%22%3E0%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:0%25%22%20x=%2216.903%22%20y=%22151.969%22%20transform=%22scale(.99532%201.0047)%22%20font-weight=%22400%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%2216.903%22%20y=%22151.969%22%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20font-size=%2249.675%22%3E1%3C/tspan%3E%3C/text%3E%3C/svg%3E", + "otid": 1607779171609 + }, + "design": { + "graph": { + "blocks": [ { - "id": "ce3dc4bf-dbfd-4a81-97cd-3c0a0a672d89", - "type": "basic.inputLabel", + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", "data": { - "name": "cnt", - "range": "[3:0]", - "pins": [ - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "navy" + "name": "" }, "position": { - "x": 1824, - "y": -120 + "x": 824, + "y": 304 } }, { - "id": "be5cddf8-3e91-4b00-b2d0-0be80df6cc2d", - "type": "basic.outputLabel", + "id": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", + "type": "basic.input", "data": { - "name": "cnt", - "range": "[3:0]", - "blockColor": "navy", - "size": 4 + "name": "", + "clock": false }, "position": { - "x": 1200, - "y": -104 + "x": 376, + "y": 320 } }, { - "id": "9baa509b-0012-4e0e-b874-e62987258aa1", - "type": "basic.inputLabel", + "id": "2cd40fd8-3a2b-46f7-a922-fedf146ed11a", + "type": "basic.constant", "data": { - "blockColor": "fuchsia", - "name": "start", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "name": "not", + "value": "0", + "local": false }, "position": { - "x": 944, - "y": -72 + "x": 520, + "y": 160 } }, { - "id": "c69e492c-ad1e-46f7-8523-5e5c615f682d", - "type": "basic.outputLabel", - "data": { - "name": "cnt", - "range": "[3:0]", - "blockColor": "navy", - "size": 4 - }, + "id": "160f76e9-4d8d-424e-8689-bb890101823c", + "type": "3ba5d0ecbd8f55582a6307158732789df06cb74c", "position": { - "x": 2160, - "y": -72 + "x": 520, + "y": 256 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "a8eb520f-8b09-41ab-9146-919bf44b6078", - "type": "basic.output", + "id": "019e81db-5707-409c-b159-b4cb29813cc4", + "type": "basic.info", "data": { - "name": "n", - "range": "[3:0]", - "size": 4 + "info": "When k=0, it works like a wire \n(The output is equal to the input) \nWhen k=1, it act as a not gate\n(The output is the inverse of the input)", + "readonly": true }, "position": { - "x": 2312, - "y": -72 + "x": 632, + "y": 392 + }, + "size": { + "width": 336, + "height": 96 } }, { - "id": "45bd338b-4745-4b06-b199-462cdaffa31d", - "type": "basic.outputLabel", + "id": "68880edb-df66-4540-8ee4-f3836fdb5f0e", + "type": "basic.info", "data": { - "blockColor": "gold", - "name": "stop", - "oldBlockColor": "fuchsia" + "info": "### Truth table for XOR\n\n| k | input | output | function |\n|---|-------|--------|----------|\n| 0 | 0 | 0 | wire |\n| 0 | 1 | 1 | wire |\n| 1 | 0 | 1 | Not |\n| 1 | 1 | 0 | Not |", + "readonly": true }, "position": { - "x": 584, - "y": -24 + "x": 728, + "y": 8 + }, + "size": { + "width": 296, + "height": 144 } }, { - "id": "8a5f0c79-7347-4b35-8e27-603ebed8bf9f", - "type": "basic.outputLabel", - "data": { - "blockColor": "darkgreen", - "name": "cycle", - "oldBlockColor": "fuchsia" - }, + "id": "100882d4-91fe-428f-9ce9-9e02ed2b2a9d", + "type": "d1240143e1ff7afe57f0f11565da980612b2bb76", "position": { - "x": 1472, - "y": 16 + "x": 672, + "y": 304 + }, + "size": { + "width": 96, + "height": 64 } - }, + } + ], + "wires": [ { - "id": "5a3f8466-6a57-4607-939a-fb15222442a7", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "done", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "source": { + "block": "2cd40fd8-3a2b-46f7-a922-fedf146ed11a", + "port": "constant-out" }, - "position": { - "x": 920, - "y": 24 - } + "target": { + "block": "160f76e9-4d8d-424e-8689-bb890101823c", + "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" + }, + "vertices": [] }, { - "id": "dddd2a78-e0f8-4688-ad63-0c41ad98894b", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "exec", - "oldBlockColor": "fuchsia" + "source": { + "block": "160f76e9-4d8d-424e-8689-bb890101823c", + "port": "5d443143-4aca-4d4f-ba40-2b88451b86d3" }, - "position": { - "x": 2160, - "y": 104 + "target": { + "block": "100882d4-91fe-428f-9ce9-9e02ed2b2a9d", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" } }, { - "id": "73948305-b05b-418f-88af-11328f400cdc", - "type": "basic.output", - "data": { - "name": "exec" + "source": { + "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", + "port": "out" }, - "position": { - "x": 2328, - "y": 104 + "target": { + "block": "100882d4-91fe-428f-9ce9-9e02ed2b2a9d", + "port": "97b51945-d716-4b6c-9db9-970d08541249" } }, { - "id": "c5781045-a890-4e66-8f67-80d0cb317ee6", - "type": "basic.outputLabel", + "source": { + "block": "100882d4-91fe-428f-9ce9-9e02ed2b2a9d", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" + } + } + ] + } + } + }, + "3ba5d0ecbd8f55582a6307158732789df06cb74c": { + "package": { + "name": "Constante-1bits", + "version": "0.0.1", + "description": "Valor genérico constante, de 1 bits. Su valor se introduce como parámetro. Por defecto vale 0", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22145.608%22%20height=%22247.927%22%20viewBox=%220%200%20136.50729%20232.43134%22%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22293.115%22%20y=%22648.344%22%20font-weight=%22400%22%20font-size=%22335.399%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22%20transform=%22translate(-316.929%20-415.913)%22%3E%3Ctspan%20x=%22293.115%22%20y=%22648.344%22%3Ek%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "5d443143-4aca-4d4f-ba40-2b88451b86d3", + "type": "basic.output", "data": { - "blockColor": "red", - "name": "on", - "oldBlockColor": "fuchsia" + "name": "" }, "position": { - "x": 1544, - "y": 136 + "x": 960, + "y": 248 } }, { - "id": "fa7f43f2-cbb2-47e0-bcc5-32336f9cd8ed", - "type": "basic.outputLabel", + "id": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "type": "basic.constant", "data": { - "blockColor": "red", - "name": "on", - "oldBlockColor": "fuchsia" + "name": "", + "value": "0", + "local": false }, "position": { - "x": 648, - "y": 152 + "x": 728, + "y": 128 } }, { - "id": "8c96c7ec-0c2f-4870-9197-46116cd1d134", - "type": "basic.inputLabel", + "id": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "type": "basic.code", "data": { - "blockColor": "darkgreen", - "name": "cycle", - "pins": [ + "code": "assign k = VALUE;", + "params": [ { - "index": "0", - "name": "", - "value": "" + "name": "VALUE" } ], - "virtual": true, - "oldBlockColor": "fuchsia" + "ports": { + "in": [], + "out": [ + { + "name": "k" + } + ] + } }, "position": { - "x": 1080, - "y": 168 + "x": 672, + "y": 248 + }, + "size": { + "width": 208, + "height": 64 + } + } + ], + "wires": [ + { + "source": { + "block": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "port": "constant-out" + }, + "target": { + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "VALUE" } }, { - "id": "ad4d0fc2-118e-496e-b292-c435bad20e7d", + "source": { + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "k" + }, + "target": { + "block": "5d443143-4aca-4d4f-ba40-2b88451b86d3", + "port": "in" + } + } + ] + } + } + }, + "dd36dc1269be1a36894b4c4dfd8b2bd2c9026fe6": { + "package": { + "name": "Debouncer-x01", + "version": "1.3.0", + "description": "Remove the rebound on a mechanical switch", + "author": "Juan González", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-252%20400.9%2090%2040%22%3E%3Cpath%20d=%22M-251.547%20436.672h22.802v-30.353h5.862v30.353h5.259v-30.353h3.447v30.353h2.984v-30.353h3.506v30.523h6.406V405.77h38.868%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%221.4%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M-232.57%20403.877l26.946%2032.391M-205.624%20403.877l-26.946%2032.391%22%20fill=%22none%22%20stroke=%22red%22%20stroke-width=%223%22%20stroke-linecap=%22round%22/%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "4bf41c17-a2da-4140-95f7-2a80d51b1e1a", "type": "basic.input", "data": { - "name": "next", - "clock": false + "name": "", + "clock": true }, "position": { - "x": 616, - "y": 208 + "x": -376, + "y": -656 } }, { - "id": "d8820925-23d9-4f02-8491-adf813601d08", - "type": "basic.outputLabel", + "id": "a0474543-ff59-4f6f-8d2e-3993d79c13de", + "type": "basic.inputLabel", "data": { "blockColor": "yellow", "name": "clk" }, "position": { - "x": 1384, - "y": 232 + "x": -224, + "y": -656 } }, { - "id": "a756b829-42d1-4779-b42d-a9acc3800854", + "id": "22ff3fa1-943b-4d1a-bd89-36e1c054d077", + "type": "basic.output", + "data": { + "name": "" + }, + "position": { + "x": 952, + "y": -600 + } + }, + { + "id": "20d06e62-fd81-4956-b93c-ade0e616fb98", "type": "basic.outputLabel", "data": { "blockColor": "fuchsia", - "name": "done", - "oldBlockColor": "fuchsia" + "name": "out" }, "position": { - "x": 2160, - "y": 248 + "x": 816, + "y": -600 } }, { - "id": "49221b19-132a-4e3f-9a1f-97bcd463391b", - "type": "basic.output", + "id": "c9e1af2a-6f09-4cf6-a5b3-fdf7ec2c6530", + "type": "basic.input", "data": { - "name": "done" + "name": "", + "clock": false }, "position": { - "x": 2320, - "y": 248 + "x": -376, + "y": -584 } }, { - "id": "06b60a4f-b1b1-4a91-ba10-bdb5a7515718", + "id": "b0e427bd-ce26-43b5-9d61-685f1c1ab922", "type": "basic.inputLabel", "data": { "blockColor": "fuchsia", - "name": "exec", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "name": "in" }, "position": { - "x": 1952, - "y": 288 + "x": -224, + "y": -584 } }, { - "id": "f9f37a77-fd08-4506-9c1b-cc53daa19559", + "id": "5d12a177-7618-4517-9067-3012f7cb42ce", "type": "basic.outputLabel", "data": { - "blockColor": "darkgreen", - "name": "cycle", + "blockColor": "yellow", + "name": "clk", "oldBlockColor": "fuchsia" }, "position": { - "x": 1384, - "y": 304 + "x": 552, + "y": -440 } }, { - "id": "10afc859-04fd-433d-823a-4fa4721320c1", - "type": "basic.outputLabel", + "id": "2f1050dd-a720-4ede-890e-612ce370ba61", + "type": "basic.inputLabel", "data": { "blockColor": "fuchsia", - "name": "start" + "name": "out", + "oldBlockColor": "fuchsia" }, "position": { - "x": 1680, - "y": 376 + "x": 840, + "y": -352 } }, { - "id": "2e9e9e82-c651-4a6b-9d9e-4c796699d133", - "type": "basic.inputLabel", + "id": "761cc74e-6d08-4b08-acf3-70197fd7076a", + "type": "basic.outputLabel", "data": { - "blockColor": "gold", - "name": "stop", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, + "blockColor": "fuchsia", + "name": "in", "oldBlockColor": "fuchsia" }, "position": { - "x": 1144, - "y": 376 + "x": 536, + "y": -352 } }, { - "id": "50aa90d1-18a3-4f3c-9ca9-2d65c8664bc2", + "id": "c1243e04-edbf-4cc6-9d85-f7bf35ac1dae", "type": "basic.outputLabel", "data": { - "name": "cnt", - "range": "[3:0]", - "blockColor": "navy", - "size": 4 - }, - "position": { - "x": 688, - "y": 552 - } - }, - { - "id": "d0005413-fea9-4b0b-8a18-9b15d4977bc1", - "type": "basic.constant", - "data": { - "name": "N", - "value": "16", - "local": false + "blockColor": "yellow", + "name": "clk", + "oldBlockColor": "fuchsia" }, "position": { - "x": 680, - "y": 344 + "x": 384, + "y": -288 } }, { - "id": "a19b8bcd-a0a4-4da0-9844-5e5c0306e231", - "type": "basic.constant", + "id": "d8572528-e0db-413c-a4ff-64d8cfee021d", + "type": "basic.outputLabel", "data": { - "name": "", - "value": "1", - "local": true + "blockColor": "yellow", + "name": "clk", + "oldBlockColor": "fuchsia" }, "position": { - "x": 1352, - "y": -208 + "x": 112, + "y": -248 } }, { - "id": "374613cb-968d-46d1-94a4-16686e7df28d", - "type": "basic.constant", + "id": "ba86528a-72e9-40f7-a1e6-c2e684026c24", + "type": "basic.outputLabel", "data": { - "name": "", - "value": "0", - "local": true - }, - "position": { - "x": 1648, - "y": -256 - } - }, - { - "id": "d59fae1c-4ff0-418f-9a6e-440a854abd17", - "type": "438dedd956354c574afcde6f0793a7d369b2a031", - "position": { - "x": 752, - "y": -168 - }, - "size": { - "width": 96, - "height": 128 - } - }, - { - "id": "d76d4948-a798-448c-adfa-c03b511371e5", - "type": "1c7dae7144d376f2ee4896fcc502a29110e2db37", - "position": { - "x": 1544, - "y": 288 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "bd61136e-6597-4728-a8c3-141a1841150b", - "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", - "position": { - "x": 808, - "y": 168 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "7d6ed080-252a-4f1b-8ec7-0f47d7866317", - "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", - "position": { - "x": 1016, - "y": 376 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "ac8b922a-9249-49a3-8b42-a1f259ccae2b", - "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", - "position": { - "x": 1680, - "y": 272 + "blockColor": "fuchsia", + "name": "in", + "oldBlockColor": "fuchsia" }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "28aef1aa-1cc2-4bb4-9a70-2db1962258d4", - "type": "81613874c6152f06c06ed7014bf4235900cfcc30", "position": { - "x": 1824, - "y": 288 - }, - "size": { - "width": 96, - "height": 64 + "x": 112, + "y": -176 } }, { - "id": "e042b05f-b116-4a58-8aee-1bf2833ecb6b", + "id": "1be0ed57-ae41-4ca5-a8c0-3d70585336a6", "type": "basic.info", "data": { - "info": "**Reloj del sistema**", + "info": "Edge detector", "readonly": true }, "position": { - "x": 680, - "y": -472 + "x": 240, + "y": -120 }, "size": { - "width": 192, + "width": 128, "height": 40 } }, { - "id": "09056d84-24ad-48b7-89c2-0d008ca64b89", + "id": "cabf3c3d-a707-4e06-be9a-4a66817c7a26", "type": "basic.info", "data": { - "info": "**Estado de** \n**la máquina**", + "info": "Whenever there is a change in \nthe input, the counter is started", "readonly": true }, "position": { - "x": 760, - "y": -248 + "x": 368, + "y": -88 }, "size": { - "width": 160, - "height": 40 + "width": 288, + "height": 56 } }, { - "id": "02ad4d4d-3335-43e1-a671-4b00fc01c8be", + "id": "6dcd32b7-40bd-433d-a1e2-222636c19f2f", "type": "basic.info", "data": { - "info": "Máquina encendida", + "info": "If the counter reaches it maximum \nvalue, the input is considered stable \nand it is captured", "readonly": true }, "position": { - "x": 936, - "y": -328 + "x": 720, + "y": -456 }, "size": { - "width": 168, - "height": 40 + "width": 304, + "height": 72 } }, { - "id": "23827b42-5be3-406c-9991-b4ad6deb74e8", + "id": "5ee60a84-8e65-49de-9b87-5afd9770b5a3", "type": "basic.info", "data": { - "info": "Máquina apagada \n(rst = 1)", + "info": "### Time calculation\n\nFor CLK=12MHZ, a 16-bit counter reaches its \nmaximum every 2 ** 16 * 1/F = 5.5ms aprox \nIF more time is needed for debouncing, \nuse a counter with more bits (17, 18...)", "readonly": true }, "position": { - "x": 952, - "y": -232 + "x": 432, + "y": -640 }, "size": { - "width": 152, - "height": 56 + "width": 360, + "height": 120 } }, { - "id": "8a928b2a-c1fd-4d20-ba27-2f2bb41c0d01", + "id": "f998abd9-dfc8-42d4-8816-c89f07a61e6f", "type": "basic.info", "data": { - "info": "Tic de arranque", + "info": "## Debouncer \n\nA value is considered stable when \nthere is no changes during 5.5ms \naprox. When a value is stable it is \ncaptured on the output flip-flop", "readonly": true }, "position": { - "x": 960, - "y": -96 + "x": -8, + "y": -648 }, "size": { - "width": 160, - "height": 40 + "width": 312, + "height": 128 } }, { - "id": "6648005b-8565-4aa7-9dbe-692786ab5eed", + "id": "ababfa12-265a-4c7c-a482-8ed44cf9171c", "type": "basic.info", "data": { - "info": "Tic de fin", + "info": "Stable output", "readonly": true }, "position": { - "x": 944, - "y": 0 + "x": 880, + "y": -280 }, "size": { - "width": 120, - "height": 32 + "width": 136, + "height": 40 } }, { - "id": "08d8a2f1-ca1d-4bb5-84ec-2e003a76d1c1", + "id": "656df089-b248-432e-b6b5-ecd4bb5cc8eb", "type": "basic.info", "data": { - "info": "**Contador de ciclos**", + "info": "Counter", "readonly": true }, "position": { - "x": 1480, - "y": -424 + "x": 536, + "y": -232 }, "size": { - "width": 224, + "width": 96, "height": 40 } }, { - "id": "6b89fbaa-ded1-4b08-85b3-d5043665ba0f", - "type": "basic.info", - "data": { - "info": "Número de ciclos \ncontados", - "readonly": true - }, + "id": "a409a5ab-68e2-4e36-b698-f6c309afdd54", + "type": "1ed41a9f9beacd7b446f07558a35d3b77dc87319", "position": { - "x": 1824, - "y": -160 + "x": 240, + "y": -192 }, "size": { - "width": 160, - "height": 56 + "width": 96, + "height": 64 } }, { - "id": "ce9c2faa-a5a2-43ef-a19f-8089842fa7fb", - "type": "basic.info", - "data": { - "info": "Valor \nincrementado", - "readonly": true - }, + "id": "626e9279-30e7-4e81-8427-1f969a1f7789", + "type": "8a23ffd0491010ff595493182b82c722bd6902d7", "position": { - "x": 1496, - "y": -120 + "x": 704, + "y": -368 }, "size": { - "width": 128, - "height": 56 + "width": 96, + "height": 96 } }, { - "id": "9749c7ec-56c0-4d88-8b20-572f154aba47", - "type": "basic.info", - "data": { - "info": "### Salidas", - "readonly": true - }, + "id": "3bc0627a-8d4d-4e19-a4aa-83b0dbfa525a", + "type": "e8e3e62a1e1b5f4e98c7e128c7cd1bdf59b8f307", "position": { - "x": 2152, - "y": -328 + "x": 520, + "y": -192 }, "size": { - "width": 280, - "height": 40 + "width": 96, + "height": 64 } - }, + } + ], + "wires": [ { - "id": "4c022dd4-dc38-48e8-8e23-991de83819a0", - "type": "basic.info", - "data": { - "info": "Estado de la máquina", - "readonly": true + "source": { + "block": "4bf41c17-a2da-4140-95f7-2a80d51b1e1a", + "port": "out" }, - "position": { - "x": 2160, - "y": -248 + "target": { + "block": "a0474543-ff59-4f6f-8d2e-3993d79c13de", + "port": "inlabel" + } + }, + { + "source": { + "block": "d8572528-e0db-413c-a4ff-64d8cfee021d", + "port": "outlabel" }, - "size": { - "width": 192, - "height": 40 + "target": { + "block": "a409a5ab-68e2-4e36-b698-f6c309afdd54", + "port": "2708468d-1088-4570-be63-fb0d4799a941" } }, { - "id": "2f5c5893-19c2-411c-b942-83e2e0355d9b", - "type": "basic.info", - "data": { - "info": "Ciclo actual", - "readonly": true + "source": { + "block": "5d12a177-7618-4517-9067-3012f7cb42ce", + "port": "outlabel" }, - "position": { - "x": 2168, - "y": -104 + "target": { + "block": "626e9279-30e7-4e81-8427-1f969a1f7789", + "port": "df0c1bb1-f8ef-49f3-b71f-9384c29a9735" + } + }, + { + "source": { + "block": "c1243e04-edbf-4cc6-9d85-f7bf35ac1dae", + "port": "outlabel" }, - "size": { - "width": 152, - "height": 40 + "target": { + "block": "3bc0627a-8d4d-4e19-a4aa-83b0dbfa525a", + "port": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6" } }, { - "id": "3529c7ae-8223-48c9-a5c7-1b8161eb3654", - "type": "basic.info", - "data": { - "info": "Cuenta finalizada", - "readonly": true + "source": { + "block": "c9e1af2a-6f09-4cf6-a5b3-fdf7ec2c6530", + "port": "out" }, - "position": { - "x": 2160, - "y": 216 + "target": { + "block": "b0e427bd-ce26-43b5-9d61-685f1c1ab922", + "port": "inlabel" + } + }, + { + "source": { + "block": "ba86528a-72e9-40f7-a1e6-c2e684026c24", + "port": "outlabel" }, - "size": { - "width": 176, - "height": 48 + "target": { + "block": "a409a5ab-68e2-4e36-b698-f6c309afdd54", + "port": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff" } }, { - "id": "8d3fe74d-0b04-434f-bd0a-c966094bb54e", - "type": "basic.info", - "data": { - "info": "Ejecutar el ciclo", - "readonly": true + "source": { + "block": "626e9279-30e7-4e81-8427-1f969a1f7789", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, - "position": { - "x": 2168, - "y": 80 + "target": { + "block": "2f1050dd-a720-4ede-890e-612ce370ba61", + "port": "inlabel" + } + }, + { + "source": { + "block": "20d06e62-fd81-4956-b93c-ade0e616fb98", + "port": "outlabel" }, - "size": { - "width": 168, - "height": 40 + "target": { + "block": "22ff3fa1-943b-4d1a-bd89-36e1c054d077", + "port": "in" } }, { - "id": "eae9349c-e15a-4922-8652-1849ae8af424", - "type": "basic.info", + "source": { + "block": "761cc74e-6d08-4b08-acf3-70197fd7076a", + "port": "outlabel" + }, + "target": { + "block": "626e9279-30e7-4e81-8427-1f969a1f7789", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + } + }, + { + "source": { + "block": "3bc0627a-8d4d-4e19-a4aa-83b0dbfa525a", + "port": "88e0e872-0460-4ecc-bf26-8a7a5598a024" + }, + "target": { + "block": "626e9279-30e7-4e81-8427-1f969a1f7789", + "port": "58d2c88e-2434-438f-986b-0f5b9c3654ca" + }, + "vertices": [] + }, + { + "source": { + "block": "a409a5ab-68e2-4e36-b698-f6c309afdd54", + "port": "1c25e08e-e664-4fab-9b30-cedc1f8a3739" + }, + "target": { + "block": "3bc0627a-8d4d-4e19-a4aa-83b0dbfa525a", + "port": "2a921d76-1cbd-48fe-82a9-11b0ab4dbc06" + } + } + ] + } + } + }, + "1ed41a9f9beacd7b446f07558a35d3b77dc87319": { + "package": { + "name": "Edges-detector-block", + "version": "0.3", + "description": "Edges detector. It generates a 1-period pulse (tic) when either a rising edge or a falling edge is detected on the input. Block implementation", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22294.1%22%20height=%22185.316%22%20viewBox=%220%200%2077.813988%2049.031403%22%3E%3Cg%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M13.478%2032.941l6.026%207.975-5.054%206.03%201.749%201.556m-3.96-15.367l-3.5%207.976-7.97%201.556.583%202.528%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%221.058%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M12.773%202.492v29.942%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%223.969%22/%3E%3Cpath%20d=%22M1.984%2022.683l10.689%2010.453%2010.35-10.453%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%223.969%22%20stroke-linejoin=%22round%22/%3E%3Cg%20fill=%22none%22%20stroke=%22#00f%22%3E%3Cpath%20d=%22M42.248%2032.434l6.026%207.975-5.054%206.03%201.749%201.556m-3.96-15.367l-3.5%207.976-7.97%201.555.583%202.529%22%20stroke-width=%221.058%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M41.543%2032.628V2.686%22%20stroke-width=%223.969%22/%3E%3Cpath%20d=%22M30.754%2012.436L41.443%201.984l10.35%2010.452%22%20stroke-width=%223.969%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(.842%200%200%20.842%20-19.408%20-26.157)%22%20stroke=%22green%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "913b2fb3-8676-42d8-bd97-97880350317d", + "type": "basic.output", "data": { - "info": "Número de ciclos \na contar", - "readonly": true + "name": "nc" }, "position": { - "x": 696, - "y": 288 + "x": 624, + "y": 120 + } + }, + { + "id": "2708468d-1088-4570-be63-fb0d4799a941", + "type": "basic.input", + "data": { + "name": "", + "clock": true }, - "size": { - "width": 152, - "height": 56 + "position": { + "x": 88, + "y": 152 } }, { - "id": "95a0fd91-d4b4-4a8c-a326-fa00aead76a2", - "type": "basic.info", + "id": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", + "type": "basic.input", "data": { - "info": "¿Estamos en el \nciclo k-1?", - "readonly": true + "name": "", + "clock": false }, "position": { - "x": 1024, - "y": 480 + "x": 88, + "y": 280 + } + }, + { + "id": "1c25e08e-e664-4fab-9b30-cedc1f8a3739", + "type": "basic.output", + "data": { + "name": "" }, - "size": { - "width": 144, - "height": 56 + "position": { + "x": 616, + "y": 352 } }, { - "id": "ee786c92-eee9-4192-b5cd-7ffd2cff4aa0", + "id": "49c0a94e-2687-4aa4-8cba-327b2942095f", "type": "basic.info", "data": { - "info": "Solo se hace caso a la \nentrada next si la \nmáquina está encendida", + "info": "## Edges detector\n\nIt generates a 1-period pulse (tic) when an edge (Rising or falling) is detected on the \ninput signal", "readonly": true }, "position": { - "x": 648, - "y": 88 + "x": 104, + "y": -40 }, "size": { - "width": 216, - "height": 80 + "width": 648, + "height": 96 } }, { - "id": "fdea86ef-3e4a-4419-972a-3e09c49380ab", + "id": "a6ea5e17-d259-4272-8d1c-87a6a7fe3235", "type": "basic.info", "data": { - "info": "Nuevo ciclo", + "info": "Input signal", "readonly": true }, "position": { - "x": 920, - "y": 168 + "x": 96, + "y": 256 }, "size": { "width": 136, @@ -10346,143 +10218,103 @@ } }, { - "id": "f1312a02-2038-404e-b9cf-5f4ee6b11012", + "id": "d0d6c668-3c03-42f5-9244-9a0431f11a87", "type": "basic.info", "data": { - "info": "Si es el ciclo k-1 y \nse pide un ciclo \nnuevo: Terminar", + "info": "System clock", "readonly": true }, "position": { - "x": 1128, - "y": 304 + "x": 104, + "y": 120 }, "size": { - "width": 208, - "height": 72 + "width": 96, + "height": 48 } }, { - "id": "9baabc30-8c27-4b55-92e4-d59783269162", + "id": "f18011f4-eb45-4f91-9716-c1d8c99f1845", "type": "basic.info", "data": { - "info": "Apagar la \nmáquina", + "info": "Current signal \nstate", "readonly": true }, "position": { - "x": 600, - "y": -64 + "x": 160, + "y": 352 }, "size": { - "width": 120, - "height": 56 + "width": 168, + "height": 48 } }, { - "id": "b1d4db4d-86bf-41b9-8192-647537f22b35", + "id": "ab801839-c115-4e44-adb7-349586890b97", "type": "basic.info", "data": { - "info": "Ciclo nuevo: \nincrementar la cuenta", + "info": "Signal state in the previous \nclock cycle", "readonly": true }, "position": { - "x": 1464, - "y": -32 + "x": 328, + "y": 200 }, "size": { - "width": 208, - "height": 56 + "width": 248, + "height": 48 } }, { - "id": "6c065227-d7b8-48ea-8105-765c0ff10e5d", + "id": "fde5c436-d382-48e7-80b5-390c05f46b9d", "type": "basic.info", "data": { - "info": "El tic de start se saca \npor exec para que se ejecute \nel primer ciclo", + "info": "The output is 1 if the current value is 1 and the \nprevious 0, or if the current value is 0 and the \nprevious 1\n", "readonly": true }, "position": { - "x": 1680, - "y": 440 + "x": 504, + "y": 264 }, "size": { - "width": 248, + "width": 400, "height": 72 } }, { - "id": "f41e1b4d-0de7-4d61-9b57-16de7ef8dc8a", + "id": "4a6c58dc-e4cb-43b8-8a52-07ef0aa616f6", + "type": "d1240143e1ff7afe57f0f11565da980612b2bb76", + "position": { + "x": 480, + "y": 352 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "5590cf27-7da8-4183-b70c-0c9fda4a6dc0", "type": "basic.info", "data": { - "info": "Si la máquina está \napagada, las señales \nde ejecución no pueden \nsalir!", + "info": "In any other case the output is 0", "readonly": true }, "position": { - "x": 1688, - "y": 168 - }, - "size": { - "width": 208, - "height": 80 - } - }, - { - "id": "1ed4ad01-9b81-4934-84b7-804dcaec10c1", - "type": "basic.info", - "data": { - "info": "Retrasar la señal un ciclo \nmientras que se detecta si \nla máquina ha finalizado o no", - "readonly": true - }, - "position": { - "x": 1432, - "y": 360 - }, - "size": { - "width": 256, - "height": 72 - } - }, - { - "id": "55848689-05c8-4d58-b5a8-c421ff202e2d", - "type": "a3c966710f8e14f7d3464d7e89c1894dfebb86c7", - "position": { - "x": 1648, - "y": -152 - }, - "size": { - "width": 96, - "height": 128 - } - }, - { - "id": "642ea367-8f37-400d-b632-46e227ce544d", - "type": "04dcede98e726cdb028c1ef593f02f949d5f5ac6", - "position": { - "x": 1352, - "y": -104 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "3452d2fa-0c76-4021-925d-d73c3cea853f", - "type": "2e691702e123c308f561a5a93912a03de1896719", - "position": { - "x": 856, - "y": 512 + "x": 520, + "y": 432 }, "size": { - "width": 96, - "height": 64 + "width": 296, + "height": 40 } }, { - "id": "caaa982b-20a8-426d-a546-beb213ed699f", - "type": "33e7c0abcd8b70a7af87fdb6750be0e24a796695", + "id": "932daa85-b751-4060-a7fa-d517b2c7eaa7", + "type": "58ed2b5c7e33e2f215ccba6c101d9ea4ff60f284", "position": { - "x": 680, - "y": 448 + "x": 320, + "y": 264 }, "size": { "width": 96, @@ -10493,1137 +10325,895 @@ "wires": [ { "source": { - "block": "6c846478-ff94-415a-b78e-03b6981bc0fe", - "port": "outlabel" + "block": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", + "port": "out" }, "target": { - "block": "55848689-05c8-4d58-b5a8-c421ff202e2d", - "port": "a2b70876-c7c0-4208-a403-eed81e32fe5a" + "block": "932daa85-b751-4060-a7fa-d517b2c7eaa7", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + } + }, + { + "source": { + "block": "2708468d-1088-4570-be63-fb0d4799a941", + "port": "out" }, - "vertices": [ - { - "x": 1592, - "y": -192 - } - ] + "target": { + "block": "932daa85-b751-4060-a7fa-d517b2c7eaa7", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + } }, { "source": { - "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", - "port": "89a5da53-cc8b-4099-a5e3-b9cf281619b1" + "block": "4a6c58dc-e4cb-43b8-8a52-07ef0aa616f6", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, "target": { - "block": "bc6920df-ca50-4643-ad7a-7e10c29856e8", - "port": "inlabel" + "block": "1c25e08e-e664-4fab-9b30-cedc1f8a3739", + "port": "in" } }, { "source": { - "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", - "port": "aefe9248-3b3d-441b-9e65-33cda65b99dd" + "block": "932daa85-b751-4060-a7fa-d517b2c7eaa7", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" }, "target": { - "block": "9baa509b-0012-4e0e-b874-e62987258aa1", - "port": "inlabel" + "block": "4a6c58dc-e4cb-43b8-8a52-07ef0aa616f6", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" } }, { "source": { - "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", - "port": "0d991cee-b329-439b-b9e7-5712d2db539d" + "block": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", + "port": "out" }, "target": { - "block": "92c88f9e-7d51-4946-b0ef-088dcd8efa49", - "port": "inlabel" + "block": "4a6c58dc-e4cb-43b8-8a52-07ef0aa616f6", + "port": "97b51945-d716-4b6c-9db9-970d08541249" }, "vertices": [ { - "x": 888, - "y": -216 + "x": 264, + "y": 368 } ] - }, + } + ] + } + } + }, + "8a23ffd0491010ff595493182b82c722bd6902d7": { + "package": { + "name": "DFF-verilog", + "version": "0.2", + "description": "DFF. D Flip-flop. Verilog implementation", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22216.379%22%20height=%22279.911%22%20viewBox=%220%200%2057.25032%2074.059853%22%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M41.506%2040.152l13.608%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M34.122%2032.088L24.89%2012.475l-6.45%203.724-2.07-3.583L37.276.546l2.07%203.584-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.772L33.017%2045.02s-2.849-3.695-2.16-6.795c.687-3.1%203.265-6.137%203.265-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20transform=%22translate(-93.518%20-22.665)%20scale(1.09073)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20cx=%22100.602%22%20cy=%2273.815%22%20r=%2214.559%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1594812046378 + }, + "design": { + "graph": { + "blocks": [ { - "source": { - "block": "fa7f43f2-cbb2-47e0-bcc5-32336f9cd8ed", - "port": "outlabel" + "id": "df0c1bb1-f8ef-49f3-b71f-9384c29a9735", + "type": "basic.input", + "data": { + "name": "", + "clock": true }, - "target": { - "block": "bd61136e-6597-4728-a8c3-141a1841150b", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "position": { + "x": 128, + "y": 424 } }, { - "source": { - "block": "45bd338b-4745-4b06-b199-462cdaffa31d", - "port": "outlabel" + "id": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", + "type": "basic.input", + "data": { + "name": "d", + "clock": false }, - "target": { - "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", - "port": "ba15eacb-1e03-4580-932b-3231703481e5" + "position": { + "x": 128, + "y": 536 } }, { - "source": { - "block": "7d6ed080-252a-4f1b-8ec7-0f47d7866317", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", + "data": { + "name": "" }, - "target": { - "block": "2e9e9e82-c651-4a6b-9d9e-4c796699d133", - "port": "inlabel" + "position": { + "x": 824, + "y": 536 } }, { - "source": { - "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", - "port": "3802390d-8417-4369-b93c-dda647ccb0c6" + "id": "58d2c88e-2434-438f-986b-0f5b9c3654ca", + "type": "basic.input", + "data": { + "name": "load", + "clock": false }, - "target": { - "block": "5a3f8466-6a57-4607-939a-fb15222442a7", - "port": "inlabel" + "position": { + "x": 128, + "y": 648 } }, { - "source": { - "block": "c5781045-a890-4e66-8f67-80d0cb317ee6", - "port": "outlabel" + "id": "be33796a-a109-4ab0-a53b-dd6ec67587cd", + "type": "basic.constant", + "data": { + "name": "", + "value": "0", + "local": false }, - "target": { - "block": "ac8b922a-9249-49a3-8b42-a1f259ccae2b", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "position": { + "x": 488, + "y": 280 } }, { - "source": { - "block": "a756b829-42d1-4779-b42d-a9acc3800854", - "port": "outlabel" + "id": "5bffd6ef-bb9d-4d3f-a4f0-f91c6040ddc5", + "type": "basic.code", + "data": { + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "d" + }, + { + "name": "load" + } + ], + "out": [ + { + "name": "q" + } + ] + }, + "params": [ + { + "name": "INI" + } + ], + "code": "//-- Initial value\nreg qi = INI;\n\nalways @(posedge clk)\nbegin\n \n //-- When load is active\n //-- the input data is captured\n if (load == 1'b1)\n qi <= d;\n \nend\n\n//-- Connect the register with the\n//-- output\nassign q = qi;\n" }, - "target": { - "block": "49221b19-132a-4e3f-9a1f-97bcd463391b", - "port": "in" - } - }, - { - "source": { - "block": "8a5f0c79-7347-4b35-8e27-603ebed8bf9f", - "port": "outlabel" + "position": { + "x": 320, + "y": 400 }, - "target": { - "block": "55848689-05c8-4d58-b5a8-c421ff202e2d", - "port": "065ea371-8398-43b3-8341-287c234a3acb" + "size": { + "width": 424, + "height": 336 } - }, + } + ], + "wires": [ { "source": { - "block": "10afc859-04fd-433d-823a-4fa4721320c1", - "port": "outlabel" + "block": "df0c1bb1-f8ef-49f3-b71f-9384c29a9735", + "port": "out" }, "target": { - "block": "28aef1aa-1cc2-4bb4-9a70-2db1962258d4", - "port": "97b51945-d716-4b6c-9db9-970d08541249" + "block": "5bffd6ef-bb9d-4d3f-a4f0-f91c6040ddc5", + "port": "clk" } }, { "source": { - "block": "28aef1aa-1cc2-4bb4-9a70-2db1962258d4", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", + "port": "out" }, "target": { - "block": "06b60a4f-b1b1-4a91-ba10-bdb5a7515718", - "port": "inlabel" + "block": "5bffd6ef-bb9d-4d3f-a4f0-f91c6040ddc5", + "port": "d" } }, { "source": { - "block": "bd61136e-6597-4728-a8c3-141a1841150b", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "58d2c88e-2434-438f-986b-0f5b9c3654ca", + "port": "out" }, "target": { - "block": "8c96c7ec-0c2f-4870-9197-46116cd1d134", - "port": "inlabel" + "block": "5bffd6ef-bb9d-4d3f-a4f0-f91c6040ddc5", + "port": "load" } }, { "source": { - "block": "f9f37a77-fd08-4506-9c1b-cc53daa19559", - "port": "outlabel" + "block": "5bffd6ef-bb9d-4d3f-a4f0-f91c6040ddc5", + "port": "q" }, "target": { - "block": "d76d4948-a798-448c-adfa-c03b511371e5", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" } }, { "source": { - "block": "cb426e3d-ace3-4a57-a74b-155caed0c14c", - "port": "out" + "block": "be33796a-a109-4ab0-a53b-dd6ec67587cd", + "port": "constant-out" }, "target": { - "block": "9291f94d-2d9a-4c3a-b7df-4299abf84886", - "port": "inlabel" + "block": "5bffd6ef-bb9d-4d3f-a4f0-f91c6040ddc5", + "port": "INI" } - }, - { - "source": { - "block": "40607400-436e-4dea-b733-8308a06fd4ef", - "port": "outlabel" - }, - "target": { - "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", - "port": "046501b8-4427-4d4d-af97-7fe807774f33" - } - }, - { - "source": { - "block": "2438a009-c8e2-4acb-b443-90fe0ddd989d", - "port": "outlabel" - }, - "target": { - "block": "6a11eaf9-4bd5-405e-81f8-44418365326b", - "port": "in" - } - }, - { - "source": { - "block": "81fb4efb-363e-483e-b1df-c2ebda777355", - "port": "outlabel" - }, - "target": { - "block": "55848689-05c8-4d58-b5a8-c421ff202e2d", - "port": "096f61b6-6d5c-4907-9512-e65b25969458" - } - }, - { - "source": { - "block": "d8820925-23d9-4f02-8491-adf813601d08", - "port": "outlabel" - }, - "target": { - "block": "d76d4948-a798-448c-adfa-c03b511371e5", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" - }, - "vertices": [ - { - "x": 1496, - "y": 280 - } - ] - }, - { - "source": { - "block": "dddd2a78-e0f8-4688-ad63-0c41ad98894b", - "port": "outlabel" - }, - "target": { - "block": "73948305-b05b-418f-88af-11328f400cdc", - "port": "in" - } - }, - { - "source": { - "block": "55848689-05c8-4d58-b5a8-c421ff202e2d", - "port": "f655c5c0-0157-4195-89ac-f92c5b3f8e0b", - "size": 4 - }, - "target": { - "block": "ce3dc4bf-dbfd-4a81-97cd-3c0a0a672d89", - "port": "inlabel" - }, - "size": 4 - }, - { - "source": { - "block": "c69e492c-ad1e-46f7-8523-5e5c615f682d", - "port": "outlabel" - }, - "target": { - "block": "a8eb520f-8b09-41ab-9146-919bf44b6078", - "port": "in", - "size": 4 - }, - "size": 4 - }, - { - "source": { - "block": "be5cddf8-3e91-4b00-b2d0-0be80df6cc2d", - "port": "outlabel" - }, - "target": { - "block": "642ea367-8f37-400d-b632-46e227ce544d", - "port": "d1ed8643-0bb2-48ac-9aca-17184aee9368", - "size": 4 - }, - "size": 4 - }, - { - "source": { - "block": "50aa90d1-18a3-4f3c-9ca9-2d65c8664bc2", - "port": "outlabel" - }, - "target": { - "block": "3452d2fa-0c76-4021-925d-d73c3cea853f", - "port": "128b8626-fc1e-4144-a837-a275b812ee83", - "size": 4 - }, - "size": 4 - }, - { - "source": { - "block": "374613cb-968d-46d1-94a4-16686e7df28d", - "port": "constant-out" - }, - "target": { - "block": "55848689-05c8-4d58-b5a8-c421ff202e2d", - "port": "f3b434e4-0c8f-4dd7-90c7-305189a807f1" - } - }, - { - "source": { - "block": "a19b8bcd-a0a4-4da0-9844-5e5c0306e231", - "port": "constant-out" - }, - "target": { - "block": "642ea367-8f37-400d-b632-46e227ce544d", - "port": "c4eedeee-32b3-41da-834c-48f3a92cbaec" - } - }, - { - "source": { - "block": "3452d2fa-0c76-4021-925d-d73c3cea853f", - "port": "0344dacc-8583-456b-b377-8cb4ab97cf94" - }, - "target": { - "block": "7d6ed080-252a-4f1b-8ec7-0f47d7866317", - "port": "97b51945-d716-4b6c-9db9-970d08541249" - } - }, - { - "source": { - "block": "ac8b922a-9249-49a3-8b42-a1f259ccae2b", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" - }, - "target": { - "block": "28aef1aa-1cc2-4bb4-9a70-2db1962258d4", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - } - }, - { - "source": { - "block": "d76d4948-a798-448c-adfa-c03b511371e5", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" - }, - "target": { - "block": "ac8b922a-9249-49a3-8b42-a1f259ccae2b", - "port": "97b51945-d716-4b6c-9db9-970d08541249" - } - }, - { - "source": { - "block": "bd61136e-6597-4728-a8c3-141a1841150b", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" - }, - "target": { - "block": "7d6ed080-252a-4f1b-8ec7-0f47d7866317", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - } - }, - { - "source": { - "block": "d0005413-fea9-4b0b-8a18-9b15d4977bc1", - "port": "constant-out" - }, - "target": { - "block": "caaa982b-20a8-426d-a546-beb213ed699f", - "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" - } - }, - { - "source": { - "block": "8f591b24-0427-409f-aa6e-ca1861556cf5", - "port": "out" - }, - "target": { - "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", - "port": "88176871-35ac-42bf-bf62-36c81a4b4b47" - } - }, - { - "source": { - "block": "ad4d0fc2-118e-496e-b292-c435bad20e7d", - "port": "out" - }, - "target": { - "block": "bd61136e-6597-4728-a8c3-141a1841150b", - "port": "97b51945-d716-4b6c-9db9-970d08541249" - } - }, - { - "source": { - "block": "642ea367-8f37-400d-b632-46e227ce544d", - "port": "423ecf0e-b1de-4a7f-8bf0-032e0c1f0467" - }, - "target": { - "block": "55848689-05c8-4d58-b5a8-c421ff202e2d", - "port": "ee31ca02-b981-4474-a62e-85f20302435c" - }, - "size": 4 - }, - { - "source": { - "block": "caaa982b-20a8-426d-a546-beb213ed699f", - "port": "2da79d6d-81ed-4d5d-b4bf-113557353105" - }, - "target": { - "block": "3452d2fa-0c76-4021-925d-d73c3cea853f", - "port": "0587ffc4-0beb-4bc0-b72c-df8bde2c6bf2" - }, - "size": 4 } ] } } }, - "438dedd956354c574afcde6f0793a7d369b2a031": { + "e8e3e62a1e1b5f4e98c7e128c7cd1bdf59b8f307": { "package": { - "name": "Machine-state", - "version": "0.1", - "description": "Biestable de almacenamiento del estado de la máquina", - "author": "Juan Gonzalez-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22404.343%22%20width=%22319.18%22%20id=%22svg4%22%3E%3Cdefs%20id=%22defs8%22%3E%3Cmarker%20id=%22TriangleOutM%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20id=%22path972%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow1Mend%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-4%200l-2%202%207-2-7-2z%22%20id=%22path836%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow2Mend%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20id=%22path854%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow2Mend-3%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20id=%22path854-6%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow1Mend-5%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-4%200l-2%202%207-2-7-2z%22%20id=%22path836-3%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22TriangleOutM-7%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path972-5%22%20d=%22M2.308%200l-3.46%202v-4z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow1Mend-3%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path836-5%22%20d=%22M-4%200l-2%202%207-2-7-2z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow2Mend-6%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path854-2%22%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow2Mend-3-9%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path854-6-1%22%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow1Mend-5-2%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path836-3-7%22%20d=%22M-4%200l-2%202%207-2-7-2z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cdefs%20id=%22defs3%22%3E%3Cpath%20id=%22a%22%20d=%22M-58.3-45h653.6v640H-58.3z%22/%3E%3C/defs%3E%3Cpath%20id=%22path898%22%20d=%22M-58.3-45h653.6v640H-58.3z%22/%3E%3Cmarker%20id=%22TriangleOutM-3%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20id=%22path972-6%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow1Mend-7%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-4%200l-2%202%207-2-7-2z%22%20id=%22path836-53%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow2Mend-5%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20id=%22path854-62%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow2Mend-3-91%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20id=%22path854-6-2%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow1Mend-5-7%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-4%200l-2%202%207-2-7-2z%22%20id=%22path836-3-0%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22TriangleOutM-7-9%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path972-5-3%22%20d=%22M2.308%200l-3.46%202v-4z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow1Mend-3-6%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path836-5-0%22%20d=%22M-4%200l-2%202%207-2-7-2z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow2Mend-6-6%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path854-2-2%22%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow2Mend-3-9-6%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path854-6-1-1%22%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow1Mend-5-2-8%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path836-3-7-7%22%20d=%22M-4%200l-2%202%207-2-7-2z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cdefs%20id=%22defs3-9%22%3E%3Cpath%20id=%22a-2%22%20d=%22M-58.3-45h653.6v640H-58.3z%22/%3E%3C/defs%3E%3Cpath%20id=%22path974%22%20d=%22M-58.3-45h653.6v640H-58.3z%22/%3E%3C/defs%3E%3Cpath%20d=%22M124.728%2079.637c-24.895%200-45.091%2020.196-45.091%2045.109%200%2024.886%2020.196%2045.126%2045.092%2045.126%2024.904%200%2044.952-20.24%2044.952-45.126%200-24.913-20.049-45.11-44.953-45.11zm90.41%2071.022l-8.128%2019.578%2014.497%2028.472%201.914%203.759-20.1%2020.1-32.979-15.575-19.578%208.04-9.938%2030.421-1.27%204.038h-28.41L98.85%20215.155%2079.27%20207.08l-28.514%2014.462-3.759%201.88-20.092-20.083%2015.559-32.997-8.067-19.56-30.37-9.92L0%20139.555v-28.393L34.362%2098.85l8.067-19.544-14.453-28.533-1.906-3.741%2020.066-20.066%2033.022%2015.55%2019.553-8.084%209.928-30.403L109.92%200h28.401l12.304%2034.38%2019.527%208.084%2028.523-14.471%203.794-1.906%2020.083%2020.066-15.558%2032.97%208.04%2019.588%2030.456%209.928%204.003%201.28v28.384z%22%20id=%22path2%22%20fill=%22#00f%22%20stroke-width=%22.278%22/%3E%3Cg%20id=%22g992-5%22%20transform=%22matrix(3.23542%200%200%203.23542%20-54.399%20117.43)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20id=%22path992-2-62%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20id=%22path1773-2-3-1-8-9-9%22%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cstyle%20id=%22style2%22%3E.st0%7Bdisplay:none%7D.st1%7Bfill:none;stroke:#303030;stroke-width:.7;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10%7D.st2%7Bfill:#303030%7D%3C/style%3E%3Cg%20id=%22g1022%22%20transform=%22matrix(.5585%200%200%20.5585%2076.484%2043.495)%22%3E%3Cg%20transform=%22translate(3.47%203.198)%22%20id=%22layer1%22%3E%3Cpath%20id=%22path9-3%22%20d=%22M21.358%20145.947a63.75%2063.75%200%200%200%201.152%2011.049%22%20class=%22st1%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20id=%22path11%22%20d=%22M48.702%2092.116a64.784%2064.784%200%200%200-12.559%2011.68%2064.99%2064.99%200%200%200-12.69%2024.809%22%20class=%22st1%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20class=%22st1%22%20id=%22line17%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22%20d=%22M184.865%20207.591L41.298%20262.802%22/%3E%3Cpath%20d=%22M185.448%20175.07l.37.154c2.52.831%204.718%202.386%206.634%204.249%202.02%202.322%203.694%204.777%204.423%208.713%201.496%208.074-3.286%2016.05-10.95%2018.997l-1.06.408L41.298%20262.8l-.733.283c-8.003%203.077-17.551.461-21.82-6.975-3.3-5.748-2.736-12.198.418-21.613%203.155-9.414%202.86-21.856-1.644-33.55l.041.003-12.507-32.667c-12.88-33.415-.747-70.376%2027.41-90.31l-1.102-2.749c-3.685-9.583%201.14-20.438%2010.723-24.124%209.583-3.685%2020.439%201.14%2024.124%2010.723l1.654%203.239c34.881-3.556%2068.594%2015.855%2081.318%2049.33l15.24%2038.432c4.795%208.723%2011.831%2015.955%2021.028%2022.248z%22%20id=%22path21-3%22%20fill=%22#fff%22%20stroke=%22#303030%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20id=%22path826%22%20d=%22M64.268%20268.838l45.015-17.115s7.963%2024.296-14.427%2030.38c-22.39%206.086-30.588-13.265-30.588-13.265z%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3Cg%20id=%22layer3%22%3E%3Crect%20ry=%2219.847%22%20y=%223.671%22%20x=%2295.783%22%20height=%22135.189%22%20width=%22135.189%22%20id=%22rect845%22%20fill=%22#55acee%22%20stroke=%22#303030%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3C/g%3E%3Cg%20id=%22layer4%22%3E%3Cpath%20id=%22path7-6%22%20d=%22M172.724%2052.533V27.647h-9.888L144.047%2037.7l2.308%208.9%2014.833-8.076h.33v74.824H172.724V52.533z%22%20class=%22st2%22%20fill=%22#303030%22%20stroke-width=%2214.425%22/%3E%3C/g%3E%3C/g%3E%3Cg%20id=%22g992-5-7%22%20transform=%22matrix(3.23542%200%200%203.23542%20-57.653%2011.124)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20id=%22path992-2-62-5%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20id=%22path1773-2-3-1-8-9-9-3%22%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/svg%3E" + "name": "syscounter-rst-16bits", + "version": "0.2", + "description": "16-bits Syscounter with reset", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22302.843%22%20height=%22186.504%22%20viewBox=%220%200%2080.127205%2049.345746%22%3E%3Cdefs%3E%3Cmarker%20id=%22a%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20fill=%22#00f%22%20fill-rule=%22evenodd%22%20stroke=%22#00f%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3C/defs%3E%3Cg%20transform=%22translate(-65.585%20-4.54)%22%3E%3Cpath%20d=%22M138.803%2048.49V16.91%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%222.806%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20marker-end=%22url(#a)%22/%3E%3Crect%20rx=%222.807%22%20ry=%222.807%22%20y=%225.289%22%20x=%2299.747%22%20height=%2247.849%22%20width=%2229.538%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%221.497%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%2240.921%22%20x=%22108.575%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%228.982%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%221.497%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2240.921%22%20x=%22108.575%22%20font-weight=%22700%22%20font-size=%2235.656%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M100.868%2030.283h27.764%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%222.245%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20rx=%222.807%22%20ry=%222.807%22%20y=%225.289%22%20x=%2266.333%22%20height=%2247.849%22%20width=%2229.538%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%221.497%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%2240.921%22%20x=%2273.223%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%228.982%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%221.497%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2240.921%22%20x=%2273.223%22%20font-weight=%22700%22%20font-size=%2235.656%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M67.454%2030.283h27.764%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%222.245%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618592156430 }, "design": { "graph": { "blocks": [ { - "id": "0d991cee-b329-439b-b9e7-5712d2db539d", - "type": "basic.output", + "id": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", + "type": "basic.input", "data": { - "name": "state" + "name": "", + "clock": true }, "position": { - "x": 960, - "y": 8 + "x": 216, + "y": -120 } }, { - "id": "89a5da53-cc8b-4099-a5e3-b9cf281619b1", - "type": "basic.output", + "id": "0a772657-8018-424d-8f04-75d3ffff3692", + "type": "basic.inputLabel", "data": { - "name": "rst" + "blockColor": "yellow", + "name": "clk", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true }, "position": { - "x": 960, - "y": 120 + "x": 368, + "y": -120 } }, { - "id": "046501b8-4427-4d4d-af97-7fe807774f33", - "type": "basic.input", + "id": "b9359b10-b14f-4dd7-adf9-3f4f22bc65e6", + "type": "basic.outputLabel", "data": { - "name": "", - "clock": true + "blockColor": "yellow", + "name": "clk", + "oldBlockColor": "fuchsia" }, "position": { - "x": 408, - "y": 184 + "x": 384, + "y": -32 } }, { - "id": "aefe9248-3b3d-441b-9e65-33cda65b99dd", - "type": "basic.output", + "id": "217e7560-fd53-4db7-b08f-c9e027e3ba4e", + "type": "basic.outputLabel", "data": { - "name": "on" + "name": "q", + "range": "[15:0]", + "blockColor": "fuchsia", + "size": 16 }, "position": { - "x": 960, - "y": 256 + "x": 1040, + "y": -32 } }, { - "id": "88176871-35ac-42bf-bf62-36c81a4b4b47", - "type": "basic.input", + "id": "9c188e62-dea5-47d2-bfb6-b8379f6c7637", + "type": "basic.output", "data": { - "name": "start", - "clock": false + "name": "q", + "range": "[15:0]", + "size": 16 }, "position": { - "x": 424, - "y": 288 + "x": 1216, + "y": -32 } }, { - "id": "ba15eacb-1e03-4580-932b-3231703481e5", - "type": "basic.input", + "id": "88e0e872-0460-4ecc-bf26-8a7a5598a024", + "type": "basic.output", "data": { - "name": "stop", - "clock": false + "name": "max" }, "position": { - "x": 424, - "y": 352 + "x": 1208, + "y": 56 } }, { - "id": "3802390d-8417-4369-b93c-dda647ccb0c6", - "type": "basic.output", + "id": "06c393de-8af4-4b53-852c-b0e0160b5314", + "type": "basic.outputLabel", "data": { - "name": "off" + "blockColor": "fuchsia", + "name": "c" }, "position": { - "x": 960, - "y": 360 - } - }, - { - "id": "66f5f40c-d14b-4be3-96b6-6cea8d96b738", - "type": "b959c256104d1064a5ef7b38632ffb6eed3b396f", - "position": { - "x": 600, - "y": 272 - }, - "size": { - "width": 96, - "height": 96 + "x": 1048, + "y": 56 } }, { - "id": "03835a1e-c674-4fa3-927b-0511beff772c", - "type": "c386a7076c0569a15326b30b6748ca284426424d", - "position": { - "x": 776, - "y": 272 + "id": "2a921d76-1cbd-48fe-82a9-11b0ab4dbc06", + "type": "basic.input", + "data": { + "name": "rst", + "clock": false }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "de860182-e038-4198-b4a4-505dd7a6fa9e", - "type": "35f267d0df6ffcb7fc33753bc9df9cf083642cca", "position": { - "x": 736, - "y": 120 - }, - "size": { - "width": 96, - "height": 64 + "x": 216, + "y": 56 } }, { - "id": "42f19387-aa1f-4514-88aa-adca9bf9f03b", - "type": "basic.info", + "id": "b34779b6-0670-454d-8d35-9f92e6ff15cf", + "type": "basic.inputLabel", "data": { - "info": "**Tic de apagado**", - "readonly": true + "name": "q", + "range": "[15:0]", + "pins": [ + { + "index": "15", + "name": "", + "value": "" + }, + { + "index": "14", + "name": "", + "value": "" + }, + { + "index": "13", + "name": "", + "value": "" + }, + { + "index": "12", + "name": "", + "value": "" + }, + { + "index": "11", + "name": "", + "value": "" + }, + { + "index": "10", + "name": "", + "value": "" + }, + { + "index": "9", + "name": "", + "value": "" + }, + { + "index": "8", + "name": "", + "value": "" + }, + { + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "blockColor": "fuchsia" }, "position": { - "x": 960, - "y": 344 - }, - "size": { - "width": 168, - "height": 40 + "x": 712, + "y": 88 } }, { - "id": "eaab4880-4c6d-422f-a8ab-c06e579aa7c6", - "type": "basic.info", + "id": "cd9b7fce-c943-4b4c-a716-94f2cd21ccda", + "type": "basic.inputLabel", "data": { - "info": "**Tic de encendido**", - "readonly": true + "blockColor": "fuchsia", + "name": "c", + "pins": [ + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true }, "position": { - "x": 952, - "y": 240 - }, - "size": { - "width": 168, - "height": 40 + "x": 856, + "y": 144 } }, { - "id": "4e85996b-c40e-4f84-bfbc-ff87d4bc425d", - "type": "basic.info", - "data": { - "info": "**Inicializar**", - "readonly": true - }, + "id": "230ff023-e330-4c47-84fb-8366ab5fdbd4", + "type": "8ecd5933e4bd5916eca00d6b654d6760012c47a6", "position": { - "x": 968, - "y": 96 + "x": 720, + "y": 160 }, "size": { - "width": 168, - "height": 40 + "width": 96, + "height": 64 } }, { - "id": "130f81c9-ce87-47a8-b393-762b31a724fc", - "type": "basic.info", - "data": { - "info": "**Estado de la máquina**", - "readonly": true - }, + "id": "de292739-9119-4a80-832d-033be6a9ffbe", + "type": "0788ea6614e4f073f6ed9a49665243d6d489ba46", "position": { - "x": 936, - "y": -16 + "x": 544, + "y": 40 }, "size": { - "width": 168, - "height": 40 + "width": 96, + "height": 96 } } ], "wires": [ { "source": { - "block": "66f5f40c-d14b-4be3-96b6-6cea8d96b738", - "port": "1cb167a4-9e2a-416b-803e-da7b6151eaa5" + "block": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", + "port": "out" }, "target": { - "block": "03835a1e-c674-4fa3-927b-0511beff772c", - "port": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff" - } + "block": "0a772657-8018-424d-8f04-75d3ffff3692", + "port": "inlabel" + }, + "vertices": [] }, { "source": { - "block": "66f5f40c-d14b-4be3-96b6-6cea8d96b738", - "port": "1cb167a4-9e2a-416b-803e-da7b6151eaa5" + "block": "230ff023-e330-4c47-84fb-8366ab5fdbd4", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "0d991cee-b329-439b-b9e7-5712d2db539d", - "port": "in" + "block": "cd9b7fce-c943-4b4c-a716-94f2cd21ccda", + "port": "inlabel" }, - "vertices": [ - { - "x": 720, - "y": 144 - } - ] + "vertices": [] }, { "source": { - "block": "66f5f40c-d14b-4be3-96b6-6cea8d96b738", - "port": "1cb167a4-9e2a-416b-803e-da7b6151eaa5" + "block": "b9359b10-b14f-4dd7-adf9-3f4f22bc65e6", + "port": "outlabel" }, "target": { - "block": "de860182-e038-4198-b4a4-505dd7a6fa9e", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "block": "de292739-9119-4a80-832d-033be6a9ffbe", + "port": "0ae5a502-ee21-47ad-bacb-405a35a87a91" } }, { "source": { - "block": "de860182-e038-4198-b4a4-505dd7a6fa9e", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "06c393de-8af4-4b53-852c-b0e0160b5314", + "port": "outlabel" }, "target": { - "block": "89a5da53-cc8b-4099-a5e3-b9cf281619b1", + "block": "88e0e872-0460-4ecc-bf26-8a7a5598a024", "port": "in" } }, { "source": { - "block": "88176871-35ac-42bf-bf62-36c81a4b4b47", - "port": "out" + "block": "de292739-9119-4a80-832d-033be6a9ffbe", + "port": "7995c7b0-4a39-4a19-aaa4-68f4e469912f", + "size": 16 }, "target": { - "block": "66f5f40c-d14b-4be3-96b6-6cea8d96b738", - "port": "3ae2d46d-7981-497a-899f-b60bfae0f43e" - } + "block": "b34779b6-0670-454d-8d35-9f92e6ff15cf", + "port": "inlabel" + }, + "size": 16 }, { "source": { - "block": "ba15eacb-1e03-4580-932b-3231703481e5", - "port": "out" + "block": "217e7560-fd53-4db7-b08f-c9e027e3ba4e", + "port": "outlabel" }, "target": { - "block": "66f5f40c-d14b-4be3-96b6-6cea8d96b738", - "port": "86eb8c81-17fc-4371-bd21-51f429191f3c" - } + "block": "9c188e62-dea5-47d2-bfb6-b8379f6c7637", + "port": "in", + "size": 16 + }, + "size": 16 }, { "source": { - "block": "03835a1e-c674-4fa3-927b-0511beff772c", - "port": "1c25e08e-e664-4fab-9b30-cedc1f8a3739" + "block": "2a921d76-1cbd-48fe-82a9-11b0ab4dbc06", + "port": "out" }, "target": { - "block": "aefe9248-3b3d-441b-9e65-33cda65b99dd", - "port": "in" + "block": "de292739-9119-4a80-832d-033be6a9ffbe", + "port": "892d93f1-9c4c-46c1-82c7-ff9702a5725a" } }, { "source": { - "block": "03835a1e-c674-4fa3-927b-0511beff772c", - "port": "3ada5999-55ba-4c4e-9877-a3e9ed82308c" + "block": "de292739-9119-4a80-832d-033be6a9ffbe", + "port": "7995c7b0-4a39-4a19-aaa4-68f4e469912f" }, "target": { - "block": "3802390d-8417-4369-b93c-dda647ccb0c6", - "port": "in" - } - }, - { - "source": { - "block": "046501b8-4427-4d4d-af97-7fe807774f33", - "port": "out" + "block": "230ff023-e330-4c47-84fb-8366ab5fdbd4", + "port": "cc343d02-8e43-4dd6-9999-21e29934ed5b" }, - "target": { - "block": "66f5f40c-d14b-4be3-96b6-6cea8d96b738", - "port": "9f09a4af-8f7a-45c3-af7b-293a244e76d9" - } + "vertices": [], + "size": 16 }, { "source": { - "block": "046501b8-4427-4d4d-af97-7fe807774f33", - "port": "out" + "block": "230ff023-e330-4c47-84fb-8366ab5fdbd4", + "port": "a7420015-7f67-4b9a-9dba-b3a58ce79fdc" }, "target": { - "block": "03835a1e-c674-4fa3-927b-0511beff772c", - "port": "2708468d-1088-4570-be63-fb0d4799a941" - } + "block": "de292739-9119-4a80-832d-033be6a9ffbe", + "port": "c48a2779-52ed-4dde-8f95-e8ce67397de8" + }, + "vertices": [ + { + "x": 840, + "y": 264 + } + ], + "size": 16 } ] } } }, - "b959c256104d1064a5ef7b38632ffb6eed3b396f": { + "8ecd5933e4bd5916eca00d6b654d6760012c47a6": { "package": { - "name": "Biestable-Set-Reset", + "name": "Inc1-16bits", "version": "0.1", - "description": "Biestable con entradas de Set y Reset síncronas, para poner y quitar notaficaciones de eventos", - "author": "Juan Gonzalez-Gomez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20234.62951%20290.44458%22%20id=%22svg30%22%20width=%22234.63%22%20height=%22290.445%22%3E%3Cstyle%20id=%22style2%22%3E.st0%7Bdisplay:none%7D.st1%7Bfill:none;stroke:#303030;stroke-width:.7;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10%7D.st2%7Bfill:#303030%7D%3C/style%3E%3Cg%20id=%22layer1%22%20transform=%22translate(3.47%203.198)%22%3E%3Cpath%20class=%22st1%22%20d=%22M21.358%20145.947a63.75%2063.75%200%200%200%201.152%2011.049%22%20id=%22path9%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20class=%22st1%22%20d=%22M48.702%2092.116a64.784%2064.784%200%200%200-12.559%2011.68%2064.99%2064.99%200%200%200-12.69%2024.809%22%20id=%22path11%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20id=%22line17%22%20class=%22st1%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22%20d=%22M184.865%20207.591L41.298%20262.802%22/%3E%3Cpath%20id=%22path21-3%22%20d=%22M185.448%20175.07l.37.154c2.52.831%204.718%202.386%206.634%204.249%202.02%202.322%203.694%204.777%204.423%208.713%201.496%208.074-3.286%2016.05-10.95%2018.997l-1.06.408L41.298%20262.8l-.733.283c-8.003%203.077-17.551.461-21.82-6.975-3.3-5.748-2.736-12.198.418-21.613%203.155-9.414%202.86-21.856-1.644-33.55l.041.003-12.507-32.667c-12.88-33.415-.747-70.376%2027.41-90.31l-1.102-2.749c-3.685-9.583%201.14-20.438%2010.723-24.124%209.583-3.685%2020.439%201.14%2024.124%2010.723l1.654%203.239c34.881-3.556%2068.594%2015.855%2081.318%2049.33l15.24%2038.432c4.795%208.723%2011.831%2015.955%2021.028%2022.248z%22%20fill=%22#fff%22%20stroke=%22#303030%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20d=%22M64.268%20268.838l45.015-17.115s7.963%2024.296-14.427%2030.38c-22.39%206.086-30.588-13.265-30.588-13.265z%22%20id=%22path826%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3Cg%20id=%22layer3%22%3E%3Crect%20id=%22rect845%22%20width=%22135.189%22%20height=%22135.189%22%20x=%2295.783%22%20y=%223.671%22%20ry=%2219.847%22%20fill=%22#55acee%22%20stroke=%22#303030%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3C/g%3E%3Cg%20id=%22layer4%22%3E%3Cpath%20class=%22st2%22%20d=%22M172.724%2052.533V27.647h-9.888L144.047%2037.7l2.308%208.9%2014.833-8.076h.33v74.824H172.724V52.533z%22%20id=%22path7%22%20fill=%22#303030%22%20stroke-width=%2214.425%22/%3E%3C/g%3E%3C/svg%3E" + "description": "Inc1-16bit: Increment a 16-bits number by one", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20width=%22387.891%22%20height=%22310.09%22%20viewBox=%220%200%20363.64764%20290.70999%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.759%2055.834v79.813h79.508v35.946H115.76v79.813h-36.25v-79.813H-.002v-35.946h79.51V55.834z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3Cpath%20d=%22M196.193%20257.608h64.256V35.828l-69.902%2014.02V14.018L260.06%200h39.332v257.608h64.257v33.102H196.193z%22%20style=%22line-height:1.25%22%20font-size=%22398.777%22%20stroke-width=%229.969%22/%3E%3C/svg%3E", + "otid": 1618560481898 }, "design": { "graph": { "blocks": [ { - "id": "9f09a4af-8f7a-45c3-af7b-293a244e76d9", - "type": "basic.input", + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", "data": { - "name": "", - "clock": true + "name": "c" }, "position": { - "x": 200, - "y": 64 + "x": 624, + "y": -168 } }, { - "id": "3ae2d46d-7981-497a-899f-b60bfae0f43e", + "id": "cc343d02-8e43-4dd6-9999-21e29934ed5b", "type": "basic.input", "data": { - "name": "set", - "clock": false + "name": "", + "range": "[15:0]", + "clock": false, + "size": 16 }, "position": { - "x": 200, - "y": 152 + "x": 280, + "y": -152 } }, { - "id": "1cb167a4-9e2a-416b-803e-da7b6151eaa5", + "id": "a7420015-7f67-4b9a-9dba-b3a58ce79fdc", "type": "basic.output", "data": { - "name": "" - }, - "position": { - "x": 720, - "y": 152 - } - }, - { - "id": "86eb8c81-17fc-4371-bd21-51f429191f3c", - "type": "basic.input", - "data": { - "name": "rst", - "clock": false + "name": "s", + "range": "[15:0]", + "size": 16 }, "position": { - "x": 200, - "y": 232 + "x": 624, + "y": -104 } }, { - "id": "bf12a800-db30-4289-a7c5-8c08438f9a39", + "id": "cd0d6f4d-9898-4114-94a9-0b4b98223c27", "type": "basic.constant", "data": { "name": "", - "value": "0", - "local": false + "value": "1", + "local": true }, "position": { - "x": 464, - "y": 0 + "x": 456, + "y": -256 } }, { - "id": "90068dea-9e7b-4a0f-afa3-e6585d0d8542", - "type": "basic.code", - "data": { - "code": "reg q = INI;\n\nalways @(posedge clk)\n if (set)\n q <= 1'b1;\n else if (rst)\n q<=1'b0;", - "params": [ - { - "name": "INI" - } - ], - "ports": { - "in": [ - { - "name": "clk" - }, - { - "name": "set" - }, - { - "name": "rst" - } - ], - "out": [ - { - "name": "q" - } - ] - } - }, + "id": "12fb4602-d67f-4129-a777-f04945adf29d", + "type": "26569688c377bf52132e5f1de5a15da7143d9388", "position": { - "x": 400, - "y": 120 + "x": 456, + "y": -152 }, "size": { - "width": 224, - "height": 128 + "width": 96, + "height": 64 } } ], "wires": [ { "source": { - "block": "9f09a4af-8f7a-45c3-af7b-293a244e76d9", - "port": "out" + "block": "12fb4602-d67f-4129-a777-f04945adf29d", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "90068dea-9e7b-4a0f-afa3-e6585d0d8542", - "port": "clk" - }, - "vertices": [ - { - "x": 336, - "y": 104 - } - ] + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" + } }, { "source": { - "block": "3ae2d46d-7981-497a-899f-b60bfae0f43e", - "port": "out" + "block": "cd0d6f4d-9898-4114-94a9-0b4b98223c27", + "port": "constant-out" }, "target": { - "block": "90068dea-9e7b-4a0f-afa3-e6585d0d8542", - "port": "set" + "block": "12fb4602-d67f-4129-a777-f04945adf29d", + "port": "e728fdca-755f-4f2d-98e7-0716b1c5258f" } }, { "source": { - "block": "86eb8c81-17fc-4371-bd21-51f429191f3c", + "block": "cc343d02-8e43-4dd6-9999-21e29934ed5b", "port": "out" }, "target": { - "block": "90068dea-9e7b-4a0f-afa3-e6585d0d8542", - "port": "rst" + "block": "12fb4602-d67f-4129-a777-f04945adf29d", + "port": "1253e5dc-89f9-4074-874c-82628c0e1d6f" }, - "vertices": [ - { - "x": 344, - "y": 248 - } - ] + "size": 16 }, { "source": { - "block": "90068dea-9e7b-4a0f-afa3-e6585d0d8542", - "port": "q" + "block": "12fb4602-d67f-4129-a777-f04945adf29d", + "port": "f4640f0f-2d2b-40c6-adb2-2581f7d1f9a7" }, "target": { - "block": "1cb167a4-9e2a-416b-803e-da7b6151eaa5", + "block": "a7420015-7f67-4b9a-9dba-b3a58ce79fdc", "port": "in" - } - }, - { - "source": { - "block": "bf12a800-db30-4289-a7c5-8c08438f9a39", - "port": "constant-out" }, - "target": { - "block": "90068dea-9e7b-4a0f-afa3-e6585d0d8542", - "port": "INI" - } + "size": 16 } ] } } }, - "c386a7076c0569a15326b30b6748ca284426424d": { + "26569688c377bf52132e5f1de5a15da7143d9388": { "package": { - "name": "Detector-flancos", + "name": "AdderK-16bits", "version": "0.1", - "description": "Detector de flancos de subida y bajada. Emite tic por las salidas correspondientes al detecta los flancos", + "description": "AdderK-16bit: Adder of 16-bit operand and 16-bit constant", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22375.877%22%20height=%22399.413%22%20viewBox=%220%200%2099.450701%20105.67809%22%3E%3Cdefs%3E%3Cmarker%20orient=%22auto%22%20id=%22a%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20fill=%22red%22%20fill-rule=%22evenodd%22%20stroke=%22red%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22b%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20fill=%22red%22%20fill-rule=%22evenodd%22%20stroke=%22red%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3C/defs%3E%3Cg%20transform=%22translate(-61.727%20-50.902)%22%3E%3Cg%20fill=%22none%22%20stroke=%22#00f%22%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M76.611%2083.336l6.027%207.974-5.055%206.03%201.75%201.557M75.371%2083.53l-3.5%207.975-7.97%201.556.583%202.528%22%20stroke-width=%221.058%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M75.907%2083.53V53.588%22%20stroke-width=%223.969%22/%3E%3Cpath%20d=%22M65.118%2063.338l10.688-10.452%2010.351%2010.452%22%20stroke-width=%223.969%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3Cpath%20d=%22M123.88%2069.103c2.17%203.317%204.013%202.718%205.68%200%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22/%3E%3Cpath%20d=%22M132.326%2095.38V51.614h-11.225v43.497%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%221.323%22%20stroke-linecap=%22round%22/%3E%3Cellipse%20cx=%22112.489%22%20cy=%2297.866%22%20rx=%227.009%22%20ry=%222.635%22%20transform=%22rotate(-1.418)%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%22.265%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20cx=%22-140.807%22%20cy=%2291.678%22%20rx=%227.009%22%20ry=%222.635%22%20transform=%22scale(-1%201)%20rotate(-1.418)%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%22.265%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M124.8%2059.416v3.875M128.39%2059.416v3.875%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%22.529%22/%3E%3Cpath%20d=%22M85.794%2074.097h21.381%22%20fill=%22red%22%20stroke=%22red%22%20stroke-width=%222.646%22%20marker-end=%22url(#a)%22/%3E%3Cg%20transform=%22matrix(.842%200%200%20.842%2062.826%2011.41)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cpath%20d=%22M74.965%20140.485l6.027%207.974-5.055%206.03%201.75%201.557m-3.96-15.367l-3.5%207.975-7.97%201.556.582%202.528%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%221.058%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M74.695%20110.063v29.943%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%223.969%22%20stroke-linecap=%22round%22/%3E%3Cpath%20d=%22M63.906%20130.255l10.689%2010.452%2010.35-10.452%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%223.969%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M124.208%20120.573c2.17%203.317%204.013%202.718%205.68%200%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22/%3E%3Cpath%20d=%22M132.654%20146.85v-43.764H121.43v43.496%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%221.323%22%20stroke-linecap=%22round%22/%3E%3Cellipse%20cx=%22111.543%22%20cy=%22149.329%22%20rx=%227.009%22%20ry=%222.635%22%20transform=%22rotate(-1.418)%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%22.265%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20cx=%22-142.409%22%20cy=%22143.124%22%20rx=%227.009%22%20ry=%222.635%22%20transform=%22scale(-1%201)%20rotate(-1.418)%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%22.265%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M125.128%20110.887v3.874M128.718%20110.887v3.874%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%22.529%22/%3E%3Cpath%20d=%22M86.122%20125.567h21.381%22%20fill=%22red%22%20stroke=%22red%22%20stroke-width=%222.646%22%20marker-end=%22url(#b)%22/%3E%3Cg%20transform=%22matrix(.842%200%200%20.842%2063.956%2061.544)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E" + "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618560481898 }, "design": { "graph": { "blocks": [ { - "id": "2708468d-1088-4570-be63-fb0d4799a941", - "type": "basic.input", + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", "data": { - "name": "", - "clock": true + "name": "c" }, "position": { - "x": 152, - "y": 160 + "x": 624, + "y": -168 } }, { - "id": "1c25e08e-e664-4fab-9b30-cedc1f8a3739", + "id": "f4640f0f-2d2b-40c6-adb2-2581f7d1f9a7", "type": "basic.output", "data": { - "name": "up" + "name": "s", + "range": "[15:0]", + "size": 16 }, "position": { - "x": 672, - "y": 160 + "x": 624, + "y": -96 } }, { - "id": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", + "id": "1253e5dc-89f9-4074-874c-82628c0e1d6f", "type": "basic.input", "data": { "name": "", - "clock": false - }, - "position": { - "x": 152, - "y": 248 - } - }, - { - "id": "3ada5999-55ba-4c4e-9877-a3e9ed82308c", - "type": "basic.output", - "data": { - "name": "down" + "range": "[15:0]", + "clock": false, + "size": 16 }, "position": { - "x": 672, - "y": 248 + "x": 232, + "y": -56 } }, { - "id": "49c0a94e-2687-4aa4-8cba-327b2942095f", - "type": "basic.info", + "id": "e728fdca-755f-4f2d-98e7-0716b1c5258f", + "type": "basic.constant", "data": { - "info": "## Detector doble: flancos de subida y bajada\n\nSe detectan tanto los flancos de subida como de bajada y se emite los \ntics por sus salidas correspondientes", - "readonly": true + "name": "", + "value": "0", + "local": false }, "position": { - "x": 144, - "y": -24 - }, - "size": { - "width": 568, - "height": 80 + "x": 232, + "y": -272 } }, { - "id": "a6ea5e17-d259-4272-8d1c-87a6a7fe3235", - "type": "basic.info", - "data": { - "info": "Señal de \nentrada", - "readonly": true - }, + "id": "3ed9c4cb-d412-46e8-86cc-9943f564ccd0", + "type": "651fa32fcf52b534a766fdb2ba638a010338f268", "position": { - "x": 168, - "y": 216 + "x": 232, + "y": -168 }, "size": { "width": 96, - "height": 56 + "height": 64 } }, { - "id": "d0d6c668-3c03-42f5-9244-9a0431f11a87", - "type": "basic.info", - "data": { - "info": "Reloj del \nsistema", - "readonly": true - }, + "id": "82e8e1b8-0816-489f-9427-b03956cdc86a", + "type": "bc66d79524a86b172c0ff190e607bca7c0694b8b", "position": { - "x": 168, - "y": 120 + "x": 456, + "y": -152 }, "size": { "width": 96, - "height": 48 - } - }, - { - "id": "73c2239c-1050-4d9f-ae49-0299d50982af", - "type": "basic.code", - "data": { - "code": "reg q = 0;\n\nalways @(posedge clk)\n q <= i;\n \nassign up = (~q & i); \nassign down = (q & ~i); ", - "params": [], - "ports": { - "in": [ - { - "name": "clk" - }, - { - "name": "i" - } - ], - "out": [ - { - "name": "up" - }, - { - "name": "down" - } - ] - } - }, - "position": { - "x": 336, - "y": 152 - }, - "size": { - "width": 264, - "height": 168 + "height": 64 } } ], "wires": [ { "source": { - "block": "2708468d-1088-4570-be63-fb0d4799a941", - "port": "out" + "block": "82e8e1b8-0816-489f-9427-b03956cdc86a", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "73c2239c-1050-4d9f-ae49-0299d50982af", - "port": "clk" + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" } }, { "source": { - "block": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", - "port": "out" + "block": "e728fdca-755f-4f2d-98e7-0716b1c5258f", + "port": "constant-out" }, "target": { - "block": "73c2239c-1050-4d9f-ae49-0299d50982af", - "port": "i" + "block": "3ed9c4cb-d412-46e8-86cc-9943f564ccd0", + "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" } }, { "source": { - "block": "73c2239c-1050-4d9f-ae49-0299d50982af", - "port": "up" + "block": "3ed9c4cb-d412-46e8-86cc-9943f564ccd0", + "port": "d54af040-d87a-431d-a15f-d5deb4795af5" }, "target": { - "block": "1c25e08e-e664-4fab-9b30-cedc1f8a3739", - "port": "in" - } + "block": "82e8e1b8-0816-489f-9427-b03956cdc86a", + "port": "353729bb-5213-45a7-a8e1-4e1d812492bd" + }, + "size": 16 + }, + { + "source": { + "block": "1253e5dc-89f9-4074-874c-82628c0e1d6f", + "port": "out" + }, + "target": { + "block": "82e8e1b8-0816-489f-9427-b03956cdc86a", + "port": "eeb34637-ba55-4a7f-803e-e85d9b9c7fc4" + }, + "size": 16 }, { "source": { - "block": "73c2239c-1050-4d9f-ae49-0299d50982af", - "port": "down" + "block": "82e8e1b8-0816-489f-9427-b03956cdc86a", + "port": "14253a9f-c3ef-4ada-bb54-dbbed784b7a9" }, "target": { - "block": "3ada5999-55ba-4c4e-9877-a3e9ed82308c", + "block": "f4640f0f-2d2b-40c6-adb2-2581f7d1f9a7", "port": "in" - } + }, + "size": 16 } ] } } }, - "a3c966710f8e14f7d3464d7e89c1894dfebb86c7": { + "651fa32fcf52b534a766fdb2ba638a010338f268": { "package": { - "name": "Registro", - "version": "0.1", - "description": "Registro de 4 bits con entrada de reset", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22519.236%22%20height=%22279.911%22%20viewBox=%220%200%20137.38127%2074.059853%22%3E%3Cpath%20d=%22M41.506%2040.152l13.608%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke=%22#000%22%20stroke-width=%221.092%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M34.122%2032.088L24.89%2012.475l-6.45%203.724-2.07-3.583L37.276.546l2.07%203.584-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.772L33.017%2045.02s-2.849-3.695-2.16-6.795c.687-3.1%203.265-6.137%203.265-6.137z%22%20fill=%22red%22%20stroke=%22#000%22%20stroke-width=%221.092%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22translate(-93.518%20-22.665)%20scale(1.09073)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20cx=%22100.602%22%20cy=%2273.815%22%20r=%2214.559%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M81.95%2040.152l13.607%2016.672L88.64%2036.29%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M74.566%2032.088l-9.232-19.613-6.451%203.724-2.069-3.583L77.719.546l2.069%203.584-6.092%203.517%2012.03%2018.223s5.399-2.025%208.535.74c3.137%202.766%202.52%204.92%202.887%204.772L73.46%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M121.637%2040.152l13.608%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M114.253%2032.088l-9.232-19.613-6.45%203.724-2.07-3.583L117.407.546l2.07%203.584-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.772L113.147%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3C/svg%3E" + "name": "16-bits-gen-constant", + "version": "0.0.2", + "description": "Generic: 16-bits generic constant", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22145.608%22%20height=%22247.927%22%20viewBox=%220%200%20136.50729%20232.43134%22%3E%3Cg%20style=%22line-height:0%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%3E%3Cpath%20d=%22M56.012%20146.905q9.055%206.708%2020.459%2017.105%2011.404%2010.062%2022.472%2021.8%2011.403%2011.74%2021.465%2024.15%2010.062%2012.074%2016.1%2022.471h-32.87q-6.372-10.397-15.763-21.13-9.392-11.068-20.124-21.13-10.398-10.062-21.13-18.447-10.398-8.385-18.783-14.087v74.794H0V4.695L27.838%200v141.874q18.447-16.1%2036.894-31.863%2018.447-16.1%2033.205-33.205h32.533q-14.422%2017.106-34.881%2035.217-20.124%2018.112-39.577%2034.882z%22%20style=%22line-height:1.25%22%20font-size=%22335.399%22%20font-weight=%22400%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22/%3E%3C/g%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "096f61b6-6d5c-4907-9512-e65b25969458", - "type": "basic.input", - "data": { - "name": "", - "clock": true - }, - "position": { - "x": 80, - "y": 168 - } - }, - { - "id": "a2b70876-c7c0-4208-a403-eed81e32fe5a", - "type": "basic.input", - "data": { - "name": "rst", - "clock": false - }, - "position": { - "x": 80, - "y": 216 - } - }, - { - "id": "f655c5c0-0157-4195-89ac-f92c5b3f8e0b", + "id": "d54af040-d87a-431d-a15f-d5deb4795af5", "type": "basic.output", - "data": { - "name": "q", - "range": "[3:0]", - "size": 4 - }, - "position": { - "x": 632, - "y": 248 - } - }, - { - "id": "ee31ca02-b981-4474-a62e-85f20302435c", - "type": "basic.input", "data": { "name": "", - "range": "[3:0]", - "clock": false, - "size": 4 - }, - "position": { - "x": 80, - "y": 272 - } - }, - { - "id": "065ea371-8398-43b3-8341-287c234a3acb", - "type": "basic.input", - "data": { - "name": "load", - "clock": false + "range": "[15:0]", + "size": 16 }, "position": { - "x": 80, - "y": 320 + "x": 960, + "y": 248 } }, { - "id": "f3b434e4-0c8f-4dd7-90c7-305189a807f1", + "id": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", "type": "basic.constant", "data": { "name": "", @@ -11631,436 +11221,470 @@ "local": false }, "position": { - "x": 376, - "y": 56 + "x": 728, + "y": 128 } }, { - "id": "32106310-bfdc-41db-9a7c-2dadd5016c3f", + "id": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", "type": "basic.code", "data": { - "code": "localparam N = 4;\n\nreg [N-1:0] q = INI;\n\nalways @(posedge clk)\n if (rst)\n q <= 0;\n else\n if (load)\n q <= d;", + "code": "assign k = VALUE;", "params": [ { - "name": "INI" + "name": "VALUE" } ], "ports": { - "in": [ - { - "name": "clk" - }, - { - "name": "rst" - }, - { - "name": "d", - "range": "[3:0]", - "size": 4 - }, - { - "name": "load" - } - ], + "in": [], "out": [ { - "name": "q", - "range": "[3:0]", - "size": 4 + "name": "k", + "range": "[15:0]", + "size": 16 } ] } }, "position": { - "x": 280, - "y": 176 + "x": 672, + "y": 248 }, "size": { - "width": 288, - "height": 200 + "width": 208, + "height": 64 } } ], "wires": [ { "source": { - "block": "f3b434e4-0c8f-4dd7-90c7-305189a807f1", + "block": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", "port": "constant-out" }, "target": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "INI" - }, - "vertices": [] - }, - { - "source": { - "block": "065ea371-8398-43b3-8341-287c234a3acb", - "port": "out" - }, - "target": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "load" - } - }, - { - "source": { - "block": "096f61b6-6d5c-4907-9512-e65b25969458", - "port": "out" - }, - "target": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "clk" + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "VALUE" } }, { "source": { - "block": "ee31ca02-b981-4474-a62e-85f20302435c", - "port": "out" - }, - "target": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "d" - }, - "size": 4 - }, - { - "source": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "q" + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "k" }, "target": { - "block": "f655c5c0-0157-4195-89ac-f92c5b3f8e0b", + "block": "d54af040-d87a-431d-a15f-d5deb4795af5", "port": "in" }, - "size": 4 - }, - { - "source": { - "block": "a2b70876-c7c0-4208-a403-eed81e32fe5a", - "port": "out" - }, - "target": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "rst" - } + "size": 16 } ] } } }, - "04dcede98e726cdb028c1ef593f02f949d5f5ac6": { + "bc66d79524a86b172c0ff190e607bca7c0694b8b": { "package": { - "name": "sum-1op-4bits", + "name": "Adder-16bits", "version": "0.1", - "description": "Sumador de un operando de 4 bits con una constante pasada como parámetro (No hay accarreo)", - "author": "Juan González-Gómez", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%3E%3Ctext%20style=%22line-height:125%25%22%20x=%22-33.052%22%20y=%22195.572%22%20font-weight=%22400%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20font-family=%22sans-serif%22%20stroke-width=%224.441%22%3E%3Ctspan%20x=%22-33.052%22%20y=%22195.572%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%3E+%3C/tspan%3E%3C/text%3E%3C/svg%3E" + "description": "Adder-16bits: Adder of two operands of 16 bits", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618560481898 }, "design": { "graph": { "blocks": [ { - "id": "d1ed8643-0bb2-48ac-9aca-17184aee9368", - "type": "basic.input", + "id": "e2589574-b6cc-4faf-8e69-3d23248bcba2", + "type": "basic.inputLabel", "data": { - "name": "", - "range": "[3:0]", - "clock": false, - "size": 4 + "name": "a1", + "range": "[7:0]", + "pins": [ + { + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia", + "blockColor": "deeppink" }, "position": { - "x": 208, - "y": 192 + "x": 8, + "y": -664 + } + }, + { + "id": "4f2c77a9-f54e-4c7e-b1b8-d1739ea521c7", + "type": "basic.outputLabel", + "data": { + "name": "a1", + "range": "[7:0]", + "blockColor": "deeppink", + "size": 8 + }, + "position": { + "x": 352, + "y": -664 } }, { - "id": "423ecf0e-b1de-4a7f-8bf0-032e0c1f0467", + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", "type": "basic.output", "data": { - "name": "", - "range": "[3:0]", - "size": 4 + "name": "c" }, "position": { - "x": 672, - "y": 192 + "x": 960, + "y": -608 } }, { - "id": "c4eedeee-32b3-41da-834c-48f3a92cbaec", - "type": "basic.constant", + "id": "353729bb-5213-45a7-a8e1-4e1d812492bd", + "type": "basic.input", "data": { "name": "", - "value": "1", - "local": false + "range": "[15:0]", + "clock": false, + "size": 16 }, "position": { - "x": 448, - "y": 96 + "x": -320, + "y": -608 } }, { - "id": "a8d15f9d-bba5-432f-b698-17964638c83a", - "type": "basic.code", + "id": "6736a55c-7818-4da9-9c1a-f57200ad2526", + "type": "basic.inputLabel", "data": { - "code": "assign s = a + k;", - "params": [ + "name": "a0", + "range": "[7:0]", + "pins": [ { - "name": "k" + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" } ], - "ports": { - "in": [ - { - "name": "a", - "range": "[3:0]", - "size": 4 - } - ], - "out": [ - { - "name": "s", - "range": "[3:0]", - "size": 4 - } - ] - } + "virtual": true, + "oldBlockColor": "fuchsia", + "blockColor": "deeppink" }, "position": { - "x": 384, - "y": 192 - }, - "size": { - "width": 216, - "height": 64 - } - } - ], - "wires": [ - { - "source": { - "block": "c4eedeee-32b3-41da-834c-48f3a92cbaec", - "port": "constant-out" - }, - "target": { - "block": "a8d15f9d-bba5-432f-b698-17964638c83a", - "port": "k" + "x": 8, + "y": -592 } }, { - "source": { - "block": "d1ed8643-0bb2-48ac-9aca-17184aee9368", - "port": "out" - }, - "target": { - "block": "a8d15f9d-bba5-432f-b698-17964638c83a", - "port": "a" - }, - "size": 4 - }, - { - "source": { - "block": "a8d15f9d-bba5-432f-b698-17964638c83a", - "port": "s" - }, - "target": { - "block": "423ecf0e-b1de-4a7f-8bf0-032e0c1f0467", - "port": "in" - }, - "size": 4 - } - ] - } - } - }, - "2e691702e123c308f561a5a93912a03de1896719": { - "package": { - "name": "Comparador de dos operandos", - "version": "0.1", - "description": "Comparador de dos operandos de 4 bits", - "author": "Juan Gonzalez-Gomez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22312.756%22%20height=%22168.82%22%20viewBox=%220%200%20293.20803%20158.26888%22%3E%3Ctext%20style=%22line-height:125%25%22%20x=%22178.324%22%20y=%22457.047%22%20font-size=%2296.3%22%20transform=%22matrix(4.864%200%200%204.864%20-916.998%20-1997.335)%22%20fill=%22#00f%22%20stroke-width=%22.057%22%20font-weight=%22400%22%20letter-spacing=%220%22%20word-spacing=%220%22%20font-family=%22sans-serif%22%3E%3Ctspan%20x=%22178.324%22%20y=%22457.047%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20stroke-width=%22.206%22%3E=%3C/tspan%3E%3C/text%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "0587ffc4-0beb-4bc0-b72c-df8bde2c6bf2", - "type": "basic.input", + "id": "4743defe-36c0-40a2-aaf0-188272583034", + "type": "basic.outputLabel", "data": { - "name": "", - "range": "[3:0]", - "clock": false, - "size": 4 + "name": "b1", + "range": "[7:0]", + "blockColor": "fuchsia", + "size": 8 }, "position": { - "x": 152, - "y": 104 + "x": 352, + "y": -584 } }, { - "id": "0344dacc-8583-456b-b377-8cb4ab97cf94", + "id": "14253a9f-c3ef-4ada-bb54-dbbed784b7a9", "type": "basic.output", "data": { - "name": "" + "name": "s", + "range": "[15:0]", + "size": 16 }, "position": { - "x": 616, - "y": 160 + "x": 960, + "y": -544 } }, { - "id": "128b8626-fc1e-4144-a837-a275b812ee83", - "type": "basic.input", + "id": "a3761c9e-14ee-47ef-95f0-ddbb132ba6cf", + "type": "basic.inputLabel", "data": { - "name": "", - "range": "[3:0]", - "clock": false, - "size": 4 + "name": "b1", + "range": "[7:0]", + "pins": [ + { + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "blockColor": "fuchsia" }, "position": { - "x": 152, - "y": 200 + "x": 8, + "y": -472 } }, { - "id": "9c811723-c900-4ceb-9989-036b071ee3fe", - "type": "basic.code", + "id": "7d042e3c-08e0-4027-ba97-6f6143ac0b7e", + "type": "basic.outputLabel", "data": { - "code": "assign eq = (a == b);", - "params": [], - "ports": { - "in": [ - { - "name": "a", - "range": "[3:0]", - "size": 4 - }, - { - "name": "b", - "range": "[3:0]", - "size": 4 - } - ], - "out": [ - { - "name": "eq" - } - ] - } + "name": "a0", + "range": "[7:0]", + "blockColor": "deeppink", + "size": 8 }, "position": { - "x": 344, - "y": 160 - }, - "size": { - "width": 224, - "height": 64 - } - } - ], - "wires": [ - { - "source": { - "block": "9c811723-c900-4ceb-9989-036b071ee3fe", - "port": "eq" - }, - "target": { - "block": "0344dacc-8583-456b-b377-8cb4ab97cf94", - "port": "in" + "x": 184, + "y": -472 } }, { - "source": { - "block": "128b8626-fc1e-4144-a837-a275b812ee83", - "port": "out" - }, - "target": { - "block": "9c811723-c900-4ceb-9989-036b071ee3fe", - "port": "b" + "id": "eeb34637-ba55-4a7f-803e-e85d9b9c7fc4", + "type": "basic.input", + "data": { + "name": "", + "range": "[15:0]", + "clock": false, + "size": 16 }, - "size": 4 + "position": { + "x": -320, + "y": -424 + } }, { - "source": { - "block": "0587ffc4-0beb-4bc0-b72c-df8bde2c6bf2", - "port": "out" - }, - "target": { - "block": "9c811723-c900-4ceb-9989-036b071ee3fe", - "port": "a" - }, - "size": 4 - } - ] - } - } - }, - "33e7c0abcd8b70a7af87fdb6750be0e24a796695": { - "package": { - "name": "Constante-4bits", - "version": "0.0.1", - "description": "Valor genérico constante (menos 1), de 4 bits. Su valor se introduce como parámetro. Por defecto vale 0", - "author": "Juan Gonzalez-Gomez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22489.056%22%20height=%22247.927%22%20viewBox=%220%200%20458.49013%20232.43134%22%3E%3Ctext%20style=%22line-height:0%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22293.115%22%20y=%22648.344%22%20font-weight=%22400%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22%20transform=%22translate(-316.929%20-415.913)%22%3E%3Ctspan%20x=%22293.115%22%20y=%22648.344%22%20style=%22line-height:1.25%22%20font-size=%22335.399%22%3Ek-1%3C/tspan%3E%3C/text%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "2da79d6d-81ed-4d5d-b4bf-113557353105", - "type": "basic.output", + "id": "a7cd6890-7130-4f25-9966-b5ca1132d597", + "type": "basic.inputLabel", "data": { - "name": "k", - "range": "[3:0]", - "size": 4 + "name": "b0", + "range": "[7:0]", + "pins": [ + { + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "blockColor": "fuchsia" }, "position": { - "x": 960, - "y": 248 + "x": 8, + "y": -408 } }, { - "id": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", - "type": "basic.constant", + "id": "7114cf32-af2c-438f-b816-1043a8bd819d", + "type": "basic.outputLabel", "data": { - "name": "", - "value": "1", - "local": false + "name": "b0", + "range": "[7:0]", + "blockColor": "fuchsia", + "size": 8 }, "position": { - "x": 728, - "y": 112 + "x": 184, + "y": -408 } }, { - "id": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", - "type": "basic.code", - "data": { - "code": "assign k = VALUE-1;", - "params": [ - { - "name": "VALUE" - } - ], - "ports": { - "in": [], - "out": [ - { - "name": "k", - "range": "[3:0]", - "size": 4 - } - ] - } + "id": "4cb18fdd-66bb-461c-ae6d-1454c8e4a9a6", + "type": "306ca367fbbc5181b3c709d73f447e0710871a1d", + "position": { + "x": -168, + "y": -424 }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "e3cde6db-ea93-4550-affd-14856b75d5a5", + "type": "306ca367fbbc5181b3c709d73f447e0710871a1d", "position": { - "x": 672, - "y": 248 + "x": -168, + "y": -608 }, "size": { - "width": 208, + "width": 96, + "height": 64 + } + }, + { + "id": "64c3574b-3227-40ab-ab03-c2e2af710a45", + "type": "cb23aa3d8a3e95bd194fd9ec9b9c40b36595d893", + "position": { + "x": 352, + "y": -456 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "0857be54-1eea-4619-841f-b1bb49aa66d0", + "type": "c3c498191b14e9288a85fa2871b3966665f75475", + "position": { + "x": 520, + "y": -600 + }, + "size": { + "width": 96, + "height": 96 + } + }, + { + "id": "17bd7ef3-6604-48a9-9c2e-50a8be908636", + "type": "8cc49c9b29485f2cfeab6064d7bb1cf9ced045b1", + "position": { + "x": 760, + "y": -544 + }, + "size": { + "width": 96, "height": 64 } } @@ -12068,2683 +11692,2428 @@ "wires": [ { "source": { - "block": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", - "port": "constant-out" + "block": "4cb18fdd-66bb-461c-ae6d-1454c8e4a9a6", + "port": "0e7ef93d-c4da-4c2e-9653-7a470dc912b6", + "size": 8 }, "target": { - "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", - "port": "VALUE" - } + "block": "a7cd6890-7130-4f25-9966-b5ca1132d597", + "port": "inlabel" + }, + "size": 8 }, { "source": { - "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", - "port": "k" + "block": "4cb18fdd-66bb-461c-ae6d-1454c8e4a9a6", + "port": "6ac467f0-b16b-44ef-8f03-ae206c13186e", + "size": 8 }, "target": { - "block": "2da79d6d-81ed-4d5d-b4bf-113557353105", - "port": "in" + "block": "a3761c9e-14ee-47ef-95f0-ddbb132ba6cf", + "port": "inlabel" }, - "size": 4 - } - ] - } - } - }, - "3611498f72f6612ad9bff72919bddb61a3ef0e82": { - "package": { - "name": "Mem-16B-down-machine", - "version": "0.1", - "description": "16B memory download machine", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20viewBox=%220%200%2088.570022%20126.13218%22%20height=%22476.72%22%20width=%22334.753%22%3E%3Cg%20transform=%22translate(-158.43%20-96.411)%22%3E%3Cimage%20xlink:href=%22data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAgM0lEQVR4Xu1dCZBU1bm+PdPTM8CM%20AgMO+yCrAq4oGjWKIIorcYnRlD59saImGlOaqK/UPPeHu5VyjyYuMRu+uFVEjRqX4FNRQURwQVxQ%20YdiGZQYGepZ+33frfK9Oneq+t+/0zHTad/+qU7fv7bt0n/8///L9/znX+1ZTTDHFFFNMMcUUU0wx%20xRRTTDHFFFNMMcUUU0wxxZToofuX8XPo82LqcLaZUhUAMbucraKi4viysrI9jCBkp5gybKBH0un0%20cuy3URC6WwiSXvcRmV9ZVVV1azKZPBvN69+/vzd06FBv2LBh1mkxff31197ixYvJfa+1tfUnHR0d%20x7W1tc3HV2kJQakJQBmZjzYUo99n/qRJk7xTTz3V69WrV5bTY/rmm2+8u+++29u6desO2L0cAnCq%20YXy61AQgYe5bBebvB9XvJRIJ79hjj/VSqZTX3t6e5ZKYBg0a5B133HHenDlzPPRZLQ5VG+a3lpwJ%20kPoH83uT+Ww77rhjCPNjYh+Z/hqK3T5oW9C2obWXlAaQAMCm9SovL/cGDx7sQaWFXBbTTjvt5AsA%20+qwOu7SVSTnOpSgASdBkSjTtPhybkMtioomkyWTjLvmjSK0UncAkJLmMAgDKUwBiqqur81atWkUt%200Bcmc2XJaQCBPtqCvMrKyjztf0wIm9lp1AbjW1paPrIwlUzJaAAJAKgajbYtTwGIaeDAgd6KFSv8%20zmMfloIJcCFf3rOCDT7AKAgAAY78nMCYqC3lB/Q1/Zgy4WB7AERcVAFIiPE333zz6JEjR565ffv2%20Xlu2bKm58847d2psbKQAhGiAmOQr1dTU+J8PPPDAE37wgx8MhgO9BeZg++bNm18588wzXzYQcXtX%20CUGii5ifuuyyy8YD7Fk4YMAAOTHelVde6X300UfejBkzPAhGwG1i5ksA2HdPPfWUd/LJJ7NRczKM%209iOp55577oyzzjrrvwkOGUHIFFsDJIya6nPQQQfdSweGKoyNAgBNIIcmRxQQM15ELcl9oKdU/4yh%202W/sR/anvz98+PD/wqnPozUZc9BeFA3gMv/GG288CgLwaL9+/by+fft6q1ev9gXgqKOO8v/MEUcc%204UOdJUxiUgSmRhv59va3v/2tnztBv9J0+k40Bxe16fLly2effvrpt1EIlCfobg2Q0FYq34J7q6ZN%20mzZ8v/32u5nSKonllhKrPACOyQcofQEonPlZma7GZ6jPFD5v27bN69Onj78/evTon/34xz9+/v77%20719s+NFup5OjOoqJKA7ezjvvPAuM7QuGJkBlyFtXgNkzMbrHUXUx3Utmf/XVVz7zTzrpJL9TTjnl%20FK+EieYrAuO1H8r8nBrgb3/7m1dbW+vNnj3bfzY165AhQ7zPPvvM9wlWrly5DFnD5yAUaQhMB4Qk%20g/My0LxPn3POOQuiOIqJPCDd1IMPPnjiiBEjHiFzObK15Y9Zs2aNn+Ovrq5mKtP74IMPlPjxfvGL%20X3ggCkKpC0AhjNdxfbZb1u9ffPFFb8OGDd4dd9zB+gBv/fr13pgxYzw62OzzTz75hKaWfc5+5jFt%20aX5/hrT7gzQPchQ7awLKZOPB4Nly7CQAbBzlUv38/P7773vQEs0vv/zyckhpNTpkNK6X+i911a/P%20UUe8y2jdI6tgiMj4t956axGFb88996wD0wfRDJDp7G/wQ+l18kJbaoo7jjzyyL8/++yzX8tR7JQG%20EPPRasHQT/FwPkBCwCaJ8zXAhx9+6Esp4lVJqXfDDTf42uDggw/uSVsscjtd+1Gu1/lsETRAkLoP%201whLlizx2+9//3uNbm/8+PHe22+/7e2yyy5ECmluXQ3A5kdeTz/99OlwIOfiVs0mZMwUpAEA6pDx%20fKgEQM6ez4w33niDQuDbLVJzczO/U1hDFdqVjC/cMYt+vYRAx8JUvCtA+Qinew/aeoZ+ZDAjAZ/p%20L730EiMEAkbsY35HXnDLfqdJZn/3poOO1kIB6KwJSAjWBZOXbtq0acK6det4c7v5Dx83bhwZQcEg%20w33mAwFkR7goYE8LghgSpgGiMknfBal7Nff5bIHnsx+5hZPN/vQZrKTaPvvsw/IxagGZYTX1/Qo4%207B8Y/y1RSBiokKIDCN9//upXvzoRUjgMzKxgBMBIgIQQpQwJjElQRymZBgoAnRj9GVzTE/Y5aDQV%20cr39XRRV79p6CQKZlfV7HaPZlPYk0zm6JQDIEHKkL2tqatrcAWIEwMvwfevatWu/efTRR1+wI4BC%20BYA32o625dprr32R/gBab3NdObzSGoAWp+AHp+QfSOVLimWnihSjizGFXu9+7zLVfYaOaWt/lkl0%20Ge+eRy0qbIX7cvoIq484/vjjH4BGbrJCvq1oG9BWo20zqj/U9iZC1H81mY5q1csQ6x+KeHSkHQbS%204VMRA4/RLr3zzjsefYbXXnuNjTbMb98KClf37ne5jkkLZDUX7Nd//vOf3ne/+13vkEMO8Xr37s1I%20gJqAZsHXrtAATB3bTiCPrYXf8NpvfvObG8GHz4UWFuIElkGl/BwO3r+7IaCwfkqlnEH+6LFjx3Kf%20zJc0f9vyAO7IzmfUZ8MW3OO6BweStGd6t912S5Hpb775pjd58mSli8lw5Q3kBBIbGIhrT0QSbgTM%209jGqJ+iMACivX4VM1BnCAOwmW88fy+8XLFjAH9R49NFHPwNPNA3I8mgcHwTp/bYIQC47HmYqcp7j%20OpiuxnjssceW3X777f/D/YcffvhwhIH1+++/vwYd+10aQELBRuRw3/PPP38s0vGLFQayRRWASrQ+%20YF6N7BCbGwYyTUnmm+rf/n/+859P5+df//rX3scff+ypIORbQLkAnSAH0T2WCxDKeg5yLBP/9Kc/%20TbSdwHnz5tEcKMyWj2BjATQhHIzjcJtPjA/XHlUDCAPoDa9T6kXhhv9gMXbhwoW0RYxTqf4JBUtA%205PCUPBLo2m2X+focgQLxAWL+ep4YTJyFnxsaGuhnMSlE6F0mVlv6ATzOaKHNDOLyzkQBSgKVY87a%20vXBEzqVU8eZ8iJhKdJB2CRgBpZPHZaPowRbTB3DVaqHXh4V67oiOKgTaJ+MY40sA5PlL8xJsI/PT%20mE+YIlDEczTYYG7pN9BJnHfvvfd+lk9NYTIkBGy9/PLLn5syZcoqPHRnaIIqU6yYAGMpWeWoA9h1%203333HQfG0ymk6uEPlQAwj01hKVUBEEPz9eZzYQt5h6LLli0jw3k+4XRXALjPnMt6wL3zySOc126u%207QBrtmOQrnnmmWfeVh1hZ5NBHWS+iS03zp8//2O0tSY3UG5a6phjjhkPp2Sc4n/lsCWRaMUe/WJM%20IdcGaQD+vyBgxx7pYc/loGHmz36WgCBbAJgXGAwsoOamm26aJ0ab1kJ+oTWibdF3hQhAC8KQjtNO%20O+0QPPBgSFh5whCksgwmYJjtINIUfPnll2SARkexBUCd35UCQIa710SCjd3vlTHl6Hc1Co9xS5yf%20dl8a4fDDD5+2xx57jAAPVA/gI7eoKVz4/PPPz4EWkAB0RBWAhGl8SM0FF1xwPx4yXo6dtgR7Nm7c%20qOofZgVZrsSctf8ZxOOlYv+DGGcLM7dhYV02LRAaKXz66adZsQH6A6NGjfK++OILf4ChLoMCwHQx%20ne8x6G95/0oaTdh1112PQ6Rw8vXXX/9GZ6FgqviKH/7wh6cB5h2fDQPgD6Dal+3HH6D6WoLpzSuQ%20H6hFR00pCQEITwa5zHcdvygYQFYBBYbPweQy33/ek08+OR9+1DqM9tqJEyfuB6bT0dM6C9II8hNk%20LmrgnJ+Nr98xvGyPggMIBOoNaZqZCwOgACgWfe+99wgHUyv0wxz3fvBOK1naDCqeAES3wdkydmJ6%20ULVPlJSve4whm7z+rNfuvffew1BnMYz9iMGYBhiUAj7AwWfnB1xAiP1eTx4aHKA1qgmoQOuFZMM2%20Le0iVS8hkF2aO3euX6Sw++678/gQNP04tmJhAO4oDTtH4Wouu5+rHiDoWNjz+Tyqdqn+XGsGDGEx%20CJnKfqYJIBhUX19PbMBGAwXPU5swZE8aAWg2g7o9igDwghTU+st4yIEo8qR614PUuNYPcQB2gh0B%20KEnEzz2NAopRQUwPvc62+7YwhJHLePd+7rmI5VnxG6hdpGnJZEHAsPF+4ccLL7ygzKsGp2oFeXyp%20GchlnU0Hd1xzzTXzZs2add306dMPwg1T6AS/yIC1AHhgAn+gDAKyN+yRoGEJQE+HgTbTIwhA4LlK%20bbueea578ry8439oVwI2YfWECv2k1qVdOcqX4bNqAjIQlAySRh1pELTywoceeuhFjfqoAkCOtZmc%208mbY8vfQvsF+jSTKXFcJ3P80FSdasCVbT6OAfE6AAETzB8TMELJHdyR4mBEUwrW8tAqFRFgAeKuq%20HxZ/1iE8nwsHkuq2VcCdUfmN5J3hYVvUbGDGXNTCm8ABqcVExYGQsio0nl9ObYBc9QGIS4fpB0kA%20ILHqCDGm2GrfPTdSvt9toKAQMBQSpsqX05cHUdXbA0ueP0PAHe67776TkSz6K/q8FfdrY8PnXsBi%20Nr/yyiubyMNOFYWqnBiFIMfAAbnBjQA0H4CMFvYPtUMcm99zCpPjHUemqPa7K+bm2aPfbi4zXSaH%20ZvtssAfMsZy+cGKU8Prrr8u790w6WFp28HnnnXc+czJ2JMDt2Wef/QjC+EsiQcH2TKCf/vSnoydM%20mEDm55wPIPWPknCqpmY4i58atTUGm2qZgH/xtK6Y7gI/dtMxCbUNCGk/0PaT6eifKMzX/IA0/IWl%20uI4O9xhA8tUHHHAAGc0+Z3OxAG4ZIfzb7373u0U/+tGPHrDKwzKhGkBz/hBrni6VLqbbn/VgxPy0%20aXT81iFV2c7vlL9mKxIFedZBJVuuANgYiC0IWa9xBcl2hOnxa7Z0BGJ+IAVktZ1C9eqrr34BQGgS%20J+DstddedmGIRr6azAUHYq+gxFAyFwYAhlbxB8vDd6Fgph5ZnkxnBhlBerUjEaeOxHcMGYVs9SST%20XTXunhNUjp1LACT4OuYyOFeuwN5nH3WK+boe4NpkMpU8QG6GU8c4SYSwO7Ot2YpCOCiJMFYRC5Av%20EMUEpABQLCHowHBF8/5tIu6PQlECEtQGFBTNExDzu0MAwpgpFet+F8z4cAFwr8l79EMrkhkF9YVU%20vJjNmgCG2iy+Yf/zmO1n0G8gwTfYbkVuiUg4wK233roIocYcqJyD8cBBkmp1Do41IzlBhldbtqi7%20BUCMCMvURREAXeMCP3axRdSmkS9MpCBBp++AbKwPCilFvMMOO6QBCDUCgh+kCEihMPiyEY7466gL%20fKJTOIBSwZjd+zi2LErsh1apKiFeN3PmzJFXXXXVLI4ONcs77Q4BiFKCnU0AwkZ8wPGiMF8CYDt6%203FcVdurxxx9fftttt82x5gZ0GOx/o5kfsDXIASQlA0CgJrQNmIo0GGqmL6SrEq2cNQE1oDPOOMNO%20FPFHUvq6QwDEvDDmh2mIfBnsRgNhQuPmDKj2HeYXLADC/O0ld7iG0IHAFRrhiK8jBsCqIPAijRxN%20K2oCGslDGwyKBAQh3kxdcskls4Et7207f3LyiEopSmBCg3XrBDlce1kA5a3m3a0oDxtv2+9sQpS3%20AMj/IMgjh68ryHj/nC1MH4BRAZNzFAiqetZsHMucjJw/YQFQ/w1wFn+C6myiuB1RcAC2sl/+8pdX%20wM67zBfmLxDIF4SlS5d6tEfwTL8CQOSvC1CQAIQzsKsFINu9o5gHxfnsj67WfGT6avCigWX3eMZw%20ONx08MgHNTcEZBsEMz0bAjA1ihOoKWG9MPIPs3EAu5FUC0AQCCaCKGB/ABX9oY5YKl6IBsjmXefj%202UcVAG2D7mufn2ufI94N9bpSANi/dejbOo5sMp9l44DoyQOZBxcHUCZ2l1tuuWVfDOZ5uXyBZI4J%20IdX4MzVcm8bWAPqsCSFaFwDlR5ocomyVmNYVDl4+4E22e0URAp0fKgDudWQ6R77sc3cQw0j5W0Bn%20WSPgm1xUCPG4iwOo0VQTla0jT+ULBGoAe0oY2lrUAwxEuKFRL/LVHNEoAD+Cg9kEQ0b3AcLj8rDz%20omiTIEdOlJXZrhDQBrP+UdhDdxHnY7hRAMwBcQD6AxRCt8BUi3RsRV3gEmEBkSaGYC7aLUgo/BwP%20GOJIvyYhNIL5/dHo/EkACBw5AhCZ8Z3VBtrm60i69wtkvnsNRxdr+XR+dxL7VQIgGB7amRnBZvgC%201RRABwsgGLQBcwcell8XFQdIo7hzKdq12B9gagHKhQPAIemDdQG+B+9TDiG3MhH5hoFBuHoU2DYb%20sztjXkKZr+JQ+DkclT2V6+AAk523cQGO8hRqAh7FHMxG4QDWWgHr0b4JWysgmQsEQtuMdOIQePf7%20EHTgqiBs6IAylCmPB0pYazkg/DFkJrdibHeM+nyAHzdTx2ORwkqX6fpMJI7MVxlXTxEdTJob8IH4%20ggSAWjh1xRVXHIEw/CPwhrzrIBaAz61AY1fAAfyQwhBFADISgj/+8Y8XA+s/xnUCyWyqPjJY8wEB%20OvDHsMlOhavjcMZHdwjdz+Fz/NTC7D4FW/aex3o6s0lnjn3PWgtlArlPSHggVmEbyLDQxQJQyLMP%20VhI5KbQs3MUALr300t3g3dvMd2sB1DhT1fcHnnjiiQWQ0jTO3x+d3j+LKg5KowYlVKLCv0EZw7yF%20T0zWdGsCMPq+GHTPPffM5fb73//+RDjg9ZivybUZqA1yYgHEcTBJ9ORzzz33/rxwAM35w41HK8HD%20G7lND+V8AGqBzz//fC1CkmGQ0ibkvSukItGij/rw40HMLhROVpO3rVCqaIyXFoPJHQbTm0IWdhPg%20efa9qoPCagJ2dsJABwfI8ro3jOKBzOgx3Wvj/ZrpQ3XDV50yHJw6dSqxgPEqB4MmYDawMyO5s0IQ%20ZRHH0BBTWkjhF4RZPkVRi1sOPfTQ3ckPMpYTQ7B4J00vcQGtHqowXIJAU81ooNKE9Vt4q7xwAEw8%20+AATPbZiejKLCeT9qnFU0A7xIaoF4GeZi6Awy7afUZgdBtkGCUC+foTqGch0OnwUcLu6qWhCoNBP%20CSEyW/X/1AQ0BfJXxCsKAWdrQSNHwgEybFiteiUeeAMqUWaiKGQ4vX9QQkzla0wgWYPhgFQ7qWA6%20ShKAqCM/2A8IX6SB2yjMd59HQIUjho0CYINaxV6rmGigFoWy1wxMAxD6ElP4iAVk0Dxu2TBI1/7l%20L395CeH6gnzTwYoA0lQXUOXvo63Bfl+0XlYtQAXeZTPhoosuGuv4BBQE4eE87uL4kRkOCmJa2HSv%20sHtJtUtdkukBL7cqriBQAKQBlIvh4pwo/96ACTxPaW6AtbbjJlMTsIX7eU0N08WaXIClxsbAw+/P%20eQAqBMGDdwBCON2pVVdIqCoabiM4gpF9gfxW6Q5v9O7p5LnVy0UUgvAZQiA5fXwryxRogvVIEK1A%20n/tCQBygEoTFpj90agI68jEB7Xg7Vd0JJ5zwACRsnJsIUtZLAoC4lKEgc9U2ChhVAKIJSDj8m7NA%20k8KpEYXUNUd9rmtzrv1XDGLCiQkg+l8sxhUKC4eb8f6ReCmHu3I4X9e/CotLn4Pyvoa8cAA5gXjB%20wy1wLGzm20KglarZiQwBGW9+CWdjPYSuBh01Vh1fIMAThtVHAZzYbHVPD1/OlZzbbHP8bOZrvxg+%20AAdeM3iyDJFANXCJscy5wPYrJUy+SPvas4UH431N90AAJltQfntWAVA1MFofPGhKrsUh7algzPtD%20/SzCJJJXqV4wVWzEd77znbH6IQWp//Da/chr95PJqmZyp3y7QuvOFnaFoYeJzvVmgEHzuHPxxRd/%20hWLdaQr/0Oz1hBQNCJUdCrh4+nXXXTfXrgkIEoBqwp4QgqwLQ1DV8yFcCpZFCQgVazET9Xv4LgMk%20sBfeciFp7MwI7xTcq3131GqSijx6mC4KrJa2t+cuqtPsY0FzAXtaG/BNLLVYtncWGcx8DON/ml7k%20ajgoyRdXA3BL/4ZRjd4fIF8gpwbgfhVuuBWLE/XOUgsgTJzM5yLQFJRhPMbzaFMxdYmd1LWjPvwe%209jO1r3WMKAAaHa59dxNHbsyv79mKxXz5LJXo8xGaH4CXRpCxHIAE5qjVstUE8Dues0FYQHhJGAiv%20JLsGb5+6QLUAjj0ns1dASEY48wFUGCFJ7DTkCyoogqB9h40UiKM5dq6nL0Zrm+14zn21HiIKr6IA%20qXyVizUiUqsGNpOyBJW8oNBsxNT+R4DrNJAVYUigpoVvxyLFS9CuNrUAVB/l9lvEEF6cxMWKskwI%204YMVBvYYw2Xfqe7gILkjPWCaeiiSmAvBLEZGUAJAYVY2ln1eceKJJz4EgW9WqGdai3l/wEpNDQsL%20AwUC8UbrjLrYrhdEmJaCw3cApowPcWsEhQgqZrXCr+4UADKbsTyl3bHdoat/BWkDl8HFYr77P2TK%20JBCMBGrw3uY9Acw9SX4JEDL2fqPh5WZ+l48AqBhkE5aInQoseRJHvVkaphw2pwKJiMOUJVRySEUg%202kYEgqKkaW01z0anrpA3g7jqPSgMLHpGEIUfeo2sPUOIOMAUvGOwCcc2kfk4Rl62oXhlKV44vQrR%202tZcq4Ym3VoAFBFOwtJkD+MhQ7NNCGGihD+C+4sWLeL6gEIBJZlkfr44QKTsIB0dRBruaC90RnGg%20utfxYhMZzsUl+P/Zz8Bd6IgLDOLqYdOdCSKcScwsYhOqt/kSiTeDfICEVDyygJfCcxwaMCGEW0UD%20tEdLYHe5SHEaAjIOD+4vAegEw9193p/PItMpYFGY4nr8BQhKUUlCSTRwSRrEUjD0yVhMQUuB6WET%20RGqwoATfJLqXfARbEyQdDKAGN58hECjXhBCqXYJACBNXQgtsxLYCmmADEMGMfACdHzG8U0WrMnMc%206RGYEk0Q1LElQBR+mgCfeeiTFryq7wvwYRyqg0MniOD8oVjuZwb8t7mWEGSyCUA1VTwQJt4w66IQ%20HJGcq8b1a/EjhoDpcgg9ZKb4lhBemy+Eq9WveF8y3Y1nu2OmTcm+sOKwww7bDXMx9FoYfwvgjXwg%20b7IWhbA/oZ2prbOCQUn3RdFgwlLYmgmK69mEoWs04v0A3OcKFQR/bCGRD+AyWfdQEzKXJ4Nicl8p%20z4IQ8gUmm1PFaCa5tXkgJJSTR7ZeffXVVmFIwLwAzCO7Ce+dPQ8MrYOzVwd/oNJ6nVkzsn9fwhEZ%20i5GfctYG5CjW4sddPBpjIrOhne03hckx5kBahtC8Foxm6l4oaBpRwGpo8yYsJ/eHrNlAeYWy/2gD%200UagDTUgUDVa0i4GeeCBB46DdzkKgkEUitlAaQBWrvpATPdQTIR/8WZwaV/2O/uf6eF1KP8mk1sd%20R2+rWTRyFdoKtAZTKLLd9QGEAWwx6FGKNzD7FXqHMN4dsD8mgo5SRCA0Suaie2PlmNx3CIkPCAEH%204GWRU1GoM8fE+20WPzeaWULN2bCApAMDp7GwwPAZM2bcgCTPWNl1MZhhHx+ulcOYjWI8KjBItr9b%20KCZqVy0aSbvOWdkSCNZk7AHnfA/wxl0trAER241ICT+WbdXQpA0Cgfn1WBz6Idy0xsUAGPrZkxBY%20lWJKx9fj+zRCtjRq1uu7LayKifaeo70BvgDRwEHvvvsuy8KVKFKBi1sUMghI4e14o/hK1BE854JB%20SXtCCEq9Z0GCxHy76SFML1IYOPI5B+CvSBrxHbUMC4fADtV3mwaIic4e52FQzXdMmzat7qyzzjqB%20L+dAWl6D0y0KkbngKmOn4rqX3UUjpQG47Q3vfqAyfE4xCG/Km2ttAHr688D8BSauTAAMqu3+apnY%20BzD2PP2Pf/xjPUZ/BXhzEvqcA5P8yYYFaI5DPau93DeIJO0ZQWB8K1U7gSAw1Mb0tWwpsX+uUPH+%20hRde+FccWmuSR0mopCHd7gTGoSD7vgkDlf1ehncDbwQAVAGmz6IPBpCIfoKwG9UEsDaCQrDOAEGK%206tpdJLDsrrvuehFTig+DJI2DTbcfrPlpvNF8FI3+wYQWqylRpoqoOR8BoGBRw5QKEWHj6CoW0c8C%205q+aBgI/O+It7Yu5y+7EuwOfx7wALtc7E4JRma14FZNHGgEFP2PVdbjzAX3VUIs2DK0eteaTEQUM%20ANMrcCNSBkxrA8zbgJKv5WS8EYC1+iGwSUdhIaPrKTgAkFjD5nde4RQT7DwhdvYnczD/geXfXrBq%20NerIY/gBQ+EfjOY7HdDKMiBo7zYIxfpnn312EXEANsOzZpkBlYJXkYloO/FmFAaznzLnCCdoNjjB%20GqvQIMnzsXDkz1EldDY9VAIWXUYxUetSAKiJuBjXJXhXEEfzZjN4+5Fvhmc11oqunmZ5WWDQGsO/%20FtsEZAxztaxIh7l5L7QKCYD1FpEmtE1mmzZSSEexRmAQVFYXqfnY5tPp1mLT3Gf9n+GHnLm0ccQ3%20GE2ekgC4PNPIz1YWrhuSWs3Jmg5mv0w6bc5rMZ8T5ruyBMiablWSoJAcp39F0iv4UKU1RoW/Wv/H%208KTJ4lmZg/BuYzPntbkCkNGJVl1guWkCiXROu91sIIkkpluOYylm3f7Vw0CZbQlBq2ktFvMTzsBV%2068g1MSRjtTb3HcLOOSJ9Tqj1CMNjSjhMFmNbrWOJAJ6FTg4VReFmGbJTEzXlqlsoJsK/rL9QfO4M%20Tm2jUbKrzCcApLcBB09k0WKXU0wq+2pBle/fHVVeEBU6XCtMuDgIbRRWF7sNocoYYgHFJL3mpRTJ%20rr9Mg+BQryOz8X+ake2bAxzgVSeeby+mAPCXVpvikeFo9cAA9kKoMoCARKKI9iAD4hZzHBsAj27j%20oVIKSOR4O5M8GtC+MtsN5nhHMQVAINKOBowYpKVlLRCpmNShpo4tMQFot1/jawCdtYb5muxRkGAn%20u0BSVXmyntLqgkhsRR5BGkWZEtQCAuAU5rGfm93K3mJqAGmBCjPiq0wTIJEoYudJA2S0LWEz0GZa%202rS2YjuB7j0UmyazgEjF70B7v7Qo42oz+1iRNED4vYrOfDHc3f4/o5hiiimmmGKKKaaYYooppphi%20iimmmGKKKaaYYooppv8FlJhXILrvZ3wAAAAASUVORK5CYII=%22%20preserveAspectRatio=%22none%22%20height=%22102.996%22%20width=%2287.169%22%20x=%22159.832%22%20y=%22119.548%22/%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20x=%22205.695%22%20y=%22150.011%22%20transform=%22scale(.98866%201.01147)%22%20font-weight=%22400%22%20font-size=%2219.302%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#ff0%22%20stroke-width=%22.504%22%3E%3Ctspan%20x=%22205.695%22%20y=%22150.011%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ERAM%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20x=%22205.372%22%20y=%22110.296%22%20transform=%22scale(.98866%201.01147)%22%20font-weight=%22400%22%20font-size=%2219.302%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#00f%22%20stroke-width=%22.504%22%3E%3Ctspan%20x=%22205.372%22%20y=%22110.296%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EDownload%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M206.647%20182.6a6.892%206.892%200%200%200-6.89%206.892c0%203.803%203.086%206.896%206.89%206.896%203.805%200%206.868-3.093%206.868-6.896%200-3.806-3.063-6.892-6.868-6.892zm13.814%2010.852l-1.242%202.991%202.215%204.35.293.575-3.072%203.072-5.039-2.38-2.991%201.228-1.519%204.648-.194.617h-4.341l-1.879-5.246-2.991-1.234-4.357%202.21-.575.287-3.07-3.069%202.378-5.042-1.233-2.989-4.64-1.515-.616-.2v-4.338l5.25-1.882%201.233-2.986-2.208-4.36-.291-.571%203.066-3.066%205.045%202.376%202.988-1.236%201.517-4.645.196-.616h4.34l1.88%205.253%202.983%201.236%204.358-2.212.58-.29%203.069%203.065-2.377%205.038%201.228%202.993%204.654%201.517.611.196v4.337z%22%20fill=%22#0ff%22/%3E%3Cg%20transform=%22matrix(.85604%200%200%20.85604%2085.035%2091.517)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E", - "otid": 1596697289362 - }, - "design": { - "graph": { - "blocks": [ + "size": 8 + }, { - "id": "38abb13c-8652-41fb-931c-c7bf760ebb24", - "type": "basic.output", - "data": { - "name": "busy" + "source": { + "block": "e3cde6db-ea93-4550-affd-14856b75d5a5", + "port": "0e7ef93d-c4da-4c2e-9653-7a470dc912b6", + "size": 8 }, - "position": { - "x": 1936, - "y": -168 - } + "target": { + "block": "6736a55c-7818-4da9-9c1a-f57200ad2526", + "port": "inlabel" + }, + "size": 8 }, { - "id": "a040cc3d-b2c6-458e-bde6-f8234a19b6d1", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "busy" + "source": { + "block": "e3cde6db-ea93-4550-affd-14856b75d5a5", + "port": "6ac467f0-b16b-44ef-8f03-ae206c13186e", + "size": 8 }, - "position": { - "x": 1744, - "y": -168 - } + "target": { + "block": "e2589574-b6cc-4faf-8e69-3d23248bcba2", + "port": "inlabel" + }, + "size": 8 }, { - "id": "af8afdcf-1f69-4187-81ab-082d28c98dd9", - "type": "basic.outputLabel", - "data": { - "name": "addr", - "range": "[3:0]", - "blockColor": "navy", - "size": 4, - "oldBlockColor": "fuchsia" + "source": { + "block": "7114cf32-af2c-438f-b816-1043a8bd819d", + "port": "outlabel" }, - "position": { - "x": 864, - "y": -144 - } + "target": { + "block": "64c3574b-3227-40ab-ab03-c2e2af710a45", + "port": "63477487-9493-4058-a7e1-9bab443ec466", + "size": 8 + }, + "size": 8 }, { - "id": "f81791c6-f02f-46d0-b738-5895dd124243", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk" + "source": { + "block": "7d042e3c-08e0-4027-ba97-6f6143ac0b7e", + "port": "outlabel" }, - "position": { - "x": 1744, - "y": -96 - } + "target": { + "block": "64c3574b-3227-40ab-ab03-c2e2af710a45", + "port": "b4b08c4b-8eb1-4cd3-a1bf-a45bf7177ed3", + "size": 8 + }, + "size": 8 }, { - "id": "b359cb97-c324-4ffc-a73c-64c7f457e6fa", - "type": "basic.outputLabel", - "data": { - "name": "stdo", - "range": "[9:0]", - "blockColor": "fuchsia", - "size": 10 + "source": { + "block": "4f2c77a9-f54e-4c7e-b1b8-d1739ea521c7", + "port": "outlabel" }, - "position": { - "x": 1728, - "y": -16 - } + "target": { + "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", + "port": "4bf17d89-89b8-4524-800a-2d15f9bbb111", + "size": 8 + }, + "size": 8 }, { - "id": "7fb933a6-5c63-4d46-8aaa-440b30974993", - "type": "basic.input", - "data": { - "name": "", - "clock": true + "source": { + "block": "4743defe-36c0-40a2-aaf0-188272583034", + "port": "outlabel" }, - "position": { - "x": -48, - "y": 24 - } + "target": { + "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", + "port": "3867504b-f331-4e0e-b923-acc86cb4255c", + "size": 8 + }, + "size": 8 }, { - "id": "2c31aa6a-383c-4eb5-b669-b8a31ad14225", - "type": "basic.inputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "source": { + "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, - "position": { - "x": 96, - "y": 24 + "target": { + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" } }, { - "id": "a875b188-26fa-4052-ae81-4b5f22f4c1e5", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "tic", - "oldBlockColor": "fuchsia" + "source": { + "block": "64c3574b-3227-40ab-ab03-c2e2af710a45", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, - "position": { - "x": 1648, - "y": 48 + "target": { + "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", + "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" } }, { - "id": "20d63505-e2fd-44ed-95b9-9f45e8875e70", - "type": "basic.output", - "data": { - "name": "stdo", - "range": "[9:0]", - "size": 10 + "source": { + "block": "eeb34637-ba55-4a7f-803e-e85d9b9c7fc4", + "port": "out" }, - "position": { - "x": 2128, - "y": 48 - } + "target": { + "block": "4cb18fdd-66bb-461c-ae6d-1454c8e4a9a6", + "port": "a0c9783a-c287-45a7-bfc7-9da552cf732f" + }, + "size": 16 }, { - "id": "8ca2279c-fdc3-40d3-9fbe-2071c026932f", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "bus_mine", - "oldBlockColor": "fuchsia" + "source": { + "block": "353729bb-5213-45a7-a8e1-4e1d812492bd", + "port": "out" }, - "position": { - "x": 880, - "y": 112 - } + "target": { + "block": "e3cde6db-ea93-4550-affd-14856b75d5a5", + "port": "a0c9783a-c287-45a7-bfc7-9da552cf732f" + }, + "size": 16 }, { - "id": "786f1170-66ce-4c3a-acdc-073388546edd", - "type": "basic.outputLabel", - "data": { - "name": "data", - "range": "[7:0]", - "oldBlockColor": "fuchsia", - "blockColor": "fuchsia", - "size": 8 + "source": { + "block": "17bd7ef3-6604-48a9-9c2e-50a8be908636", + "port": "79c56f9a-597f-491e-b1d1-d321f63303c2" }, - "position": { - "x": 1656, - "y": 112 - } + "target": { + "block": "14253a9f-c3ef-4ada-bb54-dbbed784b7a9", + "port": "in" + }, + "size": 16 }, { - "id": "886b88b1-4987-4f1f-aadd-d82bb53ab445", - "type": "basic.input", - "data": { - "name": "stdo", - "range": "[9:0]", - "clock": false, - "size": 10 + "source": { + "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", + "port": "9daaaf78-5a89-4d4a-a1b2-db1d3af962f1" }, - "position": { - "x": -96, - "y": 120 - } + "target": { + "block": "17bd7ef3-6604-48a9-9c2e-50a8be908636", + "port": "5a35cd57-1006-4f6d-b263-5b977e9ef142" + }, + "size": 8 }, { - "id": "523a4825-1562-4f5d-b129-c7d08fe542c2", - "type": "basic.inputLabel", + "source": { + "block": "64c3574b-3227-40ab-ab03-c2e2af710a45", + "port": "dc2d9a2c-9ee9-4985-a678-d88c89fd8b74" + }, + "target": { + "block": "17bd7ef3-6604-48a9-9c2e-50a8be908636", + "port": "38fdb02d-4323-4a34-9ffe-8385f844b660" + }, + "size": 8 + } + ] + } + } + }, + "306ca367fbbc5181b3c709d73f447e0710871a1d": { + "package": { + "name": "Bus16-Split-half", + "version": "0.1", + "description": "Bus16-Split-half: Split the 16-bits bus into two buses of the same size", + "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": { + "graph": { + "blocks": [ + { + "id": "6ac467f0-b16b-44ef-8f03-ae206c13186e", + "type": "basic.output", "data": { - "name": "stdo", - "range": "[9:0]", - "pins": [ - { - "index": "9", - "name": "", - "value": "" - }, - { - "index": "8", - "name": "", - "value": "" - }, - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia" + "name": "1", + "range": "[7:0]", + "size": 8 }, "position": { - "x": 48, - "y": 120 + "x": 608, + "y": 176 } }, { - "id": "b63a0660-3988-4951-b606-0177b556defc", - "type": "basic.outputLabel", + "id": "a0c9783a-c287-45a7-bfc7-9da552cf732f", + "type": "basic.input", "data": { - "name": "mbi", - "range": "[13:0]", - "blockColor": "fuchsia", - "size": 14 + "name": "", + "range": "[15:0]", + "clock": false, + "size": 16 }, "position": { - "x": 1128, - "y": 120 + "x": 96, + "y": 208 } }, { - "id": "727e032f-d74b-464e-81fe-b30b1e669b9e", + "id": "0e7ef93d-c4da-4c2e-9653-7a470dc912b6", "type": "basic.output", "data": { - "name": "mbo", - "range": "[13:0]", - "size": 14 + "name": "0", + "range": "[7:0]", + "size": 8 }, "position": { - "x": 1472, - "y": 120 + "x": 608, + "y": 272 } }, { - "id": "bf61387a-ef36-4f3c-898f-e274c3136b18", - "type": "basic.inputLabel", + "id": "16e78204-213e-4833-9096-89d735307ec2", + "type": "basic.code", "data": { - "blockColor": "fuchsia", - "name": "next", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "code": "assign o1 = i[15:8];\nassign o0 = i[7:0];", + "params": [], + "ports": { + "in": [ + { + "name": "i", + "range": "[15:0]", + "size": 16 + } + ], + "out": [ + { + "name": "o1", + "range": "[7:0]", + "size": 8 + }, + { + "name": "o0", + "range": "[7:0]", + "size": 8 + } + ] + } }, "position": { - "x": 2064, - "y": 136 + "x": 272, + "y": 176 + }, + "size": { + "width": 240, + "height": 120 } + } + ], + "wires": [ + { + "source": { + "block": "a0c9783a-c287-45a7-bfc7-9da552cf732f", + "port": "out" + }, + "target": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i" + }, + "size": 16 }, { - "id": "914e03dd-1133-4325-a333-b10f953ecce5", - "type": "basic.inputLabel", + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o1" + }, + "target": { + "block": "6ac467f0-b16b-44ef-8f03-ae206c13186e", + "port": "in" + }, + "size": 8 + }, + { + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o0" + }, + "target": { + "block": "0e7ef93d-c4da-4c2e-9653-7a470dc912b6", + "port": "in" + }, + "size": 8 + } + ] + } + } + }, + "0788ea6614e4f073f6ed9a49665243d6d489ba46": { + "package": { + "name": "16-Sys-reg-rst", + "version": "0.8", + "description": "16-Sys-reg-rst: 16 bits system register with reset. Verilog implementation", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20width=%22252.294%22%20height=%22220.368%22%20viewBox=%220%200%2066.75283%2058.305748%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M25.682%2041.088L39.29%2057.76l-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M18.298%2033.024L9.066%2013.41l-6.45%203.724-2.07-3.583%2020.905-12.07%202.069%203.584-6.092%203.517%2012.03%2018.223s5.399-2.025%208.535.74c3.137%202.766%202.52%204.92%202.887%204.773L17.192%2045.956s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M42.022%2040.152l13.607%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M34.638%2032.088l-9.232-19.613-6.451%203.724-2.07-3.583L37.792.546%2039.86%204.13l-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.137%202.766%202.52%204.92%202.887%204.772L33.532%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20transform=%22translate(-38.356%20-17.732)%22%3E%3Crect%20width=%2224.412%22%20height=%2213.185%22%20x=%2280.3%22%20y=%2221.375%22%20ry=%222.247%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%22.794%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:1.25%22%20x=%2282.245%22%20y=%2230.943%22%20font-weight=%22400%22%20font-size=%2210.583%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20x=%2282.245%22%20y=%2230.943%22%20font-weight=%22700%22%3ESys%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E", + "otid": 1618509859237 + }, + "design": { + "graph": { + "blocks": [ + { + "id": "34c6aff6-7aca-4cc1-8d79-d6143d2f6937", + "type": "basic.output", "data": { - "blockColor": "fuchsia", - "name": "data", - "range": "[7:0]", - "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "name": "nc" }, "position": { - "x": 576, - "y": 152 + "x": 920, + "y": -24 } }, { - "id": "d94290b8-502b-46eb-a630-3b0800bf3c9b", - "type": "basic.outputLabel", + "id": "83ce9e72-711d-44f2-bbf5-b01c201a652a", + "type": "basic.output", "data": { - "name": "mbi", - "range": "[13:0]", - "blockColor": "fuchsia", - "size": 14 + "name": "nc" }, "position": { - "x": 224, - "y": 216 + "x": 920, + "y": 56 } }, { - "id": "9be4488d-51be-4346-8a31-5d8f2f86e4d3", - "type": "basic.outputLabel", + "id": "0ae5a502-ee21-47ad-bacb-405a35a87a91", + "type": "basic.input", "data": { - "blockColor": "fuchsia", - "name": "bus_mine", - "oldBlockColor": "fuchsia" + "name": "", + "clock": true }, "position": { - "x": 936, - "y": 248 + "x": 368, + "y": 64 } }, { - "id": "472c0cbb-1d6b-4af4-a439-52f52118d405", + "id": "892d93f1-9c4c-46c1-82c7-ff9702a5725a", "type": "basic.input", "data": { - "name": "mbus", - "range": "[13:0]", - "clock": false, - "size": 14 + "name": "rst", + "clock": false }, "position": { - "x": -96, - "y": 264 + "x": 376, + "y": 200 } }, { - "id": "9bc05443-4e8c-4288-a609-67e961b01ca7", - "type": "basic.inputLabel", + "id": "7995c7b0-4a39-4a19-aaa4-68f4e469912f", + "type": "basic.output", "data": { - "name": "mbi", - "range": "[13:0]", - "pins": [ - { - "index": "13", - "name": "", - "value": "" - }, - { - "index": "12", - "name": "", - "value": "" - }, - { - "index": "11", - "name": "", - "value": "" - }, - { - "index": "10", - "name": "", - "value": "" - }, - { - "index": "9", - "name": "", - "value": "" - }, - { - "index": "8", - "name": "", - "value": "" - }, - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia" + "name": "", + "range": "[15:0]", + "size": 16 }, "position": { - "x": 56, - "y": 264 + "x": 920, + "y": 200 } }, { - "id": "923c4db6-0c76-4647-a848-75fd61fba6ec", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "done", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 936, - "y": 312 - } - }, - { - "id": "05a1a5b4-bf29-49df-b0b1-887859d9ec9e", - "type": "basic.inputLabel", + "id": "c48a2779-52ed-4dde-8f95-e8ce67397de8", + "type": "basic.input", "data": { - "blockColor": "fuchsia", - "name": "bbusy", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "name": "", + "range": "[15:0]", + "clock": false, + "size": 16 }, "position": { - "x": 560, + "x": 376, "y": 336 } }, { - "id": "b14f140b-7bb5-46d9-8019-39c27ff6e0e3", - "type": "basic.input", + "id": "d1e52cbe-a82e-4bea-9ed0-e970eec3e43e", + "type": "basic.constant", "data": { - "name": "start", - "clock": false + "name": "", + "value": "0", + "local": false }, "position": { - "x": -80, - "y": 424 + "x": 656, + "y": -80 } }, { - "id": "da45f105-3600-4458-a820-50046581f5dd", - "type": "basic.inputLabel", + "id": "2cc2ff9d-ebfc-43e2-83d7-5c4a6d8c77e6", + "type": "basic.code", "data": { - "blockColor": "fuchsia", - "name": "start", - "pins": [ + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "rst" + }, + { + "name": "d", + "range": "[15:0]", + "size": 16 + } + ], + "out": [ + { + "name": "q", + "range": "[15:0]", + "size": 16 + } + ] + }, + "params": [ { - "index": "0", - "name": "NULL", - "value": "NULL" + "name": "INI" } ], - "virtual": true + "code": "//-- Generic System register\n//-- with reset\n//-- Number of bits\nlocalparam N = 16;\n\n//-- Initial value\nreg [N-1:0] qi = INI;\n\nalways @(posedge clk)\nbegin\n\n //-- Reset: Capture the initial\n //-- value\n if (rst == 1'b1)\n qi <= INI;\n \n //-- No reset: Capture the input\n else\n qi <= d;\nend\n\n//-- Connect the register with the\n//-- output\nassign q = qi;\n" }, "position": { - "x": 64, - "y": 424 - } - }, - { - "id": "7d0852c6-4778-4a53-bf90-30527c44a0eb", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk" + "x": 528, + "y": 32 }, - "position": { - "x": 1736, - "y": 464 + "size": { + "width": 344, + "height": 400 } - }, + } + ], + "wires": [ { - "id": "54e9bf9f-b852-4c45-bd53-f6eb4ee707eb", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "start_read", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "source": { + "block": "2cc2ff9d-ebfc-43e2-83d7-5c4a6d8c77e6", + "port": "q" }, - "position": { - "x": 608, - "y": 504 - } - }, - { - "id": "95c4416f-62f5-4196-a406-f7915d40a572", - "type": "basic.output", - "data": { - "name": "done" + "target": { + "block": "7995c7b0-4a39-4a19-aaa4-68f4e469912f", + "port": "in" }, - "position": { - "x": 2048, - "y": 520 - } + "vertices": [], + "size": 16 }, { - "id": "289f00be-f97d-4553-a60a-32d8b45da4cc", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "done", - "oldBlockColor": "fuchsia" + "source": { + "block": "d1e52cbe-a82e-4bea-9ed0-e970eec3e43e", + "port": "constant-out" }, - "position": { - "x": 1728, - "y": 536 - } + "target": { + "block": "2cc2ff9d-ebfc-43e2-83d7-5c4a6d8c77e6", + "port": "INI" + }, + "vertices": [] }, { - "id": "d7e7c210-c311-440e-b516-94c3f0244f34", - "type": "basic.input", - "data": { - "name": "nc", - "clock": false + "source": { + "block": "892d93f1-9c4c-46c1-82c7-ff9702a5725a", + "port": "out" }, - "position": { - "x": -80, - "y": 536 + "target": { + "block": "2cc2ff9d-ebfc-43e2-83d7-5c4a6d8c77e6", + "port": "rst" } }, { - "id": "fce01e4d-e6d2-4811-8f96-410673168b4c", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "bbusy", - "oldBlockColor": "fuchsia" + "source": { + "block": "c48a2779-52ed-4dde-8f95-e8ce67397de8", + "port": "out" }, - "position": { - "x": 152, - "y": 552 - } + "target": { + "block": "2cc2ff9d-ebfc-43e2-83d7-5c4a6d8c77e6", + "port": "d" + }, + "size": 16 }, { - "id": "700d8b15-d6df-4b76-b10d-72db58c33e6c", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "bus_mine", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "source": { + "block": "0ae5a502-ee21-47ad-bacb-405a35a87a91", + "port": "out" }, - "position": { - "x": 776, - "y": 584 + "target": { + "block": "2cc2ff9d-ebfc-43e2-83d7-5c4a6d8c77e6", + "port": "clk" } - }, + } + ] + } + } + }, + "0705a6a13435ea79daf5779a2a0f076bd71f0a14": { + "package": { + "name": "Sync-x01-verilog", + "version": "0.3", + "description": "Sync-x01: 1-bit input with the system clock domain (Verilog implementation)", + "author": "Juan Gonzalez-González (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22214.451%22%20height=%22214.451%22%20viewBox=%220%200%20214.45128%20214.45128%22%3E%3Ccircle%20cx=%22107.226%22%20cy=%22107.226%22%20r=%22107.226%22%20fill=%22#4d4d4d%22/%3E%3Cpath%20d=%22M107.363%2038.297c14.504.03%2029.212%204.552%2040.7%2013.5%208.077%209.303-7.312%2019.268-14.243%2010.195-20.865-12.624-50.29-8.18-65.988%2010.695-8.352%209.367-13.058%2021.866-13.003%2034.413h13.789c-7.353%2011.037-14.707%2022.066-22.06%2033.095l-22.062-33.087h13.788c-.439-29.962%2021.108-58.462%2050.032-66.221%206.212-1.701%2012.607-2.654%2019.048-2.587zm60.53%2035.85l22.063%2033.092h-13.789c.39%2030.318-21.706%2059.137-51.14%2066.487-19.862%205.547-42.32%201.5-58.645-11.19-8.329-9.459%207.274-19.328%2014.27-10.173%2020.214%2012.265%2048.524%208.375%2064.48-9.142%209.242-9.522%2014.56-22.711%2014.489-35.982h-13.789l22.062-33.092z%22%20fill=%22#fbfbc9%22/%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ { - "id": "0399b081-5696-4bf7-bb75-cd55da78d4f5", - "type": "basic.outputLabel", + "id": "04b7a776-03f4-4de2-a09f-9f3cae6dded2", + "type": "basic.output", "data": { - "name": "data", - "range": "[7:0]", - "oldBlockColor": "fuchsia", - "blockColor": "fuchsia", - "size": 8 + "name": "nc" }, "position": { - "x": 1648, - "y": 600 + "x": 384, + "y": -80 } }, { - "id": "08007be8-e099-4080-acb1-e580660bb147", + "id": "39873fa0-c3f5-47ef-b54b-b6b344416b25", "type": "basic.input", "data": { - "name": "nc", - "clock": false + "name": "", + "clock": true }, "position": { - "x": -80, - "y": 616 + "x": -136, + "y": -16 } }, { - "id": "3066cf48-9921-4487-826e-0464a2dead7a", + "id": "7bfc506f-7a54-40a1-8d33-e78a5409b972", "type": "basic.output", "data": { - "name": "data", - "range": "[7:0]", - "size": 8 + "name": "" }, "position": { - "x": 2040, - "y": 680 + "x": 384, + "y": 56 } }, { - "id": "524ca75c-cdd3-4e79-851a-b46ce146bd66", - "type": "basic.outputLabel", + "id": "f25e9a9e-cd4c-4025-8745-0691a99a3fb8", + "type": "basic.input", "data": { - "blockColor": "fuchsia", - "name": "start" + "name": "", + "clock": false }, "position": { - "x": 152, - "y": 696 + "x": -136, + "y": 128 } }, { - "id": "7e9db299-cb56-4cd9-a489-d5fbd6eb3e2f", - "type": "basic.inputLabel", + "id": "cf6fe46f-cd0d-4a77-be7a-dd6aa92801fa", + "type": "basic.code", "data": { - "blockColor": "fuchsia", - "name": "busy", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "code": "//-- Two D flip-flops\n//-- connected in cascade\n\nreg q1 = 0;\nreg q2 = 0;\n\nalways @(posedge clk) \nbegin\n //-- First D Flip-Flop\n q1 <= d;\n \n //-- Secondo D Flip-flop\n q2 <= q1;\nend\n\n//-- Assign the output\nassign q = q2;", + "params": [], + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "d" + } + ], + "out": [ + { + "name": "q" + } + ] + } }, "position": { - "x": 1184, - "y": 704 + "x": 32, + "y": -56 + }, + "size": { + "width": 296, + "height": 288 } - }, + } + ], + "wires": [ { - "id": "7df4a7f1-90b6-4562-8be3-e4719a824545", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk" + "source": { + "block": "39873fa0-c3f5-47ef-b54b-b6b344416b25", + "port": "out" }, - "position": { - "x": 880, - "y": 752 + "target": { + "block": "cf6fe46f-cd0d-4a77-be7a-dd6aa92801fa", + "port": "clk" } }, { - "id": "c1c96b9c-e573-43a0-8b60-9f7fe7ad5ae6", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "busy" + "source": { + "block": "f25e9a9e-cd4c-4025-8745-0691a99a3fb8", + "port": "out" }, - "position": { - "x": 1648, - "y": 776 + "target": { + "block": "cf6fe46f-cd0d-4a77-be7a-dd6aa92801fa", + "port": "d" } }, { - "id": "64f8b6de-1661-4bb4-a2eb-5458a30a6d66", + "source": { + "block": "cf6fe46f-cd0d-4a77-be7a-dd6aa92801fa", + "port": "q" + }, + "target": { + "block": "7bfc506f-7a54-40a1-8d33-e78a5409b972", + "port": "in" + } + } + ] + } + } + }, + "455c3beb3ea73cf6862dfbc0c899a5e357964a24": { + "package": { + "name": "Mem-16KB-down-machine", + "version": "0.5", + "description": "16KB memory download machine", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20height=%22120.961%22%20width=%22100%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cdefs%3E%3Cfilter%20id=%22c%22%20color-interpolation-filters=%22sRGB%22%20x=%22-.035%22%20y=%22-.018%22%20width=%221.071%22%20height=%221.036%22%3E%3CfeGaussianBlur%20stdDeviation=%221.23%22/%3E%3C/filter%3E%3Cfilter%20id=%22g%22%20color-interpolation-filters=%22sRGB%22%20x=%22-.036%22%20y=%22-.018%22%20width=%221.071%22%20height=%221.036%22%3E%3CfeGaussianBlur%20stdDeviation=%221.23%22/%3E%3C/filter%3E%3Cfilter%20id=%22f%22%20color-interpolation-filters=%22sRGB%22%20x=%22-.049%22%20y=%22-.016%22%20width=%221.098%22%20height=%221.032%22%3E%3CfeGaussianBlur%20stdDeviation=%221.258%22/%3E%3C/filter%3E%3Cfilter%20id=%22e%22%20color-interpolation-filters=%22sRGB%22%20x=%22-.072%22%20y=%22-.014%22%20width=%221.144%22%20height=%221.029%22%3E%3CfeGaussianBlur%20stdDeviation=%221.312%22/%3E%3C/filter%3E%3Cfilter%20id=%22b%22%20height=%221.027%22%20width=%221.242%22%20y=%22-.013%22%20x=%22-.121%22%20color-interpolation-filters=%22sRGB%22%3E%3CfeGaussianBlur%20stdDeviation=%221.309%22/%3E%3C/filter%3E%3Cfilter%20id=%22d%22%20height=%221.027%22%20width=%221.242%22%20y=%22-.013%22%20x=%22-.121%22%20color-interpolation-filters=%22sRGB%22%3E%3CfeGaussianBlur%20stdDeviation=%221.309%22/%3E%3C/filter%3E%3Cfilter%20id=%22a%22%20height=%221.025%22%20width=%221.996%22%20y=%22-.012%22%20x=%22-.498%22%20color-interpolation-filters=%22sRGB%22%3E%3CfeGaussianBlur%20stdDeviation=%221.245%22/%3E%3C/filter%3E%3CradialGradient%20id=%22h%22%20gradientUnits=%22userSpaceOnUse%22%20cy=%22356.19%22%20cx=%22300%22%20gradientTransform=%22matrix(-.43814%20.01306%20-.0012%20-.02628%20181.233%2061.352)%22%20r=%2255.264%22%3E%3Cstop%20offset=%220%22/%3E%3Cstop%20stop-color=%22#464646%22%20offset=%22.602%22/%3E%3Cstop%20stop-color=%22#aca592%22%20stop-opacity=%220%22%20offset=%221%22/%3E%3C/radialGradient%3E%3ClinearGradient%20id=%22i%22%20y2=%22333.77%22%20gradientUnits=%22userSpaceOnUse%22%20x2=%22291.22%22%20gradientTransform=%22matrix(-.3425%20.01021%20-.01275%20-.27715%20156.562%20149.485)%22%20y1=%22330.77%22%20x1=%22291.22%22%3E%3Cstop%20stop-color=%22#fff%22%20stop-opacity=%22.362%22%20offset=%220%22/%3E%3Cstop%20stop-opacity=%220%22%20offset=%221%22/%3E%3C/linearGradient%3E%3ClinearGradient%20id=%22j%22%20y2=%22339.48%22%20gradientUnits=%22userSpaceOnUse%22%20x2=%22337.09%22%20gradientTransform=%22matrix(-.33921%20.01011%20-.01492%20-.32428%20156.195%20165.141)%22%20y1=%22339.48%22%20x1=%22343.43%22%3E%3Cstop%20stop-color=%22#fff%22%20stop-opacity=%22.362%22%20offset=%220%22/%3E%3Cstop%20stop-opacity=%220%22%20offset=%221%22/%3E%3C/linearGradient%3E%3ClinearGradient%20id=%22k%22%20y2=%22304.68%22%20gradientUnits=%22userSpaceOnUse%22%20x2=%22300.31%22%20gradientTransform=%22matrix(-.32563%20.0097%20-.01206%20-.2621%20151.26%20144.401)%22%20y1=%22331.2%22%20x1=%22300.31%22%3E%3Cstop%20stop-opacity=%22.302%22%20offset=%220%22/%3E%3Cstop%20stop-opacity=%220%22%20offset=%221%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath%20opacity=%22.95%22%20fill=%22none%22%20d=%22M0%2020.961h100v100H0z%22/%3E%3Cpath%20d=%22M53.928%20119.654L52.1%2079.937l-1.104-23.99-3.256.096%201.104%2023.991%201.826%2039.717z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#d4aa00%22/%3E%3Cpath%20d=%22M297%20109.34V352.4h6V109.34z%22%20style=%22text-indent:0;text-transform:none%22%20transform=%22matrix(-.32563%20.0097%20-.01206%20-.2621%20151.309%20145.45)%22%20color=%22#000%22%20fill=%22#fcff4c%22%20fill-opacity=%22.544%22%20filter=%22url(#a)%22/%3E%3Cpath%20d=%22M60.372%20117.56l3.198-.49c-3.202-13.45-7.816-28.557-8.457-42.475l-.863-18.749-3.256.098.863%2018.748c.658%2014.31%205.337%2029.518%208.514%2042.865z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#d45500%22/%3E%3Cpath%20d=%22M272.94%20116.59l-5.875%201.5c7.92%2051.61%2019.94%20109.69%2019.94%20162.79v71.531h6V280.88c0-54.598-12.202-113.07-20.062-164.28z%22%20style=%22text-indent:0;text-transform:none%22%20transform=%22matrix(-.32563%20.0097%20-.01206%20-.2621%20151.309%20145.45)%22%20color=%22#000%22%20fill=%22#fca%22%20fill-opacity=%22.409%22%20filter=%22url(#b)%22/%3E%3Cpath%20d=%22M69.996%20112.761l3.056-.912c-6.978-15.02-14.11-24.952-15.163-47.836l-.38-8.265-3.257.097.38%208.265c1.072%2023.296%208.478%2033.826%2015.364%2048.646z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#a00%22/%3E%3Cpath%20d=%22M79.672%20106.477l2.661-1.515c-9.79-11.143-20.205-19.73-21.186-41.045l-.38-8.264-3.257.097.38%208.264C58.902%2086%2070.056%2095.528%2079.674%20106.474z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#784421%22/%3E%3Cpath%20d=%22M89.428%2098.614l1.962-2.092C81.67%2090.65%2065.24%2082.005%2064.402%2063.82l-.38-8.265-3.256.097.38%208.265C62.04%2083.35%2079.89%2092.851%2089.43%2098.614z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#1a1a1a%22/%3E%3Cpath%20d=%22M183.16%20189.47l-4.313%201.75c28.98%2023.48%2079.65%2053.27%2079.65%20129.66v31.531h4V320.88c0-71.639-50.903-108.37-79.344-131.41z%22%20style=%22text-indent:0;text-transform:none%22%20transform=%22matrix(-.32563%20.0097%20-.01206%20-.2621%20151.309%20145.45)%22%20color=%22#000%22%20fill=%22#fff%22%20fill-opacity=%22.313%22%20filter=%22url(#c)%22/%3E%3Cpath%20d=%22M44.052%20118.046c1.941-13.5%205.209-28.946%204.55-43.257l-.862-18.748-3.256.097.863%2018.748c.64%2013.918-2.572%2029.258-4.53%2042.86l3.234.297z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22green%22/%3E%3Cpath%20transform=%22matrix(.32563%20-.0097%20-.01206%20-.2621%20-44.14%20150.226)%22%20d=%22M272.94%20112.59l-5.875%201.5c7.92%2051.61%2019.94%20109.69%2019.94%20162.79v71.531h6V276.88c0-54.598-12.202-113.07-20.062-164.28z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#cfa%22%20fill-opacity=%22.409%22%20filter=%22url(#d)%22/%3E%3Cpath%20d=%22M34.013%20113.833c5.507-15.193%2011.923-26.132%2010.85-49.43l-.38-8.265-3.256.097.38%208.264c1.053%2022.883-5.147%2033.214-10.725%2048.606l3.131.727z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#04a%22/%3E%3Cpath%20transform=%22matrix(.32563%20-.0097%20-.01206%20-.2621%20-44.202%20150.228)%22%20d=%22M242.75%20129.78l-3.5%203.125c19.277%2058.01%2038.25%2096.664%2038.25%20183.97v31.531h5.5v-31.531c0-88.882-21.224-129.84-40.25-187.09z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#acf%22%20fill-opacity=%22.475%22%20filter=%22url(#e)%22/%3E%3Cpath%20d=%22M23.786%20108.143C32.372%2096.651%2042.62%2086.487%2041.607%2064.5l-.38-8.264-3.257.097.38%208.264c.981%2021.314-8.618%2030.496-17.358%2042.192l2.793%201.352z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#aa00d4%22/%3E%3Cpath%20transform=%22matrix(.32563%20-.0097%20-.01206%20-.2621%20-63.922%20150.816)%22%20d=%22M275.19%20158.62l-4.375-.531c28.45%2043.57%2057.68%2077.47%2057.68%20158.79v31.53h4v-31.53c0-83.882-29.36-115.45-57.312-158.25z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#eaf%22%20fill-opacity=%22.483%22%20filter=%22url(#f)%22/%3E%3Cpath%20d=%22M13.334%20100.883c8.983-6.313%2025.91-16.854%2025.017-36.287l-.38-8.264-3.257.097.38%208.264c.837%2018.184-14.754%2027.784-23.91%2034.22l2.149%201.97z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#6f6f91%22/%3E%3Cpath%20transform=%22matrix(.32563%20-.0097%20-.01206%20-.2621%20-43.742%20150.214)%22%20d=%22M183.16%20185.47l-4.313%201.75c28.98%2023.48%2078.15%2055.27%2078.15%20129.65v31.531h5V316.87c0-69.13-50.4-108.37-78.84-131.4z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#dbdbe3%22%20fill-opacity=%22.429%22%20filter=%22url(#g)%22/%3E%3Cpath%20d=%22M73.69%2057.606L25.264%2059.05l-.202-4.398c12.474-.817%2026.455-1.496%2048.425-1.444z%22%20color=%22#000%22%20fill=%22url(#h)%22/%3E%3Cpath%20d=%22M64.604%2060.633l-30.005.894-.246-5.336c7.717-.77%2016.373-1.346%2030.005-.894z%22%20color=%22#000%22%20fill=%22#1a1a1a%22/%3E%3Cpath%20d=%22M64.467%2060.434l-29.75.887-.03-.659c7.655-.673%2016.24-1.19%2029.75-.887z%22%20color=%22#000%22%20fill=%22url(#i)%22/%3E%3Cpath%20d=%22M36.953%2061.291l-2.194.066-.236-5.14c1.09-.029%201.543-.087%202.193-.067z%22%20color=%22#000%22%20fill=%22url(#j)%22/%3E%3Cpath%20d=%22M64.526%2067.018l-29.466.88-.296-6.44c7.578-.746%2016.08-1.306%2029.465-.879z%22%20color=%22#000%22%20fill=%22url(#k)%22/%3E%3Cpath%20d=%22M39.749%2062.438a17382.86%2017382.86%200%200%200-16.022-9.136c-7.035-4.007-12.814-7.308-12.842-7.335-.028-.027%209.023-5.125%2020.114-11.329L51.164%2023.36l.041%207.98c.023%204.39.047%2012.504.052%2018.034l.01%2010.053-.258.043c-1.31.216-2.573.602-3.6%201.102-1.394.678-3.04%202.007-3.947%203.188-.227.296-.428.536-.447.533a258.47%20258.47%200%200%201-3.266-1.854zm19.433.916c-1.387-1.72-3.778-3.223-5.848-3.68a84.366%2084.366%200%200%201-1.148-.258c-.103-.026-.17-5.28-.231-18.058-.047-9.91-.072-18.034-.055-18.05.033-.034%2038.983%2022.448%2039.105%2022.57.073.073-30.92%2018.297-31.09%2018.28-.05-.005-.38-.367-.733-.804zM10.639%2069.42c0-18.118.034-22.668.17-22.583.094.058%207.285%204.221%2015.98%209.252%209.32%205.392%2015.801%209.22%2015.79%209.327-.011.1-.12.542-.244.985-.509%201.835-.413%204.334.24%206.25l.307.9-15.328%208.835a7575.428%207575.428%200%200%201-16.122%209.278l-.793.444zM76.18%2083.365c-8.53-5.14-15.551-9.39-15.604-9.443-.052-.052.06-.584.25-1.183.514-1.62.592-4.195.184-6.007-.163-.72-.275-1.328-.25-1.349.147-.123%2030.997-18.63%2031.055-18.63.098%200%20.056%2038.69-.046%2042.727l-.082%203.233z%22%20fill=%22#7ccff4%22/%3E%3Cpath%20d=%22M92.898%2047.736c-1.658%207.32%203.673%2035.148-.816%2037.094-9.788-16.912-21.55-23.98-21.55-23.98s15.22-10.893%2022.366-13.114zM52.12%2022.772c5.53%205.076%2032.33%2014.27%2031.79%2019.131-19.54.097-31.517%206.795-31.517%206.795s-1.893-18.62-.273-25.926zM10.95%2045.233C18.165%2043.167%2040%2025.11%2043.865%2028.108c-10.12%2016.716-10.66%2030.428-10.66%2030.428S16.333%2050.43%2010.95%2045.233zm-.857%2047.424c1.753-7.298-3.22-35.193%201.293-37.08%209.57%2017.036%2021.24%2024.255%2021.24%2024.255s-15.36%2010.696-22.533%2012.825z%22%20fill=%22#98ddf4%22/%3E%3Cpath%20d=%22M10.564%2046.162l41.054-23.67L92.644%2046.21l-.027%2047.383-32.877-19.34a9.364%209.364%200%201%200-16.216-.008L10.543%2093.551zM43.022%2065.23L10.568%2046.171m41.05-23.284l.023%2037.158m8.689%205.13L92.646%2046.21%22%20fill=%22none%22%20stroke=%22#275d75%22%20stroke-width=%223.009%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22translate(-44.235%2067.501)%20scale(.75005)%22%20stroke=%22#00f400%22%3E%3Ccircle%20r=%2224.508%22%20cy=%221.741%22%20cx=%22128.644%22%20opacity=%22.95%22%20fill=%22#272524%22%20stroke-width=%222.247%22%20stroke-linecap=%22round%22/%3E%3Cpath%20d=%22M113.085%2010.269h16.744V-9.227h14.781%22%20fill=%22none%22%20stroke-width=%222.682%22/%3E%3C/g%3E%3Ctext%20style=%22line-height:1.25%22%20x=%2223.033%22%20y=%2218.856%22%20font-weight=%22400%22%20font-size=%2221.804%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%22.545%22%3E%3Ctspan%20x=%2223.033%22%20y=%2218.856%22%3E16KB%3C/tspan%3E%3C/text%3E%3C/svg%3E", + "otid": 1596697289362 + }, + "design": { + "graph": { + "blocks": [ + { + "id": "01edffcc-6e84-40ff-a986-e6bb1d144035", "type": "basic.inputLabel", "data": { - "name": "addr", - "range": "[3:0]", - "pins": [ - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia", - "blockColor": "navy" + "blockColor": "fuchsia", + "name": "tx", + "oldBlockColor": "fuchsia" }, "position": { - "x": 1224, - "y": 784 + "x": 1080, + "y": 536 } }, { - "id": "dc204461-1dd1-428f-91a2-006d905d6585", + "id": "874e0745-10f1-45c2-8893-f7dfad87390d", "type": "basic.outputLabel", "data": { - "blockColor": "fuchsia", - "name": "start_read" + "blockColor": "yellow", + "name": "clk" }, "position": { - "x": 872, - "y": 832 + "x": 728, + "y": 544 } }, { - "id": "0db424eb-f896-41e1-becb-7eb065dd64f2", - "type": "basic.outputLabel", + "id": "bef1b4c2-b479-4152-ba4d-eb6b9906949c", + "type": "basic.input", "data": { - "blockColor": "fuchsia", - "name": "busy" + "name": "", + "clock": true }, "position": { - "x": 152, - "y": 840 + "x": -32, + "y": 584 } }, { - "id": "adcb920c-12a7-478f-b1f2-9877d62d2673", - "type": "basic.outputLabel", + "id": "e957a950-a21d-4560-8c01-c477d88a75a2", + "type": "basic.inputLabel", "data": { "blockColor": "yellow", "name": "clk" }, "position": { - "x": 1200, - "y": 864 + "x": 112, + "y": 584 } }, { - "id": "24450b7d-19ce-463a-83fb-5e1c04e4b093", + "id": "757f1816-834d-4cd7-a5e1-d726a472de91", "type": "basic.output", "data": { - "name": "tic" + "name": "tx" }, "position": { - "x": 2040, - "y": 888 + "x": 1456, + "y": 600 } }, { - "id": "1afea26e-4199-4bc9-bee1-c5689a14f8b6", + "id": "b5a3b2cc-7b32-4ac9-b6bf-002fe40d9ebe", "type": "basic.outputLabel", "data": { "blockColor": "fuchsia", - "name": "tic", + "name": "tx", "oldBlockColor": "fuchsia" }, "position": { - "x": 1872, - "y": 888 + "x": 1304, + "y": 600 } }, { - "id": "caf86b2c-c08d-411d-be47-4084fec9532e", + "id": "25428eb9-c2a5-476c-8ea5-4876e3cb78cb", "type": "basic.inputLabel", "data": { "blockColor": "fuchsia", - "name": "tic", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "name": "stdo", + "range": "[9:0]", + "size": 10 }, "position": { - "x": 1504, - "y": 912 + "x": 1104, + "y": 616 } }, { - "id": "eda78d52-57f7-4e44-bd8e-75e67c496650", + "id": "2226faa1-dd30-45cc-b4fb-2bcffd758576", "type": "basic.outputLabel", "data": { "blockColor": "fuchsia", - "name": "next" + "name": "stdo_1", + "range": "[9:0]", + "oldBlockColor": "fuchsia", + "size": 10 }, "position": { - "x": 880, - "y": 936 + "x": 720, + "y": 616 } }, { - "id": "366a768a-2f5d-4c01-8338-bdef0a688ea7", + "id": "b1e41924-f354-4744-b5f0-a93a1fdc6828", + "type": "basic.input", + "data": { + "name": "trig", + "clock": false + }, + "position": { + "x": -32, + "y": 664 + } + }, + { + "id": "4de777a9-a4a5-4ace-adf6-688298d0d736", "type": "basic.inputLabel", "data": { "blockColor": "fuchsia", - "name": "done", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "name": "trig" }, "position": { - "x": 1152, - "y": 992 + "x": 112, + "y": 664 } }, { - "id": "0a517454-aeac-48a3-bc62-6aa73da948bd", - "type": "basic.info", + "id": "9cdfc247-4374-4660-b8c7-246e9aa090d7", + "type": "basic.input", "data": { - "info": "Reading data from memory \nReading bus status", - "readonly": true + "name": "ch", + "range": "[7:0]", + "clock": false, + "size": 8 }, "position": { - "x": 336, - "y": 120 - }, - "size": { - "width": 232, - "height": 64 + "x": -32, + "y": 752 } }, { - "id": "b6323c55-9b6d-4753-8953-7fb34775a27b", - "type": "21cfcc19a4ad14c5fb5e8cfebd018ec356fe7542", - "position": { - "x": 864, - "y": 16 + "id": "b3f14933-93b7-4bc1-8585-471518a370ce", + "type": "basic.inputLabel", + "data": { + "name": "ch", + "range": "[7:0]", + "blockColor": "fuchsia", + "size": 8 }, - "size": { - "width": 96, - "height": 64 + "position": { + "x": 120, + "y": 752 } }, { - "id": "5f897fa2-936f-47cd-9310-a36fb4cb14a1", - "type": "3bf99b8d77aa1b29ec1bf618b53175de87f1001d", + "id": "97a9bf0d-0475-40fe-bcc2-f75e2b928290", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "on2", + "oldBlockColor": "fuchsia" + }, "position": { - "x": 864, - "y": -64 + "x": 1136, + "y": 760 + } + }, + { + "id": "a76b111f-f808-4e45-8873-d8e76eb8612e", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "size": { - "width": 96, - "height": 64 + "position": { + "x": 824, + "y": 768 } }, { - "id": "a200cfa9-fe9a-4c4b-b9d4-f4307d071797", - "type": "basic.info", + "id": "95f8ff76-02e4-4f69-8db6-d285cfe13d4a", + "type": "basic.outputLabel", "data": { - "info": "Calculate if the bus can be taken", - "readonly": true + "blockColor": "yellow", + "name": "clk" }, "position": { - "x": 216, - "y": 440 + "x": 328, + "y": 784 + } + }, + { + "id": "db47aa3d-add3-4672-aad0-e71644d43161", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "stdo_1", + "range": "[9:0]", + "size": 10 }, - "size": { - "width": 272, - "height": 32 + "position": { + "x": 1184, + "y": 824 } }, { - "id": "7a989d63-cd4a-4c47-9513-57b4ea6ee141", - "type": "35f267d0df6ffcb7fc33753bc9df9cf083642cca", + "id": "b1cd47ec-5a10-4bd1-bff9-a9d1707d621d", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" + }, "position": { - "x": 296, - "y": 552 + "x": 1312, + "y": 840 + } + }, + { + "id": "f443dcde-4fbe-46f8-90d9-94a64a06a928", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "stdo", + "range": "[9:0]", + "size": 10 }, - "size": { - "width": 96, - "height": 64 + "position": { + "x": 792, + "y": 848 } }, { - "id": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", - "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", + "id": "b3c9756a-c4ff-496f-972f-11e1904c9bd4", + "type": "basic.outputLabel", + "data": { + "name": "mbus", + "range": "[23:0]", + "blockColor": "fuchsia", + "size": 24 + }, "position": { - "x": 464, - "y": 568 + "x": 264, + "y": 856 + } + }, + { + "id": "218bd314-2f32-4e2b-b3f4-4f7e0f8f3e70", + "type": "basic.inputLabel", + "data": { + "name": "mbus", + "range": "[23:0]", + "blockColor": "fuchsia", + "size": 24 }, - "size": { - "width": 96, - "height": 64 + "position": { + "x": 1616, + "y": 896 } }, { - "id": "239fe2ba-e2b9-4446-a1ea-51e1616f5b75", - "type": "basic.info", + "id": "02620ac0-eba1-4e7b-8c7c-42f281dfad06", + "type": "basic.outputLabel", "data": { - "info": "The bus is available", - "readonly": true + "blockColor": "fuchsia", + "name": "trig", + "oldBlockColor": "fuchsia" }, "position": { - "x": 384, - "y": 512 + "x": 224, + "y": 944 + } + }, + { + "id": "8de3b7b2-f1f3-41a6-91c1-dcd310e375b5", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "data2", + "range": "[7:0]", + "oldBlockColor": "fuchsia", + "size": 8 }, - "size": { - "width": 184, - "height": 32 + "position": { + "x": 1152, + "y": 1000 } }, { - "id": "b62ad9b4-5b0e-4b74-a0ad-947946a59331", - "type": "basic.info", + "id": "db924183-9079-4d5e-ba72-24086b523403", + "type": "basic.outputLabel", "data": { - "info": "This circuits wants \nto use the bus", - "readonly": true + "name": "ch", + "range": "[7:0]", + "blockColor": "fuchsia", + "size": 8 }, "position": { "x": 280, - "y": 664 - }, - "size": { - "width": 192, - "height": 56 + "y": 1016 } }, { - "id": "c25805fd-f852-43d5-93db-f3f0cb17c301", - "type": "basic.info", + "id": "bf04f199-c541-48bb-b97b-024f13f8a77c", + "type": "basic.constant", "data": { - "info": "The bus has been already \ntaken", - "readonly": true + "name": "sclk", + "value": "12000000", + "local": false }, "position": { - "x": 272, - "y": 816 - }, - "size": { - "width": 208, - "height": 56 + "x": 840, + "y": 472 } }, { - "id": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", - "type": "81613874c6152f06c06ed7014bf4235900cfcc30", - "position": { - "x": 648, - "y": 584 + "id": "301e5c60-1782-4bb1-8922-3b1430d30e21", + "type": "basic.constant", + "data": { + "name": "bps", + "value": "115200", + "local": false }, - "size": { - "width": 96, - "height": 64 + "position": { + "x": 968, + "y": 472 } }, { - "id": "26b71a43-5955-4452-9b0e-94ea6ef453b7", - "type": "81613874c6152f06c06ed7014bf4235900cfcc30", + "id": "68b503e6-2b67-4fba-9b21-96ca03b1ac6a", + "type": "basic.memory", + "data": { + "name": "", + "list": "00\n01\n02\n03\n04\n05\n06\n07\n08\n09\n0A\n0B\n0C\n0D\n0E\n0F\n", + "local": true, + "format": 10 + }, "position": { - "x": 1088, - "y": 296 + "x": 1424, + "y": 672 }, "size": { - "width": 96, - "height": 64 + "width": 152, + "height": 160 } }, { - "id": "d3ce12c0-3b45-4ed2-8446-fb6c4c8e8710", + "id": "1b7cce1e-5e7b-4fef-93cd-ff06c9262fbf", "type": "basic.info", "data": { - "info": "One cycle after the machine is done \nthe bus is already taken to write \nthe bbusy signal to 0 and allow \nother circuits to use it", + "info": "## Icerok-probe machine\n\nMachine for capturing data, storing it in the memory and transmit \nto the computer by serial port", "readonly": true }, "position": { - "x": 960, - "y": 392 + "x": -48, + "y": 368 }, "size": { - "width": 304, + "width": 688, "height": 88 } }, { - "id": "110cf90a-bc63-4642-a72e-33e8e397e804", + "id": "1a5dba1d-460f-4fe7-b89a-e82a5ce80797", "type": "basic.info", "data": { - "info": "The output bus is controlled \nby this circuit (1) or \nremain untouched (0)", + "info": "Writing the data to the memory on \nevery system clock cycle", "readonly": true }, "position": { - "x": 1320, - "y": 288 + "x": 368, + "y": 1080 }, "size": { - "width": 240, - "height": 112 + "width": 296, + "height": 56 } }, { - "id": "0421b3fd-c660-4279-abe0-e1d486431ce0", + "id": "e9eeb570-af93-4a48-a7bb-b2373f112a3d", "type": "basic.info", "data": { - "info": "The reading machine \ncan be started", + "info": "Transmiting the raw memory contents \nto the computer, by serial port", "readonly": true }, "position": { - "x": 584, - "y": 456 + "x": 936, + "y": 1080 }, "size": { - "width": 184, - "height": 64 + "width": 296, + "height": 56 } }, { - "id": "e0ace7c0-caa0-440e-9868-d76ffb18bfb2", + "id": "120026aa-96d4-4c3f-bdf9-6ae35383aa84", "type": "basic.info", "data": { - "info": "Reading machine", + "info": "When the sampling is done \ntransmit the information to \nthe computer", "readonly": true }, "position": { - "x": 1016, - "y": 728 + "x": 664, + "y": 992 }, "size": { - "width": 168, - "height": 48 + "width": 280, + "height": 72 } }, { - "id": "165f75a6-a05d-4025-aac5-91f45cd6cd30", - "type": "1c7dae7144d376f2ee4896fcc502a29110e2db37", - "position": { - "x": 1904, - "y": 520 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "d155022c-5f5d-4a1b-8e0b-9643481e530b", - "type": "359a555a147b0afd9d84e4a720ec84b7cdfbc034", - "position": { - "x": 1880, - "y": 664 - }, - "size": { - "width": 96, - "height": 96 - } - }, - { - "id": "5aeed2ef-7590-4245-a540-a63acb068e09", - "type": "3bf99b8d77aa1b29ec1bf618b53175de87f1001d", - "position": { - "x": 1648, - "y": 680 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "045bea3c-647f-44be-8b84-4957291749a4", - "type": "1c7dae7144d376f2ee4896fcc502a29110e2db37", - "position": { - "x": 1336, - "y": 912 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "e9c87f9b-8312-41de-af70-db0772825e09", - "type": "ae7cd7cc997647c6f4f9ed332bbf1849b798d4cb", - "position": { - "x": 1904, - "y": 32 - }, - "size": { - "width": 96, - "height": 128 - } - }, - { - "id": "5ce3f494-5892-4a5c-9720-fc5c71449b27", + "id": "7c470f08-1331-4242-ad22-412c4e83cf61", "type": "basic.info", "data": { - "info": "## Download machine\n\nTransmit all the memory contents through the serial port \nThe bytes are transmited raw (in binary). No ascii encoding \nThere should be a program running on the computer capable of \nreading these raw bytes", + "info": "Memory were the data \nis stored", "readonly": true }, "position": { - "x": -112, - "y": -168 + "x": 1448, + "y": 984 }, "size": { - "width": 504, - "height": 120 + "width": 216, + "height": 64 } }, { - "id": "10cf0acf-2627-46d4-8c0d-840056c3a6be", - "type": "f1dc888a11b743f08087b6e65015fe269bed1f6f", + "id": "b3fb3351-e2cc-42b6-ac47-08d6fee8e3cb", + "type": "58354ef6a90ba7895773f2652b9bdd4b7fc36176", "position": { - "x": 384, - "y": 184 + "x": 904, + "y": 600 }, "size": { "width": 96, - "height": 128 + "height": 96 } }, { - "id": "8205f22c-1d31-4e0a-a4d9-7fbbc780e32d", - "type": "6050ed4fa033f3f13d3fe5fae5dcedb414a0fede", + "id": "daefb83b-9b87-4d60-9ad8-9209f5d30e21", + "type": "1250d52a7afd45bb1a9a3db8b7b07091812cfe25", "position": { - "x": 1080, - "y": -80 + "x": 1456, + "y": 896 }, "size": { "width": 96, - "height": 128 + "height": 64 } }, { - "id": "c4492dd4-658c-4c26-9b2b-b6d26243039b", - "type": "7cd239bdd995aa0988ea7615327f97fbe335930d", + "id": "a7a62de6-e5c1-4dec-95c9-55e64ac949d2", + "type": "76edf4205ccb9e56d286f0315a959a27a34b5c04", "position": { - "x": 1312, - "y": 104 + "x": 488, + "y": 896 }, "size": { "width": 96, - "height": 96 + "height": 128 } }, { - "id": "98bbdcc7-f58a-4c93-be85-ccfe5b16ddb4", - "type": "efe39aa2a101707774e24b099a0654cc52ff8a04", + "id": "70c57eb6-a5b4-421b-9262-cdc5875376e1", + "type": "698400cf4aed3c1bcc56992cf4dee108a0b3b2d8", "position": { - "x": 1016, - "y": 800 + "x": 984, + "y": 864 }, "size": { "width": 96, - "height": 128 + "height": 192 } } ], "wires": [ { "source": { - "block": "7fb933a6-5c63-4d46-8aaa-440b30974993", - "port": "out" + "block": "02620ac0-eba1-4e7b-8c7c-42f281dfad06", + "port": "outlabel" }, "target": { - "block": "2c31aa6a-383c-4eb5-b669-b8a31ad14225", - "port": "inlabel" + "block": "a7a62de6-e5c1-4dec-95c9-55e64ac949d2", + "port": "b14f140b-7bb5-46d9-8019-39c27ff6e0e3" }, "vertices": [] }, { "source": { - "block": "b14f140b-7bb5-46d9-8019-39c27ff6e0e3", - "port": "out" + "block": "70c57eb6-a5b4-421b-9262-cdc5875376e1", + "port": "38abb13c-8652-41fb-931c-c7bf760ebb24" }, "target": { - "block": "da45f105-3600-4458-a820-50046581f5dd", + "block": "97a9bf0d-0475-40fe-bcc2-f75e2b928290", "port": "inlabel" - } - }, - { - "source": { - "block": "10cf0acf-2627-46d4-8c0d-840056c3a6be", - "port": "9751f777-00ec-46c1-8d85-07d2dec1e653" }, - "target": { - "block": "05a1a5b4-bf29-49df-b0b1-887859d9ec9e", - "port": "inlabel" - } + "vertices": [] }, { "source": { - "block": "10cf0acf-2627-46d4-8c0d-840056c3a6be", - "port": "afe50480-6fe5-4ca6-b639-c730569a6a1d", + "block": "70c57eb6-a5b4-421b-9262-cdc5875376e1", + "port": "3066cf48-9921-4487-826e-0464a2dead7a", "size": 8 }, "target": { - "block": "914e03dd-1133-4325-a333-b10f953ecce5", + "block": "8de3b7b2-f1f3-41a6-91c1-dcd310e375b5", "port": "inlabel" }, + "vertices": [], "size": 8 }, { "source": { - "block": "7df4a7f1-90b6-4562-8be3-e4719a824545", - "port": "outlabel" - }, - "target": { - "block": "98bbdcc7-f58a-4c93-be85-ccfe5b16ddb4", - "port": "cb426e3d-ace3-4a57-a74b-155caed0c14c" - } - }, - { - "source": { - "block": "fce01e4d-e6d2-4811-8f96-410673168b4c", - "port": "outlabel" + "block": "70c57eb6-a5b4-421b-9262-cdc5875376e1", + "port": "20d63505-e2fd-44ed-95b9-9f45e8875e70", + "size": 10 }, "target": { - "block": "7a989d63-cd4a-4c47-9513-57b4ea6ee141", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "block": "db47aa3d-add3-4672-aad0-e71644d43161", + "port": "inlabel" }, - "vertices": [] + "vertices": [], + "size": 10 }, { "source": { - "block": "524ca75c-cdd3-4e79-851a-b46ce146bd66", + "block": "f443dcde-4fbe-46f8-90d9-94a64a06a928", "port": "outlabel" }, "target": { - "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", - "port": "97b51945-d716-4b6c-9db9-970d08541249" + "block": "70c57eb6-a5b4-421b-9262-cdc5875376e1", + "port": "886b88b1-4987-4f1f-aadd-d82bb53ab445", + "size": 10 }, - "vertices": [] + "vertices": [], + "size": 10 }, { "source": { - "block": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "b3fb3351-e2cc-42b6-ac47-08d6fee8e3cb", + "port": "93defa79-7f79-4614-8e5b-17ceacc8c7cf", + "size": 10 }, "target": { - "block": "700d8b15-d6df-4b76-b10d-72db58c33e6c", + "block": "25428eb9-c2a5-476c-8ea5-4876e3cb78cb", "port": "inlabel" }, - "vertices": [] + "vertices": [], + "size": 10 }, { "source": { - "block": "0db424eb-f896-41e1-becb-7eb065dd64f2", + "block": "2226faa1-dd30-45cc-b4fb-2bcffd758576", "port": "outlabel" }, "target": { - "block": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", - "port": "97b51945-d716-4b6c-9db9-970d08541249" + "block": "b3fb3351-e2cc-42b6-ac47-08d6fee8e3cb", + "port": "bf297685-7b54-477f-b9ee-3c143135097b", + "size": 10 }, - "vertices": [ - { - "x": 584, - "y": 824 - } - ] + "vertices": [], + "size": 10 }, { "source": { - "block": "9be4488d-51be-4346-8a31-5d8f2f86e4d3", - "port": "outlabel" + "block": "bef1b4c2-b479-4152-ba4d-eb6b9906949c", + "port": "out" }, "target": { - "block": "26b71a43-5955-4452-9b0e-94ea6ef453b7", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "block": "e957a950-a21d-4560-8c01-c477d88a75a2", + "port": "inlabel" }, "vertices": [] }, { "source": { - "block": "923c4db6-0c76-4647-a848-75fd61fba6ec", + "block": "874e0745-10f1-45c2-8893-f7dfad87390d", "port": "outlabel" }, "target": { - "block": "26b71a43-5955-4452-9b0e-94ea6ef453b7", - "port": "97b51945-d716-4b6c-9db9-970d08541249" - }, - "vertices": [] + "block": "b3fb3351-e2cc-42b6-ac47-08d6fee8e3cb", + "port": "2d00d963-00f8-4a0a-9cb8-a4e5bfb61323" + } }, { "source": { - "block": "98bbdcc7-f58a-4c93-be85-ccfe5b16ddb4", - "port": "49221b19-132a-4e3f-9a1f-97bcd463391b" + "block": "b3fb3351-e2cc-42b6-ac47-08d6fee8e3cb", + "port": "f2043f09-b391-40ea-9d1d-721438b68ef1" }, "target": { - "block": "366a768a-2f5d-4c01-8338-bdef0a688ea7", + "block": "01edffcc-6e84-40ff-a986-e6bb1d144035", "port": "inlabel" } }, { "source": { - "block": "eda78d52-57f7-4e44-bd8e-75e67c496650", + "block": "b5a3b2cc-7b32-4ac9-b6bf-002fe40d9ebe", "port": "outlabel" }, "target": { - "block": "98bbdcc7-f58a-4c93-be85-ccfe5b16ddb4", - "port": "ad4d0fc2-118e-496e-b292-c435bad20e7d" + "block": "757f1816-834d-4cd7-a5e1-d726a472de91", + "port": "in" } }, { "source": { - "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "b1e41924-f354-4744-b5f0-a93a1fdc6828", + "port": "out" }, "target": { - "block": "54e9bf9f-b852-4c45-bd53-f6eb4ee707eb", + "block": "4de777a9-a4a5-4ace-adf6-688298d0d736", "port": "inlabel" } }, { "source": { - "block": "dc204461-1dd1-428f-91a2-006d905d6585", - "port": "outlabel" - }, - "target": { - "block": "98bbdcc7-f58a-4c93-be85-ccfe5b16ddb4", - "port": "8f591b24-0427-409f-aa6e-ca1861556cf5" - } - }, - { - "source": { - "block": "98bbdcc7-f58a-4c93-be85-ccfe5b16ddb4", - "port": "6a11eaf9-4bd5-405e-81f8-44418365326b" + "block": "9cdfc247-4374-4660-b8c7-246e9aa090d7", + "port": "out", + "size": 8 }, "target": { - "block": "7e9db299-cb56-4cd9-a489-d5fbd6eb3e2f", + "block": "b3f14933-93b7-4bc1-8585-471518a370ce", "port": "inlabel" - } + }, + "size": 8 }, { "source": { - "block": "a040cc3d-b2c6-458e-bde6-f8234a19b6d1", + "block": "db924183-9079-4d5e-ba72-24086b523403", "port": "outlabel" }, "target": { - "block": "38abb13c-8652-41fb-931c-c7bf760ebb24", - "port": "in" + "block": "a7a62de6-e5c1-4dec-95c9-55e64ac949d2", + "port": "9978357f-7ad7-44b5-97d2-b44692508773", + "size": 8 }, - "vertices": [] + "size": 8 }, { "source": { - "block": "8ca2279c-fdc3-40d3-9fbe-2071c026932f", + "block": "95f8ff76-02e4-4f69-8db6-d285cfe13d4a", "port": "outlabel" }, "target": { - "block": "8205f22c-1d31-4e0a-a4d9-7fbbc780e32d", - "port": "49fb1766-1e7f-4706-9872-a6cd65cc9f2d" + "block": "a7a62de6-e5c1-4dec-95c9-55e64ac949d2", + "port": "7fb933a6-5c63-4d46-8aaa-440b30974993" } }, { "source": { - "block": "289f00be-f97d-4553-a60a-32d8b45da4cc", + "block": "a76b111f-f808-4e45-8873-d8e76eb8612e", "port": "outlabel" }, "target": { - "block": "165f75a6-a05d-4025-aac5-91f45cd6cd30", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + "block": "70c57eb6-a5b4-421b-9262-cdc5875376e1", + "port": "7fb933a6-5c63-4d46-8aaa-440b30974993" } }, { "source": { - "block": "7d0852c6-4778-4a53-bf90-30527c44a0eb", + "block": "b1cd47ec-5a10-4bd1-bff9-a9d1707d621d", "port": "outlabel" }, "target": { - "block": "165f75a6-a05d-4025-aac5-91f45cd6cd30", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + "block": "daefb83b-9b87-4d60-9ad8-9209f5d30e21", + "port": "6080df5a-c853-47cf-aaa7-c5a8f1e65879" } }, { "source": { - "block": "c1c96b9c-e573-43a0-8b60-9f7fe7ad5ae6", - "port": "outlabel" + "block": "daefb83b-9b87-4d60-9ad8-9209f5d30e21", + "port": "ecaf7923-2995-4c02-a531-778edf600834", + "size": 24 }, "target": { - "block": "d155022c-5f5d-4a1b-8e0b-9643481e530b", - "port": "1e637a79-4a6d-495c-bcac-9664bdbe4b94" + "block": "218bd314-2f32-4e2b-b3f4-4f7e0f8f3e70", + "port": "inlabel" }, - "vertices": [] + "size": 24 }, { "source": { - "block": "0399b081-5696-4bf7-bb75-cd55da78d4f5", + "block": "b3c9756a-c4ff-496f-972f-11e1904c9bd4", "port": "outlabel" }, "target": { - "block": "d155022c-5f5d-4a1b-8e0b-9643481e530b", - "port": "9f5a1c91-1b93-4609-877c-816ed8fd0871", - "size": 8 + "block": "a7a62de6-e5c1-4dec-95c9-55e64ac949d2", + "port": "94f3b4c1-ffb7-450b-99c4-aebfb6c4e124", + "size": 24 }, - "size": 8 + "vertices": [ + { + "x": 392, + "y": 920 + } + ], + "size": 24 }, { "source": { - "block": "adcb920c-12a7-478f-b1f2-9877d62d2673", - "port": "outlabel" + "block": "68b503e6-2b67-4fba-9b21-96ca03b1ac6a", + "port": "memory-out" }, "target": { - "block": "045bea3c-647f-44be-8b84-4957291749a4", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" - } + "block": "daefb83b-9b87-4d60-9ad8-9209f5d30e21", + "port": "b07ab569-1013-48d4-916e-4e447f8ea11b" + }, + "vertices": [] }, { "source": { - "block": "045bea3c-647f-44be-8b84-4957291749a4", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" - }, - "target": { - "block": "caf86b2c-c08d-411d-be47-4084fec9532e", - "port": "inlabel" - } - }, - { - "source": { - "block": "1afea26e-4199-4bc9-bee1-c5689a14f8b6", - "port": "outlabel" - }, - "target": { - "block": "24450b7d-19ce-463a-83fb-5e1c04e4b093", - "port": "in" - } - }, - { - "source": { - "block": "886b88b1-4987-4f1f-aadd-d82bb53ab445", - "port": "out", - "size": 10 + "block": "a7a62de6-e5c1-4dec-95c9-55e64ac949d2", + "port": "95c4416f-62f5-4196-a406-f7915d40a572" }, "target": { - "block": "523a4825-1562-4f5d-b129-c7d08fe542c2", - "port": "inlabel" + "block": "70c57eb6-a5b4-421b-9262-cdc5875376e1", + "port": "b14f140b-7bb5-46d9-8019-39c27ff6e0e3" }, - "size": 10 + "vertices": [] }, { "source": { - "block": "b359cb97-c324-4ffc-a73c-64c7f457e6fa", - "port": "outlabel" + "block": "bf04f199-c541-48bb-b97b-024f13f8a77c", + "port": "constant-out" }, "target": { - "block": "e9c87f9b-8312-41de-af70-db0772825e09", - "port": "8c3ce21f-2214-489f-853a-d60a223034da", - "size": 10 - }, - "size": 10 + "block": "b3fb3351-e2cc-42b6-ac47-08d6fee8e3cb", + "port": "ac5c1fd2-04e0-41a2-8d4d-c2e41b2e5b8f" + } }, { "source": { - "block": "f81791c6-f02f-46d0-b738-5895dd124243", - "port": "outlabel" + "block": "301e5c60-1782-4bb1-8922-3b1430d30e21", + "port": "constant-out" }, "target": { - "block": "e9c87f9b-8312-41de-af70-db0772825e09", - "port": "04841e3c-8761-454a-8d99-496fde26ea1f" + "block": "b3fb3351-e2cc-42b6-ac47-08d6fee8e3cb", + "port": "d4a02852-2578-4c4d-b7e2-0708b0ef9794" } }, { "source": { - "block": "a875b188-26fa-4052-ae81-4b5f22f4c1e5", - "port": "outlabel" + "block": "a7a62de6-e5c1-4dec-95c9-55e64ac949d2", + "port": "fa41806b-2355-4923-895f-3ead2e752b43" }, "target": { - "block": "e9c87f9b-8312-41de-af70-db0772825e09", - "port": "1ac9dd5b-9741-4af4-963a-50cbf8c4c6be" + "block": "70c57eb6-a5b4-421b-9262-cdc5875376e1", + "port": "64a86ee7-b105-409d-9e91-cca498c9121b" }, - "vertices": [ - { - "x": 1800, - "y": 88 - } - ] + "size": 24 }, { "source": { - "block": "786f1170-66ce-4c3a-acdc-073388546edd", - "port": "outlabel" + "block": "70c57eb6-a5b4-421b-9262-cdc5875376e1", + "port": "7b8dd447-e9d2-4c9f-ba7c-c3af9abed4e8" }, "target": { - "block": "e9c87f9b-8312-41de-af70-db0772825e09", - "port": "72632c73-fe18-42b3-b81f-46999ddfdb20", - "size": 8 + "block": "daefb83b-9b87-4d60-9ad8-9209f5d30e21", + "port": "7b7a0dd2-57ea-4f82-940a-a1fafe7962bf" }, - "size": 8 - }, + "size": 24 + } + ] + } + } + }, + "58354ef6a90ba7895773f2652b9bdd4b7fc36176": { + "package": { + "name": "stdout-serial-sysclk", + "version": "0.2", + "description": "Serial transmiter for the stdout bus, with sysclk parameter", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22230.265%22%20width=%22258.177%22%20viewBox=%220%200%20242.04167%20215.87473%22%3E%3Cg%20transform=%22translate(344.08%20-10.985)%20scale(1.04907)%22%20stroke=%22#000%22%3E%3Cpath%20d=%22M-170.798%20177.526l.315%2036.011%2040.397-37.263v-33.51z%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M-308.584%20177.892l53.235-35.7%20124.635.628-39.456%2035.7%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Crect%20ry=%223.509%22%20height=%2236.325%22%20width=%22139.039%22%20y=%22178.153%22%20x=%22-308.895%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22square%22/%3E%3Cg%20transform=%22matrix(1.88858%200%200%201.88858%20-312.436%20138.651)%22%20stroke-width=%22.938%22%20stroke-linecap=%22square%22%3E%3Ccircle%20cy=%2230.367%22%20cx=%2211.326%22%20r=%223.15%22%20fill=%22red%22/%3E%3Ccircle%20cy=%2230.367%22%20cx=%2220.611%22%20r=%223.15%22%20fill=%22#faa%22/%3E%3Ccircle%20cy=%2230.367%22%20cx=%2262.82%22%20r=%223.15%22%20fill=%22green%22/%3E%3Ccircle%20cy=%2230.367%22%20cx=%2230.554%22%20r=%223.15%22%20fill=%22red%22/%3E%3C/g%3E%3C/g%3E%3Ctext%20y=%2240.93%22%20x=%2225.952%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2294.276%22%20letter-spacing=%220%22%20word-spacing=%220%22%20transform=%22scale(.99853%201.00147)%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%221.749%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2240.93%22%20x=%2225.952%22%20font-weight=%22700%22%20font-size=%2253.872%22%3ESerial%3C/tspan%3E%3C/text%3E%3Ctext%20y=%22108.569%22%20x=%22-3.867%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2294.276%22%20letter-spacing=%220%22%20word-spacing=%220%22%20transform=%22scale(.99853%201.00147)%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%221.749%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%22108.569%22%20x=%22-3.867%22%20font-weight=%22700%22%20font-size=%2253.872%22%3ESTDOUT%3C/tspan%3E%3C/text%3E%3C/svg%3E", + "otid": 1574522291739 + }, + "design": { + "graph": { + "blocks": [ { - "source": { - "block": "e9c87f9b-8312-41de-af70-db0772825e09", - "port": "233059d5-8ab7-4c63-8dab-0c6af3a1dc28" + "id": "2d00d963-00f8-4a0a-9cb8-a4e5bfb61323", + "type": "basic.input", + "data": { + "name": "", + "clock": true }, - "target": { - "block": "bf61387a-ef36-4f3c-898f-e274c3136b18", - "port": "inlabel" + "position": { + "x": 248, + "y": 224 } }, { - "source": { - "block": "472c0cbb-1d6b-4af4-a439-52f52118d405", - "port": "out", - "size": 14 - }, - "target": { - "block": "9bc05443-4e8c-4288-a609-67e961b01ca7", - "port": "inlabel" + "id": "340a0c20-8472-4bd8-ae36-204a57b49285", + "type": "basic.inputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "vertices": [], - "size": 14 + "position": { + "x": 424, + "y": 224 + } }, { - "source": { - "block": "d94290b8-502b-46eb-a630-3b0800bf3c9b", - "port": "outlabel" - }, - "target": { - "block": "10cf0acf-2627-46d4-8c0d-840056c3a6be", - "port": "3178c182-b1bd-4e92-bc67-6e0868b62279", - "size": 14 + "id": "019dc637-ca36-4e18-8db1-5d5318fb2d6e", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "size": 14 + "position": { + "x": 552, + "y": 376 + } }, { - "source": { - "block": "af8afdcf-1f69-4187-81ab-082d28c98dd9", - "port": "outlabel" - }, - "target": { - "block": "8205f22c-1d31-4e0a-a4d9-7fbbc780e32d", - "port": "5c70a159-1900-4d97-9e7d-961876e03bbe", - "size": 4 + "id": "3229f563-798d-4db3-9966-52596ca5cef1", + "type": "basic.inputLabel", + "data": { + "name": "tx", + "blockColor": "fuchsia", + "oldBlockColor": "fuchsia" }, - "size": 4 + "position": { + "x": 848, + "y": 376 + } }, { - "source": { - "block": "b63a0660-3988-4951-b606-0177b556defc", - "port": "outlabel" - }, - "target": { - "block": "c4492dd4-658c-4c26-9b2b-b6d26243039b", - "port": "e3bb4d9b-5ba2-4987-bd84-cd8763a214cd", - "size": 14 + "id": "f2043f09-b391-40ea-9d1d-721438b68ef1", + "type": "basic.output", + "data": { + "name": "tx" }, - "size": 14 + "position": { + "x": 1336, + "y": 384 + } }, { - "source": { - "block": "98bbdcc7-f58a-4c93-be85-ccfe5b16ddb4", - "port": "a8eb520f-8b09-41ab-9146-919bf44b6078", - "size": 4 - }, - "target": { - "block": "64f8b6de-1661-4bb4-a2eb-5458a30a6d66", - "port": "inlabel" + "id": "6ba67914-123c-4491-862c-8eda58a6c040", + "type": "basic.outputLabel", + "data": { + "name": "tx", + "blockColor": "fuchsia", + "oldBlockColor": "fuchsia" }, - "size": 4 + "position": { + "x": 1184, + "y": 384 + } }, { - "source": { - "block": "5f897fa2-936f-47cd-9310-a36fb4cb14a1", - "port": "ad29e130-c17a-4544-9237-4c72551ccbeb" - }, - "target": { - "block": "8205f22c-1d31-4e0a-a4d9-7fbbc780e32d", - "port": "25996d5e-6856-4828-8cb3-5dea5ff5cf9c" + "id": "e1ba0ef0-77f6-4ab9-9892-b5c93aa3167c", + "type": "basic.inputLabel", + "data": { + "name": "busy", + "blockColor": "fuchsia" }, - "vertices": [], - "size": 8 + "position": { + "x": 848, + "y": 456 + } }, { - "source": { - "block": "b6323c55-9b6d-4753-8953-7fb34775a27b", - "port": "3d584b0a-29eb-47af-8c43-c0822282ef05" - }, - "target": { - "block": "8205f22c-1d31-4e0a-a4d9-7fbbc780e32d", - "port": "dbe1622c-3510-4132-8b5c-2fbf81d7f581" + "id": "bf297685-7b54-477f-b9ee-3c143135097b", + "type": "basic.input", + "data": { + "name": "", + "range": "[9:0]", + "clock": false, + "size": 10 }, - "vertices": [ - { - "x": 1000, - "y": 16 - } - ] + "position": { + "x": 256, + "y": 472 + } }, { - "source": { - "block": "7a989d63-cd4a-4c47-9513-57b4ea6ee141", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" - }, - "target": { - "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "id": "6a12a92e-7e13-4bc0-9051-8aba3b29df38", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "Ready", + "range": "[9:0]", + "oldBlockColor": "fuchsia", + "size": 10 }, - "vertices": [] + "position": { + "x": 1184, + "y": 480 + } }, { - "source": { - "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" - }, - "target": { - "block": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "id": "93defa79-7f79-4614-8e5b-17ceacc8c7cf", + "type": "basic.output", + "data": { + "name": "rdy", + "range": "[9:0]", + "size": 10 }, - "vertices": [] + "position": { + "x": 1336, + "y": 480 + } }, { - "source": { - "block": "26b71a43-5955-4452-9b0e-94ea6ef453b7", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", + "data": { + "name": "busy" }, - "target": { - "block": "c4492dd4-658c-4c26-9b2b-b6d26243039b", - "port": "1e637a79-4a6d-495c-bcac-9664bdbe4b94" + "position": { + "x": 1336, + "y": 576 } }, { - "source": { - "block": "165f75a6-a05d-4025-aac5-91f45cd6cd30", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" - }, - "target": { - "block": "95c4416f-62f5-4196-a406-f7915d40a572", - "port": "in" - } - }, - { - "source": { - "block": "5aeed2ef-7590-4245-a540-a63acb068e09", - "port": "ad29e130-c17a-4544-9237-4c72551ccbeb" - }, - "target": { - "block": "d155022c-5f5d-4a1b-8e0b-9643481e530b", - "port": "325fbba1-e929-4921-a644-95f918e6e4ee" - }, - "vertices": [], - "size": 8 - }, - { - "source": { - "block": "d155022c-5f5d-4a1b-8e0b-9643481e530b", - "port": "bf25756a-65a4-4b09-915d-494010d6f4ff" - }, - "target": { - "block": "3066cf48-9921-4487-826e-0464a2dead7a", - "port": "in" + "id": "6b86af4f-f0c9-4134-b2c9-9e9d1b0d6e15", + "type": "basic.outputLabel", + "data": { + "name": "busy", + "blockColor": "fuchsia" }, - "size": 8 + "position": { + "x": 1192, + "y": 576 + } }, { - "source": { - "block": "98bbdcc7-f58a-4c93-be85-ccfe5b16ddb4", - "port": "73948305-b05b-418f-88af-11328f400cdc" - }, - "target": { - "block": "045bea3c-647f-44be-8b84-4957291749a4", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + "id": "2482a63c-2352-4fd5-81ee-6fcaa856ccdd", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "Ready", + "range": "[9:0]", + "oldBlockColor": "fuchsia", + "size": 10 }, - "vertices": [ - { - "x": 1176, - "y": 928 - } - ] + "position": { + "x": 1008, + "y": 600 + } }, { - "source": { - "block": "e9c87f9b-8312-41de-af70-db0772825e09", - "port": "9aa5255a-60da-463d-ba87-d4f96456d802" - }, - "target": { - "block": "20d63505-e2fd-44ed-95b9-9f45e8875e70", - "port": "in" + "id": "b04e50bc-ceae-4d5b-9bd1-259af770825c", + "type": "basic.input", + "data": { + "name": "nc", + "clock": false }, - "size": 10 + "position": { + "x": 256, + "y": 600 + } }, { - "source": { - "block": "8205f22c-1d31-4e0a-a4d9-7fbbc780e32d", - "port": "d3e51db6-385f-454c-ab74-d71058b21962" - }, - "target": { - "block": "c4492dd4-658c-4c26-9b2b-b6d26243039b", - "port": "c6fdfa0c-392c-41e8-b043-d6f35a656465" + "id": "ac5c1fd2-04e0-41a2-8d4d-c2e41b2e5b8f", + "type": "basic.constant", + "data": { + "name": "sclk", + "value": "12000000", + "local": false }, - "size": 14 + "position": { + "x": 624, + "y": 264 + } }, { - "source": { - "block": "c4492dd4-658c-4c26-9b2b-b6d26243039b", - "port": "11f6b6c3-3db4-4536-b9af-3a4182303be7" - }, - "target": { - "block": "727e032f-d74b-464e-81fe-b30b1e669b9e", - "port": "in" - }, - "size": 14 - } - ] - } - } - }, - "21cfcc19a4ad14c5fb5e8cfebd018ec356fe7542": { - "package": { - "name": "0", - "version": "0.1", - "description": "Un bit constante a 0", - "author": "Jesus Arroyo", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2233.563%22%20height=%2257.469%22%20viewBox=%220%200%2031.465601%2053.876499%22%3E%3Cpath%20d=%22M21.822%2032.843l4.092%208.992-3.772%209.727%204.181%201.31m-12.967-19.26s-1.091%208.253-2.585%208.919C9.278%2043.198%201%2049.389%201%2049.389l2.647%203.256%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%22-.863%22%20y=%2230.575%22%20transform=%22scale(.90756%201.10186)%22%20font-weight=%22400%22%20font-size=%2254.594%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22%3E%3Ctspan%20x=%22-.863%22%20y=%2230.575%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold%20Italic'%22%20font-style=%22italic%22%20font-weight=%22700%22%3Eo%3C/tspan%3E%3C/text%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "3d584b0a-29eb-47af-8c43-c0822282ef05", - "type": "basic.output", + "id": "d4a02852-2578-4c4d-b7e2-0708b0ef9794", + "type": "basic.constant", "data": { - "name": "" + "name": "bps", + "value": "115200", + "local": false }, "position": { - "x": 512, - "y": 160 + "x": 768, + "y": 264 } }, { - "id": "61331ec5-2c56-4cdd-b607-e63b1502fa65", - "type": "basic.code", - "data": { - "code": "//-- Bit constante a 0\nassign q = 1'b0;\n\n", - "params": [], - "ports": { - "in": [], - "out": [ - { - "name": "q" - } - ] - } - }, + "id": "e968d987-07d6-43f6-91c7-c51f2d0d5793", + "type": "c955cf93ef694308de70400b30cdd774804f88a9", "position": { - "x": 168, - "y": 112 + "x": 480, + "y": 472 }, "size": { - "width": 256, - "height": 160 + "width": 96, + "height": 64 } - } - ], - "wires": [ + }, { - "source": { - "block": "61331ec5-2c56-4cdd-b607-e63b1502fa65", - "port": "q" + "id": "4cbc5545-838d-4037-8ff3-065df8ec78f6", + "type": "113ccf91a6aa073b6493e621c1add3fe0989efad", + "position": { + "x": 848, + "y": 600 }, - "target": { - "block": "3d584b0a-29eb-47af-8c43-c0822282ef05", - "port": "in" + "size": { + "width": 96, + "height": 64 } - } - ] - } - } - }, - "3bf99b8d77aa1b29ec1bf618b53175de87f1001d": { - "package": { - "name": "Valor_0_8bits", - "version": "0.0.1", - "description": "Valor constante 0 para bus de 8 bits", - "author": "Juan Gonzalez-Gomez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22346.308%22%20height=%22300.445%22%20viewBox=%220%200%20324.66403%20281.66758%22%3E%3Cg%20font-weight=%22400%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22371.115%22%20y=%22653.344%22%20font-size=%22335.399%22%20fill=%22green%22%20transform=%22translate(-326.544%20-441.037)%22%3E%3Ctspan%20x=%22371.115%22%20y=%22653.344%22%3E0%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22322.722%22%20y=%22721.624%22%20font-size=%2283.077%22%20transform=%22translate(-326.544%20-441.037)%22%3E%3Ctspan%20x=%22322.722%22%20y=%22721.624%22%3E00000000%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22548.722%22%20y=%22651.624%22%20font-size=%2283.077%22%20fill=%22#00f%22%20transform=%22translate(-326.544%20-441.037)%22%3E%3Ctspan%20x=%22548.722%22%20y=%22651.624%22%3E00%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ + }, { - "id": "ad29e130-c17a-4544-9237-4c72551ccbeb", - "type": "basic.output", + "id": "7fa9a681-773d-4d20-91c6-e8109073c635", + "type": "basic.info", "data": { - "name": "k", - "range": "[7:0]", - "size": 8 + "info": "## STDOUT serial\n\nSerial transmitter for the STDOUT bus\n", + "readonly": true }, "position": { - "x": 928, - "y": 256 + "x": 264, + "y": 64 + }, + "size": { + "width": 352, + "height": 88 } }, { - "id": "ad7918eb-22dd-4b6c-949f-e428f5a55530", - "type": "basic.constant", + "id": "e03f0e2f-15f0-4a94-8757-e4a9f8a02c56", + "type": "basic.info", "data": { - "name": "", - "value": "0", - "local": true + "info": "**STDOUT Bus** \n* Data to transmit (8 bits) \n* tic (1 bit)\n* data sent (done tic, 1 bit)", + "readonly": true }, "position": { - "x": 728, - "y": 152 + "x": 240, + "y": 352 + }, + "size": { + "width": 264, + "height": 80 } }, { - "id": "d8755f82-ee3e-47e9-9ac3-e4d6713a6105", - "type": "5ad97e1e35a295d0ec722addd6df97c806fc6b7c", + "id": "30ebb8d3-8383-4cf3-8e2c-95f15e6a134f", + "type": "dfb66a3c3bf23ef758606d2c4ba6b059ba3793d9", "position": { - "x": 728, - "y": 256 + "x": 680, + "y": 440 }, "size": { "width": 96, - "height": 64 + "height": 96 } } ], "wires": [ { "source": { - "block": "ad7918eb-22dd-4b6c-949f-e428f5a55530", - "port": "constant-out" + "block": "2d00d963-00f8-4a0a-9cb8-a4e5bfb61323", + "port": "out" }, "target": { - "block": "d8755f82-ee3e-47e9-9ac3-e4d6713a6105", - "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" + "block": "340a0c20-8472-4bd8-ae36-204a57b49285", + "port": "inlabel" + }, + "vertices": [] + }, + { + "source": { + "block": "019dc637-ca36-4e18-8db1-5d5318fb2d6e", + "port": "outlabel" + }, + "target": { + "block": "30ebb8d3-8383-4cf3-8e2c-95f15e6a134f", + "port": "4c296e24-7312-407a-8fb0-f3a6d4feb3ab" } }, { "source": { - "block": "d8755f82-ee3e-47e9-9ac3-e4d6713a6105", - "port": "a9d6830d-5cc7-4f63-a068-35181d2537bc" + "block": "4cbc5545-838d-4037-8ff3-065df8ec78f6", + "port": "72968b0a-a651-457f-8809-036985e64653", + "size": 10 }, "target": { - "block": "ad29e130-c17a-4544-9237-4c72551ccbeb", - "port": "in" + "block": "2482a63c-2352-4fd5-81ee-6fcaa856ccdd", + "port": "inlabel" }, - "size": 8 - } - ] - } - } - }, - "5ad97e1e35a295d0ec722addd6df97c806fc6b7c": { - "package": { - "name": "Constante-8bits", - "version": "0.0.1", - "description": "Valor genérico constante, de 8 bits. Su valor se introduce como parámetro. Por defecto vale 0", - "author": "Juan Gonzalez-Gomez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22145.608%22%20height=%22247.927%22%20viewBox=%220%200%20136.50729%20232.43134%22%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22293.115%22%20y=%22648.344%22%20font-weight=%22400%22%20font-size=%22335.399%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22%20transform=%22translate(-316.929%20-415.913)%22%3E%3Ctspan%20x=%22293.115%22%20y=%22648.344%22%3Ek%3C/tspan%3E%3C/text%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ + "size": 10 + }, { - "id": "a9d6830d-5cc7-4f63-a068-35181d2537bc", - "type": "basic.output", - "data": { - "name": "k", - "range": "[7:0]", - "size": 8 + "source": { + "block": "6a12a92e-7e13-4bc0-9051-8aba3b29df38", + "port": "outlabel" }, - "position": { - "x": 960, - "y": 248 - } + "target": { + "block": "93defa79-7f79-4614-8e5b-17ceacc8c7cf", + "port": "in", + "size": 10 + }, + "size": 10 }, { - "id": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", - "type": "basic.constant", - "data": { - "name": "", - "value": "0", - "local": false + "source": { + "block": "30ebb8d3-8383-4cf3-8e2c-95f15e6a134f", + "port": "75d4695e-f445-4762-9ae9-c9bf0e51974f" }, - "position": { - "x": 728, - "y": 128 + "target": { + "block": "e1ba0ef0-77f6-4ab9-9892-b5c93aa3167c", + "port": "inlabel" } }, { - "id": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", - "type": "basic.code", - "data": { - "code": "assign k = VALUE;", - "params": [ - { - "name": "VALUE" - } - ], - "ports": { - "in": [], - "out": [ - { - "name": "k", - "range": "[7:0]", - "size": 8 - } - ] - } + "source": { + "block": "6b86af4f-f0c9-4134-b2c9-9e9d1b0d6e15", + "port": "outlabel" }, - "position": { - "x": 672, - "y": 248 + "target": { + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" + } + }, + { + "source": { + "block": "6ba67914-123c-4491-862c-8eda58a6c040", + "port": "outlabel" }, - "size": { - "width": 208, - "height": 64 + "target": { + "block": "f2043f09-b391-40ea-9d1d-721438b68ef1", + "port": "in" } - } - ], - "wires": [ + }, { "source": { - "block": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", - "port": "constant-out" + "block": "30ebb8d3-8383-4cf3-8e2c-95f15e6a134f", + "port": "09701eaa-8d79-487f-b003-267e04095bb1" }, "target": { - "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", - "port": "VALUE" + "block": "3229f563-798d-4db3-9966-52596ca5cef1", + "port": "inlabel" } }, { "source": { - "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", - "port": "k" + "block": "e968d987-07d6-43f6-91c7-c51f2d0d5793", + "port": "03a1539f-6d99-4957-a7ca-3718ec57b1ee" }, "target": { - "block": "a9d6830d-5cc7-4f63-a068-35181d2537bc", - "port": "in" + "block": "30ebb8d3-8383-4cf3-8e2c-95f15e6a134f", + "port": "27183891-b385-412b-bc55-21df1dd0280e" }, + "vertices": [], "size": 8 + }, + { + "source": { + "block": "e968d987-07d6-43f6-91c7-c51f2d0d5793", + "port": "11b231a8-883c-47a2-afea-ce22fc2fc800" + }, + "target": { + "block": "30ebb8d3-8383-4cf3-8e2c-95f15e6a134f", + "port": "6bb28a95-e6e4-4044-9c22-c4404693b6b1" + }, + "vertices": [] + }, + { + "source": { + "block": "30ebb8d3-8383-4cf3-8e2c-95f15e6a134f", + "port": "42306dfc-8702-4c9a-98d6-56b4c86fff21" + }, + "target": { + "block": "4cbc5545-838d-4037-8ff3-065df8ec78f6", + "port": "3bbe35e4-7c46-4bbb-b9c3-3a6f4bbaf1c0" + }, + "vertices": [] + }, + { + "source": { + "block": "bf297685-7b54-477f-b9ee-3c143135097b", + "port": "out" + }, + "target": { + "block": "e968d987-07d6-43f6-91c7-c51f2d0d5793", + "port": "62f60de5-6d65-45f1-a57a-96daf57df585" + }, + "size": 10 + }, + { + "source": { + "block": "d4a02852-2578-4c4d-b7e2-0708b0ef9794", + "port": "constant-out" + }, + "target": { + "block": "30ebb8d3-8383-4cf3-8e2c-95f15e6a134f", + "port": "671d0b4d-317d-4aef-8422-8b9a400211a4" + } + }, + { + "source": { + "block": "ac5c1fd2-04e0-41a2-8d4d-c2e41b2e5b8f", + "port": "constant-out" + }, + "target": { + "block": "30ebb8d3-8383-4cf3-8e2c-95f15e6a134f", + "port": "76db97e8-ad17-4a4b-b288-73e449659681" + } } ] } } }, - "359a555a147b0afd9d84e4a720ec84b7cdfbc034": { + "c955cf93ef694308de70400b30cdd774804f88a9": { "package": { - "name": "Mux 2 a 1 de 8 bits", - "version": "0.0.1", - "description": "Multiplexor de 2 a 1 de 8 bits", - "author": "Juan Gonzalez-Gomez (obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2280.833%22%20height=%22158.56%22%20viewBox=%220%200%2075.781585%20148.65066%22%3E%3Cpath%20d=%22M74.375%2036.836c0-12.691-6.99-24.413-18.326-30.729-11.335-6.316-25.284-6.262-36.568.141C8.198%2012.652%201.304%2024.427%201.407%2037.118v74.415c-.103%2012.69%206.79%2024.466%2018.074%2030.87%2011.284%206.403%2025.233%206.457%2036.568.14%2011.336-6.316%2018.326-18.037%2018.326-30.728z%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%222.813%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.448%22%20y=%2291.518%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.448%22%20y=%2291.518%22%3E0%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.359%22%20y=%2214.582%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.359%22%20y=%2214.582%22%3E1%3C/tspan%3E%3C/text%3E%3C/svg%3E" + "name": "stdout-bus-split2", + "version": "0.1", + "description": "stdout bus splitter into data and tic signals", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22354.768%22%20height=%22219.63%22%20viewBox=%220%200%20332.595%20205.90272%22%3E%3Cpath%20d=%22M168.377%2068.938l61.147-52.233C240.21%206.25%20254.56.461%20269.484.5h62.611v26.186l-61.698.046c-8.012-.043-15.705%203.133-21.47%208.81l-61.448%2052.61a57.292%2057.292%200%200%201-39.993%2016.139%2057.292%2057.292%200%200%201%2039.993%2016.139l61.448%2049.93c5.765%205.678%2013.458%208.854%2021.47%208.81l61.698.046v26.187h-62.612c-14.924.039-29.463-5.9-40.204-16.28l-60.902-49.48a29.857%2029.857%200%200%200-21.347-8.809L.5%20130.72V77.752h146.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%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22194.597%22%20y=%22247.958%22%20font-weight=%22400%22%20font-size=%2244.109%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.938%22%20transform=%22translate(-184.13%20-199.542)%22%3E%3Ctspan%20x=%22194.597%22%20y=%22247.958%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ESTDOUT%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22228.835%22%20y=%22387.938%22%20font-weight=%22400%22%20font-size=%2244.109%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.938%22%20transform=%22translate(-184.13%20-199.542)%22%3E%3Ctspan%20x=%22228.835%22%20y=%22387.938%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EBUS%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22299.979%22%20y=%22389.373%22%20font-weight=%22400%22%20font-size=%2215%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%22.938%22%20transform=%22translate(-184.13%20-199.542)%22/%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "9f5a1c91-1b93-4609-877c-816ed8fd0871", - "type": "basic.input", + "id": "03a1539f-6d99-4957-a7ca-3718ec57b1ee", + "type": "basic.output", "data": { - "name": "i1", + "name": "", "range": "[7:0]", - "clock": false, "size": 8 }, "position": { - "x": -704, - "y": -88 + "x": 608, + "y": 168 } }, { - "id": "325fbba1-e929-4921-a644-95f918e6e4ee", + "id": "62f60de5-6d65-45f1-a57a-96daf57df585", "type": "basic.input", "data": { - "name": "i0", - "range": "[7:0]", + "name": "", + "range": "[9:0]", "clock": false, - "size": 8 + "size": 10 }, "position": { - "x": -704, - "y": 0 + "x": 128, + "y": 192 } }, { - "id": "bf25756a-65a4-4b09-915d-494010d6f4ff", + "id": "11b231a8-883c-47a2-afea-ce22fc2fc800", "type": "basic.output", "data": { - "name": "o", - "range": "[7:0]", - "size": 8 - }, - "position": { - "x": -48, - "y": 0 - } - }, - { - "id": "1e637a79-4a6d-495c-bcac-9664bdbe4b94", - "type": "basic.input", - "data": { - "name": "sel", - "clock": false + "name": "tic" }, "position": { - "x": -704, - "y": 88 + "x": 576, + "y": 248 } }, { - "id": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "id": "16e78204-213e-4833-9096-89d735307ec2", "type": "basic.code", "data": { - "code": "//-- Multiplexor de 2 a 1, \n//-- de 8 bits\n\nreg [7:0] o;\n\nalways @(*) begin\n case(sel)\n 0: o = i0;\n 1: o = i1;\n default: o = i0;\n endcase\nend\n\n", + "code": "assign data = i[9:2];\nassign tic = i[1];", "params": [], "ports": { "in": [ { - "name": "i1", - "range": "[7:0]", - "size": 8 - }, - { - "name": "i0", - "range": "[7:0]", - "size": 8 - }, - { - "name": "sel" + "name": "i", + "range": "[9:0]", + "size": 10 } ], "out": [ { - "name": "o", + "name": "data", "range": "[7:0]", "size": 8 + }, + { + "name": "tic" } ] } }, "position": { - "x": -464, - "y": -104 + "x": 296, + "y": 176 }, "size": { - "width": 304, - "height": 272 + "width": 232, + "height": 96 } } ], "wires": [ { "source": { - "block": "1e637a79-4a6d-495c-bcac-9664bdbe4b94", - "port": "out" - }, - "target": { - "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", - "port": "sel" - } - }, - { - "source": { - "block": "325fbba1-e929-4921-a644-95f918e6e4ee", - "port": "out" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "data" }, "target": { - "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", - "port": "i0" + "block": "03a1539f-6d99-4957-a7ca-3718ec57b1ee", + "port": "in" }, "size": 8 }, { "source": { - "block": "9f5a1c91-1b93-4609-877c-816ed8fd0871", - "port": "out" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "tic" }, "target": { - "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", - "port": "i1" - }, - "size": 8 + "block": "11b231a8-883c-47a2-afea-ce22fc2fc800", + "port": "in" + } }, { "source": { - "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", - "port": "o" + "block": "62f60de5-6d65-45f1-a57a-96daf57df585", + "port": "out" }, "target": { - "block": "bf25756a-65a4-4b09-915d-494010d6f4ff", - "port": "in" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i" }, - "size": 8 + "size": 10 } ] } } }, - "ae7cd7cc997647c6f4f9ed332bbf1849b798d4cb": { + "113ccf91a6aa073b6493e621c1add3fe0989efad": { "package": { - "name": "putc-char", + "name": "stdout-bus-next-in", "version": "0.1", - "description": "Transmit one character to the STDOUT bus", + "description": "Convert the 1-bit next signal into a 10-bit stdout bus", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22613.166%22%20width=%22433.95%22%3E%3Cdefs%3E%3Cmarker%20id=%22a%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20fill=%22red%22%20fill-rule=%22evenodd%22%20stroke=%22red%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3C/defs%3E%3Cpath%20d=%22M221.062%20395.717c-17.751%200-32.152%2014.401-32.152%2032.165%200%2017.745%2014.4%2032.177%2032.152%2032.177%2017.758%200%2032.053-14.432%2032.053-32.177%200-17.764-14.295-32.165-32.053-32.165zm64.466%2050.642l-5.795%2013.96%2010.336%2020.302%201.366%202.68-14.333%2014.333-23.515-11.106-13.96%205.733-7.086%2021.691-.906%202.88h-20.258l-8.767-24.484-13.96-5.758-20.333%2010.312-2.68%201.34-14.326-14.32%2011.093-23.528-5.751-13.948-21.655-7.073-2.873-.93v-20.246l24.502-8.78%205.752-13.935-10.306-20.345-1.359-2.668%2014.308-14.308%2023.547%2011.088%2013.941-5.764%207.08-21.68.912-2.872h20.252l8.773%2024.514%2013.923%205.764%2020.339-10.318%202.705-1.359%2014.32%2014.308-11.094%2023.51%205.733%2013.966%2021.717%207.08%202.854.911v20.24z%22%20fill=%22#00f%22/%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%20-272.686%20152.713)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22124.309%22%20y=%22611.792%22%20font-weight=%22400%22%20font-size=%2291.605%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%225.725%22%3E%3Ctspan%20x=%22124.309%22%20y=%22611.792%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EChar%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%2294.134%22%20y=%2273.141%22%20font-weight=%22400%22%20font-size=%2291.605%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%225.725%22%3E%3Ctspan%20x=%2294.134%22%20y=%2273.141%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EPUTC%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M118.652%20252.337h134.3%22%20fill=%22none%22%20stroke=%22red%22%20stroke-width=%2218%22%20marker-end=%22url(#a)%22/%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%2060.37%20145.491)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%2279.938%22%20y=%22195.066%22%20font-weight=%22400%22%20font-size=%2291.605%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22red%22%20stroke-width=%225.725%22%3E%3Ctspan%20x=%2279.938%22%20y=%22195.066%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3Estdout%3C/tspan%3E%3C/text%3E%3Cpath%20fill=%22none%22%20stroke=%22red%22%20stroke-width=%223%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20d=%22M1.5%20109.784h429.559v199.593H1.5z%22/%3E%3Cpath%20d=%22M429.878%2018.574V1.5h-22.311%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%223%22%20stroke-linecap=%22round%22/%3E%3C/svg%3E", - "otid": 1571979442657 + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22356.708%22%20height=%22176.233%22%20viewBox=%220%200%2094.37896%2046.628384%22%3E%3Cg%20transform=%22translate(-44.148%20-120.418)%22%3E%3Crect%20width=%2233.016%22%20height=%227.314%22%20x=%22-77.429%22%20y=%22141.954%22%20ry=%220%22%20transform=%22scale(-1%201)%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22bevel%22/%3E%3Crect%20width=%2235.851%22%20height=%2214.797%22%20x=%22-138.262%22%20y=%22138.101%22%20ry=%220%22%20transform=%22scale(-1%201)%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22bevel%22/%3E%3Crect%20width=%2225.079%22%20height=%2227.493%22%20x=%22-102.314%22%20y=%22132.039%22%20ry=%220%22%20transform=%22scale(-1%201)%22%20fill=%22#999%22%20stroke=%22#000%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22bevel%22/%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%2289.27%22%20y=%22130.378%22%20font-weight=%22400%22%20font-size=%2212.449%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20x=%2289.27%22%20y=%22130.378%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ESTDOUT%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22105.548%22%20y=%22166.86%22%20font-weight=%22400%22%20font-size=%2212.449%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20x=%22105.548%22%20y=%22166.86%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EBUS%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "04841e3c-8761-454a-8d99-496fde26ea1f", + "id": "3bbe35e4-7c46-4bbb-b9c3-3a6f4bbaf1c0", "type": "basic.input", "data": { - "name": "", - "clock": true + "name": "next", + "clock": false }, "position": { - "x": -304, - "y": 384 + "x": 128, + "y": 192 } }, { - "id": "ed414ec2-55e9-4b36-9c04-d544201b630e", - "type": "basic.inputLabel", + "id": "72968b0a-a651-457f-8809-036985e64653", + "type": "basic.output", "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "name": "", + "range": "[9:0]", + "size": 10 }, "position": { - "x": -144, - "y": 384 + "x": 640, + "y": 192 } }, { - "id": "c73b1a42-78ce-47a9-bb4c-807cffae6d42", - "type": "basic.output", + "id": "16e78204-213e-4833-9096-89d735307ec2", + "type": "basic.code", "data": { - "name": "nc" + "code": "assign o[0] = next;", + "params": [], + "ports": { + "in": [ + { + "name": "next" + } + ], + "out": [ + { + "name": "o", + "range": "[9:0]", + "size": 10 + } + ] + } }, "position": { - "x": 1200, - "y": 568 + "x": 296, + "y": 176 + }, + "size": { + "width": 264, + "height": 88 + } + } + ], + "wires": [ + { + "source": { + "block": "3bbe35e4-7c46-4bbb-b9c3-3a6f4bbaf1c0", + "port": "out" + }, + "target": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "next" } }, { - "id": "8c3ce21f-2214-489f-853a-d60a223034da", - "type": "basic.input", + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o" + }, + "target": { + "block": "72968b0a-a651-457f-8809-036985e64653", + "port": "in" + }, + "size": 10 + } + ] + } + } + }, + "dfb66a3c3bf23ef758606d2c4ba6b059ba3793d9": { + "package": { + "name": "Serial-tx-sysclk", + "version": "0.3", + "description": "Serial transmitter with system clock freq parameter", + "author": "Juan Gonzalez-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22223.269%22%20width=%22293.137%22%20viewBox=%220%200%20274.81662%20209.31615%22%3E%3Cg%20transform=%22translate(347.142%20-102.544)%20scale(1.04907)%22%20stroke=%22#000%22%3E%3Cpath%20d=%22M-170.798%20177.526l.315%2036.011%2040.397-37.263v-33.51z%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M-308.584%20177.892l53.235-35.7%20124.635.628-39.456%2035.7%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Crect%20ry=%223.509%22%20height=%2236.325%22%20width=%22139.039%22%20y=%22178.153%22%20x=%22-308.895%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22square%22/%3E%3Cg%20transform=%22matrix(1.88858%200%200%201.88858%20-312.436%20138.651)%22%20stroke-width=%22.938%22%20stroke-linecap=%22square%22%3E%3Ccircle%20cy=%2230.367%22%20cx=%2211.326%22%20r=%223.15%22%20fill=%22red%22/%3E%3Ccircle%20cy=%2230.367%22%20cx=%2220.611%22%20r=%223.15%22%20fill=%22#faa%22/%3E%3Ccircle%20cy=%2230.367%22%20cx=%2262.82%22%20r=%223.15%22%20fill=%22green%22/%3E%3Ccircle%20cy=%2230.367%22%20cx=%2230.554%22%20r=%223.15%22%20fill=%22red%22/%3E%3C/g%3E%3C/g%3E%3Ctext%20y=%2228.295%22%20x=%2270.801%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2265.172%22%20letter-spacing=%220%22%20word-spacing=%220%22%20transform=%22scale(.99853%201.00147)%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%221.209%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2228.295%22%20x=%2270.801%22%20font-weight=%22700%22%20font-size=%2237.241%22%3ESerial%3C/tspan%3E%3C/text%3E%3Cg%20transform=%22translate(-49.71%20-39.925)%20scale(2.8106)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22translate(-240.978%20-39.925)%20scale(2.8106)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Ccircle%20cx=%22233.043%22%20cy=%2281.071%22%20r=%2240.92%22%20fill=%22#ececec%22%20stroke=%22green%22%20stroke-width=%221.71%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M261.766%2092.931h-4.696V67.437h-48.103v25.295h-5.116%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%224.275%22%20stroke-linecap=%22round%22/%3E%3Ctext%20y=%22165.6%22%20x=%22108.068%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2265.172%22%20letter-spacing=%220%22%20word-spacing=%220%22%20transform=%22scale(.99853%201.00147)%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%221.209%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%22165.6%22%20x=%22108.068%22%20font-weight=%22700%22%20font-size=%2237.241%22%3ETX%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "09701eaa-8d79-487f-b003-267e04095bb1", + "type": "basic.output", "data": { - "name": "", - "range": "[9:0]", - "clock": false, - "size": 10 + "name": "TX" }, "position": { - "x": -328, - "y": 584 + "x": 960, + "y": 120 } }, { - "id": "a0b2c050-26fc-4ac0-875f-6ef2c1f03c5e", - "type": "basic.inputLabel", + "id": "4c296e24-7312-407a-8fb0-f3a6d4feb3ab", + "type": "basic.input", "data": { - "blockColor": "fuchsia", - "name": "stdout", - "range": "[9:0]", - "pins": [ - { - "index": "9", - "name": "", - "value": "" - }, - { - "index": "8", - "name": "", - "value": "" - }, - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "name": "", + "clock": true }, "position": { - "x": -176, - "y": 584 + "x": -16, + "y": 120 } }, { - "id": "80c60ca1-61f9-40d2-8a87-5cd02ffb2d90", - "type": "basic.outputLabel", + "id": "27183891-b385-412b-bc55-21df1dd0280e", + "type": "basic.input", "data": { - "blockColor": "steelblue", - "name": "char", + "name": "", "range": "[7:0]", - "oldBlockColor": "fuchsia", + "clock": false, "size": 8 }, "position": { - "x": 688, - "y": 664 + "x": -16, + "y": 272 } }, { - "id": "bc052fe3-357e-486c-a2e1-fef8f36a37ae", - "type": "basic.inputLabel", + "id": "75d4695e-f445-4762-9ae9-c9bf0e51974f", + "type": "basic.output", "data": { - "blockColor": "fuchsia", - "name": "next", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "steelblue" + "name": "busy" }, "position": { - "x": -16, - "y": 664 + "x": 960, + "y": 272 } }, { - "id": "6940c4f1-a919-408b-9f9a-c542d928ac41", - "type": "basic.outputLabel", + "id": "6bb28a95-e6e4-4044-9c22-c4404693b6b1", + "type": "basic.input", "data": { - "blockColor": "steelblue", - "name": "exec", - "oldBlockColor": "fuchsia" + "name": "txmit", + "clock": false }, "position": { - "x": 688, - "y": 720 + "x": 0, + "y": 424 } }, { - "id": "f809e9bb-2587-459d-807e-629afdc99f43", - "type": "basic.inputLabel", + "id": "42306dfc-8702-4c9a-98d6-56b4c86fff21", + "type": "basic.output", "data": { - "blockColor": "darkgreen", - "name": "busy", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "darkorange" + "name": "done" }, "position": { - "x": 544, - "y": 728 + "x": 960, + "y": 424 } }, { - "id": "04a63331-d349-46dd-b312-aacf9b71b3c6", - "type": "basic.outputLabel", + "id": "76db97e8-ad17-4a4b-b288-73e449659681", + "type": "basic.constant", "data": { - "blockColor": "yellow", - "name": "clk" + "name": "sclk", + "value": "12000000", + "local": false }, "position": { - "x": 184, - "y": 728 + "x": 344, + "y": -64 } }, { - "id": "9aa5255a-60da-463d-ba87-d4f96456d802", - "type": "basic.output", - "data": { - "name": "", - "range": "[9:0]", - "size": 10 + "id": "671d0b4d-317d-4aef-8422-8b9a400211a4", + "type": "basic.constant", + "data": { + "name": "bps", + "value": "115200", + "local": false }, "position": { - "x": 1216, - "y": 776 + "x": 624, + "y": -64 } }, { - "id": "ddc62e2a-e70b-449d-860f-e815be4c4d8e", - "type": "basic.outputLabel", + "id": "3238443f-338d-4796-b54a-c463c5f191aa", + "type": "basic.code", "data": { - "name": "stdout", - "range": "[9:0]", - "blockColor": "fuchsia", - "size": 10 + "code": "//---- Calculate the divisor for achieving the requered BAUDs\n//---- when the system clk is working at SCLK Hertzs\n\nlocalparam DIV = SCLK/BAUD;\n\n//-- Get the number of bits needed for storing the DIV value\nlocalparam N = $clog2(DIV);\n\n//-- It is a counter module DIV\nreg [N-1:0] divcounter = 0;\n\n//-- Cable de reset para el contador\n//-- Comparador que resetea el contador cuando se alcanza el tope\n//-- o cuando el estado del biestable es 0 (apagado)\nwire reset = ov_gen | (state == 0);\n\n//-- Contador con reset\nalways @(posedge clk)\n if (reset)\n divcounter <= 0;\n else\n divcounter <= divcounter + 1;\n\n//-- Hemos llegado al final\nwire ov_gen = (divcounter == DIV-1);\n\n\n\n//-- REGISTRO DESPLAZAMIENTO\n\n//-- Salida serie. Inicialmete a 1 (reposo) \nreg TX_i = 1;\nassign TX = TX_i;\n\n//-- Registro de desplazamiento de 9 bits\n//-- Inicializado todo a 1s\nreg [8:0] q = 9'h1FF;\n\n//-- La entrada de shift es la salida del generador de baudios\nwire shift = ov_gen;\n\nalways @(posedge clk)\n if (txmit_tic)\n //-- Carga del registro\n q <= {data, 1'b0};\n \n else if (shift)\n //-- Desplazamiento. Rellenar con 1 (bit de stop)\n q <= {1'b1, q[8:1]};\n \n//-- Sacar el bit de menor peso por serial-out \nwire so;\nassign so = q[0];\n\n//-- La salida tx la registramos\nalways @(posedge clk)\n TX_i <= so;\n \n//-- La señal de entrada txmit se pasa por un \n//-- detector de flancos de subida para generar un tic\nreg q_re = 0;\nwire txmit_tic;\n\nalways @(posedge clk)\n q_re <= txmit;\n \nassign txmit_tic = (~q_re & txmit); \n\n\n\n//-- Estado de transmisor\n//-- 0: Parado\n//-- 1: Ocupado (transmitiendo)\nreg state = 0;\n \nalways @(posedge clk)\n //-- Empieza la transmision: ocupado\n if (txmit)\n state <= 1'b1;\n \n //-- Acaba la transmision: libre \n else if (ov)\n state <= 1'b0;\n\n//-- Contador de bits enviados\nreg [3:0] bits = 0;\nalways @(posedge clk)\n //-- Si la cuenta ha terminado... volver a 0\n if (ov)\n bits <= 2'b00;\n else\n if (shift)\n bits <= bits + 1;\n\n//-- Comprobar si se ha transmitido el último bit (overflow)\n//-- 1 bit de start + 8 bits de datos + 1 bit de stop\nwire ov = (bits == 10);\n\n//-- La señal de ocupado es el estado del transmisor\nassign busy = state;\n\n//-- La señal de done es la de overflow pero retrasada un\n//-- periodo de reloj del sistema y que el biestable \n//-- llegue al estado de parado antes de que se \n//-- empiece otra transmision\n\nreg done_i=0;\nassign done = done_i;\n\nalways @(posedge clk)\n done_i <= ov;\n", + "params": [ + { + "name": "SCLK" + }, + { + "name": "BAUD" + } + ], + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "data", + "range": "[7:0]", + "size": 8 + }, + { + "name": "txmit" + } + ], + "out": [ + { + "name": "TX" + }, + { + "name": "busy" + }, + { + "name": "done" + } + ] + } }, "position": { - "x": 856, - "y": 776 + "x": 248, + "y": 72 + }, + "size": { + "width": 560, + "height": 456 } - }, + } + ], + "wires": [ { - "id": "dea0965b-016f-40c0-aad7-c4d26a391f46", - "type": "basic.outputLabel", - "data": { - "blockColor": "steelblue", - "name": "txmit", - "oldBlockColor": "fuchsia" + "source": { + "block": "3238443f-338d-4796-b54a-c463c5f191aa", + "port": "TX" }, - "position": { - "x": 200, - "y": 824 + "target": { + "block": "09701eaa-8d79-487f-b003-267e04095bb1", + "port": "in" } }, { - "id": "a6820ca3-b48c-4815-aa10-2f6b80e6c4af", - "type": "basic.inputLabel", - "data": { - "blockColor": "steelblue", - "name": "exec", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "source": { + "block": "671d0b4d-317d-4aef-8422-8b9a400211a4", + "port": "constant-out" }, - "position": { - "x": 544, - "y": 840 + "target": { + "block": "3238443f-338d-4796-b54a-c463c5f191aa", + "port": "BAUD" } }, { - "id": "1ac9dd5b-9741-4af4-963a-50cbf8c4c6be", - "type": "basic.input", - "data": { - "name": "txmit", - "clock": false + "source": { + "block": "4c296e24-7312-407a-8fb0-f3a6d4feb3ab", + "port": "out" }, - "position": { - "x": -320, - "y": 848 + "target": { + "block": "3238443f-338d-4796-b54a-c463c5f191aa", + "port": "clk" } }, { - "id": "9fd18953-28a5-488b-be46-c1107835d885", - "type": "basic.inputLabel", - "data": { - "blockColor": "steelblue", - "name": "txmit", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "source": { + "block": "27183891-b385-412b-bc55-21df1dd0280e", + "port": "out" }, - "position": { - "x": -168, - "y": 848 + "target": { + "block": "3238443f-338d-4796-b54a-c463c5f191aa", + "port": "data" + }, + "size": 8 + }, + { + "source": { + "block": "6bb28a95-e6e4-4044-9c22-c4404693b6b1", + "port": "out" + }, + "target": { + "block": "3238443f-338d-4796-b54a-c463c5f191aa", + "port": "txmit" } }, { - "id": "1ed1a91b-927d-4eed-b00f-b05b5dda7cbf", - "type": "basic.outputLabel", - "data": { - "blockColor": "darkgreen", - "name": "busy", - "oldBlockColor": "fuchsia" + "source": { + "block": "3238443f-338d-4796-b54a-c463c5f191aa", + "port": "busy" }, - "position": { - "x": 856, - "y": 848 + "target": { + "block": "75d4695e-f445-4762-9ae9-c9bf0e51974f", + "port": "in" } }, { - "id": "542ef450-6c74-4024-a245-fe1d832776bb", - "type": "basic.outputLabel", - "data": { - "blockColor": "darkgreen", - "name": "busy", - "oldBlockColor": "fuchsia" + "source": { + "block": "3238443f-338d-4796-b54a-c463c5f191aa", + "port": "done" }, - "position": { - "x": 80, - "y": 888 + "target": { + "block": "42306dfc-8702-4c9a-98d6-56b4c86fff21", + "port": "in" } }, { - "id": "2c5224d8-9648-4069-8367-a0c8ec056753", - "type": "basic.inputLabel", + "source": { + "block": "76db97e8-ad17-4a4b-b288-73e449659681", + "port": "constant-out" + }, + "target": { + "block": "3238443f-338d-4796-b54a-c463c5f191aa", + "port": "SCLK" + } + } + ] + } + } + }, + "1250d52a7afd45bb1a9a3db8b7b07091812cfe25": { + "package": { + "name": "Smem-16KB-bus", + "version": "0.3", + "description": "16KB memory. Bus interface", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20viewBox=%220%200%2087.168922%20102.99556%22%20height=%22389.275%22%20width=%22329.457%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20transform=%22translate(-159.832%20-119.548)%22%3E%3Cimage%20xlink:href=%22data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAgM0lEQVR4Xu1dCZBU1bm+PdPTM8CM%20AgMO+yCrAq4oGjWKIIorcYnRlD59saImGlOaqK/UPPeHu5VyjyYuMRu+uFVEjRqX4FNRQURwQVxQ%20YdiGZQYGepZ+33frfK9Oneq+t+/0zHTad/+qU7fv7bt0n/8///L9/znX+1ZTTDHFFFNMMcUUU0wx%20xRRTTDHFFFNMMcUUU0wxxZToofuX8XPo82LqcLaZUhUAMbucraKi4viysrI9jCBkp5gybKBH0un0%20cuy3URC6WwiSXvcRmV9ZVVV1azKZPBvN69+/vzd06FBv2LBh1mkxff31197ixYvJfa+1tfUnHR0d%20x7W1tc3HV2kJQakJQBmZjzYUo99n/qRJk7xTTz3V69WrV5bTY/rmm2+8u+++29u6desO2L0cAnCq%20YXy61AQgYe5bBebvB9XvJRIJ79hjj/VSqZTX3t6e5ZKYBg0a5B133HHenDlzPPRZLQ5VG+a3lpwJ%20kPoH83uT+Ww77rhjCPNjYh+Z/hqK3T5oW9C2obWXlAaQAMCm9SovL/cGDx7sQaWFXBbTTjvt5AsA%20+qwOu7SVSTnOpSgASdBkSjTtPhybkMtioomkyWTjLvmjSK0UncAkJLmMAgDKUwBiqqur81atWkUt%200Bcmc2XJaQCBPtqCvMrKyjztf0wIm9lp1AbjW1paPrIwlUzJaAAJAKgajbYtTwGIaeDAgd6KFSv8%20zmMfloIJcCFf3rOCDT7AKAgAAY78nMCYqC3lB/Q1/Zgy4WB7AERcVAFIiPE333zz6JEjR565ffv2%20Xlu2bKm58847d2psbKQAhGiAmOQr1dTU+J8PPPDAE37wgx8MhgO9BeZg++bNm18588wzXzYQcXtX%20CUGii5ifuuyyy8YD7Fk4YMAAOTHelVde6X300UfejBkzPAhGwG1i5ksA2HdPPfWUd/LJJ7NRczKM%209iOp55577oyzzjrrvwkOGUHIFFsDJIya6nPQQQfdSweGKoyNAgBNIIcmRxQQM15ELcl9oKdU/4yh%202W/sR/anvz98+PD/wqnPozUZc9BeFA3gMv/GG288CgLwaL9+/by+fft6q1ev9gXgqKOO8v/MEUcc%204UOdJUxiUgSmRhv59va3v/2tnztBv9J0+k40Bxe16fLly2effvrpt1EIlCfobg2Q0FYq34J7q6ZN%20mzZ8v/32u5nSKonllhKrPACOyQcofQEonPlZma7GZ6jPFD5v27bN69Onj78/evTon/34xz9+/v77%20719s+NFup5OjOoqJKA7ezjvvPAuM7QuGJkBlyFtXgNkzMbrHUXUx3Utmf/XVVz7zTzrpJL9TTjnl%20FK+EieYrAuO1H8r8nBrgb3/7m1dbW+vNnj3bfzY165AhQ7zPPvvM9wlWrly5DFnD5yAUaQhMB4Qk%20g/My0LxPn3POOQuiOIqJPCDd1IMPPnjiiBEjHiFzObK15Y9Zs2aNn+Ovrq5mKtP74IMPlPjxfvGL%20X3ggCkKpC0AhjNdxfbZb1u9ffPFFb8OGDd4dd9zB+gBv/fr13pgxYzw62OzzTz75hKaWfc5+5jFt%20aX5/hrT7gzQPchQ7awLKZOPB4Nly7CQAbBzlUv38/P7773vQEs0vv/zyckhpNTpkNK6X+i911a/P%20UUe8y2jdI6tgiMj4t956axGFb88996wD0wfRDJDp7G/wQ+l18kJbaoo7jjzyyL8/++yzX8tR7JQG%20EPPRasHQT/FwPkBCwCaJ8zXAhx9+6Esp4lVJqXfDDTf42uDggw/uSVsscjtd+1Gu1/lsETRAkLoP%201whLlizx2+9//3uNbm/8+PHe22+/7e2yyy5ECmluXQ3A5kdeTz/99OlwIOfiVs0mZMwUpAEA6pDx%20fKgEQM6ez4w33niDQuDbLVJzczO/U1hDFdqVjC/cMYt+vYRAx8JUvCtA+Qinew/aeoZ+ZDAjAZ/p%20L730EiMEAkbsY35HXnDLfqdJZn/3poOO1kIB6KwJSAjWBZOXbtq0acK6det4c7v5Dx83bhwZQcEg%20w33mAwFkR7goYE8LghgSpgGiMknfBal7Nff5bIHnsx+5hZPN/vQZrKTaPvvsw/IxagGZYTX1/Qo4%207B8Y/y1RSBiokKIDCN9//upXvzoRUjgMzKxgBMBIgIQQpQwJjElQRymZBgoAnRj9GVzTE/Y5aDQV%20cr39XRRV79p6CQKZlfV7HaPZlPYk0zm6JQDIEHKkL2tqatrcAWIEwMvwfevatWu/efTRR1+wI4BC%20BYA32o625dprr32R/gBab3NdObzSGoAWp+AHp+QfSOVLimWnihSjizGFXu9+7zLVfYaOaWt/lkl0%20Ge+eRy0qbIX7cvoIq484/vjjH4BGbrJCvq1oG9BWo20zqj/U9iZC1H81mY5q1csQ6x+KeHSkHQbS%204VMRA4/RLr3zzjsefYbXXnuNjTbMb98KClf37ne5jkkLZDUX7Nd//vOf3ne/+13vkEMO8Xr37s1I%20gJqAZsHXrtAATB3bTiCPrYXf8NpvfvObG8GHz4UWFuIElkGl/BwO3r+7IaCwfkqlnEH+6LFjx3Kf%20zJc0f9vyAO7IzmfUZ8MW3OO6BweStGd6t912S5Hpb775pjd58mSli8lw5Q3kBBIbGIhrT0QSbgTM%209jGqJ+iMACivX4VM1BnCAOwmW88fy+8XLFjAH9R49NFHPwNPNA3I8mgcHwTp/bYIQC47HmYqcp7j%20OpiuxnjssceW3X777f/D/YcffvhwhIH1+++/vwYd+10aQELBRuRw3/PPP38s0vGLFQayRRWASrQ+%20YF6N7BCbGwYyTUnmm+rf/n/+859P5+df//rX3scff+ypIORbQLkAnSAH0T2WCxDKeg5yLBP/9Kc/%20TbSdwHnz5tEcKMyWj2BjATQhHIzjcJtPjA/XHlUDCAPoDa9T6kXhhv9gMXbhwoW0RYxTqf4JBUtA%205PCUPBLo2m2X+focgQLxAWL+ep4YTJyFnxsaGuhnMSlE6F0mVlv6ATzOaKHNDOLyzkQBSgKVY87a%20vXBEzqVU8eZ8iJhKdJB2CRgBpZPHZaPowRbTB3DVaqHXh4V67oiOKgTaJ+MY40sA5PlL8xJsI/PT%20mE+YIlDEczTYYG7pN9BJnHfvvfd+lk9NYTIkBGy9/PLLn5syZcoqPHRnaIIqU6yYAGMpWeWoA9h1%203333HQfG0ymk6uEPlQAwj01hKVUBEEPz9eZzYQt5h6LLli0jw3k+4XRXALjPnMt6wL3zySOc126u%207QBrtmOQrnnmmWfeVh1hZ5NBHWS+iS03zp8//2O0tSY3UG5a6phjjhkPp2Sc4n/lsCWRaMUe/WJM%20IdcGaQD+vyBgxx7pYc/loGHmz36WgCBbAJgXGAwsoOamm26aJ0ab1kJ+oTWibdF3hQhAC8KQjtNO%20O+0QPPBgSFh5whCksgwmYJjtINIUfPnll2SARkexBUCd35UCQIa710SCjd3vlTHl6Hc1Co9xS5yf%20dl8a4fDDD5+2xx57jAAPVA/gI7eoKVz4/PPPz4EWkAB0RBWAhGl8SM0FF1xwPx4yXo6dtgR7Nm7c%20qOofZgVZrsSctf8ZxOOlYv+DGGcLM7dhYV02LRAaKXz66adZsQH6A6NGjfK++OILf4ChLoMCwHQx%20ne8x6G95/0oaTdh1112PQ6Rw8vXXX/9GZ6FgqviKH/7wh6cB5h2fDQPgD6Dal+3HH6D6WoLpzSuQ%20H6hFR00pCQEITwa5zHcdvygYQFYBBYbPweQy33/ek08+OR9+1DqM9tqJEyfuB6bT0dM6C9II8hNk%20LmrgnJ+Nr98xvGyPggMIBOoNaZqZCwOgACgWfe+99wgHUyv0wxz3fvBOK1naDCqeAES3wdkydmJ6%20ULVPlJSve4whm7z+rNfuvffew1BnMYz9iMGYBhiUAj7AwWfnB1xAiP1eTx4aHKA1qgmoQOuFZMM2%20Le0iVS8hkF2aO3euX6Sw++678/gQNP04tmJhAO4oDTtH4Wouu5+rHiDoWNjz+Tyqdqn+XGsGDGEx%20CJnKfqYJIBhUX19PbMBGAwXPU5swZE8aAWg2g7o9igDwghTU+st4yIEo8qR614PUuNYPcQB2gh0B%20KEnEzz2NAopRQUwPvc62+7YwhJHLePd+7rmI5VnxG6hdpGnJZEHAsPF+4ccLL7ygzKsGp2oFeXyp%20GchlnU0Hd1xzzTXzZs2add306dMPwg1T6AS/yIC1AHhgAn+gDAKyN+yRoGEJQE+HgTbTIwhA4LlK%20bbueea578ry8439oVwI2YfWECv2k1qVdOcqX4bNqAjIQlAySRh1pELTywoceeuhFjfqoAkCOtZmc%208mbY8vfQvsF+jSTKXFcJ3P80FSdasCVbT6OAfE6AAETzB8TMELJHdyR4mBEUwrW8tAqFRFgAeKuq%20HxZ/1iE8nwsHkuq2VcCdUfmN5J3hYVvUbGDGXNTCm8ABqcVExYGQsio0nl9ObYBc9QGIS4fpB0kA%20ILHqCDGm2GrfPTdSvt9toKAQMBQSpsqX05cHUdXbA0ueP0PAHe67776TkSz6K/q8FfdrY8PnXsBi%20Nr/yyiubyMNOFYWqnBiFIMfAAbnBjQA0H4CMFvYPtUMcm99zCpPjHUemqPa7K+bm2aPfbi4zXSaH%20ZvtssAfMsZy+cGKU8Prrr8u790w6WFp28HnnnXc+czJ2JMDt2Wef/QjC+EsiQcH2TKCf/vSnoydM%20mEDm55wPIPWPknCqpmY4i58atTUGm2qZgH/xtK6Y7gI/dtMxCbUNCGk/0PaT6eifKMzX/IA0/IWl%20uI4O9xhA8tUHHHAAGc0+Z3OxAG4ZIfzb7373u0U/+tGPHrDKwzKhGkBz/hBrni6VLqbbn/VgxPy0%20aXT81iFV2c7vlL9mKxIFedZBJVuuANgYiC0IWa9xBcl2hOnxa7Z0BGJ+IAVktZ1C9eqrr34BQGgS%20J+DstddedmGIRr6azAUHYq+gxFAyFwYAhlbxB8vDd6Fgph5ZnkxnBhlBerUjEaeOxHcMGYVs9SST%20XTXunhNUjp1LACT4OuYyOFeuwN5nH3WK+boe4NpkMpU8QG6GU8c4SYSwO7Ot2YpCOCiJMFYRC5Av%20EMUEpABQLCHowHBF8/5tIu6PQlECEtQGFBTNExDzu0MAwpgpFet+F8z4cAFwr8l79EMrkhkF9YVU%20vJjNmgCG2iy+Yf/zmO1n0G8gwTfYbkVuiUg4wK233roIocYcqJyD8cBBkmp1Do41IzlBhldbtqi7%20BUCMCMvURREAXeMCP3axRdSmkS9MpCBBp++AbKwPCilFvMMOO6QBCDUCgh+kCEihMPiyEY7466gL%20fKJTOIBSwZjd+zi2LErsh1apKiFeN3PmzJFXXXXVLI4ONcs77Q4BiFKCnU0AwkZ8wPGiMF8CYDt6%203FcVdurxxx9fftttt82x5gZ0GOx/o5kfsDXIASQlA0CgJrQNmIo0GGqmL6SrEq2cNQE1oDPOOMNO%20FPFHUvq6QwDEvDDmh2mIfBnsRgNhQuPmDKj2HeYXLADC/O0ld7iG0IHAFRrhiK8jBsCqIPAijRxN%20K2oCGslDGwyKBAQh3kxdcskls4Et7207f3LyiEopSmBCg3XrBDlce1kA5a3m3a0oDxtv2+9sQpS3%20AMj/IMgjh68ryHj/nC1MH4BRAZNzFAiqetZsHMucjJw/YQFQ/w1wFn+C6myiuB1RcAC2sl/+8pdX%20wM67zBfmLxDIF4SlS5d6tEfwTL8CQOSvC1CQAIQzsKsFINu9o5gHxfnsj67WfGT6avCigWX3eMZw%20ONx08MgHNTcEZBsEMz0bAjA1ihOoKWG9MPIPs3EAu5FUC0AQCCaCKGB/ABX9oY5YKl6IBsjmXefj%202UcVAG2D7mufn2ufI94N9bpSANi/dejbOo5sMp9l44DoyQOZBxcHUCZ2l1tuuWVfDOZ5uXyBZI4J%20IdX4MzVcm8bWAPqsCSFaFwDlR5ocomyVmNYVDl4+4E22e0URAp0fKgDudWQ6R77sc3cQw0j5W0Bn%20WSPgm1xUCPG4iwOo0VQTla0jT+ULBGoAe0oY2lrUAwxEuKFRL/LVHNEoAD+Cg9kEQ0b3AcLj8rDz%20omiTIEdOlJXZrhDQBrP+UdhDdxHnY7hRAMwBcQD6AxRCt8BUi3RsRV3gEmEBkSaGYC7aLUgo/BwP%20GOJIvyYhNIL5/dHo/EkACBw5AhCZ8Z3VBtrm60i69wtkvnsNRxdr+XR+dxL7VQIgGB7amRnBZvgC%201RRABwsgGLQBcwcell8XFQdIo7hzKdq12B9gagHKhQPAIemDdQG+B+9TDiG3MhH5hoFBuHoU2DYb%20sztjXkKZr+JQ+DkclT2V6+AAk523cQGO8hRqAh7FHMxG4QDWWgHr0b4JWysgmQsEQtuMdOIQePf7%20EHTgqiBs6IAylCmPB0pYazkg/DFkJrdibHeM+nyAHzdTx2ORwkqX6fpMJI7MVxlXTxEdTJob8IH4%20ggSAWjh1xRVXHIEw/CPwhrzrIBaAz61AY1fAAfyQwhBFADISgj/+8Y8XA+s/xnUCyWyqPjJY8wEB%20OvDHsMlOhavjcMZHdwjdz+Fz/NTC7D4FW/aex3o6s0lnjn3PWgtlArlPSHggVmEbyLDQxQJQyLMP%20VhI5KbQs3MUALr300t3g3dvMd2sB1DhT1fcHnnjiiQWQ0jTO3x+d3j+LKg5KowYlVKLCv0EZw7yF%20T0zWdGsCMPq+GHTPPffM5fb73//+RDjg9ZivybUZqA1yYgHEcTBJ9ORzzz33/rxwAM35w41HK8HD%20G7lND+V8AGqBzz//fC1CkmGQ0ibkvSukItGij/rw40HMLhROVpO3rVCqaIyXFoPJHQbTm0IWdhPg%20efa9qoPCagJ2dsJABwfI8ro3jOKBzOgx3Wvj/ZrpQ3XDV50yHJw6dSqxgPEqB4MmYDawMyO5s0IQ%20ZRHH0BBTWkjhF4RZPkVRi1sOPfTQ3ckPMpYTQ7B4J00vcQGtHqowXIJAU81ooNKE9Vt4q7xwAEw8%20+AATPbZiejKLCeT9qnFU0A7xIaoF4GeZi6Awy7afUZgdBtkGCUC+foTqGch0OnwUcLu6qWhCoNBP%20CSEyW/X/1AQ0BfJXxCsKAWdrQSNHwgEybFiteiUeeAMqUWaiKGQ4vX9QQkzla0wgWYPhgFQ7qWA6%20ShKAqCM/2A8IX6SB2yjMd59HQIUjho0CYINaxV6rmGigFoWy1wxMAxD6ElP4iAVk0Dxu2TBI1/7l%20L395CeH6gnzTwYoA0lQXUOXvo63Bfl+0XlYtQAXeZTPhoosuGuv4BBQE4eE87uL4kRkOCmJa2HSv%20sHtJtUtdkukBL7cqriBQAKQBlIvh4pwo/96ACTxPaW6AtbbjJlMTsIX7eU0N08WaXIClxsbAw+/P%20eQAqBMGDdwBCON2pVVdIqCoabiM4gpF9gfxW6Q5v9O7p5LnVy0UUgvAZQiA5fXwryxRogvVIEK1A%20n/tCQBygEoTFpj90agI68jEB7Xg7Vd0JJ5zwACRsnJsIUtZLAoC4lKEgc9U2ChhVAKIJSDj8m7NA%20k8KpEYXUNUd9rmtzrv1XDGLCiQkg+l8sxhUKC4eb8f6ReCmHu3I4X9e/CotLn4Pyvoa8cAA5gXjB%20wy1wLGzm20KglarZiQwBGW9+CWdjPYSuBh01Vh1fIMAThtVHAZzYbHVPD1/OlZzbbHP8bOZrvxg+%20AAdeM3iyDJFANXCJscy5wPYrJUy+SPvas4UH431N90AAJltQfntWAVA1MFofPGhKrsUh7algzPtD%20/SzCJJJXqV4wVWzEd77znbH6IQWp//Da/chr95PJqmZyp3y7QuvOFnaFoYeJzvVmgEHzuHPxxRd/%20hWLdaQr/0Oz1hBQNCJUdCrh4+nXXXTfXrgkIEoBqwp4QgqwLQ1DV8yFcCpZFCQgVazET9Xv4LgMk%20sBfeciFp7MwI7xTcq3131GqSijx6mC4KrJa2t+cuqtPsY0FzAXtaG/BNLLVYtncWGcx8DON/ml7k%20ajgoyRdXA3BL/4ZRjd4fIF8gpwbgfhVuuBWLE/XOUgsgTJzM5yLQFJRhPMbzaFMxdYmd1LWjPvwe%209jO1r3WMKAAaHa59dxNHbsyv79mKxXz5LJXo8xGaH4CXRpCxHIAE5qjVstUE8Dues0FYQHhJGAiv%20JLsGb5+6QLUAjj0ns1dASEY48wFUGCFJ7DTkCyoogqB9h40UiKM5dq6nL0Zrm+14zn21HiIKr6IA%20qXyVizUiUqsGNpOyBJW8oNBsxNT+R4DrNJAVYUigpoVvxyLFS9CuNrUAVB/l9lvEEF6cxMWKskwI%204YMVBvYYw2Xfqe7gILkjPWCaeiiSmAvBLEZGUAJAYVY2ln1eceKJJz4EgW9WqGdai3l/wEpNDQsL%20AwUC8UbrjLrYrhdEmJaCw3cApowPcWsEhQgqZrXCr+4UADKbsTyl3bHdoat/BWkDl8HFYr77P2TK%20JBCMBGrw3uY9Acw9SX4JEDL2fqPh5WZ+l48AqBhkE5aInQoseRJHvVkaphw2pwKJiMOUJVRySEUg%202kYEgqKkaW01z0anrpA3g7jqPSgMLHpGEIUfeo2sPUOIOMAUvGOwCcc2kfk4Rl62oXhlKV44vQrR%202tZcq4Ym3VoAFBFOwtJkD+MhQ7NNCGGihD+C+4sWLeL6gEIBJZlkfr44QKTsIB0dRBruaC90RnGg%20utfxYhMZzsUl+P/Zz8Bd6IgLDOLqYdOdCSKcScwsYhOqt/kSiTeDfICEVDyygJfCcxwaMCGEW0UD%20tEdLYHe5SHEaAjIOD+4vAegEw9193p/PItMpYFGY4nr8BQhKUUlCSTRwSRrEUjD0yVhMQUuB6WET%20RGqwoATfJLqXfARbEyQdDKAGN58hECjXhBCqXYJACBNXQgtsxLYCmmADEMGMfACdHzG8U0WrMnMc%206RGYEk0Q1LElQBR+mgCfeeiTFryq7wvwYRyqg0MniOD8oVjuZwb8t7mWEGSyCUA1VTwQJt4w66IQ%20HJGcq8b1a/EjhoDpcgg9ZKb4lhBemy+Eq9WveF8y3Y1nu2OmTcm+sOKwww7bDXMx9FoYfwvgjXwg%20b7IWhbA/oZ2prbOCQUn3RdFgwlLYmgmK69mEoWs04v0A3OcKFQR/bCGRD+AyWfdQEzKXJ4Nicl8p%20z4IQ8gUmm1PFaCa5tXkgJJSTR7ZeffXVVmFIwLwAzCO7Ce+dPQ8MrYOzVwd/oNJ6nVkzsn9fwhEZ%20i5GfctYG5CjW4sddPBpjIrOhne03hckx5kBahtC8Foxm6l4oaBpRwGpo8yYsJ/eHrNlAeYWy/2gD%200UagDTUgUDVa0i4GeeCBB46DdzkKgkEUitlAaQBWrvpATPdQTIR/8WZwaV/2O/uf6eF1KP8mk1sd%20R2+rWTRyFdoKtAZTKLLd9QGEAWwx6FGKNzD7FXqHMN4dsD8mgo5SRCA0Suaie2PlmNx3CIkPCAEH%204GWRU1GoM8fE+20WPzeaWULN2bCApAMDp7GwwPAZM2bcgCTPWNl1MZhhHx+ulcOYjWI8KjBItr9b%20KCZqVy0aSbvOWdkSCNZk7AHnfA/wxl0trAER241ICT+WbdXQpA0Cgfn1WBz6Idy0xsUAGPrZkxBY%20lWJKx9fj+zRCtjRq1uu7LayKifaeo70BvgDRwEHvvvsuy8KVKFKBi1sUMghI4e14o/hK1BE854JB%20SXtCCEq9Z0GCxHy76SFML1IYOPI5B+CvSBrxHbUMC4fADtV3mwaIic4e52FQzXdMmzat7qyzzjqB%20L+dAWl6D0y0KkbngKmOn4rqX3UUjpQG47Q3vfqAyfE4xCG/Km2ttAHr688D8BSauTAAMqu3+apnY%20BzD2PP2Pf/xjPUZ/BXhzEvqcA5P8yYYFaI5DPau93DeIJO0ZQWB8K1U7gSAw1Mb0tWwpsX+uUPH+%20hRde+FccWmuSR0mopCHd7gTGoSD7vgkDlf1ehncDbwQAVAGmz6IPBpCIfoKwG9UEsDaCQrDOAEGK%206tpdJLDsrrvuehFTig+DJI2DTbcfrPlpvNF8FI3+wYQWqylRpoqoOR8BoGBRw5QKEWHj6CoW0c8C%205q+aBgI/O+It7Yu5y+7EuwOfx7wALtc7E4JRma14FZNHGgEFP2PVdbjzAX3VUIs2DK0eteaTEQUM%20ANMrcCNSBkxrA8zbgJKv5WS8EYC1+iGwSUdhIaPrKTgAkFjD5nde4RQT7DwhdvYnczD/geXfXrBq%20NerIY/gBQ+EfjOY7HdDKMiBo7zYIxfpnn312EXEANsOzZpkBlYJXkYloO/FmFAaznzLnCCdoNjjB%20GqvQIMnzsXDkz1EldDY9VAIWXUYxUetSAKiJuBjXJXhXEEfzZjN4+5Fvhmc11oqunmZ5WWDQGsO/%20FtsEZAxztaxIh7l5L7QKCYD1FpEmtE1mmzZSSEexRmAQVFYXqfnY5tPp1mLT3Gf9n+GHnLm0ccQ3%20GE2ekgC4PNPIz1YWrhuSWs3Jmg5mv0w6bc5rMZ8T5ruyBMiablWSoJAcp39F0iv4UKU1RoW/Wv/H%208KTJ4lmZg/BuYzPntbkCkNGJVl1guWkCiXROu91sIIkkpluOYylm3f7Vw0CZbQlBq2ktFvMTzsBV%2068g1MSRjtTb3HcLOOSJ9Tqj1CMNjSjhMFmNbrWOJAJ6FTg4VReFmGbJTEzXlqlsoJsK/rL9QfO4M%20Tm2jUbKrzCcApLcBB09k0WKXU0wq+2pBle/fHVVeEBU6XCtMuDgIbRRWF7sNocoYYgHFJL3mpRTJ%20rr9Mg+BQryOz8X+ake2bAxzgVSeeby+mAPCXVpvikeFo9cAA9kKoMoCARKKI9iAD4hZzHBsAj27j%20oVIKSOR4O5M8GtC+MtsN5nhHMQVAINKOBowYpKVlLRCpmNShpo4tMQFot1/jawCdtYb5muxRkGAn%20u0BSVXmyntLqgkhsRR5BGkWZEtQCAuAU5rGfm93K3mJqAGmBCjPiq0wTIJEoYudJA2S0LWEz0GZa%202rS2YjuB7j0UmyazgEjF70B7v7Qo42oz+1iRNED4vYrOfDHc3f4/o5hiiimmmGKKKaaYYooppphi%20iimmmGKKKaaYYooppv8FlJhXILrvZ3wAAAAASUVORK5CYII=%22%20preserveAspectRatio=%22none%22%20height=%22102.996%22%20width=%2287.169%22%20x=%22159.832%22%20y=%22119.548%22/%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20x=%22205.024%22%20y=%22157.686%22%20transform=%22scale(.98866%201.01147)%22%20font-weight=%22400%22%20font-size=%2219.302%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#ff0%22%20stroke-width=%22.504%22%3E%3Ctspan%20x=%22205.024%22%20y=%22157.686%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ERAM%3C/tspan%3E%3C/text%3E%3Ctext%20transform=%22scale(.98866%201.01147)%22%20y=%22187.881%22%20x=%22205.327%22%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20font-weight=%22400%22%20font-size=%2222.015%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#0ff%22%20stroke-width=%22.423%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20y=%22187.881%22%20x=%22205.327%22%20font-weight=%22500%22%3E16KB%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E", + "otid": 1599036668965 + }, + "design": { + "graph": { + "blocks": [ + { + "id": "6080df5a-c853-47cf-aaa7-c5a8f1e65879", + "type": "basic.input", "data": { - "blockColor": "fuchsia", - "name": "done", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "name": "", + "clock": true }, "position": { - "x": 552, - "y": 936 + "x": 168, + "y": 392 } }, { - "id": "fdd4378f-0950-4ef2-b5d9-091a87499091", - "type": "basic.outputLabel", + "id": "9edd47b2-4907-40d5-b10f-6aab4a9e797a", + "type": "basic.inputLabel", "data": { - "blockColor": "fuchsia", - "name": "next" + "blockColor": "yellow", + "name": "clk" }, "position": { - "x": 80, - "y": 960 + "x": 312, + "y": 392 } }, { - "id": "ddba74a9-5192-4fb7-8192-9e9e07103ad8", + "id": "270594ca-dba5-499a-8030-08e69613c220", "type": "basic.outputLabel", "data": { - "blockColor": "fuchsia", - "name": "done" + "blockColor": "yellow", + "name": "clk" }, "position": { - "x": 1048, - "y": 968 + "x": 392, + "y": 536 } }, { - "id": "233059d5-8ab7-4c63-8dab-0c6af3a1dc28", + "id": "ecaf7923-2995-4c02-a531-778edf600834", "type": "basic.output", "data": { - "name": "done" + "name": "", + "range": "[23:0]", + "size": 24 }, "position": { - "x": 1200, - "y": 968 + "x": 1392, + "y": 696 } }, { - "id": "72632c73-fe18-42b3-b81f-46999ddfdb20", + "id": "7b7a0dd2-57ea-4f82-940a-a1fafe7962bf", "type": "basic.input", "data": { - "name": "char", - "range": "[7:0]", + "name": "", + "range": "[23:0]", "clock": false, - "size": 8 + "size": 24 }, "position": { - "x": -320, - "y": 984 + "x": 168, + "y": 712 } }, { - "id": "59b55b10-4bcd-45fd-9dbe-e6dd6767c97c", - "type": "basic.inputLabel", + "id": "043752cd-506b-478d-affc-bdad68d7d0a9", + "type": "basic.outputLabel", "data": { - "blockColor": "steelblue", - "name": "char", - "range": "[7:0]", - "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "blockColor": "yellow", + "name": "clk" }, "position": { - "x": -160, - "y": 984 + "x": 608, + "y": 848 } }, { - "id": "e787e85b-39c6-4705-a8b3-4da9c48be3ea", + "id": "a04d00a7-87f1-485e-b24e-13078b946ef8", "type": "basic.outputLabel", "data": { - "blockColor": "darkgreen", - "name": "busy", - "oldBlockColor": "fuchsia" + "blockColor": "yellow", + "name": "clk" }, "position": { - "x": 1048, - "y": 1056 + "x": 600, + "y": 1008 } }, { - "id": "f1cc51c6-3ef4-496d-99cf-0ee3007a2c64", - "type": "basic.output", + "id": "b07ab569-1013-48d4-916e-4e447f8ea11b", + "type": "basic.memory", "data": { - "name": "busy" + "name": "", + "list": "0 0 0 0\n0 0 0 0\n0 0 0 0\n0 0 0 0", + "local": false, + "format": 10 }, "position": { - "x": 1192, - "y": 1056 + "x": 584, + "y": 504 + }, + "size": { + "width": 192, + "height": 112 } }, { - "id": "af3693c8-f4e9-4cbe-90e5-cd93b52b1834", - "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", + "id": "4a9d02e8-e892-426f-b5a0-ddeb0edd071c", + "type": "58ed2b5c7e33e2f215ccba6c101d9ea4ff60f284", "position": { - "x": 224, - "y": 904 + "x": 768, + "y": 912 }, "size": { "width": 96, @@ -14752,27 +14121,23 @@ } }, { - "id": "70db30ca-f05e-4d85-9911-4e37562185a2", - "type": "basic.info", - "data": { - "info": "## PUTC: Transmit one character (STDOUT bus)\n\nWhen **idle**, the STDOUT bus crosses the component without modification \n\nWhen the machine starts, the char is outputed and the state is changed to busy \nWhen the transmitter is done (tic received in next) the machine is turned off", - "readonly": true - }, + "id": "1d6a09a1-5455-4eae-b831-59fd7086b1ff", + "type": "58ed2b5c7e33e2f215ccba6c101d9ea4ff60f284", "position": { - "x": 160, - "y": 360 + "x": 768, + "y": 1056 }, "size": { - "width": 696, - "height": 136 + "width": 96, + "height": 64 } }, { - "id": "bc97ca4f-8082-4a12-b1d9-4c9f257ef54a", - "type": "438dedd956354c574afcde6f0793a7d369b2a031", + "id": "63e2623d-a6e8-486c-aade-edda359a0027", + "type": "0d02b5c37dd73bb78b27425b4fd615e89dedd8d9", "position": { - "x": 368, - "y": 792 + "x": 632, + "y": 648 }, "size": { "width": 96, @@ -14780,509 +14145,573 @@ } }, { - "id": "17adabf1-6e5f-481e-b723-92cafbd3f126", - "type": "basic.info", - "data": { - "info": "Start tic: The byte from the \ninput char is transmited", - "readonly": true - }, + "id": "1f7c8d33-19ca-481c-afaf-db7d5930a013", + "type": "d1635cb33c6d31e1ea457005c78d574fcf71828b", "position": { - "x": -288, - "y": 800 + "x": 352, + "y": 680 }, "size": { - "width": 240, - "height": 64 + "width": 96, + "height": 128 } }, { - "id": "f9228c3c-67bd-4a38-b678-87e025a45048", - "type": "basic.info", - "data": { - "info": "Char to be transmited", - "readonly": true - }, + "id": "43c5bcc0-920d-408b-9fb0-b2cb7a0e6482", + "type": "6e4fc811dcd6d1ac703e608270f81ee906ee7e98", "position": { - "x": -272, - "y": 952 + "x": 1216, + "y": 664 }, "size": { - "width": 216, - "height": 48 + "width": 96, + "height": 128 } }, { - "id": "40cbc8b9-ba20-4d53-90a4-74481101d34b", - "type": "basic.info", - "data": { - "info": "State of the machine: \n1: ON: transmitting \n2: OFF: transparent mode ", - "readonly": true - }, + "id": "3dcc0b06-f8e0-46a5-a620-fc86fc2c1cbd", + "type": "7dd73370f9ea522fe9c9e331d4d240f520f61d10", "position": { - "x": 344, - "y": 648 + "x": 1008, + "y": 568 }, "size": { - "width": 232, - "height": 88 + "width": 96, + "height": 64 } - }, + } + ], + "wires": [ { - "id": "5a19e117-936d-4868-be9f-d1e03760a510", - "type": "basic.info", - "data": { - "info": "If the machine is on \nand the character has been \ntransmitted: Turn it off", - "readonly": true + "source": { + "block": "6080df5a-c853-47cf-aaa7-c5a8f1e65879", + "port": "out" }, - "position": { - "x": 344, - "y": 960 + "target": { + "block": "9edd47b2-4907-40d5-b10f-6aab4a9e797a", + "port": "inlabel" }, - "size": { - "width": 264, - "height": 72 - } + "vertices": [] }, { - "id": "358d0c6c-1d72-445e-bdc0-c40d831753f7", - "type": "basic.info", - "data": { - "info": "The machine has finished", - "readonly": true + "source": { + "block": "270594ca-dba5-499a-8030-08e69613c220", + "port": "outlabel" }, - "position": { - "x": 1072, - "y": 936 + "target": { + "block": "63e2623d-a6e8-486c-aade-edda359a0027", + "port": "0b91cb0d-4144-4939-8755-e331104016db" }, - "size": { - "width": 352, - "height": 56 - } + "vertices": [ + { + "x": 544, + "y": 616 + } + ] }, { - "id": "6257ea46-accb-4d9a-b165-35a8a2c04270", - "type": "basic.info", - "data": { - "info": "**STDOUT BUS**", - "readonly": true - }, - "position": { - "x": -296, - "y": 536 + "source": { + "block": "043752cd-506b-478d-affc-bdad68d7d0a9", + "port": "outlabel" }, - "size": { - "width": 160, - "height": 32 + "target": { + "block": "4a9d02e8-e892-426f-b5a0-ddeb0edd071c", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" } }, { - "id": "ef395571-47c5-4fa2-9bb0-cc6bf29a96df", - "type": "46cae7e9ebf62b7867b3a90798e5bc71b9eec2e0", - "position": { - "x": -168, - "y": 664 + "source": { + "block": "a04d00a7-87f1-485e-b24e-13078b946ef8", + "port": "outlabel" }, - "size": { - "width": 96, - "height": 64 + "target": { + "block": "1d6a09a1-5455-4eae-b831-59fd7086b1ff", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" } }, { - "id": "476ddfa0-b036-4f51-af3f-3de23d9e074f", - "type": "basic.info", - "data": { - "info": "Not connected", - "readonly": true + "source": { + "block": "b07ab569-1013-48d4-916e-4e447f8ea11b", + "port": "memory-out" }, - "position": { - "x": 1192, - "y": 536 + "target": { + "block": "63e2623d-a6e8-486c-aade-edda359a0027", + "port": "d80bfd80-1f6d-46af-b5de-5cd121ebe630" }, - "size": { - "width": 128, - "height": 40 - } + "vertices": [] }, { - "id": "f8560747-4666-4911-8c20-a85c7c39f0c1", - "type": "basic.info", - "data": { - "info": "**STDOUT BUS**", - "readonly": true + "source": { + "block": "63e2623d-a6e8-486c-aade-edda359a0027", + "port": "2f18358c-ebaa-4fbf-99b4-610ab78deed2" }, - "position": { - "x": 1208, - "y": 736 + "target": { + "block": "43c5bcc0-920d-408b-9fb0-b2cb7a0e6482", + "port": "25996d5e-6856-4828-8cb3-5dea5ff5cf9c" }, - "size": { - "width": 160, - "height": 32 - } + "vertices": [], + "size": 8 }, { - "id": "ef467ee3-3e65-4bf6-8e70-aae8b6da0bf0", - "type": "3e13565dc4f4666505760a8e42d91e6ba1ab5a7f", - "position": { - "x": 1048, - "y": 760 + "source": { + "block": "1f7c8d33-19ca-481c-afaf-db7d5930a013", + "port": "afe50480-6fe5-4ca6-b639-c730569a6a1d" }, - "size": { - "width": 96, - "height": 96 - } - }, - { - "id": "ec68d254-7f67-4ca6-9e0e-b2e2e9d45066", - "type": "dfb235f1673ee7cefa8539b9a9f9e43979df37ea", - "position": { - "x": 856, - "y": 680 + "target": { + "block": "63e2623d-a6e8-486c-aade-edda359a0027", + "port": "9931384a-74ee-4de4-9df7-cc04fd19cf46" }, - "size": { - "width": 96, - "height": 64 - } + "vertices": [], + "size": 8 }, { - "id": "f59e851d-2d7f-41e9-8128-77b7da1c6a18", - "type": "basic.info", - "data": { - "info": "**Create the bus** \nfrom the data and tic signals", - "readonly": true + "source": { + "block": "1f7c8d33-19ca-481c-afaf-db7d5930a013", + "port": "c79430a3-a90f-40e9-af05-e6da44b5ac8d" }, - "position": { - "x": 720, - "y": 592 + "target": { + "block": "63e2623d-a6e8-486c-aade-edda359a0027", + "port": "c61902b3-38ce-45bf-98c9-322638c2264b" }, - "size": { - "width": 248, - "height": 56 - } + "vertices": [] }, { - "id": "c6b39875-76bf-43b3-bf07-98c17499bf21", - "type": "basic.info", - "data": { - "info": "Transparent mode... \nor not", - "readonly": true + "source": { + "block": "4a9d02e8-e892-426f-b5a0-ddeb0edd071c", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" }, - "position": { - "x": 1056, - "y": 680 + "target": { + "block": "43c5bcc0-920d-408b-9fb0-b2cb7a0e6482", + "port": "dbe1622c-3510-4132-8b5c-2fbf81d7f581" }, - "size": { - "width": 192, - "height": 56 - } - } - ], - "wires": [ + "vertices": [ + { + "x": 1128, + "y": 888 + } + ] + }, { "source": { - "block": "72632c73-fe18-42b3-b81f-46999ddfdb20", - "port": "out", - "size": 8 + "block": "1f7c8d33-19ca-481c-afaf-db7d5930a013", + "port": "c79430a3-a90f-40e9-af05-e6da44b5ac8d" }, "target": { - "block": "59b55b10-4bcd-45fd-9dbe-e6dd6767c97c", - "port": "inlabel" + "block": "4a9d02e8-e892-426f-b5a0-ddeb0edd071c", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" }, - "size": 8 + "vertices": [ + { + "x": 560, + "y": 920 + } + ] }, { "source": { - "block": "04841e3c-8761-454a-8d99-496fde26ea1f", - "port": "out" + "block": "1d6a09a1-5455-4eae-b831-59fd7086b1ff", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" }, "target": { - "block": "ed414ec2-55e9-4b36-9c04-d544201b630e", - "port": "inlabel" - } + "block": "43c5bcc0-920d-408b-9fb0-b2cb7a0e6482", + "port": "49fb1766-1e7f-4706-9872-a6cd65cc9f2d" + }, + "vertices": [] }, { "source": { - "block": "e787e85b-39c6-4705-a8b3-4da9c48be3ea", - "port": "outlabel" + "block": "1f7c8d33-19ca-481c-afaf-db7d5930a013", + "port": "9751f777-00ec-46c1-8d85-07d2dec1e653" }, "target": { - "block": "f1cc51c6-3ef4-496d-99cf-0ee3007a2c64", - "port": "in" - } + "block": "1d6a09a1-5455-4eae-b831-59fd7086b1ff", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + }, + "vertices": [ + { + "x": 504, + "y": 992 + } + ] }, { "source": { - "block": "ddba74a9-5192-4fb7-8192-9e9e07103ad8", - "port": "outlabel" + "block": "7b7a0dd2-57ea-4f82-940a-a1fafe7962bf", + "port": "out" }, "target": { - "block": "233059d5-8ab7-4c63-8dab-0c6af3a1dc28", - "port": "in" - } + "block": "1f7c8d33-19ca-481c-afaf-db7d5930a013", + "port": "2117685c-3a4e-4403-a12a-5de3ed4c20a5" + }, + "size": 24 }, { "source": { - "block": "04a63331-d349-46dd-b312-aacf9b71b3c6", - "port": "outlabel" + "block": "1f7c8d33-19ca-481c-afaf-db7d5930a013", + "port": "1fcc5668-ae6d-4286-9b66-f8f113c12bea" }, "target": { - "block": "bc97ca4f-8082-4a12-b1d9-4c9f257ef54a", - "port": "046501b8-4427-4d4d-af97-7fe807774f33" - } + "block": "63e2623d-a6e8-486c-aade-edda359a0027", + "port": "480cf49a-cf72-4fad-a37e-92acddd25d32" + }, + "size": 14 }, { "source": { - "block": "bc97ca4f-8082-4a12-b1d9-4c9f257ef54a", - "port": "0d991cee-b329-439b-b9e7-5712d2db539d" + "block": "43c5bcc0-920d-408b-9fb0-b2cb7a0e6482", + "port": "81a20a74-f096-4c3b-bc35-91917f08c79b" }, "target": { - "block": "f809e9bb-2587-459d-807e-629afdc99f43", - "port": "inlabel" - } + "block": "ecaf7923-2995-4c02-a531-778edf600834", + "port": "in" + }, + "size": 24 }, { "source": { - "block": "542ef450-6c74-4024-a245-fe1d832776bb", - "port": "outlabel" + "block": "3dcc0b06-f8e0-46a5-a620-fc86fc2c1cbd", + "port": "9a292d4b-866d-4b91-919d-e75f9a0714b9" }, "target": { - "block": "af3693c8-f4e9-4cbe-90e5-cd93b52b1834", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "block": "43c5bcc0-920d-408b-9fb0-b2cb7a0e6482", + "port": "61496e71-85ba-465b-89b9-fedb08b8590d" + }, + "vertices": [ + { + "x": 1136, + "y": 640 + } + ], + "size": 14 + } + ] + } + } + }, + "0d02b5c37dd73bb78b27425b4fd615e89dedd8d9": { + "package": { + "name": "Memory-16KiB", + "version": "1.1", + "description": "16KiB Bytes Synchronous memory", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20viewBox=%220%200%2087.168922%20106.43202%22%20height=%22402.263%22%20width=%22329.457%22%3E%3Cg%20transform=%22translate(-159.832%20-119.548)%22%3E%3Cimage%20xlink:href=%22data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAgM0lEQVR4Xu1dCZBU1bm+PdPTM8CM%20AgMO+yCrAq4oGjWKIIorcYnRlD59saImGlOaqK/UPPeHu5VyjyYuMRu+uFVEjRqX4FNRQURwQVxQ%20YdiGZQYGepZ+33frfK9Oneq+t+/0zHTad/+qU7fv7bt0n/8///L9/znX+1ZTTDHFFFNMMcUUU0wx%20xRRTTDHFFFNMMcUUU0wxxZToofuX8XPo82LqcLaZUhUAMbucraKi4viysrI9jCBkp5gybKBH0un0%20cuy3URC6WwiSXvcRmV9ZVVV1azKZPBvN69+/vzd06FBv2LBh1mkxff31197ixYvJfa+1tfUnHR0d%20x7W1tc3HV2kJQakJQBmZjzYUo99n/qRJk7xTTz3V69WrV5bTY/rmm2+8u+++29u6desO2L0cAnCq%20YXy61AQgYe5bBebvB9XvJRIJ79hjj/VSqZTX3t6e5ZKYBg0a5B133HHenDlzPPRZLQ5VG+a3lpwJ%20kPoH83uT+Ww77rhjCPNjYh+Z/hqK3T5oW9C2obWXlAaQAMCm9SovL/cGDx7sQaWFXBbTTjvt5AsA%20+qwOu7SVSTnOpSgASdBkSjTtPhybkMtioomkyWTjLvmjSK0UncAkJLmMAgDKUwBiqqur81atWkUt%200Bcmc2XJaQCBPtqCvMrKyjztf0wIm9lp1AbjW1paPrIwlUzJaAAJAKgajbYtTwGIaeDAgd6KFSv8%20zmMfloIJcCFf3rOCDT7AKAgAAY78nMCYqC3lB/Q1/Zgy4WB7AERcVAFIiPE333zz6JEjR565ffv2%20Xlu2bKm58847d2psbKQAhGiAmOQr1dTU+J8PPPDAE37wgx8MhgO9BeZg++bNm18588wzXzYQcXtX%20CUGii5ifuuyyy8YD7Fk4YMAAOTHelVde6X300UfejBkzPAhGwG1i5ksA2HdPPfWUd/LJJ7NRczKM%209iOp55577oyzzjrrvwkOGUHIFFsDJIya6nPQQQfdSweGKoyNAgBNIIcmRxQQM15ELcl9oKdU/4yh%202W/sR/anvz98+PD/wqnPozUZc9BeFA3gMv/GG288CgLwaL9+/by+fft6q1ev9gXgqKOO8v/MEUcc%204UOdJUxiUgSmRhv59va3v/2tnztBv9J0+k40Bxe16fLly2effvrpt1EIlCfobg2Q0FYq34J7q6ZN%20mzZ8v/32u5nSKonllhKrPACOyQcofQEonPlZma7GZ6jPFD5v27bN69Onj78/evTon/34xz9+/v77%20719s+NFup5OjOoqJKA7ezjvvPAuM7QuGJkBlyFtXgNkzMbrHUXUx3Utmf/XVVz7zTzrpJL9TTjnl%20FK+EieYrAuO1H8r8nBrgb3/7m1dbW+vNnj3bfzY165AhQ7zPPvvM9wlWrly5DFnD5yAUaQhMB4Qk%20g/My0LxPn3POOQuiOIqJPCDd1IMPPnjiiBEjHiFzObK15Y9Zs2aNn+Ovrq5mKtP74IMPlPjxfvGL%20X3ggCkKpC0AhjNdxfbZb1u9ffPFFb8OGDd4dd9zB+gBv/fr13pgxYzw62OzzTz75hKaWfc5+5jFt%20aX5/hrT7gzQPchQ7awLKZOPB4Nly7CQAbBzlUv38/P7773vQEs0vv/zyckhpNTpkNK6X+i911a/P%20UUe8y2jdI6tgiMj4t956axGFb88996wD0wfRDJDp7G/wQ+l18kJbaoo7jjzyyL8/++yzX8tR7JQG%20EPPRasHQT/FwPkBCwCaJ8zXAhx9+6Esp4lVJqXfDDTf42uDggw/uSVsscjtd+1Gu1/lsETRAkLoP%201whLlizx2+9//3uNbm/8+PHe22+/7e2yyy5ECmluXQ3A5kdeTz/99OlwIOfiVs0mZMwUpAEA6pDx%20fKgEQM6ez4w33niDQuDbLVJzczO/U1hDFdqVjC/cMYt+vYRAx8JUvCtA+Qinew/aeoZ+ZDAjAZ/p%20L730EiMEAkbsY35HXnDLfqdJZn/3poOO1kIB6KwJSAjWBZOXbtq0acK6det4c7v5Dx83bhwZQcEg%20w33mAwFkR7goYE8LghgSpgGiMknfBal7Nff5bIHnsx+5hZPN/vQZrKTaPvvsw/IxagGZYTX1/Qo4%207B8Y/y1RSBiokKIDCN9//upXvzoRUjgMzKxgBMBIgIQQpQwJjElQRymZBgoAnRj9GVzTE/Y5aDQV%20cr39XRRV79p6CQKZlfV7HaPZlPYk0zm6JQDIEHKkL2tqatrcAWIEwMvwfevatWu/efTRR1+wI4BC%20BYA32o625dprr32R/gBab3NdObzSGoAWp+AHp+QfSOVLimWnihSjizGFXu9+7zLVfYaOaWt/lkl0%20Ge+eRy0qbIX7cvoIq484/vjjH4BGbrJCvq1oG9BWo20zqj/U9iZC1H81mY5q1csQ6x+KeHSkHQbS%204VMRA4/RLr3zzjsefYbXXnuNjTbMb98KClf37ne5jkkLZDUX7Nd//vOf3ne/+13vkEMO8Xr37s1I%20gJqAZsHXrtAATB3bTiCPrYXf8NpvfvObG8GHz4UWFuIElkGl/BwO3r+7IaCwfkqlnEH+6LFjx3Kf%20zJc0f9vyAO7IzmfUZ8MW3OO6BweStGd6t912S5Hpb775pjd58mSli8lw5Q3kBBIbGIhrT0QSbgTM%209jGqJ+iMACivX4VM1BnCAOwmW88fy+8XLFjAH9R49NFHPwNPNA3I8mgcHwTp/bYIQC47HmYqcp7j%20OpiuxnjssceW3X777f/D/YcffvhwhIH1+++/vwYd+10aQELBRuRw3/PPP38s0vGLFQayRRWASrQ+%20YF6N7BCbGwYyTUnmm+rf/n/+859P5+df//rX3scff+ypIORbQLkAnSAH0T2WCxDKeg5yLBP/9Kc/%20TbSdwHnz5tEcKMyWj2BjATQhHIzjcJtPjA/XHlUDCAPoDa9T6kXhhv9gMXbhwoW0RYxTqf4JBUtA%205PCUPBLo2m2X+focgQLxAWL+ep4YTJyFnxsaGuhnMSlE6F0mVlv6ATzOaKHNDOLyzkQBSgKVY87a%20vXBEzqVU8eZ8iJhKdJB2CRgBpZPHZaPowRbTB3DVaqHXh4V67oiOKgTaJ+MY40sA5PlL8xJsI/PT%20mE+YIlDEczTYYG7pN9BJnHfvvfd+lk9NYTIkBGy9/PLLn5syZcoqPHRnaIIqU6yYAGMpWeWoA9h1%203333HQfG0ymk6uEPlQAwj01hKVUBEEPz9eZzYQt5h6LLli0jw3k+4XRXALjPnMt6wL3zySOc126u%207QBrtmOQrnnmmWfeVh1hZ5NBHWS+iS03zp8//2O0tSY3UG5a6phjjhkPp2Sc4n/lsCWRaMUe/WJM%20IdcGaQD+vyBgxx7pYc/loGHmz36WgCBbAJgXGAwsoOamm26aJ0ab1kJ+oTWibdF3hQhAC8KQjtNO%20O+0QPPBgSFh5whCksgwmYJjtINIUfPnll2SARkexBUCd35UCQIa710SCjd3vlTHl6Hc1Co9xS5yf%20dl8a4fDDD5+2xx57jAAPVA/gI7eoKVz4/PPPz4EWkAB0RBWAhGl8SM0FF1xwPx4yXo6dtgR7Nm7c%20qOofZgVZrsSctf8ZxOOlYv+DGGcLM7dhYV02LRAaKXz66adZsQH6A6NGjfK++OILf4ChLoMCwHQx%20ne8x6G95/0oaTdh1112PQ6Rw8vXXX/9GZ6FgqviKH/7wh6cB5h2fDQPgD6Dal+3HH6D6WoLpzSuQ%20H6hFR00pCQEITwa5zHcdvygYQFYBBYbPweQy33/ek08+OR9+1DqM9tqJEyfuB6bT0dM6C9II8hNk%20LmrgnJ+Nr98xvGyPggMIBOoNaZqZCwOgACgWfe+99wgHUyv0wxz3fvBOK1naDCqeAES3wdkydmJ6%20ULVPlJSve4whm7z+rNfuvffew1BnMYz9iMGYBhiUAj7AwWfnB1xAiP1eTx4aHKA1qgmoQOuFZMM2%20Le0iVS8hkF2aO3euX6Sw++678/gQNP04tmJhAO4oDTtH4Wouu5+rHiDoWNjz+Tyqdqn+XGsGDGEx%20CJnKfqYJIBhUX19PbMBGAwXPU5swZE8aAWg2g7o9igDwghTU+st4yIEo8qR614PUuNYPcQB2gh0B%20KEnEzz2NAopRQUwPvc62+7YwhJHLePd+7rmI5VnxG6hdpGnJZEHAsPF+4ccLL7ygzKsGp2oFeXyp%20GchlnU0Hd1xzzTXzZs2add306dMPwg1T6AS/yIC1AHhgAn+gDAKyN+yRoGEJQE+HgTbTIwhA4LlK%20bbueea578ry8439oVwI2YfWECv2k1qVdOcqX4bNqAjIQlAySRh1pELTywoceeuhFjfqoAkCOtZmc%208mbY8vfQvsF+jSTKXFcJ3P80FSdasCVbT6OAfE6AAETzB8TMELJHdyR4mBEUwrW8tAqFRFgAeKuq%20HxZ/1iE8nwsHkuq2VcCdUfmN5J3hYVvUbGDGXNTCm8ABqcVExYGQsio0nl9ObYBc9QGIS4fpB0kA%20ILHqCDGm2GrfPTdSvt9toKAQMBQSpsqX05cHUdXbA0ueP0PAHe67776TkSz6K/q8FfdrY8PnXsBi%20Nr/yyiubyMNOFYWqnBiFIMfAAbnBjQA0H4CMFvYPtUMcm99zCpPjHUemqPa7K+bm2aPfbi4zXSaH%20ZvtssAfMsZy+cGKU8Prrr8u790w6WFp28HnnnXc+czJ2JMDt2Wef/QjC+EsiQcH2TKCf/vSnoydM%20mEDm55wPIPWPknCqpmY4i58atTUGm2qZgH/xtK6Y7gI/dtMxCbUNCGk/0PaT6eifKMzX/IA0/IWl%20uI4O9xhA8tUHHHAAGc0+Z3OxAG4ZIfzb7373u0U/+tGPHrDKwzKhGkBz/hBrni6VLqbbn/VgxPy0%20aXT81iFV2c7vlL9mKxIFedZBJVuuANgYiC0IWa9xBcl2hOnxa7Z0BGJ+IAVktZ1C9eqrr34BQGgS%20J+DstddedmGIRr6azAUHYq+gxFAyFwYAhlbxB8vDd6Fgph5ZnkxnBhlBerUjEaeOxHcMGYVs9SST%20XTXunhNUjp1LACT4OuYyOFeuwN5nH3WK+boe4NpkMpU8QG6GU8c4SYSwO7Ot2YpCOCiJMFYRC5Av%20EMUEpABQLCHowHBF8/5tIu6PQlECEtQGFBTNExDzu0MAwpgpFet+F8z4cAFwr8l79EMrkhkF9YVU%20vJjNmgCG2iy+Yf/zmO1n0G8gwTfYbkVuiUg4wK233roIocYcqJyD8cBBkmp1Do41IzlBhldbtqi7%20BUCMCMvURREAXeMCP3axRdSmkS9MpCBBp++AbKwPCilFvMMOO6QBCDUCgh+kCEihMPiyEY7466gL%20fKJTOIBSwZjd+zi2LErsh1apKiFeN3PmzJFXXXXVLI4ONcs77Q4BiFKCnU0AwkZ8wPGiMF8CYDt6%203FcVdurxxx9fftttt82x5gZ0GOx/o5kfsDXIASQlA0CgJrQNmIo0GGqmL6SrEq2cNQE1oDPOOMNO%20FPFHUvq6QwDEvDDmh2mIfBnsRgNhQuPmDKj2HeYXLADC/O0ld7iG0IHAFRrhiK8jBsCqIPAijRxN%20K2oCGslDGwyKBAQh3kxdcskls4Et7207f3LyiEopSmBCg3XrBDlce1kA5a3m3a0oDxtv2+9sQpS3%20AMj/IMgjh68ryHj/nC1MH4BRAZNzFAiqetZsHMucjJw/YQFQ/w1wFn+C6myiuB1RcAC2sl/+8pdX%20wM67zBfmLxDIF4SlS5d6tEfwTL8CQOSvC1CQAIQzsKsFINu9o5gHxfnsj67WfGT6avCigWX3eMZw%20ONx08MgHNTcEZBsEMz0bAjA1ihOoKWG9MPIPs3EAu5FUC0AQCCaCKGB/ABX9oY5YKl6IBsjmXefj%202UcVAG2D7mufn2ufI94N9bpSANi/dejbOo5sMp9l44DoyQOZBxcHUCZ2l1tuuWVfDOZ5uXyBZI4J%20IdX4MzVcm8bWAPqsCSFaFwDlR5ocomyVmNYVDl4+4E22e0URAp0fKgDudWQ6R77sc3cQw0j5W0Bn%20WSPgm1xUCPG4iwOo0VQTla0jT+ULBGoAe0oY2lrUAwxEuKFRL/LVHNEoAD+Cg9kEQ0b3AcLj8rDz%20omiTIEdOlJXZrhDQBrP+UdhDdxHnY7hRAMwBcQD6AxRCt8BUi3RsRV3gEmEBkSaGYC7aLUgo/BwP%20GOJIvyYhNIL5/dHo/EkACBw5AhCZ8Z3VBtrm60i69wtkvnsNRxdr+XR+dxL7VQIgGB7amRnBZvgC%201RRABwsgGLQBcwcell8XFQdIo7hzKdq12B9gagHKhQPAIemDdQG+B+9TDiG3MhH5hoFBuHoU2DYb%20sztjXkKZr+JQ+DkclT2V6+AAk523cQGO8hRqAh7FHMxG4QDWWgHr0b4JWysgmQsEQtuMdOIQePf7%20EHTgqiBs6IAylCmPB0pYazkg/DFkJrdibHeM+nyAHzdTx2ORwkqX6fpMJI7MVxlXTxEdTJob8IH4%20ggSAWjh1xRVXHIEw/CPwhrzrIBaAz61AY1fAAfyQwhBFADISgj/+8Y8XA+s/xnUCyWyqPjJY8wEB%20OvDHsMlOhavjcMZHdwjdz+Fz/NTC7D4FW/aex3o6s0lnjn3PWgtlArlPSHggVmEbyLDQxQJQyLMP%20VhI5KbQs3MUALr300t3g3dvMd2sB1DhT1fcHnnjiiQWQ0jTO3x+d3j+LKg5KowYlVKLCv0EZw7yF%20T0zWdGsCMPq+GHTPPffM5fb73//+RDjg9ZivybUZqA1yYgHEcTBJ9ORzzz33/rxwAM35w41HK8HD%20G7lND+V8AGqBzz//fC1CkmGQ0ibkvSukItGij/rw40HMLhROVpO3rVCqaIyXFoPJHQbTm0IWdhPg%20efa9qoPCagJ2dsJABwfI8ro3jOKBzOgx3Wvj/ZrpQ3XDV50yHJw6dSqxgPEqB4MmYDawMyO5s0IQ%20ZRHH0BBTWkjhF4RZPkVRi1sOPfTQ3ckPMpYTQ7B4J00vcQGtHqowXIJAU81ooNKE9Vt4q7xwAEw8%20+AATPbZiejKLCeT9qnFU0A7xIaoF4GeZi6Awy7afUZgdBtkGCUC+foTqGch0OnwUcLu6qWhCoNBP%20CSEyW/X/1AQ0BfJXxCsKAWdrQSNHwgEybFiteiUeeAMqUWaiKGQ4vX9QQkzla0wgWYPhgFQ7qWA6%20ShKAqCM/2A8IX6SB2yjMd59HQIUjho0CYINaxV6rmGigFoWy1wxMAxD6ElP4iAVk0Dxu2TBI1/7l%20L395CeH6gnzTwYoA0lQXUOXvo63Bfl+0XlYtQAXeZTPhoosuGuv4BBQE4eE87uL4kRkOCmJa2HSv%20sHtJtUtdkukBL7cqriBQAKQBlIvh4pwo/96ACTxPaW6AtbbjJlMTsIX7eU0N08WaXIClxsbAw+/P%20eQAqBMGDdwBCON2pVVdIqCoabiM4gpF9gfxW6Q5v9O7p5LnVy0UUgvAZQiA5fXwryxRogvVIEK1A%20n/tCQBygEoTFpj90agI68jEB7Xg7Vd0JJ5zwACRsnJsIUtZLAoC4lKEgc9U2ChhVAKIJSDj8m7NA%20k8KpEYXUNUd9rmtzrv1XDGLCiQkg+l8sxhUKC4eb8f6ReCmHu3I4X9e/CotLn4Pyvoa8cAA5gXjB%20wy1wLGzm20KglarZiQwBGW9+CWdjPYSuBh01Vh1fIMAThtVHAZzYbHVPD1/OlZzbbHP8bOZrvxg+%20AAdeM3iyDJFANXCJscy5wPYrJUy+SPvas4UH431N90AAJltQfntWAVA1MFofPGhKrsUh7algzPtD%20/SzCJJJXqV4wVWzEd77znbH6IQWp//Da/chr95PJqmZyp3y7QuvOFnaFoYeJzvVmgEHzuHPxxRd/%20hWLdaQr/0Oz1hBQNCJUdCrh4+nXXXTfXrgkIEoBqwp4QgqwLQ1DV8yFcCpZFCQgVazET9Xv4LgMk%20sBfeciFp7MwI7xTcq3131GqSijx6mC4KrJa2t+cuqtPsY0FzAXtaG/BNLLVYtncWGcx8DON/ml7k%20ajgoyRdXA3BL/4ZRjd4fIF8gpwbgfhVuuBWLE/XOUgsgTJzM5yLQFJRhPMbzaFMxdYmd1LWjPvwe%209jO1r3WMKAAaHa59dxNHbsyv79mKxXz5LJXo8xGaH4CXRpCxHIAE5qjVstUE8Dues0FYQHhJGAiv%20JLsGb5+6QLUAjj0ns1dASEY48wFUGCFJ7DTkCyoogqB9h40UiKM5dq6nL0Zrm+14zn21HiIKr6IA%20qXyVizUiUqsGNpOyBJW8oNBsxNT+R4DrNJAVYUigpoVvxyLFS9CuNrUAVB/l9lvEEF6cxMWKskwI%204YMVBvYYw2Xfqe7gILkjPWCaeiiSmAvBLEZGUAJAYVY2ln1eceKJJz4EgW9WqGdai3l/wEpNDQsL%20AwUC8UbrjLrYrhdEmJaCw3cApowPcWsEhQgqZrXCr+4UADKbsTyl3bHdoat/BWkDl8HFYr77P2TK%20JBCMBGrw3uY9Acw9SX4JEDL2fqPh5WZ+l48AqBhkE5aInQoseRJHvVkaphw2pwKJiMOUJVRySEUg%202kYEgqKkaW01z0anrpA3g7jqPSgMLHpGEIUfeo2sPUOIOMAUvGOwCcc2kfk4Rl62oXhlKV44vQrR%202tZcq4Ym3VoAFBFOwtJkD+MhQ7NNCGGihD+C+4sWLeL6gEIBJZlkfr44QKTsIB0dRBruaC90RnGg%20utfxYhMZzsUl+P/Zz8Bd6IgLDOLqYdOdCSKcScwsYhOqt/kSiTeDfICEVDyygJfCcxwaMCGEW0UD%20tEdLYHe5SHEaAjIOD+4vAegEw9193p/PItMpYFGY4nr8BQhKUUlCSTRwSRrEUjD0yVhMQUuB6WET%20RGqwoATfJLqXfARbEyQdDKAGN58hECjXhBCqXYJACBNXQgtsxLYCmmADEMGMfACdHzG8U0WrMnMc%206RGYEk0Q1LElQBR+mgCfeeiTFryq7wvwYRyqg0MniOD8oVjuZwb8t7mWEGSyCUA1VTwQJt4w66IQ%20HJGcq8b1a/EjhoDpcgg9ZKb4lhBemy+Eq9WveF8y3Y1nu2OmTcm+sOKwww7bDXMx9FoYfwvgjXwg%20b7IWhbA/oZ2prbOCQUn3RdFgwlLYmgmK69mEoWs04v0A3OcKFQR/bCGRD+AyWfdQEzKXJ4Nicl8p%20z4IQ8gUmm1PFaCa5tXkgJJSTR7ZeffXVVmFIwLwAzCO7Ce+dPQ8MrYOzVwd/oNJ6nVkzsn9fwhEZ%20i5GfctYG5CjW4sddPBpjIrOhne03hckx5kBahtC8Foxm6l4oaBpRwGpo8yYsJ/eHrNlAeYWy/2gD%200UagDTUgUDVa0i4GeeCBB46DdzkKgkEUitlAaQBWrvpATPdQTIR/8WZwaV/2O/uf6eF1KP8mk1sd%20R2+rWTRyFdoKtAZTKLLd9QGEAWwx6FGKNzD7FXqHMN4dsD8mgo5SRCA0Suaie2PlmNx3CIkPCAEH%204GWRU1GoM8fE+20WPzeaWULN2bCApAMDp7GwwPAZM2bcgCTPWNl1MZhhHx+ulcOYjWI8KjBItr9b%20KCZqVy0aSbvOWdkSCNZk7AHnfA/wxl0trAER241ICT+WbdXQpA0Cgfn1WBz6Idy0xsUAGPrZkxBY%20lWJKx9fj+zRCtjRq1uu7LayKifaeo70BvgDRwEHvvvsuy8KVKFKBi1sUMghI4e14o/hK1BE854JB%20SXtCCEq9Z0GCxHy76SFML1IYOPI5B+CvSBrxHbUMC4fADtV3mwaIic4e52FQzXdMmzat7qyzzjqB%20L+dAWl6D0y0KkbngKmOn4rqX3UUjpQG47Q3vfqAyfE4xCG/Km2ttAHr688D8BSauTAAMqu3+apnY%20BzD2PP2Pf/xjPUZ/BXhzEvqcA5P8yYYFaI5DPau93DeIJO0ZQWB8K1U7gSAw1Mb0tWwpsX+uUPH+%20hRde+FccWmuSR0mopCHd7gTGoSD7vgkDlf1ehncDbwQAVAGmz6IPBpCIfoKwG9UEsDaCQrDOAEGK%206tpdJLDsrrvuehFTig+DJI2DTbcfrPlpvNF8FI3+wYQWqylRpoqoOR8BoGBRw5QKEWHj6CoW0c8C%205q+aBgI/O+It7Yu5y+7EuwOfx7wALtc7E4JRma14FZNHGgEFP2PVdbjzAX3VUIs2DK0eteaTEQUM%20ANMrcCNSBkxrA8zbgJKv5WS8EYC1+iGwSUdhIaPrKTgAkFjD5nde4RQT7DwhdvYnczD/geXfXrBq%20NerIY/gBQ+EfjOY7HdDKMiBo7zYIxfpnn312EXEANsOzZpkBlYJXkYloO/FmFAaznzLnCCdoNjjB%20GqvQIMnzsXDkz1EldDY9VAIWXUYxUetSAKiJuBjXJXhXEEfzZjN4+5Fvhmc11oqunmZ5WWDQGsO/%20FtsEZAxztaxIh7l5L7QKCYD1FpEmtE1mmzZSSEexRmAQVFYXqfnY5tPp1mLT3Gf9n+GHnLm0ccQ3%20GE2ekgC4PNPIz1YWrhuSWs3Jmg5mv0w6bc5rMZ8T5ruyBMiablWSoJAcp39F0iv4UKU1RoW/Wv/H%208KTJ4lmZg/BuYzPntbkCkNGJVl1guWkCiXROu91sIIkkpluOYylm3f7Vw0CZbQlBq2ktFvMTzsBV%2068g1MSRjtTb3HcLOOSJ9Tqj1CMNjSjhMFmNbrWOJAJ6FTg4VReFmGbJTEzXlqlsoJsK/rL9QfO4M%20Tm2jUbKrzCcApLcBB09k0WKXU0wq+2pBle/fHVVeEBU6XCtMuDgIbRRWF7sNocoYYgHFJL3mpRTJ%20rr9Mg+BQryOz8X+ake2bAxzgVSeeby+mAPCXVpvikeFo9cAA9kKoMoCARKKI9iAD4hZzHBsAj27j%20oVIKSOR4O5M8GtC+MtsN5nhHMQVAINKOBowYpKVlLRCpmNShpo4tMQFot1/jawCdtYb5muxRkGAn%20u0BSVXmyntLqgkhsRR5BGkWZEtQCAuAU5rGfm93K3mJqAGmBCjPiq0wTIJEoYudJA2S0LWEz0GZa%202rS2YjuB7j0UmyazgEjF70B7v7Qo42oz+1iRNED4vYrOfDHc3f4/o5hiiimmmGKKKaaYYooppphi%20iimmmGKKKaaYYooppv8FlJhXILrvZ3wAAAAASUVORK5CYII=%22%20preserveAspectRatio=%22none%22%20height=%22102.996%22%20width=%2287.169%22%20x=%22159.832%22%20y=%22119.548%22/%3E%3Cg%20transform=%22matrix(.7703%200%200%20.7703%2096.231%20157.67)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Ctext%20transform=%22scale(.98866%201.01147)%22%20y=%22161.244%22%20x=%22204.861%22%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20font-weight=%22400%22%20font-size=%2214.44%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#0ff%22%20stroke-width=%22.278%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20y=%22161.244%22%20x=%22204.861%22%20font-weight=%22500%22%3ESync%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20x=%22205.095%22%20y=%22147.504%22%20transform=%22scale(.98866%201.01147)%22%20font-weight=%22400%22%20font-size=%2219.302%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#ff0%22%20stroke-width=%22.504%22%3E%3Ctspan%20x=%22205.095%22%20y=%22147.504%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ERAM%3C/tspan%3E%3C/text%3E%3Ctext%20transform=%22scale(.98866%201.01147)%22%20y=%22192.306%22%20x=%22205.409%22%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20font-weight=%22400%22%20font-size=%2219.276%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#0f0%22%20stroke-width=%22.278%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20y=%22192.306%22%20x=%22205.409%22%20font-weight=%22500%22%3E16KiB%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "0b91cb0d-4144-4939-8755-e331104016db", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": 128, + "y": 208 } }, { - "source": { - "block": "bc97ca4f-8082-4a12-b1d9-4c9f257ef54a", - "port": "3802390d-8417-4369-b93c-dda647ccb0c6" + "id": "480cf49a-cf72-4fad-a37e-92acddd25d32", + "type": "basic.input", + "data": { + "name": "addr", + "range": "[13:0]", + "clock": false, + "size": 14 }, - "target": { - "block": "2c5224d8-9648-4069-8367-a0c8ec056753", - "port": "inlabel" + "position": { + "x": 120, + "y": 288 } }, { - "source": { - "block": "bc97ca4f-8082-4a12-b1d9-4c9f257ef54a", - "port": "aefe9248-3b3d-441b-9e65-33cda65b99dd" + "id": "2f18358c-ebaa-4fbf-99b4-610ab78deed2", + "type": "basic.output", + "data": { + "name": "", + "range": "[7:0]", + "size": 8 }, - "target": { - "block": "a6820ca3-b48c-4815-aa10-2f6b80e6c4af", - "port": "inlabel" + "position": { + "x": 936, + "y": 336 } }, { - "source": { - "block": "1ac9dd5b-9741-4af4-963a-50cbf8c4c6be", - "port": "out" + "id": "9931384a-74ee-4de4-9df7-cc04fd19cf46", + "type": "basic.input", + "data": { + "name": "d", + "range": "[7:0]", + "clock": false, + "size": 8 }, - "target": { - "block": "9fd18953-28a5-488b-be46-c1107835d885", - "port": "inlabel" + "position": { + "x": 120, + "y": 376 } }, { - "source": { - "block": "dea0965b-016f-40c0-aad7-c4d26a391f46", - "port": "outlabel" + "id": "c61902b3-38ce-45bf-98c9-322638c2264b", + "type": "basic.input", + "data": { + "name": "wr", + "clock": false }, - "target": { - "block": "bc97ca4f-8082-4a12-b1d9-4c9f257ef54a", - "port": "88176871-35ac-42bf-bf62-36c81a4b4b47" + "position": { + "x": 120, + "y": 456 } }, { - "source": { - "block": "8c3ce21f-2214-489f-853a-d60a223034da", - "port": "out", - "size": 10 + "id": "d80bfd80-1f6d-46af-b5de-5cd121ebe630", + "type": "basic.memory", + "data": { + "name": "", + "list": "0 0 0 0 0 0 0 0\n0 0 0 0 0 0 0 0", + "local": false, + "format": 10 }, - "target": { - "block": "a0b2c050-26fc-4ac0-875f-6ef2c1f03c5e", - "port": "inlabel" + "position": { + "x": 464, + "y": 56 }, - "vertices": [], - "size": 10 + "size": { + "width": 200, + "height": 72 + } }, { - "source": { - "block": "ef395571-47c5-4fa2-9bb0-cc6bf29a96df", - "port": "7e8b125e-5171-41ea-871b-ea7f0ffd4a03" - }, - "target": { - "block": "bc052fe3-357e-486c-a2e1-fef8f36a37ae", - "port": "inlabel" + "id": "f5619044-1e4b-4218-bfc2-44eced6cb16a", + "type": "basic.code", + "data": { + "code": "//-- Address with\nlocalparam ADDR_WIDTH = 14;\n//-- Data with\nlocalparam DATA_WIDTH = 8;\n\n//-- Size of the memory\nlocalparam SIZE = 1 << ADDR_WIDTH;\n\n//-- Memory itself\nreg [DATA_WIDTH-1:0] mem[0:SIZE-1];\n\n//-- The data_out is a registered output (not a wire)\nreg [7:0] data_out_i;\nassign data_out = data_out_i;\n\n//-- Reading port: Synchronous\nalways @(posedge clk)\nbegin\n data_out_i <= mem[addr];\nend\n\n//-- Writing port: Synchronous\nalways @(posedge clk)\nbegin\n if (wr) mem[addr] <= data_in;\nend\n\n\n//-- Init the memory\ninitial begin\n \n if (ROMF)\n $readmemh(ROMF, mem, 0, SIZE-1);\n \nend\n", + "params": [ + { + "name": "ROMF" + } + ], + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "addr", + "range": "[13:0]", + "size": 14 + }, + { + "name": "data_in", + "range": "[7:0]", + "size": 8 + }, + { + "name": "wr" + } + ], + "out": [ + { + "name": "data_out", + "range": "[7:0]", + "size": 8 + } + ] + } }, - "vertices": [] - }, - { - "source": { - "block": "fdd4378f-0950-4ef2-b5d9-091a87499091", - "port": "outlabel" + "position": { + "x": 312, + "y": 200 }, - "target": { - "block": "af3693c8-f4e9-4cbe-90e5-cd93b52b1834", - "port": "97b51945-d716-4b6c-9db9-970d08541249" + "size": { + "width": 504, + "height": 328 } - }, - { - "source": { - "block": "ddc62e2a-e70b-449d-860f-e815be4c4d8e", - "port": "outlabel" - }, - "target": { - "block": "ef467ee3-3e65-4bf6-8e70-aae8b6da0bf0", - "port": "b0100e99-7b7f-4731-9a87-6e3ac76eea54", - "size": 10 - }, - "vertices": [], - "size": 10 - }, - { - "source": { - "block": "1ed1a91b-927d-4eed-b00f-b05b5dda7cbf", - "port": "outlabel" - }, - "target": { - "block": "ef467ee3-3e65-4bf6-8e70-aae8b6da0bf0", - "port": "1e637a79-4a6d-495c-bcac-9664bdbe4b94" - }, - "vertices": [] - }, + } + ], + "wires": [ { "source": { - "block": "80c60ca1-61f9-40d2-8a87-5cd02ffb2d90", - "port": "outlabel" + "block": "0b91cb0d-4144-4939-8755-e331104016db", + "port": "out" }, "target": { - "block": "ec68d254-7f67-4ca6-9e0e-b2e2e9d45066", - "port": "eb5386a0-d51a-4bb4-9f25-b8add9f18cfb", - "size": 8 - }, - "size": 8 + "block": "f5619044-1e4b-4218-bfc2-44eced6cb16a", + "port": "clk" + } }, { "source": { - "block": "6940c4f1-a919-408b-9f9a-c542d928ac41", - "port": "outlabel" + "block": "c61902b3-38ce-45bf-98c9-322638c2264b", + "port": "out" }, "target": { - "block": "ec68d254-7f67-4ca6-9e0e-b2e2e9d45066", - "port": "9d2cea30-da88-4104-bf4e-e7934b02a553" + "block": "f5619044-1e4b-4218-bfc2-44eced6cb16a", + "port": "wr" } }, { "source": { - "block": "af3693c8-f4e9-4cbe-90e5-cd93b52b1834", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "d80bfd80-1f6d-46af-b5de-5cd121ebe630", + "port": "memory-out" }, "target": { - "block": "bc97ca4f-8082-4a12-b1d9-4c9f257ef54a", - "port": "ba15eacb-1e03-4580-932b-3231703481e5" + "block": "f5619044-1e4b-4218-bfc2-44eced6cb16a", + "port": "ROMF" } }, { "source": { - "block": "8c3ce21f-2214-489f-853a-d60a223034da", + "block": "9931384a-74ee-4de4-9df7-cc04fd19cf46", "port": "out" }, "target": { - "block": "ef395571-47c5-4fa2-9bb0-cc6bf29a96df", - "port": "6f62a1a4-70d0-42a7-bb69-0639fbebdc04" + "block": "f5619044-1e4b-4218-bfc2-44eced6cb16a", + "port": "data_in" }, - "vertices": [], - "size": 10 + "size": 8 }, { "source": { - "block": "ef467ee3-3e65-4bf6-8e70-aae8b6da0bf0", - "port": "a8e40103-081c-4611-bd1a-6eeda46b33e3" + "block": "f5619044-1e4b-4218-bfc2-44eced6cb16a", + "port": "data_out" }, "target": { - "block": "9aa5255a-60da-463d-ba87-d4f96456d802", + "block": "2f18358c-ebaa-4fbf-99b4-610ab78deed2", "port": "in" }, - "vertices": [], - "size": 10 + "size": 8 }, { "source": { - "block": "ec68d254-7f67-4ca6-9e0e-b2e2e9d45066", - "port": "eda56153-8d23-4caa-a8de-73c6be124bb9" + "block": "480cf49a-cf72-4fad-a37e-92acddd25d32", + "port": "out" }, "target": { - "block": "ef467ee3-3e65-4bf6-8e70-aae8b6da0bf0", - "port": "c2bdc405-f749-4bec-bea6-8fe3705fa3bb" + "block": "f5619044-1e4b-4218-bfc2-44eced6cb16a", + "port": "addr" }, - "vertices": [], - "size": 10 + "size": 14 } ] } } }, - "46cae7e9ebf62b7867b3a90798e5bc71b9eec2e0": { + "d1635cb33c6d31e1ea457005c78d574fcf71828b": { "package": { - "name": "stdout-bus-next-out", - "version": "0.1", - "description": "Extract the next signal from the stdout bus", + "name": "membus-16KB-split", + "version": "0.2", + "description": "Split a 16KB memory bus into its fields", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22356.708%22%20height=%22176.233%22%20viewBox=%220%200%2094.37896%2046.628384%22%3E%3Cg%20transform=%22translate(-44.148%20-120.418)%22%3E%3Crect%20width=%2233.016%22%20height=%227.314%22%20x=%22105.246%22%20y=%22141.954%22%20ry=%220%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22bevel%22/%3E%3Crect%20width=%2235.851%22%20height=%2214.797%22%20x=%2244.412%22%20y=%22138.101%22%20ry=%220%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22bevel%22/%3E%3Crect%20width=%2225.079%22%20height=%2227.493%22%20x=%2280.36%22%20y=%22132.039%22%20ry=%220%22%20fill=%22#999%22%20stroke=%22#000%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22bevel%22/%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%2246.181%22%20y=%22130.756%22%20font-weight=%22400%22%20font-size=%2212.449%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20x=%2246.181%22%20y=%22130.756%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ESTDOUT%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%2250.363%22%20y=%22164.97%22%20font-weight=%22400%22%20font-size=%2212.449%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20x=%2250.363%22%20y=%22164.97%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EBUS%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E" + "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": { "graph": { "blocks": [ { - "id": "7e8b125e-5171-41ea-871b-ea7f0ffd4a03", + "id": "1fcc5668-ae6d-4286-9b66-f8f113c12bea", "type": "basic.output", "data": { - "name": "next" + "name": "addr", + "range": "[13:0]", + "size": 14 }, "position": { "x": 608, - "y": 192 + "y": 120 } }, { - "id": "6f62a1a4-70d0-42a7-bb69-0639fbebdc04", + "id": "afe50480-6fe5-4ca6-b639-c730569a6a1d", + "type": "basic.output", + "data": { + "name": "data", + "range": "[7:0]", + "size": 8 + }, + "position": { + "x": 624, + "y": 224 + } + }, + { + "id": "2117685c-3a4e-4403-a12a-5de3ed4c20a5", "type": "basic.input", "data": { - "name": "", - "range": "[9:0]", + "name": "i", + "range": "[23:0]", "clock": false, - "size": 10 + "size": 24 }, "position": { - "x": 128, - "y": 192 + "x": 48, + "y": 248 + } + }, + { + "id": "c79430a3-a90f-40e9-af05-e6da44b5ac8d", + "type": "basic.output", + "data": { + "name": "wr" + }, + "position": { + "x": 576, + "y": 344 + } + }, + { + "id": "9751f777-00ec-46c1-8d85-07d2dec1e653", + "type": "basic.output", + "data": { + "name": "bbusy" + }, + "position": { + "x": 536, + "y": 432 } }, { "id": "16e78204-213e-4833-9096-89d735307ec2", "type": "basic.code", "data": { - "code": "assign o = i[0];", - "params": [], "ports": { "in": [ { "name": "i", - "range": "[9:0]", - "size": 10 + "range": "[23:0]", + "size": 24 } ], "out": [ { - "name": "o" + "name": "addr", + "range": "[13:0]", + "size": 14 + }, + { + "name": "data", + "range": "[7:0]", + "size": 8 + }, + { + "name": "wr" + }, + { + "name": "bbusy" } ] - } + }, + "params": [], + "code": "//-- Addr\nassign addr = i[23:10];\n\n//-- data\nassign data = i[9:2];\n\n//-- write\nassign wr = i[1];\n\n//-- Bus is busy\nassign bbusy = i[0];" }, "position": { - "x": 296, + "x": 224, "y": 176 }, "size": { "width": 264, - "height": 88 + "height": 208 } } ], @@ -15290,1297 +14719,1252 @@ { "source": { "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o" + "port": "bbusy" }, "target": { - "block": "7e8b125e-5171-41ea-871b-ea7f0ffd4a03", + "block": "9751f777-00ec-46c1-8d85-07d2dec1e653", "port": "in" } }, { "source": { - "block": "6f62a1a4-70d0-42a7-bb69-0639fbebdc04", + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "wr" + }, + "target": { + "block": "c79430a3-a90f-40e9-af05-e6da44b5ac8d", + "port": "in" + } + }, + { + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "data" + }, + "target": { + "block": "afe50480-6fe5-4ca6-b639-c730569a6a1d", + "port": "in" + }, + "size": 8 + }, + { + "source": { + "block": "2117685c-3a4e-4403-a12a-5de3ed4c20a5", "port": "out" }, "target": { "block": "16e78204-213e-4833-9096-89d735307ec2", "port": "i" }, - "size": 10 + "size": 24 + }, + { + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "addr" + }, + "target": { + "block": "1fcc5668-ae6d-4286-9b66-f8f113c12bea", + "port": "in" + }, + "size": 14 } ] } } }, - "3e13565dc4f4666505760a8e42d91e6ba1ab5a7f": { + "6e4fc811dcd6d1ac703e608270f81ee906ee7e98": { "package": { - "name": "10bits-2-1-Mux", - "version": "0.1", - "description": "10 bits, 2-1 Multiplexor", - "author": "Juan Gonzalez-Gomez (obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2280.833%22%20height=%22158.56%22%20viewBox=%220%200%2075.781585%20148.65066%22%3E%3Cpath%20d=%22M74.375%2036.836c0-12.691-6.99-24.413-18.326-30.729-11.335-6.316-25.284-6.262-36.568.141C8.198%2012.652%201.304%2024.427%201.407%2037.118v74.415c-.103%2012.69%206.79%2024.466%2018.074%2030.87%2011.284%206.403%2025.233%206.457%2036.568.14%2011.336-6.316%2018.326-18.037%2018.326-30.728z%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%222.813%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.448%22%20y=%2291.518%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.448%22%20y=%2291.518%22%3E0%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.359%22%20y=%2214.582%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.359%22%20y=%2214.582%22%3E1%3C/tspan%3E%3C/text%3E%3C/svg%3E" - }, + "name": "membus-16KB-join", + "version": "0.0.2", + "description": "Join the fields into one 16KB memory bus", + "author": "Juan Gonzalez-Gomez (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=%22M164.218%2077.643L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v26.186l61.698.046c8.012-.043%2015.705%203.133%2021.47%208.81l61.448%2061.315a57.292%2057.292%200%200%200%2039.993%2016.139%2057.292%2057.292%200%200%200-39.993%2016.14L83.668%20190.45c-5.765%205.677-13.458%208.853-21.47%208.81L.5%20199.306v26.186h62.612c14.924.039%2029.463-5.9%2040.204-16.28l60.902-60.863a29.857%2029.857%200%200%201%2021.347-8.81l146.53-.113V86.457H185.571a29.884%2029.884%200%200%201-21.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" + }, "design": { "graph": { "blocks": [ { - "id": "c2bdc405-f749-4bec-bea6-8fe3705fa3bb", + "id": "61496e71-85ba-465b-89b9-fedb08b8590d", "type": "basic.input", "data": { - "name": "i1", - "range": "[9:0]", + "name": "addr", + "range": "[13:0]", "clock": false, - "size": 10 + "size": 14 }, "position": { - "x": -664, - "y": -88 + "x": 128, + "y": 192 + } + }, + { + "id": "25996d5e-6856-4828-8cb3-5dea5ff5cf9c", + "type": "basic.input", + "data": { + "name": "data", + "range": "[7:0]", + "clock": false, + "size": 8 + }, + "position": { + "x": 128, + "y": 264 } }, { - "id": "a8e40103-081c-4611-bd1a-6eeda46b33e3", + "id": "81a20a74-f096-4c3b-bc35-91917f08c79b", "type": "basic.output", "data": { "name": "", - "range": "[9:0]", - "size": 10 + "range": "[23:0]", + "size": 24 }, "position": { - "x": -88, - "y": 0 + "x": 760, + "y": 288 } }, { - "id": "b0100e99-7b7f-4731-9a87-6e3ac76eea54", + "id": "dbe1622c-3510-4132-8b5c-2fbf81d7f581", "type": "basic.input", "data": { - "name": "i0", - "range": "[9:0]", - "clock": false, - "size": 10 + "name": "wr", + "clock": false }, "position": { - "x": -664, - "y": 0 + "x": 128, + "y": 328 } }, { - "id": "1e637a79-4a6d-495c-bcac-9664bdbe4b94", + "id": "49fb1766-1e7f-4706-9872-a6cd65cc9f2d", "type": "basic.input", "data": { - "name": "sel", + "name": "bbusy", "clock": false }, "position": { - "x": -656, - "y": 88 + "x": 128, + "y": 400 } }, { - "id": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "id": "3545528c-05e2-4e95-8223-5b7b77587423", "type": "basic.code", "data": { - "code": "\nreg [9:0] o;\n\nalways @(*) begin\n case(sel)\n 0: o = i0;\n 1: o = i1;\n default: o = i0;\n endcase\nend\n\n", - "params": [], "ports": { "in": [ { - "name": "i1", - "range": "[9:0]", - "size": 10 + "name": "addr", + "range": "[13:0]", + "size": 14 }, { - "name": "i0", - "range": "[9:0]", - "size": 10 + "name": "data", + "range": "[7:0]", + "size": 8 }, { - "name": "sel" + "name": "wr" + }, + { + "name": "bbusy" } ], "out": [ { "name": "o", - "range": "[9:0]", - "size": 10 + "range": "[23:0]", + "size": 24 } ] - } + }, + "params": [], + "code": "assign o = {addr, data, wr, bbusy};\n\n" }, "position": { - "x": -464, - "y": -104 + "x": 328, + "y": 224 }, "size": { - "width": 304, - "height": 272 + "width": 352, + "height": 184 } } ], "wires": [ { "source": { - "block": "1e637a79-4a6d-495c-bcac-9664bdbe4b94", + "block": "25996d5e-6856-4828-8cb3-5dea5ff5cf9c", "port": "out" }, "target": { - "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", - "port": "sel" - } + "block": "3545528c-05e2-4e95-8223-5b7b77587423", + "port": "data" + }, + "size": 8 }, { "source": { - "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", - "port": "o" + "block": "dbe1622c-3510-4132-8b5c-2fbf81d7f581", + "port": "out" }, "target": { - "block": "a8e40103-081c-4611-bd1a-6eeda46b33e3", - "port": "in" + "block": "3545528c-05e2-4e95-8223-5b7b77587423", + "port": "wr" + } + }, + { + "source": { + "block": "49fb1766-1e7f-4706-9872-a6cd65cc9f2d", + "port": "out" }, - "size": 10 + "target": { + "block": "3545528c-05e2-4e95-8223-5b7b77587423", + "port": "bbusy" + } }, { "source": { - "block": "c2bdc405-f749-4bec-bea6-8fe3705fa3bb", + "block": "61496e71-85ba-465b-89b9-fedb08b8590d", "port": "out" }, "target": { - "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", - "port": "i1" + "block": "3545528c-05e2-4e95-8223-5b7b77587423", + "port": "addr" }, - "size": 10 + "size": 14 }, { "source": { - "block": "b0100e99-7b7f-4731-9a87-6e3ac76eea54", - "port": "out" + "block": "3545528c-05e2-4e95-8223-5b7b77587423", + "port": "o" }, "target": { - "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", - "port": "i0" + "block": "81a20a74-f096-4c3b-bc35-91917f08c79b", + "port": "in" }, - "size": 10 + "size": 24 } ] } } }, - "dfb235f1673ee7cefa8539b9a9f9e43979df37ea": { + "7dd73370f9ea522fe9c9e331d4d240f520f61d10": { "package": { - "name": "stdout-bus-joint2", + "name": "14bits-Value_0", "version": "0.1", - "description": "stdout bus joiner (data + tic)", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22354.768%22%20height=%22219.63%22%20viewBox=%220%200%20332.595%20205.90272%22%3E%3Cpath%20d=%22M164.218%2068.938L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v26.186l61.698.046c8.012-.043%2015.705%203.133%2021.47%208.81l61.448%2052.61a57.292%2057.292%200%200%200%2039.993%2016.139%2057.292%2057.292%200%200%200-39.993%2016.139l-61.448%2049.93c-5.765%205.678-13.458%208.854-21.47%208.81L.5%20179.217v26.187h62.612c14.924.039%2029.463-5.9%2040.204-16.28l60.902-49.48a29.857%2029.857%200%200%201%2021.347-8.809l146.53-.114V77.752H185.571a29.884%2029.884%200%200%201-21.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22341.249%22%20y=%22247.958%22%20font-weight=%22400%22%20font-size=%2244.109%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.938%22%20transform=%22translate(-184.13%20-199.542)%22%3E%3Ctspan%20x=%22341.249%22%20y=%22247.958%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ESTDOUT%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22390.889%22%20y=%22387.938%22%20font-weight=%22400%22%20font-size=%2244.109%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.938%22%20transform=%22translate(-184.13%20-199.542)%22%3E%3Ctspan%20x=%22390.889%22%20y=%22387.938%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EBUS%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22299.979%22%20y=%22389.373%22%20font-weight=%22400%22%20font-size=%2215%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%22.938%22%20transform=%22translate(-184.13%20-199.542)%22/%3E%3C/svg%3E" + "description": "14bits constant value: 0", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22153.645%22%20height=%22230.616%22%20viewBox=%220%200%20144.04211%20216.20273%22%3E%3Cg%20style=%22line-height:0%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%3E%3Cpath%20d=%22M72.021%2022.332q-21.774%200-32.8%2021.495-10.887%2021.355-10.887%2064.344%200%2042.85%2010.887%2064.345%2011.026%2021.355%2032.8%2021.355%2021.913%200%2032.8-21.355%2011.027-21.495%2011.027-64.345%200-42.99-11.027-64.344-10.887-21.495-32.8-21.495zm0-22.332q35.034%200%2053.458%2027.776%2018.563%2027.636%2018.563%2080.395%200%2052.62-18.563%2080.396-18.424%2027.636-53.458%2027.636-35.033%200-53.597-27.636Q0%20160.79%200%20108.17q0-52.76%2018.424-80.395Q36.988%200%2072.021%200z%22%20style=%22line-height:1.25%22%20font-size=%22285.851%22%20font-family=%22sans-serif%22%20stroke-width=%227.146%22%20font-weight=%22400%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22/%3E%3C/g%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "eb5386a0-d51a-4bb4-9f25-b8add9f18cfb", - "type": "basic.input", - "data": { - "name": "", - "range": "[7:0]", - "clock": false, - "size": 8 - }, - "position": { - "x": 112, - "y": 168 - } - }, - { - "id": "eda56153-8d23-4caa-a8de-73c6be124bb9", + "id": "9a292d4b-866d-4b91-919d-e75f9a0714b9", "type": "basic.output", "data": { "name": "", - "range": "[9:0]", - "size": 10 + "range": "[13:0]", + "size": 14 }, "position": { - "x": 648, - "y": 192 + "x": 928, + "y": 256 } }, { - "id": "9d2cea30-da88-4104-bf4e-e7934b02a553", - "type": "basic.input", + "id": "7c214b7c-5138-4e3e-aa20-c423be96e47e", + "type": "basic.constant", "data": { - "name": "tic", - "clock": false + "name": "", + "value": "0", + "local": true }, "position": { - "x": 112, - "y": 232 + "x": 728, + "y": 160 } }, { - "id": "16e78204-213e-4833-9096-89d735307ec2", - "type": "basic.code", - "data": { - "code": "assign o[9:1] = {i, tic};", - "params": [], - "ports": { - "in": [ - { - "name": "i", - "range": "[7:0]", - "size": 8 - }, - { - "name": "tic" - } - ], - "out": [ - { - "name": "o", - "range": "[9:0]", - "size": 10 - } - ] - } - }, + "id": "f1162367-605e-4e74-b25c-1a03e7175a02", + "type": "3dcd4b40bf34ee2c849e07c685bec61517a3ee88", "position": { - "x": 296, - "y": 176 + "x": 728, + "y": 256 }, "size": { - "width": 264, - "height": 88 + "width": 96, + "height": 64 } } ], "wires": [ { "source": { - "block": "eb5386a0-d51a-4bb4-9f25-b8add9f18cfb", - "port": "out" + "block": "7c214b7c-5138-4e3e-aa20-c423be96e47e", + "port": "constant-out" }, "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i" - }, - "size": 8 - }, - { - "source": { - "block": "9d2cea30-da88-4104-bf4e-e7934b02a553", - "port": "out" + "block": "f1162367-605e-4e74-b25c-1a03e7175a02", + "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "tic" - } + "vertices": [] }, { "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o" + "block": "f1162367-605e-4e74-b25c-1a03e7175a02", + "port": "eecc16dc-2b03-4f7b-bc80-7bbc3012a333" }, "target": { - "block": "eda56153-8d23-4caa-a8de-73c6be124bb9", + "block": "9a292d4b-866d-4b91-919d-e75f9a0714b9", "port": "in" }, - "size": 10 + "size": 14 } ] } } }, - "af1545e2cba3d57550e8c41f0e5cd36e4ec1e0be": { + "3dcd4b40bf34ee2c849e07c685bec61517a3ee88": { "package": { - "name": "stdout-serial-buffer", - "version": "0.2", - "description": "Serial transmiter for the stdout bus (1 char buffer). Sysclk parameter", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22230.265%22%20width=%22258.177%22%20viewBox=%220%200%20242.04167%20215.87473%22%3E%3Cg%20transform=%22translate(344.08%20-10.985)%20scale(1.04907)%22%20stroke=%22#000%22%3E%3Cpath%20d=%22M-170.798%20177.526l.315%2036.011%2040.397-37.263v-33.51z%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M-308.584%20177.892l53.235-35.7%20124.635.628-39.456%2035.7%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Crect%20ry=%223.509%22%20height=%2236.325%22%20width=%22139.039%22%20y=%22178.153%22%20x=%22-308.895%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22square%22/%3E%3Cg%20transform=%22matrix(1.88858%200%200%201.88858%20-312.436%20138.651)%22%20stroke-width=%22.938%22%20stroke-linecap=%22square%22%3E%3Ccircle%20cy=%2230.367%22%20cx=%2211.326%22%20r=%223.15%22%20fill=%22red%22/%3E%3Ccircle%20cy=%2230.367%22%20cx=%2220.611%22%20r=%223.15%22%20fill=%22#faa%22/%3E%3Ccircle%20cy=%2230.367%22%20cx=%2262.82%22%20r=%223.15%22%20fill=%22green%22/%3E%3Ccircle%20cy=%2230.367%22%20cx=%2230.554%22%20r=%223.15%22%20fill=%22red%22/%3E%3C/g%3E%3C/g%3E%3Ctext%20y=%2240.93%22%20x=%2225.952%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2294.276%22%20letter-spacing=%220%22%20word-spacing=%220%22%20transform=%22scale(.99853%201.00147)%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%221.749%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2240.93%22%20x=%2225.952%22%20font-weight=%22700%22%20font-size=%2253.872%22%3ESerial%3C/tspan%3E%3C/text%3E%3Ctext%20y=%22108.569%22%20x=%22-3.867%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2294.276%22%20letter-spacing=%220%22%20word-spacing=%220%22%20transform=%22scale(.99853%201.00147)%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%221.749%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%22108.569%22%20x=%22-3.867%22%20font-weight=%22700%22%20font-size=%2253.872%22%3ESTDOUT%3C/tspan%3E%3C/text%3E%3C/svg%3E", - "otid": 1574522291739 + "name": "14-bits-gen-constant", + "version": "0.1", + "description": "Generic: 14-bits generic constant", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22145.608%22%20height=%22247.927%22%20viewBox=%220%200%20136.50729%20232.43134%22%3E%3Cg%20style=%22line-height:0%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%3E%3Cpath%20d=%22M56.012%20146.905q9.055%206.708%2020.459%2017.105%2011.404%2010.062%2022.472%2021.8%2011.403%2011.74%2021.465%2024.15%2010.062%2012.074%2016.1%2022.471h-32.87q-6.372-10.397-15.763-21.13-9.392-11.068-20.124-21.13-10.398-10.062-21.13-18.447-10.398-8.385-18.783-14.087v74.794H0V4.695L27.838%200v141.874q18.447-16.1%2036.894-31.863%2018.447-16.1%2033.205-33.205h32.533q-14.422%2017.106-34.881%2035.217-20.124%2018.112-39.577%2034.882z%22%20style=%22line-height:1.25%22%20font-size=%22335.399%22%20font-weight=%22400%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22/%3E%3C/g%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "2d00d963-00f8-4a0a-9cb8-a4e5bfb61323", - "type": "basic.input", + "id": "eecc16dc-2b03-4f7b-bc80-7bbc3012a333", + "type": "basic.output", "data": { "name": "", - "clock": true - }, - "position": { - "x": 248, - "y": 224 - } - }, - { - "id": "340a0c20-8472-4bd8-ae36-204a57b49285", - "type": "basic.inputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", + "virtual": true, + "range": "[13:0]", "pins": [ { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true - }, - "position": { - "x": 424, - "y": 224 - } - }, - { - "id": "019dc637-ca36-4e18-8db1-5d5318fb2d6e", - "type": "basic.outputLabel", + "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": 968, + "y": 248 + } + }, + { + "id": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "type": "basic.constant", "data": { - "blockColor": "yellow", - "name": "clk" + "name": "", + "value": "0", + "local": false }, "position": { - "x": 472, - "y": 376 + "x": 728, + "y": 128 } }, { - "id": "3229f563-798d-4db3-9966-52596ca5cef1", - "type": "basic.inputLabel", + "id": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "type": "basic.code", "data": { - "name": "tx", - "pins": [ + "ports": { + "in": [], + "out": [ + { + "name": "k", + "range": "[13:0]", + "size": 14 + } + ] + }, + "params": [ { - "index": "0", - "name": "", - "value": "" + "name": "VALUE" } ], - "virtual": true, - "blockColor": "fuchsia", - "oldBlockColor": "fuchsia" + "code": "assign k = VALUE;" }, "position": { - "x": 928, - "y": 376 + "x": 672, + "y": 248 + }, + "size": { + "width": 208, + "height": 64 + } + } + ], + "wires": [ + { + "source": { + "block": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "port": "constant-out" + }, + "target": { + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "VALUE" } }, { - "id": "f2043f09-b391-40ea-9d1d-721438b68ef1", - "type": "basic.output", + "source": { + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "k" + }, + "target": { + "block": "eecc16dc-2b03-4f7b-bc80-7bbc3012a333", + "port": "in" + }, + "size": 14 + } + ] + } + } + }, + "76edf4205ccb9e56d286f0315a959a27a34b5c04": { + "package": { + "name": "Mem-16KB-sample-machine", + "version": "0.3", + "description": "16KB memory sample machine. Captura the input data and store it in the memory", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20viewBox=%220%200%2088.570022%20126.13218%22%20height=%22476.72%22%20width=%22334.753%22%3E%3Cg%20transform=%22translate(-158.43%20-96.411)%22%3E%3Cimage%20xlink:href=%22data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAgM0lEQVR4Xu1dCZBU1bm+PdPTM8CM%20AgMO+yCrAq4oGjWKIIorcYnRlD59saImGlOaqK/UPPeHu5VyjyYuMRu+uFVEjRqX4FNRQURwQVxQ%20YdiGZQYGepZ+33frfK9Oneq+t+/0zHTad/+qU7fv7bt0n/8///L9/znX+1ZTTDHFFFNMMcUUU0wx%20xRRTTDHFFFNMMcUUU0wxxZToofuX8XPo82LqcLaZUhUAMbucraKi4viysrI9jCBkp5gybKBH0un0%20cuy3URC6WwiSXvcRmV9ZVVV1azKZPBvN69+/vzd06FBv2LBh1mkxff31197ixYvJfa+1tfUnHR0d%20x7W1tc3HV2kJQakJQBmZjzYUo99n/qRJk7xTTz3V69WrV5bTY/rmm2+8u+++29u6desO2L0cAnCq%20YXy61AQgYe5bBebvB9XvJRIJ79hjj/VSqZTX3t6e5ZKYBg0a5B133HHenDlzPPRZLQ5VG+a3lpwJ%20kPoH83uT+Ww77rhjCPNjYh+Z/hqK3T5oW9C2obWXlAaQAMCm9SovL/cGDx7sQaWFXBbTTjvt5AsA%20+qwOu7SVSTnOpSgASdBkSjTtPhybkMtioomkyWTjLvmjSK0UncAkJLmMAgDKUwBiqqur81atWkUt%200Bcmc2XJaQCBPtqCvMrKyjztf0wIm9lp1AbjW1paPrIwlUzJaAAJAKgajbYtTwGIaeDAgd6KFSv8%20zmMfloIJcCFf3rOCDT7AKAgAAY78nMCYqC3lB/Q1/Zgy4WB7AERcVAFIiPE333zz6JEjR565ffv2%20Xlu2bKm58847d2psbKQAhGiAmOQr1dTU+J8PPPDAE37wgx8MhgO9BeZg++bNm18588wzXzYQcXtX%20CUGii5ifuuyyy8YD7Fk4YMAAOTHelVde6X300UfejBkzPAhGwG1i5ksA2HdPPfWUd/LJJ7NRczKM%209iOp55577oyzzjrrvwkOGUHIFFsDJIya6nPQQQfdSweGKoyNAgBNIIcmRxQQM15ELcl9oKdU/4yh%202W/sR/anvz98+PD/wqnPozUZc9BeFA3gMv/GG288CgLwaL9+/by+fft6q1ev9gXgqKOO8v/MEUcc%204UOdJUxiUgSmRhv59va3v/2tnztBv9J0+k40Bxe16fLly2effvrpt1EIlCfobg2Q0FYq34J7q6ZN%20mzZ8v/32u5nSKonllhKrPACOyQcofQEonPlZma7GZ6jPFD5v27bN69Onj78/evTon/34xz9+/v77%20719s+NFup5OjOoqJKA7ezjvvPAuM7QuGJkBlyFtXgNkzMbrHUXUx3Utmf/XVVz7zTzrpJL9TTjnl%20FK+EieYrAuO1H8r8nBrgb3/7m1dbW+vNnj3bfzY165AhQ7zPPvvM9wlWrly5DFnD5yAUaQhMB4Qk%20g/My0LxPn3POOQuiOIqJPCDd1IMPPnjiiBEjHiFzObK15Y9Zs2aNn+Ovrq5mKtP74IMPlPjxfvGL%20X3ggCkKpC0AhjNdxfbZb1u9ffPFFb8OGDd4dd9zB+gBv/fr13pgxYzw62OzzTz75hKaWfc5+5jFt%20aX5/hrT7gzQPchQ7awLKZOPB4Nly7CQAbBzlUv38/P7773vQEs0vv/zyckhpNTpkNK6X+i911a/P%20UUe8y2jdI6tgiMj4t956axGFb88996wD0wfRDJDp7G/wQ+l18kJbaoo7jjzyyL8/++yzX8tR7JQG%20EPPRasHQT/FwPkBCwCaJ8zXAhx9+6Esp4lVJqXfDDTf42uDggw/uSVsscjtd+1Gu1/lsETRAkLoP%201whLlizx2+9//3uNbm/8+PHe22+/7e2yyy5ECmluXQ3A5kdeTz/99OlwIOfiVs0mZMwUpAEA6pDx%20fKgEQM6ez4w33niDQuDbLVJzczO/U1hDFdqVjC/cMYt+vYRAx8JUvCtA+Qinew/aeoZ+ZDAjAZ/p%20L730EiMEAkbsY35HXnDLfqdJZn/3poOO1kIB6KwJSAjWBZOXbtq0acK6det4c7v5Dx83bhwZQcEg%20w33mAwFkR7goYE8LghgSpgGiMknfBal7Nff5bIHnsx+5hZPN/vQZrKTaPvvsw/IxagGZYTX1/Qo4%207B8Y/y1RSBiokKIDCN9//upXvzoRUjgMzKxgBMBIgIQQpQwJjElQRymZBgoAnRj9GVzTE/Y5aDQV%20cr39XRRV79p6CQKZlfV7HaPZlPYk0zm6JQDIEHKkL2tqatrcAWIEwMvwfevatWu/efTRR1+wI4BC%20BYA32o625dprr32R/gBab3NdObzSGoAWp+AHp+QfSOVLimWnihSjizGFXu9+7zLVfYaOaWt/lkl0%20Ge+eRy0qbIX7cvoIq484/vjjH4BGbrJCvq1oG9BWo20zqj/U9iZC1H81mY5q1csQ6x+KeHSkHQbS%204VMRA4/RLr3zzjsefYbXXnuNjTbMb98KClf37ne5jkkLZDUX7Nd//vOf3ne/+13vkEMO8Xr37s1I%20gJqAZsHXrtAATB3bTiCPrYXf8NpvfvObG8GHz4UWFuIElkGl/BwO3r+7IaCwfkqlnEH+6LFjx3Kf%20zJc0f9vyAO7IzmfUZ8MW3OO6BweStGd6t912S5Hpb775pjd58mSli8lw5Q3kBBIbGIhrT0QSbgTM%209jGqJ+iMACivX4VM1BnCAOwmW88fy+8XLFjAH9R49NFHPwNPNA3I8mgcHwTp/bYIQC47HmYqcp7j%20OpiuxnjssceW3X777f/D/YcffvhwhIH1+++/vwYd+10aQELBRuRw3/PPP38s0vGLFQayRRWASrQ+%20YF6N7BCbGwYyTUnmm+rf/n/+859P5+df//rX3scff+ypIORbQLkAnSAH0T2WCxDKeg5yLBP/9Kc/%20TbSdwHnz5tEcKMyWj2BjATQhHIzjcJtPjA/XHlUDCAPoDa9T6kXhhv9gMXbhwoW0RYxTqf4JBUtA%205PCUPBLo2m2X+focgQLxAWL+ep4YTJyFnxsaGuhnMSlE6F0mVlv6ATzOaKHNDOLyzkQBSgKVY87a%20vXBEzqVU8eZ8iJhKdJB2CRgBpZPHZaPowRbTB3DVaqHXh4V67oiOKgTaJ+MY40sA5PlL8xJsI/PT%20mE+YIlDEczTYYG7pN9BJnHfvvfd+lk9NYTIkBGy9/PLLn5syZcoqPHRnaIIqU6yYAGMpWeWoA9h1%203333HQfG0ymk6uEPlQAwj01hKVUBEEPz9eZzYQt5h6LLli0jw3k+4XRXALjPnMt6wL3zySOc126u%207QBrtmOQrnnmmWfeVh1hZ5NBHWS+iS03zp8//2O0tSY3UG5a6phjjhkPp2Sc4n/lsCWRaMUe/WJM%20IdcGaQD+vyBgxx7pYc/loGHmz36WgCBbAJgXGAwsoOamm26aJ0ab1kJ+oTWibdF3hQhAC8KQjtNO%20O+0QPPBgSFh5whCksgwmYJjtINIUfPnll2SARkexBUCd35UCQIa710SCjd3vlTHl6Hc1Co9xS5yf%20dl8a4fDDD5+2xx57jAAPVA/gI7eoKVz4/PPPz4EWkAB0RBWAhGl8SM0FF1xwPx4yXo6dtgR7Nm7c%20qOofZgVZrsSctf8ZxOOlYv+DGGcLM7dhYV02LRAaKXz66adZsQH6A6NGjfK++OILf4ChLoMCwHQx%20ne8x6G95/0oaTdh1112PQ6Rw8vXXX/9GZ6FgqviKH/7wh6cB5h2fDQPgD6Dal+3HH6D6WoLpzSuQ%20H6hFR00pCQEITwa5zHcdvygYQFYBBYbPweQy33/ek08+OR9+1DqM9tqJEyfuB6bT0dM6C9II8hNk%20LmrgnJ+Nr98xvGyPggMIBOoNaZqZCwOgACgWfe+99wgHUyv0wxz3fvBOK1naDCqeAES3wdkydmJ6%20ULVPlJSve4whm7z+rNfuvffew1BnMYz9iMGYBhiUAj7AwWfnB1xAiP1eTx4aHKA1qgmoQOuFZMM2%20Le0iVS8hkF2aO3euX6Sw++678/gQNP04tmJhAO4oDTtH4Wouu5+rHiDoWNjz+Tyqdqn+XGsGDGEx%20CJnKfqYJIBhUX19PbMBGAwXPU5swZE8aAWg2g7o9igDwghTU+st4yIEo8qR614PUuNYPcQB2gh0B%20KEnEzz2NAopRQUwPvc62+7YwhJHLePd+7rmI5VnxG6hdpGnJZEHAsPF+4ccLL7ygzKsGp2oFeXyp%20GchlnU0Hd1xzzTXzZs2add306dMPwg1T6AS/yIC1AHhgAn+gDAKyN+yRoGEJQE+HgTbTIwhA4LlK%20bbueea578ry8439oVwI2YfWECv2k1qVdOcqX4bNqAjIQlAySRh1pELTywoceeuhFjfqoAkCOtZmc%208mbY8vfQvsF+jSTKXFcJ3P80FSdasCVbT6OAfE6AAETzB8TMELJHdyR4mBEUwrW8tAqFRFgAeKuq%20HxZ/1iE8nwsHkuq2VcCdUfmN5J3hYVvUbGDGXNTCm8ABqcVExYGQsio0nl9ObYBc9QGIS4fpB0kA%20ILHqCDGm2GrfPTdSvt9toKAQMBQSpsqX05cHUdXbA0ueP0PAHe67776TkSz6K/q8FfdrY8PnXsBi%20Nr/yyiubyMNOFYWqnBiFIMfAAbnBjQA0H4CMFvYPtUMcm99zCpPjHUemqPa7K+bm2aPfbi4zXSaH%20ZvtssAfMsZy+cGKU8Prrr8u790w6WFp28HnnnXc+czJ2JMDt2Wef/QjC+EsiQcH2TKCf/vSnoydM%20mEDm55wPIPWPknCqpmY4i58atTUGm2qZgH/xtK6Y7gI/dtMxCbUNCGk/0PaT6eifKMzX/IA0/IWl%20uI4O9xhA8tUHHHAAGc0+Z3OxAG4ZIfzb7373u0U/+tGPHrDKwzKhGkBz/hBrni6VLqbbn/VgxPy0%20aXT81iFV2c7vlL9mKxIFedZBJVuuANgYiC0IWa9xBcl2hOnxa7Z0BGJ+IAVktZ1C9eqrr34BQGgS%20J+DstddedmGIRr6azAUHYq+gxFAyFwYAhlbxB8vDd6Fgph5ZnkxnBhlBerUjEaeOxHcMGYVs9SST%20XTXunhNUjp1LACT4OuYyOFeuwN5nH3WK+boe4NpkMpU8QG6GU8c4SYSwO7Ot2YpCOCiJMFYRC5Av%20EMUEpABQLCHowHBF8/5tIu6PQlECEtQGFBTNExDzu0MAwpgpFet+F8z4cAFwr8l79EMrkhkF9YVU%20vJjNmgCG2iy+Yf/zmO1n0G8gwTfYbkVuiUg4wK233roIocYcqJyD8cBBkmp1Do41IzlBhldbtqi7%20BUCMCMvURREAXeMCP3axRdSmkS9MpCBBp++AbKwPCilFvMMOO6QBCDUCgh+kCEihMPiyEY7466gL%20fKJTOIBSwZjd+zi2LErsh1apKiFeN3PmzJFXXXXVLI4ONcs77Q4BiFKCnU0AwkZ8wPGiMF8CYDt6%203FcVdurxxx9fftttt82x5gZ0GOx/o5kfsDXIASQlA0CgJrQNmIo0GGqmL6SrEq2cNQE1oDPOOMNO%20FPFHUvq6QwDEvDDmh2mIfBnsRgNhQuPmDKj2HeYXLADC/O0ld7iG0IHAFRrhiK8jBsCqIPAijRxN%20K2oCGslDGwyKBAQh3kxdcskls4Et7207f3LyiEopSmBCg3XrBDlce1kA5a3m3a0oDxtv2+9sQpS3%20AMj/IMgjh68ryHj/nC1MH4BRAZNzFAiqetZsHMucjJw/YQFQ/w1wFn+C6myiuB1RcAC2sl/+8pdX%20wM67zBfmLxDIF4SlS5d6tEfwTL8CQOSvC1CQAIQzsKsFINu9o5gHxfnsj67WfGT6avCigWX3eMZw%20ONx08MgHNTcEZBsEMz0bAjA1ihOoKWG9MPIPs3EAu5FUC0AQCCaCKGB/ABX9oY5YKl6IBsjmXefj%202UcVAG2D7mufn2ufI94N9bpSANi/dejbOo5sMp9l44DoyQOZBxcHUCZ2l1tuuWVfDOZ5uXyBZI4J%20IdX4MzVcm8bWAPqsCSFaFwDlR5ocomyVmNYVDl4+4E22e0URAp0fKgDudWQ6R77sc3cQw0j5W0Bn%20WSPgm1xUCPG4iwOo0VQTla0jT+ULBGoAe0oY2lrUAwxEuKFRL/LVHNEoAD+Cg9kEQ0b3AcLj8rDz%20omiTIEdOlJXZrhDQBrP+UdhDdxHnY7hRAMwBcQD6AxRCt8BUi3RsRV3gEmEBkSaGYC7aLUgo/BwP%20GOJIvyYhNIL5/dHo/EkACBw5AhCZ8Z3VBtrm60i69wtkvnsNRxdr+XR+dxL7VQIgGB7amRnBZvgC%201RRABwsgGLQBcwcell8XFQdIo7hzKdq12B9gagHKhQPAIemDdQG+B+9TDiG3MhH5hoFBuHoU2DYb%20sztjXkKZr+JQ+DkclT2V6+AAk523cQGO8hRqAh7FHMxG4QDWWgHr0b4JWysgmQsEQtuMdOIQePf7%20EHTgqiBs6IAylCmPB0pYazkg/DFkJrdibHeM+nyAHzdTx2ORwkqX6fpMJI7MVxlXTxEdTJob8IH4%20ggSAWjh1xRVXHIEw/CPwhrzrIBaAz61AY1fAAfyQwhBFADISgj/+8Y8XA+s/xnUCyWyqPjJY8wEB%20OvDHsMlOhavjcMZHdwjdz+Fz/NTC7D4FW/aex3o6s0lnjn3PWgtlArlPSHggVmEbyLDQxQJQyLMP%20VhI5KbQs3MUALr300t3g3dvMd2sB1DhT1fcHnnjiiQWQ0jTO3x+d3j+LKg5KowYlVKLCv0EZw7yF%20T0zWdGsCMPq+GHTPPffM5fb73//+RDjg9ZivybUZqA1yYgHEcTBJ9ORzzz33/rxwAM35w41HK8HD%20G7lND+V8AGqBzz//fC1CkmGQ0ibkvSukItGij/rw40HMLhROVpO3rVCqaIyXFoPJHQbTm0IWdhPg%20efa9qoPCagJ2dsJABwfI8ro3jOKBzOgx3Wvj/ZrpQ3XDV50yHJw6dSqxgPEqB4MmYDawMyO5s0IQ%20ZRHH0BBTWkjhF4RZPkVRi1sOPfTQ3ckPMpYTQ7B4J00vcQGtHqowXIJAU81ooNKE9Vt4q7xwAEw8%20+AATPbZiejKLCeT9qnFU0A7xIaoF4GeZi6Awy7afUZgdBtkGCUC+foTqGch0OnwUcLu6qWhCoNBP%20CSEyW/X/1AQ0BfJXxCsKAWdrQSNHwgEybFiteiUeeAMqUWaiKGQ4vX9QQkzla0wgWYPhgFQ7qWA6%20ShKAqCM/2A8IX6SB2yjMd59HQIUjho0CYINaxV6rmGigFoWy1wxMAxD6ElP4iAVk0Dxu2TBI1/7l%20L395CeH6gnzTwYoA0lQXUOXvo63Bfl+0XlYtQAXeZTPhoosuGuv4BBQE4eE87uL4kRkOCmJa2HSv%20sHtJtUtdkukBL7cqriBQAKQBlIvh4pwo/96ACTxPaW6AtbbjJlMTsIX7eU0N08WaXIClxsbAw+/P%20eQAqBMGDdwBCON2pVVdIqCoabiM4gpF9gfxW6Q5v9O7p5LnVy0UUgvAZQiA5fXwryxRogvVIEK1A%20n/tCQBygEoTFpj90agI68jEB7Xg7Vd0JJ5zwACRsnJsIUtZLAoC4lKEgc9U2ChhVAKIJSDj8m7NA%20k8KpEYXUNUd9rmtzrv1XDGLCiQkg+l8sxhUKC4eb8f6ReCmHu3I4X9e/CotLn4Pyvoa8cAA5gXjB%20wy1wLGzm20KglarZiQwBGW9+CWdjPYSuBh01Vh1fIMAThtVHAZzYbHVPD1/OlZzbbHP8bOZrvxg+%20AAdeM3iyDJFANXCJscy5wPYrJUy+SPvas4UH431N90AAJltQfntWAVA1MFofPGhKrsUh7algzPtD%20/SzCJJJXqV4wVWzEd77znbH6IQWp//Da/chr95PJqmZyp3y7QuvOFnaFoYeJzvVmgEHzuHPxxRd/%20hWLdaQr/0Oz1hBQNCJUdCrh4+nXXXTfXrgkIEoBqwp4QgqwLQ1DV8yFcCpZFCQgVazET9Xv4LgMk%20sBfeciFp7MwI7xTcq3131GqSijx6mC4KrJa2t+cuqtPsY0FzAXtaG/BNLLVYtncWGcx8DON/ml7k%20ajgoyRdXA3BL/4ZRjd4fIF8gpwbgfhVuuBWLE/XOUgsgTJzM5yLQFJRhPMbzaFMxdYmd1LWjPvwe%209jO1r3WMKAAaHa59dxNHbsyv79mKxXz5LJXo8xGaH4CXRpCxHIAE5qjVstUE8Dues0FYQHhJGAiv%20JLsGb5+6QLUAjj0ns1dASEY48wFUGCFJ7DTkCyoogqB9h40UiKM5dq6nL0Zrm+14zn21HiIKr6IA%20qXyVizUiUqsGNpOyBJW8oNBsxNT+R4DrNJAVYUigpoVvxyLFS9CuNrUAVB/l9lvEEF6cxMWKskwI%204YMVBvYYw2Xfqe7gILkjPWCaeiiSmAvBLEZGUAJAYVY2ln1eceKJJz4EgW9WqGdai3l/wEpNDQsL%20AwUC8UbrjLrYrhdEmJaCw3cApowPcWsEhQgqZrXCr+4UADKbsTyl3bHdoat/BWkDl8HFYr77P2TK%20JBCMBGrw3uY9Acw9SX4JEDL2fqPh5WZ+l48AqBhkE5aInQoseRJHvVkaphw2pwKJiMOUJVRySEUg%202kYEgqKkaW01z0anrpA3g7jqPSgMLHpGEIUfeo2sPUOIOMAUvGOwCcc2kfk4Rl62oXhlKV44vQrR%202tZcq4Ym3VoAFBFOwtJkD+MhQ7NNCGGihD+C+4sWLeL6gEIBJZlkfr44QKTsIB0dRBruaC90RnGg%20utfxYhMZzsUl+P/Zz8Bd6IgLDOLqYdOdCSKcScwsYhOqt/kSiTeDfICEVDyygJfCcxwaMCGEW0UD%20tEdLYHe5SHEaAjIOD+4vAegEw9193p/PItMpYFGY4nr8BQhKUUlCSTRwSRrEUjD0yVhMQUuB6WET%20RGqwoATfJLqXfARbEyQdDKAGN58hECjXhBCqXYJACBNXQgtsxLYCmmADEMGMfACdHzG8U0WrMnMc%206RGYEk0Q1LElQBR+mgCfeeiTFryq7wvwYRyqg0MniOD8oVjuZwb8t7mWEGSyCUA1VTwQJt4w66IQ%20HJGcq8b1a/EjhoDpcgg9ZKb4lhBemy+Eq9WveF8y3Y1nu2OmTcm+sOKwww7bDXMx9FoYfwvgjXwg%20b7IWhbA/oZ2prbOCQUn3RdFgwlLYmgmK69mEoWs04v0A3OcKFQR/bCGRD+AyWfdQEzKXJ4Nicl8p%20z4IQ8gUmm1PFaCa5tXkgJJSTR7ZeffXVVmFIwLwAzCO7Ce+dPQ8MrYOzVwd/oNJ6nVkzsn9fwhEZ%20i5GfctYG5CjW4sddPBpjIrOhne03hckx5kBahtC8Foxm6l4oaBpRwGpo8yYsJ/eHrNlAeYWy/2gD%200UagDTUgUDVa0i4GeeCBB46DdzkKgkEUitlAaQBWrvpATPdQTIR/8WZwaV/2O/uf6eF1KP8mk1sd%20R2+rWTRyFdoKtAZTKLLd9QGEAWwx6FGKNzD7FXqHMN4dsD8mgo5SRCA0Suaie2PlmNx3CIkPCAEH%204GWRU1GoM8fE+20WPzeaWULN2bCApAMDp7GwwPAZM2bcgCTPWNl1MZhhHx+ulcOYjWI8KjBItr9b%20KCZqVy0aSbvOWdkSCNZk7AHnfA/wxl0trAER241ICT+WbdXQpA0Cgfn1WBz6Idy0xsUAGPrZkxBY%20lWJKx9fj+zRCtjRq1uu7LayKifaeo70BvgDRwEHvvvsuy8KVKFKBi1sUMghI4e14o/hK1BE854JB%20SXtCCEq9Z0GCxHy76SFML1IYOPI5B+CvSBrxHbUMC4fADtV3mwaIic4e52FQzXdMmzat7qyzzjqB%20L+dAWl6D0y0KkbngKmOn4rqX3UUjpQG47Q3vfqAyfE4xCG/Km2ttAHr688D8BSauTAAMqu3+apnY%20BzD2PP2Pf/xjPUZ/BXhzEvqcA5P8yYYFaI5DPau93DeIJO0ZQWB8K1U7gSAw1Mb0tWwpsX+uUPH+%20hRde+FccWmuSR0mopCHd7gTGoSD7vgkDlf1ehncDbwQAVAGmz6IPBpCIfoKwG9UEsDaCQrDOAEGK%206tpdJLDsrrvuehFTig+DJI2DTbcfrPlpvNF8FI3+wYQWqylRpoqoOR8BoGBRw5QKEWHj6CoW0c8C%205q+aBgI/O+It7Yu5y+7EuwOfx7wALtc7E4JRma14FZNHGgEFP2PVdbjzAX3VUIs2DK0eteaTEQUM%20ANMrcCNSBkxrA8zbgJKv5WS8EYC1+iGwSUdhIaPrKTgAkFjD5nde4RQT7DwhdvYnczD/geXfXrBq%20NerIY/gBQ+EfjOY7HdDKMiBo7zYIxfpnn312EXEANsOzZpkBlYJXkYloO/FmFAaznzLnCCdoNjjB%20GqvQIMnzsXDkz1EldDY9VAIWXUYxUetSAKiJuBjXJXhXEEfzZjN4+5Fvhmc11oqunmZ5WWDQGsO/%20FtsEZAxztaxIh7l5L7QKCYD1FpEmtE1mmzZSSEexRmAQVFYXqfnY5tPp1mLT3Gf9n+GHnLm0ccQ3%20GE2ekgC4PNPIz1YWrhuSWs3Jmg5mv0w6bc5rMZ8T5ruyBMiablWSoJAcp39F0iv4UKU1RoW/Wv/H%208KTJ4lmZg/BuYzPntbkCkNGJVl1guWkCiXROu91sIIkkpluOYylm3f7Vw0CZbQlBq2ktFvMTzsBV%2068g1MSRjtTb3HcLOOSJ9Tqj1CMNjSjhMFmNbrWOJAJ6FTg4VReFmGbJTEzXlqlsoJsK/rL9QfO4M%20Tm2jUbKrzCcApLcBB09k0WKXU0wq+2pBle/fHVVeEBU6XCtMuDgIbRRWF7sNocoYYgHFJL3mpRTJ%20rr9Mg+BQryOz8X+ake2bAxzgVSeeby+mAPCXVpvikeFo9cAA9kKoMoCARKKI9iAD4hZzHBsAj27j%20oVIKSOR4O5M8GtC+MtsN5nhHMQVAINKOBowYpKVlLRCpmNShpo4tMQFot1/jawCdtYb5muxRkGAn%20u0BSVXmyntLqgkhsRR5BGkWZEtQCAuAU5rGfm93K3mJqAGmBCjPiq0wTIJEoYudJA2S0LWEz0GZa%202rS2YjuB7j0UmyazgEjF70B7v7Qo42oz+1iRNED4vYrOfDHc3f4/o5hiiimmmGKKKaaYYooppphi%20iimmmGKKKaaYYooppv8FlJhXILrvZ3wAAAAASUVORK5CYII=%22%20preserveAspectRatio=%22none%22%20height=%22102.996%22%20width=%2287.169%22%20x=%22159.832%22%20y=%22119.548%22/%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20x=%22205.695%22%20y=%22150.011%22%20transform=%22scale(.98866%201.01147)%22%20font-weight=%22400%22%20font-size=%2219.302%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#ff0%22%20stroke-width=%22.504%22%3E%3Ctspan%20x=%22205.695%22%20y=%22150.011%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ERAM%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20x=%22205.372%22%20y=%22110.296%22%20transform=%22scale(.98866%201.01147)%22%20font-weight=%22400%22%20font-size=%2219.302%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#00f%22%20stroke-width=%22.504%22%3E%3Ctspan%20x=%22205.372%22%20y=%22110.296%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ESample%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M206.647%20182.6a6.892%206.892%200%200%200-6.89%206.892c0%203.803%203.086%206.896%206.89%206.896%203.805%200%206.868-3.093%206.868-6.896%200-3.806-3.063-6.892-6.868-6.892zm13.814%2010.852l-1.242%202.991%202.215%204.35.293.575-3.072%203.072-5.039-2.38-2.991%201.228-1.519%204.648-.194.617h-4.341l-1.879-5.246-2.991-1.234-4.357%202.21-.575.287-3.07-3.069%202.378-5.042-1.233-2.989-4.64-1.515-.616-.2v-4.338l5.25-1.882%201.233-2.986-2.208-4.36-.291-.571%203.066-3.066%205.045%202.376%202.988-1.236%201.517-4.645.196-.616h4.34l1.88%205.253%202.983%201.236%204.358-2.212.58-.29%203.069%203.065-2.377%205.038%201.228%202.993%204.654%201.517.611.196v4.337z%22%20fill=%22#0ff%22/%3E%3Cg%20transform=%22matrix(.85604%200%200%20.85604%2085.035%2091.517)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E", + "otid": 1596697289362 + }, + "design": { + "graph": { + "blocks": [ + { + "id": "eb3a1b78-59a5-4be4-a92e-3b7e9a65f13b", + "type": "basic.outputLabel", "data": { - "name": "tx" + "name": "addr", + "range": "[13:0]", + "blockColor": "navy", + "size": 14 }, "position": { - "x": 1336, - "y": 384 + "x": 872, + "y": -144 } }, { - "id": "6ba67914-123c-4491-862c-8eda58a6c040", + "id": "40e3c20c-5598-44a1-b5b4-760dba97d882", "type": "basic.outputLabel", "data": { - "name": "tx", + "name": "din_r", + "range": "[7:0]", + "oldBlockColor": "fuchsia", "blockColor": "fuchsia", - "oldBlockColor": "fuchsia" + "size": 8 }, "position": { - "x": 1184, - "y": 384 + "x": 872, + "y": -64 } }, { - "id": "e1ba0ef0-77f6-4ab9-9892-b5c93aa3167c", - "type": "basic.inputLabel", + "id": "38abb13c-8652-41fb-931c-c7bf760ebb24", + "type": "basic.output", "data": { - "name": "busy", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia" + "name": "busy" }, "position": { - "x": 936, - "y": 456 + "x": 1832, + "y": -56 } }, { - "id": "bf297685-7b54-477f-b9ee-3c143135097b", - "type": "basic.input", + "id": "a040cc3d-b2c6-458e-bde6-f8234a19b6d1", + "type": "basic.outputLabel", "data": { - "name": "", - "range": "[9:0]", - "clock": false, - "size": 10 + "blockColor": "fuchsia", + "name": "busy" }, "position": { - "x": 256, - "y": 472 + "x": 1640, + "y": -56 } }, { - "id": "6a12a92e-7e13-4bc0-9051-8aba3b29df38", + "id": "d1540ef0-9272-4082-9b24-9843ddb00cd7", "type": "basic.outputLabel", "data": { "blockColor": "fuchsia", - "name": "Ready", - "range": "[9:0]", - "oldBlockColor": "fuchsia", - "size": 10 + "name": "wr", + "oldBlockColor": "fuchsia" }, "position": { - "x": 1184, - "y": 480 + "x": 856, + "y": 24 } }, { - "id": "93defa79-7f79-4614-8e5b-17ceacc8c7cf", - "type": "basic.output", + "id": "7fb933a6-5c63-4d46-8aaa-440b30974993", + "type": "basic.input", "data": { - "name": "rdy", - "range": "[9:0]", - "size": 10 + "name": "", + "clock": true }, "position": { - "x": 1336, - "y": 480 + "x": -120, + "y": 80 } }, { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "type": "basic.output", + "id": "2c31aa6a-383c-4eb5-b669-b8a31ad14225", + "type": "basic.inputLabel", "data": { - "name": "busy" + "blockColor": "yellow", + "name": "clk" }, "position": { - "x": 1336, - "y": 576 + "x": 24, + "y": 80 } }, { - "id": "6b86af4f-f0c9-4134-b2c9-9e9d1b0d6e15", + "id": "8ca2279c-fdc3-40d3-9fbe-2071c026932f", "type": "basic.outputLabel", "data": { - "name": "busy", - "blockColor": "fuchsia" + "blockColor": "fuchsia", + "name": "bus_mine", + "oldBlockColor": "fuchsia" }, "position": { - "x": 1192, - "y": 576 + "x": 880, + "y": 112 } }, { - "id": "2482a63c-2352-4fd5-81ee-6fcaa856ccdd", - "type": "basic.inputLabel", + "id": "0dfcc0e0-4f99-40f8-82ae-e43ea86f5e58", + "type": "basic.outputLabel", "data": { + "name": "mbi", + "range": "[23:0]", "blockColor": "fuchsia", - "name": "Ready", - "range": "[9:0]", - "pins": [ - { - "index": "9", - "name": "", - "value": "" - }, - { - "index": "8", - "name": "", - "value": "" - }, - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "size": 24 }, "position": { - "x": 1008, - "y": 600 + "x": 1120, + "y": 120 } }, { - "id": "b04e50bc-ceae-4d5b-9bd1-259af770825c", - "type": "basic.input", + "id": "fa41806b-2355-4923-895f-3ead2e752b43", + "type": "basic.output", "data": { - "name": "nc", - "clock": false + "name": "mbo", + "range": "[23:0]", + "size": 24 }, "position": { - "x": 256, - "y": 600 + "x": 1480, + "y": 120 } }, { - "id": "bb5ac23f-87a4-4029-8fa8-ed6b93a824f9", - "type": "basic.constant", + "id": "94f3b4c1-ffb7-450b-99c4-aebfb6c4e124", + "type": "basic.input", "data": { - "name": "sclk", - "value": "12000000", - "local": false + "name": "mbus", + "range": "[23:0]", + "clock": false, + "size": 24 }, "position": { - "x": 656, - "y": 312 + "x": -128, + "y": 216 } }, { - "id": "d4a02852-2578-4c4d-b7e2-0708b0ef9794", - "type": "basic.constant", + "id": "01c88c3e-3d41-47d5-8548-d6d9a2c1cfe8", + "type": "basic.inputLabel", "data": { - "name": "bps", - "value": "115200", - "local": false + "name": "mbi", + "range": "[23:0]", + "blockColor": "fuchsia", + "size": 24 }, "position": { - "x": 792, - "y": 312 + "x": 40, + "y": 216 } }, { - "id": "e968d987-07d6-43f6-91c7-c51f2d0d5793", - "type": "c955cf93ef694308de70400b30cdd774804f88a9", - "position": { - "x": 480, - "y": 472 + "id": "d987011b-ee0c-4b06-b3b7-dfb2097a5c6f", + "type": "basic.outputLabel", + "data": { + "name": "mbi", + "range": "[23:0]", + "blockColor": "fuchsia", + "size": 24 }, - "size": { - "width": 96, - "height": 64 + "position": { + "x": 216, + "y": 216 } }, { - "id": "4cbc5545-838d-4037-8ff3-065df8ec78f6", - "type": "113ccf91a6aa073b6493e621c1add3fe0989efad", - "position": { - "x": 848, - "y": 600 + "id": "7d0852c6-4778-4a53-bf90-30527c44a0eb", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "size": { - "width": 96, - "height": 64 + "position": { + "x": 1640, + "y": 224 } }, { - "id": "7fa9a681-773d-4d20-91c6-e8109073c635", - "type": "basic.info", + "id": "9be4488d-51be-4346-8a31-5d8f2f86e4d3", + "type": "basic.outputLabel", "data": { - "info": "## STDOUT serial\n\nSerial transmitter for the STDOUT bus\n", - "readonly": true + "blockColor": "fuchsia", + "name": "bus_mine", + "oldBlockColor": "fuchsia" }, "position": { - "x": 264, - "y": 64 - }, - "size": { - "width": 352, - "height": 88 + "x": 936, + "y": 248 } }, { - "id": "e03f0e2f-15f0-4a94-8757-e4a9f8a02c56", - "type": "basic.info", + "id": "95c4416f-62f5-4196-a406-f7915d40a572", + "type": "basic.output", "data": { - "info": "**STDOUT Bus** \n* Data to transmit (8 bits) \n* tic (1 bit)\n* data sent (done tic, 1 bit)", - "readonly": true + "name": "done" }, "position": { - "x": 240, - "y": 352 - }, - "size": { - "width": 264, - "height": 80 + "x": 1952, + "y": 296 } }, { - "id": "a1d00ad1-cc0a-49d5-ab42-4a031b34464f", - "type": "0bbdc65ba424ff40518e139c64fecf5a9d646c78", - "position": { - "x": 680, - "y": 440 + "id": "289f00be-f97d-4553-a60a-32d8b45da4cc", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "done", + "oldBlockColor": "fuchsia" }, - "size": { - "width": 96, - "height": 96 + "position": { + "x": 1632, + "y": 296 } - } - ], - "wires": [ - { - "source": { - "block": "2d00d963-00f8-4a0a-9cb8-a4e5bfb61323", - "port": "out" - }, - "target": { - "block": "340a0c20-8472-4bd8-ae36-204a57b49285", - "port": "inlabel" - }, - "vertices": [] }, { - "source": { - "block": "019dc637-ca36-4e18-8db1-5d5318fb2d6e", - "port": "outlabel" - }, - "target": { - "block": "a1d00ad1-cc0a-49d5-ab42-4a031b34464f", - "port": "aa41bb20-1565-45fc-b082-c728415f7cb3" + "id": "b14f140b-7bb5-46d9-8019-39c27ff6e0e3", + "type": "basic.input", + "data": { + "name": "start", + "clock": false }, - "vertices": [ - { - "x": 608, - "y": 432 - } - ] + "position": { + "x": -88, + "y": 312 + } }, { - "source": { - "block": "4cbc5545-838d-4037-8ff3-065df8ec78f6", - "port": "72968b0a-a651-457f-8809-036985e64653", - "size": 10 - }, - "target": { - "block": "2482a63c-2352-4fd5-81ee-6fcaa856ccdd", - "port": "inlabel" + "id": "da45f105-3600-4458-a820-50046581f5dd", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "start" }, - "size": 10 + "position": { + "x": 56, + "y": 312 + } }, { - "source": { - "block": "6a12a92e-7e13-4bc0-9051-8aba3b29df38", - "port": "outlabel" - }, - "target": { - "block": "93defa79-7f79-4614-8e5b-17ceacc8c7cf", - "port": "in", - "size": 10 + "id": "923c4db6-0c76-4647-a848-75fd61fba6ec", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "done", + "oldBlockColor": "fuchsia" }, - "size": 10 + "position": { + "x": 936, + "y": 312 + } }, { - "source": { - "block": "a1d00ad1-cc0a-49d5-ab42-4a031b34464f", - "port": "b1b1682c-2c7c-4e71-8068-426364b08096" - }, - "target": { - "block": "e1ba0ef0-77f6-4ab9-9892-b5c93aa3167c", - "port": "inlabel" + "id": "05a1a5b4-bf29-49df-b0b1-887859d9ec9e", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "bbusy", + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 560, + "y": 336 } }, { - "source": { - "block": "6b86af4f-f0c9-4134-b2c9-9e9d1b0d6e15", - "port": "outlabel" + "id": "9978357f-7ad7-44b5-97d2-b44692508773", + "type": "basic.input", + "data": { + "name": "din", + "range": "[7:0]", + "clock": false, + "size": 8 }, - "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "port": "in" + "position": { + "x": -88, + "y": 392 } }, { - "source": { - "block": "6ba67914-123c-4491-862c-8eda58a6c040", - "port": "outlabel" + "id": "5344b55b-0e5d-4444-88ef-fd6b3caa1c5b", + "type": "basic.inputLabel", + "data": { + "name": "din", + "range": "[7:0]", + "blockColor": "fuchsia", + "size": 8 }, - "target": { - "block": "f2043f09-b391-40ea-9d1d-721438b68ef1", - "port": "in" + "position": { + "x": 64, + "y": 392 } }, { - "source": { - "block": "a1d00ad1-cc0a-49d5-ab42-4a031b34464f", - "port": "369dcc35-b79e-452f-8686-5a0fc79026ee" + "id": "5884d0cb-fd13-4b25-b561-c919079d2136", + "type": "basic.output", + "data": { + "name": "nc" }, - "target": { - "block": "3229f563-798d-4db3-9966-52596ca5cef1", - "port": "inlabel" + "position": { + "x": 1936, + "y": 488 } }, { - "source": { - "block": "e968d987-07d6-43f6-91c7-c51f2d0d5793", - "port": "03a1539f-6d99-4957-a7ca-3718ec57b1ee" - }, - "target": { - "block": "a1d00ad1-cc0a-49d5-ab42-4a031b34464f", - "port": "3677e940-f241-4c6e-8411-81f6c8044f4a" + "id": "54e9bf9f-b852-4c45-bd53-f6eb4ee707eb", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "start_read" }, - "vertices": [], - "size": 8 + "position": { + "x": 608, + "y": 504 + } }, { - "source": { - "block": "e968d987-07d6-43f6-91c7-c51f2d0d5793", - "port": "11b231a8-883c-47a2-afea-ce22fc2fc800" - }, - "target": { - "block": "a1d00ad1-cc0a-49d5-ab42-4a031b34464f", - "port": "737e0f1e-4964-4029-a40b-baf773e3c886" + "id": "fce01e4d-e6d2-4811-8f96-410673168b4c", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "bbusy", + "oldBlockColor": "fuchsia" }, - "vertices": [] + "position": { + "x": 152, + "y": 552 + } }, { - "source": { - "block": "a1d00ad1-cc0a-49d5-ab42-4a031b34464f", - "port": "9e42bee5-bcaa-42fd-9077-6920b7b3f920" - }, - "target": { - "block": "4cbc5545-838d-4037-8ff3-065df8ec78f6", - "port": "3bbe35e4-7c46-4bbb-b9c3-3a6f4bbaf1c0" + "id": "700d8b15-d6df-4b76-b10d-72db58c33e6c", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "bus_mine", + "oldBlockColor": "fuchsia" }, - "vertices": [] + "position": { + "x": 776, + "y": 584 + } }, { - "source": { - "block": "bf297685-7b54-477f-b9ee-3c143135097b", - "port": "out" - }, - "target": { - "block": "e968d987-07d6-43f6-91c7-c51f2d0d5793", - "port": "62f60de5-6d65-45f1-a57a-96daf57df585" + "id": "5b15b8c9-8fb1-410a-8910-a60ef283ff1d", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "size": 10 + "position": { + "x": 1496, + "y": 648 + } }, { - "source": { - "block": "d4a02852-2578-4c4d-b7e2-0708b0ef9794", - "port": "constant-out" + "id": "524ca75c-cdd3-4e79-851a-b46ce146bd66", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "start" }, - "target": { - "block": "a1d00ad1-cc0a-49d5-ab42-4a031b34464f", - "port": "98166aa3-0973-4d30-9a46-29a3e4c30a57" + "position": { + "x": 152, + "y": 696 } }, { - "source": { - "block": "bb5ac23f-87a4-4029-8fa8-ed6b93a824f9", - "port": "constant-out" + "id": "7e9db299-cb56-4cd9-a489-d5fbd6eb3e2f", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "busy" }, - "target": { - "block": "a1d00ad1-cc0a-49d5-ab42-4a031b34464f", - "port": "36509a01-2e78-4be1-8055-0fba0ed93b33" + "position": { + "x": 1184, + "y": 704 } - } - ] - } - } - }, - "c955cf93ef694308de70400b30cdd774804f88a9": { - "package": { - "name": "stdout-bus-split2", - "version": "0.1", - "description": "stdout bus splitter into data and tic signals", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22354.768%22%20height=%22219.63%22%20viewBox=%220%200%20332.595%20205.90272%22%3E%3Cpath%20d=%22M168.377%2068.938l61.147-52.233C240.21%206.25%20254.56.461%20269.484.5h62.611v26.186l-61.698.046c-8.012-.043-15.705%203.133-21.47%208.81l-61.448%2052.61a57.292%2057.292%200%200%201-39.993%2016.139%2057.292%2057.292%200%200%201%2039.993%2016.139l61.448%2049.93c5.765%205.678%2013.458%208.854%2021.47%208.81l61.698.046v26.187h-62.612c-14.924.039-29.463-5.9-40.204-16.28l-60.902-49.48a29.857%2029.857%200%200%200-21.347-8.809L.5%20130.72V77.752h146.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%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22194.597%22%20y=%22247.958%22%20font-weight=%22400%22%20font-size=%2244.109%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.938%22%20transform=%22translate(-184.13%20-199.542)%22%3E%3Ctspan%20x=%22194.597%22%20y=%22247.958%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ESTDOUT%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22228.835%22%20y=%22387.938%22%20font-weight=%22400%22%20font-size=%2244.109%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.938%22%20transform=%22translate(-184.13%20-199.542)%22%3E%3Ctspan%20x=%22228.835%22%20y=%22387.938%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EBUS%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22299.979%22%20y=%22389.373%22%20font-weight=%22400%22%20font-size=%2215%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%22.938%22%20transform=%22translate(-184.13%20-199.542)%22/%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ + }, { - "id": "03a1539f-6d99-4957-a7ca-3718ec57b1ee", - "type": "basic.output", + "id": "28d32f23-19b6-4a8c-8ac6-edbbb1a0e999", + "type": "basic.outputLabel", "data": { - "name": "", + "name": "din", "range": "[7:0]", + "blockColor": "fuchsia", "size": 8 }, "position": { - "x": 608, - "y": 168 + "x": 1496, + "y": 712 } }, { - "id": "62f60de5-6d65-45f1-a57a-96daf57df585", - "type": "basic.input", + "id": "703240cb-6595-44d0-a266-869db1fe0889", + "type": "basic.inputLabel", "data": { - "name": "", - "range": "[9:0]", - "clock": false, - "size": 10 + "name": "din_r", + "range": "[7:0]", + "blockColor": "fuchsia", + "oldBlockColor": "fuchsia", + "size": 8 }, "position": { - "x": 128, - "y": 192 + "x": 1840, + "y": 712 } }, { - "id": "11b231a8-883c-47a2-afea-ce22fc2fc800", - "type": "basic.output", + "id": "7df4a7f1-90b6-4562-8be3-e4719a824545", + "type": "basic.outputLabel", "data": { - "name": "tic" + "blockColor": "yellow", + "name": "clk" }, "position": { - "x": 576, - "y": 248 + "x": 880, + "y": 752 } }, { - "id": "16e78204-213e-4833-9096-89d735307ec2", - "type": "basic.code", + "id": "2c719f94-9d13-4502-9018-1231407bb53a", + "type": "basic.inputLabel", "data": { - "code": "assign data = i[9:2];\nassign tic = i[1];", - "params": [], - "ports": { - "in": [ - { - "name": "i", - "range": "[9:0]", - "size": 10 - } - ], - "out": [ - { - "name": "data", - "range": "[7:0]", - "size": 8 - }, - { - "name": "tic" - } - ] - } + "name": "addr", + "range": "[13:0]", + "blockColor": "navy", + "size": 14 }, "position": { - "x": 296, - "y": 176 - }, - "size": { - "width": 232, - "height": 96 + "x": 1232, + "y": 816 } - } - ], - "wires": [ + }, { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "data" - }, - "target": { - "block": "03a1539f-6d99-4957-a7ca-3718ec57b1ee", - "port": "in" + "id": "dc204461-1dd1-428f-91a2-006d905d6585", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "start_read" }, - "size": 8 + "position": { + "x": 872, + "y": 832 + } }, { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "tic" + "id": "0db424eb-f896-41e1-becb-7eb065dd64f2", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "busy" }, - "target": { - "block": "11b231a8-883c-47a2-afea-ce22fc2fc800", - "port": "in" + "position": { + "x": 152, + "y": 840 } }, { - "source": { - "block": "62f60de5-6d65-45f1-a57a-96daf57df585", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i" + "id": "eda78d52-57f7-4e44-bd8e-75e67c496650", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "wr", + "oldBlockColor": "fuchsia" }, - "size": 10 - } - ] - } - } - }, - "113ccf91a6aa073b6493e621c1add3fe0989efad": { - "package": { - "name": "stdout-bus-next-in", - "version": "0.1", - "description": "Convert the 1-bit next signal into a 10-bit stdout bus", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22356.708%22%20height=%22176.233%22%20viewBox=%220%200%2094.37896%2046.628384%22%3E%3Cg%20transform=%22translate(-44.148%20-120.418)%22%3E%3Crect%20width=%2233.016%22%20height=%227.314%22%20x=%22-77.429%22%20y=%22141.954%22%20ry=%220%22%20transform=%22scale(-1%201)%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22bevel%22/%3E%3Crect%20width=%2235.851%22%20height=%2214.797%22%20x=%22-138.262%22%20y=%22138.101%22%20ry=%220%22%20transform=%22scale(-1%201)%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22bevel%22/%3E%3Crect%20width=%2225.079%22%20height=%2227.493%22%20x=%22-102.314%22%20y=%22132.039%22%20ry=%220%22%20transform=%22scale(-1%201)%22%20fill=%22#999%22%20stroke=%22#000%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22bevel%22/%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%2289.27%22%20y=%22130.378%22%20font-weight=%22400%22%20font-size=%2212.449%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20x=%2289.27%22%20y=%22130.378%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ESTDOUT%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22105.548%22%20y=%22166.86%22%20font-weight=%22400%22%20font-size=%2212.449%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20x=%22105.548%22%20y=%22166.86%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EBUS%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ + "position": { + "x": 864, + "y": 904 + } + }, { - "id": "3bbe35e4-7c46-4bbb-b9c3-3a6f4bbaf1c0", - "type": "basic.input", + "id": "caf86b2c-c08d-411d-be47-4084fec9532e", + "type": "basic.inputLabel", "data": { - "name": "next", - "clock": false + "blockColor": "fuchsia", + "name": "wr", + "oldBlockColor": "fuchsia" }, "position": { - "x": 128, - "y": 192 + "x": 1216, + "y": 912 } }, { - "id": "72968b0a-a651-457f-8809-036985e64653", - "type": "basic.output", + "id": "366a768a-2f5d-4c01-8338-bdef0a688ea7", + "type": "basic.inputLabel", "data": { - "name": "", - "range": "[9:0]", - "size": 10 + "blockColor": "fuchsia", + "name": "done", + "oldBlockColor": "fuchsia" }, "position": { - "x": 640, - "y": 192 + "x": 1144, + "y": 1008 } }, { - "id": "16e78204-213e-4833-9096-89d735307ec2", - "type": "basic.code", + "id": "0a517454-aeac-48a3-bc62-6aa73da948bd", + "type": "basic.info", "data": { - "code": "assign o[0] = next;", - "params": [], - "ports": { - "in": [ - { - "name": "next" - } - ], - "out": [ - { - "name": "o", - "range": "[9:0]", - "size": 10 - } - ] - } + "info": "Reading data from memory \nReading bus status", + "readonly": true }, "position": { - "x": 296, - "y": 176 + "x": 336, + "y": 120 }, "size": { - "width": 264, - "height": 88 + "width": 232, + "height": 64 } - } - ], - "wires": [ + }, { - "source": { - "block": "3bbe35e4-7c46-4bbb-b9c3-3a6f4bbaf1c0", - "port": "out" + "id": "a200cfa9-fe9a-4c4b-b9d4-f4307d071797", + "type": "basic.info", + "data": { + "info": "Calculate if the bus can be taken", + "readonly": true }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "next" + "position": { + "x": 216, + "y": 440 + }, + "size": { + "width": 272, + "height": 32 } }, { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o" - }, - "target": { - "block": "72968b0a-a651-457f-8809-036985e64653", - "port": "in" + "id": "7a989d63-cd4a-4c47-9513-57b4ea6ee141", + "type": "35f267d0df6ffcb7fc33753bc9df9cf083642cca", + "position": { + "x": 296, + "y": 552 }, - "size": 10 - } - ] - } - } - }, - "0bbdc65ba424ff40518e139c64fecf5a9d646c78": { - "package": { - "name": "Serial-tx-Bufferx1", - "version": "0.1", - "description": "Serial transmitter with a buffer for 1 byte", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20274.81662%20209.31615%22%20width=%22293.137%22%20height=%22223.269%22%3E%3Cg%20transform=%22translate(347.142%20-102.544)%20scale(1.04907)%22%20stroke=%22#000%22%3E%3Cpath%20d=%22M-170.798%20177.526l.315%2036.011%2040.397-37.263v-33.51z%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M-308.584%20177.892l53.235-35.7%20124.635.628-39.456%2035.7%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Crect%20x=%22-308.895%22%20y=%22178.153%22%20width=%22139.039%22%20height=%2236.325%22%20ry=%223.509%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22square%22/%3E%3Cg%20transform=%22matrix(1.88858%200%200%201.88858%20-312.436%20138.651)%22%20stroke-width=%22.938%22%20stroke-linecap=%22square%22%3E%3Ccircle%20r=%223.15%22%20cx=%2211.326%22%20cy=%2230.367%22%20fill=%22red%22/%3E%3Ccircle%20r=%223.15%22%20cx=%2220.611%22%20cy=%2230.367%22%20fill=%22#faa%22/%3E%3Ccircle%20r=%223.15%22%20cx=%2262.82%22%20cy=%2230.367%22%20fill=%22green%22/%3E%3Ccircle%20r=%223.15%22%20cx=%2230.554%22%20cy=%2230.367%22%20fill=%22red%22/%3E%3C/g%3E%3C/g%3E%3Ctext%20transform=%22scale(.99853%201.00147)%22%20word-spacing=%220%22%20letter-spacing=%220%22%20font-size=%2265.171%22%20font-weight=%22400%22%20style=%22line-height:0%25%22%20x=%2270.801%22%20y=%2228.295%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%221.209%22%3E%3Ctspan%20font-size=%2237.241%22%20font-weight=%22700%22%20x=%2270.801%22%20y=%2228.295%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%3ESerial%3C/tspan%3E%3C/text%3E%3Cg%20transform=%22translate(-49.71%20-39.925)%20scale(2.8106)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20cx=%22100.602%22%20cy=%2273.815%22%20r=%2214.559%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22translate(-240.978%20-39.925)%20scale(2.8106)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20cx=%22100.602%22%20cy=%2273.815%22%20r=%2214.559%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Ccircle%20r=%2240.92%22%20cy=%2281.071%22%20cx=%22233.043%22%20fill=%22#ececec%22%20stroke=%22green%22%20stroke-width=%221.71%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M261.766%2092.931h-4.696V67.437h-48.103v25.295h-5.116%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%224.275%22%20stroke-linecap=%22round%22/%3E%3Ctext%20transform=%22scale(.99853%201.00147)%22%20word-spacing=%220%22%20letter-spacing=%220%22%20font-size=%2265.171%22%20font-weight=%22400%22%20style=%22line-height:0%25%22%20x=%22108.068%22%20y=%22165.6%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%221.209%22%3E%3Ctspan%20font-size=%2237.241%22%20font-weight=%22700%22%20x=%22108.068%22%20y=%22165.6%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%3ETX%3C/tspan%3E%3C/text%3E%3Ctext%20y=%22198.423%22%20x=%2284.123%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2248.233%22%20letter-spacing=%220%22%20word-spacing=%220%22%20transform=%22scale(.99853%201.00147)%22%20font-family=%22sans-serif%22%20fill=%22green%22%20stroke-width=%221.209%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%22198.423%22%20x=%2284.123%22%20font-weight=%22700%22%20font-size=%2227.562%22%3EBuffx1%3C/tspan%3E%3C/text%3E%3C/svg%3E", - "otid": 1592071458900 - }, - "design": { - "graph": { - "blocks": [ + "size": { + "width": 96, + "height": 64 + } + }, { - "id": "a9c22dcd-8004-403b-8252-7d67e44b004c", - "type": "basic.inputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true - }, + "id": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", + "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", "position": { - "x": 176, - "y": 328 + "x": 464, + "y": 568 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "aa41bb20-1565-45fc-b082-c728415f7cb3", - "type": "basic.input", + "id": "239fe2ba-e2b9-4446-a1ea-51e1616f5b75", + "type": "basic.info", "data": { - "name": "", - "clock": true + "info": "The bus is available", + "readonly": true }, "position": { - "x": 40, - "y": 328 + "x": 384, + "y": 512 + }, + "size": { + "width": 184, + "height": 32 } }, { - "id": "f58220ae-6857-4aee-a048-8f29a9a3edb0", - "type": "basic.outputLabel", + "id": "b62ad9b4-5b0e-4b74-a0ad-947946a59331", + "type": "basic.info", "data": { - "blockColor": "yellow", - "name": "clk" + "info": "This circuits wants \nto use the bus", + "readonly": true }, "position": { - "x": 392, - "y": 352 + "x": 280, + "y": 664 + }, + "size": { + "width": 192, + "height": 56 } }, { - "id": "81cfea05-80b0-4fcf-b822-ee74415e5729", - "type": "basic.outputLabel", + "id": "c25805fd-f852-43d5-93db-f3f0cb17c301", + "type": "basic.info", "data": { - "blockColor": "yellow", - "name": "clk" + "info": "The bus has been already \ntaken", + "readonly": true }, "position": { - "x": 704, - "y": 360 + "x": 272, + "y": 816 + }, + "size": { + "width": 208, + "height": 56 } }, { - "id": "369dcc35-b79e-452f-8686-5a0fc79026ee", - "type": "basic.output", - "data": { - "name": "TX" - }, + "id": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", + "type": "81613874c6152f06c06ed7014bf4235900cfcc30", "position": { - "x": 1120, - "y": 392 + "x": 648, + "y": 584 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "bd015212-9591-44d1-b9bd-e00404e9e127", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "busy", - "oldBlockColor": "fuchsia" - }, + "id": "26b71a43-5955-4452-9b0e-94ea6ef453b7", + "type": "81613874c6152f06c06ed7014bf4235900cfcc30", "position": { - "x": 392, - "y": 416 + "x": 1088, + "y": 296 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "1b53ca45-9c3b-48e2-a4d4-46606b68f6ed", - "type": "basic.inputLabel", + "id": "d3ce12c0-3b45-4ed2-8446-fb6c4c8e8710", + "type": "basic.info", "data": { - "blockColor": "fuchsia", - "name": "bbusy", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "info": "One cycle after the machine is done \nthe bus is already taken to write \nthe bbusy signal to 0 and allow \nother circuits to use it", + "readonly": true }, "position": { - "x": 720, - "y": 432 - } - }, - { - "id": "b1b1682c-2c7c-4e71-8068-426364b08096", - "type": "basic.output", - "data": { - "name": "busy" + "x": 960, + "y": 392 }, - "position": { - "x": 1416, - "y": 488 + "size": { + "width": 304, + "height": 88 } }, { - "id": "a9515ba2-54a0-497f-a55e-3a97b52307b5", - "type": "basic.outputLabel", + "id": "110cf90a-bc63-4642-a72e-33e8e397e804", + "type": "basic.info", "data": { - "blockColor": "fuchsia", - "name": "bbusy" + "info": "The output bus is controlled \nby this circuit (1) or \nremain untouched (0)", + "readonly": true }, "position": { - "x": 1256, - "y": 488 - } - }, - { - "id": "0c84226f-058f-4e9f-9697-4676db24be6e", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "busy", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "x": 1352, + "y": 256 }, - "position": { - "x": 1144, - "y": 496 + "size": { + "width": 240, + "height": 112 } }, { - "id": "3677e940-f241-4c6e-8411-81f6c8044f4a", - "type": "basic.input", + "id": "0421b3fd-c660-4279-abe0-e1d486431ce0", + "type": "basic.info", "data": { - "name": "", - "range": "[7:0]", - "clock": false, - "size": 8 + "info": "The reading machine \ncan be started", + "readonly": true }, "position": { - "x": 40, - "y": 496 + "x": 584, + "y": 456 + }, + "size": { + "width": 184, + "height": 64 } }, { - "id": "9e42bee5-bcaa-42fd-9077-6920b7b3f920", - "type": "basic.output", - "data": { - "name": "done" - }, + "id": "0414e63d-55c1-41b0-abdf-4e02d0f68ff9", + "type": "725b7e2cb9666b5ed3183537d9c898f096dab82a", "position": { - "x": 1424, - "y": 568 + "x": 1504, + "y": 792 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "bb087c79-9c6d-4eb9-9ce0-08daaf8ae25c", - "type": "basic.outputLabel", + "id": "cb239ba5-a0b6-498b-817d-0f0013b987c0", + "type": "basic.info", "data": { - "blockColor": "fuchsia", - "name": "done" + "info": "## Sample machine\n\nRead the input data, (one byte per clock cycle) and store it into the memory\n\n", + "readonly": true }, "position": { - "x": 1256, - "y": 568 + "x": -104, + "y": -192 + }, + "size": { + "width": 648, + "height": 104 } }, { - "id": "737e0f1e-4964-4029-a40b-baf773e3c886", - "type": "basic.input", - "data": { - "name": "txmit", - "clock": false - }, + "id": "5caa6aff-82f8-4a53-84f7-b67bb5bad8a8", + "type": "58ed2b5c7e33e2f215ccba6c101d9ea4ff60f284", "position": { - "x": 32, - "y": 592 + "x": 1808, + "y": 280 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "ac7ffef6-e027-4f70-aa92-244c622c2288", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "done", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true - }, + "id": "fc204eb4-2475-49d5-8d15-940e4cede5d4", + "type": "8d66187a7f8e3ffab330c0980473cb3427f8a5a6", "position": { - "x": 840, - "y": 616 + "x": 1680, + "y": 696 + }, + "size": { + "width": 96, + "height": 96 } }, { - "id": "36509a01-2e78-4be1-8055-0fba0ed93b33", - "type": "basic.constant", - "data": { - "name": "sclk", - "value": "12000000", - "local": false - }, + "id": "ccd1e0fa-873c-4274-85c6-f906e6266aee", + "type": "d1635cb33c6d31e1ea457005c78d574fcf71828b", "position": { - "x": 848, - "y": 368 + "x": 384, + "y": 184 + }, + "size": { + "width": 96, + "height": 128 } }, { - "id": "98166aa3-0973-4d30-9a46-29a3e4c30a57", - "type": "basic.constant", - "data": { - "name": "bps", - "value": "115200", - "local": false - }, + "id": "f171b375-a1d9-4dbb-a2db-61b09e78bad8", + "type": "cae9cdc6d7b2442eb4d4095c65ccf9bd24a99bb9", "position": { - "x": 968, - "y": 368 + "x": 1016, + "y": 800 + }, + "size": { + "width": 96, + "height": 128 } }, { - "id": "add79568-8fa3-4976-96d4-5774aa4d5ee6", - "type": "c953202df76fedf2dff67e2add8103df0fefcf72", + "id": "6db36553-cdbf-4430-8693-607cf166a23a", + "type": "6e4fc811dcd6d1ac703e608270f81ee906ee7e98", "position": { - "x": 560, - "y": 448 + "x": 1080, + "y": -80 }, "size": { "width": 96, @@ -16588,11 +15972,11 @@ } }, { - "id": "93bd8ba4-1388-44e3-9a4f-a805866fa8e2", - "type": "f5dc974ff576804a66c6a60ab920080490117fc3", + "id": "adb6b0df-8c6d-408c-b6f5-953934e48c81", + "type": "5fcfda234fb072b021cd8f915af77e7ae7860198", "position": { - "x": 872, - "y": 480 + "x": 1312, + "y": 104 }, "size": { "width": 96, @@ -16603,5793 +15987,1928 @@ "wires": [ { "source": { - "block": "93bd8ba4-1388-44e3-9a4f-a805866fa8e2", - "port": "75d4695e-f445-4762-9ae9-c9bf0e51974f" + "block": "7fb933a6-5c63-4d46-8aaa-440b30974993", + "port": "out" }, "target": { - "block": "0c84226f-058f-4e9f-9697-4676db24be6e", + "block": "2c31aa6a-383c-4eb5-b669-b8a31ad14225", "port": "inlabel" }, "vertices": [] }, { "source": { - "block": "bd015212-9591-44d1-b9bd-e00404e9e127", - "port": "outlabel" + "block": "b14f140b-7bb5-46d9-8019-39c27ff6e0e3", + "port": "out" }, "target": { - "block": "add79568-8fa3-4976-96d4-5774aa4d5ee6", - "port": "0bc6ea13-3b91-44af-99ca-b8a88c42b845" - }, - "vertices": [] + "block": "da45f105-3600-4458-a820-50046581f5dd", + "port": "inlabel" + } }, { "source": { - "block": "aa41bb20-1565-45fc-b082-c728415f7cb3", - "port": "out" + "block": "ccd1e0fa-873c-4274-85c6-f906e6266aee", + "port": "9751f777-00ec-46c1-8d85-07d2dec1e653" }, "target": { - "block": "a9c22dcd-8004-403b-8252-7d67e44b004c", + "block": "05a1a5b4-bf29-49df-b0b1-887859d9ec9e", "port": "inlabel" - }, - "vertices": [] + } }, { "source": { - "block": "f58220ae-6857-4aee-a048-8f29a9a3edb0", + "block": "7df4a7f1-90b6-4562-8be3-e4719a824545", "port": "outlabel" }, "target": { - "block": "add79568-8fa3-4976-96d4-5774aa4d5ee6", - "port": "9409102d-240c-4352-9abe-791f1d3dc427" + "block": "f171b375-a1d9-4dbb-a2db-61b09e78bad8", + "port": "cb426e3d-ace3-4a57-a74b-155caed0c14c" } }, { "source": { - "block": "81cfea05-80b0-4fcf-b822-ee74415e5729", + "block": "fce01e4d-e6d2-4811-8f96-410673168b4c", "port": "outlabel" }, "target": { - "block": "93bd8ba4-1388-44e3-9a4f-a805866fa8e2", - "port": "4c296e24-7312-407a-8fb0-f3a6d4feb3ab" - }, - "vertices": [ - { - "x": 832, - "y": 448 - } - ] - }, - { - "source": { - "block": "add79568-8fa3-4976-96d4-5774aa4d5ee6", - "port": "e292a084-fe45-48cf-8901-25443ea28288" + "block": "7a989d63-cd4a-4c47-9513-57b4ea6ee141", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" }, - "target": { - "block": "ac7ffef6-e027-4f70-aa92-244c622c2288", - "port": "inlabel" - } + "vertices": [] }, { "source": { - "block": "bb087c79-9c6d-4eb9-9ce0-08daaf8ae25c", + "block": "524ca75c-cdd3-4e79-851a-b46ce146bd66", "port": "outlabel" }, "target": { - "block": "9e42bee5-bcaa-42fd-9077-6920b7b3f920", - "port": "in" - } + "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + }, + "vertices": [] }, { "source": { - "block": "add79568-8fa3-4976-96d4-5774aa4d5ee6", - "port": "5cadf71f-ae3d-44ee-a2f3-f95d2b2fc416" + "block": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, "target": { - "block": "1b53ca45-9c3b-48e2-a4d4-46606b68f6ed", + "block": "700d8b15-d6df-4b76-b10d-72db58c33e6c", "port": "inlabel" - } + }, + "vertices": [] }, { "source": { - "block": "a9515ba2-54a0-497f-a55e-3a97b52307b5", + "block": "0db424eb-f896-41e1-becb-7eb065dd64f2", "port": "outlabel" }, "target": { - "block": "b1b1682c-2c7c-4e71-8068-426364b08096", - "port": "in" - } + "block": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + }, + "vertices": [ + { + "x": 584, + "y": 824 + } + ] }, { "source": { - "block": "add79568-8fa3-4976-96d4-5774aa4d5ee6", - "port": "7c97b34e-6809-4280-9a47-7c6565783efd" + "block": "9be4488d-51be-4346-8a31-5d8f2f86e4d3", + "port": "outlabel" }, "target": { - "block": "93bd8ba4-1388-44e3-9a4f-a805866fa8e2", - "port": "27183891-b385-412b-bc55-21df1dd0280e" + "block": "26b71a43-5955-4452-9b0e-94ea6ef453b7", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" }, - "vertices": [], - "size": 8 + "vertices": [] }, { "source": { - "block": "add79568-8fa3-4976-96d4-5774aa4d5ee6", - "port": "e292a084-fe45-48cf-8901-25443ea28288" + "block": "923c4db6-0c76-4647-a848-75fd61fba6ec", + "port": "outlabel" }, "target": { - "block": "93bd8ba4-1388-44e3-9a4f-a805866fa8e2", - "port": "6bb28a95-e6e4-4044-9c22-c4404693b6b1" + "block": "26b71a43-5955-4452-9b0e-94ea6ef453b7", + "port": "97b51945-d716-4b6c-9db9-970d08541249" }, "vertices": [] }, { "source": { - "block": "3677e940-f241-4c6e-8411-81f6c8044f4a", - "port": "out" + "block": "f171b375-a1d9-4dbb-a2db-61b09e78bad8", + "port": "49221b19-132a-4e3f-9a1f-97bcd463391b" }, "target": { - "block": "add79568-8fa3-4976-96d4-5774aa4d5ee6", - "port": "00a3945b-8f8b-4145-a89f-5c63356cbb42" - }, - "size": 8 + "block": "366a768a-2f5d-4c01-8338-bdef0a688ea7", + "port": "inlabel" + } }, { "source": { - "block": "737e0f1e-4964-4029-a40b-baf773e3c886", - "port": "out" + "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, "target": { - "block": "add79568-8fa3-4976-96d4-5774aa4d5ee6", - "port": "ebecf4bb-9a9a-4343-bf58-c328017940a1" + "block": "54e9bf9f-b852-4c45-bd53-f6eb4ee707eb", + "port": "inlabel" } }, { "source": { - "block": "93bd8ba4-1388-44e3-9a4f-a805866fa8e2", - "port": "09701eaa-8d79-487f-b003-267e04095bb1" + "block": "dc204461-1dd1-428f-91a2-006d905d6585", + "port": "outlabel" }, "target": { - "block": "369dcc35-b79e-452f-8686-5a0fc79026ee", - "port": "in" + "block": "f171b375-a1d9-4dbb-a2db-61b09e78bad8", + "port": "8f591b24-0427-409f-aa6e-ca1861556cf5" } }, { "source": { - "block": "98166aa3-0973-4d30-9a46-29a3e4c30a57", - "port": "constant-out" + "block": "f171b375-a1d9-4dbb-a2db-61b09e78bad8", + "port": "6a11eaf9-4bd5-405e-81f8-44418365326b" }, "target": { - "block": "93bd8ba4-1388-44e3-9a4f-a805866fa8e2", - "port": "671d0b4d-317d-4aef-8422-8b9a400211a4" + "block": "7e9db299-cb56-4cd9-a489-d5fbd6eb3e2f", + "port": "inlabel" } }, { "source": { - "block": "36509a01-2e78-4be1-8055-0fba0ed93b33", - "port": "constant-out" + "block": "a040cc3d-b2c6-458e-bde6-f8234a19b6d1", + "port": "outlabel" }, "target": { - "block": "93bd8ba4-1388-44e3-9a4f-a805866fa8e2", - "port": "76db97e8-ad17-4a4b-b288-73e449659681" - } - } - ] - } - } - }, - "c953202df76fedf2dff67e2add8103df0fefcf72": { - "package": { - "name": "Bufferx1", - "version": "0.1", - "description": "1-byte buffer", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22486.672%22%20height=%22602.137%22%20viewBox=%220%200%20128.76529%20159.31538%22%3E%3Cdefs%3E%3Cmarker%20id=%22a%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20fill=%22green%22%20fill-rule=%22evenodd%22%20stroke=%22green%22%20stroke-width=%22.4pt%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22b%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20fill=%22green%22%20fill-rule=%22evenodd%22%20stroke=%22green%22%20stroke-width=%22.4pt%22/%3E%3C/marker%3E%3C/defs%3E%3Cg%20transform=%22translate(-36.709%20-6.935)%22%3E%3Ctext%20y=%2223.901%22%20x=%2252.692%22%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20font-weight=%22400%22%20font-size=%2224.237%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%221.515%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20y=%2223.901%22%20x=%2252.692%22%20font-weight=%22500%22%3EBUFFER%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%2257.966%22%20y=%2254.038%22%20font-weight=%22400%22%20font-size=%2224.237%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%221.515%22%3E%3Ctspan%20x=%2257.966%22%20y=%2254.038%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3E1%20Byte%3C/tspan%3E%3C/text%3E%3Cpath%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%221.058%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20d=%22M88.111%2080.714h18.065v34.343H88.111z%22/%3E%3Cpath%20d=%22M36.735%2097.51l32.787.406%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%224.233%22%20marker-end=%22url(#a)%22/%3E%3Ccircle%20r=%2212.463%22%20cy=%22153.527%22%20cx=%2249.548%22%20fill=%22#ececec%22%20stroke=%22green%22%20stroke-width=%22.521%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M55.006%20160.654h-2.87V144.54h-5.21v15.99H43.8%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%221.302%22%20stroke-linecap=%22round%22/%3E%3Ccircle%20cx=%22152.75%22%20cy=%22152.608%22%20r=%2212.463%22%20fill=%22#ececec%22%20stroke=%22green%22%20stroke-width=%22.521%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M158.208%20159.736h-2.87V143.62h-5.209v15.989h-3.126%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%221.302%22%20stroke-linecap=%22round%22/%3E%3Cpath%20d=%22M112.404%2097.51l32.788.406%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%224.233%22%20marker-end=%22url(#b)%22/%3E%3C/g%3E%3C/svg%3E", - "otid": 1592069772467 - }, - "design": { - "graph": { - "blocks": [ - { - "id": "9409102d-240c-4352-9abe-791f1d3dc427", - "type": "basic.input", - "data": { - "name": "", - "clock": true + "block": "38abb13c-8652-41fb-931c-c7bf760ebb24", + "port": "in" }, - "position": { - "x": 0, - "y": 168 - } + "vertices": [] }, { - "id": "3d49de96-a8cc-4d88-8f57-75e496bdff70", - "type": "basic.inputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "source": { + "block": "8ca2279c-fdc3-40d3-9fbe-2071c026932f", + "port": "outlabel" }, - "position": { - "x": 144, - "y": 168 + "target": { + "block": "6db36553-cdbf-4430-8693-607cf166a23a", + "port": "49fb1766-1e7f-4706-9872-a6cd65cc9f2d" } }, { - "id": "f7141ca8-af9f-4746-b93b-eaf40e5a7287", - "type": "basic.output", - "data": { - "name": "nc" + "source": { + "block": "289f00be-f97d-4553-a60a-32d8b45da4cc", + "port": "outlabel" }, - "position": { - "x": 1480, - "y": 176 + "target": { + "block": "5caa6aff-82f8-4a53-84f7-b67bb5bad8a8", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" } }, { - "id": "5cadf71f-ae3d-44ee-a2f3-f95d2b2fc416", - "type": "basic.output", - "data": { - "name": "busy", - "virtual": false + "source": { + "block": "7d0852c6-4778-4a53-bf90-30527c44a0eb", + "port": "outlabel" }, - "position": { - "x": 1480, - "y": 288 + "target": { + "block": "5caa6aff-82f8-4a53-84f7-b67bb5bad8a8", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" } }, { - "id": "f9363071-27a7-4f7e-9251-5d18cbfcb661", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "full" + "source": { + "block": "f171b375-a1d9-4dbb-a2db-61b09e78bad8", + "port": "73948305-b05b-418f-88af-11328f400cdc" }, - "position": { - "x": 1328, - "y": 288 + "target": { + "block": "caf86b2c-c08d-411d-be47-4084fec9532e", + "port": "inlabel" } }, { - "id": "0bc6ea13-3b91-44af-99ca-b8a88c42b845", - "type": "basic.input", - "data": { - "name": "busy", - "clock": false + "source": { + "block": "d1540ef0-9272-4082-9b24-9843ddb00cd7", + "port": "outlabel" }, - "position": { - "x": -8, - "y": 296 - } - }, - { - "id": "a0618acf-b3a5-4778-9c40-73ef35c9e5e3", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "busy", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "target": { + "block": "6db36553-cdbf-4430-8693-607cf166a23a", + "port": "dbe1622c-3510-4132-8b5c-2fbf81d7f581" }, - "position": { - "x": 136, - "y": 296 - } + "vertices": [ + { + "x": 1000, + "y": 32 + } + ] }, { - "id": "f6a0cbbe-4f41-4558-a15a-b11cae68a067", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk" + "source": { + "block": "40e3c20c-5598-44a1-b5b4-760dba97d882", + "port": "outlabel" }, - "position": { - "x": 568, - "y": 304 - } + "target": { + "block": "6db36553-cdbf-4430-8693-607cf166a23a", + "port": "25996d5e-6856-4828-8cb3-5dea5ff5cf9c", + "size": 8 + }, + "size": 8 }, { - "id": "00a3945b-8f8b-4145-a89f-5c63356cbb42", - "type": "basic.input", - "data": { - "name": "din", - "range": "[7:0]", - "clock": false, + "source": { + "block": "9978357f-7ad7-44b5-97d2-b44692508773", + "port": "out", "size": 8 }, - "position": { - "x": -8, - "y": 368 - } + "target": { + "block": "5344b55b-0e5d-4444-88ef-fd6b3caa1c5b", + "port": "inlabel" + }, + "size": 8 }, { - "id": "2fce138f-6339-467a-bca4-50f3daea2cd8", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "din", - "range": "[7:0]", - "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "source": { + "block": "5b15b8c9-8fb1-410a-8910-a60ef283ff1d", + "port": "outlabel" }, - "position": { - "x": 136, - "y": 368 + "target": { + "block": "fc204eb4-2475-49d5-8d15-940e4cede5d4", + "port": "c39743c3-1b76-483c-8613-15f2782d0809" } }, { - "id": "9b1d07d3-66d2-4f19-8b65-fce699451099", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "din", - "range": "[7:0]", + "source": { + "block": "28d32f23-19b6-4a8c-8ac6-edbbb1a0e999", + "port": "outlabel" + }, + "target": { + "block": "fc204eb4-2475-49d5-8d15-940e4cede5d4", + "port": "1b621e37-f1b1-46a7-8450-5500bb513afb", "size": 8 }, - "position": { - "x": 568, - "y": 368 - } + "size": 8 }, { - "id": "7c97b34e-6809-4280-9a47-7c6565783efd", - "type": "basic.output", - "data": { - "name": "dout", - "range": "[7:0]", + "source": { + "block": "fc204eb4-2475-49d5-8d15-940e4cede5d4", + "port": "8e68dac0-4473-40be-a907-0eb952ae4420", "size": 8 }, - "position": { - "x": 1488, - "y": 368 - } + "target": { + "block": "703240cb-6595-44d0-a266-869db1fe0889", + "port": "inlabel" + }, + "size": 8 }, { - "id": "250b5b98-fbd7-467e-b14a-3c2367f49fc6", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "dout", - "range": "[7:0]", - "size": 8 - }, - "position": { - "x": 1328, - "y": 368 + "source": { + "block": "eda78d52-57f7-4e44-bd8e-75e67c496650", + "port": "outlabel" + }, + "target": { + "block": "f171b375-a1d9-4dbb-a2db-61b09e78bad8", + "port": "ad4d0fc2-118e-496e-b292-c435bad20e7d" } }, { - "id": "048f5151-87d8-438e-b807-89e45379f059", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "dout", - "range": "[7:0]", - "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "source": { + "block": "94f3b4c1-ffb7-450b-99c4-aebfb6c4e124", + "port": "out", + "size": 24 }, - "position": { - "x": 888, - "y": 392 - } + "target": { + "block": "01c88c3e-3d41-47d5-8548-d6d9a2c1cfe8", + "port": "inlabel" + }, + "size": 24 }, { - "id": "ebecf4bb-9a9a-4343-bf58-c328017940a1", - "type": "basic.input", - "data": { - "name": "load", - "clock": false + "source": { + "block": "d987011b-ee0c-4b06-b3b7-dfb2097a5c6f", + "port": "outlabel" }, - "position": { - "x": -8, - "y": 440 - } + "target": { + "block": "ccd1e0fa-873c-4274-85c6-f906e6266aee", + "port": "2117685c-3a4e-4403-a12a-5de3ed4c20a5", + "size": 24 + }, + "size": 24 }, { - "id": "da1430f6-4614-47c2-957e-e3d9c28a1107", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "load", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "source": { + "block": "f171b375-a1d9-4dbb-a2db-61b09e78bad8", + "port": "19940e4f-3166-4887-a4e2-ea5babe5f726", + "size": 14 }, - "position": { - "x": 136, - "y": 440 - } + "target": { + "block": "2c719f94-9d13-4502-9018-1231407bb53a", + "port": "inlabel" + }, + "size": 14 }, { - "id": "9fab6e1c-2098-4655-97ac-7d984af752aa", - "type": "basic.outputLabel", - "data": { - "blockColor": "greenyellow", - "name": "transmit", - "oldBlockColor": "greenyellow" + "source": { + "block": "eb3a1b78-59a5-4be4-a92e-3b7e9a65f13b", + "port": "outlabel" }, - "position": { - "x": 1328, - "y": 448 - } + "target": { + "block": "6db36553-cdbf-4430-8693-607cf166a23a", + "port": "61496e71-85ba-465b-89b9-fedb08b8590d", + "size": 14 + }, + "vertices": [ + { + "x": 992, + "y": -96 + } + ], + "size": 14 }, { - "id": "e292a084-fe45-48cf-8901-25443ea28288", - "type": "basic.output", - "data": { - "name": "txmit" + "source": { + "block": "0dfcc0e0-4f99-40f8-82ae-e43ea86f5e58", + "port": "outlabel" }, - "position": { - "x": 1488, - "y": 448 - } + "target": { + "block": "adb6b0df-8c6d-408c-b6f5-953934e48c81", + "port": "63847aa3-e2cd-4ff3-806d-b566a8176645", + "size": 24 + }, + "size": 24 }, { - "id": "caf3ea8d-b0ab-41e9-b5e2-483c88af018e", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk" + "source": { + "block": "7a989d63-cd4a-4c47-9513-57b4ea6ee141", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, - "position": { - "x": 768, - "y": 488 - } + "target": { + "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + }, + "vertices": [] }, { - "id": "2e58e7ea-7227-4e3a-aa72-ebf8449d7dea", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk" + "source": { + "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, - "position": { - "x": 592, - "y": 544 - } + "target": { + "block": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + }, + "vertices": [] }, { - "id": "e7c8154d-0273-4360-ba92-9ff7ef997c43", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "full", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "source": { + "block": "26b71a43-5955-4452-9b0e-94ea6ef453b7", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, - "position": { - "x": 1096, - "y": 584 + "target": { + "block": "adb6b0df-8c6d-408c-b6f5-953934e48c81", + "port": "1e7e3cd6-ed00-468a-9f7c-0bb91e020dce" } }, { - "id": "e6835d26-38af-46c6-95d7-2b812807d733", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "load" + "source": { + "block": "5caa6aff-82f8-4a53-84f7-b67bb5bad8a8", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" }, - "position": { - "x": 280, - "y": 584 + "target": { + "block": "95c4416f-62f5-4196-a406-f7915d40a572", + "port": "in" } }, { - "id": "882b10f5-e60d-4364-9b84-6fd7bcc34f09", - "type": "basic.outputLabel", - "data": { - "blockColor": "greenyellow", - "name": "transmit", - "oldBlockColor": "greenyellow" + "source": { + "block": "0414e63d-55c1-41b0-abdf-4e02d0f68ff9", + "port": "3d584b0a-29eb-47af-8c43-c0822282ef05" }, - "position": { - "x": 776, - "y": 672 + "target": { + "block": "fc204eb4-2475-49d5-8d15-940e4cede5d4", + "port": "f1022de4-0225-43d7-92d3-451161ee6942" } }, { - "id": "ed09d5d0-0653-49bb-956d-31d182eba03e", - "type": "basic.outputLabel", + "source": { + "block": "6db36553-cdbf-4430-8693-607cf166a23a", + "port": "81a20a74-f096-4c3b-bc35-91917f08c79b" + }, + "target": { + "block": "adb6b0df-8c6d-408c-b6f5-953934e48c81", + "port": "a7083464-b9f2-4661-ba0e-e1875f71f9f7" + }, + "vertices": [ + { + "x": 1232, + "y": 56 + } + ], + "size": 24 + }, + { + "source": { + "block": "adb6b0df-8c6d-408c-b6f5-953934e48c81", + "port": "cf1ee513-b831-4546-b816-53c8196fca1c" + }, + "target": { + "block": "fa41806b-2355-4923-895f-3ead2e752b43", + "port": "in" + }, + "size": 24 + } + ] + } + } + }, + "35f267d0df6ffcb7fc33753bc9df9cf083642cca": { + "package": { + "name": "NOT", + "version": "1.0.3", + "description": "Puerta NOT", + "author": "Jesús Arroyo, Juan González", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22317.651%22%20height=%22194.058%22%20version=%221%22%3E%3Cpath%20d=%22M69.246%204l161.86%2093.027-161.86%2093.031V4z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20cx=%22253.352%22%20cy=%2296.736%22%20rx=%2221.393%22%20ry=%2221.893%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2097.49h65.262m205.796%200h38.48%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%2281.112%22%20y=%22111.734%22%20transform=%22scale(.99532%201.0047)%22%20font-weight=%22400%22%20font-size=%2249.675%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%2281.112%22%20y=%22111.734%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%3ENot%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "18c2ebc7-5152-439c-9b3f-851c59bac834", + "type": "basic.input", "data": { - "blockColor": "fuchsia", - "name": "full" + "name": "" }, "position": { - "x": 128, - "y": 680 + "x": 64, + "y": 144 } }, { - "id": "90a4fcf1-e628-4fa2-a897-f6ff5d9ec518", - "type": "basic.outputLabel", + "id": "664caf9e-5f40-4df4-800a-b626af702e62", + "type": "basic.output", "data": { - "blockColor": "yellow", - "name": "clk" + "name": "" }, "position": { - "x": 1088, - "y": 696 + "x": 752, + "y": 144 } }, { - "id": "b39be05b-bc4c-4818-886e-45a0e6321d7a", - "type": "basic.inputLabel", + "id": "5365ed8c-e5db-4445-938f-8d689830ea5c", + "type": "basic.code", "data": { - "blockColor": "greenyellow", - "name": "transmit", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "greenyellow" + "code": "//-- Puerta NOT\n\n//-- module (input wire a, output wire c);\n\n\nassign c = ~a;\n\n\n//-- endmodule\n", + "params": [], + "ports": { + "in": [ + { + "name": "a" + } + ], + "out": [ + { + "name": "c" + } + ] + } }, "position": { - "x": 1352, - "y": 776 - } - }, - { - "id": "4934cb58-9165-4df1-ab8d-cce25d31c622", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "busy", - "oldBlockColor": "fuchsia" + "x": 256, + "y": 48 }, - "position": { - "x": 784, - "y": 808 + "size": { + "width": 400, + "height": 256 } - }, + } + ], + "wires": [ { - "id": "83c18781-c3fa-4049-9ae3-0c098af203f3", - "type": "35f267d0df6ffcb7fc33753bc9df9cf083642cca", - "position": { - "x": 912, - "y": 808 + "source": { + "block": "18c2ebc7-5152-439c-9b3f-851c59bac834", + "port": "out" }, - "size": { - "width": 96, - "height": 64 + "target": { + "block": "5365ed8c-e5db-4445-938f-8d689830ea5c", + "port": "a" } }, { - "id": "90d72446-1e0c-4cbc-aacf-45f6ae1b23fc", - "type": "89d2342d9664348db3e70e823cacbc8eb24ea3d0", - "position": { - "x": 720, - "y": 376 + "source": { + "block": "5365ed8c-e5db-4445-938f-8d689830ea5c", + "port": "c" }, - "size": { - "width": 96, - "height": 96 + "target": { + "block": "664caf9e-5f40-4df4-800a-b626af702e62", + "port": "in" } - }, + } + ] + } + } + }, + "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6": { + "package": { + "name": "AND", + "version": "1.0.1", + "description": "Puerta AND", + "author": "Jesús Arroyo, Juan González", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22336.09%22%20height=%22194.045%22%20version=%221%22%3E%3Cpath%20d=%22M174.656%20190.045H78.304V4h96.352s87.463%208.625%2087.463%2091.94c0%2083.311-87.463%2094.105-87.463%2094.105z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2045.668h74.018M4.057%20144.812h74.018m184.632-50.034h69.326%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%2292.894%22%20y=%22114.587%22%20font-weight=%22400%22%20font-size=%2258.054%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%2292.894%22%20y=%22114.587%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%3EAND%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ { - "id": "57db6a78-0c5c-4642-822e-22335b96f2a5", - "type": "1c7dae7144d376f2ee4896fcc502a29110e2db37", - "position": { - "x": 720, - "y": 584 + "id": "18c2ebc7-5152-439c-9b3f-851c59bac834", + "type": "basic.input", + "data": { + "name": "" }, - "size": { - "width": 96, - "height": 64 + "position": { + "x": 64, + "y": 88 } }, { - "id": "59abbca0-841c-4330-9b9e-9a01e1f66e5d", - "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", - "position": { - "x": 1064, - "y": 792 + "id": "664caf9e-5f40-4df4-800a-b626af702e62", + "type": "basic.output", + "data": { + "name": "" }, - "size": { - "width": 96, - "height": 64 + "position": { + "x": 784, + "y": 152 } }, { - "id": "5cf8a623-93ba-46b1-aeed-e677dacca948", - "type": "b959c256104d1064a5ef7b38632ffb6eed3b396f", - "position": { - "x": 912, - "y": 568 + "id": "97b51945-d716-4b6c-9db9-970d08541249", + "type": "basic.input", + "data": { + "name": "" }, - "size": { - "width": 96, - "height": 96 + "position": { + "x": 64, + "y": 224 } }, { - "id": "de2c9942-4970-4d39-8726-2bf623926cdb", - "type": "8e2728307baccbf26c01cdb87bcfba8ca64a435c", + "id": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "type": "basic.code", + "data": { + "code": "//-- Puerta AND\n\n//-- module and (input wire a, input wire b,\n//-- output wire c);\n\nassign c = a & b;\n\n//-- endmodule", + "params": [], + "ports": { + "in": [ + { + "name": "a" + }, + { + "name": "b" + } + ], + "out": [ + { + "name": "c" + } + ] + } + }, "position": { - "x": 1216, - "y": 776 + "x": 256, + "y": 48 }, "size": { - "width": 96, - "height": 64 + "width": 464, + "height": 272 } - }, + } + ], + "wires": [ { - "id": "bed90867-99ce-46ee-9dea-ab7429901c13", - "type": "35f267d0df6ffcb7fc33753bc9df9cf083642cca", - "position": { - "x": 264, - "y": 680 + "source": { + "block": "18c2ebc7-5152-439c-9b3f-851c59bac834", + "port": "out" }, - "size": { - "width": 96, - "height": 64 + "target": { + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "a" } }, { - "id": "c70e942c-80b7-4927-82b9-fc9497fd2c8f", - "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", - "position": { - "x": 408, - "y": 600 + "source": { + "block": "97b51945-d716-4b6c-9db9-970d08541249", + "port": "out" }, - "size": { - "width": 96, - "height": 64 + "target": { + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "b" } }, { - "id": "2f3e8573-2271-4318-bc85-4f7a8863d3b9", - "type": "basic.info", - "data": { - "info": "Empty Buffer \n(There is no byte \nwaiting)", - "readonly": true - }, - "position": { - "x": 416, - "y": 696 + "source": { + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "c" }, - "size": { - "width": 176, - "height": 72 + "target": { + "block": "664caf9e-5f40-4df4-800a-b626af702e62", + "port": "in" } - }, + } + ] + } + } + }, + "81613874c6152f06c06ed7014bf4235900cfcc30": { + "package": { + "name": "OR", + "version": "1.0.1", + "description": "Puerta OR", + "author": "Jesús Arroyo, Juan González", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22192.718%22%20width=%22383.697%22%20version=%221%22%3E%3Cpath%20d=%22M175.56%20188.718H84.527s30.345-42.538%2031.086-94.03c.743-51.49-31.821-90.294-31.821-90.294L176.109%204c46.445%201.948%20103.899%2053.44%20123.047%2093.678-32.601%2067.503-92.158%2089.79-123.596%2091.04z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2047.292h99.605M4.883%20145.168h100.981M298.57%2098.89h81.07%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20font-weight=%22400%22%20font-size=%2266.317%22%20y=%22121.28%22%20x=%22131.572%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20font-weight=%22700%22%20y=%22121.28%22%20x=%22131.572%22%3EOR%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ { - "id": "75732690-c25e-4ef2-8bd4-24063b99eccd", - "type": "basic.info", + "id": "18c2ebc7-5152-439c-9b3f-851c59bac834", + "type": "basic.input", "data": { - "info": "Byte stored in the \nbuffer, waiting to be \ntransmitted when the \ntransmitter is ready", - "readonly": true + "name": "" }, "position": { - "x": 736, - "y": 272 - }, - "size": { - "width": 192, - "height": 80 + "x": 64, + "y": 88 } }, { - "id": "ae4e35fb-6c45-4358-9da3-fd6001c91dc5", - "type": "basic.info", + "id": "664caf9e-5f40-4df4-800a-b626af702e62", + "type": "basic.output", "data": { - "info": "Buffer state: \n0: empty \n1: full", - "readonly": true + "name": "" }, "position": { - "x": 1024, - "y": 520 - }, - "size": { - "width": 152, - "height": 72 + "x": 784, + "y": 152 } }, { - "id": "89b7c934-9b29-4cd6-b65e-6a43b4ac918a", - "type": "basic.info", + "id": "97b51945-d716-4b6c-9db9-970d08541249", + "type": "basic.input", "data": { - "info": "Transmitter ready", - "readonly": true + "name": "" }, "position": { - "x": 912, - "y": 880 - }, - "size": { - "width": 168, - "height": 32 + "x": 64, + "y": 224 } }, { - "id": "0a843d2d-8d40-45e1-84e1-56278083af19", - "type": "basic.info", + "id": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "type": "basic.code", "data": { - "info": "If the transmittter is ready \nand there is a character \nin the buffer: Transmit!", - "readonly": true - }, - "position": { - "x": 1224, - "y": 696 - }, - "size": { - "width": 248, - "height": 72 - } - }, - { - "id": "dd4a29f2-1762-4fac-9def-299bdae4f72f", - "type": "basic.info", - "data": { - "info": "Serial transmitter state", - "readonly": true + "code": "//-- Puerta OR\n\n//-- module and (input wire a, input wire b,\n//-- output wire c);\n\nassign c = a | b;\n\n//-- endmodule", + "params": [], + "ports": { + "in": [ + { + "name": "a" + }, + { + "name": "b" + } + ], + "out": [ + { + "name": "c" + } + ] + } }, "position": { - "x": 56, - "y": 272 + "x": 256, + "y": 48 }, "size": { - "width": 208, - "height": 40 + "width": 464, + "height": 272 } } ], "wires": [ { "source": { - "block": "4934cb58-9165-4df1-ab8d-cce25d31c622", - "port": "outlabel" + "block": "18c2ebc7-5152-439c-9b3f-851c59bac834", + "port": "out" }, "target": { - "block": "83c18781-c3fa-4049-9ae3-0c098af203f3", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - }, - "vertices": [] + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "a" + } }, { "source": { - "block": "882b10f5-e60d-4364-9b84-6fd7bcc34f09", - "port": "outlabel" + "block": "97b51945-d716-4b6c-9db9-970d08541249", + "port": "out" }, "target": { - "block": "5cf8a623-93ba-46b1-aeed-e677dacca948", - "port": "86eb8c81-17fc-4371-bd21-51f429191f3c" - }, - "vertices": [] + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "b" + } }, { "source": { - "block": "5cf8a623-93ba-46b1-aeed-e677dacca948", - "port": "1cb167a4-9e2a-416b-803e-da7b6151eaa5" + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "c" }, "target": { - "block": "e7c8154d-0273-4360-ba92-9ff7ef997c43", - "port": "inlabel" + "block": "664caf9e-5f40-4df4-800a-b626af702e62", + "port": "in" + } + } + ] + } + } + }, + "725b7e2cb9666b5ed3183537d9c898f096dab82a": { + "package": { + "name": "1", + "version": "0.1", + "description": "Un bit constante a 1", + "author": "Jesus Arroyo", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2233.632%22%20height=%2269.34%22%20viewBox=%220%200%2031.530464%2065.006656%22%3E%3Cpath%20d=%22M3.517%2012.015L19%200l12.53%202.863-10.012%2043.262-9.746-2.227%207.7-34.532L8.03%2016.38z%22%20fill=%22green%22%20fill-rule=%22evenodd%22/%3E%3Cpath%20d=%22M17.593%2043.464l7.822%2010.472-6.56%207.919%202.27%202.043m-5.14-20.179l-4.542%2010.473-10.345%202.043.757%203.32%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%222.196%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "3d584b0a-29eb-47af-8c43-c0822282ef05", + "type": "basic.output", + "data": { + "name": "" }, - "vertices": [] + "position": { + "x": 512, + "y": 160 + } }, { - "source": { - "block": "ed09d5d0-0653-49bb-956d-31d182eba03e", - "port": "outlabel" + "id": "61331ec5-2c56-4cdd-b607-e63b1502fa65", + "type": "basic.code", + "data": { + "code": "//-- Bit constante a 1\nassign q = 1'b1;\n\n", + "params": [], + "ports": { + "in": [], + "out": [ + { + "name": "q" + } + ] + } }, - "target": { - "block": "bed90867-99ce-46ee-9dea-ab7429901c13", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "position": { + "x": 168, + "y": 112 }, - "vertices": [] - }, + "size": { + "width": 256, + "height": 160 + } + } + ], + "wires": [ { "source": { - "block": "de2c9942-4970-4d39-8726-2bf623926cdb", - "port": "1d2e403f-0fa6-41fd-83a9-4f309eadd855" + "block": "61331ec5-2c56-4cdd-b607-e63b1502fa65", + "port": "q" }, "target": { - "block": "b39be05b-bc4c-4818-886e-45a0e6321d7a", - "port": "inlabel" + "block": "3d584b0a-29eb-47af-8c43-c0822282ef05", + "port": "in" + } + } + ] + } + } + }, + "8d66187a7f8e3ffab330c0980473cb3427f8a5a6": { + "package": { + "name": "08-Reg", + "version": "0.8", + "description": "08-Reg: 8 bits Register. Verilog implementation", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22286.865%22%20height=%22270.812%22%20viewBox=%220%200%2075.899794%2071.65232%22%3E%3Cpath%20d=%22M43.907%2033.607h10.645%22%20color=%22#000%22%20fill=%22#00f%22/%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M102.876%20163.95l4.552%2028.037%205.644-28.037%22%20fill=%22#ccc%22%20transform=%22matrix(.65581%20-.3791%20.37863%20.6566%20-85.712%20-27.533)%22/%3E%3Cpath%20d=%22M99.758%20149.859l2.39-28.512h-9.831v-5.462h31.86v5.462h-9.284l1.724%2028.769s7.509%201.248%209.269%206.48c1.76%205.231-.367%207.286.15%207.36l-36.077-.044s-.817-6.104%202.015-9.194c2.832-3.09%207.784-4.86%207.784-4.86z%22%20fill=%22red%22%20transform=%22matrix(.65581%20-.3791%20.37863%20.6566%20-85.712%20-27.533)%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M102.876%20163.95l4.552%2028.037%205.644-28.037%22%20fill=%22#ccc%22%20transform=%22matrix(.65581%20-.3791%20.37863%20.6566%20-69.38%20-28.47)%22/%3E%3Cpath%20d=%22M99.758%20149.859l2.39-28.512h-9.831v-5.462h31.86v5.462h-9.284l1.724%2028.769s7.509%201.248%209.269%206.48c1.76%205.231-.367%207.286.15%207.36l-36.077-.044s-.817-6.104%202.015-9.194c2.832-3.09%207.784-4.86%207.784-4.86z%22%20fill=%22red%22%20transform=%22matrix(.65581%20-.3791%20.37863%20.6566%20-69.38%20-28.47)%22/%3E%3C/g%3E%3Cg%20transform=%22translate(-93.518%20-25.072)%20scale(1.09073)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20cx=%22100.602%22%20cy=%2273.815%22%20r=%2214.559%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618509859237 + }, + "design": { + "graph": { + "blocks": [ + { + "id": "c39743c3-1b76-483c-8613-15f2782d0809", + "type": "basic.input", + "data": { + "name": "", + "clock": true }, - "vertices": [] + "position": { + "x": 568, + "y": 144 + } }, { - "source": { - "block": "9409102d-240c-4352-9abe-791f1d3dc427", - "port": "out" + "id": "8e68dac0-4473-40be-a907-0eb952ae4420", + "type": "basic.output", + "data": { + "name": "", + "range": "[7:0]", + "size": 8 }, - "target": { - "block": "3d49de96-a8cc-4d88-8f57-75e496bdff70", - "port": "inlabel" + "position": { + "x": 1136, + "y": 240 + } + }, + { + "id": "1b621e37-f1b1-46a7-8450-5500bb513afb", + "type": "basic.input", + "data": { + "name": "", + "range": "[7:0]", + "clock": false, + "size": 8 }, - "vertices": [] + "position": { + "x": 568, + "y": 240 + } }, { - "source": { - "block": "f6a0cbbe-4f41-4558-a15a-b11cae68a067", - "port": "outlabel" + "id": "f1022de4-0225-43d7-92d3-451161ee6942", + "type": "basic.input", + "data": { + "name": "load", + "clock": false }, - "target": { - "block": "90d72446-1e0c-4cbc-aacf-45f6ae1b23fc", - "port": "096f61b6-6d5c-4907-9512-e65b25969458" + "position": { + "x": 568, + "y": 328 } }, { - "source": { - "block": "2e58e7ea-7227-4e3a-aa72-ebf8449d7dea", - "port": "outlabel" + "id": "1ee1f0e1-9e00-4224-82dd-d976319e771f", + "type": "basic.constant", + "data": { + "name": "", + "value": "0", + "local": false }, - "target": { - "block": "57db6a78-0c5c-4642-822e-22335b96f2a5", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + "position": { + "x": 848, + "y": 24 } }, { - "source": { - "block": "00a3945b-8f8b-4145-a89f-5c63356cbb42", - "port": "out", - "size": 8 + "id": "80679117-f4e2-46f1-95c8-6b897a7d0936", + "type": "basic.code", + "data": { + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "d", + "range": "[7:0]", + "size": 8 + }, + { + "name": "load" + } + ], + "out": [ + { + "name": "q", + "range": "[7:0]", + "size": 8 + } + ] + }, + "params": [ + { + "name": "INI" + } + ], + "code": "//-- Generic register\n//-- Number of bits\nlocalparam N = 8;\n\n//-- Initial value\nreg [N-1:0] qi = INI;\n\nalways @(posedge clk)\n\n //-- The value is load only if \n //-- load is 1\n if (load == 1'b1)\n qi <= d;\n \n//-- Connect the register with the\n//-- output\nassign q = qi;" }, - "target": { - "block": "2fce138f-6339-467a-bca4-50f3daea2cd8", - "port": "inlabel" + "position": { + "x": 728, + "y": 128 }, - "size": 8 - }, + "size": { + "width": 328, + "height": 280 + } + } + ], + "wires": [ { "source": { - "block": "9b1d07d3-66d2-4f19-8b65-fce699451099", - "port": "outlabel" + "block": "1ee1f0e1-9e00-4224-82dd-d976319e771f", + "port": "constant-out" }, "target": { - "block": "90d72446-1e0c-4cbc-aacf-45f6ae1b23fc", - "port": "42b35cc2-aa64-4e66-be42-169958246799", - "size": 8 + "block": "80679117-f4e2-46f1-95c8-6b897a7d0936", + "port": "INI" }, - "size": 8 + "vertices": [] }, { "source": { - "block": "ebecf4bb-9a9a-4343-bf58-c328017940a1", + "block": "c39743c3-1b76-483c-8613-15f2782d0809", "port": "out" }, "target": { - "block": "da1430f6-4614-47c2-957e-e3d9c28a1107", - "port": "inlabel" - } + "block": "80679117-f4e2-46f1-95c8-6b897a7d0936", + "port": "clk" + }, + "vertices": [] }, { "source": { - "block": "e6835d26-38af-46c6-95d7-2b812807d733", - "port": "outlabel" + "block": "f1022de4-0225-43d7-92d3-451161ee6942", + "port": "out" }, "target": { - "block": "c70e942c-80b7-4927-82b9-fc9497fd2c8f", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "block": "80679117-f4e2-46f1-95c8-6b897a7d0936", + "port": "load" } }, { "source": { - "block": "90d72446-1e0c-4cbc-aacf-45f6ae1b23fc", - "port": "d3e4f800-c611-4f65-88e7-8b7d2def0021", - "size": 8 + "block": "1b621e37-f1b1-46a7-8450-5500bb513afb", + "port": "out" }, "target": { - "block": "048f5151-87d8-438e-b807-89e45379f059", - "port": "inlabel" + "block": "80679117-f4e2-46f1-95c8-6b897a7d0936", + "port": "d" }, "size": 8 }, { "source": { - "block": "250b5b98-fbd7-467e-b14a-3c2367f49fc6", - "port": "outlabel" + "block": "80679117-f4e2-46f1-95c8-6b897a7d0936", + "port": "q" }, "target": { - "block": "7c97b34e-6809-4280-9a47-7c6565783efd", - "port": "in", - "size": 8 + "block": "8e68dac0-4473-40be-a907-0eb952ae4420", + "port": "in" }, "size": 8 - }, + } + ] + } + } + }, + "cae9cdc6d7b2442eb4d4095c65ccf9bd24a99bb9": { + "package": { + "name": "count-14bits", + "version": "0.3", + "description": "Máquina de contar, de 14 bits", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22498.716%22%20width=%22422.648%22%3E%3Cpath%20d=%22M198.947%2079.637c-24.895%200-45.092%2020.196-45.092%2045.109%200%2024.886%2020.197%2045.126%2045.092%2045.126%2024.904%200%2044.953-20.24%2044.953-45.126%200-24.913-20.05-45.11-44.953-45.11zm90.41%2071.022l-8.128%2019.578%2014.497%2028.472%201.914%203.759-20.1%2020.1-32.98-15.575-19.578%208.04-9.937%2030.421-1.27%204.038h-28.411l-12.295-34.337-19.579-8.075-28.514%2014.462-3.76%201.88-20.091-20.083%2015.558-32.997-8.066-19.56-30.37-9.92-4.028-1.306v-28.393L108.58%2098.85l8.067-19.544-14.454-28.533-1.905-3.741%2020.065-20.066%2033.023%2015.55%2019.552-8.084%209.929-30.403L184.137%200h28.402l12.304%2034.38%2019.526%208.084%2028.524-14.471%203.794-1.906%2020.083%2020.066-15.558%2032.97%208.04%2019.588%2030.455%209.928%204.003%201.28v28.384z%22%20fill=%22#00f%22/%3E%3Crect%20rx=%2210.608%22%20ry=%2210.608%22%20y=%22266.697%22%20x=%22218.697%22%20height=%22180.846%22%20width=%22111.64%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%225.658%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%22387.839%22%20x=%22242.878%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2233.946%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%225.658%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%22387.839%22%20x=%22242.878%22%20font-weight=%22700%22%20font-size=%22134.762%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M222.934%20361.162h104.934%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%228.487%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20rx=%2210.608%22%20ry=%2210.608%22%20y=%22266.697%22%20x=%2292.408%22%20height=%22180.846%22%20width=%22111.64%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%225.658%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%22387.839%22%20x=%22109.261%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2233.946%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%225.658%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%22387.839%22%20x=%22109.261%22%20font-weight=%22700%22%20font-size=%22134.762%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M96.645%20361.162h104.934%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%228.487%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%20-277.4%2063.192)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%20-277.4%20211.802)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%2049.068%20210.797)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%2046.938%2063.192)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ { - "source": { - "block": "caf3ea8d-b0ab-41e9-b5e2-483c88af018e", - "port": "outlabel" + "id": "cb426e3d-ace3-4a57-a74b-155caed0c14c", + "type": "basic.input", + "data": { + "name": "", + "clock": true }, - "target": { - "block": "5cf8a623-93ba-46b1-aeed-e677dacca948", - "port": "9f09a4af-8f7a-45c3-af7b-293a244e76d9" + "position": { + "x": 592, + "y": -416 } }, { - "source": { - "block": "90a4fcf1-e628-4fa2-a897-f6ff5d9ec518", - "port": "outlabel" + "id": "9291f94d-2d9a-4c3a-b7df-4299abf84886", + "type": "basic.inputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "target": { - "block": "de2c9942-4970-4d39-8726-2bf623926cdb", - "port": "4196184b-4a60-493b-bcc6-c95958483683" + "position": { + "x": 736, + "y": -416 } }, { - "source": { - "block": "9fab6e1c-2098-4655-97ac-7d984af752aa", - "port": "outlabel" + "id": "81fb4efb-363e-483e-b1df-c2ebda777355", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "target": { - "block": "e292a084-fe45-48cf-8901-25443ea28288", - "port": "in" + "position": { + "x": 1416, + "y": -352 } }, { - "source": { - "block": "0bc6ea13-3b91-44af-99ca-b8a88c42b845", - "port": "out" - }, - "target": { - "block": "a0618acf-b3a5-4778-9c40-73ef35c9e5e3", - "port": "inlabel" + "id": "92c88f9e-7d51-4946-b0ef-088dcd8efa49", + "type": "basic.inputLabel", + "data": { + "blockColor": "red", + "name": "on", + "oldBlockColor": "fuchsia" }, - "vertices": [] + "position": { + "x": 952, + "y": -304 + } }, { - "source": { - "block": "f9363071-27a7-4f7e-9251-5d18cbfcb661", - "port": "outlabel" + "id": "6c846478-ff94-415a-b78e-03b6981bc0fe", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "rst" }, - "target": { - "block": "5cadf71f-ae3d-44ee-a2f3-f95d2b2fc416", - "port": "in" + "position": { + "x": 1416, + "y": -288 } }, { - "source": { - "block": "83c18781-c3fa-4049-9ae3-0c098af203f3", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" - }, - "target": { - "block": "59abbca0-841c-4330-9b9e-9a01e1f66e5d", - "port": "97b51945-d716-4b6c-9db9-970d08541249" + "id": "40607400-436e-4dea-b733-8308a06fd4ef", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "vertices": [] + "position": { + "x": 584, + "y": -224 + } }, { - "source": { - "block": "5cf8a623-93ba-46b1-aeed-e677dacca948", - "port": "1cb167a4-9e2a-416b-803e-da7b6151eaa5" - }, - "target": { - "block": "59abbca0-841c-4330-9b9e-9a01e1f66e5d", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "id": "6a11eaf9-4bd5-405e-81f8-44418365326b", + "type": "basic.output", + "data": { + "name": "Busy" }, - "vertices": [] + "position": { + "x": 2312, + "y": -216 + } }, { - "source": { - "block": "57db6a78-0c5c-4642-822e-22335b96f2a5", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" - }, - "target": { - "block": "5cf8a623-93ba-46b1-aeed-e677dacca948", - "port": "3ae2d46d-7981-497a-899f-b60bfae0f43e" + "id": "2438a009-c8e2-4acb-b443-90fe0ddd989d", + "type": "basic.outputLabel", + "data": { + "blockColor": "red", + "name": "on", + "oldBlockColor": "fuchsia" }, - "vertices": [] + "position": { + "x": 2152, + "y": -216 + } }, { - "source": { - "block": "59abbca0-841c-4330-9b9e-9a01e1f66e5d", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" - }, - "target": { - "block": "de2c9942-4970-4d39-8726-2bf623926cdb", - "port": "b6426b43-dcda-418d-b6d3-4764b5bc0b25" + "id": "bc6920df-ca50-4643-ad7a-7e10c29856e8", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "rst" }, - "vertices": [] + "position": { + "x": 952, + "y": -192 + } }, { - "source": { - "block": "c70e942c-80b7-4927-82b9-fc9497fd2c8f", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" - }, - "target": { - "block": "57db6a78-0c5c-4642-822e-22335b96f2a5", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + "id": "8f591b24-0427-409f-aa6e-ca1861556cf5", + "type": "basic.input", + "data": { + "name": "start", + "clock": false }, - "vertices": [] + "position": { + "x": 584, + "y": -136 + } }, { - "source": { - "block": "c70e942c-80b7-4927-82b9-fc9497fd2c8f", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" - }, - "target": { - "block": "90d72446-1e0c-4cbc-aacf-45f6ae1b23fc", - "port": "065ea371-8398-43b3-8341-287c234a3acb" + "id": "ba7c88dc-642a-46e2-9dac-c32ba106020d", + "type": "basic.outputLabel", + "data": { + "name": "cnt", + "range": "[13:0]", + "blockColor": "navy", + "size": 14 }, - "vertices": [ - { - "x": 536, - "y": 568 - } - ] + "position": { + "x": 1184, + "y": -120 + } }, { - "source": { - "block": "bed90867-99ce-46ee-9dea-ab7429901c13", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" - }, - "target": { - "block": "c70e942c-80b7-4927-82b9-fc9497fd2c8f", - "port": "97b51945-d716-4b6c-9db9-970d08541249" + "id": "1cfadcd2-42df-4d6b-9aed-0e94c93bf202", + "type": "basic.inputLabel", + "data": { + "name": "cnt", + "range": "[13:0]", + "blockColor": "navy", + "size": 14 }, - "vertices": [] - } - ] - } - } - }, - "89d2342d9664348db3e70e823cacbc8eb24ea3d0": { - "package": { - "name": "Registro", - "version": "0.1", - "description": "Registro de 8 bits", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22519.236%22%20height=%22279.911%22%20viewBox=%220%200%20137.38127%2074.059853%22%3E%3Cpath%20d=%22M41.506%2040.152l13.608%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke=%22#000%22%20stroke-width=%221.092%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M34.122%2032.088L24.89%2012.475l-6.45%203.724-2.07-3.583L37.276.546l2.07%203.584-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.772L33.017%2045.02s-2.849-3.695-2.16-6.795c.687-3.1%203.265-6.137%203.265-6.137z%22%20fill=%22red%22%20stroke=%22#000%22%20stroke-width=%221.092%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22translate(-93.518%20-22.665)%20scale(1.09073)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20cx=%22100.602%22%20cy=%2273.815%22%20r=%2214.559%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M81.95%2040.152l13.607%2016.672L88.64%2036.29%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M74.566%2032.088l-9.232-19.613-6.451%203.724-2.069-3.583L77.719.546l2.069%203.584-6.092%203.517%2012.03%2018.223s5.399-2.025%208.535.74c3.137%202.766%202.52%204.92%202.887%204.772L73.46%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M121.637%2040.152l13.608%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M114.253%2032.088l-9.232-19.613-6.45%203.724-2.07-3.583L117.407.546l2.07%203.584-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.772L113.147%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ + "position": { + "x": 1824, + "y": -104 + } + }, { - "id": "096f61b6-6d5c-4907-9512-e65b25969458", - "type": "basic.input", + "id": "9baa509b-0012-4e0e-b874-e62987258aa1", + "type": "basic.inputLabel", "data": { - "name": "", - "clock": true + "blockColor": "fuchsia", + "name": "start" }, "position": { - "x": 80, - "y": 176 + "x": 944, + "y": -72 } }, { - "id": "d3e4f800-c611-4f65-88e7-8b7d2def0021", + "id": "19940e4f-3166-4887-a4e2-ea5babe5f726", "type": "basic.output", "data": { - "name": "q", - "range": "[7:0]", - "size": 8 + "name": "n", + "range": "[13:0]", + "size": 14 }, "position": { - "x": 632, - "y": 248 + "x": 2328, + "y": -72 } }, { - "id": "42b35cc2-aa64-4e66-be42-169958246799", - "type": "basic.input", + "id": "f46fb7c4-9551-4da4-9a31-7dd52f738527", + "type": "basic.outputLabel", "data": { - "name": "", - "range": "[7:0]", - "clock": false, - "size": 8 + "name": "cnt", + "range": "[13:0]", + "blockColor": "navy", + "size": 14 }, "position": { - "x": 80, - "y": 248 + "x": 2160, + "y": -72 } }, { - "id": "065ea371-8398-43b3-8341-287c234a3acb", - "type": "basic.input", + "id": "45bd338b-4745-4b06-b199-462cdaffa31d", + "type": "basic.outputLabel", "data": { - "name": "load", - "clock": false + "blockColor": "gold", + "name": "stop", + "oldBlockColor": "fuchsia" }, "position": { - "x": 80, - "y": 312 + "x": 584, + "y": -24 } }, { - "id": "f3b434e4-0c8f-4dd7-90c7-305189a807f1", - "type": "basic.constant", + "id": "8a5f0c79-7347-4b35-8e27-603ebed8bf9f", + "type": "basic.outputLabel", "data": { - "name": "", - "value": "0", - "local": false + "blockColor": "darkgreen", + "name": "cycle", + "oldBlockColor": "fuchsia" }, "position": { - "x": 376, - "y": 56 + "x": 1472, + "y": 16 } }, { - "id": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "type": "basic.code", + "id": "5a3f8466-6a57-4607-939a-fb15222442a7", + "type": "basic.inputLabel", "data": { - "code": "localparam N = 8;\n\nreg [N-1:0] q = INI;\n\nalways @(posedge clk)\n if (load)\n q <= d;", - "params": [ - { - "name": "INI" - } - ], - "ports": { - "in": [ - { - "name": "clk" - }, - { - "name": "d", - "range": "[7:0]", - "size": 8 - }, - { - "name": "load" - } - ], - "out": [ - { - "name": "q", - "range": "[7:0]", - "size": 8 - } - ] - } + "blockColor": "fuchsia", + "name": "done" }, "position": { - "x": 280, - "y": 176 - }, - "size": { - "width": 288, - "height": 200 + "x": 920, + "y": 24 } - } - ], - "wires": [ - { - "source": { - "block": "f3b434e4-0c8f-4dd7-90c7-305189a807f1", - "port": "constant-out" - }, - "target": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "INI" - }, - "vertices": [] - }, - { - "source": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "q" - }, - "target": { - "block": "d3e4f800-c611-4f65-88e7-8b7d2def0021", - "port": "in" - }, - "size": 8 }, { - "source": { - "block": "42b35cc2-aa64-4e66-be42-169958246799", - "port": "out" - }, - "target": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "d" + "id": "dddd2a78-e0f8-4688-ad63-0c41ad98894b", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "exec", + "oldBlockColor": "fuchsia" }, - "size": 8 + "position": { + "x": 2160, + "y": 104 + } }, { - "source": { - "block": "065ea371-8398-43b3-8341-287c234a3acb", - "port": "out" + "id": "73948305-b05b-418f-88af-11328f400cdc", + "type": "basic.output", + "data": { + "name": "exec" }, - "target": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "load" + "position": { + "x": 2328, + "y": 104 } }, { - "source": { - "block": "096f61b6-6d5c-4907-9512-e65b25969458", - "port": "out" + "id": "c5781045-a890-4e66-8f67-80d0cb317ee6", + "type": "basic.outputLabel", + "data": { + "blockColor": "red", + "name": "on", + "oldBlockColor": "fuchsia" }, - "target": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "clk" + "position": { + "x": 1544, + "y": 136 } - } - ] - } - } - }, - "8e2728307baccbf26c01cdb87bcfba8ca64a435c": { - "package": { - "name": "Subida", - "version": "0.1", - "description": "Detector de flanco de subida. Emite un tic cuando detecta un flanco ascendente", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22363.337%22%20height=%22251.136%22%20viewBox=%220%200%2096.132868%2066.446441%22%3E%3Cdefs%3E%3Cmarker%20orient=%22auto%22%20id=%22a%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20fill=%22red%22%20fill-rule=%22evenodd%22%20stroke=%22red%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3C/defs%3E%3Cg%20transform=%22translate(-63.113%20-50.902)%22%3E%3Cg%20fill=%22none%22%20stroke=%22#00f%22%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M76.611%2083.336l6.027%207.974-5.055%206.03%201.75%201.557M75.371%2083.53l-3.5%207.975-7.97%201.556.583%202.528%22%20stroke-width=%221.058%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M75.907%2083.53V53.588%22%20stroke-width=%223.969%22/%3E%3Cpath%20d=%22M65.118%2063.338l10.688-10.452%2010.351%2010.452%22%20stroke-width=%223.969%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3Cpath%20d=%22M123.88%2069.103c2.17%203.317%204.013%202.718%205.68%200%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22/%3E%3Cpath%20d=%22M132.326%2095.38V51.614h-11.225v43.497%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%221.323%22%20stroke-linecap=%22round%22/%3E%3Cellipse%20cx=%22112.489%22%20cy=%2297.866%22%20rx=%227.009%22%20ry=%222.635%22%20transform=%22rotate(-1.418)%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%22.265%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20cx=%22-140.807%22%20cy=%2291.678%22%20rx=%227.009%22%20ry=%222.635%22%20transform=%22scale(-1%201)%20rotate(-1.418)%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%22.265%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M124.8%2059.416v3.875M128.39%2059.416v3.875%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%22.529%22/%3E%3Cpath%20d=%22M85.794%2074.097h21.381%22%20fill=%22red%22%20stroke=%22red%22%20stroke-width=%222.646%22%20marker-end=%22url(#a)%22/%3E%3Cg%20transform=%22matrix(.842%200%200%20.842%2062.024%2042.68)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ + }, { - "id": "4196184b-4a60-493b-bcc6-c95958483683", - "type": "basic.input", + "id": "fa7f43f2-cbb2-47e0-bcc5-32336f9cd8ed", + "type": "basic.outputLabel", "data": { - "name": "", - "clock": true + "blockColor": "red", + "name": "on", + "oldBlockColor": "fuchsia" }, "position": { - "x": 152, - "y": 176 + "x": 648, + "y": 152 } }, { - "id": "1d2e403f-0fa6-41fd-83a9-4f309eadd855", - "type": "basic.output", + "id": "8c96c7ec-0c2f-4870-9197-46116cd1d134", + "type": "basic.inputLabel", "data": { - "name": "" + "blockColor": "darkgreen", + "name": "cycle", + "oldBlockColor": "fuchsia" }, "position": { - "x": 624, - "y": 200 + "x": 1080, + "y": 168 } }, { - "id": "b6426b43-dcda-418d-b6d3-4764b5bc0b25", + "id": "ad4d0fc2-118e-496e-b292-c435bad20e7d", "type": "basic.input", "data": { - "name": "", + "name": "next", "clock": false }, "position": { - "x": 152, - "y": 232 + "x": 616, + "y": 208 } }, { - "id": "3b0eca37-3439-41c9-99e7-7ff1e56bb528", - "type": "basic.code", + "id": "d8820925-23d9-4f02-8491-adf813601d08", + "type": "basic.outputLabel", "data": { - "code": "reg q = 0;\n\nalways @(posedge clk)\n q <= i;\n \nassign o = (~q & i); ", - "params": [], - "ports": { - "in": [ - { - "name": "clk" - }, - { - "name": "i" - } - ], - "out": [ - { - "name": "o" - } - ] - } + "blockColor": "yellow", + "name": "clk" }, "position": { - "x": 336, - "y": 176 - }, - "size": { - "width": 232, - "height": 112 - } - } - ], - "wires": [ - { - "source": { - "block": "b6426b43-dcda-418d-b6d3-4764b5bc0b25", - "port": "out" - }, - "target": { - "block": "3b0eca37-3439-41c9-99e7-7ff1e56bb528", - "port": "i" + "x": 1384, + "y": 216 } }, { - "source": { - "block": "3b0eca37-3439-41c9-99e7-7ff1e56bb528", - "port": "o" + "id": "a756b829-42d1-4779-b42d-a9acc3800854", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "done", + "oldBlockColor": "fuchsia" }, - "target": { - "block": "1d2e403f-0fa6-41fd-83a9-4f309eadd855", - "port": "in" + "position": { + "x": 2160, + "y": 248 } }, { - "source": { - "block": "4196184b-4a60-493b-bcc6-c95958483683", - "port": "out" - }, - "target": { - "block": "3b0eca37-3439-41c9-99e7-7ff1e56bb528", - "port": "clk" - } - } - ] - } - } - }, - "f5dc974ff576804a66c6a60ab920080490117fc3": { - "package": { - "name": "Serial-tx-sysclk", - "version": "0.2", - "description": "Serial transmitter with system clock freq parameter", - "author": "Juan Gonzalez-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22223.269%22%20width=%22293.137%22%20viewBox=%220%200%20274.81662%20209.31615%22%3E%3Cg%20transform=%22translate(347.142%20-102.544)%20scale(1.04907)%22%20stroke=%22#000%22%3E%3Cpath%20d=%22M-170.798%20177.526l.315%2036.011%2040.397-37.263v-33.51z%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M-308.584%20177.892l53.235-35.7%20124.635.628-39.456%2035.7%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Crect%20ry=%223.509%22%20height=%2236.325%22%20width=%22139.039%22%20y=%22178.153%22%20x=%22-308.895%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22square%22/%3E%3Cg%20transform=%22matrix(1.88858%200%200%201.88858%20-312.436%20138.651)%22%20stroke-width=%22.938%22%20stroke-linecap=%22square%22%3E%3Ccircle%20cy=%2230.367%22%20cx=%2211.326%22%20r=%223.15%22%20fill=%22red%22/%3E%3Ccircle%20cy=%2230.367%22%20cx=%2220.611%22%20r=%223.15%22%20fill=%22#faa%22/%3E%3Ccircle%20cy=%2230.367%22%20cx=%2262.82%22%20r=%223.15%22%20fill=%22green%22/%3E%3Ccircle%20cy=%2230.367%22%20cx=%2230.554%22%20r=%223.15%22%20fill=%22red%22/%3E%3C/g%3E%3C/g%3E%3Ctext%20y=%2228.295%22%20x=%2270.801%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2265.172%22%20letter-spacing=%220%22%20word-spacing=%220%22%20transform=%22scale(.99853%201.00147)%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%221.209%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2228.295%22%20x=%2270.801%22%20font-weight=%22700%22%20font-size=%2237.241%22%3ESerial%3C/tspan%3E%3C/text%3E%3Cg%20transform=%22translate(-49.71%20-39.925)%20scale(2.8106)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22translate(-240.978%20-39.925)%20scale(2.8106)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Ccircle%20cx=%22233.043%22%20cy=%2281.071%22%20r=%2240.92%22%20fill=%22#ececec%22%20stroke=%22green%22%20stroke-width=%221.71%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M261.766%2092.931h-4.696V67.437h-48.103v25.295h-5.116%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%224.275%22%20stroke-linecap=%22round%22/%3E%3Ctext%20y=%22165.6%22%20x=%22108.068%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2265.172%22%20letter-spacing=%220%22%20word-spacing=%220%22%20transform=%22scale(.99853%201.00147)%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%221.209%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%22165.6%22%20x=%22108.068%22%20font-weight=%22700%22%20font-size=%2237.241%22%3ETX%3C/tspan%3E%3C/text%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "09701eaa-8d79-487f-b003-267e04095bb1", + "id": "49221b19-132a-4e3f-9a1f-97bcd463391b", "type": "basic.output", "data": { - "name": "TX" + "name": "done" }, "position": { - "x": 960, - "y": 120 + "x": 2320, + "y": 248 } }, { - "id": "4c296e24-7312-407a-8fb0-f3a6d4feb3ab", - "type": "basic.input", + "id": "06b60a4f-b1b1-4a91-ba10-bdb5a7515718", + "type": "basic.inputLabel", "data": { - "name": "", - "clock": true + "blockColor": "fuchsia", + "name": "exec", + "oldBlockColor": "fuchsia" }, "position": { - "x": -16, - "y": 120 + "x": 1952, + "y": 288 } }, { - "id": "27183891-b385-412b-bc55-21df1dd0280e", - "type": "basic.input", + "id": "f9f37a77-fd08-4506-9c1b-cc53daa19559", + "type": "basic.outputLabel", "data": { - "name": "", - "range": "[7:0]", - "clock": false, - "size": 8 + "blockColor": "darkgreen", + "name": "cycle", + "oldBlockColor": "fuchsia" }, "position": { - "x": -16, - "y": 272 + "x": 1384, + "y": 288 } }, { - "id": "75d4695e-f445-4762-9ae9-c9bf0e51974f", - "type": "basic.output", + "id": "10afc859-04fd-433d-823a-4fa4721320c1", + "type": "basic.outputLabel", "data": { - "name": "busy" + "blockColor": "fuchsia", + "name": "start" }, "position": { - "x": 960, - "y": 272 + "x": 1680, + "y": 376 } }, { - "id": "6bb28a95-e6e4-4044-9c22-c4404693b6b1", - "type": "basic.input", + "id": "2e9e9e82-c651-4a6b-9d9e-4c796699d133", + "type": "basic.inputLabel", "data": { - "name": "txmit", - "clock": false + "blockColor": "gold", + "name": "stop", + "oldBlockColor": "fuchsia" }, "position": { - "x": 0, - "y": 424 + "x": 1144, + "y": 376 } }, { - "id": "42306dfc-8702-4c9a-98d6-56b4c86fff21", - "type": "basic.output", + "id": "9726aeb6-7b23-479f-ac97-1bbfc2e82bc0", + "type": "basic.outputLabel", "data": { - "name": "done" + "name": "cnt", + "range": "[13:0]", + "blockColor": "navy", + "size": 14 }, "position": { - "x": 960, - "y": 424 + "x": 688, + "y": 528 } }, { - "id": "76db97e8-ad17-4a4b-b288-73e449659681", + "id": "d0005413-fea9-4b0b-8a18-9b15d4977bc1", "type": "basic.constant", "data": { - "name": "sclk", - "value": "12000000", + "name": "N", + "value": "'h4000", "local": false }, "position": { - "x": 344, - "y": -64 + "x": 680, + "y": 344 } }, { - "id": "671d0b4d-317d-4aef-8422-8b9a400211a4", + "id": "a19b8bcd-a0a4-4da0-9844-5e5c0306e231", "type": "basic.constant", "data": { - "name": "bps", - "value": "115200", - "local": false + "name": "", + "value": "1", + "local": true }, "position": { - "x": 624, - "y": -64 + "x": 1336, + "y": -224 } }, { - "id": "3238443f-338d-4796-b54a-c463c5f191aa", - "type": "basic.code", + "id": "374613cb-968d-46d1-94a4-16686e7df28d", + "type": "basic.constant", "data": { - "code": "//---- Calculate the divisor for achieving the requered BAUDs\n//---- when the system clk is working at SCLK Hertzs\n\nlocalparam DIV = SCLK/BAUD;\n\n//-- Get the number of bits needed for storing the DIV value\nlocalparam N = $clog2(DIV);\n\n//-- It is a counter module DIV\nreg [N-1:0] divcounter = 0;\n\n//-- Cable de reset para el contador\n//-- Comparador que resetea el contador cuando se alcanza el tope\n//-- o cuando el estado del biestable es 0 (apagado)\nwire reset = ov_gen | (state == 0);\n\n//-- Contador con reset\nalways @(posedge clk)\n if (reset)\n divcounter <= 0;\n else\n divcounter <= divcounter + 1;\n\n//-- Hemos llegado al final\nwire ov_gen = (divcounter == DIV-1);\n\n\n\n//-- REGISTRO DESPLAZAMIENTO\n\n//-- Salida serie. Inicialmete a 1 (reposo) \nreg TX = 1;\n\n//-- Registro de desplazamiento de 9 bits\n//-- Inicializado todo a 1s\nreg [8:0] q = 9'h1FF;\n\n//-- La entrada de shift es la salida del generador de baudios\nwire shift = ov_gen;\n\nalways @(posedge clk)\n if (txmit_tic)\n //-- Carga del registro\n q <= {data, 1'b0};\n \n else if (shift)\n //-- Desplazamiento. Rellenar con 1 (bit de stop)\n q <= {1'b1, q[8:1]};\n \n//-- Sacar el bit de menor peso por serial-out \nwire so;\nassign so = q[0];\n\n//-- La salida tx la registramos\nalways @(posedge clk)\n TX <= so;\n \n//-- La señal de entrada txmit se pasa por un \n//-- detector de flancos de subida para generar un tic\nreg q_re = 0;\nwire txmit_tic;\n\nalways @(posedge clk)\n q_re <= txmit;\n \nassign txmit_tic = (~q_re & txmit); \n\n\n\n//-- Estado de transmisor\n//-- 0: Parado\n//-- 1: Ocupado (transmitiendo)\nreg state = 0;\n \nalways @(posedge clk)\n //-- Empieza la transmision: ocupado\n if (txmit)\n state <= 1'b1;\n \n //-- Acaba la transmision: libre \n else if (ov)\n state <= 1'b0;\n\n//-- Contador de bits enviados\nreg [3:0] bits = 0;\nalways @(posedge clk)\n //-- Si la cuenta ha terminado... volver a 0\n if (ov)\n bits <= 2'b00;\n else\n if (shift)\n bits <= bits + 1;\n\n//-- Comprobar si se ha transmitido el último bit (overflow)\n//-- 1 bit de start + 8 bits de datos + 1 bit de stop\nwire ov = (bits == 10);\n\n//-- La señal de ocupado es el estado del transmisor\nassign busy = state;\n\n//-- La señal de done es la de overflow pero retrasada un\n//-- periodo de reloj del sistema y que el biestable \n//-- llegue al estado de parado antes de que se \n//-- empiece otra transmision\n\nreg done=0;\n\nalways @(posedge clk)\n done <= ov;\n", - "params": [ - { - "name": "SCLK" - }, - { - "name": "BAUD" - } - ], - "ports": { - "in": [ - { - "name": "clk" - }, - { - "name": "data", - "range": "[7:0]", - "size": 8 - }, - { - "name": "txmit" - } - ], - "out": [ - { - "name": "TX" - }, - { - "name": "busy" - }, - { - "name": "done" - } - ] - } + "name": "", + "value": "0", + "local": true }, "position": { - "x": 248, - "y": 72 - }, - "size": { - "width": 560, - "height": 456 - } - } - ], - "wires": [ - { - "source": { - "block": "3238443f-338d-4796-b54a-c463c5f191aa", - "port": "TX" - }, - "target": { - "block": "09701eaa-8d79-487f-b003-267e04095bb1", - "port": "in" + "x": 1648, + "y": -256 } }, { - "source": { - "block": "671d0b4d-317d-4aef-8422-8b9a400211a4", - "port": "constant-out" + "id": "bd61136e-6597-4728-a8c3-141a1841150b", + "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", + "position": { + "x": 808, + "y": 168 }, - "target": { - "block": "3238443f-338d-4796-b54a-c463c5f191aa", - "port": "BAUD" + "size": { + "width": 96, + "height": 64 } }, { - "source": { - "block": "4c296e24-7312-407a-8fb0-f3a6d4feb3ab", - "port": "out" + "id": "7d6ed080-252a-4f1b-8ec7-0f47d7866317", + "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", + "position": { + "x": 1016, + "y": 376 }, - "target": { - "block": "3238443f-338d-4796-b54a-c463c5f191aa", - "port": "clk" + "size": { + "width": 96, + "height": 64 } }, { - "source": { - "block": "27183891-b385-412b-bc55-21df1dd0280e", - "port": "out" - }, - "target": { - "block": "3238443f-338d-4796-b54a-c463c5f191aa", - "port": "data" - }, - "size": 8 - }, - { - "source": { - "block": "6bb28a95-e6e4-4044-9c22-c4404693b6b1", - "port": "out" + "id": "ac8b922a-9249-49a3-8b42-a1f259ccae2b", + "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", + "position": { + "x": 1680, + "y": 272 }, - "target": { - "block": "3238443f-338d-4796-b54a-c463c5f191aa", - "port": "txmit" + "size": { + "width": 96, + "height": 64 } }, { - "source": { - "block": "3238443f-338d-4796-b54a-c463c5f191aa", - "port": "busy" + "id": "28aef1aa-1cc2-4bb4-9a70-2db1962258d4", + "type": "81613874c6152f06c06ed7014bf4235900cfcc30", + "position": { + "x": 1824, + "y": 288 }, - "target": { - "block": "75d4695e-f445-4762-9ae9-c9bf0e51974f", - "port": "in" + "size": { + "width": 96, + "height": 64 } }, { - "source": { - "block": "3238443f-338d-4796-b54a-c463c5f191aa", - "port": "done" + "id": "e042b05f-b116-4a58-8aee-1bf2833ecb6b", + "type": "basic.info", + "data": { + "info": "**Reloj del sistema**", + "readonly": true }, - "target": { - "block": "42306dfc-8702-4c9a-98d6-56b4c86fff21", - "port": "in" - } - }, - { - "source": { - "block": "76db97e8-ad17-4a4b-b288-73e449659681", - "port": "constant-out" + "position": { + "x": 680, + "y": -472 }, - "target": { - "block": "3238443f-338d-4796-b54a-c463c5f191aa", - "port": "SCLK" + "size": { + "width": 192, + "height": 40 } - } - ] - } - } - }, - "78be078f7f5f29f81b4664a2bc3f6c05c1daf4f2": { - "package": { - "name": "Bus8-Split-1-7", - "version": "0.1", - "description": "Bus8-Split-half: Split the 8-bits bus into two buses of 1 and 7 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": { - "graph": { - "blocks": [ + }, { - "id": "6461d1f4-0bf2-46a4-8c57-46d4419eba2b", - "type": "basic.output", + "id": "09056d84-24ad-48b7-89c2-0d008ca64b89", + "type": "basic.info", "data": { - "name": "1" + "info": "**Estado de** \n**la máquina**", + "readonly": true }, "position": { - "x": 584, - "y": 104 + "x": 760, + "y": -248 + }, + "size": { + "width": 160, + "height": 40 } }, { - "id": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e", - "type": "basic.input", + "id": "02ad4d4d-3335-43e1-a671-4b00fc01c8be", + "type": "basic.info", "data": { - "name": "", - "range": "[7:0]", - "clock": false, - "size": 8 + "info": "Máquina encendida", + "readonly": true }, "position": { - "x": 120, - "y": 208 + "x": 936, + "y": -328 + }, + "size": { + "width": 168, + "height": 40 } }, { - "id": "7851244f-72ce-4b5b-a481-c1202933c8be", - "type": "basic.output", + "id": "23827b42-5be3-406c-9991-b4ad6deb74e8", + "type": "basic.info", "data": { - "name": "0", - "range": "[6:0]", - "size": 7 + "info": "Máquina apagada \n(rst = 1)", + "readonly": true }, "position": { - "x": 584, - "y": 272 + "x": 952, + "y": -232 + }, + "size": { + "width": 152, + "height": 56 } }, { - "id": "16e78204-213e-4833-9096-89d735307ec2", - "type": "basic.code", + "id": "8a928b2a-c1fd-4d20-ba27-2f2bb41c0d01", + "type": "basic.info", "data": { - "code": "assign o1 = i[7];\nassign o0 = i[6:0];", - "params": [], - "ports": { - "in": [ - { - "name": "i", - "range": "[7:0]", - "size": 8 - } - ], - "out": [ - { - "name": "o1" - }, - { - "name": "o0", - "range": "[6:0]", - "size": 7 - } - ] - } + "info": "Tic de arranque", + "readonly": true }, "position": { - "x": 272, - "y": 176 + "x": 960, + "y": -96 }, "size": { - "width": 240, - "height": 120 + "width": 160, + "height": 40 } - } - ], - "wires": [ + }, { - "source": { - "block": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e", - "port": "out" + "id": "6648005b-8565-4aa7-9dbe-692786ab5eed", + "type": "basic.info", + "data": { + "info": "Tic de fin", + "readonly": true }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i" + "position": { + "x": 944, + "y": 0 }, - "size": 8 + "size": { + "width": 120, + "height": 32 + } }, { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o0" + "id": "08d8a2f1-ca1d-4bb5-84ec-2e003a76d1c1", + "type": "basic.info", + "data": { + "info": "**Contador de ciclos**", + "readonly": true }, - "target": { - "block": "7851244f-72ce-4b5b-a481-c1202933c8be", - "port": "in" + "position": { + "x": 1480, + "y": -424 }, - "size": 7 + "size": { + "width": 224, + "height": 40 + } }, { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o1" + "id": "6b89fbaa-ded1-4b08-85b3-d5043665ba0f", + "type": "basic.info", + "data": { + "info": "Número de ciclos \ncontados", + "readonly": true }, - "target": { - "block": "6461d1f4-0bf2-46a4-8c57-46d4419eba2b", - "port": "in" + "position": { + "x": 1824, + "y": -152 + }, + "size": { + "width": 160, + "height": 56 } - } - ] - } - } - }, - "149b43a2d6ca7fe76c15d1e75cf0fbf2f7bb4477": { - "package": { - "name": "syscounter-rst-28bits", - "version": "0.1", - "description": "28-bits Syscounter with reset", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22302.843%22%20height=%22186.504%22%20viewBox=%220%200%2080.127205%2049.345746%22%3E%3Cdefs%3E%3Cmarker%20id=%22a%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20fill=%22#00f%22%20fill-rule=%22evenodd%22%20stroke=%22#00f%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3C/defs%3E%3Cg%20transform=%22translate(-65.585%20-4.54)%22%3E%3Cpath%20d=%22M138.803%2048.49V16.91%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%222.806%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20marker-end=%22url(#a)%22/%3E%3Crect%20rx=%222.807%22%20ry=%222.807%22%20y=%225.289%22%20x=%2299.747%22%20height=%2247.849%22%20width=%2229.538%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%221.497%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%2240.921%22%20x=%22108.575%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%228.982%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%221.497%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2240.921%22%20x=%22108.575%22%20font-weight=%22700%22%20font-size=%2235.656%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M100.868%2030.283h27.764%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%222.245%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20rx=%222.807%22%20ry=%222.807%22%20y=%225.289%22%20x=%2266.333%22%20height=%2247.849%22%20width=%2229.538%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%221.497%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%2240.921%22%20x=%2273.223%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%228.982%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%221.497%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2240.921%22%20x=%2273.223%22%20font-weight=%22700%22%20font-size=%2235.656%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M67.454%2030.283h27.764%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%222.245%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3C/svg%3E", - "otid": 1618592156430 - }, - "design": { - "graph": { - "blocks": [ + }, { - "id": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", - "type": "basic.input", + "id": "ce9c2faa-a5a2-43ef-a19f-8089842fa7fb", + "type": "basic.info", "data": { - "name": "", - "clock": true + "info": "Valor \nincrementado", + "readonly": true }, "position": { - "x": 216, - "y": -120 + "x": 1496, + "y": -128 + }, + "size": { + "width": 128, + "height": 56 } }, { - "id": "0a772657-8018-424d-8f04-75d3ffff3692", - "type": "basic.inputLabel", + "id": "9749c7ec-56c0-4d88-8b20-572f154aba47", + "type": "basic.info", "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "info": "### Salidas", + "readonly": true }, "position": { - "x": 368, - "y": -120 + "x": 2152, + "y": -328 + }, + "size": { + "width": 280, + "height": 40 } }, { - "id": "b9359b10-b14f-4dd7-adf9-3f4f22bc65e6", - "type": "basic.outputLabel", + "id": "4c022dd4-dc38-48e8-8e23-991de83819a0", + "type": "basic.info", "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" + "info": "Estado de la máquina", + "readonly": true }, "position": { - "x": 384, - "y": -32 + "x": 2160, + "y": -248 + }, + "size": { + "width": 192, + "height": 40 } }, { - "id": "e01b322b-9ec2-4c71-9a46-4a2a8f89c033", - "type": "basic.outputLabel", + "id": "2f5c5893-19c2-411c-b942-83e2e0355d9b", + "type": "basic.info", "data": { - "name": "q", - "range": "[27:0]", - "pins": [ - { - "index": "27", - "name": "", - "value": "" - }, - { - "index": "26", - "name": "", - "value": "" - }, - { - "index": "25", - "name": "", - "value": "" - }, - { - "index": "24", - "name": "", - "value": "" - }, - { - "index": "23", - "name": "", - "value": "" - }, - { - "index": "22", - "name": "", - "value": "" - }, - { - "index": "21", - "name": "", - "value": "" - }, - { - "index": "20", - "name": "", - "value": "" - }, - { - "index": "19", - "name": "", - "value": "" - }, - { - "index": "18", - "name": "", - "value": "" - }, - { - "index": "17", - "name": "", - "value": "" - }, - { - "index": "16", - "name": "", - "value": "" - }, - { - "index": "15", - "name": "", - "value": "" - }, - { - "index": "14", - "name": "", - "value": "" - }, - { - "index": "13", - "name": "", - "value": "" - }, - { - "index": "12", - "name": "", - "value": "" - }, - { - "index": "11", - "name": "", - "value": "" - }, - { - "index": "10", - "name": "", - "value": "" - }, - { - "index": "9", - "name": "", - "value": "" - }, - { - "index": "8", - "name": "", - "value": "" - }, - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia" - }, - "position": { - "x": 1040, - "y": -32 - } - }, - { - "id": "8e9383dd-fa5c-49f5-a6c1-ecf5e9f3b1a0", - "type": "basic.output", - "data": { - "name": "q", - "range": "[27:0]", - "pins": [ - { - "index": "27", - "name": "", - "value": "" - }, - { - "index": "26", - "name": "", - "value": "" - }, - { - "index": "25", - "name": "", - "value": "" - }, - { - "index": "24", - "name": "", - "value": "" - }, - { - "index": "23", - "name": "", - "value": "" - }, - { - "index": "22", - "name": "", - "value": "" - }, - { - "index": "21", - "name": "", - "value": "" - }, - { - "index": "20", - "name": "", - "value": "" - }, - { - "index": "19", - "name": "", - "value": "" - }, - { - "index": "18", - "name": "", - "value": "" - }, - { - "index": "17", - "name": "", - "value": "" - }, - { - "index": "16", - "name": "", - "value": "" - }, - { - "index": "15", - "name": "", - "value": "" - }, - { - "index": "14", - "name": "", - "value": "" - }, - { - "index": "13", - "name": "", - "value": "" - }, - { - "index": "12", - "name": "", - "value": "" - }, - { - "index": "11", - "name": "", - "value": "" - }, - { - "index": "10", - "name": "", - "value": "" - }, - { - "index": "9", - "name": "", - "value": "" - }, - { - "index": "8", - "name": "", - "value": "" - }, - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": false - }, - "position": { - "x": 1200, - "y": -32 - } - }, - { - "id": "88e0e872-0460-4ecc-bf26-8a7a5598a024", - "type": "basic.output", - "data": { - "name": "max" - }, - "position": { - "x": 1208, - "y": 56 - } - }, - { - "id": "06c393de-8af4-4b53-852c-b0e0160b5314", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "c" - }, - "position": { - "x": 1048, - "y": 56 - } - }, - { - "id": "2a921d76-1cbd-48fe-82a9-11b0ab4dbc06", - "type": "basic.input", - "data": { - "name": "rst", - "clock": false - }, - "position": { - "x": 216, - "y": 56 - } - }, - { - "id": "03ffc492-f77e-42cb-b4bf-12ecbac89eaa", - "type": "basic.inputLabel", - "data": { - "name": "q", - "range": "[27:0]", - "pins": [ - { - "index": "27", - "name": "", - "value": "" - }, - { - "index": "26", - "name": "", - "value": "" - }, - { - "index": "25", - "name": "", - "value": "" - }, - { - "index": "24", - "name": "", - "value": "" - }, - { - "index": "23", - "name": "", - "value": "" - }, - { - "index": "22", - "name": "", - "value": "" - }, - { - "index": "21", - "name": "", - "value": "" - }, - { - "index": "20", - "name": "", - "value": "" - }, - { - "index": "19", - "name": "", - "value": "" - }, - { - "index": "18", - "name": "", - "value": "" - }, - { - "index": "17", - "name": "", - "value": "" - }, - { - "index": "16", - "name": "", - "value": "" - }, - { - "index": "15", - "name": "", - "value": "" - }, - { - "index": "14", - "name": "", - "value": "" - }, - { - "index": "13", - "name": "", - "value": "" - }, - { - "index": "12", - "name": "", - "value": "" - }, - { - "index": "11", - "name": "", - "value": "" - }, - { - "index": "10", - "name": "", - "value": "" - }, - { - "index": "9", - "name": "", - "value": "" - }, - { - "index": "8", - "name": "", - "value": "" - }, - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia" - }, - "position": { - "x": 704, - "y": 56 - } - }, - { - "id": "cd9b7fce-c943-4b4c-a716-94f2cd21ccda", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "c", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true - }, - "position": { - "x": 856, - "y": 144 - } - }, - { - "id": "449c6f35-ab94-48fd-a49d-f8202064a25d", - "type": "2e35ca5edcd35ab9ba07cf13b8b85f553953b74b", - "position": { - "x": 544, - "y": 40 - }, - "size": { - "width": 96, - "height": 96 - } - }, - { - "id": "16392505-8c6d-4b32-8898-480bd49fbb2a", - "type": "50924d45ba8124e240528864432b26e74c60a8e3", - "position": { - "x": 720, - "y": 160 - }, - "size": { - "width": 96, - "height": 64 - } - } - ], - "wires": [ - { - "source": { - "block": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", - "port": "out" - }, - "target": { - "block": "0a772657-8018-424d-8f04-75d3ffff3692", - "port": "inlabel" - }, - "vertices": [] - }, - { - "source": { - "block": "16392505-8c6d-4b32-8898-480bd49fbb2a", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" - }, - "target": { - "block": "cd9b7fce-c943-4b4c-a716-94f2cd21ccda", - "port": "inlabel" - }, - "vertices": [] - }, - { - "source": { - "block": "b9359b10-b14f-4dd7-adf9-3f4f22bc65e6", - "port": "outlabel" - }, - "target": { - "block": "449c6f35-ab94-48fd-a49d-f8202064a25d", - "port": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6" - } - }, - { - "source": { - "block": "06c393de-8af4-4b53-852c-b0e0160b5314", - "port": "outlabel" - }, - "target": { - "block": "88e0e872-0460-4ecc-bf26-8a7a5598a024", - "port": "in" - } - }, - { - "source": { - "block": "e01b322b-9ec2-4c71-9a46-4a2a8f89c033", - "port": "outlabel" - }, - "target": { - "block": "8e9383dd-fa5c-49f5-a6c1-ecf5e9f3b1a0", - "port": "in", - "size": 28 - }, - "size": 28 - }, - { - "source": { - "block": "449c6f35-ab94-48fd-a49d-f8202064a25d", - "port": "4f03ed46-1f79-4e80-b8bd-437654df54c3", - "size": 28 - }, - "target": { - "block": "03ffc492-f77e-42cb-b4bf-12ecbac89eaa", - "port": "inlabel" - }, - "size": 28 - }, - { - "source": { - "block": "2a921d76-1cbd-48fe-82a9-11b0ab4dbc06", - "port": "out" - }, - "target": { - "block": "449c6f35-ab94-48fd-a49d-f8202064a25d", - "port": "159f86de-af0f-4f1a-9a93-7e8149d5d322" - } - }, - { - "source": { - "block": "449c6f35-ab94-48fd-a49d-f8202064a25d", - "port": "4f03ed46-1f79-4e80-b8bd-437654df54c3" - }, - "target": { - "block": "16392505-8c6d-4b32-8898-480bd49fbb2a", - "port": "63856668-cf22-4174-a3cd-02a664a50874" - }, - "size": 28 - }, - { - "source": { - "block": "16392505-8c6d-4b32-8898-480bd49fbb2a", - "port": "cbaa92ba-c88f-4b89-a5f7-2fe513b6fa4c" - }, - "target": { - "block": "449c6f35-ab94-48fd-a49d-f8202064a25d", - "port": "ce438869-e202-4526-80ec-35d0c0c05530" - }, - "vertices": [ - { - "x": 824, - "y": 280 - } - ], - "size": 28 - } - ] - } - } - }, - "2e35ca5edcd35ab9ba07cf13b8b85f553953b74b": { - "package": { - "name": "DFF-rst-x28", - "version": "0.1", - "description": "DFF-rst-x28: 28 D flip-flops in paralell with reset", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22252.294%22%20height=%22220.368%22%20viewBox=%220%200%2066.75283%2058.305748%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M25.682%2041.088L39.29%2057.76l-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M18.298%2033.024L9.066%2013.41l-6.45%203.724-2.07-3.583%2020.905-12.07%202.069%203.584-6.092%203.517%2012.03%2018.223s5.399-2.025%208.535.74c3.137%202.766%202.52%204.92%202.887%204.773L17.192%2045.956s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M42.022%2040.152l13.607%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M34.638%2032.088l-9.232-19.613-6.451%203.724-2.07-3.583L37.792.546%2039.86%204.13l-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.137%202.766%202.52%204.92%202.887%204.772L33.532%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20transform=%22translate(-38.356%20-17.732)%22%3E%3Crect%20width=%2224.412%22%20height=%2213.185%22%20x=%2280.3%22%20y=%2221.375%22%20ry=%222.247%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%22.794%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:1.25%22%20x=%2282.245%22%20y=%2230.943%22%20font-weight=%22400%22%20font-size=%2210.583%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20x=%2282.245%22%20y=%2230.943%22%20font-weight=%22700%22%3ESys%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E", - "otid": 1618509859237 - }, - "design": { - "graph": { - "blocks": [ - { - "id": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", - "type": "basic.input", - "data": { - "name": "", - "clock": true - }, - "position": { - "x": -632, - "y": -264 - } - }, - { - "id": "0a772657-8018-424d-8f04-75d3ffff3692", - "type": "basic.inputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true - }, - "position": { - "x": -480, - "y": -264 - } - }, - { - "id": "159f86de-af0f-4f1a-9a93-7e8149d5d322", - "type": "basic.input", - "data": { - "name": "rst", - "clock": false - }, - "position": { - "x": -624, - "y": -192 - } - }, - { - "id": "eae23d49-1710-4ffb-9162-8c4238e16af9", - "type": "basic.inputLabel", - "data": { - "blockColor": "navy", - "name": "rst", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true - }, - "position": { - "x": -480, - "y": -192 - } - }, - { - "id": "7a94a774-819e-4796-ad92-2b9f0a06e828", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": -200, - "y": -88 - } - }, - { - "id": "35ac40b6-de26-493f-b22e-d15895042a60", - "type": "basic.outputLabel", - "data": { - "blockColor": "navy", - "name": "rst", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": -200, - "y": -32 - } - }, - { - "id": "4f03ed46-1f79-4e80-b8bd-437654df54c3", - "type": "basic.output", - "data": { - "name": "", - "range": "[27:0]", - "size": 28 - }, - "position": { - "x": 448, - "y": 96 - } - }, - { - "id": "21ec5232-45c6-4327-a55c-fe821b7c4aec", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": -176, - "y": 168 - } - }, - { - "id": "cd4dcd80-0eb7-445e-9d87-0a13a22cef83", - "type": "basic.outputLabel", - "data": { - "blockColor": "navy", - "name": "rst", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": -184, - "y": 224 - } - }, - { - "id": "ce438869-e202-4526-80ec-35d0c0c05530", - "type": "basic.input", - "data": { - "name": "", - "range": "[27:0]", - "clock": false, - "size": 28 - }, - "position": { - "x": -624, - "y": 264 - } - }, - { - "id": "4311b51c-f045-48a1-adad-cdec46f8e798", - "type": "782bf2c9766ef493c6997e6695065f5a500bf9f7", - "position": { - "x": -416, - "y": 264 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "9a64fea4-6efd-4528-b52e-6b5a865c1e2b", - "type": "5495b52484372dce272875f5c190707a35eeaa6f", - "position": { - "x": -8, - "y": 232 - }, - "size": { - "width": 96, - "height": 96 - } - }, - { - "id": "162f244b-1bfb-4481-9885-2b8de112c95a", - "type": "ce38dc5eab555d38058730d56bf27972e5cbb202", - "position": { - "x": 248, - "y": 96 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "f1680e0a-5c23-4542-8f2b-f04bd42404ce", - "type": "5c75f6e4f841e85f7c34d83b9cc081ef669dd12d", - "position": { - "x": -8, - "y": -24 - }, - "size": { - "width": 96, - "height": 96 - } - } - ], - "wires": [ - { - "source": { - "block": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", - "port": "out" - }, - "target": { - "block": "0a772657-8018-424d-8f04-75d3ffff3692", - "port": "inlabel" - }, - "vertices": [] - }, - { - "source": { - "block": "159f86de-af0f-4f1a-9a93-7e8149d5d322", - "port": "out" - }, - "target": { - "block": "eae23d49-1710-4ffb-9162-8c4238e16af9", - "port": "inlabel" - } - }, - { - "source": { - "block": "7a94a774-819e-4796-ad92-2b9f0a06e828", - "port": "outlabel" - }, - "target": { - "block": "f1680e0a-5c23-4542-8f2b-f04bd42404ce", - "port": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6" - } - }, - { - "source": { - "block": "35ac40b6-de26-493f-b22e-d15895042a60", - "port": "outlabel" - }, - "target": { - "block": "f1680e0a-5c23-4542-8f2b-f04bd42404ce", - "port": "159f86de-af0f-4f1a-9a93-7e8149d5d322" - } - }, - { - "source": { - "block": "21ec5232-45c6-4327-a55c-fe821b7c4aec", - "port": "outlabel" - }, - "target": { - "block": "9a64fea4-6efd-4528-b52e-6b5a865c1e2b", - "port": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6" - } - }, - { - "source": { - "block": "cd4dcd80-0eb7-445e-9d87-0a13a22cef83", - "port": "outlabel" - }, - "target": { - "block": "9a64fea4-6efd-4528-b52e-6b5a865c1e2b", - "port": "159f86de-af0f-4f1a-9a93-7e8149d5d322" - } - }, - { - "source": { - "block": "ce438869-e202-4526-80ec-35d0c0c05530", - "port": "out" - }, - "target": { - "block": "4311b51c-f045-48a1-adad-cdec46f8e798", - "port": "8dc63d68-e086-4db8-a819-610111258e7d" - }, - "size": 28 - }, - { - "source": { - "block": "4311b51c-f045-48a1-adad-cdec46f8e798", - "port": "9b71656d-1b8a-49d5-9540-b65cc36deab6" - }, - "target": { - "block": "9a64fea4-6efd-4528-b52e-6b5a865c1e2b", - "port": "4ea37c80-a37c-4faf-a706-d3ccf5bc0b1e" - }, - "size": 24 - }, - { - "source": { - "block": "162f244b-1bfb-4481-9885-2b8de112c95a", - "port": "c2b47079-3d57-467d-88eb-3c00fb497103" - }, - "target": { - "block": "4f03ed46-1f79-4e80-b8bd-437654df54c3", - "port": "in" - }, - "size": 28 - }, - { - "source": { - "block": "9a64fea4-6efd-4528-b52e-6b5a865c1e2b", - "port": "ee000e36-3af9-433a-b1bc-be1b8aad79e1" - }, - "target": { - "block": "162f244b-1bfb-4481-9885-2b8de112c95a", - "port": "3b957f7a-e94e-490f-8313-231ef9f2bdae" - }, - "size": 24 - }, - { - "source": { - "block": "f1680e0a-5c23-4542-8f2b-f04bd42404ce", - "port": "571d3fa4-680d-4422-92c6-b3b1dcd4fa8b" - }, - "target": { - "block": "162f244b-1bfb-4481-9885-2b8de112c95a", - "port": "3a4ce56b-73a3-44ea-9cdb-fc2b3c62fb05" - }, - "size": 4 - }, - { - "source": { - "block": "4311b51c-f045-48a1-adad-cdec46f8e798", - "port": "43ebd133-d351-4005-a76a-96d18e276f19" - }, - "target": { - "block": "f1680e0a-5c23-4542-8f2b-f04bd42404ce", - "port": "26833303-0a1a-4750-8546-b98e2fdfdd82" - }, - "vertices": [ - { - "x": -248, - "y": 112 - } - ], - "size": 4 - } - ] - } - } - }, - "782bf2c9766ef493c6997e6695065f5a500bf9f7": { - "package": { - "name": "Bus28-Split-4-24", - "version": "0.1", - "description": "Bus28-Split-4-24: Split the 28-bits bus into two buses of 4 and 24 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": { - "graph": { - "blocks": [ - { - "id": "43ebd133-d351-4005-a76a-96d18e276f19", - "type": "basic.output", - "data": { - "name": "1", - "range": "[3:0]", - "size": 4 - }, - "position": { - "x": 600, - "y": 136 - } - }, - { - "id": "8dc63d68-e086-4db8-a819-610111258e7d", - "type": "basic.input", - "data": { - "name": "", - "range": "[27:0]", - "clock": false, - "size": 28 - }, - "position": { - "x": 80, - "y": 208 - } - }, - { - "id": "9b71656d-1b8a-49d5-9540-b65cc36deab6", - "type": "basic.output", - "data": { - "name": "0", - "range": "[23:0]", - "size": 24 - }, - "position": { - "x": 600, - "y": 232 - } - }, - { - "id": "16e78204-213e-4833-9096-89d735307ec2", - "type": "basic.code", - "data": { - "code": "assign o1 = i[27:24];\nassign o0 = i[23:0];", - "params": [], - "ports": { - "in": [ - { - "name": "i", - "range": "[27:0]", - "size": 28 - } - ], - "out": [ - { - "name": "o1", - "range": "[3:0]", - "size": 4 - }, - { - "name": "o0", - "range": "[23:0]", - "size": 24 - } - ] - } - }, - "position": { - "x": 272, - "y": 176 - }, - "size": { - "width": 240, - "height": 120 - } - } - ], - "wires": [ - { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o0" - }, - "target": { - "block": "9b71656d-1b8a-49d5-9540-b65cc36deab6", - "port": "in" - }, - "size": 24 - }, - { - "source": { - "block": "8dc63d68-e086-4db8-a819-610111258e7d", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i" - }, - "size": 28 - }, - { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o1" - }, - "target": { - "block": "43ebd133-d351-4005-a76a-96d18e276f19", - "port": "in" - }, - "size": 4 - } - ] - } - } - }, - "5495b52484372dce272875f5c190707a35eeaa6f": { - "package": { - "name": "DFF-rst-x24", - "version": "0.1", - "description": "DFF-rst-x24: 24 D flip-flops in paralell with reset", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22252.294%22%20height=%22220.368%22%20viewBox=%220%200%2066.75283%2058.305748%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M25.682%2041.088L39.29%2057.76l-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M18.298%2033.024L9.066%2013.41l-6.45%203.724-2.07-3.583%2020.905-12.07%202.069%203.584-6.092%203.517%2012.03%2018.223s5.399-2.025%208.535.74c3.137%202.766%202.52%204.92%202.887%204.773L17.192%2045.956s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M42.022%2040.152l13.607%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M34.638%2032.088l-9.232-19.613-6.451%203.724-2.07-3.583L37.792.546%2039.86%204.13l-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.137%202.766%202.52%204.92%202.887%204.772L33.532%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20transform=%22translate(-38.356%20-17.732)%22%3E%3Crect%20width=%2224.412%22%20height=%2213.185%22%20x=%2280.3%22%20y=%2221.375%22%20ry=%222.247%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%22.794%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:1.25%22%20x=%2282.245%22%20y=%2230.943%22%20font-weight=%22400%22%20font-size=%2210.583%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20x=%2282.245%22%20y=%2230.943%22%20font-weight=%22700%22%3ESys%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E", - "otid": 1618509859237 - }, - "design": { - "graph": { - "blocks": [ - { - "id": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", - "type": "basic.input", - "data": { - "name": "", - "clock": true - }, - "position": { - "x": -632, - "y": -264 - } - }, - { - "id": "0a772657-8018-424d-8f04-75d3ffff3692", - "type": "basic.inputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true - }, - "position": { - "x": -480, - "y": -264 - } - }, - { - "id": "159f86de-af0f-4f1a-9a93-7e8149d5d322", - "type": "basic.input", - "data": { - "name": "rst", - "clock": false - }, - "position": { - "x": -624, - "y": -192 - } - }, - { - "id": "eae23d49-1710-4ffb-9162-8c4238e16af9", - "type": "basic.inputLabel", - "data": { - "blockColor": "navy", - "name": "rst", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true - }, - "position": { - "x": -480, - "y": -192 - } - }, - { - "id": "cf0ec9b2-9d62-4940-aa5c-aeb5598d4206", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": -168, - "y": -168 - } - }, - { - "id": "95c3db7f-827e-4950-8a74-ed4c855b1e80", - "type": "basic.outputLabel", - "data": { - "blockColor": "navy", - "name": "rst", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": -176, - "y": -96 - } - }, - { - "id": "7a94a774-819e-4796-ad92-2b9f0a06e828", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": -200, - "y": 16 - } - }, - { - "id": "35ac40b6-de26-493f-b22e-d15895042a60", - "type": "basic.outputLabel", - "data": { - "blockColor": "navy", - "name": "rst", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": -200, - "y": 72 - } - }, - { - "id": "ee000e36-3af9-433a-b1bc-be1b8aad79e1", - "type": "basic.output", - "data": { - "name": "", - "range": "[23:0]", - "size": 24 - }, - "position": { - "x": 448, - "y": 96 - } - }, - { - "id": "21ec5232-45c6-4327-a55c-fe821b7c4aec", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": -176, - "y": 168 - } - }, - { - "id": "cd4dcd80-0eb7-445e-9d87-0a13a22cef83", - "type": "basic.outputLabel", - "data": { - "blockColor": "navy", - "name": "rst", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": -184, - "y": 224 - } - }, - { - "id": "4ea37c80-a37c-4faf-a706-d3ccf5bc0b1e", - "type": "basic.input", - "data": { - "name": "", - "range": "[23:0]", - "clock": false, - "size": 24 - }, - "position": { - "x": -632, - "y": 248 - } - }, - { - "id": "757b05f5-b2e4-4ad8-a566-3096c09c8059", - "type": "6fef69b52e3d1ced0e01e887f8e757974affab8f", - "position": { - "x": -416, - "y": 232 - }, - "size": { - "width": 96, - "height": 96 - } - }, - { - "id": "af50cfab-f0c6-4abc-93b9-e27166cc74db", - "type": "33e50db9d48b2ac603cb27c1e0d79c8c449fc4fb", - "position": { - "x": 248, - "y": 80 - }, - "size": { - "width": 96, - "height": 96 - } - }, - { - "id": "2c6cfae2-44a7-4747-a651-b8d8f42ad3c5", - "type": "cf434451314de2d169c80ddfd83df7fd58182666", - "position": { - "x": -8, - "y": 232 - }, - "size": { - "width": 96, - "height": 96 - } - }, - { - "id": "6d6ebb97-998c-4e62-af16-aca44192d056", - "type": "cf434451314de2d169c80ddfd83df7fd58182666", - "position": { - "x": -8, - "y": 80 - }, - "size": { - "width": 96, - "height": 96 - } - }, - { - "id": "34efd41c-8732-4b0e-a437-b3cb4b411d39", - "type": "cf434451314de2d169c80ddfd83df7fd58182666", - "position": { - "x": -8, - "y": -72 - }, - "size": { - "width": 96, - "height": 96 - } - } - ], - "wires": [ - { - "source": { - "block": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", - "port": "out" - }, - "target": { - "block": "0a772657-8018-424d-8f04-75d3ffff3692", - "port": "inlabel" - }, - "vertices": [] - }, - { - "source": { - "block": "159f86de-af0f-4f1a-9a93-7e8149d5d322", - "port": "out" - }, - "target": { - "block": "eae23d49-1710-4ffb-9162-8c4238e16af9", - "port": "inlabel" - } - }, - { - "source": { - "block": "cf0ec9b2-9d62-4940-aa5c-aeb5598d4206", - "port": "outlabel" - }, - "target": { - "block": "34efd41c-8732-4b0e-a437-b3cb4b411d39", - "port": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6" - } - }, - { - "source": { - "block": "95c3db7f-827e-4950-8a74-ed4c855b1e80", - "port": "outlabel" - }, - "target": { - "block": "34efd41c-8732-4b0e-a437-b3cb4b411d39", - "port": "159f86de-af0f-4f1a-9a93-7e8149d5d322" - }, - "vertices": [ - { - "x": -56, - "y": -40 - } - ] - }, - { - "source": { - "block": "7a94a774-819e-4796-ad92-2b9f0a06e828", - "port": "outlabel" - }, - "target": { - "block": "6d6ebb97-998c-4e62-af16-aca44192d056", - "port": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6" - } - }, - { - "source": { - "block": "35ac40b6-de26-493f-b22e-d15895042a60", - "port": "outlabel" - }, - "target": { - "block": "6d6ebb97-998c-4e62-af16-aca44192d056", - "port": "159f86de-af0f-4f1a-9a93-7e8149d5d322" - } - }, - { - "source": { - "block": "21ec5232-45c6-4327-a55c-fe821b7c4aec", - "port": "outlabel" - }, - "target": { - "block": "2c6cfae2-44a7-4747-a651-b8d8f42ad3c5", - "port": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6" - } - }, - { - "source": { - "block": "cd4dcd80-0eb7-445e-9d87-0a13a22cef83", - "port": "outlabel" - }, - "target": { - "block": "2c6cfae2-44a7-4747-a651-b8d8f42ad3c5", - "port": "159f86de-af0f-4f1a-9a93-7e8149d5d322" - } - }, - { - "source": { - "block": "af50cfab-f0c6-4abc-93b9-e27166cc74db", - "port": "756c8eb7-3567-48b4-9757-fe992499b794" - }, - "target": { - "block": "ee000e36-3af9-433a-b1bc-be1b8aad79e1", - "port": "in" - }, - "size": 24 - }, - { - "source": { - "block": "4ea37c80-a37c-4faf-a706-d3ccf5bc0b1e", - "port": "out" - }, - "target": { - "block": "757b05f5-b2e4-4ad8-a566-3096c09c8059", - "port": "986785ba-71af-4029-b917-652dc40e9b60" - }, - "size": 24 - }, - { - "source": { - "block": "2c6cfae2-44a7-4747-a651-b8d8f42ad3c5", - "port": "f1844cff-7fd4-4781-82ea-93999fec5e74" - }, - "target": { - "block": "af50cfab-f0c6-4abc-93b9-e27166cc74db", - "port": "4f42dbcc-6f8d-49de-9291-7a602cce9d27" - }, - "size": 8 - }, - { - "source": { - "block": "6d6ebb97-998c-4e62-af16-aca44192d056", - "port": "f1844cff-7fd4-4781-82ea-93999fec5e74" - }, - "target": { - "block": "af50cfab-f0c6-4abc-93b9-e27166cc74db", - "port": "29a44a77-ec20-436d-a9e8-7fc2ca5de57e" - }, - "size": 8 - }, - { - "source": { - "block": "34efd41c-8732-4b0e-a437-b3cb4b411d39", - "port": "f1844cff-7fd4-4781-82ea-93999fec5e74" - }, - "target": { - "block": "af50cfab-f0c6-4abc-93b9-e27166cc74db", - "port": "3abd42f7-f396-4aa1-981a-889c0c279d10" - }, - "size": 8 - }, - { - "source": { - "block": "757b05f5-b2e4-4ad8-a566-3096c09c8059", - "port": "9ded277e-a83c-466f-b1cb-bdebea943387" - }, - "target": { - "block": "2c6cfae2-44a7-4747-a651-b8d8f42ad3c5", - "port": "98e23c4f-291f-4a6a-977f-dd1e9fd61186" - }, - "size": 8 - }, - { - "source": { - "block": "757b05f5-b2e4-4ad8-a566-3096c09c8059", - "port": "f25ddd8a-a716-43b7-bdbd-5c7f1373d828" - }, - "target": { - "block": "6d6ebb97-998c-4e62-af16-aca44192d056", - "port": "98e23c4f-291f-4a6a-977f-dd1e9fd61186" - }, - "vertices": [ - { - "x": -224, - "y": 216 - } - ], - "size": 8 - }, - { - "source": { - "block": "757b05f5-b2e4-4ad8-a566-3096c09c8059", - "port": "b0180d54-ce8d-436d-8bf8-6ebb49879520" - }, - "target": { - "block": "34efd41c-8732-4b0e-a437-b3cb4b411d39", - "port": "98e23c4f-291f-4a6a-977f-dd1e9fd61186" - }, - "vertices": [ - { - "x": -256, - "y": 104 - } - ], - "size": 8 - } - ] - } - } - }, - "6fef69b52e3d1ced0e01e887f8e757974affab8f": { - "package": { - "name": "Bus24-Split-one-third", - "version": "0.1", - "description": "Bus24-Split-one-third: Split the 24-bits bus into three buses of the same size", - "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": { - "graph": { - "blocks": [ - { - "id": "b0180d54-ce8d-436d-8bf8-6ebb49879520", - "type": "basic.output", - "data": { - "name": "2", - "range": "[7:0]", - "size": 8 - }, - "position": { - "x": 616, - "y": 56 - } - }, - { - "id": "f25ddd8a-a716-43b7-bdbd-5c7f1373d828", - "type": "basic.output", - "data": { - "name": "1", - "range": "[7:0]", - "size": 8 - }, - "position": { - "x": 616, - "y": 208 - } - }, - { - "id": "986785ba-71af-4029-b917-652dc40e9b60", - "type": "basic.input", - "data": { - "name": "", - "range": "[23:0]", - "clock": false, - "size": 24 - }, - "position": { - "x": 88, - "y": 208 - } - }, - { - "id": "9ded277e-a83c-466f-b1cb-bdebea943387", - "type": "basic.output", - "data": { - "name": "0", - "range": "[7:0]", - "size": 8 - }, - "position": { - "x": 608, - "y": 296 - } - }, - { - "id": "16e78204-213e-4833-9096-89d735307ec2", - "type": "basic.code", - "data": { - "code": "assign o2 = i[23:16];\nassign o1 = i[15:8];\nassign o0 = i[7:0];", - "params": [], - "ports": { - "in": [ - { - "name": "i", - "range": "[23:0]", - "size": 24 - } - ], - "out": [ - { - "name": "o2", - "range": "[7:0]", - "size": 8 - }, - { - "name": "o1", - "range": "[7:0]", - "size": 8 - }, - { - "name": "o0", - "range": "[7:0]", - "size": 8 - } - ] - } - }, - "position": { - "x": 272, - "y": 176 - }, - "size": { - "width": 240, - "height": 120 - } - } - ], - "wires": [ - { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o1" - }, - "target": { - "block": "f25ddd8a-a716-43b7-bdbd-5c7f1373d828", - "port": "in" - }, - "size": 8 - }, - { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o2" - }, - "target": { - "block": "b0180d54-ce8d-436d-8bf8-6ebb49879520", - "port": "in" - }, - "size": 8 - }, - { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o0" - }, - "target": { - "block": "9ded277e-a83c-466f-b1cb-bdebea943387", - "port": "in" - }, - "size": 8 - }, - { - "source": { - "block": "986785ba-71af-4029-b917-652dc40e9b60", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i" - }, - "size": 24 - } - ] - } - } - }, - "33e50db9d48b2ac603cb27c1e0d79c8c449fc4fb": { - "package": { - "name": "Bus24-Join-one-third", - "version": "0.1", - "description": "Bus24-Join-one-third: Join the three buses into an 24-bits Bus", - "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=%22M164.218%2077.643L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v26.186l61.698.046c8.012-.043%2015.705%203.133%2021.47%208.81l61.448%2061.315a57.292%2057.292%200%200%200%2039.993%2016.139%2057.292%2057.292%200%200%200-39.993%2016.14L83.668%20190.45c-5.765%205.677-13.458%208.853-21.47%208.81L.5%20199.306v26.186h62.612c14.924.039%2029.463-5.9%2040.204-16.28l60.902-60.863a29.857%2029.857%200%200%201%2021.347-8.81l146.53-.113V86.457H185.571a29.884%2029.884%200%200%201-21.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "3abd42f7-f396-4aa1-981a-889c0c279d10", - "type": "basic.input", - "data": { - "name": "2", - "range": "[7:0]", - "clock": false, - "size": 8 - }, - "position": { - "x": 112, - "y": 104 - } - }, - { - "id": "29a44a77-ec20-436d-a9e8-7fc2ca5de57e", - "type": "basic.input", - "data": { - "name": "1", - "range": "[7:0]", - "clock": false, - "size": 8 - }, - "position": { - "x": 120, - "y": 200 - } - }, - { - "id": "756c8eb7-3567-48b4-9757-fe992499b794", - "type": "basic.output", - "data": { - "name": "", - "range": "[23:0]", - "size": 24 - }, - "position": { - "x": 640, - "y": 200 - } - }, - { - "id": "4f42dbcc-6f8d-49de-9291-7a602cce9d27", - "type": "basic.input", - "data": { - "name": "0", - "range": "[7:0]", - "clock": false, - "size": 8 - }, - "position": { - "x": 120, - "y": 288 - } - }, - { - "id": "16e78204-213e-4833-9096-89d735307ec2", - "type": "basic.code", - "data": { - "code": "assign o = {i2, i1, i0};\n", - "params": [], - "ports": { - "in": [ - { - "name": "i2", - "range": "[7:0]", - "size": 8 - }, - { - "name": "i1", - "range": "[7:0]", - "size": 8 - }, - { - "name": "i0", - "range": "[7:0]", - "size": 8 - } - ], - "out": [ - { - "name": "o", - "range": "[23:0]", - "size": 24 - } - ] - } - }, - "position": { - "x": 296, - "y": 176 - }, - "size": { - "width": 272, - "height": 104 - } - } - ], - "wires": [ - { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o" - }, - "target": { - "block": "756c8eb7-3567-48b4-9757-fe992499b794", - "port": "in" - }, - "size": 24 - }, - { - "source": { - "block": "29a44a77-ec20-436d-a9e8-7fc2ca5de57e", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i1" - }, - "size": 8 - }, - { - "source": { - "block": "4f42dbcc-6f8d-49de-9291-7a602cce9d27", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i0" - }, - "size": 8 - }, - { - "source": { - "block": "3abd42f7-f396-4aa1-981a-889c0c279d10", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i2" - }, - "size": 8 - } - ] - } - } - }, - "cf434451314de2d169c80ddfd83df7fd58182666": { - "package": { - "name": "DFF-rst-x08", - "version": "0.1", - "description": "DFF-rst-x08: Eight D flip-flops in paralell with reset", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22252.294%22%20height=%22220.368%22%20viewBox=%220%200%2066.75283%2058.305748%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M25.682%2041.088L39.29%2057.76l-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M18.298%2033.024L9.066%2013.41l-6.45%203.724-2.07-3.583%2020.905-12.07%202.069%203.584-6.092%203.517%2012.03%2018.223s5.399-2.025%208.535.74c3.137%202.766%202.52%204.92%202.887%204.773L17.192%2045.956s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M42.022%2040.152l13.607%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M34.638%2032.088l-9.232-19.613-6.451%203.724-2.07-3.583L37.792.546%2039.86%204.13l-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.137%202.766%202.52%204.92%202.887%204.772L33.532%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20transform=%22translate(-38.356%20-17.732)%22%3E%3Crect%20width=%2224.412%22%20height=%2213.185%22%20x=%2280.3%22%20y=%2221.375%22%20ry=%222.247%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%22.794%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:1.25%22%20x=%2282.245%22%20y=%2230.943%22%20font-weight=%22400%22%20font-size=%2210.583%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20x=%2282.245%22%20y=%2230.943%22%20font-weight=%22700%22%3ESys%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E", - "otid": 1618509859237 - }, - "design": { - "graph": { - "blocks": [ - { - "id": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", - "type": "basic.input", - "data": { - "name": "", - "clock": true - }, - "position": { - "x": -496, - "y": -256 - } - }, - { - "id": "0a772657-8018-424d-8f04-75d3ffff3692", - "type": "basic.inputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true - }, - "position": { - "x": -344, - "y": -256 - } - }, - { - "id": "159f86de-af0f-4f1a-9a93-7e8149d5d322", - "type": "basic.input", - "data": { - "name": "rst", - "clock": false - }, - "position": { - "x": -488, - "y": -184 - } - }, - { - "id": "eae23d49-1710-4ffb-9162-8c4238e16af9", - "type": "basic.inputLabel", - "data": { - "blockColor": "navy", - "name": "rst", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true - }, - "position": { - "x": -344, - "y": -184 - } - }, - { - "id": "7a94a774-819e-4796-ad92-2b9f0a06e828", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": -8, - "y": -152 - } - }, - { - "id": "35ac40b6-de26-493f-b22e-d15895042a60", - "type": "basic.outputLabel", - "data": { - "blockColor": "navy", - "name": "rst", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": -16, - "y": -88 - } - }, - { - "id": "fdb3de4d-1a1f-420d-83f5-652d30cd8ca3", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": -48, - "y": 48 - } - }, - { - "id": "719d7e53-bdb2-40e8-8bed-c86a12749e88", - "type": "basic.outputLabel", - "data": { - "blockColor": "navy", - "name": "rst", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": -48, - "y": 104 - } - }, - { - "id": "f1844cff-7fd4-4781-82ea-93999fec5e74", - "type": "basic.output", - "data": { - "name": "", - "range": "[7:0]", - "size": 8 - }, - "position": { - "x": 560, - "y": 128 - } - }, - { - "id": "98e23c4f-291f-4a6a-977f-dd1e9fd61186", - "type": "basic.input", - "data": { - "name": "", - "range": "[7:0]", - "clock": false, - "size": 8 - }, - "position": { - "x": -488, - "y": 160 - } - }, - { - "id": "f071a293-16e9-4c8b-8494-14b7f15033a3", - "type": "5c75f6e4f841e85f7c34d83b9cc081ef669dd12d", - "position": { - "x": 144, - "y": 128 - }, - "size": { - "width": 96, - "height": 96 - } - }, - { - "id": "4be672f2-c453-4028-9da2-d6edebfab777", - "type": "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a", - "position": { - "x": -320, - "y": 160 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "6da4d258-9a3e-446d-9085-2b9170fea487", - "type": "afb28fd5426aea14477d11cbe30a290679f789f8", - "position": { - "x": 392, - "y": 128 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "03291097-00e3-48db-9044-3c73ed88eeb8", - "type": "5c75f6e4f841e85f7c34d83b9cc081ef669dd12d", - "position": { - "x": 144, - "y": -88 - }, - "size": { - "width": 96, - "height": 96 - } - } - ], - "wires": [ - { - "source": { - "block": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", - "port": "out" - }, - "target": { - "block": "0a772657-8018-424d-8f04-75d3ffff3692", - "port": "inlabel" - }, - "vertices": [] - }, - { - "source": { - "block": "159f86de-af0f-4f1a-9a93-7e8149d5d322", - "port": "out" - }, - "target": { - "block": "eae23d49-1710-4ffb-9162-8c4238e16af9", - "port": "inlabel" - } - }, - { - "source": { - "block": "7a94a774-819e-4796-ad92-2b9f0a06e828", - "port": "outlabel" - }, - "target": { - "block": "03291097-00e3-48db-9044-3c73ed88eeb8", - "port": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6" - } - }, - { - "source": { - "block": "35ac40b6-de26-493f-b22e-d15895042a60", - "port": "outlabel" - }, - "target": { - "block": "03291097-00e3-48db-9044-3c73ed88eeb8", - "port": "159f86de-af0f-4f1a-9a93-7e8149d5d322" - } - }, - { - "source": { - "block": "719d7e53-bdb2-40e8-8bed-c86a12749e88", - "port": "outlabel" - }, - "target": { - "block": "f071a293-16e9-4c8b-8494-14b7f15033a3", - "port": "159f86de-af0f-4f1a-9a93-7e8149d5d322" - }, - "vertices": [ - { - "x": 64, - "y": 152 - } - ] - }, - { - "source": { - "block": "fdb3de4d-1a1f-420d-83f5-652d30cd8ca3", - "port": "outlabel" - }, - "target": { - "block": "f071a293-16e9-4c8b-8494-14b7f15033a3", - "port": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6" - } - }, - { - "source": { - "block": "f071a293-16e9-4c8b-8494-14b7f15033a3", - "port": "571d3fa4-680d-4422-92c6-b3b1dcd4fa8b" - }, - "target": { - "block": "6da4d258-9a3e-446d-9085-2b9170fea487", - "port": "843164ff-f7d8-48b9-bf59-1e0d1135c81f" - }, - "size": 4 - }, - { - "source": { - "block": "4be672f2-c453-4028-9da2-d6edebfab777", - "port": "eb61d084-ca22-4894-b8a2-f936db38f4b1" - }, - "target": { - "block": "f071a293-16e9-4c8b-8494-14b7f15033a3", - "port": "26833303-0a1a-4750-8546-b98e2fdfdd82" - }, - "size": 4 - }, - { - "source": { - "block": "98e23c4f-291f-4a6a-977f-dd1e9fd61186", - "port": "out" - }, - "target": { - "block": "4be672f2-c453-4028-9da2-d6edebfab777", - "port": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e" - }, - "size": 8 - }, - { - "source": { - "block": "6da4d258-9a3e-446d-9085-2b9170fea487", - "port": "1269698e-e555-4fcb-a613-cb4c7ff2e598" - }, - "target": { - "block": "f1844cff-7fd4-4781-82ea-93999fec5e74", - "port": "in" - }, - "size": 8 - }, - { - "source": { - "block": "4be672f2-c453-4028-9da2-d6edebfab777", - "port": "637e64f4-0a6b-4037-9a75-89397e078a58" - }, - "target": { - "block": "03291097-00e3-48db-9044-3c73ed88eeb8", - "port": "26833303-0a1a-4750-8546-b98e2fdfdd82" - }, - "vertices": [ - { - "x": -104, - "y": 32 - } - ], - "size": 4 - }, - { - "source": { - "block": "03291097-00e3-48db-9044-3c73ed88eeb8", - "port": "571d3fa4-680d-4422-92c6-b3b1dcd4fa8b" - }, - "target": { - "block": "6da4d258-9a3e-446d-9085-2b9170fea487", - "port": "a1770adf-e143-4506-9d87-3cb9c870f534" - }, - "size": 4 - } - ] - } - } - }, - "5c75f6e4f841e85f7c34d83b9cc081ef669dd12d": { - "package": { - "name": "DFF-rst-x04", - "version": "0.1", - "description": "DFF-rst-x04: Three D flip-flops in paralell with reset", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22252.294%22%20height=%22220.368%22%20viewBox=%220%200%2066.75283%2058.305748%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M25.682%2041.088L39.29%2057.76l-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M18.298%2033.024L9.066%2013.41l-6.45%203.724-2.07-3.583%2020.905-12.07%202.069%203.584-6.092%203.517%2012.03%2018.223s5.399-2.025%208.535.74c3.137%202.766%202.52%204.92%202.887%204.773L17.192%2045.956s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M42.022%2040.152l13.607%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M34.638%2032.088l-9.232-19.613-6.451%203.724-2.07-3.583L37.792.546%2039.86%204.13l-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.137%202.766%202.52%204.92%202.887%204.772L33.532%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20transform=%22translate(-38.356%20-17.732)%22%3E%3Crect%20width=%2224.412%22%20height=%2213.185%22%20x=%2280.3%22%20y=%2221.375%22%20ry=%222.247%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%22.794%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:1.25%22%20x=%2282.245%22%20y=%2230.943%22%20font-weight=%22400%22%20font-size=%2210.583%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20x=%2282.245%22%20y=%2230.943%22%20font-weight=%22700%22%3ESys%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E", - "otid": 1618509859237 - }, - "design": { - "graph": { - "blocks": [ - { - "id": "7a94a774-819e-4796-ad92-2b9f0a06e828", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": -160, - "y": -336 - } - }, - { - "id": "35ac40b6-de26-493f-b22e-d15895042a60", - "type": "basic.outputLabel", - "data": { - "blockColor": "navy", - "name": "rst", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": -168, - "y": -280 - } - }, - { - "id": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", - "type": "basic.input", - "data": { - "name": "", - "clock": true - }, - "position": { - "x": -496, - "y": -256 - } - }, - { - "id": "0a772657-8018-424d-8f04-75d3ffff3692", - "type": "basic.inputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true - }, - "position": { - "x": -344, - "y": -256 - } - }, - { - "id": "fdb3de4d-1a1f-420d-83f5-652d30cd8ca3", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 112, - "y": -200 - } - }, - { - "id": "159f86de-af0f-4f1a-9a93-7e8149d5d322", - "type": "basic.input", - "data": { - "name": "rst", - "clock": false - }, - "position": { - "x": -488, - "y": -184 - } - }, - { - "id": "eae23d49-1710-4ffb-9162-8c4238e16af9", - "type": "basic.inputLabel", - "data": { - "blockColor": "navy", - "name": "rst", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true - }, - "position": { - "x": -344, - "y": -184 - } - }, - { - "id": "719d7e53-bdb2-40e8-8bed-c86a12749e88", - "type": "basic.outputLabel", - "data": { - "blockColor": "navy", - "name": "rst", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 112, - "y": -112 - } - }, - { - "id": "b9359b10-b14f-4dd7-adf9-3f4f22bc65e6", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 376, - "y": -8 - } - }, - { - "id": "ff33bbea-7f70-4f0f-b74d-6bcb9f41d0ba", - "type": "basic.outputLabel", - "data": { - "blockColor": "navy", - "name": "rst", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 376, - "y": 80 - } - }, - { - "id": "571d3fa4-680d-4422-92c6-b3b1dcd4fa8b", - "type": "basic.output", - "data": { - "name": "", - "range": "[3:0]", - "size": 4 - }, - "position": { - "x": 1032, - "y": 184 - } - }, - { - "id": "7f915e41-616b-42d0-b6b3-93e8312f9091", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 528, - "y": 208 - } - }, - { - "id": "26833303-0a1a-4750-8546-b98e2fdfdd82", - "type": "basic.input", - "data": { - "name": "", - "range": "[3:0]", - "clock": false, - "size": 4 - }, - "position": { - "x": -336, - "y": 224 - } - }, - { - "id": "a47f4645-6751-4e16-8293-52d8f8cfc9f1", - "type": "basic.outputLabel", - "data": { - "blockColor": "navy", - "name": "rst", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 520, - "y": 264 - } - }, - { - "id": "48335216-c02f-4e23-8a04-e3d4eaa032ab", - "type": "c4f23ad05c2010ec9bd213c8814c9238873037ae", - "position": { - "x": -168, - "y": 192 - }, - "size": { - "width": 96, - "height": 128 - } - }, - { - "id": "ac2e4720-4af2-481e-9d20-d935321e31f2", - "type": "84f0a15761ee8b753f67079819a7614923939472", - "position": { - "x": 848, - "y": 152 - }, - "size": { - "width": 96, - "height": 128 - } - }, - { - "id": "0f69a2a7-39f9-4ed1-be11-0e7ee877a076", - "type": "2be0f80ece8db75007def664695ef5f257f88b99", - "position": { - "x": 672, - "y": 264 - }, - "size": { - "width": 96, - "height": 96 - } - }, - { - "id": "795fee35-1b0d-4780-afe4-25451dc8b7b3", - "type": "2be0f80ece8db75007def664695ef5f257f88b99", - "position": { - "x": 520, - "y": 64 - }, - "size": { - "width": 96, - "height": 96 - } - }, - { - "id": "ef954a48-69f2-4704-9719-698826029980", - "type": "2be0f80ece8db75007def664695ef5f257f88b99", - "position": { - "x": 272, - "y": -128 - }, - "size": { - "width": 96, - "height": 96 - } - }, - { - "id": "e76b0273-be54-4e06-ab90-45b1a08d31e4", - "type": "2be0f80ece8db75007def664695ef5f257f88b99", - "position": { - "x": -16, - "y": -296 - }, - "size": { - "width": 96, - "height": 96 - } - } - ], - "wires": [ - { - "source": { - "block": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", - "port": "out" - }, - "target": { - "block": "0a772657-8018-424d-8f04-75d3ffff3692", - "port": "inlabel" - }, - "vertices": [] - }, - { - "source": { - "block": "b9359b10-b14f-4dd7-adf9-3f4f22bc65e6", - "port": "outlabel" - }, - "target": { - "block": "795fee35-1b0d-4780-afe4-25451dc8b7b3", - "port": "e5f6cfba-f822-4d53-a924-926407bc4e3f" - } - }, - { - "source": { - "block": "7f915e41-616b-42d0-b6b3-93e8312f9091", - "port": "outlabel" - }, - "target": { - "block": "0f69a2a7-39f9-4ed1-be11-0e7ee877a076", - "port": "e5f6cfba-f822-4d53-a924-926407bc4e3f" - } - }, - { - "source": { - "block": "159f86de-af0f-4f1a-9a93-7e8149d5d322", - "port": "out" - }, - "target": { - "block": "eae23d49-1710-4ffb-9162-8c4238e16af9", - "port": "inlabel" - } - }, - { - "source": { - "block": "ff33bbea-7f70-4f0f-b74d-6bcb9f41d0ba", - "port": "outlabel" - }, - "target": { - "block": "795fee35-1b0d-4780-afe4-25451dc8b7b3", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" - } - }, - { - "source": { - "block": "a47f4645-6751-4e16-8293-52d8f8cfc9f1", - "port": "outlabel" - }, - "target": { - "block": "0f69a2a7-39f9-4ed1-be11-0e7ee877a076", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" - } - }, - { - "source": { - "block": "719d7e53-bdb2-40e8-8bed-c86a12749e88", - "port": "outlabel" - }, - "target": { - "block": "ef954a48-69f2-4704-9719-698826029980", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" - } - }, - { - "source": { - "block": "fdb3de4d-1a1f-420d-83f5-652d30cd8ca3", - "port": "outlabel" - }, - "target": { - "block": "ef954a48-69f2-4704-9719-698826029980", - "port": "e5f6cfba-f822-4d53-a924-926407bc4e3f" - } - }, - { - "source": { - "block": "7a94a774-819e-4796-ad92-2b9f0a06e828", - "port": "outlabel" - }, - "target": { - "block": "e76b0273-be54-4e06-ab90-45b1a08d31e4", - "port": "e5f6cfba-f822-4d53-a924-926407bc4e3f" - } - }, - { - "source": { - "block": "35ac40b6-de26-493f-b22e-d15895042a60", - "port": "outlabel" - }, - "target": { - "block": "e76b0273-be54-4e06-ab90-45b1a08d31e4", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" - } - }, - { - "source": { - "block": "0f69a2a7-39f9-4ed1-be11-0e7ee877a076", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" - }, - "target": { - "block": "ac2e4720-4af2-481e-9d20-d935321e31f2", - "port": "e4111201-8441-4e7d-bcd2-bcf9d265d043" - } - }, - { - "source": { - "block": "795fee35-1b0d-4780-afe4-25451dc8b7b3", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" - }, - "target": { - "block": "ac2e4720-4af2-481e-9d20-d935321e31f2", - "port": "969e11ca-69e8-403b-a566-7bf2fbe3a5a8" - }, - "vertices": [ - { - "x": 712, - "y": 128 - } - ] - }, - { - "source": { - "block": "48335216-c02f-4e23-8a04-e3d4eaa032ab", - "port": "f5a71d7b-de20-4527-80c8-0eb20de0dc77" - }, - "target": { - "block": "795fee35-1b0d-4780-afe4-25451dc8b7b3", - "port": "0da42cdc-7d03-494b-acec-9b2095f8d663" - } - }, - { - "source": { - "block": "48335216-c02f-4e23-8a04-e3d4eaa032ab", - "port": "0f7487e5-b070-4277-bba6-acf69934afca" - }, - "target": { - "block": "0f69a2a7-39f9-4ed1-be11-0e7ee877a076", - "port": "0da42cdc-7d03-494b-acec-9b2095f8d663" - }, - "vertices": [ - { - "x": -48, - "y": 312 - } - ] - }, - { - "source": { - "block": "48335216-c02f-4e23-8a04-e3d4eaa032ab", - "port": "33072210-9ba0-4659-8339-95952b939e6e" - }, - "target": { - "block": "ef954a48-69f2-4704-9719-698826029980", - "port": "0da42cdc-7d03-494b-acec-9b2095f8d663" - } - }, - { - "source": { - "block": "ef954a48-69f2-4704-9719-698826029980", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" - }, - "target": { - "block": "ac2e4720-4af2-481e-9d20-d935321e31f2", - "port": "346b4ae4-4bb6-4845-9c17-3b25e0dde718" - }, - "vertices": [ - { - "x": 768, - "y": 72 - } - ] - }, - { - "source": { - "block": "26833303-0a1a-4750-8546-b98e2fdfdd82", - "port": "out" - }, - "target": { - "block": "48335216-c02f-4e23-8a04-e3d4eaa032ab", - "port": "0ebd46a4-769b-45e6-bcaf-e3796264aed3" - }, - "size": 4 - }, - { - "source": { - "block": "ac2e4720-4af2-481e-9d20-d935321e31f2", - "port": "55180947-6349-4a04-a151-ad69ea2b155e" - }, - "target": { - "block": "571d3fa4-680d-4422-92c6-b3b1dcd4fa8b", - "port": "in" - }, - "size": 4 - }, - { - "source": { - "block": "48335216-c02f-4e23-8a04-e3d4eaa032ab", - "port": "bbe1895b-be8b-4237-b0d1-ae592e3e6208" - }, - "target": { - "block": "e76b0273-be54-4e06-ab90-45b1a08d31e4", - "port": "0da42cdc-7d03-494b-acec-9b2095f8d663" - } - }, - { - "source": { - "block": "e76b0273-be54-4e06-ab90-45b1a08d31e4", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" - }, - "target": { - "block": "ac2e4720-4af2-481e-9d20-d935321e31f2", - "port": "6c2aa548-5a4c-4e8d-a56c-a70926b19f18" - } - } - ] - } - } - }, - "c4f23ad05c2010ec9bd213c8814c9238873037ae": { - "package": { - "name": "Bus4-Split-all", - "version": "0.1", - "description": "Bus4-Split-all: Split the 4-bits bus into its 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": { - "graph": { - "blocks": [ - { - "id": "bbe1895b-be8b-4237-b0d1-ae592e3e6208", - "type": "basic.output", - "data": { - "name": "3" - }, - "position": { - "x": 576, - "y": 80 - } - }, - { - "id": "33072210-9ba0-4659-8339-95952b939e6e", - "type": "basic.output", - "data": { - "name": "2" - }, - "position": { - "x": 600, - "y": 144 - } - }, - { - "id": "0ebd46a4-769b-45e6-bcaf-e3796264aed3", - "type": "basic.input", - "data": { - "name": "", - "range": "[3:0]", - "clock": false, - "size": 4 - }, - "position": { - "x": 128, - "y": 184 - } - }, - { - "id": "f5a71d7b-de20-4527-80c8-0eb20de0dc77", - "type": "basic.output", - "data": { - "name": "1" - }, - "position": { - "x": 592, - "y": 240 - } - }, - { - "id": "0f7487e5-b070-4277-bba6-acf69934afca", - "type": "basic.output", - "data": { - "name": "0" - }, - "position": { - "x": 568, - "y": 296 - } - }, - { - "id": "16e78204-213e-4833-9096-89d735307ec2", - "type": "basic.code", - "data": { - "code": "assign o3 = i[3];\nassign o2 = i[2];\nassign o1 = i[1];\nassign o0 = i[0];", - "params": [], - "ports": { - "in": [ - { - "name": "i", - "range": "[3:0]", - "size": 4 - } - ], - "out": [ - { - "name": "o3" - }, - { - "name": "o2" - }, - { - "name": "o1" - }, - { - "name": "o0" - } - ] - } - }, - "position": { - "x": 296, - "y": 176 - }, - "size": { - "width": 208, - "height": 80 - } - } - ], - "wires": [ - { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o1" - }, - "target": { - "block": "f5a71d7b-de20-4527-80c8-0eb20de0dc77", - "port": "in" - } - }, - { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o0" - }, - "target": { - "block": "0f7487e5-b070-4277-bba6-acf69934afca", - "port": "in" - } - }, - { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o2" - }, - "target": { - "block": "33072210-9ba0-4659-8339-95952b939e6e", - "port": "in" - } - }, - { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o3" - }, - "target": { - "block": "bbe1895b-be8b-4237-b0d1-ae592e3e6208", - "port": "in" - } - }, - { - "source": { - "block": "0ebd46a4-769b-45e6-bcaf-e3796264aed3", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i" - }, - "size": 4 - } - ] - } - } - }, - "84f0a15761ee8b753f67079819a7614923939472": { - "package": { - "name": "Bus4-Join-all", - "version": "0.1", - "description": "Bus4-Join-all: Join all the wires into a 4-bits Bus", - "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=%22M164.218%2077.643L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v26.186l61.698.046c8.012-.043%2015.705%203.133%2021.47%208.81l61.448%2061.315a57.292%2057.292%200%200%200%2039.993%2016.139%2057.292%2057.292%200%200%200-39.993%2016.14L83.668%20190.45c-5.765%205.677-13.458%208.853-21.47%208.81L.5%20199.306v26.186h62.612c14.924.039%2029.463-5.9%2040.204-16.28l60.902-60.863a29.857%2029.857%200%200%201%2021.347-8.81l146.53-.113V86.457H185.571a29.884%2029.884%200%200%201-21.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "6c2aa548-5a4c-4e8d-a56c-a70926b19f18", - "type": "basic.input", - "data": { - "name": "3", - "clock": false - }, - "position": { - "x": 80, - "y": 64 - } - }, - { - "id": "346b4ae4-4bb6-4845-9c17-3b25e0dde718", - "type": "basic.input", - "data": { - "name": "2", - "clock": false - }, - "position": { - "x": 80, - "y": 136 - } - }, - { - "id": "55180947-6349-4a04-a151-ad69ea2b155e", - "type": "basic.output", - "data": { - "name": "", - "range": "[3:0]", - "size": 4 - }, - "position": { - "x": 712, - "y": 200 - } - }, - { - "id": "969e11ca-69e8-403b-a566-7bf2fbe3a5a8", - "type": "basic.input", - "data": { - "name": "1", - "clock": false - }, - "position": { - "x": 80, - "y": 208 - } - }, - { - "id": "e4111201-8441-4e7d-bcd2-bcf9d265d043", - "type": "basic.input", - "data": { - "name": "0", - "clock": false - }, - "position": { - "x": 80, - "y": 272 - } - }, - { - "id": "16e78204-213e-4833-9096-89d735307ec2", - "type": "basic.code", - "data": { - "code": "assign o = {i3, i2, i1, i0};\n", - "params": [], - "ports": { - "in": [ - { - "name": "i3" - }, - { - "name": "i2" - }, - { - "name": "i1" - }, - { - "name": "i0" - } - ], - "out": [ - { - "name": "o", - "range": "[3:0]", - "size": 4 - } - ] - } - }, - "position": { - "x": 296, - "y": 176 - }, - "size": { - "width": 344, - "height": 104 - } - } - ], - "wires": [ - { - "source": { - "block": "969e11ca-69e8-403b-a566-7bf2fbe3a5a8", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i1" - } - }, - { - "source": { - "block": "e4111201-8441-4e7d-bcd2-bcf9d265d043", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i0" - } - }, - { - "source": { - "block": "346b4ae4-4bb6-4845-9c17-3b25e0dde718", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i2" - }, - "vertices": [ - { - "x": 200, - "y": 176 - } - ] - }, - { - "source": { - "block": "6c2aa548-5a4c-4e8d-a56c-a70926b19f18", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i3" - }, - "vertices": [ - { - "x": 224, - "y": 128 - } - ] - }, - { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o" - }, - "target": { - "block": "55180947-6349-4a04-a151-ad69ea2b155e", - "port": "in" - }, - "size": 4 - } - ] - } - } - }, - "2be0f80ece8db75007def664695ef5f257f88b99": { - "package": { - "name": "DFF-rst-x01", - "version": "0.2", - "description": "DFF-rst-x01: D Flip flop with reset input. When rst=1, the DFF is 0", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22196.313%22%20height=%22216.83%22%20viewBox=%220%200%2051.941051%2057.369679%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20transform=%22translate(-52.22%20-48.028)%22%3E%3Crect%20width=%2224.412%22%20height=%2213.185%22%20x=%2279.352%22%20y=%2253.67%22%20ry=%222.247%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%22.794%22%20stroke-linecap=%22round%22/%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M77.902%2088.18l13.607%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M70.517%2080.116l-9.232-19.613-6.45%203.725-2.07-3.584%2020.905-12.07%202.07%203.584-6.093%203.518%2012.03%2018.222s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.773L69.412%2093.049s-2.848-3.696-2.16-6.796c.687-3.1%203.265-6.137%203.265-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Ctext%20style=%22line-height:1.25%22%20x=%2281.296%22%20y=%2263.239%22%20font-weight=%22400%22%20font-size=%2210.583%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20x=%2281.296%22%20y=%2263.239%22%20font-weight=%22700%22%3ESys%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E", - "otid": 1617895961660 - }, - "design": { - "graph": { - "blocks": [ - { - "id": "e5f6cfba-f822-4d53-a924-926407bc4e3f", - "type": "basic.input", - "data": { - "name": "", - "clock": true - }, - "position": { - "x": 200, - "y": -264 - } - }, - { - "id": "4b0bae4c-c796-429c-ac44-785afc2f4c89", - "type": "basic.inputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true - }, - "position": { - "x": 352, - "y": -264 - } - }, - { - "id": "4caec7c8-0763-44fc-9b7b-110e0260b74b", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 584, - "y": -128 - } - }, - { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "type": "basic.output", - "data": { - "name": "" - }, - "position": { - "x": 856, - "y": -56 - } - }, - { - "id": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", - "type": "basic.input", - "data": { - "name": "rst", - "clock": false - }, - "position": { - "x": 200, - "y": -56 - } - }, - { - "id": "0da42cdc-7d03-494b-acec-9b2095f8d663", - "type": "basic.input", - "data": { - "name": "d", - "clock": false - }, - "position": { - "x": 200, - "y": 80 - } - }, - { - "id": "63e9825a-4f37-4c3c-b118-e2bbd28d5ac7", - "type": "basic.constant", - "data": { - "name": "", - "value": "0", - "local": false - }, - "position": { - "x": 712, - "y": -160 - } - }, - { - "id": "3238f8fb-ade5-4d95-a02d-692defd900d6", - "type": "basic.info", - "data": { - "info": "Reset input: Active high \nWhen rst = 1, the DFF is reset to 0", - "readonly": true - }, - "position": { - "x": 184, - "y": -120 - }, - "size": { - "width": 272, - "height": 48 - } - }, - { - "id": "4d2e11c4-2f46-4c0a-9d1a-b641b417d495", - "type": "3676a00f3a70e406487ed14b901daf3e4984e63d", - "position": { - "x": 360, - "y": -56 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "c5b4454d-c8bc-420b-b7b6-ad21ca8304e0", - "type": "ba518ee261a2be13a9739cd3a01cdcebe0ef63c0", - "position": { - "x": 536, - "y": -40 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "ca985673-a11d-42a0-926c-d564fe02b723", - "type": "basic.info", - "data": { - "info": "Data input", - "readonly": true - }, - "position": { - "x": 216, - "y": 56 - }, - "size": { - "width": 104, - "height": 40 - } - }, - { - "id": "f36afb1b-0486-4fcf-98ad-a8b6d64ab550", - "type": "basic.info", - "data": { - "info": "System clock", - "readonly": true - }, - "position": { - "x": 208, - "y": -304 - }, - "size": { - "width": 144, - "height": 40 - } - }, - { - "id": "9833aab1-3c8e-40a6-859b-ce1960837256", - "type": "basic.info", - "data": { - "info": "Initial default \nvalue: 0", - "readonly": true - }, - "position": { - "x": 720, - "y": -200 - }, - "size": { - "width": 152, - "height": 64 - } - }, - { - "id": "9abbb3b1-2218-4aa2-bb22-add4c00ec265", - "type": "053dc2e26797e60dd454402e395eb23f388681b9", - "position": { - "x": 712, - "y": -56 - }, - "size": { - "width": 96, - "height": 64 - } - } - ], - "wires": [ - { - "source": { - "block": "e5f6cfba-f822-4d53-a924-926407bc4e3f", - "port": "out" - }, - "target": { - "block": "4b0bae4c-c796-429c-ac44-785afc2f4c89", - "port": "inlabel" - }, - "vertices": [] - }, - { - "source": { - "block": "4caec7c8-0763-44fc-9b7b-110e0260b74b", - "port": "outlabel" - }, - "target": { - "block": "9abbb3b1-2218-4aa2-bb22-add4c00ec265", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" - } - }, - { - "source": { - "block": "c5b4454d-c8bc-420b-b7b6-ad21ca8304e0", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" - }, - "target": { - "block": "9abbb3b1-2218-4aa2-bb22-add4c00ec265", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" - }, - "vertices": [] - }, - { - "source": { - "block": "4d2e11c4-2f46-4c0a-9d1a-b641b417d495", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" - }, - "target": { - "block": "c5b4454d-c8bc-420b-b7b6-ad21ca8304e0", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - }, - "vertices": [] - }, - { - "source": { - "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", - "port": "out" - }, - "target": { - "block": "4d2e11c4-2f46-4c0a-9d1a-b641b417d495", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - } - }, - { - "source": { - "block": "0da42cdc-7d03-494b-acec-9b2095f8d663", - "port": "out" - }, - "target": { - "block": "c5b4454d-c8bc-420b-b7b6-ad21ca8304e0", - "port": "97b51945-d716-4b6c-9db9-970d08541249" - } - }, - { - "source": { - "block": "9abbb3b1-2218-4aa2-bb22-add4c00ec265", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" - }, - "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "port": "in" - } - }, - { - "source": { - "block": "63e9825a-4f37-4c3c-b118-e2bbd28d5ac7", - "port": "constant-out" - }, - "target": { - "block": "9abbb3b1-2218-4aa2-bb22-add4c00ec265", - "port": "65194b18-5d2a-41b2-bd86-01be99978ad6" - } - } - ] - } - } - }, - "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a": { - "package": { - "name": "Bus8-Split-half", - "version": "0.1", - "description": "Bus8-Split-half: Split the 8-bits bus into two buses of the same size", - "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": { - "graph": { - "blocks": [ - { - "id": "637e64f4-0a6b-4037-9a75-89397e078a58", - "type": "basic.output", - "data": { - "name": "1", - "range": "[3:0]", - "size": 4 - }, - "position": { - "x": 584, - "y": 104 - } - }, - { - "id": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e", - "type": "basic.input", - "data": { - "name": "", - "range": "[7:0]", - "clock": false, - "size": 8 - }, - "position": { - "x": 120, - "y": 208 - } - }, - { - "id": "eb61d084-ca22-4894-b8a2-f936db38f4b1", - "type": "basic.output", - "data": { - "name": "0", - "range": "[3:0]", - "size": 4 - }, - "position": { - "x": 584, - "y": 232 - } - }, - { - "id": "16e78204-213e-4833-9096-89d735307ec2", - "type": "basic.code", - "data": { - "code": "assign o1 = i[7:4];\nassign o0 = i[3:0];", - "params": [], - "ports": { - "in": [ - { - "name": "i", - "range": "[7:0]", - "size": 8 - } - ], - "out": [ - { - "name": "o1", - "range": "[3:0]", - "size": 4 - }, - { - "name": "o0", - "range": "[3:0]", - "size": 4 - } - ] - } - }, - "position": { - "x": 272, - "y": 176 - }, - "size": { - "width": 240, - "height": 120 - } - } - ], - "wires": [ - { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o1" - }, - "target": { - "block": "637e64f4-0a6b-4037-9a75-89397e078a58", - "port": "in" - }, - "size": 4 - }, - { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o0" - }, - "target": { - "block": "eb61d084-ca22-4894-b8a2-f936db38f4b1", - "port": "in" - }, - "size": 4 - }, - { - "source": { - "block": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i" - }, - "size": 8 - } - ] - } - } - }, - "afb28fd5426aea14477d11cbe30a290679f789f8": { - "package": { - "name": "Bus8-Join-half", - "version": "0.1", - "description": "Bus8-Join-half: Join the two same halves into an 8-bits Bus", - "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=%22M164.218%2077.643L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v26.186l61.698.046c8.012-.043%2015.705%203.133%2021.47%208.81l61.448%2061.315a57.292%2057.292%200%200%200%2039.993%2016.139%2057.292%2057.292%200%200%200-39.993%2016.14L83.668%20190.45c-5.765%205.677-13.458%208.853-21.47%208.81L.5%20199.306v26.186h62.612c14.924.039%2029.463-5.9%2040.204-16.28l60.902-60.863a29.857%2029.857%200%200%201%2021.347-8.81l146.53-.113V86.457H185.571a29.884%2029.884%200%200%201-21.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "a1770adf-e143-4506-9d87-3cb9c870f534", - "type": "basic.input", - "data": { - "name": "1", - "range": "[3:0]", - "clock": false, - "size": 4 - }, - "position": { - "x": 128, - "y": 168 - } - }, - { - "id": "1269698e-e555-4fcb-a613-cb4c7ff2e598", - "type": "basic.output", - "data": { - "name": "", - "range": "[7:0]", - "size": 8 - }, - "position": { - "x": 640, - "y": 200 - } - }, - { - "id": "843164ff-f7d8-48b9-bf59-1e0d1135c81f", - "type": "basic.input", - "data": { - "name": "0", - "range": "[3:0]", - "clock": false, - "size": 4 - }, - "position": { - "x": 128, - "y": 224 - } - }, - { - "id": "16e78204-213e-4833-9096-89d735307ec2", - "type": "basic.code", - "data": { - "code": "assign o = {i1, i0};\n", - "params": [], - "ports": { - "in": [ - { - "name": "i1", - "range": "[3:0]", - "size": 4 - }, - { - "name": "i0", - "range": "[3:0]", - "size": 4 - } - ], - "out": [ - { - "name": "o", - "range": "[7:0]", - "size": 8 - } - ] - } - }, - "position": { - "x": 296, - "y": 176 - }, - "size": { - "width": 272, - "height": 104 - } - } - ], - "wires": [ - { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o" - }, - "target": { - "block": "1269698e-e555-4fcb-a613-cb4c7ff2e598", - "port": "in" - }, - "size": 8 - }, - { - "source": { - "block": "a1770adf-e143-4506-9d87-3cb9c870f534", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i1" - }, - "size": 4 - }, - { - "source": { - "block": "843164ff-f7d8-48b9-bf59-1e0d1135c81f", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i0" - }, - "size": 4 - } - ] - } - } - }, - "ce38dc5eab555d38058730d56bf27972e5cbb202": { - "package": { - "name": "Bus28-Join-4-24", - "version": "0.1", - "description": "Bus28-Join-4-24: Join the two buses into an 28-bits Bus", - "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=%22M164.218%2077.643L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v26.186l61.698.046c8.012-.043%2015.705%203.133%2021.47%208.81l61.448%2061.315a57.292%2057.292%200%200%200%2039.993%2016.139%2057.292%2057.292%200%200%200-39.993%2016.14L83.668%20190.45c-5.765%205.677-13.458%208.853-21.47%208.81L.5%20199.306v26.186h62.612c14.924.039%2029.463-5.9%2040.204-16.28l60.902-60.863a29.857%2029.857%200%200%201%2021.347-8.81l146.53-.113V86.457H185.571a29.884%2029.884%200%200%201-21.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "3a4ce56b-73a3-44ea-9cdb-fc2b3c62fb05", - "type": "basic.input", - "data": { - "name": "1", - "range": "[3:0]", - "clock": false, - "size": 4 - }, - "position": { - "x": 120, - "y": 168 - } - }, - { - "id": "c2b47079-3d57-467d-88eb-3c00fb497103", - "type": "basic.output", - "data": { - "name": "", - "range": "[27:0]", - "size": 28 - }, - "position": { - "x": 640, - "y": 200 - } - }, - { - "id": "3b957f7a-e94e-490f-8313-231ef9f2bdae", - "type": "basic.input", - "data": { - "name": "0", - "range": "[23:0]", - "clock": false, - "size": 24 - }, - "position": { - "x": 120, - "y": 256 - } - }, - { - "id": "16e78204-213e-4833-9096-89d735307ec2", - "type": "basic.code", - "data": { - "code": "assign o = {i1, i0};\n", - "params": [], - "ports": { - "in": [ - { - "name": "i1", - "range": "[3:0]", - "size": 4 - }, - { - "name": "i0", - "range": "[23:0]", - "size": 24 - } - ], - "out": [ - { - "name": "o", - "range": "[27:0]", - "size": 28 - } - ] - } + "info": "Ciclo actual", + "readonly": true }, "position": { - "x": 296, - "y": 176 + "x": 2168, + "y": -104 }, "size": { - "width": 272, - "height": 104 + "width": 152, + "height": 40 } - } - ], - "wires": [ - { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o" - }, - "target": { - "block": "c2b47079-3d57-467d-88eb-3c00fb497103", - "port": "in" - }, - "size": 28 - }, - { - "source": { - "block": "3b957f7a-e94e-490f-8313-231ef9f2bdae", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i0" - }, - "size": 24 }, { - "source": { - "block": "3a4ce56b-73a3-44ea-9cdb-fc2b3c62fb05", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i1" - }, - "size": 4 - } - ] - } - } - }, - "50924d45ba8124e240528864432b26e74c60a8e3": { - "package": { - "name": "Inc1-28bits", - "version": "0.1", - "description": "Inc1-28bit: Increment a 28-bits number by one", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22387.891%22%20height=%22310.09%22%20viewBox=%220%200%20363.64764%20290.70999%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.759%2055.834v79.813h79.508v35.946H115.76v79.813h-36.25v-79.813H-.002v-35.946h79.51V55.834z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3Cpath%20d=%22M196.193%20257.608h64.256V35.828l-69.902%2014.02V14.018L260.06%200h39.332v257.608h64.257v33.102H196.193z%22%20style=%22line-height:1.25%22%20font-size=%22398.777%22%20stroke-width=%229.969%22/%3E%3C/svg%3E", - "otid": 1618560481898 - }, - "design": { - "graph": { - "blocks": [ - { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "type": "basic.output", + "id": "3529c7ae-8223-48c9-a5c7-1b8161eb3654", + "type": "basic.info", "data": { - "name": "c" + "info": "Cuenta finalizada", + "readonly": true }, "position": { - "x": 624, - "y": -168 + "x": 2160, + "y": 216 + }, + "size": { + "width": 176, + "height": 48 } }, { - "id": "63856668-cf22-4174-a3cd-02a664a50874", - "type": "basic.input", + "id": "8d3fe74d-0b04-434f-bd0a-c966094bb54e", + "type": "basic.info", "data": { - "name": "", - "range": "[27:0]", - "clock": false, - "size": 28 + "info": "Ejecutar el ciclo", + "readonly": true }, "position": { - "x": 288, - "y": -152 + "x": 2168, + "y": 80 + }, + "size": { + "width": 168, + "height": 40 } }, { - "id": "cbaa92ba-c88f-4b89-a5f7-2fe513b6fa4c", - "type": "basic.output", + "id": "eae9349c-e15a-4922-8652-1849ae8af424", + "type": "basic.info", "data": { - "name": "s", - "range": "[27:0]", - "size": 28 + "info": "Número de ciclos \na contar", + "readonly": true }, "position": { - "x": 632, - "y": -104 + "x": 696, + "y": 288 + }, + "size": { + "width": 152, + "height": 56 } }, { - "id": "cd0d6f4d-9898-4114-94a9-0b4b98223c27", - "type": "basic.constant", + "id": "95a0fd91-d4b4-4a8c-a326-fa00aead76a2", + "type": "basic.info", "data": { - "name": "", - "value": "1", - "local": true + "info": "¿Estamos en el \nciclo k-1?", + "readonly": true }, "position": { - "x": 456, - "y": -256 + "x": 1024, + "y": 480 + }, + "size": { + "width": 144, + "height": 56 } }, { - "id": "3de5ce54-e3ef-4c60-8f1d-c37edf44b110", - "type": "2e3ff218342f6aacd4f654dcd8b5fefb3e3af4da", + "id": "ee786c92-eee9-4192-b5cd-7ffd2cff4aa0", + "type": "basic.info", + "data": { + "info": "Solo se hace caso a la \nentrada next si la \nmáquina está encendida", + "readonly": true + }, "position": { - "x": 456, - "y": -152 + "x": 648, + "y": 88 }, "size": { - "width": 96, - "height": 64 + "width": 216, + "height": 80 } - } - ], - "wires": [ + }, { - "source": { - "block": "3de5ce54-e3ef-4c60-8f1d-c37edf44b110", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "id": "fdea86ef-3e4a-4419-972a-3e09c49380ab", + "type": "basic.info", + "data": { + "info": "Nuevo ciclo", + "readonly": true }, - "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "port": "in" + "position": { + "x": 920, + "y": 168 + }, + "size": { + "width": 136, + "height": 40 } }, { - "source": { - "block": "cd0d6f4d-9898-4114-94a9-0b4b98223c27", - "port": "constant-out" + "id": "f1312a02-2038-404e-b9cf-5f4ee6b11012", + "type": "basic.info", + "data": { + "info": "Si es el ciclo k-1 y \nse pide un ciclo \nnuevo: Terminar", + "readonly": true }, - "target": { - "block": "3de5ce54-e3ef-4c60-8f1d-c37edf44b110", - "port": "e728fdca-755f-4f2d-98e7-0716b1c5258f" + "position": { + "x": 1136, + "y": 304 + }, + "size": { + "width": 208, + "height": 72 } }, { - "source": { - "block": "63856668-cf22-4174-a3cd-02a664a50874", - "port": "out" + "id": "9baabc30-8c27-4b55-92e4-d59783269162", + "type": "basic.info", + "data": { + "info": "Apagar la \nmáquina", + "readonly": true }, - "target": { - "block": "3de5ce54-e3ef-4c60-8f1d-c37edf44b110", - "port": "477ebaee-8234-49d2-ad4b-6a2179b210ff" + "position": { + "x": 600, + "y": -64 }, - "size": 28 + "size": { + "width": 120, + "height": 56 + } }, { - "source": { - "block": "3de5ce54-e3ef-4c60-8f1d-c37edf44b110", - "port": "b6f8c812-a829-4650-b1d7-d321f3402e5b" + "id": "b1d4db4d-86bf-41b9-8192-647537f22b35", + "type": "basic.info", + "data": { + "info": "Ciclo nuevo: \nincrementar la cuenta", + "readonly": true }, - "target": { - "block": "cbaa92ba-c88f-4b89-a5f7-2fe513b6fa4c", - "port": "in" + "position": { + "x": 1464, + "y": -32 }, - "size": 28 - } - ] - } - } - }, - "2e3ff218342f6aacd4f654dcd8b5fefb3e3af4da": { - "package": { - "name": "AdderK-24bits CLONE", - "version": "0.1-c1628268191080", - "description": "AdderK-24bit: Adder of 24-bit operand and 24-bit constant", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", - "otid": 1618560481898 - }, - "design": { - "graph": { - "blocks": [ + "size": { + "width": 208, + "height": 56 + } + }, { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "type": "basic.output", + "id": "6c065227-d7b8-48ea-8105-765c0ff10e5d", + "type": "basic.info", "data": { - "name": "c" + "info": "El tic de start se saca \npor exec para que se ejecute \nel primer ciclo", + "readonly": true }, "position": { - "x": 624, - "y": -168 + "x": 1680, + "y": 440 + }, + "size": { + "width": 248, + "height": 72 } }, { - "id": "b6f8c812-a829-4650-b1d7-d321f3402e5b", - "type": "basic.output", + "id": "f41e1b4d-0de7-4d61-9b57-16de7ef8dc8a", + "type": "basic.info", "data": { - "name": "s", - "range": "[27:0]", - "size": 28 + "info": "Si la máquina está \napagada, las señales \nde ejecución no pueden \nsalir!", + "readonly": true }, "position": { - "x": 624, - "y": -104 + "x": 1688, + "y": 168 + }, + "size": { + "width": 208, + "height": 80 } }, { - "id": "477ebaee-8234-49d2-ad4b-6a2179b210ff", - "type": "basic.input", + "id": "1ed4ad01-9b81-4934-84b7-804dcaec10c1", + "type": "basic.info", "data": { - "name": "", - "range": "[27:0]", - "clock": false, - "size": 28 + "info": "Retrasar la señal un ciclo \nmientras que se detecta si \nla máquina ha finalizado o no", + "readonly": true }, "position": { - "x": 232, - "y": -64 + "x": 1416, + "y": 392 + }, + "size": { + "width": 256, + "height": 72 } }, { - "id": "e728fdca-755f-4f2d-98e7-0716b1c5258f", - "type": "basic.constant", - "data": { - "name": "", - "value": "0", - "local": false + "id": "2a6b0d55-b2c4-4ed4-9483-8871ba946dcf", + "type": "aec21dcbeb94ef212f1936ba3b7cf22e0e349a8f", + "position": { + "x": 752, + "y": -168 + }, + "size": { + "width": 96, + "height": 128 + } + }, + { + "id": "331d12d0-f6ea-49dd-8762-fb992de54f0f", + "type": "58ed2b5c7e33e2f215ccba6c101d9ea4ff60f284", + "position": { + "x": 1544, + "y": 272 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "6ebcb033-3fa2-49c8-92f3-3b5eed869715", + "type": "bf21f4d270a776c39e0c3763ffe9253d8f25e93d", + "position": { + "x": 1648, + "y": -152 }, + "size": { + "width": 96, + "height": 128 + } + }, + { + "id": "1a3e3c55-3a15-44eb-b040-abaa9763b6a9", + "type": "5ba0990b1cafb42a483bf845663b1bce6cbfa43b", "position": { - "x": 232, - "y": -272 + "x": 1336, + "y": -120 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "46672fbe-81e2-47d1-9c38-77e3a77b5e0e", - "type": "1c2d11dcbb903420442974f49ad92acddd1dd8d1", + "id": "32e14852-e793-4199-a915-5ba8b629ef76", + "type": "c98ba9d3bd2afa5c5dc32f623ae81a9df5d211b3", "position": { - "x": 232, - "y": -168 + "x": 856, + "y": 512 }, "size": { "width": 96, @@ -22397,11 +17916,11 @@ } }, { - "id": "f685839d-bfb8-4561-af10-9cb9a40c178d", - "type": "e33ea9666c8a87ccef5e22e98b0e9dd7ad97342b", + "id": "27d9e58c-8375-447e-8210-f0cd82af5d37", + "type": "be366defa772394c264631243c78ced91837ab0f", "position": { - "x": 456, - "y": -152 + "x": 680, + "y": 448 }, "size": { "width": 96, @@ -22412,810 +17931,541 @@ "wires": [ { "source": { - "block": "f685839d-bfb8-4561-af10-9cb9a40c178d", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "block": "6c846478-ff94-415a-b78e-03b6981bc0fe", + "port": "outlabel" }, "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "port": "in" - } + "block": "6ebcb033-3fa2-49c8-92f3-3b5eed869715", + "port": "c97f7411-94ef-4d63-ba23-ce596ebcbb25" + }, + "vertices": [ + { + "x": 1592, + "y": -192 + } + ] }, { "source": { - "block": "e728fdca-755f-4f2d-98e7-0716b1c5258f", - "port": "constant-out" + "block": "2a6b0d55-b2c4-4ed4-9483-8871ba946dcf", + "port": "89a5da53-cc8b-4099-a5e3-b9cf281619b1" }, "target": { - "block": "46672fbe-81e2-47d1-9c38-77e3a77b5e0e", - "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" + "block": "bc6920df-ca50-4643-ad7a-7e10c29856e8", + "port": "inlabel" } }, { "source": { - "block": "46672fbe-81e2-47d1-9c38-77e3a77b5e0e", - "port": "6d4a2bac-93ac-4064-906f-0eb273368d1e" + "block": "2a6b0d55-b2c4-4ed4-9483-8871ba946dcf", + "port": "aefe9248-3b3d-441b-9e65-33cda65b99dd" }, "target": { - "block": "f685839d-bfb8-4561-af10-9cb9a40c178d", - "port": "438a6c29-77ff-4ef2-b963-1ddcfd48245d" - }, - "size": 28 + "block": "9baa509b-0012-4e0e-b874-e62987258aa1", + "port": "inlabel" + } }, { "source": { - "block": "f685839d-bfb8-4561-af10-9cb9a40c178d", - "port": "232dad32-f470-4b1f-a92c-bf32f47a29d6" + "block": "2a6b0d55-b2c4-4ed4-9483-8871ba946dcf", + "port": "0d991cee-b329-439b-b9e7-5712d2db539d" }, "target": { - "block": "b6f8c812-a829-4650-b1d7-d321f3402e5b", - "port": "in" + "block": "92c88f9e-7d51-4946-b0ef-088dcd8efa49", + "port": "inlabel" }, - "size": 28 + "vertices": [ + { + "x": 888, + "y": -216 + } + ] }, { "source": { - "block": "477ebaee-8234-49d2-ad4b-6a2179b210ff", - "port": "out" + "block": "fa7f43f2-cbb2-47e0-bcc5-32336f9cd8ed", + "port": "outlabel" }, "target": { - "block": "f685839d-bfb8-4561-af10-9cb9a40c178d", - "port": "aa5f2a99-2abd-495d-9405-ae0bc7644cfc" - }, - "size": 28 - } - ] - } - } - }, - "1c2d11dcbb903420442974f49ad92acddd1dd8d1": { - "package": { - "name": "28-bits-gen-constant", - "version": "0.0.2", - "description": "Generic: 28-bits generic constant", - "author": "Juan Gonzalez-Gomez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22145.608%22%20height=%22247.927%22%20viewBox=%220%200%20136.50729%20232.43134%22%3E%3Cg%20style=%22line-height:0%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%3E%3Cpath%20d=%22M56.012%20146.905q9.055%206.708%2020.459%2017.105%2011.404%2010.062%2022.472%2021.8%2011.403%2011.74%2021.465%2024.15%2010.062%2012.074%2016.1%2022.471h-32.87q-6.372-10.397-15.763-21.13-9.392-11.068-20.124-21.13-10.398-10.062-21.13-18.447-10.398-8.385-18.783-14.087v74.794H0V4.695L27.838%200v141.874q18.447-16.1%2036.894-31.863%2018.447-16.1%2033.205-33.205h32.533q-14.422%2017.106-34.881%2035.217-20.124%2018.112-39.577%2034.882z%22%20style=%22line-height:1.25%22%20font-size=%22335.399%22%20font-weight=%22400%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22/%3E%3C/g%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ + "block": "bd61136e-6597-4728-a8c3-141a1841150b", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } + }, { - "id": "6d4a2bac-93ac-4064-906f-0eb273368d1e", - "type": "basic.output", - "data": { - "name": "", - "range": "[27:0]", - "size": 28 + "source": { + "block": "45bd338b-4745-4b06-b199-462cdaffa31d", + "port": "outlabel" }, - "position": { - "x": 968, - "y": 248 + "target": { + "block": "2a6b0d55-b2c4-4ed4-9483-8871ba946dcf", + "port": "ba15eacb-1e03-4580-932b-3231703481e5" } }, { - "id": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", - "type": "basic.constant", - "data": { - "name": "", - "value": "0", - "local": false + "source": { + "block": "7d6ed080-252a-4f1b-8ec7-0f47d7866317", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, - "position": { - "x": 728, - "y": 128 + "target": { + "block": "2e9e9e82-c651-4a6b-9d9e-4c796699d133", + "port": "inlabel" } }, { - "id": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", - "type": "basic.code", - "data": { - "code": "assign k = VALUE;", - "params": [ - { - "name": "VALUE" - } - ], - "ports": { - "in": [], - "out": [ - { - "name": "k", - "range": "[27:0]", - "size": 28 - } - ] - } - }, - "position": { - "x": 672, - "y": 248 + "source": { + "block": "2a6b0d55-b2c4-4ed4-9483-8871ba946dcf", + "port": "3802390d-8417-4369-b93c-dda647ccb0c6" }, - "size": { - "width": 208, - "height": 64 + "target": { + "block": "5a3f8466-6a57-4607-939a-fb15222442a7", + "port": "inlabel" } - } - ], - "wires": [ + }, { "source": { - "block": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", - "port": "constant-out" + "block": "c5781045-a890-4e66-8f67-80d0cb317ee6", + "port": "outlabel" }, "target": { - "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", - "port": "VALUE" + "block": "ac8b922a-9249-49a3-8b42-a1f259ccae2b", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" } }, { "source": { - "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", - "port": "k" + "block": "a756b829-42d1-4779-b42d-a9acc3800854", + "port": "outlabel" }, "target": { - "block": "6d4a2bac-93ac-4064-906f-0eb273368d1e", + "block": "49221b19-132a-4e3f-9a1f-97bcd463391b", "port": "in" + } + }, + { + "source": { + "block": "8a5f0c79-7347-4b35-8e27-603ebed8bf9f", + "port": "outlabel" }, - "size": 28 - } - ] - } - } - }, - "e33ea9666c8a87ccef5e22e98b0e9dd7ad97342b": { - "package": { - "name": "Adder-28bits", - "version": "0.1", - "description": "Adder-28bits: Adder of two operands of 28 bits", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", - "otid": 1618560481898 - }, - "design": { - "graph": { - "blocks": [ + "target": { + "block": "6ebcb033-3fa2-49c8-92f3-3b5eed869715", + "port": "f1022de4-0225-43d7-92d3-451161ee6942" + } + }, { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "type": "basic.output", - "data": { - "name": "c" + "source": { + "block": "10afc859-04fd-433d-823a-4fa4721320c1", + "port": "outlabel" }, - "position": { - "x": 1160, - "y": -496 + "target": { + "block": "28aef1aa-1cc2-4bb4-9a70-2db1962258d4", + "port": "97b51945-d716-4b6c-9db9-970d08541249" } }, { - "id": "9b6d88fa-20b2-4b05-ad2b-c436a4a7f496", - "type": "basic.inputLabel", - "data": { - "name": "a3", - "range": "[3:0]", - "pins": [ - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia", - "blockColor": "deeppink" + "source": { + "block": "28aef1aa-1cc2-4bb4-9a70-2db1962258d4", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "06b60a4f-b1b1-4a91-ba10-bdb5a7515718", + "port": "inlabel" + } + }, + { + "source": { + "block": "bd61136e-6597-4728-a8c3-141a1841150b", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, - "position": { - "x": 40, - "y": -464 + "target": { + "block": "8c96c7ec-0c2f-4870-9197-46116cd1d134", + "port": "inlabel" } }, { - "id": "55631885-7de8-4477-9ac1-9efd76c180e0", - "type": "basic.outputLabel", - "data": { - "name": "a3", - "range": "[3:0]", - "blockColor": "deeppink", - "size": 4 + "source": { + "block": "f9f37a77-fd08-4506-9c1b-cc53daa19559", + "port": "outlabel" }, - "position": { - "x": 784, - "y": -440 + "target": { + "block": "331d12d0-f6ea-49dd-8762-fb992de54f0f", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" } }, { - "id": "438a6c29-77ff-4ef2-b963-1ddcfd48245d", - "type": "basic.input", - "data": { - "name": "", - "range": "[27:0]", - "clock": false, - "size": 28 + "source": { + "block": "cb426e3d-ace3-4a57-a74b-155caed0c14c", + "port": "out" }, - "position": { - "x": -664, - "y": -416 + "target": { + "block": "9291f94d-2d9a-4c3a-b7df-4299abf84886", + "port": "inlabel" } }, { - "id": "235e1fe4-919e-422d-9eb3-dc232e8f9407", - "type": "basic.inputLabel", - "data": { - "name": "a2", - "range": "[7:0]", - "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia", - "blockColor": "deeppink" + "source": { + "block": "40607400-436e-4dea-b733-8308a06fd4ef", + "port": "outlabel" }, - "position": { - "x": 32, - "y": -376 + "target": { + "block": "2a6b0d55-b2c4-4ed4-9483-8871ba946dcf", + "port": "046501b8-4427-4d4d-af97-7fe807774f33" } }, { - "id": "eff7351f-52a9-408d-b237-2d3ee93120f0", - "type": "basic.outputLabel", - "data": { - "name": "b3", - "range": "[3:0]", - "blockColor": "fuchsia", - "size": 4 + "source": { + "block": "2438a009-c8e2-4acb-b443-90fe0ddd989d", + "port": "outlabel" }, - "position": { - "x": 776, - "y": -360 + "target": { + "block": "6a11eaf9-4bd5-405e-81f8-44418365326b", + "port": "in" } }, { - "id": "e2589574-b6cc-4faf-8e69-3d23248bcba2", - "type": "basic.inputLabel", - "data": { - "name": "a1", - "range": "[7:0]", - "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia", - "blockColor": "deeppink" + "source": { + "block": "81fb4efb-363e-483e-b1df-c2ebda777355", + "port": "outlabel" }, - "position": { - "x": -160, - "y": -336 + "target": { + "block": "6ebcb033-3fa2-49c8-92f3-3b5eed869715", + "port": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6" } }, { - "id": "6736a55c-7818-4da9-9c1a-f57200ad2526", - "type": "basic.inputLabel", - "data": { - "name": "a0", - "range": "[7:0]", - "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia", - "blockColor": "deeppink" + "source": { + "block": "d8820925-23d9-4f02-8491-adf813601d08", + "port": "outlabel" + }, + "target": { + "block": "331d12d0-f6ea-49dd-8762-fb992de54f0f", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + }, + "vertices": [ + { + "x": 1496, + "y": 264 + } + ] + }, + { + "source": { + "block": "dddd2a78-e0f8-4688-ad63-0c41ad98894b", + "port": "outlabel" + }, + "target": { + "block": "73948305-b05b-418f-88af-11328f400cdc", + "port": "in" + } + }, + { + "source": { + "block": "6ebcb033-3fa2-49c8-92f3-3b5eed869715", + "port": "521f03e5-f364-41b0-a2b8-c7858e6debf5", + "size": 14 + }, + "target": { + "block": "1cfadcd2-42df-4d6b-9aed-0e94c93bf202", + "port": "inlabel" + }, + "size": 14 + }, + { + "source": { + "block": "f46fb7c4-9551-4da4-9a31-7dd52f738527", + "port": "outlabel" }, - "position": { - "x": -336, - "y": -320 + "target": { + "block": "19940e4f-3166-4887-a4e2-ea5babe5f726", + "port": "in", + "size": 14 + }, + "size": 14 + }, + { + "source": { + "block": "ba7c88dc-642a-46e2-9dac-c32ba106020d", + "port": "outlabel" + }, + "target": { + "block": "1a3e3c55-3a15-44eb-b040-abaa9763b6a9", + "port": "ccf244b8-cc65-453c-a958-19a3768f7007", + "size": 14 + }, + "size": 14 + }, + { + "source": { + "block": "9726aeb6-7b23-479f-ac97-1bbfc2e82bc0", + "port": "outlabel" + }, + "target": { + "block": "32e14852-e793-4199-a915-5ba8b629ef76", + "port": "b457d512-6d78-479d-9b18-993a80c00740", + "size": 14 + }, + "size": 14 + }, + { + "source": { + "block": "374613cb-968d-46d1-94a4-16686e7df28d", + "port": "constant-out" + }, + "target": { + "block": "6ebcb033-3fa2-49c8-92f3-3b5eed869715", + "port": "d9020031-ade2-47d0-bca0-4b88fe7eaebd" } }, { - "id": "232dad32-f470-4b1f-a92c-bf32f47a29d6", - "type": "basic.output", - "data": { - "name": "s", - "range": "[27:0]", - "size": 28 + "source": { + "block": "a19b8bcd-a0a4-4da0-9844-5e5c0306e231", + "port": "constant-out" }, - "position": { - "x": 1328, - "y": -320 + "target": { + "block": "1a3e3c55-3a15-44eb-b040-abaa9763b6a9", + "port": "e728fdca-755f-4f2d-98e7-0716b1c5258f" } }, { - "id": "8ac0c222-8cbc-4974-bfd2-43f11eb8d8ad", - "type": "basic.outputLabel", - "data": { - "name": "a2", - "range": "[7:0]", - "oldBlockColor": "fuchsia", - "blockColor": "deeppink", - "size": 8 + "source": { + "block": "32e14852-e793-4199-a915-5ba8b629ef76", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, - "position": { - "x": 600, - "y": -312 + "target": { + "block": "7d6ed080-252a-4f1b-8ec7-0f47d7866317", + "port": "97b51945-d716-4b6c-9db9-970d08541249" } }, { - "id": "cc858595-88b1-4f0b-baeb-77fdd9a4d7ed", - "type": "basic.outputLabel", - "data": { - "name": "b2", - "range": "[7:0]", - "blockColor": "fuchsia", - "size": 8 + "source": { + "block": "ac8b922a-9249-49a3-8b42-a1f259ccae2b", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, - "position": { - "x": 600, - "y": -248 + "target": { + "block": "28aef1aa-1cc2-4bb4-9a70-2db1962258d4", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" } }, { - "id": "2572197f-6a71-4ac7-927d-f15f5b13beea", - "type": "basic.inputLabel", - "data": { - "name": "b3", - "range": "[3:0]", - "pins": [ - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia" + "source": { + "block": "331d12d0-f6ea-49dd-8762-fb992de54f0f", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" }, - "position": { - "x": 40, - "y": -200 + "target": { + "block": "ac8b922a-9249-49a3-8b42-a1f259ccae2b", + "port": "97b51945-d716-4b6c-9db9-970d08541249" } }, { - "id": "4f2c77a9-f54e-4c7e-b1b8-d1739ea521c7", - "type": "basic.outputLabel", - "data": { - "name": "a1", - "range": "[7:0]", - "blockColor": "deeppink", - "size": 8 + "source": { + "block": "bd61136e-6597-4728-a8c3-141a1841150b", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, - "position": { - "x": 408, - "y": -136 + "target": { + "block": "7d6ed080-252a-4f1b-8ec7-0f47d7866317", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" } }, { - "id": "389f9a01-b7df-4d16-8f0e-bb14b76997ce", - "type": "basic.inputLabel", - "data": { - "name": "b2", - "range": "[7:0]", - "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia" + "source": { + "block": "d0005413-fea9-4b0b-8a18-9b15d4977bc1", + "port": "constant-out" }, - "position": { - "x": 32, - "y": -112 + "target": { + "block": "27d9e58c-8375-447e-8210-f0cd82af5d37", + "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" } }, { - "id": "4743defe-36c0-40a2-aaf0-188272583034", - "type": "basic.outputLabel", - "data": { - "name": "b1", - "range": "[7:0]", - "blockColor": "fuchsia", - "size": 8 + "source": { + "block": "8f591b24-0427-409f-aa6e-ca1861556cf5", + "port": "out" }, - "position": { - "x": 408, - "y": -56 + "target": { + "block": "2a6b0d55-b2c4-4ed4-9483-8871ba946dcf", + "port": "88176871-35ac-42bf-bf62-36c81a4b4b47" } }, { - "id": "a3761c9e-14ee-47ef-95f0-ddbb132ba6cf", - "type": "basic.inputLabel", - "data": { - "name": "b1", - "range": "[7:0]", - "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia" + "source": { + "block": "ad4d0fc2-118e-496e-b292-c435bad20e7d", + "port": "out" }, - "position": { - "x": -144, - "y": -24 + "target": { + "block": "bd61136e-6597-4728-a8c3-141a1841150b", + "port": "97b51945-d716-4b6c-9db9-970d08541249" } }, { - "id": "aa5f2a99-2abd-495d-9405-ae0bc7644cfc", + "source": { + "block": "1a3e3c55-3a15-44eb-b040-abaa9763b6a9", + "port": "097a6fa5-5366-4605-952c-dcc1425e255c" + }, + "target": { + "block": "6ebcb033-3fa2-49c8-92f3-3b5eed869715", + "port": "e699a6f3-fd6f-49dc-a8d3-d35853cb8e6b" + }, + "size": 14 + }, + { + "source": { + "block": "27d9e58c-8375-447e-8210-f0cd82af5d37", + "port": "d10a3bb7-99d9-4193-8faf-cbe27f5c8482" + }, + "target": { + "block": "32e14852-e793-4199-a915-5ba8b629ef76", + "port": "a42068b6-dc74-4537-869c-d20ea32059b0" + }, + "size": 14 + } + ] + } + } + }, + "aec21dcbeb94ef212f1936ba3b7cf22e0e349a8f": { + "package": { + "name": "Machine-state", + "version": "0.2", + "description": "Biestable de almacenamiento del estado de la máquina", + "author": "Juan Gonzalez-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22404.343%22%20width=%22319.18%22%20id=%22svg4%22%3E%3Cdefs%20id=%22defs8%22%3E%3Cmarker%20id=%22TriangleOutM%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20id=%22path972%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow1Mend%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-4%200l-2%202%207-2-7-2z%22%20id=%22path836%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow2Mend%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20id=%22path854%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow2Mend-3%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20id=%22path854-6%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow1Mend-5%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-4%200l-2%202%207-2-7-2z%22%20id=%22path836-3%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22TriangleOutM-7%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path972-5%22%20d=%22M2.308%200l-3.46%202v-4z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow1Mend-3%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path836-5%22%20d=%22M-4%200l-2%202%207-2-7-2z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow2Mend-6%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path854-2%22%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow2Mend-3-9%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path854-6-1%22%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow1Mend-5-2%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path836-3-7%22%20d=%22M-4%200l-2%202%207-2-7-2z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cdefs%20id=%22defs3%22%3E%3Cpath%20id=%22a%22%20d=%22M-58.3-45h653.6v640H-58.3z%22/%3E%3C/defs%3E%3Cpath%20id=%22path898%22%20d=%22M-58.3-45h653.6v640H-58.3z%22/%3E%3Cmarker%20id=%22TriangleOutM-3%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20id=%22path972-6%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow1Mend-7%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-4%200l-2%202%207-2-7-2z%22%20id=%22path836-53%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow2Mend-5%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20id=%22path854-62%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow2Mend-3-91%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20id=%22path854-6-2%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow1Mend-5-7%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-4%200l-2%202%207-2-7-2z%22%20id=%22path836-3-0%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22TriangleOutM-7-9%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path972-5-3%22%20d=%22M2.308%200l-3.46%202v-4z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow1Mend-3-6%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path836-5-0%22%20d=%22M-4%200l-2%202%207-2-7-2z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow2Mend-6-6%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path854-2-2%22%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow2Mend-3-9-6%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path854-6-1-1%22%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow1Mend-5-2-8%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path836-3-7-7%22%20d=%22M-4%200l-2%202%207-2-7-2z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cdefs%20id=%22defs3-9%22%3E%3Cpath%20id=%22a-2%22%20d=%22M-58.3-45h653.6v640H-58.3z%22/%3E%3C/defs%3E%3Cpath%20id=%22path974%22%20d=%22M-58.3-45h653.6v640H-58.3z%22/%3E%3C/defs%3E%3Cpath%20d=%22M124.728%2079.637c-24.895%200-45.091%2020.196-45.091%2045.109%200%2024.886%2020.196%2045.126%2045.092%2045.126%2024.904%200%2044.952-20.24%2044.952-45.126%200-24.913-20.049-45.11-44.953-45.11zm90.41%2071.022l-8.128%2019.578%2014.497%2028.472%201.914%203.759-20.1%2020.1-32.979-15.575-19.578%208.04-9.938%2030.421-1.27%204.038h-28.41L98.85%20215.155%2079.27%20207.08l-28.514%2014.462-3.759%201.88-20.092-20.083%2015.559-32.997-8.067-19.56-30.37-9.92L0%20139.555v-28.393L34.362%2098.85l8.067-19.544-14.453-28.533-1.906-3.741%2020.066-20.066%2033.022%2015.55%2019.553-8.084%209.928-30.403L109.92%200h28.401l12.304%2034.38%2019.527%208.084%2028.523-14.471%203.794-1.906%2020.083%2020.066-15.558%2032.97%208.04%2019.588%2030.456%209.928%204.003%201.28v28.384z%22%20id=%22path2%22%20fill=%22#00f%22%20stroke-width=%22.278%22/%3E%3Cg%20id=%22g992-5%22%20transform=%22matrix(3.23542%200%200%203.23542%20-54.399%20117.43)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20id=%22path992-2-62%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20id=%22path1773-2-3-1-8-9-9%22%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cstyle%20id=%22style2%22%3E.st0%7Bdisplay:none%7D.st1%7Bfill:none;stroke:#303030;stroke-width:.7;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10%7D.st2%7Bfill:#303030%7D%3C/style%3E%3Cg%20id=%22g1022%22%20transform=%22matrix(.5585%200%200%20.5585%2076.484%2043.495)%22%3E%3Cg%20transform=%22translate(3.47%203.198)%22%20id=%22layer1%22%3E%3Cpath%20id=%22path9-3%22%20d=%22M21.358%20145.947a63.75%2063.75%200%200%200%201.152%2011.049%22%20class=%22st1%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20id=%22path11%22%20d=%22M48.702%2092.116a64.784%2064.784%200%200%200-12.559%2011.68%2064.99%2064.99%200%200%200-12.69%2024.809%22%20class=%22st1%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20class=%22st1%22%20id=%22line17%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22%20d=%22M184.865%20207.591L41.298%20262.802%22/%3E%3Cpath%20d=%22M185.448%20175.07l.37.154c2.52.831%204.718%202.386%206.634%204.249%202.02%202.322%203.694%204.777%204.423%208.713%201.496%208.074-3.286%2016.05-10.95%2018.997l-1.06.408L41.298%20262.8l-.733.283c-8.003%203.077-17.551.461-21.82-6.975-3.3-5.748-2.736-12.198.418-21.613%203.155-9.414%202.86-21.856-1.644-33.55l.041.003-12.507-32.667c-12.88-33.415-.747-70.376%2027.41-90.31l-1.102-2.749c-3.685-9.583%201.14-20.438%2010.723-24.124%209.583-3.685%2020.439%201.14%2024.124%2010.723l1.654%203.239c34.881-3.556%2068.594%2015.855%2081.318%2049.33l15.24%2038.432c4.795%208.723%2011.831%2015.955%2021.028%2022.248z%22%20id=%22path21-3%22%20fill=%22#fff%22%20stroke=%22#303030%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20id=%22path826%22%20d=%22M64.268%20268.838l45.015-17.115s7.963%2024.296-14.427%2030.38c-22.39%206.086-30.588-13.265-30.588-13.265z%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3Cg%20id=%22layer3%22%3E%3Crect%20ry=%2219.847%22%20y=%223.671%22%20x=%2295.783%22%20height=%22135.189%22%20width=%22135.189%22%20id=%22rect845%22%20fill=%22#55acee%22%20stroke=%22#303030%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3C/g%3E%3Cg%20id=%22layer4%22%3E%3Cpath%20id=%22path7-6%22%20d=%22M172.724%2052.533V27.647h-9.888L144.047%2037.7l2.308%208.9%2014.833-8.076h.33v74.824H172.724V52.533z%22%20class=%22st2%22%20fill=%22#303030%22%20stroke-width=%2214.425%22/%3E%3C/g%3E%3C/g%3E%3Cg%20id=%22g992-5-7%22%20transform=%22matrix(3.23542%200%200%203.23542%20-57.653%2011.124)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20id=%22path992-2-62-5%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20id=%22path1773-2-3-1-8-9-9-3%22%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "046501b8-4427-4d4d-af97-7fe807774f33", "type": "basic.input", "data": { "name": "", - "range": "[27:0]", - "clock": false, - "size": 28 + "clock": true }, "position": { - "x": -648, - "y": -24 + "x": 408, + "y": -72 } }, { - "id": "a7cd6890-7130-4f25-9966-b5ca1132d597", + "id": "05f62e09-33f9-435f-8355-d4529a75ab42", "type": "basic.inputLabel", "data": { - "name": "b0", - "range": "[7:0]", - "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia" + "name": "clk", + "blockColor": "yellow" }, "position": { - "x": -312, - "y": -8 + "x": 552, + "y": -72 } }, { - "id": "7d042e3c-08e0-4027-ba97-6f6143ac0b7e", - "type": "basic.outputLabel", + "id": "0d991cee-b329-439b-b9e7-5712d2db539d", + "type": "basic.output", "data": { - "name": "a0", - "range": "[7:0]", - "blockColor": "deeppink", - "size": 8 + "name": "state" }, "position": { - "x": 240, - "y": 56 + "x": 960, + "y": 8 } }, { - "id": "7114cf32-af2c-438f-b816-1043a8bd819d", - "type": "basic.outputLabel", + "id": "89a5da53-cc8b-4099-a5e3-b9cf281619b1", + "type": "basic.output", "data": { - "name": "b0", - "range": "[7:0]", - "blockColor": "fuchsia", - "size": 8 + "name": "rst" }, "position": { - "x": 240, + "x": 960, "y": 120 } }, { - "id": "64c3574b-3227-40ab-ab03-c2e2af710a45", - "type": "cb23aa3d8a3e95bd194fd9ec9b9c40b36595d893", - "position": { - "x": 408, - "y": 72 + "id": "a83c9acd-2e13-413d-907f-7231924811d8", + "type": "basic.outputLabel", + "data": { + "name": "clk", + "blockColor": "yellow" }, - "size": { - "width": 96, - "height": 64 + "position": { + "x": 448, + "y": 216 } }, { - "id": "0857be54-1eea-4619-841f-b1bb49aa66d0", - "type": "c3c498191b14e9288a85fa2871b3966665f75475", - "position": { - "x": 576, - "y": -72 + "id": "2b16f62c-39ef-4e1c-aa83-f0d248bfecc8", + "type": "basic.outputLabel", + "data": { + "name": "clk", + "blockColor": "yellow" }, - "size": { - "width": 96, - "height": 96 + "position": { + "x": 800, + "y": 216 } }, { - "id": "17bd7ef3-6604-48a9-9c2e-50a8be908636", - "type": "8cc49c9b29485f2cfeab6064d7bb1cf9ced045b1", - "position": { - "x": 816, - "y": -16 + "id": "aefe9248-3b3d-441b-9e65-33cda65b99dd", + "type": "basic.output", + "data": { + "name": "on" }, - "size": { - "width": 96, - "height": 64 + "position": { + "x": 1088, + "y": 288 } }, { - "id": "dcab5da0-fe7e-4131-af28-829e18fbb525", - "type": "c3c498191b14e9288a85fa2871b3966665f75475", + "id": "88176871-35ac-42bf-bf62-36c81a4b4b47", + "type": "basic.input", + "data": { + "name": "start", + "clock": false + }, "position": { - "x": 760, - "y": -264 + "x": 424, + "y": 288 + } + }, + { + "id": "ba15eacb-1e03-4580-932b-3231703481e5", + "type": "basic.input", + "data": { + "name": "stop", + "clock": false }, - "size": { - "width": 96, - "height": 96 + "position": { + "x": 424, + "y": 352 } }, { - "id": "c047f19d-fd2f-4cf6-a055-3b4ae336688a", - "type": "a52e3be3d374c081062b542fc91c5cb1be726cb8", + "id": "00a49b33-7325-4584-86d5-fbf8c73a8fab", + "type": "basic.outputLabel", + "data": { + "name": "clk", + "blockColor": "yellow" + }, "position": { - "x": 992, - "y": -112 + "x": 808, + "y": 368 + } + }, + { + "id": "3802390d-8417-4369-b93c-dda647ccb0c6", + "type": "basic.output", + "data": { + "name": "off" }, - "size": { - "width": 96, - "height": 64 + "position": { + "x": 1080, + "y": 440 } }, { - "id": "542e4400-133f-43a1-bed0-bac46478fd7b", - "type": "2db4d243dd03a8574fd42a0998d5f90be5caec10", + "id": "de860182-e038-4198-b4a4-505dd7a6fa9e", + "type": "35f267d0df6ffcb7fc33753bc9df9cf083642cca", "position": { - "x": -488, - "y": -24 + "x": 736, + "y": 120 }, "size": { "width": 96, @@ -23223,83 +18473,99 @@ } }, { - "id": "f409a567-3cb6-48b9-a1c2-102b4cbe30e4", - "type": "2db4d243dd03a8574fd42a0998d5f90be5caec10", + "id": "42f19387-aa1f-4514-88aa-adca9bf9f03b", + "type": "basic.info", + "data": { + "info": "**Tic de apagado**", + "readonly": true + }, "position": { - "x": -504, - "y": -416 + "x": 1080, + "y": 424 }, "size": { - "width": 96, - "height": 64 + "width": 168, + "height": 40 } }, { - "id": "7a01bae3-8842-4934-b4d1-c504077cf8e9", - "type": "0f6c392fd18934000cbfa24f7cb7eab931e7c1b2", + "id": "eaab4880-4c6d-422f-a8ab-c06e579aa7c6", + "type": "basic.info", + "data": { + "info": "**Tic de encendido**", + "readonly": true + }, "position": { - "x": -312, - "y": -96 + "x": 1080, + "y": 272 }, "size": { - "width": 96, - "height": 64 + "width": 168, + "height": 40 } }, { - "id": "f265e84a-a015-4a71-84d4-51208b7f459d", - "type": "c97ea62c7e57797474a81bca730a1b2bec259617", + "id": "4e85996b-c40e-4f84-bfbc-ff87d4bc425d", + "type": "basic.info", + "data": { + "info": "**Inicializar**", + "readonly": true + }, "position": { - "x": -128, - "y": -128 + "x": 968, + "y": 96 }, "size": { - "width": 96, - "height": 64 + "width": 168, + "height": 40 } }, { - "id": "30d9e6c9-692a-4021-89de-c9a2c12e7f76", - "type": "0f6c392fd18934000cbfa24f7cb7eab931e7c1b2", + "id": "130f81c9-ce87-47a8-b393-762b31a724fc", + "type": "basic.info", + "data": { + "info": "**Estado de la máquina**", + "readonly": true + }, "position": { - "x": -304, - "y": -432 + "x": 936, + "y": -16 }, "size": { - "width": 96, - "height": 64 + "width": 168, + "height": 40 } }, { - "id": "3b84f8ba-f678-4338-be85-c745150168a4", - "type": "c97ea62c7e57797474a81bca730a1b2bec259617", + "id": "676afc2b-c0b0-4829-b192-7e64dde3d21d", + "type": "ef27646a2ca3d9f1e7811dac0fd909719b5affe1", "position": { - "x": -112, - "y": -448 + "x": 600, + "y": 272 }, "size": { "width": 96, - "height": 64 + "height": 96 } }, { - "id": "1e66693a-ca98-48ad-93cd-9aa429d9ef2e", - "type": "a1ce303b8ce47a06371ea4641c81460f34a1cca9", + "id": "1c4e8a3b-13ab-4364-9a0e-820f6a31ab95", + "type": "ae13be3e513e7cb48d47d3fb3aa840dd85dc1f5e", "position": { - "x": 952, - "y": -376 + "x": 928, + "y": 272 }, "size": { "width": 96, - "height": 96 + "height": 64 } }, { - "id": "e8cbb789-ee59-4a99-901e-f5bafe635bc0", - "type": "ce38dc5eab555d38058730d56bf27972e5cbb202", + "id": "4deefcf0-477f-40e1-af35-6e99a039cea8", + "type": "3ae3bbe36b39edd47bc66dd6290af6cb6c47fa47", "position": { - "x": 1160, - "y": -320 + "x": 944, + "y": 424 }, "size": { "width": 96, @@ -23310,3299 +18576,3688 @@ "wires": [ { "source": { - "block": "542e4400-133f-43a1-bed0-bac46478fd7b", - "port": "b7518758-d519-431e-a19d-4a1197635efa", - "size": 8 + "block": "046501b8-4427-4d4d-af97-7fe807774f33", + "port": "out" }, "target": { - "block": "a7cd6890-7130-4f25-9966-b5ca1132d597", + "block": "05f62e09-33f9-435f-8355-d4529a75ab42", "port": "inlabel" - }, - "size": 8 - }, - { - "source": { - "block": "7114cf32-af2c-438f-b816-1043a8bd819d", - "port": "outlabel" - }, - "target": { - "block": "64c3574b-3227-40ab-ab03-c2e2af710a45", - "port": "63477487-9493-4058-a7e1-9bab443ec466", - "size": 8 - }, - "size": 8 + } }, { "source": { - "block": "7d042e3c-08e0-4027-ba97-6f6143ac0b7e", + "block": "a83c9acd-2e13-413d-907f-7231924811d8", "port": "outlabel" }, "target": { - "block": "64c3574b-3227-40ab-ab03-c2e2af710a45", - "port": "b4b08c4b-8eb1-4cd3-a1bf-a45bf7177ed3", - "size": 8 - }, - "size": 8 + "block": "676afc2b-c0b0-4829-b192-7e64dde3d21d", + "port": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6" + } }, { "source": { - "block": "4f2c77a9-f54e-4c7e-b1b8-d1739ea521c7", + "block": "2b16f62c-39ef-4e1c-aa83-f0d248bfecc8", "port": "outlabel" }, "target": { - "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", - "port": "4bf17d89-89b8-4524-800a-2d15f9bbb111", - "size": 8 - }, - "size": 8 + "block": "1c4e8a3b-13ab-4364-9a0e-820f6a31ab95", + "port": "2708468d-1088-4570-be63-fb0d4799a941" + } }, { "source": { - "block": "4743defe-36c0-40a2-aaf0-188272583034", + "block": "00a49b33-7325-4584-86d5-fbf8c73a8fab", "port": "outlabel" }, "target": { - "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", - "port": "3867504b-f331-4e0e-b923-acc86cb4255c", - "size": 8 - }, - "size": 8 + "block": "4deefcf0-477f-40e1-af35-6e99a039cea8", + "port": "2708468d-1088-4570-be63-fb0d4799a941" + } }, { "source": { - "block": "7a01bae3-8842-4934-b4d1-c504077cf8e9", - "port": "b4a2e85c-b31d-4363-be79-79d23492dd85", - "size": 8 + "block": "676afc2b-c0b0-4829-b192-7e64dde3d21d", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "a3761c9e-14ee-47ef-95f0-ddbb132ba6cf", - "port": "inlabel" - }, - "size": 8 + "block": "1c4e8a3b-13ab-4364-9a0e-820f6a31ab95", + "port": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff" + } }, { "source": { - "block": "f409a567-3cb6-48b9-a1c2-102b4cbe30e4", - "port": "b7518758-d519-431e-a19d-4a1197635efa", - "size": 8 + "block": "676afc2b-c0b0-4829-b192-7e64dde3d21d", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "6736a55c-7818-4da9-9c1a-f57200ad2526", - "port": "inlabel" + "block": "0d991cee-b329-439b-b9e7-5712d2db539d", + "port": "in" }, - "size": 8 + "vertices": [ + { + "x": 720, + "y": 144 + } + ] }, { "source": { - "block": "30d9e6c9-692a-4021-89de-c9a2c12e7f76", - "port": "b4a2e85c-b31d-4363-be79-79d23492dd85", - "size": 8 + "block": "676afc2b-c0b0-4829-b192-7e64dde3d21d", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "e2589574-b6cc-4faf-8e69-3d23248bcba2", - "port": "inlabel" - }, - "size": 8 + "block": "de860182-e038-4198-b4a4-505dd7a6fa9e", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } }, { "source": { - "block": "cc858595-88b1-4f0b-baeb-77fdd9a4d7ed", - "port": "outlabel" + "block": "de860182-e038-4198-b4a4-505dd7a6fa9e", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, "target": { - "block": "dcab5da0-fe7e-4131-af28-829e18fbb525", - "port": "3867504b-f331-4e0e-b923-acc86cb4255c", - "size": 8 - }, - "size": 8 + "block": "89a5da53-cc8b-4099-a5e3-b9cf281619b1", + "port": "in" + } }, { "source": { - "block": "8ac0c222-8cbc-4974-bfd2-43f11eb8d8ad", - "port": "outlabel" + "block": "88176871-35ac-42bf-bf62-36c81a4b4b47", + "port": "out" }, "target": { - "block": "dcab5da0-fe7e-4131-af28-829e18fbb525", - "port": "4bf17d89-89b8-4524-800a-2d15f9bbb111", - "size": 8 - }, - "size": 8 + "block": "676afc2b-c0b0-4829-b192-7e64dde3d21d", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + } }, { "source": { - "block": "f265e84a-a015-4a71-84d4-51208b7f459d", - "port": "99e7399f-ce06-4f67-ae35-0b9a6785d60e", - "size": 8 + "block": "ba15eacb-1e03-4580-932b-3231703481e5", + "port": "out" }, "target": { - "block": "389f9a01-b7df-4d16-8f0e-bb14b76997ce", - "port": "inlabel" - }, - "size": 8 + "block": "676afc2b-c0b0-4829-b192-7e64dde3d21d", + "port": "fc243ba8-9abb-4a22-81c4-fabdf043cd01" + } }, { "source": { - "block": "f265e84a-a015-4a71-84d4-51208b7f459d", - "port": "9a0bd20b-0206-4f0e-b07d-e96696b705c5", - "size": 4 + "block": "1c4e8a3b-13ab-4364-9a0e-820f6a31ab95", + "port": "1c25e08e-e664-4fab-9b30-cedc1f8a3739" }, "target": { - "block": "2572197f-6a71-4ac7-927d-f15f5b13beea", - "port": "inlabel" - }, - "size": 4 + "block": "aefe9248-3b3d-441b-9e65-33cda65b99dd", + "port": "in" + } }, { "source": { - "block": "3b84f8ba-f678-4338-be85-c745150168a4", - "port": "99e7399f-ce06-4f67-ae35-0b9a6785d60e", - "size": 8 + "block": "676afc2b-c0b0-4829-b192-7e64dde3d21d", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "235e1fe4-919e-422d-9eb3-dc232e8f9407", - "port": "inlabel" + "block": "4deefcf0-477f-40e1-af35-6e99a039cea8", + "port": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff" }, - "size": 8 + "vertices": [ + { + "x": 744, + "y": 368 + } + ] }, { "source": { - "block": "3b84f8ba-f678-4338-be85-c745150168a4", - "port": "9a0bd20b-0206-4f0e-b07d-e96696b705c5", - "size": 4 + "block": "4deefcf0-477f-40e1-af35-6e99a039cea8", + "port": "1c25e08e-e664-4fab-9b30-cedc1f8a3739" }, "target": { - "block": "9b6d88fa-20b2-4b05-ad2b-c436a4a7f496", - "port": "inlabel" - }, - "size": 4 - }, + "block": "3802390d-8417-4369-b93c-dda647ccb0c6", + "port": "in" + } + } + ] + } + } + }, + "3ae3bbe36b39edd47bc66dd6290af6cb6c47fa47": { + "package": { + "name": "Falling-edge-detector CLONE", + "version": "0.3-c1697559169818", + "description": "Falling-edge detector. It generates a 1-period pulse (tic) when a falling edge is detected on the input", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22185.363%22%20height=%22183.398%22%20viewBox=%220%200%2049.043981%2048.524089%22%3E%3Cg%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M13.478%2032.434l6.026%207.975-5.054%206.03%201.749%201.556m-3.96-15.367l-3.5%207.976-7.97%201.555.583%202.529%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%221.058%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M12.773%201.984v29.943%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%223.969%22/%3E%3Cpath%20d=%22M1.984%2022.176l10.689%2010.452%2010.35-10.452%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%223.969%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22matrix(.842%200%200%20.842%20-48.178%20-26.157)%22%20stroke=%22green%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ { - "source": { - "block": "eff7351f-52a9-408d-b237-2d3ee93120f0", - "port": "outlabel" - }, - "target": { - "block": "1e66693a-ca98-48ad-93cd-9aa429d9ef2e", - "port": "d192d0af-e7be-4be6-925a-50227d80784c", - "size": 4 + "id": "2b563f82-937a-4a8e-92c0-d29e947d1cac", + "type": "basic.output", + "data": { + "name": "nc" }, - "size": 4 + "position": { + "x": 712, + "y": 56 + } }, { - "source": { - "block": "55631885-7de8-4477-9ac1-9efd76c180e0", - "port": "outlabel" - }, - "target": { - "block": "1e66693a-ca98-48ad-93cd-9aa429d9ef2e", - "port": "c2d36218-be99-4dd1-bf69-7690c667255b", - "size": 4 + "id": "2708468d-1088-4570-be63-fb0d4799a941", + "type": "basic.input", + "data": { + "name": "", + "clock": true }, - "size": 4 + "position": { + "x": 88, + "y": 152 + } }, { - "source": { - "block": "64c3574b-3227-40ab-ab03-c2e2af710a45", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "id": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", + "type": "basic.input", + "data": { + "name": "", + "clock": false }, - "target": { - "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", - "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" + "position": { + "x": 88, + "y": 280 } }, { - "source": { - "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", - "port": "9daaaf78-5a89-4d4a-a1b2-db1d3af962f1" - }, - "target": { - "block": "17bd7ef3-6604-48a9-9c2e-50a8be908636", - "port": "5a35cd57-1006-4f6d-b263-5b977e9ef142" + "id": "1c25e08e-e664-4fab-9b30-cedc1f8a3739", + "type": "basic.output", + "data": { + "name": "" }, - "size": 8 + "position": { + "x": 688, + "y": 296 + } }, { - "source": { - "block": "64c3574b-3227-40ab-ab03-c2e2af710a45", - "port": "dc2d9a2c-9ee9-4985-a678-d88c89fd8b74" + "id": "49c0a94e-2687-4aa4-8cba-327b2942095f", + "type": "basic.info", + "data": { + "info": "## Falling edge detector\n\nIt generates a 1-period pulse (tic) when a falling edge is detected on the \ninput signal", + "readonly": true }, - "target": { - "block": "17bd7ef3-6604-48a9-9c2e-50a8be908636", - "port": "38fdb02d-4323-4a34-9ffe-8385f844b660" + "position": { + "x": 104, + "y": -40 }, - "size": 8 + "size": { + "width": 568, + "height": 80 + } }, { - "source": { - "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "id": "a6ea5e17-d259-4272-8d1c-87a6a7fe3235", + "type": "basic.info", + "data": { + "info": "Input signal", + "readonly": true }, - "target": { - "block": "dcab5da0-fe7e-4131-af28-829e18fbb525", - "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" + "position": { + "x": 96, + "y": 256 + }, + "size": { + "width": 136, + "height": 40 } }, { - "source": { - "block": "17bd7ef3-6604-48a9-9c2e-50a8be908636", - "port": "79c56f9a-597f-491e-b1d1-d321f63303c2" + "id": "d0d6c668-3c03-42f5-9244-9a0431f11a87", + "type": "basic.info", + "data": { + "info": "System clock", + "readonly": true }, - "target": { - "block": "c047f19d-fd2f-4cf6-a055-3b4ae336688a", - "port": "c4ca0e6a-6557-45ee-8363-1bffebaad486" + "position": { + "x": 104, + "y": 120 }, - "size": 16 + "size": { + "width": 96, + "height": 48 + } }, { - "source": { - "block": "dcab5da0-fe7e-4131-af28-829e18fbb525", - "port": "9daaaf78-5a89-4d4a-a1b2-db1d3af962f1" + "id": "f18011f4-eb45-4f91-9716-c1d8c99f1845", + "type": "basic.info", + "data": { + "info": "Current signal \nstate", + "readonly": true }, - "target": { - "block": "c047f19d-fd2f-4cf6-a055-3b4ae336688a", - "port": "29a44a77-ec20-436d-a9e8-7fc2ca5de57e" + "position": { + "x": 192, + "y": 368 }, - "size": 8 + "size": { + "width": 168, + "height": 48 + } }, { - "source": { - "block": "aa5f2a99-2abd-495d-9405-ae0bc7644cfc", - "port": "out" + "id": "ab801839-c115-4e44-adb7-349586890b97", + "type": "basic.info", + "data": { + "info": "Signal state in the previous \nclock cycle", + "readonly": true }, - "target": { - "block": "542e4400-133f-43a1-bed0-bac46478fd7b", - "port": "8dc63d68-e086-4db8-a819-610111258e7d" + "position": { + "x": 328, + "y": 200 }, - "size": 28 + "size": { + "width": 248, + "height": 48 + } }, { - "source": { - "block": "438a6c29-77ff-4ef2-b963-1ddcfd48245d", - "port": "out" + "id": "fde5c436-d382-48e7-80b5-390c05f46b9d", + "type": "basic.info", + "data": { + "info": "If the current signal is 0 and its value in \nthe previous clock cycle was 1, it means \nthat a falling edge has been detected! \nThe output es 1\n\nIn any other case the output is 0", + "readonly": true }, - "target": { - "block": "f409a567-3cb6-48b9-a1c2-102b4cbe30e4", - "port": "8dc63d68-e086-4db8-a819-610111258e7d" + "position": { + "x": 560, + "y": 136 }, - "size": 28 + "size": { + "width": 344, + "height": 96 + } }, { - "source": { - "block": "542e4400-133f-43a1-bed0-bac46478fd7b", - "port": "e670e20a-36c4-4196-8e52-26e59367c270" + "id": "c3990bfd-57a6-4602-ab46-800486326dd6", + "type": "basic.info", + "data": { + "info": "**Delay**: 0 clock cycles \n\nThere is no delay between the arrival of a falling edge \nand its detection", + "readonly": true }, - "target": { - "block": "7a01bae3-8842-4934-b4d1-c504077cf8e9", - "port": "6a8347bb-e6ee-494a-87c8-277445460362" + "position": { + "x": 224, + "y": 488 }, - "size": 20 + "size": { + "width": 416, + "height": 88 + } }, { - "source": { - "block": "7a01bae3-8842-4934-b4d1-c504077cf8e9", - "port": "865e30d6-1832-4a16-a2b5-6bf334df5cf4" - }, - "target": { - "block": "f265e84a-a015-4a71-84d4-51208b7f459d", - "port": "46011ec6-127b-4e6b-83ca-aed5b18ae4d0" + "id": "cb3c75b7-aa35-448f-bd35-28e6df0c68f3", + "type": "ba518ee261a2be13a9739cd3a01cdcebe0ef63c0", + "position": { + "x": 544, + "y": 296 }, - "size": 12 + "size": { + "width": 96, + "height": 64 + } }, { - "source": { - "block": "f409a567-3cb6-48b9-a1c2-102b4cbe30e4", - "port": "e670e20a-36c4-4196-8e52-26e59367c270" - }, - "target": { - "block": "30d9e6c9-692a-4021-89de-c9a2c12e7f76", - "port": "6a8347bb-e6ee-494a-87c8-277445460362" + "id": "ffe5388b-d5a9-4c10-a091-472e212b4945", + "type": "3676a00f3a70e406487ed14b901daf3e4984e63d", + "position": { + "x": 312, + "y": 400 }, - "size": 20 + "size": { + "width": 96, + "height": 64 + } }, + { + "id": "2d9bc250-6e26-46b7-b580-18a611e9a27f", + "type": "58ed2b5c7e33e2f215ccba6c101d9ea4ff60f284", + "position": { + "x": 320, + "y": 264 + }, + "size": { + "width": 96, + "height": 64 + } + } + ], + "wires": [ { "source": { - "block": "30d9e6c9-692a-4021-89de-c9a2c12e7f76", - "port": "865e30d6-1832-4a16-a2b5-6bf334df5cf4" + "block": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", + "port": "out" }, "target": { - "block": "3b84f8ba-f678-4338-be85-c745150168a4", - "port": "46011ec6-127b-4e6b-83ca-aed5b18ae4d0" - }, - "size": 12 + "block": "2d9bc250-6e26-46b7-b580-18a611e9a27f", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + } }, { "source": { - "block": "dcab5da0-fe7e-4131-af28-829e18fbb525", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "block": "2708468d-1088-4570-be63-fb0d4799a941", + "port": "out" }, "target": { - "block": "1e66693a-ca98-48ad-93cd-9aa429d9ef2e", - "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" + "block": "2d9bc250-6e26-46b7-b580-18a611e9a27f", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" } }, { "source": { - "block": "c047f19d-fd2f-4cf6-a055-3b4ae336688a", - "port": "756c8eb7-3567-48b4-9757-fe992499b794" + "block": "cb3c75b7-aa35-448f-bd35-28e6df0c68f3", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, "target": { - "block": "e8cbb789-ee59-4a99-901e-f5bafe635bc0", - "port": "3b957f7a-e94e-490f-8313-231ef9f2bdae" - }, - "size": 24 + "block": "1c25e08e-e664-4fab-9b30-cedc1f8a3739", + "port": "in" + } }, { "source": { - "block": "1e66693a-ca98-48ad-93cd-9aa429d9ef2e", - "port": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42" + "block": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", + "port": "out" }, "target": { - "block": "e8cbb789-ee59-4a99-901e-f5bafe635bc0", - "port": "3a4ce56b-73a3-44ea-9cdb-fc2b3c62fb05" - }, - "size": 4 + "block": "ffe5388b-d5a9-4c10-a091-472e212b4945", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } }, { "source": { - "block": "1e66693a-ca98-48ad-93cd-9aa429d9ef2e", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "block": "2d9bc250-6e26-46b7-b580-18a611e9a27f", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" }, "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "port": "in" + "block": "cb3c75b7-aa35-448f-bd35-28e6df0c68f3", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" } }, { "source": { - "block": "e8cbb789-ee59-4a99-901e-f5bafe635bc0", - "port": "c2b47079-3d57-467d-88eb-3c00fb497103" + "block": "ffe5388b-d5a9-4c10-a091-472e212b4945", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, "target": { - "block": "232dad32-f470-4b1f-a92c-bf32f47a29d6", - "port": "in" - }, - "size": 28 + "block": "cb3c75b7-aa35-448f-bd35-28e6df0c68f3", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + } } ] } } }, - "cb23aa3d8a3e95bd194fd9ec9b9c40b36595d893": { + "bf21f4d270a776c39e0c3763ffe9253d8f25e93d": { "package": { - "name": "Adder-8bits", - "version": "0.1", - "description": "Adder-8bits: Adder of two operands of 8 bits", + "name": "14-Reg-rst", + "version": "0.8", + "description": "14-Reg-rst: 14 bits Register with reset. Verilog implementation", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", - "otid": 1618560481898 + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22286.865%22%20height=%22270.812%22%20viewBox=%220%200%2075.899794%2071.65232%22%3E%3Cpath%20d=%22M43.907%2033.607h10.645%22%20color=%22#000%22%20fill=%22#00f%22/%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M102.876%20163.95l4.552%2028.037%205.644-28.037%22%20fill=%22#ccc%22%20transform=%22matrix(.65581%20-.3791%20.37863%20.6566%20-85.712%20-27.533)%22/%3E%3Cpath%20d=%22M99.758%20149.859l2.39-28.512h-9.831v-5.462h31.86v5.462h-9.284l1.724%2028.769s7.509%201.248%209.269%206.48c1.76%205.231-.367%207.286.15%207.36l-36.077-.044s-.817-6.104%202.015-9.194c2.832-3.09%207.784-4.86%207.784-4.86z%22%20fill=%22red%22%20transform=%22matrix(.65581%20-.3791%20.37863%20.6566%20-85.712%20-27.533)%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M102.876%20163.95l4.552%2028.037%205.644-28.037%22%20fill=%22#ccc%22%20transform=%22matrix(.65581%20-.3791%20.37863%20.6566%20-69.38%20-28.47)%22/%3E%3Cpath%20d=%22M99.758%20149.859l2.39-28.512h-9.831v-5.462h31.86v5.462h-9.284l1.724%2028.769s7.509%201.248%209.269%206.48c1.76%205.231-.367%207.286.15%207.36l-36.077-.044s-.817-6.104%202.015-9.194c2.832-3.09%207.784-4.86%207.784-4.86z%22%20fill=%22red%22%20transform=%22matrix(.65581%20-.3791%20.37863%20.6566%20-69.38%20-28.47)%22/%3E%3C/g%3E%3Cg%20transform=%22translate(-93.518%20-25.072)%20scale(1.09073)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20cx=%22100.602%22%20cy=%2273.815%22%20r=%2214.559%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618509859237 }, "design": { "graph": { "blocks": [ { - "id": "1c85838b-e269-4a65-a112-0a1bbca9b2a1", - "type": "basic.inputLabel", + "id": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": 560, + "y": 64 + } + }, + { + "id": "36fccd77-8921-45ec-b4f9-9dd209acaefa", + "type": "basic.output", "data": { - "name": "a1", - "range": "[3:0]", - "pins": [ - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia", - "blockColor": "deeppink" + "name": "nc" }, "position": { - "x": 16, - "y": -688 + "x": 1184, + "y": 72 } }, { - "id": "d01b9c0c-a541-49e6-b5aa-a0c0f21612a0", - "type": "basic.outputLabel", + "id": "93c58f23-2a4f-40ba-8cc1-80e434606d4e", + "type": "basic.output", "data": { - "name": "a1", - "range": "[3:0]", - "oldBlockColor": "fuchsia", - "blockColor": "deeppink", - "size": 4 + "name": "nc" }, "position": { - "x": 352, - "y": -664 + "x": 1184, + "y": 144 } }, { - "id": "b4b08c4b-8eb1-4cd3-a1bf-a45bf7177ed3", + "id": "c97f7411-94ef-4d63-ba23-ce596ebcbb25", "type": "basic.input", "data": { - "name": "", - "range": "[7:0]", - "clock": false, - "size": 8 + "name": "rst", + "clock": false }, "position": { - "x": -312, - "y": -632 + "x": 560, + "y": 168 } }, { - "id": "f3b83846-5723-40b3-a598-fd21797f7ce1", - "type": "basic.inputLabel", + "id": "521f03e5-f364-41b0-a2b8-c7858e6debf5", + "type": "basic.output", "data": { - "name": "a0", - "range": "[3:0]", - "pins": [ - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia", - "blockColor": "deeppink" + "name": "", + "range": "[13:0]", + "size": 14 }, "position": { - "x": 16, - "y": -616 + "x": 1184, + "y": 224 } }, { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "type": "basic.output", + "id": "e699a6f3-fd6f-49dc-a8d3-d35853cb8e6b", + "type": "basic.input", "data": { - "name": "c" + "name": "", + "range": "[13:0]", + "clock": false, + "size": 14 }, "position": { - "x": 960, - "y": -608 + "x": 560, + "y": 272 } }, { - "id": "fb36b075-bb31-4aa7-8dbd-f0d108126f21", - "type": "basic.outputLabel", + "id": "f1022de4-0225-43d7-92d3-451161ee6942", + "type": "basic.input", "data": { - "name": "b1", - "range": "[3:0]", - "blockColor": "fuchsia", - "size": 4 + "name": "load", + "clock": false }, "position": { - "x": 352, - "y": -584 + "x": 560, + "y": 376 } }, { - "id": "dc2d9a2c-9ee9-4985-a678-d88c89fd8b74", + "id": "9544d010-d8ad-4946-b068-6b9273721873", "type": "basic.output", "data": { - "name": "s", - "range": "[7:0]", - "size": 8 + "name": "nc" }, "position": { - "x": 960, - "y": -544 + "x": 1184, + "y": 376 } }, { - "id": "6de2e227-2992-41fb-a52e-16e86632cd2c", - "type": "basic.outputLabel", + "id": "d9020031-ade2-47d0-bca0-4b88fe7eaebd", + "type": "basic.constant", "data": { - "name": "a0", - "range": "[3:0]", - "oldBlockColor": "fuchsia", - "blockColor": "deeppink", - "size": 4 + "name": "", + "value": "0", + "local": false }, "position": { - "x": 184, - "y": -472 + "x": 864, + "y": -80 } }, { - "id": "d5b2605b-a224-4d60-896b-d1553fd943e1", - "type": "basic.inputLabel", + "id": "2947d492-028d-487a-83fa-b2f84a2e2d2f", + "type": "basic.code", "data": { - "name": "b1", - "range": "[3:0]", - "pins": [ - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "rst" + }, + { + "name": "d", + "range": "[13:0]", + "size": 14 + }, + { + "name": "load" + } + ], + "out": [ + { + "name": "q", + "range": "[13:0]", + "size": 14 + } + ] + }, + "params": [ { - "index": "0", - "name": "", - "value": "" + "name": "INI" } ], - "virtual": true, - "blockColor": "fuchsia" + "code": "//-- Generic register with reset\n//-- Number of bits\nlocalparam N = 14;\n\n//-- Initial value\nreg [N-1:0] qi = INI;\n\nalways @(posedge clk)\nbegin\n\n //-- Reset has the priority\n if (rst == 1'b1)\n qi <= INI;\n \n else\n //-- The value is load only if \n //-- load is 1\n if (load == 1'b1)\n qi <= d;\n \n //-- In any other case the reg\n //-- keeps its value\nend\n\n//-- Connect the register with the\n//-- output\nassign q = qi;\n" }, "position": { - "x": 8, - "y": -440 + "x": 720, + "y": 40 + }, + "size": { + "width": 376, + "height": 424 + } + } + ], + "wires": [ + { + "source": { + "block": "d9020031-ade2-47d0-bca0-4b88fe7eaebd", + "port": "constant-out" + }, + "target": { + "block": "2947d492-028d-487a-83fa-b2f84a2e2d2f", + "port": "INI" + }, + "vertices": [] + }, + { + "source": { + "block": "2947d492-028d-487a-83fa-b2f84a2e2d2f", + "port": "q" + }, + "target": { + "block": "521f03e5-f364-41b0-a2b8-c7858e6debf5", + "port": "in" + }, + "size": 14 + }, + { + "source": { + "block": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", + "port": "out" + }, + "target": { + "block": "2947d492-028d-487a-83fa-b2f84a2e2d2f", + "port": "clk" + } + }, + { + "source": { + "block": "e699a6f3-fd6f-49dc-a8d3-d35853cb8e6b", + "port": "out" + }, + "target": { + "block": "2947d492-028d-487a-83fa-b2f84a2e2d2f", + "port": "d" + }, + "size": 14 + }, + { + "source": { + "block": "c97f7411-94ef-4d63-ba23-ce596ebcbb25", + "port": "out" + }, + "target": { + "block": "2947d492-028d-487a-83fa-b2f84a2e2d2f", + "port": "rst" } }, { - "id": "e3beef79-c05d-4705-8dbc-de5b7b94941a", - "type": "basic.outputLabel", + "source": { + "block": "f1022de4-0225-43d7-92d3-451161ee6942", + "port": "out" + }, + "target": { + "block": "2947d492-028d-487a-83fa-b2f84a2e2d2f", + "port": "load" + } + } + ] + } + } + }, + "5ba0990b1cafb42a483bf845663b1bce6cbfa43b": { + "package": { + "name": "AdderK-14bits", + "version": "0.6", + "description": "AdderK-14bit: Adder of 14-bit operand and 14-bit constant", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618560481898 + }, + "design": { + "graph": { + "blocks": [ + { + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", "data": { - "name": "b0", - "range": "[3:0]", - "blockColor": "fuchsia", - "size": 4 + "name": "c" }, "position": { - "x": 184, - "y": -408 + "x": 952, + "y": -344 } }, { - "id": "63477487-9493-4058-a7e1-9bab443ec466", + "id": "ccf244b8-cc65-453c-a958-19a3768f7007", "type": "basic.input", "data": { "name": "", - "range": "[7:0]", + "range": "[13:0]", "clock": false, - "size": 8 + "size": 14 }, "position": { - "x": -320, - "y": -384 + "x": 384, + "y": -288 } }, { - "id": "df32424c-55e8-45ed-9adc-3d8bb146e3e0", - "type": "basic.inputLabel", + "id": "097a6fa5-5366-4605-952c-dcc1425e255c", + "type": "basic.output", "data": { - "name": "b0", - "range": "[3:0]", - "pins": [ - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia" + "name": "s", + "range": "[13:0]", + "size": 14 }, "position": { - "x": 8, - "y": -368 - } - }, - { - "id": "6781108b-d67f-4ee8-97a9-79bab2c400b1", - "type": "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a", - "position": { - "x": -168, - "y": -384 - }, - "size": { - "width": 96, - "height": 64 + "x": 952, + "y": -232 } }, { - "id": "ffcdd533-6cad-4ba4-9f88-4b1030d78af8", - "type": "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a", - "position": { - "x": -152, - "y": -632 + "id": "e728fdca-755f-4f2d-98e7-0716b1c5258f", + "type": "basic.constant", + "data": { + "name": "", + "value": "0", + "local": false }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "7b82019f-c8a7-4b8c-baa1-6eb224a95cb2", - "type": "25966b9480fc28011aea0e17452c30d5ff9d76e8", "position": { - "x": 352, - "y": -456 - }, - "size": { - "width": 96, - "height": 64 + "x": 680, + "y": -472 } }, { - "id": "b8a72421-dc14-4c18-b343-9c3516b37f54", - "type": "afb28fd5426aea14477d11cbe30a290679f789f8", - "position": { - "x": 760, - "y": -544 + "id": "2ad3d9b5-c810-4c17-b74b-9fc432126626", + "type": "basic.code", + "data": { + "ports": { + "in": [ + { + "name": "a", + "range": "[13:0]", + "size": 14 + } + ], + "out": [ + { + "name": "c" + }, + { + "name": "s", + "range": "[13:0]", + "size": 14 + } + ] + }, + "params": [ + { + "name": "k" + } + ], + "code": "//-- Number of bits\nlocalparam N = 14;\n\n//-- Temporal cable with N+1 bits\nwire [N:0] temp;\n\nwire [N-1:0] b = k;\nassign temp = {1'b0, a} + {1'b0, b};\nassign s = temp[N-1:0];\nassign c = temp[N];" }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", - "type": "a1ce303b8ce47a06371ea4641c81460f34a1cca9", "position": { - "x": 520, - "y": -600 + "x": 560, + "y": -368 }, "size": { - "width": 96, - "height": 96 + "width": 336, + "height": 224 } } ], "wires": [ { "source": { - "block": "6781108b-d67f-4ee8-97a9-79bab2c400b1", - "port": "eb61d084-ca22-4894-b8a2-f936db38f4b1", - "size": 4 - }, - "target": { - "block": "df32424c-55e8-45ed-9adc-3d8bb146e3e0", - "port": "inlabel" - }, - "size": 4 - }, - { - "source": { - "block": "6781108b-d67f-4ee8-97a9-79bab2c400b1", - "port": "637e64f4-0a6b-4037-9a75-89397e078a58", - "size": 4 - }, - "target": { - "block": "d5b2605b-a224-4d60-896b-d1553fd943e1", - "port": "inlabel" - }, - "size": 4 - }, - { - "source": { - "block": "ffcdd533-6cad-4ba4-9f88-4b1030d78af8", - "port": "637e64f4-0a6b-4037-9a75-89397e078a58", - "size": 4 + "block": "2ad3d9b5-c810-4c17-b74b-9fc432126626", + "port": "c" }, "target": { - "block": "1c85838b-e269-4a65-a112-0a1bbca9b2a1", - "port": "inlabel" - }, - "size": 4 + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" + } }, { "source": { - "block": "ffcdd533-6cad-4ba4-9f88-4b1030d78af8", - "port": "eb61d084-ca22-4894-b8a2-f936db38f4b1", - "size": 4 + "block": "e728fdca-755f-4f2d-98e7-0716b1c5258f", + "port": "constant-out" }, "target": { - "block": "f3b83846-5723-40b3-a598-fd21797f7ce1", - "port": "inlabel" - }, - "size": 4 + "block": "2ad3d9b5-c810-4c17-b74b-9fc432126626", + "port": "k" + } }, { "source": { - "block": "e3beef79-c05d-4705-8dbc-de5b7b94941a", - "port": "outlabel" + "block": "2ad3d9b5-c810-4c17-b74b-9fc432126626", + "port": "s" }, "target": { - "block": "7b82019f-c8a7-4b8c-baa1-6eb224a95cb2", - "port": "d192d0af-e7be-4be6-925a-50227d80784c", - "size": 4 + "block": "097a6fa5-5366-4605-952c-dcc1425e255c", + "port": "in" }, - "size": 4 + "size": 14 }, { "source": { - "block": "6de2e227-2992-41fb-a52e-16e86632cd2c", - "port": "outlabel" + "block": "ccf244b8-cc65-453c-a958-19a3768f7007", + "port": "out" }, "target": { - "block": "7b82019f-c8a7-4b8c-baa1-6eb224a95cb2", - "port": "c2d36218-be99-4dd1-bf69-7690c667255b", - "size": 4 + "block": "2ad3d9b5-c810-4c17-b74b-9fc432126626", + "port": "a" }, - "size": 4 - }, + "size": 14 + } + ] + } + } + }, + "c98ba9d3bd2afa5c5dc32f623ae81a9df5d211b3": { + "package": { + "name": "comp2-14bits", + "version": "0.2", + "description": "Comp2-14bit: Comparator of two 14-bit numbers", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22312.756%22%20height=%22168.82%22%20viewBox=%220%200%20293.20803%20158.26888%22%3E%3Cg%20font-weight=%22400%22%20letter-spacing=%220%22%20word-spacing=%220%22%20font-family=%22sans-serif%22%20stroke-width=%22.057%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M0%200h293.209v53.747H-.001zm0%20104.064h293.209v54.205H-.001z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20font-size=%2296.3%22%20fill=%22#00f%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E", + "otid": 1618594740929 + }, + "design": { + "graph": { + "blocks": [ { - "source": { - "block": "fb36b075-bb31-4aa7-8dbd-f0d108126f21", - "port": "outlabel" - }, - "target": { - "block": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", - "port": "d192d0af-e7be-4be6-925a-50227d80784c", - "size": 4 + "id": "a42068b6-dc74-4537-869c-d20ea32059b0", + "type": "basic.input", + "data": { + "name": "", + "range": "[13:0]", + "clock": false, + "size": 14 }, - "size": 4 + "position": { + "x": 368, + "y": 56 + } }, { - "source": { - "block": "d01b9c0c-a541-49e6-b5aa-a0c0f21612a0", - "port": "outlabel" + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", + "data": { + "name": "" }, - "target": { - "block": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", - "port": "c2d36218-be99-4dd1-bf69-7690c667255b", - "size": 4 + "position": { + "x": 968, + "y": 88 + } + }, + { + "id": "b457d512-6d78-479d-9b18-993a80c00740", + "type": "basic.input", + "data": { + "name": "", + "range": "[13:0]", + "clock": false, + "size": 14 }, - "size": 4 + "position": { + "x": 368, + "y": 176 + } }, { - "source": { - "block": "63477487-9493-4058-a7e1-9bab443ec466", - "port": "out" + "id": "2df886b0-4697-49ce-a8dd-2ffa9ede33a7", + "type": "basic.info", + "data": { + "info": "A", + "readonly": true }, - "target": { - "block": "6781108b-d67f-4ee8-97a9-79bab2c400b1", - "port": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e" + "position": { + "x": 408, + "y": 32 }, - "size": 8 + "size": { + "width": 80, + "height": 32 + } }, { - "source": { - "block": "b4b08c4b-8eb1-4cd3-a1bf-a45bf7177ed3", - "port": "out" + "id": "fa5825ce-289b-4004-84f5-12ee322cae15", + "type": "basic.info", + "data": { + "info": "B", + "readonly": true }, - "target": { - "block": "ffcdd533-6cad-4ba4-9f88-4b1030d78af8", - "port": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e" + "position": { + "x": 408, + "y": 152 }, - "size": 8 + "size": { + "width": 80, + "height": 32 + } }, { - "source": { - "block": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", - "port": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42" + "id": "3e7a13bd-12d9-438b-ac65-f3642c1c2066", + "type": "basic.code", + "data": { + "ports": { + "in": [ + { + "name": "a", + "range": "[13:0]", + "size": 14 + }, + { + "name": "b", + "range": "[13:0]", + "size": 14 + } + ], + "out": [ + { + "name": "o" + } + ] + }, + "params": [], + "code": "assign o = (a == b);" }, - "target": { - "block": "b8a72421-dc14-4c18-b343-9c3516b37f54", - "port": "a1770adf-e143-4506-9d87-3cb9c870f534" + "position": { + "x": 584, + "y": 56 }, - "size": 4 - }, + "size": { + "width": 304, + "height": 128 + } + } + ], + "wires": [ { "source": { - "block": "7b82019f-c8a7-4b8c-baa1-6eb224a95cb2", - "port": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42" + "block": "a42068b6-dc74-4537-869c-d20ea32059b0", + "port": "out" }, "target": { - "block": "b8a72421-dc14-4c18-b343-9c3516b37f54", - "port": "843164ff-f7d8-48b9-bf59-1e0d1135c81f" + "block": "3e7a13bd-12d9-438b-ac65-f3642c1c2066", + "port": "a" }, - "size": 4 + "size": 14 }, { "source": { - "block": "b8a72421-dc14-4c18-b343-9c3516b37f54", - "port": "1269698e-e555-4fcb-a613-cb4c7ff2e598" + "block": "b457d512-6d78-479d-9b18-993a80c00740", + "port": "out" }, "target": { - "block": "dc2d9a2c-9ee9-4985-a678-d88c89fd8b74", - "port": "in" + "block": "3e7a13bd-12d9-438b-ac65-f3642c1c2066", + "port": "b" }, - "size": 8 + "size": 14 }, { "source": { - "block": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "block": "3e7a13bd-12d9-438b-ac65-f3642c1c2066", + "port": "o" }, "target": { "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", "port": "in" } - }, - { - "source": { - "block": "7b82019f-c8a7-4b8c-baa1-6eb224a95cb2", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" - }, - "target": { - "block": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", - "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" - } } ] } } }, - "25966b9480fc28011aea0e17452c30d5ff9d76e8": { + "be366defa772394c264631243c78ced91837ab0f": { "package": { - "name": "Adder-4bits", - "version": "0.1", - "description": "Adder-4bits: Adder of two operands of 4 bits", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", - "otid": 1618560481898 + "name": "14-bits-k-1", + "version": "0.0.3", + "description": "Generic: 14-bits k-1 constant (Input values: 1,2,...,). It returns the value input by the user minus 1. Outputs: 0,1,2,...,4095", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20width=%22379.943%22%20height=%22248.129%22%20viewBox=%220%200%20356.19654%20232.62089%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20fill=%22green%22%3E%3Cg%20style=%22line-height:0%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%3E%3Cpath%20d=%22M56.012%20146.905q9.055%206.708%2020.459%2017.105%2011.404%2010.062%2022.472%2021.801%2011.403%2011.739%2021.465%2024.149%2010.062%2012.074%2016.1%2022.471h-32.87q-6.372-10.397-15.763-21.13-9.392-11.068-20.124-21.13-10.398-10.062-21.13-18.447-10.398-8.385-18.783-14.086v74.793H0V4.696L27.838%200v141.874q18.447-16.1%2036.894-31.863%2018.447-16.1%2033.204-33.205h32.534q-14.422%2017.106-34.881%2035.217-20.124%2018.112-39.577%2034.882z%22%20style=%22line-height:1.25%22%20font-size=%22335.399%22%20font-weight=%22400%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22/%3E%3C/g%3E%3Cg%20style=%22line-height:1.25%22%20font-size=%22240.378%22%20stroke-width=%226.009%22%3E%3Cpath%20d=%22M127.343%20148.678h70.366v21.41h-70.366zM243.924%20210.427h43.081V61.732l-46.867%209.4V47.11l46.606-9.4h26.371v172.717h43.082v22.194H243.924z%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "1c9b3962-5793-4e6f-98d4-9ca2113d0823", - "type": "basic.inputLabel", + "id": "d10a3bb7-99d9-4193-8faf-cbe27f5c8482", + "type": "basic.output", "data": { - "blockColor": "deeppink", - "name": "a3", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "deeppink" + "name": "", + "range": "[13:0]", + "size": 14 }, "position": { - "x": 8, - "y": -744 + "x": 1008, + "y": 248 } }, { - "id": "161a3e27-de9b-4674-b990-c1e8314a29f3", - "type": "basic.outputLabel", + "id": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "type": "basic.constant", "data": { - "blockColor": "deeppink", - "name": "a3", - "oldBlockColor": "deeppink" + "name": "K", + "value": "1", + "local": false }, "position": { - "x": 576, - "y": -736 + "x": 744, + "y": 120 } }, { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "type": "basic.output", + "id": "294f1eb0-e5cf-4c89-b914-bbb9b8305d64", + "type": "basic.info", "data": { - "name": "c" + "info": "Output: 0,1,2,...,4095", + "readonly": true }, "position": { - "x": 920, - "y": -696 + "x": 1016, + "y": 224 + }, + "size": { + "width": 192, + "height": 40 } }, { - "id": "73a0a48e-d345-4eda-8603-782e9865d928", - "type": "basic.inputLabel", + "id": "83e77c69-25af-4960-9fe3-c1fb07abf203", + "type": "basic.info", "data": { - "blockColor": "deeppink", - "name": "a2", - "pins": [ + "info": "Inputs: 1,2,...", + "readonly": true + }, + "position": { + "x": 728, + "y": 80 + }, + "size": { + "width": 184, + "height": 40 + } + }, + { + "id": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "type": "basic.code", + "data": { + "ports": { + "in": [], + "out": [ + { + "name": "k", + "range": "[13:0]", + "size": 14 + } + ] + }, + "params": [ { - "index": "0", - "name": "NULL", - "value": "NULL" + "name": "VALUE" } ], - "virtual": true, - "oldBlockColor": "deeppink" + "code": "assign k = VALUE-1;" }, "position": { - "x": 8, - "y": -688 + "x": 672, + "y": 248 + }, + "size": { + "width": 240, + "height": 64 + } + } + ], + "wires": [ + { + "source": { + "block": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "port": "constant-out" + }, + "target": { + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "VALUE" } }, { - "id": "05fb13c5-879a-422f-84a8-56d1db8816da", - "type": "basic.outputLabel", + "source": { + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "k" + }, + "target": { + "block": "d10a3bb7-99d9-4193-8faf-cbe27f5c8482", + "port": "in" + }, + "size": 14 + } + ] + } + } + }, + "5fcfda234fb072b021cd8f915af77e7ae7860198": { + "package": { + "name": "24-bits-Mux-2-1-verilog", + "version": "0.2", + "description": "2-to-1 Multplexer (24-bit channels). Verilog implementation", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2280.833%22%20height=%22158.56%22%20viewBox=%220%200%2075.781585%20148.65066%22%3E%3Cpath%20d=%22M74.375%2036.836c0-12.691-6.99-24.413-18.326-30.729-11.335-6.316-25.284-6.262-36.568.141C8.198%2012.652%201.304%2024.427%201.407%2037.118v74.415c-.103%2012.69%206.79%2024.466%2018.074%2030.87%2011.284%206.403%2025.233%206.457%2036.568.14%2011.336-6.316%2018.326-18.037%2018.326-30.728z%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%222.813%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.448%22%20y=%2291.518%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.448%22%20y=%2291.518%22%3E0%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.359%22%20y=%2214.582%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.359%22%20y=%2214.582%22%3E1%3C/tspan%3E%3C/text%3E%3C/svg%3E", + "otid": 1618922858665 + }, + "design": { + "graph": { + "blocks": [ + { + "id": "a7083464-b9f2-4661-ba0e-e1875f71f9f7", + "type": "basic.input", "data": { - "blockColor": "fuchsia", - "name": "b3", - "oldBlockColor": "fuchsia" + "name": "1", + "range": "[23:0]", + "clock": false, + "size": 24 }, "position": { - "x": 576, - "y": -672 + "x": 328, + "y": -64 } }, { - "id": "a30f87da-7077-4ad6-92dd-adbfdd1bed45", - "type": "basic.inputLabel", + "id": "cf1ee513-b831-4546-b816-53c8196fca1c", + "type": "basic.output", "data": { - "blockColor": "deeppink", - "name": "a1", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "deeppink" + "name": "", + "range": "[23:0]", + "size": 24 }, "position": { - "x": 8, - "y": -632 + "x": 984, + "y": 24 } }, { - "id": "c2d36218-be99-4dd1-bf69-7690c667255b", + "id": "63847aa3-e2cd-4ff3-806d-b566a8176645", "type": "basic.input", "data": { - "name": "", - "range": "[3:0]", + "name": "0", + "range": "[23:0]", "clock": false, - "size": 4 + "size": 24 }, "position": { - "x": -312, - "y": -632 + "x": 328, + "y": 24 } }, { - "id": "ed7a30bc-17fc-444e-89e5-aa9f83b32e86", - "type": "basic.outputLabel", + "id": "1e7e3cd6-ed00-468a-9f7c-0bb91e020dce", + "type": "basic.input", "data": { - "blockColor": "deeppink", - "name": "a2", - "oldBlockColor": "deeppink" + "name": "sel", + "clock": false }, "position": { - "x": 456, - "y": -584 + "x": 320, + "y": 112 } }, { - "id": "d7d5e8c8-78dd-41a8-aedf-1051b89bfb77", - "type": "basic.inputLabel", + "id": "b64f5610-774d-45c0-bbc6-85b1a6713f43", + "type": "basic.code", "data": { - "blockColor": "deeppink", - "name": "a0", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "ports": { + "in": [ + { + "name": "i1", + "range": "[23:0]", + "size": 24 + }, + { + "name": "i0", + "range": "[23:0]", + "size": 24 + }, + { + "name": "sel" + } + ], + "out": [ + { + "name": "o", + "range": "[23:0]", + "size": 24 + } + ] + }, + "params": [], + "code": "//-- 2-to-1 Multiplexer \n\nassign o = sel ? i1 : i0;" }, "position": { - "x": 8, - "y": -576 + "x": 560, + "y": -80 + }, + "size": { + "width": 304, + "height": 272 } + } + ], + "wires": [ + { + "source": { + "block": "1e7e3cd6-ed00-468a-9f7c-0bb91e020dce", + "port": "out" + }, + "target": { + "block": "b64f5610-774d-45c0-bbc6-85b1a6713f43", + "port": "sel" + }, + "vertices": [] }, { - "id": "3c8597e6-ca79-494a-9a53-04c284205216", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "b2", - "oldBlockColor": "fuchsia" + "source": { + "block": "a7083464-b9f2-4661-ba0e-e1875f71f9f7", + "port": "out" }, - "position": { - "x": 456, - "y": -528 - } + "target": { + "block": "b64f5610-774d-45c0-bbc6-85b1a6713f43", + "port": "i1" + }, + "size": 24 }, { - "id": "ee992ca6-d586-4901-aaa3-a17d94ddac84", - "type": "basic.inputLabel", + "source": { + "block": "63847aa3-e2cd-4ff3-806d-b566a8176645", + "port": "out" + }, + "target": { + "block": "b64f5610-774d-45c0-bbc6-85b1a6713f43", + "port": "i0" + }, + "size": 24 + }, + { + "source": { + "block": "b64f5610-774d-45c0-bbc6-85b1a6713f43", + "port": "o" + }, + "target": { + "block": "cf1ee513-b831-4546-b816-53c8196fca1c", + "port": "in" + }, + "size": 24 + } + ] + } + } + }, + "698400cf4aed3c1bcc56992cf4dee108a0b3b2d8": { + "package": { + "name": "Mem-16KB-down-machine", + "version": "0.3", + "description": "16KB memory download machine", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20viewBox=%220%200%2088.570022%20126.13218%22%20height=%22476.72%22%20width=%22334.753%22%3E%3Cg%20transform=%22translate(-158.43%20-96.411)%22%3E%3Cimage%20xlink:href=%22data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAgM0lEQVR4Xu1dCZBU1bm+PdPTM8CM%20AgMO+yCrAq4oGjWKIIorcYnRlD59saImGlOaqK/UPPeHu5VyjyYuMRu+uFVEjRqX4FNRQURwQVxQ%20YdiGZQYGepZ+33frfK9Oneq+t+/0zHTad/+qU7fv7bt0n/8///L9/znX+1ZTTDHFFFNMMcUUU0wx%20xRRTTDHFFFNMMcUUU0wxxZToofuX8XPo82LqcLaZUhUAMbucraKi4viysrI9jCBkp5gybKBH0un0%20cuy3URC6WwiSXvcRmV9ZVVV1azKZPBvN69+/vzd06FBv2LBh1mkxff31197ixYvJfa+1tfUnHR0d%20x7W1tc3HV2kJQakJQBmZjzYUo99n/qRJk7xTTz3V69WrV5bTY/rmm2+8u+++29u6desO2L0cAnCq%20YXy61AQgYe5bBebvB9XvJRIJ79hjj/VSqZTX3t6e5ZKYBg0a5B133HHenDlzPPRZLQ5VG+a3lpwJ%20kPoH83uT+Ww77rhjCPNjYh+Z/hqK3T5oW9C2obWXlAaQAMCm9SovL/cGDx7sQaWFXBbTTjvt5AsA%20+qwOu7SVSTnOpSgASdBkSjTtPhybkMtioomkyWTjLvmjSK0UncAkJLmMAgDKUwBiqqur81atWkUt%200Bcmc2XJaQCBPtqCvMrKyjztf0wIm9lp1AbjW1paPrIwlUzJaAAJAKgajbYtTwGIaeDAgd6KFSv8%20zmMfloIJcCFf3rOCDT7AKAgAAY78nMCYqC3lB/Q1/Zgy4WB7AERcVAFIiPE333zz6JEjR565ffv2%20Xlu2bKm58847d2psbKQAhGiAmOQr1dTU+J8PPPDAE37wgx8MhgO9BeZg++bNm18588wzXzYQcXtX%20CUGii5ifuuyyy8YD7Fk4YMAAOTHelVde6X300UfejBkzPAhGwG1i5ksA2HdPPfWUd/LJJ7NRczKM%209iOp55577oyzzjrrvwkOGUHIFFsDJIya6nPQQQfdSweGKoyNAgBNIIcmRxQQM15ELcl9oKdU/4yh%202W/sR/anvz98+PD/wqnPozUZc9BeFA3gMv/GG288CgLwaL9+/by+fft6q1ev9gXgqKOO8v/MEUcc%204UOdJUxiUgSmRhv59va3v/2tnztBv9J0+k40Bxe16fLly2effvrpt1EIlCfobg2Q0FYq34J7q6ZN%20mzZ8v/32u5nSKonllhKrPACOyQcofQEonPlZma7GZ6jPFD5v27bN69Onj78/evTon/34xz9+/v77%20719s+NFup5OjOoqJKA7ezjvvPAuM7QuGJkBlyFtXgNkzMbrHUXUx3Utmf/XVVz7zTzrpJL9TTjnl%20FK+EieYrAuO1H8r8nBrgb3/7m1dbW+vNnj3bfzY165AhQ7zPPvvM9wlWrly5DFnD5yAUaQhMB4Qk%20g/My0LxPn3POOQuiOIqJPCDd1IMPPnjiiBEjHiFzObK15Y9Zs2aNn+Ovrq5mKtP74IMPlPjxfvGL%20X3ggCkKpC0AhjNdxfbZb1u9ffPFFb8OGDd4dd9zB+gBv/fr13pgxYzw62OzzTz75hKaWfc5+5jFt%20aX5/hrT7gzQPchQ7awLKZOPB4Nly7CQAbBzlUv38/P7773vQEs0vv/zyckhpNTpkNK6X+i911a/P%20UUe8y2jdI6tgiMj4t956axGFb88996wD0wfRDJDp7G/wQ+l18kJbaoo7jjzyyL8/++yzX8tR7JQG%20EPPRasHQT/FwPkBCwCaJ8zXAhx9+6Esp4lVJqXfDDTf42uDggw/uSVsscjtd+1Gu1/lsETRAkLoP%201whLlizx2+9//3uNbm/8+PHe22+/7e2yyy5ECmluXQ3A5kdeTz/99OlwIOfiVs0mZMwUpAEA6pDx%20fKgEQM6ez4w33niDQuDbLVJzczO/U1hDFdqVjC/cMYt+vYRAx8JUvCtA+Qinew/aeoZ+ZDAjAZ/p%20L730EiMEAkbsY35HXnDLfqdJZn/3poOO1kIB6KwJSAjWBZOXbtq0acK6det4c7v5Dx83bhwZQcEg%20w33mAwFkR7goYE8LghgSpgGiMknfBal7Nff5bIHnsx+5hZPN/vQZrKTaPvvsw/IxagGZYTX1/Qo4%207B8Y/y1RSBiokKIDCN9//upXvzoRUjgMzKxgBMBIgIQQpQwJjElQRymZBgoAnRj9GVzTE/Y5aDQV%20cr39XRRV79p6CQKZlfV7HaPZlPYk0zm6JQDIEHKkL2tqatrcAWIEwMvwfevatWu/efTRR1+wI4BC%20BYA32o625dprr32R/gBab3NdObzSGoAWp+AHp+QfSOVLimWnihSjizGFXu9+7zLVfYaOaWt/lkl0%20Ge+eRy0qbIX7cvoIq484/vjjH4BGbrJCvq1oG9BWo20zqj/U9iZC1H81mY5q1csQ6x+KeHSkHQbS%204VMRA4/RLr3zzjsefYbXXnuNjTbMb98KClf37ne5jkkLZDUX7Nd//vOf3ne/+13vkEMO8Xr37s1I%20gJqAZsHXrtAATB3bTiCPrYXf8NpvfvObG8GHz4UWFuIElkGl/BwO3r+7IaCwfkqlnEH+6LFjx3Kf%20zJc0f9vyAO7IzmfUZ8MW3OO6BweStGd6t912S5Hpb775pjd58mSli8lw5Q3kBBIbGIhrT0QSbgTM%209jGqJ+iMACivX4VM1BnCAOwmW88fy+8XLFjAH9R49NFHPwNPNA3I8mgcHwTp/bYIQC47HmYqcp7j%20OpiuxnjssceW3X777f/D/YcffvhwhIH1+++/vwYd+10aQELBRuRw3/PPP38s0vGLFQayRRWASrQ+%20YF6N7BCbGwYyTUnmm+rf/n/+859P5+df//rX3scff+ypIORbQLkAnSAH0T2WCxDKeg5yLBP/9Kc/%20TbSdwHnz5tEcKMyWj2BjATQhHIzjcJtPjA/XHlUDCAPoDa9T6kXhhv9gMXbhwoW0RYxTqf4JBUtA%205PCUPBLo2m2X+focgQLxAWL+ep4YTJyFnxsaGuhnMSlE6F0mVlv6ATzOaKHNDOLyzkQBSgKVY87a%20vXBEzqVU8eZ8iJhKdJB2CRgBpZPHZaPowRbTB3DVaqHXh4V67oiOKgTaJ+MY40sA5PlL8xJsI/PT%20mE+YIlDEczTYYG7pN9BJnHfvvfd+lk9NYTIkBGy9/PLLn5syZcoqPHRnaIIqU6yYAGMpWeWoA9h1%203333HQfG0ymk6uEPlQAwj01hKVUBEEPz9eZzYQt5h6LLli0jw3k+4XRXALjPnMt6wL3zySOc126u%207QBrtmOQrnnmmWfeVh1hZ5NBHWS+iS03zp8//2O0tSY3UG5a6phjjhkPp2Sc4n/lsCWRaMUe/WJM%20IdcGaQD+vyBgxx7pYc/loGHmz36WgCBbAJgXGAwsoOamm26aJ0ab1kJ+oTWibdF3hQhAC8KQjtNO%20O+0QPPBgSFh5whCksgwmYJjtINIUfPnll2SARkexBUCd35UCQIa710SCjd3vlTHl6Hc1Co9xS5yf%20dl8a4fDDD5+2xx57jAAPVA/gI7eoKVz4/PPPz4EWkAB0RBWAhGl8SM0FF1xwPx4yXo6dtgR7Nm7c%20qOofZgVZrsSctf8ZxOOlYv+DGGcLM7dhYV02LRAaKXz66adZsQH6A6NGjfK++OILf4ChLoMCwHQx%20ne8x6G95/0oaTdh1112PQ6Rw8vXXX/9GZ6FgqviKH/7wh6cB5h2fDQPgD6Dal+3HH6D6WoLpzSuQ%20H6hFR00pCQEITwa5zHcdvygYQFYBBYbPweQy33/ek08+OR9+1DqM9tqJEyfuB6bT0dM6C9II8hNk%20LmrgnJ+Nr98xvGyPggMIBOoNaZqZCwOgACgWfe+99wgHUyv0wxz3fvBOK1naDCqeAES3wdkydmJ6%20ULVPlJSve4whm7z+rNfuvffew1BnMYz9iMGYBhiUAj7AwWfnB1xAiP1eTx4aHKA1qgmoQOuFZMM2%20Le0iVS8hkF2aO3euX6Sw++678/gQNP04tmJhAO4oDTtH4Wouu5+rHiDoWNjz+Tyqdqn+XGsGDGEx%20CJnKfqYJIBhUX19PbMBGAwXPU5swZE8aAWg2g7o9igDwghTU+st4yIEo8qR614PUuNYPcQB2gh0B%20KEnEzz2NAopRQUwPvc62+7YwhJHLePd+7rmI5VnxG6hdpGnJZEHAsPF+4ccLL7ygzKsGp2oFeXyp%20GchlnU0Hd1xzzTXzZs2add306dMPwg1T6AS/yIC1AHhgAn+gDAKyN+yRoGEJQE+HgTbTIwhA4LlK%20bbueea578ry8439oVwI2YfWECv2k1qVdOcqX4bNqAjIQlAySRh1pELTywoceeuhFjfqoAkCOtZmc%208mbY8vfQvsF+jSTKXFcJ3P80FSdasCVbT6OAfE6AAETzB8TMELJHdyR4mBEUwrW8tAqFRFgAeKuq%20HxZ/1iE8nwsHkuq2VcCdUfmN5J3hYVvUbGDGXNTCm8ABqcVExYGQsio0nl9ObYBc9QGIS4fpB0kA%20ILHqCDGm2GrfPTdSvt9toKAQMBQSpsqX05cHUdXbA0ueP0PAHe67776TkSz6K/q8FfdrY8PnXsBi%20Nr/yyiubyMNOFYWqnBiFIMfAAbnBjQA0H4CMFvYPtUMcm99zCpPjHUemqPa7K+bm2aPfbi4zXSaH%20ZvtssAfMsZy+cGKU8Prrr8u790w6WFp28HnnnXc+czJ2JMDt2Wef/QjC+EsiQcH2TKCf/vSnoydM%20mEDm55wPIPWPknCqpmY4i58atTUGm2qZgH/xtK6Y7gI/dtMxCbUNCGk/0PaT6eifKMzX/IA0/IWl%20uI4O9xhA8tUHHHAAGc0+Z3OxAG4ZIfzb7373u0U/+tGPHrDKwzKhGkBz/hBrni6VLqbbn/VgxPy0%20aXT81iFV2c7vlL9mKxIFedZBJVuuANgYiC0IWa9xBcl2hOnxa7Z0BGJ+IAVktZ1C9eqrr34BQGgS%20J+DstddedmGIRr6azAUHYq+gxFAyFwYAhlbxB8vDd6Fgph5ZnkxnBhlBerUjEaeOxHcMGYVs9SST%20XTXunhNUjp1LACT4OuYyOFeuwN5nH3WK+boe4NpkMpU8QG6GU8c4SYSwO7Ot2YpCOCiJMFYRC5Av%20EMUEpABQLCHowHBF8/5tIu6PQlECEtQGFBTNExDzu0MAwpgpFet+F8z4cAFwr8l79EMrkhkF9YVU%20vJjNmgCG2iy+Yf/zmO1n0G8gwTfYbkVuiUg4wK233roIocYcqJyD8cBBkmp1Do41IzlBhldbtqi7%20BUCMCMvURREAXeMCP3axRdSmkS9MpCBBp++AbKwPCilFvMMOO6QBCDUCgh+kCEihMPiyEY7466gL%20fKJTOIBSwZjd+zi2LErsh1apKiFeN3PmzJFXXXXVLI4ONcs77Q4BiFKCnU0AwkZ8wPGiMF8CYDt6%203FcVdurxxx9fftttt82x5gZ0GOx/o5kfsDXIASQlA0CgJrQNmIo0GGqmL6SrEq2cNQE1oDPOOMNO%20FPFHUvq6QwDEvDDmh2mIfBnsRgNhQuPmDKj2HeYXLADC/O0ld7iG0IHAFRrhiK8jBsCqIPAijRxN%20K2oCGslDGwyKBAQh3kxdcskls4Et7207f3LyiEopSmBCg3XrBDlce1kA5a3m3a0oDxtv2+9sQpS3%20AMj/IMgjh68ryHj/nC1MH4BRAZNzFAiqetZsHMucjJw/YQFQ/w1wFn+C6myiuB1RcAC2sl/+8pdX%20wM67zBfmLxDIF4SlS5d6tEfwTL8CQOSvC1CQAIQzsKsFINu9o5gHxfnsj67WfGT6avCigWX3eMZw%20ONx08MgHNTcEZBsEMz0bAjA1ihOoKWG9MPIPs3EAu5FUC0AQCCaCKGB/ABX9oY5YKl6IBsjmXefj%202UcVAG2D7mufn2ufI94N9bpSANi/dejbOo5sMp9l44DoyQOZBxcHUCZ2l1tuuWVfDOZ5uXyBZI4J%20IdX4MzVcm8bWAPqsCSFaFwDlR5ocomyVmNYVDl4+4E22e0URAp0fKgDudWQ6R77sc3cQw0j5W0Bn%20WSPgm1xUCPG4iwOo0VQTla0jT+ULBGoAe0oY2lrUAwxEuKFRL/LVHNEoAD+Cg9kEQ0b3AcLj8rDz%20omiTIEdOlJXZrhDQBrP+UdhDdxHnY7hRAMwBcQD6AxRCt8BUi3RsRV3gEmEBkSaGYC7aLUgo/BwP%20GOJIvyYhNIL5/dHo/EkACBw5AhCZ8Z3VBtrm60i69wtkvnsNRxdr+XR+dxL7VQIgGB7amRnBZvgC%201RRABwsgGLQBcwcell8XFQdIo7hzKdq12B9gagHKhQPAIemDdQG+B+9TDiG3MhH5hoFBuHoU2DYb%20sztjXkKZr+JQ+DkclT2V6+AAk523cQGO8hRqAh7FHMxG4QDWWgHr0b4JWysgmQsEQtuMdOIQePf7%20EHTgqiBs6IAylCmPB0pYazkg/DFkJrdibHeM+nyAHzdTx2ORwkqX6fpMJI7MVxlXTxEdTJob8IH4%20ggSAWjh1xRVXHIEw/CPwhrzrIBaAz61AY1fAAfyQwhBFADISgj/+8Y8XA+s/xnUCyWyqPjJY8wEB%20OvDHsMlOhavjcMZHdwjdz+Fz/NTC7D4FW/aex3o6s0lnjn3PWgtlArlPSHggVmEbyLDQxQJQyLMP%20VhI5KbQs3MUALr300t3g3dvMd2sB1DhT1fcHnnjiiQWQ0jTO3x+d3j+LKg5KowYlVKLCv0EZw7yF%20T0zWdGsCMPq+GHTPPffM5fb73//+RDjg9ZivybUZqA1yYgHEcTBJ9ORzzz33/rxwAM35w41HK8HD%20G7lND+V8AGqBzz//fC1CkmGQ0ibkvSukItGij/rw40HMLhROVpO3rVCqaIyXFoPJHQbTm0IWdhPg%20efa9qoPCagJ2dsJABwfI8ro3jOKBzOgx3Wvj/ZrpQ3XDV50yHJw6dSqxgPEqB4MmYDawMyO5s0IQ%20ZRHH0BBTWkjhF4RZPkVRi1sOPfTQ3ckPMpYTQ7B4J00vcQGtHqowXIJAU81ooNKE9Vt4q7xwAEw8%20+AATPbZiejKLCeT9qnFU0A7xIaoF4GeZi6Awy7afUZgdBtkGCUC+foTqGch0OnwUcLu6qWhCoNBP%20CSEyW/X/1AQ0BfJXxCsKAWdrQSNHwgEybFiteiUeeAMqUWaiKGQ4vX9QQkzla0wgWYPhgFQ7qWA6%20ShKAqCM/2A8IX6SB2yjMd59HQIUjho0CYINaxV6rmGigFoWy1wxMAxD6ElP4iAVk0Dxu2TBI1/7l%20L395CeH6gnzTwYoA0lQXUOXvo63Bfl+0XlYtQAXeZTPhoosuGuv4BBQE4eE87uL4kRkOCmJa2HSv%20sHtJtUtdkukBL7cqriBQAKQBlIvh4pwo/96ACTxPaW6AtbbjJlMTsIX7eU0N08WaXIClxsbAw+/P%20eQAqBMGDdwBCON2pVVdIqCoabiM4gpF9gfxW6Q5v9O7p5LnVy0UUgvAZQiA5fXwryxRogvVIEK1A%20n/tCQBygEoTFpj90agI68jEB7Xg7Vd0JJ5zwACRsnJsIUtZLAoC4lKEgc9U2ChhVAKIJSDj8m7NA%20k8KpEYXUNUd9rmtzrv1XDGLCiQkg+l8sxhUKC4eb8f6ReCmHu3I4X9e/CotLn4Pyvoa8cAA5gXjB%20wy1wLGzm20KglarZiQwBGW9+CWdjPYSuBh01Vh1fIMAThtVHAZzYbHVPD1/OlZzbbHP8bOZrvxg+%20AAdeM3iyDJFANXCJscy5wPYrJUy+SPvas4UH431N90AAJltQfntWAVA1MFofPGhKrsUh7algzPtD%20/SzCJJJXqV4wVWzEd77znbH6IQWp//Da/chr95PJqmZyp3y7QuvOFnaFoYeJzvVmgEHzuHPxxRd/%20hWLdaQr/0Oz1hBQNCJUdCrh4+nXXXTfXrgkIEoBqwp4QgqwLQ1DV8yFcCpZFCQgVazET9Xv4LgMk%20sBfeciFp7MwI7xTcq3131GqSijx6mC4KrJa2t+cuqtPsY0FzAXtaG/BNLLVYtncWGcx8DON/ml7k%20ajgoyRdXA3BL/4ZRjd4fIF8gpwbgfhVuuBWLE/XOUgsgTJzM5yLQFJRhPMbzaFMxdYmd1LWjPvwe%209jO1r3WMKAAaHa59dxNHbsyv79mKxXz5LJXo8xGaH4CXRpCxHIAE5qjVstUE8Dues0FYQHhJGAiv%20JLsGb5+6QLUAjj0ns1dASEY48wFUGCFJ7DTkCyoogqB9h40UiKM5dq6nL0Zrm+14zn21HiIKr6IA%20qXyVizUiUqsGNpOyBJW8oNBsxNT+R4DrNJAVYUigpoVvxyLFS9CuNrUAVB/l9lvEEF6cxMWKskwI%204YMVBvYYw2Xfqe7gILkjPWCaeiiSmAvBLEZGUAJAYVY2ln1eceKJJz4EgW9WqGdai3l/wEpNDQsL%20AwUC8UbrjLrYrhdEmJaCw3cApowPcWsEhQgqZrXCr+4UADKbsTyl3bHdoat/BWkDl8HFYr77P2TK%20JBCMBGrw3uY9Acw9SX4JEDL2fqPh5WZ+l48AqBhkE5aInQoseRJHvVkaphw2pwKJiMOUJVRySEUg%202kYEgqKkaW01z0anrpA3g7jqPSgMLHpGEIUfeo2sPUOIOMAUvGOwCcc2kfk4Rl62oXhlKV44vQrR%202tZcq4Ym3VoAFBFOwtJkD+MhQ7NNCGGihD+C+4sWLeL6gEIBJZlkfr44QKTsIB0dRBruaC90RnGg%20utfxYhMZzsUl+P/Zz8Bd6IgLDOLqYdOdCSKcScwsYhOqt/kSiTeDfICEVDyygJfCcxwaMCGEW0UD%20tEdLYHe5SHEaAjIOD+4vAegEw9193p/PItMpYFGY4nr8BQhKUUlCSTRwSRrEUjD0yVhMQUuB6WET%20RGqwoATfJLqXfARbEyQdDKAGN58hECjXhBCqXYJACBNXQgtsxLYCmmADEMGMfACdHzG8U0WrMnMc%206RGYEk0Q1LElQBR+mgCfeeiTFryq7wvwYRyqg0MniOD8oVjuZwb8t7mWEGSyCUA1VTwQJt4w66IQ%20HJGcq8b1a/EjhoDpcgg9ZKb4lhBemy+Eq9WveF8y3Y1nu2OmTcm+sOKwww7bDXMx9FoYfwvgjXwg%20b7IWhbA/oZ2prbOCQUn3RdFgwlLYmgmK69mEoWs04v0A3OcKFQR/bCGRD+AyWfdQEzKXJ4Nicl8p%20z4IQ8gUmm1PFaCa5tXkgJJSTR7ZeffXVVmFIwLwAzCO7Ce+dPQ8MrYOzVwd/oNJ6nVkzsn9fwhEZ%20i5GfctYG5CjW4sddPBpjIrOhne03hckx5kBahtC8Foxm6l4oaBpRwGpo8yYsJ/eHrNlAeYWy/2gD%200UagDTUgUDVa0i4GeeCBB46DdzkKgkEUitlAaQBWrvpATPdQTIR/8WZwaV/2O/uf6eF1KP8mk1sd%20R2+rWTRyFdoKtAZTKLLd9QGEAWwx6FGKNzD7FXqHMN4dsD8mgo5SRCA0Suaie2PlmNx3CIkPCAEH%204GWRU1GoM8fE+20WPzeaWULN2bCApAMDp7GwwPAZM2bcgCTPWNl1MZhhHx+ulcOYjWI8KjBItr9b%20KCZqVy0aSbvOWdkSCNZk7AHnfA/wxl0trAER241ICT+WbdXQpA0Cgfn1WBz6Idy0xsUAGPrZkxBY%20lWJKx9fj+zRCtjRq1uu7LayKifaeo70BvgDRwEHvvvsuy8KVKFKBi1sUMghI4e14o/hK1BE854JB%20SXtCCEq9Z0GCxHy76SFML1IYOPI5B+CvSBrxHbUMC4fADtV3mwaIic4e52FQzXdMmzat7qyzzjqB%20L+dAWl6D0y0KkbngKmOn4rqX3UUjpQG47Q3vfqAyfE4xCG/Km2ttAHr688D8BSauTAAMqu3+apnY%20BzD2PP2Pf/xjPUZ/BXhzEvqcA5P8yYYFaI5DPau93DeIJO0ZQWB8K1U7gSAw1Mb0tWwpsX+uUPH+%20hRde+FccWmuSR0mopCHd7gTGoSD7vgkDlf1ehncDbwQAVAGmz6IPBpCIfoKwG9UEsDaCQrDOAEGK%206tpdJLDsrrvuehFTig+DJI2DTbcfrPlpvNF8FI3+wYQWqylRpoqoOR8BoGBRw5QKEWHj6CoW0c8C%205q+aBgI/O+It7Yu5y+7EuwOfx7wALtc7E4JRma14FZNHGgEFP2PVdbjzAX3VUIs2DK0eteaTEQUM%20ANMrcCNSBkxrA8zbgJKv5WS8EYC1+iGwSUdhIaPrKTgAkFjD5nde4RQT7DwhdvYnczD/geXfXrBq%20NerIY/gBQ+EfjOY7HdDKMiBo7zYIxfpnn312EXEANsOzZpkBlYJXkYloO/FmFAaznzLnCCdoNjjB%20GqvQIMnzsXDkz1EldDY9VAIWXUYxUetSAKiJuBjXJXhXEEfzZjN4+5Fvhmc11oqunmZ5WWDQGsO/%20FtsEZAxztaxIh7l5L7QKCYD1FpEmtE1mmzZSSEexRmAQVFYXqfnY5tPp1mLT3Gf9n+GHnLm0ccQ3%20GE2ekgC4PNPIz1YWrhuSWs3Jmg5mv0w6bc5rMZ8T5ruyBMiablWSoJAcp39F0iv4UKU1RoW/Wv/H%208KTJ4lmZg/BuYzPntbkCkNGJVl1guWkCiXROu91sIIkkpluOYylm3f7Vw0CZbQlBq2ktFvMTzsBV%2068g1MSRjtTb3HcLOOSJ9Tqj1CMNjSjhMFmNbrWOJAJ6FTg4VReFmGbJTEzXlqlsoJsK/rL9QfO4M%20Tm2jUbKrzCcApLcBB09k0WKXU0wq+2pBle/fHVVeEBU6XCtMuDgIbRRWF7sNocoYYgHFJL3mpRTJ%20rr9Mg+BQryOz8X+ake2bAxzgVSeeby+mAPCXVpvikeFo9cAA9kKoMoCARKKI9iAD4hZzHBsAj27j%20oVIKSOR4O5M8GtC+MtsN5nhHMQVAINKOBowYpKVlLRCpmNShpo4tMQFot1/jawCdtYb5muxRkGAn%20u0BSVXmyntLqgkhsRR5BGkWZEtQCAuAU5rGfm93K3mJqAGmBCjPiq0wTIJEoYudJA2S0LWEz0GZa%202rS2YjuB7j0UmyazgEjF70B7v7Qo42oz+1iRNED4vYrOfDHc3f4/o5hiiimmmGKKKaaYYooppphi%20iimmmGKKKaaYYooppv8FlJhXILrvZ3wAAAAASUVORK5CYII=%22%20preserveAspectRatio=%22none%22%20height=%22102.996%22%20width=%2287.169%22%20x=%22159.832%22%20y=%22119.548%22/%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20x=%22205.695%22%20y=%22150.011%22%20transform=%22scale(.98866%201.01147)%22%20font-weight=%22400%22%20font-size=%2219.302%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#ff0%22%20stroke-width=%22.504%22%3E%3Ctspan%20x=%22205.695%22%20y=%22150.011%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ERAM%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20x=%22205.372%22%20y=%22110.296%22%20transform=%22scale(.98866%201.01147)%22%20font-weight=%22400%22%20font-size=%2219.302%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#00f%22%20stroke-width=%22.504%22%3E%3Ctspan%20x=%22205.372%22%20y=%22110.296%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EDownload%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M206.647%20182.6a6.892%206.892%200%200%200-6.89%206.892c0%203.803%203.086%206.896%206.89%206.896%203.805%200%206.868-3.093%206.868-6.896%200-3.806-3.063-6.892-6.868-6.892zm13.814%2010.852l-1.242%202.991%202.215%204.35.293.575-3.072%203.072-5.039-2.38-2.991%201.228-1.519%204.648-.194.617h-4.341l-1.879-5.246-2.991-1.234-4.357%202.21-.575.287-3.07-3.069%202.378-5.042-1.233-2.989-4.64-1.515-.616-.2v-4.338l5.25-1.882%201.233-2.986-2.208-4.36-.291-.571%203.066-3.066%205.045%202.376%202.988-1.236%201.517-4.645.196-.616h4.34l1.88%205.253%202.983%201.236%204.358-2.212.58-.29%203.069%203.065-2.377%205.038%201.228%202.993%204.654%201.517.611.196v4.337z%22%20fill=%22#0ff%22/%3E%3Cg%20transform=%22matrix(.85604%200%200%20.85604%2085.035%2091.517)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E", + "otid": 1596697289362 + }, + "design": { + "graph": { + "blocks": [ + { + "id": "38abb13c-8652-41fb-931c-c7bf760ebb24", + "type": "basic.output", "data": { - "blockColor": "fuchsia", - "name": "b3", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "name": "busy" }, "position": { - "x": -8, - "y": -448 + "x": 1936, + "y": -168 } }, { - "id": "c5dce3e4-5ecc-4fc9-bbf6-7c1adfa1c7ff", + "id": "a040cc3d-b2c6-458e-bde6-f8234a19b6d1", "type": "basic.outputLabel", "data": { - "blockColor": "deeppink", - "name": "a1", - "oldBlockColor": "fuchsia" + "blockColor": "fuchsia", + "name": "busy" }, "position": { - "x": 328, - "y": -440 + "x": 1744, + "y": -168 } }, { - "id": "fb8bbeb1-5c60-4629-bc13-231545818d0b", - "type": "basic.inputLabel", + "id": "9188c313-c3af-4a0b-b917-d759873cd681", + "type": "basic.outputLabel", "data": { - "blockColor": "fuchsia", - "name": "b2", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "name": "addr", + "range": "[13:0]", + "blockColor": "navy", + "size": 14 }, "position": { - "x": -8, - "y": -384 + "x": 864, + "y": -144 } }, { - "id": "d192d0af-e7be-4be6-925a-50227d80784c", - "type": "basic.input", + "id": "f81791c6-f02f-46d0-b738-5895dd124243", + "type": "basic.outputLabel", "data": { - "name": "", - "range": "[3:0]", - "clock": false, - "size": 4 + "blockColor": "yellow", + "name": "clk" }, "position": { - "x": -312, - "y": -384 + "x": 1744, + "y": -96 } }, { - "id": "038a8cb8-35b8-424a-9d14-c320cfcddccf", + "id": "b359cb97-c324-4ffc-a73c-64c7f457e6fa", "type": "basic.outputLabel", "data": { + "name": "stdo", + "range": "[9:0]", "blockColor": "fuchsia", - "name": "b1" + "size": 10 }, "position": { - "x": 328, - "y": -376 + "x": 1728, + "y": -16 } }, { - "id": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42", - "type": "basic.output", + "id": "7fb933a6-5c63-4d46-8aaa-440b30974993", + "type": "basic.input", "data": { - "name": "s", - "range": "[3:0]", - "size": 4 + "name": "", + "clock": true }, "position": { - "x": 1064, - "y": -368 + "x": -48, + "y": 24 } }, { - "id": "527c9113-e440-454b-b427-182b646c10f5", + "id": "2c31aa6a-383c-4eb5-b669-b8a31ad14225", "type": "basic.inputLabel", "data": { - "blockColor": "fuchsia", - "name": "b1", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "blockColor": "yellow", + "name": "clk" }, "position": { - "x": -16, - "y": -320 + "x": 96, + "y": 24 } }, { - "id": "f8dceaf6-6020-49e5-b775-ed4821fbd5bd", + "id": "a875b188-26fa-4052-ae81-4b5f22f4c1e5", "type": "basic.outputLabel", "data": { - "blockColor": "deeppink", - "name": "a0", + "blockColor": "fuchsia", + "name": "tic", "oldBlockColor": "fuchsia" }, "position": { - "x": 184, - "y": -296 + "x": 1648, + "y": 48 } }, { - "id": "b652825e-10ba-47cc-9832-e39d73586234", - "type": "basic.inputLabel", + "id": "20d63505-e2fd-44ed-95b9-9f45e8875e70", + "type": "basic.output", "data": { - "blockColor": "fuchsia", - "name": "b0", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "name": "stdo", + "range": "[9:0]", + "size": 10 }, "position": { - "x": -32, - "y": -264 + "x": 2128, + "y": 48 } }, { - "id": "7e5351cc-ea73-4bb2-9dda-0390f005b90b", + "id": "8ca2279c-fdc3-40d3-9fbe-2071c026932f", "type": "basic.outputLabel", "data": { "blockColor": "fuchsia", - "name": "b0", + "name": "bus_mine", "oldBlockColor": "fuchsia" }, "position": { - "x": 184, - "y": -232 + "x": 880, + "y": 112 } }, { - "id": "e7d0a130-cf6b-4220-a06f-42543db0214f", - "type": "1ea21df64c18f01d8f4b905c437ccf0ca332baf6", - "position": { - "x": 320, - "y": -248 + "id": "786f1170-66ce-4c3a-acdc-073388546edd", + "type": "basic.outputLabel", + "data": { + "name": "data", + "range": "[7:0]", + "oldBlockColor": "fuchsia", + "blockColor": "fuchsia", + "size": 8 }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", - "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", "position": { - "x": 464, - "y": -392 - }, - "size": { - "width": 96, - "height": 96 + "x": 1656, + "y": 112 } }, { - "id": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", - "position": { - "x": 608, - "y": -544 + "id": "886b88b1-4987-4f1f-aadd-d82bb53ab445", + "type": "basic.input", + "data": { + "name": "stdo", + "range": "[9:0]", + "clock": false, + "size": 10 }, - "size": { - "width": 96, - "height": 96 + "position": { + "x": -96, + "y": 120 } }, { - "id": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "type": "c4f23ad05c2010ec9bd213c8814c9238873037ae", - "position": { - "x": -168, - "y": -416 + "id": "523a4825-1562-4f5d-b129-c7d08fe542c2", + "type": "basic.inputLabel", + "data": { + "name": "stdo", + "range": "[9:0]", + "blockColor": "fuchsia", + "size": 10 }, - "size": { - "width": 96, - "height": 128 + "position": { + "x": 48, + "y": 120 } }, { - "id": "57e59301-2919-4f06-ba95-54ce5d99d774", - "type": "c4f23ad05c2010ec9bd213c8814c9238873037ae", - "position": { - "x": -152, - "y": -664 + "id": "90093714-11a0-4cea-ad1a-bae5e4aac8dc", + "type": "basic.outputLabel", + "data": { + "name": "mbi", + "range": "[23:0]", + "blockColor": "fuchsia", + "size": 24 }, - "size": { - "width": 96, - "height": 128 + "position": { + "x": 1128, + "y": 120 } }, { - "id": "11342001-e6e0-443b-af87-0e5d7ada0227", - "type": "84f0a15761ee8b753f67079819a7614923939472", - "position": { - "x": 896, - "y": -400 + "id": "7b8dd447-e9d2-4c9f-ba7c-c3af9abed4e8", + "type": "basic.output", + "data": { + "name": "mbo", + "range": "[23:0]", + "size": 24 }, - "size": { - "width": 96, - "height": 128 + "position": { + "x": 1472, + "y": 120 } }, { - "id": "72c87c65-b34b-480f-8cde-cd97c0914014", - "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", - "position": { - "x": 744, - "y": -688 + "id": "bf61387a-ef36-4f3c-898f-e274c3136b18", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "next" }, - "size": { - "width": 96, - "height": 96 + "position": { + "x": 2064, + "y": 136 } - } - ], - "wires": [ + }, { - "source": { - "block": "038a8cb8-35b8-424a-9d14-c320cfcddccf", - "port": "outlabel" + "id": "914e03dd-1133-4325-a333-b10f953ecce5", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "data", + "range": "[7:0]", + "size": 8 }, - "target": { - "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", - "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + "position": { + "x": 576, + "y": 152 } }, { - "source": { - "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "port": "f5a71d7b-de20-4527-80c8-0eb20de0dc77" + "id": "93050bc1-206a-4fb3-9c14-9a41ab42f7ed", + "type": "basic.outputLabel", + "data": { + "name": "mbi", + "range": "[23:0]", + "blockColor": "fuchsia", + "size": 24 }, - "target": { - "block": "527c9113-e440-454b-b427-182b646c10f5", - "port": "inlabel" + "position": { + "x": 224, + "y": 216 } }, { - "source": { - "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "port": "0f7487e5-b070-4277-bba6-acf69934afca" + "id": "9be4488d-51be-4346-8a31-5d8f2f86e4d3", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "bus_mine", + "oldBlockColor": "fuchsia" }, - "target": { - "block": "b652825e-10ba-47cc-9832-e39d73586234", - "port": "inlabel" + "position": { + "x": 936, + "y": 248 } }, { - "source": { - "block": "7e5351cc-ea73-4bb2-9dda-0390f005b90b", - "port": "outlabel" + "id": "64a86ee7-b105-409d-9e91-cca498c9121b", + "type": "basic.input", + "data": { + "name": "mbus", + "range": "[23:0]", + "clock": false, + "size": 24 }, - "target": { - "block": "e7d0a130-cf6b-4220-a06f-42543db0214f", - "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + "position": { + "x": -96, + "y": 264 } }, { - "source": { - "block": "f8dceaf6-6020-49e5-b775-ed4821fbd5bd", - "port": "outlabel" + "id": "74555a80-b4b5-40d0-bf28-afa5a588b1e2", + "type": "basic.inputLabel", + "data": { + "name": "mbi", + "range": "[23:0]", + "blockColor": "fuchsia", + "size": 24 }, - "target": { - "block": "e7d0a130-cf6b-4220-a06f-42543db0214f", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + "position": { + "x": 56, + "y": 264 } }, { - "source": { - "block": "57e59301-2919-4f06-ba95-54ce5d99d774", - "port": "0f7487e5-b070-4277-bba6-acf69934afca" + "id": "923c4db6-0c76-4647-a848-75fd61fba6ec", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "done", + "oldBlockColor": "fuchsia" }, - "target": { - "block": "d7d5e8c8-78dd-41a8-aedf-1051b89bfb77", - "port": "inlabel" + "position": { + "x": 936, + "y": 312 } }, { - "source": { - "block": "c5dce3e4-5ecc-4fc9-bbf6-7c1adfa1c7ff", - "port": "outlabel" + "id": "05a1a5b4-bf29-49df-b0b1-887859d9ec9e", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "bbusy", + "oldBlockColor": "fuchsia" }, - "target": { - "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + "position": { + "x": 560, + "y": 336 } }, { - "source": { - "block": "57e59301-2919-4f06-ba95-54ce5d99d774", - "port": "f5a71d7b-de20-4527-80c8-0eb20de0dc77" + "id": "b14f140b-7bb5-46d9-8019-39c27ff6e0e3", + "type": "basic.input", + "data": { + "name": "start", + "clock": false }, - "target": { - "block": "a30f87da-7077-4ad6-92dd-adbfdd1bed45", - "port": "inlabel" + "position": { + "x": -80, + "y": 424 } }, { - "source": { - "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "port": "33072210-9ba0-4659-8339-95952b939e6e" + "id": "da45f105-3600-4458-a820-50046581f5dd", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "start" }, - "target": { - "block": "fb8bbeb1-5c60-4629-bc13-231545818d0b", - "port": "inlabel" + "position": { + "x": 64, + "y": 424 } }, { - "source": { - "block": "57e59301-2919-4f06-ba95-54ce5d99d774", - "port": "33072210-9ba0-4659-8339-95952b939e6e" + "id": "7d0852c6-4778-4a53-bf90-30527c44a0eb", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "target": { - "block": "73a0a48e-d345-4eda-8603-782e9865d928", - "port": "inlabel" + "position": { + "x": 1736, + "y": 464 } }, { - "source": { - "block": "3c8597e6-ca79-494a-9a53-04c284205216", - "port": "outlabel" + "id": "54e9bf9f-b852-4c45-bd53-f6eb4ee707eb", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "start_read" }, - "target": { - "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + "position": { + "x": 608, + "y": 504 } }, { - "source": { - "block": "ed7a30bc-17fc-444e-89e5-aa9f83b32e86", - "port": "outlabel" + "id": "95c4416f-62f5-4196-a406-f7915d40a572", + "type": "basic.output", + "data": { + "name": "done" }, - "target": { - "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + "position": { + "x": 2048, + "y": 536 } }, { - "source": { - "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "port": "bbe1895b-be8b-4237-b0d1-ae592e3e6208" + "id": "289f00be-f97d-4553-a60a-32d8b45da4cc", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "done", + "oldBlockColor": "fuchsia" }, - "target": { - "block": "ee992ca6-d586-4901-aaa3-a17d94ddac84", - "port": "inlabel" + "position": { + "x": 1728, + "y": 536 } }, { - "source": { - "block": "57e59301-2919-4f06-ba95-54ce5d99d774", - "port": "bbe1895b-be8b-4237-b0d1-ae592e3e6208" - }, - "target": { - "block": "1c9b3962-5793-4e6f-98d4-9ca2113d0823", - "port": "inlabel" + "id": "d7e7c210-c311-440e-b516-94c3f0244f34", + "type": "basic.input", + "data": { + "name": "nc", + "clock": false }, - "vertices": [ - { - "x": -24, - "y": -696 - } - ] + "position": { + "x": -80, + "y": 536 + } }, { - "source": { - "block": "05fb13c5-879a-422f-84a8-56d1db8816da", - "port": "outlabel" + "id": "fce01e4d-e6d2-4811-8f96-410673168b4c", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "bbusy", + "oldBlockColor": "fuchsia" }, - "target": { - "block": "72c87c65-b34b-480f-8cde-cd97c0914014", - "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + "position": { + "x": 152, + "y": 552 } }, { - "source": { - "block": "161a3e27-de9b-4674-b990-c1e8314a29f3", - "port": "outlabel" + "id": "700d8b15-d6df-4b76-b10d-72db58c33e6c", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "bus_mine", + "oldBlockColor": "fuchsia" }, - "target": { - "block": "72c87c65-b34b-480f-8cde-cd97c0914014", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + "position": { + "x": 776, + "y": 584 } }, { - "source": { - "block": "e7d0a130-cf6b-4220-a06f-42543db0214f", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "id": "0399b081-5696-4bf7-bb75-cd55da78d4f5", + "type": "basic.outputLabel", + "data": { + "name": "data", + "range": "[7:0]", + "oldBlockColor": "fuchsia", + "blockColor": "fuchsia", + "size": 8 }, - "target": { - "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", - "port": "5e915366-608a-431a-bf68-8c64fb4c302c" + "position": { + "x": 1648, + "y": 600 } }, { - "source": { - "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", - "port": "c7d2d573-b901-420e-a923-6832e5b18e34" + "id": "08007be8-e099-4080-acb1-e580660bb147", + "type": "basic.input", + "data": { + "name": "nc", + "clock": false }, - "target": { - "block": "11342001-e6e0-443b-af87-0e5d7ada0227", - "port": "969e11ca-69e8-403b-a566-7bf2fbe3a5a8" + "position": { + "x": -80, + "y": 616 } }, { - "source": { - "block": "e7d0a130-cf6b-4220-a06f-42543db0214f", - "port": "c7d2d573-b901-420e-a923-6832e5b18e34" + "id": "3066cf48-9921-4487-826e-0464a2dead7a", + "type": "basic.output", + "data": { + "name": "data", + "range": "[7:0]", + "size": 8 }, - "target": { - "block": "11342001-e6e0-443b-af87-0e5d7ada0227", - "port": "e4111201-8441-4e7d-bcd2-bcf9d265d043" + "position": { + "x": 2040, + "y": 680 } }, { - "source": { - "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "id": "524ca75c-cdd3-4e79-851a-b46ce146bd66", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "start" }, - "target": { - "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "port": "5e915366-608a-431a-bf68-8c64fb4c302c" + "position": { + "x": 152, + "y": 696 } }, { - "source": { - "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "port": "c7d2d573-b901-420e-a923-6832e5b18e34" + "id": "7e9db299-cb56-4cd9-a489-d5fbd6eb3e2f", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "busy" }, - "target": { - "block": "11342001-e6e0-443b-af87-0e5d7ada0227", - "port": "346b4ae4-4bb6-4845-9c17-3b25e0dde718" + "position": { + "x": 1184, + "y": 704 + } + }, + { + "id": "7df4a7f1-90b6-4562-8be3-e4719a824545", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "vertices": [ - { - "x": 824, - "y": -424 - } - ] + "position": { + "x": 880, + "y": 752 + } }, { - "source": { - "block": "d192d0af-e7be-4be6-925a-50227d80784c", - "port": "out" - }, - "target": { - "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "port": "0ebd46a4-769b-45e6-bcaf-e3796264aed3" + "id": "c1c96b9c-e573-43a0-8b60-9f7fe7ad5ae6", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "busy" }, - "size": 4 + "position": { + "x": 1648, + "y": 776 + } }, { - "source": { - "block": "c2d36218-be99-4dd1-bf69-7690c667255b", - "port": "out" - }, - "target": { - "block": "57e59301-2919-4f06-ba95-54ce5d99d774", - "port": "0ebd46a4-769b-45e6-bcaf-e3796264aed3" + "id": "e4dc109d-2b1c-402e-b474-ee1c6abeec66", + "type": "basic.inputLabel", + "data": { + "name": "addr", + "range": "[13:0]", + "blockColor": "navy", + "size": 14 }, - "size": 4 + "position": { + "x": 1224, + "y": 784 + } }, { - "source": { - "block": "11342001-e6e0-443b-af87-0e5d7ada0227", - "port": "55180947-6349-4a04-a151-ad69ea2b155e" - }, - "target": { - "block": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42", - "port": "in" + "id": "dc204461-1dd1-428f-91a2-006d905d6585", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "start_read" }, - "size": 4 + "position": { + "x": 872, + "y": 832 + } }, { - "source": { - "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" - }, - "target": { - "block": "72c87c65-b34b-480f-8cde-cd97c0914014", - "port": "5e915366-608a-431a-bf68-8c64fb4c302c" + "id": "0db424eb-f896-41e1-becb-7eb065dd64f2", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "busy" }, - "vertices": [ - { - "x": 728, - "y": -552 - } - ] + "position": { + "x": 152, + "y": 840 + } }, { - "source": { - "block": "72c87c65-b34b-480f-8cde-cd97c0914014", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "id": "adcb920c-12a7-478f-b1f2-9877d62d2673", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "port": "in" + "position": { + "x": 1200, + "y": 864 } }, { - "source": { - "block": "72c87c65-b34b-480f-8cde-cd97c0914014", - "port": "c7d2d573-b901-420e-a923-6832e5b18e34" + "id": "24450b7d-19ce-463a-83fb-5e1c04e4b093", + "type": "basic.output", + "data": { + "name": "tic" }, - "target": { - "block": "11342001-e6e0-443b-af87-0e5d7ada0227", - "port": "6c2aa548-5a4c-4e8d-a56c-a70926b19f18" + "position": { + "x": 2040, + "y": 888 } - } - ] - } - } - }, - "1ea21df64c18f01d8f4b905c437ccf0ca332baf6": { - "package": { - "name": "Adder-1bit", - "version": "0.1", - "description": "Adder-1bit: Adder of two operands of 1 bit", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", - "otid": 1618560481898 - }, - "design": { - "graph": { - "blocks": [ + }, { - "id": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", - "type": "basic.input", + "id": "1afea26e-4199-4bc9-bee1-c5689a14f8b6", + "type": "basic.outputLabel", "data": { - "name": "", - "clock": false + "blockColor": "fuchsia", + "name": "tic", + "oldBlockColor": "fuchsia" }, "position": { - "x": 280, - "y": -224 + "x": 1872, + "y": 888 } }, { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "type": "basic.output", + "id": "caf86b2c-c08d-411d-be47-4084fec9532e", + "type": "basic.inputLabel", "data": { - "name": "c" + "blockColor": "fuchsia", + "name": "tic", + "oldBlockColor": "fuchsia" }, "position": { - "x": 616, - "y": -176 + "x": 1504, + "y": 928 } }, { - "id": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba", - "type": "basic.input", + "id": "eda78d52-57f7-4e44-bd8e-75e67c496650", + "type": "basic.outputLabel", "data": { - "name": "", - "clock": false + "blockColor": "fuchsia", + "name": "next" }, "position": { - "x": 280, - "y": -152 + "x": 880, + "y": 936 } }, { - "id": "c7d2d573-b901-420e-a923-6832e5b18e34", - "type": "basic.output", + "id": "366a768a-2f5d-4c01-8338-bdef0a688ea7", + "type": "basic.inputLabel", "data": { - "name": "s" + "blockColor": "fuchsia", + "name": "done", + "oldBlockColor": "fuchsia" }, "position": { - "x": 616, - "y": -96 + "x": 1152, + "y": 992 } }, { - "id": "0ef44beb-f4b1-484c-b15a-dc4431241aee", - "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", + "id": "0a517454-aeac-48a3-bc62-6aa73da948bd", + "type": "basic.info", + "data": { + "info": "Reading data from memory \nReading bus status", + "readonly": true + }, "position": { - "x": 456, - "y": -168 + "x": 336, + "y": 120 }, "size": { - "width": 96, - "height": 96 + "width": 232, + "height": 64 } }, { - "id": "e80cc244-1751-4524-9f77-734a36b24a88", - "type": "d30ca9ee4f35f6cb76d5e5701447fc2b739bc640", + "id": "b6323c55-9b6d-4753-8953-7fb34775a27b", + "type": "21cfcc19a4ad14c5fb5e8cfebd018ec356fe7542", "position": { - "x": 304, - "y": -64 + "x": 864, + "y": 16 }, "size": { "width": 96, "height": 64 } - } - ], - "wires": [ + }, { - "source": { - "block": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba", - "port": "out" + "id": "5f897fa2-936f-47cd-9310-a36fb4cb14a1", + "type": "3bf99b8d77aa1b29ec1bf618b53175de87f1001d", + "position": { + "x": 864, + "y": -64 }, - "target": { - "block": "0ef44beb-f4b1-484c-b15a-dc4431241aee", - "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + "size": { + "width": 96, + "height": 64 } }, { - "source": { - "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", - "port": "out" - }, - "target": { - "block": "0ef44beb-f4b1-484c-b15a-dc4431241aee", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + "id": "a200cfa9-fe9a-4c4b-b9d4-f4307d071797", + "type": "basic.info", + "data": { + "info": "Calculate if the bus can be taken", + "readonly": true }, - "vertices": [ - { - "x": 400, - "y": -168 - } - ] - }, - { - "source": { - "block": "e80cc244-1751-4524-9f77-734a36b24a88", - "port": "3d584b0a-29eb-47af-8c43-c0822282ef05" + "position": { + "x": 216, + "y": 440 }, - "target": { - "block": "0ef44beb-f4b1-484c-b15a-dc4431241aee", - "port": "5e915366-608a-431a-bf68-8c64fb4c302c" + "size": { + "width": 272, + "height": 32 } }, { - "source": { - "block": "0ef44beb-f4b1-484c-b15a-dc4431241aee", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "id": "7a989d63-cd4a-4c47-9513-57b4ea6ee141", + "type": "35f267d0df6ffcb7fc33753bc9df9cf083642cca", + "position": { + "x": 296, + "y": 552 }, - "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "port": "in" + "size": { + "width": 96, + "height": 64 } }, { - "source": { - "block": "0ef44beb-f4b1-484c-b15a-dc4431241aee", - "port": "c7d2d573-b901-420e-a923-6832e5b18e34" + "id": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", + "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", + "position": { + "x": 464, + "y": 568 }, - "target": { - "block": "c7d2d573-b901-420e-a923-6832e5b18e34", - "port": "in" + "size": { + "width": 96, + "height": 64 } - } - ] - } - } - }, - "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a": { - "package": { - "name": "AdderC-1bit", - "version": "0.1", - "description": "AdderC-1bit: Adder of two operands of 1 bit plus the carry in", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", - "otid": 1618560481898 - }, - "design": { - "graph": { - "blocks": [ + }, { - "id": "b28215b2-e375-43cd-96b4-ed5b60418dc6", - "type": "basic.outputLabel", + "id": "239fe2ba-e2b9-4446-a1ea-51e1616f5b75", + "type": "basic.info", "data": { - "blockColor": "fuchsia", - "name": "a" + "info": "The bus is available", + "readonly": true }, "position": { - "x": 504, - "y": -208 + "x": 384, + "y": 512 + }, + "size": { + "width": 184, + "height": 32 } }, { - "id": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", - "type": "basic.input", + "id": "b62ad9b4-5b0e-4b74-a0ad-947946a59331", + "type": "basic.info", "data": { - "name": "a", - "clock": false + "info": "This circuits wants \nto use the bus", + "readonly": true }, "position": { - "x": 136, - "y": -192 + "x": 280, + "y": 664 + }, + "size": { + "width": 192, + "height": 56 } }, { - "id": "f2c3e9af-37a6-4815-9413-c437d2471b1f", - "type": "basic.inputLabel", + "id": "c25805fd-f852-43d5-93db-f3f0cb17c301", + "type": "basic.info", "data": { - "blockColor": "fuchsia", - "name": "a", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "info": "The bus has been already \ntaken", + "readonly": true }, "position": { "x": 272, - "y": -192 + "y": 816 + }, + "size": { + "width": 208, + "height": 56 } }, { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "type": "basic.output", - "data": { - "name": "c" - }, + "id": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", + "type": "81613874c6152f06c06ed7014bf4235900cfcc30", "position": { - "x": 1112, - "y": -176 + "x": 648, + "y": 584 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "cdbf1806-fde2-4763-aeae-cd26f3db2a86", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "b" - }, + "id": "26b71a43-5955-4452-9b0e-94ea6ef453b7", + "type": "81613874c6152f06c06ed7014bf4235900cfcc30", "position": { - "x": 504, - "y": -144 + "x": 1088, + "y": 296 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba", - "type": "basic.input", + "id": "d3ce12c0-3b45-4ed2-8446-fb6c4c8e8710", + "type": "basic.info", "data": { - "name": "b", - "clock": false + "info": "One cycle after the machine is done \nthe bus is already taken to write \nthe bbusy signal to 0 and allow \nother circuits to use it", + "readonly": true }, "position": { - "x": 136, - "y": -120 + "x": 960, + "y": 392 + }, + "size": { + "width": 304, + "height": 88 } }, { - "id": "65936289-69ce-4e26-be4e-44f8a3706934", - "type": "basic.inputLabel", + "id": "110cf90a-bc63-4642-a72e-33e8e397e804", + "type": "basic.info", "data": { - "blockColor": "fuchsia", - "name": "b", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "info": "The output bus is controlled \nby this circuit (1) or \nremain untouched (0)", + "readonly": true }, "position": { - "x": 272, - "y": -120 + "x": 1320, + "y": 288 + }, + "size": { + "width": 240, + "height": 112 } }, { - "id": "6b7a0fc7-9eeb-4894-98fd-e0122d08cdf0", - "type": "basic.outputLabel", + "id": "0421b3fd-c660-4279-abe0-e1d486431ce0", + "type": "basic.info", "data": { - "blockColor": "navy", - "name": "ci", - "oldBlockColor": "fuchsia" + "info": "The reading machine \ncan be started", + "readonly": true }, "position": { - "x": 648, - "y": -96 + "x": 584, + "y": 456 + }, + "size": { + "width": 184, + "height": 64 } }, { - "id": "5e915366-608a-431a-bf68-8c64fb4c302c", - "type": "basic.input", + "id": "e0ace7c0-caa0-440e-9868-d76ffb18bfb2", + "type": "basic.info", "data": { - "name": "ci", - "clock": false + "info": "Reading machine", + "readonly": true }, "position": { - "x": 136, - "y": -40 + "x": 1016, + "y": 728 + }, + "size": { + "width": 168, + "height": 48 } }, { - "id": "9fca1dd5-3d6c-4321-a1cf-fd35336e41ea", - "type": "basic.inputLabel", + "id": "5ce3f494-5892-4a5c-9720-fc5c71449b27", + "type": "basic.info", "data": { - "blockColor": "navy", - "name": "ci", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "info": "## Download machine\n\nTransmit all the memory contents through the serial port \nThe bytes are transmited raw (in binary). No ascii encoding \nThere should be a program running on the computer capable of \nreading these raw bytes", + "readonly": true }, "position": { - "x": 272, - "y": -40 + "x": -112, + "y": -168 + }, + "size": { + "width": 504, + "height": 120 } }, { - "id": "79149d67-753e-414e-ba2a-49ba4edfe523", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "a" - }, + "id": "3d85ed1d-6439-43fc-b3cc-228f8dda3867", + "type": "58ed2b5c7e33e2f215ccba6c101d9ea4ff60f284", "position": { - "x": 480, - "y": 24 + "x": 1336, + "y": 912 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "c7d2d573-b901-420e-a923-6832e5b18e34", - "type": "basic.output", - "data": { - "name": "s" - }, + "id": "966513fd-32a9-4c4a-aeda-ff1b9b27306f", + "type": "58ed2b5c7e33e2f215ccba6c101d9ea4ff60f284", "position": { - "x": 992, - "y": 56 + "x": 1904, + "y": 520 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "edf4525b-edd8-40fa-b784-631b102fb907", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "b" - }, + "id": "c663c571-8a20-4487-bd53-93978e9d1dc8", + "type": "da0861afd3d2e1db0b7bde922cdad9c4a1258652", "position": { - "x": 480, - "y": 88 + "x": 1648, + "y": 680 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "35a4f7cc-d7ef-4653-af75-fe112a5f5151", - "type": "basic.outputLabel", - "data": { - "blockColor": "navy", - "name": "ci", - "oldBlockColor": "fuchsia" - }, + "id": "239ee447-1dc8-4d0a-9f7a-ff93efa825f2", + "type": "873d7e980c08ce11dae3eb7abdaad1615527b3dc", "position": { - "x": 648, - "y": 120 + "x": 1904, + "y": 32 + }, + "size": { + "width": 96, + "height": 128 } }, { - "id": "687d4abf-9ce2-408a-8010-c00e2cec2d44", - "type": "d1240143e1ff7afe57f0f11565da980612b2bb76", + "id": "3fc0dded-543a-4636-a951-fbfcec7d3c24", + "type": "249940b3a2a6f82363df9ad6e49d976c389523b9", "position": { - "x": 648, - "y": 40 + "x": 1880, + "y": 664 }, "size": { "width": 96, - "height": 64 + "height": 96 } }, { - "id": "6756cb54-aa93-40af-a5f3-41ef2b2edec9", - "type": "d1240143e1ff7afe57f0f11565da980612b2bb76", + "id": "b83abd74-3947-4217-b890-75dae5bbb676", + "type": "d1635cb33c6d31e1ea457005c78d574fcf71828b", "position": { - "x": 832, - "y": 56 + "x": 384, + "y": 184 }, "size": { "width": 96, - "height": 64 + "height": 128 } }, { - "id": "f7053b6b-9812-48df-9212-cb8dc49d44cd", - "type": "ba518ee261a2be13a9739cd3a01cdcebe0ef63c0", + "id": "3e2a74fa-37e6-46c1-b08f-656cfdf57991", + "type": "6e4fc811dcd6d1ac703e608270f81ee906ee7e98", "position": { - "x": 808, + "x": 1080, "y": -80 }, "size": { "width": 96, - "height": 64 + "height": 128 } }, { - "id": "d77ee777-f5ad-4f89-832b-e1f95f0cf9db", - "type": "ba518ee261a2be13a9739cd3a01cdcebe0ef63c0", + "id": "bcba73d0-e5af-4e93-8321-2cd9bd80a3c1", + "type": "cae9cdc6d7b2442eb4d4095c65ccf9bd24a99bb9", "position": { - "x": 632, - "y": -192 + "x": 1016, + "y": 800 }, "size": { "width": 96, - "height": 64 + "height": 128 } }, { - "id": "dd3259d5-99f6-47f2-881c-4e969e324444", - "type": "873425949b2a80f1a7f66f320796bcd068a59889", + "id": "b03bc63e-9e9c-47d7-b458-9fed9605b706", + "type": "5fcfda234fb072b021cd8f915af77e7ae7860198", "position": { - "x": 960, - "y": -176 + "x": 1312, + "y": 104 }, "size": { "width": 96, - "height": 64 + "height": 96 } } ], "wires": [ { "source": { - "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", + "block": "7fb933a6-5c63-4d46-8aaa-440b30974993", "port": "out" }, "target": { - "block": "f2c3e9af-37a6-4815-9413-c437d2471b1f", + "block": "2c31aa6a-383c-4eb5-b669-b8a31ad14225", "port": "inlabel" - } + }, + "vertices": [] }, { "source": { - "block": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba", + "block": "b14f140b-7bb5-46d9-8019-39c27ff6e0e3", "port": "out" }, "target": { - "block": "65936289-69ce-4e26-be4e-44f8a3706934", + "block": "da45f105-3600-4458-a820-50046581f5dd", "port": "inlabel" } }, { "source": { - "block": "5e915366-608a-431a-bf68-8c64fb4c302c", - "port": "out" + "block": "b83abd74-3947-4217-b890-75dae5bbb676", + "port": "9751f777-00ec-46c1-8d85-07d2dec1e653" }, "target": { - "block": "9fca1dd5-3d6c-4321-a1cf-fd35336e41ea", + "block": "05a1a5b4-bf29-49df-b0b1-887859d9ec9e", "port": "inlabel" } }, { "source": { - "block": "79149d67-753e-414e-ba2a-49ba4edfe523", + "block": "b83abd74-3947-4217-b890-75dae5bbb676", + "port": "afe50480-6fe5-4ca6-b639-c730569a6a1d", + "size": 8 + }, + "target": { + "block": "914e03dd-1133-4325-a333-b10f953ecce5", + "port": "inlabel" + }, + "size": 8 + }, + { + "source": { + "block": "7df4a7f1-90b6-4562-8be3-e4719a824545", "port": "outlabel" }, "target": { - "block": "687d4abf-9ce2-408a-8010-c00e2cec2d44", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "block": "bcba73d0-e5af-4e93-8321-2cd9bd80a3c1", + "port": "cb426e3d-ace3-4a57-a74b-155caed0c14c" } }, { "source": { - "block": "edf4525b-edd8-40fa-b784-631b102fb907", + "block": "fce01e4d-e6d2-4811-8f96-410673168b4c", "port": "outlabel" }, "target": { - "block": "687d4abf-9ce2-408a-8010-c00e2cec2d44", + "block": "7a989d63-cd4a-4c47-9513-57b4ea6ee141", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + }, + "vertices": [] + }, + { + "source": { + "block": "524ca75c-cdd3-4e79-851a-b46ce146bd66", + "port": "outlabel" + }, + "target": { + "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", "port": "97b51945-d716-4b6c-9db9-970d08541249" - } + }, + "vertices": [] }, { "source": { - "block": "35a4f7cc-d7ef-4653-af75-fe112a5f5151", + "block": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "700d8b15-d6df-4b76-b10d-72db58c33e6c", + "port": "inlabel" + }, + "vertices": [] + }, + { + "source": { + "block": "0db424eb-f896-41e1-becb-7eb065dd64f2", "port": "outlabel" }, "target": { - "block": "6756cb54-aa93-40af-a5f3-41ef2b2edec9", + "block": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + }, + "vertices": [ + { + "x": 584, + "y": 824 + } + ] + }, + { + "source": { + "block": "9be4488d-51be-4346-8a31-5d8f2f86e4d3", + "port": "outlabel" + }, + "target": { + "block": "26b71a43-5955-4452-9b0e-94ea6ef453b7", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + }, + "vertices": [] + }, + { + "source": { + "block": "923c4db6-0c76-4647-a848-75fd61fba6ec", + "port": "outlabel" + }, + "target": { + "block": "26b71a43-5955-4452-9b0e-94ea6ef453b7", "port": "97b51945-d716-4b6c-9db9-970d08541249" + }, + "vertices": [] + }, + { + "source": { + "block": "bcba73d0-e5af-4e93-8321-2cd9bd80a3c1", + "port": "49221b19-132a-4e3f-9a1f-97bcd463391b" + }, + "target": { + "block": "366a768a-2f5d-4c01-8338-bdef0a688ea7", + "port": "inlabel" + } + }, + { + "source": { + "block": "eda78d52-57f7-4e44-bd8e-75e67c496650", + "port": "outlabel" + }, + "target": { + "block": "bcba73d0-e5af-4e93-8321-2cd9bd80a3c1", + "port": "ad4d0fc2-118e-496e-b292-c435bad20e7d" + } + }, + { + "source": { + "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "54e9bf9f-b852-4c45-bd53-f6eb4ee707eb", + "port": "inlabel" + } + }, + { + "source": { + "block": "dc204461-1dd1-428f-91a2-006d905d6585", + "port": "outlabel" + }, + "target": { + "block": "bcba73d0-e5af-4e93-8321-2cd9bd80a3c1", + "port": "8f591b24-0427-409f-aa6e-ca1861556cf5" + } + }, + { + "source": { + "block": "bcba73d0-e5af-4e93-8321-2cd9bd80a3c1", + "port": "6a11eaf9-4bd5-405e-81f8-44418365326b" + }, + "target": { + "block": "7e9db299-cb56-4cd9-a489-d5fbd6eb3e2f", + "port": "inlabel" + } + }, + { + "source": { + "block": "a040cc3d-b2c6-458e-bde6-f8234a19b6d1", + "port": "outlabel" + }, + "target": { + "block": "38abb13c-8652-41fb-931c-c7bf760ebb24", + "port": "in" + }, + "vertices": [] + }, + { + "source": { + "block": "8ca2279c-fdc3-40d3-9fbe-2071c026932f", + "port": "outlabel" + }, + "target": { + "block": "3e2a74fa-37e6-46c1-b08f-656cfdf57991", + "port": "49fb1766-1e7f-4706-9872-a6cd65cc9f2d" + } + }, + { + "source": { + "block": "289f00be-f97d-4553-a60a-32d8b45da4cc", + "port": "outlabel" + }, + "target": { + "block": "966513fd-32a9-4c4a-aeda-ff1b9b27306f", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + } + }, + { + "source": { + "block": "7d0852c6-4778-4a53-bf90-30527c44a0eb", + "port": "outlabel" + }, + "target": { + "block": "966513fd-32a9-4c4a-aeda-ff1b9b27306f", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + } + }, + { + "source": { + "block": "c1c96b9c-e573-43a0-8b60-9f7fe7ad5ae6", + "port": "outlabel" + }, + "target": { + "block": "3fc0dded-543a-4636-a951-fbfcec7d3c24", + "port": "1e7e3cd6-ed00-468a-9f7c-0bb91e020dce" + }, + "vertices": [] + }, + { + "source": { + "block": "adcb920c-12a7-478f-b1f2-9877d62d2673", + "port": "outlabel" + }, + "target": { + "block": "3d85ed1d-6439-43fc-b3cc-228f8dda3867", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + } + }, + { + "source": { + "block": "3d85ed1d-6439-43fc-b3cc-228f8dda3867", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + }, + "target": { + "block": "caf86b2c-c08d-411d-be47-4084fec9532e", + "port": "inlabel" } }, { "source": { - "block": "6b7a0fc7-9eeb-4894-98fd-e0122d08cdf0", + "block": "1afea26e-4199-4bc9-bee1-c5689a14f8b6", "port": "outlabel" }, "target": { - "block": "f7053b6b-9812-48df-9212-cb8dc49d44cd", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "block": "24450b7d-19ce-463a-83fb-5e1c04e4b093", + "port": "in" } }, { "source": { - "block": "b28215b2-e375-43cd-96b4-ed5b60418dc6", - "port": "outlabel" + "block": "886b88b1-4987-4f1f-aadd-d82bb53ab445", + "port": "out", + "size": 10 }, "target": { - "block": "d77ee777-f5ad-4f89-832b-e1f95f0cf9db", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - } + "block": "523a4825-1562-4f5d-b129-c7d08fe542c2", + "port": "inlabel" + }, + "size": 10 }, { "source": { - "block": "cdbf1806-fde2-4763-aeae-cd26f3db2a86", + "block": "b359cb97-c324-4ffc-a73c-64c7f457e6fa", "port": "outlabel" }, "target": { - "block": "d77ee777-f5ad-4f89-832b-e1f95f0cf9db", - "port": "97b51945-d716-4b6c-9db9-970d08541249" - } + "block": "239ee447-1dc8-4d0a-9f7a-ff93efa825f2", + "port": "8c3ce21f-2214-489f-853a-d60a223034da", + "size": 10 + }, + "size": 10 }, { "source": { - "block": "687d4abf-9ce2-408a-8010-c00e2cec2d44", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "f81791c6-f02f-46d0-b738-5895dd124243", + "port": "outlabel" }, "target": { - "block": "6756cb54-aa93-40af-a5f3-41ef2b2edec9", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "block": "239ee447-1dc8-4d0a-9f7a-ff93efa825f2", + "port": "04841e3c-8761-454a-8d99-496fde26ea1f" } }, { "source": { - "block": "6756cb54-aa93-40af-a5f3-41ef2b2edec9", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "a875b188-26fa-4052-ae81-4b5f22f4c1e5", + "port": "outlabel" }, "target": { - "block": "c7d2d573-b901-420e-a923-6832e5b18e34", - "port": "in" - } + "block": "239ee447-1dc8-4d0a-9f7a-ff93efa825f2", + "port": "1ac9dd5b-9741-4af4-963a-50cbf8c4c6be" + }, + "vertices": [ + { + "x": 1800, + "y": 88 + } + ] }, { "source": { - "block": "687d4abf-9ce2-408a-8010-c00e2cec2d44", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "786f1170-66ce-4c3a-acdc-073388546edd", + "port": "outlabel" }, "target": { - "block": "f7053b6b-9812-48df-9212-cb8dc49d44cd", - "port": "97b51945-d716-4b6c-9db9-970d08541249" - } + "block": "239ee447-1dc8-4d0a-9f7a-ff93efa825f2", + "port": "72632c73-fe18-42b3-b81f-46999ddfdb20", + "size": 8 + }, + "size": 8 }, { "source": { - "block": "f7053b6b-9812-48df-9212-cb8dc49d44cd", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "239ee447-1dc8-4d0a-9f7a-ff93efa825f2", + "port": "233059d5-8ab7-4c63-8dab-0c6af3a1dc28" }, "target": { - "block": "dd3259d5-99f6-47f2-881c-4e969e324444", - "port": "97b51945-d716-4b6c-9db9-970d08541249" + "block": "bf61387a-ef36-4f3c-898f-e274c3136b18", + "port": "inlabel" } }, { "source": { - "block": "d77ee777-f5ad-4f89-832b-e1f95f0cf9db", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "0399b081-5696-4bf7-bb75-cd55da78d4f5", + "port": "outlabel" }, "target": { - "block": "dd3259d5-99f6-47f2-881c-4e969e324444", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - } + "block": "3fc0dded-543a-4636-a951-fbfcec7d3c24", + "port": "3ebd9e0a-9308-4615-af47-ae7b97f6f04a", + "size": 8 + }, + "vertices": [ + { + "x": 1800, + "y": 656 + } + ], + "size": 8 }, { "source": { - "block": "dd3259d5-99f6-47f2-881c-4e969e324444", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "64a86ee7-b105-409d-9e91-cca498c9121b", + "port": "out", + "size": 24 }, "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "port": "in" - } - } - ] - } - } - }, - "d1240143e1ff7afe57f0f11565da980612b2bb76": { - "package": { - "name": "XOR2", - "version": "1.0.2", - "description": "XOR gate: two bits input xor gate", - "author": "Jesús Arroyo, Juan González", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22193.047%22%20width=%22383.697%22%20version=%221%22%3E%3Cpath%20d=%22M175.56%20189.047H84.527s30.345-42.538%2031.086-94.03c.743-51.49-31.821-90.294-31.821-90.294l92.317-.394c46.445%201.948%20103.899%2053.44%20123.047%2093.678-32.601%2067.503-92.158%2089.79-123.596%2091.04z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2047.62h99.605M4.883%20145.497h100.981M298.57%2099.219h81.07%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20x=%22129.011%22%20y=%22115.285%22%20font-size=%2258.24%22%20font-weight=%22400%22%20style=%22line-height:125%25%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20transform=%22translate(0%20.329)%22%3E%3Ctspan%20x=%22129.011%22%20y=%22115.285%22%20font-weight=%22700%22%3EXOR%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M54.321%20188.368s30.345-42.538%2031.086-94.03c.742-51.49-31.821-90.294-31.821-90.294%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "18c2ebc7-5152-439c-9b3f-851c59bac834", - "type": "basic.input", - "data": { - "name": "" + "block": "74555a80-b4b5-40d0-bf28-afa5a588b1e2", + "port": "inlabel" }, - "position": { - "x": 120, - "y": 48 - } + "size": 24 }, { - "id": "664caf9e-5f40-4df4-800a-b626af702e62", - "type": "basic.output", - "data": { - "name": "" + "source": { + "block": "93050bc1-206a-4fb3-9c14-9a41ab42f7ed", + "port": "outlabel" }, - "position": { - "x": 560, - "y": 72 - } - }, - { - "id": "97b51945-d716-4b6c-9db9-970d08541249", - "type": "basic.input", - "data": { - "name": "" + "target": { + "block": "b83abd74-3947-4217-b890-75dae5bbb676", + "port": "2117685c-3a4e-4403-a12a-5de3ed4c20a5", + "size": 24 }, - "position": { - "x": 120, - "y": 104 - } + "size": 24 }, { - "id": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "type": "basic.code", - "data": { - "code": "//-- XOR gate\n//-- Verilog implementation\n\nassign c = a ^ b;\n", - "params": [], - "ports": { - "in": [ - { - "name": "a" - }, - { - "name": "b" - } - ], - "out": [ - { - "name": "c" - } - ] - } + "source": { + "block": "9188c313-c3af-4a0b-b917-d759873cd681", + "port": "outlabel" }, - "position": { - "x": 256, - "y": 48 + "target": { + "block": "3e2a74fa-37e6-46c1-b08f-656cfdf57991", + "port": "61496e71-85ba-465b-89b9-fedb08b8590d", + "size": 14 }, - "size": { - "width": 272, - "height": 112 - } - } - ], - "wires": [ + "size": 14 + }, { "source": { - "block": "18c2ebc7-5152-439c-9b3f-851c59bac834", - "port": "out" + "block": "bcba73d0-e5af-4e93-8321-2cd9bd80a3c1", + "port": "19940e4f-3166-4887-a4e2-ea5babe5f726", + "size": 14 }, "target": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "a" - } + "block": "e4dc109d-2b1c-402e-b474-ee1c6abeec66", + "port": "inlabel" + }, + "size": 14 }, { "source": { - "block": "97b51945-d716-4b6c-9db9-970d08541249", - "port": "out" + "block": "90093714-11a0-4cea-ad1a-bae5e4aac8dc", + "port": "outlabel" }, "target": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "b" - } + "block": "b03bc63e-9e9c-47d7-b458-9fed9605b706", + "port": "63847aa3-e2cd-4ff3-806d-b566a8176645", + "size": 24 + }, + "size": 24 }, { "source": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "c" + "block": "5f897fa2-936f-47cd-9310-a36fb4cb14a1", + "port": "ad29e130-c17a-4544-9237-4c72551ccbeb" }, "target": { - "block": "664caf9e-5f40-4df4-800a-b626af702e62", - "port": "in" - } - } - ] - } - } - }, - "a1ce303b8ce47a06371ea4641c81460f34a1cca9": { - "package": { - "name": "AdderC-4bits", - "version": "0.1", - "description": "AdderC-4bits: Adder of two operands of 4 bits and Carry in", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", - "otid": 1618560481898 - }, - "design": { - "graph": { - "blocks": [ - { - "id": "1c9b3962-5793-4e6f-98d4-9ca2113d0823", - "type": "basic.inputLabel", - "data": { - "blockColor": "deeppink", - "name": "a3", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "deeppink" + "block": "3e2a74fa-37e6-46c1-b08f-656cfdf57991", + "port": "25996d5e-6856-4828-8cb3-5dea5ff5cf9c" }, - "position": { - "x": 8, - "y": -744 - } + "vertices": [], + "size": 8 }, { - "id": "161a3e27-de9b-4674-b990-c1e8314a29f3", - "type": "basic.outputLabel", - "data": { - "blockColor": "deeppink", - "name": "a3", - "oldBlockColor": "deeppink" + "source": { + "block": "b6323c55-9b6d-4753-8953-7fb34775a27b", + "port": "3d584b0a-29eb-47af-8c43-c0822282ef05" }, - "position": { - "x": 576, - "y": -736 - } + "target": { + "block": "3e2a74fa-37e6-46c1-b08f-656cfdf57991", + "port": "dbe1622c-3510-4132-8b5c-2fbf81d7f581" + }, + "vertices": [ + { + "x": 1000, + "y": 16 + } + ] }, { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "type": "basic.output", - "data": { - "name": "c" + "source": { + "block": "7a989d63-cd4a-4c47-9513-57b4ea6ee141", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, - "position": { - "x": 920, - "y": -696 - } + "target": { + "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + }, + "vertices": [] }, { - "id": "73a0a48e-d345-4eda-8603-782e9865d928", - "type": "basic.inputLabel", - "data": { - "blockColor": "deeppink", - "name": "a2", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "deeppink" + "source": { + "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, - "position": { - "x": 8, - "y": -688 - } + "target": { + "block": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + }, + "vertices": [] }, { - "id": "05fb13c5-879a-422f-84a8-56d1db8816da", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "b3", - "oldBlockColor": "fuchsia" + "source": { + "block": "26b71a43-5955-4452-9b0e-94ea6ef453b7", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, - "position": { - "x": 576, - "y": -672 + "target": { + "block": "b03bc63e-9e9c-47d7-b458-9fed9605b706", + "port": "1e7e3cd6-ed00-468a-9f7c-0bb91e020dce" } }, { - "id": "a30f87da-7077-4ad6-92dd-adbfdd1bed45", - "type": "basic.inputLabel", - "data": { - "blockColor": "deeppink", - "name": "a1", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "deeppink" + "source": { + "block": "966513fd-32a9-4c4a-aeda-ff1b9b27306f", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" }, - "position": { - "x": 8, - "y": -632 + "target": { + "block": "95c4416f-62f5-4196-a406-f7915d40a572", + "port": "in" } }, { - "id": "c2d36218-be99-4dd1-bf69-7690c667255b", - "type": "basic.input", - "data": { - "name": "", - "range": "[3:0]", - "clock": false, - "size": 4 + "source": { + "block": "3fc0dded-543a-4636-a951-fbfcec7d3c24", + "port": "e1d78d57-b098-4613-a11e-9e106a69765b" }, - "position": { - "x": -312, - "y": -632 - } + "target": { + "block": "3066cf48-9921-4487-826e-0464a2dead7a", + "port": "in" + }, + "size": 8 }, { - "id": "ed7a30bc-17fc-444e-89e5-aa9f83b32e86", - "type": "basic.outputLabel", - "data": { - "blockColor": "deeppink", - "name": "a2", - "oldBlockColor": "deeppink" + "source": { + "block": "bcba73d0-e5af-4e93-8321-2cd9bd80a3c1", + "port": "73948305-b05b-418f-88af-11328f400cdc" }, - "position": { - "x": 456, - "y": -584 - } + "target": { + "block": "3d85ed1d-6439-43fc-b3cc-228f8dda3867", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + }, + "vertices": [ + { + "x": 1176, + "y": 928 + } + ] }, { - "id": "d7d5e8c8-78dd-41a8-aedf-1051b89bfb77", - "type": "basic.inputLabel", - "data": { - "blockColor": "deeppink", - "name": "a0", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "source": { + "block": "239ee447-1dc8-4d0a-9f7a-ff93efa825f2", + "port": "9aa5255a-60da-463d-ba87-d4f96456d802" }, - "position": { - "x": 8, - "y": -576 - } + "target": { + "block": "20d63505-e2fd-44ed-95b9-9f45e8875e70", + "port": "in" + }, + "size": 10 }, { - "id": "3c8597e6-ca79-494a-9a53-04c284205216", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "b2", - "oldBlockColor": "fuchsia" + "source": { + "block": "c663c571-8a20-4487-bd53-93978e9d1dc8", + "port": "56102125-3ee5-4ee9-94d5-e66dfcacb7de" }, - "position": { - "x": 456, - "y": -528 - } + "target": { + "block": "3fc0dded-543a-4636-a951-fbfcec7d3c24", + "port": "d3868260-885c-407b-b2e4-3a25beb8fd5e" + }, + "size": 8 }, { - "id": "ee992ca6-d586-4901-aaa3-a17d94ddac84", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "b3", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "source": { + "block": "3e2a74fa-37e6-46c1-b08f-656cfdf57991", + "port": "81a20a74-f096-4c3b-bc35-91917f08c79b" }, - "position": { - "x": -8, - "y": -448 - } + "target": { + "block": "b03bc63e-9e9c-47d7-b458-9fed9605b706", + "port": "a7083464-b9f2-4661-ba0e-e1875f71f9f7" + }, + "vertices": [ + { + "x": 1240, + "y": 48 + } + ], + "size": 24 }, { - "id": "c5dce3e4-5ecc-4fc9-bbf6-7c1adfa1c7ff", - "type": "basic.outputLabel", - "data": { - "blockColor": "deeppink", - "name": "a1", - "oldBlockColor": "fuchsia" + "source": { + "block": "b03bc63e-9e9c-47d7-b458-9fed9605b706", + "port": "cf1ee513-b831-4546-b816-53c8196fca1c" }, - "position": { - "x": 328, - "y": -440 - } - }, + "target": { + "block": "7b8dd447-e9d2-4c9f-ba7c-c3af9abed4e8", + "port": "in" + }, + "size": 24 + } + ] + } + } + }, + "21cfcc19a4ad14c5fb5e8cfebd018ec356fe7542": { + "package": { + "name": "0", + "version": "0.1", + "description": "Un bit constante a 0", + "author": "Jesus Arroyo", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2233.563%22%20height=%2257.469%22%20viewBox=%220%200%2031.465601%2053.876499%22%3E%3Cpath%20d=%22M21.822%2032.843l4.092%208.992-3.772%209.727%204.181%201.31m-12.967-19.26s-1.091%208.253-2.585%208.919C9.278%2043.198%201%2049.389%201%2049.389l2.647%203.256%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%22-.863%22%20y=%2230.575%22%20transform=%22scale(.90756%201.10186)%22%20font-weight=%22400%22%20font-size=%2254.594%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22%3E%3Ctspan%20x=%22-.863%22%20y=%2230.575%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold%20Italic'%22%20font-style=%22italic%22%20font-weight=%22700%22%3Eo%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ { - "id": "fb8bbeb1-5c60-4629-bc13-231545818d0b", - "type": "basic.inputLabel", + "id": "3d584b0a-29eb-47af-8c43-c0822282ef05", + "type": "basic.output", "data": { - "blockColor": "fuchsia", - "name": "b2", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "name": "" }, "position": { - "x": -8, - "y": -384 + "x": 512, + "y": 160 } }, { - "id": "d192d0af-e7be-4be6-925a-50227d80784c", - "type": "basic.input", + "id": "61331ec5-2c56-4cdd-b607-e63b1502fa65", + "type": "basic.code", "data": { - "name": "", - "range": "[3:0]", - "clock": false, - "size": 4 + "code": "//-- Bit constante a 0\nassign q = 1'b0;\n\n", + "params": [], + "ports": { + "in": [], + "out": [ + { + "name": "q" + } + ] + } }, "position": { - "x": -312, - "y": -384 + "x": 168, + "y": 112 + }, + "size": { + "width": 256, + "height": 160 } - }, + } + ], + "wires": [ { - "id": "038a8cb8-35b8-424a-9d14-c320cfcddccf", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "b1" + "source": { + "block": "61331ec5-2c56-4cdd-b607-e63b1502fa65", + "port": "q" }, - "position": { - "x": 328, - "y": -376 + "target": { + "block": "3d584b0a-29eb-47af-8c43-c0822282ef05", + "port": "in" } - }, + } + ] + } + } + }, + "3bf99b8d77aa1b29ec1bf618b53175de87f1001d": { + "package": { + "name": "Valor_0_8bits", + "version": "0.0.1", + "description": "Valor constante 0 para bus de 8 bits", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22346.308%22%20height=%22300.445%22%20viewBox=%220%200%20324.66403%20281.66758%22%3E%3Cg%20font-weight=%22400%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22371.115%22%20y=%22653.344%22%20font-size=%22335.399%22%20fill=%22green%22%20transform=%22translate(-326.544%20-441.037)%22%3E%3Ctspan%20x=%22371.115%22%20y=%22653.344%22%3E0%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22322.722%22%20y=%22721.624%22%20font-size=%2283.077%22%20transform=%22translate(-326.544%20-441.037)%22%3E%3Ctspan%20x=%22322.722%22%20y=%22721.624%22%3E00000000%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22548.722%22%20y=%22651.624%22%20font-size=%2283.077%22%20fill=%22#00f%22%20transform=%22translate(-326.544%20-441.037)%22%3E%3Ctspan%20x=%22548.722%22%20y=%22651.624%22%3E00%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ { - "id": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42", + "id": "ad29e130-c17a-4544-9237-4c72551ccbeb", "type": "basic.output", "data": { - "name": "s", - "range": "[3:0]", - "size": 4 + "name": "k", + "range": "[7:0]", + "size": 8 }, "position": { - "x": 1064, - "y": -368 + "x": 928, + "y": 256 } }, { - "id": "527c9113-e440-454b-b427-182b646c10f5", - "type": "basic.inputLabel", + "id": "ad7918eb-22dd-4b6c-949f-e428f5a55530", + "type": "basic.constant", "data": { - "blockColor": "fuchsia", - "name": "b1", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "name": "", + "value": "0", + "local": true }, "position": { - "x": -16, - "y": -320 + "x": 728, + "y": 152 } }, { - "id": "f8dceaf6-6020-49e5-b775-ed4821fbd5bd", - "type": "basic.outputLabel", - "data": { - "blockColor": "deeppink", - "name": "a0", - "oldBlockColor": "fuchsia" - }, + "id": "d8755f82-ee3e-47e9-9ac3-e4d6713a6105", + "type": "5ad97e1e35a295d0ec722addd6df97c806fc6b7c", "position": { - "x": 184, - "y": -296 + "x": 728, + "y": 256 + }, + "size": { + "width": 96, + "height": 64 } - }, + } + ], + "wires": [ { - "id": "b652825e-10ba-47cc-9832-e39d73586234", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "b0", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "source": { + "block": "ad7918eb-22dd-4b6c-949f-e428f5a55530", + "port": "constant-out" }, - "position": { - "x": -32, - "y": -264 + "target": { + "block": "d8755f82-ee3e-47e9-9ac3-e4d6713a6105", + "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" } }, { - "id": "7e5351cc-ea73-4bb2-9dda-0390f005b90b", - "type": "basic.outputLabel", + "source": { + "block": "d8755f82-ee3e-47e9-9ac3-e4d6713a6105", + "port": "a9d6830d-5cc7-4f63-a068-35181d2537bc" + }, + "target": { + "block": "ad29e130-c17a-4544-9237-4c72551ccbeb", + "port": "in" + }, + "size": 8 + } + ] + } + } + }, + "5ad97e1e35a295d0ec722addd6df97c806fc6b7c": { + "package": { + "name": "Constante-8bits", + "version": "0.0.1", + "description": "Valor genérico constante, de 8 bits. Su valor se introduce como parámetro. Por defecto vale 0", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22145.608%22%20height=%22247.927%22%20viewBox=%220%200%20136.50729%20232.43134%22%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22293.115%22%20y=%22648.344%22%20font-weight=%22400%22%20font-size=%22335.399%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22%20transform=%22translate(-316.929%20-415.913)%22%3E%3Ctspan%20x=%22293.115%22%20y=%22648.344%22%3Ek%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "a9d6830d-5cc7-4f63-a068-35181d2537bc", + "type": "basic.output", "data": { - "blockColor": "fuchsia", - "name": "b0", - "oldBlockColor": "fuchsia" + "name": "k", + "range": "[7:0]", + "size": 8 }, "position": { - "x": 184, - "y": -232 + "x": 960, + "y": 248 } }, { - "id": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86", - "type": "basic.input", + "id": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "type": "basic.constant", "data": { - "name": "ci", - "clock": false + "name": "", + "value": "0", + "local": false }, "position": { - "x": -296, - "y": -168 + "x": 728, + "y": 128 } }, { - "id": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", - "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", - "position": { - "x": 464, - "y": -392 + "id": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "type": "basic.code", + "data": { + "code": "assign k = VALUE;", + "params": [ + { + "name": "VALUE" + } + ], + "ports": { + "in": [], + "out": [ + { + "name": "k", + "range": "[7:0]", + "size": 8 + } + ] + } }, - "size": { - "width": 96, - "height": 96 - } - }, - { - "id": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", "position": { - "x": 608, - "y": -544 + "x": 672, + "y": 248 }, "size": { - "width": 96, - "height": 96 + "width": 208, + "height": 64 } - }, + } + ], + "wires": [ { - "id": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "type": "c4f23ad05c2010ec9bd213c8814c9238873037ae", - "position": { - "x": -168, - "y": -416 + "source": { + "block": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "port": "constant-out" }, - "size": { - "width": 96, - "height": 128 + "target": { + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "VALUE" } }, { - "id": "57e59301-2919-4f06-ba95-54ce5d99d774", - "type": "c4f23ad05c2010ec9bd213c8814c9238873037ae", - "position": { - "x": -152, - "y": -664 + "source": { + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "k" }, - "size": { - "width": 96, - "height": 128 - } - }, + "target": { + "block": "a9d6830d-5cc7-4f63-a068-35181d2537bc", + "port": "in" + }, + "size": 8 + } + ] + } + } + }, + "da0861afd3d2e1db0b7bde922cdad9c4a1258652": { + "package": { + "name": "8bits-Value_0", + "version": "0.0.1", + "description": "8bits constant value: 0", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22153.645%22%20height=%22230.616%22%20viewBox=%220%200%20144.04211%20216.20273%22%3E%3Cg%20style=%22line-height:0%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%3E%3Cpath%20d=%22M72.021%2022.332q-21.774%200-32.8%2021.495-10.887%2021.355-10.887%2064.344%200%2042.85%2010.887%2064.345%2011.026%2021.355%2032.8%2021.355%2021.913%200%2032.8-21.355%2011.027-21.495%2011.027-64.345%200-42.99-11.027-64.344-10.887-21.495-32.8-21.495zm0-22.332q35.034%200%2053.458%2027.776%2018.563%2027.636%2018.563%2080.395%200%2052.62-18.563%2080.396-18.424%2027.636-53.458%2027.636-35.033%200-53.597-27.636Q0%20160.79%200%20108.17q0-52.76%2018.424-80.395Q36.988%200%2072.021%200z%22%20style=%22line-height:1.25%22%20font-size=%22285.851%22%20font-family=%22sans-serif%22%20stroke-width=%227.146%22%20font-weight=%22400%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22/%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ { - "id": "11342001-e6e0-443b-af87-0e5d7ada0227", - "type": "84f0a15761ee8b753f67079819a7614923939472", + "id": "56102125-3ee5-4ee9-94d5-e66dfcacb7de", + "type": "basic.output", + "data": { + "name": "", + "range": "[7:0]", + "size": 8 + }, "position": { "x": 896, - "y": -400 - }, - "size": { - "width": 96, - "height": 128 + "y": 256 } }, { - "id": "72c87c65-b34b-480f-8cde-cd97c0914014", - "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", - "position": { - "x": 744, - "y": -688 + "id": "ad7918eb-22dd-4b6c-949f-e428f5a55530", + "type": "basic.constant", + "data": { + "name": "", + "value": "0", + "local": true }, - "size": { - "width": 96, - "height": 96 + "position": { + "x": 728, + "y": 152 } }, { - "id": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", - "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", + "id": "6db4f25e-c3b1-4cc1-b159-a918b9ce2f53", + "type": "ffc517ae50d4171640702dac38a546757cc9ae35", "position": { - "x": 320, - "y": -248 + "x": 728, + "y": 256 }, "size": { "width": 96, - "height": 96 + "height": 64 } } ], "wires": [ { "source": { - "block": "038a8cb8-35b8-424a-9d14-c320cfcddccf", - "port": "outlabel" + "block": "ad7918eb-22dd-4b6c-949f-e428f5a55530", + "port": "constant-out" }, "target": { - "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", - "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + "block": "6db4f25e-c3b1-4cc1-b159-a918b9ce2f53", + "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" } }, { "source": { - "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "port": "f5a71d7b-de20-4527-80c8-0eb20de0dc77" + "block": "6db4f25e-c3b1-4cc1-b159-a918b9ce2f53", + "port": "b5ba4b9b-f5f9-4eb7-9faf-b362f0463917" }, "target": { - "block": "527c9113-e440-454b-b427-182b646c10f5", - "port": "inlabel" - } - }, - { - "source": { - "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "port": "0f7487e5-b070-4277-bba6-acf69934afca" + "block": "56102125-3ee5-4ee9-94d5-e66dfcacb7de", + "port": "in" }, - "target": { - "block": "b652825e-10ba-47cc-9832-e39d73586234", - "port": "inlabel" - } - }, + "size": 8 + } + ] + } + } + }, + "ffc517ae50d4171640702dac38a546757cc9ae35": { + "package": { + "name": "8-bits-gen-constant", + "version": "0.0.2", + "description": "Generic: 8-bits generic constant (0-255)", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22145.608%22%20height=%22247.927%22%20viewBox=%220%200%20136.50729%20232.43134%22%3E%3Cg%20style=%22line-height:0%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%3E%3Cpath%20d=%22M56.012%20146.905q9.055%206.708%2020.459%2017.105%2011.404%2010.062%2022.472%2021.8%2011.403%2011.74%2021.465%2024.15%2010.062%2012.074%2016.1%2022.471h-32.87q-6.372-10.397-15.763-21.13-9.392-11.068-20.124-21.13-10.398-10.062-21.13-18.447-10.398-8.385-18.783-14.087v74.794H0V4.695L27.838%200v141.874q18.447-16.1%2036.894-31.863%2018.447-16.1%2033.205-33.205h32.533q-14.422%2017.106-34.881%2035.217-20.124%2018.112-39.577%2034.882z%22%20style=%22line-height:1.25%22%20font-size=%22335.399%22%20font-weight=%22400%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22/%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ { - "source": { - "block": "7e5351cc-ea73-4bb2-9dda-0390f005b90b", - "port": "outlabel" + "id": "b5ba4b9b-f5f9-4eb7-9faf-b362f0463917", + "type": "basic.output", + "data": { + "name": "", + "range": "[7:0]", + "size": 8 }, - "target": { - "block": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", - "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + "position": { + "x": 952, + "y": 248 } }, { - "source": { - "block": "f8dceaf6-6020-49e5-b775-ed4821fbd5bd", - "port": "outlabel" + "id": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "type": "basic.constant", + "data": { + "name": "", + "value": "0", + "local": false }, - "target": { - "block": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + "position": { + "x": 728, + "y": 128 } }, { - "source": { - "block": "57e59301-2919-4f06-ba95-54ce5d99d774", - "port": "0f7487e5-b070-4277-bba6-acf69934afca" + "id": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "type": "basic.code", + "data": { + "code": "assign k = VALUE;", + "params": [ + { + "name": "VALUE" + } + ], + "ports": { + "in": [], + "out": [ + { + "name": "k", + "range": "[7:0]", + "size": 8 + } + ] + } }, - "target": { - "block": "d7d5e8c8-78dd-41a8-aedf-1051b89bfb77", - "port": "inlabel" + "position": { + "x": 672, + "y": 248 + }, + "size": { + "width": 208, + "height": 64 } - }, + } + ], + "wires": [ { "source": { - "block": "c5dce3e4-5ecc-4fc9-bbf6-7c1adfa1c7ff", - "port": "outlabel" + "block": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "port": "constant-out" }, "target": { - "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "VALUE" } }, { "source": { - "block": "57e59301-2919-4f06-ba95-54ce5d99d774", - "port": "f5a71d7b-de20-4527-80c8-0eb20de0dc77" + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "k" }, "target": { - "block": "a30f87da-7077-4ad6-92dd-adbfdd1bed45", - "port": "inlabel" - } - }, + "block": "b5ba4b9b-f5f9-4eb7-9faf-b362f0463917", + "port": "in" + }, + "size": 8 + } + ] + } + } + }, + "873d7e980c08ce11dae3eb7abdaad1615527b3dc": { + "package": { + "name": "putc-char", + "version": "0.2", + "description": "Transmit one character to the STDOUT bus", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22613.166%22%20width=%22433.95%22%3E%3Cdefs%3E%3Cmarker%20id=%22a%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20fill=%22red%22%20fill-rule=%22evenodd%22%20stroke=%22red%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3C/defs%3E%3Cpath%20d=%22M221.062%20395.717c-17.751%200-32.152%2014.401-32.152%2032.165%200%2017.745%2014.4%2032.177%2032.152%2032.177%2017.758%200%2032.053-14.432%2032.053-32.177%200-17.764-14.295-32.165-32.053-32.165zm64.466%2050.642l-5.795%2013.96%2010.336%2020.302%201.366%202.68-14.333%2014.333-23.515-11.106-13.96%205.733-7.086%2021.691-.906%202.88h-20.258l-8.767-24.484-13.96-5.758-20.333%2010.312-2.68%201.34-14.326-14.32%2011.093-23.528-5.751-13.948-21.655-7.073-2.873-.93v-20.246l24.502-8.78%205.752-13.935-10.306-20.345-1.359-2.668%2014.308-14.308%2023.547%2011.088%2013.941-5.764%207.08-21.68.912-2.872h20.252l8.773%2024.514%2013.923%205.764%2020.339-10.318%202.705-1.359%2014.32%2014.308-11.094%2023.51%205.733%2013.966%2021.717%207.08%202.854.911v20.24z%22%20fill=%22#00f%22/%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%20-272.686%20152.713)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22124.309%22%20y=%22611.792%22%20font-weight=%22400%22%20font-size=%2291.605%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%225.725%22%3E%3Ctspan%20x=%22124.309%22%20y=%22611.792%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EChar%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%2294.134%22%20y=%2273.141%22%20font-weight=%22400%22%20font-size=%2291.605%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%225.725%22%3E%3Ctspan%20x=%2294.134%22%20y=%2273.141%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EPUTC%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M118.652%20252.337h134.3%22%20fill=%22none%22%20stroke=%22red%22%20stroke-width=%2218%22%20marker-end=%22url(#a)%22/%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%2060.37%20145.491)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%2279.938%22%20y=%22195.066%22%20font-weight=%22400%22%20font-size=%2291.605%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22red%22%20stroke-width=%225.725%22%3E%3Ctspan%20x=%2279.938%22%20y=%22195.066%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3Estdout%3C/tspan%3E%3C/text%3E%3Cpath%20fill=%22none%22%20stroke=%22red%22%20stroke-width=%223%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20d=%22M1.5%20109.784h429.559v199.593H1.5z%22/%3E%3Cpath%20d=%22M429.878%2018.574V1.5h-22.311%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%223%22%20stroke-linecap=%22round%22/%3E%3C/svg%3E", + "otid": 1571979442657 + }, + "design": { + "graph": { + "blocks": [ { - "source": { - "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "port": "33072210-9ba0-4659-8339-95952b939e6e" + "id": "04841e3c-8761-454a-8d99-496fde26ea1f", + "type": "basic.input", + "data": { + "name": "", + "clock": true }, - "target": { - "block": "fb8bbeb1-5c60-4629-bc13-231545818d0b", - "port": "inlabel" + "position": { + "x": -304, + "y": 384 } }, { - "source": { - "block": "57e59301-2919-4f06-ba95-54ce5d99d774", - "port": "33072210-9ba0-4659-8339-95952b939e6e" + "id": "ed414ec2-55e9-4b36-9c04-d544201b630e", + "type": "basic.inputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "target": { - "block": "73a0a48e-d345-4eda-8603-782e9865d928", - "port": "inlabel" + "position": { + "x": -144, + "y": 384 } }, { - "source": { - "block": "3c8597e6-ca79-494a-9a53-04c284205216", - "port": "outlabel" + "id": "c73b1a42-78ce-47a9-bb4c-807cffae6d42", + "type": "basic.output", + "data": { + "name": "nc" }, - "target": { - "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + "position": { + "x": 1200, + "y": 568 } }, { - "source": { - "block": "ed7a30bc-17fc-444e-89e5-aa9f83b32e86", - "port": "outlabel" + "id": "8c3ce21f-2214-489f-853a-d60a223034da", + "type": "basic.input", + "data": { + "name": "", + "range": "[9:0]", + "clock": false, + "size": 10 }, - "target": { - "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + "position": { + "x": -328, + "y": 584 } }, { - "source": { - "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "port": "bbe1895b-be8b-4237-b0d1-ae592e3e6208" + "id": "a0b2c050-26fc-4ac0-875f-6ef2c1f03c5e", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "stdout", + "range": "[9:0]", + "size": 10 }, - "target": { - "block": "ee992ca6-d586-4901-aaa3-a17d94ddac84", - "port": "inlabel" + "position": { + "x": -176, + "y": 584 } }, { - "source": { - "block": "57e59301-2919-4f06-ba95-54ce5d99d774", - "port": "bbe1895b-be8b-4237-b0d1-ae592e3e6208" - }, - "target": { - "block": "1c9b3962-5793-4e6f-98d4-9ca2113d0823", - "port": "inlabel" + "id": "80c60ca1-61f9-40d2-8a87-5cd02ffb2d90", + "type": "basic.outputLabel", + "data": { + "blockColor": "steelblue", + "name": "char", + "range": "[7:0]", + "oldBlockColor": "fuchsia", + "size": 8 }, - "vertices": [ - { - "x": -24, - "y": -696 - } - ] + "position": { + "x": 688, + "y": 664 + } }, { - "source": { - "block": "05fb13c5-879a-422f-84a8-56d1db8816da", - "port": "outlabel" + "id": "bc052fe3-357e-486c-a2e1-fef8f36a37ae", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "next", + "oldBlockColor": "steelblue" }, - "target": { - "block": "72c87c65-b34b-480f-8cde-cd97c0914014", - "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + "position": { + "x": -16, + "y": 664 } }, { - "source": { - "block": "161a3e27-de9b-4674-b990-c1e8314a29f3", - "port": "outlabel" + "id": "6940c4f1-a919-408b-9f9a-c542d928ac41", + "type": "basic.outputLabel", + "data": { + "blockColor": "steelblue", + "name": "exec", + "oldBlockColor": "fuchsia" }, - "target": { - "block": "72c87c65-b34b-480f-8cde-cd97c0914014", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + "position": { + "x": 688, + "y": 720 } }, { - "source": { - "block": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "id": "f809e9bb-2587-459d-807e-629afdc99f43", + "type": "basic.inputLabel", + "data": { + "blockColor": "darkgreen", + "name": "busy", + "oldBlockColor": "darkorange" }, - "target": { - "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", - "port": "5e915366-608a-431a-bf68-8c64fb4c302c" + "position": { + "x": 544, + "y": 728 } }, { - "source": { - "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", - "port": "c7d2d573-b901-420e-a923-6832e5b18e34" + "id": "04a63331-d349-46dd-b312-aacf9b71b3c6", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "target": { - "block": "11342001-e6e0-443b-af87-0e5d7ada0227", - "port": "969e11ca-69e8-403b-a566-7bf2fbe3a5a8" + "position": { + "x": 184, + "y": 728 } }, { - "source": { - "block": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", - "port": "c7d2d573-b901-420e-a923-6832e5b18e34" + "id": "9aa5255a-60da-463d-ba87-d4f96456d802", + "type": "basic.output", + "data": { + "name": "", + "range": "[9:0]", + "size": 10 }, - "target": { - "block": "11342001-e6e0-443b-af87-0e5d7ada0227", - "port": "e4111201-8441-4e7d-bcd2-bcf9d265d043" + "position": { + "x": 1216, + "y": 776 } }, { - "source": { - "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "id": "ddc62e2a-e70b-449d-860f-e815be4c4d8e", + "type": "basic.outputLabel", + "data": { + "name": "stdout", + "range": "[9:0]", + "blockColor": "fuchsia", + "size": 10 }, - "target": { - "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "port": "5e915366-608a-431a-bf68-8c64fb4c302c" + "position": { + "x": 856, + "y": 776 } }, { - "source": { - "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "port": "c7d2d573-b901-420e-a923-6832e5b18e34" - }, - "target": { - "block": "11342001-e6e0-443b-af87-0e5d7ada0227", - "port": "346b4ae4-4bb6-4845-9c17-3b25e0dde718" + "id": "dea0965b-016f-40c0-aad7-c4d26a391f46", + "type": "basic.outputLabel", + "data": { + "blockColor": "steelblue", + "name": "txmit", + "oldBlockColor": "fuchsia" }, - "vertices": [ - { - "x": 824, - "y": -424 - } - ] + "position": { + "x": 200, + "y": 824 + } }, { - "source": { - "block": "d192d0af-e7be-4be6-925a-50227d80784c", - "port": "out" - }, - "target": { - "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "port": "0ebd46a4-769b-45e6-bcaf-e3796264aed3" + "id": "a6820ca3-b48c-4815-aa10-2f6b80e6c4af", + "type": "basic.inputLabel", + "data": { + "blockColor": "steelblue", + "name": "exec", + "oldBlockColor": "fuchsia" }, - "size": 4 + "position": { + "x": 544, + "y": 840 + } }, { - "source": { - "block": "c2d36218-be99-4dd1-bf69-7690c667255b", - "port": "out" - }, - "target": { - "block": "57e59301-2919-4f06-ba95-54ce5d99d774", - "port": "0ebd46a4-769b-45e6-bcaf-e3796264aed3" + "id": "1ac9dd5b-9741-4af4-963a-50cbf8c4c6be", + "type": "basic.input", + "data": { + "name": "txmit", + "clock": false }, - "size": 4 + "position": { + "x": -320, + "y": 848 + } }, { - "source": { - "block": "11342001-e6e0-443b-af87-0e5d7ada0227", - "port": "55180947-6349-4a04-a151-ad69ea2b155e" - }, - "target": { - "block": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42", - "port": "in" + "id": "9fd18953-28a5-488b-be46-c1107835d885", + "type": "basic.inputLabel", + "data": { + "blockColor": "steelblue", + "name": "txmit", + "oldBlockColor": "fuchsia" }, - "size": 4 + "position": { + "x": -168, + "y": 848 + } }, { - "source": { - "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" - }, - "target": { - "block": "72c87c65-b34b-480f-8cde-cd97c0914014", - "port": "5e915366-608a-431a-bf68-8c64fb4c302c" + "id": "1ed1a91b-927d-4eed-b00f-b05b5dda7cbf", + "type": "basic.outputLabel", + "data": { + "blockColor": "darkgreen", + "name": "busy", + "oldBlockColor": "fuchsia" }, - "vertices": [ - { - "x": 728, - "y": -552 - } - ] + "position": { + "x": 856, + "y": 848 + } }, { - "source": { - "block": "72c87c65-b34b-480f-8cde-cd97c0914014", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "id": "542ef450-6c74-4024-a245-fe1d832776bb", + "type": "basic.outputLabel", + "data": { + "blockColor": "darkgreen", + "name": "busy", + "oldBlockColor": "fuchsia" }, - "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "port": "in" + "position": { + "x": 80, + "y": 888 } }, { - "source": { - "block": "72c87c65-b34b-480f-8cde-cd97c0914014", - "port": "c7d2d573-b901-420e-a923-6832e5b18e34" + "id": "2c5224d8-9648-4069-8367-a0c8ec056753", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "done" }, - "target": { - "block": "11342001-e6e0-443b-af87-0e5d7ada0227", - "port": "6c2aa548-5a4c-4e8d-a56c-a70926b19f18" + "position": { + "x": 552, + "y": 936 } }, { - "source": { - "block": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86", - "port": "out" + "id": "fdd4378f-0950-4ef2-b5d9-091a87499091", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "next" + }, + "position": { + "x": 80, + "y": 960 + } + }, + { + "id": "ddba74a9-5192-4fb7-8192-9e9e07103ad8", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "done" }, - "target": { - "block": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", - "port": "5e915366-608a-431a-bf68-8c64fb4c302c" + "position": { + "x": 1048, + "y": 968 } - } - ] - } - } - }, - "c3c498191b14e9288a85fa2871b3966665f75475": { - "package": { - "name": "AdderC-8bits", - "version": "0.1", - "description": "AdderC-8bits: Adder of two operands of 8 bits and Carry in", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", - "otid": 1618560481898 - }, - "design": { - "graph": { - "blocks": [ + }, { - "id": "bc495131-253e-49c9-9cd7-9e843cbe7ce5", - "type": "basic.inputLabel", + "id": "233059d5-8ab7-4c63-8dab-0c6af3a1dc28", + "type": "basic.output", "data": { - "name": "a1", - "range": "[3:0]", - "pins": [ - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "deeppink" + "name": "done" }, "position": { - "x": -64, - "y": -648 + "x": 1200, + "y": 968 } }, { - "id": "4bf17d89-89b8-4524-800a-2d15f9bbb111", + "id": "72632c73-fe18-42b3-b81f-46999ddfdb20", "type": "basic.input", "data": { - "name": "", + "name": "char", "range": "[7:0]", "clock": false, "size": 8 }, "position": { - "x": -408, - "y": -584 + "x": -320, + "y": 984 } }, { - "id": "dc0243cd-75d9-4b07-bc17-150c250121ba", + "id": "59b55b10-4bcd-45fd-9dbe-e6dd6767c97c", "type": "basic.inputLabel", "data": { - "name": "a0", - "range": "[3:0]", - "pins": [ - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "deeppink", - "blockColor": "deeppink" + "blockColor": "steelblue", + "name": "char", + "range": "[7:0]", + "oldBlockColor": "fuchsia", + "size": 8 }, "position": { - "x": -64, - "y": -568 + "x": -160, + "y": 984 } }, { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "id": "e787e85b-39c6-4705-a8b3-4da9c48be3ea", + "type": "basic.outputLabel", + "data": { + "blockColor": "darkgreen", + "name": "busy", + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 1048, + "y": 1056 + } + }, + { + "id": "f1cc51c6-3ef4-496d-99cf-0ee3007a2c64", "type": "basic.output", "data": { - "name": "c" + "name": "busy" }, "position": { - "x": 832, - "y": -480 + "x": 1192, + "y": 1056 } }, { - "id": "bd04885a-8a3a-4215-bbf1-c472c10c44f5", - "type": "basic.outputLabel", + "id": "af3693c8-f4e9-4cbe-90e5-cd93b52b1834", + "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", + "position": { + "x": 224, + "y": 904 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "70db30ca-f05e-4d85-9911-4e37562185a2", + "type": "basic.info", "data": { - "name": "a1", - "range": "[3:0]", - "blockColor": "deeppink", - "size": 4 + "info": "## PUTC: Transmit one character (STDOUT bus)\n\nWhen **idle**, the STDOUT bus crosses the component without modification \n\nWhen the machine starts, the char is outputed and the state is changed to busy \nWhen the transmitter is done (tic received in next) the machine is turned off", + "readonly": true }, "position": { - "x": 248, - "y": -456 + "x": 160, + "y": 360 + }, + "size": { + "width": 696, + "height": 136 } }, { - "id": "ba04e310-65e0-4554-ba2b-fbde28690a0b", - "type": "basic.inputLabel", + "id": "17adabf1-6e5f-481e-b723-92cafbd3f126", + "type": "basic.info", "data": { - "name": "b1", - "range": "[3:0]", - "pins": [ - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia" + "info": "Start tic: The byte from the \ninput char is transmited", + "readonly": true }, "position": { - "x": -80, - "y": -448 + "x": -288, + "y": 800 + }, + "size": { + "width": 240, + "height": 64 } }, { - "id": "3867504b-f331-4e0e-b923-acc86cb4255c", - "type": "basic.input", + "id": "f9228c3c-67bd-4a38-b678-87e025a45048", + "type": "basic.info", "data": { - "name": "", - "range": "[7:0]", - "clock": false, - "size": 8 + "info": "Char to be transmited", + "readonly": true }, "position": { - "x": -400, - "y": -392 + "x": -272, + "y": 952 + }, + "size": { + "width": 216, + "height": 48 } }, { - "id": "d60cb59e-3e5c-4044-ae1f-3a06f33e83f9", - "type": "basic.inputLabel", + "id": "40cbc8b9-ba20-4d53-90a4-74481101d34b", + "type": "basic.info", "data": { - "name": "b0", - "range": "[3:0]", - "pins": [ - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia" + "info": "State of the machine: \n1: ON: transmitting \n2: OFF: transparent mode ", + "readonly": true + }, + "position": { + "x": 344, + "y": 648 }, - "position": { - "x": -80, - "y": -376 + "size": { + "width": 232, + "height": 88 } }, { - "id": "383985cb-fd11-48ff-972a-cee8b631bd65", - "type": "basic.outputLabel", + "id": "5a19e117-936d-4868-be9f-d1e03760a510", + "type": "basic.info", "data": { - "name": "b1", - "range": "[3:0]", - "blockColor": "fuchsia", - "size": 4 + "info": "If the machine is on \nand the character has been \ntransmitted: Turn it off", + "readonly": true }, "position": { - "x": 248, - "y": -376 + "x": 344, + "y": 960 + }, + "size": { + "width": 264, + "height": 72 } }, { - "id": "9daaaf78-5a89-4d4a-a1b2-db1d3af962f1", - "type": "basic.output", + "id": "358d0c6c-1d72-445e-bdc0-c40d831753f7", + "type": "basic.info", "data": { - "name": "s", - "range": "[7:0]", - "size": 8 + "info": "The machine has finished", + "readonly": true }, "position": { - "x": 840, - "y": -336 + "x": 1072, + "y": 936 + }, + "size": { + "width": 352, + "height": 56 } }, { - "id": "7905afe7-6a82-43d9-811b-45f379a3c0a9", - "type": "basic.outputLabel", + "id": "6257ea46-accb-4d9a-b165-35a8a2c04270", + "type": "basic.info", "data": { - "name": "a0", - "range": "[3:0]", - "blockColor": "deeppink", - "size": 4 + "info": "**STDOUT BUS**", + "readonly": true }, "position": { - "x": 120, - "y": -304 + "x": -296, + "y": 536 + }, + "size": { + "width": 160, + "height": 32 } }, { - "id": "53d3821c-4072-438d-a45e-3a5364fdc8bc", - "type": "basic.outputLabel", + "id": "ef395571-47c5-4fa2-9bb0-cc6bf29a96df", + "type": "46cae7e9ebf62b7867b3a90798e5bc71b9eec2e0", + "position": { + "x": -168, + "y": 664 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "476ddfa0-b036-4f51-af3f-3de23d9e074f", + "type": "basic.info", "data": { - "name": "b0", - "range": "[3:0]", - "blockColor": "fuchsia", - "size": 4 + "info": "Not connected", + "readonly": true }, "position": { - "x": 120, - "y": -232 + "x": 1192, + "y": 536 + }, + "size": { + "width": 128, + "height": 40 } }, { - "id": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86", - "type": "basic.input", + "id": "f8560747-4666-4911-8c20-a85c7c39f0c1", + "type": "basic.info", "data": { - "name": "ci", - "clock": false + "info": "**STDOUT BUS**", + "readonly": true }, "position": { - "x": -392, - "y": -168 + "x": 1208, + "y": 736 + }, + "size": { + "width": 160, + "height": 32 } }, { - "id": "d5ab6421-1fc7-4d8d-8124-2cc7e0eb931d", - "type": "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a", + "id": "ec68d254-7f67-4ca6-9e0e-b2e2e9d45066", + "type": "dfb235f1673ee7cefa8539b9a9f9e43979df37ea", "position": { - "x": -248, - "y": -392 + "x": 856, + "y": 680 }, "size": { "width": 96, @@ -26610,47 +22265,55 @@ } }, { - "id": "d6ce7b9d-d8cf-4cde-85a8-589536fcc3a3", - "type": "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a", + "id": "f59e851d-2d7f-41e9-8128-77b7da1c6a18", + "type": "basic.info", + "data": { + "info": "**Create the bus** \nfrom the data and tic signals", + "readonly": true + }, "position": { - "x": -240, - "y": -584 + "x": 720, + "y": 592 }, "size": { - "width": 96, - "height": 64 + "width": 248, + "height": 56 } }, { - "id": "0e0cf23b-5743-4a19-838d-fb46d407ee16", - "type": "afb28fd5426aea14477d11cbe30a290679f789f8", + "id": "c6b39875-76bf-43b3-bf07-98c17499bf21", + "type": "basic.info", + "data": { + "info": "Transparent mode... \nor not", + "readonly": true + }, "position": { - "x": 688, - "y": -336 + "x": 1056, + "y": 680 }, "size": { - "width": 96, - "height": 64 + "width": 192, + "height": 56 } }, { - "id": "840ba8a1-693f-4531-a947-adcaeac4e854", - "type": "a1ce303b8ce47a06371ea4641c81460f34a1cca9", + "id": "6492be89-2e8a-4083-aa96-9c98a57ca413", + "type": "aec21dcbeb94ef212f1936ba3b7cf22e0e349a8f", "position": { - "x": 320, - "y": -248 + "x": 368, + "y": 792 }, "size": { "width": 96, - "height": 96 + "height": 128 } }, { - "id": "7a4072f6-7500-4b87-86dc-2c63246b510b", - "type": "a1ce303b8ce47a06371ea4641c81460f34a1cca9", + "id": "24781aa1-3b28-4a87-9d6b-613933793a06", + "type": "8ed9836d2da2233ae19d6633059e8503d58971bb", "position": { - "x": 464, - "y": -392 + "x": 1048, + "y": 760 }, "size": { "width": 96, @@ -26661,638 +22324,389 @@ "wires": [ { "source": { - "block": "d5ab6421-1fc7-4d8d-8124-2cc7e0eb931d", - "port": "eb61d084-ca22-4894-b8a2-f936db38f4b1", - "size": 4 - }, - "target": { - "block": "d60cb59e-3e5c-4044-ae1f-3a06f33e83f9", - "port": "inlabel" - }, - "size": 4 - }, - { - "source": { - "block": "d5ab6421-1fc7-4d8d-8124-2cc7e0eb931d", - "port": "637e64f4-0a6b-4037-9a75-89397e078a58", - "size": 4 - }, - "target": { - "block": "ba04e310-65e0-4554-ba2b-fbde28690a0b", - "port": "inlabel" - }, - "size": 4 - }, - { - "source": { - "block": "d6ce7b9d-d8cf-4cde-85a8-589536fcc3a3", - "port": "eb61d084-ca22-4894-b8a2-f936db38f4b1", - "size": 4 + "block": "72632c73-fe18-42b3-b81f-46999ddfdb20", + "port": "out", + "size": 8 }, "target": { - "block": "dc0243cd-75d9-4b07-bc17-150c250121ba", + "block": "59b55b10-4bcd-45fd-9dbe-e6dd6767c97c", "port": "inlabel" }, - "size": 4 + "size": 8 }, { "source": { - "block": "d6ce7b9d-d8cf-4cde-85a8-589536fcc3a3", - "port": "637e64f4-0a6b-4037-9a75-89397e078a58", - "size": 4 + "block": "04841e3c-8761-454a-8d99-496fde26ea1f", + "port": "out" }, "target": { - "block": "bc495131-253e-49c9-9cd7-9e843cbe7ce5", + "block": "ed414ec2-55e9-4b36-9c04-d544201b630e", "port": "inlabel" - }, - "size": 4 + } }, { "source": { - "block": "53d3821c-4072-438d-a45e-3a5364fdc8bc", + "block": "e787e85b-39c6-4705-a8b3-4da9c48be3ea", "port": "outlabel" }, "target": { - "block": "840ba8a1-693f-4531-a947-adcaeac4e854", - "port": "d192d0af-e7be-4be6-925a-50227d80784c", - "size": 4 - }, - "size": 4 + "block": "f1cc51c6-3ef4-496d-99cf-0ee3007a2c64", + "port": "in" + } }, { "source": { - "block": "7905afe7-6a82-43d9-811b-45f379a3c0a9", + "block": "ddba74a9-5192-4fb7-8192-9e9e07103ad8", "port": "outlabel" }, "target": { - "block": "840ba8a1-693f-4531-a947-adcaeac4e854", - "port": "c2d36218-be99-4dd1-bf69-7690c667255b", - "size": 4 - }, - "vertices": [ - { - "x": 272, - "y": -256 - } - ], - "size": 4 + "block": "233059d5-8ab7-4c63-8dab-0c6af3a1dc28", + "port": "in" + } }, { "source": { - "block": "383985cb-fd11-48ff-972a-cee8b631bd65", + "block": "04a63331-d349-46dd-b312-aacf9b71b3c6", "port": "outlabel" }, "target": { - "block": "7a4072f6-7500-4b87-86dc-2c63246b510b", - "port": "d192d0af-e7be-4be6-925a-50227d80784c", - "size": 4 - }, - "size": 4 + "block": "6492be89-2e8a-4083-aa96-9c98a57ca413", + "port": "046501b8-4427-4d4d-af97-7fe807774f33" + } }, { "source": { - "block": "bd04885a-8a3a-4215-bbf1-c472c10c44f5", - "port": "outlabel" + "block": "6492be89-2e8a-4083-aa96-9c98a57ca413", + "port": "0d991cee-b329-439b-b9e7-5712d2db539d" }, "target": { - "block": "7a4072f6-7500-4b87-86dc-2c63246b510b", - "port": "c2d36218-be99-4dd1-bf69-7690c667255b", - "size": 4 - }, - "vertices": [ - { - "x": 384, - "y": -400 - } - ], - "size": 4 + "block": "f809e9bb-2587-459d-807e-629afdc99f43", + "port": "inlabel" + } }, { "source": { - "block": "840ba8a1-693f-4531-a947-adcaeac4e854", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "block": "542ef450-6c74-4024-a245-fe1d832776bb", + "port": "outlabel" }, "target": { - "block": "7a4072f6-7500-4b87-86dc-2c63246b510b", - "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" + "block": "af3693c8-f4e9-4cbe-90e5-cd93b52b1834", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" } }, { "source": { - "block": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86", - "port": "out" + "block": "6492be89-2e8a-4083-aa96-9c98a57ca413", + "port": "3802390d-8417-4369-b93c-dda647ccb0c6" }, "target": { - "block": "840ba8a1-693f-4531-a947-adcaeac4e854", - "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" + "block": "2c5224d8-9648-4069-8367-a0c8ec056753", + "port": "inlabel" } }, { "source": { - "block": "4bf17d89-89b8-4524-800a-2d15f9bbb111", - "port": "out" + "block": "6492be89-2e8a-4083-aa96-9c98a57ca413", + "port": "aefe9248-3b3d-441b-9e65-33cda65b99dd" }, "target": { - "block": "d6ce7b9d-d8cf-4cde-85a8-589536fcc3a3", - "port": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e" - }, - "size": 8 + "block": "a6820ca3-b48c-4815-aa10-2f6b80e6c4af", + "port": "inlabel" + } }, { "source": { - "block": "3867504b-f331-4e0e-b923-acc86cb4255c", + "block": "1ac9dd5b-9741-4af4-963a-50cbf8c4c6be", "port": "out" }, "target": { - "block": "d5ab6421-1fc7-4d8d-8124-2cc7e0eb931d", - "port": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e" - }, - "size": 8 + "block": "9fd18953-28a5-488b-be46-c1107835d885", + "port": "inlabel" + } }, { "source": { - "block": "0e0cf23b-5743-4a19-838d-fb46d407ee16", - "port": "1269698e-e555-4fcb-a613-cb4c7ff2e598" + "block": "dea0965b-016f-40c0-aad7-c4d26a391f46", + "port": "outlabel" }, "target": { - "block": "9daaaf78-5a89-4d4a-a1b2-db1d3af962f1", - "port": "in" - }, - "size": 8 + "block": "6492be89-2e8a-4083-aa96-9c98a57ca413", + "port": "88176871-35ac-42bf-bf62-36c81a4b4b47" + } }, { "source": { - "block": "840ba8a1-693f-4531-a947-adcaeac4e854", - "port": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42" + "block": "8c3ce21f-2214-489f-853a-d60a223034da", + "port": "out", + "size": 10 }, "target": { - "block": "0e0cf23b-5743-4a19-838d-fb46d407ee16", - "port": "843164ff-f7d8-48b9-bf59-1e0d1135c81f" + "block": "a0b2c050-26fc-4ac0-875f-6ef2c1f03c5e", + "port": "inlabel" }, - "size": 4 + "vertices": [], + "size": 10 }, { "source": { - "block": "7a4072f6-7500-4b87-86dc-2c63246b510b", - "port": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42" + "block": "ef395571-47c5-4fa2-9bb0-cc6bf29a96df", + "port": "7e8b125e-5171-41ea-871b-ea7f0ffd4a03" }, "target": { - "block": "0e0cf23b-5743-4a19-838d-fb46d407ee16", - "port": "a1770adf-e143-4506-9d87-3cb9c870f534" + "block": "bc052fe3-357e-486c-a2e1-fef8f36a37ae", + "port": "inlabel" }, - "size": 4 + "vertices": [] }, { "source": { - "block": "7a4072f6-7500-4b87-86dc-2c63246b510b", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "block": "fdd4378f-0950-4ef2-b5d9-091a87499091", + "port": "outlabel" }, "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "port": "in" - }, - "vertices": [ - { - "x": 624, - "y": -392 - } - ] - } - ] - } - } - }, - "8cc49c9b29485f2cfeab6064d7bb1cf9ced045b1": { - "package": { - "name": "Bus16-Join-half", - "version": "0.1", - "description": "Bus16-Join-half: Join the two same halves into an 16-bits Bus", - "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=%22M164.218%2077.643L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v26.186l61.698.046c8.012-.043%2015.705%203.133%2021.47%208.81l61.448%2061.315a57.292%2057.292%200%200%200%2039.993%2016.139%2057.292%2057.292%200%200%200-39.993%2016.14L83.668%20190.45c-5.765%205.677-13.458%208.853-21.47%208.81L.5%20199.306v26.186h62.612c14.924.039%2029.463-5.9%2040.204-16.28l60.902-60.863a29.857%2029.857%200%200%201%2021.347-8.81l146.53-.113V86.457H185.571a29.884%2029.884%200%200%201-21.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "5a35cd57-1006-4f6d-b263-5b977e9ef142", - "type": "basic.input", - "data": { - "name": "1", - "range": "[7:0]", - "clock": false, - "size": 8 - }, - "position": { - "x": 120, - "y": 168 - } - }, - { - "id": "79c56f9a-597f-491e-b1d1-d321f63303c2", - "type": "basic.output", - "data": { - "name": "", - "range": "[15:0]", - "size": 16 - }, - "position": { - "x": 632, - "y": 200 - } - }, - { - "id": "38fdb02d-4323-4a34-9ffe-8385f844b660", - "type": "basic.input", - "data": { - "name": "0", - "range": "[7:0]", - "clock": false, - "size": 8 - }, - "position": { - "x": 120, - "y": 264 + "block": "af3693c8-f4e9-4cbe-90e5-cd93b52b1834", + "port": "97b51945-d716-4b6c-9db9-970d08541249" } }, - { - "id": "16e78204-213e-4833-9096-89d735307ec2", - "type": "basic.code", - "data": { - "code": "assign o = {i1, i0};\n", - "params": [], - "ports": { - "in": [ - { - "name": "i1", - "range": "[7:0]", - "size": 8 - }, - { - "name": "i0", - "range": "[7:0]", - "size": 8 - } - ], - "out": [ - { - "name": "o", - "range": "[15:0]", - "size": 16 - } - ] - } - }, - "position": { - "x": 296, - "y": 176 - }, - "size": { - "width": 272, - "height": 104 - } - } - ], - "wires": [ { "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o" + "block": "1ed1a91b-927d-4eed-b00f-b05b5dda7cbf", + "port": "outlabel" }, "target": { - "block": "79c56f9a-597f-491e-b1d1-d321f63303c2", - "port": "in" + "block": "24781aa1-3b28-4a87-9d6b-613933793a06", + "port": "1e7e3cd6-ed00-468a-9f7c-0bb91e020dce" }, - "size": 16 + "vertices": [] }, { "source": { - "block": "38fdb02d-4323-4a34-9ffe-8385f844b660", - "port": "out" + "block": "80c60ca1-61f9-40d2-8a87-5cd02ffb2d90", + "port": "outlabel" }, "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i0" + "block": "ec68d254-7f67-4ca6-9e0e-b2e2e9d45066", + "port": "eb5386a0-d51a-4bb4-9f25-b8add9f18cfb", + "size": 8 }, "size": 8 }, { "source": { - "block": "5a35cd57-1006-4f6d-b263-5b977e9ef142", - "port": "out" + "block": "6940c4f1-a919-408b-9f9a-c542d928ac41", + "port": "outlabel" }, "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i1" - }, - "size": 8 - } - ] - } - } - }, - "a52e3be3d374c081062b542fc91c5cb1be726cb8": { - "package": { - "name": "Bus24-Join-8-16 CLONE", - "version": "0.1-c1628232010333", - "description": "Bus24-Join-8-16: Join the two buses into an 24-bits Bus", - "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=%22M164.218%2077.643L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v26.186l61.698.046c8.012-.043%2015.705%203.133%2021.47%208.81l61.448%2061.315a57.292%2057.292%200%200%200%2039.993%2016.139%2057.292%2057.292%200%200%200-39.993%2016.14L83.668%20190.45c-5.765%205.677-13.458%208.853-21.47%208.81L.5%20199.306v26.186h62.612c14.924.039%2029.463-5.9%2040.204-16.28l60.902-60.863a29.857%2029.857%200%200%201%2021.347-8.81l146.53-.113V86.457H185.571a29.884%2029.884%200%200%201-21.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "29a44a77-ec20-436d-a9e8-7fc2ca5de57e", - "type": "basic.input", - "data": { - "name": "1", - "range": "[7:0]", - "clock": false, - "size": 8 - }, - "position": { - "x": 120, - "y": 168 - } - }, - { - "id": "756c8eb7-3567-48b4-9757-fe992499b794", - "type": "basic.output", - "data": { - "name": "", - "range": "[23:0]", - "size": 24 - }, - "position": { - "x": 640, - "y": 200 - } - }, - { - "id": "c4ca0e6a-6557-45ee-8363-1bffebaad486", - "type": "basic.input", - "data": { - "name": "0", - "range": "[15:0]", - "clock": false, - "size": 16 - }, - "position": { - "x": 120, - "y": 264 + "block": "ec68d254-7f67-4ca6-9e0e-b2e2e9d45066", + "port": "9d2cea30-da88-4104-bf4e-e7934b02a553" } }, { - "id": "16e78204-213e-4833-9096-89d735307ec2", - "type": "basic.code", - "data": { - "code": "assign o = {i1, i0};\n", - "params": [], - "ports": { - "in": [ - { - "name": "i1", - "range": "[7:0]", - "size": 8 - }, - { - "name": "i0", - "range": "[15:0]", - "size": 16 - } - ], - "out": [ - { - "name": "o", - "range": "[23:0]", - "size": 24 - } - ] - } + "source": { + "block": "ddc62e2a-e70b-449d-860f-e815be4c4d8e", + "port": "outlabel" }, - "position": { - "x": 296, - "y": 176 + "target": { + "block": "24781aa1-3b28-4a87-9d6b-613933793a06", + "port": "7eebf205-f431-42e6-ae74-c1559aa741ec", + "size": 10 }, - "size": { - "width": 272, - "height": 104 + "size": 10 + }, + { + "source": { + "block": "af3693c8-f4e9-4cbe-90e5-cd93b52b1834", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "6492be89-2e8a-4083-aa96-9c98a57ca413", + "port": "ba15eacb-1e03-4580-932b-3231703481e5" } - } - ], - "wires": [ + }, { "source": { - "block": "c4ca0e6a-6557-45ee-8363-1bffebaad486", + "block": "8c3ce21f-2214-489f-853a-d60a223034da", "port": "out" }, "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i0" + "block": "ef395571-47c5-4fa2-9bb0-cc6bf29a96df", + "port": "6f62a1a4-70d0-42a7-bb69-0639fbebdc04" }, - "size": 16 + "vertices": [], + "size": 10 }, { "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o" + "block": "24781aa1-3b28-4a87-9d6b-613933793a06", + "port": "3594d5a9-ed9e-4b56-86ac-397384eaee88" }, "target": { - "block": "756c8eb7-3567-48b4-9757-fe992499b794", + "block": "9aa5255a-60da-463d-ba87-d4f96456d802", "port": "in" }, - "size": 24 + "size": 10 }, { "source": { - "block": "29a44a77-ec20-436d-a9e8-7fc2ca5de57e", - "port": "out" + "block": "ec68d254-7f67-4ca6-9e0e-b2e2e9d45066", + "port": "eda56153-8d23-4caa-a8de-73c6be124bb9" }, "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i1" + "block": "24781aa1-3b28-4a87-9d6b-613933793a06", + "port": "20325019-e8d3-4d83-9c24-2284ef449ba6" }, - "size": 8 + "vertices": [ + { + "x": 984, + "y": 744 + } + ], + "size": 10 } ] } } }, - "2db4d243dd03a8574fd42a0998d5f90be5caec10": { + "46cae7e9ebf62b7867b3a90798e5bc71b9eec2e0": { "package": { - "name": "Bus28-Split-20-8", + "name": "stdout-bus-next-out", "version": "0.1", - "description": "Bus28-Split-20-8: Split the 28-bits bus into two buses of 20 and 8 wires", + "description": "Extract the next signal from the stdout bus", "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" + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22356.708%22%20height=%22176.233%22%20viewBox=%220%200%2094.37896%2046.628384%22%3E%3Cg%20transform=%22translate(-44.148%20-120.418)%22%3E%3Crect%20width=%2233.016%22%20height=%227.314%22%20x=%22105.246%22%20y=%22141.954%22%20ry=%220%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22bevel%22/%3E%3Crect%20width=%2235.851%22%20height=%2214.797%22%20x=%2244.412%22%20y=%22138.101%22%20ry=%220%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22bevel%22/%3E%3Crect%20width=%2225.079%22%20height=%2227.493%22%20x=%2280.36%22%20y=%22132.039%22%20ry=%220%22%20fill=%22#999%22%20stroke=%22#000%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22bevel%22/%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%2246.181%22%20y=%22130.756%22%20font-weight=%22400%22%20font-size=%2212.449%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20x=%2246.181%22%20y=%22130.756%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ESTDOUT%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%2250.363%22%20y=%22164.97%22%20font-weight=%22400%22%20font-size=%2212.449%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20x=%2250.363%22%20y=%22164.97%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EBUS%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "e670e20a-36c4-4196-8e52-26e59367c270", + "id": "7e8b125e-5171-41ea-871b-ea7f0ffd4a03", "type": "basic.output", "data": { - "name": "1", - "range": "[19:0]", - "size": 20 + "name": "next" }, "position": { "x": 608, - "y": 120 + "y": 192 } }, { - "id": "8dc63d68-e086-4db8-a819-610111258e7d", + "id": "6f62a1a4-70d0-42a7-bb69-0639fbebdc04", "type": "basic.input", "data": { "name": "", - "range": "[27:0]", + "range": "[9:0]", "clock": false, - "size": 28 - }, - "position": { - "x": 80, - "y": 208 - } - }, - { - "id": "b7518758-d519-431e-a19d-4a1197635efa", - "type": "basic.output", - "data": { - "name": "0", - "range": "[7:0]", - "size": 8 + "size": 10 }, "position": { - "x": 608, - "y": 232 + "x": 128, + "y": 192 } }, { "id": "16e78204-213e-4833-9096-89d735307ec2", "type": "basic.code", "data": { - "code": "assign o1 = i[27:8];\nassign o0 = i[7:0];", + "code": "assign o = i[0];", "params": [], "ports": { "in": [ { "name": "i", - "range": "[27:0]", - "size": 28 + "range": "[9:0]", + "size": 10 } ], "out": [ { - "name": "o1", - "range": "[19:0]", - "size": 20 - }, - { - "name": "o0", - "range": "[7:0]", - "size": 8 + "name": "o" } ] } }, "position": { - "x": 272, + "x": 296, "y": 176 }, "size": { - "width": 240, - "height": 120 + "width": 264, + "height": 88 } } ], "wires": [ - { - "source": { - "block": "8dc63d68-e086-4db8-a819-610111258e7d", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i" - }, - "size": 28 - }, { "source": { "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o0" + "port": "o" }, "target": { - "block": "b7518758-d519-431e-a19d-4a1197635efa", + "block": "7e8b125e-5171-41ea-871b-ea7f0ffd4a03", "port": "in" - }, - "size": 8 + } }, { "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o1" + "block": "6f62a1a4-70d0-42a7-bb69-0639fbebdc04", + "port": "out" }, "target": { - "block": "e670e20a-36c4-4196-8e52-26e59367c270", - "port": "in" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i" }, - "size": 20 + "size": 10 } ] } } }, - "0f6c392fd18934000cbfa24f7cb7eab931e7c1b2": { + "dfb235f1673ee7cefa8539b9a9f9e43979df37ea": { "package": { - "name": "Bus20-Split-12-8", + "name": "stdout-bus-joint2", "version": "0.1", - "description": "Bus20-Split-8-12: Split the 20-bits bus into two buses of 8 and 12 wires", + "description": "stdout bus joiner (data + tic)", "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" + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22354.768%22%20height=%22219.63%22%20viewBox=%220%200%20332.595%20205.90272%22%3E%3Cpath%20d=%22M164.218%2068.938L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v26.186l61.698.046c8.012-.043%2015.705%203.133%2021.47%208.81l61.448%2052.61a57.292%2057.292%200%200%200%2039.993%2016.139%2057.292%2057.292%200%200%200-39.993%2016.139l-61.448%2049.93c-5.765%205.678-13.458%208.854-21.47%208.81L.5%20179.217v26.187h62.612c14.924.039%2029.463-5.9%2040.204-16.28l60.902-49.48a29.857%2029.857%200%200%201%2021.347-8.809l146.53-.114V77.752H185.571a29.884%2029.884%200%200%201-21.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22341.249%22%20y=%22247.958%22%20font-weight=%22400%22%20font-size=%2244.109%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.938%22%20transform=%22translate(-184.13%20-199.542)%22%3E%3Ctspan%20x=%22341.249%22%20y=%22247.958%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ESTDOUT%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22390.889%22%20y=%22387.938%22%20font-weight=%22400%22%20font-size=%2244.109%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.938%22%20transform=%22translate(-184.13%20-199.542)%22%3E%3Ctspan%20x=%22390.889%22%20y=%22387.938%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EBUS%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22299.979%22%20y=%22389.373%22%20font-weight=%22400%22%20font-size=%2215%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%22.938%22%20transform=%22translate(-184.13%20-199.542)%22/%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "865e30d6-1832-4a16-a2b5-6bf334df5cf4", - "type": "basic.output", + "id": "eb5386a0-d51a-4bb4-9f25-b8add9f18cfb", + "type": "basic.input", "data": { - "name": "1", - "range": "[11:0]", - "size": 12 + "name": "", + "range": "[7:0]", + "clock": false, + "size": 8 }, "position": { - "x": 600, - "y": 144 + "x": 112, + "y": 168 } }, { - "id": "6a8347bb-e6ee-494a-87c8-277445460362", - "type": "basic.input", + "id": "eda56153-8d23-4caa-a8de-73c6be124bb9", + "type": "basic.output", "data": { "name": "", - "range": "[19:0]", - "clock": false, - "size": 20 + "range": "[9:0]", + "size": 10 }, "position": { - "x": 80, - "y": 208 + "x": 648, + "y": 192 } }, { - "id": "b4a2e85c-b31d-4363-be79-79d23492dd85", - "type": "basic.output", + "id": "9d2cea30-da88-4104-bf4e-e7934b02a553", + "type": "basic.input", "data": { - "name": "0", - "range": "[7:0]", - "size": 8 + "name": "tic", + "clock": false }, "position": { - "x": 600, + "x": 112, "y": 232 } }, @@ -27300,385 +22714,380 @@ "id": "16e78204-213e-4833-9096-89d735307ec2", "type": "basic.code", "data": { - "code": "assign o1 = i[19:8];\nassign o0 = i[7:0];", + "code": "assign o[9:1] = {i, tic};", "params": [], "ports": { "in": [ { "name": "i", - "range": "[19:0]", - "size": 20 + "range": "[7:0]", + "size": 8 + }, + { + "name": "tic" } ], "out": [ { - "name": "o1", - "range": "[11:0]", - "size": 12 - }, - { - "name": "o0", - "range": "[7:0]", - "size": 8 + "name": "o", + "range": "[9:0]", + "size": 10 } ] } }, "position": { - "x": 272, + "x": 296, "y": 176 }, "size": { - "width": 240, - "height": 120 + "width": 264, + "height": 88 } } ], "wires": [ { "source": { - "block": "6a8347bb-e6ee-494a-87c8-277445460362", + "block": "eb5386a0-d51a-4bb4-9f25-b8add9f18cfb", "port": "out" }, "target": { "block": "16e78204-213e-4833-9096-89d735307ec2", "port": "i" }, - "size": 20 + "size": 8 }, { "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o0" + "block": "9d2cea30-da88-4104-bf4e-e7934b02a553", + "port": "out" }, "target": { - "block": "b4a2e85c-b31d-4363-be79-79d23492dd85", - "port": "in" - }, - "size": 8 + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "tic" + } }, { "source": { "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o1" + "port": "o" }, "target": { - "block": "865e30d6-1832-4a16-a2b5-6bf334df5cf4", + "block": "eda56153-8d23-4caa-a8de-73c6be124bb9", "port": "in" }, - "size": 12 + "size": 10 } ] } } }, - "c97ea62c7e57797474a81bca730a1b2bec259617": { + "8ed9836d2da2233ae19d6633059e8503d58971bb": { "package": { - "name": "Bus12-Split-4-8", - "version": "0.1", - "description": "Bus12-Split-4-8: Split the 12-bits bus into two buses of 4 and 8 wires", + "name": "10-bits-Mux-2-1-verilog", + "version": "0.2", + "description": "2-to-1 Multplexer (10-bit channels). Verilog implementation", "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" + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2280.833%22%20height=%22158.56%22%20viewBox=%220%200%2075.781585%20148.65066%22%3E%3Cpath%20d=%22M74.375%2036.836c0-12.691-6.99-24.413-18.326-30.729-11.335-6.316-25.284-6.262-36.568.141C8.198%2012.652%201.304%2024.427%201.407%2037.118v74.415c-.103%2012.69%206.79%2024.466%2018.074%2030.87%2011.284%206.403%2025.233%206.457%2036.568.14%2011.336-6.316%2018.326-18.037%2018.326-30.728z%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%222.813%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.448%22%20y=%2291.518%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.448%22%20y=%2291.518%22%3E0%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.359%22%20y=%2214.582%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.359%22%20y=%2214.582%22%3E1%3C/tspan%3E%3C/text%3E%3C/svg%3E", + "otid": 1618922858665 }, "design": { "graph": { "blocks": [ { - "id": "9a0bd20b-0206-4f0e-b07d-e96696b705c5", - "type": "basic.output", + "id": "20325019-e8d3-4d83-9c24-2284ef449ba6", + "type": "basic.input", "data": { "name": "1", - "range": "[3:0]", - "size": 4 + "range": "[9:0]", + "clock": false, + "size": 10 }, "position": { - "x": 496, - "y": 16 + "x": 320, + "y": -56 } }, { - "id": "46011ec6-127b-4e6b-83ca-aed5b18ae4d0", - "type": "basic.input", + "id": "3594d5a9-ed9e-4b56-86ac-397384eaee88", + "type": "basic.output", "data": { "name": "", - "range": "[11:0]", - "clock": false, - "size": 12 + "range": "[9:0]", + "size": 10 }, "position": { - "x": -32, - "y": 64 + "x": 984, + "y": 32 } }, { - "id": "99e7399f-ce06-4f67-ae35-0b9a6785d60e", - "type": "basic.output", + "id": "7eebf205-f431-42e6-ae74-c1559aa741ec", + "type": "basic.input", "data": { "name": "0", - "range": "[7:0]", - "size": 8 + "range": "[9:0]", + "clock": false, + "size": 10 }, "position": { - "x": 504, - "y": 104 + "x": 320, + "y": 32 } }, { - "id": "16e78204-213e-4833-9096-89d735307ec2", + "id": "1e7e3cd6-ed00-468a-9f7c-0bb91e020dce", + "type": "basic.input", + "data": { + "name": "sel", + "clock": false + }, + "position": { + "x": 320, + "y": 120 + } + }, + { + "id": "b64f5610-774d-45c0-bbc6-85b1a6713f43", "type": "basic.code", "data": { - "code": "\nassign o1 = i[11:8];\nassign o0 = i[7:0];", - "params": [], "ports": { "in": [ { - "name": "i", - "range": "[11:0]", - "size": 12 + "name": "i1", + "range": "[9:0]", + "size": 10 + }, + { + "name": "i0", + "range": "[9:0]", + "size": 10 + }, + { + "name": "sel" } ], "out": [ { - "name": "o1", - "range": "[3:0]", - "size": 4 - }, - { - "name": "o0", - "range": "[7:0]", - "size": 8 + "name": "o", + "range": "[9:0]", + "size": 10 } ] - } + }, + "params": [], + "code": "//-- 2-to-1 Multiplexer \n\nassign o = sel ? i1 : i0;" }, "position": { - "x": 136, - "y": 0 + "x": 560, + "y": -72 }, "size": { - "width": 280, - "height": 184 + "width": 304, + "height": 272 } } ], "wires": [ { "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o1" + "block": "1e7e3cd6-ed00-468a-9f7c-0bb91e020dce", + "port": "out" }, "target": { - "block": "9a0bd20b-0206-4f0e-b07d-e96696b705c5", + "block": "b64f5610-774d-45c0-bbc6-85b1a6713f43", + "port": "sel" + }, + "vertices": [] + }, + { + "source": { + "block": "b64f5610-774d-45c0-bbc6-85b1a6713f43", + "port": "o" + }, + "target": { + "block": "3594d5a9-ed9e-4b56-86ac-397384eaee88", "port": "in" }, - "size": 4 + "size": 10 }, { "source": { - "block": "46011ec6-127b-4e6b-83ca-aed5b18ae4d0", + "block": "20325019-e8d3-4d83-9c24-2284ef449ba6", "port": "out" }, "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i" + "block": "b64f5610-774d-45c0-bbc6-85b1a6713f43", + "port": "i1" }, - "size": 12 + "size": 10 }, { "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o0" + "block": "7eebf205-f431-42e6-ae74-c1559aa741ec", + "port": "out" }, "target": { - "block": "99e7399f-ce06-4f67-ae35-0b9a6785d60e", - "port": "in" + "block": "b64f5610-774d-45c0-bbc6-85b1a6713f43", + "port": "i0" }, - "size": 8 + "size": 10 } ] } } }, - "e2f315320f653562def276e03b3907f1c224f333": { + "249940b3a2a6f82363df9ad6e49d976c389523b9": { "package": { - "name": "Bus28-Split-4-8-8-8", + "name": "8-bits-Mux-2-1-verilog", "version": "0.1", - "description": "Bus28-Split-4-8-8-8: Split the 28-bits bus into four buses of 4, 8, 8, and 8 wires", + "description": "2-to-1 Multplexer (8-bit channels). Verilog implementation", "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" + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2280.833%22%20height=%22158.56%22%20viewBox=%220%200%2075.781585%20148.65066%22%3E%3Cpath%20d=%22M74.375%2036.836c0-12.691-6.99-24.413-18.326-30.729-11.335-6.316-25.284-6.262-36.568.141C8.198%2012.652%201.304%2024.427%201.407%2037.118v74.415c-.103%2012.69%206.79%2024.466%2018.074%2030.87%2011.284%206.403%2025.233%206.457%2036.568.14%2011.336-6.316%2018.326-18.037%2018.326-30.728z%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%222.813%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.448%22%20y=%2291.518%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.448%22%20y=%2291.518%22%3E0%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.359%22%20y=%2214.582%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.359%22%20y=%2214.582%22%3E1%3C/tspan%3E%3C/text%3E%3C/svg%3E", + "otid": 1618922858665 }, "design": { "graph": { "blocks": [ { - "id": "5acc5191-7aad-45b2-b859-8b1fdcaf8832", - "type": "basic.output", + "id": "3ebd9e0a-9308-4615-af47-ae7b97f6f04a", + "type": "basic.input", "data": { - "name": "3", - "range": "[3:0]", - "size": 4 + "name": "1", + "range": "[7:0]", + "clock": false, + "size": 8 }, "position": { - "x": 704, - "y": 96 + "x": 320, + "y": -56 } }, { - "id": "81877dde-9ba9-411f-a9b4-b13e3d344326", + "id": "e1d78d57-b098-4613-a11e-9e106a69765b", "type": "basic.output", "data": { - "name": "2", + "name": "", "range": "[7:0]", "size": 8 }, "position": { - "x": 728, - "y": 200 + "x": 984, + "y": 32 } }, { - "id": "8dc63d68-e086-4db8-a819-610111258e7d", + "id": "d3868260-885c-407b-b2e4-3a25beb8fd5e", "type": "basic.input", "data": { - "name": "", - "range": "[27:0]", - "clock": false, - "size": 28 - }, - "position": { - "x": 80, - "y": 216 - } - }, - { - "id": "83128884-b296-4f8e-ae27-6e2d26dd1744", - "type": "basic.output", - "data": { - "name": "1", + "name": "0", "range": "[7:0]", + "clock": false, "size": 8 }, "position": { - "x": 688, - "y": 360 + "x": 320, + "y": 32 } }, { - "id": "b7518758-d519-431e-a19d-4a1197635efa", - "type": "basic.output", + "id": "1e7e3cd6-ed00-468a-9f7c-0bb91e020dce", + "type": "basic.input", "data": { - "name": "0", - "range": "[7:0]", - "size": 8 + "name": "sel", + "clock": false }, "position": { - "x": 616, - "y": 432 + "x": 320, + "y": 120 } }, { - "id": "16e78204-213e-4833-9096-89d735307ec2", + "id": "b64f5610-774d-45c0-bbc6-85b1a6713f43", "type": "basic.code", "data": { - "code": "assign o3 = i[31:24];\nassign o2 = i[23:16];\nassign o1 = i[15:8];\nassign o0 = i[7:0];", - "params": [], "ports": { "in": [ { - "name": "i", - "range": "[27:0]", - "size": 28 - } - ], - "out": [ - { - "name": "o3", - "range": "[3:0]", - "size": 4 - }, - { - "name": "o2", + "name": "i1", "range": "[7:0]", "size": 8 }, { - "name": "o1", + "name": "i0", "range": "[7:0]", "size": 8 }, { - "name": "o0", + "name": "sel" + } + ], + "out": [ + { + "name": "o", "range": "[7:0]", "size": 8 } ] - } + }, + "params": [], + "code": "//-- 2-to-1 Multiplexer \n\nassign o = sel ? i1 : i0;" }, "position": { - "x": 272, - "y": 176 + "x": 560, + "y": -72 }, "size": { - "width": 280, - "height": 144 + "width": 304, + "height": 272 } } ], "wires": [ { "source": { - "block": "8dc63d68-e086-4db8-a819-610111258e7d", + "block": "1e7e3cd6-ed00-468a-9f7c-0bb91e020dce", "port": "out" }, "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i" + "block": "b64f5610-774d-45c0-bbc6-85b1a6713f43", + "port": "sel" }, - "size": 28 + "vertices": [] }, { "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o0" + "block": "b64f5610-774d-45c0-bbc6-85b1a6713f43", + "port": "o" }, "target": { - "block": "b7518758-d519-431e-a19d-4a1197635efa", + "block": "e1d78d57-b098-4613-a11e-9e106a69765b", "port": "in" }, "size": 8 }, { "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o1" + "block": "d3868260-885c-407b-b2e4-3a25beb8fd5e", + "port": "out" }, "target": { - "block": "83128884-b296-4f8e-ae27-6e2d26dd1744", - "port": "in" + "block": "b64f5610-774d-45c0-bbc6-85b1a6713f43", + "port": "i0" }, "size": 8 }, { "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o2" + "block": "3ebd9e0a-9308-4615-af47-ae7b97f6f04a", + "port": "out" }, "target": { - "block": "81877dde-9ba9-411f-a9b4-b13e3d344326", - "port": "in" + "block": "b64f5610-774d-45c0-bbc6-85b1a6713f43", + "port": "i1" }, "size": 8 - }, - { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o3" - }, - "target": { - "block": "5acc5191-7aad-45b2-b859-8b1fdcaf8832", - "port": "in" - }, - "size": 4 } ] } diff --git a/examples/TESTs/syscounters/32-bits/syscounter-rst/Alhambra-II/01-manual-testing.ice b/examples/TESTs/syscounters/32-bits/syscounter-rst/Alhambra-II/01-manual-testing.ice index 8e54908..b4a050e 100644 --- a/examples/TESTs/syscounters/32-bits/syscounter-rst/Alhambra-II/01-manual-testing.ice +++ b/examples/TESTs/syscounters/32-bits/syscounter-rst/Alhambra-II/01-manual-testing.ice @@ -429,11 +429,11 @@ } }, { - "id": "b2b71472-2bb5-47d5-87fd-f2ba2b761330", - "type": "f08a82ba2df4b812c3ec75b5e1a283ae0e70cc3f", + "id": "4039f550-3e22-4410-bc30-26c77b4742ab", + "type": "ba518ee261a2be13a9739cd3a01cdcebe0ef63c0", "position": { - "x": 1200, - "y": 400 + "x": 2024, + "y": 240 }, "size": { "width": 96, @@ -441,35 +441,35 @@ } }, { - "id": "9987e2fe-81e4-4995-8e1b-5cc250305d3b", - "type": "4c1570e58dc7efecf440f8a4ff7d1dda4250ef0c", + "id": "bcc037e7-2811-44e2-8dab-3284b45ba0bd", + "type": "78be078f7f5f29f81b4664a2bc3f6c05c1daf4f2", "position": { - "x": 1424, - "y": 400 + "x": 1784, + "y": 240 }, "size": { "width": 96, - "height": 96 + "height": 64 } }, { - "id": "eb0c5ccb-d409-4896-ac98-e072a0480299", - "type": "2a35153f656f2d69dfddb3d5023a77bf81baead9", + "id": "24951a3c-a8f4-4949-985b-f8b08109aaf7", + "type": "5756f86a1672dc4930aef0a0744e3f182107a87b", "position": { - "x": 1952, - "y": -80 + "x": 936, + "y": 200 }, "size": { "width": 96, - "height": 96 + "height": 64 } }, { - "id": "4039f550-3e22-4410-bc30-26c77b4742ab", - "type": "ba518ee261a2be13a9739cd3a01cdcebe0ef63c0", + "id": "dbe6c3c2-04b5-4dfa-8dda-4a4fb4636c19", + "type": "c77ccf4a0049c02b74419867716716e8c9483be6", "position": { - "x": 2024, - "y": 240 + "x": 736, + "y": 216 }, "size": { "width": 96, @@ -477,11 +477,11 @@ } }, { - "id": "bcc037e7-2811-44e2-8dab-3284b45ba0bd", - "type": "78be078f7f5f29f81b4664a2bc3f6c05c1daf4f2", + "id": "4440c6f2-4dfc-49e6-af46-11dc8383a097", + "type": "5018a67fe520592d7f82dbf669bb3c3661624b65", "position": { - "x": 1784, - "y": 240 + "x": 1200, + "y": 400 }, "size": { "width": 96, @@ -489,27 +489,27 @@ } }, { - "id": "ccb6ea83-3d64-4d1f-9fa3-a66d3c92da8e", - "type": "e36b8d684deb5171d30b27e37122be65d9fa0edf", + "id": "468a17a7-91da-40f2-a5c1-259bc8411856", + "type": "ef27646a2ca3d9f1e7811dac0fd909719b5affe1", "position": { - "x": 736, - "y": 216 + "x": 1424, + "y": 400 }, "size": { "width": 96, - "height": 64 + "height": 96 } }, { - "id": "24951a3c-a8f4-4949-985b-f8b08109aaf7", - "type": "5756f86a1672dc4930aef0a0744e3f182107a87b", + "id": "fd93812d-a66d-45e2-9f5f-c69872d2d99e", + "type": "455c3beb3ea73cf6862dfbc0c899a5e357964a24", "position": { - "x": 936, - "y": 200 + "x": 1952, + "y": -80 }, "size": { "width": 96, - "height": 64 + "height": 96 } } ], @@ -520,7 +520,7 @@ "port": "out" }, "target": { - "block": "ccb6ea83-3d64-4d1f-9fa3-a66d3c92da8e", + "block": "dbe6c3c2-04b5-4dfa-8dda-4a4fb4636c19", "port": "2a921d76-1cbd-48fe-82a9-11b0ab4dbc06" } }, @@ -530,17 +530,17 @@ "port": "out" }, "target": { - "block": "b2b71472-2bb5-47d5-87fd-f2ba2b761330", + "block": "4440c6f2-4dfc-49e6-af46-11dc8383a097", "port": "21bc142d-a93a-430d-b37a-326435def9f9" } }, { "source": { - "block": "b2b71472-2bb5-47d5-87fd-f2ba2b761330", + "block": "4440c6f2-4dfc-49e6-af46-11dc8383a097", "port": "997db8c4-b772-49d8-83e7-4427aff720e6" }, "target": { - "block": "9987e2fe-81e4-4995-8e1b-5cc250305d3b", + "block": "468a17a7-91da-40f2-a5c1-259bc8411856", "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" } }, @@ -560,13 +560,13 @@ "port": "outlabel" }, "target": { - "block": "9987e2fe-81e4-4995-8e1b-5cc250305d3b", + "block": "468a17a7-91da-40f2-a5c1-259bc8411856", "port": "fc243ba8-9abb-4a22-81c4-fabdf043cd01" } }, { "source": { - "block": "eb0c5ccb-d409-4896-ac98-e072a0480299", + "block": "fd93812d-a66d-45e2-9f5f-c69872d2d99e", "port": "757f1816-834d-4cd7-a5e1-d726a472de91" }, "target": { @@ -581,7 +581,7 @@ "port": "outlabel" }, "target": { - "block": "eb0c5ccb-d409-4896-ac98-e072a0480299", + "block": "fd93812d-a66d-45e2-9f5f-c69872d2d99e", "port": "b1e41924-f354-4744-b5f0-a93a1fdc6828" }, "vertices": [ @@ -593,7 +593,7 @@ }, { "source": { - "block": "9987e2fe-81e4-4995-8e1b-5cc250305d3b", + "block": "468a17a7-91da-40f2-a5c1-259bc8411856", "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { @@ -639,14 +639,14 @@ "port": "outlabel" }, "target": { - "block": "eb0c5ccb-d409-4896-ac98-e072a0480299", + "block": "fd93812d-a66d-45e2-9f5f-c69872d2d99e", "port": "9cdfc247-4374-4660-b8c7-246e9aa090d7" }, "size": 8 }, { "source": { - "block": "ccb6ea83-3d64-4d1f-9fa3-a66d3c92da8e", + "block": "dbe6c3c2-04b5-4dfa-8dda-4a4fb4636c19", "port": "64fc1d76-0958-4c4a-a4d8-beaec42e695b" }, "target": { @@ -670,405 +670,404 @@ } }, "dependencies": { - "f08a82ba2df4b812c3ec75b5e1a283ae0e70cc3f": { + "ba518ee261a2be13a9739cd3a01cdcebe0ef63c0": { "package": { - "name": "Button-tic", - "version": "0.1", - "description": "Button-tic: Configurable button that emits a tic when it is pressed", - "author": "Juan Gonzalez-Gomez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20width=%22293.977%22%20height=%22257.958%22%20viewBox=%220%200%2077.781366%2068.251365%22%3E%3Cdefs%3E%3ClinearGradient%20gradientTransform=%22matrix(-.013%20-.01966%20.01932%20-.01493%20151.654%20290.082)%22%20gradientUnits=%22userSpaceOnUse%22%20y2=%222300.215%22%20x2=%226069.057%22%20y1=%222538.05%22%20x1=%225466.681%22%20id=%22b%22%20xlink:href=%22#a%22/%3E%3ClinearGradient%20id=%22a%22%3E%3Cstop%20offset=%220%22%20stop-color=%22#c3875c%22/%3E%3Cstop%20offset=%22.48%22%20stop-color=%22#eccba3%22/%3E%3Cstop%20offset=%221%22%20stop-color=%22#fce0cb%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg%20transform=%22translate(138.022%20-134.888)%22%3E%3Cpath%20d=%22M-117.19%20184.278a20.69%209.094%200%200%200-13.734%202.307l-5.434.006-1.284%205.482a20.69%209.094%200%200%200-.238%201.3%2020.69%209.094%200%200%200%2020.69%209.093%2020.69%209.094%200%200%200%2020.69-9.094%2020.69%209.094%200%200%200-.029-.351h.064l-1.277-6.47-5.778.005a20.69%209.094%200%200%200-13.67-2.278z%22%20fill=%22#333%22%20stroke=%22#000%22%20stroke-width=%22.282%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20ry=%226.762%22%20rx=%2219.408%22%20cy=%22187.341%22%20cx=%22-117.074%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%22.282%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22matrix(.1018%200%200%20.10181%20-158.528%20145.536)%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-width=%222.772%22%3E%3Cellipse%20cx=%22406.087%22%20cy=%22399.216%22%20rx=%22184.221%22%20ry=%2272.858%22%20fill=%22green%22/%3E%3Cellipse%20cx=%22406.23%22%20cy=%22383.328%22%20rx=%22179.497%22%20ry=%2260.977%22%20fill=%22#0f0%22/%3E%3C/g%3E%3C/g%3E%3Cpath%20d=%22M126.16%20115.387c-1.523%201.514-2.14%203.307-2.023%205.326-.507%201.097-2.411%202.346-2.027%203.267-1.196%201.923-1.624%203.389-1.572%204.569-.544%201.24-.403%201.705-.348%202.268-2.266%203.497-4.092%208.255-5.878%2013.125-2.302%202.765-3.64%205.792-4.898%208.84-2.191%203.7-3.756%207.67-4.02%2011.394l-.265.558c2.996%203.107%204.946%201.524%207.018.747%206.637-3.112%209.504-8.52%2012.212-14.025.473-1.572%201.57-3.127%203.151-4.669%204.414-4.785%206.886-10.022%209.857-15.142.228-.428.58-1.032%201.143-1.941%201.675-1.795%203.418-4.997%205.132-7.612z%22%20fill=%22url(#b)%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.265%22%20transform=%22translate(-90.276%20-115.233)%22/%3E%3Cpath%20d=%22M18.486%2038.911c-2.362%202.823-3.506%206.298-4.228%2010.204.518.13%201.302-.444%202.155-1.196%202.575-6.067%201.848-7.142%202.073-9.008z%22%20fill=%22#f8ecf8%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.265%22/%3E%3Cpath%20d=%22M33.79%205.666c2.093-.057%203.853.53%205.373%201.582M31.832%208.759c2.001.286%203.946.663%205.428%201.788M30.331%2013.16c1.325-.48%203.02.099%204.83%201.005M29.98%2015.593l1.79.362%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%22.265%22/%3E%3Cg%20transform=%22matrix(1.2877%200%200%201.2877%20-70.904%20-45.941)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/svg%3E" + "name": "AND2", + "version": "1.0.2", + "description": "Two bits input And gate", + "author": "Jesús Arroyo, Juan González", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22336.09%22%20height=%22194.045%22%20version=%221%22%3E%3Cpath%20d=%22M174.656%20190.045H78.304V4h96.352s87.463%208.625%2087.463%2091.94c0%2083.311-87.463%2094.105-87.463%2094.105z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2045.668h74.018M4.057%20144.812h74.018m184.632-50.034h69.326%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%2292.894%22%20y=%22114.587%22%20font-weight=%22400%22%20font-size=%2258.054%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%2292.894%22%20y=%22114.587%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%3EAND%3C/tspan%3E%3C/text%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "653b2ced-3f13-4b1d-a2b6-c330c671067a", + "id": "18c2ebc7-5152-439c-9b3f-851c59bac834", "type": "basic.input", "data": { - "name": "", - "clock": true + "name": "" }, "position": { - "x": 128, - "y": -32 + "x": 96, + "y": 56 } }, { - "id": "98209ccc-d0f3-48fc-b10b-c2865b7442fc", - "type": "basic.inputLabel", + "id": "664caf9e-5f40-4df4-800a-b626af702e62", + "type": "basic.output", "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "name": "" }, "position": { - "x": 280, - "y": -32 + "x": 600, + "y": 96 } }, { - "id": "b58132b2-2e39-4a85-ab5b-63bded91cecc", - "type": "basic.output", + "id": "97b51945-d716-4b6c-9db9-970d08541249", + "type": "basic.input", "data": { - "name": "s" + "name": "" }, "position": { - "x": 728, - "y": -16 + "x": 96, + "y": 128 } }, { - "id": "2f9cf56e-789c-4621-923a-be59ef6ccd4a", - "type": "basic.outputLabel", + "id": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "type": "basic.code", "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" + "code": "//-- AND gate\n//-- Verilog implementation\n\nassign c = a & b;\n", + "params": [], + "ports": { + "in": [ + { + "name": "a" + }, + { + "name": "b" + } + ], + "out": [ + { + "name": "c" + } + ] + } }, "position": { - "x": 312, - "y": 104 + "x": 256, + "y": 48 + }, + "size": { + "width": 304, + "height": 152 + } + } + ], + "wires": [ + { + "source": { + "block": "18c2ebc7-5152-439c-9b3f-851c59bac834", + "port": "out" + }, + "target": { + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "a" } }, { - "id": "b8666bca-0d3d-4cbb-8129-fcea674d428a", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" + "source": { + "block": "97b51945-d716-4b6c-9db9-970d08541249", + "port": "out" }, - "position": { - "x": 744, - "y": 136 + "target": { + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "b" } }, { - "id": "997db8c4-b772-49d8-83e7-4427aff720e6", + "source": { + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "c" + }, + "target": { + "block": "664caf9e-5f40-4df4-800a-b626af702e62", + "port": "in" + } + } + ] + } + } + }, + "78be078f7f5f29f81b4664a2bc3f6c05c1daf4f2": { + "package": { + "name": "Bus8-Split-1-7", + "version": "0.1", + "description": "Bus8-Split-half: Split the 8-bits bus into two buses of 1 and 7 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": { + "graph": { + "blocks": [ + { + "id": "6461d1f4-0bf2-46a4-8c57-46d4419eba2b", "type": "basic.output", "data": { - "name": "Press" + "name": "1" }, "position": { - "x": 1024, - "y": 168 + "x": 584, + "y": 104 } }, { - "id": "21bc142d-a93a-430d-b37a-326435def9f9", + "id": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e", "type": "basic.input", "data": { - "name": "pin", - "clock": false + "name": "", + "range": "[7:0]", + "clock": false, + "size": 8 }, "position": { - "x": 304, - "y": 200 + "x": 120, + "y": 208 } }, { - "id": "7f2c89d2-aea0-4ff9-b4f9-52d70cefa867", - "type": "basic.constant", + "id": "7851244f-72ce-4b5b-a481-c1202933c8be", + "type": "basic.output", "data": { - "name": "pup", - "value": "0", - "local": false + "name": "0", + "range": "[6:0]", + "size": 7 }, "position": { - "x": 448, - "y": 56 + "x": 584, + "y": 272 } }, { - "id": "1ff8ad12-4df4-4aee-922b-c0c0fb449926", - "type": "basic.constant", + "id": "16e78204-213e-4833-9096-89d735307ec2", + "type": "basic.code", "data": { - "name": "not", - "value": "0", - "local": false + "code": "assign o1 = i[7];\nassign o0 = i[6:0];", + "params": [], + "ports": { + "in": [ + { + "name": "i", + "range": "[7:0]", + "size": 8 + } + ], + "out": [ + { + "name": "o1" + }, + { + "name": "o0", + "range": "[6:0]", + "size": 7 + } + ] + } }, "position": { - "x": 560, - "y": 56 + "x": 272, + "y": 176 + }, + "size": { + "width": 240, + "height": 120 } - }, + } + ], + "wires": [ { - "id": "15503ba9-0846-4d76-9fa4-dd8f67da8f08", - "type": "basic.info", - "data": { - "info": "System clock", - "readonly": true + "source": { + "block": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e", + "port": "out" }, - "position": { - "x": 136, - "y": -56 + "target": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i" }, - "size": { - "width": 136, - "height": 40 - } + "size": 8 }, { - "id": "811f4c54-c464-463e-ad4d-eedaaf357148", - "type": "e245ee74990b448c1d6ce27462261485c9649d55", - "position": { - "x": 496, - "y": 184 + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o0" }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "5b87e16b-9cc4-444b-8b67-04775620b4e5", - "type": "c8ffff0c6db83755c69d6633413f8122e52a420c", - "position": { - "x": 888, - "y": 168 + "target": { + "block": "7851244f-72ce-4b5b-a481-c1202933c8be", + "port": "in" }, - "size": { - "width": 96, - "height": 64 - } + "size": 7 }, { - "id": "8f811ac3-ce9d-4e72-af71-03036c9426e7", - "type": "basic.info", - "data": { - "info": "Button state signal", - "readonly": true - }, - "position": { - "x": 720, - "y": -32 + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o1" }, - "size": { - "width": 176, - "height": 40 + "target": { + "block": "6461d1f4-0bf2-46a4-8c57-46d4419eba2b", + "port": "in" } - }, + } + ] + } + } + }, + "5756f86a1672dc4930aef0a0744e3f182107a87b": { + "package": { + "name": "Bus32-Split-8-24", + "version": "0.1", + "description": "Bus32-Split-8-24: Split the 28-bits bus into two buses of 8 and 24 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": { + "graph": { + "blocks": [ { - "id": "dee7b550-b7f2-40d7-955d-bfb931daba22", - "type": "basic.info", + "id": "2dec5597-9e16-4cb5-97fc-776ba7e39f10", + "type": "basic.output", "data": { - "info": "Tic: button pressed", - "readonly": true + "name": "1", + "range": "[7:0]", + "size": 8 }, "position": { - "x": 1024, + "x": 600, "y": 152 - }, - "size": { - "width": 184, - "height": 40 } }, { - "id": "88b26983-667f-40de-b1c6-c6710a7bbd4a", - "type": "basic.info", + "id": "5204a9f1-594b-4216-b993-03b46bef9e6e", + "type": "basic.input", "data": { - "info": "Rising edge detector", - "readonly": true + "name": "", + "range": "[31:0]", + "clock": false, + "size": 32 }, "position": { - "x": 872, - "y": 248 - }, - "size": { - "width": 184, - "height": 40 + "x": 72, + "y": 208 } }, { - "id": "0957ba76-2838-49cb-8fd4-b9fe42f21801", - "type": "basic.info", + "id": "9b71656d-1b8a-49d5-9540-b65cc36deab6", + "type": "basic.output", "data": { - "info": "Pull up on/off", - "readonly": true + "name": "0", + "range": "[23:0]", + "size": 24 }, "position": { - "x": 448, - "y": 16 - }, - "size": { - "width": 152, - "height": 40 + "x": 600, + "y": 232 } }, { - "id": "5a5caef3-ffd0-46a4-9f63-e55aa8cd750d", - "type": "basic.info", + "id": "16e78204-213e-4833-9096-89d735307ec2", + "type": "basic.code", "data": { - "info": "Not on/off", - "readonly": true + "code": "assign o1 = i[31:24];\nassign o0 = i[23:0];", + "params": [], + "ports": { + "in": [ + { + "name": "i", + "range": "[31:0]", + "size": 32 + } + ], + "out": [ + { + "name": "o1", + "range": "[7:0]", + "size": 8 + }, + { + "name": "o0", + "range": "[23:0]", + "size": 24 + } + ] + } }, "position": { - "x": 576, - "y": 16 + "x": 272, + "y": 176 }, "size": { - "width": 120, - "height": 32 + "width": 240, + "height": 120 } } ], "wires": [ { "source": { - "block": "653b2ced-3f13-4b1d-a2b6-c330c671067a", - "port": "out" - }, - "target": { - "block": "98209ccc-d0f3-48fc-b10b-c2865b7442fc", - "port": "inlabel" - }, - "vertices": [] - }, - { - "source": { - "block": "2f9cf56e-789c-4621-923a-be59ef6ccd4a", - "port": "outlabel" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o0" }, "target": { - "block": "811f4c54-c464-463e-ad4d-eedaaf357148", - "port": "59f7bee9-9832-421d-aa0a-de177f3f121d" - }, - "vertices": [ - { - "x": 424, - "y": 160 - } - ] - }, - { - "source": { - "block": "b8666bca-0d3d-4cbb-8129-fcea674d428a", - "port": "outlabel" + "block": "9b71656d-1b8a-49d5-9540-b65cc36deab6", + "port": "in" }, - "target": { - "block": "5b87e16b-9cc4-444b-8b67-04775620b4e5", - "port": "2708468d-1088-4570-be63-fb0d4799a941" - } + "size": 24 }, { "source": { - "block": "21bc142d-a93a-430d-b37a-326435def9f9", + "block": "5204a9f1-594b-4216-b993-03b46bef9e6e", "port": "out" }, "target": { - "block": "811f4c54-c464-463e-ad4d-eedaaf357148", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" - } - }, - { - "source": { - "block": "811f4c54-c464-463e-ad4d-eedaaf357148", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" - }, - "target": { - "block": "b58132b2-2e39-4a85-ab5b-63bded91cecc", - "port": "in" - } - }, - { - "source": { - "block": "811f4c54-c464-463e-ad4d-eedaaf357148", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" - }, - "target": { - "block": "5b87e16b-9cc4-444b-8b67-04775620b4e5", - "port": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i" }, - "vertices": [] + "size": 32 }, { "source": { - "block": "5b87e16b-9cc4-444b-8b67-04775620b4e5", - "port": "1c25e08e-e664-4fab-9b30-cedc1f8a3739" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o1" }, "target": { - "block": "997db8c4-b772-49d8-83e7-4427aff720e6", + "block": "2dec5597-9e16-4cb5-97fc-776ba7e39f10", "port": "in" - } - }, - { - "source": { - "block": "7f2c89d2-aea0-4ff9-b4f9-52d70cefa867", - "port": "constant-out" - }, - "target": { - "block": "811f4c54-c464-463e-ad4d-eedaaf357148", - "port": "07e7cb88-d87c-4aa3-9938-fc226e3f4815" - } - }, - { - "source": { - "block": "1ff8ad12-4df4-4aee-922b-c0c0fb449926", - "port": "constant-out" }, - "target": { - "block": "811f4c54-c464-463e-ad4d-eedaaf357148", - "port": "6aacd3c5-a3e9-4a17-afb8-2b1271b3054c" - } + "size": 8 } ] } } }, - "e245ee74990b448c1d6ce27462261485c9649d55": { + "c77ccf4a0049c02b74419867716716e8c9483be6": { "package": { - "name": "Button", - "version": "0.1", - "description": "Configurable button (pull-up on/off. Not on/off)", + "name": "syscounter-rst-32bits", + "version": "0.2", + "description": "32-bits Syscounter with reset", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20width=%22202.458%22%20height=%22255.947%22%20viewBox=%220%200%2053.566957%2067.719398%22%3E%3Cdefs%3E%3ClinearGradient%20gradientTransform=%22matrix(-.013%20-.01966%20.01932%20-.01493%20151.654%20290.082)%22%20gradientUnits=%22userSpaceOnUse%22%20y2=%222300.215%22%20x2=%226069.057%22%20y1=%222538.05%22%20x1=%225466.681%22%20id=%22b%22%20xlink:href=%22#a%22/%3E%3ClinearGradient%20id=%22a%22%3E%3Cstop%20offset=%220%22%20stop-color=%22#c3875c%22/%3E%3Cstop%20offset=%22.48%22%20stop-color=%22#eccba3%22/%3E%3Cstop%20offset=%221%22%20stop-color=%22#fce0cb%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg%20transform=%22translate(138.022%20-134.888)%22%3E%3Cpath%20d=%22M-117.19%20184.278a20.69%209.094%200%200%200-13.734%202.307l-5.434.006-1.284%205.482a20.69%209.094%200%200%200-.238%201.3%2020.69%209.094%200%200%200%2020.69%209.093%2020.69%209.094%200%200%200%2020.69-9.094%2020.69%209.094%200%200%200-.029-.351h.064l-1.277-6.47-5.778.005a20.69%209.094%200%200%200-13.67-2.278z%22%20fill=%22#333%22%20stroke=%22#000%22%20stroke-width=%22.282%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20ry=%226.762%22%20rx=%2219.408%22%20cy=%22187.341%22%20cx=%22-117.074%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%22.282%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22matrix(.1018%200%200%20.10181%20-158.528%20145.536)%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-width=%222.772%22%3E%3Cellipse%20cx=%22406.087%22%20cy=%22399.216%22%20rx=%22184.221%22%20ry=%2272.858%22%20fill=%22green%22/%3E%3Cellipse%20cx=%22406.23%22%20cy=%22383.328%22%20rx=%22179.497%22%20ry=%2260.977%22%20fill=%22#0f0%22/%3E%3C/g%3E%3C/g%3E%3Cpath%20d=%22M126.16%20115.387c-1.523%201.514-2.14%203.307-2.023%205.326-.507%201.097-2.411%202.346-2.027%203.267-1.196%201.923-1.624%203.389-1.572%204.569-.544%201.24-.403%201.705-.348%202.268-2.266%203.497-4.092%208.255-5.878%2013.125-2.302%202.765-3.64%205.792-4.898%208.84-2.191%203.7-3.756%207.67-4.02%2011.394l-.265.558c2.996%203.107%204.946%201.524%207.018.747%206.637-3.112%209.504-8.52%2012.212-14.025.473-1.572%201.57-3.127%203.151-4.669%204.414-4.785%206.886-10.022%209.857-15.142.228-.428.58-1.032%201.143-1.941%201.675-1.795%203.418-4.997%205.132-7.612z%22%20fill=%22url(#b)%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.265%22%20transform=%22translate(-90.276%20-115.233)%22/%3E%3Cpath%20d=%22M18.486%2038.911c-2.362%202.823-3.506%206.298-4.228%2010.204.518.13%201.302-.444%202.155-1.196%202.575-6.067%201.848-7.142%202.073-9.008z%22%20fill=%22#f8ecf8%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.265%22/%3E%3Cpath%20d=%22M33.79%205.666c2.093-.057%203.853.53%205.373%201.582M31.832%208.759c2.001.286%203.946.663%205.428%201.788M30.331%2013.16c1.325-.48%203.02.099%204.83%201.005M29.98%2015.593l1.79.362%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%22.265%22/%3E%3C/svg%3E", - "otid": 1615538095529 + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22302.843%22%20height=%22186.504%22%20viewBox=%220%200%2080.127205%2049.345746%22%3E%3Cdefs%3E%3Cmarker%20id=%22a%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20fill=%22#00f%22%20fill-rule=%22evenodd%22%20stroke=%22#00f%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3C/defs%3E%3Cg%20transform=%22translate(-65.585%20-4.54)%22%3E%3Cpath%20d=%22M138.803%2048.49V16.91%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%222.806%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20marker-end=%22url(#a)%22/%3E%3Crect%20rx=%222.807%22%20ry=%222.807%22%20y=%225.289%22%20x=%2299.747%22%20height=%2247.849%22%20width=%2229.538%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%221.497%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%2240.921%22%20x=%22108.575%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%228.982%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%221.497%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2240.921%22%20x=%22108.575%22%20font-weight=%22700%22%20font-size=%2235.656%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M100.868%2030.283h27.764%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%222.245%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20rx=%222.807%22%20ry=%222.807%22%20y=%225.289%22%20x=%2266.333%22%20height=%2247.849%22%20width=%2229.538%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%221.497%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%2240.921%22%20x=%2273.223%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%228.982%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%221.497%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2240.921%22%20x=%2273.223%22%20font-weight=%22700%22%20font-size=%2235.656%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M67.454%2030.283h27.764%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%222.245%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618592156430 }, "design": { "graph": { "blocks": [ { - "id": "59f7bee9-9832-421d-aa0a-de177f3f121d", + "id": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", "type": "basic.input", "data": { "name": "", "clock": true }, "position": { - "x": 128, - "y": 232 + "x": 216, + "y": -120 } }, { - "id": "c2136078-81d0-4137-8583-c122b93cbdb0", + "id": "0a772657-8018-424d-8f04-75d3ffff3692", "type": "basic.inputLabel", "data": { "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "name": "clk" }, "position": { - "x": 280, - "y": 232 + "x": 368, + "y": -120 } }, { - "id": "626e14a3-68ca-440d-b469-aeb6a69bddcb", + "id": "b9359b10-b14f-4dd7-adf9-3f4f22bc65e6", "type": "basic.outputLabel", "data": { "blockColor": "yellow", @@ -1076,554 +1075,423 @@ "oldBlockColor": "fuchsia" }, "position": { - "x": 472, - "y": 368 + "x": 384, + "y": -32 } }, { - "id": "1b2fe6f0-f08f-44d2-824a-e5205b3e9fab", + "id": "e3b982b0-0eab-49a0-91c4-859749c96026", "type": "basic.outputLabel", "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" + "name": "q", + "range": "[31:0]", + "blockColor": "fuchsia", + "size": 32 }, "position": { - "x": 880, - "y": 368 + "x": 1040, + "y": -32 } }, { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "id": "64fc1d76-0958-4c4a-a4d8-beaec42e695b", "type": "basic.output", "data": { - "name": "s" + "name": "q", + "range": "[31:0]", + "size": 32 }, "position": { - "x": 1200, - "y": 440 + "x": 1208, + "y": -32 } }, { - "id": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", - "type": "basic.input", + "id": "88e0e872-0460-4ecc-bf26-8a7a5598a024", + "type": "basic.output", "data": { - "name": "pin", - "clock": false + "name": "max" }, "position": { - "x": 152, - "y": 472 + "x": 1208, + "y": 56 } }, { - "id": "07e7cb88-d87c-4aa3-9938-fc226e3f4815", - "type": "basic.constant", + "id": "06c393de-8af4-4b53-852c-b0e0160b5314", + "type": "basic.outputLabel", "data": { - "name": "pup", - "value": "0", - "local": false + "blockColor": "fuchsia", + "name": "c" }, "position": { - "x": 336, - "y": 360 + "x": 1048, + "y": 56 } }, { - "id": "6aacd3c5-a3e9-4a17-afb8-2b1271b3054c", - "type": "basic.constant", + "id": "2a921d76-1cbd-48fe-82a9-11b0ab4dbc06", + "type": "basic.input", "data": { - "name": "not", - "value": "0", - "local": false - }, - "position": { - "x": 760, - "y": 352 - } - }, - { - "id": "93b888bf-453e-4c9c-8f58-6b9c6d54d5de", - "type": "6c3affc36ce9207db9e9addcade0eb18994ddf4a", - "position": { - "x": 336, - "y": 472 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "10111468-7bb5-46ee-8990-113fdf380068", - "type": "76118c377f31059327783a617b8e38ffd6b935b8", - "position": { - "x": 600, - "y": 456 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "3154e48a-4d34-460b-9ed8-69a8a9c83eb2", - "type": "5645befdb78839c4a1fcf8b7f7f1bfdd13cd127d", - "position": { - "x": 760, - "y": 456 + "name": "rst", + "clock": false }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "4687a20b-5221-4f82-8442-b6114bf8788d", - "type": "5539ec808ddc65a96d5da8d44290e4da16a256b8", "position": { - "x": 1024, - "y": 440 - }, - "size": { - "width": 96, - "height": 64 + "x": 216, + "y": 56 } }, { - "id": "6ca11b45-e83b-492d-b175-8ab8f1faa08a", - "type": "basic.info", + "id": "a2814200-f902-4bd8-ae5d-b26dd5b83779", + "type": "basic.inputLabel", "data": { - "info": "Internal pull-up \n* 0: OFF\n* 1: ON", - "readonly": true + "name": "q", + "range": "[31:0]", + "size": 32 }, "position": { - "x": 320, - "y": 560 - }, - "size": { - "width": 176, - "height": 72 + "x": 712, + "y": 88 } }, { - "id": "2349cf1c-768c-483c-bdf3-852e36755326", - "type": "basic.info", + "id": "cd9b7fce-c943-4b4c-a716-94f2cd21ccda", + "type": "basic.inputLabel", "data": { - "info": "Synchronization stage", - "readonly": true + "blockColor": "fuchsia", + "name": "c" }, "position": { - "x": 552, - "y": 536 - }, - "size": { - "width": 184, - "height": 32 + "x": 856, + "y": 160 } }, { - "id": "c13f29d4-49ed-45ca-bf58-401682aa156c", - "type": "basic.info", - "data": { - "info": "Normalization stage\n\n* 0: Wire\n* 1: signal inverted", - "readonly": true - }, + "id": "d9dcd34e-a04a-4f59-b63b-e38b4d9de6ae", + "type": "0906c20b5d8675f4f9b5706640957da9573692b5", "position": { - "x": 752, - "y": 536 + "x": 720, + "y": 176 }, "size": { - "width": 192, - "height": 88 + "width": 96, + "height": 64 } }, { - "id": "9207da36-adfa-43d6-a633-ccaa601b9293", - "type": "basic.info", - "data": { - "info": "Debouncing stage", - "readonly": true - }, + "id": "126f6cd5-d104-4b9b-8b5e-1b47f8f49142", + "type": "0a6d3fd7e8667266ebd0a92cc4be4fa2d468f122", "position": { - "x": 1008, - "y": 528 + "x": 544, + "y": 40 }, "size": { - "width": 168, - "height": 40 + "width": 96, + "height": 96 } } ], "wires": [ { "source": { - "block": "59f7bee9-9832-421d-aa0a-de177f3f121d", + "block": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", "port": "out" }, "target": { - "block": "c2136078-81d0-4137-8583-c122b93cbdb0", + "block": "0a772657-8018-424d-8f04-75d3ffff3692", "port": "inlabel" }, "vertices": [] }, { "source": { - "block": "626e14a3-68ca-440d-b469-aeb6a69bddcb", - "port": "outlabel" + "block": "d9dcd34e-a04a-4f59-b63b-e38b4d9de6ae", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "10111468-7bb5-46ee-8990-113fdf380068", - "port": "39873fa0-c3f5-47ef-b54b-b6b344416b25" - } + "block": "cd9b7fce-c943-4b4c-a716-94f2cd21ccda", + "port": "inlabel" + }, + "vertices": [] }, { "source": { - "block": "1b2fe6f0-f08f-44d2-824a-e5205b3e9fab", + "block": "b9359b10-b14f-4dd7-adf9-3f4f22bc65e6", "port": "outlabel" }, "target": { - "block": "4687a20b-5221-4f82-8442-b6114bf8788d", - "port": "4bf41c17-a2da-4140-95f7-2a80d51b1e1a" + "block": "126f6cd5-d104-4b9b-8b5e-1b47f8f49142", + "port": "0ae5a502-ee21-47ad-bacb-405a35a87a91" } }, { "source": { - "block": "93b888bf-453e-4c9c-8f58-6b9c6d54d5de", - "port": "a139fa0d-9b45-4480-a251-f4a66b49aa23" + "block": "06c393de-8af4-4b53-852c-b0e0160b5314", + "port": "outlabel" }, "target": { - "block": "10111468-7bb5-46ee-8990-113fdf380068", - "port": "f25e9a9e-cd4c-4025-8745-0691a99a3fb8" - }, - "vertices": [] + "block": "88e0e872-0460-4ecc-bf26-8a7a5598a024", + "port": "in" + } }, { "source": { - "block": "10111468-7bb5-46ee-8990-113fdf380068", - "port": "7bfc506f-7a54-40a1-8d33-e78a5409b972" + "block": "126f6cd5-d104-4b9b-8b5e-1b47f8f49142", + "port": "7995c7b0-4a39-4a19-aaa4-68f4e469912f", + "size": 32 }, "target": { - "block": "3154e48a-4d34-460b-9ed8-69a8a9c83eb2", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + "block": "a2814200-f902-4bd8-ae5d-b26dd5b83779", + "port": "inlabel" }, - "vertices": [] + "size": 32 }, { "source": { - "block": "6aacd3c5-a3e9-4a17-afb8-2b1271b3054c", - "port": "constant-out" + "block": "e3b982b0-0eab-49a0-91c4-859749c96026", + "port": "outlabel" }, "target": { - "block": "3154e48a-4d34-460b-9ed8-69a8a9c83eb2", - "port": "2cd40fd8-3a2b-46f7-a922-fedf146ed11a" + "block": "64fc1d76-0958-4c4a-a4d8-beaec42e695b", + "port": "in", + "size": 32 }, - "vertices": [] + "size": 32 }, { "source": { - "block": "3154e48a-4d34-460b-9ed8-69a8a9c83eb2", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "block": "2a921d76-1cbd-48fe-82a9-11b0ab4dbc06", + "port": "out" }, "target": { - "block": "4687a20b-5221-4f82-8442-b6114bf8788d", - "port": "c9e1af2a-6f09-4cf6-a5b3-fdf7ec2c6530" - }, - "vertices": [] + "block": "126f6cd5-d104-4b9b-8b5e-1b47f8f49142", + "port": "892d93f1-9c4c-46c1-82c7-ff9702a5725a" + } }, { "source": { - "block": "07e7cb88-d87c-4aa3-9938-fc226e3f4815", - "port": "constant-out" + "block": "126f6cd5-d104-4b9b-8b5e-1b47f8f49142", + "port": "7995c7b0-4a39-4a19-aaa4-68f4e469912f" }, "target": { - "block": "93b888bf-453e-4c9c-8f58-6b9c6d54d5de", - "port": "121930e0-54c3-4b31-aa37-b33c7764abfa" - } + "block": "d9dcd34e-a04a-4f59-b63b-e38b4d9de6ae", + "port": "360ef224-5b8f-4f5d-a1da-64432e80b443" + }, + "size": 32 }, { "source": { - "block": "4687a20b-5221-4f82-8442-b6114bf8788d", - "port": "22ff3fa1-943b-4d1a-bd89-36e1c054d077" + "block": "d9dcd34e-a04a-4f59-b63b-e38b4d9de6ae", + "port": "6ac8a1fd-e0f3-4fe4-8284-20eb83dced58" }, "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "port": "in" - } - }, - { - "source": { - "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", - "port": "out" + "block": "126f6cd5-d104-4b9b-8b5e-1b47f8f49142", + "port": "c48a2779-52ed-4dde-8f95-e8ce67397de8" }, - "target": { - "block": "93b888bf-453e-4c9c-8f58-6b9c6d54d5de", - "port": "bb4a1ca9-1b30-471e-92ca-ca7ff2fc1150" - } + "vertices": [ + { + "x": 840, + "y": 296 + } + ], + "size": 32 } ] } } }, - "6c3affc36ce9207db9e9addcade0eb18994ddf4a": { + "0906c20b5d8675f4f9b5706640957da9573692b5": { "package": { - "name": "Pull-upx1", - "version": "1.0.2", - "description": "FPGA internal pull-up configuration on the input port", - "author": "Juan González", - "image": "%3Csvg%20id=%22svg2%22%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-265%20401.5%2063.5%2038.4%22%3E%3Cstyle%3E.st0%7Bdisplay:none%7D.st1%7Bfill:none;stroke:#000;stroke-width:.75;stroke-linejoin:round;stroke-miterlimit:10%7D.st2%7Bfill:#010002%7D%3C/style%3E%3Cpath%20class=%22st0%22%20d=%22M-242.5%20411.8v11.8h-5.4v-11.8h5.4m1-1h-7.4v13.8h7.4v-13.8z%22/%3E%3Cpath%20d=%22M-212%20425.6l-15.4-8.7v8.5h-17.4v-2.7c0-.2-.1-.4-.3-.4l-2.3-1.2%205.6-2.9c.2-.1.3-.3.3-.5s-.1-.4-.3-.4l-5.7-2.7%202.4-1.6c.1-.1.2-.2.2-.4v-2.7h3.1l-3.5-6.1-3.5%206.1h3v2.5l-2.9%202c-.1.1-.2.3-.2.5s.1.3.3.4l5.6%202.6-5.6%202.9c-.2.1-.3.3-.3.4s.1.4.3.4l2.9%201.5V425.5H-265v1.2h37.6v8.5l15.4-8.7h10.5v-.8H-212zm-33.3-20.4l2.2%203.9h-4.5l2.3-3.9zm19.2%2027.7v-13.8l12.3%206.9-12.3%206.9z%22/%3E%3C/svg%3E" + "name": "Inc1-32bits", + "version": "0.1", + "description": "Inc1-32bit: Increment a 32-bits number by one", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20width=%22387.891%22%20height=%22310.09%22%20viewBox=%220%200%20363.64764%20290.70999%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.759%2055.834v79.813h79.508v35.946H115.76v79.813h-36.25v-79.813H-.002v-35.946h79.51V55.834z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3Cpath%20d=%22M196.193%20257.608h64.256V35.828l-69.902%2014.02V14.018L260.06%200h39.332v257.608h64.257v33.102H196.193z%22%20style=%22line-height:1.25%22%20font-size=%22398.777%22%20stroke-width=%229.969%22/%3E%3C/svg%3E", + "otid": 1618560481898 }, "design": { "graph": { "blocks": [ { - "id": "bb4a1ca9-1b30-471e-92ca-ca7ff2fc1150", - "type": "basic.input", - "data": { - "name": "pin", - "clock": false - }, - "position": { - "x": 72, - "y": 256 - } - }, - { - "id": "a139fa0d-9b45-4480-a251-f4a66b49aa23", + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", "type": "basic.output", "data": { - "name": "" - }, - "position": { - "x": 704, - "y": 256 - } - }, - { - "id": "121930e0-54c3-4b31-aa37-b33c7764abfa", - "type": "basic.constant", - "data": { - "name": "on", - "value": "1", - "local": false + "name": "c" }, "position": { - "x": 408, - "y": -8 + "x": 624, + "y": -168 } }, { - "id": "2b245a71-2d80-466b-955f-e3d61839fe25", - "type": "basic.code", + "id": "360ef224-5b8f-4f5d-a1da-64432e80b443", + "type": "basic.input", "data": { - "code": "// 1-Pull up\n\n//-- Place the IO block, configured as \n//-- input with pull-up\nSB_IO\n #(\n .PIN_TYPE(6'b 1010_01),\n \n //-- The pull-up is activated or not\n //-- depeding on the ON parameter\n .PULLUP(ON)\n \n ) input_pin (\n\n //--- Input pin\n .PACKAGE_PIN(i),\n \n //-- Block output\n .D_IN_0(o),\n \n //-- Configured as input\n .OUTPUT_ENABLE(1'b0),\n \n //-- Not used\n .D_OUT_0(1'b0)\n );", - "params": [ - { - "name": "ON" - } - ], - "ports": { - "in": [ - { - "name": "i" - } - ], - "out": [ - { - "name": "o" - } - ] - } + "name": "", + "range": "[31:0]", + "clock": false, + "size": 32 }, "position": { - "x": 256, - "y": 104 - }, - "size": { - "width": 392, - "height": 368 + "x": 280, + "y": -152 } }, { - "id": "8055c1f2-dad2-4257-a271-c0bd64700cd7", - "type": "basic.info", + "id": "6ac8a1fd-e0f3-4fe4-8284-20eb83dced58", + "type": "basic.output", "data": { - "info": "### Pull-up parameter:\n\n0: No pull-up \n1: Pull-up activated", - "readonly": true + "name": "s", + "range": "[31:0]", + "size": 32 }, "position": { - "x": 144, - "y": -48 - }, - "size": { - "width": 264, - "height": 104 + "x": 624, + "y": -88 } }, { - "id": "5a96e53f-d2ff-4058-bbed-779876848487", - "type": "basic.info", + "id": "cd0d6f4d-9898-4114-94a9-0b4b98223c27", + "type": "basic.constant", "data": { - "info": "Only an FPGA pin can \nbe connected here!!!", - "readonly": true + "name": "", + "value": "1", + "local": true }, "position": { - "x": 56, - "y": 200 - }, - "size": { - "width": 192, - "height": 56 + "x": 456, + "y": -256 } }, { - "id": "26b0a2d0-aaa1-4204-9e57-2f2d674e03a0", - "type": "basic.info", - "data": { - "info": "The pull-up is connected \nby default", - "readonly": true - }, + "id": "650e86ca-0615-499a-a532-ed961351850c", + "type": "3c5f22b3989740b7a079ea25765ff22c4b8943cf", "position": { - "x": 512, - "y": 0 + "x": 456, + "y": -152 }, "size": { - "width": 208, - "height": 56 + "width": 96, + "height": 64 } } ], "wires": [ { "source": { - "block": "bb4a1ca9-1b30-471e-92ca-ca7ff2fc1150", - "port": "out" + "block": "650e86ca-0615-499a-a532-ed961351850c", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "2b245a71-2d80-466b-955f-e3d61839fe25", - "port": "i" + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" } }, { "source": { - "block": "2b245a71-2d80-466b-955f-e3d61839fe25", - "port": "o" + "block": "cd0d6f4d-9898-4114-94a9-0b4b98223c27", + "port": "constant-out" }, "target": { - "block": "a139fa0d-9b45-4480-a251-f4a66b49aa23", - "port": "in" + "block": "650e86ca-0615-499a-a532-ed961351850c", + "port": "e728fdca-755f-4f2d-98e7-0716b1c5258f" } }, { "source": { - "block": "121930e0-54c3-4b31-aa37-b33c7764abfa", - "port": "constant-out" + "block": "360ef224-5b8f-4f5d-a1da-64432e80b443", + "port": "out" }, "target": { - "block": "2b245a71-2d80-466b-955f-e3d61839fe25", - "port": "ON" - } + "block": "650e86ca-0615-499a-a532-ed961351850c", + "port": "ca378738-f6bc-431b-83e8-fbc11f37d54b" + }, + "size": 32 + }, + { + "source": { + "block": "650e86ca-0615-499a-a532-ed961351850c", + "port": "1a9ad2b3-44a3-40f8-8d5f-0417a3a439fb" + }, + "target": { + "block": "6ac8a1fd-e0f3-4fe4-8284-20eb83dced58", + "port": "in" + }, + "size": 32 } ] } } }, - "76118c377f31059327783a617b8e38ffd6b935b8": { + "3c5f22b3989740b7a079ea25765ff22c4b8943cf": { "package": { - "name": "Sync-x01", + "name": "AdderK-32bits", "version": "0.1", - "description": "Sync 1-bit input with the system clock domain", - "author": "Juan Gonzalez-González (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22214.451%22%20height=%22214.451%22%20viewBox=%220%200%20214.45128%20214.45128%22%3E%3Ccircle%20cx=%22107.226%22%20cy=%22107.226%22%20r=%22107.226%22%20fill=%22#4d4d4d%22/%3E%3Cpath%20d=%22M107.363%2038.297c14.504.03%2029.212%204.552%2040.7%2013.5%208.077%209.303-7.312%2019.268-14.243%2010.195-20.865-12.624-50.29-8.18-65.988%2010.695-8.352%209.367-13.058%2021.866-13.003%2034.413h13.789c-7.353%2011.037-14.707%2022.066-22.06%2033.095l-22.062-33.087h13.788c-.439-29.962%2021.108-58.462%2050.032-66.221%206.212-1.701%2012.607-2.654%2019.048-2.587zm60.53%2035.85l22.063%2033.092h-13.789c.39%2030.318-21.706%2059.137-51.14%2066.487-19.862%205.547-42.32%201.5-58.645-11.19-8.329-9.459%207.274-19.328%2014.27-10.173%2020.214%2012.265%2048.524%208.375%2064.48-9.142%209.242-9.522%2014.56-22.711%2014.489-35.982h-13.789l22.062-33.092z%22%20fill=%22#fbfbc9%22/%3E%3C/svg%3E" + "description": "AdderK-32bit: Adder of 32-bit operand and 32-bit constant", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618560481898 }, "design": { "graph": { "blocks": [ { - "id": "39873fa0-c3f5-47ef-b54b-b6b344416b25", - "type": "basic.input", + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", "data": { - "name": "", - "clock": true + "name": "c" }, "position": { - "x": -256, - "y": -56 + "x": 624, + "y": -168 } }, { - "id": "e226f910-14af-473d-956b-03559f466726", - "type": "basic.inputLabel", + "id": "1a9ad2b3-44a3-40f8-8d5f-0417a3a439fb", + "type": "basic.output", "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "name": "s", + "range": "[31:0]", + "size": 32 }, "position": { - "x": -104, - "y": -56 + "x": 616, + "y": -88 } }, { - "id": "7f538425-03ff-409e-81c2-d2714dfb036f", - "type": "basic.outputLabel", + "id": "ca378738-f6bc-431b-83e8-fbc11f37d54b", + "type": "basic.input", "data": { - "blockColor": "yellow", - "name": "clk" + "name": "", + "range": "[31:0]", + "clock": false, + "size": 32 }, "position": { - "x": 128, - "y": 32 + "x": 232, + "y": -48 } }, { - "id": "868cf45b-3801-40c1-9a04-498087cf183e", - "type": "basic.outputLabel", + "id": "e728fdca-755f-4f2d-98e7-0716b1c5258f", + "type": "basic.constant", "data": { - "blockColor": "yellow", - "name": "clk" + "name": "", + "value": "0", + "local": false }, "position": { - "x": -56, - "y": 72 + "x": 232, + "y": -272 } }, { - "id": "7bfc506f-7a54-40a1-8d33-e78a5409b972", - "type": "basic.output", - "data": { - "name": "" - }, + "id": "f235c473-a611-402b-a071-c4320af5b38c", + "type": "9597518c4f1e7dd74e5b39c2df0ebddbd556b06e", "position": { - "x": 424, - "y": 128 - } - }, - { - "id": "f25e9a9e-cd4c-4025-8745-0691a99a3fb8", - "type": "basic.input", - "data": { - "name": "", - "clock": false - }, - "position": { - "x": -64, - "y": 160 - } - }, - { - "id": "67741c87-f247-4b39-a7c2-42944b8daa48", - "type": "c8cfbaa5ea9096f681e8acf2ca239f06275f5db2", - "position": { - "x": 104, - "y": 144 + "x": 232, + "y": -168 }, "size": { "width": 96, @@ -1631,11 +1499,11 @@ } }, { - "id": "d627c1ba-2223-4a7b-918f-9458ec7be7a0", - "type": "c8cfbaa5ea9096f681e8acf2ca239f06275f5db2", + "id": "95fad240-42f1-4671-9165-7ed8d5bff396", + "type": "f25742a4541382fc316890ce8673885ff18a66e8", "position": { - "x": 280, - "y": 128 + "x": 456, + "y": -152 }, "size": { "width": 96, @@ -1646,116 +1514,87 @@ "wires": [ { "source": { - "block": "39873fa0-c3f5-47ef-b54b-b6b344416b25", - "port": "out" + "block": "95fad240-42f1-4671-9165-7ed8d5bff396", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "e226f910-14af-473d-956b-03559f466726", - "port": "inlabel" + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" } }, { "source": { - "block": "868cf45b-3801-40c1-9a04-498087cf183e", - "port": "outlabel" + "block": "e728fdca-755f-4f2d-98e7-0716b1c5258f", + "port": "constant-out" }, "target": { - "block": "67741c87-f247-4b39-a7c2-42944b8daa48", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + "block": "f235c473-a611-402b-a071-c4320af5b38c", + "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" } }, { "source": { - "block": "7f538425-03ff-409e-81c2-d2714dfb036f", - "port": "outlabel" + "block": "f235c473-a611-402b-a071-c4320af5b38c", + "port": "cd1ea929-712d-45ee-8b01-e608e6bf8869" }, "target": { - "block": "d627c1ba-2223-4a7b-918f-9458ec7be7a0", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" - } + "block": "95fad240-42f1-4671-9165-7ed8d5bff396", + "port": "0d3bf835-b162-478d-bd73-91c914e05261" + }, + "size": 32 }, { "source": { - "block": "f25e9a9e-cd4c-4025-8745-0691a99a3fb8", + "block": "ca378738-f6bc-431b-83e8-fbc11f37d54b", "port": "out" }, "target": { - "block": "67741c87-f247-4b39-a7c2-42944b8daa48", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" - } - }, - { - "source": { - "block": "67741c87-f247-4b39-a7c2-42944b8daa48", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + "block": "95fad240-42f1-4671-9165-7ed8d5bff396", + "port": "af50622f-b846-4985-9ecd-9311eae669b6" }, - "target": { - "block": "d627c1ba-2223-4a7b-918f-9458ec7be7a0", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" - } + "size": 32 }, { "source": { - "block": "d627c1ba-2223-4a7b-918f-9458ec7be7a0", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + "block": "95fad240-42f1-4671-9165-7ed8d5bff396", + "port": "f690df81-1f8f-4de5-a2c9-6441486c5cc0" }, "target": { - "block": "7bfc506f-7a54-40a1-8d33-e78a5409b972", + "block": "1a9ad2b3-44a3-40f8-8d5f-0417a3a439fb", "port": "in" - } + }, + "size": 32 } ] } } }, - "c8cfbaa5ea9096f681e8acf2ca239f06275f5db2": { + "9597518c4f1e7dd74e5b39c2df0ebddbd556b06e": { "package": { - "name": "DFF", - "version": "2.0", - "description": "D Flip-flop (verilog implementation)", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22156.57%22%20height=%22216.83%22%20viewBox=%220%200%2041.425941%2057.369679%22%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M25.682%2040.152L39.29%2056.824%2032.372%2036.29%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M18.298%2032.088L9.066%2012.475l-6.45%203.724-2.07-3.583L21.451.546%2023.52%204.13l-6.092%203.517%2012.03%2018.223s5.399-2.025%208.535.74c3.137%202.766%202.52%204.92%202.887%204.772L17.192%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3C/svg%3E" + "name": "32-bits-gen-constant", + "version": "0.0.2", + "description": "Generic: 32-bits generic constant", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22145.608%22%20height=%22247.927%22%20viewBox=%220%200%20136.50729%20232.43134%22%3E%3Cg%20style=%22line-height:0%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%3E%3Cpath%20d=%22M56.012%20146.905q9.055%206.708%2020.459%2017.105%2011.404%2010.062%2022.472%2021.8%2011.403%2011.74%2021.465%2024.15%2010.062%2012.074%2016.1%2022.471h-32.87q-6.372-10.397-15.763-21.13-9.392-11.068-20.124-21.13-10.398-10.062-21.13-18.447-10.398-8.385-18.783-14.087v74.794H0V4.695L27.838%200v141.874q18.447-16.1%2036.894-31.863%2018.447-16.1%2033.205-33.205h32.533q-14.422%2017.106-34.881%2035.217-20.124%2018.112-39.577%2034.882z%22%20style=%22line-height:1.25%22%20font-size=%22335.399%22%20font-weight=%22400%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22/%3E%3C/g%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "3943e194-090b-4553-9df3-88bc4b17abc2", - "type": "basic.input", - "data": { - "name": "", - "clock": true - }, - "position": { - "x": 208, - "y": 160 - } - }, - { - "id": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78", + "id": "cd1ea929-712d-45ee-8b01-e608e6bf8869", "type": "basic.output", - "data": { - "name": "" - }, - "position": { - "x": 816, - "y": 224 - } - }, - { - "id": "bf2f0c53-2d04-4cba-aa70-2df85502d24f", - "type": "basic.input", "data": { "name": "", - "clock": false + "range": "[31:0]", + "size": 32 }, "position": { - "x": 208, - "y": 304 + "x": 968, + "y": 248 } }, { - "id": "65194b18-5d2a-41b2-bd86-01be99978ad6", + "id": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", "type": "basic.constant", "data": { "name": "", @@ -1763,179 +1602,75 @@ "local": false }, "position": { - "x": 512, - "y": 64 + "x": 728, + "y": 128 } }, { - "id": "bdc170f0-4468-4137-bd79-4624c9cadf2b", + "id": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", "type": "basic.code", "data": { - "code": "//-- Initial value\nreg q = INI;\n\n//-- Capture the input data \n//-- on the rising edge of \n//-- the system clock\nalways @(posedge clk)\n q <= d;", + "code": "assign k = VALUE;", "params": [ { - "name": "INI" + "name": "VALUE" } ], "ports": { - "in": [ - { - "name": "clk" - }, - { - "name": "d" - } - ], + "in": [], "out": [ { - "name": "q" + "name": "k", + "range": "[31:0]", + "size": 32 } ] } }, "position": { - "x": 384, - "y": 168 - }, - "size": { - "width": 344, - "height": 176 - } - }, - { - "id": "53d11290-50b3-40fb-b253-222cb296b075", - "type": "basic.info", - "data": { - "info": "Parameter: Initial value", - "readonly": true - }, - "position": { - "x": 488, - "y": 48 + "x": 672, + "y": 248 }, "size": { "width": 208, - "height": 40 - } - }, - { - "id": "c25a29cd-d5ed-435e-b375-e6d5557660d8", - "type": "basic.info", - "data": { - "info": "System clock", - "readonly": true - }, - "position": { - "x": 208, - "y": 136 - }, - "size": { - "width": 120, - "height": 32 - } - }, - { - "id": "ecafc6fa-330b-4ba7-aa67-40b3ea48f1f1", - "type": "basic.info", - "data": { - "info": "Input data", - "readonly": true - }, - "position": { - "x": 224, - "y": 280 - }, - "size": { - "width": 112, - "height": 40 - } - }, - { - "id": "df95c331-682d-4733-a62d-ad9fcd75f96a", - "type": "basic.info", - "data": { - "info": "Output", - "readonly": true - }, - "position": { - "x": 840, - "y": 200 - }, - "size": { - "width": 80, - "height": 40 - } - }, - { - "id": "dd8217df-b56d-49a9-ae94-f5e0c96e1460", - "type": "basic.info", - "data": { - "info": "# D Flip-Flop \n\nIt stores the input data that arrives at cycle n \nIts output is shown in the cycle n+1", - "readonly": true - }, - "position": { - "x": 144, - "y": -136 - }, - "size": { - "width": 488, - "height": 104 + "height": 64 } } ], "wires": [ { "source": { - "block": "3943e194-090b-4553-9df3-88bc4b17abc2", - "port": "out" + "block": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "port": "constant-out" }, "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "clk" + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "VALUE" } }, { "source": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "q" + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "k" }, "target": { - "block": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78", + "block": "cd1ea929-712d-45ee-8b01-e608e6bf8869", "port": "in" - } - }, - { - "source": { - "block": "65194b18-5d2a-41b2-bd86-01be99978ad6", - "port": "constant-out" - }, - "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "INI" - } - }, - { - "source": { - "block": "bf2f0c53-2d04-4cba-aa70-2df85502d24f", - "port": "out" }, - "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "d" - } + "size": 32 } ] } } }, - "5645befdb78839c4a1fcf8b7f7f1bfdd13cd127d": { + "f25742a4541382fc316890ce8673885ff18a66e8": { "package": { - "name": "not-wire-x01", + "name": "Adder-32bits", "version": "0.1", - "description": "Select positive or negative logic for the input (0=positive, 1=negative)", + "description": "Adder-32bits: Adder of two operands of 32 bits", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22317.537%22%20height=%22255.621%22%20version=%221%22%3E%3Cpath%20d=%22M112.127%2098.805l133.418%2076.406-133.418%2076.41z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20cx=%22263.881%22%20cy=%22174.972%22%20rx=%2217.634%22%20ry=%2217.982%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4%20175.592h108.187m169.632%200h31.718%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:0%25%22%20x=%22121.949%22%20y=%22187.178%22%20transform=%22scale(.9971%201.0029)%22%20font-weight=%22400%22%20font-size=%229.874%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%22121.949%22%20y=%22187.178%22%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20font-size=%2240.873%22%3ENot%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M4%2062.122h309.537%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:0%25%22%20x=%2214.865%22%20y=%2236.868%22%20transform=%22scale(.99532%201.0047)%22%20font-weight=%22400%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%2214.865%22%20y=%2236.868%22%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20font-size=%2249.675%22%3E0%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:0%25%22%20x=%2216.903%22%20y=%22151.969%22%20transform=%22scale(.99532%201.0047)%22%20font-weight=%22400%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%2216.903%22%20y=%22151.969%22%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20font-size=%2249.675%22%3E1%3C/tspan%3E%3C/text%3E%3C/svg%3E", - "otid": 1607779171609 + "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618560481898 }, "design": { "graph": { @@ -1944,518 +1679,674 @@ "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", "type": "basic.output", "data": { - "name": "" + "name": "c" }, "position": { - "x": 824, - "y": 304 + "x": 1160, + "y": -496 } }, { - "id": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", - "type": "basic.input", + "id": "6848d3cc-1668-42a1-aa48-54b5bf729fea", + "type": "basic.inputLabel", "data": { - "name": "", - "clock": false + "name": "a3", + "range": "[7:0]", + "pins": [ + { + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia", + "blockColor": "deeppink" }, "position": { - "x": 376, - "y": 320 + "x": 144, + "y": -472 } }, { - "id": "2cd40fd8-3a2b-46f7-a922-fedf146ed11a", - "type": "basic.constant", + "id": "64015db2-163d-4858-966f-2f7282b187c9", + "type": "basic.outputLabel", "data": { - "name": "not", - "value": "0", - "local": false + "name": "a3", + "range": "[7:0]", + "oldBlockColor": "fuchsia", + "blockColor": "deeppink", + "size": 8 }, "position": { - "x": 520, - "y": 160 + "x": 784, + "y": -440 } }, { - "id": "160f76e9-4d8d-424e-8689-bb890101823c", - "type": "3ba5d0ecbd8f55582a6307158732789df06cb74c", - "position": { - "x": 520, - "y": 256 + "id": "0d3bf835-b162-478d-bd73-91c914e05261", + "type": "basic.input", + "data": { + "name": "", + "range": "[31:0]", + "clock": false, + "size": 32 }, - "size": { - "width": 96, - "height": 64 + "position": { + "x": -568, + "y": -424 } }, { - "id": "5237d3a4-e717-4eb1-a261-65f0c313b67c", - "type": "b70dd9c39fe3c51faff4233d2dde462fc53c7e38", - "position": { - "x": 672, - "y": 304 + "id": "235e1fe4-919e-422d-9eb3-dc232e8f9407", + "type": "basic.inputLabel", + "data": { + "name": "a2", + "range": "[7:0]", + "pins": [ + { + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia", + "blockColor": "deeppink" }, - "size": { - "width": 96, - "height": 64 + "position": { + "x": 136, + "y": -384 } }, { - "id": "019e81db-5707-409c-b159-b4cb29813cc4", - "type": "basic.info", + "id": "820b8e01-7b0a-43c9-b539-d418bf983a1b", + "type": "basic.outputLabel", "data": { - "info": "When k=0, it works like a wire \n(The output is equal to the input) \nWhen k=1, it act as a not gate\n(The output is the inverse of the input)", - "readonly": true + "name": "b3", + "range": "[7:0]", + "blockColor": "fuchsia", + "size": 8 }, "position": { - "x": 632, - "y": 392 - }, - "size": { - "width": 336, - "height": 96 + "x": 776, + "y": -360 } }, { - "id": "68880edb-df66-4540-8ee4-f3836fdb5f0e", - "type": "basic.info", + "id": "e2589574-b6cc-4faf-8e69-3d23248bcba2", + "type": "basic.inputLabel", "data": { - "info": "### Truth table for XOR\n\n| k | input | output | function |\n|---|-------|--------|----------|\n| 0 | 0 | 0 | wire |\n| 0 | 1 | 1 | wire |\n| 1 | 0 | 1 | Not |\n| 1 | 1 | 0 | Not |", - "readonly": true + "name": "a1", + "range": "[7:0]", + "pins": [ + { + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia", + "blockColor": "deeppink" }, "position": { - "x": 728, - "y": 8 - }, - "size": { - "width": 296, - "height": 144 + "x": -56, + "y": -344 } - } - ], - "wires": [ - { - "source": { - "block": "2cd40fd8-3a2b-46f7-a922-fedf146ed11a", - "port": "constant-out" - }, - "target": { - "block": "160f76e9-4d8d-424e-8689-bb890101823c", - "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" - }, - "vertices": [] }, { - "source": { - "block": "160f76e9-4d8d-424e-8689-bb890101823c", - "port": "5d443143-4aca-4d4f-ba40-2b88451b86d3" - }, - "target": { - "block": "5237d3a4-e717-4eb1-a261-65f0c313b67c", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - } - }, - { - "source": { - "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", - "port": "out" + "id": "6736a55c-7818-4da9-9c1a-f57200ad2526", + "type": "basic.inputLabel", + "data": { + "name": "a0", + "range": "[7:0]", + "pins": [ + { + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia", + "blockColor": "deeppink" }, - "target": { - "block": "5237d3a4-e717-4eb1-a261-65f0c313b67c", - "port": "97b51945-d716-4b6c-9db9-970d08541249" + "position": { + "x": -232, + "y": -328 } }, { - "source": { - "block": "5237d3a4-e717-4eb1-a261-65f0c313b67c", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" - }, - "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "port": "in" - } - } - ] - } - } - }, - "3ba5d0ecbd8f55582a6307158732789df06cb74c": { - "package": { - "name": "Constante-1bits", - "version": "0.0.1", - "description": "Valor genérico constante, de 1 bits. Su valor se introduce como parámetro. Por defecto vale 0", - "author": "Juan Gonzalez-Gomez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22145.608%22%20height=%22247.927%22%20viewBox=%220%200%20136.50729%20232.43134%22%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22293.115%22%20y=%22648.344%22%20font-weight=%22400%22%20font-size=%22335.399%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22%20transform=%22translate(-316.929%20-415.913)%22%3E%3Ctspan%20x=%22293.115%22%20y=%22648.344%22%3Ek%3C/tspan%3E%3C/text%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "5d443143-4aca-4d4f-ba40-2b88451b86d3", + "id": "f690df81-1f8f-4de5-a2c9-6441486c5cc0", "type": "basic.output", "data": { - "name": "" + "name": "s", + "range": "[31:0]", + "size": 32 }, "position": { - "x": 960, - "y": 248 + "x": 1328, + "y": -320 } }, { - "id": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", - "type": "basic.constant", + "id": "8ac0c222-8cbc-4974-bfd2-43f11eb8d8ad", + "type": "basic.outputLabel", "data": { - "name": "", - "value": "0", - "local": false + "name": "a2", + "range": "[7:0]", + "oldBlockColor": "fuchsia", + "blockColor": "deeppink", + "size": 8 }, "position": { - "x": 728, - "y": 128 + "x": 600, + "y": -312 } }, { - "id": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", - "type": "basic.code", + "id": "cc858595-88b1-4f0b-baeb-77fdd9a4d7ed", + "type": "basic.outputLabel", "data": { - "code": "assign k = VALUE;", - "params": [ - { - "name": "VALUE" - } - ], - "ports": { - "in": [], - "out": [ - { - "name": "k" - } - ] - } + "name": "b2", + "range": "[7:0]", + "blockColor": "fuchsia", + "size": 8 }, "position": { - "x": 672, - "y": 248 - }, - "size": { - "width": 208, - "height": 64 - } - } - ], - "wires": [ - { - "source": { - "block": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", - "port": "constant-out" - }, - "target": { - "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", - "port": "VALUE" + "x": 600, + "y": -248 } }, { - "source": { - "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", - "port": "k" - }, - "target": { - "block": "5d443143-4aca-4d4f-ba40-2b88451b86d3", - "port": "in" - } - } - ] - } - } - }, - "b70dd9c39fe3c51faff4233d2dde462fc53c7e38": { - "package": { - "name": "XOR", - "version": "1.0.1", - "description": "Puerta XOR", - "author": "Jesús Arroyo, Juan González", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22193.047%22%20width=%22383.697%22%20version=%221%22%3E%3Cpath%20d=%22M175.56%20189.047H84.527s30.345-42.538%2031.086-94.03c.743-51.49-31.821-90.294-31.821-90.294l92.317-.394c46.445%201.948%20103.899%2053.44%20123.047%2093.678-32.601%2067.503-92.158%2089.79-123.596%2091.04z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2047.62h99.605M4.883%20145.497h100.981M298.57%2099.219h81.07%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20x=%22129.011%22%20y=%22115.285%22%20font-size=%2258.24%22%20font-weight=%22400%22%20style=%22line-height:125%25%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20transform=%22translate(0%20.329)%22%3E%3Ctspan%20x=%22129.011%22%20y=%22115.285%22%20font-weight=%22700%22%3EXOR%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M54.321%20188.368s30.345-42.538%2031.086-94.03c.742-51.49-31.821-90.294-31.821-90.294%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "18c2ebc7-5152-439c-9b3f-851c59bac834", - "type": "basic.input", + "id": "3ea559ff-d9a3-4048-a347-803ba9ff58c0", + "type": "basic.inputLabel", "data": { - "name": "" + "name": "b3", + "range": "[7:0]", + "pins": [ + { + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "blockColor": "fuchsia" }, "position": { - "x": 64, - "y": 88 + "x": 144, + "y": -168 } }, { - "id": "664caf9e-5f40-4df4-800a-b626af702e62", - "type": "basic.output", + "id": "4f2c77a9-f54e-4c7e-b1b8-d1739ea521c7", + "type": "basic.outputLabel", "data": { - "name": "" + "name": "a1", + "range": "[7:0]", + "blockColor": "deeppink", + "size": 8 }, "position": { - "x": 784, - "y": 152 + "x": 408, + "y": -136 } }, { - "id": "97b51945-d716-4b6c-9db9-970d08541249", - "type": "basic.input", + "id": "389f9a01-b7df-4d16-8f0e-bb14b76997ce", + "type": "basic.inputLabel", "data": { - "name": "" - }, - "position": { - "x": 64, - "y": 224 + "name": "b2", + "range": "[7:0]", + "pins": [ + { + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "blockColor": "fuchsia" + }, + "position": { + "x": 136, + "y": -104 } }, { - "id": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "type": "basic.code", + "id": "4743defe-36c0-40a2-aaf0-188272583034", + "type": "basic.outputLabel", "data": { - "code": "//-- Puerta XOR\n\n//-- module xor (input wire a, input wire b,\n//-- output wire c);\n\nassign c = a ^ b;\n\n//-- endmodule", - "params": [], - "ports": { - "in": [ - { - "name": "a" - }, - { - "name": "b" - } - ], - "out": [ - { - "name": "c" - } - ] - } + "name": "b1", + "range": "[7:0]", + "blockColor": "fuchsia", + "size": 8 }, "position": { - "x": 256, - "y": 48 - }, - "size": { - "width": 464, - "height": 272 - } - } - ], - "wires": [ - { - "source": { - "block": "18c2ebc7-5152-439c-9b3f-851c59bac834", - "port": "out" - }, - "target": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "a" + "x": 408, + "y": -56 } }, { - "source": { - "block": "97b51945-d716-4b6c-9db9-970d08541249", - "port": "out" + "id": "a3761c9e-14ee-47ef-95f0-ddbb132ba6cf", + "type": "basic.inputLabel", + "data": { + "name": "b1", + "range": "[7:0]", + "pins": [ + { + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "blockColor": "fuchsia" }, - "target": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "b" + "position": { + "x": -40, + "y": -32 } }, { - "source": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "c" - }, - "target": { - "block": "664caf9e-5f40-4df4-800a-b626af702e62", - "port": "in" - } - } - ] - } - } - }, - "5539ec808ddc65a96d5da8d44290e4da16a256b8": { - "package": { - "name": "Debouncer-x01", - "version": "1.0.0", - "description": "Remove the rebound on a mechanical switch", - "author": "Juan González", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-252%20400.9%2090%2040%22%3E%3Cpath%20d=%22M-251.547%20436.672h22.802v-30.353h5.862v30.353h5.259v-30.353h3.447v30.353h2.984v-30.353h3.506v30.523h6.406V405.77h38.868%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%221.4%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M-232.57%20403.877l26.946%2032.391M-205.624%20403.877l-26.946%2032.391%22%20fill=%22none%22%20stroke=%22red%22%20stroke-width=%223%22%20stroke-linecap=%22round%22/%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "4bf41c17-a2da-4140-95f7-2a80d51b1e1a", + "id": "af50622f-b846-4985-9ecd-9311eae669b6", "type": "basic.input", "data": { "name": "", - "clock": true + "range": "[31:0]", + "clock": false, + "size": 32 }, "position": { - "x": -376, - "y": -656 + "x": -552, + "y": -32 } }, { - "id": "a0474543-ff59-4f6f-8d2e-3993d79c13de", + "id": "a7cd6890-7130-4f25-9966-b5ca1132d597", "type": "basic.inputLabel", "data": { - "blockColor": "yellow", - "name": "clk", + "name": "b0", + "range": "[7:0]", "pins": [ + { + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, { "index": "0", "name": "", "value": "" } ], - "virtual": true + "virtual": true, + "blockColor": "fuchsia" }, "position": { - "x": -224, - "y": -656 + "x": -208, + "y": -16 } }, { - "id": "22ff3fa1-943b-4d1a-bd89-36e1c054d077", - "type": "basic.output", + "id": "7d042e3c-08e0-4027-ba97-6f6143ac0b7e", + "type": "basic.outputLabel", "data": { - "name": "" + "name": "a0", + "range": "[7:0]", + "blockColor": "deeppink", + "size": 8 }, "position": { - "x": 952, - "y": -600 + "x": 240, + "y": 56 } }, { - "id": "20d06e62-fd81-4956-b93c-ade0e616fb98", + "id": "7114cf32-af2c-438f-b816-1043a8bd819d", "type": "basic.outputLabel", "data": { + "name": "b0", + "range": "[7:0]", "blockColor": "fuchsia", - "name": "out" + "size": 8 }, "position": { - "x": 816, - "y": -600 - } - }, - { - "id": "c9e1af2a-6f09-4cf6-a5b3-fdf7ec2c6530", - "type": "basic.input", - "data": { - "name": "", - "clock": false - }, - "position": { - "x": -376, - "y": -584 + "x": 240, + "y": 120 } }, { - "id": "b0e427bd-ce26-43b5-9d61-685f1c1ab922", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "in", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true - }, + "id": "64c3574b-3227-40ab-ab03-c2e2af710a45", + "type": "cb23aa3d8a3e95bd194fd9ec9b9c40b36595d893", "position": { - "x": -224, - "y": -584 - } - }, - { - "id": "d8572528-e0db-413c-a4ff-64d8cfee021d", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" + "x": 408, + "y": 72 }, - "position": { - "x": -32, - "y": -448 + "size": { + "width": 96, + "height": 64 } }, { - "id": "5d12a177-7618-4517-9067-3012f7cb42ce", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" - }, + "id": "0857be54-1eea-4619-841f-b1bb49aa66d0", + "type": "c3c498191b14e9288a85fa2871b3966665f75475", "position": { - "x": 552, - "y": -440 - } - }, - { - "id": "2f1050dd-a720-4ede-890e-612ce370ba61", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "out", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "x": 576, + "y": -72 }, - "position": { - "x": 840, - "y": -352 + "size": { + "width": 96, + "height": 96 } }, { - "id": "ba86528a-72e9-40f7-a1e6-c2e684026c24", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "in", - "oldBlockColor": "fuchsia" - }, + "id": "17bd7ef3-6604-48a9-9c2e-50a8be908636", + "type": "8cc49c9b29485f2cfeab6064d7bb1cf9ced045b1", "position": { - "x": -32, - "y": -336 + "x": 816, + "y": -16 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "c1243e04-edbf-4cc6-9d85-f7bf35ac1dae", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" - }, + "id": "dcab5da0-fe7e-4131-af28-829e18fbb525", + "type": "c3c498191b14e9288a85fa2871b3966665f75475", "position": { - "x": 384, - "y": -288 + "x": 760, + "y": -264 + }, + "size": { + "width": 96, + "height": 96 } }, { - "id": "cc581727-73de-451c-849d-eb5e8387f0e4", - "type": "c8cfbaa5ea9096f681e8acf2ca239f06275f5db2", + "id": "c047f19d-fd2f-4cf6-a055-3b4ae336688a", + "type": "a52e3be3d374c081062b542fc91c5cb1be726cb8", "position": { - "x": 120, - "y": -352 + "x": 992, + "y": -112 }, "size": { "width": 96, @@ -2463,11 +2354,11 @@ } }, { - "id": "e4164124-c993-47b5-a746-809a3e625f53", - "type": "b70dd9c39fe3c51faff4233d2dde462fc53c7e38", + "id": "f774efb2-f5e3-4663-8de0-4b8ef65b8b09", + "type": "df0f3f06c52c56d0d046f2ceed137a642c18ae0a", "position": { - "x": 248, - "y": -176 + "x": -384, + "y": -32 }, "size": { "width": 96, @@ -2475,35 +2366,35 @@ } }, { - "id": "3c0a5e86-2068-4aef-8ad9-34d39461ddfe", - "type": "93adf61bc489d9a96a344d3f2600237e9e19c607", + "id": "9454de89-973a-4059-9061-689e93c1a83d", + "type": "ab13f05d92d80a82af1a712a92621ea26dde55f3", "position": { - "x": 704, - "y": -368 + "x": -208, + "y": -104 }, "size": { "width": 96, - "height": 96 + "height": 64 } }, { - "id": "c8bd0542-c3ff-484b-80b0-b883c1df77e5", - "type": "8d4ef5a2cf273f2265401931a99a46e9dc224688", + "id": "ed14e466-d8fc-4816-a575-0444806c8cfe", + "type": "306ca367fbbc5181b3c709d73f447e0710871a1d", "position": { - "x": 520, - "y": -192 + "x": -16, + "y": -120 }, "size": { "width": 96, - "height": 96 + "height": 64 } }, { - "id": "c287e056-90e6-46b6-b1fa-5f8abba12518", - "type": "725b7e2cb9666b5ed3183537d9c898f096dab82a", + "id": "bcacb1dd-d435-4ddf-822a-ae35d9dd83f7", + "type": "df0f3f06c52c56d0d046f2ceed137a642c18ae0a", "position": { - "x": 384, - "y": -96 + "x": -400, + "y": -424 }, "size": { "width": 96, @@ -2511,805 +2402,732 @@ } }, { - "id": "5a74cbea-0212-467b-8391-9740d50c3a18", - "type": "basic.info", - "data": { - "info": "Previous input \nvalue", - "readonly": true - }, + "id": "3a1d273a-692b-47e7-b804-c316a57ef405", + "type": "ab13f05d92d80a82af1a712a92621ea26dde55f3", "position": { - "x": 128, - "y": -408 + "x": -200, + "y": -440 }, "size": { - "width": 136, - "height": 56 + "width": 96, + "height": 64 } }, { - "id": "1be0ed57-ae41-4ca5-a8c0-3d70585336a6", - "type": "basic.info", - "data": { - "info": "Current input \nvalue", - "readonly": true - }, + "id": "fc197af1-6802-4a9f-9db3-72e5fc61e92c", + "type": "306ca367fbbc5181b3c709d73f447e0710871a1d", "position": { - "x": 88, - "y": -112 + "x": -8, + "y": -456 }, "size": { - "width": 136, - "height": 56 + "width": 96, + "height": 64 } }, { - "id": "dc34c3ef-e05e-4431-b7eb-dbb8ac883d6c", - "type": "basic.info", - "data": { - "info": "There is a change \non the input", - "readonly": true - }, + "id": "df606633-01cf-4c68-8ed4-c5343516f6ea", + "type": "c3c498191b14e9288a85fa2871b3966665f75475", "position": { - "x": 360, - "y": -200 + "x": 952, + "y": -376 }, "size": { - "width": 152, - "height": 56 + "width": 96, + "height": 96 } }, { - "id": "cabf3c3d-a707-4e06-be9a-4a66817c7a26", - "type": "basic.info", - "data": { - "info": "Whenever there is a change in \nthe input, the counter is started", - "readonly": true - }, + "id": "a99dfdbd-22cc-4a9f-a5be-c5ffaa17dfb9", + "type": "ab06af09e4825434c378ef37d8362e7818fd4a8f", "position": { - "x": 528, - "y": -88 + "x": 1160, + "y": -320 }, "size": { - "width": 288, - "height": 56 + "width": 96, + "height": 64 } - }, + } + ], + "wires": [ { - "id": "6dcd32b7-40bd-433d-a1e2-222636c19f2f", - "type": "basic.info", - "data": { - "info": "If the counter reaches it maximum \nvalue, the input is considered stable \nand it is captured", - "readonly": true + "source": { + "block": "f774efb2-f5e3-4663-8de0-4b8ef65b8b09", + "port": "bbc72c72-9eec-46c2-aeff-4233b746b9c2", + "size": 8 }, - "position": { - "x": 720, - "y": -456 + "target": { + "block": "a7cd6890-7130-4f25-9966-b5ca1132d597", + "port": "inlabel" }, - "size": { - "width": 304, - "height": 72 - } + "size": 8 }, { - "id": "5ee60a84-8e65-49de-9b87-5afd9770b5a3", - "type": "basic.info", - "data": { - "info": "### Time calculation\n\nFor CLK=12MHZ, a 16-bit counter reaches its \nmaximum every 2 ** 16 * 1/F = 5.5ms aprox \nIF more time is needed for debouncing, \nuse a counter with more bits (17, 18...)", - "readonly": true + "source": { + "block": "7114cf32-af2c-438f-b816-1043a8bd819d", + "port": "outlabel" }, - "position": { - "x": 432, - "y": -640 + "target": { + "block": "64c3574b-3227-40ab-ab03-c2e2af710a45", + "port": "63477487-9493-4058-a7e1-9bab443ec466", + "size": 8 }, - "size": { - "width": 360, - "height": 120 - } + "size": 8 }, { - "id": "f998abd9-dfc8-42d4-8816-c89f07a61e6f", - "type": "basic.info", - "data": { - "info": "## Debouncer \n\nA value is considered stable when \nthere is no changes during 5.5ms \naprox. When a value is stable it is \ncaptured on the output flip-flop", - "readonly": true + "source": { + "block": "7d042e3c-08e0-4027-ba97-6f6143ac0b7e", + "port": "outlabel" }, - "position": { - "x": -8, - "y": -648 + "target": { + "block": "64c3574b-3227-40ab-ab03-c2e2af710a45", + "port": "b4b08c4b-8eb1-4cd3-a1bf-a45bf7177ed3", + "size": 8 }, - "size": { - "width": 312, - "height": 128 - } + "size": 8 }, { - "id": "ababfa12-265a-4c7c-a482-8ed44cf9171c", - "type": "basic.info", - "data": { - "info": "Stable output", - "readonly": true + "source": { + "block": "4f2c77a9-f54e-4c7e-b1b8-d1739ea521c7", + "port": "outlabel" }, - "position": { - "x": 880, - "y": -280 + "target": { + "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", + "port": "4bf17d89-89b8-4524-800a-2d15f9bbb111", + "size": 8 }, - "size": { - "width": 136, - "height": 40 - } + "size": 8 }, { - "id": "656df089-b248-432e-b6b5-ecd4bb5cc8eb", - "type": "basic.info", - "data": { - "info": "Counter", - "readonly": true + "source": { + "block": "4743defe-36c0-40a2-aaf0-188272583034", + "port": "outlabel" }, - "position": { - "x": 536, - "y": -232 + "target": { + "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", + "port": "3867504b-f331-4e0e-b923-acc86cb4255c", + "size": 8 }, - "size": { - "width": 96, - "height": 40 - } - } - ], - "wires": [ + "size": 8 + }, { "source": { - "block": "4bf41c17-a2da-4140-95f7-2a80d51b1e1a", - "port": "out" + "block": "9454de89-973a-4059-9061-689e93c1a83d", + "port": "872cccab-7461-412b-9924-bad211fa1922", + "size": 8 }, "target": { - "block": "a0474543-ff59-4f6f-8d2e-3993d79c13de", + "block": "a3761c9e-14ee-47ef-95f0-ddbb132ba6cf", "port": "inlabel" - } + }, + "size": 8 }, { "source": { - "block": "d8572528-e0db-413c-a4ff-64d8cfee021d", - "port": "outlabel" + "block": "bcacb1dd-d435-4ddf-822a-ae35d9dd83f7", + "port": "bbc72c72-9eec-46c2-aeff-4233b746b9c2", + "size": 8 }, "target": { - "block": "cc581727-73de-451c-849d-eb5e8387f0e4", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" - } + "block": "6736a55c-7818-4da9-9c1a-f57200ad2526", + "port": "inlabel" + }, + "size": 8 }, { "source": { - "block": "5d12a177-7618-4517-9067-3012f7cb42ce", - "port": "outlabel" + "block": "3a1d273a-692b-47e7-b804-c316a57ef405", + "port": "872cccab-7461-412b-9924-bad211fa1922", + "size": 8 }, "target": { - "block": "3c0a5e86-2068-4aef-8ad9-34d39461ddfe", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" - } + "block": "e2589574-b6cc-4faf-8e69-3d23248bcba2", + "port": "inlabel" + }, + "size": 8 }, { "source": { - "block": "c1243e04-edbf-4cc6-9d85-f7bf35ac1dae", + "block": "cc858595-88b1-4f0b-baeb-77fdd9a4d7ed", "port": "outlabel" }, "target": { - "block": "c8bd0542-c3ff-484b-80b0-b883c1df77e5", - "port": "c90da543-4b9c-4f4c-a5fa-7e1166ee1dd3" - } + "block": "dcab5da0-fe7e-4131-af28-829e18fbb525", + "port": "3867504b-f331-4e0e-b923-acc86cb4255c", + "size": 8 + }, + "size": 8 }, { "source": { - "block": "c9e1af2a-6f09-4cf6-a5b3-fdf7ec2c6530", - "port": "out" + "block": "8ac0c222-8cbc-4974-bfd2-43f11eb8d8ad", + "port": "outlabel" }, "target": { - "block": "b0e427bd-ce26-43b5-9d61-685f1c1ab922", - "port": "inlabel" - } + "block": "dcab5da0-fe7e-4131-af28-829e18fbb525", + "port": "4bf17d89-89b8-4524-800a-2d15f9bbb111", + "size": 8 + }, + "size": 8 }, { "source": { - "block": "ba86528a-72e9-40f7-a1e6-c2e684026c24", - "port": "outlabel" + "block": "ed14e466-d8fc-4816-a575-0444806c8cfe", + "port": "0e7ef93d-c4da-4c2e-9653-7a470dc912b6", + "size": 8 }, "target": { - "block": "cc581727-73de-451c-849d-eb5e8387f0e4", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" - } + "block": "389f9a01-b7df-4d16-8f0e-bb14b76997ce", + "port": "inlabel" + }, + "size": 8 }, { "source": { - "block": "ba86528a-72e9-40f7-a1e6-c2e684026c24", - "port": "outlabel" + "block": "fc197af1-6802-4a9f-9db3-72e5fc61e92c", + "port": "0e7ef93d-c4da-4c2e-9653-7a470dc912b6", + "size": 8 }, "target": { - "block": "e4164124-c993-47b5-a746-809a3e625f53", - "port": "97b51945-d716-4b6c-9db9-970d08541249" - } + "block": "235e1fe4-919e-422d-9eb3-dc232e8f9407", + "port": "inlabel" + }, + "size": 8 }, { "source": { - "block": "3c0a5e86-2068-4aef-8ad9-34d39461ddfe", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + "block": "ed14e466-d8fc-4816-a575-0444806c8cfe", + "port": "6ac467f0-b16b-44ef-8f03-ae206c13186e", + "size": 8 }, "target": { - "block": "2f1050dd-a720-4ede-890e-612ce370ba61", + "block": "3ea559ff-d9a3-4048-a347-803ba9ff58c0", "port": "inlabel" - } + }, + "size": 8 }, { "source": { - "block": "20d06e62-fd81-4956-b93c-ade0e616fb98", - "port": "outlabel" + "block": "fc197af1-6802-4a9f-9db3-72e5fc61e92c", + "port": "6ac467f0-b16b-44ef-8f03-ae206c13186e", + "size": 8 }, "target": { - "block": "22ff3fa1-943b-4d1a-bd89-36e1c054d077", - "port": "in" - } + "block": "6848d3cc-1668-42a1-aa48-54b5bf729fea", + "port": "inlabel" + }, + "size": 8 }, { "source": { - "block": "cc581727-73de-451c-849d-eb5e8387f0e4", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + "block": "820b8e01-7b0a-43c9-b539-d418bf983a1b", + "port": "outlabel" }, "target": { - "block": "e4164124-c993-47b5-a746-809a3e625f53", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "block": "df606633-01cf-4c68-8ed4-c5343516f6ea", + "port": "3867504b-f331-4e0e-b923-acc86cb4255c", + "size": 8 }, - "vertices": [] + "size": 8 }, { "source": { - "block": "cc581727-73de-451c-849d-eb5e8387f0e4", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + "block": "64015db2-163d-4858-966f-2f7282b187c9", + "port": "outlabel" }, "target": { - "block": "3c0a5e86-2068-4aef-8ad9-34d39461ddfe", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + "block": "df606633-01cf-4c68-8ed4-c5343516f6ea", + "port": "4bf17d89-89b8-4524-800a-2d15f9bbb111", + "size": 8 }, - "vertices": [] + "size": 8 }, { "source": { - "block": "c8bd0542-c3ff-484b-80b0-b883c1df77e5", - "port": "cc17ff4d-1c27-4dc3-a14c-da730d54750e" + "block": "64c3574b-3227-40ab-ab03-c2e2af710a45", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "3c0a5e86-2068-4aef-8ad9-34d39461ddfe", - "port": "4e3677f4-ae08-4a6f-80a7-ec71cd0c24b7" - }, - "vertices": [] + "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", + "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" + } }, { "source": { - "block": "e4164124-c993-47b5-a746-809a3e625f53", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", + "port": "9daaaf78-5a89-4d4a-a1b2-db1d3af962f1" }, "target": { - "block": "c8bd0542-c3ff-484b-80b0-b883c1df77e5", - "port": "743b5299-2d89-4783-b7c9-12a5b36df406" + "block": "17bd7ef3-6604-48a9-9c2e-50a8be908636", + "port": "5a35cd57-1006-4f6d-b263-5b977e9ef142" }, - "vertices": [] + "size": 8 }, { "source": { - "block": "c287e056-90e6-46b6-b1fa-5f8abba12518", - "port": "3d584b0a-29eb-47af-8c43-c0822282ef05" + "block": "64c3574b-3227-40ab-ab03-c2e2af710a45", + "port": "dc2d9a2c-9ee9-4985-a678-d88c89fd8b74" }, "target": { - "block": "c8bd0542-c3ff-484b-80b0-b883c1df77e5", - "port": "26aba23f-8567-4e9b-bd45-c26724030f33" + "block": "17bd7ef3-6604-48a9-9c2e-50a8be908636", + "port": "38fdb02d-4323-4a34-9ffe-8385f844b660" }, - "vertices": [] - } - ] - } - } - }, - "93adf61bc489d9a96a344d3f2600237e9e19c607": { - "package": { - "name": "Reg-1bit", - "version": "0.1", - "description": "1bit register (implemented in verilog)", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22216.379%22%20height=%22279.911%22%20viewBox=%220%200%2057.25032%2074.059853%22%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M41.506%2040.152l13.608%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M34.122%2032.088L24.89%2012.475l-6.45%203.724-2.07-3.583L37.276.546l2.07%203.584-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.772L33.017%2045.02s-2.849-3.695-2.16-6.795c.687-3.1%203.265-6.137%203.265-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20transform=%22translate(-93.518%20-22.665)%20scale(1.09073)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20cx=%22100.602%22%20cy=%2273.815%22%20r=%2214.559%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ + "size": 8 + }, { - "id": "3943e194-090b-4553-9df3-88bc4b17abc2", - "type": "basic.input", - "data": { - "name": "", - "clock": true + "source": { + "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, - "position": { - "x": 216, - "y": 104 + "target": { + "block": "dcab5da0-fe7e-4131-af28-829e18fbb525", + "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" } }, { - "id": "bf2f0c53-2d04-4cba-aa70-2df85502d24f", - "type": "basic.input", - "data": { - "name": "d", - "clock": false + "source": { + "block": "17bd7ef3-6604-48a9-9c2e-50a8be908636", + "port": "79c56f9a-597f-491e-b1d1-d321f63303c2" }, - "position": { - "x": 216, - "y": 192 - } + "target": { + "block": "c047f19d-fd2f-4cf6-a055-3b4ae336688a", + "port": "c4ca0e6a-6557-45ee-8363-1bffebaad486" + }, + "size": 16 }, { - "id": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78", - "type": "basic.output", - "data": { - "name": "" + "source": { + "block": "dcab5da0-fe7e-4131-af28-829e18fbb525", + "port": "9daaaf78-5a89-4d4a-a1b2-db1d3af962f1" }, - "position": { - "x": 728, - "y": 192 - } + "target": { + "block": "c047f19d-fd2f-4cf6-a055-3b4ae336688a", + "port": "29a44a77-ec20-436d-a9e8-7fc2ca5de57e" + }, + "size": 8 }, { - "id": "4e3677f4-ae08-4a6f-80a7-ec71cd0c24b7", - "type": "basic.input", - "data": { - "name": "load", - "clock": false + "source": { + "block": "dcab5da0-fe7e-4131-af28-829e18fbb525", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, - "position": { - "x": 240, - "y": 320 + "target": { + "block": "df606633-01cf-4c68-8ed4-c5343516f6ea", + "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" } }, { - "id": "65194b18-5d2a-41b2-bd86-01be99978ad6", - "type": "basic.constant", - "data": { - "name": "", - "value": "0", - "local": false + "source": { + "block": "c047f19d-fd2f-4cf6-a055-3b4ae336688a", + "port": "756c8eb7-3567-48b4-9757-fe992499b794" }, - "position": { - "x": 472, - "y": 56 + "target": { + "block": "a99dfdbd-22cc-4a9f-a5be-c5ffaa17dfb9", + "port": "3b957f7a-e94e-490f-8313-231ef9f2bdae" + }, + "size": 24 + }, + { + "source": { + "block": "df606633-01cf-4c68-8ed4-c5343516f6ea", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + }, + "target": { + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" } }, { - "id": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "type": "basic.code", - "data": { - "code": "reg q = INI;\n\nalways @(posedge clk)\n if (load)\n q <= d;", - "params": [ - { - "name": "INI" - } - ], - "ports": { - "in": [ - { - "name": "clk" - }, - { - "name": "d" - }, - { - "name": "load" - } - ], - "out": [ - { - "name": "q" - } - ] - } + "source": { + "block": "af50622f-b846-4985-9ecd-9311eae669b6", + "port": "out" }, - "position": { - "x": 384, - "y": 168 + "target": { + "block": "f774efb2-f5e3-4663-8de0-4b8ef65b8b09", + "port": "5204a9f1-594b-4216-b993-03b46bef9e6e" }, - "size": { - "width": 272, - "height": 104 - } + "size": 32 }, { - "id": "3df131d9-1f78-4d88-bd06-bcbe95855d01", - "type": "basic.info", - "data": { - "info": "Initial value", - "readonly": true + "source": { + "block": "f774efb2-f5e3-4663-8de0-4b8ef65b8b09", + "port": "f1c65ee1-45a3-412a-a3a4-cd3e16ce49d1" }, - "position": { - "x": 480, - "y": 48 + "target": { + "block": "9454de89-973a-4059-9061-689e93c1a83d", + "port": "901245a6-b7da-4af7-8917-7a47e5675ae1" }, - "size": { - "width": 136, - "height": 32 - } - } - ], - "wires": [ + "size": 24 + }, { "source": { - "block": "3943e194-090b-4553-9df3-88bc4b17abc2", + "block": "9454de89-973a-4059-9061-689e93c1a83d", + "port": "4ca7b72f-724d-435c-8490-645c338586db" + }, + "target": { + "block": "ed14e466-d8fc-4816-a575-0444806c8cfe", + "port": "a0c9783a-c287-45a7-bfc7-9da552cf732f" + }, + "size": 16 + }, + { + "source": { + "block": "0d3bf835-b162-478d-bd73-91c914e05261", "port": "out" }, "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "clk" - } + "block": "bcacb1dd-d435-4ddf-822a-ae35d9dd83f7", + "port": "5204a9f1-594b-4216-b993-03b46bef9e6e" + }, + "size": 32 }, { "source": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "q" + "block": "bcacb1dd-d435-4ddf-822a-ae35d9dd83f7", + "port": "f1c65ee1-45a3-412a-a3a4-cd3e16ce49d1" }, "target": { - "block": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78", - "port": "in" - } + "block": "3a1d273a-692b-47e7-b804-c316a57ef405", + "port": "901245a6-b7da-4af7-8917-7a47e5675ae1" + }, + "size": 24 }, { "source": { - "block": "65194b18-5d2a-41b2-bd86-01be99978ad6", - "port": "constant-out" + "block": "3a1d273a-692b-47e7-b804-c316a57ef405", + "port": "4ca7b72f-724d-435c-8490-645c338586db" }, "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "INI" - } + "block": "fc197af1-6802-4a9f-9db3-72e5fc61e92c", + "port": "a0c9783a-c287-45a7-bfc7-9da552cf732f" + }, + "size": 16 }, { "source": { - "block": "bf2f0c53-2d04-4cba-aa70-2df85502d24f", - "port": "out" + "block": "df606633-01cf-4c68-8ed4-c5343516f6ea", + "port": "9daaaf78-5a89-4d4a-a1b2-db1d3af962f1" }, "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "d" - } + "block": "a99dfdbd-22cc-4a9f-a5be-c5ffaa17dfb9", + "port": "40f9d1d0-01e9-40c2-b4a4-e7277a78c006" + }, + "size": 8 }, { "source": { - "block": "4e3677f4-ae08-4a6f-80a7-ec71cd0c24b7", - "port": "out" + "block": "a99dfdbd-22cc-4a9f-a5be-c5ffaa17dfb9", + "port": "a121f12a-dede-4aec-9016-4c8e92ed75e2" }, "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "load" - } + "block": "f690df81-1f8f-4de5-a2c9-6441486c5cc0", + "port": "in" + }, + "size": 32 } ] } } }, - "8d4ef5a2cf273f2265401931a99a46e9dc224688": { + "cb23aa3d8a3e95bd194fd9ec9b9c40b36595d893": { "package": { - "name": "Contador-16bits-up-rst", + "name": "Adder-8bits", "version": "0.1", - "description": "Contador módulo M, ascendente, de 16 bits, con reset ", + "description": "Adder-8bits: Adder of two operands of 8 bits", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22327.118%22%20height=%22304.435%22%20viewBox=%220%200%2086.549973%2080.548402%22%3E%3Cdefs%3E%3Cmarker%20id=%22a%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20fill=%22#00f%22%20fill-rule=%22evenodd%22%20stroke=%22#00f%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3C/defs%3E%3Cg%20transform=%22translate(-59.162%20-4.54)%22%3E%3Cpath%20d=%22M138.803%2048.49V16.91%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%222.806%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20marker-end=%22url(#a)%22/%3E%3Crect%20rx=%222.807%22%20ry=%222.807%22%20y=%225.289%22%20x=%2299.747%22%20height=%2247.849%22%20width=%2229.538%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%221.497%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%2240.921%22%20x=%22108.575%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%228.982%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%221.497%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2240.921%22%20x=%22108.575%22%20font-weight=%22700%22%20font-size=%2235.656%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M100.868%2030.283h27.764%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%222.245%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20rx=%222.807%22%20ry=%222.807%22%20y=%225.289%22%20x=%2266.333%22%20height=%2247.849%22%20width=%2229.538%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%221.497%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%2240.921%22%20x=%2273.223%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%228.982%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%221.497%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2240.921%22%20x=%2273.223%22%20font-weight=%22700%22%20font-size=%2235.656%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M67.454%2030.283h27.764%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%222.245%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22matrix(1.00937%200%200%201.00937%20-27.38%20-4.42)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(1.00937%200%200%201.00937%2028.939%20-4.42)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E" + "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618560481898 }, "design": { "graph": { "blocks": [ { - "id": "c90da543-4b9c-4f4c-a5fa-7e1166ee1dd3", - "type": "basic.input", - "data": { - "name": "", - "clock": true - }, - "position": { - "x": 264, - "y": 176 - } - }, - { - "id": "bc20f3e9-fdc2-457f-9c07-6d609142c689", - "type": "basic.output", - "data": { - "name": "", - "range": "[15:0]", - "size": 16 - }, - "position": { - "x": 800, - "y": 200 - } - }, - { - "id": "743b5299-2d89-4783-b7c9-12a5b36df406", - "type": "basic.input", + "id": "1c85838b-e269-4a65-a112-0a1bbca9b2a1", + "type": "basic.inputLabel", "data": { - "name": "rst", - "clock": false + "name": "a1", + "range": "[3:0]", + "pins": [ + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia", + "blockColor": "deeppink" }, "position": { - "x": 264, - "y": 280 + "x": 16, + "y": -688 } }, { - "id": "cc17ff4d-1c27-4dc3-a14c-da730d54750e", - "type": "basic.output", + "id": "d01b9c0c-a541-49e6-b5aa-a0c0f21612a0", + "type": "basic.outputLabel", "data": { - "name": "ov" + "name": "a1", + "range": "[3:0]", + "oldBlockColor": "fuchsia", + "blockColor": "deeppink", + "size": 4 }, "position": { - "x": 800, - "y": 352 + "x": 352, + "y": -664 } }, { - "id": "26aba23f-8567-4e9b-bd45-c26724030f33", + "id": "b4b08c4b-8eb1-4cd3-a1bf-a45bf7177ed3", "type": "basic.input", "data": { - "name": "cnt", - "clock": false + "name": "", + "range": "[7:0]", + "clock": false, + "size": 8 }, "position": { - "x": 264, - "y": 376 + "x": -312, + "y": -632 } }, { - "id": "eb9f9c33-e717-43f0-98eb-dbd9c278fa8c", - "type": "basic.constant", + "id": "f3b83846-5723-40b3-a598-fd21797f7ce1", + "type": "basic.inputLabel", "data": { - "name": "", - "value": "'h10000", - "local": false - }, + "name": "a0", + "range": "[3:0]", + "pins": [ + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia", + "blockColor": "deeppink" + }, "position": { - "x": 528, - "y": 48 + "x": 16, + "y": -616 } }, { - "id": "b35ae5de-a490-4f7b-9200-ac52cd3f333e", - "type": "basic.info", + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", "data": { - "info": "**Parámetro**: Módulo del contador", - "readonly": true + "name": "c" }, "position": { - "x": 472, - "y": 32 - }, - "size": { - "width": 280, - "height": 56 + "x": 960, + "y": -608 } }, { - "id": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", - "type": "basic.code", + "id": "fb36b075-bb31-4aa7-8dbd-f0d108126f21", + "type": "basic.outputLabel", "data": { - "code": "//-- Numero de bits del contador\nlocalparam N = 16; \n\n//-- En contadores de N bits:\n//-- M = 2 ** N\n\n//-- Internamente usamos un bit mas\n//-- (N+1) bits\nreg [N:0] qi = 0;\n\nalways @(posedge clk)\n if (rst | ov)\n qi <= 0;\n else\n if (cnt)\n qi <= qi + 1;\n \nassign q = qi;\n\n//-- Comprobar overflow\nassign ov = (qi == M);\n ", - "params": [ - { - "name": "M" - } - ], - "ports": { - "in": [ - { - "name": "clk" - }, - { - "name": "rst" - }, - { - "name": "cnt" - } - ], - "out": [ - { - "name": "q", - "range": "[15:0]", - "size": 16 - }, - { - "name": "ov" - } - ] - } + "name": "b1", + "range": "[3:0]", + "blockColor": "fuchsia", + "size": 4 }, "position": { - "x": 408, - "y": 160 - }, - "size": { - "width": 336, - "height": 296 + "x": 352, + "y": -584 } - } - ], - "wires": [ + }, { - "source": { - "block": "743b5299-2d89-4783-b7c9-12a5b36df406", - "port": "out" + "id": "dc2d9a2c-9ee9-4985-a678-d88c89fd8b74", + "type": "basic.output", + "data": { + "name": "s", + "range": "[7:0]", + "size": 8 }, - "target": { - "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", - "port": "rst" + "position": { + "x": 960, + "y": -544 } }, { - "source": { - "block": "eb9f9c33-e717-43f0-98eb-dbd9c278fa8c", - "port": "constant-out" + "id": "6de2e227-2992-41fb-a52e-16e86632cd2c", + "type": "basic.outputLabel", + "data": { + "name": "a0", + "range": "[3:0]", + "oldBlockColor": "fuchsia", + "blockColor": "deeppink", + "size": 4 }, - "target": { - "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", - "port": "M" + "position": { + "x": 184, + "y": -472 } }, { - "source": { - "block": "26aba23f-8567-4e9b-bd45-c26724030f33", - "port": "out" + "id": "d5b2605b-a224-4d60-896b-d1553fd943e1", + "type": "basic.inputLabel", + "data": { + "name": "b1", + "range": "[3:0]", + "pins": [ + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "blockColor": "fuchsia" }, - "target": { - "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", - "port": "cnt" + "position": { + "x": 8, + "y": -440 } }, { - "source": { - "block": "c90da543-4b9c-4f4c-a5fa-7e1166ee1dd3", - "port": "out" + "id": "e3beef79-c05d-4705-8dbc-de5b7b94941a", + "type": "basic.outputLabel", + "data": { + "name": "b0", + "range": "[3:0]", + "blockColor": "fuchsia", + "size": 4 }, - "target": { - "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", - "port": "clk" + "position": { + "x": 184, + "y": -408 } }, { - "source": { - "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", - "port": "ov" + "id": "63477487-9493-4058-a7e1-9bab443ec466", + "type": "basic.input", + "data": { + "name": "", + "range": "[7:0]", + "clock": false, + "size": 8 }, - "target": { - "block": "cc17ff4d-1c27-4dc3-a14c-da730d54750e", - "port": "in" + "position": { + "x": -320, + "y": -384 } }, { - "source": { - "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", - "port": "q" - }, - "target": { - "block": "bc20f3e9-fdc2-457f-9c07-6d609142c689", - "port": "in" - }, - "size": 16 - } - ] - } - } - }, - "725b7e2cb9666b5ed3183537d9c898f096dab82a": { - "package": { - "name": "1", - "version": "0.1", - "description": "Un bit constante a 1", - "author": "Jesus Arroyo", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2233.632%22%20height=%2269.34%22%20viewBox=%220%200%2031.530464%2065.006656%22%3E%3Cpath%20d=%22M3.517%2012.015L19%200l12.53%202.863-10.012%2043.262-9.746-2.227%207.7-34.532L8.03%2016.38z%22%20fill=%22green%22%20fill-rule=%22evenodd%22/%3E%3Cpath%20d=%22M17.593%2043.464l7.822%2010.472-6.56%207.919%202.27%202.043m-5.14-20.179l-4.542%2010.473-10.345%202.043.757%203.32%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%222.196%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "3d584b0a-29eb-47af-8c43-c0822282ef05", - "type": "basic.output", + "id": "df32424c-55e8-45ed-9adc-3d8bb146e3e0", + "type": "basic.inputLabel", "data": { - "name": "" + "name": "b0", + "range": "[3:0]", + "pins": [ + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "blockColor": "fuchsia" }, "position": { - "x": 512, - "y": 160 + "x": 8, + "y": -368 } }, { - "id": "61331ec5-2c56-4cdd-b607-e63b1502fa65", - "type": "basic.code", - "data": { - "code": "//-- Bit constante a 1\nassign q = 1'b1;\n\n", - "params": [], - "ports": { - "in": [], - "out": [ - { - "name": "q" - } - ] - } - }, + "id": "6781108b-d67f-4ee8-97a9-79bab2c400b1", + "type": "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a", "position": { - "x": 168, - "y": 112 + "x": -168, + "y": -384 }, "size": { - "width": 256, - "height": 160 - } - } - ], - "wires": [ - { - "source": { - "block": "61331ec5-2c56-4cdd-b607-e63b1502fa65", - "port": "q" - }, - "target": { - "block": "3d584b0a-29eb-47af-8c43-c0822282ef05", - "port": "in" - } - } - ] - } - } - }, - "c8ffff0c6db83755c69d6633413f8122e52a420c": { - "package": { - "name": "Rising-edge-detector", - "version": "0.1", - "description": "Rising-edge detector. It generates a 1-period pulse (tic) when a rising edge is detected on the input", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22185.363%22%20height=%22183.398%22%20viewBox=%220%200%2049.043981%2048.524089%22%3E%3Cg%20stroke-linecap=%22round%22%3E%3Cg%20fill=%22none%22%20stroke=%22#00f%22%3E%3Cpath%20d=%22M13.478%2032.434l6.026%207.975-5.054%206.03%201.749%201.556m-3.96-15.367l-3.5%207.976-7.97%201.555.583%202.529%22%20stroke-width=%221.058%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M12.773%2032.628V2.686%22%20stroke-width=%223.969%22/%3E%3Cpath%20d=%22M1.984%2012.436L12.673%201.984l10.35%2010.452%22%20stroke-width=%223.969%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(.842%200%200%20.842%20-48.178%20-26.157)%22%20stroke=%22green%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "2708468d-1088-4570-be63-fb0d4799a941", - "type": "basic.input", - "data": { - "name": "", - "clock": true - }, - "position": { - "x": 152, - "y": 152 + "width": 96, + "height": 64 } }, { - "id": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", - "type": "basic.input", - "data": { - "name": "", - "clock": false - }, + "id": "ffcdd533-6cad-4ba4-9f88-4b1030d78af8", + "type": "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a", "position": { - "x": 152, - "y": 280 - } - }, - { - "id": "1c25e08e-e664-4fab-9b30-cedc1f8a3739", - "type": "basic.output", - "data": { - "name": "" + "x": -152, + "y": -632 }, - "position": { - "x": 840, - "y": 400 + "size": { + "width": 96, + "height": 64 } }, { - "id": "71397c49-5476-4a34-a914-7ec7f07fbf10", - "type": "1c7dae7144d376f2ee4896fcc502a29110e2db37", + "id": "7b82019f-c8a7-4b8c-baa1-6eb224a95cb2", + "type": "25966b9480fc28011aea0e17452c30d5ff9d76e8", "position": { - "x": 320, - "y": 264 + "x": 352, + "y": -456 }, "size": { "width": 96, @@ -3317,11 +3135,11 @@ } }, { - "id": "dd46675b-cc63-4048-8a37-c684913c3514", - "type": "35f267d0df6ffcb7fc33753bc9df9cf083642cca", + "id": "b8a72421-dc14-4c18-b343-9c3516b37f54", + "type": "afb28fd5426aea14477d11cbe30a290679f789f8", "position": { - "x": 552, - "y": 264 + "x": 760, + "y": -544 }, "size": { "width": 96, @@ -3329,632 +3147,534 @@ } }, { - "id": "5b898222-8c0c-4e10-8a92-2b8734c87693", - "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", + "id": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", + "type": "a1ce303b8ce47a06371ea4641c81460f34a1cca9", "position": { - "x": 696, - "y": 400 + "x": 520, + "y": -600 }, "size": { "width": 96, - "height": 64 + "height": 96 } - }, + } + ], + "wires": [ { - "id": "49c0a94e-2687-4aa4-8cba-327b2942095f", - "type": "basic.info", - "data": { - "info": "## Rising edge detector\n\nIt generates a 1-period pulse (tic) when a rising edge is detected on the \ninput signal", - "readonly": true + "source": { + "block": "6781108b-d67f-4ee8-97a9-79bab2c400b1", + "port": "eb61d084-ca22-4894-b8a2-f936db38f4b1", + "size": 4 }, - "position": { - "x": 176, - "y": -16 + "target": { + "block": "df32424c-55e8-45ed-9adc-3d8bb146e3e0", + "port": "inlabel" }, - "size": { - "width": 568, - "height": 80 - } + "size": 4 }, { - "id": "a6ea5e17-d259-4272-8d1c-87a6a7fe3235", - "type": "basic.info", - "data": { - "info": "Input signal", - "readonly": true + "source": { + "block": "6781108b-d67f-4ee8-97a9-79bab2c400b1", + "port": "637e64f4-0a6b-4037-9a75-89397e078a58", + "size": 4 }, - "position": { - "x": 160, - "y": 256 + "target": { + "block": "d5b2605b-a224-4d60-896b-d1553fd943e1", + "port": "inlabel" }, - "size": { - "width": 136, - "height": 40 - } + "size": 4 }, { - "id": "d0d6c668-3c03-42f5-9244-9a0431f11a87", - "type": "basic.info", - "data": { - "info": "System clock", - "readonly": true + "source": { + "block": "ffcdd533-6cad-4ba4-9f88-4b1030d78af8", + "port": "637e64f4-0a6b-4037-9a75-89397e078a58", + "size": 4 }, - "position": { - "x": 168, - "y": 120 + "target": { + "block": "1c85838b-e269-4a65-a112-0a1bbca9b2a1", + "port": "inlabel" }, - "size": { - "width": 96, - "height": 48 - } + "size": 4 }, { - "id": "f18011f4-eb45-4f91-9716-c1d8c99f1845", - "type": "basic.info", - "data": { - "info": "Current signal \nstate", - "readonly": true + "source": { + "block": "ffcdd533-6cad-4ba4-9f88-4b1030d78af8", + "port": "eb61d084-ca22-4894-b8a2-f936db38f4b1", + "size": 4 }, - "position": { - "x": 328, - "y": 456 + "target": { + "block": "f3b83846-5723-40b3-a598-fd21797f7ce1", + "port": "inlabel" }, - "size": { - "width": 168, - "height": 48 - } + "size": 4 }, { - "id": "ab801839-c115-4e44-adb7-349586890b97", - "type": "basic.info", - "data": { - "info": "Signal state in the previous \nclock cycle", - "readonly": true + "source": { + "block": "e3beef79-c05d-4705-8dbc-de5b7b94941a", + "port": "outlabel" }, - "position": { - "x": 328, - "y": 200 + "target": { + "block": "7b82019f-c8a7-4b8c-baa1-6eb224a95cb2", + "port": "d192d0af-e7be-4be6-925a-50227d80784c", + "size": 4 }, - "size": { - "width": 248, - "height": 48 - } + "size": 4 }, { - "id": "fde5c436-d382-48e7-80b5-390c05f46b9d", - "type": "basic.info", - "data": { - "info": "If the current signal is 1 and its value in \nthe previous clock cycle was 0, it means \nthat a rising edge has been detected! \nThe output es 1\n\nIn any other case the output is 0", - "readonly": true + "source": { + "block": "6de2e227-2992-41fb-a52e-16e86632cd2c", + "port": "outlabel" }, - "position": { - "x": 728, - "y": 256 + "target": { + "block": "7b82019f-c8a7-4b8c-baa1-6eb224a95cb2", + "port": "c2d36218-be99-4dd1-bf69-7690c667255b", + "size": 4 }, - "size": { - "width": 344, - "height": 96 - } + "size": 4 }, { - "id": "c3990bfd-57a6-4602-ab46-800486326dd6", - "type": "basic.info", - "data": { - "info": "**Delay**: 0 clock cycles \n\nThere is no delay between the arrival of a rising edge \nand its detection", - "readonly": true + "source": { + "block": "fb36b075-bb31-4aa7-8dbd-f0d108126f21", + "port": "outlabel" }, - "position": { - "x": 528, - "y": 504 + "target": { + "block": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", + "port": "d192d0af-e7be-4be6-925a-50227d80784c", + "size": 4 }, - "size": { - "width": 416, - "height": 88 - } - } - ], - "wires": [ + "size": 4 + }, { "source": { - "block": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", - "port": "out" + "block": "d01b9c0c-a541-49e6-b5aa-a0c0f21612a0", + "port": "outlabel" }, "target": { - "block": "71397c49-5476-4a34-a914-7ec7f07fbf10", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" - } + "block": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", + "port": "c2d36218-be99-4dd1-bf69-7690c667255b", + "size": 4 + }, + "size": 4 }, { "source": { - "block": "2708468d-1088-4570-be63-fb0d4799a941", + "block": "63477487-9493-4058-a7e1-9bab443ec466", "port": "out" }, "target": { - "block": "71397c49-5476-4a34-a914-7ec7f07fbf10", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" - } + "block": "6781108b-d67f-4ee8-97a9-79bab2c400b1", + "port": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e" + }, + "size": 8 }, { "source": { - "block": "71397c49-5476-4a34-a914-7ec7f07fbf10", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + "block": "b4b08c4b-8eb1-4cd3-a1bf-a45bf7177ed3", + "port": "out" }, "target": { - "block": "dd46675b-cc63-4048-8a37-c684913c3514", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - } + "block": "ffcdd533-6cad-4ba4-9f88-4b1030d78af8", + "port": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e" + }, + "size": 8 }, { "source": { - "block": "dd46675b-cc63-4048-8a37-c684913c3514", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", + "port": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42" }, "target": { - "block": "5b898222-8c0c-4e10-8a92-2b8734c87693", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - } + "block": "b8a72421-dc14-4c18-b343-9c3516b37f54", + "port": "a1770adf-e143-4506-9d87-3cb9c870f534" + }, + "size": 4 }, { "source": { - "block": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", - "port": "out" + "block": "7b82019f-c8a7-4b8c-baa1-6eb224a95cb2", + "port": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42" }, "target": { - "block": "5b898222-8c0c-4e10-8a92-2b8734c87693", - "port": "97b51945-d716-4b6c-9db9-970d08541249" - } + "block": "b8a72421-dc14-4c18-b343-9c3516b37f54", + "port": "843164ff-f7d8-48b9-bf59-1e0d1135c81f" + }, + "size": 4 }, { "source": { - "block": "5b898222-8c0c-4e10-8a92-2b8734c87693", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "b8a72421-dc14-4c18-b343-9c3516b37f54", + "port": "1269698e-e555-4fcb-a613-cb4c7ff2e598" }, "target": { - "block": "1c25e08e-e664-4fab-9b30-cedc1f8a3739", + "block": "dc2d9a2c-9ee9-4985-a678-d88c89fd8b74", "port": "in" + }, + "size": 8 + }, + { + "source": { + "block": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + }, + "target": { + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" + } + }, + { + "source": { + "block": "7b82019f-c8a7-4b8c-baa1-6eb224a95cb2", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + }, + "target": { + "block": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", + "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" } } ] } } }, - "1c7dae7144d376f2ee4896fcc502a29110e2db37": { + "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a": { "package": { - "name": "DFF", + "name": "Bus8-Split-half", "version": "0.1", - "description": "D Flip-flop", + "description": "Bus8-Split-half: Split the 8-bits bus into two buses of the same size", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22156.57%22%20height=%22216.83%22%20viewBox=%220%200%2041.425941%2057.369679%22%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M25.682%2040.152L39.29%2056.824%2032.372%2036.29%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M18.298%2032.088L9.066%2012.475l-6.45%203.724-2.07-3.583L21.451.546%2023.52%204.13l-6.092%203.517%2012.03%2018.223s5.399-2.025%208.535.74c3.137%202.766%202.52%204.92%202.887%204.772L17.192%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3C/svg%3E" + "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": { "graph": { "blocks": [ { - "id": "3943e194-090b-4553-9df3-88bc4b17abc2", - "type": "basic.input", - "data": { - "name": "", - "clock": true - }, - "position": { - "x": 192, - "y": 136 - } - }, - { - "id": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78", + "id": "637e64f4-0a6b-4037-9a75-89397e078a58", "type": "basic.output", "data": { - "name": "" + "name": "1", + "range": "[3:0]", + "size": 4 }, "position": { - "x": 680, - "y": 184 + "x": 584, + "y": 104 } }, { - "id": "bf2f0c53-2d04-4cba-aa70-2df85502d24f", + "id": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e", "type": "basic.input", "data": { "name": "", - "clock": false + "range": "[7:0]", + "clock": false, + "size": 8 }, "position": { - "x": 192, - "y": 232 + "x": 120, + "y": 208 } }, { - "id": "65194b18-5d2a-41b2-bd86-01be99978ad6", - "type": "basic.constant", + "id": "eb61d084-ca22-4894-b8a2-f936db38f4b1", + "type": "basic.output", "data": { - "name": "", - "value": "0", - "local": false + "name": "0", + "range": "[3:0]", + "size": 4 }, "position": { - "x": 456, - "y": 64 + "x": 584, + "y": 232 } }, { - "id": "bdc170f0-4468-4137-bd79-4624c9cadf2b", + "id": "16e78204-213e-4833-9096-89d735307ec2", "type": "basic.code", "data": { - "code": "reg q = INI;\nalways @(posedge clk)\n q <= d;", - "params": [ - { - "name": "INI" - } - ], + "code": "assign o1 = i[7:4];\nassign o0 = i[3:0];", + "params": [], "ports": { "in": [ { - "name": "clk" - }, - { - "name": "d" + "name": "i", + "range": "[7:0]", + "size": 8 } ], "out": [ { - "name": "q" + "name": "o1", + "range": "[3:0]", + "size": 4 + }, + { + "name": "o0", + "range": "[3:0]", + "size": 4 } ] } }, "position": { - "x": 384, - "y": 168 + "x": 272, + "y": 176 }, "size": { - "width": 232, - "height": 88 + "width": 240, + "height": 120 } } ], "wires": [ { "source": { - "block": "3943e194-090b-4553-9df3-88bc4b17abc2", - "port": "out" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o1" }, "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "clk" - } + "block": "637e64f4-0a6b-4037-9a75-89397e078a58", + "port": "in" + }, + "size": 4 }, { "source": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "q" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o0" }, "target": { - "block": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78", + "block": "eb61d084-ca22-4894-b8a2-f936db38f4b1", "port": "in" - } - }, - { - "source": { - "block": "65194b18-5d2a-41b2-bd86-01be99978ad6", - "port": "constant-out" }, - "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "INI" - } + "size": 4 }, { "source": { - "block": "bf2f0c53-2d04-4cba-aa70-2df85502d24f", + "block": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e", "port": "out" }, "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "d" - } + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i" + }, + "size": 8 } ] } } }, - "35f267d0df6ffcb7fc33753bc9df9cf083642cca": { + "25966b9480fc28011aea0e17452c30d5ff9d76e8": { "package": { - "name": "NOT", - "version": "1.0.3", - "description": "Puerta NOT", - "author": "Jesús Arroyo, Juan González", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22317.651%22%20height=%22194.058%22%20version=%221%22%3E%3Cpath%20d=%22M69.246%204l161.86%2093.027-161.86%2093.031V4z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20cx=%22253.352%22%20cy=%2296.736%22%20rx=%2221.393%22%20ry=%2221.893%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2097.49h65.262m205.796%200h38.48%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%2281.112%22%20y=%22111.734%22%20transform=%22scale(.99532%201.0047)%22%20font-weight=%22400%22%20font-size=%2249.675%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%2281.112%22%20y=%22111.734%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%3ENot%3C/tspan%3E%3C/text%3E%3C/svg%3E" + "name": "Adder-4bits", + "version": "0.1", + "description": "Adder-4bits: Adder of two operands of 4 bits", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618560481898 }, "design": { "graph": { "blocks": [ { - "id": "18c2ebc7-5152-439c-9b3f-851c59bac834", - "type": "basic.input", + "id": "1c9b3962-5793-4e6f-98d4-9ca2113d0823", + "type": "basic.inputLabel", "data": { - "name": "" + "blockColor": "deeppink", + "name": "a3", + "pins": [ + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true, + "oldBlockColor": "deeppink" }, "position": { - "x": 64, - "y": 144 + "x": 8, + "y": -744 } }, { - "id": "664caf9e-5f40-4df4-800a-b626af702e62", - "type": "basic.output", + "id": "161a3e27-de9b-4674-b990-c1e8314a29f3", + "type": "basic.outputLabel", "data": { - "name": "" + "blockColor": "deeppink", + "name": "a3", + "oldBlockColor": "deeppink" }, "position": { - "x": 752, - "y": 144 + "x": 576, + "y": -736 } }, { - "id": "5365ed8c-e5db-4445-938f-8d689830ea5c", - "type": "basic.code", + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", "data": { - "code": "//-- Puerta NOT\n\n//-- module (input wire a, output wire c);\n\n\nassign c = ~a;\n\n\n//-- endmodule\n", - "params": [], - "ports": { - "in": [ - { - "name": "a" - } - ], - "out": [ - { - "name": "c" - } - ] - } + "name": "c" }, "position": { - "x": 256, - "y": 48 - }, - "size": { - "width": 400, - "height": 256 + "x": 920, + "y": -696 } - } - ], - "wires": [ + }, { - "source": { - "block": "18c2ebc7-5152-439c-9b3f-851c59bac834", - "port": "out" - }, - "target": { - "block": "5365ed8c-e5db-4445-938f-8d689830ea5c", - "port": "a" - } - }, - { - "source": { - "block": "5365ed8c-e5db-4445-938f-8d689830ea5c", - "port": "c" - }, - "target": { - "block": "664caf9e-5f40-4df4-800a-b626af702e62", - "port": "in" - } - } - ] - } - } - }, - "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6": { - "package": { - "name": "AND", - "version": "1.0.1", - "description": "Puerta AND", - "author": "Jesús Arroyo, Juan González", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22336.09%22%20height=%22194.045%22%20version=%221%22%3E%3Cpath%20d=%22M174.656%20190.045H78.304V4h96.352s87.463%208.625%2087.463%2091.94c0%2083.311-87.463%2094.105-87.463%2094.105z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2045.668h74.018M4.057%20144.812h74.018m184.632-50.034h69.326%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%2292.894%22%20y=%22114.587%22%20font-weight=%22400%22%20font-size=%2258.054%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%2292.894%22%20y=%22114.587%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%3EAND%3C/tspan%3E%3C/text%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "18c2ebc7-5152-439c-9b3f-851c59bac834", - "type": "basic.input", + "id": "73a0a48e-d345-4eda-8603-782e9865d928", + "type": "basic.inputLabel", "data": { - "name": "" + "blockColor": "deeppink", + "name": "a2", + "pins": [ + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true, + "oldBlockColor": "deeppink" }, "position": { - "x": 64, - "y": 88 + "x": 8, + "y": -688 } }, { - "id": "664caf9e-5f40-4df4-800a-b626af702e62", - "type": "basic.output", + "id": "05fb13c5-879a-422f-84a8-56d1db8816da", + "type": "basic.outputLabel", "data": { - "name": "" + "blockColor": "fuchsia", + "name": "b3", + "oldBlockColor": "fuchsia" }, "position": { - "x": 784, - "y": 152 + "x": 576, + "y": -672 } }, { - "id": "97b51945-d716-4b6c-9db9-970d08541249", - "type": "basic.input", + "id": "a30f87da-7077-4ad6-92dd-adbfdd1bed45", + "type": "basic.inputLabel", "data": { - "name": "" + "blockColor": "deeppink", + "name": "a1", + "pins": [ + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true, + "oldBlockColor": "deeppink" }, "position": { - "x": 64, - "y": 224 + "x": 8, + "y": -632 } }, { - "id": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "type": "basic.code", + "id": "c2d36218-be99-4dd1-bf69-7690c667255b", + "type": "basic.input", "data": { - "code": "//-- Puerta AND\n\n//-- module and (input wire a, input wire b,\n//-- output wire c);\n\nassign c = a & b;\n\n//-- endmodule", - "params": [], - "ports": { - "in": [ - { - "name": "a" - }, - { - "name": "b" - } - ], - "out": [ - { - "name": "c" - } - ] - } + "name": "", + "range": "[3:0]", + "clock": false, + "size": 4 }, "position": { - "x": 256, - "y": 48 - }, - "size": { - "width": 464, - "height": 272 - } - } - ], - "wires": [ - { - "source": { - "block": "18c2ebc7-5152-439c-9b3f-851c59bac834", - "port": "out" - }, - "target": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "a" - } - }, - { - "source": { - "block": "97b51945-d716-4b6c-9db9-970d08541249", - "port": "out" - }, - "target": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "b" + "x": -312, + "y": -632 } }, { - "source": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "c" - }, - "target": { - "block": "664caf9e-5f40-4df4-800a-b626af702e62", - "port": "in" - } - } - ] - } - } - }, - "4c1570e58dc7efecf440f8a4ff7d1dda4250ef0c": { - "package": { - "name": "RS-FF-set", - "version": "0.1", - "description": "RS-FF-set. RS Flip-flop with priority set", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20312.54461%20289.77628%22%20id=%22svg30%22%20width=%22312.545%22%20height=%22289.776%22%3E%3Cdefs%20id=%22defs34%22%3E%3Cmarker%20id=%22TriangleOutM%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20id=%22path988%22%20fill=%22#00f%22%20fill-rule=%22evenodd%22%20stroke=%22#00f%22%20stroke-width=%22.4pt%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow2Mend%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20id=%22path870%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3C/defs%3E%3Cstyle%20id=%22style2%22%3E.st0%7Bdisplay:none%7D.st1%7Bfill:none;stroke:#303030;stroke-width:.7;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10%7D.st2%7Bfill:#303030%7D%3C/style%3E%3Cg%20id=%22layer1%22%20transform=%22translate(81.543%203.027)%22%3E%3Cpath%20class=%22st1%22%20d=%22M48.702%2092.116a64.784%2064.784%200%200%200-12.559%2011.68%2064.99%2064.99%200%200%200-12.69%2024.809%22%20id=%22path11%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20id=%22line17%22%20class=%22st1%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22%20d=%22M184.865%20207.591L41.298%20262.802%22/%3E%3Cpath%20id=%22path21-3%22%20d=%22M185.448%20175.07l.37.154c2.52.831%204.718%202.386%206.634%204.249%202.02%202.322%203.694%204.777%204.423%208.713%201.496%208.074-3.286%2016.05-10.95%2018.997l-1.06.408L41.298%20262.8l-.733.283c-8.003%203.077-17.551.461-21.82-6.975-3.3-5.748-2.736-12.198.418-21.613%203.155-9.414%202.86-21.856-1.644-33.55l.041.003-12.507-32.667c-12.88-33.415-.747-70.376%2027.41-90.31l-1.102-2.749c-3.685-9.583%201.14-20.438%2010.723-24.124%209.583-3.685%2020.439%201.14%2024.124%2010.723l1.654%203.239c34.881-3.556%2068.594%2015.855%2081.318%2049.33l15.24%2038.432c4.795%208.723%2011.831%2015.955%2021.028%2022.248z%22%20fill=%22#fff%22%20stroke=%22#303030%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20d=%22M64.268%20268.838l45.015-17.115s7.963%2024.296-14.427%2030.38c-22.39%206.086-30.588-13.265-30.588-13.265z%22%20id=%22path826%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3Cg%20id=%22layer3%22%20transform=%22translate(78.072%20-.17)%22%3E%3Crect%20id=%22rect845%22%20width=%22135.189%22%20height=%22135.189%22%20x=%2295.783%22%20y=%223.671%22%20ry=%2219.847%22%20fill=%22#55acee%22%20stroke=%22#303030%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3C/g%3E%3Cg%20id=%22layer4%22%20transform=%22translate(78.072%20-.17)%22%3E%3Cellipse%20id=%22path1211%22%20cx=%22-39.888%22%20cy=%22125.645%22%20rx=%2235.684%22%20ry=%2237.984%22%20fill=%22#fff6d5%22%20stroke=%22#000%22%20stroke-width=%225%22%20stroke-linecap=%22round%22/%3E%3Cpath%20class=%22st2%22%20d=%22M172.724%2052.533V27.647h-9.888L144.047%2037.7l2.308%208.9%2014.833-8.076h.33v74.824H172.724V52.533z%22%20id=%22path7%22%20fill=%22#303030%22%20stroke-width=%2214.425%22/%3E%3Cpath%20d=%22M-38.915%20152.276v-39.72%22%20id=%22path841%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%225%22%20marker-end=%22url(#TriangleOutM)%22/%3E%3C/g%3E%3C/svg%3E", - "otid": 1621864223514 - }, - "design": { - "graph": { - "blocks": [ - { - "id": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", - "type": "basic.input", + "id": "ed7a30bc-17fc-444e-89e5-aa9f83b32e86", + "type": "basic.outputLabel", "data": { - "name": "", - "clock": true + "blockColor": "deeppink", + "name": "a2", + "oldBlockColor": "deeppink" }, "position": { - "x": 216, - "y": -40 + "x": 456, + "y": -584 } }, { - "id": "0a772657-8018-424d-8f04-75d3ffff3692", + "id": "d7d5e8c8-78dd-41a8-aedf-1051b89bfb77", "type": "basic.inputLabel", "data": { - "blockColor": "yellow", - "name": "clk", + "blockColor": "deeppink", + "name": "a0", "pins": [ { "index": "0", - "name": "", - "value": "" + "name": "NULL", + "value": "NULL" } ], - "virtual": true - }, - "position": { - "x": 368, - "y": -40 - } - }, - { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "type": "basic.output", - "data": { - "name": "output" + "virtual": true, + "oldBlockColor": "fuchsia" }, "position": { - "x": 1496, - "y": 40 + "x": 8, + "y": -576 } }, { - "id": "97800965-0802-4a8f-9ed0-e61db33ae442", + "id": "3c8597e6-ca79-494a-9a53-04c284205216", "type": "basic.outputLabel", "data": { "blockColor": "fuchsia", - "name": "q", + "name": "b2", "oldBlockColor": "fuchsia" }, "position": { - "x": 1352, - "y": 40 + "x": 456, + "y": -528 } }, { - "id": "b9359b10-b14f-4dd7-adf9-3f4f22bc65e6", - "type": "basic.outputLabel", + "id": "ee992ca6-d586-4901-aaa3-a17d94ddac84", + "type": "basic.inputLabel", "data": { - "blockColor": "yellow", - "name": "clk", + "blockColor": "fuchsia", + "name": "b3", + "pins": [ + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true, "oldBlockColor": "fuchsia" }, "position": { - "x": 1008, - "y": 136 + "x": -8, + "y": -448 } }, { - "id": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", - "type": "basic.input", + "id": "c5dce3e4-5ecc-4fc9-bbf6-7c1adfa1c7ff", + "type": "basic.outputLabel", "data": { - "name": "set", - "clock": false + "blockColor": "deeppink", + "name": "a1", + "oldBlockColor": "fuchsia" }, "position": { - "x": 216, - "y": 136 + "x": 328, + "y": -440 } }, { - "id": "7e1bf901-73cb-4a29-8843-27b3cc756bb1", + "id": "fb8bbeb1-5c60-4629-bc13-231545818d0b", "type": "basic.inputLabel", "data": { - "blockColor": "royalblue", - "name": "set", + "blockColor": "fuchsia", + "name": "b2", "pins": [ { "index": "0", @@ -3966,49 +3686,55 @@ "oldBlockColor": "fuchsia" }, "position": { - "x": 384, - "y": 136 + "x": -8, + "y": -384 } }, { - "id": "2378a6da-a057-4c61-9eb0-e36b6861059f", - "type": "basic.inputLabel", + "id": "d192d0af-e7be-4be6-925a-50227d80784c", + "type": "basic.input", "data": { - "blockColor": "navy", - "name": "reset", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "name": "", + "range": "[3:0]", + "clock": false, + "size": 4 }, "position": { - "x": 384, - "y": 216 + "x": -312, + "y": -384 } }, { - "id": "fc243ba8-9abb-4a22-81c4-fabdf043cd01", - "type": "basic.input", + "id": "038a8cb8-35b8-424a-9d14-c320cfcddccf", + "type": "basic.outputLabel", "data": { - "name": "reset", - "clock": false + "blockColor": "fuchsia", + "name": "b1" }, "position": { - "x": 224, - "y": 216 + "x": 328, + "y": -376 + } + }, + { + "id": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42", + "type": "basic.output", + "data": { + "name": "s", + "range": "[3:0]", + "size": 4 + }, + "position": { + "x": 1064, + "y": -368 } }, { - "id": "fe2e7470-5890-4c51-b71e-8ff89b4db797", + "id": "527c9113-e440-454b-b427-182b646c10f5", "type": "basic.inputLabel", "data": { "blockColor": "fuchsia", - "name": "q", + "name": "b1", "pins": [ { "index": "0", @@ -4016,84 +3742,90 @@ "value": "NULL" } ], - "virtual": true, - "oldBlockColor": "fuchsia" + "virtual": true }, "position": { - "x": 1304, - "y": 232 + "x": -16, + "y": -320 } }, { - "id": "833a07bb-6153-48fe-bb7a-f24fcd38ed65", + "id": "f8dceaf6-6020-49e5-b775-ed4821fbd5bd", "type": "basic.outputLabel", "data": { - "blockColor": "fuchsia", - "name": "q", + "blockColor": "deeppink", + "name": "a0", "oldBlockColor": "fuchsia" }, "position": { - "x": 640, - "y": 248 + "x": 184, + "y": -296 } }, { - "id": "7e57f319-38cf-4c3a-ac16-f37a05f8de19", - "type": "basic.outputLabel", + "id": "b652825e-10ba-47cc-9832-e39d73586234", + "type": "basic.inputLabel", "data": { - "blockColor": "royalblue", - "name": "set", + "blockColor": "fuchsia", + "name": "b0", + "pins": [ + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true, "oldBlockColor": "fuchsia" }, "position": { - "x": 816, - "y": 344 + "x": -32, + "y": -264 } }, { - "id": "38e515cf-4953-42f4-9cbc-7e4e17f605ee", + "id": "7e5351cc-ea73-4bb2-9dda-0390f005b90b", "type": "basic.outputLabel", "data": { - "blockColor": "navy", - "name": "reset", + "blockColor": "fuchsia", + "name": "b0", "oldBlockColor": "fuchsia" }, "position": { - "x": 648, - "y": 344 + "x": 184, + "y": -232 } }, { - "id": "bc3416e4-576f-40fb-85a9-5058b9f85395", - "type": "basic.constant", - "data": { - "name": "", - "value": "0", - "local": false - }, + "id": "e7d0a130-cf6b-4220-a06f-42543db0214f", + "type": "1ea21df64c18f01d8f4b905c437ccf0ca332baf6", "position": { - "x": 1176, - "y": 136 + "x": 320, + "y": -248 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "34ac83a6-30cb-4ba5-b84e-c2d318713033", - "type": "053dc2e26797e60dd454402e395eb23f388681b9", + "id": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", "position": { - "x": 1176, - "y": 232 + "x": 464, + "y": -392 }, "size": { "width": 96, - "height": 64 + "height": 96 } }, { - "id": "3c8c3d3d-8a1f-45a1-8ba9-0d019e0c041c", - "type": "d0c4e5ca28edb32eb88f24d610c7a2782d8bc697", + "id": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", "position": { - "x": 968, - "y": 232 + "x": 608, + "y": -544 }, "size": { "width": 96, @@ -4101,606 +3833,426 @@ } }, { - "id": "8d656647-f4ea-475e-b4c1-54787973b618", - "type": "febcfed8636b8ee9a98750b96ed9e53a165dd4a8", + "id": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "type": "c4f23ad05c2010ec9bd213c8814c9238873037ae", "position": { - "x": 800, - "y": 136 + "x": -168, + "y": -416 }, "size": { "width": 96, - "height": 64 + "height": 128 } }, { - "id": "5929fa8c-d037-406b-b5aa-9e52e71f2832", - "type": "d0c4e5ca28edb32eb88f24d610c7a2782d8bc697", + "id": "57e59301-2919-4f06-ba95-54ce5d99d774", + "type": "c4f23ad05c2010ec9bd213c8814c9238873037ae", "position": { - "x": 800, - "y": 232 + "x": -152, + "y": -664 }, "size": { "width": 96, - "height": 96 + "height": 128 } }, { - "id": "4eb098a5-9671-4946-b827-ce276e6a94f2", - "type": "d30ca9ee4f35f6cb76d5e5701447fc2b739bc640", + "id": "11342001-e6e0-443b-af87-0e5d7ada0227", + "type": "84f0a15761ee8b753f67079819a7614923939472", "position": { - "x": 632, - "y": 136 + "x": 896, + "y": -400 }, "size": { "width": 96, - "height": 64 + "height": 128 } }, { - "id": "864d85b3-242c-408a-9e20-fb4931e68f70", - "type": "basic.info", - "data": { - "info": "Priority for the set", - "readonly": true - }, + "id": "72c87c65-b34b-480f-8cde-cd97c0914014", + "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", "position": { - "x": 1000, - "y": 344 + "x": 744, + "y": -688 }, "size": { - "width": 184, - "height": 32 + "width": 96, + "height": 96 } } ], "wires": [ { "source": { - "block": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", - "port": "out" + "block": "038a8cb8-35b8-424a-9d14-c320cfcddccf", + "port": "outlabel" }, "target": { - "block": "0a772657-8018-424d-8f04-75d3ffff3692", - "port": "inlabel" - }, - "vertices": [] + "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + } }, { "source": { - "block": "34ac83a6-30cb-4ba5-b84e-c2d318713033", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "port": "f5a71d7b-de20-4527-80c8-0eb20de0dc77" }, "target": { - "block": "fe2e7470-5890-4c51-b71e-8ff89b4db797", + "block": "527c9113-e440-454b-b427-182b646c10f5", "port": "inlabel" - }, - "vertices": [] + } }, { "source": { - "block": "7e57f319-38cf-4c3a-ac16-f37a05f8de19", - "port": "outlabel" + "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "port": "0f7487e5-b070-4277-bba6-acf69934afca" }, "target": { - "block": "3c8c3d3d-8a1f-45a1-8ba9-0d019e0c041c", - "port": "08fac044-f451-4fb7-9668-f5bce3b40c2c" - }, - "vertices": [] + "block": "b652825e-10ba-47cc-9832-e39d73586234", + "port": "inlabel" + } }, { "source": { - "block": "833a07bb-6153-48fe-bb7a-f24fcd38ed65", + "block": "7e5351cc-ea73-4bb2-9dda-0390f005b90b", "port": "outlabel" }, "target": { - "block": "5929fa8c-d037-406b-b5aa-9e52e71f2832", - "port": "d4a339a0-7bdb-4695-8f6b-93ea4a70b36a" - }, - "vertices": [] + "block": "e7d0a130-cf6b-4220-a06f-42543db0214f", + "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + } }, { "source": { - "block": "38e515cf-4953-42f4-9cbc-7e4e17f605ee", + "block": "f8dceaf6-6020-49e5-b775-ed4821fbd5bd", "port": "outlabel" }, "target": { - "block": "5929fa8c-d037-406b-b5aa-9e52e71f2832", - "port": "08fac044-f451-4fb7-9668-f5bce3b40c2c" - }, - "vertices": [] + "block": "e7d0a130-cf6b-4220-a06f-42543db0214f", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + } }, { "source": { - "block": "b9359b10-b14f-4dd7-adf9-3f4f22bc65e6", - "port": "outlabel" + "block": "57e59301-2919-4f06-ba95-54ce5d99d774", + "port": "0f7487e5-b070-4277-bba6-acf69934afca" }, "target": { - "block": "34ac83a6-30cb-4ba5-b84e-c2d318713033", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" - }, - "vertices": [ - { - "x": 1128, - "y": 208 - } - ] + "block": "d7d5e8c8-78dd-41a8-aedf-1051b89bfb77", + "port": "inlabel" + } }, { "source": { - "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", - "port": "out" + "block": "c5dce3e4-5ecc-4fc9-bbf6-7c1adfa1c7ff", + "port": "outlabel" }, "target": { - "block": "7e1bf901-73cb-4a29-8843-27b3cc756bb1", - "port": "inlabel" + "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" } }, { "source": { - "block": "fc243ba8-9abb-4a22-81c4-fabdf043cd01", - "port": "out" + "block": "57e59301-2919-4f06-ba95-54ce5d99d774", + "port": "f5a71d7b-de20-4527-80c8-0eb20de0dc77" }, "target": { - "block": "2378a6da-a057-4c61-9eb0-e36b6861059f", + "block": "a30f87da-7077-4ad6-92dd-adbfdd1bed45", "port": "inlabel" } }, { "source": { - "block": "97800965-0802-4a8f-9ed0-e61db33ae442", - "port": "outlabel" + "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "port": "33072210-9ba0-4659-8339-95952b939e6e" }, "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "port": "in" + "block": "fb8bbeb1-5c60-4629-bc13-231545818d0b", + "port": "inlabel" } }, { "source": { - "block": "bc3416e4-576f-40fb-85a9-5058b9f85395", - "port": "constant-out" + "block": "57e59301-2919-4f06-ba95-54ce5d99d774", + "port": "33072210-9ba0-4659-8339-95952b939e6e" }, "target": { - "block": "34ac83a6-30cb-4ba5-b84e-c2d318713033", - "port": "65194b18-5d2a-41b2-bd86-01be99978ad6" - }, - "vertices": [] + "block": "73a0a48e-d345-4eda-8603-782e9865d928", + "port": "inlabel" + } }, { "source": { - "block": "3c8c3d3d-8a1f-45a1-8ba9-0d019e0c041c", - "port": "0e6a9a81-8521-4ade-8012-71915b39ae41" + "block": "3c8597e6-ca79-494a-9a53-04c284205216", + "port": "outlabel" }, "target": { - "block": "34ac83a6-30cb-4ba5-b84e-c2d318713033", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" - }, - "vertices": [] + "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + } }, { "source": { - "block": "8d656647-f4ea-475e-b4c1-54787973b618", - "port": "3d584b0a-29eb-47af-8c43-c0822282ef05" + "block": "ed7a30bc-17fc-444e-89e5-aa9f83b32e86", + "port": "outlabel" }, "target": { - "block": "3c8c3d3d-8a1f-45a1-8ba9-0d019e0c041c", + "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" - }, - "vertices": [] + } }, { "source": { - "block": "5929fa8c-d037-406b-b5aa-9e52e71f2832", - "port": "0e6a9a81-8521-4ade-8012-71915b39ae41" + "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "port": "bbe1895b-be8b-4237-b0d1-ae592e3e6208" }, "target": { - "block": "3c8c3d3d-8a1f-45a1-8ba9-0d019e0c041c", - "port": "d4a339a0-7bdb-4695-8f6b-93ea4a70b36a" - }, - "vertices": [] + "block": "ee992ca6-d586-4901-aaa3-a17d94ddac84", + "port": "inlabel" + } }, { "source": { - "block": "4eb098a5-9671-4946-b827-ce276e6a94f2", - "port": "3d584b0a-29eb-47af-8c43-c0822282ef05" + "block": "57e59301-2919-4f06-ba95-54ce5d99d774", + "port": "bbe1895b-be8b-4237-b0d1-ae592e3e6208" }, "target": { - "block": "5929fa8c-d037-406b-b5aa-9e52e71f2832", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" - }, - "vertices": [] - } - ] - } - } - }, - "053dc2e26797e60dd454402e395eb23f388681b9": { - "package": { - "name": "DFF", - "version": "2.0", - "description": "D Flip-flop (verilog implementation)", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22196.313%22%20height=%22216.83%22%20viewBox=%220%200%2051.941051%2057.369679%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20transform=%22translate(-52.22%20-48.028)%22%3E%3Crect%20width=%2224.412%22%20height=%2213.185%22%20x=%2279.352%22%20y=%2253.67%22%20ry=%222.247%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%22.794%22%20stroke-linecap=%22round%22/%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M77.902%2088.18l13.607%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M70.517%2080.116l-9.232-19.613-6.45%203.725-2.07-3.584%2020.905-12.07%202.07%203.584-6.093%203.518%2012.03%2018.222s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.773L69.412%2093.049s-2.848-3.696-2.16-6.796c.687-3.1%203.265-6.137%203.265-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Ctext%20style=%22line-height:1.25%22%20x=%2281.296%22%20y=%2263.239%22%20font-weight=%22400%22%20font-size=%2210.583%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20x=%2281.296%22%20y=%2263.239%22%20font-weight=%22700%22%3ESys%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "3943e194-090b-4553-9df3-88bc4b17abc2", - "type": "basic.input", - "data": { - "name": "", - "clock": true + "block": "1c9b3962-5793-4e6f-98d4-9ca2113d0823", + "port": "inlabel" }, - "position": { - "x": 208, - "y": 160 - } + "vertices": [ + { + "x": -24, + "y": -696 + } + ] }, { - "id": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78", - "type": "basic.output", - "data": { - "name": "" + "source": { + "block": "05fb13c5-879a-422f-84a8-56d1db8816da", + "port": "outlabel" }, - "position": { - "x": 816, - "y": 224 + "target": { + "block": "72c87c65-b34b-480f-8cde-cd97c0914014", + "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" } }, { - "id": "bf2f0c53-2d04-4cba-aa70-2df85502d24f", - "type": "basic.input", - "data": { - "name": "", - "clock": false + "source": { + "block": "161a3e27-de9b-4674-b990-c1e8314a29f3", + "port": "outlabel" }, - "position": { - "x": 208, - "y": 304 + "target": { + "block": "72c87c65-b34b-480f-8cde-cd97c0914014", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" } }, { - "id": "65194b18-5d2a-41b2-bd86-01be99978ad6", - "type": "basic.constant", - "data": { - "name": "", - "value": "0", - "local": false + "source": { + "block": "e7d0a130-cf6b-4220-a06f-42543db0214f", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, - "position": { - "x": 512, - "y": 64 + "target": { + "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "port": "5e915366-608a-431a-bf68-8c64fb4c302c" } }, { - "id": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "type": "basic.code", - "data": { - "code": "//-- Initial value\nreg q = INI;\n\n//-- Capture the input data \n//-- on the rising edge of \n//-- the system clock\nalways @(posedge clk)\n q <= d;", - "params": [ - { - "name": "INI" - } - ], - "ports": { - "in": [ - { - "name": "clk" - }, - { - "name": "d" - } - ], - "out": [ - { - "name": "q" - } - ] - } - }, - "position": { - "x": 384, - "y": 168 + "source": { + "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "port": "c7d2d573-b901-420e-a923-6832e5b18e34" }, - "size": { - "width": 344, - "height": 176 + "target": { + "block": "11342001-e6e0-443b-af87-0e5d7ada0227", + "port": "969e11ca-69e8-403b-a566-7bf2fbe3a5a8" } }, { - "id": "53d11290-50b3-40fb-b253-222cb296b075", - "type": "basic.info", - "data": { - "info": "Parameter: Initial value", - "readonly": true - }, - "position": { - "x": 488, - "y": 48 + "source": { + "block": "e7d0a130-cf6b-4220-a06f-42543db0214f", + "port": "c7d2d573-b901-420e-a923-6832e5b18e34" }, - "size": { - "width": 208, - "height": 40 + "target": { + "block": "11342001-e6e0-443b-af87-0e5d7ada0227", + "port": "e4111201-8441-4e7d-bcd2-bcf9d265d043" } }, { - "id": "c25a29cd-d5ed-435e-b375-e6d5557660d8", - "type": "basic.info", - "data": { - "info": "System clock", - "readonly": true - }, - "position": { - "x": 208, - "y": 136 + "source": { + "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, - "size": { - "width": 120, - "height": 32 + "target": { + "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "port": "5e915366-608a-431a-bf68-8c64fb4c302c" } }, { - "id": "ecafc6fa-330b-4ba7-aa67-40b3ea48f1f1", - "type": "basic.info", - "data": { - "info": "Input data", - "readonly": true + "source": { + "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "port": "c7d2d573-b901-420e-a923-6832e5b18e34" }, - "position": { - "x": 224, - "y": 280 + "target": { + "block": "11342001-e6e0-443b-af87-0e5d7ada0227", + "port": "346b4ae4-4bb6-4845-9c17-3b25e0dde718" }, - "size": { - "width": 112, - "height": 40 - } + "vertices": [ + { + "x": 824, + "y": -424 + } + ] }, { - "id": "df95c331-682d-4733-a62d-ad9fcd75f96a", - "type": "basic.info", - "data": { - "info": "Output", - "readonly": true + "source": { + "block": "d192d0af-e7be-4be6-925a-50227d80784c", + "port": "out" }, - "position": { - "x": 840, - "y": 200 + "target": { + "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "port": "0ebd46a4-769b-45e6-bcaf-e3796264aed3" }, - "size": { - "width": 80, - "height": 40 - } + "size": 4 }, { - "id": "dd8217df-b56d-49a9-ae94-f5e0c96e1460", - "type": "basic.info", - "data": { - "info": "# D Flip-Flop \n\nIt stores the input data that arrives at cycle n \nIts output is shown in the cycle n+1", - "readonly": true + "source": { + "block": "c2d36218-be99-4dd1-bf69-7690c667255b", + "port": "out" }, - "position": { - "x": 144, - "y": -136 + "target": { + "block": "57e59301-2919-4f06-ba95-54ce5d99d774", + "port": "0ebd46a4-769b-45e6-bcaf-e3796264aed3" }, - "size": { - "width": 488, - "height": 104 - } - } - ], - "wires": [ + "size": 4 + }, { "source": { - "block": "3943e194-090b-4553-9df3-88bc4b17abc2", - "port": "out" + "block": "11342001-e6e0-443b-af87-0e5d7ada0227", + "port": "55180947-6349-4a04-a151-ad69ea2b155e" }, "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "clk" - } + "block": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42", + "port": "in" + }, + "size": 4 }, { "source": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "q" + "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78", - "port": "in" - } + "block": "72c87c65-b34b-480f-8cde-cd97c0914014", + "port": "5e915366-608a-431a-bf68-8c64fb4c302c" + }, + "vertices": [ + { + "x": 728, + "y": -552 + } + ] }, { "source": { - "block": "65194b18-5d2a-41b2-bd86-01be99978ad6", - "port": "constant-out" + "block": "72c87c65-b34b-480f-8cde-cd97c0914014", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "INI" + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" } }, { "source": { - "block": "bf2f0c53-2d04-4cba-aa70-2df85502d24f", - "port": "out" + "block": "72c87c65-b34b-480f-8cde-cd97c0914014", + "port": "c7d2d573-b901-420e-a923-6832e5b18e34" }, "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "d" + "block": "11342001-e6e0-443b-af87-0e5d7ada0227", + "port": "6c2aa548-5a4c-4e8d-a56c-a70926b19f18" } } ] } } }, - "d0c4e5ca28edb32eb88f24d610c7a2782d8bc697": { + "1ea21df64c18f01d8f4b905c437ccf0ca332baf6": { "package": { - "name": "Mux-2-1", + "name": "Adder-1bit", "version": "0.1", - "description": "2-to-1 Multplexer (1-bit channels)", + "description": "Adder-1bit: Adder of two operands of 1 bit", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2280.833%22%20height=%22158.56%22%20viewBox=%220%200%2075.781585%20148.65066%22%3E%3Cpath%20d=%22M74.375%2036.836c0-12.691-6.99-24.413-18.326-30.729-11.335-6.316-25.284-6.262-36.568.141C8.198%2012.652%201.304%2024.427%201.407%2037.118v74.415c-.103%2012.69%206.79%2024.466%2018.074%2030.87%2011.284%206.403%2025.233%206.457%2036.568.14%2011.336-6.316%2018.326-18.037%2018.326-30.728z%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%222.813%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.448%22%20y=%2291.518%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.448%22%20y=%2291.518%22%3E0%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.359%22%20y=%2214.582%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.359%22%20y=%2214.582%22%3E1%3C/tspan%3E%3C/text%3E%3C/svg%3E", - "otid": 1618922858665 + "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618560481898 }, "design": { "graph": { "blocks": [ - { - "id": "a0fa1754-f66a-4772-adc6-07f9549ae9fe", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "a" - }, - "position": { - "x": 456, - "y": 360 - } - }, - { - "id": "0e6a9a81-8521-4ade-8012-71915b39ae41", - "type": "basic.output", - "data": { - "name": "" - }, - "position": { - "x": 1096, - "y": 392 - } - }, { "id": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", "type": "basic.input", "data": { - "name": "1", + "name": "", "clock": false }, "position": { - "x": 136, - "y": 416 - } - }, - { - "id": "d80dfce7-c76f-40a0-91ff-5e55863fe5da", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "a", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true - }, - "position": { - "x": 272, - "y": 416 + "x": 280, + "y": -224 } }, { - "id": "a14a9465-c4d0-4c20-aa1a-458b40aa8b70", - "type": "basic.inputLabel", + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", "data": { - "blockColor": "fuchsia", - "name": "b", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "name": "c" }, "position": { - "x": 272, - "y": 528 + "x": 616, + "y": -176 } }, { - "id": "d4a339a0-7bdb-4695-8f6b-93ea4a70b36a", + "id": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba", "type": "basic.input", "data": { - "name": "0", + "name": "", "clock": false }, "position": { - "x": 136, - "y": 528 + "x": 280, + "y": -152 } }, { - "id": "8d94a294-a698-43c5-9777-874fd39b8586", - "type": "basic.outputLabel", + "id": "c7d2d573-b901-420e-a923-6832e5b18e34", + "type": "basic.output", "data": { - "blockColor": "fuchsia", - "name": "b", - "oldBlockColor": "fuchsia" + "name": "s" }, "position": { "x": 616, - "y": 552 - } - }, - { - "id": "08fac044-f451-4fb7-9668-f5bce3b40c2c", - "type": "basic.input", - "data": { - "name": "sel", - "clock": false - }, - "position": { - "x": 376, - "y": 656 - } - }, - { - "id": "ec23e0ef-db5d-46b0-b1fd-452e0dc46a0b", - "type": "873425949b2a80f1a7f66f320796bcd068a59889", - "position": { - "x": 952, - "y": 392 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "cbd20301-0f38-49ce-bd16-b5d27a8ad6e8", - "type": "ba518ee261a2be13a9739cd3a01cdcebe0ef63c0", - "position": { - "x": 600, - "y": 376 - }, - "size": { - "width": 96, - "height": 64 + "y": -96 } }, { - "id": "4f537b92-d51a-4e53-808b-0730bd2424dd", - "type": "3676a00f3a70e406487ed14b901daf3e4984e63d", + "id": "0ef44beb-f4b1-484c-b15a-dc4431241aee", + "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", "position": { - "x": 624, - "y": 656 + "x": 456, + "y": -168 }, "size": { "width": 96, - "height": 64 + "height": 96 } }, { - "id": "6219285f-76c0-4fdf-8f60-bd5afeef0e52", - "type": "ba518ee261a2be13a9739cd3a01cdcebe0ef63c0", + "id": "e80cc244-1751-4524-9f77-734a36b24a88", + "type": "d30ca9ee4f35f6cb76d5e5701447fc2b739bc640", "position": { - "x": 784, - "y": 568 + "x": 304, + "y": -64 }, "size": { "width": 96, @@ -4711,574 +4263,478 @@ "wires": [ { "source": { - "block": "a0fa1754-f66a-4772-adc6-07f9549ae9fe", - "port": "outlabel" - }, - "target": { - "block": "cbd20301-0f38-49ce-bd16-b5d27a8ad6e8", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - }, - "vertices": [] - }, - { - "source": { - "block": "8d94a294-a698-43c5-9777-874fd39b8586", - "port": "outlabel" - }, - "target": { - "block": "6219285f-76c0-4fdf-8f60-bd5afeef0e52", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - }, - "vertices": [] - }, - { - "source": { - "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", - "port": "out" - }, - "target": { - "block": "d80dfce7-c76f-40a0-91ff-5e55863fe5da", - "port": "inlabel" - } - }, - { - "source": { - "block": "d4a339a0-7bdb-4695-8f6b-93ea4a70b36a", + "block": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba", "port": "out" }, "target": { - "block": "a14a9465-c4d0-4c20-aa1a-458b40aa8b70", - "port": "inlabel" + "block": "0ef44beb-f4b1-484c-b15a-dc4431241aee", + "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" } }, { "source": { - "block": "ec23e0ef-db5d-46b0-b1fd-452e0dc46a0b", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" - }, - "target": { - "block": "0e6a9a81-8521-4ade-8012-71915b39ae41", - "port": "in" - }, - "vertices": [] - }, - { - "source": { - "block": "cbd20301-0f38-49ce-bd16-b5d27a8ad6e8", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" - }, - "target": { - "block": "ec23e0ef-db5d-46b0-b1fd-452e0dc46a0b", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - }, - "vertices": [] - }, - { - "source": { - "block": "08fac044-f451-4fb7-9668-f5bce3b40c2c", + "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", "port": "out" }, "target": { - "block": "cbd20301-0f38-49ce-bd16-b5d27a8ad6e8", - "port": "97b51945-d716-4b6c-9db9-970d08541249" + "block": "0ef44beb-f4b1-484c-b15a-dc4431241aee", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" }, - "vertices": [] + "vertices": [ + { + "x": 400, + "y": -168 + } + ] }, { "source": { - "block": "08fac044-f451-4fb7-9668-f5bce3b40c2c", - "port": "out" + "block": "e80cc244-1751-4524-9f77-734a36b24a88", + "port": "3d584b0a-29eb-47af-8c43-c0822282ef05" }, "target": { - "block": "4f537b92-d51a-4e53-808b-0730bd2424dd", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - }, - "vertices": [] + "block": "0ef44beb-f4b1-484c-b15a-dc4431241aee", + "port": "5e915366-608a-431a-bf68-8c64fb4c302c" + } }, { "source": { - "block": "6219285f-76c0-4fdf-8f60-bd5afeef0e52", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "0ef44beb-f4b1-484c-b15a-dc4431241aee", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "ec23e0ef-db5d-46b0-b1fd-452e0dc46a0b", - "port": "97b51945-d716-4b6c-9db9-970d08541249" - }, - "vertices": [] + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" + } }, { "source": { - "block": "4f537b92-d51a-4e53-808b-0730bd2424dd", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "0ef44beb-f4b1-484c-b15a-dc4431241aee", + "port": "c7d2d573-b901-420e-a923-6832e5b18e34" }, "target": { - "block": "6219285f-76c0-4fdf-8f60-bd5afeef0e52", - "port": "97b51945-d716-4b6c-9db9-970d08541249" - }, - "vertices": [] + "block": "c7d2d573-b901-420e-a923-6832e5b18e34", + "port": "in" + } } ] } } }, - "873425949b2a80f1a7f66f320796bcd068a59889": { + "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a": { "package": { - "name": "OR2", - "version": "1.0.2", - "description": "OR2: Two bits input OR gate", - "author": "Jesús Arroyo, Juan González", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22192.718%22%20width=%22383.697%22%20version=%221%22%3E%3Cpath%20d=%22M175.56%20188.718H84.527s30.345-42.538%2031.086-94.03c.743-51.49-31.821-90.294-31.821-90.294L176.109%204c46.445%201.948%20103.899%2053.44%20123.047%2093.678-32.601%2067.503-92.158%2089.79-123.596%2091.04z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2047.292h99.605M4.883%20145.168h100.981M298.57%2098.89h81.07%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20font-weight=%22400%22%20font-size=%2266.317%22%20y=%22121.28%22%20x=%22131.572%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20font-weight=%22700%22%20y=%22121.28%22%20x=%22131.572%22%3EOR%3C/tspan%3E%3C/text%3E%3C/svg%3E" + "name": "AdderC-1bit", + "version": "0.1", + "description": "AdderC-1bit: Adder of two operands of 1 bit plus the carry in", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618560481898 }, "design": { "graph": { "blocks": [ { - "id": "18c2ebc7-5152-439c-9b3f-851c59bac834", - "type": "basic.input", + "id": "b28215b2-e375-43cd-96b4-ed5b60418dc6", + "type": "basic.outputLabel", "data": { - "name": "" + "blockColor": "fuchsia", + "name": "a" }, "position": { - "x": 112, - "y": 40 + "x": 504, + "y": -208 } }, { - "id": "664caf9e-5f40-4df4-800a-b626af702e62", - "type": "basic.output", + "id": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", + "type": "basic.input", "data": { - "name": "" + "name": "a", + "clock": false }, "position": { - "x": 608, - "y": 72 + "x": 136, + "y": -192 } }, { - "id": "97b51945-d716-4b6c-9db9-970d08541249", - "type": "basic.input", + "id": "f2c3e9af-37a6-4815-9413-c437d2471b1f", + "type": "basic.inputLabel", "data": { - "name": "" + "blockColor": "fuchsia", + "name": "a", + "pins": [ + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true }, "position": { - "x": 112, - "y": 96 + "x": 272, + "y": -192 } }, { - "id": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "type": "basic.code", + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", "data": { - "code": "//-- OR Gate\n//-- Verilog implementation\n\nassign c = a | b;\n\n", - "params": [], - "ports": { - "in": [ - { - "name": "a" - }, - { - "name": "b" - } - ], - "out": [ - { - "name": "c" - } - ] - } + "name": "c" }, "position": { - "x": 256, - "y": 48 - }, - "size": { - "width": 312, - "height": 104 - } - } - ], - "wires": [ - { - "source": { - "block": "18c2ebc7-5152-439c-9b3f-851c59bac834", - "port": "out" - }, - "target": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "a" + "x": 1112, + "y": -176 } }, { - "source": { - "block": "97b51945-d716-4b6c-9db9-970d08541249", - "port": "out" + "id": "cdbf1806-fde2-4763-aeae-cd26f3db2a86", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "b" }, - "target": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "b" + "position": { + "x": 504, + "y": -144 } }, { - "source": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "c" - }, - "target": { - "block": "664caf9e-5f40-4df4-800a-b626af702e62", - "port": "in" - } - } - ] - } - } - }, - "ba518ee261a2be13a9739cd3a01cdcebe0ef63c0": { - "package": { - "name": "AND2", - "version": "1.0.2", - "description": "Two bits input And gate", - "author": "Jesús Arroyo, Juan González", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22336.09%22%20height=%22194.045%22%20version=%221%22%3E%3Cpath%20d=%22M174.656%20190.045H78.304V4h96.352s87.463%208.625%2087.463%2091.94c0%2083.311-87.463%2094.105-87.463%2094.105z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2045.668h74.018M4.057%20144.812h74.018m184.632-50.034h69.326%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%2292.894%22%20y=%22114.587%22%20font-weight=%22400%22%20font-size=%2258.054%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%2292.894%22%20y=%22114.587%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%3EAND%3C/tspan%3E%3C/text%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "18c2ebc7-5152-439c-9b3f-851c59bac834", + "id": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba", "type": "basic.input", "data": { - "name": "" + "name": "b", + "clock": false }, "position": { - "x": 96, - "y": 56 + "x": 136, + "y": -120 } }, { - "id": "664caf9e-5f40-4df4-800a-b626af702e62", - "type": "basic.output", + "id": "65936289-69ce-4e26-be4e-44f8a3706934", + "type": "basic.inputLabel", "data": { - "name": "" + "blockColor": "fuchsia", + "name": "b", + "pins": [ + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true }, "position": { - "x": 600, - "y": 96 + "x": 272, + "y": -120 } }, { - "id": "97b51945-d716-4b6c-9db9-970d08541249", - "type": "basic.input", + "id": "6b7a0fc7-9eeb-4894-98fd-e0122d08cdf0", + "type": "basic.outputLabel", "data": { - "name": "" + "blockColor": "navy", + "name": "ci", + "oldBlockColor": "fuchsia" }, "position": { - "x": 96, - "y": 128 + "x": 648, + "y": -96 } }, { - "id": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "type": "basic.code", + "id": "5e915366-608a-431a-bf68-8c64fb4c302c", + "type": "basic.input", "data": { - "code": "//-- AND gate\n//-- Verilog implementation\n\nassign c = a & b;\n", - "params": [], - "ports": { - "in": [ - { - "name": "a" - }, - { - "name": "b" - } - ], - "out": [ - { - "name": "c" - } - ] - } + "name": "ci", + "clock": false }, "position": { - "x": 256, - "y": 48 - }, - "size": { - "width": 304, - "height": 152 - } - } - ], - "wires": [ - { - "source": { - "block": "18c2ebc7-5152-439c-9b3f-851c59bac834", - "port": "out" - }, - "target": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "a" + "x": 136, + "y": -40 } }, { - "source": { - "block": "97b51945-d716-4b6c-9db9-970d08541249", - "port": "out" + "id": "9fca1dd5-3d6c-4321-a1cf-fd35336e41ea", + "type": "basic.inputLabel", + "data": { + "blockColor": "navy", + "name": "ci", + "pins": [ + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia" }, - "target": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "b" + "position": { + "x": 272, + "y": -40 } }, { - "source": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "c" + "id": "79149d67-753e-414e-ba2a-49ba4edfe523", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "a" }, - "target": { - "block": "664caf9e-5f40-4df4-800a-b626af702e62", - "port": "in" + "position": { + "x": 480, + "y": 24 } - } - ] - } - } - }, - "3676a00f3a70e406487ed14b901daf3e4984e63d": { - "package": { - "name": "NOT", - "version": "2.0", - "description": "NOT gate (Verilog implementation)", - "author": "Jesús Arroyo, Juan González", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22317.651%22%20height=%22194.058%22%20version=%221%22%3E%3Cpath%20d=%22M69.246%204l161.86%2093.027-161.86%2093.031V4z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20cx=%22253.352%22%20cy=%2296.736%22%20rx=%2221.393%22%20ry=%2221.893%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2097.49h65.262m205.796%200h38.48%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%2281.112%22%20y=%22111.734%22%20transform=%22scale(.99532%201.0047)%22%20font-weight=%22400%22%20font-size=%2249.675%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%2281.112%22%20y=%22111.734%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%3ENot%3C/tspan%3E%3C/text%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ + }, { - "id": "18c2ebc7-5152-439c-9b3f-851c59bac834", - "type": "basic.input", + "id": "c7d2d573-b901-420e-a923-6832e5b18e34", + "type": "basic.output", "data": { - "name": "" + "name": "s" }, "position": { - "x": 112, - "y": 72 + "x": 992, + "y": 56 } }, { - "id": "664caf9e-5f40-4df4-800a-b626af702e62", - "type": "basic.output", + "id": "edf4525b-edd8-40fa-b784-631b102fb907", + "type": "basic.outputLabel", "data": { - "name": "" + "blockColor": "fuchsia", + "name": "b" }, "position": { - "x": 560, - "y": 72 + "x": 480, + "y": 88 } }, { - "id": "5365ed8c-e5db-4445-938f-8d689830ea5c", - "type": "basic.code", + "id": "35a4f7cc-d7ef-4653-af75-fe112a5f5151", + "type": "basic.outputLabel", "data": { - "code": "//-- NOT Gate\nassign q = ~a;\n\n", - "params": [], - "ports": { - "in": [ - { - "name": "a" - } - ], - "out": [ - { - "name": "q" - } - ] - } + "blockColor": "navy", + "name": "ci", + "oldBlockColor": "fuchsia" }, "position": { - "x": 256, - "y": 48 + "x": 648, + "y": 120 + } + }, + { + "id": "687d4abf-9ce2-408a-8010-c00e2cec2d44", + "type": "d1240143e1ff7afe57f0f11565da980612b2bb76", + "position": { + "x": 648, + "y": 40 }, "size": { - "width": 256, - "height": 104 + "width": 96, + "height": 64 } }, { - "id": "e3bb41e3-1944-4946-9675-c2dbe2e49fcf", - "type": "basic.info", - "data": { - "info": "Input", - "readonly": true + "id": "6756cb54-aa93-40af-a5f3-41ef2b2edec9", + "type": "d1240143e1ff7afe57f0f11565da980612b2bb76", + "position": { + "x": 832, + "y": 56 }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "f7053b6b-9812-48df-9212-cb8dc49d44cd", + "type": "ba518ee261a2be13a9739cd3a01cdcebe0ef63c0", "position": { - "x": 128, - "y": 32 + "x": 808, + "y": -80 }, "size": { - "width": 80, - "height": 40 + "width": 96, + "height": 64 } }, { - "id": "8408dd5f-945f-4a89-9790-7752813d4e91", - "type": "basic.info", - "data": { - "info": "Output", - "readonly": true + "id": "d77ee777-f5ad-4f89-832b-e1f95f0cf9db", + "type": "ba518ee261a2be13a9739cd3a01cdcebe0ef63c0", + "position": { + "x": 632, + "y": -192 }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "dd3259d5-99f6-47f2-881c-4e969e324444", + "type": "873425949b2a80f1a7f66f320796bcd068a59889", "position": { - "x": 576, - "y": 40 + "x": 960, + "y": -176 }, "size": { - "width": 80, - "height": 40 + "width": 96, + "height": 64 } } ], "wires": [ { "source": { - "block": "18c2ebc7-5152-439c-9b3f-851c59bac834", + "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", "port": "out" }, "target": { - "block": "5365ed8c-e5db-4445-938f-8d689830ea5c", - "port": "a" + "block": "f2c3e9af-37a6-4815-9413-c437d2471b1f", + "port": "inlabel" } }, { "source": { - "block": "5365ed8c-e5db-4445-938f-8d689830ea5c", - "port": "q" + "block": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba", + "port": "out" }, "target": { - "block": "664caf9e-5f40-4df4-800a-b626af702e62", - "port": "in" + "block": "65936289-69ce-4e26-be4e-44f8a3706934", + "port": "inlabel" } - } - ] - } - } - }, - "febcfed8636b8ee9a98750b96ed9e53a165dd4a8": { - "package": { - "name": "bit-1", - "version": "0.2", - "description": "Constant bit 1", - "author": "Jesus Arroyo", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2289.79%22%20height=%22185.093%22%20viewBox=%220%200%2084.179064%20173.52585%22%3E%3Cpath%20d=%22M7.702%2032.42L49.972%200l34.207%207.725-27.333%20116.736-26.607-6.01L51.26%2025.273%2020.023%2044.2z%22%20fill=%22green%22%20fill-rule=%22evenodd%22/%3E%3Cpath%20d=%22M46.13%20117.28l21.355%2028.258-17.91%2021.368%206.198%205.513m-14.033-54.45l-12.4%2028.26-28.242%205.512%202.067%208.959%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%222.196%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ + }, { - "id": "3d584b0a-29eb-47af-8c43-c0822282ef05", - "type": "basic.output", - "data": { - "name": "" + "source": { + "block": "5e915366-608a-431a-bf68-8c64fb4c302c", + "port": "out" }, - "position": { - "x": 456, - "y": 120 + "target": { + "block": "9fca1dd5-3d6c-4321-a1cf-fd35336e41ea", + "port": "inlabel" } }, { - "id": "61331ec5-2c56-4cdd-b607-e63b1502fa65", - "type": "basic.code", - "data": { - "code": "//-- Constant bit-1\nassign q = 1'b1;\n\n", - "params": [], - "ports": { - "in": [], - "out": [ - { - "name": "q" - } - ] - } + "source": { + "block": "79149d67-753e-414e-ba2a-49ba4edfe523", + "port": "outlabel" }, - "position": { - "x": 168, - "y": 112 + "target": { + "block": "687d4abf-9ce2-408a-8010-c00e2cec2d44", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } + }, + { + "source": { + "block": "edf4525b-edd8-40fa-b784-631b102fb907", + "port": "outlabel" }, - "size": { - "width": 248, - "height": 80 + "target": { + "block": "687d4abf-9ce2-408a-8010-c00e2cec2d44", + "port": "97b51945-d716-4b6c-9db9-970d08541249" } - } - ], - "wires": [ + }, { "source": { - "block": "61331ec5-2c56-4cdd-b607-e63b1502fa65", - "port": "q" + "block": "35a4f7cc-d7ef-4653-af75-fe112a5f5151", + "port": "outlabel" }, "target": { - "block": "3d584b0a-29eb-47af-8c43-c0822282ef05", - "port": "in" + "block": "6756cb54-aa93-40af-a5f3-41ef2b2edec9", + "port": "97b51945-d716-4b6c-9db9-970d08541249" } - } - ] - } - } - }, - "d30ca9ee4f35f6cb76d5e5701447fc2b739bc640": { - "package": { - "name": "bit-0", - "version": "0.2", - "description": "Constant bit 0", - "author": "Jesus Arroyo", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22125.776%22%20height=%22197.727%22%20viewBox=%220%200%20110.54641%20173.78236%22%3E%3Cpath%20d=%22M69.664%20107.353l13.494%2029.374L70.719%20168.5l13.788%204.283m-42.761-62.916S38.148%20136.825%2033.22%20139C28.298%20141.18%201%20161.403%201%20161.403l8.729%2010.636%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cg%20style=%22line-height:0%25%22%3E%3Cpath%20d=%22M65.536%2024.562q-9.493%200-15.876%208.251-6.303%208.156-8.855%2023.604-2.553%2015.448%201.037%2023.7%203.59%208.155%2013.084%208.155%209.334%200%2015.636-8.155%206.383-8.252%208.936-23.7%202.553-15.448-1.037-23.604-3.59-8.251-12.925-8.251zm4.07-24.564q23.056%200%2033.507%2014.969%2010.53%2014.968%206.143%2041.45-4.388%2026.482-19.865%2041.45-15.478%2014.968-38.534%2014.968-23.136%200-33.667-14.968Q6.659%2082.9%2011.047%2056.417q4.387-26.482%2019.865-41.45Q46.469-.002%2069.605-.002z%22%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold%20Italic'%22%20font-style=%22italic%22%20font-weight=%22700%22%20font-size=%22179.184%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22/%3E%3C/g%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ + }, { - "id": "3d584b0a-29eb-47af-8c43-c0822282ef05", - "type": "basic.output", - "data": { - "name": "" + "source": { + "block": "6b7a0fc7-9eeb-4894-98fd-e0122d08cdf0", + "port": "outlabel" }, - "position": { - "x": 456, - "y": 120 + "target": { + "block": "f7053b6b-9812-48df-9212-cb8dc49d44cd", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" } }, { - "id": "61331ec5-2c56-4cdd-b607-e63b1502fa65", - "type": "basic.code", - "data": { - "code": "//-- Constant bit-0\nassign q = 1'b0;\n\n", - "params": [], - "ports": { - "in": [], - "out": [ - { - "name": "q" - } - ] - } + "source": { + "block": "b28215b2-e375-43cd-96b4-ed5b60418dc6", + "port": "outlabel" }, - "position": { - "x": 168, - "y": 112 + "target": { + "block": "d77ee777-f5ad-4f89-832b-e1f95f0cf9db", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } + }, + { + "source": { + "block": "cdbf1806-fde2-4763-aeae-cd26f3db2a86", + "port": "outlabel" }, - "size": { - "width": 248, - "height": 80 + "target": { + "block": "d77ee777-f5ad-4f89-832b-e1f95f0cf9db", + "port": "97b51945-d716-4b6c-9db9-970d08541249" } - } - ], - "wires": [ + }, { "source": { - "block": "61331ec5-2c56-4cdd-b607-e63b1502fa65", - "port": "q" + "block": "687d4abf-9ce2-408a-8010-c00e2cec2d44", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, "target": { - "block": "3d584b0a-29eb-47af-8c43-c0822282ef05", + "block": "6756cb54-aa93-40af-a5f3-41ef2b2edec9", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } + }, + { + "source": { + "block": "6756cb54-aa93-40af-a5f3-41ef2b2edec9", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "c7d2d573-b901-420e-a923-6832e5b18e34", + "port": "in" + } + }, + { + "source": { + "block": "687d4abf-9ce2-408a-8010-c00e2cec2d44", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "f7053b6b-9812-48df-9212-cb8dc49d44cd", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + } + }, + { + "source": { + "block": "f7053b6b-9812-48df-9212-cb8dc49d44cd", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "dd3259d5-99f6-47f2-881c-4e969e324444", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + } + }, + { + "source": { + "block": "d77ee777-f5ad-4f89-832b-e1f95f0cf9db", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "dd3259d5-99f6-47f2-881c-4e969e324444", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } + }, + { + "source": { + "block": "dd3259d5-99f6-47f2-881c-4e969e324444", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", "port": "in" } } @@ -5286,1218 +4742,1139 @@ } } }, - "2a35153f656f2d69dfddb3d5023a77bf81baead9": { + "d1240143e1ff7afe57f0f11565da980612b2bb76": { "package": { - "name": "Mem-16B-icerok-probe", - "version": "0.1", - "description": "16B memory icerok probe", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22120.961%22%20width=%22100%22%3E%3Cdefs%3E%3Cfilter%20id=%22c%22%20color-interpolation-filters=%22sRGB%22%3E%3CfeGaussianBlur%20stdDeviation=%221.23%22/%3E%3C/filter%3E%3Cfilter%20id=%22g%22%20color-interpolation-filters=%22sRGB%22%3E%3CfeGaussianBlur%20stdDeviation=%221.23%22/%3E%3C/filter%3E%3Cfilter%20id=%22f%22%20color-interpolation-filters=%22sRGB%22%3E%3CfeGaussianBlur%20stdDeviation=%221.258%22/%3E%3C/filter%3E%3Cfilter%20id=%22e%22%20color-interpolation-filters=%22sRGB%22%3E%3CfeGaussianBlur%20stdDeviation=%221.312%22/%3E%3C/filter%3E%3Cfilter%20id=%22b%22%20height=%221.027%22%20width=%221.242%22%20y=%22-.013%22%20x=%22-.121%22%20color-interpolation-filters=%22sRGB%22%3E%3CfeGaussianBlur%20stdDeviation=%221.309%22/%3E%3C/filter%3E%3Cfilter%20id=%22d%22%20height=%221.027%22%20width=%221.242%22%20y=%22-.013%22%20x=%22-.121%22%20color-interpolation-filters=%22sRGB%22%3E%3CfeGaussianBlur%20stdDeviation=%221.309%22/%3E%3C/filter%3E%3Cfilter%20id=%22a%22%20height=%221.025%22%20width=%221.996%22%20y=%22-.012%22%20x=%22-.498%22%20color-interpolation-filters=%22sRGB%22%3E%3CfeGaussianBlur%20stdDeviation=%221.245%22/%3E%3C/filter%3E%3CradialGradient%20id=%22h%22%20gradientUnits=%22userSpaceOnUse%22%20cy=%22356.19%22%20cx=%22300%22%20gradientTransform=%22matrix(-.43814%20.01306%20-.0012%20-.02628%20181.233%2061.352)%22%20r=%2255.264%22%3E%3Cstop%20offset=%220%22/%3E%3Cstop%20stop-color=%22#464646%22%20offset=%22.602%22/%3E%3Cstop%20stop-color=%22#aca592%22%20stop-opacity=%220%22%20offset=%221%22/%3E%3C/radialGradient%3E%3ClinearGradient%20id=%22i%22%20y2=%22333.77%22%20gradientUnits=%22userSpaceOnUse%22%20x2=%22291.22%22%20gradientTransform=%22matrix(-.3425%20.01021%20-.01275%20-.27715%20156.562%20149.485)%22%20y1=%22330.77%22%20x1=%22291.22%22%3E%3Cstop%20stop-color=%22#fff%22%20stop-opacity=%22.362%22%20offset=%220%22/%3E%3Cstop%20stop-opacity=%220%22%20offset=%221%22/%3E%3C/linearGradient%3E%3ClinearGradient%20id=%22j%22%20y2=%22339.48%22%20gradientUnits=%22userSpaceOnUse%22%20x2=%22337.09%22%20gradientTransform=%22matrix(-.33921%20.01011%20-.01492%20-.32428%20156.195%20165.141)%22%20y1=%22339.48%22%20x1=%22343.43%22%3E%3Cstop%20stop-color=%22#fff%22%20stop-opacity=%22.362%22%20offset=%220%22/%3E%3Cstop%20stop-opacity=%220%22%20offset=%221%22/%3E%3C/linearGradient%3E%3ClinearGradient%20id=%22k%22%20y2=%22304.68%22%20gradientUnits=%22userSpaceOnUse%22%20x2=%22300.31%22%20gradientTransform=%22matrix(-.32563%20.0097%20-.01206%20-.2621%20151.26%20144.401)%22%20y1=%22331.2%22%20x1=%22300.31%22%3E%3Cstop%20stop-opacity=%22.302%22%20offset=%220%22/%3E%3Cstop%20stop-opacity=%220%22%20offset=%221%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath%20opacity=%22.95%22%20fill=%22none%22%20d=%22M0%2020.961h100v100H0z%22/%3E%3Cpath%20d=%22M53.928%20119.654L52.1%2079.937l-1.104-23.99-3.256.096%201.104%2023.991%201.826%2039.717z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#d4aa00%22/%3E%3Cpath%20d=%22M297%20109.34V352.4h6V109.34z%22%20style=%22text-indent:0;text-transform:none%22%20transform=%22matrix(-.32563%20.0097%20-.01206%20-.2621%20151.309%20145.45)%22%20color=%22#000%22%20fill=%22#fcff4c%22%20fill-opacity=%22.544%22%20filter=%22url(#a)%22/%3E%3Cpath%20d=%22M60.372%20117.56l3.198-.49c-3.202-13.45-7.816-28.557-8.457-42.475l-.863-18.749-3.256.098.863%2018.748c.658%2014.31%205.337%2029.518%208.514%2042.865z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#d45500%22/%3E%3Cpath%20d=%22M272.94%20116.59l-5.875%201.5c7.92%2051.61%2019.94%20109.69%2019.94%20162.79v71.531h6V280.88c0-54.598-12.202-113.07-20.062-164.28z%22%20style=%22text-indent:0;text-transform:none%22%20transform=%22matrix(-.32563%20.0097%20-.01206%20-.2621%20151.309%20145.45)%22%20color=%22#000%22%20fill=%22#fca%22%20fill-opacity=%22.409%22%20filter=%22url(#b)%22/%3E%3Cpath%20d=%22M69.996%20112.761l3.056-.912c-6.978-15.02-14.11-24.952-15.163-47.836l-.38-8.265-3.257.097.38%208.265c1.072%2023.296%208.478%2033.826%2015.364%2048.646z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#a00%22/%3E%3Cpath%20d=%22M79.672%20106.477l2.661-1.515c-9.79-11.143-20.205-19.73-21.186-41.045l-.38-8.264-3.257.097.38%208.264C58.902%2086%2070.056%2095.528%2079.674%20106.474z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#784421%22/%3E%3Cpath%20d=%22M89.428%2098.614l1.962-2.092C81.67%2090.65%2065.24%2082.005%2064.402%2063.82l-.38-8.265-3.256.097.38%208.265C62.04%2083.35%2079.89%2092.851%2089.43%2098.614z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#1a1a1a%22/%3E%3Cpath%20d=%22M183.16%20189.47l-4.313%201.75c28.98%2023.48%2079.65%2053.27%2079.65%20129.66v31.531h4V320.88c0-71.639-50.903-108.37-79.344-131.41z%22%20style=%22text-indent:0;text-transform:none%22%20transform=%22matrix(-.32563%20.0097%20-.01206%20-.2621%20151.309%20145.45)%22%20color=%22#000%22%20fill=%22#fff%22%20fill-opacity=%22.313%22%20filter=%22url(#c)%22/%3E%3Cpath%20d=%22M44.052%20118.046c1.941-13.5%205.209-28.946%204.55-43.257l-.862-18.748-3.256.097.863%2018.748c.64%2013.918-2.572%2029.258-4.53%2042.86l3.234.297z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22green%22/%3E%3Cpath%20transform=%22matrix(.32563%20-.0097%20-.01206%20-.2621%20-44.14%20150.226)%22%20d=%22M272.94%20112.59l-5.875%201.5c7.92%2051.61%2019.94%20109.69%2019.94%20162.79v71.531h6V276.88c0-54.598-12.202-113.07-20.062-164.28z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#cfa%22%20fill-opacity=%22.409%22%20filter=%22url(#d)%22/%3E%3Cpath%20d=%22M34.013%20113.833c5.507-15.193%2011.923-26.132%2010.85-49.43l-.38-8.265-3.256.097.38%208.264c1.053%2022.883-5.147%2033.214-10.725%2048.606l3.131.727z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#04a%22/%3E%3Cpath%20transform=%22matrix(.32563%20-.0097%20-.01206%20-.2621%20-44.202%20150.228)%22%20d=%22M242.75%20129.78l-3.5%203.125c19.277%2058.01%2038.25%2096.664%2038.25%20183.97v31.531h5.5v-31.531c0-88.882-21.224-129.84-40.25-187.09z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#acf%22%20fill-opacity=%22.475%22%20filter=%22url(#e)%22/%3E%3Cpath%20d=%22M23.786%20108.143C32.372%2096.651%2042.62%2086.487%2041.607%2064.5l-.38-8.264-3.257.097.38%208.264c.981%2021.314-8.618%2030.496-17.358%2042.192l2.793%201.352z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#aa00d4%22/%3E%3Cpath%20transform=%22matrix(.32563%20-.0097%20-.01206%20-.2621%20-63.922%20150.816)%22%20d=%22M275.19%20158.62l-4.375-.531c28.45%2043.57%2057.68%2077.47%2057.68%20158.79v31.53h4v-31.53c0-83.882-29.36-115.45-57.312-158.25z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#eaf%22%20fill-opacity=%22.483%22%20filter=%22url(#f)%22/%3E%3Cpath%20d=%22M13.334%20100.883c8.983-6.313%2025.91-16.854%2025.017-36.287l-.38-8.264-3.257.097.38%208.264c.837%2018.184-14.754%2027.784-23.91%2034.22l2.149%201.97z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#6f6f91%22/%3E%3Cpath%20transform=%22matrix(.32563%20-.0097%20-.01206%20-.2621%20-43.742%20150.214)%22%20d=%22M183.16%20185.47l-4.313%201.75c28.98%2023.48%2078.15%2055.27%2078.15%20129.65v31.531h5V316.87c0-69.13-50.4-108.37-78.84-131.4z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#dbdbe3%22%20fill-opacity=%22.429%22%20filter=%22url(#g)%22/%3E%3Cpath%20d=%22M73.69%2057.606L25.264%2059.05l-.202-4.398c12.474-.817%2026.455-1.496%2048.425-1.444z%22%20color=%22#000%22%20fill=%22url(#h)%22/%3E%3Cpath%20d=%22M64.604%2060.633l-30.005.894-.246-5.336c7.717-.77%2016.373-1.346%2030.005-.894z%22%20color=%22#000%22%20fill=%22#1a1a1a%22/%3E%3Cpath%20d=%22M64.467%2060.434l-29.75.887-.03-.659c7.655-.673%2016.24-1.19%2029.75-.887z%22%20color=%22#000%22%20fill=%22url(#i)%22/%3E%3Cpath%20d=%22M36.953%2061.291l-2.194.066-.236-5.14c1.09-.029%201.543-.087%202.193-.067z%22%20color=%22#000%22%20fill=%22url(#j)%22/%3E%3Cpath%20d=%22M64.526%2067.018l-29.466.88-.296-6.44c7.578-.746%2016.08-1.306%2029.465-.879z%22%20color=%22#000%22%20fill=%22url(#k)%22/%3E%3Cpath%20d=%22M39.749%2062.438a17382.86%2017382.86%200%200%200-16.022-9.136c-7.035-4.007-12.814-7.308-12.842-7.335-.028-.027%209.023-5.125%2020.114-11.329L51.164%2023.36l.041%207.98c.023%204.39.047%2012.504.052%2018.034l.01%2010.053-.258.043c-1.31.216-2.573.602-3.6%201.102-1.394.678-3.04%202.007-3.947%203.188-.227.296-.428.536-.447.533a258.47%20258.47%200%200%201-3.266-1.854zm19.433.916c-1.387-1.72-3.778-3.223-5.848-3.68a84.366%2084.366%200%200%201-1.148-.258c-.103-.026-.17-5.28-.231-18.058-.047-9.91-.072-18.034-.055-18.05.033-.034%2038.983%2022.448%2039.105%2022.57.073.073-30.92%2018.297-31.09%2018.28-.05-.005-.38-.367-.733-.804zM10.639%2069.42c0-18.118.034-22.668.17-22.583.094.058%207.285%204.221%2015.98%209.252%209.32%205.392%2015.801%209.22%2015.79%209.327-.011.1-.12.542-.244.985-.509%201.835-.413%204.334.24%206.25l.307.9-15.328%208.835a7575.428%207575.428%200%200%201-16.122%209.278l-.793.444zM76.18%2083.365c-8.53-5.14-15.551-9.39-15.604-9.443-.052-.052.06-.584.25-1.183.514-1.62.592-4.195.184-6.007-.163-.72-.275-1.328-.25-1.349.147-.123%2030.997-18.63%2031.055-18.63.098%200%20.056%2038.69-.046%2042.727l-.082%203.233z%22%20fill=%22#7ccff4%22/%3E%3Cpath%20d=%22M92.898%2047.736c-1.658%207.32%203.673%2035.148-.816%2037.094-9.788-16.912-21.55-23.98-21.55-23.98s15.22-10.893%2022.366-13.114zM52.12%2022.772c5.53%205.076%2032.33%2014.27%2031.79%2019.131-19.54.097-31.517%206.795-31.517%206.795s-1.893-18.62-.273-25.926zM10.95%2045.233C18.165%2043.167%2040%2025.11%2043.865%2028.108c-10.12%2016.716-10.66%2030.428-10.66%2030.428S16.333%2050.43%2010.95%2045.233zm-.857%2047.424c1.753-7.298-3.22-35.193%201.293-37.08%209.57%2017.036%2021.24%2024.255%2021.24%2024.255s-15.36%2010.696-22.533%2012.825z%22%20fill=%22#98ddf4%22/%3E%3Cpath%20d=%22M10.564%2046.162l41.054-23.67L92.644%2046.21l-.027%2047.383L59.74%2074.253a9.364%209.364%200%201%200-16.216-.008L10.543%2093.551zM43.022%2065.23L10.568%2046.171m41.05-23.284l.023%2037.158m8.689%205.13L92.646%2046.21%22%20fill=%22none%22%20stroke=%22#275d75%22%20stroke-width=%223.009%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22translate(-44.235%2067.501)%20scale(.75005)%22%20stroke=%22#00f400%22%3E%3Ccircle%20r=%2224.508%22%20cy=%221.741%22%20cx=%22128.644%22%20opacity=%22.95%22%20fill=%22#272524%22%20stroke-width=%222.247%22%20stroke-linecap=%22round%22/%3E%3Cpath%20d=%22M113.085%2010.269h16.744V-9.227h14.781%22%20fill=%22none%22%20stroke-width=%222.682%22/%3E%3C/g%3E%3Ctext%20style=%22line-height:1.25%22%20x=%228.309%22%20y=%2217.029%22%20font-weight=%22400%22%20font-size=%2221.804%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%22.545%22%3E%3Ctspan%20x=%228.309%22%20y=%2217.029%22%3E16Bytes%3C/tspan%3E%3C/text%3E%3C/svg%3E", - "otid": 1596697289362 + "name": "XOR2", + "version": "1.0.2", + "description": "XOR gate: two bits input xor gate", + "author": "Jesús Arroyo, Juan González", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22193.047%22%20width=%22383.697%22%20version=%221%22%3E%3Cpath%20d=%22M175.56%20189.047H84.527s30.345-42.538%2031.086-94.03c.743-51.49-31.821-90.294-31.821-90.294l92.317-.394c46.445%201.948%20103.899%2053.44%20123.047%2093.678-32.601%2067.503-92.158%2089.79-123.596%2091.04z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2047.62h99.605M4.883%20145.497h100.981M298.57%2099.219h81.07%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20x=%22129.011%22%20y=%22115.285%22%20font-size=%2258.24%22%20font-weight=%22400%22%20style=%22line-height:125%25%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20transform=%22translate(0%20.329)%22%3E%3Ctspan%20x=%22129.011%22%20y=%22115.285%22%20font-weight=%22700%22%3EXOR%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M54.321%20188.368s30.345-42.538%2031.086-94.03c.742-51.49-31.821-90.294-31.821-90.294%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "01edffcc-6e84-40ff-a986-e6bb1d144035", - "type": "basic.inputLabel", + "id": "18c2ebc7-5152-439c-9b3f-851c59bac834", + "type": "basic.input", "data": { - "blockColor": "fuchsia", - "name": "tx", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "name": "" }, "position": { - "x": 1168, - "y": 536 + "x": 120, + "y": 48 } }, { - "id": "874e0745-10f1-45c2-8893-f7dfad87390d", - "type": "basic.outputLabel", + "id": "664caf9e-5f40-4df4-800a-b626af702e62", + "type": "basic.output", "data": { - "blockColor": "yellow", - "name": "clk" + "name": "" }, "position": { - "x": 648, - "y": 544 + "x": 560, + "y": 72 } }, { - "id": "bef1b4c2-b479-4152-ba4d-eb6b9906949c", + "id": "97b51945-d716-4b6c-9db9-970d08541249", "type": "basic.input", "data": { - "name": "", - "clock": true + "name": "" }, "position": { - "x": -32, - "y": 584 + "x": 120, + "y": 104 } }, { - "id": "e957a950-a21d-4560-8c01-c477d88a75a2", - "type": "basic.inputLabel", + "id": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "type": "basic.code", "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "code": "//-- XOR gate\n//-- Verilog implementation\n\nassign c = a ^ b;\n", + "params": [], + "ports": { + "in": [ + { + "name": "a" + }, + { + "name": "b" + } + ], + "out": [ + { + "name": "c" + } + ] + } }, "position": { - "x": 112, - "y": 584 + "x": 256, + "y": 48 + }, + "size": { + "width": 272, + "height": 112 + } + } + ], + "wires": [ + { + "source": { + "block": "18c2ebc7-5152-439c-9b3f-851c59bac834", + "port": "out" + }, + "target": { + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "a" } }, { - "id": "757f1816-834d-4cd7-a5e1-d726a472de91", - "type": "basic.output", - "data": { - "name": "tx" + "source": { + "block": "97b51945-d716-4b6c-9db9-970d08541249", + "port": "out" }, - "position": { - "x": 1456, - "y": 600 + "target": { + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "b" } }, { - "id": "b5a3b2cc-7b32-4ac9-b6bf-002fe40d9ebe", - "type": "basic.outputLabel", + "source": { + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "c" + }, + "target": { + "block": "664caf9e-5f40-4df4-800a-b626af702e62", + "port": "in" + } + } + ] + } + } + }, + "873425949b2a80f1a7f66f320796bcd068a59889": { + "package": { + "name": "OR2", + "version": "1.0.2", + "description": "OR2: Two bits input OR gate", + "author": "Jesús Arroyo, Juan González", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22192.718%22%20width=%22383.697%22%20version=%221%22%3E%3Cpath%20d=%22M175.56%20188.718H84.527s30.345-42.538%2031.086-94.03c.743-51.49-31.821-90.294-31.821-90.294L176.109%204c46.445%201.948%20103.899%2053.44%20123.047%2093.678-32.601%2067.503-92.158%2089.79-123.596%2091.04z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2047.292h99.605M4.883%20145.168h100.981M298.57%2098.89h81.07%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20font-weight=%22400%22%20font-size=%2266.317%22%20y=%22121.28%22%20x=%22131.572%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20font-weight=%22700%22%20y=%22121.28%22%20x=%22131.572%22%3EOR%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "18c2ebc7-5152-439c-9b3f-851c59bac834", + "type": "basic.input", "data": { - "blockColor": "fuchsia", - "name": "tx", - "oldBlockColor": "fuchsia" + "name": "" }, "position": { - "x": 1304, - "y": 600 + "x": 112, + "y": 40 } }, { - "id": "25428eb9-c2a5-476c-8ea5-4876e3cb78cb", - "type": "basic.inputLabel", + "id": "664caf9e-5f40-4df4-800a-b626af702e62", + "type": "basic.output", "data": { - "blockColor": "fuchsia", - "name": "stdo", - "range": "[9:0]", - "pins": [ - { - "index": "9", - "name": "", - "value": "" - }, - { - "index": "8", - "name": "", - "value": "" - }, - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "name": "" }, "position": { - "x": 1160, - "y": 616 + "x": 608, + "y": 72 } }, { - "id": "2226faa1-dd30-45cc-b4fb-2bcffd758576", - "type": "basic.outputLabel", + "id": "97b51945-d716-4b6c-9db9-970d08541249", + "type": "basic.input", "data": { - "blockColor": "fuchsia", - "name": "stdo_1", - "range": "[9:0]", - "oldBlockColor": "fuchsia", - "size": 10 + "name": "" }, "position": { - "x": 648, - "y": 616 + "x": 112, + "y": 96 } }, { - "id": "b1e41924-f354-4744-b5f0-a93a1fdc6828", - "type": "basic.input", + "id": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "type": "basic.code", "data": { - "name": "trig", - "clock": false + "code": "//-- OR Gate\n//-- Verilog implementation\n\nassign c = a | b;\n\n", + "params": [], + "ports": { + "in": [ + { + "name": "a" + }, + { + "name": "b" + } + ], + "out": [ + { + "name": "c" + } + ] + } }, "position": { - "x": -32, - "y": 664 + "x": 256, + "y": 48 + }, + "size": { + "width": 312, + "height": 104 } - }, + } + ], + "wires": [ { - "id": "4de777a9-a4a5-4ace-adf6-688298d0d736", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "trig", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "source": { + "block": "18c2ebc7-5152-439c-9b3f-851c59bac834", + "port": "out" }, - "position": { - "x": 112, - "y": 664 + "target": { + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "a" } }, { - "id": "9cdfc247-4374-4660-b8c7-246e9aa090d7", - "type": "basic.input", - "data": { - "name": "ch", - "range": "[7:0]", - "clock": false, - "size": 8 + "source": { + "block": "97b51945-d716-4b6c-9db9-970d08541249", + "port": "out" }, - "position": { - "x": -32, - "y": 752 + "target": { + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "b" } }, { - "id": "b3f14933-93b7-4bc1-8585-471518a370ce", - "type": "basic.inputLabel", + "source": { + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "c" + }, + "target": { + "block": "664caf9e-5f40-4df4-800a-b626af702e62", + "port": "in" + } + } + ] + } + } + }, + "d30ca9ee4f35f6cb76d5e5701447fc2b739bc640": { + "package": { + "name": "bit-0", + "version": "0.2", + "description": "Constant bit 0", + "author": "Jesus Arroyo", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22125.776%22%20height=%22197.727%22%20viewBox=%220%200%20110.54641%20173.78236%22%3E%3Cpath%20d=%22M69.664%20107.353l13.494%2029.374L70.719%20168.5l13.788%204.283m-42.761-62.916S38.148%20136.825%2033.22%20139C28.298%20141.18%201%20161.403%201%20161.403l8.729%2010.636%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cg%20style=%22line-height:0%25%22%3E%3Cpath%20d=%22M65.536%2024.562q-9.493%200-15.876%208.251-6.303%208.156-8.855%2023.604-2.553%2015.448%201.037%2023.7%203.59%208.155%2013.084%208.155%209.334%200%2015.636-8.155%206.383-8.252%208.936-23.7%202.553-15.448-1.037-23.604-3.59-8.251-12.925-8.251zm4.07-24.564q23.056%200%2033.507%2014.969%2010.53%2014.968%206.143%2041.45-4.388%2026.482-19.865%2041.45-15.478%2014.968-38.534%2014.968-23.136%200-33.667-14.968Q6.659%2082.9%2011.047%2056.417q4.387-26.482%2019.865-41.45Q46.469-.002%2069.605-.002z%22%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold%20Italic'%22%20font-style=%22italic%22%20font-weight=%22700%22%20font-size=%22179.184%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22/%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "3d584b0a-29eb-47af-8c43-c0822282ef05", + "type": "basic.output", "data": { - "name": "ch", - "range": "[7:0]", - "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia" + "name": "" }, "position": { - "x": 120, - "y": 752 + "x": 456, + "y": 120 } }, { - "id": "97a9bf0d-0475-40fe-bcc2-f75e2b928290", - "type": "basic.inputLabel", + "id": "61331ec5-2c56-4cdd-b607-e63b1502fa65", + "type": "basic.code", "data": { - "blockColor": "fuchsia", - "name": "on2", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "code": "//-- Constant bit-0\nassign q = 1'b0;\n\n", + "params": [], + "ports": { + "in": [], + "out": [ + { + "name": "q" + } + ] + } }, "position": { - "x": 1136, - "y": 760 + "x": 168, + "y": 112 + }, + "size": { + "width": 248, + "height": 80 } - }, + } + ], + "wires": [ { - "id": "a76b111f-f808-4e45-8873-d8e76eb8612e", - "type": "basic.outputLabel", + "source": { + "block": "61331ec5-2c56-4cdd-b607-e63b1502fa65", + "port": "q" + }, + "target": { + "block": "3d584b0a-29eb-47af-8c43-c0822282ef05", + "port": "in" + } + } + ] + } + } + }, + "c4f23ad05c2010ec9bd213c8814c9238873037ae": { + "package": { + "name": "Bus4-Split-all", + "version": "0.1", + "description": "Bus4-Split-all: Split the 4-bits bus into its 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": { + "graph": { + "blocks": [ + { + "id": "bbe1895b-be8b-4237-b0d1-ae592e3e6208", + "type": "basic.output", "data": { - "blockColor": "yellow", - "name": "clk" + "name": "3" }, "position": { - "x": 824, - "y": 768 + "x": 576, + "y": 80 } }, { - "id": "95f8ff76-02e4-4f69-8db6-d285cfe13d4a", - "type": "basic.outputLabel", + "id": "33072210-9ba0-4659-8339-95952b939e6e", + "type": "basic.output", "data": { - "blockColor": "yellow", - "name": "clk" + "name": "2" }, "position": { - "x": 328, - "y": 784 + "x": 600, + "y": 144 } }, { - "id": "db47aa3d-add3-4672-aad0-e71644d43161", - "type": "basic.inputLabel", + "id": "0ebd46a4-769b-45e6-bcaf-e3796264aed3", + "type": "basic.input", "data": { - "blockColor": "fuchsia", - "name": "stdo_1", - "range": "[9:0]", - "pins": [ - { - "index": "9", - "name": "", - "value": "" - }, - { - "index": "8", - "name": "", - "value": "" - }, - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "name": "", + "range": "[3:0]", + "clock": false, + "size": 4 }, "position": { - "x": 1184, - "y": 824 + "x": 128, + "y": 184 } }, { - "id": "b1cd47ec-5a10-4bd1-bff9-a9d1707d621d", - "type": "basic.outputLabel", + "id": "f5a71d7b-de20-4527-80c8-0eb20de0dc77", + "type": "basic.output", "data": { - "blockColor": "yellow", - "name": "clk" + "name": "1" }, "position": { - "x": 1312, - "y": 840 + "x": 592, + "y": 240 } }, { - "id": "f443dcde-4fbe-46f8-90d9-94a64a06a928", - "type": "basic.outputLabel", + "id": "0f7487e5-b070-4277-bba6-acf69934afca", + "type": "basic.output", "data": { - "blockColor": "fuchsia", - "name": "stdo", - "range": "[9:0]", - "size": 10 + "name": "0" }, "position": { - "x": 792, - "y": 848 + "x": 568, + "y": 296 } }, { - "id": "096003ce-186a-4b28-8793-420c798499d2", - "type": "basic.outputLabel", + "id": "16e78204-213e-4833-9096-89d735307ec2", + "type": "basic.code", "data": { - "name": "mbus", - "range": "[13:0]", - "blockColor": "fuchsia", - "size": 14 + "code": "assign o3 = i[3];\nassign o2 = i[2];\nassign o1 = i[1];\nassign o0 = i[0];", + "params": [], + "ports": { + "in": [ + { + "name": "i", + "range": "[3:0]", + "size": 4 + } + ], + "out": [ + { + "name": "o3" + }, + { + "name": "o2" + }, + { + "name": "o1" + }, + { + "name": "o0" + } + ] + } }, "position": { - "x": 264, - "y": 856 + "x": 296, + "y": 176 + }, + "size": { + "width": 208, + "height": 80 + } + } + ], + "wires": [ + { + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o1" + }, + "target": { + "block": "f5a71d7b-de20-4527-80c8-0eb20de0dc77", + "port": "in" } }, { - "id": "72a72392-ecf8-409d-a508-2d2c6c1b136c", - "type": "basic.inputLabel", - "data": { - "name": "mbus", - "range": "[13:0]", - "pins": [ - { - "index": "13", - "name": "", - "value": "" - }, - { - "index": "12", - "name": "", - "value": "" - }, - { - "index": "11", - "name": "", - "value": "" - }, - { - "index": "10", - "name": "", - "value": "" - }, - { - "index": "9", - "name": "", - "value": "" - }, - { - "index": "8", - "name": "", - "value": "" - }, - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia" + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o0" }, - "position": { - "x": 1616, - "y": 896 + "target": { + "block": "0f7487e5-b070-4277-bba6-acf69934afca", + "port": "in" } }, { - "id": "02620ac0-eba1-4e7b-8c7c-42f281dfad06", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "trig", - "oldBlockColor": "fuchsia" + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o2" }, - "position": { - "x": 224, - "y": 944 + "target": { + "block": "33072210-9ba0-4659-8339-95952b939e6e", + "port": "in" } }, { - "id": "8de3b7b2-f1f3-41a6-91c1-dcd310e375b5", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "data2", - "range": "[7:0]", - "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o3" }, - "position": { - "x": 1152, - "y": 1000 + "target": { + "block": "bbe1895b-be8b-4237-b0d1-ae592e3e6208", + "port": "in" } }, { - "id": "db924183-9079-4d5e-ba72-24086b523403", - "type": "basic.outputLabel", - "data": { - "name": "ch", - "range": "[7:0]", - "blockColor": "fuchsia", - "size": 8 + "source": { + "block": "0ebd46a4-769b-45e6-bcaf-e3796264aed3", + "port": "out" }, - "position": { - "x": 280, - "y": 1016 - } - }, + "target": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i" + }, + "size": 4 + } + ] + } + } + }, + "84f0a15761ee8b753f67079819a7614923939472": { + "package": { + "name": "Bus4-Join-all", + "version": "0.1", + "description": "Bus4-Join-all: Join all the wires into a 4-bits Bus", + "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=%22M164.218%2077.643L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v26.186l61.698.046c8.012-.043%2015.705%203.133%2021.47%208.81l61.448%2061.315a57.292%2057.292%200%200%200%2039.993%2016.139%2057.292%2057.292%200%200%200-39.993%2016.14L83.668%20190.45c-5.765%205.677-13.458%208.853-21.47%208.81L.5%20199.306v26.186h62.612c14.924.039%2029.463-5.9%2040.204-16.28l60.902-60.863a29.857%2029.857%200%200%201%2021.347-8.81l146.53-.113V86.457H185.571a29.884%2029.884%200%200%201-21.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ { - "id": "e7b0e2e7-b435-4215-a6f7-d9ac0c6726bd", - "type": "basic.constant", + "id": "6c2aa548-5a4c-4e8d-a56c-a70926b19f18", + "type": "basic.input", "data": { - "name": "sclk", - "value": "12000000", - "local": false + "name": "3", + "clock": false }, "position": { - "x": 880, - "y": 480 + "x": 80, + "y": 64 } }, { - "id": "a23126b7-19d0-4249-b3da-817a04fac6a6", - "type": "basic.constant", + "id": "346b4ae4-4bb6-4845-9c17-3b25e0dde718", + "type": "basic.input", "data": { - "name": "bps", - "value": "115200", - "local": false + "name": "2", + "clock": false }, "position": { - "x": 1040, - "y": 480 + "x": 80, + "y": 136 } }, { - "id": "68b503e6-2b67-4fba-9b21-96ca03b1ac6a", - "type": "basic.memory", + "id": "55180947-6349-4a04-a151-ad69ea2b155e", + "type": "basic.output", "data": { "name": "", - "list": "00\n01\n02\n03\n04\n05\n06\n07\n08\n09\n0A\n0B\n0C\n0D\n0E\n0F\n", - "local": true, - "format": 10 + "range": "[3:0]", + "size": 4 }, "position": { - "x": 1424, - "y": 672 - }, - "size": { - "width": 152, - "height": 160 + "x": 712, + "y": 200 } }, { - "id": "1b7cce1e-5e7b-4fef-93cd-ff06c9262fbf", - "type": "basic.info", + "id": "969e11ca-69e8-403b-a566-7bf2fbe3a5a8", + "type": "basic.input", "data": { - "info": "## Icerok-probe machine\n\nMachine for capturing data, storing it in the memory and transmit \nto the computer by serial port", - "readonly": true + "name": "1", + "clock": false }, "position": { - "x": -48, - "y": 368 - }, - "size": { - "width": 688, - "height": 88 + "x": 80, + "y": 208 } }, { - "id": "1a5dba1d-460f-4fe7-b89a-e82a5ce80797", - "type": "basic.info", + "id": "e4111201-8441-4e7d-bcd2-bcf9d265d043", + "type": "basic.input", "data": { - "info": "Writing the data to the memory on \nevery system clock cycle", - "readonly": true + "name": "0", + "clock": false }, "position": { - "x": 368, - "y": 1080 - }, - "size": { - "width": 296, - "height": 56 + "x": 80, + "y": 272 } }, { - "id": "e9eeb570-af93-4a48-a7bb-b2373f112a3d", - "type": "basic.info", + "id": "16e78204-213e-4833-9096-89d735307ec2", + "type": "basic.code", "data": { - "info": "Transmiting the raw memory contents \nto the computer, by serial port", - "readonly": true + "code": "assign o = {i3, i2, i1, i0};\n", + "params": [], + "ports": { + "in": [ + { + "name": "i3" + }, + { + "name": "i2" + }, + { + "name": "i1" + }, + { + "name": "i0" + } + ], + "out": [ + { + "name": "o", + "range": "[3:0]", + "size": 4 + } + ] + } }, "position": { - "x": 936, - "y": 1080 + "x": 296, + "y": 176 }, "size": { - "width": 296, - "height": 56 + "width": 344, + "height": 104 } - }, + } + ], + "wires": [ { - "id": "120026aa-96d4-4c3f-bdf9-6ae35383aa84", - "type": "basic.info", - "data": { - "info": "When the sampling is done \ntransmit the information to \nthe computer", - "readonly": true - }, - "position": { - "x": 664, - "y": 992 + "source": { + "block": "969e11ca-69e8-403b-a566-7bf2fbe3a5a8", + "port": "out" }, - "size": { - "width": 280, - "height": 72 + "target": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i1" } }, { - "id": "7c470f08-1331-4242-ad22-412c4e83cf61", - "type": "basic.info", - "data": { - "info": "Memory were the data \nis stored", - "readonly": true - }, - "position": { - "x": 1448, - "y": 984 + "source": { + "block": "e4111201-8441-4e7d-bcd2-bcf9d265d043", + "port": "out" }, - "size": { - "width": 216, - "height": 64 + "target": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i0" } }, { - "id": "8d4702c6-7ee0-4768-9480-03d077785a14", - "type": "5db16434c331e6689e301a8620b611571d914365", - "position": { - "x": 1456, - "y": 896 + "source": { + "block": "346b4ae4-4bb6-4845-9c17-3b25e0dde718", + "port": "out" }, - "size": { - "width": 96, - "height": 64 - } + "target": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i2" + }, + "vertices": [ + { + "x": 200, + "y": 176 + } + ] }, { - "id": "1725cc20-1beb-4be7-b4ec-9e288b631779", - "type": "26ab4b14044d51c1bbe481de5533a9b47d267746", - "position": { - "x": 488, - "y": 896 + "source": { + "block": "6c2aa548-5a4c-4e8d-a56c-a70926b19f18", + "port": "out" }, - "size": { - "width": 96, - "height": 128 - } - }, - { - "id": "90332e4a-ed30-407a-9144-b5a97b4e83e0", - "type": "3611498f72f6612ad9bff72919bddb61a3ef0e82", - "position": { - "x": 984, - "y": 864 + "target": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i3" }, - "size": { - "width": 96, - "height": 192 - } + "vertices": [ + { + "x": 224, + "y": 128 + } + ] }, - { - "id": "13459b93-cb56-4480-8170-22510d3c3a80", - "type": "af1545e2cba3d57550e8c41f0e5cd36e4ec1e0be", - "position": { - "x": 904, - "y": 600 - }, - "size": { - "width": 96, - "height": 96 - } - } - ], - "wires": [ { "source": { - "block": "02620ac0-eba1-4e7b-8c7c-42f281dfad06", - "port": "outlabel" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o" }, "target": { - "block": "1725cc20-1beb-4be7-b4ec-9e288b631779", - "port": "b14f140b-7bb5-46d9-8019-39c27ff6e0e3" + "block": "55180947-6349-4a04-a151-ad69ea2b155e", + "port": "in" }, - "vertices": [] - }, + "size": 4 + } + ] + } + } + }, + "afb28fd5426aea14477d11cbe30a290679f789f8": { + "package": { + "name": "Bus8-Join-half", + "version": "0.1", + "description": "Bus8-Join-half: Join the two same halves into an 8-bits Bus", + "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=%22M164.218%2077.643L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v26.186l61.698.046c8.012-.043%2015.705%203.133%2021.47%208.81l61.448%2061.315a57.292%2057.292%200%200%200%2039.993%2016.139%2057.292%2057.292%200%200%200-39.993%2016.14L83.668%20190.45c-5.765%205.677-13.458%208.853-21.47%208.81L.5%20199.306v26.186h62.612c14.924.039%2029.463-5.9%2040.204-16.28l60.902-60.863a29.857%2029.857%200%200%201%2021.347-8.81l146.53-.113V86.457H185.571a29.884%2029.884%200%200%201-21.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ { - "source": { - "block": "90332e4a-ed30-407a-9144-b5a97b4e83e0", - "port": "38abb13c-8652-41fb-931c-c7bf760ebb24" - }, - "target": { - "block": "97a9bf0d-0475-40fe-bcc2-f75e2b928290", - "port": "inlabel" + "id": "a1770adf-e143-4506-9d87-3cb9c870f534", + "type": "basic.input", + "data": { + "name": "1", + "range": "[3:0]", + "clock": false, + "size": 4 }, - "vertices": [] + "position": { + "x": 128, + "y": 168 + } }, { - "source": { - "block": "90332e4a-ed30-407a-9144-b5a97b4e83e0", - "port": "3066cf48-9921-4487-826e-0464a2dead7a", + "id": "1269698e-e555-4fcb-a613-cb4c7ff2e598", + "type": "basic.output", + "data": { + "name": "", + "range": "[7:0]", "size": 8 }, - "target": { - "block": "8de3b7b2-f1f3-41a6-91c1-dcd310e375b5", - "port": "inlabel" - }, - "vertices": [], - "size": 8 + "position": { + "x": 640, + "y": 200 + } }, { - "source": { - "block": "90332e4a-ed30-407a-9144-b5a97b4e83e0", - "port": "20d63505-e2fd-44ed-95b9-9f45e8875e70", - "size": 10 - }, - "target": { - "block": "db47aa3d-add3-4672-aad0-e71644d43161", - "port": "inlabel" + "id": "843164ff-f7d8-48b9-bf59-1e0d1135c81f", + "type": "basic.input", + "data": { + "name": "0", + "range": "[3:0]", + "clock": false, + "size": 4 }, - "vertices": [], - "size": 10 + "position": { + "x": 128, + "y": 224 + } }, { - "source": { - "block": "f443dcde-4fbe-46f8-90d9-94a64a06a928", - "port": "outlabel" + "id": "16e78204-213e-4833-9096-89d735307ec2", + "type": "basic.code", + "data": { + "code": "assign o = {i1, i0};\n", + "params": [], + "ports": { + "in": [ + { + "name": "i1", + "range": "[3:0]", + "size": 4 + }, + { + "name": "i0", + "range": "[3:0]", + "size": 4 + } + ], + "out": [ + { + "name": "o", + "range": "[7:0]", + "size": 8 + } + ] + } }, - "target": { - "block": "90332e4a-ed30-407a-9144-b5a97b4e83e0", - "port": "886b88b1-4987-4f1f-aadd-d82bb53ab445", - "size": 10 + "position": { + "x": 296, + "y": 176 }, - "vertices": [], - "size": 10 - }, + "size": { + "width": 272, + "height": 104 + } + } + ], + "wires": [ { "source": { - "block": "13459b93-cb56-4480-8170-22510d3c3a80", - "port": "93defa79-7f79-4614-8e5b-17ceacc8c7cf", - "size": 10 + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o" }, "target": { - "block": "25428eb9-c2a5-476c-8ea5-4876e3cb78cb", - "port": "inlabel" + "block": "1269698e-e555-4fcb-a613-cb4c7ff2e598", + "port": "in" }, - "vertices": [], - "size": 10 + "size": 8 }, { "source": { - "block": "2226faa1-dd30-45cc-b4fb-2bcffd758576", - "port": "outlabel" + "block": "a1770adf-e143-4506-9d87-3cb9c870f534", + "port": "out" }, "target": { - "block": "13459b93-cb56-4480-8170-22510d3c3a80", - "port": "bf297685-7b54-477f-b9ee-3c143135097b", - "size": 10 + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i1" }, - "vertices": [], - "size": 10 + "size": 4 }, { "source": { - "block": "bef1b4c2-b479-4152-ba4d-eb6b9906949c", + "block": "843164ff-f7d8-48b9-bf59-1e0d1135c81f", "port": "out" }, "target": { - "block": "e957a950-a21d-4560-8c01-c477d88a75a2", - "port": "inlabel" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i0" }, - "vertices": [] - }, + "size": 4 + } + ] + } + } + }, + "a1ce303b8ce47a06371ea4641c81460f34a1cca9": { + "package": { + "name": "AdderC-4bits", + "version": "0.1", + "description": "AdderC-4bits: Adder of two operands of 4 bits and Carry in", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618560481898 + }, + "design": { + "graph": { + "blocks": [ { - "source": { - "block": "874e0745-10f1-45c2-8893-f7dfad87390d", - "port": "outlabel" + "id": "1c9b3962-5793-4e6f-98d4-9ca2113d0823", + "type": "basic.inputLabel", + "data": { + "blockColor": "deeppink", + "name": "a3", + "pins": [ + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true, + "oldBlockColor": "deeppink" }, - "target": { - "block": "13459b93-cb56-4480-8170-22510d3c3a80", - "port": "2d00d963-00f8-4a0a-9cb8-a4e5bfb61323" + "position": { + "x": 8, + "y": -744 } }, { - "source": { - "block": "13459b93-cb56-4480-8170-22510d3c3a80", - "port": "f2043f09-b391-40ea-9d1d-721438b68ef1" + "id": "161a3e27-de9b-4674-b990-c1e8314a29f3", + "type": "basic.outputLabel", + "data": { + "blockColor": "deeppink", + "name": "a3", + "oldBlockColor": "deeppink" }, - "target": { - "block": "01edffcc-6e84-40ff-a986-e6bb1d144035", - "port": "inlabel" + "position": { + "x": 576, + "y": -736 } }, { - "source": { - "block": "b5a3b2cc-7b32-4ac9-b6bf-002fe40d9ebe", - "port": "outlabel" - }, - "target": { - "block": "757f1816-834d-4cd7-a5e1-d726a472de91", - "port": "in" - } - }, - { - "source": { - "block": "b1e41924-f354-4744-b5f0-a93a1fdc6828", - "port": "out" - }, - "target": { - "block": "4de777a9-a4a5-4ace-adf6-688298d0d736", - "port": "inlabel" - } - }, - { - "source": { - "block": "9cdfc247-4374-4660-b8c7-246e9aa090d7", - "port": "out", - "size": 8 - }, - "target": { - "block": "b3f14933-93b7-4bc1-8585-471518a370ce", - "port": "inlabel" - }, - "size": 8 - }, - { - "source": { - "block": "db924183-9079-4d5e-ba72-24086b523403", - "port": "outlabel" - }, - "target": { - "block": "1725cc20-1beb-4be7-b4ec-9e288b631779", - "port": "9978357f-7ad7-44b5-97d2-b44692508773", - "size": 8 - }, - "size": 8 - }, - { - "source": { - "block": "95f8ff76-02e4-4f69-8db6-d285cfe13d4a", - "port": "outlabel" - }, - "target": { - "block": "1725cc20-1beb-4be7-b4ec-9e288b631779", - "port": "7fb933a6-5c63-4d46-8aaa-440b30974993" - } - }, - { - "source": { - "block": "a76b111f-f808-4e45-8873-d8e76eb8612e", - "port": "outlabel" - }, - "target": { - "block": "90332e4a-ed30-407a-9144-b5a97b4e83e0", - "port": "7fb933a6-5c63-4d46-8aaa-440b30974993" - } - }, - { - "source": { - "block": "b1cd47ec-5a10-4bd1-bff9-a9d1707d621d", - "port": "outlabel" - }, - "target": { - "block": "8d4702c6-7ee0-4768-9480-03d077785a14", - "port": "6080df5a-c853-47cf-aaa7-c5a8f1e65879" - } - }, - { - "source": { - "block": "8d4702c6-7ee0-4768-9480-03d077785a14", - "port": "29234969-c318-4201-b86b-7bbc0f38d2c2", - "size": 14 - }, - "target": { - "block": "72a72392-ecf8-409d-a508-2d2c6c1b136c", - "port": "inlabel" - }, - "size": 14 - }, - { - "source": { - "block": "096003ce-186a-4b28-8793-420c798499d2", - "port": "outlabel" - }, - "target": { - "block": "1725cc20-1beb-4be7-b4ec-9e288b631779", - "port": "9cabcf85-d855-4e65-96c9-13c244d34d4d", - "size": 14 - }, - "vertices": [ - { - "x": 400, - "y": 912 - } - ], - "size": 14 - }, - { - "source": { - "block": "68b503e6-2b67-4fba-9b21-96ca03b1ac6a", - "port": "memory-out" - }, - "target": { - "block": "8d4702c6-7ee0-4768-9480-03d077785a14", - "port": "b07ab569-1013-48d4-916e-4e447f8ea11b" - }, - "vertices": [] - }, - { - "source": { - "block": "1725cc20-1beb-4be7-b4ec-9e288b631779", - "port": "95c4416f-62f5-4196-a406-f7915d40a572" - }, - "target": { - "block": "90332e4a-ed30-407a-9144-b5a97b4e83e0", - "port": "b14f140b-7bb5-46d9-8019-39c27ff6e0e3" - }, - "vertices": [] - }, - { - "source": { - "block": "1725cc20-1beb-4be7-b4ec-9e288b631779", - "port": "0d362d8c-37c7-4a07-af15-ae7af9bbc7c9" - }, - "target": { - "block": "90332e4a-ed30-407a-9144-b5a97b4e83e0", - "port": "472c0cbb-1d6b-4af4-a439-52f52118d405" - }, - "size": 14 - }, - { - "source": { - "block": "90332e4a-ed30-407a-9144-b5a97b4e83e0", - "port": "727e032f-d74b-464e-81fe-b30b1e669b9e" - }, - "target": { - "block": "8d4702c6-7ee0-4768-9480-03d077785a14", - "port": "8fd18a6c-a1d7-494a-916f-fe51094f3872" - }, - "size": 14 - }, - { - "source": { - "block": "a23126b7-19d0-4249-b3da-817a04fac6a6", - "port": "constant-out" - }, - "target": { - "block": "13459b93-cb56-4480-8170-22510d3c3a80", - "port": "d4a02852-2578-4c4d-b7e2-0708b0ef9794" - } - }, - { - "source": { - "block": "e7b0e2e7-b435-4215-a6f7-d9ac0c6726bd", - "port": "constant-out" - }, - "target": { - "block": "13459b93-cb56-4480-8170-22510d3c3a80", - "port": "bb5ac23f-87a4-4029-8fa8-ed6b93a824f9" - } - } - ] - } - } - }, - "5db16434c331e6689e301a8620b611571d914365": { - "package": { - "name": "Smem-16B-bus", - "version": "0.1", - "description": "16B memory. Bus interface", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20viewBox=%220%200%2087.168922%20102.99556%22%20height=%22389.275%22%20width=%22329.457%22%3E%3Cg%20transform=%22translate(-159.832%20-119.548)%22%3E%3Cimage%20xlink:href=%22data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAgM0lEQVR4Xu1dCZBU1bm+PdPTM8CM%20AgMO+yCrAq4oGjWKIIorcYnRlD59saImGlOaqK/UPPeHu5VyjyYuMRu+uFVEjRqX4FNRQURwQVxQ%20YdiGZQYGepZ+33frfK9Oneq+t+/0zHTad/+qU7fv7bt0n/8///L9/znX+1ZTTDHFFFNMMcUUU0wx%20xRRTTDHFFFNMMcUUU0wxxZToofuX8XPo82LqcLaZUhUAMbucraKi4viysrI9jCBkp5gybKBH0un0%20cuy3URC6WwiSXvcRmV9ZVVV1azKZPBvN69+/vzd06FBv2LBh1mkxff31197ixYvJfa+1tfUnHR0d%20x7W1tc3HV2kJQakJQBmZjzYUo99n/qRJk7xTTz3V69WrV5bTY/rmm2+8u+++29u6desO2L0cAnCq%20YXy61AQgYe5bBebvB9XvJRIJ79hjj/VSqZTX3t6e5ZKYBg0a5B133HHenDlzPPRZLQ5VG+a3lpwJ%20kPoH83uT+Ww77rhjCPNjYh+Z/hqK3T5oW9C2obWXlAaQAMCm9SovL/cGDx7sQaWFXBbTTjvt5AsA%20+qwOu7SVSTnOpSgASdBkSjTtPhybkMtioomkyWTjLvmjSK0UncAkJLmMAgDKUwBiqqur81atWkUt%200Bcmc2XJaQCBPtqCvMrKyjztf0wIm9lp1AbjW1paPrIwlUzJaAAJAKgajbYtTwGIaeDAgd6KFSv8%20zmMfloIJcCFf3rOCDT7AKAgAAY78nMCYqC3lB/Q1/Zgy4WB7AERcVAFIiPE333zz6JEjR565ffv2%20Xlu2bKm58847d2psbKQAhGiAmOQr1dTU+J8PPPDAE37wgx8MhgO9BeZg++bNm18588wzXzYQcXtX%20CUGii5ifuuyyy8YD7Fk4YMAAOTHelVde6X300UfejBkzPAhGwG1i5ksA2HdPPfWUd/LJJ7NRczKM%209iOp55577oyzzjrrvwkOGUHIFFsDJIya6nPQQQfdSweGKoyNAgBNIIcmRxQQM15ELcl9oKdU/4yh%202W/sR/anvz98+PD/wqnPozUZc9BeFA3gMv/GG288CgLwaL9+/by+fft6q1ev9gXgqKOO8v/MEUcc%204UOdJUxiUgSmRhv59va3v/2tnztBv9J0+k40Bxe16fLly2effvrpt1EIlCfobg2Q0FYq34J7q6ZN%20mzZ8v/32u5nSKonllhKrPACOyQcofQEonPlZma7GZ6jPFD5v27bN69Onj78/evTon/34xz9+/v77%20719s+NFup5OjOoqJKA7ezjvvPAuM7QuGJkBlyFtXgNkzMbrHUXUx3Utmf/XVVz7zTzrpJL9TTjnl%20FK+EieYrAuO1H8r8nBrgb3/7m1dbW+vNnj3bfzY165AhQ7zPPvvM9wlWrly5DFnD5yAUaQhMB4Qk%20g/My0LxPn3POOQuiOIqJPCDd1IMPPnjiiBEjHiFzObK15Y9Zs2aNn+Ovrq5mKtP74IMPlPjxfvGL%20X3ggCkKpC0AhjNdxfbZb1u9ffPFFb8OGDd4dd9zB+gBv/fr13pgxYzw62OzzTz75hKaWfc5+5jFt%20aX5/hrT7gzQPchQ7awLKZOPB4Nly7CQAbBzlUv38/P7773vQEs0vv/zyckhpNTpkNK6X+i911a/P%20UUe8y2jdI6tgiMj4t956axGFb88996wD0wfRDJDp7G/wQ+l18kJbaoo7jjzyyL8/++yzX8tR7JQG%20EPPRasHQT/FwPkBCwCaJ8zXAhx9+6Esp4lVJqXfDDTf42uDggw/uSVsscjtd+1Gu1/lsETRAkLoP%201whLlizx2+9//3uNbm/8+PHe22+/7e2yyy5ECmluXQ3A5kdeTz/99OlwIOfiVs0mZMwUpAEA6pDx%20fKgEQM6ez4w33niDQuDbLVJzczO/U1hDFdqVjC/cMYt+vYRAx8JUvCtA+Qinew/aeoZ+ZDAjAZ/p%20L730EiMEAkbsY35HXnDLfqdJZn/3poOO1kIB6KwJSAjWBZOXbtq0acK6det4c7v5Dx83bhwZQcEg%20w33mAwFkR7goYE8LghgSpgGiMknfBal7Nff5bIHnsx+5hZPN/vQZrKTaPvvsw/IxagGZYTX1/Qo4%207B8Y/y1RSBiokKIDCN9//upXvzoRUjgMzKxgBMBIgIQQpQwJjElQRymZBgoAnRj9GVzTE/Y5aDQV%20cr39XRRV79p6CQKZlfV7HaPZlPYk0zm6JQDIEHKkL2tqatrcAWIEwMvwfevatWu/efTRR1+wI4BC%20BYA32o625dprr32R/gBab3NdObzSGoAWp+AHp+QfSOVLimWnihSjizGFXu9+7zLVfYaOaWt/lkl0%20Ge+eRy0qbIX7cvoIq484/vjjH4BGbrJCvq1oG9BWo20zqj/U9iZC1H81mY5q1csQ6x+KeHSkHQbS%204VMRA4/RLr3zzjsefYbXXnuNjTbMb98KClf37ne5jkkLZDUX7Nd//vOf3ne/+13vkEMO8Xr37s1I%20gJqAZsHXrtAATB3bTiCPrYXf8NpvfvObG8GHz4UWFuIElkGl/BwO3r+7IaCwfkqlnEH+6LFjx3Kf%20zJc0f9vyAO7IzmfUZ8MW3OO6BweStGd6t912S5Hpb775pjd58mSli8lw5Q3kBBIbGIhrT0QSbgTM%209jGqJ+iMACivX4VM1BnCAOwmW88fy+8XLFjAH9R49NFHPwNPNA3I8mgcHwTp/bYIQC47HmYqcp7j%20OpiuxnjssceW3X777f/D/YcffvhwhIH1+++/vwYd+10aQELBRuRw3/PPP38s0vGLFQayRRWASrQ+%20YF6N7BCbGwYyTUnmm+rf/n/+859P5+df//rX3scff+ypIORbQLkAnSAH0T2WCxDKeg5yLBP/9Kc/%20TbSdwHnz5tEcKMyWj2BjATQhHIzjcJtPjA/XHlUDCAPoDa9T6kXhhv9gMXbhwoW0RYxTqf4JBUtA%205PCUPBLo2m2X+focgQLxAWL+ep4YTJyFnxsaGuhnMSlE6F0mVlv6ATzOaKHNDOLyzkQBSgKVY87a%20vXBEzqVU8eZ8iJhKdJB2CRgBpZPHZaPowRbTB3DVaqHXh4V67oiOKgTaJ+MY40sA5PlL8xJsI/PT%20mE+YIlDEczTYYG7pN9BJnHfvvfd+lk9NYTIkBGy9/PLLn5syZcoqPHRnaIIqU6yYAGMpWeWoA9h1%203333HQfG0ymk6uEPlQAwj01hKVUBEEPz9eZzYQt5h6LLli0jw3k+4XRXALjPnMt6wL3zySOc126u%207QBrtmOQrnnmmWfeVh1hZ5NBHWS+iS03zp8//2O0tSY3UG5a6phjjhkPp2Sc4n/lsCWRaMUe/WJM%20IdcGaQD+vyBgxx7pYc/loGHmz36WgCBbAJgXGAwsoOamm26aJ0ab1kJ+oTWibdF3hQhAC8KQjtNO%20O+0QPPBgSFh5whCksgwmYJjtINIUfPnll2SARkexBUCd35UCQIa710SCjd3vlTHl6Hc1Co9xS5yf%20dl8a4fDDD5+2xx57jAAPVA/gI7eoKVz4/PPPz4EWkAB0RBWAhGl8SM0FF1xwPx4yXo6dtgR7Nm7c%20qOofZgVZrsSctf8ZxOOlYv+DGGcLM7dhYV02LRAaKXz66adZsQH6A6NGjfK++OILf4ChLoMCwHQx%20ne8x6G95/0oaTdh1112PQ6Rw8vXXX/9GZ6FgqviKH/7wh6cB5h2fDQPgD6Dal+3HH6D6WoLpzSuQ%20H6hFR00pCQEITwa5zHcdvygYQFYBBYbPweQy33/ek08+OR9+1DqM9tqJEyfuB6bT0dM6C9II8hNk%20LmrgnJ+Nr98xvGyPggMIBOoNaZqZCwOgACgWfe+99wgHUyv0wxz3fvBOK1naDCqeAES3wdkydmJ6%20ULVPlJSve4whm7z+rNfuvffew1BnMYz9iMGYBhiUAj7AwWfnB1xAiP1eTx4aHKA1qgmoQOuFZMM2%20Le0iVS8hkF2aO3euX6Sw++678/gQNP04tmJhAO4oDTtH4Wouu5+rHiDoWNjz+Tyqdqn+XGsGDGEx%20CJnKfqYJIBhUX19PbMBGAwXPU5swZE8aAWg2g7o9igDwghTU+st4yIEo8qR614PUuNYPcQB2gh0B%20KEnEzz2NAopRQUwPvc62+7YwhJHLePd+7rmI5VnxG6hdpGnJZEHAsPF+4ccLL7ygzKsGp2oFeXyp%20GchlnU0Hd1xzzTXzZs2add306dMPwg1T6AS/yIC1AHhgAn+gDAKyN+yRoGEJQE+HgTbTIwhA4LlK%20bbueea578ry8439oVwI2YfWECv2k1qVdOcqX4bNqAjIQlAySRh1pELTywoceeuhFjfqoAkCOtZmc%208mbY8vfQvsF+jSTKXFcJ3P80FSdasCVbT6OAfE6AAETzB8TMELJHdyR4mBEUwrW8tAqFRFgAeKuq%20HxZ/1iE8nwsHkuq2VcCdUfmN5J3hYVvUbGDGXNTCm8ABqcVExYGQsio0nl9ObYBc9QGIS4fpB0kA%20ILHqCDGm2GrfPTdSvt9toKAQMBQSpsqX05cHUdXbA0ueP0PAHe67776TkSz6K/q8FfdrY8PnXsBi%20Nr/yyiubyMNOFYWqnBiFIMfAAbnBjQA0H4CMFvYPtUMcm99zCpPjHUemqPa7K+bm2aPfbi4zXSaH%20ZvtssAfMsZy+cGKU8Prrr8u790w6WFp28HnnnXc+czJ2JMDt2Wef/QjC+EsiQcH2TKCf/vSnoydM%20mEDm55wPIPWPknCqpmY4i58atTUGm2qZgH/xtK6Y7gI/dtMxCbUNCGk/0PaT6eifKMzX/IA0/IWl%20uI4O9xhA8tUHHHAAGc0+Z3OxAG4ZIfzb7373u0U/+tGPHrDKwzKhGkBz/hBrni6VLqbbn/VgxPy0%20aXT81iFV2c7vlL9mKxIFedZBJVuuANgYiC0IWa9xBcl2hOnxa7Z0BGJ+IAVktZ1C9eqrr34BQGgS%20J+DstddedmGIRr6azAUHYq+gxFAyFwYAhlbxB8vDd6Fgph5ZnkxnBhlBerUjEaeOxHcMGYVs9SST%20XTXunhNUjp1LACT4OuYyOFeuwN5nH3WK+boe4NpkMpU8QG6GU8c4SYSwO7Ot2YpCOCiJMFYRC5Av%20EMUEpABQLCHowHBF8/5tIu6PQlECEtQGFBTNExDzu0MAwpgpFet+F8z4cAFwr8l79EMrkhkF9YVU%20vJjNmgCG2iy+Yf/zmO1n0G8gwTfYbkVuiUg4wK233roIocYcqJyD8cBBkmp1Do41IzlBhldbtqi7%20BUCMCMvURREAXeMCP3axRdSmkS9MpCBBp++AbKwPCilFvMMOO6QBCDUCgh+kCEihMPiyEY7466gL%20fKJTOIBSwZjd+zi2LErsh1apKiFeN3PmzJFXXXXVLI4ONcs77Q4BiFKCnU0AwkZ8wPGiMF8CYDt6%203FcVdurxxx9fftttt82x5gZ0GOx/o5kfsDXIASQlA0CgJrQNmIo0GGqmL6SrEq2cNQE1oDPOOMNO%20FPFHUvq6QwDEvDDmh2mIfBnsRgNhQuPmDKj2HeYXLADC/O0ld7iG0IHAFRrhiK8jBsCqIPAijRxN%20K2oCGslDGwyKBAQh3kxdcskls4Et7207f3LyiEopSmBCg3XrBDlce1kA5a3m3a0oDxtv2+9sQpS3%20AMj/IMgjh68ryHj/nC1MH4BRAZNzFAiqetZsHMucjJw/YQFQ/w1wFn+C6myiuB1RcAC2sl/+8pdX%20wM67zBfmLxDIF4SlS5d6tEfwTL8CQOSvC1CQAIQzsKsFINu9o5gHxfnsj67WfGT6avCigWX3eMZw%20ONx08MgHNTcEZBsEMz0bAjA1ihOoKWG9MPIPs3EAu5FUC0AQCCaCKGB/ABX9oY5YKl6IBsjmXefj%202UcVAG2D7mufn2ufI94N9bpSANi/dejbOo5sMp9l44DoyQOZBxcHUCZ2l1tuuWVfDOZ5uXyBZI4J%20IdX4MzVcm8bWAPqsCSFaFwDlR5ocomyVmNYVDl4+4E22e0URAp0fKgDudWQ6R77sc3cQw0j5W0Bn%20WSPgm1xUCPG4iwOo0VQTla0jT+ULBGoAe0oY2lrUAwxEuKFRL/LVHNEoAD+Cg9kEQ0b3AcLj8rDz%20omiTIEdOlJXZrhDQBrP+UdhDdxHnY7hRAMwBcQD6AxRCt8BUi3RsRV3gEmEBkSaGYC7aLUgo/BwP%20GOJIvyYhNIL5/dHo/EkACBw5AhCZ8Z3VBtrm60i69wtkvnsNRxdr+XR+dxL7VQIgGB7amRnBZvgC%201RRABwsgGLQBcwcell8XFQdIo7hzKdq12B9gagHKhQPAIemDdQG+B+9TDiG3MhH5hoFBuHoU2DYb%20sztjXkKZr+JQ+DkclT2V6+AAk523cQGO8hRqAh7FHMxG4QDWWgHr0b4JWysgmQsEQtuMdOIQePf7%20EHTgqiBs6IAylCmPB0pYazkg/DFkJrdibHeM+nyAHzdTx2ORwkqX6fpMJI7MVxlXTxEdTJob8IH4%20ggSAWjh1xRVXHIEw/CPwhrzrIBaAz61AY1fAAfyQwhBFADISgj/+8Y8XA+s/xnUCyWyqPjJY8wEB%20OvDHsMlOhavjcMZHdwjdz+Fz/NTC7D4FW/aex3o6s0lnjn3PWgtlArlPSHggVmEbyLDQxQJQyLMP%20VhI5KbQs3MUALr300t3g3dvMd2sB1DhT1fcHnnjiiQWQ0jTO3x+d3j+LKg5KowYlVKLCv0EZw7yF%20T0zWdGsCMPq+GHTPPffM5fb73//+RDjg9ZivybUZqA1yYgHEcTBJ9ORzzz33/rxwAM35w41HK8HD%20G7lND+V8AGqBzz//fC1CkmGQ0ibkvSukItGij/rw40HMLhROVpO3rVCqaIyXFoPJHQbTm0IWdhPg%20efa9qoPCagJ2dsJABwfI8ro3jOKBzOgx3Wvj/ZrpQ3XDV50yHJw6dSqxgPEqB4MmYDawMyO5s0IQ%20ZRHH0BBTWkjhF4RZPkVRi1sOPfTQ3ckPMpYTQ7B4J00vcQGtHqowXIJAU81ooNKE9Vt4q7xwAEw8%20+AATPbZiejKLCeT9qnFU0A7xIaoF4GeZi6Awy7afUZgdBtkGCUC+foTqGch0OnwUcLu6qWhCoNBP%20CSEyW/X/1AQ0BfJXxCsKAWdrQSNHwgEybFiteiUeeAMqUWaiKGQ4vX9QQkzla0wgWYPhgFQ7qWA6%20ShKAqCM/2A8IX6SB2yjMd59HQIUjho0CYINaxV6rmGigFoWy1wxMAxD6ElP4iAVk0Dxu2TBI1/7l%20L395CeH6gnzTwYoA0lQXUOXvo63Bfl+0XlYtQAXeZTPhoosuGuv4BBQE4eE87uL4kRkOCmJa2HSv%20sHtJtUtdkukBL7cqriBQAKQBlIvh4pwo/96ACTxPaW6AtbbjJlMTsIX7eU0N08WaXIClxsbAw+/P%20eQAqBMGDdwBCON2pVVdIqCoabiM4gpF9gfxW6Q5v9O7p5LnVy0UUgvAZQiA5fXwryxRogvVIEK1A%20n/tCQBygEoTFpj90agI68jEB7Xg7Vd0JJ5zwACRsnJsIUtZLAoC4lKEgc9U2ChhVAKIJSDj8m7NA%20k8KpEYXUNUd9rmtzrv1XDGLCiQkg+l8sxhUKC4eb8f6ReCmHu3I4X9e/CotLn4Pyvoa8cAA5gXjB%20wy1wLGzm20KglarZiQwBGW9+CWdjPYSuBh01Vh1fIMAThtVHAZzYbHVPD1/OlZzbbHP8bOZrvxg+%20AAdeM3iyDJFANXCJscy5wPYrJUy+SPvas4UH431N90AAJltQfntWAVA1MFofPGhKrsUh7algzPtD%20/SzCJJJXqV4wVWzEd77znbH6IQWp//Da/chr95PJqmZyp3y7QuvOFnaFoYeJzvVmgEHzuHPxxRd/%20hWLdaQr/0Oz1hBQNCJUdCrh4+nXXXTfXrgkIEoBqwp4QgqwLQ1DV8yFcCpZFCQgVazET9Xv4LgMk%20sBfeciFp7MwI7xTcq3131GqSijx6mC4KrJa2t+cuqtPsY0FzAXtaG/BNLLVYtncWGcx8DON/ml7k%20ajgoyRdXA3BL/4ZRjd4fIF8gpwbgfhVuuBWLE/XOUgsgTJzM5yLQFJRhPMbzaFMxdYmd1LWjPvwe%209jO1r3WMKAAaHa59dxNHbsyv79mKxXz5LJXo8xGaH4CXRpCxHIAE5qjVstUE8Dues0FYQHhJGAiv%20JLsGb5+6QLUAjj0ns1dASEY48wFUGCFJ7DTkCyoogqB9h40UiKM5dq6nL0Zrm+14zn21HiIKr6IA%20qXyVizUiUqsGNpOyBJW8oNBsxNT+R4DrNJAVYUigpoVvxyLFS9CuNrUAVB/l9lvEEF6cxMWKskwI%204YMVBvYYw2Xfqe7gILkjPWCaeiiSmAvBLEZGUAJAYVY2ln1eceKJJz4EgW9WqGdai3l/wEpNDQsL%20AwUC8UbrjLrYrhdEmJaCw3cApowPcWsEhQgqZrXCr+4UADKbsTyl3bHdoat/BWkDl8HFYr77P2TK%20JBCMBGrw3uY9Acw9SX4JEDL2fqPh5WZ+l48AqBhkE5aInQoseRJHvVkaphw2pwKJiMOUJVRySEUg%202kYEgqKkaW01z0anrpA3g7jqPSgMLHpGEIUfeo2sPUOIOMAUvGOwCcc2kfk4Rl62oXhlKV44vQrR%202tZcq4Ym3VoAFBFOwtJkD+MhQ7NNCGGihD+C+4sWLeL6gEIBJZlkfr44QKTsIB0dRBruaC90RnGg%20utfxYhMZzsUl+P/Zz8Bd6IgLDOLqYdOdCSKcScwsYhOqt/kSiTeDfICEVDyygJfCcxwaMCGEW0UD%20tEdLYHe5SHEaAjIOD+4vAegEw9193p/PItMpYFGY4nr8BQhKUUlCSTRwSRrEUjD0yVhMQUuB6WET%20RGqwoATfJLqXfARbEyQdDKAGN58hECjXhBCqXYJACBNXQgtsxLYCmmADEMGMfACdHzG8U0WrMnMc%206RGYEk0Q1LElQBR+mgCfeeiTFryq7wvwYRyqg0MniOD8oVjuZwb8t7mWEGSyCUA1VTwQJt4w66IQ%20HJGcq8b1a/EjhoDpcgg9ZKb4lhBemy+Eq9WveF8y3Y1nu2OmTcm+sOKwww7bDXMx9FoYfwvgjXwg%20b7IWhbA/oZ2prbOCQUn3RdFgwlLYmgmK69mEoWs04v0A3OcKFQR/bCGRD+AyWfdQEzKXJ4Nicl8p%20z4IQ8gUmm1PFaCa5tXkgJJSTR7ZeffXVVmFIwLwAzCO7Ce+dPQ8MrYOzVwd/oNJ6nVkzsn9fwhEZ%20i5GfctYG5CjW4sddPBpjIrOhne03hckx5kBahtC8Foxm6l4oaBpRwGpo8yYsJ/eHrNlAeYWy/2gD%200UagDTUgUDVa0i4GeeCBB46DdzkKgkEUitlAaQBWrvpATPdQTIR/8WZwaV/2O/uf6eF1KP8mk1sd%20R2+rWTRyFdoKtAZTKLLd9QGEAWwx6FGKNzD7FXqHMN4dsD8mgo5SRCA0Suaie2PlmNx3CIkPCAEH%204GWRU1GoM8fE+20WPzeaWULN2bCApAMDp7GwwPAZM2bcgCTPWNl1MZhhHx+ulcOYjWI8KjBItr9b%20KCZqVy0aSbvOWdkSCNZk7AHnfA/wxl0trAER241ICT+WbdXQpA0Cgfn1WBz6Idy0xsUAGPrZkxBY%20lWJKx9fj+zRCtjRq1uu7LayKifaeo70BvgDRwEHvvvsuy8KVKFKBi1sUMghI4e14o/hK1BE854JB%20SXtCCEq9Z0GCxHy76SFML1IYOPI5B+CvSBrxHbUMC4fADtV3mwaIic4e52FQzXdMmzat7qyzzjqB%20L+dAWl6D0y0KkbngKmOn4rqX3UUjpQG47Q3vfqAyfE4xCG/Km2ttAHr688D8BSauTAAMqu3+apnY%20BzD2PP2Pf/xjPUZ/BXhzEvqcA5P8yYYFaI5DPau93DeIJO0ZQWB8K1U7gSAw1Mb0tWwpsX+uUPH+%20hRde+FccWmuSR0mopCHd7gTGoSD7vgkDlf1ehncDbwQAVAGmz6IPBpCIfoKwG9UEsDaCQrDOAEGK%206tpdJLDsrrvuehFTig+DJI2DTbcfrPlpvNF8FI3+wYQWqylRpoqoOR8BoGBRw5QKEWHj6CoW0c8C%205q+aBgI/O+It7Yu5y+7EuwOfx7wALtc7E4JRma14FZNHGgEFP2PVdbjzAX3VUIs2DK0eteaTEQUM%20ANMrcCNSBkxrA8zbgJKv5WS8EYC1+iGwSUdhIaPrKTgAkFjD5nde4RQT7DwhdvYnczD/geXfXrBq%20NerIY/gBQ+EfjOY7HdDKMiBo7zYIxfpnn312EXEANsOzZpkBlYJXkYloO/FmFAaznzLnCCdoNjjB%20GqvQIMnzsXDkz1EldDY9VAIWXUYxUetSAKiJuBjXJXhXEEfzZjN4+5Fvhmc11oqunmZ5WWDQGsO/%20FtsEZAxztaxIh7l5L7QKCYD1FpEmtE1mmzZSSEexRmAQVFYXqfnY5tPp1mLT3Gf9n+GHnLm0ccQ3%20GE2ekgC4PNPIz1YWrhuSWs3Jmg5mv0w6bc5rMZ8T5ruyBMiablWSoJAcp39F0iv4UKU1RoW/Wv/H%208KTJ4lmZg/BuYzPntbkCkNGJVl1guWkCiXROu91sIIkkpluOYylm3f7Vw0CZbQlBq2ktFvMTzsBV%2068g1MSRjtTb3HcLOOSJ9Tqj1CMNjSjhMFmNbrWOJAJ6FTg4VReFmGbJTEzXlqlsoJsK/rL9QfO4M%20Tm2jUbKrzCcApLcBB09k0WKXU0wq+2pBle/fHVVeEBU6XCtMuDgIbRRWF7sNocoYYgHFJL3mpRTJ%20rr9Mg+BQryOz8X+ake2bAxzgVSeeby+mAPCXVpvikeFo9cAA9kKoMoCARKKI9iAD4hZzHBsAj27j%20oVIKSOR4O5M8GtC+MtsN5nhHMQVAINKOBowYpKVlLRCpmNShpo4tMQFot1/jawCdtYb5muxRkGAn%20u0BSVXmyntLqgkhsRR5BGkWZEtQCAuAU5rGfm93K3mJqAGmBCjPiq0wTIJEoYudJA2S0LWEz0GZa%202rS2YjuB7j0UmyazgEjF70B7v7Qo42oz+1iRNED4vYrOfDHc3f4/o5hiiimmmGKKKaaYYooppphi%20iimmmGKKKaaYYooppv8FlJhXILrvZ3wAAAAASUVORK5CYII=%22%20preserveAspectRatio=%22none%22%20height=%22102.996%22%20width=%2287.169%22%20x=%22159.832%22%20y=%22119.548%22/%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20x=%22205.024%22%20y=%22157.686%22%20transform=%22scale(.98866%201.01147)%22%20font-weight=%22400%22%20font-size=%2219.302%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#ff0%22%20stroke-width=%22.504%22%3E%3Ctspan%20x=%22205.024%22%20y=%22157.686%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ERAM%3C/tspan%3E%3C/text%3E%3Ctext%20transform=%22scale(.98866%201.01147)%22%20y=%22193.338%22%20x=%22204.398%22%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20font-weight=%22400%22%20font-size=%2226.776%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#0ff%22%20stroke-width=%22.515%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20y=%22193.338%22%20x=%22204.398%22%20font-weight=%22500%22%3E16B%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E", - "otid": 1599036668965 - }, - "design": { - "graph": { - "blocks": [ - { - "id": "6080df5a-c853-47cf-aaa7-c5a8f1e65879", - "type": "basic.input", - "data": { - "name": "", - "clock": true + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", + "data": { + "name": "c" }, "position": { - "x": 168, - "y": 392 + "x": 920, + "y": -696 } }, { - "id": "9edd47b2-4907-40d5-b10f-6aab4a9e797a", + "id": "73a0a48e-d345-4eda-8603-782e9865d928", "type": "basic.inputLabel", "data": { - "blockColor": "yellow", - "name": "clk", + "blockColor": "deeppink", + "name": "a2", "pins": [ { "index": "0", - "name": "", - "value": "" + "name": "NULL", + "value": "NULL" } ], - "virtual": true + "virtual": true, + "oldBlockColor": "deeppink" }, "position": { - "x": 312, - "y": 392 + "x": 8, + "y": -688 } }, { - "id": "270594ca-dba5-499a-8030-08e69613c220", + "id": "05fb13c5-879a-422f-84a8-56d1db8816da", "type": "basic.outputLabel", "data": { - "blockColor": "yellow", - "name": "clk" + "blockColor": "fuchsia", + "name": "b3", + "oldBlockColor": "fuchsia" }, "position": { - "x": 392, - "y": 536 + "x": 576, + "y": -672 } }, { - "id": "29234969-c318-4201-b86b-7bbc0f38d2c2", - "type": "basic.output", + "id": "a30f87da-7077-4ad6-92dd-adbfdd1bed45", + "type": "basic.inputLabel", "data": { - "name": "", - "range": "[13:0]", - "size": 14 + "blockColor": "deeppink", + "name": "a1", + "pins": [ + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true, + "oldBlockColor": "deeppink" }, "position": { - "x": 1392, - "y": 696 + "x": 8, + "y": -632 } }, { - "id": "8fd18a6c-a1d7-494a-916f-fe51094f3872", + "id": "c2d36218-be99-4dd1-bf69-7690c667255b", "type": "basic.input", "data": { "name": "", - "range": "[13:0]", + "range": "[3:0]", "clock": false, - "size": 14 + "size": 4 }, "position": { - "x": 168, - "y": 712 + "x": -312, + "y": -632 } }, { - "id": "043752cd-506b-478d-affc-bdad68d7d0a9", + "id": "ed7a30bc-17fc-444e-89e5-aa9f83b32e86", "type": "basic.outputLabel", "data": { - "blockColor": "yellow", - "name": "clk" + "blockColor": "deeppink", + "name": "a2", + "oldBlockColor": "deeppink" }, "position": { - "x": 608, - "y": 848 + "x": 456, + "y": -584 } }, { - "id": "a04d00a7-87f1-485e-b24e-13078b946ef8", - "type": "basic.outputLabel", + "id": "d7d5e8c8-78dd-41a8-aedf-1051b89bfb77", + "type": "basic.inputLabel", "data": { - "blockColor": "yellow", - "name": "clk" + "blockColor": "deeppink", + "name": "a0", + "pins": [ + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia" }, "position": { - "x": 600, - "y": 1008 + "x": 8, + "y": -576 } }, { - "id": "b07ab569-1013-48d4-916e-4e447f8ea11b", - "type": "basic.memory", + "id": "3c8597e6-ca79-494a-9a53-04c284205216", + "type": "basic.outputLabel", "data": { - "name": "", - "list": "0 0 0 0\n0 0 0 0\n0 0 0 0\n0 0 0 0", - "local": false, - "format": 10 + "blockColor": "fuchsia", + "name": "b2", + "oldBlockColor": "fuchsia" }, "position": { - "x": 584, - "y": 504 + "x": 456, + "y": -528 + } + }, + { + "id": "ee992ca6-d586-4901-aaa3-a17d94ddac84", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "b3", + "pins": [ + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia" + }, + "position": { + "x": -8, + "y": -448 + } + }, + { + "id": "c5dce3e4-5ecc-4fc9-bbf6-7c1adfa1c7ff", + "type": "basic.outputLabel", + "data": { + "blockColor": "deeppink", + "name": "a1", + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 328, + "y": -440 + } + }, + { + "id": "fb8bbeb1-5c60-4629-bc13-231545818d0b", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "b2", + "pins": [ + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia" + }, + "position": { + "x": -8, + "y": -384 + } + }, + { + "id": "d192d0af-e7be-4be6-925a-50227d80784c", + "type": "basic.input", + "data": { + "name": "", + "range": "[3:0]", + "clock": false, + "size": 4 + }, + "position": { + "x": -312, + "y": -384 + } + }, + { + "id": "038a8cb8-35b8-424a-9d14-c320cfcddccf", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "b1" + }, + "position": { + "x": 328, + "y": -376 + } + }, + { + "id": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42", + "type": "basic.output", + "data": { + "name": "s", + "range": "[3:0]", + "size": 4 + }, + "position": { + "x": 1064, + "y": -368 + } + }, + { + "id": "527c9113-e440-454b-b427-182b646c10f5", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "b1", + "pins": [ + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true + }, + "position": { + "x": -16, + "y": -320 + } + }, + { + "id": "f8dceaf6-6020-49e5-b775-ed4821fbd5bd", + "type": "basic.outputLabel", + "data": { + "blockColor": "deeppink", + "name": "a0", + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 184, + "y": -296 + } + }, + { + "id": "b652825e-10ba-47cc-9832-e39d73586234", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "b0", + "pins": [ + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia" + }, + "position": { + "x": -32, + "y": -264 + } + }, + { + "id": "7e5351cc-ea73-4bb2-9dda-0390f005b90b", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "b0", + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 184, + "y": -232 + } + }, + { + "id": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86", + "type": "basic.input", + "data": { + "name": "ci", + "clock": false + }, + "position": { + "x": -296, + "y": -168 + } + }, + { + "id": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", + "position": { + "x": 464, + "y": -392 }, "size": { - "width": 192, - "height": 112 + "width": 96, + "height": 96 } }, { - "id": "776c027a-a389-4046-82ee-fa3d006ba0b1", - "type": "d49d834a24f78bb30b74683564d2f13a5cada9fa", + "id": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", "position": { - "x": 632, - "y": 648 + "x": 608, + "y": -544 }, "size": { "width": 96, - "height": 128 + "height": 96 } }, { - "id": "70e71886-1594-499c-a6f5-a865165730a0", - "type": "6050ed4fa033f3f13d3fe5fae5dcedb414a0fede", + "id": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "type": "c4f23ad05c2010ec9bd213c8814c9238873037ae", "position": { - "x": 1216, - "y": 664 + "x": -168, + "y": -416 }, "size": { "width": 96, @@ -6505,11 +5882,11 @@ } }, { - "id": "bcc2e005-127b-4ef9-9b22-b07725cda3e2", - "type": "f1dc888a11b743f08087b6e65015fe269bed1f6f", + "id": "57e59301-2919-4f06-ba95-54ce5d99d774", + "type": "c4f23ad05c2010ec9bd213c8814c9238873037ae", "position": { - "x": 352, - "y": 680 + "x": -152, + "y": -664 }, "size": { "width": 96, @@ -6517,1941 +5894,2084 @@ } }, { - "id": "1b598360-9767-43a3-ae76-33599d7814a1", - "type": "a0b8df28f3452068e469a9c210e4e62ae8c78900", + "id": "11342001-e6e0-443b-af87-0e5d7ada0227", + "type": "84f0a15761ee8b753f67079819a7614923939472", "position": { - "x": 1024, - "y": 568 + "x": 896, + "y": -400 }, "size": { "width": 96, - "height": 64 + "height": 128 } }, { - "id": "e96fe029-12e1-4f3a-b939-fa6209fe6269", - "type": "1c7dae7144d376f2ee4896fcc502a29110e2db37", + "id": "72c87c65-b34b-480f-8cde-cd97c0914014", + "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", "position": { - "x": 768, - "y": 912 + "x": 744, + "y": -688 }, "size": { "width": 96, - "height": 64 + "height": 96 } }, { - "id": "1bf31738-b963-4b88-b792-23f90903e2b0", - "type": "1c7dae7144d376f2ee4896fcc502a29110e2db37", + "id": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", + "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", "position": { - "x": 768, - "y": 1056 + "x": 320, + "y": -248 }, "size": { "width": 96, - "height": 64 + "height": 96 } } ], "wires": [ { "source": { - "block": "6080df5a-c853-47cf-aaa7-c5a8f1e65879", - "port": "out" + "block": "038a8cb8-35b8-424a-9d14-c320cfcddccf", + "port": "outlabel" }, "target": { - "block": "9edd47b2-4907-40d5-b10f-6aab4a9e797a", - "port": "inlabel" - }, - "vertices": [] + "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + } }, { "source": { - "block": "270594ca-dba5-499a-8030-08e69613c220", - "port": "outlabel" + "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "port": "f5a71d7b-de20-4527-80c8-0eb20de0dc77" }, "target": { - "block": "776c027a-a389-4046-82ee-fa3d006ba0b1", - "port": "0b91cb0d-4144-4939-8755-e331104016db" + "block": "527c9113-e440-454b-b427-182b646c10f5", + "port": "inlabel" + } + }, + { + "source": { + "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "port": "0f7487e5-b070-4277-bba6-acf69934afca" }, - "vertices": [ - { - "x": 544, - "y": 616 - } - ] + "target": { + "block": "b652825e-10ba-47cc-9832-e39d73586234", + "port": "inlabel" + } }, { "source": { - "block": "043752cd-506b-478d-affc-bdad68d7d0a9", + "block": "7e5351cc-ea73-4bb2-9dda-0390f005b90b", "port": "outlabel" }, "target": { - "block": "e96fe029-12e1-4f3a-b939-fa6209fe6269", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + "block": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", + "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" } }, { "source": { - "block": "a04d00a7-87f1-485e-b24e-13078b946ef8", + "block": "f8dceaf6-6020-49e5-b775-ed4821fbd5bd", "port": "outlabel" }, "target": { - "block": "1bf31738-b963-4b88-b792-23f90903e2b0", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + "block": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" } }, { "source": { - "block": "b07ab569-1013-48d4-916e-4e447f8ea11b", - "port": "memory-out" + "block": "57e59301-2919-4f06-ba95-54ce5d99d774", + "port": "0f7487e5-b070-4277-bba6-acf69934afca" }, "target": { - "block": "776c027a-a389-4046-82ee-fa3d006ba0b1", - "port": "d80bfd80-1f6d-46af-b5de-5cd121ebe630" - }, - "vertices": [] + "block": "d7d5e8c8-78dd-41a8-aedf-1051b89bfb77", + "port": "inlabel" + } }, { "source": { - "block": "776c027a-a389-4046-82ee-fa3d006ba0b1", - "port": "2f18358c-ebaa-4fbf-99b4-610ab78deed2" + "block": "c5dce3e4-5ecc-4fc9-bbf6-7c1adfa1c7ff", + "port": "outlabel" }, "target": { - "block": "70e71886-1594-499c-a6f5-a865165730a0", - "port": "25996d5e-6856-4828-8cb3-5dea5ff5cf9c" - }, - "vertices": [], - "size": 8 + "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + } }, { "source": { - "block": "bcc2e005-127b-4ef9-9b22-b07725cda3e2", - "port": "74b8320c-7097-4f7b-9c14-fdd8d9a379ca" + "block": "57e59301-2919-4f06-ba95-54ce5d99d774", + "port": "f5a71d7b-de20-4527-80c8-0eb20de0dc77" }, "target": { - "block": "776c027a-a389-4046-82ee-fa3d006ba0b1", - "port": "9598f3a5-bf63-4e35-ac2e-329d93da7d81" - }, - "vertices": [], - "size": 4 + "block": "a30f87da-7077-4ad6-92dd-adbfdd1bed45", + "port": "inlabel" + } }, { "source": { - "block": "bcc2e005-127b-4ef9-9b22-b07725cda3e2", - "port": "afe50480-6fe5-4ca6-b639-c730569a6a1d" + "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "port": "33072210-9ba0-4659-8339-95952b939e6e" }, "target": { - "block": "776c027a-a389-4046-82ee-fa3d006ba0b1", - "port": "9931384a-74ee-4de4-9df7-cc04fd19cf46" - }, - "vertices": [], - "size": 8 + "block": "fb8bbeb1-5c60-4629-bc13-231545818d0b", + "port": "inlabel" + } }, { "source": { - "block": "bcc2e005-127b-4ef9-9b22-b07725cda3e2", - "port": "c79430a3-a90f-40e9-af05-e6da44b5ac8d" + "block": "57e59301-2919-4f06-ba95-54ce5d99d774", + "port": "33072210-9ba0-4659-8339-95952b939e6e" }, "target": { - "block": "776c027a-a389-4046-82ee-fa3d006ba0b1", - "port": "c61902b3-38ce-45bf-98c9-322638c2264b" + "block": "73a0a48e-d345-4eda-8603-782e9865d928", + "port": "inlabel" + } + }, + { + "source": { + "block": "3c8597e6-ca79-494a-9a53-04c284205216", + "port": "outlabel" }, - "vertices": [] + "target": { + "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + } }, { "source": { - "block": "1b598360-9767-43a3-ae76-33599d7814a1", - "port": "53acced8-0736-40f7-8db1-7103a21f31c2" + "block": "ed7a30bc-17fc-444e-89e5-aa9f83b32e86", + "port": "outlabel" }, "target": { - "block": "70e71886-1594-499c-a6f5-a865165730a0", - "port": "5c70a159-1900-4d97-9e7d-961876e03bbe" + "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + } + }, + { + "source": { + "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "port": "bbe1895b-be8b-4237-b0d1-ae592e3e6208" }, - "vertices": [], - "size": 4 + "target": { + "block": "ee992ca6-d586-4901-aaa3-a17d94ddac84", + "port": "inlabel" + } }, { "source": { - "block": "e96fe029-12e1-4f3a-b939-fa6209fe6269", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + "block": "57e59301-2919-4f06-ba95-54ce5d99d774", + "port": "bbe1895b-be8b-4237-b0d1-ae592e3e6208" }, "target": { - "block": "70e71886-1594-499c-a6f5-a865165730a0", - "port": "dbe1622c-3510-4132-8b5c-2fbf81d7f581" + "block": "1c9b3962-5793-4e6f-98d4-9ca2113d0823", + "port": "inlabel" }, "vertices": [ { - "x": 1128, - "y": 888 + "x": -24, + "y": -696 } ] }, { "source": { - "block": "bcc2e005-127b-4ef9-9b22-b07725cda3e2", - "port": "c79430a3-a90f-40e9-af05-e6da44b5ac8d" + "block": "05fb13c5-879a-422f-84a8-56d1db8816da", + "port": "outlabel" }, "target": { - "block": "e96fe029-12e1-4f3a-b939-fa6209fe6269", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + "block": "72c87c65-b34b-480f-8cde-cd97c0914014", + "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + } + }, + { + "source": { + "block": "161a3e27-de9b-4674-b990-c1e8314a29f3", + "port": "outlabel" + }, + "target": { + "block": "72c87c65-b34b-480f-8cde-cd97c0914014", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + } + }, + { + "source": { + "block": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + }, + "target": { + "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "port": "5e915366-608a-431a-bf68-8c64fb4c302c" + } + }, + { + "source": { + "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "port": "c7d2d573-b901-420e-a923-6832e5b18e34" + }, + "target": { + "block": "11342001-e6e0-443b-af87-0e5d7ada0227", + "port": "969e11ca-69e8-403b-a566-7bf2fbe3a5a8" + } + }, + { + "source": { + "block": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", + "port": "c7d2d573-b901-420e-a923-6832e5b18e34" + }, + "target": { + "block": "11342001-e6e0-443b-af87-0e5d7ada0227", + "port": "e4111201-8441-4e7d-bcd2-bcf9d265d043" + } + }, + { + "source": { + "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + }, + "target": { + "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "port": "5e915366-608a-431a-bf68-8c64fb4c302c" + } + }, + { + "source": { + "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "port": "c7d2d573-b901-420e-a923-6832e5b18e34" + }, + "target": { + "block": "11342001-e6e0-443b-af87-0e5d7ada0227", + "port": "346b4ae4-4bb6-4845-9c17-3b25e0dde718" }, "vertices": [ { - "x": 560, - "y": 920 + "x": 824, + "y": -424 } ] }, { "source": { - "block": "1bf31738-b963-4b88-b792-23f90903e2b0", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + "block": "d192d0af-e7be-4be6-925a-50227d80784c", + "port": "out" }, "target": { - "block": "70e71886-1594-499c-a6f5-a865165730a0", - "port": "49fb1766-1e7f-4706-9872-a6cd65cc9f2d" + "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "port": "0ebd46a4-769b-45e6-bcaf-e3796264aed3" }, - "vertices": [] + "size": 4 }, { "source": { - "block": "bcc2e005-127b-4ef9-9b22-b07725cda3e2", - "port": "9751f777-00ec-46c1-8d85-07d2dec1e653" + "block": "c2d36218-be99-4dd1-bf69-7690c667255b", + "port": "out" }, "target": { - "block": "1bf31738-b963-4b88-b792-23f90903e2b0", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + "block": "57e59301-2919-4f06-ba95-54ce5d99d774", + "port": "0ebd46a4-769b-45e6-bcaf-e3796264aed3" + }, + "size": 4 + }, + { + "source": { + "block": "11342001-e6e0-443b-af87-0e5d7ada0227", + "port": "55180947-6349-4a04-a151-ad69ea2b155e" + }, + "target": { + "block": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42", + "port": "in" + }, + "size": 4 + }, + { + "source": { + "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + }, + "target": { + "block": "72c87c65-b34b-480f-8cde-cd97c0914014", + "port": "5e915366-608a-431a-bf68-8c64fb4c302c" }, "vertices": [ { - "x": 504, - "y": 992 + "x": 728, + "y": -552 } ] }, { "source": { - "block": "8fd18a6c-a1d7-494a-916f-fe51094f3872", - "port": "out" + "block": "72c87c65-b34b-480f-8cde-cd97c0914014", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "bcc2e005-127b-4ef9-9b22-b07725cda3e2", - "port": "3178c182-b1bd-4e92-bc67-6e0868b62279" - }, - "size": 14 + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" + } }, { "source": { - "block": "70e71886-1594-499c-a6f5-a865165730a0", - "port": "d3e51db6-385f-454c-ab74-d71058b21962" + "block": "72c87c65-b34b-480f-8cde-cd97c0914014", + "port": "c7d2d573-b901-420e-a923-6832e5b18e34" }, "target": { - "block": "29234969-c318-4201-b86b-7bbc0f38d2c2", - "port": "in" + "block": "11342001-e6e0-443b-af87-0e5d7ada0227", + "port": "6c2aa548-5a4c-4e8d-a56c-a70926b19f18" + } + }, + { + "source": { + "block": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86", + "port": "out" }, - "size": 14 + "target": { + "block": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", + "port": "5e915366-608a-431a-bf68-8c64fb4c302c" + } } ] } } }, - "d49d834a24f78bb30b74683564d2f13a5cada9fa": { + "c3c498191b14e9288a85fa2871b3966665f75475": { "package": { - "name": "Memory-16B", - "version": "1.0", - "description": "16 Bytes Synchronous memory", + "name": "AdderC-8bits", + "version": "0.1", + "description": "AdderC-8bits: Adder of two operands of 8 bits and Carry in", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20viewBox=%220%200%2087.168922%20106.43202%22%20height=%22402.263%22%20width=%22329.457%22%3E%3Cg%20transform=%22translate(-159.832%20-119.548)%22%3E%3Cimage%20xlink:href=%22data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAgM0lEQVR4Xu1dCZBU1bm+PdPTM8CM%20AgMO+yCrAq4oGjWKIIorcYnRlD59saImGlOaqK/UPPeHu5VyjyYuMRu+uFVEjRqX4FNRQURwQVxQ%20YdiGZQYGepZ+33frfK9Oneq+t+/0zHTad/+qU7fv7bt0n/8///L9/znX+1ZTTDHFFFNMMcUUU0wx%20xRRTTDHFFFNMMcUUU0wxxZToofuX8XPo82LqcLaZUhUAMbucraKi4viysrI9jCBkp5gybKBH0un0%20cuy3URC6WwiSXvcRmV9ZVVV1azKZPBvN69+/vzd06FBv2LBh1mkxff31197ixYvJfa+1tfUnHR0d%20x7W1tc3HV2kJQakJQBmZjzYUo99n/qRJk7xTTz3V69WrV5bTY/rmm2+8u+++29u6desO2L0cAnCq%20YXy61AQgYe5bBebvB9XvJRIJ79hjj/VSqZTX3t6e5ZKYBg0a5B133HHenDlzPPRZLQ5VG+a3lpwJ%20kPoH83uT+Ww77rhjCPNjYh+Z/hqK3T5oW9C2obWXlAaQAMCm9SovL/cGDx7sQaWFXBbTTjvt5AsA%20+qwOu7SVSTnOpSgASdBkSjTtPhybkMtioomkyWTjLvmjSK0UncAkJLmMAgDKUwBiqqur81atWkUt%200Bcmc2XJaQCBPtqCvMrKyjztf0wIm9lp1AbjW1paPrIwlUzJaAAJAKgajbYtTwGIaeDAgd6KFSv8%20zmMfloIJcCFf3rOCDT7AKAgAAY78nMCYqC3lB/Q1/Zgy4WB7AERcVAFIiPE333zz6JEjR565ffv2%20Xlu2bKm58847d2psbKQAhGiAmOQr1dTU+J8PPPDAE37wgx8MhgO9BeZg++bNm18588wzXzYQcXtX%20CUGii5ifuuyyy8YD7Fk4YMAAOTHelVde6X300UfejBkzPAhGwG1i5ksA2HdPPfWUd/LJJ7NRczKM%209iOp55577oyzzjrrvwkOGUHIFFsDJIya6nPQQQfdSweGKoyNAgBNIIcmRxQQM15ELcl9oKdU/4yh%202W/sR/anvz98+PD/wqnPozUZc9BeFA3gMv/GG288CgLwaL9+/by+fft6q1ev9gXgqKOO8v/MEUcc%204UOdJUxiUgSmRhv59va3v/2tnztBv9J0+k40Bxe16fLly2effvrpt1EIlCfobg2Q0FYq34J7q6ZN%20mzZ8v/32u5nSKonllhKrPACOyQcofQEonPlZma7GZ6jPFD5v27bN69Onj78/evTon/34xz9+/v77%20719s+NFup5OjOoqJKA7ezjvvPAuM7QuGJkBlyFtXgNkzMbrHUXUx3Utmf/XVVz7zTzrpJL9TTjnl%20FK+EieYrAuO1H8r8nBrgb3/7m1dbW+vNnj3bfzY165AhQ7zPPvvM9wlWrly5DFnD5yAUaQhMB4Qk%20g/My0LxPn3POOQuiOIqJPCDd1IMPPnjiiBEjHiFzObK15Y9Zs2aNn+Ovrq5mKtP74IMPlPjxfvGL%20X3ggCkKpC0AhjNdxfbZb1u9ffPFFb8OGDd4dd9zB+gBv/fr13pgxYzw62OzzTz75hKaWfc5+5jFt%20aX5/hrT7gzQPchQ7awLKZOPB4Nly7CQAbBzlUv38/P7773vQEs0vv/zyckhpNTpkNK6X+i911a/P%20UUe8y2jdI6tgiMj4t956axGFb88996wD0wfRDJDp7G/wQ+l18kJbaoo7jjzyyL8/++yzX8tR7JQG%20EPPRasHQT/FwPkBCwCaJ8zXAhx9+6Esp4lVJqXfDDTf42uDggw/uSVsscjtd+1Gu1/lsETRAkLoP%201whLlizx2+9//3uNbm/8+PHe22+/7e2yyy5ECmluXQ3A5kdeTz/99OlwIOfiVs0mZMwUpAEA6pDx%20fKgEQM6ez4w33niDQuDbLVJzczO/U1hDFdqVjC/cMYt+vYRAx8JUvCtA+Qinew/aeoZ+ZDAjAZ/p%20L730EiMEAkbsY35HXnDLfqdJZn/3poOO1kIB6KwJSAjWBZOXbtq0acK6det4c7v5Dx83bhwZQcEg%20w33mAwFkR7goYE8LghgSpgGiMknfBal7Nff5bIHnsx+5hZPN/vQZrKTaPvvsw/IxagGZYTX1/Qo4%207B8Y/y1RSBiokKIDCN9//upXvzoRUjgMzKxgBMBIgIQQpQwJjElQRymZBgoAnRj9GVzTE/Y5aDQV%20cr39XRRV79p6CQKZlfV7HaPZlPYk0zm6JQDIEHKkL2tqatrcAWIEwMvwfevatWu/efTRR1+wI4BC%20BYA32o625dprr32R/gBab3NdObzSGoAWp+AHp+QfSOVLimWnihSjizGFXu9+7zLVfYaOaWt/lkl0%20Ge+eRy0qbIX7cvoIq484/vjjH4BGbrJCvq1oG9BWo20zqj/U9iZC1H81mY5q1csQ6x+KeHSkHQbS%204VMRA4/RLr3zzjsefYbXXnuNjTbMb98KClf37ne5jkkLZDUX7Nd//vOf3ne/+13vkEMO8Xr37s1I%20gJqAZsHXrtAATB3bTiCPrYXf8NpvfvObG8GHz4UWFuIElkGl/BwO3r+7IaCwfkqlnEH+6LFjx3Kf%20zJc0f9vyAO7IzmfUZ8MW3OO6BweStGd6t912S5Hpb775pjd58mSli8lw5Q3kBBIbGIhrT0QSbgTM%209jGqJ+iMACivX4VM1BnCAOwmW88fy+8XLFjAH9R49NFHPwNPNA3I8mgcHwTp/bYIQC47HmYqcp7j%20OpiuxnjssceW3X777f/D/YcffvhwhIH1+++/vwYd+10aQELBRuRw3/PPP38s0vGLFQayRRWASrQ+%20YF6N7BCbGwYyTUnmm+rf/n/+859P5+df//rX3scff+ypIORbQLkAnSAH0T2WCxDKeg5yLBP/9Kc/%20TbSdwHnz5tEcKMyWj2BjATQhHIzjcJtPjA/XHlUDCAPoDa9T6kXhhv9gMXbhwoW0RYxTqf4JBUtA%205PCUPBLo2m2X+focgQLxAWL+ep4YTJyFnxsaGuhnMSlE6F0mVlv6ATzOaKHNDOLyzkQBSgKVY87a%20vXBEzqVU8eZ8iJhKdJB2CRgBpZPHZaPowRbTB3DVaqHXh4V67oiOKgTaJ+MY40sA5PlL8xJsI/PT%20mE+YIlDEczTYYG7pN9BJnHfvvfd+lk9NYTIkBGy9/PLLn5syZcoqPHRnaIIqU6yYAGMpWeWoA9h1%203333HQfG0ymk6uEPlQAwj01hKVUBEEPz9eZzYQt5h6LLli0jw3k+4XRXALjPnMt6wL3zySOc126u%207QBrtmOQrnnmmWfeVh1hZ5NBHWS+iS03zp8//2O0tSY3UG5a6phjjhkPp2Sc4n/lsCWRaMUe/WJM%20IdcGaQD+vyBgxx7pYc/loGHmz36WgCBbAJgXGAwsoOamm26aJ0ab1kJ+oTWibdF3hQhAC8KQjtNO%20O+0QPPBgSFh5whCksgwmYJjtINIUfPnll2SARkexBUCd35UCQIa710SCjd3vlTHl6Hc1Co9xS5yf%20dl8a4fDDD5+2xx57jAAPVA/gI7eoKVz4/PPPz4EWkAB0RBWAhGl8SM0FF1xwPx4yXo6dtgR7Nm7c%20qOofZgVZrsSctf8ZxOOlYv+DGGcLM7dhYV02LRAaKXz66adZsQH6A6NGjfK++OILf4ChLoMCwHQx%20ne8x6G95/0oaTdh1112PQ6Rw8vXXX/9GZ6FgqviKH/7wh6cB5h2fDQPgD6Dal+3HH6D6WoLpzSuQ%20H6hFR00pCQEITwa5zHcdvygYQFYBBYbPweQy33/ek08+OR9+1DqM9tqJEyfuB6bT0dM6C9II8hNk%20LmrgnJ+Nr98xvGyPggMIBOoNaZqZCwOgACgWfe+99wgHUyv0wxz3fvBOK1naDCqeAES3wdkydmJ6%20ULVPlJSve4whm7z+rNfuvffew1BnMYz9iMGYBhiUAj7AwWfnB1xAiP1eTx4aHKA1qgmoQOuFZMM2%20Le0iVS8hkF2aO3euX6Sw++678/gQNP04tmJhAO4oDTtH4Wouu5+rHiDoWNjz+Tyqdqn+XGsGDGEx%20CJnKfqYJIBhUX19PbMBGAwXPU5swZE8aAWg2g7o9igDwghTU+st4yIEo8qR614PUuNYPcQB2gh0B%20KEnEzz2NAopRQUwPvc62+7YwhJHLePd+7rmI5VnxG6hdpGnJZEHAsPF+4ccLL7ygzKsGp2oFeXyp%20GchlnU0Hd1xzzTXzZs2add306dMPwg1T6AS/yIC1AHhgAn+gDAKyN+yRoGEJQE+HgTbTIwhA4LlK%20bbueea578ry8439oVwI2YfWECv2k1qVdOcqX4bNqAjIQlAySRh1pELTywoceeuhFjfqoAkCOtZmc%208mbY8vfQvsF+jSTKXFcJ3P80FSdasCVbT6OAfE6AAETzB8TMELJHdyR4mBEUwrW8tAqFRFgAeKuq%20HxZ/1iE8nwsHkuq2VcCdUfmN5J3hYVvUbGDGXNTCm8ABqcVExYGQsio0nl9ObYBc9QGIS4fpB0kA%20ILHqCDGm2GrfPTdSvt9toKAQMBQSpsqX05cHUdXbA0ueP0PAHe67776TkSz6K/q8FfdrY8PnXsBi%20Nr/yyiubyMNOFYWqnBiFIMfAAbnBjQA0H4CMFvYPtUMcm99zCpPjHUemqPa7K+bm2aPfbi4zXSaH%20ZvtssAfMsZy+cGKU8Prrr8u790w6WFp28HnnnXc+czJ2JMDt2Wef/QjC+EsiQcH2TKCf/vSnoydM%20mEDm55wPIPWPknCqpmY4i58atTUGm2qZgH/xtK6Y7gI/dtMxCbUNCGk/0PaT6eifKMzX/IA0/IWl%20uI4O9xhA8tUHHHAAGc0+Z3OxAG4ZIfzb7373u0U/+tGPHrDKwzKhGkBz/hBrni6VLqbbn/VgxPy0%20aXT81iFV2c7vlL9mKxIFedZBJVuuANgYiC0IWa9xBcl2hOnxa7Z0BGJ+IAVktZ1C9eqrr34BQGgS%20J+DstddedmGIRr6azAUHYq+gxFAyFwYAhlbxB8vDd6Fgph5ZnkxnBhlBerUjEaeOxHcMGYVs9SST%20XTXunhNUjp1LACT4OuYyOFeuwN5nH3WK+boe4NpkMpU8QG6GU8c4SYSwO7Ot2YpCOCiJMFYRC5Av%20EMUEpABQLCHowHBF8/5tIu6PQlECEtQGFBTNExDzu0MAwpgpFet+F8z4cAFwr8l79EMrkhkF9YVU%20vJjNmgCG2iy+Yf/zmO1n0G8gwTfYbkVuiUg4wK233roIocYcqJyD8cBBkmp1Do41IzlBhldbtqi7%20BUCMCMvURREAXeMCP3axRdSmkS9MpCBBp++AbKwPCilFvMMOO6QBCDUCgh+kCEihMPiyEY7466gL%20fKJTOIBSwZjd+zi2LErsh1apKiFeN3PmzJFXXXXVLI4ONcs77Q4BiFKCnU0AwkZ8wPGiMF8CYDt6%203FcVdurxxx9fftttt82x5gZ0GOx/o5kfsDXIASQlA0CgJrQNmIo0GGqmL6SrEq2cNQE1oDPOOMNO%20FPFHUvq6QwDEvDDmh2mIfBnsRgNhQuPmDKj2HeYXLADC/O0ld7iG0IHAFRrhiK8jBsCqIPAijRxN%20K2oCGslDGwyKBAQh3kxdcskls4Et7207f3LyiEopSmBCg3XrBDlce1kA5a3m3a0oDxtv2+9sQpS3%20AMj/IMgjh68ryHj/nC1MH4BRAZNzFAiqetZsHMucjJw/YQFQ/w1wFn+C6myiuB1RcAC2sl/+8pdX%20wM67zBfmLxDIF4SlS5d6tEfwTL8CQOSvC1CQAIQzsKsFINu9o5gHxfnsj67WfGT6avCigWX3eMZw%20ONx08MgHNTcEZBsEMz0bAjA1ihOoKWG9MPIPs3EAu5FUC0AQCCaCKGB/ABX9oY5YKl6IBsjmXefj%202UcVAG2D7mufn2ufI94N9bpSANi/dejbOo5sMp9l44DoyQOZBxcHUCZ2l1tuuWVfDOZ5uXyBZI4J%20IdX4MzVcm8bWAPqsCSFaFwDlR5ocomyVmNYVDl4+4E22e0URAp0fKgDudWQ6R77sc3cQw0j5W0Bn%20WSPgm1xUCPG4iwOo0VQTla0jT+ULBGoAe0oY2lrUAwxEuKFRL/LVHNEoAD+Cg9kEQ0b3AcLj8rDz%20omiTIEdOlJXZrhDQBrP+UdhDdxHnY7hRAMwBcQD6AxRCt8BUi3RsRV3gEmEBkSaGYC7aLUgo/BwP%20GOJIvyYhNIL5/dHo/EkACBw5AhCZ8Z3VBtrm60i69wtkvnsNRxdr+XR+dxL7VQIgGB7amRnBZvgC%201RRABwsgGLQBcwcell8XFQdIo7hzKdq12B9gagHKhQPAIemDdQG+B+9TDiG3MhH5hoFBuHoU2DYb%20sztjXkKZr+JQ+DkclT2V6+AAk523cQGO8hRqAh7FHMxG4QDWWgHr0b4JWysgmQsEQtuMdOIQePf7%20EHTgqiBs6IAylCmPB0pYazkg/DFkJrdibHeM+nyAHzdTx2ORwkqX6fpMJI7MVxlXTxEdTJob8IH4%20ggSAWjh1xRVXHIEw/CPwhrzrIBaAz61AY1fAAfyQwhBFADISgj/+8Y8XA+s/xnUCyWyqPjJY8wEB%20OvDHsMlOhavjcMZHdwjdz+Fz/NTC7D4FW/aex3o6s0lnjn3PWgtlArlPSHggVmEbyLDQxQJQyLMP%20VhI5KbQs3MUALr300t3g3dvMd2sB1DhT1fcHnnjiiQWQ0jTO3x+d3j+LKg5KowYlVKLCv0EZw7yF%20T0zWdGsCMPq+GHTPPffM5fb73//+RDjg9ZivybUZqA1yYgHEcTBJ9ORzzz33/rxwAM35w41HK8HD%20G7lND+V8AGqBzz//fC1CkmGQ0ibkvSukItGij/rw40HMLhROVpO3rVCqaIyXFoPJHQbTm0IWdhPg%20efa9qoPCagJ2dsJABwfI8ro3jOKBzOgx3Wvj/ZrpQ3XDV50yHJw6dSqxgPEqB4MmYDawMyO5s0IQ%20ZRHH0BBTWkjhF4RZPkVRi1sOPfTQ3ckPMpYTQ7B4J00vcQGtHqowXIJAU81ooNKE9Vt4q7xwAEw8%20+AATPbZiejKLCeT9qnFU0A7xIaoF4GeZi6Awy7afUZgdBtkGCUC+foTqGch0OnwUcLu6qWhCoNBP%20CSEyW/X/1AQ0BfJXxCsKAWdrQSNHwgEybFiteiUeeAMqUWaiKGQ4vX9QQkzla0wgWYPhgFQ7qWA6%20ShKAqCM/2A8IX6SB2yjMd59HQIUjho0CYINaxV6rmGigFoWy1wxMAxD6ElP4iAVk0Dxu2TBI1/7l%20L395CeH6gnzTwYoA0lQXUOXvo63Bfl+0XlYtQAXeZTPhoosuGuv4BBQE4eE87uL4kRkOCmJa2HSv%20sHtJtUtdkukBL7cqriBQAKQBlIvh4pwo/96ACTxPaW6AtbbjJlMTsIX7eU0N08WaXIClxsbAw+/P%20eQAqBMGDdwBCON2pVVdIqCoabiM4gpF9gfxW6Q5v9O7p5LnVy0UUgvAZQiA5fXwryxRogvVIEK1A%20n/tCQBygEoTFpj90agI68jEB7Xg7Vd0JJ5zwACRsnJsIUtZLAoC4lKEgc9U2ChhVAKIJSDj8m7NA%20k8KpEYXUNUd9rmtzrv1XDGLCiQkg+l8sxhUKC4eb8f6ReCmHu3I4X9e/CotLn4Pyvoa8cAA5gXjB%20wy1wLGzm20KglarZiQwBGW9+CWdjPYSuBh01Vh1fIMAThtVHAZzYbHVPD1/OlZzbbHP8bOZrvxg+%20AAdeM3iyDJFANXCJscy5wPYrJUy+SPvas4UH431N90AAJltQfntWAVA1MFofPGhKrsUh7algzPtD%20/SzCJJJXqV4wVWzEd77znbH6IQWp//Da/chr95PJqmZyp3y7QuvOFnaFoYeJzvVmgEHzuHPxxRd/%20hWLdaQr/0Oz1hBQNCJUdCrh4+nXXXTfXrgkIEoBqwp4QgqwLQ1DV8yFcCpZFCQgVazET9Xv4LgMk%20sBfeciFp7MwI7xTcq3131GqSijx6mC4KrJa2t+cuqtPsY0FzAXtaG/BNLLVYtncWGcx8DON/ml7k%20ajgoyRdXA3BL/4ZRjd4fIF8gpwbgfhVuuBWLE/XOUgsgTJzM5yLQFJRhPMbzaFMxdYmd1LWjPvwe%209jO1r3WMKAAaHa59dxNHbsyv79mKxXz5LJXo8xGaH4CXRpCxHIAE5qjVstUE8Dues0FYQHhJGAiv%20JLsGb5+6QLUAjj0ns1dASEY48wFUGCFJ7DTkCyoogqB9h40UiKM5dq6nL0Zrm+14zn21HiIKr6IA%20qXyVizUiUqsGNpOyBJW8oNBsxNT+R4DrNJAVYUigpoVvxyLFS9CuNrUAVB/l9lvEEF6cxMWKskwI%204YMVBvYYw2Xfqe7gILkjPWCaeiiSmAvBLEZGUAJAYVY2ln1eceKJJz4EgW9WqGdai3l/wEpNDQsL%20AwUC8UbrjLrYrhdEmJaCw3cApowPcWsEhQgqZrXCr+4UADKbsTyl3bHdoat/BWkDl8HFYr77P2TK%20JBCMBGrw3uY9Acw9SX4JEDL2fqPh5WZ+l48AqBhkE5aInQoseRJHvVkaphw2pwKJiMOUJVRySEUg%202kYEgqKkaW01z0anrpA3g7jqPSgMLHpGEIUfeo2sPUOIOMAUvGOwCcc2kfk4Rl62oXhlKV44vQrR%202tZcq4Ym3VoAFBFOwtJkD+MhQ7NNCGGihD+C+4sWLeL6gEIBJZlkfr44QKTsIB0dRBruaC90RnGg%20utfxYhMZzsUl+P/Zz8Bd6IgLDOLqYdOdCSKcScwsYhOqt/kSiTeDfICEVDyygJfCcxwaMCGEW0UD%20tEdLYHe5SHEaAjIOD+4vAegEw9193p/PItMpYFGY4nr8BQhKUUlCSTRwSRrEUjD0yVhMQUuB6WET%20RGqwoATfJLqXfARbEyQdDKAGN58hECjXhBCqXYJACBNXQgtsxLYCmmADEMGMfACdHzG8U0WrMnMc%206RGYEk0Q1LElQBR+mgCfeeiTFryq7wvwYRyqg0MniOD8oVjuZwb8t7mWEGSyCUA1VTwQJt4w66IQ%20HJGcq8b1a/EjhoDpcgg9ZKb4lhBemy+Eq9WveF8y3Y1nu2OmTcm+sOKwww7bDXMx9FoYfwvgjXwg%20b7IWhbA/oZ2prbOCQUn3RdFgwlLYmgmK69mEoWs04v0A3OcKFQR/bCGRD+AyWfdQEzKXJ4Nicl8p%20z4IQ8gUmm1PFaCa5tXkgJJSTR7ZeffXVVmFIwLwAzCO7Ce+dPQ8MrYOzVwd/oNJ6nVkzsn9fwhEZ%20i5GfctYG5CjW4sddPBpjIrOhne03hckx5kBahtC8Foxm6l4oaBpRwGpo8yYsJ/eHrNlAeYWy/2gD%200UagDTUgUDVa0i4GeeCBB46DdzkKgkEUitlAaQBWrvpATPdQTIR/8WZwaV/2O/uf6eF1KP8mk1sd%20R2+rWTRyFdoKtAZTKLLd9QGEAWwx6FGKNzD7FXqHMN4dsD8mgo5SRCA0Suaie2PlmNx3CIkPCAEH%204GWRU1GoM8fE+20WPzeaWULN2bCApAMDp7GwwPAZM2bcgCTPWNl1MZhhHx+ulcOYjWI8KjBItr9b%20KCZqVy0aSbvOWdkSCNZk7AHnfA/wxl0trAER241ICT+WbdXQpA0Cgfn1WBz6Idy0xsUAGPrZkxBY%20lWJKx9fj+zRCtjRq1uu7LayKifaeo70BvgDRwEHvvvsuy8KVKFKBi1sUMghI4e14o/hK1BE854JB%20SXtCCEq9Z0GCxHy76SFML1IYOPI5B+CvSBrxHbUMC4fADtV3mwaIic4e52FQzXdMmzat7qyzzjqB%20L+dAWl6D0y0KkbngKmOn4rqX3UUjpQG47Q3vfqAyfE4xCG/Km2ttAHr688D8BSauTAAMqu3+apnY%20BzD2PP2Pf/xjPUZ/BXhzEvqcA5P8yYYFaI5DPau93DeIJO0ZQWB8K1U7gSAw1Mb0tWwpsX+uUPH+%20hRde+FccWmuSR0mopCHd7gTGoSD7vgkDlf1ehncDbwQAVAGmz6IPBpCIfoKwG9UEsDaCQrDOAEGK%206tpdJLDsrrvuehFTig+DJI2DTbcfrPlpvNF8FI3+wYQWqylRpoqoOR8BoGBRw5QKEWHj6CoW0c8C%205q+aBgI/O+It7Yu5y+7EuwOfx7wALtc7E4JRma14FZNHGgEFP2PVdbjzAX3VUIs2DK0eteaTEQUM%20ANMrcCNSBkxrA8zbgJKv5WS8EYC1+iGwSUdhIaPrKTgAkFjD5nde4RQT7DwhdvYnczD/geXfXrBq%20NerIY/gBQ+EfjOY7HdDKMiBo7zYIxfpnn312EXEANsOzZpkBlYJXkYloO/FmFAaznzLnCCdoNjjB%20GqvQIMnzsXDkz1EldDY9VAIWXUYxUetSAKiJuBjXJXhXEEfzZjN4+5Fvhmc11oqunmZ5WWDQGsO/%20FtsEZAxztaxIh7l5L7QKCYD1FpEmtE1mmzZSSEexRmAQVFYXqfnY5tPp1mLT3Gf9n+GHnLm0ccQ3%20GE2ekgC4PNPIz1YWrhuSWs3Jmg5mv0w6bc5rMZ8T5ruyBMiablWSoJAcp39F0iv4UKU1RoW/Wv/H%208KTJ4lmZg/BuYzPntbkCkNGJVl1guWkCiXROu91sIIkkpluOYylm3f7Vw0CZbQlBq2ktFvMTzsBV%2068g1MSRjtTb3HcLOOSJ9Tqj1CMNjSjhMFmNbrWOJAJ6FTg4VReFmGbJTEzXlqlsoJsK/rL9QfO4M%20Tm2jUbKrzCcApLcBB09k0WKXU0wq+2pBle/fHVVeEBU6XCtMuDgIbRRWF7sNocoYYgHFJL3mpRTJ%20rr9Mg+BQryOz8X+ake2bAxzgVSeeby+mAPCXVpvikeFo9cAA9kKoMoCARKKI9iAD4hZzHBsAj27j%20oVIKSOR4O5M8GtC+MtsN5nhHMQVAINKOBowYpKVlLRCpmNShpo4tMQFot1/jawCdtYb5muxRkGAn%20u0BSVXmyntLqgkhsRR5BGkWZEtQCAuAU5rGfm93K3mJqAGmBCjPiq0wTIJEoYudJA2S0LWEz0GZa%202rS2YjuB7j0UmyazgEjF70B7v7Qo42oz+1iRNED4vYrOfDHc3f4/o5hiiimmmGKKKaaYYooppphi%20iimmmGKKKaaYYooppv8FlJhXILrvZ3wAAAAASUVORK5CYII=%22%20preserveAspectRatio=%22none%22%20height=%22102.996%22%20width=%2287.169%22%20x=%22159.832%22%20y=%22119.548%22/%3E%3Cg%20transform=%22matrix(.7703%200%200%20.7703%2096.231%20157.67)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Ctext%20transform=%22scale(.98866%201.01147)%22%20y=%22173.585%22%20x=%22204.861%22%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20font-weight=%22400%22%20font-size=%2214.44%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#0ff%22%20stroke-width=%22.278%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20y=%22173.585%22%20x=%22204.861%22%20font-weight=%22500%22%3ESync%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20x=%22205.095%22%20y=%22147.504%22%20transform=%22scale(.98866%201.01147)%22%20font-weight=%22400%22%20font-size=%2219.302%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#ff0%22%20stroke-width=%22.504%22%3E%3Ctspan%20x=%22205.095%22%20y=%22147.504%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ERAM%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E" + "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618560481898 }, "design": { "graph": { "blocks": [ { - "id": "0b91cb0d-4144-4939-8755-e331104016db", - "type": "basic.input", - "data": { - "name": "", - "clock": true - }, - "position": { - "x": 120, - "y": 208 - } - }, - { - "id": "9598f3a5-bf63-4e35-ac2e-329d93da7d81", - "type": "basic.input", + "id": "bc495131-253e-49c9-9cd7-9e843cbe7ce5", + "type": "basic.inputLabel", "data": { - "name": "addr", + "name": "a1", "range": "[3:0]", - "clock": false, - "size": 4 + "pins": [ + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "blockColor": "deeppink" }, "position": { - "x": 120, - "y": 288 + "x": -64, + "y": -648 } }, { - "id": "2f18358c-ebaa-4fbf-99b4-610ab78deed2", - "type": "basic.output", + "id": "4bf17d89-89b8-4524-800a-2d15f9bbb111", + "type": "basic.input", "data": { "name": "", "range": "[7:0]", + "clock": false, "size": 8 }, "position": { - "x": 936, - "y": 336 + "x": -408, + "y": -584 } }, { - "id": "9931384a-74ee-4de4-9df7-cc04fd19cf46", - "type": "basic.input", + "id": "dc0243cd-75d9-4b07-bc17-150c250121ba", + "type": "basic.inputLabel", "data": { - "name": "d", - "range": "[7:0]", - "clock": false, - "size": 8 + "name": "a0", + "range": "[3:0]", + "pins": [ + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "oldBlockColor": "deeppink", + "blockColor": "deeppink" }, "position": { - "x": 120, - "y": 376 + "x": -64, + "y": -568 } }, { - "id": "c61902b3-38ce-45bf-98c9-322638c2264b", - "type": "basic.input", + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", "data": { - "name": "wr", - "clock": false + "name": "c" }, "position": { - "x": 120, - "y": 456 + "x": 832, + "y": -480 } }, { - "id": "d80bfd80-1f6d-46af-b5de-5cd121ebe630", - "type": "basic.memory", + "id": "bd04885a-8a3a-4215-bbf1-c472c10c44f5", + "type": "basic.outputLabel", "data": { - "name": "", - "list": "0 0 0 0 0 0 0 0\n0 0 0 0 0 0 0 0", - "local": false, - "format": 10 + "name": "a1", + "range": "[3:0]", + "blockColor": "deeppink", + "size": 4 }, "position": { - "x": 464, - "y": 56 - }, - "size": { - "width": 200, - "height": 72 + "x": 248, + "y": -456 } }, { - "id": "f5619044-1e4b-4218-bfc2-44eced6cb16a", - "type": "basic.code", + "id": "ba04e310-65e0-4554-ba2b-fbde28690a0b", + "type": "basic.inputLabel", "data": { - "code": "//-- Address with\nlocalparam ADDR_WIDTH = 4;\n//-- Data with\nlocalparam DATA_WIDTH = 8;\n\n//-- Size of the memory\nlocalparam SIZE = 1 << ADDR_WIDTH;\n\n//-- Memory itself\nreg [DATA_WIDTH-1:0] mem[0:SIZE-1];\n\n//-- The data_out is a registered output (not a wire)\nreg data_out;\n\n//-- Reading port: Synchronous\nalways @(posedge clk)\nbegin\n data_out <= mem[addr];\nend\n\n//-- Writing port: Synchronous\nalways @(posedge clk)\nbegin\n if (wr) mem[addr] <= data_in;\nend\n\n\n//-- Init the memory\ninitial begin\n \n if (ROMF)\n $readmemh(ROMF, mem, 0, SIZE-1);\n \nend\n", - "params": [ + "name": "b1", + "range": "[3:0]", + "pins": [ { - "name": "ROMF" + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" } ], - "ports": { - "in": [ - { - "name": "clk" - }, - { - "name": "addr", - "range": "[3:0]", - "size": 4 - }, - { - "name": "data_in", - "range": "[7:0]", - "size": 8 - }, - { - "name": "wr" - } - ], - "out": [ - { - "name": "data_out", - "range": "[7:0]", - "size": 8 - } - ] - } + "virtual": true, + "blockColor": "fuchsia" }, "position": { - "x": 312, - "y": 200 - }, - "size": { - "width": 504, - "height": 328 + "x": -80, + "y": -448 } - } - ], - "wires": [ + }, { - "source": { - "block": "0b91cb0d-4144-4939-8755-e331104016db", - "port": "out" + "id": "3867504b-f331-4e0e-b923-acc86cb4255c", + "type": "basic.input", + "data": { + "name": "", + "range": "[7:0]", + "clock": false, + "size": 8 }, - "target": { - "block": "f5619044-1e4b-4218-bfc2-44eced6cb16a", - "port": "clk" + "position": { + "x": -400, + "y": -392 } }, { - "source": { - "block": "c61902b3-38ce-45bf-98c9-322638c2264b", - "port": "out" + "id": "d60cb59e-3e5c-4044-ae1f-3a06f33e83f9", + "type": "basic.inputLabel", + "data": { + "name": "b0", + "range": "[3:0]", + "pins": [ + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "blockColor": "fuchsia" }, - "target": { - "block": "f5619044-1e4b-4218-bfc2-44eced6cb16a", - "port": "wr" + "position": { + "x": -80, + "y": -376 } }, { - "source": { - "block": "d80bfd80-1f6d-46af-b5de-5cd121ebe630", - "port": "memory-out" + "id": "383985cb-fd11-48ff-972a-cee8b631bd65", + "type": "basic.outputLabel", + "data": { + "name": "b1", + "range": "[3:0]", + "blockColor": "fuchsia", + "size": 4 }, - "target": { - "block": "f5619044-1e4b-4218-bfc2-44eced6cb16a", - "port": "ROMF" + "position": { + "x": 248, + "y": -376 } }, { - "source": { - "block": "9931384a-74ee-4de4-9df7-cc04fd19cf46", - "port": "out" - }, - "target": { - "block": "f5619044-1e4b-4218-bfc2-44eced6cb16a", - "port": "data_in" + "id": "9daaaf78-5a89-4d4a-a1b2-db1d3af962f1", + "type": "basic.output", + "data": { + "name": "s", + "range": "[7:0]", + "size": 8 }, - "size": 8 + "position": { + "x": 840, + "y": -336 + } }, { - "source": { - "block": "f5619044-1e4b-4218-bfc2-44eced6cb16a", - "port": "data_out" - }, - "target": { - "block": "2f18358c-ebaa-4fbf-99b4-610ab78deed2", - "port": "in" + "id": "7905afe7-6a82-43d9-811b-45f379a3c0a9", + "type": "basic.outputLabel", + "data": { + "name": "a0", + "range": "[3:0]", + "blockColor": "deeppink", + "size": 4 }, - "size": 8 + "position": { + "x": 120, + "y": -304 + } }, { - "source": { - "block": "9598f3a5-bf63-4e35-ac2e-329d93da7d81", - "port": "out" - }, - "target": { - "block": "f5619044-1e4b-4218-bfc2-44eced6cb16a", - "port": "addr" - }, - "size": 4 - } - ] - } - } - }, - "6050ed4fa033f3f13d3fe5fae5dcedb414a0fede": { - "package": { - "name": "membus-16B-join", - "version": "0.0.1", - "description": "Join the fields into one 16B memory bus", - "author": "Juan Gonzalez-Gomez (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=%22M164.218%2077.643L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v26.186l61.698.046c8.012-.043%2015.705%203.133%2021.47%208.81l61.448%2061.315a57.292%2057.292%200%200%200%2039.993%2016.139%2057.292%2057.292%200%200%200-39.993%2016.14L83.668%20190.45c-5.765%205.677-13.458%208.853-21.47%208.81L.5%20199.306v26.186h62.612c14.924.039%2029.463-5.9%2040.204-16.28l60.902-60.863a29.857%2029.857%200%200%201%2021.347-8.81l146.53-.113V86.457H185.571a29.884%2029.884%200%200%201-21.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "5c70a159-1900-4d97-9e7d-961876e03bbe", - "type": "basic.input", + "id": "53d3821c-4072-438d-a45e-3a5364fdc8bc", + "type": "basic.outputLabel", "data": { - "name": "addr", + "name": "b0", "range": "[3:0]", - "clock": false, + "blockColor": "fuchsia", "size": 4 }, "position": { - "x": 128, - "y": 192 + "x": 120, + "y": -232 } }, { - "id": "25996d5e-6856-4828-8cb3-5dea5ff5cf9c", + "id": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86", "type": "basic.input", "data": { - "name": "data", - "range": "[7:0]", - "clock": false, - "size": 8 + "name": "ci", + "clock": false }, "position": { - "x": 128, - "y": 264 + "x": -392, + "y": -168 } }, { - "id": "d3e51db6-385f-454c-ab74-d71058b21962", - "type": "basic.output", - "data": { - "name": "", - "range": "[13:0]", - "size": 14 - }, + "id": "d5ab6421-1fc7-4d8d-8124-2cc7e0eb931d", + "type": "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a", "position": { - "x": 760, - "y": 288 + "x": -248, + "y": -392 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "dbe1622c-3510-4132-8b5c-2fbf81d7f581", - "type": "basic.input", - "data": { - "name": "wr", - "clock": false - }, + "id": "d6ce7b9d-d8cf-4cde-85a8-589536fcc3a3", + "type": "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a", "position": { - "x": 128, - "y": 328 + "x": -240, + "y": -584 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "49fb1766-1e7f-4706-9872-a6cd65cc9f2d", - "type": "basic.input", - "data": { - "name": "bbusy", - "clock": false - }, + "id": "0e0cf23b-5743-4a19-838d-fb46d407ee16", + "type": "afb28fd5426aea14477d11cbe30a290679f789f8", "position": { - "x": 128, - "y": 400 + "x": 688, + "y": -336 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "3545528c-05e2-4e95-8223-5b7b77587423", - "type": "basic.code", - "data": { - "code": "assign o = {addr, data, wr, bbusy};\n\n", - "params": [], - "ports": { - "in": [ - { - "name": "addr", - "range": "[3:0]", - "size": 4 - }, - { - "name": "data", - "range": "[7:0]", - "size": 8 - }, - { - "name": "wr" - }, - { - "name": "bbusy" - } - ], - "out": [ - { - "name": "o", - "range": "[13:0]", - "size": 14 - } - ] - } + "id": "840ba8a1-693f-4531-a947-adcaeac4e854", + "type": "a1ce303b8ce47a06371ea4641c81460f34a1cca9", + "position": { + "x": 320, + "y": -248 }, + "size": { + "width": 96, + "height": 96 + } + }, + { + "id": "7a4072f6-7500-4b87-86dc-2c63246b510b", + "type": "a1ce303b8ce47a06371ea4641c81460f34a1cca9", "position": { - "x": 328, - "y": 224 + "x": 464, + "y": -392 }, "size": { - "width": 352, - "height": 184 + "width": 96, + "height": 96 } } ], "wires": [ { "source": { - "block": "25996d5e-6856-4828-8cb3-5dea5ff5cf9c", - "port": "out" + "block": "d5ab6421-1fc7-4d8d-8124-2cc7e0eb931d", + "port": "eb61d084-ca22-4894-b8a2-f936db38f4b1", + "size": 4 }, "target": { - "block": "3545528c-05e2-4e95-8223-5b7b77587423", - "port": "data" + "block": "d60cb59e-3e5c-4044-ae1f-3a06f33e83f9", + "port": "inlabel" }, - "size": 8 + "size": 4 }, { "source": { - "block": "dbe1622c-3510-4132-8b5c-2fbf81d7f581", - "port": "out" + "block": "d5ab6421-1fc7-4d8d-8124-2cc7e0eb931d", + "port": "637e64f4-0a6b-4037-9a75-89397e078a58", + "size": 4 }, "target": { - "block": "3545528c-05e2-4e95-8223-5b7b77587423", - "port": "wr" - } + "block": "ba04e310-65e0-4554-ba2b-fbde28690a0b", + "port": "inlabel" + }, + "size": 4 }, { "source": { - "block": "49fb1766-1e7f-4706-9872-a6cd65cc9f2d", - "port": "out" + "block": "d6ce7b9d-d8cf-4cde-85a8-589536fcc3a3", + "port": "eb61d084-ca22-4894-b8a2-f936db38f4b1", + "size": 4 }, "target": { - "block": "3545528c-05e2-4e95-8223-5b7b77587423", - "port": "bbusy" - } + "block": "dc0243cd-75d9-4b07-bc17-150c250121ba", + "port": "inlabel" + }, + "size": 4 }, { "source": { - "block": "5c70a159-1900-4d97-9e7d-961876e03bbe", - "port": "out" + "block": "d6ce7b9d-d8cf-4cde-85a8-589536fcc3a3", + "port": "637e64f4-0a6b-4037-9a75-89397e078a58", + "size": 4 }, "target": { - "block": "3545528c-05e2-4e95-8223-5b7b77587423", - "port": "addr" + "block": "bc495131-253e-49c9-9cd7-9e843cbe7ce5", + "port": "inlabel" }, "size": 4 }, { "source": { - "block": "3545528c-05e2-4e95-8223-5b7b77587423", - "port": "o" + "block": "53d3821c-4072-438d-a45e-3a5364fdc8bc", + "port": "outlabel" }, "target": { - "block": "d3e51db6-385f-454c-ab74-d71058b21962", - "port": "in" - }, - "size": 14 - } - ] - } - } - }, - "f1dc888a11b743f08087b6e65015fe269bed1f6f": { - "package": { - "name": "membus-16B-split", - "version": "0.1", - "description": "Split a 16B memory bus into its fields", - "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": { - "graph": { - "blocks": [ - { - "id": "74b8320c-7097-4f7b-9c14-fdd8d9a379ca", - "type": "basic.output", - "data": { - "name": "addr", - "range": "[3:0]", + "block": "840ba8a1-693f-4531-a947-adcaeac4e854", + "port": "d192d0af-e7be-4be6-925a-50227d80784c", "size": 4 }, - "position": { - "x": 592, - "y": 32 - } + "size": 4 }, { - "id": "afe50480-6fe5-4ca6-b639-c730569a6a1d", - "type": "basic.output", - "data": { - "name": "data", - "range": "[7:0]", - "size": 8 + "source": { + "block": "7905afe7-6a82-43d9-811b-45f379a3c0a9", + "port": "outlabel" }, - "position": { - "x": 624, - "y": 224 - } - }, - { - "id": "3178c182-b1bd-4e92-bc67-6e0868b62279", - "type": "basic.input", - "data": { - "name": "i", - "range": "[13:0]", - "clock": false, - "size": 14 + "target": { + "block": "840ba8a1-693f-4531-a947-adcaeac4e854", + "port": "c2d36218-be99-4dd1-bf69-7690c667255b", + "size": 4 }, - "position": { - "x": 48, - "y": 248 - } + "vertices": [ + { + "x": 272, + "y": -256 + } + ], + "size": 4 }, { - "id": "c79430a3-a90f-40e9-af05-e6da44b5ac8d", - "type": "basic.output", - "data": { - "name": "wr" + "source": { + "block": "383985cb-fd11-48ff-972a-cee8b631bd65", + "port": "outlabel" }, - "position": { - "x": 576, - "y": 344 - } - }, - { - "id": "9751f777-00ec-46c1-8d85-07d2dec1e653", - "type": "basic.output", - "data": { - "name": "bbusy" + "target": { + "block": "7a4072f6-7500-4b87-86dc-2c63246b510b", + "port": "d192d0af-e7be-4be6-925a-50227d80784c", + "size": 4 }, - "position": { - "x": 536, - "y": 432 - } + "size": 4 }, { - "id": "16e78204-213e-4833-9096-89d735307ec2", - "type": "basic.code", - "data": { - "code": "//-- Addr\nassign addr = i[13:10];\n\n//-- data\nassign data = i[9:2];\n\n//-- write\nassign wr = i[1];\n\n//-- Bus is busy\nassign bbusy = i[0];", - "params": [], - "ports": { - "in": [ - { - "name": "i", - "range": "[13:0]", - "size": 14 - } - ], - "out": [ - { - "name": "addr", - "range": "[3:0]", - "size": 4 - }, - { - "name": "data", - "range": "[7:0]", - "size": 8 - }, - { - "name": "wr" - }, - { - "name": "bbusy" - } - ] - } + "source": { + "block": "bd04885a-8a3a-4215-bbf1-c472c10c44f5", + "port": "outlabel" }, - "position": { - "x": 224, - "y": 176 + "target": { + "block": "7a4072f6-7500-4b87-86dc-2c63246b510b", + "port": "c2d36218-be99-4dd1-bf69-7690c667255b", + "size": 4 }, - "size": { - "width": 264, - "height": 208 - } - } - ], - "wires": [ + "vertices": [ + { + "x": 384, + "y": -400 + } + ], + "size": 4 + }, { "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "bbusy" + "block": "840ba8a1-693f-4531-a947-adcaeac4e854", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "9751f777-00ec-46c1-8d85-07d2dec1e653", - "port": "in" + "block": "7a4072f6-7500-4b87-86dc-2c63246b510b", + "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" } }, { "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "wr" + "block": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86", + "port": "out" }, "target": { - "block": "c79430a3-a90f-40e9-af05-e6da44b5ac8d", - "port": "in" + "block": "840ba8a1-693f-4531-a947-adcaeac4e854", + "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" } }, { "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "data" + "block": "4bf17d89-89b8-4524-800a-2d15f9bbb111", + "port": "out" }, "target": { - "block": "afe50480-6fe5-4ca6-b639-c730569a6a1d", - "port": "in" + "block": "d6ce7b9d-d8cf-4cde-85a8-589536fcc3a3", + "port": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e" }, "size": 8 }, { "source": { - "block": "3178c182-b1bd-4e92-bc67-6e0868b62279", + "block": "3867504b-f331-4e0e-b923-acc86cb4255c", "port": "out" }, "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i" + "block": "d5ab6421-1fc7-4d8d-8124-2cc7e0eb931d", + "port": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e" }, - "size": 14 + "size": 8 }, { "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "addr" + "block": "0e0cf23b-5743-4a19-838d-fb46d407ee16", + "port": "1269698e-e555-4fcb-a613-cb4c7ff2e598" }, "target": { - "block": "74b8320c-7097-4f7b-9c14-fdd8d9a379ca", + "block": "9daaaf78-5a89-4d4a-a1b2-db1d3af962f1", "port": "in" }, - "size": 4 - } - ] - } - } - }, - "a0b8df28f3452068e469a9c210e4e62ae8c78900": { - "package": { - "name": "Valor_0_4bits", - "version": "0.0.1", - "description": "Valor constante 0 para bus de 4 bits", - "author": "Juan Gonzalez-Gomez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22255.888%22%20height=%22307.912%22%20viewBox=%220%200%20239.89529%20288.66753%22%3E%3Cg%20font-weight=%22400%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22372.115%22%20y=%22646.344%22%20font-size=%22335.399%22%20fill=%22green%22%20transform=%22translate(-326.544%20-434.037)%22%3E%3Ctspan%20x=%22372.115%22%20y=%22646.344%22%3E0%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22322.722%22%20y=%22721.624%22%20font-size=%2283.077%22%20transform=%22translate(-326.544%20-434.037)%22%3E%3Ctspan%20x=%22322.722%22%20y=%22721.624%22%3E0000%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22528.722%22%20y=%22721.624%22%20font-size=%2283.077%22%20fill=%22#00f%22%20transform=%22translate(-326.544%20-434.037)%22%3E%3Ctspan%20x=%22528.722%22%20y=%22721.624%22%3E0%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "53acced8-0736-40f7-8db1-7103a21f31c2", - "type": "basic.output", - "data": { - "name": "k", - "range": "[3:0]", - "size": 4 - }, - "position": { - "x": 928, - "y": 256 - } + "size": 8 }, { - "id": "ad7918eb-22dd-4b6c-949f-e428f5a55530", - "type": "basic.constant", - "data": { - "name": "", - "value": "0", - "local": true + "source": { + "block": "840ba8a1-693f-4531-a947-adcaeac4e854", + "port": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42" }, - "position": { - "x": 728, - "y": 152 - } - }, - { - "id": "63e1b925-5baa-45a6-abc6-a7ababd05a49", - "type": "9274d3154d579c5922da669b25ca14097a46a22f", - "position": { - "x": 728, - "y": 256 + "target": { + "block": "0e0cf23b-5743-4a19-838d-fb46d407ee16", + "port": "843164ff-f7d8-48b9-bf59-1e0d1135c81f" }, - "size": { - "width": 96, - "height": 64 - } - } - ], - "wires": [ + "size": 4 + }, { "source": { - "block": "ad7918eb-22dd-4b6c-949f-e428f5a55530", - "port": "constant-out" + "block": "7a4072f6-7500-4b87-86dc-2c63246b510b", + "port": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42" }, "target": { - "block": "63e1b925-5baa-45a6-abc6-a7ababd05a49", - "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" - } + "block": "0e0cf23b-5743-4a19-838d-fb46d407ee16", + "port": "a1770adf-e143-4506-9d87-3cb9c870f534" + }, + "size": 4 }, { "source": { - "block": "63e1b925-5baa-45a6-abc6-a7ababd05a49", - "port": "5ed3ad73-16e5-4dda-9483-c36394a97ad2" + "block": "7a4072f6-7500-4b87-86dc-2c63246b510b", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "53acced8-0736-40f7-8db1-7103a21f31c2", + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", "port": "in" }, - "size": 4 + "vertices": [ + { + "x": 624, + "y": -392 + } + ] } ] } } }, - "9274d3154d579c5922da669b25ca14097a46a22f": { + "8cc49c9b29485f2cfeab6064d7bb1cf9ced045b1": { "package": { - "name": "Constante-4bits", - "version": "0.0.1", - "description": "Valor genérico constante, de 4 bits. Su valor se introduce como parámetro. Por defecto vale 0", - "author": "Juan Gonzalez-Gomez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22145.608%22%20height=%22247.927%22%20viewBox=%220%200%20136.50729%20232.43134%22%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22293.115%22%20y=%22648.344%22%20font-weight=%22400%22%20font-size=%22335.399%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22%20transform=%22translate(-316.929%20-415.913)%22%3E%3Ctspan%20x=%22293.115%22%20y=%22648.344%22%3Ek%3C/tspan%3E%3C/text%3E%3C/svg%3E" + "name": "Bus16-Join-half", + "version": "0.1", + "description": "Bus16-Join-half: Join the two same halves into an 16-bits Bus", + "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=%22M164.218%2077.643L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v26.186l61.698.046c8.012-.043%2015.705%203.133%2021.47%208.81l61.448%2061.315a57.292%2057.292%200%200%200%2039.993%2016.139%2057.292%2057.292%200%200%200-39.993%2016.14L83.668%20190.45c-5.765%205.677-13.458%208.853-21.47%208.81L.5%20199.306v26.186h62.612c14.924.039%2029.463-5.9%2040.204-16.28l60.902-60.863a29.857%2029.857%200%200%201%2021.347-8.81l146.53-.113V86.457H185.571a29.884%2029.884%200%200%201-21.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "5ed3ad73-16e5-4dda-9483-c36394a97ad2", - "type": "basic.output", + "id": "5a35cd57-1006-4f6d-b263-5b977e9ef142", + "type": "basic.input", "data": { - "name": "k", - "range": "[3:0]", - "size": 4 + "name": "1", + "range": "[7:0]", + "clock": false, + "size": 8 }, "position": { - "x": 960, - "y": 248 + "x": 120, + "y": 168 } }, { - "id": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", - "type": "basic.constant", + "id": "79c56f9a-597f-491e-b1d1-d321f63303c2", + "type": "basic.output", "data": { "name": "", - "value": "0", - "local": false + "range": "[15:0]", + "size": 16 }, "position": { - "x": 728, - "y": 128 + "x": 632, + "y": 200 } }, { - "id": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "id": "38fdb02d-4323-4a34-9ffe-8385f844b660", + "type": "basic.input", + "data": { + "name": "0", + "range": "[7:0]", + "clock": false, + "size": 8 + }, + "position": { + "x": 120, + "y": 264 + } + }, + { + "id": "16e78204-213e-4833-9096-89d735307ec2", "type": "basic.code", "data": { - "code": "assign k = VALUE;", - "params": [ - { - "name": "VALUE" - } - ], + "code": "assign o = {i1, i0};\n", + "params": [], "ports": { - "in": [], + "in": [ + { + "name": "i1", + "range": "[7:0]", + "size": 8 + }, + { + "name": "i0", + "range": "[7:0]", + "size": 8 + } + ], "out": [ { - "name": "k", - "range": "[3:0]", - "size": 4 + "name": "o", + "range": "[15:0]", + "size": 16 } ] } }, "position": { - "x": 672, - "y": 248 + "x": 296, + "y": 176 }, "size": { - "width": 208, - "height": 64 + "width": 272, + "height": 104 } } ], "wires": [ { "source": { - "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", - "port": "k" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o" }, "target": { - "block": "5ed3ad73-16e5-4dda-9483-c36394a97ad2", + "block": "79c56f9a-597f-491e-b1d1-d321f63303c2", "port": "in" }, - "size": 4 + "size": 16 }, { "source": { - "block": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", - "port": "constant-out" + "block": "38fdb02d-4323-4a34-9ffe-8385f844b660", + "port": "out" }, "target": { - "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", - "port": "VALUE" - } + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i0" + }, + "size": 8 + }, + { + "source": { + "block": "5a35cd57-1006-4f6d-b263-5b977e9ef142", + "port": "out" + }, + "target": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i1" + }, + "size": 8 } ] } } }, - "26ab4b14044d51c1bbe481de5533a9b47d267746": { + "a52e3be3d374c081062b542fc91c5cb1be726cb8": { "package": { - "name": "Mem-16B-sample-machine", - "version": "0.1", - "description": "16B memory sample machine. Captura the input data and store it in the memory", + "name": "Bus24-Join-8-16 CLONE", + "version": "0.1-c1628232010333", + "description": "Bus24-Join-8-16: Join the two buses into an 24-bits Bus", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20viewBox=%220%200%2088.570022%20126.13218%22%20height=%22476.72%22%20width=%22334.753%22%3E%3Cg%20transform=%22translate(-158.43%20-96.411)%22%3E%3Cimage%20xlink:href=%22data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAgM0lEQVR4Xu1dCZBU1bm+PdPTM8CM%20AgMO+yCrAq4oGjWKIIorcYnRlD59saImGlOaqK/UPPeHu5VyjyYuMRu+uFVEjRqX4FNRQURwQVxQ%20YdiGZQYGepZ+33frfK9Oneq+t+/0zHTad/+qU7fv7bt0n/8///L9/znX+1ZTTDHFFFNMMcUUU0wx%20xRRTTDHFFFNMMcUUU0wxxZToofuX8XPo82LqcLaZUhUAMbucraKi4viysrI9jCBkp5gybKBH0un0%20cuy3URC6WwiSXvcRmV9ZVVV1azKZPBvN69+/vzd06FBv2LBh1mkxff31197ixYvJfa+1tfUnHR0d%20x7W1tc3HV2kJQakJQBmZjzYUo99n/qRJk7xTTz3V69WrV5bTY/rmm2+8u+++29u6desO2L0cAnCq%20YXy61AQgYe5bBebvB9XvJRIJ79hjj/VSqZTX3t6e5ZKYBg0a5B133HHenDlzPPRZLQ5VG+a3lpwJ%20kPoH83uT+Ww77rhjCPNjYh+Z/hqK3T5oW9C2obWXlAaQAMCm9SovL/cGDx7sQaWFXBbTTjvt5AsA%20+qwOu7SVSTnOpSgASdBkSjTtPhybkMtioomkyWTjLvmjSK0UncAkJLmMAgDKUwBiqqur81atWkUt%200Bcmc2XJaQCBPtqCvMrKyjztf0wIm9lp1AbjW1paPrIwlUzJaAAJAKgajbYtTwGIaeDAgd6KFSv8%20zmMfloIJcCFf3rOCDT7AKAgAAY78nMCYqC3lB/Q1/Zgy4WB7AERcVAFIiPE333zz6JEjR565ffv2%20Xlu2bKm58847d2psbKQAhGiAmOQr1dTU+J8PPPDAE37wgx8MhgO9BeZg++bNm18588wzXzYQcXtX%20CUGii5ifuuyyy8YD7Fk4YMAAOTHelVde6X300UfejBkzPAhGwG1i5ksA2HdPPfWUd/LJJ7NRczKM%209iOp55577oyzzjrrvwkOGUHIFFsDJIya6nPQQQfdSweGKoyNAgBNIIcmRxQQM15ELcl9oKdU/4yh%202W/sR/anvz98+PD/wqnPozUZc9BeFA3gMv/GG288CgLwaL9+/by+fft6q1ev9gXgqKOO8v/MEUcc%204UOdJUxiUgSmRhv59va3v/2tnztBv9J0+k40Bxe16fLly2effvrpt1EIlCfobg2Q0FYq34J7q6ZN%20mzZ8v/32u5nSKonllhKrPACOyQcofQEonPlZma7GZ6jPFD5v27bN69Onj78/evTon/34xz9+/v77%20719s+NFup5OjOoqJKA7ezjvvPAuM7QuGJkBlyFtXgNkzMbrHUXUx3Utmf/XVVz7zTzrpJL9TTjnl%20FK+EieYrAuO1H8r8nBrgb3/7m1dbW+vNnj3bfzY165AhQ7zPPvvM9wlWrly5DFnD5yAUaQhMB4Qk%20g/My0LxPn3POOQuiOIqJPCDd1IMPPnjiiBEjHiFzObK15Y9Zs2aNn+Ovrq5mKtP74IMPlPjxfvGL%20X3ggCkKpC0AhjNdxfbZb1u9ffPFFb8OGDd4dd9zB+gBv/fr13pgxYzw62OzzTz75hKaWfc5+5jFt%20aX5/hrT7gzQPchQ7awLKZOPB4Nly7CQAbBzlUv38/P7773vQEs0vv/zyckhpNTpkNK6X+i911a/P%20UUe8y2jdI6tgiMj4t956axGFb88996wD0wfRDJDp7G/wQ+l18kJbaoo7jjzyyL8/++yzX8tR7JQG%20EPPRasHQT/FwPkBCwCaJ8zXAhx9+6Esp4lVJqXfDDTf42uDggw/uSVsscjtd+1Gu1/lsETRAkLoP%201whLlizx2+9//3uNbm/8+PHe22+/7e2yyy5ECmluXQ3A5kdeTz/99OlwIOfiVs0mZMwUpAEA6pDx%20fKgEQM6ez4w33niDQuDbLVJzczO/U1hDFdqVjC/cMYt+vYRAx8JUvCtA+Qinew/aeoZ+ZDAjAZ/p%20L730EiMEAkbsY35HXnDLfqdJZn/3poOO1kIB6KwJSAjWBZOXbtq0acK6det4c7v5Dx83bhwZQcEg%20w33mAwFkR7goYE8LghgSpgGiMknfBal7Nff5bIHnsx+5hZPN/vQZrKTaPvvsw/IxagGZYTX1/Qo4%207B8Y/y1RSBiokKIDCN9//upXvzoRUjgMzKxgBMBIgIQQpQwJjElQRymZBgoAnRj9GVzTE/Y5aDQV%20cr39XRRV79p6CQKZlfV7HaPZlPYk0zm6JQDIEHKkL2tqatrcAWIEwMvwfevatWu/efTRR1+wI4BC%20BYA32o625dprr32R/gBab3NdObzSGoAWp+AHp+QfSOVLimWnihSjizGFXu9+7zLVfYaOaWt/lkl0%20Ge+eRy0qbIX7cvoIq484/vjjH4BGbrJCvq1oG9BWo20zqj/U9iZC1H81mY5q1csQ6x+KeHSkHQbS%204VMRA4/RLr3zzjsefYbXXnuNjTbMb98KClf37ne5jkkLZDUX7Nd//vOf3ne/+13vkEMO8Xr37s1I%20gJqAZsHXrtAATB3bTiCPrYXf8NpvfvObG8GHz4UWFuIElkGl/BwO3r+7IaCwfkqlnEH+6LFjx3Kf%20zJc0f9vyAO7IzmfUZ8MW3OO6BweStGd6t912S5Hpb775pjd58mSli8lw5Q3kBBIbGIhrT0QSbgTM%209jGqJ+iMACivX4VM1BnCAOwmW88fy+8XLFjAH9R49NFHPwNPNA3I8mgcHwTp/bYIQC47HmYqcp7j%20OpiuxnjssceW3X777f/D/YcffvhwhIH1+++/vwYd+10aQELBRuRw3/PPP38s0vGLFQayRRWASrQ+%20YF6N7BCbGwYyTUnmm+rf/n/+859P5+df//rX3scff+ypIORbQLkAnSAH0T2WCxDKeg5yLBP/9Kc/%20TbSdwHnz5tEcKMyWj2BjATQhHIzjcJtPjA/XHlUDCAPoDa9T6kXhhv9gMXbhwoW0RYxTqf4JBUtA%205PCUPBLo2m2X+focgQLxAWL+ep4YTJyFnxsaGuhnMSlE6F0mVlv6ATzOaKHNDOLyzkQBSgKVY87a%20vXBEzqVU8eZ8iJhKdJB2CRgBpZPHZaPowRbTB3DVaqHXh4V67oiOKgTaJ+MY40sA5PlL8xJsI/PT%20mE+YIlDEczTYYG7pN9BJnHfvvfd+lk9NYTIkBGy9/PLLn5syZcoqPHRnaIIqU6yYAGMpWeWoA9h1%203333HQfG0ymk6uEPlQAwj01hKVUBEEPz9eZzYQt5h6LLli0jw3k+4XRXALjPnMt6wL3zySOc126u%207QBrtmOQrnnmmWfeVh1hZ5NBHWS+iS03zp8//2O0tSY3UG5a6phjjhkPp2Sc4n/lsCWRaMUe/WJM%20IdcGaQD+vyBgxx7pYc/loGHmz36WgCBbAJgXGAwsoOamm26aJ0ab1kJ+oTWibdF3hQhAC8KQjtNO%20O+0QPPBgSFh5whCksgwmYJjtINIUfPnll2SARkexBUCd35UCQIa710SCjd3vlTHl6Hc1Co9xS5yf%20dl8a4fDDD5+2xx57jAAPVA/gI7eoKVz4/PPPz4EWkAB0RBWAhGl8SM0FF1xwPx4yXo6dtgR7Nm7c%20qOofZgVZrsSctf8ZxOOlYv+DGGcLM7dhYV02LRAaKXz66adZsQH6A6NGjfK++OILf4ChLoMCwHQx%20ne8x6G95/0oaTdh1112PQ6Rw8vXXX/9GZ6FgqviKH/7wh6cB5h2fDQPgD6Dal+3HH6D6WoLpzSuQ%20H6hFR00pCQEITwa5zHcdvygYQFYBBYbPweQy33/ek08+OR9+1DqM9tqJEyfuB6bT0dM6C9II8hNk%20LmrgnJ+Nr98xvGyPggMIBOoNaZqZCwOgACgWfe+99wgHUyv0wxz3fvBOK1naDCqeAES3wdkydmJ6%20ULVPlJSve4whm7z+rNfuvffew1BnMYz9iMGYBhiUAj7AwWfnB1xAiP1eTx4aHKA1qgmoQOuFZMM2%20Le0iVS8hkF2aO3euX6Sw++678/gQNP04tmJhAO4oDTtH4Wouu5+rHiDoWNjz+Tyqdqn+XGsGDGEx%20CJnKfqYJIBhUX19PbMBGAwXPU5swZE8aAWg2g7o9igDwghTU+st4yIEo8qR614PUuNYPcQB2gh0B%20KEnEzz2NAopRQUwPvc62+7YwhJHLePd+7rmI5VnxG6hdpGnJZEHAsPF+4ccLL7ygzKsGp2oFeXyp%20GchlnU0Hd1xzzTXzZs2add306dMPwg1T6AS/yIC1AHhgAn+gDAKyN+yRoGEJQE+HgTbTIwhA4LlK%20bbueea578ry8439oVwI2YfWECv2k1qVdOcqX4bNqAjIQlAySRh1pELTywoceeuhFjfqoAkCOtZmc%208mbY8vfQvsF+jSTKXFcJ3P80FSdasCVbT6OAfE6AAETzB8TMELJHdyR4mBEUwrW8tAqFRFgAeKuq%20HxZ/1iE8nwsHkuq2VcCdUfmN5J3hYVvUbGDGXNTCm8ABqcVExYGQsio0nl9ObYBc9QGIS4fpB0kA%20ILHqCDGm2GrfPTdSvt9toKAQMBQSpsqX05cHUdXbA0ueP0PAHe67776TkSz6K/q8FfdrY8PnXsBi%20Nr/yyiubyMNOFYWqnBiFIMfAAbnBjQA0H4CMFvYPtUMcm99zCpPjHUemqPa7K+bm2aPfbi4zXSaH%20ZvtssAfMsZy+cGKU8Prrr8u790w6WFp28HnnnXc+czJ2JMDt2Wef/QjC+EsiQcH2TKCf/vSnoydM%20mEDm55wPIPWPknCqpmY4i58atTUGm2qZgH/xtK6Y7gI/dtMxCbUNCGk/0PaT6eifKMzX/IA0/IWl%20uI4O9xhA8tUHHHAAGc0+Z3OxAG4ZIfzb7373u0U/+tGPHrDKwzKhGkBz/hBrni6VLqbbn/VgxPy0%20aXT81iFV2c7vlL9mKxIFedZBJVuuANgYiC0IWa9xBcl2hOnxa7Z0BGJ+IAVktZ1C9eqrr34BQGgS%20J+DstddedmGIRr6azAUHYq+gxFAyFwYAhlbxB8vDd6Fgph5ZnkxnBhlBerUjEaeOxHcMGYVs9SST%20XTXunhNUjp1LACT4OuYyOFeuwN5nH3WK+boe4NpkMpU8QG6GU8c4SYSwO7Ot2YpCOCiJMFYRC5Av%20EMUEpABQLCHowHBF8/5tIu6PQlECEtQGFBTNExDzu0MAwpgpFet+F8z4cAFwr8l79EMrkhkF9YVU%20vJjNmgCG2iy+Yf/zmO1n0G8gwTfYbkVuiUg4wK233roIocYcqJyD8cBBkmp1Do41IzlBhldbtqi7%20BUCMCMvURREAXeMCP3axRdSmkS9MpCBBp++AbKwPCilFvMMOO6QBCDUCgh+kCEihMPiyEY7466gL%20fKJTOIBSwZjd+zi2LErsh1apKiFeN3PmzJFXXXXVLI4ONcs77Q4BiFKCnU0AwkZ8wPGiMF8CYDt6%203FcVdurxxx9fftttt82x5gZ0GOx/o5kfsDXIASQlA0CgJrQNmIo0GGqmL6SrEq2cNQE1oDPOOMNO%20FPFHUvq6QwDEvDDmh2mIfBnsRgNhQuPmDKj2HeYXLADC/O0ld7iG0IHAFRrhiK8jBsCqIPAijRxN%20K2oCGslDGwyKBAQh3kxdcskls4Et7207f3LyiEopSmBCg3XrBDlce1kA5a3m3a0oDxtv2+9sQpS3%20AMj/IMgjh68ryHj/nC1MH4BRAZNzFAiqetZsHMucjJw/YQFQ/w1wFn+C6myiuB1RcAC2sl/+8pdX%20wM67zBfmLxDIF4SlS5d6tEfwTL8CQOSvC1CQAIQzsKsFINu9o5gHxfnsj67WfGT6avCigWX3eMZw%20ONx08MgHNTcEZBsEMz0bAjA1ihOoKWG9MPIPs3EAu5FUC0AQCCaCKGB/ABX9oY5YKl6IBsjmXefj%202UcVAG2D7mufn2ufI94N9bpSANi/dejbOo5sMp9l44DoyQOZBxcHUCZ2l1tuuWVfDOZ5uXyBZI4J%20IdX4MzVcm8bWAPqsCSFaFwDlR5ocomyVmNYVDl4+4E22e0URAp0fKgDudWQ6R77sc3cQw0j5W0Bn%20WSPgm1xUCPG4iwOo0VQTla0jT+ULBGoAe0oY2lrUAwxEuKFRL/LVHNEoAD+Cg9kEQ0b3AcLj8rDz%20omiTIEdOlJXZrhDQBrP+UdhDdxHnY7hRAMwBcQD6AxRCt8BUi3RsRV3gEmEBkSaGYC7aLUgo/BwP%20GOJIvyYhNIL5/dHo/EkACBw5AhCZ8Z3VBtrm60i69wtkvnsNRxdr+XR+dxL7VQIgGB7amRnBZvgC%201RRABwsgGLQBcwcell8XFQdIo7hzKdq12B9gagHKhQPAIemDdQG+B+9TDiG3MhH5hoFBuHoU2DYb%20sztjXkKZr+JQ+DkclT2V6+AAk523cQGO8hRqAh7FHMxG4QDWWgHr0b4JWysgmQsEQtuMdOIQePf7%20EHTgqiBs6IAylCmPB0pYazkg/DFkJrdibHeM+nyAHzdTx2ORwkqX6fpMJI7MVxlXTxEdTJob8IH4%20ggSAWjh1xRVXHIEw/CPwhrzrIBaAz61AY1fAAfyQwhBFADISgj/+8Y8XA+s/xnUCyWyqPjJY8wEB%20OvDHsMlOhavjcMZHdwjdz+Fz/NTC7D4FW/aex3o6s0lnjn3PWgtlArlPSHggVmEbyLDQxQJQyLMP%20VhI5KbQs3MUALr300t3g3dvMd2sB1DhT1fcHnnjiiQWQ0jTO3x+d3j+LKg5KowYlVKLCv0EZw7yF%20T0zWdGsCMPq+GHTPPffM5fb73//+RDjg9ZivybUZqA1yYgHEcTBJ9ORzzz33/rxwAM35w41HK8HD%20G7lND+V8AGqBzz//fC1CkmGQ0ibkvSukItGij/rw40HMLhROVpO3rVCqaIyXFoPJHQbTm0IWdhPg%20efa9qoPCagJ2dsJABwfI8ro3jOKBzOgx3Wvj/ZrpQ3XDV50yHJw6dSqxgPEqB4MmYDawMyO5s0IQ%20ZRHH0BBTWkjhF4RZPkVRi1sOPfTQ3ckPMpYTQ7B4J00vcQGtHqowXIJAU81ooNKE9Vt4q7xwAEw8%20+AATPbZiejKLCeT9qnFU0A7xIaoF4GeZi6Awy7afUZgdBtkGCUC+foTqGch0OnwUcLu6qWhCoNBP%20CSEyW/X/1AQ0BfJXxCsKAWdrQSNHwgEybFiteiUeeAMqUWaiKGQ4vX9QQkzla0wgWYPhgFQ7qWA6%20ShKAqCM/2A8IX6SB2yjMd59HQIUjho0CYINaxV6rmGigFoWy1wxMAxD6ElP4iAVk0Dxu2TBI1/7l%20L395CeH6gnzTwYoA0lQXUOXvo63Bfl+0XlYtQAXeZTPhoosuGuv4BBQE4eE87uL4kRkOCmJa2HSv%20sHtJtUtdkukBL7cqriBQAKQBlIvh4pwo/96ACTxPaW6AtbbjJlMTsIX7eU0N08WaXIClxsbAw+/P%20eQAqBMGDdwBCON2pVVdIqCoabiM4gpF9gfxW6Q5v9O7p5LnVy0UUgvAZQiA5fXwryxRogvVIEK1A%20n/tCQBygEoTFpj90agI68jEB7Xg7Vd0JJ5zwACRsnJsIUtZLAoC4lKEgc9U2ChhVAKIJSDj8m7NA%20k8KpEYXUNUd9rmtzrv1XDGLCiQkg+l8sxhUKC4eb8f6ReCmHu3I4X9e/CotLn4Pyvoa8cAA5gXjB%20wy1wLGzm20KglarZiQwBGW9+CWdjPYSuBh01Vh1fIMAThtVHAZzYbHVPD1/OlZzbbHP8bOZrvxg+%20AAdeM3iyDJFANXCJscy5wPYrJUy+SPvas4UH431N90AAJltQfntWAVA1MFofPGhKrsUh7algzPtD%20/SzCJJJXqV4wVWzEd77znbH6IQWp//Da/chr95PJqmZyp3y7QuvOFnaFoYeJzvVmgEHzuHPxxRd/%20hWLdaQr/0Oz1hBQNCJUdCrh4+nXXXTfXrgkIEoBqwp4QgqwLQ1DV8yFcCpZFCQgVazET9Xv4LgMk%20sBfeciFp7MwI7xTcq3131GqSijx6mC4KrJa2t+cuqtPsY0FzAXtaG/BNLLVYtncWGcx8DON/ml7k%20ajgoyRdXA3BL/4ZRjd4fIF8gpwbgfhVuuBWLE/XOUgsgTJzM5yLQFJRhPMbzaFMxdYmd1LWjPvwe%209jO1r3WMKAAaHa59dxNHbsyv79mKxXz5LJXo8xGaH4CXRpCxHIAE5qjVstUE8Dues0FYQHhJGAiv%20JLsGb5+6QLUAjj0ns1dASEY48wFUGCFJ7DTkCyoogqB9h40UiKM5dq6nL0Zrm+14zn21HiIKr6IA%20qXyVizUiUqsGNpOyBJW8oNBsxNT+R4DrNJAVYUigpoVvxyLFS9CuNrUAVB/l9lvEEF6cxMWKskwI%204YMVBvYYw2Xfqe7gILkjPWCaeiiSmAvBLEZGUAJAYVY2ln1eceKJJz4EgW9WqGdai3l/wEpNDQsL%20AwUC8UbrjLrYrhdEmJaCw3cApowPcWsEhQgqZrXCr+4UADKbsTyl3bHdoat/BWkDl8HFYr77P2TK%20JBCMBGrw3uY9Acw9SX4JEDL2fqPh5WZ+l48AqBhkE5aInQoseRJHvVkaphw2pwKJiMOUJVRySEUg%202kYEgqKkaW01z0anrpA3g7jqPSgMLHpGEIUfeo2sPUOIOMAUvGOwCcc2kfk4Rl62oXhlKV44vQrR%202tZcq4Ym3VoAFBFOwtJkD+MhQ7NNCGGihD+C+4sWLeL6gEIBJZlkfr44QKTsIB0dRBruaC90RnGg%20utfxYhMZzsUl+P/Zz8Bd6IgLDOLqYdOdCSKcScwsYhOqt/kSiTeDfICEVDyygJfCcxwaMCGEW0UD%20tEdLYHe5SHEaAjIOD+4vAegEw9193p/PItMpYFGY4nr8BQhKUUlCSTRwSRrEUjD0yVhMQUuB6WET%20RGqwoATfJLqXfARbEyQdDKAGN58hECjXhBCqXYJACBNXQgtsxLYCmmADEMGMfACdHzG8U0WrMnMc%206RGYEk0Q1LElQBR+mgCfeeiTFryq7wvwYRyqg0MniOD8oVjuZwb8t7mWEGSyCUA1VTwQJt4w66IQ%20HJGcq8b1a/EjhoDpcgg9ZKb4lhBemy+Eq9WveF8y3Y1nu2OmTcm+sOKwww7bDXMx9FoYfwvgjXwg%20b7IWhbA/oZ2prbOCQUn3RdFgwlLYmgmK69mEoWs04v0A3OcKFQR/bCGRD+AyWfdQEzKXJ4Nicl8p%20z4IQ8gUmm1PFaCa5tXkgJJSTR7ZeffXVVmFIwLwAzCO7Ce+dPQ8MrYOzVwd/oNJ6nVkzsn9fwhEZ%20i5GfctYG5CjW4sddPBpjIrOhne03hckx5kBahtC8Foxm6l4oaBpRwGpo8yYsJ/eHrNlAeYWy/2gD%200UagDTUgUDVa0i4GeeCBB46DdzkKgkEUitlAaQBWrvpATPdQTIR/8WZwaV/2O/uf6eF1KP8mk1sd%20R2+rWTRyFdoKtAZTKLLd9QGEAWwx6FGKNzD7FXqHMN4dsD8mgo5SRCA0Suaie2PlmNx3CIkPCAEH%204GWRU1GoM8fE+20WPzeaWULN2bCApAMDp7GwwPAZM2bcgCTPWNl1MZhhHx+ulcOYjWI8KjBItr9b%20KCZqVy0aSbvOWdkSCNZk7AHnfA/wxl0trAER241ICT+WbdXQpA0Cgfn1WBz6Idy0xsUAGPrZkxBY%20lWJKx9fj+zRCtjRq1uu7LayKifaeo70BvgDRwEHvvvsuy8KVKFKBi1sUMghI4e14o/hK1BE854JB%20SXtCCEq9Z0GCxHy76SFML1IYOPI5B+CvSBrxHbUMC4fADtV3mwaIic4e52FQzXdMmzat7qyzzjqB%20L+dAWl6D0y0KkbngKmOn4rqX3UUjpQG47Q3vfqAyfE4xCG/Km2ttAHr688D8BSauTAAMqu3+apnY%20BzD2PP2Pf/xjPUZ/BXhzEvqcA5P8yYYFaI5DPau93DeIJO0ZQWB8K1U7gSAw1Mb0tWwpsX+uUPH+%20hRde+FccWmuSR0mopCHd7gTGoSD7vgkDlf1ehncDbwQAVAGmz6IPBpCIfoKwG9UEsDaCQrDOAEGK%206tpdJLDsrrvuehFTig+DJI2DTbcfrPlpvNF8FI3+wYQWqylRpoqoOR8BoGBRw5QKEWHj6CoW0c8C%205q+aBgI/O+It7Yu5y+7EuwOfx7wALtc7E4JRma14FZNHGgEFP2PVdbjzAX3VUIs2DK0eteaTEQUM%20ANMrcCNSBkxrA8zbgJKv5WS8EYC1+iGwSUdhIaPrKTgAkFjD5nde4RQT7DwhdvYnczD/geXfXrBq%20NerIY/gBQ+EfjOY7HdDKMiBo7zYIxfpnn312EXEANsOzZpkBlYJXkYloO/FmFAaznzLnCCdoNjjB%20GqvQIMnzsXDkz1EldDY9VAIWXUYxUetSAKiJuBjXJXhXEEfzZjN4+5Fvhmc11oqunmZ5WWDQGsO/%20FtsEZAxztaxIh7l5L7QKCYD1FpEmtE1mmzZSSEexRmAQVFYXqfnY5tPp1mLT3Gf9n+GHnLm0ccQ3%20GE2ekgC4PNPIz1YWrhuSWs3Jmg5mv0w6bc5rMZ8T5ruyBMiablWSoJAcp39F0iv4UKU1RoW/Wv/H%208KTJ4lmZg/BuYzPntbkCkNGJVl1guWkCiXROu91sIIkkpluOYylm3f7Vw0CZbQlBq2ktFvMTzsBV%2068g1MSRjtTb3HcLOOSJ9Tqj1CMNjSjhMFmNbrWOJAJ6FTg4VReFmGbJTEzXlqlsoJsK/rL9QfO4M%20Tm2jUbKrzCcApLcBB09k0WKXU0wq+2pBle/fHVVeEBU6XCtMuDgIbRRWF7sNocoYYgHFJL3mpRTJ%20rr9Mg+BQryOz8X+ake2bAxzgVSeeby+mAPCXVpvikeFo9cAA9kKoMoCARKKI9iAD4hZzHBsAj27j%20oVIKSOR4O5M8GtC+MtsN5nhHMQVAINKOBowYpKVlLRCpmNShpo4tMQFot1/jawCdtYb5muxRkGAn%20u0BSVXmyntLqgkhsRR5BGkWZEtQCAuAU5rGfm93K3mJqAGmBCjPiq0wTIJEoYudJA2S0LWEz0GZa%202rS2YjuB7j0UmyazgEjF70B7v7Qo42oz+1iRNED4vYrOfDHc3f4/o5hiiimmmGKKKaaYYooppphi%20iimmmGKKKaaYYooppv8FlJhXILrvZ3wAAAAASUVORK5CYII=%22%20preserveAspectRatio=%22none%22%20height=%22102.996%22%20width=%2287.169%22%20x=%22159.832%22%20y=%22119.548%22/%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20x=%22205.695%22%20y=%22150.011%22%20transform=%22scale(.98866%201.01147)%22%20font-weight=%22400%22%20font-size=%2219.302%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#ff0%22%20stroke-width=%22.504%22%3E%3Ctspan%20x=%22205.695%22%20y=%22150.011%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ERAM%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20x=%22205.372%22%20y=%22110.296%22%20transform=%22scale(.98866%201.01147)%22%20font-weight=%22400%22%20font-size=%2219.302%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#00f%22%20stroke-width=%22.504%22%3E%3Ctspan%20x=%22205.372%22%20y=%22110.296%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ESample%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M206.647%20182.6a6.892%206.892%200%200%200-6.89%206.892c0%203.803%203.086%206.896%206.89%206.896%203.805%200%206.868-3.093%206.868-6.896%200-3.806-3.063-6.892-6.868-6.892zm13.814%2010.852l-1.242%202.991%202.215%204.35.293.575-3.072%203.072-5.039-2.38-2.991%201.228-1.519%204.648-.194.617h-4.341l-1.879-5.246-2.991-1.234-4.357%202.21-.575.287-3.07-3.069%202.378-5.042-1.233-2.989-4.64-1.515-.616-.2v-4.338l5.25-1.882%201.233-2.986-2.208-4.36-.291-.571%203.066-3.066%205.045%202.376%202.988-1.236%201.517-4.645.196-.616h4.34l1.88%205.253%202.983%201.236%204.358-2.212.58-.29%203.069%203.065-2.377%205.038%201.228%202.993%204.654%201.517.611.196v4.337z%22%20fill=%22#0ff%22/%3E%3Cg%20transform=%22matrix(.85604%200%200%20.85604%2085.035%2091.517)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E", - "otid": 1596697289362 + "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=%22M164.218%2077.643L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v26.186l61.698.046c8.012-.043%2015.705%203.133%2021.47%208.81l61.448%2061.315a57.292%2057.292%200%200%200%2039.993%2016.139%2057.292%2057.292%200%200%200-39.993%2016.14L83.668%20190.45c-5.765%205.677-13.458%208.853-21.47%208.81L.5%20199.306v26.186h62.612c14.924.039%2029.463-5.9%2040.204-16.28l60.902-60.863a29.857%2029.857%200%200%201%2021.347-8.81l146.53-.113V86.457H185.571a29.884%2029.884%200%200%201-21.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "34028c73-8f61-4f50-a039-0a57d6056946", - "type": "basic.outputLabel", + "id": "29a44a77-ec20-436d-a9e8-7fc2ca5de57e", + "type": "basic.input", "data": { - "name": "addr", - "range": "[3:0]", - "blockColor": "navy", - "size": 4, - "oldBlockColor": "fuchsia" + "name": "1", + "range": "[7:0]", + "clock": false, + "size": 8 }, "position": { - "x": 872, - "y": -144 + "x": 120, + "y": 168 } }, { - "id": "40e3c20c-5598-44a1-b5b4-760dba97d882", - "type": "basic.outputLabel", + "id": "756c8eb7-3567-48b4-9757-fe992499b794", + "type": "basic.output", "data": { - "name": "din_r", - "range": "[7:0]", - "oldBlockColor": "fuchsia", - "blockColor": "fuchsia", - "size": 8 + "name": "", + "range": "[23:0]", + "size": 24 }, "position": { - "x": 872, - "y": -64 + "x": 640, + "y": 200 } }, { - "id": "38abb13c-8652-41fb-931c-c7bf760ebb24", - "type": "basic.output", + "id": "c4ca0e6a-6557-45ee-8363-1bffebaad486", + "type": "basic.input", "data": { - "name": "busy" + "name": "0", + "range": "[15:0]", + "clock": false, + "size": 16 }, "position": { - "x": 1832, - "y": -56 + "x": 120, + "y": 264 } }, { - "id": "a040cc3d-b2c6-458e-bde6-f8234a19b6d1", - "type": "basic.outputLabel", + "id": "16e78204-213e-4833-9096-89d735307ec2", + "type": "basic.code", "data": { - "blockColor": "fuchsia", - "name": "busy" + "code": "assign o = {i1, i0};\n", + "params": [], + "ports": { + "in": [ + { + "name": "i1", + "range": "[7:0]", + "size": 8 + }, + { + "name": "i0", + "range": "[15:0]", + "size": 16 + } + ], + "out": [ + { + "name": "o", + "range": "[23:0]", + "size": 24 + } + ] + } }, "position": { - "x": 1640, - "y": -56 + "x": 296, + "y": 176 + }, + "size": { + "width": 272, + "height": 104 } + } + ], + "wires": [ + { + "source": { + "block": "c4ca0e6a-6557-45ee-8363-1bffebaad486", + "port": "out" + }, + "target": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i0" + }, + "size": 16 }, { - "id": "d1540ef0-9272-4082-9b24-9843ddb00cd7", - "type": "basic.outputLabel", + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o" + }, + "target": { + "block": "756c8eb7-3567-48b4-9757-fe992499b794", + "port": "in" + }, + "size": 24 + }, + { + "source": { + "block": "29a44a77-ec20-436d-a9e8-7fc2ca5de57e", + "port": "out" + }, + "target": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i1" + }, + "size": 8 + } + ] + } + } + }, + "df0f3f06c52c56d0d046f2ceed137a642c18ae0a": { + "package": { + "name": "Bus32-Split-8-24 CLONE", + "version": "0.1-c1628225021128", + "description": "Bus32-Split-8-24: Split the 28-bits bus into two buses of 8 and 24 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": { + "graph": { + "blocks": [ + { + "id": "f1c65ee1-45a3-412a-a3a4-cd3e16ce49d1", + "type": "basic.output", "data": { - "blockColor": "fuchsia", - "name": "wr", - "oldBlockColor": "fuchsia" + "name": "1", + "range": "[23:0]", + "size": 24 }, "position": { - "x": 856, - "y": 24 + "x": 592, + "y": 152 } }, { - "id": "7fb933a6-5c63-4d46-8aaa-440b30974993", + "id": "5204a9f1-594b-4216-b993-03b46bef9e6e", "type": "basic.input", "data": { "name": "", - "clock": true + "range": "[31:0]", + "clock": false, + "size": 32 }, "position": { - "x": -120, - "y": 80 + "x": 72, + "y": 208 } }, { - "id": "2c31aa6a-383c-4eb5-b669-b8a31ad14225", - "type": "basic.inputLabel", + "id": "bbc72c72-9eec-46c2-aeff-4233b746b9c2", + "type": "basic.output", "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "name": "0", + "range": "[7:0]", + "size": 8 }, "position": { - "x": 24, - "y": 80 + "x": 592, + "y": 232 } }, { - "id": "8ca2279c-fdc3-40d3-9fbe-2071c026932f", - "type": "basic.outputLabel", + "id": "16e78204-213e-4833-9096-89d735307ec2", + "type": "basic.code", "data": { - "blockColor": "fuchsia", - "name": "bus_mine", - "oldBlockColor": "fuchsia" + "code": "assign o1 = i[31:8];\nassign o0 = i[7:0];", + "params": [], + "ports": { + "in": [ + { + "name": "i", + "range": "[31:0]", + "size": 32 + } + ], + "out": [ + { + "name": "o1", + "range": "[23:0]", + "size": 24 + }, + { + "name": "o0", + "range": "[7:0]", + "size": 8 + } + ] + } }, "position": { - "x": 880, - "y": 112 + "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 }, { - "id": "1dae6915-2355-4174-95e5-088a7499fb42", - "type": "basic.outputLabel", - "data": { - "name": "mbi", - "range": "[13:0]", - "blockColor": "fuchsia", - "size": 14 + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o0" }, - "position": { - "x": 1120, - "y": 120 - } + "target": { + "block": "bbc72c72-9eec-46c2-aeff-4233b746b9c2", + "port": "in" + }, + "size": 8 }, { - "id": "0d362d8c-37c7-4a07-af15-ae7af9bbc7c9", + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o1" + }, + "target": { + "block": "f1c65ee1-45a3-412a-a3a4-cd3e16ce49d1", + "port": "in" + }, + "size": 24 + } + ] + } + } + }, + "ab13f05d92d80a82af1a712a92621ea26dde55f3": { + "package": { + "name": "Bus24-Split-16-8", + "version": "0.1", + "description": "Bus24-Split-16-8: Split the 24-bits bus into two buses of 16 and 8 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": { + "graph": { + "blocks": [ + { + "id": "4ca7b72f-724d-435c-8490-645c338586db", "type": "basic.output", "data": { - "name": "mbo", - "range": "[13:0]", - "size": 14 + "name": "1", + "range": "[15:0]", + "size": 16 }, "position": { - "x": 1480, - "y": 120 + "x": 600, + "y": 128 } }, { - "id": "9cabcf85-d855-4e65-96c9-13c244d34d4d", + "id": "901245a6-b7da-4af7-8917-7a47e5675ae1", "type": "basic.input", "data": { - "name": "mbus", - "range": "[13:0]", + "name": "", + "range": "[23:0]", "clock": false, - "size": 14 + "size": 24 }, "position": { - "x": -128, - "y": 216 + "x": 96, + "y": 200 } }, { - "id": "6063cdbd-2840-4dec-99f5-d24004ff1c48", - "type": "basic.inputLabel", + "id": "872cccab-7461-412b-9924-bad211fa1922", + "type": "basic.output", "data": { - "name": "mbi", - "range": "[13:0]", - "pins": [ - { - "index": "13", - "name": "", - "value": "" - }, - { - "index": "12", - "name": "", - "value": "" - }, - { - "index": "11", - "name": "", - "value": "" - }, - { - "index": "10", - "name": "", - "value": "" - }, - { - "index": "9", - "name": "", - "value": "" - }, - { - "index": "8", - "name": "", - "value": "" - }, - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia" + "name": "0", + "range": "[7:0]", + "size": 8 }, "position": { - "x": 40, - "y": 216 + "x": 592, + "y": 224 } }, { - "id": "45f97815-a402-46f1-a60b-bc584aa6a2ca", - "type": "basic.outputLabel", + "id": "16e78204-213e-4833-9096-89d735307ec2", + "type": "basic.code", "data": { - "name": "mbi", - "range": "[13:0]", - "blockColor": "fuchsia", - "size": 14 + "code": "assign o1 = i[23:8];\nassign o0 = i[7:0];", + "params": [], + "ports": { + "in": [ + { + "name": "i", + "range": "[23:0]", + "size": 24 + } + ], + "out": [ + { + "name": "o1", + "range": "[15:0]", + "size": 16 + }, + { + "name": "o0", + "range": "[7:0]", + "size": 8 + } + ] + } }, "position": { - "x": 216, - "y": 216 + "x": 272, + "y": 168 + }, + "size": { + "width": 240, + "height": 120 } - }, + } + ], + "wires": [ { - "id": "7d0852c6-4778-4a53-bf90-30527c44a0eb", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk" + "source": { + "block": "901245a6-b7da-4af7-8917-7a47e5675ae1", + "port": "out" }, - "position": { - "x": 1640, - "y": 224 - } + "target": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i" + }, + "size": 24 }, { - "id": "9be4488d-51be-4346-8a31-5d8f2f86e4d3", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "bus_mine", - "oldBlockColor": "fuchsia" + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o1" }, - "position": { - "x": 936, - "y": 248 - } + "target": { + "block": "4ca7b72f-724d-435c-8490-645c338586db", + "port": "in" + }, + "size": 16 }, { - "id": "95c4416f-62f5-4196-a406-f7915d40a572", + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o0" + }, + "target": { + "block": "872cccab-7461-412b-9924-bad211fa1922", + "port": "in" + }, + "size": 8 + } + ] + } + } + }, + "306ca367fbbc5181b3c709d73f447e0710871a1d": { + "package": { + "name": "Bus16-Split-half", + "version": "0.1", + "description": "Bus16-Split-half: Split the 16-bits bus into two buses of the same size", + "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": { + "graph": { + "blocks": [ + { + "id": "6ac467f0-b16b-44ef-8f03-ae206c13186e", "type": "basic.output", "data": { - "name": "done" + "name": "1", + "range": "[7:0]", + "size": 8 }, "position": { - "x": 1952, - "y": 280 + "x": 608, + "y": 176 } }, { - "id": "289f00be-f97d-4553-a60a-32d8b45da4cc", - "type": "basic.outputLabel", + "id": "a0c9783a-c287-45a7-bfc7-9da552cf732f", + "type": "basic.input", "data": { - "blockColor": "fuchsia", - "name": "done", - "oldBlockColor": "fuchsia" + "name": "", + "range": "[15:0]", + "clock": false, + "size": 16 }, "position": { - "x": 1632, - "y": 296 + "x": 96, + "y": 208 } }, { - "id": "b14f140b-7bb5-46d9-8019-39c27ff6e0e3", - "type": "basic.input", + "id": "0e7ef93d-c4da-4c2e-9653-7a470dc912b6", + "type": "basic.output", "data": { - "name": "start", - "clock": false + "name": "0", + "range": "[7:0]", + "size": 8 }, "position": { - "x": -88, - "y": 312 + "x": 608, + "y": 272 } }, { - "id": "da45f105-3600-4458-a820-50046581f5dd", - "type": "basic.inputLabel", + "id": "16e78204-213e-4833-9096-89d735307ec2", + "type": "basic.code", "data": { - "blockColor": "fuchsia", - "name": "start", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "code": "assign o1 = i[15:8];\nassign o0 = i[7:0];", + "params": [], + "ports": { + "in": [ + { + "name": "i", + "range": "[15:0]", + "size": 16 + } + ], + "out": [ + { + "name": "o1", + "range": "[7:0]", + "size": 8 + }, + { + "name": "o0", + "range": "[7:0]", + "size": 8 + } + ] + } }, "position": { - "x": 56, - "y": 312 + "x": 272, + "y": 176 + }, + "size": { + "width": 240, + "height": 120 } + } + ], + "wires": [ + { + "source": { + "block": "a0c9783a-c287-45a7-bfc7-9da552cf732f", + "port": "out" + }, + "target": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i" + }, + "size": 16 }, { - "id": "923c4db6-0c76-4647-a848-75fd61fba6ec", - "type": "basic.outputLabel", + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o1" + }, + "target": { + "block": "6ac467f0-b16b-44ef-8f03-ae206c13186e", + "port": "in" + }, + "size": 8 + }, + { + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o0" + }, + "target": { + "block": "0e7ef93d-c4da-4c2e-9653-7a470dc912b6", + "port": "in" + }, + "size": 8 + } + ] + } + } + }, + "ab06af09e4825434c378ef37d8362e7818fd4a8f": { + "package": { + "name": "Bus32-Join-8-24", + "version": "0.1", + "description": "Bus32-Join-8-24: Join the two buses into an 32-bits Bus", + "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=%22M164.218%2077.643L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v26.186l61.698.046c8.012-.043%2015.705%203.133%2021.47%208.81l61.448%2061.315a57.292%2057.292%200%200%200%2039.993%2016.139%2057.292%2057.292%200%200%200-39.993%2016.14L83.668%20190.45c-5.765%205.677-13.458%208.853-21.47%208.81L.5%20199.306v26.186h62.612c14.924.039%2029.463-5.9%2040.204-16.28l60.902-60.863a29.857%2029.857%200%200%201%2021.347-8.81l146.53-.113V86.457H185.571a29.884%2029.884%200%200%201-21.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "40f9d1d0-01e9-40c2-b4a4-e7277a78c006", + "type": "basic.input", "data": { - "blockColor": "fuchsia", - "name": "done", - "oldBlockColor": "fuchsia" + "name": "1", + "range": "[7:0]", + "clock": false, + "size": 8 }, "position": { - "x": 936, - "y": 312 + "x": 120, + "y": 104 } }, { - "id": "05a1a5b4-bf29-49df-b0b1-887859d9ec9e", - "type": "basic.inputLabel", + "id": "a121f12a-dede-4aec-9016-4c8e92ed75e2", + "type": "basic.output", "data": { - "blockColor": "fuchsia", - "name": "bbusy", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "name": "", + "range": "[31:0]", + "size": 32 }, "position": { - "x": 560, - "y": 336 + "x": 648, + "y": 200 } }, { - "id": "9978357f-7ad7-44b5-97d2-b44692508773", + "id": "3b957f7a-e94e-490f-8313-231ef9f2bdae", "type": "basic.input", "data": { - "name": "din", - "range": "[7:0]", + "name": "0", + "range": "[23:0]", "clock": false, - "size": 8 + "size": 24 }, "position": { - "x": -88, - "y": 392 + "x": 120, + "y": 224 } }, { - "id": "5344b55b-0e5d-4444-88ef-fd6b3caa1c5b", - "type": "basic.inputLabel", + "id": "16e78204-213e-4833-9096-89d735307ec2", + "type": "basic.code", "data": { - "name": "din", - "range": "[7:0]", - "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia" + "code": "assign o = {i1, i0};\n", + "params": [], + "ports": { + "in": [ + { + "name": "i1", + "range": "[7:0]", + "size": 8 + }, + { + "name": "i0", + "range": "[23:0]", + "size": 24 + } + ], + "out": [ + { + "name": "o", + "range": "[31:0]", + "size": 32 + } + ] + } }, "position": { - "x": 64, - "y": 392 + "x": 296, + "y": 176 + }, + "size": { + "width": 272, + "height": 104 } + } + ], + "wires": [ + { + "source": { + "block": "3b957f7a-e94e-490f-8313-231ef9f2bdae", + "port": "out" + }, + "target": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i0" + }, + "size": 24 }, { - "id": "5884d0cb-fd13-4b25-b561-c919079d2136", + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o" + }, + "target": { + "block": "a121f12a-dede-4aec-9016-4c8e92ed75e2", + "port": "in" + }, + "size": 32 + }, + { + "source": { + "block": "40f9d1d0-01e9-40c2-b4a4-e7277a78c006", + "port": "out" + }, + "target": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i1" + }, + "vertices": [ + { + "x": 232, + "y": 176 + } + ], + "size": 8 + } + ] + } + } + }, + "0a6d3fd7e8667266ebd0a92cc4be4fa2d468f122": { + "package": { + "name": "32-Sys-reg-rst", + "version": "0.8", + "description": "32-Sys-reg-rst: 32 bits system register with reset. Verilog implementation", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20width=%22252.294%22%20height=%22220.368%22%20viewBox=%220%200%2066.75283%2058.305748%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M25.682%2041.088L39.29%2057.76l-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M18.298%2033.024L9.066%2013.41l-6.45%203.724-2.07-3.583%2020.905-12.07%202.069%203.584-6.092%203.517%2012.03%2018.223s5.399-2.025%208.535.74c3.137%202.766%202.52%204.92%202.887%204.773L17.192%2045.956s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M42.022%2040.152l13.607%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M34.638%2032.088l-9.232-19.613-6.451%203.724-2.07-3.583L37.792.546%2039.86%204.13l-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.137%202.766%202.52%204.92%202.887%204.772L33.532%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20transform=%22translate(-38.356%20-17.732)%22%3E%3Crect%20width=%2224.412%22%20height=%2213.185%22%20x=%2280.3%22%20y=%2221.375%22%20ry=%222.247%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%22.794%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:1.25%22%20x=%2282.245%22%20y=%2230.943%22%20font-weight=%22400%22%20font-size=%2210.583%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20x=%2282.245%22%20y=%2230.943%22%20font-weight=%22700%22%3ESys%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E", + "otid": 1618509859237 + }, + "design": { + "graph": { + "blocks": [ + { + "id": "34c6aff6-7aca-4cc1-8d79-d6143d2f6937", "type": "basic.output", "data": { "name": "nc" }, "position": { - "x": 1936, - "y": 488 + "x": 920, + "y": -24 } }, { - "id": "54e9bf9f-b852-4c45-bd53-f6eb4ee707eb", - "type": "basic.inputLabel", + "id": "83ce9e72-711d-44f2-bbf5-b01c201a652a", + "type": "basic.output", "data": { - "blockColor": "fuchsia", - "name": "start_read", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "name": "nc" }, "position": { - "x": 608, - "y": 504 + "x": 920, + "y": 56 } }, { - "id": "fce01e4d-e6d2-4811-8f96-410673168b4c", - "type": "basic.outputLabel", + "id": "0ae5a502-ee21-47ad-bacb-405a35a87a91", + "type": "basic.input", "data": { - "blockColor": "fuchsia", - "name": "bbusy", - "oldBlockColor": "fuchsia" + "name": "", + "clock": true }, "position": { - "x": 152, - "y": 552 + "x": 368, + "y": 64 } }, { - "id": "700d8b15-d6df-4b76-b10d-72db58c33e6c", - "type": "basic.inputLabel", + "id": "892d93f1-9c4c-46c1-82c7-ff9702a5725a", + "type": "basic.input", "data": { - "blockColor": "fuchsia", - "name": "bus_mine", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "name": "rst", + "clock": false }, "position": { - "x": 776, - "y": 584 + "x": 376, + "y": 200 } }, { - "id": "5b15b8c9-8fb1-410a-8910-a60ef283ff1d", - "type": "basic.outputLabel", + "id": "7995c7b0-4a39-4a19-aaa4-68f4e469912f", + "type": "basic.output", "data": { - "blockColor": "yellow", - "name": "clk" + "name": "", + "range": "[31:0]", + "size": 32 }, "position": { - "x": 1496, - "y": 648 + "x": 920, + "y": 200 } }, { - "id": "524ca75c-cdd3-4e79-851a-b46ce146bd66", - "type": "basic.outputLabel", + "id": "c48a2779-52ed-4dde-8f95-e8ce67397de8", + "type": "basic.input", "data": { - "blockColor": "fuchsia", - "name": "start" + "name": "", + "range": "[31:0]", + "clock": false, + "size": 32 }, "position": { - "x": 152, - "y": 696 + "x": 376, + "y": 336 } }, { - "id": "7e9db299-cb56-4cd9-a489-d5fbd6eb3e2f", - "type": "basic.inputLabel", + "id": "d1e52cbe-a82e-4bea-9ed0-e970eec3e43e", + "type": "basic.constant", "data": { - "blockColor": "fuchsia", - "name": "busy", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "name": "", + "value": "0", + "local": false }, "position": { - "x": 1184, - "y": 704 + "x": 656, + "y": -80 } }, { - "id": "28d32f23-19b6-4a8c-8ac6-edbbb1a0e999", - "type": "basic.outputLabel", + "id": "2cc2ff9d-ebfc-43e2-83d7-5c4a6d8c77e6", + "type": "basic.code", "data": { - "name": "din", - "range": "[7:0]", - "blockColor": "fuchsia", - "size": 8 + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "rst" + }, + { + "name": "d", + "range": "[31:0]", + "size": 32 + } + ], + "out": [ + { + "name": "q", + "range": "[31:0]", + "size": 32 + } + ] + }, + "params": [ + { + "name": "INI" + } + ], + "code": "//-- Generic System register\n//-- with reset\n//-- Number of bits\nlocalparam N = 32;\n\n//-- Initial value\nreg [N-1:0] qi = INI;\n\nalways @(posedge clk)\nbegin\n\n //-- Reset: Capture the initial\n //-- value\n if (rst == 1'b1)\n qi <= INI;\n \n //-- No reset: Capture the input\n else\n qi <= d;\nend\n\n//-- Connect the register with the\n//-- output\nassign q = qi;\n" }, "position": { - "x": 1496, - "y": 712 - } - }, + "x": 528, + "y": 32 + }, + "size": { + "width": 344, + "height": 400 + } + } + ], + "wires": [ { - "id": "703240cb-6595-44d0-a266-869db1fe0889", - "type": "basic.inputLabel", - "data": { - "name": "din_r", - "range": "[7:0]", - "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia", - "oldBlockColor": "fuchsia" + "source": { + "block": "2cc2ff9d-ebfc-43e2-83d7-5c4a6d8c77e6", + "port": "q" }, - "position": { - "x": 1840, - "y": 712 + "target": { + "block": "7995c7b0-4a39-4a19-aaa4-68f4e469912f", + "port": "in" + }, + "vertices": [], + "size": 32 + }, + { + "source": { + "block": "d1e52cbe-a82e-4bea-9ed0-e970eec3e43e", + "port": "constant-out" + }, + "target": { + "block": "2cc2ff9d-ebfc-43e2-83d7-5c4a6d8c77e6", + "port": "INI" + }, + "vertices": [] + }, + { + "source": { + "block": "892d93f1-9c4c-46c1-82c7-ff9702a5725a", + "port": "out" + }, + "target": { + "block": "2cc2ff9d-ebfc-43e2-83d7-5c4a6d8c77e6", + "port": "rst" } }, { - "id": "7df4a7f1-90b6-4562-8be3-e4719a824545", - "type": "basic.outputLabel", + "source": { + "block": "c48a2779-52ed-4dde-8f95-e8ce67397de8", + "port": "out" + }, + "target": { + "block": "2cc2ff9d-ebfc-43e2-83d7-5c4a6d8c77e6", + "port": "d" + }, + "size": 32 + }, + { + "source": { + "block": "0ae5a502-ee21-47ad-bacb-405a35a87a91", + "port": "out" + }, + "target": { + "block": "2cc2ff9d-ebfc-43e2-83d7-5c4a6d8c77e6", + "port": "clk" + } + } + ] + } + } + }, + "5018a67fe520592d7f82dbf669bb3c3661624b65": { + "package": { + "name": "Button-tic", + "version": "0.6", + "description": "Button-tic: Configurable button that emits a tic when it is pressed", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20width=%22293.977%22%20height=%22257.958%22%20viewBox=%220%200%2077.781366%2068.251365%22%3E%3Cdefs%3E%3ClinearGradient%20gradientTransform=%22matrix(-.013%20-.01966%20.01932%20-.01493%20151.654%20290.082)%22%20gradientUnits=%22userSpaceOnUse%22%20y2=%222300.215%22%20x2=%226069.057%22%20y1=%222538.05%22%20x1=%225466.681%22%20id=%22b%22%20xlink:href=%22#a%22/%3E%3ClinearGradient%20id=%22a%22%3E%3Cstop%20offset=%220%22%20stop-color=%22#c3875c%22/%3E%3Cstop%20offset=%22.48%22%20stop-color=%22#eccba3%22/%3E%3Cstop%20offset=%221%22%20stop-color=%22#fce0cb%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg%20transform=%22translate(138.022%20-134.888)%22%3E%3Cpath%20d=%22M-117.19%20184.278a20.69%209.094%200%200%200-13.734%202.307l-5.434.006-1.284%205.482a20.69%209.094%200%200%200-.238%201.3%2020.69%209.094%200%200%200%2020.69%209.093%2020.69%209.094%200%200%200%2020.69-9.094%2020.69%209.094%200%200%200-.029-.351h.064l-1.277-6.47-5.778.005a20.69%209.094%200%200%200-13.67-2.278z%22%20fill=%22#333%22%20stroke=%22#000%22%20stroke-width=%22.282%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20ry=%226.762%22%20rx=%2219.408%22%20cy=%22187.341%22%20cx=%22-117.074%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%22.282%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22matrix(.1018%200%200%20.10181%20-158.528%20145.536)%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-width=%222.772%22%3E%3Cellipse%20cx=%22406.087%22%20cy=%22399.216%22%20rx=%22184.221%22%20ry=%2272.858%22%20fill=%22green%22/%3E%3Cellipse%20cx=%22406.23%22%20cy=%22383.328%22%20rx=%22179.497%22%20ry=%2260.977%22%20fill=%22#0f0%22/%3E%3C/g%3E%3C/g%3E%3Cpath%20d=%22M126.16%20115.387c-1.523%201.514-2.14%203.307-2.023%205.326-.507%201.097-2.411%202.346-2.027%203.267-1.196%201.923-1.624%203.389-1.572%204.569-.544%201.24-.403%201.705-.348%202.268-2.266%203.497-4.092%208.255-5.878%2013.125-2.302%202.765-3.64%205.792-4.898%208.84-2.191%203.7-3.756%207.67-4.02%2011.394l-.265.558c2.996%203.107%204.946%201.524%207.018.747%206.637-3.112%209.504-8.52%2012.212-14.025.473-1.572%201.57-3.127%203.151-4.669%204.414-4.785%206.886-10.022%209.857-15.142.228-.428.58-1.032%201.143-1.941%201.675-1.795%203.418-4.997%205.132-7.612z%22%20fill=%22url(#b)%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.265%22%20transform=%22translate(-90.276%20-115.233)%22/%3E%3Cpath%20d=%22M18.486%2038.911c-2.362%202.823-3.506%206.298-4.228%2010.204.518.13%201.302-.444%202.155-1.196%202.575-6.067%201.848-7.142%202.073-9.008z%22%20fill=%22#f8ecf8%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.265%22/%3E%3Cpath%20d=%22M33.79%205.666c2.093-.057%203.853.53%205.373%201.582M31.832%208.759c2.001.286%203.946.663%205.428%201.788M30.331%2013.16c1.325-.48%203.02.099%204.83%201.005M29.98%2015.593l1.79.362%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%22.265%22/%3E%3Cg%20transform=%22matrix(1.2877%200%200%201.2877%20-70.904%20-45.941)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "653b2ced-3f13-4b1d-a2b6-c330c671067a", + "type": "basic.input", "data": { - "blockColor": "yellow", - "name": "clk" + "name": "", + "clock": true }, "position": { - "x": 880, - "y": 752 + "x": 128, + "y": -32 } }, { - "id": "8e8559df-135a-42b3-842d-7e6f7528aa8c", + "id": "98209ccc-d0f3-48fc-b10b-c2865b7442fc", "type": "basic.inputLabel", "data": { - "name": "addr", - "range": "[3:0]", - "pins": [ - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia", - "blockColor": "navy" + "blockColor": "yellow", + "name": "clk" }, "position": { - "x": 1232, - "y": 816 + "x": 280, + "y": -32 } }, { - "id": "dc204461-1dd1-428f-91a2-006d905d6585", - "type": "basic.outputLabel", + "id": "b58132b2-2e39-4a85-ab5b-63bded91cecc", + "type": "basic.output", "data": { - "blockColor": "fuchsia", - "name": "start_read" + "name": "s" }, "position": { - "x": 872, - "y": 832 + "x": 728, + "y": -16 } }, { - "id": "0db424eb-f896-41e1-becb-7eb065dd64f2", + "id": "2f9cf56e-789c-4621-923a-be59ef6ccd4a", "type": "basic.outputLabel", "data": { - "blockColor": "fuchsia", - "name": "busy" + "blockColor": "yellow", + "name": "clk", + "oldBlockColor": "fuchsia" }, "position": { - "x": 152, - "y": 840 + "x": 312, + "y": 104 } }, { - "id": "eda78d52-57f7-4e44-bd8e-75e67c496650", + "id": "b8666bca-0d3d-4cbb-8129-fcea674d428a", "type": "basic.outputLabel", "data": { - "blockColor": "fuchsia", - "name": "wr", + "blockColor": "yellow", + "name": "clk", "oldBlockColor": "fuchsia" }, "position": { - "x": 864, - "y": 904 + "x": 744, + "y": 136 } }, { - "id": "caf86b2c-c08d-411d-be47-4084fec9532e", - "type": "basic.inputLabel", + "id": "997db8c4-b772-49d8-83e7-4427aff720e6", + "type": "basic.output", "data": { - "blockColor": "fuchsia", - "name": "wr", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "name": "Press" }, "position": { - "x": 1216, - "y": 912 + "x": 1032, + "y": 184 } }, { - "id": "366a768a-2f5d-4c01-8338-bdef0a688ea7", - "type": "basic.inputLabel", + "id": "21bc142d-a93a-430d-b37a-326435def9f9", + "type": "basic.input", "data": { - "blockColor": "fuchsia", - "name": "done", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "name": "pin", + "clock": false }, "position": { - "x": 1144, - "y": 1008 + "x": 304, + "y": 200 } }, { - "id": "0a517454-aeac-48a3-bc62-6aa73da948bd", - "type": "basic.info", + "id": "7f2c89d2-aea0-4ff9-b4f9-52d70cefa867", + "type": "basic.constant", "data": { - "info": "Reading data from memory \nReading bus status", - "readonly": true + "name": "pup", + "value": "0", + "local": false }, "position": { - "x": 336, - "y": 120 - }, - "size": { - "width": 232, - "height": 64 + "x": 448, + "y": 56 } }, { - "id": "a200cfa9-fe9a-4c4b-b9d4-f4307d071797", - "type": "basic.info", + "id": "1ff8ad12-4df4-4aee-922b-c0c0fb449926", + "type": "basic.constant", "data": { - "info": "Calculate if the bus can be taken", - "readonly": true - }, - "position": { - "x": 216, - "y": 440 - }, - "size": { - "width": 272, - "height": 32 - } - }, - { - "id": "7a989d63-cd4a-4c47-9513-57b4ea6ee141", - "type": "35f267d0df6ffcb7fc33753bc9df9cf083642cca", - "position": { - "x": 296, - "y": 552 + "name": "not", + "value": "0", + "local": false }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", - "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", "position": { - "x": 464, - "y": 568 - }, - "size": { - "width": 96, - "height": 64 + "x": 560, + "y": 56 } }, { - "id": "239fe2ba-e2b9-4446-a1ea-51e1616f5b75", + "id": "15503ba9-0846-4d76-9fa4-dd8f67da8f08", "type": "basic.info", "data": { - "info": "The bus is available", + "info": "System clock", "readonly": true }, "position": { - "x": 384, - "y": 512 + "x": 136, + "y": -56 }, "size": { - "width": 184, - "height": 32 + "width": 136, + "height": 40 } }, { - "id": "b62ad9b4-5b0e-4b74-a0ad-947946a59331", + "id": "8f811ac3-ce9d-4e72-af71-03036c9426e7", "type": "basic.info", "data": { - "info": "This circuits wants \nto use the bus", + "info": "Button state signal", "readonly": true }, "position": { - "x": 280, - "y": 664 + "x": 720, + "y": -32 }, "size": { - "width": 192, - "height": 56 + "width": 176, + "height": 40 } }, { - "id": "c25805fd-f852-43d5-93db-f3f0cb17c301", + "id": "dee7b550-b7f2-40d7-955d-bfb931daba22", "type": "basic.info", "data": { - "info": "The bus has been already \ntaken", + "info": "Tic: button pressed", "readonly": true }, "position": { - "x": 272, - "y": 816 - }, - "size": { - "width": 208, - "height": 56 - } - }, - { - "id": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", - "type": "81613874c6152f06c06ed7014bf4235900cfcc30", - "position": { - "x": 648, - "y": 584 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "26b71a43-5955-4452-9b0e-94ea6ef453b7", - "type": "81613874c6152f06c06ed7014bf4235900cfcc30", - "position": { - "x": 1088, - "y": 296 + "x": 1024, + "y": 152 }, "size": { - "width": 96, - "height": 64 + "width": 184, + "height": 40 } }, { - "id": "d3ce12c0-3b45-4ed2-8446-fb6c4c8e8710", + "id": "88b26983-667f-40de-b1c6-c6710a7bbd4a", "type": "basic.info", "data": { - "info": "One cycle after the machine is done \nthe bus is already taken to write \nthe bbusy signal to 0 and allow \nother circuits to use it", + "info": "Rising edge detector", "readonly": true }, "position": { - "x": 960, - "y": 392 + "x": 872, + "y": 248 }, "size": { - "width": 304, - "height": 88 + "width": 184, + "height": 40 } }, { - "id": "110cf90a-bc63-4642-a72e-33e8e397e804", + "id": "0957ba76-2838-49cb-8fd4-b9fe42f21801", "type": "basic.info", "data": { - "info": "The output bus is controlled \nby this circuit (1) or \nremain untouched (0)", + "info": "Pull up on/off", "readonly": true }, "position": { - "x": 1352, - "y": 256 + "x": 448, + "y": 16 }, "size": { - "width": 240, - "height": 112 + "width": 152, + "height": 40 } }, { - "id": "0421b3fd-c660-4279-abe0-e1d486431ce0", + "id": "5a5caef3-ffd0-46a4-9f63-e55aa8cd750d", "type": "basic.info", "data": { - "info": "The reading machine \ncan be started", + "info": "Not on/off", "readonly": true }, "position": { - "x": 584, - "y": 456 - }, - "size": { - "width": 184, - "height": 64 - } - }, - { - "id": "165f75a6-a05d-4025-aac5-91f45cd6cd30", - "type": "1c7dae7144d376f2ee4896fcc502a29110e2db37", - "position": { - "x": 1808, - "y": 280 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "1d98c440-947b-4591-946a-b35d277853b1", - "type": "56d27471f271f95a5d5eb660f7745d5d9329ab02", - "position": { - "x": 1680, - "y": 696 + "x": 576, + "y": 16 }, "size": { - "width": 96, - "height": 96 + "width": 120, + "height": 32 } }, { - "id": "0414e63d-55c1-41b0-abdf-4e02d0f68ff9", - "type": "725b7e2cb9666b5ed3183537d9c898f096dab82a", + "id": "541797cf-83f6-45cf-9a33-0009bb231e47", + "type": "ae13be3e513e7cb48d47d3fb3aa840dd85dc1f5e", "position": { - "x": 1504, - "y": 792 + "x": 888, + "y": 168 }, "size": { "width": 96, @@ -8459,504 +7979,399 @@ } }, { - "id": "cb239ba5-a0b6-498b-817d-0f0013b987c0", - "type": "basic.info", - "data": { - "info": "## Sample machine\n\nRead the input data, (one byte per clock cycle) and store it into the memory\n\n", - "readonly": true - }, - "position": { - "x": -104, - "y": -192 - }, - "size": { - "width": 648, - "height": 104 - } - }, - { - "id": "609dbf24-0993-4b6c-b756-89c07956ceb6", - "type": "f1dc888a11b743f08087b6e65015fe269bed1f6f", + "id": "eed1d43a-6faf-4ca5-b3b8-f1e071234e0f", + "type": "091b3514573becaa7196cc3f7854140e5773864d", "position": { - "x": 384, + "x": 496, "y": 184 }, "size": { "width": 96, - "height": 128 - } - }, - { - "id": "2d992803-f074-4c94-b1a7-558ec08e9e80", - "type": "6050ed4fa033f3f13d3fe5fae5dcedb414a0fede", - "position": { - "x": 1080, - "y": -80 - }, - "size": { - "width": 96, - "height": 128 - } - }, - { - "id": "7a8892b7-c00f-43ba-84c9-0e184c5144bf", - "type": "7cd239bdd995aa0988ea7615327f97fbe335930d", - "position": { - "x": 1312, - "y": 104 - }, - "size": { - "width": 96, - "height": 96 - } - }, - { - "id": "cf4e570a-5ee4-4836-8dab-4d4340c3acb3", - "type": "efe39aa2a101707774e24b099a0654cc52ff8a04", - "position": { - "x": 1016, - "y": 800 - }, - "size": { - "width": 96, - "height": 128 + "height": 64 } } ], "wires": [ { "source": { - "block": "7fb933a6-5c63-4d46-8aaa-440b30974993", + "block": "653b2ced-3f13-4b1d-a2b6-c330c671067a", "port": "out" }, "target": { - "block": "2c31aa6a-383c-4eb5-b669-b8a31ad14225", + "block": "98209ccc-d0f3-48fc-b10b-c2865b7442fc", "port": "inlabel" }, "vertices": [] }, { "source": { - "block": "b14f140b-7bb5-46d9-8019-39c27ff6e0e3", - "port": "out" + "block": "2f9cf56e-789c-4621-923a-be59ef6ccd4a", + "port": "outlabel" }, "target": { - "block": "da45f105-3600-4458-a820-50046581f5dd", - "port": "inlabel" - } + "block": "eed1d43a-6faf-4ca5-b3b8-f1e071234e0f", + "port": "59f7bee9-9832-421d-aa0a-de177f3f121d" + }, + "vertices": [ + { + "x": 424, + "y": 160 + } + ] }, { "source": { - "block": "609dbf24-0993-4b6c-b756-89c07956ceb6", - "port": "9751f777-00ec-46c1-8d85-07d2dec1e653" + "block": "b8666bca-0d3d-4cbb-8129-fcea674d428a", + "port": "outlabel" }, "target": { - "block": "05a1a5b4-bf29-49df-b0b1-887859d9ec9e", - "port": "inlabel" + "block": "541797cf-83f6-45cf-9a33-0009bb231e47", + "port": "2708468d-1088-4570-be63-fb0d4799a941" } }, { "source": { - "block": "7df4a7f1-90b6-4562-8be3-e4719a824545", - "port": "outlabel" + "block": "21bc142d-a93a-430d-b37a-326435def9f9", + "port": "out" }, "target": { - "block": "cf4e570a-5ee4-4836-8dab-4d4340c3acb3", - "port": "cb426e3d-ace3-4a57-a74b-155caed0c14c" + "block": "eed1d43a-6faf-4ca5-b3b8-f1e071234e0f", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" } }, { "source": { - "block": "fce01e4d-e6d2-4811-8f96-410673168b4c", - "port": "outlabel" + "block": "eed1d43a-6faf-4ca5-b3b8-f1e071234e0f", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "7a989d63-cd4a-4c47-9513-57b4ea6ee141", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - }, - "vertices": [] + "block": "b58132b2-2e39-4a85-ab5b-63bded91cecc", + "port": "in" + } }, { "source": { - "block": "524ca75c-cdd3-4e79-851a-b46ce146bd66", - "port": "outlabel" + "block": "eed1d43a-6faf-4ca5-b3b8-f1e071234e0f", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", - "port": "97b51945-d716-4b6c-9db9-970d08541249" + "block": "541797cf-83f6-45cf-9a33-0009bb231e47", + "port": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff" }, "vertices": [] }, { "source": { - "block": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" - }, - "target": { - "block": "700d8b15-d6df-4b76-b10d-72db58c33e6c", - "port": "inlabel" - }, - "vertices": [] - }, - { - "source": { - "block": "0db424eb-f896-41e1-becb-7eb065dd64f2", - "port": "outlabel" + "block": "541797cf-83f6-45cf-9a33-0009bb231e47", + "port": "1c25e08e-e664-4fab-9b30-cedc1f8a3739" }, "target": { - "block": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", - "port": "97b51945-d716-4b6c-9db9-970d08541249" - }, - "vertices": [ - { - "x": 584, - "y": 824 - } - ] + "block": "997db8c4-b772-49d8-83e7-4427aff720e6", + "port": "in" + } }, { "source": { - "block": "9be4488d-51be-4346-8a31-5d8f2f86e4d3", - "port": "outlabel" + "block": "7f2c89d2-aea0-4ff9-b4f9-52d70cefa867", + "port": "constant-out" }, "target": { - "block": "26b71a43-5955-4452-9b0e-94ea6ef453b7", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - }, - "vertices": [] + "block": "eed1d43a-6faf-4ca5-b3b8-f1e071234e0f", + "port": "07e7cb88-d87c-4aa3-9938-fc226e3f4815" + } }, { "source": { - "block": "923c4db6-0c76-4647-a848-75fd61fba6ec", - "port": "outlabel" + "block": "1ff8ad12-4df4-4aee-922b-c0c0fb449926", + "port": "constant-out" }, "target": { - "block": "26b71a43-5955-4452-9b0e-94ea6ef453b7", - "port": "97b51945-d716-4b6c-9db9-970d08541249" - }, - "vertices": [] - }, + "block": "eed1d43a-6faf-4ca5-b3b8-f1e071234e0f", + "port": "6aacd3c5-a3e9-4a17-afb8-2b1271b3054c" + } + } + ] + } + } + }, + "ae13be3e513e7cb48d47d3fb3aa840dd85dc1f5e": { + "package": { + "name": "Rising-edge-detector", + "version": "0.4", + "description": "Rising-edge detector. It generates a 1-period pulse (tic) when a rising edge is detected on the input. Block implementation", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22185.363%22%20height=%22183.398%22%20viewBox=%220%200%2049.043981%2048.524089%22%3E%3Cg%20stroke-linecap=%22round%22%3E%3Cg%20fill=%22none%22%20stroke=%22#00f%22%3E%3Cpath%20d=%22M13.478%2032.434l6.026%207.975-5.054%206.03%201.749%201.556m-3.96-15.367l-3.5%207.976-7.97%201.555.583%202.529%22%20stroke-width=%221.058%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M12.773%2032.628V2.686%22%20stroke-width=%223.969%22/%3E%3Cpath%20d=%22M1.984%2012.436L12.673%201.984l10.35%2010.452%22%20stroke-width=%223.969%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(.842%200%200%20.842%20-48.178%20-26.157)%22%20stroke=%22green%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ { - "source": { - "block": "cf4e570a-5ee4-4836-8dab-4d4340c3acb3", - "port": "49221b19-132a-4e3f-9a1f-97bcd463391b" + "id": "2708468d-1088-4570-be63-fb0d4799a941", + "type": "basic.input", + "data": { + "name": "", + "clock": true }, - "target": { - "block": "366a768a-2f5d-4c01-8338-bdef0a688ea7", - "port": "inlabel" + "position": { + "x": 152, + "y": 152 } }, { - "source": { - "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "id": "9215ae7b-9960-4c8e-b80c-4d636db8510d", + "type": "basic.output", + "data": { + "name": "nc" }, - "target": { - "block": "54e9bf9f-b852-4c45-bd53-f6eb4ee707eb", - "port": "inlabel" + "position": { + "x": 840, + "y": 160 } }, { - "source": { - "block": "dc204461-1dd1-428f-91a2-006d905d6585", - "port": "outlabel" + "id": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", + "type": "basic.input", + "data": { + "name": "", + "clock": false }, - "target": { - "block": "cf4e570a-5ee4-4836-8dab-4d4340c3acb3", - "port": "8f591b24-0427-409f-aa6e-ca1861556cf5" + "position": { + "x": 152, + "y": 280 } }, { - "source": { - "block": "cf4e570a-5ee4-4836-8dab-4d4340c3acb3", - "port": "6a11eaf9-4bd5-405e-81f8-44418365326b" + "id": "1c25e08e-e664-4fab-9b30-cedc1f8a3739", + "type": "basic.output", + "data": { + "name": "" }, - "target": { - "block": "7e9db299-cb56-4cd9-a489-d5fbd6eb3e2f", - "port": "inlabel" + "position": { + "x": 840, + "y": 400 } }, { - "source": { - "block": "a040cc3d-b2c6-458e-bde6-f8234a19b6d1", - "port": "outlabel" + "id": "49c0a94e-2687-4aa4-8cba-327b2942095f", + "type": "basic.info", + "data": { + "info": "## Rising edge detector\n\nIt generates a 1-period pulse (tic) when a rising edge is detected on the \ninput signal", + "readonly": true }, - "target": { - "block": "38abb13c-8652-41fb-931c-c7bf760ebb24", - "port": "in" + "position": { + "x": 176, + "y": -16 }, - "vertices": [] + "size": { + "width": 568, + "height": 80 + } }, { - "source": { - "block": "8ca2279c-fdc3-40d3-9fbe-2071c026932f", - "port": "outlabel" + "id": "a6ea5e17-d259-4272-8d1c-87a6a7fe3235", + "type": "basic.info", + "data": { + "info": "Input signal", + "readonly": true }, - "target": { - "block": "2d992803-f074-4c94-b1a7-558ec08e9e80", - "port": "49fb1766-1e7f-4706-9872-a6cd65cc9f2d" + "position": { + "x": 160, + "y": 256 + }, + "size": { + "width": 136, + "height": 40 } }, { - "source": { - "block": "289f00be-f97d-4553-a60a-32d8b45da4cc", - "port": "outlabel" + "id": "d0d6c668-3c03-42f5-9244-9a0431f11a87", + "type": "basic.info", + "data": { + "info": "System clock", + "readonly": true }, - "target": { - "block": "165f75a6-a05d-4025-aac5-91f45cd6cd30", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + "position": { + "x": 168, + "y": 120 + }, + "size": { + "width": 96, + "height": 48 } }, { - "source": { - "block": "7d0852c6-4778-4a53-bf90-30527c44a0eb", - "port": "outlabel" + "id": "f18011f4-eb45-4f91-9716-c1d8c99f1845", + "type": "basic.info", + "data": { + "info": "Current signal \nstate", + "readonly": true }, - "target": { - "block": "165f75a6-a05d-4025-aac5-91f45cd6cd30", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + "position": { + "x": 328, + "y": 456 + }, + "size": { + "width": 168, + "height": 48 } }, { - "source": { - "block": "cf4e570a-5ee4-4836-8dab-4d4340c3acb3", - "port": "73948305-b05b-418f-88af-11328f400cdc" + "id": "ab801839-c115-4e44-adb7-349586890b97", + "type": "basic.info", + "data": { + "info": "Signal state in the previous \nclock cycle", + "readonly": true }, - "target": { - "block": "caf86b2c-c08d-411d-be47-4084fec9532e", - "port": "inlabel" + "position": { + "x": 328, + "y": 200 + }, + "size": { + "width": 248, + "height": 48 } }, { - "source": { - "block": "d1540ef0-9272-4082-9b24-9843ddb00cd7", - "port": "outlabel" + "id": "fde5c436-d382-48e7-80b5-390c05f46b9d", + "type": "basic.info", + "data": { + "info": "If the current signal is 1 and its value in \nthe previous clock cycle was 0, it means \nthat a rising edge has been detected! \nThe output es 1\n\nIn any other case the output is 0", + "readonly": true }, - "target": { - "block": "2d992803-f074-4c94-b1a7-558ec08e9e80", - "port": "dbe1622c-3510-4132-8b5c-2fbf81d7f581" + "position": { + "x": 728, + "y": 256 }, - "vertices": [ - { - "x": 1000, - "y": 32 - } - ] + "size": { + "width": 344, + "height": 96 + } }, { - "source": { - "block": "40e3c20c-5598-44a1-b5b4-760dba97d882", - "port": "outlabel" + "id": "c3990bfd-57a6-4602-ab46-800486326dd6", + "type": "basic.info", + "data": { + "info": "**Delay**: 0 clock cycles \n\nThere is no delay between the arrival of a rising edge \nand its detection", + "readonly": true }, - "target": { - "block": "2d992803-f074-4c94-b1a7-558ec08e9e80", - "port": "25996d5e-6856-4828-8cb3-5dea5ff5cf9c", - "size": 8 + "position": { + "x": 528, + "y": 504 }, - "size": 8 + "size": { + "width": 416, + "height": 88 + } }, { - "source": { - "block": "9978357f-7ad7-44b5-97d2-b44692508773", - "port": "out", - "size": 8 - }, - "target": { - "block": "5344b55b-0e5d-4444-88ef-fd6b3caa1c5b", - "port": "inlabel" + "id": "70cfa680-3def-482c-b194-054c1f522357", + "type": "3676a00f3a70e406487ed14b901daf3e4984e63d", + "position": { + "x": 552, + "y": 280 }, - "size": 8 + "size": { + "width": 96, + "height": 64 + } }, { - "source": { - "block": "5b15b8c9-8fb1-410a-8910-a60ef283ff1d", - "port": "outlabel" + "id": "49c498a6-eb89-4e72-889d-26e39cea5ad0", + "type": "ba518ee261a2be13a9739cd3a01cdcebe0ef63c0", + "position": { + "x": 696, + "y": 400 }, - "target": { - "block": "1d98c440-947b-4591-946a-b35d277853b1", - "port": "096f61b6-6d5c-4907-9512-e65b25969458" + "size": { + "width": 96, + "height": 64 } }, { - "source": { - "block": "28d32f23-19b6-4a8c-8ac6-edbbb1a0e999", - "port": "outlabel" - }, - "target": { - "block": "1d98c440-947b-4591-946a-b35d277853b1", - "port": "35a0e425-acd1-4cd9-b3dc-ff7f451dce86", - "size": 8 - }, - "size": 8 - }, - { - "source": { - "block": "1d98c440-947b-4591-946a-b35d277853b1", - "port": "6da4196c-cae2-44ba-b472-b6b9f0e7b1f8", - "size": 8 - }, - "target": { - "block": "703240cb-6595-44d0-a266-869db1fe0889", - "port": "inlabel" - }, - "size": 8 - }, - { - "source": { - "block": "eda78d52-57f7-4e44-bd8e-75e67c496650", - "port": "outlabel" + "id": "4f9cbe33-5c5a-43fb-bb20-863555cd0c64", + "type": "58ed2b5c7e33e2f215ccba6c101d9ea4ff60f284", + "position": { + "x": 320, + "y": 264 }, - "target": { - "block": "cf4e570a-5ee4-4836-8dab-4d4340c3acb3", - "port": "ad4d0fc2-118e-496e-b292-c435bad20e7d" + "size": { + "width": 96, + "height": 64 } - }, - { - "source": { - "block": "9cabcf85-d855-4e65-96c9-13c244d34d4d", - "port": "out", - "size": 14 - }, - "target": { - "block": "6063cdbd-2840-4dec-99f5-d24004ff1c48", - "port": "inlabel" - }, - "vertices": [], - "size": 14 - }, - { - "source": { - "block": "45f97815-a402-46f1-a60b-bc584aa6a2ca", - "port": "outlabel" - }, - "target": { - "block": "609dbf24-0993-4b6c-b756-89c07956ceb6", - "port": "3178c182-b1bd-4e92-bc67-6e0868b62279", - "size": 14 - }, - "size": 14 - }, - { - "source": { - "block": "1dae6915-2355-4174-95e5-088a7499fb42", - "port": "outlabel" - }, - "target": { - "block": "7a8892b7-c00f-43ba-84c9-0e184c5144bf", - "port": "e3bb4d9b-5ba2-4987-bd84-cd8763a214cd", - "size": 14 - }, - "size": 14 - }, + } + ], + "wires": [ { "source": { - "block": "34028c73-8f61-4f50-a039-0a57d6056946", - "port": "outlabel" + "block": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", + "port": "out" }, "target": { - "block": "2d992803-f074-4c94-b1a7-558ec08e9e80", - "port": "5c70a159-1900-4d97-9e7d-961876e03bbe", - "size": 4 - }, - "size": 4 + "block": "4f9cbe33-5c5a-43fb-bb20-863555cd0c64", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + } }, { "source": { - "block": "cf4e570a-5ee4-4836-8dab-4d4340c3acb3", - "port": "a8eb520f-8b09-41ab-9146-919bf44b6078", - "size": 4 + "block": "2708468d-1088-4570-be63-fb0d4799a941", + "port": "out" }, "target": { - "block": "8e8559df-135a-42b3-842d-7e6f7528aa8c", - "port": "inlabel" - }, - "size": 4 + "block": "4f9cbe33-5c5a-43fb-bb20-863555cd0c64", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + } }, { "source": { - "block": "7a989d63-cd4a-4c47-9513-57b4ea6ee141", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "4f9cbe33-5c5a-43fb-bb20-863555cd0c64", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" }, "target": { - "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", + "block": "70cfa680-3def-482c-b194-054c1f522357", "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - }, - "vertices": [] + } }, { "source": { - "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", + "block": "70cfa680-3def-482c-b194-054c1f522357", "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, "target": { - "block": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", + "block": "49c498a6-eb89-4e72-889d-26e39cea5ad0", "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - }, - "vertices": [] - }, - { - "source": { - "block": "26b71a43-5955-4452-9b0e-94ea6ef453b7", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" - }, - "target": { - "block": "7a8892b7-c00f-43ba-84c9-0e184c5144bf", - "port": "1e637a79-4a6d-495c-bcac-9664bdbe4b94" - } - }, - { - "source": { - "block": "165f75a6-a05d-4025-aac5-91f45cd6cd30", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" - }, - "target": { - "block": "95c4416f-62f5-4196-a406-f7915d40a572", - "port": "in" } }, { "source": { - "block": "0414e63d-55c1-41b0-abdf-4e02d0f68ff9", - "port": "3d584b0a-29eb-47af-8c43-c0822282ef05" + "block": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", + "port": "out" }, "target": { - "block": "1d98c440-947b-4591-946a-b35d277853b1", - "port": "065ea371-8398-43b3-8341-287c234a3acb" + "block": "49c498a6-eb89-4e72-889d-26e39cea5ad0", + "port": "97b51945-d716-4b6c-9db9-970d08541249" } }, { "source": { - "block": "2d992803-f074-4c94-b1a7-558ec08e9e80", - "port": "d3e51db6-385f-454c-ab74-d71058b21962" - }, - "target": { - "block": "7a8892b7-c00f-43ba-84c9-0e184c5144bf", - "port": "c6fdfa0c-392c-41e8-b043-d6f35a656465" - }, - "size": 14 - }, - { - "source": { - "block": "7a8892b7-c00f-43ba-84c9-0e184c5144bf", - "port": "11f6b6c3-3db4-4536-b9af-3a4182303be7" + "block": "49c498a6-eb89-4e72-889d-26e39cea5ad0", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, "target": { - "block": "0d362d8c-37c7-4a07-af15-ae7af9bbc7c9", + "block": "1c25e08e-e664-4fab-9b30-cedc1f8a3739", "port": "in" - }, - "size": 14 + } } ] } } }, - "81613874c6152f06c06ed7014bf4235900cfcc30": { + "3676a00f3a70e406487ed14b901daf3e4984e63d": { "package": { - "name": "OR", - "version": "1.0.1", - "description": "Puerta OR", + "name": "NOT", + "version": "2.0", + "description": "NOT gate (Verilog implementation)", "author": "Jesús Arroyo, Juan González", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22192.718%22%20width=%22383.697%22%20version=%221%22%3E%3Cpath%20d=%22M175.56%20188.718H84.527s30.345-42.538%2031.086-94.03c.743-51.49-31.821-90.294-31.821-90.294L176.109%204c46.445%201.948%20103.899%2053.44%20123.047%2093.678-32.601%2067.503-92.158%2089.79-123.596%2091.04z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2047.292h99.605M4.883%20145.168h100.981M298.57%2098.89h81.07%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20font-weight=%22400%22%20font-size=%2266.317%22%20y=%22121.28%22%20x=%22131.572%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20font-weight=%22700%22%20y=%22121.28%22%20x=%22131.572%22%3EOR%3C/tspan%3E%3C/text%3E%3C/svg%3E" + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22317.651%22%20height=%22194.058%22%20version=%221%22%3E%3Cpath%20d=%22M69.246%204l161.86%2093.027-161.86%2093.031V4z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20cx=%22253.352%22%20cy=%2296.736%22%20rx=%2221.393%22%20ry=%2221.893%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2097.49h65.262m205.796%200h38.48%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%2281.112%22%20y=%22111.734%22%20transform=%22scale(.99532%201.0047)%22%20font-weight=%22400%22%20font-size=%2249.675%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%2281.112%22%20y=%22111.734%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%3ENot%3C/tspan%3E%3C/text%3E%3C/svg%3E" }, "design": { "graph": { @@ -8968,8 +8383,8 @@ "name": "" }, "position": { - "x": 64, - "y": 88 + "x": 112, + "y": 72 } }, { @@ -8979,39 +8394,25 @@ "name": "" }, "position": { - "x": 784, - "y": 152 - } - }, - { - "id": "97b51945-d716-4b6c-9db9-970d08541249", - "type": "basic.input", - "data": { - "name": "" - }, - "position": { - "x": 64, - "y": 224 + "x": 560, + "y": 72 } }, { - "id": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "id": "5365ed8c-e5db-4445-938f-8d689830ea5c", "type": "basic.code", "data": { - "code": "//-- Puerta OR\n\n//-- module and (input wire a, input wire b,\n//-- output wire c);\n\nassign c = a | b;\n\n//-- endmodule", + "code": "//-- NOT Gate\nassign q = ~a;\n\n", "params": [], "ports": { "in": [ { "name": "a" - }, - { - "name": "b" } ], "out": [ { - "name": "c" + "name": "q" } ] } @@ -9021,8 +8422,40 @@ "y": 48 }, "size": { - "width": 464, - "height": 272 + "width": 256, + "height": 104 + } + }, + { + "id": "e3bb41e3-1944-4946-9675-c2dbe2e49fcf", + "type": "basic.info", + "data": { + "info": "Input", + "readonly": true + }, + "position": { + "x": 128, + "y": 32 + }, + "size": { + "width": 80, + "height": 40 + } + }, + { + "id": "8408dd5f-945f-4a89-9790-7752813d4e91", + "type": "basic.info", + "data": { + "info": "Output", + "readonly": true + }, + "position": { + "x": 576, + "y": 40 + }, + "size": { + "width": 80, + "height": 40 } } ], @@ -9033,24 +8466,14 @@ "port": "out" }, "target": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "block": "5365ed8c-e5db-4445-938f-8d689830ea5c", "port": "a" } }, { "source": { - "block": "97b51945-d716-4b6c-9db9-970d08541249", - "port": "out" - }, - "target": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "b" - } - }, - { - "source": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "c" + "block": "5365ed8c-e5db-4445-938f-8d689830ea5c", + "port": "q" }, "target": { "block": "664caf9e-5f40-4df4-800a-b626af702e62", @@ -9061,70 +8484,65 @@ } } }, - "56d27471f271f95a5d5eb660f7745d5d9329ab02": { + "58ed2b5c7e33e2f215ccba6c101d9ea4ff60f284": { "package": { - "name": "8-bits-Reg", - "version": "0.1", - "description": "8-bits register (in verilog)", + "name": "sys-DFF-verilog", + "version": "3", + "description": "System - D Flip-flop. Capture data every system clock cycle. Verilog implementation", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22519.236%22%20height=%22279.911%22%20viewBox=%220%200%20137.38127%2074.059853%22%3E%3Cpath%20d=%22M41.506%2040.152l13.608%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke=%22#000%22%20stroke-width=%221.092%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M34.122%2032.088L24.89%2012.475l-6.45%203.724-2.07-3.583L37.276.546l2.07%203.584-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.772L33.017%2045.02s-2.849-3.695-2.16-6.795c.687-3.1%203.265-6.137%203.265-6.137z%22%20fill=%22red%22%20stroke=%22#000%22%20stroke-width=%221.092%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22translate(-93.518%20-22.665)%20scale(1.09073)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20cx=%22100.602%22%20cy=%2273.815%22%20r=%2214.559%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M81.95%2040.152l13.607%2016.672L88.64%2036.29%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M74.566%2032.088l-9.232-19.613-6.451%203.724-2.069-3.583L77.719.546l2.069%203.584-6.092%203.517%2012.03%2018.223s5.399-2.025%208.535.74c3.137%202.766%202.52%204.92%202.887%204.772L73.46%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M121.637%2040.152l13.608%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M114.253%2032.088l-9.232-19.613-6.45%203.724-2.07-3.583L117.407.546l2.07%203.584-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.772L113.147%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3C/svg%3E" + "image": "%3Csvg%20width=%22196.313%22%20height=%22216.83%22%20viewBox=%220%200%2051.941051%2057.369679%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20transform=%22translate(-52.22%20-48.028)%22%3E%3Crect%20width=%2224.412%22%20height=%2213.185%22%20x=%2279.352%22%20y=%2253.67%22%20ry=%222.247%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%22.794%22%20stroke-linecap=%22round%22/%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M77.902%2088.18l13.607%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M70.517%2080.116l-9.232-19.613-6.45%203.725-2.07-3.584%2020.905-12.07%202.07%203.584-6.093%203.518%2012.03%2018.222s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.773L69.412%2093.049s-2.848-3.696-2.16-6.796c.687-3.1%203.265-6.137%203.265-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Ctext%20style=%22line-height:1.25%22%20x=%2281.296%22%20y=%2263.239%22%20font-weight=%22400%22%20font-size=%2210.583%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20x=%2281.296%22%20y=%2263.239%22%20font-weight=%22700%22%3ESys%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "096f61b6-6d5c-4907-9512-e65b25969458", + "id": "54dbabeb-8aef-4184-8fdc-87528aca29a3", + "type": "basic.output", + "data": { + "name": "nc" + }, + "position": { + "x": 816, + "y": 112 + } + }, + { + "id": "3943e194-090b-4553-9df3-88bc4b17abc2", "type": "basic.input", "data": { "name": "", "clock": true }, "position": { - "x": 80, - "y": 176 + "x": 208, + "y": 184 } }, { - "id": "6da4196c-cae2-44ba-b472-b6b9f0e7b1f8", + "id": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78", "type": "basic.output", "data": { - "name": "q", - "range": "[7:0]", - "size": 8 + "name": "" }, "position": { - "x": 640, - "y": 248 + "x": 816, + "y": 232 } }, { - "id": "35a0e425-acd1-4cd9-b3dc-ff7f451dce86", + "id": "bf2f0c53-2d04-4cba-aa70-2df85502d24f", "type": "basic.input", "data": { "name": "", - "range": "[7:0]", - "clock": false, - "size": 8 + "clock": false }, "position": { - "x": 80, - "y": 248 - } - }, - { - "id": "065ea371-8398-43b3-8341-287c234a3acb", - "type": "basic.input", - "data": { - "name": "load", - "clock": false - }, - "position": { - "x": 80, - "y": 312 + "x": 208, + "y": 280 } }, { - "id": "f3b434e4-0c8f-4dd7-90c7-305189a807f1", + "id": "65194b18-5d2a-41b2-bd86-01be99978ad6", "type": "basic.constant", "data": { "name": "", @@ -9132,15 +8550,15 @@ "local": false }, "position": { - "x": 376, - "y": 56 + "x": 512, + "y": 64 } }, { - "id": "32106310-bfdc-41db-9a7c-2dadd5016c3f", + "id": "bdc170f0-4468-4137-bd79-4624c9cadf2b", "type": "basic.code", "data": { - "code": "localparam N = 8;\n\nreg [N-1:0] q = INI;\n\nalways @(posedge clk)\n if (load)\n q <= d;", + "code": "//-- Initial value\nreg qi = INI;\n\n//-- Capture the input data \n//-- on the rising edge of \n//-- the system clock\nalways @(posedge clk)\n qi <= d;\n \n//-- Connect the register with the\n//-- output\nassign q = qi;", "params": [ { "name": "INI" @@ -9152,1136 +8570,1154 @@ "name": "clk" }, { - "name": "d", - "range": "[7:0]", - "size": 8 - }, - { - "name": "load" + "name": "d" } ], "out": [ { - "name": "q", - "range": "[7:0]", - "size": 8 + "name": "q" } ] } }, "position": { - "x": 280, - "y": 176 + "x": 384, + "y": 168 }, "size": { - "width": 288, - "height": 200 + "width": 352, + "height": 192 } - } - ], - "wires": [ - { - "source": { - "block": "f3b434e4-0c8f-4dd7-90c7-305189a807f1", - "port": "constant-out" - }, - "target": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "INI" - }, - "vertices": [] }, { - "source": { - "block": "065ea371-8398-43b3-8341-287c234a3acb", - "port": "out" + "id": "53d11290-50b3-40fb-b253-222cb296b075", + "type": "basic.info", + "data": { + "info": "Parameter: Initial value", + "readonly": true }, - "target": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "load" - } - }, - { - "source": { - "block": "096f61b6-6d5c-4907-9512-e65b25969458", - "port": "out" + "position": { + "x": 488, + "y": 32 }, - "target": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "clk" + "size": { + "width": 208, + "height": 40 } }, { - "source": { - "block": "35a0e425-acd1-4cd9-b3dc-ff7f451dce86", - "port": "out" - }, - "target": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "d" - }, - "size": 8 - }, - { - "source": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "q" - }, - "target": { - "block": "6da4196c-cae2-44ba-b472-b6b9f0e7b1f8", - "port": "in" - }, - "size": 8 - } - ] - } - } - }, - "7cd239bdd995aa0988ea7615327f97fbe335930d": { - "package": { - "name": "Mux 2 a 1 de 14 bits", - "version": "0.0.1", - "description": "Multiplexor de 2 a 1 de 14 bits", - "author": "Juan Gonzalez-Gomez (obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2280.833%22%20height=%22158.56%22%20viewBox=%220%200%2075.781585%20148.65066%22%3E%3Cpath%20d=%22M74.375%2036.836c0-12.691-6.99-24.413-18.326-30.729-11.335-6.316-25.284-6.262-36.568.141C8.198%2012.652%201.304%2024.427%201.407%2037.118v74.415c-.103%2012.69%206.79%2024.466%2018.074%2030.87%2011.284%206.403%2025.233%206.457%2036.568.14%2011.336-6.316%2018.326-18.037%2018.326-30.728z%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%222.813%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.448%22%20y=%2291.518%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.448%22%20y=%2291.518%22%3E0%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.359%22%20y=%2214.582%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.359%22%20y=%2214.582%22%3E1%3C/tspan%3E%3C/text%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "c6fdfa0c-392c-41e8-b043-d6f35a656465", - "type": "basic.input", + "id": "c25a29cd-d5ed-435e-b375-e6d5557660d8", + "type": "basic.info", "data": { - "name": "i1", - "range": "[13:0]", - "clock": false, - "size": 14 + "info": "System clock", + "readonly": true }, "position": { - "x": -704, - "y": -88 + "x": 208, + "y": 160 + }, + "size": { + "width": 120, + "height": 32 } }, { - "id": "11f6b6c3-3db4-4536-b9af-3a4182303be7", - "type": "basic.output", + "id": "ecafc6fa-330b-4ba7-aa67-40b3ea48f1f1", + "type": "basic.info", "data": { - "name": "o", - "range": "[13:0]", - "size": 14 + "info": "Input data", + "readonly": true }, "position": { - "x": -40, - "y": 0 + "x": 224, + "y": 256 + }, + "size": { + "width": 112, + "height": 40 } }, { - "id": "e3bb4d9b-5ba2-4987-bd84-cd8763a214cd", - "type": "basic.input", + "id": "df95c331-682d-4733-a62d-ad9fcd75f96a", + "type": "basic.info", "data": { - "name": "i0", - "range": "[13:0]", - "clock": false, - "size": 14 + "info": "Output", + "readonly": true }, "position": { - "x": -704, - "y": 0 + "x": 840, + "y": 200 + }, + "size": { + "width": 80, + "height": 40 } }, { - "id": "1e637a79-4a6d-495c-bcac-9664bdbe4b94", - "type": "basic.input", + "id": "dd8217df-b56d-49a9-ae94-f5e0c96e1460", + "type": "basic.info", "data": { - "name": "sel", - "clock": false + "info": "# D Flip-Flop (system)\n\nIt stores the input data that arrives at cycle n \nIts output is shown in the cycle n+1", + "readonly": true }, "position": { - "x": -704, - "y": 88 + "x": 144, + "y": -136 + }, + "size": { + "width": 488, + "height": 104 } }, { - "id": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", - "type": "basic.code", + "id": "92bfbcf5-6016-4ad8-963c-c5c7747304d0", + "type": "basic.info", "data": { - "code": "\nreg [13:0] o;\n\nalways @(*) begin\n case(sel)\n 0: o = i0;\n 1: o = i1;\n default: o = i0;\n endcase\nend\n\n", - "params": [], - "ports": { - "in": [ - { - "name": "i1", - "range": "[13:0]", - "size": 14 - }, - { - "name": "i0", - "range": "[13:0]", - "size": 14 - }, - { - "name": "sel" - } - ], - "out": [ - { - "name": "o", - "range": "[13:0]", - "size": 14 - } - ] - } + "info": "Not connected", + "readonly": true }, "position": { - "x": -464, - "y": -104 + "x": 808, + "y": 88 }, "size": { - "width": 304, - "height": 272 + "width": 176, + "height": 32 } } ], "wires": [ { "source": { - "block": "1e637a79-4a6d-495c-bcac-9664bdbe4b94", + "block": "3943e194-090b-4553-9df3-88bc4b17abc2", "port": "out" }, "target": { - "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", - "port": "sel" + "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", + "port": "clk" } }, { "source": { - "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", - "port": "o" + "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", + "port": "q" }, "target": { - "block": "11f6b6c3-3db4-4536-b9af-3a4182303be7", + "block": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78", "port": "in" - }, - "size": 14 + } }, { "source": { - "block": "e3bb4d9b-5ba2-4987-bd84-cd8763a214cd", - "port": "out" + "block": "65194b18-5d2a-41b2-bd86-01be99978ad6", + "port": "constant-out" }, "target": { - "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", - "port": "i0" - }, - "size": 14 + "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", + "port": "INI" + } }, { "source": { - "block": "c6fdfa0c-392c-41e8-b043-d6f35a656465", + "block": "bf2f0c53-2d04-4cba-aa70-2df85502d24f", "port": "out" }, "target": { - "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", - "port": "i1" - }, - "size": 14 + "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", + "port": "d" + } } ] } } }, - "efe39aa2a101707774e24b099a0654cc52ff8a04": { + "091b3514573becaa7196cc3f7854140e5773864d": { "package": { - "name": "count-4bits", - "version": "0.1", - "description": "Máquina de contar, de 4 bits", + "name": "Button", + "version": "0.5", + "description": "Configurable button (pull-up on/off. Not on/off)", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22498.716%22%20width=%22422.648%22%3E%3Cpath%20d=%22M198.947%2079.637c-24.895%200-45.092%2020.196-45.092%2045.109%200%2024.886%2020.197%2045.126%2045.092%2045.126%2024.904%200%2044.953-20.24%2044.953-45.126%200-24.913-20.05-45.11-44.953-45.11zm90.41%2071.022l-8.128%2019.578%2014.497%2028.472%201.914%203.759-20.1%2020.1-32.98-15.575-19.578%208.04-9.937%2030.421-1.27%204.038h-28.411l-12.295-34.337-19.579-8.075-28.514%2014.462-3.76%201.88-20.091-20.083%2015.558-32.997-8.066-19.56-30.37-9.92-4.028-1.306v-28.393L108.58%2098.85l8.067-19.544-14.454-28.533-1.905-3.741%2020.065-20.066%2033.023%2015.55%2019.552-8.084%209.929-30.403L184.137%200h28.402l12.304%2034.38%2019.526%208.084%2028.524-14.471%203.794-1.906%2020.083%2020.066-15.558%2032.97%208.04%2019.588%2030.455%209.928%204.003%201.28v28.384z%22%20fill=%22#00f%22/%3E%3Crect%20rx=%2210.608%22%20ry=%2210.608%22%20y=%22266.697%22%20x=%22218.697%22%20height=%22180.846%22%20width=%22111.64%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%225.658%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%22387.839%22%20x=%22242.878%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2233.946%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%225.658%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%22387.839%22%20x=%22242.878%22%20font-weight=%22700%22%20font-size=%22134.762%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M222.934%20361.162h104.934%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%228.487%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20rx=%2210.608%22%20ry=%2210.608%22%20y=%22266.697%22%20x=%2292.408%22%20height=%22180.846%22%20width=%22111.64%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%225.658%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%22387.839%22%20x=%22109.261%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2233.946%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%225.658%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%22387.839%22%20x=%22109.261%22%20font-weight=%22700%22%20font-size=%22134.762%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M96.645%20361.162h104.934%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%228.487%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%20-277.4%2063.192)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%20-277.4%20211.802)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%2049.068%20210.797)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%2046.938%2063.192)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/svg%3E" + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20width=%22202.458%22%20height=%22255.947%22%20viewBox=%220%200%2053.566957%2067.719398%22%3E%3Cdefs%3E%3ClinearGradient%20gradientTransform=%22matrix(-.013%20-.01966%20.01932%20-.01493%20151.654%20290.082)%22%20gradientUnits=%22userSpaceOnUse%22%20y2=%222300.215%22%20x2=%226069.057%22%20y1=%222538.05%22%20x1=%225466.681%22%20id=%22b%22%20xlink:href=%22#a%22/%3E%3ClinearGradient%20id=%22a%22%3E%3Cstop%20offset=%220%22%20stop-color=%22#c3875c%22/%3E%3Cstop%20offset=%22.48%22%20stop-color=%22#eccba3%22/%3E%3Cstop%20offset=%221%22%20stop-color=%22#fce0cb%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg%20transform=%22translate(138.022%20-134.888)%22%3E%3Cpath%20d=%22M-117.19%20184.278a20.69%209.094%200%200%200-13.734%202.307l-5.434.006-1.284%205.482a20.69%209.094%200%200%200-.238%201.3%2020.69%209.094%200%200%200%2020.69%209.093%2020.69%209.094%200%200%200%2020.69-9.094%2020.69%209.094%200%200%200-.029-.351h.064l-1.277-6.47-5.778.005a20.69%209.094%200%200%200-13.67-2.278z%22%20fill=%22#333%22%20stroke=%22#000%22%20stroke-width=%22.282%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20ry=%226.762%22%20rx=%2219.408%22%20cy=%22187.341%22%20cx=%22-117.074%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%22.282%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22matrix(.1018%200%200%20.10181%20-158.528%20145.536)%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-width=%222.772%22%3E%3Cellipse%20cx=%22406.087%22%20cy=%22399.216%22%20rx=%22184.221%22%20ry=%2272.858%22%20fill=%22green%22/%3E%3Cellipse%20cx=%22406.23%22%20cy=%22383.328%22%20rx=%22179.497%22%20ry=%2260.977%22%20fill=%22#0f0%22/%3E%3C/g%3E%3C/g%3E%3Cpath%20d=%22M126.16%20115.387c-1.523%201.514-2.14%203.307-2.023%205.326-.507%201.097-2.411%202.346-2.027%203.267-1.196%201.923-1.624%203.389-1.572%204.569-.544%201.24-.403%201.705-.348%202.268-2.266%203.497-4.092%208.255-5.878%2013.125-2.302%202.765-3.64%205.792-4.898%208.84-2.191%203.7-3.756%207.67-4.02%2011.394l-.265.558c2.996%203.107%204.946%201.524%207.018.747%206.637-3.112%209.504-8.52%2012.212-14.025.473-1.572%201.57-3.127%203.151-4.669%204.414-4.785%206.886-10.022%209.857-15.142.228-.428.58-1.032%201.143-1.941%201.675-1.795%203.418-4.997%205.132-7.612z%22%20fill=%22url(#b)%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.265%22%20transform=%22translate(-90.276%20-115.233)%22/%3E%3Cpath%20d=%22M18.486%2038.911c-2.362%202.823-3.506%206.298-4.228%2010.204.518.13%201.302-.444%202.155-1.196%202.575-6.067%201.848-7.142%202.073-9.008z%22%20fill=%22#f8ecf8%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.265%22/%3E%3Cpath%20d=%22M33.79%205.666c2.093-.057%203.853.53%205.373%201.582M31.832%208.759c2.001.286%203.946.663%205.428%201.788M30.331%2013.16c1.325-.48%203.02.099%204.83%201.005M29.98%2015.593l1.79.362%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%22.265%22/%3E%3C/svg%3E", + "otid": 1615538095529 }, "design": { "graph": { "blocks": [ { - "id": "cb426e3d-ace3-4a57-a74b-155caed0c14c", + "id": "59f7bee9-9832-421d-aa0a-de177f3f121d", "type": "basic.input", "data": { "name": "", "clock": true }, "position": { - "x": 592, - "y": -416 + "x": 128, + "y": 232 } }, { - "id": "9291f94d-2d9a-4c3a-b7df-4299abf84886", + "id": "c2136078-81d0-4137-8583-c122b93cbdb0", "type": "basic.inputLabel", "data": { "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "name": "clk" }, "position": { - "x": 736, - "y": -416 + "x": 280, + "y": 232 } }, { - "id": "81fb4efb-363e-483e-b1df-c2ebda777355", + "id": "626e14a3-68ca-440d-b469-aeb6a69bddcb", "type": "basic.outputLabel", "data": { "blockColor": "yellow", - "name": "clk" + "name": "clk", + "oldBlockColor": "fuchsia" }, "position": { - "x": 1416, - "y": -352 + "x": 472, + "y": 368 } }, { - "id": "92c88f9e-7d51-4946-b0ef-088dcd8efa49", - "type": "basic.inputLabel", + "id": "1b2fe6f0-f08f-44d2-824a-e5205b3e9fab", + "type": "basic.outputLabel", "data": { - "blockColor": "red", - "name": "on", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, + "blockColor": "yellow", + "name": "clk", "oldBlockColor": "fuchsia" }, "position": { - "x": 952, - "y": -304 + "x": 888, + "y": 384 } }, { - "id": "6c846478-ff94-415a-b78e-03b6981bc0fe", - "type": "basic.outputLabel", + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", "data": { - "blockColor": "fuchsia", - "name": "rst" + "name": "s" }, "position": { - "x": 1416, - "y": -288 + "x": 1200, + "y": 456 } }, { - "id": "40607400-436e-4dea-b733-8308a06fd4ef", - "type": "basic.outputLabel", + "id": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", + "type": "basic.input", "data": { - "blockColor": "yellow", - "name": "clk" + "name": "pin", + "clock": false }, "position": { - "x": 584, - "y": -224 + "x": 152, + "y": 472 } }, { - "id": "6a11eaf9-4bd5-405e-81f8-44418365326b", - "type": "basic.output", + "id": "07e7cb88-d87c-4aa3-9938-fc226e3f4815", + "type": "basic.constant", "data": { - "name": "Busy" + "name": "pup", + "value": "0", + "local": false }, "position": { - "x": 2312, - "y": -216 + "x": 336, + "y": 360 } }, { - "id": "2438a009-c8e2-4acb-b443-90fe0ddd989d", - "type": "basic.outputLabel", + "id": "6aacd3c5-a3e9-4a17-afb8-2b1271b3054c", + "type": "basic.constant", "data": { - "blockColor": "red", - "name": "on", - "oldBlockColor": "fuchsia" + "name": "not", + "value": "0", + "local": false }, "position": { - "x": 2152, - "y": -216 + "x": 768, + "y": 368 } }, { - "id": "bc6920df-ca50-4643-ad7a-7e10c29856e8", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "rst", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true - }, + "id": "93b888bf-453e-4c9c-8f58-6b9c6d54d5de", + "type": "6c3affc36ce9207db9e9addcade0eb18994ddf4a", "position": { - "x": 952, - "y": -192 + "x": 336, + "y": 472 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "8f591b24-0427-409f-aa6e-ca1861556cf5", - "type": "basic.input", + "id": "6ca11b45-e83b-492d-b175-8ab8f1faa08a", + "type": "basic.info", "data": { - "name": "start", - "clock": false + "info": "Internal pull-up \n* 0: OFF\n* 1: ON", + "readonly": true }, "position": { - "x": 584, - "y": -136 + "x": 320, + "y": 560 + }, + "size": { + "width": 176, + "height": 72 } }, { - "id": "ce3dc4bf-dbfd-4a81-97cd-3c0a0a672d89", - "type": "basic.inputLabel", + "id": "2349cf1c-768c-483c-bdf3-852e36755326", + "type": "basic.info", "data": { - "name": "cnt", - "range": "[3:0]", - "pins": [ - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "navy" + "info": "Synchronization stage", + "readonly": true }, "position": { - "x": 1824, - "y": -120 + "x": 552, + "y": 536 + }, + "size": { + "width": 184, + "height": 32 } }, { - "id": "be5cddf8-3e91-4b00-b2d0-0be80df6cc2d", - "type": "basic.outputLabel", + "id": "c13f29d4-49ed-45ca-bf58-401682aa156c", + "type": "basic.info", "data": { - "name": "cnt", - "range": "[3:0]", - "blockColor": "navy", - "size": 4 + "info": "Normalization stage\n\n* 0: Wire\n* 1: signal inverted", + "readonly": true }, "position": { - "x": 1200, - "y": -104 + "x": 760, + "y": 560 + }, + "size": { + "width": 192, + "height": 88 } }, { - "id": "9baa509b-0012-4e0e-b874-e62987258aa1", - "type": "basic.inputLabel", + "id": "9207da36-adfa-43d6-a633-ccaa601b9293", + "type": "basic.info", "data": { - "blockColor": "fuchsia", - "name": "start", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "info": "Debouncing stage", + "readonly": true }, "position": { - "x": 944, - "y": -72 + "x": 1016, + "y": 544 + }, + "size": { + "width": 168, + "height": 40 } }, { - "id": "c69e492c-ad1e-46f7-8523-5e5c615f682d", - "type": "basic.outputLabel", - "data": { - "name": "cnt", - "range": "[3:0]", - "blockColor": "navy", - "size": 4 - }, + "id": "dec4bfde-1bd9-47b4-9e19-768969a2abc4", + "type": "68f4069229b120ada15cf7106fca630bde40ff7e", "position": { - "x": 2160, - "y": -72 + "x": 768, + "y": 472 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "a8eb520f-8b09-41ab-9146-919bf44b6078", - "type": "basic.output", - "data": { - "name": "n", - "range": "[3:0]", - "size": 4 - }, + "id": "7f8e8a9e-3757-4b55-baa0-cb8680c3a332", + "type": "dd36dc1269be1a36894b4c4dfd8b2bd2c9026fe6", "position": { - "x": 2312, - "y": -72 + "x": 1032, + "y": 456 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "45bd338b-4745-4b06-b199-462cdaffa31d", - "type": "basic.outputLabel", - "data": { - "blockColor": "gold", - "name": "stop", - "oldBlockColor": "fuchsia" - }, + "id": "8d23de75-ac27-4a3b-911c-6a237f0dc702", + "type": "0705a6a13435ea79daf5779a2a0f076bd71f0a14", "position": { - "x": 584, - "y": -24 + "x": 600, + "y": 456 + }, + "size": { + "width": 96, + "height": 64 } - }, + } + ], + "wires": [ { - "id": "8a5f0c79-7347-4b35-8e27-603ebed8bf9f", - "type": "basic.outputLabel", - "data": { - "blockColor": "darkgreen", - "name": "cycle", - "oldBlockColor": "fuchsia" + "source": { + "block": "59f7bee9-9832-421d-aa0a-de177f3f121d", + "port": "out" }, - "position": { - "x": 1472, - "y": 16 - } + "target": { + "block": "c2136078-81d0-4137-8583-c122b93cbdb0", + "port": "inlabel" + }, + "vertices": [] }, { - "id": "5a3f8466-6a57-4607-939a-fb15222442a7", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "done", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "source": { + "block": "626e14a3-68ca-440d-b469-aeb6a69bddcb", + "port": "outlabel" }, - "position": { - "x": 920, - "y": 24 + "target": { + "block": "8d23de75-ac27-4a3b-911c-6a237f0dc702", + "port": "39873fa0-c3f5-47ef-b54b-b6b344416b25" } }, { - "id": "dddd2a78-e0f8-4688-ad63-0c41ad98894b", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "exec", - "oldBlockColor": "fuchsia" + "source": { + "block": "1b2fe6f0-f08f-44d2-824a-e5205b3e9fab", + "port": "outlabel" }, - "position": { - "x": 2160, - "y": 104 + "target": { + "block": "7f8e8a9e-3757-4b55-baa0-cb8680c3a332", + "port": "4bf41c17-a2da-4140-95f7-2a80d51b1e1a" } }, { - "id": "73948305-b05b-418f-88af-11328f400cdc", - "type": "basic.output", - "data": { - "name": "exec" + "source": { + "block": "93b888bf-453e-4c9c-8f58-6b9c6d54d5de", + "port": "a139fa0d-9b45-4480-a251-f4a66b49aa23" }, - "position": { - "x": 2328, - "y": 104 - } + "target": { + "block": "8d23de75-ac27-4a3b-911c-6a237f0dc702", + "port": "f25e9a9e-cd4c-4025-8745-0691a99a3fb8" + }, + "vertices": [] }, { - "id": "c5781045-a890-4e66-8f67-80d0cb317ee6", - "type": "basic.outputLabel", - "data": { - "blockColor": "red", - "name": "on", - "oldBlockColor": "fuchsia" + "source": { + "block": "8d23de75-ac27-4a3b-911c-6a237f0dc702", + "port": "7bfc506f-7a54-40a1-8d33-e78a5409b972" }, - "position": { - "x": 1544, - "y": 136 - } + "target": { + "block": "dec4bfde-1bd9-47b4-9e19-768969a2abc4", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + }, + "vertices": [] }, { - "id": "fa7f43f2-cbb2-47e0-bcc5-32336f9cd8ed", - "type": "basic.outputLabel", - "data": { - "blockColor": "red", - "name": "on", - "oldBlockColor": "fuchsia" + "source": { + "block": "6aacd3c5-a3e9-4a17-afb8-2b1271b3054c", + "port": "constant-out" }, - "position": { - "x": 648, - "y": 152 - } + "target": { + "block": "dec4bfde-1bd9-47b4-9e19-768969a2abc4", + "port": "2cd40fd8-3a2b-46f7-a922-fedf146ed11a" + }, + "vertices": [] }, { - "id": "8c96c7ec-0c2f-4870-9197-46116cd1d134", - "type": "basic.inputLabel", - "data": { - "blockColor": "darkgreen", - "name": "cycle", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "source": { + "block": "dec4bfde-1bd9-47b4-9e19-768969a2abc4", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, - "position": { - "x": 1080, - "y": 168 + "target": { + "block": "7f8e8a9e-3757-4b55-baa0-cb8680c3a332", + "port": "c9e1af2a-6f09-4cf6-a5b3-fdf7ec2c6530" + }, + "vertices": [] + }, + { + "source": { + "block": "07e7cb88-d87c-4aa3-9938-fc226e3f4815", + "port": "constant-out" + }, + "target": { + "block": "93b888bf-453e-4c9c-8f58-6b9c6d54d5de", + "port": "121930e0-54c3-4b31-aa37-b33c7764abfa" } }, { - "id": "ad4d0fc2-118e-496e-b292-c435bad20e7d", - "type": "basic.input", - "data": { - "name": "next", - "clock": false + "source": { + "block": "7f8e8a9e-3757-4b55-baa0-cb8680c3a332", + "port": "22ff3fa1-943b-4d1a-bd89-36e1c054d077" }, - "position": { - "x": 616, - "y": 208 + "target": { + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" } }, { - "id": "d8820925-23d9-4f02-8491-adf813601d08", - "type": "basic.outputLabel", + "source": { + "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", + "port": "out" + }, + "target": { + "block": "93b888bf-453e-4c9c-8f58-6b9c6d54d5de", + "port": "bb4a1ca9-1b30-471e-92ca-ca7ff2fc1150" + } + } + ] + } + } + }, + "6c3affc36ce9207db9e9addcade0eb18994ddf4a": { + "package": { + "name": "Pull-upx1", + "version": "1.0.2", + "description": "FPGA internal pull-up configuration on the input port", + "author": "Juan González", + "image": "%3Csvg%20id=%22svg2%22%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-265%20401.5%2063.5%2038.4%22%3E%3Cstyle%3E.st0%7Bdisplay:none%7D.st1%7Bfill:none;stroke:#000;stroke-width:.75;stroke-linejoin:round;stroke-miterlimit:10%7D.st2%7Bfill:#010002%7D%3C/style%3E%3Cpath%20class=%22st0%22%20d=%22M-242.5%20411.8v11.8h-5.4v-11.8h5.4m1-1h-7.4v13.8h7.4v-13.8z%22/%3E%3Cpath%20d=%22M-212%20425.6l-15.4-8.7v8.5h-17.4v-2.7c0-.2-.1-.4-.3-.4l-2.3-1.2%205.6-2.9c.2-.1.3-.3.3-.5s-.1-.4-.3-.4l-5.7-2.7%202.4-1.6c.1-.1.2-.2.2-.4v-2.7h3.1l-3.5-6.1-3.5%206.1h3v2.5l-2.9%202c-.1.1-.2.3-.2.5s.1.3.3.4l5.6%202.6-5.6%202.9c-.2.1-.3.3-.3.4s.1.4.3.4l2.9%201.5V425.5H-265v1.2h37.6v8.5l15.4-8.7h10.5v-.8H-212zm-33.3-20.4l2.2%203.9h-4.5l2.3-3.9zm19.2%2027.7v-13.8l12.3%206.9-12.3%206.9z%22/%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "bb4a1ca9-1b30-471e-92ca-ca7ff2fc1150", + "type": "basic.input", "data": { - "blockColor": "yellow", - "name": "clk" + "name": "pin", + "clock": false }, "position": { - "x": 1384, - "y": 232 + "x": 72, + "y": 256 } }, { - "id": "a756b829-42d1-4779-b42d-a9acc3800854", - "type": "basic.outputLabel", + "id": "a139fa0d-9b45-4480-a251-f4a66b49aa23", + "type": "basic.output", "data": { - "blockColor": "fuchsia", - "name": "done", - "oldBlockColor": "fuchsia" + "name": "" }, "position": { - "x": 2160, - "y": 248 + "x": 704, + "y": 256 } }, { - "id": "49221b19-132a-4e3f-9a1f-97bcd463391b", - "type": "basic.output", + "id": "121930e0-54c3-4b31-aa37-b33c7764abfa", + "type": "basic.constant", "data": { - "name": "done" + "name": "on", + "value": "1", + "local": false }, "position": { - "x": 2320, - "y": 248 + "x": 408, + "y": -8 } }, { - "id": "06b60a4f-b1b1-4a91-ba10-bdb5a7515718", - "type": "basic.inputLabel", + "id": "2b245a71-2d80-466b-955f-e3d61839fe25", + "type": "basic.code", "data": { - "blockColor": "fuchsia", - "name": "exec", - "pins": [ + "code": "// 1-Pull up\n\n//-- Place the IO block, configured as \n//-- input with pull-up\nSB_IO\n #(\n .PIN_TYPE(6'b 1010_01),\n \n //-- The pull-up is activated or not\n //-- depeding on the ON parameter\n .PULLUP(ON)\n \n ) input_pin (\n\n //--- Input pin\n .PACKAGE_PIN(i),\n \n //-- Block output\n .D_IN_0(o),\n \n //-- Configured as input\n .OUTPUT_ENABLE(1'b0),\n \n //-- Not used\n .D_OUT_0(1'b0)\n );", + "params": [ { - "index": "0", - "name": "", - "value": "" + "name": "ON" } ], - "virtual": true, - "oldBlockColor": "fuchsia" + "ports": { + "in": [ + { + "name": "i" + } + ], + "out": [ + { + "name": "o" + } + ] + } }, "position": { - "x": 1952, - "y": 288 + "x": 256, + "y": 104 + }, + "size": { + "width": 392, + "height": 368 } }, { - "id": "f9f37a77-fd08-4506-9c1b-cc53daa19559", - "type": "basic.outputLabel", + "id": "8055c1f2-dad2-4257-a271-c0bd64700cd7", + "type": "basic.info", "data": { - "blockColor": "darkgreen", - "name": "cycle", - "oldBlockColor": "fuchsia" + "info": "### Pull-up parameter:\n\n0: No pull-up \n1: Pull-up activated", + "readonly": true }, "position": { - "x": 1384, - "y": 304 + "x": 144, + "y": -48 + }, + "size": { + "width": 264, + "height": 104 } }, { - "id": "10afc859-04fd-433d-823a-4fa4721320c1", - "type": "basic.outputLabel", + "id": "5a96e53f-d2ff-4058-bbed-779876848487", + "type": "basic.info", "data": { - "blockColor": "fuchsia", - "name": "start" + "info": "Only an FPGA pin can \nbe connected here!!!", + "readonly": true }, "position": { - "x": 1680, - "y": 376 + "x": 56, + "y": 200 + }, + "size": { + "width": 192, + "height": 56 } }, { - "id": "2e9e9e82-c651-4a6b-9d9e-4c796699d133", - "type": "basic.inputLabel", + "id": "26b0a2d0-aaa1-4204-9e57-2f2d674e03a0", + "type": "basic.info", "data": { - "blockColor": "gold", - "name": "stop", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "info": "The pull-up is connected \nby default", + "readonly": true }, "position": { - "x": 1144, - "y": 376 + "x": 512, + "y": 0 + }, + "size": { + "width": 208, + "height": 56 + } + } + ], + "wires": [ + { + "source": { + "block": "bb4a1ca9-1b30-471e-92ca-ca7ff2fc1150", + "port": "out" + }, + "target": { + "block": "2b245a71-2d80-466b-955f-e3d61839fe25", + "port": "i" } }, { - "id": "50aa90d1-18a3-4f3c-9ca9-2d65c8664bc2", - "type": "basic.outputLabel", - "data": { - "name": "cnt", - "range": "[3:0]", - "blockColor": "navy", - "size": 4 + "source": { + "block": "2b245a71-2d80-466b-955f-e3d61839fe25", + "port": "o" }, - "position": { - "x": 688, - "y": 552 + "target": { + "block": "a139fa0d-9b45-4480-a251-f4a66b49aa23", + "port": "in" } }, { - "id": "d0005413-fea9-4b0b-8a18-9b15d4977bc1", - "type": "basic.constant", + "source": { + "block": "121930e0-54c3-4b31-aa37-b33c7764abfa", + "port": "constant-out" + }, + "target": { + "block": "2b245a71-2d80-466b-955f-e3d61839fe25", + "port": "ON" + } + } + ] + } + } + }, + "68f4069229b120ada15cf7106fca630bde40ff7e": { + "package": { + "name": "not-wire-x01", + "version": "0.2", + "description": "Select positive or negative logic for the input (0=positive, 1=negative)", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22317.537%22%20height=%22255.621%22%20version=%221%22%3E%3Cpath%20d=%22M112.127%2098.805l133.418%2076.406-133.418%2076.41z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20cx=%22263.881%22%20cy=%22174.972%22%20rx=%2217.634%22%20ry=%2217.982%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4%20175.592h108.187m169.632%200h31.718%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:0%25%22%20x=%22121.949%22%20y=%22187.178%22%20transform=%22scale(.9971%201.0029)%22%20font-weight=%22400%22%20font-size=%229.874%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%22121.949%22%20y=%22187.178%22%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20font-size=%2240.873%22%3ENot%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M4%2062.122h309.537%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:0%25%22%20x=%2214.865%22%20y=%2236.868%22%20transform=%22scale(.99532%201.0047)%22%20font-weight=%22400%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%2214.865%22%20y=%2236.868%22%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20font-size=%2249.675%22%3E0%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:0%25%22%20x=%2216.903%22%20y=%22151.969%22%20transform=%22scale(.99532%201.0047)%22%20font-weight=%22400%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%2216.903%22%20y=%22151.969%22%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20font-size=%2249.675%22%3E1%3C/tspan%3E%3C/text%3E%3C/svg%3E", + "otid": 1607779171609 + }, + "design": { + "graph": { + "blocks": [ + { + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", "data": { - "name": "N", - "value": "16", - "local": false + "name": "" }, "position": { - "x": 680, - "y": 344 + "x": 824, + "y": 304 } }, { - "id": "a19b8bcd-a0a4-4da0-9844-5e5c0306e231", - "type": "basic.constant", + "id": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", + "type": "basic.input", "data": { "name": "", - "value": "1", - "local": true + "clock": false }, "position": { - "x": 1352, - "y": -208 + "x": 376, + "y": 320 } }, { - "id": "374613cb-968d-46d1-94a4-16686e7df28d", + "id": "2cd40fd8-3a2b-46f7-a922-fedf146ed11a", "type": "basic.constant", "data": { - "name": "", + "name": "not", "value": "0", - "local": true + "local": false }, "position": { - "x": 1648, - "y": -256 + "x": 520, + "y": 160 } }, { - "id": "d59fae1c-4ff0-418f-9a6e-440a854abd17", - "type": "438dedd956354c574afcde6f0793a7d369b2a031", + "id": "160f76e9-4d8d-424e-8689-bb890101823c", + "type": "3ba5d0ecbd8f55582a6307158732789df06cb74c", "position": { - "x": 752, - "y": -168 + "x": 520, + "y": 256 }, "size": { "width": 96, - "height": 128 + "height": 64 } }, { - "id": "d76d4948-a798-448c-adfa-c03b511371e5", - "type": "1c7dae7144d376f2ee4896fcc502a29110e2db37", + "id": "019e81db-5707-409c-b159-b4cb29813cc4", + "type": "basic.info", + "data": { + "info": "When k=0, it works like a wire \n(The output is equal to the input) \nWhen k=1, it act as a not gate\n(The output is the inverse of the input)", + "readonly": true + }, "position": { - "x": 1544, - "y": 288 + "x": 632, + "y": 392 }, "size": { - "width": 96, - "height": 64 + "width": 336, + "height": 96 } }, { - "id": "bd61136e-6597-4728-a8c3-141a1841150b", - "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", + "id": "68880edb-df66-4540-8ee4-f3836fdb5f0e", + "type": "basic.info", + "data": { + "info": "### Truth table for XOR\n\n| k | input | output | function |\n|---|-------|--------|----------|\n| 0 | 0 | 0 | wire |\n| 0 | 1 | 1 | wire |\n| 1 | 0 | 1 | Not |\n| 1 | 1 | 0 | Not |", + "readonly": true + }, "position": { - "x": 808, - "y": 168 + "x": 728, + "y": 8 }, "size": { - "width": 96, - "height": 64 + "width": 296, + "height": 144 } }, { - "id": "7d6ed080-252a-4f1b-8ec7-0f47d7866317", - "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", + "id": "100882d4-91fe-428f-9ce9-9e02ed2b2a9d", + "type": "d1240143e1ff7afe57f0f11565da980612b2bb76", "position": { - "x": 1016, - "y": 376 + "x": 672, + "y": 304 }, "size": { "width": 96, "height": 64 } + } + ], + "wires": [ + { + "source": { + "block": "2cd40fd8-3a2b-46f7-a922-fedf146ed11a", + "port": "constant-out" + }, + "target": { + "block": "160f76e9-4d8d-424e-8689-bb890101823c", + "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" + }, + "vertices": [] }, { - "id": "ac8b922a-9249-49a3-8b42-a1f259ccae2b", - "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", - "position": { - "x": 1680, - "y": 272 + "source": { + "block": "160f76e9-4d8d-424e-8689-bb890101823c", + "port": "5d443143-4aca-4d4f-ba40-2b88451b86d3" }, - "size": { - "width": 96, - "height": 64 + "target": { + "block": "100882d4-91fe-428f-9ce9-9e02ed2b2a9d", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" } }, { - "id": "28aef1aa-1cc2-4bb4-9a70-2db1962258d4", - "type": "81613874c6152f06c06ed7014bf4235900cfcc30", - "position": { - "x": 1824, - "y": 288 + "source": { + "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", + "port": "out" }, - "size": { - "width": 96, - "height": 64 + "target": { + "block": "100882d4-91fe-428f-9ce9-9e02ed2b2a9d", + "port": "97b51945-d716-4b6c-9db9-970d08541249" } }, { - "id": "e042b05f-b116-4a58-8aee-1bf2833ecb6b", - "type": "basic.info", + "source": { + "block": "100882d4-91fe-428f-9ce9-9e02ed2b2a9d", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" + } + } + ] + } + } + }, + "3ba5d0ecbd8f55582a6307158732789df06cb74c": { + "package": { + "name": "Constante-1bits", + "version": "0.0.1", + "description": "Valor genérico constante, de 1 bits. Su valor se introduce como parámetro. Por defecto vale 0", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22145.608%22%20height=%22247.927%22%20viewBox=%220%200%20136.50729%20232.43134%22%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22293.115%22%20y=%22648.344%22%20font-weight=%22400%22%20font-size=%22335.399%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22%20transform=%22translate(-316.929%20-415.913)%22%3E%3Ctspan%20x=%22293.115%22%20y=%22648.344%22%3Ek%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "5d443143-4aca-4d4f-ba40-2b88451b86d3", + "type": "basic.output", "data": { - "info": "**Reloj del sistema**", - "readonly": true + "name": "" }, "position": { - "x": 680, - "y": -472 - }, - "size": { - "width": 192, - "height": 40 + "x": 960, + "y": 248 } }, { - "id": "09056d84-24ad-48b7-89c2-0d008ca64b89", - "type": "basic.info", + "id": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "type": "basic.constant", "data": { - "info": "**Estado de** \n**la máquina**", - "readonly": true + "name": "", + "value": "0", + "local": false }, "position": { - "x": 760, - "y": -248 - }, - "size": { - "width": 160, - "height": 40 + "x": 728, + "y": 128 } }, { - "id": "02ad4d4d-3335-43e1-a671-4b00fc01c8be", - "type": "basic.info", + "id": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "type": "basic.code", "data": { - "info": "Máquina encendida", - "readonly": true - }, - "position": { - "x": 936, - "y": -328 + "code": "assign k = VALUE;", + "params": [ + { + "name": "VALUE" + } + ], + "ports": { + "in": [], + "out": [ + { + "name": "k" + } + ] + } + }, + "position": { + "x": 672, + "y": 248 }, "size": { - "width": 168, - "height": 40 + "width": 208, + "height": 64 + } + } + ], + "wires": [ + { + "source": { + "block": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "port": "constant-out" + }, + "target": { + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "VALUE" } }, { - "id": "23827b42-5be3-406c-9991-b4ad6deb74e8", - "type": "basic.info", + "source": { + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "k" + }, + "target": { + "block": "5d443143-4aca-4d4f-ba40-2b88451b86d3", + "port": "in" + } + } + ] + } + } + }, + "dd36dc1269be1a36894b4c4dfd8b2bd2c9026fe6": { + "package": { + "name": "Debouncer-x01", + "version": "1.3.0", + "description": "Remove the rebound on a mechanical switch", + "author": "Juan González", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-252%20400.9%2090%2040%22%3E%3Cpath%20d=%22M-251.547%20436.672h22.802v-30.353h5.862v30.353h5.259v-30.353h3.447v30.353h2.984v-30.353h3.506v30.523h6.406V405.77h38.868%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%221.4%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M-232.57%20403.877l26.946%2032.391M-205.624%20403.877l-26.946%2032.391%22%20fill=%22none%22%20stroke=%22red%22%20stroke-width=%223%22%20stroke-linecap=%22round%22/%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "4bf41c17-a2da-4140-95f7-2a80d51b1e1a", + "type": "basic.input", "data": { - "info": "Máquina apagada \n(rst = 1)", - "readonly": true + "name": "", + "clock": true }, "position": { - "x": 952, - "y": -232 - }, - "size": { - "width": 152, - "height": 56 + "x": -376, + "y": -656 } }, { - "id": "8a928b2a-c1fd-4d20-ba27-2f2bb41c0d01", - "type": "basic.info", + "id": "a0474543-ff59-4f6f-8d2e-3993d79c13de", + "type": "basic.inputLabel", "data": { - "info": "Tic de arranque", - "readonly": true + "blockColor": "yellow", + "name": "clk" }, "position": { - "x": 960, - "y": -96 - }, - "size": { - "width": 160, - "height": 40 + "x": -224, + "y": -656 } }, { - "id": "6648005b-8565-4aa7-9dbe-692786ab5eed", - "type": "basic.info", + "id": "22ff3fa1-943b-4d1a-bd89-36e1c054d077", + "type": "basic.output", "data": { - "info": "Tic de fin", - "readonly": true + "name": "" }, "position": { - "x": 944, - "y": 0 - }, - "size": { - "width": 120, - "height": 32 + "x": 952, + "y": -600 } }, { - "id": "08d8a2f1-ca1d-4bb5-84ec-2e003a76d1c1", - "type": "basic.info", + "id": "20d06e62-fd81-4956-b93c-ade0e616fb98", + "type": "basic.outputLabel", "data": { - "info": "**Contador de ciclos**", - "readonly": true + "blockColor": "fuchsia", + "name": "out" }, "position": { - "x": 1480, - "y": -424 - }, - "size": { - "width": 224, - "height": 40 + "x": 816, + "y": -600 } }, { - "id": "6b89fbaa-ded1-4b08-85b3-d5043665ba0f", - "type": "basic.info", + "id": "c9e1af2a-6f09-4cf6-a5b3-fdf7ec2c6530", + "type": "basic.input", "data": { - "info": "Número de ciclos \ncontados", - "readonly": true + "name": "", + "clock": false }, "position": { - "x": 1824, - "y": -160 + "x": -376, + "y": -584 + } + }, + { + "id": "b0e427bd-ce26-43b5-9d61-685f1c1ab922", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "in" }, - "size": { - "width": 160, - "height": 56 + "position": { + "x": -224, + "y": -584 } }, { - "id": "ce9c2faa-a5a2-43ef-a19f-8089842fa7fb", - "type": "basic.info", + "id": "5d12a177-7618-4517-9067-3012f7cb42ce", + "type": "basic.outputLabel", "data": { - "info": "Valor \nincrementado", - "readonly": true + "blockColor": "yellow", + "name": "clk", + "oldBlockColor": "fuchsia" }, "position": { - "x": 1496, - "y": -120 + "x": 552, + "y": -440 + } + }, + { + "id": "2f1050dd-a720-4ede-890e-612ce370ba61", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "out", + "oldBlockColor": "fuchsia" }, - "size": { - "width": 128, - "height": 56 + "position": { + "x": 840, + "y": -352 } }, { - "id": "9749c7ec-56c0-4d88-8b20-572f154aba47", - "type": "basic.info", + "id": "761cc74e-6d08-4b08-acf3-70197fd7076a", + "type": "basic.outputLabel", "data": { - "info": "### Salidas", - "readonly": true + "blockColor": "fuchsia", + "name": "in", + "oldBlockColor": "fuchsia" }, "position": { - "x": 2152, - "y": -328 + "x": 536, + "y": -352 + } + }, + { + "id": "c1243e04-edbf-4cc6-9d85-f7bf35ac1dae", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk", + "oldBlockColor": "fuchsia" }, - "size": { - "width": 280, - "height": 40 + "position": { + "x": 384, + "y": -288 } }, { - "id": "4c022dd4-dc38-48e8-8e23-991de83819a0", - "type": "basic.info", + "id": "d8572528-e0db-413c-a4ff-64d8cfee021d", + "type": "basic.outputLabel", "data": { - "info": "Estado de la máquina", - "readonly": true + "blockColor": "yellow", + "name": "clk", + "oldBlockColor": "fuchsia" }, "position": { - "x": 2160, + "x": 112, "y": -248 + } + }, + { + "id": "ba86528a-72e9-40f7-a1e6-c2e684026c24", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "in", + "oldBlockColor": "fuchsia" }, - "size": { - "width": 192, - "height": 40 + "position": { + "x": 112, + "y": -176 } }, { - "id": "2f5c5893-19c2-411c-b942-83e2e0355d9b", + "id": "1be0ed57-ae41-4ca5-a8c0-3d70585336a6", "type": "basic.info", "data": { - "info": "Ciclo actual", + "info": "Edge detector", "readonly": true }, "position": { - "x": 2168, - "y": -104 + "x": 240, + "y": -120 }, "size": { - "width": 152, + "width": 128, "height": 40 } }, { - "id": "3529c7ae-8223-48c9-a5c7-1b8161eb3654", + "id": "cabf3c3d-a707-4e06-be9a-4a66817c7a26", "type": "basic.info", "data": { - "info": "Cuenta finalizada", + "info": "Whenever there is a change in \nthe input, the counter is started", "readonly": true }, "position": { - "x": 2160, - "y": 216 + "x": 368, + "y": -88 }, "size": { - "width": 176, - "height": 48 + "width": 288, + "height": 56 } }, { - "id": "8d3fe74d-0b04-434f-bd0a-c966094bb54e", + "id": "6dcd32b7-40bd-433d-a1e2-222636c19f2f", "type": "basic.info", "data": { - "info": "Ejecutar el ciclo", + "info": "If the counter reaches it maximum \nvalue, the input is considered stable \nand it is captured", "readonly": true }, "position": { - "x": 2168, - "y": 80 + "x": 720, + "y": -456 }, "size": { - "width": 168, - "height": 40 - } - }, - { - "id": "eae9349c-e15a-4922-8652-1849ae8af424", - "type": "basic.info", - "data": { - "info": "Número de ciclos \na contar", - "readonly": true - }, - "position": { - "x": 696, - "y": 288 - }, - "size": { - "width": 152, - "height": 56 + "width": 304, + "height": 72 } }, { - "id": "95a0fd91-d4b4-4a8c-a326-fa00aead76a2", + "id": "5ee60a84-8e65-49de-9b87-5afd9770b5a3", "type": "basic.info", "data": { - "info": "¿Estamos en el \nciclo k-1?", + "info": "### Time calculation\n\nFor CLK=12MHZ, a 16-bit counter reaches its \nmaximum every 2 ** 16 * 1/F = 5.5ms aprox \nIF more time is needed for debouncing, \nuse a counter with more bits (17, 18...)", "readonly": true }, "position": { - "x": 1024, - "y": 480 + "x": 432, + "y": -640 }, "size": { - "width": 144, - "height": 56 + "width": 360, + "height": 120 } }, { - "id": "ee786c92-eee9-4192-b5cd-7ffd2cff4aa0", + "id": "f998abd9-dfc8-42d4-8816-c89f07a61e6f", "type": "basic.info", "data": { - "info": "Solo se hace caso a la \nentrada next si la \nmáquina está encendida", + "info": "## Debouncer \n\nA value is considered stable when \nthere is no changes during 5.5ms \naprox. When a value is stable it is \ncaptured on the output flip-flop", "readonly": true }, "position": { - "x": 648, - "y": 88 + "x": -8, + "y": -648 }, "size": { - "width": 216, - "height": 80 + "width": 312, + "height": 128 } }, { - "id": "fdea86ef-3e4a-4419-972a-3e09c49380ab", + "id": "ababfa12-265a-4c7c-a482-8ed44cf9171c", "type": "basic.info", "data": { - "info": "Nuevo ciclo", + "info": "Stable output", "readonly": true }, "position": { - "x": 920, - "y": 168 + "x": 880, + "y": -280 }, "size": { "width": 136, @@ -10289,119 +9725,27 @@ } }, { - "id": "f1312a02-2038-404e-b9cf-5f4ee6b11012", - "type": "basic.info", - "data": { - "info": "Si es el ciclo k-1 y \nse pide un ciclo \nnuevo: Terminar", - "readonly": true - }, - "position": { - "x": 1128, - "y": 304 - }, - "size": { - "width": 208, - "height": 72 - } - }, - { - "id": "9baabc30-8c27-4b55-92e4-d59783269162", - "type": "basic.info", - "data": { - "info": "Apagar la \nmáquina", - "readonly": true - }, - "position": { - "x": 600, - "y": -64 - }, - "size": { - "width": 120, - "height": 56 - } - }, - { - "id": "b1d4db4d-86bf-41b9-8192-647537f22b35", - "type": "basic.info", - "data": { - "info": "Ciclo nuevo: \nincrementar la cuenta", - "readonly": true - }, - "position": { - "x": 1464, - "y": -32 - }, - "size": { - "width": 208, - "height": 56 - } - }, - { - "id": "6c065227-d7b8-48ea-8105-765c0ff10e5d", - "type": "basic.info", - "data": { - "info": "El tic de start se saca \npor exec para que se ejecute \nel primer ciclo", - "readonly": true - }, - "position": { - "x": 1680, - "y": 440 - }, - "size": { - "width": 248, - "height": 72 - } - }, - { - "id": "f41e1b4d-0de7-4d61-9b57-16de7ef8dc8a", - "type": "basic.info", - "data": { - "info": "Si la máquina está \napagada, las señales \nde ejecución no pueden \nsalir!", - "readonly": true - }, - "position": { - "x": 1688, - "y": 168 - }, - "size": { - "width": 208, - "height": 80 - } - }, - { - "id": "1ed4ad01-9b81-4934-84b7-804dcaec10c1", + "id": "656df089-b248-432e-b6b5-ecd4bb5cc8eb", "type": "basic.info", "data": { - "info": "Retrasar la señal un ciclo \nmientras que se detecta si \nla máquina ha finalizado o no", + "info": "Counter", "readonly": true }, "position": { - "x": 1432, - "y": 360 - }, - "size": { - "width": 256, - "height": 72 - } - }, - { - "id": "55848689-05c8-4d58-b5a8-c421ff202e2d", - "type": "a3c966710f8e14f7d3464d7e89c1894dfebb86c7", - "position": { - "x": 1648, - "y": -152 + "x": 536, + "y": -232 }, "size": { "width": 96, - "height": 128 + "height": 40 } }, { - "id": "642ea367-8f37-400d-b632-46e227ce544d", - "type": "04dcede98e726cdb028c1ef593f02f949d5f5ac6", + "id": "a409a5ab-68e2-4e36-b698-f6c309afdd54", + "type": "1ed41a9f9beacd7b446f07558a35d3b77dc87319", "position": { - "x": 1352, - "y": -104 + "x": 240, + "y": -192 }, "size": { "width": 96, @@ -10409,23 +9753,23 @@ } }, { - "id": "3452d2fa-0c76-4021-925d-d73c3cea853f", - "type": "2e691702e123c308f561a5a93912a03de1896719", + "id": "626e9279-30e7-4e81-8427-1f969a1f7789", + "type": "8a23ffd0491010ff595493182b82c722bd6902d7", "position": { - "x": 856, - "y": 512 + "x": 704, + "y": -368 }, "size": { "width": 96, - "height": 64 + "height": 96 } }, { - "id": "caaa982b-20a8-426d-a546-beb213ed699f", - "type": "33e7c0abcd8b70a7af87fdb6750be0e24a796695", + "id": "3bc0627a-8d4d-4e19-a4aa-83b0dbfa525a", + "type": "e8e3e62a1e1b5f4e98c7e128c7cd1bdf59b8f307", "position": { - "x": 680, - "y": 448 + "x": 520, + "y": -192 }, "size": { "width": 96, @@ -10436,1137 +9780,1085 @@ "wires": [ { "source": { - "block": "6c846478-ff94-415a-b78e-03b6981bc0fe", - "port": "outlabel" - }, - "target": { - "block": "55848689-05c8-4d58-b5a8-c421ff202e2d", - "port": "a2b70876-c7c0-4208-a403-eed81e32fe5a" - }, - "vertices": [ - { - "x": 1592, - "y": -192 - } - ] - }, - { - "source": { - "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", - "port": "89a5da53-cc8b-4099-a5e3-b9cf281619b1" + "block": "4bf41c17-a2da-4140-95f7-2a80d51b1e1a", + "port": "out" }, "target": { - "block": "bc6920df-ca50-4643-ad7a-7e10c29856e8", + "block": "a0474543-ff59-4f6f-8d2e-3993d79c13de", "port": "inlabel" } }, { "source": { - "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", - "port": "aefe9248-3b3d-441b-9e65-33cda65b99dd" + "block": "d8572528-e0db-413c-a4ff-64d8cfee021d", + "port": "outlabel" }, "target": { - "block": "9baa509b-0012-4e0e-b874-e62987258aa1", - "port": "inlabel" + "block": "a409a5ab-68e2-4e36-b698-f6c309afdd54", + "port": "2708468d-1088-4570-be63-fb0d4799a941" } }, { "source": { - "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", - "port": "0d991cee-b329-439b-b9e7-5712d2db539d" - }, - "target": { - "block": "92c88f9e-7d51-4946-b0ef-088dcd8efa49", - "port": "inlabel" - }, - "vertices": [ - { - "x": 888, - "y": -216 - } - ] - }, - { - "source": { - "block": "fa7f43f2-cbb2-47e0-bcc5-32336f9cd8ed", + "block": "5d12a177-7618-4517-9067-3012f7cb42ce", "port": "outlabel" }, "target": { - "block": "bd61136e-6597-4728-a8c3-141a1841150b", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "block": "626e9279-30e7-4e81-8427-1f969a1f7789", + "port": "df0c1bb1-f8ef-49f3-b71f-9384c29a9735" } }, { "source": { - "block": "45bd338b-4745-4b06-b199-462cdaffa31d", + "block": "c1243e04-edbf-4cc6-9d85-f7bf35ac1dae", "port": "outlabel" }, "target": { - "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", - "port": "ba15eacb-1e03-4580-932b-3231703481e5" + "block": "3bc0627a-8d4d-4e19-a4aa-83b0dbfa525a", + "port": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6" } }, { "source": { - "block": "7d6ed080-252a-4f1b-8ec7-0f47d7866317", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "c9e1af2a-6f09-4cf6-a5b3-fdf7ec2c6530", + "port": "out" }, "target": { - "block": "2e9e9e82-c651-4a6b-9d9e-4c796699d133", + "block": "b0e427bd-ce26-43b5-9d61-685f1c1ab922", "port": "inlabel" } }, { "source": { - "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", - "port": "3802390d-8417-4369-b93c-dda647ccb0c6" + "block": "ba86528a-72e9-40f7-a1e6-c2e684026c24", + "port": "outlabel" }, "target": { - "block": "5a3f8466-6a57-4607-939a-fb15222442a7", - "port": "inlabel" + "block": "a409a5ab-68e2-4e36-b698-f6c309afdd54", + "port": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff" } }, { "source": { - "block": "c5781045-a890-4e66-8f67-80d0cb317ee6", - "port": "outlabel" + "block": "626e9279-30e7-4e81-8427-1f969a1f7789", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "ac8b922a-9249-49a3-8b42-a1f259ccae2b", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "block": "2f1050dd-a720-4ede-890e-612ce370ba61", + "port": "inlabel" } }, { "source": { - "block": "a756b829-42d1-4779-b42d-a9acc3800854", + "block": "20d06e62-fd81-4956-b93c-ade0e616fb98", "port": "outlabel" }, "target": { - "block": "49221b19-132a-4e3f-9a1f-97bcd463391b", + "block": "22ff3fa1-943b-4d1a-bd89-36e1c054d077", "port": "in" } }, { "source": { - "block": "8a5f0c79-7347-4b35-8e27-603ebed8bf9f", + "block": "761cc74e-6d08-4b08-acf3-70197fd7076a", "port": "outlabel" }, "target": { - "block": "55848689-05c8-4d58-b5a8-c421ff202e2d", - "port": "065ea371-8398-43b3-8341-287c234a3acb" + "block": "626e9279-30e7-4e81-8427-1f969a1f7789", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" } }, { "source": { - "block": "10afc859-04fd-433d-823a-4fa4721320c1", - "port": "outlabel" + "block": "3bc0627a-8d4d-4e19-a4aa-83b0dbfa525a", + "port": "88e0e872-0460-4ecc-bf26-8a7a5598a024" }, "target": { - "block": "28aef1aa-1cc2-4bb4-9a70-2db1962258d4", - "port": "97b51945-d716-4b6c-9db9-970d08541249" - } - }, - { - "source": { - "block": "28aef1aa-1cc2-4bb4-9a70-2db1962258d4", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "626e9279-30e7-4e81-8427-1f969a1f7789", + "port": "58d2c88e-2434-438f-986b-0f5b9c3654ca" }, - "target": { - "block": "06b60a4f-b1b1-4a91-ba10-bdb5a7515718", - "port": "inlabel" - } + "vertices": [] }, { "source": { - "block": "bd61136e-6597-4728-a8c3-141a1841150b", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "a409a5ab-68e2-4e36-b698-f6c309afdd54", + "port": "1c25e08e-e664-4fab-9b30-cedc1f8a3739" }, "target": { - "block": "8c96c7ec-0c2f-4870-9197-46116cd1d134", - "port": "inlabel" + "block": "3bc0627a-8d4d-4e19-a4aa-83b0dbfa525a", + "port": "2a921d76-1cbd-48fe-82a9-11b0ab4dbc06" } - }, + } + ] + } + } + }, + "1ed41a9f9beacd7b446f07558a35d3b77dc87319": { + "package": { + "name": "Edges-detector-block", + "version": "0.3", + "description": "Edges detector. It generates a 1-period pulse (tic) when either a rising edge or a falling edge is detected on the input. Block implementation", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22294.1%22%20height=%22185.316%22%20viewBox=%220%200%2077.813988%2049.031403%22%3E%3Cg%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M13.478%2032.941l6.026%207.975-5.054%206.03%201.749%201.556m-3.96-15.367l-3.5%207.976-7.97%201.556.583%202.528%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%221.058%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M12.773%202.492v29.942%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%223.969%22/%3E%3Cpath%20d=%22M1.984%2022.683l10.689%2010.453%2010.35-10.453%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%223.969%22%20stroke-linejoin=%22round%22/%3E%3Cg%20fill=%22none%22%20stroke=%22#00f%22%3E%3Cpath%20d=%22M42.248%2032.434l6.026%207.975-5.054%206.03%201.749%201.556m-3.96-15.367l-3.5%207.976-7.97%201.555.583%202.529%22%20stroke-width=%221.058%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M41.543%2032.628V2.686%22%20stroke-width=%223.969%22/%3E%3Cpath%20d=%22M30.754%2012.436L41.443%201.984l10.35%2010.452%22%20stroke-width=%223.969%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(.842%200%200%20.842%20-19.408%20-26.157)%22%20stroke=%22green%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ { - "source": { - "block": "f9f37a77-fd08-4506-9c1b-cc53daa19559", - "port": "outlabel" + "id": "913b2fb3-8676-42d8-bd97-97880350317d", + "type": "basic.output", + "data": { + "name": "nc" }, - "target": { - "block": "d76d4948-a798-448c-adfa-c03b511371e5", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + "position": { + "x": 624, + "y": 120 } }, { - "source": { - "block": "cb426e3d-ace3-4a57-a74b-155caed0c14c", - "port": "out" + "id": "2708468d-1088-4570-be63-fb0d4799a941", + "type": "basic.input", + "data": { + "name": "", + "clock": true }, - "target": { - "block": "9291f94d-2d9a-4c3a-b7df-4299abf84886", - "port": "inlabel" + "position": { + "x": 88, + "y": 152 } }, { - "source": { - "block": "40607400-436e-4dea-b733-8308a06fd4ef", - "port": "outlabel" + "id": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", + "type": "basic.input", + "data": { + "name": "", + "clock": false }, - "target": { - "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", - "port": "046501b8-4427-4d4d-af97-7fe807774f33" + "position": { + "x": 88, + "y": 280 } }, { - "source": { - "block": "2438a009-c8e2-4acb-b443-90fe0ddd989d", - "port": "outlabel" + "id": "1c25e08e-e664-4fab-9b30-cedc1f8a3739", + "type": "basic.output", + "data": { + "name": "" }, - "target": { - "block": "6a11eaf9-4bd5-405e-81f8-44418365326b", - "port": "in" + "position": { + "x": 616, + "y": 352 } }, { - "source": { - "block": "81fb4efb-363e-483e-b1df-c2ebda777355", - "port": "outlabel" + "id": "49c0a94e-2687-4aa4-8cba-327b2942095f", + "type": "basic.info", + "data": { + "info": "## Edges detector\n\nIt generates a 1-period pulse (tic) when an edge (Rising or falling) is detected on the \ninput signal", + "readonly": true }, - "target": { - "block": "55848689-05c8-4d58-b5a8-c421ff202e2d", - "port": "096f61b6-6d5c-4907-9512-e65b25969458" + "position": { + "x": 104, + "y": -40 + }, + "size": { + "width": 648, + "height": 96 } }, { - "source": { - "block": "d8820925-23d9-4f02-8491-adf813601d08", - "port": "outlabel" - }, - "target": { - "block": "d76d4948-a798-448c-adfa-c03b511371e5", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + "id": "a6ea5e17-d259-4272-8d1c-87a6a7fe3235", + "type": "basic.info", + "data": { + "info": "Input signal", + "readonly": true }, - "vertices": [ - { - "x": 1496, - "y": 280 - } - ] - }, - { - "source": { - "block": "dddd2a78-e0f8-4688-ad63-0c41ad98894b", - "port": "outlabel" + "position": { + "x": 96, + "y": 256 }, - "target": { - "block": "73948305-b05b-418f-88af-11328f400cdc", - "port": "in" + "size": { + "width": 136, + "height": 40 } }, { - "source": { - "block": "55848689-05c8-4d58-b5a8-c421ff202e2d", - "port": "f655c5c0-0157-4195-89ac-f92c5b3f8e0b", - "size": 4 + "id": "d0d6c668-3c03-42f5-9244-9a0431f11a87", + "type": "basic.info", + "data": { + "info": "System clock", + "readonly": true }, - "target": { - "block": "ce3dc4bf-dbfd-4a81-97cd-3c0a0a672d89", - "port": "inlabel" + "position": { + "x": 104, + "y": 120 }, - "size": 4 + "size": { + "width": 96, + "height": 48 + } }, { - "source": { - "block": "c69e492c-ad1e-46f7-8523-5e5c615f682d", - "port": "outlabel" + "id": "f18011f4-eb45-4f91-9716-c1d8c99f1845", + "type": "basic.info", + "data": { + "info": "Current signal \nstate", + "readonly": true }, - "target": { - "block": "a8eb520f-8b09-41ab-9146-919bf44b6078", - "port": "in", - "size": 4 + "position": { + "x": 160, + "y": 352 }, - "size": 4 + "size": { + "width": 168, + "height": 48 + } }, { - "source": { - "block": "be5cddf8-3e91-4b00-b2d0-0be80df6cc2d", - "port": "outlabel" + "id": "ab801839-c115-4e44-adb7-349586890b97", + "type": "basic.info", + "data": { + "info": "Signal state in the previous \nclock cycle", + "readonly": true }, - "target": { - "block": "642ea367-8f37-400d-b632-46e227ce544d", - "port": "d1ed8643-0bb2-48ac-9aca-17184aee9368", - "size": 4 + "position": { + "x": 328, + "y": 200 }, - "size": 4 + "size": { + "width": 248, + "height": 48 + } }, { - "source": { - "block": "50aa90d1-18a3-4f3c-9ca9-2d65c8664bc2", - "port": "outlabel" - }, - "target": { - "block": "3452d2fa-0c76-4021-925d-d73c3cea853f", - "port": "128b8626-fc1e-4144-a837-a275b812ee83", - "size": 4 + "id": "fde5c436-d382-48e7-80b5-390c05f46b9d", + "type": "basic.info", + "data": { + "info": "The output is 1 if the current value is 1 and the \nprevious 0, or if the current value is 0 and the \nprevious 1\n", + "readonly": true }, - "size": 4 - }, - { - "source": { - "block": "374613cb-968d-46d1-94a4-16686e7df28d", - "port": "constant-out" + "position": { + "x": 504, + "y": 264 }, - "target": { - "block": "55848689-05c8-4d58-b5a8-c421ff202e2d", - "port": "f3b434e4-0c8f-4dd7-90c7-305189a807f1" + "size": { + "width": 400, + "height": 72 } }, { - "source": { - "block": "a19b8bcd-a0a4-4da0-9844-5e5c0306e231", - "port": "constant-out" + "id": "4a6c58dc-e4cb-43b8-8a52-07ef0aa616f6", + "type": "d1240143e1ff7afe57f0f11565da980612b2bb76", + "position": { + "x": 480, + "y": 352 }, - "target": { - "block": "642ea367-8f37-400d-b632-46e227ce544d", - "port": "c4eedeee-32b3-41da-834c-48f3a92cbaec" + "size": { + "width": 96, + "height": 64 } }, { - "source": { - "block": "3452d2fa-0c76-4021-925d-d73c3cea853f", - "port": "0344dacc-8583-456b-b377-8cb4ab97cf94" + "id": "5590cf27-7da8-4183-b70c-0c9fda4a6dc0", + "type": "basic.info", + "data": { + "info": "In any other case the output is 0", + "readonly": true }, - "target": { - "block": "7d6ed080-252a-4f1b-8ec7-0f47d7866317", - "port": "97b51945-d716-4b6c-9db9-970d08541249" + "position": { + "x": 520, + "y": 432 + }, + "size": { + "width": 296, + "height": 40 } }, { - "source": { - "block": "ac8b922a-9249-49a3-8b42-a1f259ccae2b", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "id": "932daa85-b751-4060-a7fa-d517b2c7eaa7", + "type": "58ed2b5c7e33e2f215ccba6c101d9ea4ff60f284", + "position": { + "x": 320, + "y": 264 }, - "target": { - "block": "28aef1aa-1cc2-4bb4-9a70-2db1962258d4", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "size": { + "width": 96, + "height": 64 } - }, + } + ], + "wires": [ { "source": { - "block": "d76d4948-a798-448c-adfa-c03b511371e5", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + "block": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", + "port": "out" }, "target": { - "block": "ac8b922a-9249-49a3-8b42-a1f259ccae2b", - "port": "97b51945-d716-4b6c-9db9-970d08541249" + "block": "932daa85-b751-4060-a7fa-d517b2c7eaa7", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" } }, { "source": { - "block": "bd61136e-6597-4728-a8c3-141a1841150b", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "2708468d-1088-4570-be63-fb0d4799a941", + "port": "out" }, "target": { - "block": "7d6ed080-252a-4f1b-8ec7-0f47d7866317", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "block": "932daa85-b751-4060-a7fa-d517b2c7eaa7", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" } }, { "source": { - "block": "d0005413-fea9-4b0b-8a18-9b15d4977bc1", - "port": "constant-out" + "block": "4a6c58dc-e4cb-43b8-8a52-07ef0aa616f6", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, "target": { - "block": "caaa982b-20a8-426d-a546-beb213ed699f", - "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" + "block": "1c25e08e-e664-4fab-9b30-cedc1f8a3739", + "port": "in" } }, { "source": { - "block": "8f591b24-0427-409f-aa6e-ca1861556cf5", - "port": "out" + "block": "932daa85-b751-4060-a7fa-d517b2c7eaa7", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" }, "target": { - "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", - "port": "88176871-35ac-42bf-bf62-36c81a4b4b47" + "block": "4a6c58dc-e4cb-43b8-8a52-07ef0aa616f6", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" } }, { "source": { - "block": "ad4d0fc2-118e-496e-b292-c435bad20e7d", + "block": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", "port": "out" }, "target": { - "block": "bd61136e-6597-4728-a8c3-141a1841150b", + "block": "4a6c58dc-e4cb-43b8-8a52-07ef0aa616f6", "port": "97b51945-d716-4b6c-9db9-970d08541249" - } - }, - { - "source": { - "block": "642ea367-8f37-400d-b632-46e227ce544d", - "port": "423ecf0e-b1de-4a7f-8bf0-032e0c1f0467" }, - "target": { - "block": "55848689-05c8-4d58-b5a8-c421ff202e2d", - "port": "ee31ca02-b981-4474-a62e-85f20302435c" - }, - "size": 4 - }, - { - "source": { - "block": "caaa982b-20a8-426d-a546-beb213ed699f", - "port": "2da79d6d-81ed-4d5d-b4bf-113557353105" - }, - "target": { - "block": "3452d2fa-0c76-4021-925d-d73c3cea853f", - "port": "0587ffc4-0beb-4bc0-b72c-df8bde2c6bf2" - }, - "size": 4 + "vertices": [ + { + "x": 264, + "y": 368 + } + ] } ] } } }, - "438dedd956354c574afcde6f0793a7d369b2a031": { + "8a23ffd0491010ff595493182b82c722bd6902d7": { "package": { - "name": "Machine-state", - "version": "0.1", - "description": "Biestable de almacenamiento del estado de la máquina", - "author": "Juan Gonzalez-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22404.343%22%20width=%22319.18%22%20id=%22svg4%22%3E%3Cdefs%20id=%22defs8%22%3E%3Cmarker%20id=%22TriangleOutM%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20id=%22path972%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow1Mend%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-4%200l-2%202%207-2-7-2z%22%20id=%22path836%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow2Mend%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20id=%22path854%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow2Mend-3%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20id=%22path854-6%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow1Mend-5%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-4%200l-2%202%207-2-7-2z%22%20id=%22path836-3%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22TriangleOutM-7%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path972-5%22%20d=%22M2.308%200l-3.46%202v-4z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow1Mend-3%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path836-5%22%20d=%22M-4%200l-2%202%207-2-7-2z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow2Mend-6%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path854-2%22%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow2Mend-3-9%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path854-6-1%22%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow1Mend-5-2%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path836-3-7%22%20d=%22M-4%200l-2%202%207-2-7-2z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cdefs%20id=%22defs3%22%3E%3Cpath%20id=%22a%22%20d=%22M-58.3-45h653.6v640H-58.3z%22/%3E%3C/defs%3E%3Cpath%20id=%22path898%22%20d=%22M-58.3-45h653.6v640H-58.3z%22/%3E%3Cmarker%20id=%22TriangleOutM-3%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20id=%22path972-6%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow1Mend-7%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-4%200l-2%202%207-2-7-2z%22%20id=%22path836-53%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow2Mend-5%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20id=%22path854-62%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow2Mend-3-91%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20id=%22path854-6-2%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow1Mend-5-7%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-4%200l-2%202%207-2-7-2z%22%20id=%22path836-3-0%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22TriangleOutM-7-9%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path972-5-3%22%20d=%22M2.308%200l-3.46%202v-4z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow1Mend-3-6%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path836-5-0%22%20d=%22M-4%200l-2%202%207-2-7-2z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow2Mend-6-6%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path854-2-2%22%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow2Mend-3-9-6%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path854-6-1-1%22%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow1Mend-5-2-8%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path836-3-7-7%22%20d=%22M-4%200l-2%202%207-2-7-2z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cdefs%20id=%22defs3-9%22%3E%3Cpath%20id=%22a-2%22%20d=%22M-58.3-45h653.6v640H-58.3z%22/%3E%3C/defs%3E%3Cpath%20id=%22path974%22%20d=%22M-58.3-45h653.6v640H-58.3z%22/%3E%3C/defs%3E%3Cpath%20d=%22M124.728%2079.637c-24.895%200-45.091%2020.196-45.091%2045.109%200%2024.886%2020.196%2045.126%2045.092%2045.126%2024.904%200%2044.952-20.24%2044.952-45.126%200-24.913-20.049-45.11-44.953-45.11zm90.41%2071.022l-8.128%2019.578%2014.497%2028.472%201.914%203.759-20.1%2020.1-32.979-15.575-19.578%208.04-9.938%2030.421-1.27%204.038h-28.41L98.85%20215.155%2079.27%20207.08l-28.514%2014.462-3.759%201.88-20.092-20.083%2015.559-32.997-8.067-19.56-30.37-9.92L0%20139.555v-28.393L34.362%2098.85l8.067-19.544-14.453-28.533-1.906-3.741%2020.066-20.066%2033.022%2015.55%2019.553-8.084%209.928-30.403L109.92%200h28.401l12.304%2034.38%2019.527%208.084%2028.523-14.471%203.794-1.906%2020.083%2020.066-15.558%2032.97%208.04%2019.588%2030.456%209.928%204.003%201.28v28.384z%22%20id=%22path2%22%20fill=%22#00f%22%20stroke-width=%22.278%22/%3E%3Cg%20id=%22g992-5%22%20transform=%22matrix(3.23542%200%200%203.23542%20-54.399%20117.43)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20id=%22path992-2-62%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20id=%22path1773-2-3-1-8-9-9%22%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cstyle%20id=%22style2%22%3E.st0%7Bdisplay:none%7D.st1%7Bfill:none;stroke:#303030;stroke-width:.7;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10%7D.st2%7Bfill:#303030%7D%3C/style%3E%3Cg%20id=%22g1022%22%20transform=%22matrix(.5585%200%200%20.5585%2076.484%2043.495)%22%3E%3Cg%20transform=%22translate(3.47%203.198)%22%20id=%22layer1%22%3E%3Cpath%20id=%22path9-3%22%20d=%22M21.358%20145.947a63.75%2063.75%200%200%200%201.152%2011.049%22%20class=%22st1%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20id=%22path11%22%20d=%22M48.702%2092.116a64.784%2064.784%200%200%200-12.559%2011.68%2064.99%2064.99%200%200%200-12.69%2024.809%22%20class=%22st1%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20class=%22st1%22%20id=%22line17%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22%20d=%22M184.865%20207.591L41.298%20262.802%22/%3E%3Cpath%20d=%22M185.448%20175.07l.37.154c2.52.831%204.718%202.386%206.634%204.249%202.02%202.322%203.694%204.777%204.423%208.713%201.496%208.074-3.286%2016.05-10.95%2018.997l-1.06.408L41.298%20262.8l-.733.283c-8.003%203.077-17.551.461-21.82-6.975-3.3-5.748-2.736-12.198.418-21.613%203.155-9.414%202.86-21.856-1.644-33.55l.041.003-12.507-32.667c-12.88-33.415-.747-70.376%2027.41-90.31l-1.102-2.749c-3.685-9.583%201.14-20.438%2010.723-24.124%209.583-3.685%2020.439%201.14%2024.124%2010.723l1.654%203.239c34.881-3.556%2068.594%2015.855%2081.318%2049.33l15.24%2038.432c4.795%208.723%2011.831%2015.955%2021.028%2022.248z%22%20id=%22path21-3%22%20fill=%22#fff%22%20stroke=%22#303030%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20id=%22path826%22%20d=%22M64.268%20268.838l45.015-17.115s7.963%2024.296-14.427%2030.38c-22.39%206.086-30.588-13.265-30.588-13.265z%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3Cg%20id=%22layer3%22%3E%3Crect%20ry=%2219.847%22%20y=%223.671%22%20x=%2295.783%22%20height=%22135.189%22%20width=%22135.189%22%20id=%22rect845%22%20fill=%22#55acee%22%20stroke=%22#303030%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3C/g%3E%3Cg%20id=%22layer4%22%3E%3Cpath%20id=%22path7-6%22%20d=%22M172.724%2052.533V27.647h-9.888L144.047%2037.7l2.308%208.9%2014.833-8.076h.33v74.824H172.724V52.533z%22%20class=%22st2%22%20fill=%22#303030%22%20stroke-width=%2214.425%22/%3E%3C/g%3E%3C/g%3E%3Cg%20id=%22g992-5-7%22%20transform=%22matrix(3.23542%200%200%203.23542%20-57.653%2011.124)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20id=%22path992-2-62-5%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20id=%22path1773-2-3-1-8-9-9-3%22%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/svg%3E" + "name": "DFF-verilog", + "version": "0.2", + "description": "DFF. D Flip-flop. Verilog implementation", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22216.379%22%20height=%22279.911%22%20viewBox=%220%200%2057.25032%2074.059853%22%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M41.506%2040.152l13.608%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M34.122%2032.088L24.89%2012.475l-6.45%203.724-2.07-3.583L37.276.546l2.07%203.584-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.772L33.017%2045.02s-2.849-3.695-2.16-6.795c.687-3.1%203.265-6.137%203.265-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20transform=%22translate(-93.518%20-22.665)%20scale(1.09073)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20cx=%22100.602%22%20cy=%2273.815%22%20r=%2214.559%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1594812046378 }, "design": { "graph": { "blocks": [ { - "id": "0d991cee-b329-439b-b9e7-5712d2db539d", - "type": "basic.output", - "data": { - "name": "state" - }, - "position": { - "x": 960, - "y": 8 - } - }, - { - "id": "89a5da53-cc8b-4099-a5e3-b9cf281619b1", - "type": "basic.output", - "data": { - "name": "rst" - }, - "position": { - "x": 960, - "y": 120 - } - }, - { - "id": "046501b8-4427-4d4d-af97-7fe807774f33", + "id": "df0c1bb1-f8ef-49f3-b71f-9384c29a9735", "type": "basic.input", "data": { "name": "", "clock": true }, "position": { - "x": 408, - "y": 184 - } - }, - { - "id": "aefe9248-3b3d-441b-9e65-33cda65b99dd", - "type": "basic.output", - "data": { - "name": "on" - }, - "position": { - "x": 960, - "y": 256 - } - }, - { - "id": "88176871-35ac-42bf-bf62-36c81a4b4b47", - "type": "basic.input", - "data": { - "name": "start", - "clock": false - }, - "position": { - "x": 424, - "y": 288 + "x": 128, + "y": 424 } }, { - "id": "ba15eacb-1e03-4580-932b-3231703481e5", + "id": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", "type": "basic.input", "data": { - "name": "stop", + "name": "d", "clock": false }, "position": { - "x": 424, - "y": 352 + "x": 128, + "y": 536 } }, { - "id": "3802390d-8417-4369-b93c-dda647ccb0c6", + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", "type": "basic.output", "data": { - "name": "off" - }, - "position": { - "x": 960, - "y": 360 - } - }, - { - "id": "66f5f40c-d14b-4be3-96b6-6cea8d96b738", - "type": "b959c256104d1064a5ef7b38632ffb6eed3b396f", - "position": { - "x": 600, - "y": 272 - }, - "size": { - "width": 96, - "height": 96 - } - }, - { - "id": "03835a1e-c674-4fa3-927b-0511beff772c", - "type": "c386a7076c0569a15326b30b6748ca284426424d", - "position": { - "x": 776, - "y": 272 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "de860182-e038-4198-b4a4-505dd7a6fa9e", - "type": "35f267d0df6ffcb7fc33753bc9df9cf083642cca", - "position": { - "x": 736, - "y": 120 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "42f19387-aa1f-4514-88aa-adca9bf9f03b", - "type": "basic.info", - "data": { - "info": "**Tic de apagado**", - "readonly": true + "name": "" }, "position": { - "x": 960, - "y": 344 - }, - "size": { - "width": 168, - "height": 40 + "x": 824, + "y": 536 } }, { - "id": "eaab4880-4c6d-422f-a8ab-c06e579aa7c6", - "type": "basic.info", + "id": "58d2c88e-2434-438f-986b-0f5b9c3654ca", + "type": "basic.input", "data": { - "info": "**Tic de encendido**", - "readonly": true + "name": "load", + "clock": false }, "position": { - "x": 952, - "y": 240 - }, - "size": { - "width": 168, - "height": 40 + "x": 128, + "y": 648 } }, { - "id": "4e85996b-c40e-4f84-bfbc-ff87d4bc425d", - "type": "basic.info", + "id": "be33796a-a109-4ab0-a53b-dd6ec67587cd", + "type": "basic.constant", "data": { - "info": "**Inicializar**", - "readonly": true + "name": "", + "value": "0", + "local": false }, "position": { - "x": 968, - "y": 96 - }, - "size": { - "width": 168, - "height": 40 + "x": 488, + "y": 280 } }, { - "id": "130f81c9-ce87-47a8-b393-762b31a724fc", - "type": "basic.info", + "id": "5bffd6ef-bb9d-4d3f-a4f0-f91c6040ddc5", + "type": "basic.code", "data": { - "info": "**Estado de la máquina**", - "readonly": true + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "d" + }, + { + "name": "load" + } + ], + "out": [ + { + "name": "q" + } + ] + }, + "params": [ + { + "name": "INI" + } + ], + "code": "//-- Initial value\nreg qi = INI;\n\nalways @(posedge clk)\nbegin\n \n //-- When load is active\n //-- the input data is captured\n if (load == 1'b1)\n qi <= d;\n \nend\n\n//-- Connect the register with the\n//-- output\nassign q = qi;\n" }, "position": { - "x": 936, - "y": -16 + "x": 320, + "y": 400 }, "size": { - "width": 168, - "height": 40 + "width": 424, + "height": 336 } } ], "wires": [ { "source": { - "block": "66f5f40c-d14b-4be3-96b6-6cea8d96b738", - "port": "1cb167a4-9e2a-416b-803e-da7b6151eaa5" + "block": "df0c1bb1-f8ef-49f3-b71f-9384c29a9735", + "port": "out" }, "target": { - "block": "03835a1e-c674-4fa3-927b-0511beff772c", - "port": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff" + "block": "5bffd6ef-bb9d-4d3f-a4f0-f91c6040ddc5", + "port": "clk" } }, { "source": { - "block": "66f5f40c-d14b-4be3-96b6-6cea8d96b738", - "port": "1cb167a4-9e2a-416b-803e-da7b6151eaa5" + "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", + "port": "out" }, "target": { - "block": "0d991cee-b329-439b-b9e7-5712d2db539d", - "port": "in" - }, - "vertices": [ - { - "x": 720, - "y": 144 - } - ] + "block": "5bffd6ef-bb9d-4d3f-a4f0-f91c6040ddc5", + "port": "d" + } }, { "source": { - "block": "66f5f40c-d14b-4be3-96b6-6cea8d96b738", - "port": "1cb167a4-9e2a-416b-803e-da7b6151eaa5" + "block": "58d2c88e-2434-438f-986b-0f5b9c3654ca", + "port": "out" }, "target": { - "block": "de860182-e038-4198-b4a4-505dd7a6fa9e", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "block": "5bffd6ef-bb9d-4d3f-a4f0-f91c6040ddc5", + "port": "load" } }, { "source": { - "block": "de860182-e038-4198-b4a4-505dd7a6fa9e", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "5bffd6ef-bb9d-4d3f-a4f0-f91c6040ddc5", + "port": "q" }, "target": { - "block": "89a5da53-cc8b-4099-a5e3-b9cf281619b1", + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", "port": "in" } }, { "source": { - "block": "88176871-35ac-42bf-bf62-36c81a4b4b47", - "port": "out" + "block": "be33796a-a109-4ab0-a53b-dd6ec67587cd", + "port": "constant-out" }, "target": { - "block": "66f5f40c-d14b-4be3-96b6-6cea8d96b738", - "port": "3ae2d46d-7981-497a-899f-b60bfae0f43e" + "block": "5bffd6ef-bb9d-4d3f-a4f0-f91c6040ddc5", + "port": "INI" } - }, + } + ] + } + } + }, + "e8e3e62a1e1b5f4e98c7e128c7cd1bdf59b8f307": { + "package": { + "name": "syscounter-rst-16bits", + "version": "0.2", + "description": "16-bits Syscounter with reset", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22302.843%22%20height=%22186.504%22%20viewBox=%220%200%2080.127205%2049.345746%22%3E%3Cdefs%3E%3Cmarker%20id=%22a%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20fill=%22#00f%22%20fill-rule=%22evenodd%22%20stroke=%22#00f%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3C/defs%3E%3Cg%20transform=%22translate(-65.585%20-4.54)%22%3E%3Cpath%20d=%22M138.803%2048.49V16.91%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%222.806%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20marker-end=%22url(#a)%22/%3E%3Crect%20rx=%222.807%22%20ry=%222.807%22%20y=%225.289%22%20x=%2299.747%22%20height=%2247.849%22%20width=%2229.538%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%221.497%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%2240.921%22%20x=%22108.575%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%228.982%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%221.497%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2240.921%22%20x=%22108.575%22%20font-weight=%22700%22%20font-size=%2235.656%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M100.868%2030.283h27.764%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%222.245%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20rx=%222.807%22%20ry=%222.807%22%20y=%225.289%22%20x=%2266.333%22%20height=%2247.849%22%20width=%2229.538%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%221.497%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%2240.921%22%20x=%2273.223%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%228.982%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%221.497%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2240.921%22%20x=%2273.223%22%20font-weight=%22700%22%20font-size=%2235.656%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M67.454%2030.283h27.764%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%222.245%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618592156430 + }, + "design": { + "graph": { + "blocks": [ { - "source": { - "block": "ba15eacb-1e03-4580-932b-3231703481e5", - "port": "out" + "id": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", + "type": "basic.input", + "data": { + "name": "", + "clock": true }, - "target": { - "block": "66f5f40c-d14b-4be3-96b6-6cea8d96b738", - "port": "86eb8c81-17fc-4371-bd21-51f429191f3c" + "position": { + "x": 216, + "y": -120 } }, { - "source": { - "block": "03835a1e-c674-4fa3-927b-0511beff772c", - "port": "1c25e08e-e664-4fab-9b30-cedc1f8a3739" + "id": "0a772657-8018-424d-8f04-75d3ffff3692", + "type": "basic.inputLabel", + "data": { + "blockColor": "yellow", + "name": "clk", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true }, - "target": { - "block": "aefe9248-3b3d-441b-9e65-33cda65b99dd", - "port": "in" + "position": { + "x": 368, + "y": -120 } }, { - "source": { - "block": "03835a1e-c674-4fa3-927b-0511beff772c", - "port": "3ada5999-55ba-4c4e-9877-a3e9ed82308c" + "id": "b9359b10-b14f-4dd7-adf9-3f4f22bc65e6", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk", + "oldBlockColor": "fuchsia" }, - "target": { - "block": "3802390d-8417-4369-b93c-dda647ccb0c6", - "port": "in" + "position": { + "x": 384, + "y": -32 } }, { - "source": { - "block": "046501b8-4427-4d4d-af97-7fe807774f33", - "port": "out" + "id": "217e7560-fd53-4db7-b08f-c9e027e3ba4e", + "type": "basic.outputLabel", + "data": { + "name": "q", + "range": "[15:0]", + "blockColor": "fuchsia", + "size": 16 }, - "target": { - "block": "66f5f40c-d14b-4be3-96b6-6cea8d96b738", - "port": "9f09a4af-8f7a-45c3-af7b-293a244e76d9" + "position": { + "x": 1040, + "y": -32 } }, { - "source": { - "block": "046501b8-4427-4d4d-af97-7fe807774f33", - "port": "out" - }, - "target": { - "block": "03835a1e-c674-4fa3-927b-0511beff772c", - "port": "2708468d-1088-4570-be63-fb0d4799a941" - } - } - ] - } - } - }, - "b959c256104d1064a5ef7b38632ffb6eed3b396f": { - "package": { - "name": "Biestable-Set-Reset", - "version": "0.1", - "description": "Biestable con entradas de Set y Reset síncronas, para poner y quitar notaficaciones de eventos", - "author": "Juan Gonzalez-Gomez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20234.62951%20290.44458%22%20id=%22svg30%22%20width=%22234.63%22%20height=%22290.445%22%3E%3Cstyle%20id=%22style2%22%3E.st0%7Bdisplay:none%7D.st1%7Bfill:none;stroke:#303030;stroke-width:.7;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10%7D.st2%7Bfill:#303030%7D%3C/style%3E%3Cg%20id=%22layer1%22%20transform=%22translate(3.47%203.198)%22%3E%3Cpath%20class=%22st1%22%20d=%22M21.358%20145.947a63.75%2063.75%200%200%200%201.152%2011.049%22%20id=%22path9%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20class=%22st1%22%20d=%22M48.702%2092.116a64.784%2064.784%200%200%200-12.559%2011.68%2064.99%2064.99%200%200%200-12.69%2024.809%22%20id=%22path11%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20id=%22line17%22%20class=%22st1%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22%20d=%22M184.865%20207.591L41.298%20262.802%22/%3E%3Cpath%20id=%22path21-3%22%20d=%22M185.448%20175.07l.37.154c2.52.831%204.718%202.386%206.634%204.249%202.02%202.322%203.694%204.777%204.423%208.713%201.496%208.074-3.286%2016.05-10.95%2018.997l-1.06.408L41.298%20262.8l-.733.283c-8.003%203.077-17.551.461-21.82-6.975-3.3-5.748-2.736-12.198.418-21.613%203.155-9.414%202.86-21.856-1.644-33.55l.041.003-12.507-32.667c-12.88-33.415-.747-70.376%2027.41-90.31l-1.102-2.749c-3.685-9.583%201.14-20.438%2010.723-24.124%209.583-3.685%2020.439%201.14%2024.124%2010.723l1.654%203.239c34.881-3.556%2068.594%2015.855%2081.318%2049.33l15.24%2038.432c4.795%208.723%2011.831%2015.955%2021.028%2022.248z%22%20fill=%22#fff%22%20stroke=%22#303030%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20d=%22M64.268%20268.838l45.015-17.115s7.963%2024.296-14.427%2030.38c-22.39%206.086-30.588-13.265-30.588-13.265z%22%20id=%22path826%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3Cg%20id=%22layer3%22%3E%3Crect%20id=%22rect845%22%20width=%22135.189%22%20height=%22135.189%22%20x=%2295.783%22%20y=%223.671%22%20ry=%2219.847%22%20fill=%22#55acee%22%20stroke=%22#303030%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3C/g%3E%3Cg%20id=%22layer4%22%3E%3Cpath%20class=%22st2%22%20d=%22M172.724%2052.533V27.647h-9.888L144.047%2037.7l2.308%208.9%2014.833-8.076h.33v74.824H172.724V52.533z%22%20id=%22path7%22%20fill=%22#303030%22%20stroke-width=%2214.425%22/%3E%3C/g%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "9f09a4af-8f7a-45c3-af7b-293a244e76d9", - "type": "basic.input", + "id": "9c188e62-dea5-47d2-bfb6-b8379f6c7637", + "type": "basic.output", "data": { - "name": "", - "clock": true + "name": "q", + "range": "[15:0]", + "size": 16 }, "position": { - "x": 200, - "y": 64 + "x": 1216, + "y": -32 } }, { - "id": "3ae2d46d-7981-497a-899f-b60bfae0f43e", - "type": "basic.input", + "id": "88e0e872-0460-4ecc-bf26-8a7a5598a024", + "type": "basic.output", "data": { - "name": "set", - "clock": false + "name": "max" }, "position": { - "x": 200, - "y": 152 + "x": 1208, + "y": 56 } }, { - "id": "1cb167a4-9e2a-416b-803e-da7b6151eaa5", - "type": "basic.output", + "id": "06c393de-8af4-4b53-852c-b0e0160b5314", + "type": "basic.outputLabel", "data": { - "name": "" + "blockColor": "fuchsia", + "name": "c" }, "position": { - "x": 720, - "y": 152 + "x": 1048, + "y": 56 } }, { - "id": "86eb8c81-17fc-4371-bd21-51f429191f3c", + "id": "2a921d76-1cbd-48fe-82a9-11b0ab4dbc06", "type": "basic.input", "data": { "name": "rst", "clock": false }, "position": { - "x": 200, - "y": 232 + "x": 216, + "y": 56 } }, { - "id": "bf12a800-db30-4289-a7c5-8c08438f9a39", - "type": "basic.constant", + "id": "b34779b6-0670-454d-8d35-9f92e6ff15cf", + "type": "basic.inputLabel", "data": { - "name": "", - "value": "0", - "local": false + "name": "q", + "range": "[15:0]", + "pins": [ + { + "index": "15", + "name": "", + "value": "" + }, + { + "index": "14", + "name": "", + "value": "" + }, + { + "index": "13", + "name": "", + "value": "" + }, + { + "index": "12", + "name": "", + "value": "" + }, + { + "index": "11", + "name": "", + "value": "" + }, + { + "index": "10", + "name": "", + "value": "" + }, + { + "index": "9", + "name": "", + "value": "" + }, + { + "index": "8", + "name": "", + "value": "" + }, + { + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "blockColor": "fuchsia" }, "position": { - "x": 464, - "y": 0 + "x": 712, + "y": 88 } }, { - "id": "90068dea-9e7b-4a0f-afa3-e6585d0d8542", - "type": "basic.code", + "id": "cd9b7fce-c943-4b4c-a716-94f2cd21ccda", + "type": "basic.inputLabel", "data": { - "code": "reg q = INI;\n\nalways @(posedge clk)\n if (set)\n q <= 1'b1;\n else if (rst)\n q<=1'b0;", - "params": [ + "blockColor": "fuchsia", + "name": "c", + "pins": [ { - "name": "INI" + "index": "0", + "name": "NULL", + "value": "NULL" } ], - "ports": { - "in": [ - { - "name": "clk" - }, - { - "name": "set" - }, - { - "name": "rst" - } - ], - "out": [ - { - "name": "q" - } - ] - } + "virtual": true }, "position": { - "x": 400, - "y": 120 + "x": 856, + "y": 144 + } + }, + { + "id": "230ff023-e330-4c47-84fb-8366ab5fdbd4", + "type": "8ecd5933e4bd5916eca00d6b654d6760012c47a6", + "position": { + "x": 720, + "y": 160 }, "size": { - "width": 224, - "height": 128 + "width": 96, + "height": 64 + } + }, + { + "id": "de292739-9119-4a80-832d-033be6a9ffbe", + "type": "0788ea6614e4f073f6ed9a49665243d6d489ba46", + "position": { + "x": 544, + "y": 40 + }, + "size": { + "width": 96, + "height": 96 } } ], "wires": [ { "source": { - "block": "9f09a4af-8f7a-45c3-af7b-293a244e76d9", + "block": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", "port": "out" }, "target": { - "block": "90068dea-9e7b-4a0f-afa3-e6585d0d8542", - "port": "clk" + "block": "0a772657-8018-424d-8f04-75d3ffff3692", + "port": "inlabel" }, - "vertices": [ - { - "x": 336, - "y": 104 - } - ] + "vertices": [] }, { "source": { - "block": "3ae2d46d-7981-497a-899f-b60bfae0f43e", - "port": "out" + "block": "230ff023-e330-4c47-84fb-8366ab5fdbd4", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "90068dea-9e7b-4a0f-afa3-e6585d0d8542", - "port": "set" - } + "block": "cd9b7fce-c943-4b4c-a716-94f2cd21ccda", + "port": "inlabel" + }, + "vertices": [] }, { "source": { - "block": "86eb8c81-17fc-4371-bd21-51f429191f3c", - "port": "out" + "block": "b9359b10-b14f-4dd7-adf9-3f4f22bc65e6", + "port": "outlabel" }, "target": { - "block": "90068dea-9e7b-4a0f-afa3-e6585d0d8542", - "port": "rst" - }, - "vertices": [ - { - "x": 344, - "y": 248 - } - ] + "block": "de292739-9119-4a80-832d-033be6a9ffbe", + "port": "0ae5a502-ee21-47ad-bacb-405a35a87a91" + } }, { "source": { - "block": "90068dea-9e7b-4a0f-afa3-e6585d0d8542", - "port": "q" + "block": "06c393de-8af4-4b53-852c-b0e0160b5314", + "port": "outlabel" }, "target": { - "block": "1cb167a4-9e2a-416b-803e-da7b6151eaa5", + "block": "88e0e872-0460-4ecc-bf26-8a7a5598a024", "port": "in" } }, { "source": { - "block": "bf12a800-db30-4289-a7c5-8c08438f9a39", - "port": "constant-out" + "block": "de292739-9119-4a80-832d-033be6a9ffbe", + "port": "7995c7b0-4a39-4a19-aaa4-68f4e469912f", + "size": 16 }, "target": { - "block": "90068dea-9e7b-4a0f-afa3-e6585d0d8542", - "port": "INI" + "block": "b34779b6-0670-454d-8d35-9f92e6ff15cf", + "port": "inlabel" + }, + "size": 16 + }, + { + "source": { + "block": "217e7560-fd53-4db7-b08f-c9e027e3ba4e", + "port": "outlabel" + }, + "target": { + "block": "9c188e62-dea5-47d2-bfb6-b8379f6c7637", + "port": "in", + "size": 16 + }, + "size": 16 + }, + { + "source": { + "block": "2a921d76-1cbd-48fe-82a9-11b0ab4dbc06", + "port": "out" + }, + "target": { + "block": "de292739-9119-4a80-832d-033be6a9ffbe", + "port": "892d93f1-9c4c-46c1-82c7-ff9702a5725a" } + }, + { + "source": { + "block": "de292739-9119-4a80-832d-033be6a9ffbe", + "port": "7995c7b0-4a39-4a19-aaa4-68f4e469912f" + }, + "target": { + "block": "230ff023-e330-4c47-84fb-8366ab5fdbd4", + "port": "cc343d02-8e43-4dd6-9999-21e29934ed5b" + }, + "vertices": [], + "size": 16 + }, + { + "source": { + "block": "230ff023-e330-4c47-84fb-8366ab5fdbd4", + "port": "a7420015-7f67-4b9a-9dba-b3a58ce79fdc" + }, + "target": { + "block": "de292739-9119-4a80-832d-033be6a9ffbe", + "port": "c48a2779-52ed-4dde-8f95-e8ce67397de8" + }, + "vertices": [ + { + "x": 840, + "y": 264 + } + ], + "size": 16 } ] } } }, - "c386a7076c0569a15326b30b6748ca284426424d": { + "8ecd5933e4bd5916eca00d6b654d6760012c47a6": { "package": { - "name": "Detector-flancos", + "name": "Inc1-16bits", "version": "0.1", - "description": "Detector de flancos de subida y bajada. Emite tic por las salidas correspondientes al detecta los flancos", + "description": "Inc1-16bit: Increment a 16-bits number by one", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22375.877%22%20height=%22399.413%22%20viewBox=%220%200%2099.450701%20105.67809%22%3E%3Cdefs%3E%3Cmarker%20orient=%22auto%22%20id=%22a%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20fill=%22red%22%20fill-rule=%22evenodd%22%20stroke=%22red%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22b%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20fill=%22red%22%20fill-rule=%22evenodd%22%20stroke=%22red%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3C/defs%3E%3Cg%20transform=%22translate(-61.727%20-50.902)%22%3E%3Cg%20fill=%22none%22%20stroke=%22#00f%22%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M76.611%2083.336l6.027%207.974-5.055%206.03%201.75%201.557M75.371%2083.53l-3.5%207.975-7.97%201.556.583%202.528%22%20stroke-width=%221.058%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M75.907%2083.53V53.588%22%20stroke-width=%223.969%22/%3E%3Cpath%20d=%22M65.118%2063.338l10.688-10.452%2010.351%2010.452%22%20stroke-width=%223.969%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3Cpath%20d=%22M123.88%2069.103c2.17%203.317%204.013%202.718%205.68%200%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22/%3E%3Cpath%20d=%22M132.326%2095.38V51.614h-11.225v43.497%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%221.323%22%20stroke-linecap=%22round%22/%3E%3Cellipse%20cx=%22112.489%22%20cy=%2297.866%22%20rx=%227.009%22%20ry=%222.635%22%20transform=%22rotate(-1.418)%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%22.265%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20cx=%22-140.807%22%20cy=%2291.678%22%20rx=%227.009%22%20ry=%222.635%22%20transform=%22scale(-1%201)%20rotate(-1.418)%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%22.265%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M124.8%2059.416v3.875M128.39%2059.416v3.875%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%22.529%22/%3E%3Cpath%20d=%22M85.794%2074.097h21.381%22%20fill=%22red%22%20stroke=%22red%22%20stroke-width=%222.646%22%20marker-end=%22url(#a)%22/%3E%3Cg%20transform=%22matrix(.842%200%200%20.842%2062.826%2011.41)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cpath%20d=%22M74.965%20140.485l6.027%207.974-5.055%206.03%201.75%201.557m-3.96-15.367l-3.5%207.975-7.97%201.556.582%202.528%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%221.058%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M74.695%20110.063v29.943%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%223.969%22%20stroke-linecap=%22round%22/%3E%3Cpath%20d=%22M63.906%20130.255l10.689%2010.452%2010.35-10.452%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%223.969%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M124.208%20120.573c2.17%203.317%204.013%202.718%205.68%200%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22/%3E%3Cpath%20d=%22M132.654%20146.85v-43.764H121.43v43.496%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%221.323%22%20stroke-linecap=%22round%22/%3E%3Cellipse%20cx=%22111.543%22%20cy=%22149.329%22%20rx=%227.009%22%20ry=%222.635%22%20transform=%22rotate(-1.418)%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%22.265%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20cx=%22-142.409%22%20cy=%22143.124%22%20rx=%227.009%22%20ry=%222.635%22%20transform=%22scale(-1%201)%20rotate(-1.418)%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%22.265%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M125.128%20110.887v3.874M128.718%20110.887v3.874%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%22.529%22/%3E%3Cpath%20d=%22M86.122%20125.567h21.381%22%20fill=%22red%22%20stroke=%22red%22%20stroke-width=%222.646%22%20marker-end=%22url(#b)%22/%3E%3Cg%20transform=%22matrix(.842%200%200%20.842%2063.956%2061.544)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E" + "image": "%3Csvg%20width=%22387.891%22%20height=%22310.09%22%20viewBox=%220%200%20363.64764%20290.70999%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.759%2055.834v79.813h79.508v35.946H115.76v79.813h-36.25v-79.813H-.002v-35.946h79.51V55.834z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3Cpath%20d=%22M196.193%20257.608h64.256V35.828l-69.902%2014.02V14.018L260.06%200h39.332v257.608h64.257v33.102H196.193z%22%20style=%22line-height:1.25%22%20font-size=%22398.777%22%20stroke-width=%229.969%22/%3E%3C/svg%3E", + "otid": 1618560481898 }, "design": { "graph": { "blocks": [ { - "id": "2708468d-1088-4570-be63-fb0d4799a941", - "type": "basic.input", - "data": { - "name": "", - "clock": true - }, - "position": { - "x": 152, - "y": 160 - } - }, - { - "id": "1c25e08e-e664-4fab-9b30-cedc1f8a3739", + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", "type": "basic.output", "data": { - "name": "up" + "name": "c" }, "position": { - "x": 672, - "y": 160 + "x": 624, + "y": -168 } }, { - "id": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", + "id": "cc343d02-8e43-4dd6-9999-21e29934ed5b", "type": "basic.input", "data": { "name": "", - "clock": false + "range": "[15:0]", + "clock": false, + "size": 16 }, "position": { - "x": 152, - "y": 248 + "x": 280, + "y": -152 } }, { - "id": "3ada5999-55ba-4c4e-9877-a3e9ed82308c", + "id": "a7420015-7f67-4b9a-9dba-b3a58ce79fdc", "type": "basic.output", "data": { - "name": "down" - }, - "position": { - "x": 672, - "y": 248 - } - }, - { - "id": "49c0a94e-2687-4aa4-8cba-327b2942095f", - "type": "basic.info", - "data": { - "info": "## Detector doble: flancos de subida y bajada\n\nSe detectan tanto los flancos de subida como de bajada y se emite los \ntics por sus salidas correspondientes", - "readonly": true + "name": "s", + "range": "[15:0]", + "size": 16 }, "position": { - "x": 144, - "y": -24 - }, - "size": { - "width": 568, - "height": 80 + "x": 624, + "y": -104 } }, { - "id": "a6ea5e17-d259-4272-8d1c-87a6a7fe3235", - "type": "basic.info", + "id": "cd0d6f4d-9898-4114-94a9-0b4b98223c27", + "type": "basic.constant", "data": { - "info": "Señal de \nentrada", - "readonly": true + "name": "", + "value": "1", + "local": true }, "position": { - "x": 168, - "y": 216 - }, - "size": { - "width": 96, - "height": 56 + "x": 456, + "y": -256 } }, { - "id": "d0d6c668-3c03-42f5-9244-9a0431f11a87", - "type": "basic.info", - "data": { - "info": "Reloj del \nsistema", - "readonly": true - }, + "id": "12fb4602-d67f-4129-a777-f04945adf29d", + "type": "26569688c377bf52132e5f1de5a15da7143d9388", "position": { - "x": 168, - "y": 120 + "x": 456, + "y": -152 }, "size": { "width": 96, - "height": 48 - } - }, - { - "id": "73c2239c-1050-4d9f-ae49-0299d50982af", - "type": "basic.code", - "data": { - "code": "reg q = 0;\n\nalways @(posedge clk)\n q <= i;\n \nassign up = (~q & i); \nassign down = (q & ~i); ", - "params": [], - "ports": { - "in": [ - { - "name": "clk" - }, - { - "name": "i" - } - ], - "out": [ - { - "name": "up" - }, - { - "name": "down" - } - ] - } - }, - "position": { - "x": 336, - "y": 152 - }, - "size": { - "width": 264, - "height": 168 + "height": 64 } } ], "wires": [ { "source": { - "block": "2708468d-1088-4570-be63-fb0d4799a941", - "port": "out" + "block": "12fb4602-d67f-4129-a777-f04945adf29d", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "73c2239c-1050-4d9f-ae49-0299d50982af", - "port": "clk" + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" } }, { "source": { - "block": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", - "port": "out" + "block": "cd0d6f4d-9898-4114-94a9-0b4b98223c27", + "port": "constant-out" }, "target": { - "block": "73c2239c-1050-4d9f-ae49-0299d50982af", - "port": "i" + "block": "12fb4602-d67f-4129-a777-f04945adf29d", + "port": "e728fdca-755f-4f2d-98e7-0716b1c5258f" } }, { "source": { - "block": "73c2239c-1050-4d9f-ae49-0299d50982af", - "port": "up" + "block": "cc343d02-8e43-4dd6-9999-21e29934ed5b", + "port": "out" }, "target": { - "block": "1c25e08e-e664-4fab-9b30-cedc1f8a3739", - "port": "in" - } + "block": "12fb4602-d67f-4129-a777-f04945adf29d", + "port": "1253e5dc-89f9-4074-874c-82628c0e1d6f" + }, + "size": 16 }, { "source": { - "block": "73c2239c-1050-4d9f-ae49-0299d50982af", - "port": "down" + "block": "12fb4602-d67f-4129-a777-f04945adf29d", + "port": "f4640f0f-2d2b-40c6-adb2-2581f7d1f9a7" }, "target": { - "block": "3ada5999-55ba-4c4e-9877-a3e9ed82308c", + "block": "a7420015-7f67-4b9a-9dba-b3a58ce79fdc", "port": "in" - } + }, + "size": 16 } ] } } }, - "a3c966710f8e14f7d3464d7e89c1894dfebb86c7": { + "26569688c377bf52132e5f1de5a15da7143d9388": { "package": { - "name": "Registro", + "name": "AdderK-16bits", "version": "0.1", - "description": "Registro de 4 bits con entrada de reset", + "description": "AdderK-16bit: Adder of 16-bit operand and 16-bit constant", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22519.236%22%20height=%22279.911%22%20viewBox=%220%200%20137.38127%2074.059853%22%3E%3Cpath%20d=%22M41.506%2040.152l13.608%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke=%22#000%22%20stroke-width=%221.092%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M34.122%2032.088L24.89%2012.475l-6.45%203.724-2.07-3.583L37.276.546l2.07%203.584-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.772L33.017%2045.02s-2.849-3.695-2.16-6.795c.687-3.1%203.265-6.137%203.265-6.137z%22%20fill=%22red%22%20stroke=%22#000%22%20stroke-width=%221.092%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22translate(-93.518%20-22.665)%20scale(1.09073)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20cx=%22100.602%22%20cy=%2273.815%22%20r=%2214.559%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M81.95%2040.152l13.607%2016.672L88.64%2036.29%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M74.566%2032.088l-9.232-19.613-6.451%203.724-2.069-3.583L77.719.546l2.069%203.584-6.092%203.517%2012.03%2018.223s5.399-2.025%208.535.74c3.137%202.766%202.52%204.92%202.887%204.772L73.46%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M121.637%2040.152l13.608%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M114.253%2032.088l-9.232-19.613-6.45%203.724-2.07-3.583L117.407.546l2.07%203.584-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.772L113.147%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3C/svg%3E" + "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618560481898 }, "design": { "graph": { "blocks": [ { - "id": "096f61b6-6d5c-4907-9512-e65b25969458", - "type": "basic.input", - "data": { - "name": "", - "clock": true - }, - "position": { - "x": 80, - "y": 168 - } - }, - { - "id": "a2b70876-c7c0-4208-a403-eed81e32fe5a", - "type": "basic.input", + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", "data": { - "name": "rst", - "clock": false + "name": "c" }, "position": { - "x": 80, - "y": 216 + "x": 624, + "y": -168 } }, { - "id": "f655c5c0-0157-4195-89ac-f92c5b3f8e0b", + "id": "f4640f0f-2d2b-40c6-adb2-2581f7d1f9a7", "type": "basic.output", "data": { - "name": "q", - "range": "[3:0]", - "size": 4 + "name": "s", + "range": "[15:0]", + "size": 16 }, "position": { - "x": 632, - "y": 248 + "x": 624, + "y": -96 } }, { - "id": "ee31ca02-b981-4474-a62e-85f20302435c", + "id": "1253e5dc-89f9-4074-874c-82628c0e1d6f", "type": "basic.input", "data": { "name": "", - "range": "[3:0]", + "range": "[15:0]", "clock": false, - "size": 4 - }, - "position": { - "x": 80, - "y": 272 - } - }, - { - "id": "065ea371-8398-43b3-8341-287c234a3acb", - "type": "basic.input", - "data": { - "name": "load", - "clock": false + "size": 16 }, "position": { - "x": 80, - "y": 320 + "x": 232, + "y": -56 } }, { - "id": "f3b434e4-0c8f-4dd7-90c7-305189a807f1", + "id": "e728fdca-755f-4f2d-98e7-0716b1c5258f", "type": "basic.constant", "data": { "name": "", @@ -11574,208 +10866,157 @@ "local": false }, "position": { - "x": 376, - "y": 56 + "x": 232, + "y": -272 } }, { - "id": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "type": "basic.code", - "data": { - "code": "localparam N = 4;\n\nreg [N-1:0] q = INI;\n\nalways @(posedge clk)\n if (rst)\n q <= 0;\n else\n if (load)\n q <= d;", - "params": [ - { - "name": "INI" - } - ], - "ports": { - "in": [ - { - "name": "clk" - }, - { - "name": "rst" - }, - { - "name": "d", - "range": "[3:0]", - "size": 4 - }, - { - "name": "load" - } - ], - "out": [ - { - "name": "q", - "range": "[3:0]", - "size": 4 - } - ] - } + "id": "3ed9c4cb-d412-46e8-86cc-9943f564ccd0", + "type": "651fa32fcf52b534a766fdb2ba638a010338f268", + "position": { + "x": 232, + "y": -168 }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "82e8e1b8-0816-489f-9427-b03956cdc86a", + "type": "bc66d79524a86b172c0ff190e607bca7c0694b8b", "position": { - "x": 280, - "y": 176 + "x": 456, + "y": -152 }, "size": { - "width": 288, - "height": 200 + "width": 96, + "height": 64 } } ], "wires": [ { "source": { - "block": "f3b434e4-0c8f-4dd7-90c7-305189a807f1", - "port": "constant-out" + "block": "82e8e1b8-0816-489f-9427-b03956cdc86a", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "INI" - }, - "vertices": [] + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" + } }, { "source": { - "block": "065ea371-8398-43b3-8341-287c234a3acb", - "port": "out" + "block": "e728fdca-755f-4f2d-98e7-0716b1c5258f", + "port": "constant-out" }, "target": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "load" + "block": "3ed9c4cb-d412-46e8-86cc-9943f564ccd0", + "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" } }, { "source": { - "block": "096f61b6-6d5c-4907-9512-e65b25969458", - "port": "out" + "block": "3ed9c4cb-d412-46e8-86cc-9943f564ccd0", + "port": "d54af040-d87a-431d-a15f-d5deb4795af5" }, "target": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "clk" - } + "block": "82e8e1b8-0816-489f-9427-b03956cdc86a", + "port": "353729bb-5213-45a7-a8e1-4e1d812492bd" + }, + "size": 16 }, { "source": { - "block": "ee31ca02-b981-4474-a62e-85f20302435c", + "block": "1253e5dc-89f9-4074-874c-82628c0e1d6f", "port": "out" }, "target": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "d" + "block": "82e8e1b8-0816-489f-9427-b03956cdc86a", + "port": "eeb34637-ba55-4a7f-803e-e85d9b9c7fc4" }, - "size": 4 + "size": 16 }, { "source": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "q" + "block": "82e8e1b8-0816-489f-9427-b03956cdc86a", + "port": "14253a9f-c3ef-4ada-bb54-dbbed784b7a9" }, "target": { - "block": "f655c5c0-0157-4195-89ac-f92c5b3f8e0b", + "block": "f4640f0f-2d2b-40c6-adb2-2581f7d1f9a7", "port": "in" }, - "size": 4 - }, - { - "source": { - "block": "a2b70876-c7c0-4208-a403-eed81e32fe5a", - "port": "out" - }, - "target": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "rst" - } + "size": 16 } ] } } }, - "04dcede98e726cdb028c1ef593f02f949d5f5ac6": { + "651fa32fcf52b534a766fdb2ba638a010338f268": { "package": { - "name": "sum-1op-4bits", - "version": "0.1", - "description": "Sumador de un operando de 4 bits con una constante pasada como parámetro (No hay accarreo)", - "author": "Juan González-Gómez", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%3E%3Ctext%20style=%22line-height:125%25%22%20x=%22-33.052%22%20y=%22195.572%22%20font-weight=%22400%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20font-family=%22sans-serif%22%20stroke-width=%224.441%22%3E%3Ctspan%20x=%22-33.052%22%20y=%22195.572%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%3E+%3C/tspan%3E%3C/text%3E%3C/svg%3E" + "name": "16-bits-gen-constant", + "version": "0.0.2", + "description": "Generic: 16-bits generic constant", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22145.608%22%20height=%22247.927%22%20viewBox=%220%200%20136.50729%20232.43134%22%3E%3Cg%20style=%22line-height:0%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%3E%3Cpath%20d=%22M56.012%20146.905q9.055%206.708%2020.459%2017.105%2011.404%2010.062%2022.472%2021.8%2011.403%2011.74%2021.465%2024.15%2010.062%2012.074%2016.1%2022.471h-32.87q-6.372-10.397-15.763-21.13-9.392-11.068-20.124-21.13-10.398-10.062-21.13-18.447-10.398-8.385-18.783-14.087v74.794H0V4.695L27.838%200v141.874q18.447-16.1%2036.894-31.863%2018.447-16.1%2033.205-33.205h32.533q-14.422%2017.106-34.881%2035.217-20.124%2018.112-39.577%2034.882z%22%20style=%22line-height:1.25%22%20font-size=%22335.399%22%20font-weight=%22400%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22/%3E%3C/g%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "d1ed8643-0bb2-48ac-9aca-17184aee9368", - "type": "basic.input", - "data": { - "name": "", - "range": "[3:0]", - "clock": false, - "size": 4 - }, - "position": { - "x": 208, - "y": 192 - } - }, - { - "id": "423ecf0e-b1de-4a7f-8bf0-032e0c1f0467", + "id": "d54af040-d87a-431d-a15f-d5deb4795af5", "type": "basic.output", "data": { "name": "", - "range": "[3:0]", - "size": 4 + "range": "[15:0]", + "size": 16 }, "position": { - "x": 672, - "y": 192 + "x": 960, + "y": 248 } }, { - "id": "c4eedeee-32b3-41da-834c-48f3a92cbaec", + "id": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", "type": "basic.constant", "data": { "name": "", - "value": "1", + "value": "0", "local": false }, "position": { - "x": 448, - "y": 96 + "x": 728, + "y": 128 } }, { - "id": "a8d15f9d-bba5-432f-b698-17964638c83a", + "id": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", "type": "basic.code", "data": { - "code": "assign s = a + k;", + "code": "assign k = VALUE;", "params": [ { - "name": "k" + "name": "VALUE" } ], "ports": { - "in": [ - { - "name": "a", - "range": "[3:0]", - "size": 4 - } - ], + "in": [], "out": [ { - "name": "s", - "range": "[3:0]", - "size": 4 + "name": "k", + "range": "[15:0]", + "size": 16 } ] } }, "position": { - "x": 384, - "y": 192 + "x": 672, + "y": 248 }, "size": { - "width": 216, + "width": 208, "height": 64 } } @@ -11783,450 +11024,312 @@ "wires": [ { "source": { - "block": "c4eedeee-32b3-41da-834c-48f3a92cbaec", + "block": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", "port": "constant-out" }, "target": { - "block": "a8d15f9d-bba5-432f-b698-17964638c83a", - "port": "k" + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "VALUE" } }, { "source": { - "block": "d1ed8643-0bb2-48ac-9aca-17184aee9368", - "port": "out" - }, - "target": { - "block": "a8d15f9d-bba5-432f-b698-17964638c83a", - "port": "a" - }, - "size": 4 - }, - { - "source": { - "block": "a8d15f9d-bba5-432f-b698-17964638c83a", - "port": "s" + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "k" }, "target": { - "block": "423ecf0e-b1de-4a7f-8bf0-032e0c1f0467", + "block": "d54af040-d87a-431d-a15f-d5deb4795af5", "port": "in" }, - "size": 4 + "size": 16 } ] } } }, - "2e691702e123c308f561a5a93912a03de1896719": { + "bc66d79524a86b172c0ff190e607bca7c0694b8b": { "package": { - "name": "Comparador de dos operandos", + "name": "Adder-16bits", "version": "0.1", - "description": "Comparador de dos operandos de 4 bits", - "author": "Juan Gonzalez-Gomez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22312.756%22%20height=%22168.82%22%20viewBox=%220%200%20293.20803%20158.26888%22%3E%3Ctext%20style=%22line-height:125%25%22%20x=%22178.324%22%20y=%22457.047%22%20font-size=%2296.3%22%20transform=%22matrix(4.864%200%200%204.864%20-916.998%20-1997.335)%22%20fill=%22#00f%22%20stroke-width=%22.057%22%20font-weight=%22400%22%20letter-spacing=%220%22%20word-spacing=%220%22%20font-family=%22sans-serif%22%3E%3Ctspan%20x=%22178.324%22%20y=%22457.047%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20stroke-width=%22.206%22%3E=%3C/tspan%3E%3C/text%3E%3C/svg%3E" + "description": "Adder-16bits: Adder of two operands of 16 bits", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618560481898 }, "design": { "graph": { "blocks": [ { - "id": "0587ffc4-0beb-4bc0-b72c-df8bde2c6bf2", - "type": "basic.input", + "id": "e2589574-b6cc-4faf-8e69-3d23248bcba2", + "type": "basic.inputLabel", "data": { - "name": "", - "range": "[3:0]", - "clock": false, - "size": 4 + "name": "a1", + "range": "[7:0]", + "pins": [ + { + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia", + "blockColor": "deeppink" }, "position": { - "x": 152, - "y": 104 + "x": 8, + "y": -664 + } + }, + { + "id": "4f2c77a9-f54e-4c7e-b1b8-d1739ea521c7", + "type": "basic.outputLabel", + "data": { + "name": "a1", + "range": "[7:0]", + "blockColor": "deeppink", + "size": 8 + }, + "position": { + "x": 352, + "y": -664 } }, { - "id": "0344dacc-8583-456b-b377-8cb4ab97cf94", + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", "type": "basic.output", "data": { - "name": "" + "name": "c" }, "position": { - "x": 616, - "y": 160 + "x": 960, + "y": -608 } }, { - "id": "128b8626-fc1e-4144-a837-a275b812ee83", + "id": "353729bb-5213-45a7-a8e1-4e1d812492bd", "type": "basic.input", "data": { "name": "", - "range": "[3:0]", + "range": "[15:0]", "clock": false, - "size": 4 + "size": 16 }, "position": { - "x": 152, - "y": 200 + "x": -320, + "y": -608 } }, { - "id": "9c811723-c900-4ceb-9989-036b071ee3fe", - "type": "basic.code", + "id": "6736a55c-7818-4da9-9c1a-f57200ad2526", + "type": "basic.inputLabel", "data": { - "code": "assign eq = (a == b);", - "params": [], - "ports": { - "in": [ - { - "name": "a", - "range": "[3:0]", - "size": 4 - }, - { - "name": "b", - "range": "[3:0]", - "size": 4 - } - ], - "out": [ - { - "name": "eq" - } - ] - } + "name": "a0", + "range": "[7:0]", + "pins": [ + { + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia", + "blockColor": "deeppink" }, "position": { - "x": 344, - "y": 160 - }, - "size": { - "width": 224, - "height": 64 - } - } - ], - "wires": [ - { - "source": { - "block": "9c811723-c900-4ceb-9989-036b071ee3fe", - "port": "eq" - }, - "target": { - "block": "0344dacc-8583-456b-b377-8cb4ab97cf94", - "port": "in" + "x": 8, + "y": -592 } }, { - "source": { - "block": "128b8626-fc1e-4144-a837-a275b812ee83", - "port": "out" - }, - "target": { - "block": "9c811723-c900-4ceb-9989-036b071ee3fe", - "port": "b" - }, - "size": 4 - }, - { - "source": { - "block": "0587ffc4-0beb-4bc0-b72c-df8bde2c6bf2", - "port": "out" - }, - "target": { - "block": "9c811723-c900-4ceb-9989-036b071ee3fe", - "port": "a" - }, - "size": 4 - } - ] - } - } - }, - "33e7c0abcd8b70a7af87fdb6750be0e24a796695": { - "package": { - "name": "Constante-4bits", - "version": "0.0.1", - "description": "Valor genérico constante (menos 1), de 4 bits. Su valor se introduce como parámetro. Por defecto vale 0", - "author": "Juan Gonzalez-Gomez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22489.056%22%20height=%22247.927%22%20viewBox=%220%200%20458.49013%20232.43134%22%3E%3Ctext%20style=%22line-height:0%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22293.115%22%20y=%22648.344%22%20font-weight=%22400%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22%20transform=%22translate(-316.929%20-415.913)%22%3E%3Ctspan%20x=%22293.115%22%20y=%22648.344%22%20style=%22line-height:1.25%22%20font-size=%22335.399%22%3Ek-1%3C/tspan%3E%3C/text%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "2da79d6d-81ed-4d5d-b4bf-113557353105", - "type": "basic.output", + "id": "4743defe-36c0-40a2-aaf0-188272583034", + "type": "basic.outputLabel", "data": { - "name": "k", - "range": "[3:0]", - "size": 4 + "name": "b1", + "range": "[7:0]", + "blockColor": "fuchsia", + "size": 8 }, "position": { - "x": 960, - "y": 248 + "x": 352, + "y": -584 } }, { - "id": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", - "type": "basic.constant", + "id": "14253a9f-c3ef-4ada-bb54-dbbed784b7a9", + "type": "basic.output", "data": { - "name": "", - "value": "1", - "local": false + "name": "s", + "range": "[15:0]", + "size": 16 }, "position": { - "x": 728, - "y": 112 + "x": 960, + "y": -544 } }, { - "id": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", - "type": "basic.code", + "id": "a3761c9e-14ee-47ef-95f0-ddbb132ba6cf", + "type": "basic.inputLabel", "data": { - "code": "assign k = VALUE-1;", - "params": [ + "name": "b1", + "range": "[7:0]", + "pins": [ { - "name": "VALUE" + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" } ], - "ports": { - "in": [], - "out": [ - { - "name": "k", - "range": "[3:0]", - "size": 4 - } - ] - } + "virtual": true, + "blockColor": "fuchsia" }, "position": { - "x": 672, - "y": 248 - }, - "size": { - "width": 208, - "height": 64 + "x": 8, + "y": -472 } - } - ], - "wires": [ + }, { - "source": { - "block": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", - "port": "constant-out" + "id": "7d042e3c-08e0-4027-ba97-6f6143ac0b7e", + "type": "basic.outputLabel", + "data": { + "name": "a0", + "range": "[7:0]", + "blockColor": "deeppink", + "size": 8 }, - "target": { - "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", - "port": "VALUE" + "position": { + "x": 184, + "y": -472 } }, { - "source": { - "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", - "port": "k" - }, - "target": { - "block": "2da79d6d-81ed-4d5d-b4bf-113557353105", - "port": "in" - }, - "size": 4 - } - ] - } - } - }, - "3611498f72f6612ad9bff72919bddb61a3ef0e82": { - "package": { - "name": "Mem-16B-down-machine", - "version": "0.1", - "description": "16B memory download machine", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20viewBox=%220%200%2088.570022%20126.13218%22%20height=%22476.72%22%20width=%22334.753%22%3E%3Cg%20transform=%22translate(-158.43%20-96.411)%22%3E%3Cimage%20xlink:href=%22data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAgM0lEQVR4Xu1dCZBU1bm+PdPTM8CM%20AgMO+yCrAq4oGjWKIIorcYnRlD59saImGlOaqK/UPPeHu5VyjyYuMRu+uFVEjRqX4FNRQURwQVxQ%20YdiGZQYGepZ+33frfK9Oneq+t+/0zHTad/+qU7fv7bt0n/8///L9/znX+1ZTTDHFFFNMMcUUU0wx%20xRRTTDHFFFNMMcUUU0wxxZToofuX8XPo82LqcLaZUhUAMbucraKi4viysrI9jCBkp5gybKBH0un0%20cuy3URC6WwiSXvcRmV9ZVVV1azKZPBvN69+/vzd06FBv2LBh1mkxff31197ixYvJfa+1tfUnHR0d%20x7W1tc3HV2kJQakJQBmZjzYUo99n/qRJk7xTTz3V69WrV5bTY/rmm2+8u+++29u6desO2L0cAnCq%20YXy61AQgYe5bBebvB9XvJRIJ79hjj/VSqZTX3t6e5ZKYBg0a5B133HHenDlzPPRZLQ5VG+a3lpwJ%20kPoH83uT+Ww77rhjCPNjYh+Z/hqK3T5oW9C2obWXlAaQAMCm9SovL/cGDx7sQaWFXBbTTjvt5AsA%20+qwOu7SVSTnOpSgASdBkSjTtPhybkMtioomkyWTjLvmjSK0UncAkJLmMAgDKUwBiqqur81atWkUt%200Bcmc2XJaQCBPtqCvMrKyjztf0wIm9lp1AbjW1paPrIwlUzJaAAJAKgajbYtTwGIaeDAgd6KFSv8%20zmMfloIJcCFf3rOCDT7AKAgAAY78nMCYqC3lB/Q1/Zgy4WB7AERcVAFIiPE333zz6JEjR565ffv2%20Xlu2bKm58847d2psbKQAhGiAmOQr1dTU+J8PPPDAE37wgx8MhgO9BeZg++bNm18588wzXzYQcXtX%20CUGii5ifuuyyy8YD7Fk4YMAAOTHelVde6X300UfejBkzPAhGwG1i5ksA2HdPPfWUd/LJJ7NRczKM%209iOp55577oyzzjrrvwkOGUHIFFsDJIya6nPQQQfdSweGKoyNAgBNIIcmRxQQM15ELcl9oKdU/4yh%202W/sR/anvz98+PD/wqnPozUZc9BeFA3gMv/GG288CgLwaL9+/by+fft6q1ev9gXgqKOO8v/MEUcc%204UOdJUxiUgSmRhv59va3v/2tnztBv9J0+k40Bxe16fLly2effvrpt1EIlCfobg2Q0FYq34J7q6ZN%20mzZ8v/32u5nSKonllhKrPACOyQcofQEonPlZma7GZ6jPFD5v27bN69Onj78/evTon/34xz9+/v77%20719s+NFup5OjOoqJKA7ezjvvPAuM7QuGJkBlyFtXgNkzMbrHUXUx3Utmf/XVVz7zTzrpJL9TTjnl%20FK+EieYrAuO1H8r8nBrgb3/7m1dbW+vNnj3bfzY165AhQ7zPPvvM9wlWrly5DFnD5yAUaQhMB4Qk%20g/My0LxPn3POOQuiOIqJPCDd1IMPPnjiiBEjHiFzObK15Y9Zs2aNn+Ovrq5mKtP74IMPlPjxfvGL%20X3ggCkKpC0AhjNdxfbZb1u9ffPFFb8OGDd4dd9zB+gBv/fr13pgxYzw62OzzTz75hKaWfc5+5jFt%20aX5/hrT7gzQPchQ7awLKZOPB4Nly7CQAbBzlUv38/P7773vQEs0vv/zyckhpNTpkNK6X+i911a/P%20UUe8y2jdI6tgiMj4t956axGFb88996wD0wfRDJDp7G/wQ+l18kJbaoo7jjzyyL8/++yzX8tR7JQG%20EPPRasHQT/FwPkBCwCaJ8zXAhx9+6Esp4lVJqXfDDTf42uDggw/uSVsscjtd+1Gu1/lsETRAkLoP%201whLlizx2+9//3uNbm/8+PHe22+/7e2yyy5ECmluXQ3A5kdeTz/99OlwIOfiVs0mZMwUpAEA6pDx%20fKgEQM6ez4w33niDQuDbLVJzczO/U1hDFdqVjC/cMYt+vYRAx8JUvCtA+Qinew/aeoZ+ZDAjAZ/p%20L730EiMEAkbsY35HXnDLfqdJZn/3poOO1kIB6KwJSAjWBZOXbtq0acK6det4c7v5Dx83bhwZQcEg%20w33mAwFkR7goYE8LghgSpgGiMknfBal7Nff5bIHnsx+5hZPN/vQZrKTaPvvsw/IxagGZYTX1/Qo4%207B8Y/y1RSBiokKIDCN9//upXvzoRUjgMzKxgBMBIgIQQpQwJjElQRymZBgoAnRj9GVzTE/Y5aDQV%20cr39XRRV79p6CQKZlfV7HaPZlPYk0zm6JQDIEHKkL2tqatrcAWIEwMvwfevatWu/efTRR1+wI4BC%20BYA32o625dprr32R/gBab3NdObzSGoAWp+AHp+QfSOVLimWnihSjizGFXu9+7zLVfYaOaWt/lkl0%20Ge+eRy0qbIX7cvoIq484/vjjH4BGbrJCvq1oG9BWo20zqj/U9iZC1H81mY5q1csQ6x+KeHSkHQbS%204VMRA4/RLr3zzjsefYbXXnuNjTbMb98KClf37ne5jkkLZDUX7Nd//vOf3ne/+13vkEMO8Xr37s1I%20gJqAZsHXrtAATB3bTiCPrYXf8NpvfvObG8GHz4UWFuIElkGl/BwO3r+7IaCwfkqlnEH+6LFjx3Kf%20zJc0f9vyAO7IzmfUZ8MW3OO6BweStGd6t912S5Hpb775pjd58mSli8lw5Q3kBBIbGIhrT0QSbgTM%209jGqJ+iMACivX4VM1BnCAOwmW88fy+8XLFjAH9R49NFHPwNPNA3I8mgcHwTp/bYIQC47HmYqcp7j%20OpiuxnjssceW3X777f/D/YcffvhwhIH1+++/vwYd+10aQELBRuRw3/PPP38s0vGLFQayRRWASrQ+%20YF6N7BCbGwYyTUnmm+rf/n/+859P5+df//rX3scff+ypIORbQLkAnSAH0T2WCxDKeg5yLBP/9Kc/%20TbSdwHnz5tEcKMyWj2BjATQhHIzjcJtPjA/XHlUDCAPoDa9T6kXhhv9gMXbhwoW0RYxTqf4JBUtA%205PCUPBLo2m2X+focgQLxAWL+ep4YTJyFnxsaGuhnMSlE6F0mVlv6ATzOaKHNDOLyzkQBSgKVY87a%20vXBEzqVU8eZ8iJhKdJB2CRgBpZPHZaPowRbTB3DVaqHXh4V67oiOKgTaJ+MY40sA5PlL8xJsI/PT%20mE+YIlDEczTYYG7pN9BJnHfvvfd+lk9NYTIkBGy9/PLLn5syZcoqPHRnaIIqU6yYAGMpWeWoA9h1%203333HQfG0ymk6uEPlQAwj01hKVUBEEPz9eZzYQt5h6LLli0jw3k+4XRXALjPnMt6wL3zySOc126u%207QBrtmOQrnnmmWfeVh1hZ5NBHWS+iS03zp8//2O0tSY3UG5a6phjjhkPp2Sc4n/lsCWRaMUe/WJM%20IdcGaQD+vyBgxx7pYc/loGHmz36WgCBbAJgXGAwsoOamm26aJ0ab1kJ+oTWibdF3hQhAC8KQjtNO%20O+0QPPBgSFh5whCksgwmYJjtINIUfPnll2SARkexBUCd35UCQIa710SCjd3vlTHl6Hc1Co9xS5yf%20dl8a4fDDD5+2xx57jAAPVA/gI7eoKVz4/PPPz4EWkAB0RBWAhGl8SM0FF1xwPx4yXo6dtgR7Nm7c%20qOofZgVZrsSctf8ZxOOlYv+DGGcLM7dhYV02LRAaKXz66adZsQH6A6NGjfK++OILf4ChLoMCwHQx%20ne8x6G95/0oaTdh1112PQ6Rw8vXXX/9GZ6FgqviKH/7wh6cB5h2fDQPgD6Dal+3HH6D6WoLpzSuQ%20H6hFR00pCQEITwa5zHcdvygYQFYBBYbPweQy33/ek08+OR9+1DqM9tqJEyfuB6bT0dM6C9II8hNk%20LmrgnJ+Nr98xvGyPggMIBOoNaZqZCwOgACgWfe+99wgHUyv0wxz3fvBOK1naDCqeAES3wdkydmJ6%20ULVPlJSve4whm7z+rNfuvffew1BnMYz9iMGYBhiUAj7AwWfnB1xAiP1eTx4aHKA1qgmoQOuFZMM2%20Le0iVS8hkF2aO3euX6Sw++678/gQNP04tmJhAO4oDTtH4Wouu5+rHiDoWNjz+Tyqdqn+XGsGDGEx%20CJnKfqYJIBhUX19PbMBGAwXPU5swZE8aAWg2g7o9igDwghTU+st4yIEo8qR614PUuNYPcQB2gh0B%20KEnEzz2NAopRQUwPvc62+7YwhJHLePd+7rmI5VnxG6hdpGnJZEHAsPF+4ccLL7ygzKsGp2oFeXyp%20GchlnU0Hd1xzzTXzZs2add306dMPwg1T6AS/yIC1AHhgAn+gDAKyN+yRoGEJQE+HgTbTIwhA4LlK%20bbueea578ry8439oVwI2YfWECv2k1qVdOcqX4bNqAjIQlAySRh1pELTywoceeuhFjfqoAkCOtZmc%208mbY8vfQvsF+jSTKXFcJ3P80FSdasCVbT6OAfE6AAETzB8TMELJHdyR4mBEUwrW8tAqFRFgAeKuq%20HxZ/1iE8nwsHkuq2VcCdUfmN5J3hYVvUbGDGXNTCm8ABqcVExYGQsio0nl9ObYBc9QGIS4fpB0kA%20ILHqCDGm2GrfPTdSvt9toKAQMBQSpsqX05cHUdXbA0ueP0PAHe67776TkSz6K/q8FfdrY8PnXsBi%20Nr/yyiubyMNOFYWqnBiFIMfAAbnBjQA0H4CMFvYPtUMcm99zCpPjHUemqPa7K+bm2aPfbi4zXSaH%20ZvtssAfMsZy+cGKU8Prrr8u790w6WFp28HnnnXc+czJ2JMDt2Wef/QjC+EsiQcH2TKCf/vSnoydM%20mEDm55wPIPWPknCqpmY4i58atTUGm2qZgH/xtK6Y7gI/dtMxCbUNCGk/0PaT6eifKMzX/IA0/IWl%20uI4O9xhA8tUHHHAAGc0+Z3OxAG4ZIfzb7373u0U/+tGPHrDKwzKhGkBz/hBrni6VLqbbn/VgxPy0%20aXT81iFV2c7vlL9mKxIFedZBJVuuANgYiC0IWa9xBcl2hOnxa7Z0BGJ+IAVktZ1C9eqrr34BQGgS%20J+DstddedmGIRr6azAUHYq+gxFAyFwYAhlbxB8vDd6Fgph5ZnkxnBhlBerUjEaeOxHcMGYVs9SST%20XTXunhNUjp1LACT4OuYyOFeuwN5nH3WK+boe4NpkMpU8QG6GU8c4SYSwO7Ot2YpCOCiJMFYRC5Av%20EMUEpABQLCHowHBF8/5tIu6PQlECEtQGFBTNExDzu0MAwpgpFet+F8z4cAFwr8l79EMrkhkF9YVU%20vJjNmgCG2iy+Yf/zmO1n0G8gwTfYbkVuiUg4wK233roIocYcqJyD8cBBkmp1Do41IzlBhldbtqi7%20BUCMCMvURREAXeMCP3axRdSmkS9MpCBBp++AbKwPCilFvMMOO6QBCDUCgh+kCEihMPiyEY7466gL%20fKJTOIBSwZjd+zi2LErsh1apKiFeN3PmzJFXXXXVLI4ONcs77Q4BiFKCnU0AwkZ8wPGiMF8CYDt6%203FcVdurxxx9fftttt82x5gZ0GOx/o5kfsDXIASQlA0CgJrQNmIo0GGqmL6SrEq2cNQE1oDPOOMNO%20FPFHUvq6QwDEvDDmh2mIfBnsRgNhQuPmDKj2HeYXLADC/O0ld7iG0IHAFRrhiK8jBsCqIPAijRxN%20K2oCGslDGwyKBAQh3kxdcskls4Et7207f3LyiEopSmBCg3XrBDlce1kA5a3m3a0oDxtv2+9sQpS3%20AMj/IMgjh68ryHj/nC1MH4BRAZNzFAiqetZsHMucjJw/YQFQ/w1wFn+C6myiuB1RcAC2sl/+8pdX%20wM67zBfmLxDIF4SlS5d6tEfwTL8CQOSvC1CQAIQzsKsFINu9o5gHxfnsj67WfGT6avCigWX3eMZw%20ONx08MgHNTcEZBsEMz0bAjA1ihOoKWG9MPIPs3EAu5FUC0AQCCaCKGB/ABX9oY5YKl6IBsjmXefj%202UcVAG2D7mufn2ufI94N9bpSANi/dejbOo5sMp9l44DoyQOZBxcHUCZ2l1tuuWVfDOZ5uXyBZI4J%20IdX4MzVcm8bWAPqsCSFaFwDlR5ocomyVmNYVDl4+4E22e0URAp0fKgDudWQ6R77sc3cQw0j5W0Bn%20WSPgm1xUCPG4iwOo0VQTla0jT+ULBGoAe0oY2lrUAwxEuKFRL/LVHNEoAD+Cg9kEQ0b3AcLj8rDz%20omiTIEdOlJXZrhDQBrP+UdhDdxHnY7hRAMwBcQD6AxRCt8BUi3RsRV3gEmEBkSaGYC7aLUgo/BwP%20GOJIvyYhNIL5/dHo/EkACBw5AhCZ8Z3VBtrm60i69wtkvnsNRxdr+XR+dxL7VQIgGB7amRnBZvgC%201RRABwsgGLQBcwcell8XFQdIo7hzKdq12B9gagHKhQPAIemDdQG+B+9TDiG3MhH5hoFBuHoU2DYb%20sztjXkKZr+JQ+DkclT2V6+AAk523cQGO8hRqAh7FHMxG4QDWWgHr0b4JWysgmQsEQtuMdOIQePf7%20EHTgqiBs6IAylCmPB0pYazkg/DFkJrdibHeM+nyAHzdTx2ORwkqX6fpMJI7MVxlXTxEdTJob8IH4%20ggSAWjh1xRVXHIEw/CPwhrzrIBaAz61AY1fAAfyQwhBFADISgj/+8Y8XA+s/xnUCyWyqPjJY8wEB%20OvDHsMlOhavjcMZHdwjdz+Fz/NTC7D4FW/aex3o6s0lnjn3PWgtlArlPSHggVmEbyLDQxQJQyLMP%20VhI5KbQs3MUALr300t3g3dvMd2sB1DhT1fcHnnjiiQWQ0jTO3x+d3j+LKg5KowYlVKLCv0EZw7yF%20T0zWdGsCMPq+GHTPPffM5fb73//+RDjg9ZivybUZqA1yYgHEcTBJ9ORzzz33/rxwAM35w41HK8HD%20G7lND+V8AGqBzz//fC1CkmGQ0ibkvSukItGij/rw40HMLhROVpO3rVCqaIyXFoPJHQbTm0IWdhPg%20efa9qoPCagJ2dsJABwfI8ro3jOKBzOgx3Wvj/ZrpQ3XDV50yHJw6dSqxgPEqB4MmYDawMyO5s0IQ%20ZRHH0BBTWkjhF4RZPkVRi1sOPfTQ3ckPMpYTQ7B4J00vcQGtHqowXIJAU81ooNKE9Vt4q7xwAEw8%20+AATPbZiejKLCeT9qnFU0A7xIaoF4GeZi6Awy7afUZgdBtkGCUC+foTqGch0OnwUcLu6qWhCoNBP%20CSEyW/X/1AQ0BfJXxCsKAWdrQSNHwgEybFiteiUeeAMqUWaiKGQ4vX9QQkzla0wgWYPhgFQ7qWA6%20ShKAqCM/2A8IX6SB2yjMd59HQIUjho0CYINaxV6rmGigFoWy1wxMAxD6ElP4iAVk0Dxu2TBI1/7l%20L395CeH6gnzTwYoA0lQXUOXvo63Bfl+0XlYtQAXeZTPhoosuGuv4BBQE4eE87uL4kRkOCmJa2HSv%20sHtJtUtdkukBL7cqriBQAKQBlIvh4pwo/96ACTxPaW6AtbbjJlMTsIX7eU0N08WaXIClxsbAw+/P%20eQAqBMGDdwBCON2pVVdIqCoabiM4gpF9gfxW6Q5v9O7p5LnVy0UUgvAZQiA5fXwryxRogvVIEK1A%20n/tCQBygEoTFpj90agI68jEB7Xg7Vd0JJ5zwACRsnJsIUtZLAoC4lKEgc9U2ChhVAKIJSDj8m7NA%20k8KpEYXUNUd9rmtzrv1XDGLCiQkg+l8sxhUKC4eb8f6ReCmHu3I4X9e/CotLn4Pyvoa8cAA5gXjB%20wy1wLGzm20KglarZiQwBGW9+CWdjPYSuBh01Vh1fIMAThtVHAZzYbHVPD1/OlZzbbHP8bOZrvxg+%20AAdeM3iyDJFANXCJscy5wPYrJUy+SPvas4UH431N90AAJltQfntWAVA1MFofPGhKrsUh7algzPtD%20/SzCJJJXqV4wVWzEd77znbH6IQWp//Da/chr95PJqmZyp3y7QuvOFnaFoYeJzvVmgEHzuHPxxRd/%20hWLdaQr/0Oz1hBQNCJUdCrh4+nXXXTfXrgkIEoBqwp4QgqwLQ1DV8yFcCpZFCQgVazET9Xv4LgMk%20sBfeciFp7MwI7xTcq3131GqSijx6mC4KrJa2t+cuqtPsY0FzAXtaG/BNLLVYtncWGcx8DON/ml7k%20ajgoyRdXA3BL/4ZRjd4fIF8gpwbgfhVuuBWLE/XOUgsgTJzM5yLQFJRhPMbzaFMxdYmd1LWjPvwe%209jO1r3WMKAAaHa59dxNHbsyv79mKxXz5LJXo8xGaH4CXRpCxHIAE5qjVstUE8Dues0FYQHhJGAiv%20JLsGb5+6QLUAjj0ns1dASEY48wFUGCFJ7DTkCyoogqB9h40UiKM5dq6nL0Zrm+14zn21HiIKr6IA%20qXyVizUiUqsGNpOyBJW8oNBsxNT+R4DrNJAVYUigpoVvxyLFS9CuNrUAVB/l9lvEEF6cxMWKskwI%204YMVBvYYw2Xfqe7gILkjPWCaeiiSmAvBLEZGUAJAYVY2ln1eceKJJz4EgW9WqGdai3l/wEpNDQsL%20AwUC8UbrjLrYrhdEmJaCw3cApowPcWsEhQgqZrXCr+4UADKbsTyl3bHdoat/BWkDl8HFYr77P2TK%20JBCMBGrw3uY9Acw9SX4JEDL2fqPh5WZ+l48AqBhkE5aInQoseRJHvVkaphw2pwKJiMOUJVRySEUg%202kYEgqKkaW01z0anrpA3g7jqPSgMLHpGEIUfeo2sPUOIOMAUvGOwCcc2kfk4Rl62oXhlKV44vQrR%202tZcq4Ym3VoAFBFOwtJkD+MhQ7NNCGGihD+C+4sWLeL6gEIBJZlkfr44QKTsIB0dRBruaC90RnGg%20utfxYhMZzsUl+P/Zz8Bd6IgLDOLqYdOdCSKcScwsYhOqt/kSiTeDfICEVDyygJfCcxwaMCGEW0UD%20tEdLYHe5SHEaAjIOD+4vAegEw9193p/PItMpYFGY4nr8BQhKUUlCSTRwSRrEUjD0yVhMQUuB6WET%20RGqwoATfJLqXfARbEyQdDKAGN58hECjXhBCqXYJACBNXQgtsxLYCmmADEMGMfACdHzG8U0WrMnMc%206RGYEk0Q1LElQBR+mgCfeeiTFryq7wvwYRyqg0MniOD8oVjuZwb8t7mWEGSyCUA1VTwQJt4w66IQ%20HJGcq8b1a/EjhoDpcgg9ZKb4lhBemy+Eq9WveF8y3Y1nu2OmTcm+sOKwww7bDXMx9FoYfwvgjXwg%20b7IWhbA/oZ2prbOCQUn3RdFgwlLYmgmK69mEoWs04v0A3OcKFQR/bCGRD+AyWfdQEzKXJ4Nicl8p%20z4IQ8gUmm1PFaCa5tXkgJJSTR7ZeffXVVmFIwLwAzCO7Ce+dPQ8MrYOzVwd/oNJ6nVkzsn9fwhEZ%20i5GfctYG5CjW4sddPBpjIrOhne03hckx5kBahtC8Foxm6l4oaBpRwGpo8yYsJ/eHrNlAeYWy/2gD%200UagDTUgUDVa0i4GeeCBB46DdzkKgkEUitlAaQBWrvpATPdQTIR/8WZwaV/2O/uf6eF1KP8mk1sd%20R2+rWTRyFdoKtAZTKLLd9QGEAWwx6FGKNzD7FXqHMN4dsD8mgo5SRCA0Suaie2PlmNx3CIkPCAEH%204GWRU1GoM8fE+20WPzeaWULN2bCApAMDp7GwwPAZM2bcgCTPWNl1MZhhHx+ulcOYjWI8KjBItr9b%20KCZqVy0aSbvOWdkSCNZk7AHnfA/wxl0trAER241ICT+WbdXQpA0Cgfn1WBz6Idy0xsUAGPrZkxBY%20lWJKx9fj+zRCtjRq1uu7LayKifaeo70BvgDRwEHvvvsuy8KVKFKBi1sUMghI4e14o/hK1BE854JB%20SXtCCEq9Z0GCxHy76SFML1IYOPI5B+CvSBrxHbUMC4fADtV3mwaIic4e52FQzXdMmzat7qyzzjqB%20L+dAWl6D0y0KkbngKmOn4rqX3UUjpQG47Q3vfqAyfE4xCG/Km2ttAHr688D8BSauTAAMqu3+apnY%20BzD2PP2Pf/xjPUZ/BXhzEvqcA5P8yYYFaI5DPau93DeIJO0ZQWB8K1U7gSAw1Mb0tWwpsX+uUPH+%20hRde+FccWmuSR0mopCHd7gTGoSD7vgkDlf1ehncDbwQAVAGmz6IPBpCIfoKwG9UEsDaCQrDOAEGK%206tpdJLDsrrvuehFTig+DJI2DTbcfrPlpvNF8FI3+wYQWqylRpoqoOR8BoGBRw5QKEWHj6CoW0c8C%205q+aBgI/O+It7Yu5y+7EuwOfx7wALtc7E4JRma14FZNHGgEFP2PVdbjzAX3VUIs2DK0eteaTEQUM%20ANMrcCNSBkxrA8zbgJKv5WS8EYC1+iGwSUdhIaPrKTgAkFjD5nde4RQT7DwhdvYnczD/geXfXrBq%20NerIY/gBQ+EfjOY7HdDKMiBo7zYIxfpnn312EXEANsOzZpkBlYJXkYloO/FmFAaznzLnCCdoNjjB%20GqvQIMnzsXDkz1EldDY9VAIWXUYxUetSAKiJuBjXJXhXEEfzZjN4+5Fvhmc11oqunmZ5WWDQGsO/%20FtsEZAxztaxIh7l5L7QKCYD1FpEmtE1mmzZSSEexRmAQVFYXqfnY5tPp1mLT3Gf9n+GHnLm0ccQ3%20GE2ekgC4PNPIz1YWrhuSWs3Jmg5mv0w6bc5rMZ8T5ruyBMiablWSoJAcp39F0iv4UKU1RoW/Wv/H%208KTJ4lmZg/BuYzPntbkCkNGJVl1guWkCiXROu91sIIkkpluOYylm3f7Vw0CZbQlBq2ktFvMTzsBV%2068g1MSRjtTb3HcLOOSJ9Tqj1CMNjSjhMFmNbrWOJAJ6FTg4VReFmGbJTEzXlqlsoJsK/rL9QfO4M%20Tm2jUbKrzCcApLcBB09k0WKXU0wq+2pBle/fHVVeEBU6XCtMuDgIbRRWF7sNocoYYgHFJL3mpRTJ%20rr9Mg+BQryOz8X+ake2bAxzgVSeeby+mAPCXVpvikeFo9cAA9kKoMoCARKKI9iAD4hZzHBsAj27j%20oVIKSOR4O5M8GtC+MtsN5nhHMQVAINKOBowYpKVlLRCpmNShpo4tMQFot1/jawCdtYb5muxRkGAn%20u0BSVXmyntLqgkhsRR5BGkWZEtQCAuAU5rGfm93K3mJqAGmBCjPiq0wTIJEoYudJA2S0LWEz0GZa%202rS2YjuB7j0UmyazgEjF70B7v7Qo42oz+1iRNED4vYrOfDHc3f4/o5hiiimmmGKKKaaYYooppphi%20iimmmGKKKaaYYooppv8FlJhXILrvZ3wAAAAASUVORK5CYII=%22%20preserveAspectRatio=%22none%22%20height=%22102.996%22%20width=%2287.169%22%20x=%22159.832%22%20y=%22119.548%22/%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20x=%22205.695%22%20y=%22150.011%22%20transform=%22scale(.98866%201.01147)%22%20font-weight=%22400%22%20font-size=%2219.302%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#ff0%22%20stroke-width=%22.504%22%3E%3Ctspan%20x=%22205.695%22%20y=%22150.011%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ERAM%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20x=%22205.372%22%20y=%22110.296%22%20transform=%22scale(.98866%201.01147)%22%20font-weight=%22400%22%20font-size=%2219.302%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#00f%22%20stroke-width=%22.504%22%3E%3Ctspan%20x=%22205.372%22%20y=%22110.296%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EDownload%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M206.647%20182.6a6.892%206.892%200%200%200-6.89%206.892c0%203.803%203.086%206.896%206.89%206.896%203.805%200%206.868-3.093%206.868-6.896%200-3.806-3.063-6.892-6.868-6.892zm13.814%2010.852l-1.242%202.991%202.215%204.35.293.575-3.072%203.072-5.039-2.38-2.991%201.228-1.519%204.648-.194.617h-4.341l-1.879-5.246-2.991-1.234-4.357%202.21-.575.287-3.07-3.069%202.378-5.042-1.233-2.989-4.64-1.515-.616-.2v-4.338l5.25-1.882%201.233-2.986-2.208-4.36-.291-.571%203.066-3.066%205.045%202.376%202.988-1.236%201.517-4.645.196-.616h4.34l1.88%205.253%202.983%201.236%204.358-2.212.58-.29%203.069%203.065-2.377%205.038%201.228%202.993%204.654%201.517.611.196v4.337z%22%20fill=%22#0ff%22/%3E%3Cg%20transform=%22matrix(.85604%200%200%20.85604%2085.035%2091.517)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E", - "otid": 1596697289362 - }, - "design": { - "graph": { - "blocks": [ - { - "id": "38abb13c-8652-41fb-931c-c7bf760ebb24", - "type": "basic.output", + "id": "eeb34637-ba55-4a7f-803e-e85d9b9c7fc4", + "type": "basic.input", "data": { - "name": "busy" + "name": "", + "range": "[15:0]", + "clock": false, + "size": 16 }, "position": { - "x": 1936, - "y": -168 + "x": -320, + "y": -424 } }, { - "id": "a040cc3d-b2c6-458e-bde6-f8234a19b6d1", - "type": "basic.outputLabel", + "id": "a7cd6890-7130-4f25-9966-b5ca1132d597", + "type": "basic.inputLabel", "data": { - "blockColor": "fuchsia", - "name": "busy" - }, - "position": { - "x": 1744, - "y": -168 - } - }, - { - "id": "af8afdcf-1f69-4187-81ab-082d28c98dd9", - "type": "basic.outputLabel", - "data": { - "name": "addr", - "range": "[3:0]", - "blockColor": "navy", - "size": 4, - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 864, - "y": -144 - } - }, - { - "id": "f81791c6-f02f-46d0-b738-5895dd124243", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk" - }, - "position": { - "x": 1744, - "y": -96 - } - }, - { - "id": "b359cb97-c324-4ffc-a73c-64c7f457e6fa", - "type": "basic.outputLabel", - "data": { - "name": "stdo", - "range": "[9:0]", - "blockColor": "fuchsia", - "size": 10 - }, - "position": { - "x": 1728, - "y": -16 - } - }, - { - "id": "7fb933a6-5c63-4d46-8aaa-440b30974993", - "type": "basic.input", - "data": { - "name": "", - "clock": true - }, - "position": { - "x": -48, - "y": 24 - } - }, - { - "id": "2c31aa6a-383c-4eb5-b669-b8a31ad14225", - "type": "basic.inputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true - }, - "position": { - "x": 96, - "y": 24 - } - }, - { - "id": "a875b188-26fa-4052-ae81-4b5f22f4c1e5", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "tic", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 1648, - "y": 48 - } - }, - { - "id": "20d63505-e2fd-44ed-95b9-9f45e8875e70", - "type": "basic.output", - "data": { - "name": "stdo", - "range": "[9:0]", - "size": 10 - }, - "position": { - "x": 2128, - "y": 48 - } - }, - { - "id": "8ca2279c-fdc3-40d3-9fbe-2071c026932f", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "bus_mine", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 880, - "y": 112 - } - }, - { - "id": "786f1170-66ce-4c3a-acdc-073388546edd", - "type": "basic.outputLabel", - "data": { - "name": "data", + "name": "b0", "range": "[7:0]", - "oldBlockColor": "fuchsia", - "blockColor": "fuchsia", - "size": 8 - }, - "position": { - "x": 1656, - "y": 112 - } - }, - { - "id": "886b88b1-4987-4f1f-aadd-d82bb53ab445", - "type": "basic.input", - "data": { - "name": "stdo", - "range": "[9:0]", - "clock": false, - "size": 10 - }, - "position": { - "x": -96, - "y": 120 - } - }, - { - "id": "523a4825-1562-4f5d-b129-c7d08fe542c2", - "type": "basic.inputLabel", - "data": { - "name": "stdo", - "range": "[9:0]", "pins": [ - { - "index": "9", - "name": "", - "value": "" - }, - { - "index": "8", - "name": "", - "value": "" - }, { "index": "7", "name": "", @@ -12272,1986 +11375,1993 @@ "blockColor": "fuchsia" }, "position": { - "x": 48, - "y": 120 + "x": 8, + "y": -408 } }, { - "id": "b63a0660-3988-4951-b606-0177b556defc", + "id": "7114cf32-af2c-438f-b816-1043a8bd819d", "type": "basic.outputLabel", "data": { - "name": "mbi", - "range": "[13:0]", + "name": "b0", + "range": "[7:0]", "blockColor": "fuchsia", - "size": 14 + "size": 8 }, "position": { - "x": 1128, - "y": 120 + "x": 184, + "y": -408 } }, { - "id": "727e032f-d74b-464e-81fe-b30b1e669b9e", - "type": "basic.output", - "data": { - "name": "mbo", - "range": "[13:0]", - "size": 14 + "id": "4cb18fdd-66bb-461c-ae6d-1454c8e4a9a6", + "type": "306ca367fbbc5181b3c709d73f447e0710871a1d", + "position": { + "x": -168, + "y": -424 }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "e3cde6db-ea93-4550-affd-14856b75d5a5", + "type": "306ca367fbbc5181b3c709d73f447e0710871a1d", "position": { - "x": 1472, - "y": 120 + "x": -168, + "y": -608 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "bf61387a-ef36-4f3c-898f-e274c3136b18", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "next", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "id": "64c3574b-3227-40ab-ab03-c2e2af710a45", + "type": "cb23aa3d8a3e95bd194fd9ec9b9c40b36595d893", + "position": { + "x": 352, + "y": -456 }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "0857be54-1eea-4619-841f-b1bb49aa66d0", + "type": "c3c498191b14e9288a85fa2871b3966665f75475", "position": { - "x": 2064, - "y": 136 + "x": 520, + "y": -600 + }, + "size": { + "width": 96, + "height": 96 } }, { - "id": "914e03dd-1133-4325-a333-b10f953ecce5", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "data", - "range": "[7:0]", - "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true - }, + "id": "17bd7ef3-6604-48a9-9c2e-50a8be908636", + "type": "8cc49c9b29485f2cfeab6064d7bb1cf9ced045b1", "position": { - "x": 576, - "y": 152 + "x": 760, + "y": -544 + }, + "size": { + "width": 96, + "height": 64 } - }, + } + ], + "wires": [ { - "id": "d94290b8-502b-46eb-a630-3b0800bf3c9b", - "type": "basic.outputLabel", - "data": { - "name": "mbi", - "range": "[13:0]", - "blockColor": "fuchsia", - "size": 14 + "source": { + "block": "4cb18fdd-66bb-461c-ae6d-1454c8e4a9a6", + "port": "0e7ef93d-c4da-4c2e-9653-7a470dc912b6", + "size": 8 }, - "position": { - "x": 224, - "y": 216 - } + "target": { + "block": "a7cd6890-7130-4f25-9966-b5ca1132d597", + "port": "inlabel" + }, + "size": 8 }, { - "id": "9be4488d-51be-4346-8a31-5d8f2f86e4d3", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "bus_mine", - "oldBlockColor": "fuchsia" + "source": { + "block": "4cb18fdd-66bb-461c-ae6d-1454c8e4a9a6", + "port": "6ac467f0-b16b-44ef-8f03-ae206c13186e", + "size": 8 }, - "position": { - "x": 936, - "y": 248 - } + "target": { + "block": "a3761c9e-14ee-47ef-95f0-ddbb132ba6cf", + "port": "inlabel" + }, + "size": 8 }, { - "id": "472c0cbb-1d6b-4af4-a439-52f52118d405", - "type": "basic.input", - "data": { - "name": "mbus", - "range": "[13:0]", - "clock": false, - "size": 14 + "source": { + "block": "e3cde6db-ea93-4550-affd-14856b75d5a5", + "port": "0e7ef93d-c4da-4c2e-9653-7a470dc912b6", + "size": 8 }, - "position": { - "x": -96, - "y": 264 - } + "target": { + "block": "6736a55c-7818-4da9-9c1a-f57200ad2526", + "port": "inlabel" + }, + "size": 8 }, { - "id": "9bc05443-4e8c-4288-a609-67e961b01ca7", - "type": "basic.inputLabel", - "data": { - "name": "mbi", - "range": "[13:0]", - "pins": [ - { - "index": "13", - "name": "", - "value": "" - }, - { - "index": "12", - "name": "", - "value": "" - }, - { - "index": "11", - "name": "", - "value": "" - }, - { - "index": "10", - "name": "", - "value": "" - }, - { - "index": "9", - "name": "", - "value": "" - }, - { - "index": "8", - "name": "", - "value": "" - }, - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia" + "source": { + "block": "e3cde6db-ea93-4550-affd-14856b75d5a5", + "port": "6ac467f0-b16b-44ef-8f03-ae206c13186e", + "size": 8 }, - "position": { - "x": 56, - "y": 264 - } + "target": { + "block": "e2589574-b6cc-4faf-8e69-3d23248bcba2", + "port": "inlabel" + }, + "size": 8 }, { - "id": "923c4db6-0c76-4647-a848-75fd61fba6ec", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "done", - "oldBlockColor": "fuchsia" + "source": { + "block": "7114cf32-af2c-438f-b816-1043a8bd819d", + "port": "outlabel" }, - "position": { - "x": 936, - "y": 312 - } + "target": { + "block": "64c3574b-3227-40ab-ab03-c2e2af710a45", + "port": "63477487-9493-4058-a7e1-9bab443ec466", + "size": 8 + }, + "size": 8 }, { - "id": "05a1a5b4-bf29-49df-b0b1-887859d9ec9e", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "bbusy", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "source": { + "block": "7d042e3c-08e0-4027-ba97-6f6143ac0b7e", + "port": "outlabel" }, - "position": { - "x": 560, - "y": 336 - } + "target": { + "block": "64c3574b-3227-40ab-ab03-c2e2af710a45", + "port": "b4b08c4b-8eb1-4cd3-a1bf-a45bf7177ed3", + "size": 8 + }, + "size": 8 }, { - "id": "b14f140b-7bb5-46d9-8019-39c27ff6e0e3", - "type": "basic.input", - "data": { - "name": "start", - "clock": false + "source": { + "block": "4f2c77a9-f54e-4c7e-b1b8-d1739ea521c7", + "port": "outlabel" }, - "position": { - "x": -80, - "y": 424 - } + "target": { + "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", + "port": "4bf17d89-89b8-4524-800a-2d15f9bbb111", + "size": 8 + }, + "size": 8 }, { - "id": "da45f105-3600-4458-a820-50046581f5dd", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "start", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "source": { + "block": "4743defe-36c0-40a2-aaf0-188272583034", + "port": "outlabel" }, - "position": { - "x": 64, - "y": 424 - } + "target": { + "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", + "port": "3867504b-f331-4e0e-b923-acc86cb4255c", + "size": 8 + }, + "size": 8 }, { - "id": "7d0852c6-4778-4a53-bf90-30527c44a0eb", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk" + "source": { + "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, - "position": { - "x": 1736, - "y": 464 + "target": { + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" } }, { - "id": "54e9bf9f-b852-4c45-bd53-f6eb4ee707eb", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "start_read", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "source": { + "block": "64c3574b-3227-40ab-ab03-c2e2af710a45", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, - "position": { - "x": 608, - "y": 504 + "target": { + "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", + "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" } }, { - "id": "95c4416f-62f5-4196-a406-f7915d40a572", - "type": "basic.output", - "data": { - "name": "done" + "source": { + "block": "eeb34637-ba55-4a7f-803e-e85d9b9c7fc4", + "port": "out" }, - "position": { - "x": 2048, - "y": 520 - } + "target": { + "block": "4cb18fdd-66bb-461c-ae6d-1454c8e4a9a6", + "port": "a0c9783a-c287-45a7-bfc7-9da552cf732f" + }, + "size": 16 }, { - "id": "289f00be-f97d-4553-a60a-32d8b45da4cc", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "done", - "oldBlockColor": "fuchsia" + "source": { + "block": "353729bb-5213-45a7-a8e1-4e1d812492bd", + "port": "out" }, - "position": { - "x": 1728, - "y": 536 - } + "target": { + "block": "e3cde6db-ea93-4550-affd-14856b75d5a5", + "port": "a0c9783a-c287-45a7-bfc7-9da552cf732f" + }, + "size": 16 }, { - "id": "d7e7c210-c311-440e-b516-94c3f0244f34", - "type": "basic.input", - "data": { - "name": "nc", - "clock": false + "source": { + "block": "17bd7ef3-6604-48a9-9c2e-50a8be908636", + "port": "79c56f9a-597f-491e-b1d1-d321f63303c2" }, - "position": { - "x": -80, - "y": 536 - } + "target": { + "block": "14253a9f-c3ef-4ada-bb54-dbbed784b7a9", + "port": "in" + }, + "size": 16 }, { - "id": "fce01e4d-e6d2-4811-8f96-410673168b4c", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "bbusy", - "oldBlockColor": "fuchsia" + "source": { + "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", + "port": "9daaaf78-5a89-4d4a-a1b2-db1d3af962f1" }, - "position": { - "x": 152, - "y": 552 - } + "target": { + "block": "17bd7ef3-6604-48a9-9c2e-50a8be908636", + "port": "5a35cd57-1006-4f6d-b263-5b977e9ef142" + }, + "size": 8 }, { - "id": "700d8b15-d6df-4b76-b10d-72db58c33e6c", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "bus_mine", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "source": { + "block": "64c3574b-3227-40ab-ab03-c2e2af710a45", + "port": "dc2d9a2c-9ee9-4985-a678-d88c89fd8b74" }, - "position": { - "x": 776, - "y": 584 - } - }, + "target": { + "block": "17bd7ef3-6604-48a9-9c2e-50a8be908636", + "port": "38fdb02d-4323-4a34-9ffe-8385f844b660" + }, + "size": 8 + } + ] + } + } + }, + "0788ea6614e4f073f6ed9a49665243d6d489ba46": { + "package": { + "name": "16-Sys-reg-rst", + "version": "0.8", + "description": "16-Sys-reg-rst: 16 bits system register with reset. Verilog implementation", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20width=%22252.294%22%20height=%22220.368%22%20viewBox=%220%200%2066.75283%2058.305748%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M25.682%2041.088L39.29%2057.76l-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M18.298%2033.024L9.066%2013.41l-6.45%203.724-2.07-3.583%2020.905-12.07%202.069%203.584-6.092%203.517%2012.03%2018.223s5.399-2.025%208.535.74c3.137%202.766%202.52%204.92%202.887%204.773L17.192%2045.956s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M42.022%2040.152l13.607%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M34.638%2032.088l-9.232-19.613-6.451%203.724-2.07-3.583L37.792.546%2039.86%204.13l-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.137%202.766%202.52%204.92%202.887%204.772L33.532%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20transform=%22translate(-38.356%20-17.732)%22%3E%3Crect%20width=%2224.412%22%20height=%2213.185%22%20x=%2280.3%22%20y=%2221.375%22%20ry=%222.247%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%22.794%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:1.25%22%20x=%2282.245%22%20y=%2230.943%22%20font-weight=%22400%22%20font-size=%2210.583%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20x=%2282.245%22%20y=%2230.943%22%20font-weight=%22700%22%3ESys%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E", + "otid": 1618509859237 + }, + "design": { + "graph": { + "blocks": [ { - "id": "0399b081-5696-4bf7-bb75-cd55da78d4f5", - "type": "basic.outputLabel", + "id": "34c6aff6-7aca-4cc1-8d79-d6143d2f6937", + "type": "basic.output", "data": { - "name": "data", - "range": "[7:0]", - "oldBlockColor": "fuchsia", - "blockColor": "fuchsia", - "size": 8 + "name": "nc" }, "position": { - "x": 1648, - "y": 600 + "x": 920, + "y": -24 } }, { - "id": "08007be8-e099-4080-acb1-e580660bb147", - "type": "basic.input", + "id": "83ce9e72-711d-44f2-bbf5-b01c201a652a", + "type": "basic.output", "data": { - "name": "nc", - "clock": false + "name": "nc" }, "position": { - "x": -80, - "y": 616 + "x": 920, + "y": 56 } }, { - "id": "3066cf48-9921-4487-826e-0464a2dead7a", - "type": "basic.output", + "id": "0ae5a502-ee21-47ad-bacb-405a35a87a91", + "type": "basic.input", "data": { - "name": "data", - "range": "[7:0]", - "size": 8 + "name": "", + "clock": true }, "position": { - "x": 2040, - "y": 680 + "x": 368, + "y": 64 } }, { - "id": "524ca75c-cdd3-4e79-851a-b46ce146bd66", - "type": "basic.outputLabel", + "id": "892d93f1-9c4c-46c1-82c7-ff9702a5725a", + "type": "basic.input", "data": { - "blockColor": "fuchsia", - "name": "start" + "name": "rst", + "clock": false }, "position": { - "x": 152, - "y": 696 + "x": 376, + "y": 200 } }, { - "id": "7e9db299-cb56-4cd9-a489-d5fbd6eb3e2f", - "type": "basic.inputLabel", + "id": "7995c7b0-4a39-4a19-aaa4-68f4e469912f", + "type": "basic.output", "data": { - "blockColor": "fuchsia", - "name": "busy", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "name": "", + "range": "[15:0]", + "size": 16 }, "position": { - "x": 1184, - "y": 704 + "x": 920, + "y": 200 } }, { - "id": "7df4a7f1-90b6-4562-8be3-e4719a824545", - "type": "basic.outputLabel", + "id": "c48a2779-52ed-4dde-8f95-e8ce67397de8", + "type": "basic.input", "data": { - "blockColor": "yellow", - "name": "clk" + "name": "", + "range": "[15:0]", + "clock": false, + "size": 16 }, "position": { - "x": 880, - "y": 752 + "x": 376, + "y": 336 } }, { - "id": "c1c96b9c-e573-43a0-8b60-9f7fe7ad5ae6", - "type": "basic.outputLabel", + "id": "d1e52cbe-a82e-4bea-9ed0-e970eec3e43e", + "type": "basic.constant", "data": { - "blockColor": "fuchsia", - "name": "busy" + "name": "", + "value": "0", + "local": false }, "position": { - "x": 1648, - "y": 776 + "x": 656, + "y": -80 } }, { - "id": "64f8b6de-1661-4bb4-a2eb-5458a30a6d66", - "type": "basic.inputLabel", + "id": "2cc2ff9d-ebfc-43e2-83d7-5c4a6d8c77e6", + "type": "basic.code", "data": { - "name": "addr", - "range": "[3:0]", - "pins": [ - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "rst" + }, + { + "name": "d", + "range": "[15:0]", + "size": 16 + } + ], + "out": [ + { + "name": "q", + "range": "[15:0]", + "size": 16 + } + ] + }, + "params": [ { - "index": "0", - "name": "", - "value": "" + "name": "INI" } ], - "virtual": true, - "oldBlockColor": "fuchsia", - "blockColor": "navy" + "code": "//-- Generic System register\n//-- with reset\n//-- Number of bits\nlocalparam N = 16;\n\n//-- Initial value\nreg [N-1:0] qi = INI;\n\nalways @(posedge clk)\nbegin\n\n //-- Reset: Capture the initial\n //-- value\n if (rst == 1'b1)\n qi <= INI;\n \n //-- No reset: Capture the input\n else\n qi <= d;\nend\n\n//-- Connect the register with the\n//-- output\nassign q = qi;\n" }, "position": { - "x": 1224, - "y": 784 + "x": 528, + "y": 32 + }, + "size": { + "width": 344, + "height": 400 } + } + ], + "wires": [ + { + "source": { + "block": "2cc2ff9d-ebfc-43e2-83d7-5c4a6d8c77e6", + "port": "q" + }, + "target": { + "block": "7995c7b0-4a39-4a19-aaa4-68f4e469912f", + "port": "in" + }, + "vertices": [], + "size": 16 }, { - "id": "dc204461-1dd1-428f-91a2-006d905d6585", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "start_read" + "source": { + "block": "d1e52cbe-a82e-4bea-9ed0-e970eec3e43e", + "port": "constant-out" }, - "position": { - "x": 872, - "y": 832 - } + "target": { + "block": "2cc2ff9d-ebfc-43e2-83d7-5c4a6d8c77e6", + "port": "INI" + }, + "vertices": [] }, { - "id": "0db424eb-f896-41e1-becb-7eb065dd64f2", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "busy" + "source": { + "block": "892d93f1-9c4c-46c1-82c7-ff9702a5725a", + "port": "out" }, - "position": { - "x": 152, - "y": 840 + "target": { + "block": "2cc2ff9d-ebfc-43e2-83d7-5c4a6d8c77e6", + "port": "rst" } }, { - "id": "adcb920c-12a7-478f-b1f2-9877d62d2673", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk" + "source": { + "block": "c48a2779-52ed-4dde-8f95-e8ce67397de8", + "port": "out" }, - "position": { - "x": 1200, - "y": 864 - } + "target": { + "block": "2cc2ff9d-ebfc-43e2-83d7-5c4a6d8c77e6", + "port": "d" + }, + "size": 16 }, { - "id": "24450b7d-19ce-463a-83fb-5e1c04e4b093", - "type": "basic.output", - "data": { - "name": "tic" + "source": { + "block": "0ae5a502-ee21-47ad-bacb-405a35a87a91", + "port": "out" }, - "position": { - "x": 2040, - "y": 888 + "target": { + "block": "2cc2ff9d-ebfc-43e2-83d7-5c4a6d8c77e6", + "port": "clk" } - }, + } + ] + } + } + }, + "0705a6a13435ea79daf5779a2a0f076bd71f0a14": { + "package": { + "name": "Sync-x01-verilog", + "version": "0.3", + "description": "Sync-x01: 1-bit input with the system clock domain (Verilog implementation)", + "author": "Juan Gonzalez-González (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22214.451%22%20height=%22214.451%22%20viewBox=%220%200%20214.45128%20214.45128%22%3E%3Ccircle%20cx=%22107.226%22%20cy=%22107.226%22%20r=%22107.226%22%20fill=%22#4d4d4d%22/%3E%3Cpath%20d=%22M107.363%2038.297c14.504.03%2029.212%204.552%2040.7%2013.5%208.077%209.303-7.312%2019.268-14.243%2010.195-20.865-12.624-50.29-8.18-65.988%2010.695-8.352%209.367-13.058%2021.866-13.003%2034.413h13.789c-7.353%2011.037-14.707%2022.066-22.06%2033.095l-22.062-33.087h13.788c-.439-29.962%2021.108-58.462%2050.032-66.221%206.212-1.701%2012.607-2.654%2019.048-2.587zm60.53%2035.85l22.063%2033.092h-13.789c.39%2030.318-21.706%2059.137-51.14%2066.487-19.862%205.547-42.32%201.5-58.645-11.19-8.329-9.459%207.274-19.328%2014.27-10.173%2020.214%2012.265%2048.524%208.375%2064.48-9.142%209.242-9.522%2014.56-22.711%2014.489-35.982h-13.789l22.062-33.092z%22%20fill=%22#fbfbc9%22/%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ { - "id": "1afea26e-4199-4bc9-bee1-c5689a14f8b6", - "type": "basic.outputLabel", + "id": "04b7a776-03f4-4de2-a09f-9f3cae6dded2", + "type": "basic.output", "data": { - "blockColor": "fuchsia", - "name": "tic", - "oldBlockColor": "fuchsia" + "name": "nc" }, "position": { - "x": 1872, - "y": 888 + "x": 384, + "y": -80 } }, { - "id": "caf86b2c-c08d-411d-be47-4084fec9532e", - "type": "basic.inputLabel", + "id": "39873fa0-c3f5-47ef-b54b-b6b344416b25", + "type": "basic.input", "data": { - "blockColor": "fuchsia", - "name": "tic", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "name": "", + "clock": true }, "position": { - "x": 1504, - "y": 912 + "x": -136, + "y": -16 } }, { - "id": "eda78d52-57f7-4e44-bd8e-75e67c496650", - "type": "basic.outputLabel", + "id": "7bfc506f-7a54-40a1-8d33-e78a5409b972", + "type": "basic.output", "data": { - "blockColor": "fuchsia", - "name": "next" + "name": "" }, "position": { - "x": 880, - "y": 936 + "x": 384, + "y": 56 } }, { - "id": "366a768a-2f5d-4c01-8338-bdef0a688ea7", - "type": "basic.inputLabel", + "id": "f25e9a9e-cd4c-4025-8745-0691a99a3fb8", + "type": "basic.input", "data": { - "blockColor": "fuchsia", - "name": "done", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "name": "", + "clock": false }, "position": { - "x": 1152, - "y": 992 + "x": -136, + "y": 128 } }, { - "id": "0a517454-aeac-48a3-bc62-6aa73da948bd", - "type": "basic.info", + "id": "cf6fe46f-cd0d-4a77-be7a-dd6aa92801fa", + "type": "basic.code", "data": { - "info": "Reading data from memory \nReading bus status", - "readonly": true + "code": "//-- Two D flip-flops\n//-- connected in cascade\n\nreg q1 = 0;\nreg q2 = 0;\n\nalways @(posedge clk) \nbegin\n //-- First D Flip-Flop\n q1 <= d;\n \n //-- Secondo D Flip-flop\n q2 <= q1;\nend\n\n//-- Assign the output\nassign q = q2;", + "params": [], + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "d" + } + ], + "out": [ + { + "name": "q" + } + ] + } }, "position": { - "x": 336, - "y": 120 + "x": 32, + "y": -56 }, "size": { - "width": 232, - "height": 64 + "width": 296, + "height": 288 } - }, + } + ], + "wires": [ { - "id": "b6323c55-9b6d-4753-8953-7fb34775a27b", - "type": "21cfcc19a4ad14c5fb5e8cfebd018ec356fe7542", - "position": { - "x": 864, - "y": 16 + "source": { + "block": "39873fa0-c3f5-47ef-b54b-b6b344416b25", + "port": "out" }, - "size": { - "width": 96, - "height": 64 + "target": { + "block": "cf6fe46f-cd0d-4a77-be7a-dd6aa92801fa", + "port": "clk" } }, { - "id": "5f897fa2-936f-47cd-9310-a36fb4cb14a1", - "type": "3bf99b8d77aa1b29ec1bf618b53175de87f1001d", - "position": { - "x": 864, - "y": -64 + "source": { + "block": "f25e9a9e-cd4c-4025-8745-0691a99a3fb8", + "port": "out" }, - "size": { - "width": 96, - "height": 64 + "target": { + "block": "cf6fe46f-cd0d-4a77-be7a-dd6aa92801fa", + "port": "d" } }, { - "id": "a200cfa9-fe9a-4c4b-b9d4-f4307d071797", - "type": "basic.info", - "data": { - "info": "Calculate if the bus can be taken", - "readonly": true + "source": { + "block": "cf6fe46f-cd0d-4a77-be7a-dd6aa92801fa", + "port": "q" }, - "position": { - "x": 216, - "y": 440 + "target": { + "block": "7bfc506f-7a54-40a1-8d33-e78a5409b972", + "port": "in" + } + } + ] + } + } + }, + "ef27646a2ca3d9f1e7811dac0fd909719b5affe1": { + "package": { + "name": "RS-FF-set-verilog", + "version": "0.2", + "description": "RS-FF-set-verilog. RS Flip-flop with priority set. Implementation in verilog", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20312.54461%20289.77628%22%20id=%22svg30%22%20width=%22312.545%22%20height=%22289.776%22%3E%3Cdefs%20id=%22defs34%22%3E%3Cmarker%20id=%22TriangleOutM%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20id=%22path988%22%20fill=%22#00f%22%20fill-rule=%22evenodd%22%20stroke=%22#00f%22%20stroke-width=%22.4pt%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow2Mend%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20id=%22path870%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3C/defs%3E%3Cstyle%20id=%22style2%22%3E.st0%7Bdisplay:none%7D.st1%7Bfill:none;stroke:#303030;stroke-width:.7;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10%7D.st2%7Bfill:#303030%7D%3C/style%3E%3Cg%20id=%22layer1%22%20transform=%22translate(81.543%203.027)%22%3E%3Cpath%20class=%22st1%22%20d=%22M48.702%2092.116a64.784%2064.784%200%200%200-12.559%2011.68%2064.99%2064.99%200%200%200-12.69%2024.809%22%20id=%22path11%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20id=%22line17%22%20class=%22st1%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22%20d=%22M184.865%20207.591L41.298%20262.802%22/%3E%3Cpath%20id=%22path21-3%22%20d=%22M185.448%20175.07l.37.154c2.52.831%204.718%202.386%206.634%204.249%202.02%202.322%203.694%204.777%204.423%208.713%201.496%208.074-3.286%2016.05-10.95%2018.997l-1.06.408L41.298%20262.8l-.733.283c-8.003%203.077-17.551.461-21.82-6.975-3.3-5.748-2.736-12.198.418-21.613%203.155-9.414%202.86-21.856-1.644-33.55l.041.003-12.507-32.667c-12.88-33.415-.747-70.376%2027.41-90.31l-1.102-2.749c-3.685-9.583%201.14-20.438%2010.723-24.124%209.583-3.685%2020.439%201.14%2024.124%2010.723l1.654%203.239c34.881-3.556%2068.594%2015.855%2081.318%2049.33l15.24%2038.432c4.795%208.723%2011.831%2015.955%2021.028%2022.248z%22%20fill=%22#fff%22%20stroke=%22#303030%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20d=%22M64.268%20268.838l45.015-17.115s7.963%2024.296-14.427%2030.38c-22.39%206.086-30.588-13.265-30.588-13.265z%22%20id=%22path826%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3Cg%20id=%22layer3%22%20transform=%22translate(78.072%20-.17)%22%3E%3Crect%20id=%22rect845%22%20width=%22135.189%22%20height=%22135.189%22%20x=%2295.783%22%20y=%223.671%22%20ry=%2219.847%22%20fill=%22#55acee%22%20stroke=%22#303030%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3C/g%3E%3Cg%20id=%22layer4%22%20transform=%22translate(78.072%20-.17)%22%3E%3Cellipse%20id=%22path1211%22%20cx=%22-39.888%22%20cy=%22125.645%22%20rx=%2235.684%22%20ry=%2237.984%22%20fill=%22#fff6d5%22%20stroke=%22#000%22%20stroke-width=%225%22%20stroke-linecap=%22round%22/%3E%3Cpath%20class=%22st2%22%20d=%22M172.724%2052.533V27.647h-9.888L144.047%2037.7l2.308%208.9%2014.833-8.076h.33v74.824H172.724V52.533z%22%20id=%22path7%22%20fill=%22#303030%22%20stroke-width=%2214.425%22/%3E%3Cpath%20d=%22M-38.915%20152.276v-39.72%22%20id=%22path841%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%225%22%20marker-end=%22url(#TriangleOutM)%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1621864223514 + }, + "design": { + "graph": { + "blocks": [ + { + "id": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", + "type": "basic.input", + "data": { + "name": "", + "clock": true }, - "size": { - "width": 272, - "height": 32 + "position": { + "x": 240, + "y": 0 } }, { - "id": "7a989d63-cd4a-4c47-9513-57b4ea6ee141", - "type": "35f267d0df6ffcb7fc33753bc9df9cf083642cca", - "position": { - "x": 296, - "y": 552 + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", + "data": { + "name": "" }, - "size": { - "width": 96, - "height": 64 + "position": { + "x": 832, + "y": 120 } }, { - "id": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", - "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", - "position": { - "x": 464, - "y": 568 + "id": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", + "type": "basic.input", + "data": { + "name": "set", + "clock": false }, - "size": { - "width": 96, - "height": 64 + "position": { + "x": 232, + "y": 120 } }, { - "id": "239fe2ba-e2b9-4446-a1ea-51e1616f5b75", - "type": "basic.info", + "id": "fc243ba8-9abb-4a22-81c4-fabdf043cd01", + "type": "basic.input", "data": { - "info": "The bus is available", - "readonly": true + "name": "reset", + "clock": false }, "position": { - "x": 384, - "y": 512 - }, - "size": { - "width": 184, - "height": 32 + "x": 232, + "y": 240 } }, { - "id": "b62ad9b4-5b0e-4b74-a0ad-947946a59331", - "type": "basic.info", + "id": "bc3416e4-576f-40fb-85a9-5058b9f85395", + "type": "basic.constant", "data": { - "info": "This circuits wants \nto use the bus", - "readonly": true + "name": "", + "value": "0", + "local": false }, "position": { - "x": 280, - "y": 664 - }, - "size": { - "width": 192, - "height": 56 + "x": 536, + "y": -144 } }, { - "id": "c25805fd-f852-43d5-93db-f3f0cb17c301", - "type": "basic.info", + "id": "4f7ac391-3547-4bdd-b444-f34f89afeb79", + "type": "basic.code", "data": { - "info": "The bus has been already \ntaken", - "readonly": true + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "set" + }, + { + "name": "reset" + } + ], + "out": [ + { + "name": "q" + } + ] + }, + "params": [ + { + "name": "INI" + } + ], + "code": "//-- Initial value\nreg qi = INI;\n\nalways @(posedge clk)\nbegin\n\n //-- Priority on set\n //-- It is first checked\n if (set == 1'b1) \n qi <= 1'b1;\n \n //-- Second: check reset\n else if (reset == 1'b1)\n qi <= 1'b0;\n \n //-- In any other case the FF\n //-- remains in its current \n //-- state (no change)\nend\n\n//-- Connect the register with the\n//-- output\nassign q = qi;\n" }, "position": { - "x": 272, - "y": 816 + "x": 400, + "y": -32 }, "size": { - "width": 208, - "height": 56 + "width": 360, + "height": 360 } - }, + } + ], + "wires": [ { - "id": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", - "type": "81613874c6152f06c06ed7014bf4235900cfcc30", - "position": { - "x": 648, - "y": 584 + "source": { + "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", + "port": "out" }, - "size": { - "width": 96, - "height": 64 + "target": { + "block": "4f7ac391-3547-4bdd-b444-f34f89afeb79", + "port": "set" } }, { - "id": "26b71a43-5955-4452-9b0e-94ea6ef453b7", - "type": "81613874c6152f06c06ed7014bf4235900cfcc30", - "position": { - "x": 1088, - "y": 296 + "source": { + "block": "fc243ba8-9abb-4a22-81c4-fabdf043cd01", + "port": "out" }, - "size": { - "width": 96, - "height": 64 + "target": { + "block": "4f7ac391-3547-4bdd-b444-f34f89afeb79", + "port": "reset" } }, { - "id": "d3ce12c0-3b45-4ed2-8446-fb6c4c8e8710", - "type": "basic.info", - "data": { - "info": "One cycle after the machine is done \nthe bus is already taken to write \nthe bbusy signal to 0 and allow \nother circuits to use it", - "readonly": true + "source": { + "block": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", + "port": "out" }, - "position": { - "x": 960, - "y": 392 + "target": { + "block": "4f7ac391-3547-4bdd-b444-f34f89afeb79", + "port": "clk" + } + }, + { + "source": { + "block": "bc3416e4-576f-40fb-85a9-5058b9f85395", + "port": "constant-out" }, - "size": { - "width": 304, - "height": 88 + "target": { + "block": "4f7ac391-3547-4bdd-b444-f34f89afeb79", + "port": "INI" } }, { - "id": "110cf90a-bc63-4642-a72e-33e8e397e804", - "type": "basic.info", + "source": { + "block": "4f7ac391-3547-4bdd-b444-f34f89afeb79", + "port": "q" + }, + "target": { + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" + } + } + ] + } + } + }, + "455c3beb3ea73cf6862dfbc0c899a5e357964a24": { + "package": { + "name": "Mem-16KB-down-machine", + "version": "0.5", + "description": "16KB memory download machine", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20height=%22120.961%22%20width=%22100%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cdefs%3E%3Cfilter%20id=%22c%22%20color-interpolation-filters=%22sRGB%22%20x=%22-.035%22%20y=%22-.018%22%20width=%221.071%22%20height=%221.036%22%3E%3CfeGaussianBlur%20stdDeviation=%221.23%22/%3E%3C/filter%3E%3Cfilter%20id=%22g%22%20color-interpolation-filters=%22sRGB%22%20x=%22-.036%22%20y=%22-.018%22%20width=%221.071%22%20height=%221.036%22%3E%3CfeGaussianBlur%20stdDeviation=%221.23%22/%3E%3C/filter%3E%3Cfilter%20id=%22f%22%20color-interpolation-filters=%22sRGB%22%20x=%22-.049%22%20y=%22-.016%22%20width=%221.098%22%20height=%221.032%22%3E%3CfeGaussianBlur%20stdDeviation=%221.258%22/%3E%3C/filter%3E%3Cfilter%20id=%22e%22%20color-interpolation-filters=%22sRGB%22%20x=%22-.072%22%20y=%22-.014%22%20width=%221.144%22%20height=%221.029%22%3E%3CfeGaussianBlur%20stdDeviation=%221.312%22/%3E%3C/filter%3E%3Cfilter%20id=%22b%22%20height=%221.027%22%20width=%221.242%22%20y=%22-.013%22%20x=%22-.121%22%20color-interpolation-filters=%22sRGB%22%3E%3CfeGaussianBlur%20stdDeviation=%221.309%22/%3E%3C/filter%3E%3Cfilter%20id=%22d%22%20height=%221.027%22%20width=%221.242%22%20y=%22-.013%22%20x=%22-.121%22%20color-interpolation-filters=%22sRGB%22%3E%3CfeGaussianBlur%20stdDeviation=%221.309%22/%3E%3C/filter%3E%3Cfilter%20id=%22a%22%20height=%221.025%22%20width=%221.996%22%20y=%22-.012%22%20x=%22-.498%22%20color-interpolation-filters=%22sRGB%22%3E%3CfeGaussianBlur%20stdDeviation=%221.245%22/%3E%3C/filter%3E%3CradialGradient%20id=%22h%22%20gradientUnits=%22userSpaceOnUse%22%20cy=%22356.19%22%20cx=%22300%22%20gradientTransform=%22matrix(-.43814%20.01306%20-.0012%20-.02628%20181.233%2061.352)%22%20r=%2255.264%22%3E%3Cstop%20offset=%220%22/%3E%3Cstop%20stop-color=%22#464646%22%20offset=%22.602%22/%3E%3Cstop%20stop-color=%22#aca592%22%20stop-opacity=%220%22%20offset=%221%22/%3E%3C/radialGradient%3E%3ClinearGradient%20id=%22i%22%20y2=%22333.77%22%20gradientUnits=%22userSpaceOnUse%22%20x2=%22291.22%22%20gradientTransform=%22matrix(-.3425%20.01021%20-.01275%20-.27715%20156.562%20149.485)%22%20y1=%22330.77%22%20x1=%22291.22%22%3E%3Cstop%20stop-color=%22#fff%22%20stop-opacity=%22.362%22%20offset=%220%22/%3E%3Cstop%20stop-opacity=%220%22%20offset=%221%22/%3E%3C/linearGradient%3E%3ClinearGradient%20id=%22j%22%20y2=%22339.48%22%20gradientUnits=%22userSpaceOnUse%22%20x2=%22337.09%22%20gradientTransform=%22matrix(-.33921%20.01011%20-.01492%20-.32428%20156.195%20165.141)%22%20y1=%22339.48%22%20x1=%22343.43%22%3E%3Cstop%20stop-color=%22#fff%22%20stop-opacity=%22.362%22%20offset=%220%22/%3E%3Cstop%20stop-opacity=%220%22%20offset=%221%22/%3E%3C/linearGradient%3E%3ClinearGradient%20id=%22k%22%20y2=%22304.68%22%20gradientUnits=%22userSpaceOnUse%22%20x2=%22300.31%22%20gradientTransform=%22matrix(-.32563%20.0097%20-.01206%20-.2621%20151.26%20144.401)%22%20y1=%22331.2%22%20x1=%22300.31%22%3E%3Cstop%20stop-opacity=%22.302%22%20offset=%220%22/%3E%3Cstop%20stop-opacity=%220%22%20offset=%221%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath%20opacity=%22.95%22%20fill=%22none%22%20d=%22M0%2020.961h100v100H0z%22/%3E%3Cpath%20d=%22M53.928%20119.654L52.1%2079.937l-1.104-23.99-3.256.096%201.104%2023.991%201.826%2039.717z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#d4aa00%22/%3E%3Cpath%20d=%22M297%20109.34V352.4h6V109.34z%22%20style=%22text-indent:0;text-transform:none%22%20transform=%22matrix(-.32563%20.0097%20-.01206%20-.2621%20151.309%20145.45)%22%20color=%22#000%22%20fill=%22#fcff4c%22%20fill-opacity=%22.544%22%20filter=%22url(#a)%22/%3E%3Cpath%20d=%22M60.372%20117.56l3.198-.49c-3.202-13.45-7.816-28.557-8.457-42.475l-.863-18.749-3.256.098.863%2018.748c.658%2014.31%205.337%2029.518%208.514%2042.865z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#d45500%22/%3E%3Cpath%20d=%22M272.94%20116.59l-5.875%201.5c7.92%2051.61%2019.94%20109.69%2019.94%20162.79v71.531h6V280.88c0-54.598-12.202-113.07-20.062-164.28z%22%20style=%22text-indent:0;text-transform:none%22%20transform=%22matrix(-.32563%20.0097%20-.01206%20-.2621%20151.309%20145.45)%22%20color=%22#000%22%20fill=%22#fca%22%20fill-opacity=%22.409%22%20filter=%22url(#b)%22/%3E%3Cpath%20d=%22M69.996%20112.761l3.056-.912c-6.978-15.02-14.11-24.952-15.163-47.836l-.38-8.265-3.257.097.38%208.265c1.072%2023.296%208.478%2033.826%2015.364%2048.646z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#a00%22/%3E%3Cpath%20d=%22M79.672%20106.477l2.661-1.515c-9.79-11.143-20.205-19.73-21.186-41.045l-.38-8.264-3.257.097.38%208.264C58.902%2086%2070.056%2095.528%2079.674%20106.474z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#784421%22/%3E%3Cpath%20d=%22M89.428%2098.614l1.962-2.092C81.67%2090.65%2065.24%2082.005%2064.402%2063.82l-.38-8.265-3.256.097.38%208.265C62.04%2083.35%2079.89%2092.851%2089.43%2098.614z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#1a1a1a%22/%3E%3Cpath%20d=%22M183.16%20189.47l-4.313%201.75c28.98%2023.48%2079.65%2053.27%2079.65%20129.66v31.531h4V320.88c0-71.639-50.903-108.37-79.344-131.41z%22%20style=%22text-indent:0;text-transform:none%22%20transform=%22matrix(-.32563%20.0097%20-.01206%20-.2621%20151.309%20145.45)%22%20color=%22#000%22%20fill=%22#fff%22%20fill-opacity=%22.313%22%20filter=%22url(#c)%22/%3E%3Cpath%20d=%22M44.052%20118.046c1.941-13.5%205.209-28.946%204.55-43.257l-.862-18.748-3.256.097.863%2018.748c.64%2013.918-2.572%2029.258-4.53%2042.86l3.234.297z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22green%22/%3E%3Cpath%20transform=%22matrix(.32563%20-.0097%20-.01206%20-.2621%20-44.14%20150.226)%22%20d=%22M272.94%20112.59l-5.875%201.5c7.92%2051.61%2019.94%20109.69%2019.94%20162.79v71.531h6V276.88c0-54.598-12.202-113.07-20.062-164.28z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#cfa%22%20fill-opacity=%22.409%22%20filter=%22url(#d)%22/%3E%3Cpath%20d=%22M34.013%20113.833c5.507-15.193%2011.923-26.132%2010.85-49.43l-.38-8.265-3.256.097.38%208.264c1.053%2022.883-5.147%2033.214-10.725%2048.606l3.131.727z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#04a%22/%3E%3Cpath%20transform=%22matrix(.32563%20-.0097%20-.01206%20-.2621%20-44.202%20150.228)%22%20d=%22M242.75%20129.78l-3.5%203.125c19.277%2058.01%2038.25%2096.664%2038.25%20183.97v31.531h5.5v-31.531c0-88.882-21.224-129.84-40.25-187.09z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#acf%22%20fill-opacity=%22.475%22%20filter=%22url(#e)%22/%3E%3Cpath%20d=%22M23.786%20108.143C32.372%2096.651%2042.62%2086.487%2041.607%2064.5l-.38-8.264-3.257.097.38%208.264c.981%2021.314-8.618%2030.496-17.358%2042.192l2.793%201.352z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#aa00d4%22/%3E%3Cpath%20transform=%22matrix(.32563%20-.0097%20-.01206%20-.2621%20-63.922%20150.816)%22%20d=%22M275.19%20158.62l-4.375-.531c28.45%2043.57%2057.68%2077.47%2057.68%20158.79v31.53h4v-31.53c0-83.882-29.36-115.45-57.312-158.25z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#eaf%22%20fill-opacity=%22.483%22%20filter=%22url(#f)%22/%3E%3Cpath%20d=%22M13.334%20100.883c8.983-6.313%2025.91-16.854%2025.017-36.287l-.38-8.264-3.257.097.38%208.264c.837%2018.184-14.754%2027.784-23.91%2034.22l2.149%201.97z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#6f6f91%22/%3E%3Cpath%20transform=%22matrix(.32563%20-.0097%20-.01206%20-.2621%20-43.742%20150.214)%22%20d=%22M183.16%20185.47l-4.313%201.75c28.98%2023.48%2078.15%2055.27%2078.15%20129.65v31.531h5V316.87c0-69.13-50.4-108.37-78.84-131.4z%22%20style=%22text-indent:0;text-transform:none%22%20color=%22#000%22%20fill=%22#dbdbe3%22%20fill-opacity=%22.429%22%20filter=%22url(#g)%22/%3E%3Cpath%20d=%22M73.69%2057.606L25.264%2059.05l-.202-4.398c12.474-.817%2026.455-1.496%2048.425-1.444z%22%20color=%22#000%22%20fill=%22url(#h)%22/%3E%3Cpath%20d=%22M64.604%2060.633l-30.005.894-.246-5.336c7.717-.77%2016.373-1.346%2030.005-.894z%22%20color=%22#000%22%20fill=%22#1a1a1a%22/%3E%3Cpath%20d=%22M64.467%2060.434l-29.75.887-.03-.659c7.655-.673%2016.24-1.19%2029.75-.887z%22%20color=%22#000%22%20fill=%22url(#i)%22/%3E%3Cpath%20d=%22M36.953%2061.291l-2.194.066-.236-5.14c1.09-.029%201.543-.087%202.193-.067z%22%20color=%22#000%22%20fill=%22url(#j)%22/%3E%3Cpath%20d=%22M64.526%2067.018l-29.466.88-.296-6.44c7.578-.746%2016.08-1.306%2029.465-.879z%22%20color=%22#000%22%20fill=%22url(#k)%22/%3E%3Cpath%20d=%22M39.749%2062.438a17382.86%2017382.86%200%200%200-16.022-9.136c-7.035-4.007-12.814-7.308-12.842-7.335-.028-.027%209.023-5.125%2020.114-11.329L51.164%2023.36l.041%207.98c.023%204.39.047%2012.504.052%2018.034l.01%2010.053-.258.043c-1.31.216-2.573.602-3.6%201.102-1.394.678-3.04%202.007-3.947%203.188-.227.296-.428.536-.447.533a258.47%20258.47%200%200%201-3.266-1.854zm19.433.916c-1.387-1.72-3.778-3.223-5.848-3.68a84.366%2084.366%200%200%201-1.148-.258c-.103-.026-.17-5.28-.231-18.058-.047-9.91-.072-18.034-.055-18.05.033-.034%2038.983%2022.448%2039.105%2022.57.073.073-30.92%2018.297-31.09%2018.28-.05-.005-.38-.367-.733-.804zM10.639%2069.42c0-18.118.034-22.668.17-22.583.094.058%207.285%204.221%2015.98%209.252%209.32%205.392%2015.801%209.22%2015.79%209.327-.011.1-.12.542-.244.985-.509%201.835-.413%204.334.24%206.25l.307.9-15.328%208.835a7575.428%207575.428%200%200%201-16.122%209.278l-.793.444zM76.18%2083.365c-8.53-5.14-15.551-9.39-15.604-9.443-.052-.052.06-.584.25-1.183.514-1.62.592-4.195.184-6.007-.163-.72-.275-1.328-.25-1.349.147-.123%2030.997-18.63%2031.055-18.63.098%200%20.056%2038.69-.046%2042.727l-.082%203.233z%22%20fill=%22#7ccff4%22/%3E%3Cpath%20d=%22M92.898%2047.736c-1.658%207.32%203.673%2035.148-.816%2037.094-9.788-16.912-21.55-23.98-21.55-23.98s15.22-10.893%2022.366-13.114zM52.12%2022.772c5.53%205.076%2032.33%2014.27%2031.79%2019.131-19.54.097-31.517%206.795-31.517%206.795s-1.893-18.62-.273-25.926zM10.95%2045.233C18.165%2043.167%2040%2025.11%2043.865%2028.108c-10.12%2016.716-10.66%2030.428-10.66%2030.428S16.333%2050.43%2010.95%2045.233zm-.857%2047.424c1.753-7.298-3.22-35.193%201.293-37.08%209.57%2017.036%2021.24%2024.255%2021.24%2024.255s-15.36%2010.696-22.533%2012.825z%22%20fill=%22#98ddf4%22/%3E%3Cpath%20d=%22M10.564%2046.162l41.054-23.67L92.644%2046.21l-.027%2047.383-32.877-19.34a9.364%209.364%200%201%200-16.216-.008L10.543%2093.551zM43.022%2065.23L10.568%2046.171m41.05-23.284l.023%2037.158m8.689%205.13L92.646%2046.21%22%20fill=%22none%22%20stroke=%22#275d75%22%20stroke-width=%223.009%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22translate(-44.235%2067.501)%20scale(.75005)%22%20stroke=%22#00f400%22%3E%3Ccircle%20r=%2224.508%22%20cy=%221.741%22%20cx=%22128.644%22%20opacity=%22.95%22%20fill=%22#272524%22%20stroke-width=%222.247%22%20stroke-linecap=%22round%22/%3E%3Cpath%20d=%22M113.085%2010.269h16.744V-9.227h14.781%22%20fill=%22none%22%20stroke-width=%222.682%22/%3E%3C/g%3E%3Ctext%20style=%22line-height:1.25%22%20x=%2223.033%22%20y=%2218.856%22%20font-weight=%22400%22%20font-size=%2221.804%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%22.545%22%3E%3Ctspan%20x=%2223.033%22%20y=%2218.856%22%3E16KB%3C/tspan%3E%3C/text%3E%3C/svg%3E", + "otid": 1596697289362 + }, + "design": { + "graph": { + "blocks": [ + { + "id": "01edffcc-6e84-40ff-a986-e6bb1d144035", + "type": "basic.inputLabel", "data": { - "info": "The output bus is controlled \nby this circuit (1) or \nremain untouched (0)", - "readonly": true + "blockColor": "fuchsia", + "name": "tx", + "oldBlockColor": "fuchsia" }, "position": { - "x": 1320, - "y": 288 - }, - "size": { - "width": 240, - "height": 112 + "x": 1080, + "y": 536 } }, { - "id": "0421b3fd-c660-4279-abe0-e1d486431ce0", - "type": "basic.info", + "id": "874e0745-10f1-45c2-8893-f7dfad87390d", + "type": "basic.outputLabel", "data": { - "info": "The reading machine \ncan be started", - "readonly": true + "blockColor": "yellow", + "name": "clk" }, "position": { - "x": 584, - "y": 456 - }, - "size": { - "width": 184, - "height": 64 + "x": 728, + "y": 544 } }, { - "id": "e0ace7c0-caa0-440e-9868-d76ffb18bfb2", - "type": "basic.info", + "id": "bef1b4c2-b479-4152-ba4d-eb6b9906949c", + "type": "basic.input", "data": { - "info": "Reading machine", - "readonly": true + "name": "", + "clock": true }, "position": { - "x": 1016, - "y": 728 - }, - "size": { - "width": 168, - "height": 48 + "x": -32, + "y": 584 } }, { - "id": "165f75a6-a05d-4025-aac5-91f45cd6cd30", - "type": "1c7dae7144d376f2ee4896fcc502a29110e2db37", - "position": { - "x": 1904, - "y": 520 - }, - "size": { - "width": 96, - "height": 64 + "id": "e957a950-a21d-4560-8c01-c477d88a75a2", + "type": "basic.inputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" + }, + "position": { + "x": 112, + "y": 584 } }, { - "id": "d155022c-5f5d-4a1b-8e0b-9643481e530b", - "type": "359a555a147b0afd9d84e4a720ec84b7cdfbc034", - "position": { - "x": 1880, - "y": 664 + "id": "757f1816-834d-4cd7-a5e1-d726a472de91", + "type": "basic.output", + "data": { + "name": "tx" }, - "size": { - "width": 96, - "height": 96 + "position": { + "x": 1456, + "y": 600 } }, { - "id": "5aeed2ef-7590-4245-a540-a63acb068e09", - "type": "3bf99b8d77aa1b29ec1bf618b53175de87f1001d", - "position": { - "x": 1648, - "y": 680 + "id": "b5a3b2cc-7b32-4ac9-b6bf-002fe40d9ebe", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "tx", + "oldBlockColor": "fuchsia" }, - "size": { - "width": 96, - "height": 64 + "position": { + "x": 1304, + "y": 600 } }, { - "id": "045bea3c-647f-44be-8b84-4957291749a4", - "type": "1c7dae7144d376f2ee4896fcc502a29110e2db37", - "position": { - "x": 1336, - "y": 912 + "id": "25428eb9-c2a5-476c-8ea5-4876e3cb78cb", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "stdo", + "range": "[9:0]", + "size": 10 }, - "size": { - "width": 96, - "height": 64 + "position": { + "x": 1104, + "y": 616 } }, { - "id": "e9c87f9b-8312-41de-af70-db0772825e09", - "type": "ae7cd7cc997647c6f4f9ed332bbf1849b798d4cb", - "position": { - "x": 1904, - "y": 32 + "id": "2226faa1-dd30-45cc-b4fb-2bcffd758576", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "stdo_1", + "range": "[9:0]", + "oldBlockColor": "fuchsia", + "size": 10 }, - "size": { - "width": 96, - "height": 128 + "position": { + "x": 720, + "y": 616 } }, { - "id": "5ce3f494-5892-4a5c-9720-fc5c71449b27", - "type": "basic.info", + "id": "b1e41924-f354-4744-b5f0-a93a1fdc6828", + "type": "basic.input", "data": { - "info": "## Download machine\n\nTransmit all the memory contents through the serial port \nThe bytes are transmited raw (in binary). No ascii encoding \nThere should be a program running on the computer capable of \nreading these raw bytes", - "readonly": true + "name": "trig", + "clock": false }, "position": { - "x": -112, - "y": -168 - }, - "size": { - "width": 504, - "height": 120 + "x": -32, + "y": 664 } }, { - "id": "10cf0acf-2627-46d4-8c0d-840056c3a6be", - "type": "f1dc888a11b743f08087b6e65015fe269bed1f6f", - "position": { - "x": 384, - "y": 184 + "id": "4de777a9-a4a5-4ace-adf6-688298d0d736", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "trig" }, - "size": { - "width": 96, - "height": 128 + "position": { + "x": 112, + "y": 664 } }, { - "id": "8205f22c-1d31-4e0a-a4d9-7fbbc780e32d", - "type": "6050ed4fa033f3f13d3fe5fae5dcedb414a0fede", - "position": { - "x": 1080, - "y": -80 + "id": "9cdfc247-4374-4660-b8c7-246e9aa090d7", + "type": "basic.input", + "data": { + "name": "ch", + "range": "[7:0]", + "clock": false, + "size": 8 }, - "size": { - "width": 96, - "height": 128 + "position": { + "x": -32, + "y": 752 } }, { - "id": "c4492dd4-658c-4c26-9b2b-b6d26243039b", - "type": "7cd239bdd995aa0988ea7615327f97fbe335930d", - "position": { - "x": 1312, - "y": 104 + "id": "b3f14933-93b7-4bc1-8585-471518a370ce", + "type": "basic.inputLabel", + "data": { + "name": "ch", + "range": "[7:0]", + "blockColor": "fuchsia", + "size": 8 }, - "size": { - "width": 96, - "height": 96 + "position": { + "x": 120, + "y": 752 } }, { - "id": "98bbdcc7-f58a-4c93-be85-ccfe5b16ddb4", - "type": "efe39aa2a101707774e24b099a0654cc52ff8a04", - "position": { - "x": 1016, - "y": 800 + "id": "97a9bf0d-0475-40fe-bcc2-f75e2b928290", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "on2", + "oldBlockColor": "fuchsia" }, - "size": { - "width": 96, - "height": 128 + "position": { + "x": 1136, + "y": 760 } - } - ], - "wires": [ + }, { - "source": { - "block": "7fb933a6-5c63-4d46-8aaa-440b30974993", - "port": "out" - }, - "target": { - "block": "2c31aa6a-383c-4eb5-b669-b8a31ad14225", - "port": "inlabel" + "id": "a76b111f-f808-4e45-8873-d8e76eb8612e", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "vertices": [] + "position": { + "x": 824, + "y": 768 + } }, { - "source": { - "block": "b14f140b-7bb5-46d9-8019-39c27ff6e0e3", - "port": "out" + "id": "95f8ff76-02e4-4f69-8db6-d285cfe13d4a", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "target": { - "block": "da45f105-3600-4458-a820-50046581f5dd", - "port": "inlabel" + "position": { + "x": 328, + "y": 784 } }, { - "source": { - "block": "10cf0acf-2627-46d4-8c0d-840056c3a6be", - "port": "9751f777-00ec-46c1-8d85-07d2dec1e653" + "id": "db47aa3d-add3-4672-aad0-e71644d43161", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "stdo_1", + "range": "[9:0]", + "size": 10 }, - "target": { - "block": "05a1a5b4-bf29-49df-b0b1-887859d9ec9e", - "port": "inlabel" + "position": { + "x": 1184, + "y": 824 } }, { - "source": { - "block": "10cf0acf-2627-46d4-8c0d-840056c3a6be", - "port": "afe50480-6fe5-4ca6-b639-c730569a6a1d", - "size": 8 - }, - "target": { - "block": "914e03dd-1133-4325-a333-b10f953ecce5", - "port": "inlabel" + "id": "b1cd47ec-5a10-4bd1-bff9-a9d1707d621d", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "size": 8 + "position": { + "x": 1312, + "y": 840 + } }, { - "source": { - "block": "7df4a7f1-90b6-4562-8be3-e4719a824545", - "port": "outlabel" + "id": "f443dcde-4fbe-46f8-90d9-94a64a06a928", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "stdo", + "range": "[9:0]", + "size": 10 }, - "target": { - "block": "98bbdcc7-f58a-4c93-be85-ccfe5b16ddb4", - "port": "cb426e3d-ace3-4a57-a74b-155caed0c14c" + "position": { + "x": 792, + "y": 848 } }, { - "source": { - "block": "fce01e4d-e6d2-4811-8f96-410673168b4c", - "port": "outlabel" - }, - "target": { - "block": "7a989d63-cd4a-4c47-9513-57b4ea6ee141", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "id": "b3c9756a-c4ff-496f-972f-11e1904c9bd4", + "type": "basic.outputLabel", + "data": { + "name": "mbus", + "range": "[23:0]", + "blockColor": "fuchsia", + "size": 24 }, - "vertices": [] + "position": { + "x": 264, + "y": 856 + } }, { - "source": { - "block": "524ca75c-cdd3-4e79-851a-b46ce146bd66", - "port": "outlabel" - }, - "target": { - "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", - "port": "97b51945-d716-4b6c-9db9-970d08541249" - }, - "vertices": [] + "id": "218bd314-2f32-4e2b-b3f4-4f7e0f8f3e70", + "type": "basic.inputLabel", + "data": { + "name": "mbus", + "range": "[23:0]", + "blockColor": "fuchsia", + "size": 24 + }, + "position": { + "x": 1616, + "y": 896 + } }, { - "source": { - "block": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" - }, - "target": { - "block": "700d8b15-d6df-4b76-b10d-72db58c33e6c", - "port": "inlabel" + "id": "02620ac0-eba1-4e7b-8c7c-42f281dfad06", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "trig", + "oldBlockColor": "fuchsia" }, - "vertices": [] + "position": { + "x": 224, + "y": 944 + } }, { - "source": { - "block": "0db424eb-f896-41e1-becb-7eb065dd64f2", - "port": "outlabel" - }, - "target": { - "block": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", - "port": "97b51945-d716-4b6c-9db9-970d08541249" + "id": "8de3b7b2-f1f3-41a6-91c1-dcd310e375b5", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "data2", + "range": "[7:0]", + "oldBlockColor": "fuchsia", + "size": 8 }, - "vertices": [ - { - "x": 584, - "y": 824 - } - ] + "position": { + "x": 1152, + "y": 1000 + } }, { - "source": { - "block": "9be4488d-51be-4346-8a31-5d8f2f86e4d3", - "port": "outlabel" - }, - "target": { - "block": "26b71a43-5955-4452-9b0e-94ea6ef453b7", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "id": "db924183-9079-4d5e-ba72-24086b523403", + "type": "basic.outputLabel", + "data": { + "name": "ch", + "range": "[7:0]", + "blockColor": "fuchsia", + "size": 8 }, - "vertices": [] + "position": { + "x": 280, + "y": 1016 + } }, { - "source": { - "block": "923c4db6-0c76-4647-a848-75fd61fba6ec", - "port": "outlabel" + "id": "bf04f199-c541-48bb-b97b-024f13f8a77c", + "type": "basic.constant", + "data": { + "name": "sclk", + "value": "12000000", + "local": false }, - "target": { - "block": "26b71a43-5955-4452-9b0e-94ea6ef453b7", - "port": "97b51945-d716-4b6c-9db9-970d08541249" + "position": { + "x": 840, + "y": 472 + } + }, + { + "id": "301e5c60-1782-4bb1-8922-3b1430d30e21", + "type": "basic.constant", + "data": { + "name": "bps", + "value": "115200", + "local": false }, - "vertices": [] + "position": { + "x": 968, + "y": 472 + } }, { - "source": { - "block": "98bbdcc7-f58a-4c93-be85-ccfe5b16ddb4", - "port": "49221b19-132a-4e3f-9a1f-97bcd463391b" + "id": "68b503e6-2b67-4fba-9b21-96ca03b1ac6a", + "type": "basic.memory", + "data": { + "name": "", + "list": "00\n01\n02\n03\n04\n05\n06\n07\n08\n09\n0A\n0B\n0C\n0D\n0E\n0F\n", + "local": true, + "format": 10 }, - "target": { - "block": "366a768a-2f5d-4c01-8338-bdef0a688ea7", - "port": "inlabel" + "position": { + "x": 1424, + "y": 672 + }, + "size": { + "width": 152, + "height": 160 } }, { - "source": { - "block": "eda78d52-57f7-4e44-bd8e-75e67c496650", - "port": "outlabel" + "id": "1b7cce1e-5e7b-4fef-93cd-ff06c9262fbf", + "type": "basic.info", + "data": { + "info": "## Icerok-probe machine\n\nMachine for capturing data, storing it in the memory and transmit \nto the computer by serial port", + "readonly": true }, - "target": { - "block": "98bbdcc7-f58a-4c93-be85-ccfe5b16ddb4", - "port": "ad4d0fc2-118e-496e-b292-c435bad20e7d" + "position": { + "x": -48, + "y": 368 + }, + "size": { + "width": 688, + "height": 88 } }, { - "source": { - "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "id": "1a5dba1d-460f-4fe7-b89a-e82a5ce80797", + "type": "basic.info", + "data": { + "info": "Writing the data to the memory on \nevery system clock cycle", + "readonly": true }, - "target": { - "block": "54e9bf9f-b852-4c45-bd53-f6eb4ee707eb", - "port": "inlabel" + "position": { + "x": 368, + "y": 1080 + }, + "size": { + "width": 296, + "height": 56 } }, { - "source": { - "block": "dc204461-1dd1-428f-91a2-006d905d6585", - "port": "outlabel" + "id": "e9eeb570-af93-4a48-a7bb-b2373f112a3d", + "type": "basic.info", + "data": { + "info": "Transmiting the raw memory contents \nto the computer, by serial port", + "readonly": true }, - "target": { - "block": "98bbdcc7-f58a-4c93-be85-ccfe5b16ddb4", - "port": "8f591b24-0427-409f-aa6e-ca1861556cf5" + "position": { + "x": 936, + "y": 1080 + }, + "size": { + "width": 296, + "height": 56 } }, { - "source": { - "block": "98bbdcc7-f58a-4c93-be85-ccfe5b16ddb4", - "port": "6a11eaf9-4bd5-405e-81f8-44418365326b" + "id": "120026aa-96d4-4c3f-bdf9-6ae35383aa84", + "type": "basic.info", + "data": { + "info": "When the sampling is done \ntransmit the information to \nthe computer", + "readonly": true }, - "target": { - "block": "7e9db299-cb56-4cd9-a489-d5fbd6eb3e2f", - "port": "inlabel" + "position": { + "x": 664, + "y": 992 + }, + "size": { + "width": 280, + "height": 72 } }, { - "source": { - "block": "a040cc3d-b2c6-458e-bde6-f8234a19b6d1", - "port": "outlabel" + "id": "7c470f08-1331-4242-ad22-412c4e83cf61", + "type": "basic.info", + "data": { + "info": "Memory were the data \nis stored", + "readonly": true }, - "target": { - "block": "38abb13c-8652-41fb-931c-c7bf760ebb24", - "port": "in" + "position": { + "x": 1448, + "y": 984 }, - "vertices": [] + "size": { + "width": 216, + "height": 64 + } }, { - "source": { - "block": "8ca2279c-fdc3-40d3-9fbe-2071c026932f", - "port": "outlabel" + "id": "b3fb3351-e2cc-42b6-ac47-08d6fee8e3cb", + "type": "58354ef6a90ba7895773f2652b9bdd4b7fc36176", + "position": { + "x": 904, + "y": 600 }, - "target": { - "block": "8205f22c-1d31-4e0a-a4d9-7fbbc780e32d", - "port": "49fb1766-1e7f-4706-9872-a6cd65cc9f2d" + "size": { + "width": 96, + "height": 96 } }, { - "source": { - "block": "289f00be-f97d-4553-a60a-32d8b45da4cc", - "port": "outlabel" + "id": "daefb83b-9b87-4d60-9ad8-9209f5d30e21", + "type": "1250d52a7afd45bb1a9a3db8b7b07091812cfe25", + "position": { + "x": 1456, + "y": 896 }, - "target": { - "block": "165f75a6-a05d-4025-aac5-91f45cd6cd30", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + "size": { + "width": 96, + "height": 64 } }, { - "source": { - "block": "7d0852c6-4778-4a53-bf90-30527c44a0eb", - "port": "outlabel" + "id": "a7a62de6-e5c1-4dec-95c9-55e64ac949d2", + "type": "76edf4205ccb9e56d286f0315a959a27a34b5c04", + "position": { + "x": 488, + "y": 896 }, - "target": { - "block": "165f75a6-a05d-4025-aac5-91f45cd6cd30", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + "size": { + "width": 96, + "height": 128 } }, + { + "id": "70c57eb6-a5b4-421b-9262-cdc5875376e1", + "type": "698400cf4aed3c1bcc56992cf4dee108a0b3b2d8", + "position": { + "x": 984, + "y": 864 + }, + "size": { + "width": 96, + "height": 192 + } + } + ], + "wires": [ { "source": { - "block": "c1c96b9c-e573-43a0-8b60-9f7fe7ad5ae6", + "block": "02620ac0-eba1-4e7b-8c7c-42f281dfad06", "port": "outlabel" }, "target": { - "block": "d155022c-5f5d-4a1b-8e0b-9643481e530b", - "port": "1e637a79-4a6d-495c-bcac-9664bdbe4b94" + "block": "a7a62de6-e5c1-4dec-95c9-55e64ac949d2", + "port": "b14f140b-7bb5-46d9-8019-39c27ff6e0e3" }, "vertices": [] }, { "source": { - "block": "0399b081-5696-4bf7-bb75-cd55da78d4f5", - "port": "outlabel" + "block": "70c57eb6-a5b4-421b-9262-cdc5875376e1", + "port": "38abb13c-8652-41fb-931c-c7bf760ebb24" }, "target": { - "block": "d155022c-5f5d-4a1b-8e0b-9643481e530b", - "port": "9f5a1c91-1b93-4609-877c-816ed8fd0871", - "size": 8 + "block": "97a9bf0d-0475-40fe-bcc2-f75e2b928290", + "port": "inlabel" }, - "size": 8 + "vertices": [] }, { "source": { - "block": "adcb920c-12a7-478f-b1f2-9877d62d2673", - "port": "outlabel" + "block": "70c57eb6-a5b4-421b-9262-cdc5875376e1", + "port": "3066cf48-9921-4487-826e-0464a2dead7a", + "size": 8 }, "target": { - "block": "045bea3c-647f-44be-8b84-4957291749a4", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" - } + "block": "8de3b7b2-f1f3-41a6-91c1-dcd310e375b5", + "port": "inlabel" + }, + "vertices": [], + "size": 8 }, { "source": { - "block": "045bea3c-647f-44be-8b84-4957291749a4", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + "block": "70c57eb6-a5b4-421b-9262-cdc5875376e1", + "port": "20d63505-e2fd-44ed-95b9-9f45e8875e70", + "size": 10 }, "target": { - "block": "caf86b2c-c08d-411d-be47-4084fec9532e", + "block": "db47aa3d-add3-4672-aad0-e71644d43161", "port": "inlabel" - } + }, + "vertices": [], + "size": 10 }, { "source": { - "block": "1afea26e-4199-4bc9-bee1-c5689a14f8b6", + "block": "f443dcde-4fbe-46f8-90d9-94a64a06a928", "port": "outlabel" }, "target": { - "block": "24450b7d-19ce-463a-83fb-5e1c04e4b093", - "port": "in" - } + "block": "70c57eb6-a5b4-421b-9262-cdc5875376e1", + "port": "886b88b1-4987-4f1f-aadd-d82bb53ab445", + "size": 10 + }, + "vertices": [], + "size": 10 }, { "source": { - "block": "886b88b1-4987-4f1f-aadd-d82bb53ab445", - "port": "out", + "block": "b3fb3351-e2cc-42b6-ac47-08d6fee8e3cb", + "port": "93defa79-7f79-4614-8e5b-17ceacc8c7cf", "size": 10 }, "target": { - "block": "523a4825-1562-4f5d-b129-c7d08fe542c2", + "block": "25428eb9-c2a5-476c-8ea5-4876e3cb78cb", "port": "inlabel" }, + "vertices": [], "size": 10 }, { "source": { - "block": "b359cb97-c324-4ffc-a73c-64c7f457e6fa", + "block": "2226faa1-dd30-45cc-b4fb-2bcffd758576", "port": "outlabel" }, "target": { - "block": "e9c87f9b-8312-41de-af70-db0772825e09", - "port": "8c3ce21f-2214-489f-853a-d60a223034da", + "block": "b3fb3351-e2cc-42b6-ac47-08d6fee8e3cb", + "port": "bf297685-7b54-477f-b9ee-3c143135097b", "size": 10 }, + "vertices": [], "size": 10 }, { "source": { - "block": "f81791c6-f02f-46d0-b738-5895dd124243", - "port": "outlabel" + "block": "bef1b4c2-b479-4152-ba4d-eb6b9906949c", + "port": "out" }, "target": { - "block": "e9c87f9b-8312-41de-af70-db0772825e09", - "port": "04841e3c-8761-454a-8d99-496fde26ea1f" - } + "block": "e957a950-a21d-4560-8c01-c477d88a75a2", + "port": "inlabel" + }, + "vertices": [] }, { "source": { - "block": "a875b188-26fa-4052-ae81-4b5f22f4c1e5", + "block": "874e0745-10f1-45c2-8893-f7dfad87390d", "port": "outlabel" }, "target": { - "block": "e9c87f9b-8312-41de-af70-db0772825e09", - "port": "1ac9dd5b-9741-4af4-963a-50cbf8c4c6be" + "block": "b3fb3351-e2cc-42b6-ac47-08d6fee8e3cb", + "port": "2d00d963-00f8-4a0a-9cb8-a4e5bfb61323" + } + }, + { + "source": { + "block": "b3fb3351-e2cc-42b6-ac47-08d6fee8e3cb", + "port": "f2043f09-b391-40ea-9d1d-721438b68ef1" }, - "vertices": [ - { - "x": 1800, - "y": 88 - } - ] + "target": { + "block": "01edffcc-6e84-40ff-a986-e6bb1d144035", + "port": "inlabel" + } }, { "source": { - "block": "786f1170-66ce-4c3a-acdc-073388546edd", + "block": "b5a3b2cc-7b32-4ac9-b6bf-002fe40d9ebe", "port": "outlabel" }, "target": { - "block": "e9c87f9b-8312-41de-af70-db0772825e09", - "port": "72632c73-fe18-42b3-b81f-46999ddfdb20", - "size": 8 - }, - "size": 8 + "block": "757f1816-834d-4cd7-a5e1-d726a472de91", + "port": "in" + } }, { "source": { - "block": "e9c87f9b-8312-41de-af70-db0772825e09", - "port": "233059d5-8ab7-4c63-8dab-0c6af3a1dc28" + "block": "b1e41924-f354-4744-b5f0-a93a1fdc6828", + "port": "out" }, "target": { - "block": "bf61387a-ef36-4f3c-898f-e274c3136b18", + "block": "4de777a9-a4a5-4ace-adf6-688298d0d736", "port": "inlabel" } }, { "source": { - "block": "472c0cbb-1d6b-4af4-a439-52f52118d405", + "block": "9cdfc247-4374-4660-b8c7-246e9aa090d7", "port": "out", - "size": 14 + "size": 8 }, "target": { - "block": "9bc05443-4e8c-4288-a609-67e961b01ca7", + "block": "b3f14933-93b7-4bc1-8585-471518a370ce", "port": "inlabel" }, - "vertices": [], - "size": 14 + "size": 8 }, { "source": { - "block": "d94290b8-502b-46eb-a630-3b0800bf3c9b", + "block": "db924183-9079-4d5e-ba72-24086b523403", "port": "outlabel" }, "target": { - "block": "10cf0acf-2627-46d4-8c0d-840056c3a6be", - "port": "3178c182-b1bd-4e92-bc67-6e0868b62279", - "size": 14 + "block": "a7a62de6-e5c1-4dec-95c9-55e64ac949d2", + "port": "9978357f-7ad7-44b5-97d2-b44692508773", + "size": 8 }, - "size": 14 + "size": 8 }, { "source": { - "block": "af8afdcf-1f69-4187-81ab-082d28c98dd9", + "block": "95f8ff76-02e4-4f69-8db6-d285cfe13d4a", "port": "outlabel" }, "target": { - "block": "8205f22c-1d31-4e0a-a4d9-7fbbc780e32d", - "port": "5c70a159-1900-4d97-9e7d-961876e03bbe", - "size": 4 - }, - "size": 4 + "block": "a7a62de6-e5c1-4dec-95c9-55e64ac949d2", + "port": "7fb933a6-5c63-4d46-8aaa-440b30974993" + } }, { "source": { - "block": "b63a0660-3988-4951-b606-0177b556defc", + "block": "a76b111f-f808-4e45-8873-d8e76eb8612e", "port": "outlabel" }, "target": { - "block": "c4492dd4-658c-4c26-9b2b-b6d26243039b", - "port": "e3bb4d9b-5ba2-4987-bd84-cd8763a214cd", - "size": 14 - }, - "size": 14 + "block": "70c57eb6-a5b4-421b-9262-cdc5875376e1", + "port": "7fb933a6-5c63-4d46-8aaa-440b30974993" + } }, { "source": { - "block": "98bbdcc7-f58a-4c93-be85-ccfe5b16ddb4", - "port": "a8eb520f-8b09-41ab-9146-919bf44b6078", - "size": 4 + "block": "b1cd47ec-5a10-4bd1-bff9-a9d1707d621d", + "port": "outlabel" }, "target": { - "block": "64f8b6de-1661-4bb4-a2eb-5458a30a6d66", - "port": "inlabel" - }, - "size": 4 + "block": "daefb83b-9b87-4d60-9ad8-9209f5d30e21", + "port": "6080df5a-c853-47cf-aaa7-c5a8f1e65879" + } }, { "source": { - "block": "5f897fa2-936f-47cd-9310-a36fb4cb14a1", - "port": "ad29e130-c17a-4544-9237-4c72551ccbeb" + "block": "daefb83b-9b87-4d60-9ad8-9209f5d30e21", + "port": "ecaf7923-2995-4c02-a531-778edf600834", + "size": 24 }, "target": { - "block": "8205f22c-1d31-4e0a-a4d9-7fbbc780e32d", - "port": "25996d5e-6856-4828-8cb3-5dea5ff5cf9c" + "block": "218bd314-2f32-4e2b-b3f4-4f7e0f8f3e70", + "port": "inlabel" }, - "vertices": [], - "size": 8 + "size": 24 }, { "source": { - "block": "b6323c55-9b6d-4753-8953-7fb34775a27b", - "port": "3d584b0a-29eb-47af-8c43-c0822282ef05" + "block": "b3c9756a-c4ff-496f-972f-11e1904c9bd4", + "port": "outlabel" }, "target": { - "block": "8205f22c-1d31-4e0a-a4d9-7fbbc780e32d", - "port": "dbe1622c-3510-4132-8b5c-2fbf81d7f581" + "block": "a7a62de6-e5c1-4dec-95c9-55e64ac949d2", + "port": "94f3b4c1-ffb7-450b-99c4-aebfb6c4e124", + "size": 24 }, "vertices": [ { - "x": 1000, - "y": 16 + "x": 392, + "y": 920 } - ] + ], + "size": 24 }, { "source": { - "block": "7a989d63-cd4a-4c47-9513-57b4ea6ee141", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "68b503e6-2b67-4fba-9b21-96ca03b1ac6a", + "port": "memory-out" }, "target": { - "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "block": "daefb83b-9b87-4d60-9ad8-9209f5d30e21", + "port": "b07ab569-1013-48d4-916e-4e447f8ea11b" }, "vertices": [] }, { "source": { - "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "a7a62de6-e5c1-4dec-95c9-55e64ac949d2", + "port": "95c4416f-62f5-4196-a406-f7915d40a572" }, "target": { - "block": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "block": "70c57eb6-a5b4-421b-9262-cdc5875376e1", + "port": "b14f140b-7bb5-46d9-8019-39c27ff6e0e3" }, "vertices": [] }, { "source": { - "block": "26b71a43-5955-4452-9b0e-94ea6ef453b7", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "bf04f199-c541-48bb-b97b-024f13f8a77c", + "port": "constant-out" }, "target": { - "block": "c4492dd4-658c-4c26-9b2b-b6d26243039b", - "port": "1e637a79-4a6d-495c-bcac-9664bdbe4b94" + "block": "b3fb3351-e2cc-42b6-ac47-08d6fee8e3cb", + "port": "ac5c1fd2-04e0-41a2-8d4d-c2e41b2e5b8f" } }, { "source": { - "block": "165f75a6-a05d-4025-aac5-91f45cd6cd30", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + "block": "301e5c60-1782-4bb1-8922-3b1430d30e21", + "port": "constant-out" }, "target": { - "block": "95c4416f-62f5-4196-a406-f7915d40a572", - "port": "in" + "block": "b3fb3351-e2cc-42b6-ac47-08d6fee8e3cb", + "port": "d4a02852-2578-4c4d-b7e2-0708b0ef9794" } }, { "source": { - "block": "5aeed2ef-7590-4245-a540-a63acb068e09", - "port": "ad29e130-c17a-4544-9237-4c72551ccbeb" - }, - "target": { - "block": "d155022c-5f5d-4a1b-8e0b-9643481e530b", - "port": "325fbba1-e929-4921-a644-95f918e6e4ee" - }, - "vertices": [], - "size": 8 - }, - { - "source": { - "block": "d155022c-5f5d-4a1b-8e0b-9643481e530b", - "port": "bf25756a-65a4-4b09-915d-494010d6f4ff" - }, - "target": { - "block": "3066cf48-9921-4487-826e-0464a2dead7a", - "port": "in" - }, - "size": 8 - }, - { - "source": { - "block": "98bbdcc7-f58a-4c93-be85-ccfe5b16ddb4", - "port": "73948305-b05b-418f-88af-11328f400cdc" - }, - "target": { - "block": "045bea3c-647f-44be-8b84-4957291749a4", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" - }, - "vertices": [ - { - "x": 1176, - "y": 928 - } - ] - }, - { - "source": { - "block": "e9c87f9b-8312-41de-af70-db0772825e09", - "port": "9aa5255a-60da-463d-ba87-d4f96456d802" - }, - "target": { - "block": "20d63505-e2fd-44ed-95b9-9f45e8875e70", - "port": "in" - }, - "size": 10 - }, - { - "source": { - "block": "8205f22c-1d31-4e0a-a4d9-7fbbc780e32d", - "port": "d3e51db6-385f-454c-ab74-d71058b21962" + "block": "a7a62de6-e5c1-4dec-95c9-55e64ac949d2", + "port": "fa41806b-2355-4923-895f-3ead2e752b43" }, "target": { - "block": "c4492dd4-658c-4c26-9b2b-b6d26243039b", - "port": "c6fdfa0c-392c-41e8-b043-d6f35a656465" + "block": "70c57eb6-a5b4-421b-9262-cdc5875376e1", + "port": "64a86ee7-b105-409d-9e91-cca498c9121b" }, - "size": 14 + "size": 24 }, { "source": { - "block": "c4492dd4-658c-4c26-9b2b-b6d26243039b", - "port": "11f6b6c3-3db4-4536-b9af-3a4182303be7" + "block": "70c57eb6-a5b4-421b-9262-cdc5875376e1", + "port": "7b8dd447-e9d2-4c9f-ba7c-c3af9abed4e8" }, "target": { - "block": "727e032f-d74b-464e-81fe-b30b1e669b9e", - "port": "in" + "block": "daefb83b-9b87-4d60-9ad8-9209f5d30e21", + "port": "7b7a0dd2-57ea-4f82-940a-a1fafe7962bf" }, - "size": 14 + "size": 24 } ] } } }, - "21cfcc19a4ad14c5fb5e8cfebd018ec356fe7542": { + "58354ef6a90ba7895773f2652b9bdd4b7fc36176": { "package": { - "name": "0", - "version": "0.1", - "description": "Un bit constante a 0", - "author": "Jesus Arroyo", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2233.563%22%20height=%2257.469%22%20viewBox=%220%200%2031.465601%2053.876499%22%3E%3Cpath%20d=%22M21.822%2032.843l4.092%208.992-3.772%209.727%204.181%201.31m-12.967-19.26s-1.091%208.253-2.585%208.919C9.278%2043.198%201%2049.389%201%2049.389l2.647%203.256%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%22-.863%22%20y=%2230.575%22%20transform=%22scale(.90756%201.10186)%22%20font-weight=%22400%22%20font-size=%2254.594%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22%3E%3Ctspan%20x=%22-.863%22%20y=%2230.575%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold%20Italic'%22%20font-style=%22italic%22%20font-weight=%22700%22%3Eo%3C/tspan%3E%3C/text%3E%3C/svg%3E" + "name": "stdout-serial-sysclk", + "version": "0.2", + "description": "Serial transmiter for the stdout bus, with sysclk parameter", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22230.265%22%20width=%22258.177%22%20viewBox=%220%200%20242.04167%20215.87473%22%3E%3Cg%20transform=%22translate(344.08%20-10.985)%20scale(1.04907)%22%20stroke=%22#000%22%3E%3Cpath%20d=%22M-170.798%20177.526l.315%2036.011%2040.397-37.263v-33.51z%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M-308.584%20177.892l53.235-35.7%20124.635.628-39.456%2035.7%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Crect%20ry=%223.509%22%20height=%2236.325%22%20width=%22139.039%22%20y=%22178.153%22%20x=%22-308.895%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22square%22/%3E%3Cg%20transform=%22matrix(1.88858%200%200%201.88858%20-312.436%20138.651)%22%20stroke-width=%22.938%22%20stroke-linecap=%22square%22%3E%3Ccircle%20cy=%2230.367%22%20cx=%2211.326%22%20r=%223.15%22%20fill=%22red%22/%3E%3Ccircle%20cy=%2230.367%22%20cx=%2220.611%22%20r=%223.15%22%20fill=%22#faa%22/%3E%3Ccircle%20cy=%2230.367%22%20cx=%2262.82%22%20r=%223.15%22%20fill=%22green%22/%3E%3Ccircle%20cy=%2230.367%22%20cx=%2230.554%22%20r=%223.15%22%20fill=%22red%22/%3E%3C/g%3E%3C/g%3E%3Ctext%20y=%2240.93%22%20x=%2225.952%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2294.276%22%20letter-spacing=%220%22%20word-spacing=%220%22%20transform=%22scale(.99853%201.00147)%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%221.749%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2240.93%22%20x=%2225.952%22%20font-weight=%22700%22%20font-size=%2253.872%22%3ESerial%3C/tspan%3E%3C/text%3E%3Ctext%20y=%22108.569%22%20x=%22-3.867%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2294.276%22%20letter-spacing=%220%22%20word-spacing=%220%22%20transform=%22scale(.99853%201.00147)%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%221.749%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%22108.569%22%20x=%22-3.867%22%20font-weight=%22700%22%20font-size=%2253.872%22%3ESTDOUT%3C/tspan%3E%3C/text%3E%3C/svg%3E", + "otid": 1574522291739 }, "design": { "graph": { "blocks": [ { - "id": "3d584b0a-29eb-47af-8c43-c0822282ef05", - "type": "basic.output", + "id": "2d00d963-00f8-4a0a-9cb8-a4e5bfb61323", + "type": "basic.input", "data": { - "name": "" + "name": "", + "clock": true }, "position": { - "x": 512, - "y": 160 + "x": 248, + "y": 224 } }, { - "id": "61331ec5-2c56-4cdd-b607-e63b1502fa65", - "type": "basic.code", + "id": "340a0c20-8472-4bd8-ae36-204a57b49285", + "type": "basic.inputLabel", "data": { - "code": "//-- Bit constante a 0\nassign q = 1'b0;\n\n", - "params": [], - "ports": { - "in": [], - "out": [ - { - "name": "q" - } - ] - } + "blockColor": "yellow", + "name": "clk" }, "position": { - "x": 168, - "y": 112 - }, - "size": { - "width": 256, - "height": 160 - } - } - ], - "wires": [ - { - "source": { - "block": "61331ec5-2c56-4cdd-b607-e63b1502fa65", - "port": "q" - }, - "target": { - "block": "3d584b0a-29eb-47af-8c43-c0822282ef05", - "port": "in" + "x": 424, + "y": 224 } - } - ] - } - } - }, - "3bf99b8d77aa1b29ec1bf618b53175de87f1001d": { - "package": { - "name": "Valor_0_8bits", - "version": "0.0.1", - "description": "Valor constante 0 para bus de 8 bits", - "author": "Juan Gonzalez-Gomez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22346.308%22%20height=%22300.445%22%20viewBox=%220%200%20324.66403%20281.66758%22%3E%3Cg%20font-weight=%22400%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22371.115%22%20y=%22653.344%22%20font-size=%22335.399%22%20fill=%22green%22%20transform=%22translate(-326.544%20-441.037)%22%3E%3Ctspan%20x=%22371.115%22%20y=%22653.344%22%3E0%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22322.722%22%20y=%22721.624%22%20font-size=%2283.077%22%20transform=%22translate(-326.544%20-441.037)%22%3E%3Ctspan%20x=%22322.722%22%20y=%22721.624%22%3E00000000%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22548.722%22%20y=%22651.624%22%20font-size=%2283.077%22%20fill=%22#00f%22%20transform=%22translate(-326.544%20-441.037)%22%3E%3Ctspan%20x=%22548.722%22%20y=%22651.624%22%3E00%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ + }, { - "id": "ad29e130-c17a-4544-9237-4c72551ccbeb", - "type": "basic.output", + "id": "019dc637-ca36-4e18-8db1-5d5318fb2d6e", + "type": "basic.outputLabel", "data": { - "name": "k", - "range": "[7:0]", - "size": 8 + "blockColor": "yellow", + "name": "clk" }, "position": { - "x": 928, - "y": 256 + "x": 552, + "y": 376 } }, { - "id": "ad7918eb-22dd-4b6c-949f-e428f5a55530", - "type": "basic.constant", + "id": "3229f563-798d-4db3-9966-52596ca5cef1", + "type": "basic.inputLabel", "data": { - "name": "", - "value": "0", - "local": true + "name": "tx", + "blockColor": "fuchsia", + "oldBlockColor": "fuchsia" }, "position": { - "x": 728, - "y": 152 + "x": 848, + "y": 376 } }, { - "id": "d8755f82-ee3e-47e9-9ac3-e4d6713a6105", - "type": "5ad97e1e35a295d0ec722addd6df97c806fc6b7c", - "position": { - "x": 728, - "y": 256 + "id": "f2043f09-b391-40ea-9d1d-721438b68ef1", + "type": "basic.output", + "data": { + "name": "tx" }, - "size": { - "width": 96, - "height": 64 + "position": { + "x": 1336, + "y": 384 } - } - ], - "wires": [ + }, { - "source": { - "block": "ad7918eb-22dd-4b6c-949f-e428f5a55530", - "port": "constant-out" + "id": "6ba67914-123c-4491-862c-8eda58a6c040", + "type": "basic.outputLabel", + "data": { + "name": "tx", + "blockColor": "fuchsia", + "oldBlockColor": "fuchsia" }, - "target": { - "block": "d8755f82-ee3e-47e9-9ac3-e4d6713a6105", - "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" + "position": { + "x": 1184, + "y": 384 } }, { - "source": { - "block": "d8755f82-ee3e-47e9-9ac3-e4d6713a6105", - "port": "a9d6830d-5cc7-4f63-a068-35181d2537bc" - }, - "target": { - "block": "ad29e130-c17a-4544-9237-4c72551ccbeb", - "port": "in" - }, - "size": 8 - } - ] - } - } - }, - "5ad97e1e35a295d0ec722addd6df97c806fc6b7c": { - "package": { - "name": "Constante-8bits", - "version": "0.0.1", - "description": "Valor genérico constante, de 8 bits. Su valor se introduce como parámetro. Por defecto vale 0", - "author": "Juan Gonzalez-Gomez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22145.608%22%20height=%22247.927%22%20viewBox=%220%200%20136.50729%20232.43134%22%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22293.115%22%20y=%22648.344%22%20font-weight=%22400%22%20font-size=%22335.399%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22%20transform=%22translate(-316.929%20-415.913)%22%3E%3Ctspan%20x=%22293.115%22%20y=%22648.344%22%3Ek%3C/tspan%3E%3C/text%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "a9d6830d-5cc7-4f63-a068-35181d2537bc", - "type": "basic.output", + "id": "e1ba0ef0-77f6-4ab9-9892-b5c93aa3167c", + "type": "basic.inputLabel", "data": { - "name": "k", - "range": "[7:0]", - "size": 8 + "name": "busy", + "blockColor": "fuchsia" }, "position": { - "x": 960, - "y": 248 + "x": 848, + "y": 456 } }, { - "id": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", - "type": "basic.constant", + "id": "bf297685-7b54-477f-b9ee-3c143135097b", + "type": "basic.input", "data": { "name": "", - "value": "0", - "local": false + "range": "[9:0]", + "clock": false, + "size": 10 }, "position": { - "x": 728, - "y": 128 + "x": 256, + "y": 472 } }, { - "id": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", - "type": "basic.code", + "id": "6a12a92e-7e13-4bc0-9051-8aba3b29df38", + "type": "basic.outputLabel", "data": { - "code": "assign k = VALUE;", - "params": [ - { - "name": "VALUE" - } - ], - "ports": { - "in": [], - "out": [ - { - "name": "k", - "range": "[7:0]", - "size": 8 - } - ] - } + "blockColor": "fuchsia", + "name": "Ready", + "range": "[9:0]", + "oldBlockColor": "fuchsia", + "size": 10 }, "position": { - "x": 672, - "y": 248 - }, - "size": { - "width": 208, - "height": 64 + "x": 1184, + "y": 480 } - } - ], - "wires": [ + }, { - "source": { - "block": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", - "port": "constant-out" + "id": "93defa79-7f79-4614-8e5b-17ceacc8c7cf", + "type": "basic.output", + "data": { + "name": "rdy", + "range": "[9:0]", + "size": 10 }, - "target": { - "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", - "port": "VALUE" + "position": { + "x": 1336, + "y": 480 } }, { - "source": { - "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", - "port": "k" - }, - "target": { - "block": "a9d6830d-5cc7-4f63-a068-35181d2537bc", - "port": "in" - }, - "size": 8 - } - ] - } - } - }, - "359a555a147b0afd9d84e4a720ec84b7cdfbc034": { - "package": { - "name": "Mux 2 a 1 de 8 bits", - "version": "0.0.1", - "description": "Multiplexor de 2 a 1 de 8 bits", - "author": "Juan Gonzalez-Gomez (obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2280.833%22%20height=%22158.56%22%20viewBox=%220%200%2075.781585%20148.65066%22%3E%3Cpath%20d=%22M74.375%2036.836c0-12.691-6.99-24.413-18.326-30.729-11.335-6.316-25.284-6.262-36.568.141C8.198%2012.652%201.304%2024.427%201.407%2037.118v74.415c-.103%2012.69%206.79%2024.466%2018.074%2030.87%2011.284%206.403%2025.233%206.457%2036.568.14%2011.336-6.316%2018.326-18.037%2018.326-30.728z%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%222.813%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.448%22%20y=%2291.518%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.448%22%20y=%2291.518%22%3E0%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.359%22%20y=%2214.582%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.359%22%20y=%2214.582%22%3E1%3C/tspan%3E%3C/text%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "9f5a1c91-1b93-4609-877c-816ed8fd0871", - "type": "basic.input", + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", "data": { - "name": "i1", - "range": "[7:0]", - "clock": false, - "size": 8 + "name": "busy" }, "position": { - "x": -704, - "y": -88 + "x": 1336, + "y": 576 } }, { - "id": "325fbba1-e929-4921-a644-95f918e6e4ee", - "type": "basic.input", + "id": "6b86af4f-f0c9-4134-b2c9-9e9d1b0d6e15", + "type": "basic.outputLabel", "data": { - "name": "i0", - "range": "[7:0]", - "clock": false, - "size": 8 + "name": "busy", + "blockColor": "fuchsia" }, "position": { - "x": -704, - "y": 0 + "x": 1192, + "y": 576 } }, { - "id": "bf25756a-65a4-4b09-915d-494010d6f4ff", - "type": "basic.output", + "id": "2482a63c-2352-4fd5-81ee-6fcaa856ccdd", + "type": "basic.inputLabel", "data": { - "name": "o", - "range": "[7:0]", - "size": 8 + "blockColor": "fuchsia", + "name": "Ready", + "range": "[9:0]", + "oldBlockColor": "fuchsia", + "size": 10 }, "position": { - "x": -48, - "y": 0 + "x": 1008, + "y": 600 } }, { - "id": "1e637a79-4a6d-495c-bcac-9664bdbe4b94", + "id": "b04e50bc-ceae-4d5b-9bd1-259af770825c", "type": "basic.input", "data": { - "name": "sel", + "name": "nc", "clock": false }, "position": { - "x": -704, - "y": 88 - } + "x": 256, + "y": 600 + } }, { - "id": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", - "type": "basic.code", + "id": "ac5c1fd2-04e0-41a2-8d4d-c2e41b2e5b8f", + "type": "basic.constant", "data": { - "code": "//-- Multiplexor de 2 a 1, \n//-- de 8 bits\n\nreg [7:0] o;\n\nalways @(*) begin\n case(sel)\n 0: o = i0;\n 1: o = i1;\n default: o = i0;\n endcase\nend\n\n", - "params": [], - "ports": { - "in": [ - { - "name": "i1", - "range": "[7:0]", - "size": 8 - }, - { - "name": "i0", - "range": "[7:0]", - "size": 8 - }, - { - "name": "sel" - } - ], - "out": [ - { - "name": "o", - "range": "[7:0]", - "size": 8 - } - ] - } + "name": "sclk", + "value": "12000000", + "local": false }, "position": { - "x": -464, - "y": -104 + "x": 624, + "y": 264 + } + }, + { + "id": "d4a02852-2578-4c4d-b7e2-0708b0ef9794", + "type": "basic.constant", + "data": { + "name": "bps", + "value": "115200", + "local": false + }, + "position": { + "x": 768, + "y": 264 + } + }, + { + "id": "e968d987-07d6-43f6-91c7-c51f2d0d5793", + "type": "c955cf93ef694308de70400b30cdd774804f88a9", + "position": { + "x": 480, + "y": 472 }, "size": { - "width": 304, - "height": 272 + "width": 96, + "height": 64 + } + }, + { + "id": "4cbc5545-838d-4037-8ff3-065df8ec78f6", + "type": "113ccf91a6aa073b6493e621c1add3fe0989efad", + "position": { + "x": 848, + "y": 600 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "7fa9a681-773d-4d20-91c6-e8109073c635", + "type": "basic.info", + "data": { + "info": "## STDOUT serial\n\nSerial transmitter for the STDOUT bus\n", + "readonly": true + }, + "position": { + "x": 264, + "y": 64 + }, + "size": { + "width": 352, + "height": 88 + } + }, + { + "id": "e03f0e2f-15f0-4a94-8757-e4a9f8a02c56", + "type": "basic.info", + "data": { + "info": "**STDOUT Bus** \n* Data to transmit (8 bits) \n* tic (1 bit)\n* data sent (done tic, 1 bit)", + "readonly": true + }, + "position": { + "x": 240, + "y": 352 + }, + "size": { + "width": 264, + "height": 80 + } + }, + { + "id": "30ebb8d3-8383-4cf3-8e2c-95f15e6a134f", + "type": "dfb66a3c3bf23ef758606d2c4ba6b059ba3793d9", + "position": { + "x": 680, + "y": 440 + }, + "size": { + "width": 96, + "height": 96 } } ], "wires": [ { "source": { - "block": "1e637a79-4a6d-495c-bcac-9664bdbe4b94", + "block": "2d00d963-00f8-4a0a-9cb8-a4e5bfb61323", "port": "out" }, "target": { - "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", - "port": "sel" + "block": "340a0c20-8472-4bd8-ae36-204a57b49285", + "port": "inlabel" + }, + "vertices": [] + }, + { + "source": { + "block": "019dc637-ca36-4e18-8db1-5d5318fb2d6e", + "port": "outlabel" + }, + "target": { + "block": "30ebb8d3-8383-4cf3-8e2c-95f15e6a134f", + "port": "4c296e24-7312-407a-8fb0-f3a6d4feb3ab" } }, { "source": { - "block": "325fbba1-e929-4921-a644-95f918e6e4ee", - "port": "out" + "block": "4cbc5545-838d-4037-8ff3-065df8ec78f6", + "port": "72968b0a-a651-457f-8809-036985e64653", + "size": 10 }, "target": { - "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", - "port": "i0" + "block": "2482a63c-2352-4fd5-81ee-6fcaa856ccdd", + "port": "inlabel" }, - "size": 8 + "size": 10 }, { "source": { - "block": "9f5a1c91-1b93-4609-877c-816ed8fd0871", - "port": "out" + "block": "6a12a92e-7e13-4bc0-9051-8aba3b29df38", + "port": "outlabel" }, "target": { - "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", - "port": "i1" + "block": "93defa79-7f79-4614-8e5b-17ceacc8c7cf", + "port": "in", + "size": 10 }, - "size": 8 + "size": 10 }, { "source": { - "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", - "port": "o" + "block": "30ebb8d3-8383-4cf3-8e2c-95f15e6a134f", + "port": "75d4695e-f445-4762-9ae9-c9bf0e51974f" + }, + "target": { + "block": "e1ba0ef0-77f6-4ab9-9892-b5c93aa3167c", + "port": "inlabel" + } + }, + { + "source": { + "block": "6b86af4f-f0c9-4134-b2c9-9e9d1b0d6e15", + "port": "outlabel" + }, + "target": { + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" + } + }, + { + "source": { + "block": "6ba67914-123c-4491-862c-8eda58a6c040", + "port": "outlabel" }, "target": { - "block": "bf25756a-65a4-4b09-915d-494010d6f4ff", + "block": "f2043f09-b391-40ea-9d1d-721438b68ef1", "port": "in" + } + }, + { + "source": { + "block": "30ebb8d3-8383-4cf3-8e2c-95f15e6a134f", + "port": "09701eaa-8d79-487f-b003-267e04095bb1" + }, + "target": { + "block": "3229f563-798d-4db3-9966-52596ca5cef1", + "port": "inlabel" + } + }, + { + "source": { + "block": "e968d987-07d6-43f6-91c7-c51f2d0d5793", + "port": "03a1539f-6d99-4957-a7ca-3718ec57b1ee" + }, + "target": { + "block": "30ebb8d3-8383-4cf3-8e2c-95f15e6a134f", + "port": "27183891-b385-412b-bc55-21df1dd0280e" }, + "vertices": [], "size": 8 + }, + { + "source": { + "block": "e968d987-07d6-43f6-91c7-c51f2d0d5793", + "port": "11b231a8-883c-47a2-afea-ce22fc2fc800" + }, + "target": { + "block": "30ebb8d3-8383-4cf3-8e2c-95f15e6a134f", + "port": "6bb28a95-e6e4-4044-9c22-c4404693b6b1" + }, + "vertices": [] + }, + { + "source": { + "block": "30ebb8d3-8383-4cf3-8e2c-95f15e6a134f", + "port": "42306dfc-8702-4c9a-98d6-56b4c86fff21" + }, + "target": { + "block": "4cbc5545-838d-4037-8ff3-065df8ec78f6", + "port": "3bbe35e4-7c46-4bbb-b9c3-3a6f4bbaf1c0" + }, + "vertices": [] + }, + { + "source": { + "block": "bf297685-7b54-477f-b9ee-3c143135097b", + "port": "out" + }, + "target": { + "block": "e968d987-07d6-43f6-91c7-c51f2d0d5793", + "port": "62f60de5-6d65-45f1-a57a-96daf57df585" + }, + "size": 10 + }, + { + "source": { + "block": "d4a02852-2578-4c4d-b7e2-0708b0ef9794", + "port": "constant-out" + }, + "target": { + "block": "30ebb8d3-8383-4cf3-8e2c-95f15e6a134f", + "port": "671d0b4d-317d-4aef-8422-8b9a400211a4" + } + }, + { + "source": { + "block": "ac5c1fd2-04e0-41a2-8d4d-c2e41b2e5b8f", + "port": "constant-out" + }, + "target": { + "block": "30ebb8d3-8383-4cf3-8e2c-95f15e6a134f", + "port": "76db97e8-ad17-4a4b-b288-73e449659681" + } } ] } } }, - "ae7cd7cc997647c6f4f9ed332bbf1849b798d4cb": { + "c955cf93ef694308de70400b30cdd774804f88a9": { "package": { - "name": "putc-char", + "name": "stdout-bus-split2", "version": "0.1", - "description": "Transmit one character to the STDOUT bus", + "description": "stdout bus splitter into data and tic signals", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22613.166%22%20width=%22433.95%22%3E%3Cdefs%3E%3Cmarker%20id=%22a%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20fill=%22red%22%20fill-rule=%22evenodd%22%20stroke=%22red%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3C/defs%3E%3Cpath%20d=%22M221.062%20395.717c-17.751%200-32.152%2014.401-32.152%2032.165%200%2017.745%2014.4%2032.177%2032.152%2032.177%2017.758%200%2032.053-14.432%2032.053-32.177%200-17.764-14.295-32.165-32.053-32.165zm64.466%2050.642l-5.795%2013.96%2010.336%2020.302%201.366%202.68-14.333%2014.333-23.515-11.106-13.96%205.733-7.086%2021.691-.906%202.88h-20.258l-8.767-24.484-13.96-5.758-20.333%2010.312-2.68%201.34-14.326-14.32%2011.093-23.528-5.751-13.948-21.655-7.073-2.873-.93v-20.246l24.502-8.78%205.752-13.935-10.306-20.345-1.359-2.668%2014.308-14.308%2023.547%2011.088%2013.941-5.764%207.08-21.68.912-2.872h20.252l8.773%2024.514%2013.923%205.764%2020.339-10.318%202.705-1.359%2014.32%2014.308-11.094%2023.51%205.733%2013.966%2021.717%207.08%202.854.911v20.24z%22%20fill=%22#00f%22/%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%20-272.686%20152.713)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22124.309%22%20y=%22611.792%22%20font-weight=%22400%22%20font-size=%2291.605%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%225.725%22%3E%3Ctspan%20x=%22124.309%22%20y=%22611.792%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EChar%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%2294.134%22%20y=%2273.141%22%20font-weight=%22400%22%20font-size=%2291.605%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%225.725%22%3E%3Ctspan%20x=%2294.134%22%20y=%2273.141%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EPUTC%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M118.652%20252.337h134.3%22%20fill=%22none%22%20stroke=%22red%22%20stroke-width=%2218%22%20marker-end=%22url(#a)%22/%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%2060.37%20145.491)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%2279.938%22%20y=%22195.066%22%20font-weight=%22400%22%20font-size=%2291.605%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22red%22%20stroke-width=%225.725%22%3E%3Ctspan%20x=%2279.938%22%20y=%22195.066%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3Estdout%3C/tspan%3E%3C/text%3E%3Cpath%20fill=%22none%22%20stroke=%22red%22%20stroke-width=%223%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20d=%22M1.5%20109.784h429.559v199.593H1.5z%22/%3E%3Cpath%20d=%22M429.878%2018.574V1.5h-22.311%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%223%22%20stroke-linecap=%22round%22/%3E%3C/svg%3E", - "otid": 1571979442657 + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22354.768%22%20height=%22219.63%22%20viewBox=%220%200%20332.595%20205.90272%22%3E%3Cpath%20d=%22M168.377%2068.938l61.147-52.233C240.21%206.25%20254.56.461%20269.484.5h62.611v26.186l-61.698.046c-8.012-.043-15.705%203.133-21.47%208.81l-61.448%2052.61a57.292%2057.292%200%200%201-39.993%2016.139%2057.292%2057.292%200%200%201%2039.993%2016.139l61.448%2049.93c5.765%205.678%2013.458%208.854%2021.47%208.81l61.698.046v26.187h-62.612c-14.924.039-29.463-5.9-40.204-16.28l-60.902-49.48a29.857%2029.857%200%200%200-21.347-8.809L.5%20130.72V77.752h146.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%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22194.597%22%20y=%22247.958%22%20font-weight=%22400%22%20font-size=%2244.109%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.938%22%20transform=%22translate(-184.13%20-199.542)%22%3E%3Ctspan%20x=%22194.597%22%20y=%22247.958%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ESTDOUT%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22228.835%22%20y=%22387.938%22%20font-weight=%22400%22%20font-size=%2244.109%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.938%22%20transform=%22translate(-184.13%20-199.542)%22%3E%3Ctspan%20x=%22228.835%22%20y=%22387.938%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EBUS%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22299.979%22%20y=%22389.373%22%20font-weight=%22400%22%20font-size=%2215%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%22.938%22%20transform=%22translate(-184.13%20-199.542)%22/%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "04841e3c-8761-454a-8d99-496fde26ea1f", - "type": "basic.input", + "id": "03a1539f-6d99-4957-a7ca-3718ec57b1ee", + "type": "basic.output", "data": { "name": "", - "clock": true + "range": "[7:0]", + "size": 8 }, "position": { - "x": -304, - "y": 384 + "x": 608, + "y": 168 } }, { - "id": "ed414ec2-55e9-4b36-9c04-d544201b630e", - "type": "basic.inputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true - }, - "position": { - "x": -144, - "y": 384 - } - }, - { - "id": "c73b1a42-78ce-47a9-bb4c-807cffae6d42", - "type": "basic.output", - "data": { - "name": "nc" - }, - "position": { - "x": 1200, - "y": 568 - } - }, - { - "id": "8c3ce21f-2214-489f-853a-d60a223034da", + "id": "62f60de5-6d65-45f1-a57a-96daf57df585", "type": "basic.input", "data": { "name": "", @@ -14260,160 +13370,119 @@ "size": 10 }, "position": { - "x": -328, - "y": 584 + "x": 128, + "y": 192 } }, { - "id": "a0b2c050-26fc-4ac0-875f-6ef2c1f03c5e", - "type": "basic.inputLabel", + "id": "11b231a8-883c-47a2-afea-ce22fc2fc800", + "type": "basic.output", "data": { - "blockColor": "fuchsia", - "name": "stdout", - "range": "[9:0]", - "pins": [ - { - "index": "9", - "name": "", - "value": "" - }, - { - "index": "8", - "name": "", - "value": "" - }, - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "name": "tic" }, "position": { - "x": -176, - "y": 584 + "x": 576, + "y": 248 } }, { - "id": "80c60ca1-61f9-40d2-8a87-5cd02ffb2d90", - "type": "basic.outputLabel", + "id": "16e78204-213e-4833-9096-89d735307ec2", + "type": "basic.code", "data": { - "blockColor": "steelblue", - "name": "char", - "range": "[7:0]", - "oldBlockColor": "fuchsia", - "size": 8 + "code": "assign data = i[9:2];\nassign tic = i[1];", + "params": [], + "ports": { + "in": [ + { + "name": "i", + "range": "[9:0]", + "size": 10 + } + ], + "out": [ + { + "name": "data", + "range": "[7:0]", + "size": 8 + }, + { + "name": "tic" + } + ] + } }, "position": { - "x": 688, - "y": 664 + "x": 296, + "y": 176 + }, + "size": { + "width": 232, + "height": 96 } - }, + } + ], + "wires": [ { - "id": "bc052fe3-357e-486c-a2e1-fef8f36a37ae", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "next", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "steelblue" + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "data" }, - "position": { - "x": -16, - "y": 664 - } + "target": { + "block": "03a1539f-6d99-4957-a7ca-3718ec57b1ee", + "port": "in" + }, + "size": 8 }, { - "id": "6940c4f1-a919-408b-9f9a-c542d928ac41", - "type": "basic.outputLabel", - "data": { - "blockColor": "steelblue", - "name": "exec", - "oldBlockColor": "fuchsia" + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "tic" }, - "position": { - "x": 688, - "y": 720 + "target": { + "block": "11b231a8-883c-47a2-afea-ce22fc2fc800", + "port": "in" } }, { - "id": "f809e9bb-2587-459d-807e-629afdc99f43", - "type": "basic.inputLabel", - "data": { - "blockColor": "darkgreen", - "name": "busy", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "darkorange" + "source": { + "block": "62f60de5-6d65-45f1-a57a-96daf57df585", + "port": "out" }, - "position": { - "x": 544, - "y": 728 - } - }, + "target": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i" + }, + "size": 10 + } + ] + } + } + }, + "113ccf91a6aa073b6493e621c1add3fe0989efad": { + "package": { + "name": "stdout-bus-next-in", + "version": "0.1", + "description": "Convert the 1-bit next signal into a 10-bit stdout bus", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22356.708%22%20height=%22176.233%22%20viewBox=%220%200%2094.37896%2046.628384%22%3E%3Cg%20transform=%22translate(-44.148%20-120.418)%22%3E%3Crect%20width=%2233.016%22%20height=%227.314%22%20x=%22-77.429%22%20y=%22141.954%22%20ry=%220%22%20transform=%22scale(-1%201)%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22bevel%22/%3E%3Crect%20width=%2235.851%22%20height=%2214.797%22%20x=%22-138.262%22%20y=%22138.101%22%20ry=%220%22%20transform=%22scale(-1%201)%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22bevel%22/%3E%3Crect%20width=%2225.079%22%20height=%2227.493%22%20x=%22-102.314%22%20y=%22132.039%22%20ry=%220%22%20transform=%22scale(-1%201)%22%20fill=%22#999%22%20stroke=%22#000%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22bevel%22/%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%2289.27%22%20y=%22130.378%22%20font-weight=%22400%22%20font-size=%2212.449%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20x=%2289.27%22%20y=%22130.378%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ESTDOUT%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22105.548%22%20y=%22166.86%22%20font-weight=%22400%22%20font-size=%2212.449%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20x=%22105.548%22%20y=%22166.86%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EBUS%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ { - "id": "04a63331-d349-46dd-b312-aacf9b71b3c6", - "type": "basic.outputLabel", + "id": "3bbe35e4-7c46-4bbb-b9c3-3a6f4bbaf1c0", + "type": "basic.input", "data": { - "blockColor": "yellow", - "name": "clk" + "name": "next", + "clock": false }, "position": { - "x": 184, - "y": 728 + "x": 128, + "y": 192 } }, { - "id": "9aa5255a-60da-463d-ba87-d4f96456d802", + "id": "72968b0a-a651-457f-8809-036985e64653", "type": "basic.output", "data": { "name": "", @@ -14421,465 +13490,446 @@ "size": 10 }, "position": { - "x": 1216, - "y": 776 + "x": 640, + "y": 192 } }, { - "id": "ddc62e2a-e70b-449d-860f-e815be4c4d8e", - "type": "basic.outputLabel", + "id": "16e78204-213e-4833-9096-89d735307ec2", + "type": "basic.code", "data": { - "name": "stdout", - "range": "[9:0]", - "blockColor": "fuchsia", - "size": 10 - }, - "position": { - "x": 856, - "y": 776 - } - }, - { - "id": "dea0965b-016f-40c0-aad7-c4d26a391f46", - "type": "basic.outputLabel", - "data": { - "blockColor": "steelblue", - "name": "txmit", - "oldBlockColor": "fuchsia" + "code": "assign o[0] = next;", + "params": [], + "ports": { + "in": [ + { + "name": "next" + } + ], + "out": [ + { + "name": "o", + "range": "[9:0]", + "size": 10 + } + ] + } }, "position": { - "x": 200, - "y": 824 + "x": 296, + "y": 176 + }, + "size": { + "width": 264, + "height": 88 } - }, + } + ], + "wires": [ { - "id": "a6820ca3-b48c-4815-aa10-2f6b80e6c4af", - "type": "basic.inputLabel", - "data": { - "blockColor": "steelblue", - "name": "exec", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "source": { + "block": "3bbe35e4-7c46-4bbb-b9c3-3a6f4bbaf1c0", + "port": "out" }, - "position": { - "x": 544, - "y": 840 + "target": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "next" } }, { - "id": "1ac9dd5b-9741-4af4-963a-50cbf8c4c6be", - "type": "basic.input", - "data": { - "name": "txmit", - "clock": false + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o" }, - "position": { - "x": -320, - "y": 848 - } - }, + "target": { + "block": "72968b0a-a651-457f-8809-036985e64653", + "port": "in" + }, + "size": 10 + } + ] + } + } + }, + "dfb66a3c3bf23ef758606d2c4ba6b059ba3793d9": { + "package": { + "name": "Serial-tx-sysclk", + "version": "0.3", + "description": "Serial transmitter with system clock freq parameter", + "author": "Juan Gonzalez-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22223.269%22%20width=%22293.137%22%20viewBox=%220%200%20274.81662%20209.31615%22%3E%3Cg%20transform=%22translate(347.142%20-102.544)%20scale(1.04907)%22%20stroke=%22#000%22%3E%3Cpath%20d=%22M-170.798%20177.526l.315%2036.011%2040.397-37.263v-33.51z%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M-308.584%20177.892l53.235-35.7%20124.635.628-39.456%2035.7%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Crect%20ry=%223.509%22%20height=%2236.325%22%20width=%22139.039%22%20y=%22178.153%22%20x=%22-308.895%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22square%22/%3E%3Cg%20transform=%22matrix(1.88858%200%200%201.88858%20-312.436%20138.651)%22%20stroke-width=%22.938%22%20stroke-linecap=%22square%22%3E%3Ccircle%20cy=%2230.367%22%20cx=%2211.326%22%20r=%223.15%22%20fill=%22red%22/%3E%3Ccircle%20cy=%2230.367%22%20cx=%2220.611%22%20r=%223.15%22%20fill=%22#faa%22/%3E%3Ccircle%20cy=%2230.367%22%20cx=%2262.82%22%20r=%223.15%22%20fill=%22green%22/%3E%3Ccircle%20cy=%2230.367%22%20cx=%2230.554%22%20r=%223.15%22%20fill=%22red%22/%3E%3C/g%3E%3C/g%3E%3Ctext%20y=%2228.295%22%20x=%2270.801%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2265.172%22%20letter-spacing=%220%22%20word-spacing=%220%22%20transform=%22scale(.99853%201.00147)%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%221.209%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2228.295%22%20x=%2270.801%22%20font-weight=%22700%22%20font-size=%2237.241%22%3ESerial%3C/tspan%3E%3C/text%3E%3Cg%20transform=%22translate(-49.71%20-39.925)%20scale(2.8106)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22translate(-240.978%20-39.925)%20scale(2.8106)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Ccircle%20cx=%22233.043%22%20cy=%2281.071%22%20r=%2240.92%22%20fill=%22#ececec%22%20stroke=%22green%22%20stroke-width=%221.71%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M261.766%2092.931h-4.696V67.437h-48.103v25.295h-5.116%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%224.275%22%20stroke-linecap=%22round%22/%3E%3Ctext%20y=%22165.6%22%20x=%22108.068%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2265.172%22%20letter-spacing=%220%22%20word-spacing=%220%22%20transform=%22scale(.99853%201.00147)%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%221.209%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%22165.6%22%20x=%22108.068%22%20font-weight=%22700%22%20font-size=%2237.241%22%3ETX%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ { - "id": "9fd18953-28a5-488b-be46-c1107835d885", - "type": "basic.inputLabel", + "id": "09701eaa-8d79-487f-b003-267e04095bb1", + "type": "basic.output", "data": { - "blockColor": "steelblue", - "name": "txmit", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "name": "TX" }, "position": { - "x": -168, - "y": 848 + "x": 960, + "y": 120 } }, { - "id": "1ed1a91b-927d-4eed-b00f-b05b5dda7cbf", - "type": "basic.outputLabel", + "id": "4c296e24-7312-407a-8fb0-f3a6d4feb3ab", + "type": "basic.input", "data": { - "blockColor": "darkgreen", - "name": "busy", - "oldBlockColor": "fuchsia" + "name": "", + "clock": true }, "position": { - "x": 856, - "y": 848 + "x": -16, + "y": 120 } }, { - "id": "542ef450-6c74-4024-a245-fe1d832776bb", - "type": "basic.outputLabel", + "id": "27183891-b385-412b-bc55-21df1dd0280e", + "type": "basic.input", "data": { - "blockColor": "darkgreen", - "name": "busy", - "oldBlockColor": "fuchsia" + "name": "", + "range": "[7:0]", + "clock": false, + "size": 8 }, "position": { - "x": 80, - "y": 888 + "x": -16, + "y": 272 } }, { - "id": "2c5224d8-9648-4069-8367-a0c8ec056753", - "type": "basic.inputLabel", + "id": "75d4695e-f445-4762-9ae9-c9bf0e51974f", + "type": "basic.output", "data": { - "blockColor": "fuchsia", - "name": "done", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "name": "busy" }, "position": { - "x": 552, - "y": 936 + "x": 960, + "y": 272 } }, { - "id": "fdd4378f-0950-4ef2-b5d9-091a87499091", - "type": "basic.outputLabel", + "id": "6bb28a95-e6e4-4044-9c22-c4404693b6b1", + "type": "basic.input", "data": { - "blockColor": "fuchsia", - "name": "next" + "name": "txmit", + "clock": false }, "position": { - "x": 80, - "y": 960 + "x": 0, + "y": 424 } }, { - "id": "ddba74a9-5192-4fb7-8192-9e9e07103ad8", - "type": "basic.outputLabel", + "id": "42306dfc-8702-4c9a-98d6-56b4c86fff21", + "type": "basic.output", "data": { - "blockColor": "fuchsia", "name": "done" }, "position": { - "x": 1048, - "y": 968 + "x": 960, + "y": 424 } }, { - "id": "233059d5-8ab7-4c63-8dab-0c6af3a1dc28", - "type": "basic.output", + "id": "76db97e8-ad17-4a4b-b288-73e449659681", + "type": "basic.constant", "data": { - "name": "done" + "name": "sclk", + "value": "12000000", + "local": false }, "position": { - "x": 1200, - "y": 968 + "x": 344, + "y": -64 } }, { - "id": "72632c73-fe18-42b3-b81f-46999ddfdb20", - "type": "basic.input", + "id": "671d0b4d-317d-4aef-8422-8b9a400211a4", + "type": "basic.constant", "data": { - "name": "char", - "range": "[7:0]", - "clock": false, - "size": 8 + "name": "bps", + "value": "115200", + "local": false }, "position": { - "x": -320, - "y": 984 + "x": 624, + "y": -64 } }, { - "id": "59b55b10-4bcd-45fd-9dbe-e6dd6767c97c", - "type": "basic.inputLabel", + "id": "3238443f-338d-4796-b54a-c463c5f191aa", + "type": "basic.code", "data": { - "blockColor": "steelblue", - "name": "char", - "range": "[7:0]", - "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, + "code": "//---- Calculate the divisor for achieving the requered BAUDs\n//---- when the system clk is working at SCLK Hertzs\n\nlocalparam DIV = SCLK/BAUD;\n\n//-- Get the number of bits needed for storing the DIV value\nlocalparam N = $clog2(DIV);\n\n//-- It is a counter module DIV\nreg [N-1:0] divcounter = 0;\n\n//-- Cable de reset para el contador\n//-- Comparador que resetea el contador cuando se alcanza el tope\n//-- o cuando el estado del biestable es 0 (apagado)\nwire reset = ov_gen | (state == 0);\n\n//-- Contador con reset\nalways @(posedge clk)\n if (reset)\n divcounter <= 0;\n else\n divcounter <= divcounter + 1;\n\n//-- Hemos llegado al final\nwire ov_gen = (divcounter == DIV-1);\n\n\n\n//-- REGISTRO DESPLAZAMIENTO\n\n//-- Salida serie. Inicialmete a 1 (reposo) \nreg TX_i = 1;\nassign TX = TX_i;\n\n//-- Registro de desplazamiento de 9 bits\n//-- Inicializado todo a 1s\nreg [8:0] q = 9'h1FF;\n\n//-- La entrada de shift es la salida del generador de baudios\nwire shift = ov_gen;\n\nalways @(posedge clk)\n if (txmit_tic)\n //-- Carga del registro\n q <= {data, 1'b0};\n \n else if (shift)\n //-- Desplazamiento. Rellenar con 1 (bit de stop)\n q <= {1'b1, q[8:1]};\n \n//-- Sacar el bit de menor peso por serial-out \nwire so;\nassign so = q[0];\n\n//-- La salida tx la registramos\nalways @(posedge clk)\n TX_i <= so;\n \n//-- La señal de entrada txmit se pasa por un \n//-- detector de flancos de subida para generar un tic\nreg q_re = 0;\nwire txmit_tic;\n\nalways @(posedge clk)\n q_re <= txmit;\n \nassign txmit_tic = (~q_re & txmit); \n\n\n\n//-- Estado de transmisor\n//-- 0: Parado\n//-- 1: Ocupado (transmitiendo)\nreg state = 0;\n \nalways @(posedge clk)\n //-- Empieza la transmision: ocupado\n if (txmit)\n state <= 1'b1;\n \n //-- Acaba la transmision: libre \n else if (ov)\n state <= 1'b0;\n\n//-- Contador de bits enviados\nreg [3:0] bits = 0;\nalways @(posedge clk)\n //-- Si la cuenta ha terminado... volver a 0\n if (ov)\n bits <= 2'b00;\n else\n if (shift)\n bits <= bits + 1;\n\n//-- Comprobar si se ha transmitido el último bit (overflow)\n//-- 1 bit de start + 8 bits de datos + 1 bit de stop\nwire ov = (bits == 10);\n\n//-- La señal de ocupado es el estado del transmisor\nassign busy = state;\n\n//-- La señal de done es la de overflow pero retrasada un\n//-- periodo de reloj del sistema y que el biestable \n//-- llegue al estado de parado antes de que se \n//-- empiece otra transmision\n\nreg done_i=0;\nassign done = done_i;\n\nalways @(posedge clk)\n done_i <= ov;\n", + "params": [ { - "index": "1", - "name": "", - "value": "" + "name": "SCLK" }, { - "index": "0", - "name": "", - "value": "" + "name": "BAUD" } ], - "virtual": true, - "oldBlockColor": "fuchsia" + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "data", + "range": "[7:0]", + "size": 8 + }, + { + "name": "txmit" + } + ], + "out": [ + { + "name": "TX" + }, + { + "name": "busy" + }, + { + "name": "done" + } + ] + } }, "position": { - "x": -160, - "y": 984 + "x": 248, + "y": 72 + }, + "size": { + "width": 560, + "height": 456 } - }, + } + ], + "wires": [ { - "id": "e787e85b-39c6-4705-a8b3-4da9c48be3ea", - "type": "basic.outputLabel", - "data": { - "blockColor": "darkgreen", - "name": "busy", - "oldBlockColor": "fuchsia" + "source": { + "block": "3238443f-338d-4796-b54a-c463c5f191aa", + "port": "TX" }, - "position": { - "x": 1048, - "y": 1056 + "target": { + "block": "09701eaa-8d79-487f-b003-267e04095bb1", + "port": "in" } }, { - "id": "f1cc51c6-3ef4-496d-99cf-0ee3007a2c64", - "type": "basic.output", - "data": { - "name": "busy" + "source": { + "block": "671d0b4d-317d-4aef-8422-8b9a400211a4", + "port": "constant-out" }, - "position": { - "x": 1192, - "y": 1056 + "target": { + "block": "3238443f-338d-4796-b54a-c463c5f191aa", + "port": "BAUD" } }, { - "id": "af3693c8-f4e9-4cbe-90e5-cd93b52b1834", - "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", - "position": { - "x": 224, - "y": 904 + "source": { + "block": "4c296e24-7312-407a-8fb0-f3a6d4feb3ab", + "port": "out" }, - "size": { - "width": 96, - "height": 64 + "target": { + "block": "3238443f-338d-4796-b54a-c463c5f191aa", + "port": "clk" } }, { - "id": "70db30ca-f05e-4d85-9911-4e37562185a2", - "type": "basic.info", - "data": { - "info": "## PUTC: Transmit one character (STDOUT bus)\n\nWhen **idle**, the STDOUT bus crosses the component without modification \n\nWhen the machine starts, the char is outputed and the state is changed to busy \nWhen the transmitter is done (tic received in next) the machine is turned off", - "readonly": true + "source": { + "block": "27183891-b385-412b-bc55-21df1dd0280e", + "port": "out" }, - "position": { - "x": 160, - "y": 360 + "target": { + "block": "3238443f-338d-4796-b54a-c463c5f191aa", + "port": "data" }, - "size": { - "width": 696, - "height": 136 - } + "size": 8 }, { - "id": "bc97ca4f-8082-4a12-b1d9-4c9f257ef54a", - "type": "438dedd956354c574afcde6f0793a7d369b2a031", - "position": { - "x": 368, - "y": 792 + "source": { + "block": "6bb28a95-e6e4-4044-9c22-c4404693b6b1", + "port": "out" }, - "size": { - "width": 96, - "height": 128 + "target": { + "block": "3238443f-338d-4796-b54a-c463c5f191aa", + "port": "txmit" } }, { - "id": "17adabf1-6e5f-481e-b723-92cafbd3f126", - "type": "basic.info", - "data": { - "info": "Start tic: The byte from the \ninput char is transmited", - "readonly": true + "source": { + "block": "3238443f-338d-4796-b54a-c463c5f191aa", + "port": "busy" }, - "position": { - "x": -288, - "y": 800 + "target": { + "block": "75d4695e-f445-4762-9ae9-c9bf0e51974f", + "port": "in" + } + }, + { + "source": { + "block": "3238443f-338d-4796-b54a-c463c5f191aa", + "port": "done" }, - "size": { - "width": 240, - "height": 64 + "target": { + "block": "42306dfc-8702-4c9a-98d6-56b4c86fff21", + "port": "in" } }, { - "id": "f9228c3c-67bd-4a38-b678-87e025a45048", - "type": "basic.info", + "source": { + "block": "76db97e8-ad17-4a4b-b288-73e449659681", + "port": "constant-out" + }, + "target": { + "block": "3238443f-338d-4796-b54a-c463c5f191aa", + "port": "SCLK" + } + } + ] + } + } + }, + "1250d52a7afd45bb1a9a3db8b7b07091812cfe25": { + "package": { + "name": "Smem-16KB-bus", + "version": "0.3", + "description": "16KB memory. Bus interface", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20viewBox=%220%200%2087.168922%20102.99556%22%20height=%22389.275%22%20width=%22329.457%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20transform=%22translate(-159.832%20-119.548)%22%3E%3Cimage%20xlink:href=%22data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAgM0lEQVR4Xu1dCZBU1bm+PdPTM8CM%20AgMO+yCrAq4oGjWKIIorcYnRlD59saImGlOaqK/UPPeHu5VyjyYuMRu+uFVEjRqX4FNRQURwQVxQ%20YdiGZQYGepZ+33frfK9Oneq+t+/0zHTad/+qU7fv7bt0n/8///L9/znX+1ZTTDHFFFNMMcUUU0wx%20xRRTTDHFFFNMMcUUU0wxxZToofuX8XPo82LqcLaZUhUAMbucraKi4viysrI9jCBkp5gybKBH0un0%20cuy3URC6WwiSXvcRmV9ZVVV1azKZPBvN69+/vzd06FBv2LBh1mkxff31197ixYvJfa+1tfUnHR0d%20x7W1tc3HV2kJQakJQBmZjzYUo99n/qRJk7xTTz3V69WrV5bTY/rmm2+8u+++29u6desO2L0cAnCq%20YXy61AQgYe5bBebvB9XvJRIJ79hjj/VSqZTX3t6e5ZKYBg0a5B133HHenDlzPPRZLQ5VG+a3lpwJ%20kPoH83uT+Ww77rhjCPNjYh+Z/hqK3T5oW9C2obWXlAaQAMCm9SovL/cGDx7sQaWFXBbTTjvt5AsA%20+qwOu7SVSTnOpSgASdBkSjTtPhybkMtioomkyWTjLvmjSK0UncAkJLmMAgDKUwBiqqur81atWkUt%200Bcmc2XJaQCBPtqCvMrKyjztf0wIm9lp1AbjW1paPrIwlUzJaAAJAKgajbYtTwGIaeDAgd6KFSv8%20zmMfloIJcCFf3rOCDT7AKAgAAY78nMCYqC3lB/Q1/Zgy4WB7AERcVAFIiPE333zz6JEjR565ffv2%20Xlu2bKm58847d2psbKQAhGiAmOQr1dTU+J8PPPDAE37wgx8MhgO9BeZg++bNm18588wzXzYQcXtX%20CUGii5ifuuyyy8YD7Fk4YMAAOTHelVde6X300UfejBkzPAhGwG1i5ksA2HdPPfWUd/LJJ7NRczKM%209iOp55577oyzzjrrvwkOGUHIFFsDJIya6nPQQQfdSweGKoyNAgBNIIcmRxQQM15ELcl9oKdU/4yh%202W/sR/anvz98+PD/wqnPozUZc9BeFA3gMv/GG288CgLwaL9+/by+fft6q1ev9gXgqKOO8v/MEUcc%204UOdJUxiUgSmRhv59va3v/2tnztBv9J0+k40Bxe16fLly2effvrpt1EIlCfobg2Q0FYq34J7q6ZN%20mzZ8v/32u5nSKonllhKrPACOyQcofQEonPlZma7GZ6jPFD5v27bN69Onj78/evTon/34xz9+/v77%20719s+NFup5OjOoqJKA7ezjvvPAuM7QuGJkBlyFtXgNkzMbrHUXUx3Utmf/XVVz7zTzrpJL9TTjnl%20FK+EieYrAuO1H8r8nBrgb3/7m1dbW+vNnj3bfzY165AhQ7zPPvvM9wlWrly5DFnD5yAUaQhMB4Qk%20g/My0LxPn3POOQuiOIqJPCDd1IMPPnjiiBEjHiFzObK15Y9Zs2aNn+Ovrq5mKtP74IMPlPjxfvGL%20X3ggCkKpC0AhjNdxfbZb1u9ffPFFb8OGDd4dd9zB+gBv/fr13pgxYzw62OzzTz75hKaWfc5+5jFt%20aX5/hrT7gzQPchQ7awLKZOPB4Nly7CQAbBzlUv38/P7773vQEs0vv/zyckhpNTpkNK6X+i911a/P%20UUe8y2jdI6tgiMj4t956axGFb88996wD0wfRDJDp7G/wQ+l18kJbaoo7jjzyyL8/++yzX8tR7JQG%20EPPRasHQT/FwPkBCwCaJ8zXAhx9+6Esp4lVJqXfDDTf42uDggw/uSVsscjtd+1Gu1/lsETRAkLoP%201whLlizx2+9//3uNbm/8+PHe22+/7e2yyy5ECmluXQ3A5kdeTz/99OlwIOfiVs0mZMwUpAEA6pDx%20fKgEQM6ez4w33niDQuDbLVJzczO/U1hDFdqVjC/cMYt+vYRAx8JUvCtA+Qinew/aeoZ+ZDAjAZ/p%20L730EiMEAkbsY35HXnDLfqdJZn/3poOO1kIB6KwJSAjWBZOXbtq0acK6det4c7v5Dx83bhwZQcEg%20w33mAwFkR7goYE8LghgSpgGiMknfBal7Nff5bIHnsx+5hZPN/vQZrKTaPvvsw/IxagGZYTX1/Qo4%207B8Y/y1RSBiokKIDCN9//upXvzoRUjgMzKxgBMBIgIQQpQwJjElQRymZBgoAnRj9GVzTE/Y5aDQV%20cr39XRRV79p6CQKZlfV7HaPZlPYk0zm6JQDIEHKkL2tqatrcAWIEwMvwfevatWu/efTRR1+wI4BC%20BYA32o625dprr32R/gBab3NdObzSGoAWp+AHp+QfSOVLimWnihSjizGFXu9+7zLVfYaOaWt/lkl0%20Ge+eRy0qbIX7cvoIq484/vjjH4BGbrJCvq1oG9BWo20zqj/U9iZC1H81mY5q1csQ6x+KeHSkHQbS%204VMRA4/RLr3zzjsefYbXXnuNjTbMb98KClf37ne5jkkLZDUX7Nd//vOf3ne/+13vkEMO8Xr37s1I%20gJqAZsHXrtAATB3bTiCPrYXf8NpvfvObG8GHz4UWFuIElkGl/BwO3r+7IaCwfkqlnEH+6LFjx3Kf%20zJc0f9vyAO7IzmfUZ8MW3OO6BweStGd6t912S5Hpb775pjd58mSli8lw5Q3kBBIbGIhrT0QSbgTM%209jGqJ+iMACivX4VM1BnCAOwmW88fy+8XLFjAH9R49NFHPwNPNA3I8mgcHwTp/bYIQC47HmYqcp7j%20OpiuxnjssceW3X777f/D/YcffvhwhIH1+++/vwYd+10aQELBRuRw3/PPP38s0vGLFQayRRWASrQ+%20YF6N7BCbGwYyTUnmm+rf/n/+859P5+df//rX3scff+ypIORbQLkAnSAH0T2WCxDKeg5yLBP/9Kc/%20TbSdwHnz5tEcKMyWj2BjATQhHIzjcJtPjA/XHlUDCAPoDa9T6kXhhv9gMXbhwoW0RYxTqf4JBUtA%205PCUPBLo2m2X+focgQLxAWL+ep4YTJyFnxsaGuhnMSlE6F0mVlv6ATzOaKHNDOLyzkQBSgKVY87a%20vXBEzqVU8eZ8iJhKdJB2CRgBpZPHZaPowRbTB3DVaqHXh4V67oiOKgTaJ+MY40sA5PlL8xJsI/PT%20mE+YIlDEczTYYG7pN9BJnHfvvfd+lk9NYTIkBGy9/PLLn5syZcoqPHRnaIIqU6yYAGMpWeWoA9h1%203333HQfG0ymk6uEPlQAwj01hKVUBEEPz9eZzYQt5h6LLli0jw3k+4XRXALjPnMt6wL3zySOc126u%207QBrtmOQrnnmmWfeVh1hZ5NBHWS+iS03zp8//2O0tSY3UG5a6phjjhkPp2Sc4n/lsCWRaMUe/WJM%20IdcGaQD+vyBgxx7pYc/loGHmz36WgCBbAJgXGAwsoOamm26aJ0ab1kJ+oTWibdF3hQhAC8KQjtNO%20O+0QPPBgSFh5whCksgwmYJjtINIUfPnll2SARkexBUCd35UCQIa710SCjd3vlTHl6Hc1Co9xS5yf%20dl8a4fDDD5+2xx57jAAPVA/gI7eoKVz4/PPPz4EWkAB0RBWAhGl8SM0FF1xwPx4yXo6dtgR7Nm7c%20qOofZgVZrsSctf8ZxOOlYv+DGGcLM7dhYV02LRAaKXz66adZsQH6A6NGjfK++OILf4ChLoMCwHQx%20ne8x6G95/0oaTdh1112PQ6Rw8vXXX/9GZ6FgqviKH/7wh6cB5h2fDQPgD6Dal+3HH6D6WoLpzSuQ%20H6hFR00pCQEITwa5zHcdvygYQFYBBYbPweQy33/ek08+OR9+1DqM9tqJEyfuB6bT0dM6C9II8hNk%20LmrgnJ+Nr98xvGyPggMIBOoNaZqZCwOgACgWfe+99wgHUyv0wxz3fvBOK1naDCqeAES3wdkydmJ6%20ULVPlJSve4whm7z+rNfuvffew1BnMYz9iMGYBhiUAj7AwWfnB1xAiP1eTx4aHKA1qgmoQOuFZMM2%20Le0iVS8hkF2aO3euX6Sw++678/gQNP04tmJhAO4oDTtH4Wouu5+rHiDoWNjz+Tyqdqn+XGsGDGEx%20CJnKfqYJIBhUX19PbMBGAwXPU5swZE8aAWg2g7o9igDwghTU+st4yIEo8qR614PUuNYPcQB2gh0B%20KEnEzz2NAopRQUwPvc62+7YwhJHLePd+7rmI5VnxG6hdpGnJZEHAsPF+4ccLL7ygzKsGp2oFeXyp%20GchlnU0Hd1xzzTXzZs2add306dMPwg1T6AS/yIC1AHhgAn+gDAKyN+yRoGEJQE+HgTbTIwhA4LlK%20bbueea578ry8439oVwI2YfWECv2k1qVdOcqX4bNqAjIQlAySRh1pELTywoceeuhFjfqoAkCOtZmc%208mbY8vfQvsF+jSTKXFcJ3P80FSdasCVbT6OAfE6AAETzB8TMELJHdyR4mBEUwrW8tAqFRFgAeKuq%20HxZ/1iE8nwsHkuq2VcCdUfmN5J3hYVvUbGDGXNTCm8ABqcVExYGQsio0nl9ObYBc9QGIS4fpB0kA%20ILHqCDGm2GrfPTdSvt9toKAQMBQSpsqX05cHUdXbA0ueP0PAHe67776TkSz6K/q8FfdrY8PnXsBi%20Nr/yyiubyMNOFYWqnBiFIMfAAbnBjQA0H4CMFvYPtUMcm99zCpPjHUemqPa7K+bm2aPfbi4zXSaH%20ZvtssAfMsZy+cGKU8Prrr8u790w6WFp28HnnnXc+czJ2JMDt2Wef/QjC+EsiQcH2TKCf/vSnoydM%20mEDm55wPIPWPknCqpmY4i58atTUGm2qZgH/xtK6Y7gI/dtMxCbUNCGk/0PaT6eifKMzX/IA0/IWl%20uI4O9xhA8tUHHHAAGc0+Z3OxAG4ZIfzb7373u0U/+tGPHrDKwzKhGkBz/hBrni6VLqbbn/VgxPy0%20aXT81iFV2c7vlL9mKxIFedZBJVuuANgYiC0IWa9xBcl2hOnxa7Z0BGJ+IAVktZ1C9eqrr34BQGgS%20J+DstddedmGIRr6azAUHYq+gxFAyFwYAhlbxB8vDd6Fgph5ZnkxnBhlBerUjEaeOxHcMGYVs9SST%20XTXunhNUjp1LACT4OuYyOFeuwN5nH3WK+boe4NpkMpU8QG6GU8c4SYSwO7Ot2YpCOCiJMFYRC5Av%20EMUEpABQLCHowHBF8/5tIu6PQlECEtQGFBTNExDzu0MAwpgpFet+F8z4cAFwr8l79EMrkhkF9YVU%20vJjNmgCG2iy+Yf/zmO1n0G8gwTfYbkVuiUg4wK233roIocYcqJyD8cBBkmp1Do41IzlBhldbtqi7%20BUCMCMvURREAXeMCP3axRdSmkS9MpCBBp++AbKwPCilFvMMOO6QBCDUCgh+kCEihMPiyEY7466gL%20fKJTOIBSwZjd+zi2LErsh1apKiFeN3PmzJFXXXXVLI4ONcs77Q4BiFKCnU0AwkZ8wPGiMF8CYDt6%203FcVdurxxx9fftttt82x5gZ0GOx/o5kfsDXIASQlA0CgJrQNmIo0GGqmL6SrEq2cNQE1oDPOOMNO%20FPFHUvq6QwDEvDDmh2mIfBnsRgNhQuPmDKj2HeYXLADC/O0ld7iG0IHAFRrhiK8jBsCqIPAijRxN%20K2oCGslDGwyKBAQh3kxdcskls4Et7207f3LyiEopSmBCg3XrBDlce1kA5a3m3a0oDxtv2+9sQpS3%20AMj/IMgjh68ryHj/nC1MH4BRAZNzFAiqetZsHMucjJw/YQFQ/w1wFn+C6myiuB1RcAC2sl/+8pdX%20wM67zBfmLxDIF4SlS5d6tEfwTL8CQOSvC1CQAIQzsKsFINu9o5gHxfnsj67WfGT6avCigWX3eMZw%20ONx08MgHNTcEZBsEMz0bAjA1ihOoKWG9MPIPs3EAu5FUC0AQCCaCKGB/ABX9oY5YKl6IBsjmXefj%202UcVAG2D7mufn2ufI94N9bpSANi/dejbOo5sMp9l44DoyQOZBxcHUCZ2l1tuuWVfDOZ5uXyBZI4J%20IdX4MzVcm8bWAPqsCSFaFwDlR5ocomyVmNYVDl4+4E22e0URAp0fKgDudWQ6R77sc3cQw0j5W0Bn%20WSPgm1xUCPG4iwOo0VQTla0jT+ULBGoAe0oY2lrUAwxEuKFRL/LVHNEoAD+Cg9kEQ0b3AcLj8rDz%20omiTIEdOlJXZrhDQBrP+UdhDdxHnY7hRAMwBcQD6AxRCt8BUi3RsRV3gEmEBkSaGYC7aLUgo/BwP%20GOJIvyYhNIL5/dHo/EkACBw5AhCZ8Z3VBtrm60i69wtkvnsNRxdr+XR+dxL7VQIgGB7amRnBZvgC%201RRABwsgGLQBcwcell8XFQdIo7hzKdq12B9gagHKhQPAIemDdQG+B+9TDiG3MhH5hoFBuHoU2DYb%20sztjXkKZr+JQ+DkclT2V6+AAk523cQGO8hRqAh7FHMxG4QDWWgHr0b4JWysgmQsEQtuMdOIQePf7%20EHTgqiBs6IAylCmPB0pYazkg/DFkJrdibHeM+nyAHzdTx2ORwkqX6fpMJI7MVxlXTxEdTJob8IH4%20ggSAWjh1xRVXHIEw/CPwhrzrIBaAz61AY1fAAfyQwhBFADISgj/+8Y8XA+s/xnUCyWyqPjJY8wEB%20OvDHsMlOhavjcMZHdwjdz+Fz/NTC7D4FW/aex3o6s0lnjn3PWgtlArlPSHggVmEbyLDQxQJQyLMP%20VhI5KbQs3MUALr300t3g3dvMd2sB1DhT1fcHnnjiiQWQ0jTO3x+d3j+LKg5KowYlVKLCv0EZw7yF%20T0zWdGsCMPq+GHTPPffM5fb73//+RDjg9ZivybUZqA1yYgHEcTBJ9ORzzz33/rxwAM35w41HK8HD%20G7lND+V8AGqBzz//fC1CkmGQ0ibkvSukItGij/rw40HMLhROVpO3rVCqaIyXFoPJHQbTm0IWdhPg%20efa9qoPCagJ2dsJABwfI8ro3jOKBzOgx3Wvj/ZrpQ3XDV50yHJw6dSqxgPEqB4MmYDawMyO5s0IQ%20ZRHH0BBTWkjhF4RZPkVRi1sOPfTQ3ckPMpYTQ7B4J00vcQGtHqowXIJAU81ooNKE9Vt4q7xwAEw8%20+AATPbZiejKLCeT9qnFU0A7xIaoF4GeZi6Awy7afUZgdBtkGCUC+foTqGch0OnwUcLu6qWhCoNBP%20CSEyW/X/1AQ0BfJXxCsKAWdrQSNHwgEybFiteiUeeAMqUWaiKGQ4vX9QQkzla0wgWYPhgFQ7qWA6%20ShKAqCM/2A8IX6SB2yjMd59HQIUjho0CYINaxV6rmGigFoWy1wxMAxD6ElP4iAVk0Dxu2TBI1/7l%20L395CeH6gnzTwYoA0lQXUOXvo63Bfl+0XlYtQAXeZTPhoosuGuv4BBQE4eE87uL4kRkOCmJa2HSv%20sHtJtUtdkukBL7cqriBQAKQBlIvh4pwo/96ACTxPaW6AtbbjJlMTsIX7eU0N08WaXIClxsbAw+/P%20eQAqBMGDdwBCON2pVVdIqCoabiM4gpF9gfxW6Q5v9O7p5LnVy0UUgvAZQiA5fXwryxRogvVIEK1A%20n/tCQBygEoTFpj90agI68jEB7Xg7Vd0JJ5zwACRsnJsIUtZLAoC4lKEgc9U2ChhVAKIJSDj8m7NA%20k8KpEYXUNUd9rmtzrv1XDGLCiQkg+l8sxhUKC4eb8f6ReCmHu3I4X9e/CotLn4Pyvoa8cAA5gXjB%20wy1wLGzm20KglarZiQwBGW9+CWdjPYSuBh01Vh1fIMAThtVHAZzYbHVPD1/OlZzbbHP8bOZrvxg+%20AAdeM3iyDJFANXCJscy5wPYrJUy+SPvas4UH431N90AAJltQfntWAVA1MFofPGhKrsUh7algzPtD%20/SzCJJJXqV4wVWzEd77znbH6IQWp//Da/chr95PJqmZyp3y7QuvOFnaFoYeJzvVmgEHzuHPxxRd/%20hWLdaQr/0Oz1hBQNCJUdCrh4+nXXXTfXrgkIEoBqwp4QgqwLQ1DV8yFcCpZFCQgVazET9Xv4LgMk%20sBfeciFp7MwI7xTcq3131GqSijx6mC4KrJa2t+cuqtPsY0FzAXtaG/BNLLVYtncWGcx8DON/ml7k%20ajgoyRdXA3BL/4ZRjd4fIF8gpwbgfhVuuBWLE/XOUgsgTJzM5yLQFJRhPMbzaFMxdYmd1LWjPvwe%209jO1r3WMKAAaHa59dxNHbsyv79mKxXz5LJXo8xGaH4CXRpCxHIAE5qjVstUE8Dues0FYQHhJGAiv%20JLsGb5+6QLUAjj0ns1dASEY48wFUGCFJ7DTkCyoogqB9h40UiKM5dq6nL0Zrm+14zn21HiIKr6IA%20qXyVizUiUqsGNpOyBJW8oNBsxNT+R4DrNJAVYUigpoVvxyLFS9CuNrUAVB/l9lvEEF6cxMWKskwI%204YMVBvYYw2Xfqe7gILkjPWCaeiiSmAvBLEZGUAJAYVY2ln1eceKJJz4EgW9WqGdai3l/wEpNDQsL%20AwUC8UbrjLrYrhdEmJaCw3cApowPcWsEhQgqZrXCr+4UADKbsTyl3bHdoat/BWkDl8HFYr77P2TK%20JBCMBGrw3uY9Acw9SX4JEDL2fqPh5WZ+l48AqBhkE5aInQoseRJHvVkaphw2pwKJiMOUJVRySEUg%202kYEgqKkaW01z0anrpA3g7jqPSgMLHpGEIUfeo2sPUOIOMAUvGOwCcc2kfk4Rl62oXhlKV44vQrR%202tZcq4Ym3VoAFBFOwtJkD+MhQ7NNCGGihD+C+4sWLeL6gEIBJZlkfr44QKTsIB0dRBruaC90RnGg%20utfxYhMZzsUl+P/Zz8Bd6IgLDOLqYdOdCSKcScwsYhOqt/kSiTeDfICEVDyygJfCcxwaMCGEW0UD%20tEdLYHe5SHEaAjIOD+4vAegEw9193p/PItMpYFGY4nr8BQhKUUlCSTRwSRrEUjD0yVhMQUuB6WET%20RGqwoATfJLqXfARbEyQdDKAGN58hECjXhBCqXYJACBNXQgtsxLYCmmADEMGMfACdHzG8U0WrMnMc%206RGYEk0Q1LElQBR+mgCfeeiTFryq7wvwYRyqg0MniOD8oVjuZwb8t7mWEGSyCUA1VTwQJt4w66IQ%20HJGcq8b1a/EjhoDpcgg9ZKb4lhBemy+Eq9WveF8y3Y1nu2OmTcm+sOKwww7bDXMx9FoYfwvgjXwg%20b7IWhbA/oZ2prbOCQUn3RdFgwlLYmgmK69mEoWs04v0A3OcKFQR/bCGRD+AyWfdQEzKXJ4Nicl8p%20z4IQ8gUmm1PFaCa5tXkgJJSTR7ZeffXVVmFIwLwAzCO7Ce+dPQ8MrYOzVwd/oNJ6nVkzsn9fwhEZ%20i5GfctYG5CjW4sddPBpjIrOhne03hckx5kBahtC8Foxm6l4oaBpRwGpo8yYsJ/eHrNlAeYWy/2gD%200UagDTUgUDVa0i4GeeCBB46DdzkKgkEUitlAaQBWrvpATPdQTIR/8WZwaV/2O/uf6eF1KP8mk1sd%20R2+rWTRyFdoKtAZTKLLd9QGEAWwx6FGKNzD7FXqHMN4dsD8mgo5SRCA0Suaie2PlmNx3CIkPCAEH%204GWRU1GoM8fE+20WPzeaWULN2bCApAMDp7GwwPAZM2bcgCTPWNl1MZhhHx+ulcOYjWI8KjBItr9b%20KCZqVy0aSbvOWdkSCNZk7AHnfA/wxl0trAER241ICT+WbdXQpA0Cgfn1WBz6Idy0xsUAGPrZkxBY%20lWJKx9fj+zRCtjRq1uu7LayKifaeo70BvgDRwEHvvvsuy8KVKFKBi1sUMghI4e14o/hK1BE854JB%20SXtCCEq9Z0GCxHy76SFML1IYOPI5B+CvSBrxHbUMC4fADtV3mwaIic4e52FQzXdMmzat7qyzzjqB%20L+dAWl6D0y0KkbngKmOn4rqX3UUjpQG47Q3vfqAyfE4xCG/Km2ttAHr688D8BSauTAAMqu3+apnY%20BzD2PP2Pf/xjPUZ/BXhzEvqcA5P8yYYFaI5DPau93DeIJO0ZQWB8K1U7gSAw1Mb0tWwpsX+uUPH+%20hRde+FccWmuSR0mopCHd7gTGoSD7vgkDlf1ehncDbwQAVAGmz6IPBpCIfoKwG9UEsDaCQrDOAEGK%206tpdJLDsrrvuehFTig+DJI2DTbcfrPlpvNF8FI3+wYQWqylRpoqoOR8BoGBRw5QKEWHj6CoW0c8C%205q+aBgI/O+It7Yu5y+7EuwOfx7wALtc7E4JRma14FZNHGgEFP2PVdbjzAX3VUIs2DK0eteaTEQUM%20ANMrcCNSBkxrA8zbgJKv5WS8EYC1+iGwSUdhIaPrKTgAkFjD5nde4RQT7DwhdvYnczD/geXfXrBq%20NerIY/gBQ+EfjOY7HdDKMiBo7zYIxfpnn312EXEANsOzZpkBlYJXkYloO/FmFAaznzLnCCdoNjjB%20GqvQIMnzsXDkz1EldDY9VAIWXUYxUetSAKiJuBjXJXhXEEfzZjN4+5Fvhmc11oqunmZ5WWDQGsO/%20FtsEZAxztaxIh7l5L7QKCYD1FpEmtE1mmzZSSEexRmAQVFYXqfnY5tPp1mLT3Gf9n+GHnLm0ccQ3%20GE2ekgC4PNPIz1YWrhuSWs3Jmg5mv0w6bc5rMZ8T5ruyBMiablWSoJAcp39F0iv4UKU1RoW/Wv/H%208KTJ4lmZg/BuYzPntbkCkNGJVl1guWkCiXROu91sIIkkpluOYylm3f7Vw0CZbQlBq2ktFvMTzsBV%2068g1MSRjtTb3HcLOOSJ9Tqj1CMNjSjhMFmNbrWOJAJ6FTg4VReFmGbJTEzXlqlsoJsK/rL9QfO4M%20Tm2jUbKrzCcApLcBB09k0WKXU0wq+2pBle/fHVVeEBU6XCtMuDgIbRRWF7sNocoYYgHFJL3mpRTJ%20rr9Mg+BQryOz8X+ake2bAxzgVSeeby+mAPCXVpvikeFo9cAA9kKoMoCARKKI9iAD4hZzHBsAj27j%20oVIKSOR4O5M8GtC+MtsN5nhHMQVAINKOBowYpKVlLRCpmNShpo4tMQFot1/jawCdtYb5muxRkGAn%20u0BSVXmyntLqgkhsRR5BGkWZEtQCAuAU5rGfm93K3mJqAGmBCjPiq0wTIJEoYudJA2S0LWEz0GZa%202rS2YjuB7j0UmyazgEjF70B7v7Qo42oz+1iRNED4vYrOfDHc3f4/o5hiiimmmGKKKaaYYooppphi%20iimmmGKKKaaYYooppv8FlJhXILrvZ3wAAAAASUVORK5CYII=%22%20preserveAspectRatio=%22none%22%20height=%22102.996%22%20width=%2287.169%22%20x=%22159.832%22%20y=%22119.548%22/%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20x=%22205.024%22%20y=%22157.686%22%20transform=%22scale(.98866%201.01147)%22%20font-weight=%22400%22%20font-size=%2219.302%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#ff0%22%20stroke-width=%22.504%22%3E%3Ctspan%20x=%22205.024%22%20y=%22157.686%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ERAM%3C/tspan%3E%3C/text%3E%3Ctext%20transform=%22scale(.98866%201.01147)%22%20y=%22187.881%22%20x=%22205.327%22%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20font-weight=%22400%22%20font-size=%2222.015%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#0ff%22%20stroke-width=%22.423%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20y=%22187.881%22%20x=%22205.327%22%20font-weight=%22500%22%3E16KB%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E", + "otid": 1599036668965 + }, + "design": { + "graph": { + "blocks": [ + { + "id": "6080df5a-c853-47cf-aaa7-c5a8f1e65879", + "type": "basic.input", "data": { - "info": "Char to be transmited", - "readonly": true + "name": "", + "clock": true }, "position": { - "x": -272, - "y": 952 - }, - "size": { - "width": 216, - "height": 48 + "x": 168, + "y": 392 } }, { - "id": "40cbc8b9-ba20-4d53-90a4-74481101d34b", - "type": "basic.info", + "id": "9edd47b2-4907-40d5-b10f-6aab4a9e797a", + "type": "basic.inputLabel", "data": { - "info": "State of the machine: \n1: ON: transmitting \n2: OFF: transparent mode ", - "readonly": true + "blockColor": "yellow", + "name": "clk" }, "position": { - "x": 344, - "y": 648 - }, - "size": { - "width": 232, - "height": 88 + "x": 312, + "y": 392 } }, { - "id": "5a19e117-936d-4868-be9f-d1e03760a510", - "type": "basic.info", + "id": "270594ca-dba5-499a-8030-08e69613c220", + "type": "basic.outputLabel", "data": { - "info": "If the machine is on \nand the character has been \ntransmitted: Turn it off", - "readonly": true + "blockColor": "yellow", + "name": "clk" }, "position": { - "x": 344, - "y": 960 - }, - "size": { - "width": 264, - "height": 72 + "x": 392, + "y": 536 } }, { - "id": "358d0c6c-1d72-445e-bdc0-c40d831753f7", - "type": "basic.info", + "id": "ecaf7923-2995-4c02-a531-778edf600834", + "type": "basic.output", "data": { - "info": "The machine has finished", - "readonly": true + "name": "", + "range": "[23:0]", + "size": 24 }, "position": { - "x": 1072, - "y": 936 - }, - "size": { - "width": 352, - "height": 56 + "x": 1392, + "y": 696 } }, { - "id": "6257ea46-accb-4d9a-b165-35a8a2c04270", - "type": "basic.info", + "id": "7b7a0dd2-57ea-4f82-940a-a1fafe7962bf", + "type": "basic.input", "data": { - "info": "**STDOUT BUS**", - "readonly": true + "name": "", + "range": "[23:0]", + "clock": false, + "size": 24 }, "position": { - "x": -296, - "y": 536 - }, - "size": { - "width": 160, - "height": 32 + "x": 168, + "y": 712 } }, { - "id": "ef395571-47c5-4fa2-9bb0-cc6bf29a96df", - "type": "46cae7e9ebf62b7867b3a90798e5bc71b9eec2e0", - "position": { - "x": -168, - "y": 664 + "id": "043752cd-506b-478d-affc-bdad68d7d0a9", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "size": { - "width": 96, - "height": 64 + "position": { + "x": 608, + "y": 848 } }, { - "id": "476ddfa0-b036-4f51-af3f-3de23d9e074f", - "type": "basic.info", + "id": "a04d00a7-87f1-485e-b24e-13078b946ef8", + "type": "basic.outputLabel", "data": { - "info": "Not connected", - "readonly": true + "blockColor": "yellow", + "name": "clk" }, "position": { - "x": 1192, - "y": 536 - }, - "size": { - "width": 128, - "height": 40 + "x": 600, + "y": 1008 } }, { - "id": "f8560747-4666-4911-8c20-a85c7c39f0c1", - "type": "basic.info", + "id": "b07ab569-1013-48d4-916e-4e447f8ea11b", + "type": "basic.memory", "data": { - "info": "**STDOUT BUS**", - "readonly": true + "name": "", + "list": "0 0 0 0\n0 0 0 0\n0 0 0 0\n0 0 0 0", + "local": false, + "format": 10 }, "position": { - "x": 1208, - "y": 736 + "x": 584, + "y": 504 }, "size": { - "width": 160, - "height": 32 + "width": 192, + "height": 112 } }, { - "id": "ef467ee3-3e65-4bf6-8e70-aae8b6da0bf0", - "type": "3e13565dc4f4666505760a8e42d91e6ba1ab5a7f", + "id": "4a9d02e8-e892-426f-b5a0-ddeb0edd071c", + "type": "58ed2b5c7e33e2f215ccba6c101d9ea4ff60f284", "position": { - "x": 1048, - "y": 760 + "x": 768, + "y": 912 }, "size": { "width": 96, - "height": 96 + "height": 64 } }, { - "id": "ec68d254-7f67-4ca6-9e0e-b2e2e9d45066", - "type": "dfb235f1673ee7cefa8539b9a9f9e43979df37ea", + "id": "1d6a09a1-5455-4eae-b831-59fd7086b1ff", + "type": "58ed2b5c7e33e2f215ccba6c101d9ea4ff60f284", "position": { - "x": 856, - "y": 680 + "x": 768, + "y": 1056 }, "size": { "width": 96, @@ -14887,6274 +13937,3314 @@ } }, { - "id": "f59e851d-2d7f-41e9-8128-77b7da1c6a18", - "type": "basic.info", - "data": { - "info": "**Create the bus** \nfrom the data and tic signals", - "readonly": true + "id": "63e2623d-a6e8-486c-aade-edda359a0027", + "type": "0d02b5c37dd73bb78b27425b4fd615e89dedd8d9", + "position": { + "x": 632, + "y": 648 }, + "size": { + "width": 96, + "height": 128 + } + }, + { + "id": "1f7c8d33-19ca-481c-afaf-db7d5930a013", + "type": "d1635cb33c6d31e1ea457005c78d574fcf71828b", "position": { - "x": 720, - "y": 592 + "x": 352, + "y": 680 }, "size": { - "width": 248, - "height": 56 + "width": 96, + "height": 128 } }, { - "id": "c6b39875-76bf-43b3-bf07-98c17499bf21", - "type": "basic.info", - "data": { - "info": "Transparent mode... \nor not", - "readonly": true + "id": "43c5bcc0-920d-408b-9fb0-b2cb7a0e6482", + "type": "6e4fc811dcd6d1ac703e608270f81ee906ee7e98", + "position": { + "x": 1216, + "y": 664 }, + "size": { + "width": 96, + "height": 128 + } + }, + { + "id": "3dcc0b06-f8e0-46a5-a620-fc86fc2c1cbd", + "type": "7dd73370f9ea522fe9c9e331d4d240f520f61d10", "position": { - "x": 1056, - "y": 680 + "x": 1008, + "y": 568 }, "size": { - "width": 192, - "height": 56 + "width": 96, + "height": 64 } } ], "wires": [ { "source": { - "block": "72632c73-fe18-42b3-b81f-46999ddfdb20", - "port": "out", - "size": 8 - }, - "target": { - "block": "59b55b10-4bcd-45fd-9dbe-e6dd6767c97c", - "port": "inlabel" - }, - "size": 8 - }, - { - "source": { - "block": "04841e3c-8761-454a-8d99-496fde26ea1f", + "block": "6080df5a-c853-47cf-aaa7-c5a8f1e65879", "port": "out" }, "target": { - "block": "ed414ec2-55e9-4b36-9c04-d544201b630e", + "block": "9edd47b2-4907-40d5-b10f-6aab4a9e797a", "port": "inlabel" - } + }, + "vertices": [] }, { "source": { - "block": "e787e85b-39c6-4705-a8b3-4da9c48be3ea", + "block": "270594ca-dba5-499a-8030-08e69613c220", "port": "outlabel" }, "target": { - "block": "f1cc51c6-3ef4-496d-99cf-0ee3007a2c64", - "port": "in" - } + "block": "63e2623d-a6e8-486c-aade-edda359a0027", + "port": "0b91cb0d-4144-4939-8755-e331104016db" + }, + "vertices": [ + { + "x": 544, + "y": 616 + } + ] }, { "source": { - "block": "ddba74a9-5192-4fb7-8192-9e9e07103ad8", + "block": "043752cd-506b-478d-affc-bdad68d7d0a9", "port": "outlabel" }, "target": { - "block": "233059d5-8ab7-4c63-8dab-0c6af3a1dc28", - "port": "in" + "block": "4a9d02e8-e892-426f-b5a0-ddeb0edd071c", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" } }, { "source": { - "block": "04a63331-d349-46dd-b312-aacf9b71b3c6", + "block": "a04d00a7-87f1-485e-b24e-13078b946ef8", "port": "outlabel" }, "target": { - "block": "bc97ca4f-8082-4a12-b1d9-4c9f257ef54a", - "port": "046501b8-4427-4d4d-af97-7fe807774f33" + "block": "1d6a09a1-5455-4eae-b831-59fd7086b1ff", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" } }, { "source": { - "block": "bc97ca4f-8082-4a12-b1d9-4c9f257ef54a", - "port": "0d991cee-b329-439b-b9e7-5712d2db539d" + "block": "b07ab569-1013-48d4-916e-4e447f8ea11b", + "port": "memory-out" }, "target": { - "block": "f809e9bb-2587-459d-807e-629afdc99f43", - "port": "inlabel" - } - }, - { - "source": { - "block": "542ef450-6c74-4024-a245-fe1d832776bb", - "port": "outlabel" + "block": "63e2623d-a6e8-486c-aade-edda359a0027", + "port": "d80bfd80-1f6d-46af-b5de-5cd121ebe630" }, - "target": { - "block": "af3693c8-f4e9-4cbe-90e5-cd93b52b1834", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - } + "vertices": [] }, { "source": { - "block": "bc97ca4f-8082-4a12-b1d9-4c9f257ef54a", - "port": "3802390d-8417-4369-b93c-dda647ccb0c6" + "block": "63e2623d-a6e8-486c-aade-edda359a0027", + "port": "2f18358c-ebaa-4fbf-99b4-610ab78deed2" }, "target": { - "block": "2c5224d8-9648-4069-8367-a0c8ec056753", - "port": "inlabel" - } + "block": "43c5bcc0-920d-408b-9fb0-b2cb7a0e6482", + "port": "25996d5e-6856-4828-8cb3-5dea5ff5cf9c" + }, + "vertices": [], + "size": 8 }, { "source": { - "block": "bc97ca4f-8082-4a12-b1d9-4c9f257ef54a", - "port": "aefe9248-3b3d-441b-9e65-33cda65b99dd" + "block": "1f7c8d33-19ca-481c-afaf-db7d5930a013", + "port": "afe50480-6fe5-4ca6-b639-c730569a6a1d" }, "target": { - "block": "a6820ca3-b48c-4815-aa10-2f6b80e6c4af", - "port": "inlabel" - } + "block": "63e2623d-a6e8-486c-aade-edda359a0027", + "port": "9931384a-74ee-4de4-9df7-cc04fd19cf46" + }, + "vertices": [], + "size": 8 }, { "source": { - "block": "1ac9dd5b-9741-4af4-963a-50cbf8c4c6be", - "port": "out" + "block": "1f7c8d33-19ca-481c-afaf-db7d5930a013", + "port": "c79430a3-a90f-40e9-af05-e6da44b5ac8d" }, "target": { - "block": "9fd18953-28a5-488b-be46-c1107835d885", - "port": "inlabel" - } + "block": "63e2623d-a6e8-486c-aade-edda359a0027", + "port": "c61902b3-38ce-45bf-98c9-322638c2264b" + }, + "vertices": [] }, { "source": { - "block": "dea0965b-016f-40c0-aad7-c4d26a391f46", - "port": "outlabel" + "block": "4a9d02e8-e892-426f-b5a0-ddeb0edd071c", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" }, "target": { - "block": "bc97ca4f-8082-4a12-b1d9-4c9f257ef54a", - "port": "88176871-35ac-42bf-bf62-36c81a4b4b47" - } + "block": "43c5bcc0-920d-408b-9fb0-b2cb7a0e6482", + "port": "dbe1622c-3510-4132-8b5c-2fbf81d7f581" + }, + "vertices": [ + { + "x": 1128, + "y": 888 + } + ] }, { "source": { - "block": "8c3ce21f-2214-489f-853a-d60a223034da", - "port": "out", - "size": 10 + "block": "1f7c8d33-19ca-481c-afaf-db7d5930a013", + "port": "c79430a3-a90f-40e9-af05-e6da44b5ac8d" }, "target": { - "block": "a0b2c050-26fc-4ac0-875f-6ef2c1f03c5e", - "port": "inlabel" + "block": "4a9d02e8-e892-426f-b5a0-ddeb0edd071c", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" }, - "vertices": [], - "size": 10 + "vertices": [ + { + "x": 560, + "y": 920 + } + ] }, { "source": { - "block": "ef395571-47c5-4fa2-9bb0-cc6bf29a96df", - "port": "7e8b125e-5171-41ea-871b-ea7f0ffd4a03" + "block": "1d6a09a1-5455-4eae-b831-59fd7086b1ff", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" }, "target": { - "block": "bc052fe3-357e-486c-a2e1-fef8f36a37ae", - "port": "inlabel" + "block": "43c5bcc0-920d-408b-9fb0-b2cb7a0e6482", + "port": "49fb1766-1e7f-4706-9872-a6cd65cc9f2d" }, "vertices": [] }, { "source": { - "block": "fdd4378f-0950-4ef2-b5d9-091a87499091", - "port": "outlabel" + "block": "1f7c8d33-19ca-481c-afaf-db7d5930a013", + "port": "9751f777-00ec-46c1-8d85-07d2dec1e653" }, "target": { - "block": "af3693c8-f4e9-4cbe-90e5-cd93b52b1834", - "port": "97b51945-d716-4b6c-9db9-970d08541249" - } + "block": "1d6a09a1-5455-4eae-b831-59fd7086b1ff", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + }, + "vertices": [ + { + "x": 504, + "y": 992 + } + ] }, { "source": { - "block": "ddc62e2a-e70b-449d-860f-e815be4c4d8e", - "port": "outlabel" + "block": "7b7a0dd2-57ea-4f82-940a-a1fafe7962bf", + "port": "out" }, "target": { - "block": "ef467ee3-3e65-4bf6-8e70-aae8b6da0bf0", - "port": "b0100e99-7b7f-4731-9a87-6e3ac76eea54", - "size": 10 + "block": "1f7c8d33-19ca-481c-afaf-db7d5930a013", + "port": "2117685c-3a4e-4403-a12a-5de3ed4c20a5" }, - "vertices": [], - "size": 10 + "size": 24 }, { "source": { - "block": "1ed1a91b-927d-4eed-b00f-b05b5dda7cbf", - "port": "outlabel" + "block": "1f7c8d33-19ca-481c-afaf-db7d5930a013", + "port": "1fcc5668-ae6d-4286-9b66-f8f113c12bea" }, "target": { - "block": "ef467ee3-3e65-4bf6-8e70-aae8b6da0bf0", - "port": "1e637a79-4a6d-495c-bcac-9664bdbe4b94" + "block": "63e2623d-a6e8-486c-aade-edda359a0027", + "port": "480cf49a-cf72-4fad-a37e-92acddd25d32" }, - "vertices": [] + "size": 14 }, { "source": { - "block": "80c60ca1-61f9-40d2-8a87-5cd02ffb2d90", - "port": "outlabel" + "block": "43c5bcc0-920d-408b-9fb0-b2cb7a0e6482", + "port": "81a20a74-f096-4c3b-bc35-91917f08c79b" }, "target": { - "block": "ec68d254-7f67-4ca6-9e0e-b2e2e9d45066", - "port": "eb5386a0-d51a-4bb4-9f25-b8add9f18cfb", - "size": 8 + "block": "ecaf7923-2995-4c02-a531-778edf600834", + "port": "in" }, - "size": 8 + "size": 24 }, { "source": { - "block": "6940c4f1-a919-408b-9f9a-c542d928ac41", - "port": "outlabel" + "block": "3dcc0b06-f8e0-46a5-a620-fc86fc2c1cbd", + "port": "9a292d4b-866d-4b91-919d-e75f9a0714b9" }, "target": { - "block": "ec68d254-7f67-4ca6-9e0e-b2e2e9d45066", - "port": "9d2cea30-da88-4104-bf4e-e7934b02a553" - } - }, - { - "source": { - "block": "af3693c8-f4e9-4cbe-90e5-cd93b52b1834", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "43c5bcc0-920d-408b-9fb0-b2cb7a0e6482", + "port": "61496e71-85ba-465b-89b9-fedb08b8590d" }, - "target": { - "block": "bc97ca4f-8082-4a12-b1d9-4c9f257ef54a", - "port": "ba15eacb-1e03-4580-932b-3231703481e5" - } - }, - { - "source": { - "block": "8c3ce21f-2214-489f-853a-d60a223034da", - "port": "out" - }, - "target": { - "block": "ef395571-47c5-4fa2-9bb0-cc6bf29a96df", - "port": "6f62a1a4-70d0-42a7-bb69-0639fbebdc04" - }, - "vertices": [], - "size": 10 - }, - { - "source": { - "block": "ef467ee3-3e65-4bf6-8e70-aae8b6da0bf0", - "port": "a8e40103-081c-4611-bd1a-6eeda46b33e3" - }, - "target": { - "block": "9aa5255a-60da-463d-ba87-d4f96456d802", - "port": "in" - }, - "vertices": [], - "size": 10 - }, - { - "source": { - "block": "ec68d254-7f67-4ca6-9e0e-b2e2e9d45066", - "port": "eda56153-8d23-4caa-a8de-73c6be124bb9" - }, - "target": { - "block": "ef467ee3-3e65-4bf6-8e70-aae8b6da0bf0", - "port": "c2bdc405-f749-4bec-bea6-8fe3705fa3bb" - }, - "vertices": [], - "size": 10 + "vertices": [ + { + "x": 1136, + "y": 640 + } + ], + "size": 14 } ] } } }, - "46cae7e9ebf62b7867b3a90798e5bc71b9eec2e0": { + "0d02b5c37dd73bb78b27425b4fd615e89dedd8d9": { "package": { - "name": "stdout-bus-next-out", - "version": "0.1", - "description": "Extract the next signal from the stdout bus", + "name": "Memory-16KiB", + "version": "1.1", + "description": "16KiB Bytes Synchronous memory", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22356.708%22%20height=%22176.233%22%20viewBox=%220%200%2094.37896%2046.628384%22%3E%3Cg%20transform=%22translate(-44.148%20-120.418)%22%3E%3Crect%20width=%2233.016%22%20height=%227.314%22%20x=%22105.246%22%20y=%22141.954%22%20ry=%220%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22bevel%22/%3E%3Crect%20width=%2235.851%22%20height=%2214.797%22%20x=%2244.412%22%20y=%22138.101%22%20ry=%220%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22bevel%22/%3E%3Crect%20width=%2225.079%22%20height=%2227.493%22%20x=%2280.36%22%20y=%22132.039%22%20ry=%220%22%20fill=%22#999%22%20stroke=%22#000%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22bevel%22/%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%2246.181%22%20y=%22130.756%22%20font-weight=%22400%22%20font-size=%2212.449%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20x=%2246.181%22%20y=%22130.756%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ESTDOUT%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%2250.363%22%20y=%22164.97%22%20font-weight=%22400%22%20font-size=%2212.449%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20x=%2250.363%22%20y=%22164.97%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EBUS%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E" + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20viewBox=%220%200%2087.168922%20106.43202%22%20height=%22402.263%22%20width=%22329.457%22%3E%3Cg%20transform=%22translate(-159.832%20-119.548)%22%3E%3Cimage%20xlink:href=%22data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAgM0lEQVR4Xu1dCZBU1bm+PdPTM8CM%20AgMO+yCrAq4oGjWKIIorcYnRlD59saImGlOaqK/UPPeHu5VyjyYuMRu+uFVEjRqX4FNRQURwQVxQ%20YdiGZQYGepZ+33frfK9Oneq+t+/0zHTad/+qU7fv7bt0n/8///L9/znX+1ZTTDHFFFNMMcUUU0wx%20xRRTTDHFFFNMMcUUU0wxxZToofuX8XPo82LqcLaZUhUAMbucraKi4viysrI9jCBkp5gybKBH0un0%20cuy3URC6WwiSXvcRmV9ZVVV1azKZPBvN69+/vzd06FBv2LBh1mkxff31197ixYvJfa+1tfUnHR0d%20x7W1tc3HV2kJQakJQBmZjzYUo99n/qRJk7xTTz3V69WrV5bTY/rmm2+8u+++29u6desO2L0cAnCq%20YXy61AQgYe5bBebvB9XvJRIJ79hjj/VSqZTX3t6e5ZKYBg0a5B133HHenDlzPPRZLQ5VG+a3lpwJ%20kPoH83uT+Ww77rhjCPNjYh+Z/hqK3T5oW9C2obWXlAaQAMCm9SovL/cGDx7sQaWFXBbTTjvt5AsA%20+qwOu7SVSTnOpSgASdBkSjTtPhybkMtioomkyWTjLvmjSK0UncAkJLmMAgDKUwBiqqur81atWkUt%200Bcmc2XJaQCBPtqCvMrKyjztf0wIm9lp1AbjW1paPrIwlUzJaAAJAKgajbYtTwGIaeDAgd6KFSv8%20zmMfloIJcCFf3rOCDT7AKAgAAY78nMCYqC3lB/Q1/Zgy4WB7AERcVAFIiPE333zz6JEjR565ffv2%20Xlu2bKm58847d2psbKQAhGiAmOQr1dTU+J8PPPDAE37wgx8MhgO9BeZg++bNm18588wzXzYQcXtX%20CUGii5ifuuyyy8YD7Fk4YMAAOTHelVde6X300UfejBkzPAhGwG1i5ksA2HdPPfWUd/LJJ7NRczKM%209iOp55577oyzzjrrvwkOGUHIFFsDJIya6nPQQQfdSweGKoyNAgBNIIcmRxQQM15ELcl9oKdU/4yh%202W/sR/anvz98+PD/wqnPozUZc9BeFA3gMv/GG288CgLwaL9+/by+fft6q1ev9gXgqKOO8v/MEUcc%204UOdJUxiUgSmRhv59va3v/2tnztBv9J0+k40Bxe16fLly2effvrpt1EIlCfobg2Q0FYq34J7q6ZN%20mzZ8v/32u5nSKonllhKrPACOyQcofQEonPlZma7GZ6jPFD5v27bN69Onj78/evTon/34xz9+/v77%20719s+NFup5OjOoqJKA7ezjvvPAuM7QuGJkBlyFtXgNkzMbrHUXUx3Utmf/XVVz7zTzrpJL9TTjnl%20FK+EieYrAuO1H8r8nBrgb3/7m1dbW+vNnj3bfzY165AhQ7zPPvvM9wlWrly5DFnD5yAUaQhMB4Qk%20g/My0LxPn3POOQuiOIqJPCDd1IMPPnjiiBEjHiFzObK15Y9Zs2aNn+Ovrq5mKtP74IMPlPjxfvGL%20X3ggCkKpC0AhjNdxfbZb1u9ffPFFb8OGDd4dd9zB+gBv/fr13pgxYzw62OzzTz75hKaWfc5+5jFt%20aX5/hrT7gzQPchQ7awLKZOPB4Nly7CQAbBzlUv38/P7773vQEs0vv/zyckhpNTpkNK6X+i911a/P%20UUe8y2jdI6tgiMj4t956axGFb88996wD0wfRDJDp7G/wQ+l18kJbaoo7jjzyyL8/++yzX8tR7JQG%20EPPRasHQT/FwPkBCwCaJ8zXAhx9+6Esp4lVJqXfDDTf42uDggw/uSVsscjtd+1Gu1/lsETRAkLoP%201whLlizx2+9//3uNbm/8+PHe22+/7e2yyy5ECmluXQ3A5kdeTz/99OlwIOfiVs0mZMwUpAEA6pDx%20fKgEQM6ez4w33niDQuDbLVJzczO/U1hDFdqVjC/cMYt+vYRAx8JUvCtA+Qinew/aeoZ+ZDAjAZ/p%20L730EiMEAkbsY35HXnDLfqdJZn/3poOO1kIB6KwJSAjWBZOXbtq0acK6det4c7v5Dx83bhwZQcEg%20w33mAwFkR7goYE8LghgSpgGiMknfBal7Nff5bIHnsx+5hZPN/vQZrKTaPvvsw/IxagGZYTX1/Qo4%207B8Y/y1RSBiokKIDCN9//upXvzoRUjgMzKxgBMBIgIQQpQwJjElQRymZBgoAnRj9GVzTE/Y5aDQV%20cr39XRRV79p6CQKZlfV7HaPZlPYk0zm6JQDIEHKkL2tqatrcAWIEwMvwfevatWu/efTRR1+wI4BC%20BYA32o625dprr32R/gBab3NdObzSGoAWp+AHp+QfSOVLimWnihSjizGFXu9+7zLVfYaOaWt/lkl0%20Ge+eRy0qbIX7cvoIq484/vjjH4BGbrJCvq1oG9BWo20zqj/U9iZC1H81mY5q1csQ6x+KeHSkHQbS%204VMRA4/RLr3zzjsefYbXXnuNjTbMb98KClf37ne5jkkLZDUX7Nd//vOf3ne/+13vkEMO8Xr37s1I%20gJqAZsHXrtAATB3bTiCPrYXf8NpvfvObG8GHz4UWFuIElkGl/BwO3r+7IaCwfkqlnEH+6LFjx3Kf%20zJc0f9vyAO7IzmfUZ8MW3OO6BweStGd6t912S5Hpb775pjd58mSli8lw5Q3kBBIbGIhrT0QSbgTM%209jGqJ+iMACivX4VM1BnCAOwmW88fy+8XLFjAH9R49NFHPwNPNA3I8mgcHwTp/bYIQC47HmYqcp7j%20OpiuxnjssceW3X777f/D/YcffvhwhIH1+++/vwYd+10aQELBRuRw3/PPP38s0vGLFQayRRWASrQ+%20YF6N7BCbGwYyTUnmm+rf/n/+859P5+df//rX3scff+ypIORbQLkAnSAH0T2WCxDKeg5yLBP/9Kc/%20TbSdwHnz5tEcKMyWj2BjATQhHIzjcJtPjA/XHlUDCAPoDa9T6kXhhv9gMXbhwoW0RYxTqf4JBUtA%205PCUPBLo2m2X+focgQLxAWL+ep4YTJyFnxsaGuhnMSlE6F0mVlv6ATzOaKHNDOLyzkQBSgKVY87a%20vXBEzqVU8eZ8iJhKdJB2CRgBpZPHZaPowRbTB3DVaqHXh4V67oiOKgTaJ+MY40sA5PlL8xJsI/PT%20mE+YIlDEczTYYG7pN9BJnHfvvfd+lk9NYTIkBGy9/PLLn5syZcoqPHRnaIIqU6yYAGMpWeWoA9h1%203333HQfG0ymk6uEPlQAwj01hKVUBEEPz9eZzYQt5h6LLli0jw3k+4XRXALjPnMt6wL3zySOc126u%207QBrtmOQrnnmmWfeVh1hZ5NBHWS+iS03zp8//2O0tSY3UG5a6phjjhkPp2Sc4n/lsCWRaMUe/WJM%20IdcGaQD+vyBgxx7pYc/loGHmz36WgCBbAJgXGAwsoOamm26aJ0ab1kJ+oTWibdF3hQhAC8KQjtNO%20O+0QPPBgSFh5whCksgwmYJjtINIUfPnll2SARkexBUCd35UCQIa710SCjd3vlTHl6Hc1Co9xS5yf%20dl8a4fDDD5+2xx57jAAPVA/gI7eoKVz4/PPPz4EWkAB0RBWAhGl8SM0FF1xwPx4yXo6dtgR7Nm7c%20qOofZgVZrsSctf8ZxOOlYv+DGGcLM7dhYV02LRAaKXz66adZsQH6A6NGjfK++OILf4ChLoMCwHQx%20ne8x6G95/0oaTdh1112PQ6Rw8vXXX/9GZ6FgqviKH/7wh6cB5h2fDQPgD6Dal+3HH6D6WoLpzSuQ%20H6hFR00pCQEITwa5zHcdvygYQFYBBYbPweQy33/ek08+OR9+1DqM9tqJEyfuB6bT0dM6C9II8hNk%20LmrgnJ+Nr98xvGyPggMIBOoNaZqZCwOgACgWfe+99wgHUyv0wxz3fvBOK1naDCqeAES3wdkydmJ6%20ULVPlJSve4whm7z+rNfuvffew1BnMYz9iMGYBhiUAj7AwWfnB1xAiP1eTx4aHKA1qgmoQOuFZMM2%20Le0iVS8hkF2aO3euX6Sw++678/gQNP04tmJhAO4oDTtH4Wouu5+rHiDoWNjz+Tyqdqn+XGsGDGEx%20CJnKfqYJIBhUX19PbMBGAwXPU5swZE8aAWg2g7o9igDwghTU+st4yIEo8qR614PUuNYPcQB2gh0B%20KEnEzz2NAopRQUwPvc62+7YwhJHLePd+7rmI5VnxG6hdpGnJZEHAsPF+4ccLL7ygzKsGp2oFeXyp%20GchlnU0Hd1xzzTXzZs2add306dMPwg1T6AS/yIC1AHhgAn+gDAKyN+yRoGEJQE+HgTbTIwhA4LlK%20bbueea578ry8439oVwI2YfWECv2k1qVdOcqX4bNqAjIQlAySRh1pELTywoceeuhFjfqoAkCOtZmc%208mbY8vfQvsF+jSTKXFcJ3P80FSdasCVbT6OAfE6AAETzB8TMELJHdyR4mBEUwrW8tAqFRFgAeKuq%20HxZ/1iE8nwsHkuq2VcCdUfmN5J3hYVvUbGDGXNTCm8ABqcVExYGQsio0nl9ObYBc9QGIS4fpB0kA%20ILHqCDGm2GrfPTdSvt9toKAQMBQSpsqX05cHUdXbA0ueP0PAHe67776TkSz6K/q8FfdrY8PnXsBi%20Nr/yyiubyMNOFYWqnBiFIMfAAbnBjQA0H4CMFvYPtUMcm99zCpPjHUemqPa7K+bm2aPfbi4zXSaH%20ZvtssAfMsZy+cGKU8Prrr8u790w6WFp28HnnnXc+czJ2JMDt2Wef/QjC+EsiQcH2TKCf/vSnoydM%20mEDm55wPIPWPknCqpmY4i58atTUGm2qZgH/xtK6Y7gI/dtMxCbUNCGk/0PaT6eifKMzX/IA0/IWl%20uI4O9xhA8tUHHHAAGc0+Z3OxAG4ZIfzb7373u0U/+tGPHrDKwzKhGkBz/hBrni6VLqbbn/VgxPy0%20aXT81iFV2c7vlL9mKxIFedZBJVuuANgYiC0IWa9xBcl2hOnxa7Z0BGJ+IAVktZ1C9eqrr34BQGgS%20J+DstddedmGIRr6azAUHYq+gxFAyFwYAhlbxB8vDd6Fgph5ZnkxnBhlBerUjEaeOxHcMGYVs9SST%20XTXunhNUjp1LACT4OuYyOFeuwN5nH3WK+boe4NpkMpU8QG6GU8c4SYSwO7Ot2YpCOCiJMFYRC5Av%20EMUEpABQLCHowHBF8/5tIu6PQlECEtQGFBTNExDzu0MAwpgpFet+F8z4cAFwr8l79EMrkhkF9YVU%20vJjNmgCG2iy+Yf/zmO1n0G8gwTfYbkVuiUg4wK233roIocYcqJyD8cBBkmp1Do41IzlBhldbtqi7%20BUCMCMvURREAXeMCP3axRdSmkS9MpCBBp++AbKwPCilFvMMOO6QBCDUCgh+kCEihMPiyEY7466gL%20fKJTOIBSwZjd+zi2LErsh1apKiFeN3PmzJFXXXXVLI4ONcs77Q4BiFKCnU0AwkZ8wPGiMF8CYDt6%203FcVdurxxx9fftttt82x5gZ0GOx/o5kfsDXIASQlA0CgJrQNmIo0GGqmL6SrEq2cNQE1oDPOOMNO%20FPFHUvq6QwDEvDDmh2mIfBnsRgNhQuPmDKj2HeYXLADC/O0ld7iG0IHAFRrhiK8jBsCqIPAijRxN%20K2oCGslDGwyKBAQh3kxdcskls4Et7207f3LyiEopSmBCg3XrBDlce1kA5a3m3a0oDxtv2+9sQpS3%20AMj/IMgjh68ryHj/nC1MH4BRAZNzFAiqetZsHMucjJw/YQFQ/w1wFn+C6myiuB1RcAC2sl/+8pdX%20wM67zBfmLxDIF4SlS5d6tEfwTL8CQOSvC1CQAIQzsKsFINu9o5gHxfnsj67WfGT6avCigWX3eMZw%20ONx08MgHNTcEZBsEMz0bAjA1ihOoKWG9MPIPs3EAu5FUC0AQCCaCKGB/ABX9oY5YKl6IBsjmXefj%202UcVAG2D7mufn2ufI94N9bpSANi/dejbOo5sMp9l44DoyQOZBxcHUCZ2l1tuuWVfDOZ5uXyBZI4J%20IdX4MzVcm8bWAPqsCSFaFwDlR5ocomyVmNYVDl4+4E22e0URAp0fKgDudWQ6R77sc3cQw0j5W0Bn%20WSPgm1xUCPG4iwOo0VQTla0jT+ULBGoAe0oY2lrUAwxEuKFRL/LVHNEoAD+Cg9kEQ0b3AcLj8rDz%20omiTIEdOlJXZrhDQBrP+UdhDdxHnY7hRAMwBcQD6AxRCt8BUi3RsRV3gEmEBkSaGYC7aLUgo/BwP%20GOJIvyYhNIL5/dHo/EkACBw5AhCZ8Z3VBtrm60i69wtkvnsNRxdr+XR+dxL7VQIgGB7amRnBZvgC%201RRABwsgGLQBcwcell8XFQdIo7hzKdq12B9gagHKhQPAIemDdQG+B+9TDiG3MhH5hoFBuHoU2DYb%20sztjXkKZr+JQ+DkclT2V6+AAk523cQGO8hRqAh7FHMxG4QDWWgHr0b4JWysgmQsEQtuMdOIQePf7%20EHTgqiBs6IAylCmPB0pYazkg/DFkJrdibHeM+nyAHzdTx2ORwkqX6fpMJI7MVxlXTxEdTJob8IH4%20ggSAWjh1xRVXHIEw/CPwhrzrIBaAz61AY1fAAfyQwhBFADISgj/+8Y8XA+s/xnUCyWyqPjJY8wEB%20OvDHsMlOhavjcMZHdwjdz+Fz/NTC7D4FW/aex3o6s0lnjn3PWgtlArlPSHggVmEbyLDQxQJQyLMP%20VhI5KbQs3MUALr300t3g3dvMd2sB1DhT1fcHnnjiiQWQ0jTO3x+d3j+LKg5KowYlVKLCv0EZw7yF%20T0zWdGsCMPq+GHTPPffM5fb73//+RDjg9ZivybUZqA1yYgHEcTBJ9ORzzz33/rxwAM35w41HK8HD%20G7lND+V8AGqBzz//fC1CkmGQ0ibkvSukItGij/rw40HMLhROVpO3rVCqaIyXFoPJHQbTm0IWdhPg%20efa9qoPCagJ2dsJABwfI8ro3jOKBzOgx3Wvj/ZrpQ3XDV50yHJw6dSqxgPEqB4MmYDawMyO5s0IQ%20ZRHH0BBTWkjhF4RZPkVRi1sOPfTQ3ckPMpYTQ7B4J00vcQGtHqowXIJAU81ooNKE9Vt4q7xwAEw8%20+AATPbZiejKLCeT9qnFU0A7xIaoF4GeZi6Awy7afUZgdBtkGCUC+foTqGch0OnwUcLu6qWhCoNBP%20CSEyW/X/1AQ0BfJXxCsKAWdrQSNHwgEybFiteiUeeAMqUWaiKGQ4vX9QQkzla0wgWYPhgFQ7qWA6%20ShKAqCM/2A8IX6SB2yjMd59HQIUjho0CYINaxV6rmGigFoWy1wxMAxD6ElP4iAVk0Dxu2TBI1/7l%20L395CeH6gnzTwYoA0lQXUOXvo63Bfl+0XlYtQAXeZTPhoosuGuv4BBQE4eE87uL4kRkOCmJa2HSv%20sHtJtUtdkukBL7cqriBQAKQBlIvh4pwo/96ACTxPaW6AtbbjJlMTsIX7eU0N08WaXIClxsbAw+/P%20eQAqBMGDdwBCON2pVVdIqCoabiM4gpF9gfxW6Q5v9O7p5LnVy0UUgvAZQiA5fXwryxRogvVIEK1A%20n/tCQBygEoTFpj90agI68jEB7Xg7Vd0JJ5zwACRsnJsIUtZLAoC4lKEgc9U2ChhVAKIJSDj8m7NA%20k8KpEYXUNUd9rmtzrv1XDGLCiQkg+l8sxhUKC4eb8f6ReCmHu3I4X9e/CotLn4Pyvoa8cAA5gXjB%20wy1wLGzm20KglarZiQwBGW9+CWdjPYSuBh01Vh1fIMAThtVHAZzYbHVPD1/OlZzbbHP8bOZrvxg+%20AAdeM3iyDJFANXCJscy5wPYrJUy+SPvas4UH431N90AAJltQfntWAVA1MFofPGhKrsUh7algzPtD%20/SzCJJJXqV4wVWzEd77znbH6IQWp//Da/chr95PJqmZyp3y7QuvOFnaFoYeJzvVmgEHzuHPxxRd/%20hWLdaQr/0Oz1hBQNCJUdCrh4+nXXXTfXrgkIEoBqwp4QgqwLQ1DV8yFcCpZFCQgVazET9Xv4LgMk%20sBfeciFp7MwI7xTcq3131GqSijx6mC4KrJa2t+cuqtPsY0FzAXtaG/BNLLVYtncWGcx8DON/ml7k%20ajgoyRdXA3BL/4ZRjd4fIF8gpwbgfhVuuBWLE/XOUgsgTJzM5yLQFJRhPMbzaFMxdYmd1LWjPvwe%209jO1r3WMKAAaHa59dxNHbsyv79mKxXz5LJXo8xGaH4CXRpCxHIAE5qjVstUE8Dues0FYQHhJGAiv%20JLsGb5+6QLUAjj0ns1dASEY48wFUGCFJ7DTkCyoogqB9h40UiKM5dq6nL0Zrm+14zn21HiIKr6IA%20qXyVizUiUqsGNpOyBJW8oNBsxNT+R4DrNJAVYUigpoVvxyLFS9CuNrUAVB/l9lvEEF6cxMWKskwI%204YMVBvYYw2Xfqe7gILkjPWCaeiiSmAvBLEZGUAJAYVY2ln1eceKJJz4EgW9WqGdai3l/wEpNDQsL%20AwUC8UbrjLrYrhdEmJaCw3cApowPcWsEhQgqZrXCr+4UADKbsTyl3bHdoat/BWkDl8HFYr77P2TK%20JBCMBGrw3uY9Acw9SX4JEDL2fqPh5WZ+l48AqBhkE5aInQoseRJHvVkaphw2pwKJiMOUJVRySEUg%202kYEgqKkaW01z0anrpA3g7jqPSgMLHpGEIUfeo2sPUOIOMAUvGOwCcc2kfk4Rl62oXhlKV44vQrR%202tZcq4Ym3VoAFBFOwtJkD+MhQ7NNCGGihD+C+4sWLeL6gEIBJZlkfr44QKTsIB0dRBruaC90RnGg%20utfxYhMZzsUl+P/Zz8Bd6IgLDOLqYdOdCSKcScwsYhOqt/kSiTeDfICEVDyygJfCcxwaMCGEW0UD%20tEdLYHe5SHEaAjIOD+4vAegEw9193p/PItMpYFGY4nr8BQhKUUlCSTRwSRrEUjD0yVhMQUuB6WET%20RGqwoATfJLqXfARbEyQdDKAGN58hECjXhBCqXYJACBNXQgtsxLYCmmADEMGMfACdHzG8U0WrMnMc%206RGYEk0Q1LElQBR+mgCfeeiTFryq7wvwYRyqg0MniOD8oVjuZwb8t7mWEGSyCUA1VTwQJt4w66IQ%20HJGcq8b1a/EjhoDpcgg9ZKb4lhBemy+Eq9WveF8y3Y1nu2OmTcm+sOKwww7bDXMx9FoYfwvgjXwg%20b7IWhbA/oZ2prbOCQUn3RdFgwlLYmgmK69mEoWs04v0A3OcKFQR/bCGRD+AyWfdQEzKXJ4Nicl8p%20z4IQ8gUmm1PFaCa5tXkgJJSTR7ZeffXVVmFIwLwAzCO7Ce+dPQ8MrYOzVwd/oNJ6nVkzsn9fwhEZ%20i5GfctYG5CjW4sddPBpjIrOhne03hckx5kBahtC8Foxm6l4oaBpRwGpo8yYsJ/eHrNlAeYWy/2gD%200UagDTUgUDVa0i4GeeCBB46DdzkKgkEUitlAaQBWrvpATPdQTIR/8WZwaV/2O/uf6eF1KP8mk1sd%20R2+rWTRyFdoKtAZTKLLd9QGEAWwx6FGKNzD7FXqHMN4dsD8mgo5SRCA0Suaie2PlmNx3CIkPCAEH%204GWRU1GoM8fE+20WPzeaWULN2bCApAMDp7GwwPAZM2bcgCTPWNl1MZhhHx+ulcOYjWI8KjBItr9b%20KCZqVy0aSbvOWdkSCNZk7AHnfA/wxl0trAER241ICT+WbdXQpA0Cgfn1WBz6Idy0xsUAGPrZkxBY%20lWJKx9fj+zRCtjRq1uu7LayKifaeo70BvgDRwEHvvvsuy8KVKFKBi1sUMghI4e14o/hK1BE854JB%20SXtCCEq9Z0GCxHy76SFML1IYOPI5B+CvSBrxHbUMC4fADtV3mwaIic4e52FQzXdMmzat7qyzzjqB%20L+dAWl6D0y0KkbngKmOn4rqX3UUjpQG47Q3vfqAyfE4xCG/Km2ttAHr688D8BSauTAAMqu3+apnY%20BzD2PP2Pf/xjPUZ/BXhzEvqcA5P8yYYFaI5DPau93DeIJO0ZQWB8K1U7gSAw1Mb0tWwpsX+uUPH+%20hRde+FccWmuSR0mopCHd7gTGoSD7vgkDlf1ehncDbwQAVAGmz6IPBpCIfoKwG9UEsDaCQrDOAEGK%206tpdJLDsrrvuehFTig+DJI2DTbcfrPlpvNF8FI3+wYQWqylRpoqoOR8BoGBRw5QKEWHj6CoW0c8C%205q+aBgI/O+It7Yu5y+7EuwOfx7wALtc7E4JRma14FZNHGgEFP2PVdbjzAX3VUIs2DK0eteaTEQUM%20ANMrcCNSBkxrA8zbgJKv5WS8EYC1+iGwSUdhIaPrKTgAkFjD5nde4RQT7DwhdvYnczD/geXfXrBq%20NerIY/gBQ+EfjOY7HdDKMiBo7zYIxfpnn312EXEANsOzZpkBlYJXkYloO/FmFAaznzLnCCdoNjjB%20GqvQIMnzsXDkz1EldDY9VAIWXUYxUetSAKiJuBjXJXhXEEfzZjN4+5Fvhmc11oqunmZ5WWDQGsO/%20FtsEZAxztaxIh7l5L7QKCYD1FpEmtE1mmzZSSEexRmAQVFYXqfnY5tPp1mLT3Gf9n+GHnLm0ccQ3%20GE2ekgC4PNPIz1YWrhuSWs3Jmg5mv0w6bc5rMZ8T5ruyBMiablWSoJAcp39F0iv4UKU1RoW/Wv/H%208KTJ4lmZg/BuYzPntbkCkNGJVl1guWkCiXROu91sIIkkpluOYylm3f7Vw0CZbQlBq2ktFvMTzsBV%2068g1MSRjtTb3HcLOOSJ9Tqj1CMNjSjhMFmNbrWOJAJ6FTg4VReFmGbJTEzXlqlsoJsK/rL9QfO4M%20Tm2jUbKrzCcApLcBB09k0WKXU0wq+2pBle/fHVVeEBU6XCtMuDgIbRRWF7sNocoYYgHFJL3mpRTJ%20rr9Mg+BQryOz8X+ake2bAxzgVSeeby+mAPCXVpvikeFo9cAA9kKoMoCARKKI9iAD4hZzHBsAj27j%20oVIKSOR4O5M8GtC+MtsN5nhHMQVAINKOBowYpKVlLRCpmNShpo4tMQFot1/jawCdtYb5muxRkGAn%20u0BSVXmyntLqgkhsRR5BGkWZEtQCAuAU5rGfm93K3mJqAGmBCjPiq0wTIJEoYudJA2S0LWEz0GZa%202rS2YjuB7j0UmyazgEjF70B7v7Qo42oz+1iRNED4vYrOfDHc3f4/o5hiiimmmGKKKaaYYooppphi%20iimmmGKKKaaYYooppv8FlJhXILrvZ3wAAAAASUVORK5CYII=%22%20preserveAspectRatio=%22none%22%20height=%22102.996%22%20width=%2287.169%22%20x=%22159.832%22%20y=%22119.548%22/%3E%3Cg%20transform=%22matrix(.7703%200%200%20.7703%2096.231%20157.67)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Ctext%20transform=%22scale(.98866%201.01147)%22%20y=%22161.244%22%20x=%22204.861%22%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20font-weight=%22400%22%20font-size=%2214.44%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#0ff%22%20stroke-width=%22.278%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20y=%22161.244%22%20x=%22204.861%22%20font-weight=%22500%22%3ESync%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20x=%22205.095%22%20y=%22147.504%22%20transform=%22scale(.98866%201.01147)%22%20font-weight=%22400%22%20font-size=%2219.302%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#ff0%22%20stroke-width=%22.504%22%3E%3Ctspan%20x=%22205.095%22%20y=%22147.504%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ERAM%3C/tspan%3E%3C/text%3E%3Ctext%20transform=%22scale(.98866%201.01147)%22%20y=%22192.306%22%20x=%22205.409%22%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20font-weight=%22400%22%20font-size=%2219.276%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#0f0%22%20stroke-width=%22.278%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20y=%22192.306%22%20x=%22205.409%22%20font-weight=%22500%22%3E16KiB%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "7e8b125e-5171-41ea-871b-ea7f0ffd4a03", - "type": "basic.output", - "data": { - "name": "next" - }, - "position": { - "x": 608, - "y": 192 - } - }, - { - "id": "6f62a1a4-70d0-42a7-bb69-0639fbebdc04", + "id": "0b91cb0d-4144-4939-8755-e331104016db", "type": "basic.input", "data": { "name": "", - "range": "[9:0]", - "clock": false, - "size": 10 + "clock": true }, "position": { "x": 128, - "y": 192 - } - }, - { - "id": "16e78204-213e-4833-9096-89d735307ec2", - "type": "basic.code", - "data": { - "code": "assign o = i[0];", - "params": [], - "ports": { - "in": [ - { - "name": "i", - "range": "[9:0]", - "size": 10 - } - ], - "out": [ - { - "name": "o" - } - ] - } - }, - "position": { - "x": 296, - "y": 176 - }, - "size": { - "width": 264, - "height": 88 - } - } - ], - "wires": [ - { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o" - }, - "target": { - "block": "7e8b125e-5171-41ea-871b-ea7f0ffd4a03", - "port": "in" + "y": 208 } }, { - "source": { - "block": "6f62a1a4-70d0-42a7-bb69-0639fbebdc04", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i" - }, - "size": 10 - } - ] - } - } - }, - "3e13565dc4f4666505760a8e42d91e6ba1ab5a7f": { - "package": { - "name": "10bits-2-1-Mux", - "version": "0.1", - "description": "10 bits, 2-1 Multiplexor", - "author": "Juan Gonzalez-Gomez (obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2280.833%22%20height=%22158.56%22%20viewBox=%220%200%2075.781585%20148.65066%22%3E%3Cpath%20d=%22M74.375%2036.836c0-12.691-6.99-24.413-18.326-30.729-11.335-6.316-25.284-6.262-36.568.141C8.198%2012.652%201.304%2024.427%201.407%2037.118v74.415c-.103%2012.69%206.79%2024.466%2018.074%2030.87%2011.284%206.403%2025.233%206.457%2036.568.14%2011.336-6.316%2018.326-18.037%2018.326-30.728z%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%222.813%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.448%22%20y=%2291.518%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.448%22%20y=%2291.518%22%3E0%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.359%22%20y=%2214.582%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.359%22%20y=%2214.582%22%3E1%3C/tspan%3E%3C/text%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "c2bdc405-f749-4bec-bea6-8fe3705fa3bb", + "id": "480cf49a-cf72-4fad-a37e-92acddd25d32", "type": "basic.input", "data": { - "name": "i1", - "range": "[9:0]", + "name": "addr", + "range": "[13:0]", "clock": false, - "size": 10 + "size": 14 }, "position": { - "x": -664, - "y": -88 + "x": 120, + "y": 288 } }, { - "id": "a8e40103-081c-4611-bd1a-6eeda46b33e3", + "id": "2f18358c-ebaa-4fbf-99b4-610ab78deed2", "type": "basic.output", "data": { "name": "", - "range": "[9:0]", - "size": 10 + "range": "[7:0]", + "size": 8 }, "position": { - "x": -88, - "y": 0 + "x": 936, + "y": 336 } }, { - "id": "b0100e99-7b7f-4731-9a87-6e3ac76eea54", + "id": "9931384a-74ee-4de4-9df7-cc04fd19cf46", "type": "basic.input", "data": { - "name": "i0", - "range": "[9:0]", + "name": "d", + "range": "[7:0]", "clock": false, - "size": 10 + "size": 8 }, "position": { - "x": -664, - "y": 0 + "x": 120, + "y": 376 } }, { - "id": "1e637a79-4a6d-495c-bcac-9664bdbe4b94", + "id": "c61902b3-38ce-45bf-98c9-322638c2264b", "type": "basic.input", "data": { - "name": "sel", + "name": "wr", "clock": false }, "position": { - "x": -656, - "y": 88 + "x": 120, + "y": 456 + } + }, + { + "id": "d80bfd80-1f6d-46af-b5de-5cd121ebe630", + "type": "basic.memory", + "data": { + "name": "", + "list": "0 0 0 0 0 0 0 0\n0 0 0 0 0 0 0 0", + "local": false, + "format": 10 + }, + "position": { + "x": 464, + "y": 56 + }, + "size": { + "width": 200, + "height": 72 } }, { - "id": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "id": "f5619044-1e4b-4218-bfc2-44eced6cb16a", "type": "basic.code", "data": { - "code": "\nreg [9:0] o;\n\nalways @(*) begin\n case(sel)\n 0: o = i0;\n 1: o = i1;\n default: o = i0;\n endcase\nend\n\n", - "params": [], + "code": "//-- Address with\nlocalparam ADDR_WIDTH = 14;\n//-- Data with\nlocalparam DATA_WIDTH = 8;\n\n//-- Size of the memory\nlocalparam SIZE = 1 << ADDR_WIDTH;\n\n//-- Memory itself\nreg [DATA_WIDTH-1:0] mem[0:SIZE-1];\n\n//-- The data_out is a registered output (not a wire)\nreg [7:0] data_out_i;\nassign data_out = data_out_i;\n\n//-- Reading port: Synchronous\nalways @(posedge clk)\nbegin\n data_out_i <= mem[addr];\nend\n\n//-- Writing port: Synchronous\nalways @(posedge clk)\nbegin\n if (wr) mem[addr] <= data_in;\nend\n\n\n//-- Init the memory\ninitial begin\n \n if (ROMF)\n $readmemh(ROMF, mem, 0, SIZE-1);\n \nend\n", + "params": [ + { + "name": "ROMF" + } + ], "ports": { "in": [ { - "name": "i1", - "range": "[9:0]", - "size": 10 + "name": "clk" }, { - "name": "i0", - "range": "[9:0]", - "size": 10 + "name": "addr", + "range": "[13:0]", + "size": 14 }, { - "name": "sel" + "name": "data_in", + "range": "[7:0]", + "size": 8 + }, + { + "name": "wr" } ], "out": [ { - "name": "o", - "range": "[9:0]", - "size": 10 + "name": "data_out", + "range": "[7:0]", + "size": 8 } ] } }, "position": { - "x": -464, - "y": -104 + "x": 312, + "y": 200 }, "size": { - "width": 304, - "height": 272 + "width": 504, + "height": 328 } } ], "wires": [ { "source": { - "block": "1e637a79-4a6d-495c-bcac-9664bdbe4b94", + "block": "0b91cb0d-4144-4939-8755-e331104016db", "port": "out" }, "target": { - "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", - "port": "sel" + "block": "f5619044-1e4b-4218-bfc2-44eced6cb16a", + "port": "clk" } }, { "source": { - "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", - "port": "o" + "block": "c61902b3-38ce-45bf-98c9-322638c2264b", + "port": "out" }, "target": { - "block": "a8e40103-081c-4611-bd1a-6eeda46b33e3", - "port": "in" + "block": "f5619044-1e4b-4218-bfc2-44eced6cb16a", + "port": "wr" + } + }, + { + "source": { + "block": "d80bfd80-1f6d-46af-b5de-5cd121ebe630", + "port": "memory-out" }, - "size": 10 + "target": { + "block": "f5619044-1e4b-4218-bfc2-44eced6cb16a", + "port": "ROMF" + } }, { "source": { - "block": "c2bdc405-f749-4bec-bea6-8fe3705fa3bb", + "block": "9931384a-74ee-4de4-9df7-cc04fd19cf46", "port": "out" }, "target": { - "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", - "port": "i1" + "block": "f5619044-1e4b-4218-bfc2-44eced6cb16a", + "port": "data_in" }, - "size": 10 + "size": 8 + }, + { + "source": { + "block": "f5619044-1e4b-4218-bfc2-44eced6cb16a", + "port": "data_out" + }, + "target": { + "block": "2f18358c-ebaa-4fbf-99b4-610ab78deed2", + "port": "in" + }, + "size": 8 }, { "source": { - "block": "b0100e99-7b7f-4731-9a87-6e3ac76eea54", + "block": "480cf49a-cf72-4fad-a37e-92acddd25d32", "port": "out" }, "target": { - "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", - "port": "i0" + "block": "f5619044-1e4b-4218-bfc2-44eced6cb16a", + "port": "addr" }, - "size": 10 + "size": 14 } ] } } }, - "dfb235f1673ee7cefa8539b9a9f9e43979df37ea": { + "d1635cb33c6d31e1ea457005c78d574fcf71828b": { "package": { - "name": "stdout-bus-joint2", - "version": "0.1", - "description": "stdout bus joiner (data + tic)", + "name": "membus-16KB-split", + "version": "0.2", + "description": "Split a 16KB memory bus into its fields", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22354.768%22%20height=%22219.63%22%20viewBox=%220%200%20332.595%20205.90272%22%3E%3Cpath%20d=%22M164.218%2068.938L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v26.186l61.698.046c8.012-.043%2015.705%203.133%2021.47%208.81l61.448%2052.61a57.292%2057.292%200%200%200%2039.993%2016.139%2057.292%2057.292%200%200%200-39.993%2016.139l-61.448%2049.93c-5.765%205.678-13.458%208.854-21.47%208.81L.5%20179.217v26.187h62.612c14.924.039%2029.463-5.9%2040.204-16.28l60.902-49.48a29.857%2029.857%200%200%201%2021.347-8.809l146.53-.114V77.752H185.571a29.884%2029.884%200%200%201-21.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22341.249%22%20y=%22247.958%22%20font-weight=%22400%22%20font-size=%2244.109%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.938%22%20transform=%22translate(-184.13%20-199.542)%22%3E%3Ctspan%20x=%22341.249%22%20y=%22247.958%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ESTDOUT%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22390.889%22%20y=%22387.938%22%20font-weight=%22400%22%20font-size=%2244.109%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.938%22%20transform=%22translate(-184.13%20-199.542)%22%3E%3Ctspan%20x=%22390.889%22%20y=%22387.938%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EBUS%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22299.979%22%20y=%22389.373%22%20font-weight=%22400%22%20font-size=%2215%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%22.938%22%20transform=%22translate(-184.13%20-199.542)%22/%3E%3C/svg%3E" + "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": { "graph": { "blocks": [ { - "id": "eb5386a0-d51a-4bb4-9f25-b8add9f18cfb", - "type": "basic.input", + "id": "1fcc5668-ae6d-4286-9b66-f8f113c12bea", + "type": "basic.output", "data": { - "name": "", + "name": "addr", + "range": "[13:0]", + "size": 14 + }, + "position": { + "x": 608, + "y": 120 + } + }, + { + "id": "afe50480-6fe5-4ca6-b639-c730569a6a1d", + "type": "basic.output", + "data": { + "name": "data", "range": "[7:0]", - "clock": false, "size": 8 }, "position": { - "x": 112, - "y": 168 + "x": 624, + "y": 224 } }, { - "id": "eda56153-8d23-4caa-a8de-73c6be124bb9", + "id": "2117685c-3a4e-4403-a12a-5de3ed4c20a5", + "type": "basic.input", + "data": { + "name": "i", + "range": "[23:0]", + "clock": false, + "size": 24 + }, + "position": { + "x": 48, + "y": 248 + } + }, + { + "id": "c79430a3-a90f-40e9-af05-e6da44b5ac8d", "type": "basic.output", "data": { - "name": "", - "range": "[9:0]", - "size": 10 + "name": "wr" }, "position": { - "x": 648, - "y": 192 + "x": 576, + "y": 344 } }, { - "id": "9d2cea30-da88-4104-bf4e-e7934b02a553", - "type": "basic.input", + "id": "9751f777-00ec-46c1-8d85-07d2dec1e653", + "type": "basic.output", "data": { - "name": "tic", - "clock": false + "name": "bbusy" }, "position": { - "x": 112, - "y": 232 + "x": 536, + "y": 432 } }, { "id": "16e78204-213e-4833-9096-89d735307ec2", "type": "basic.code", "data": { - "code": "assign o[9:1] = {i, tic};", - "params": [], "ports": { "in": [ { "name": "i", + "range": "[23:0]", + "size": 24 + } + ], + "out": [ + { + "name": "addr", + "range": "[13:0]", + "size": 14 + }, + { + "name": "data", "range": "[7:0]", "size": 8 }, { - "name": "tic" - } - ], - "out": [ + "name": "wr" + }, { - "name": "o", - "range": "[9:0]", - "size": 10 + "name": "bbusy" } ] - } + }, + "params": [], + "code": "//-- Addr\nassign addr = i[23:10];\n\n//-- data\nassign data = i[9:2];\n\n//-- write\nassign wr = i[1];\n\n//-- Bus is busy\nassign bbusy = i[0];" }, "position": { - "x": 296, + "x": 224, "y": 176 }, "size": { "width": 264, - "height": 88 + "height": 208 } } ], "wires": [ { "source": { - "block": "eb5386a0-d51a-4bb4-9f25-b8add9f18cfb", - "port": "out" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "bbusy" + }, + "target": { + "block": "9751f777-00ec-46c1-8d85-07d2dec1e653", + "port": "in" + } + }, + { + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "wr" }, "target": { + "block": "c79430a3-a90f-40e9-af05-e6da44b5ac8d", + "port": "in" + } + }, + { + "source": { "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i" + "port": "data" + }, + "target": { + "block": "afe50480-6fe5-4ca6-b639-c730569a6a1d", + "port": "in" }, "size": 8 }, { "source": { - "block": "9d2cea30-da88-4104-bf4e-e7934b02a553", + "block": "2117685c-3a4e-4403-a12a-5de3ed4c20a5", "port": "out" }, "target": { "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "tic" - } + "port": "i" + }, + "size": 24 }, { "source": { "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o" + "port": "addr" }, "target": { - "block": "eda56153-8d23-4caa-a8de-73c6be124bb9", + "block": "1fcc5668-ae6d-4286-9b66-f8f113c12bea", "port": "in" }, - "size": 10 + "size": 14 } ] } } }, - "af1545e2cba3d57550e8c41f0e5cd36e4ec1e0be": { + "6e4fc811dcd6d1ac703e608270f81ee906ee7e98": { "package": { - "name": "stdout-serial-buffer", - "version": "0.2", - "description": "Serial transmiter for the stdout bus (1 char buffer). Sysclk parameter", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22230.265%22%20width=%22258.177%22%20viewBox=%220%200%20242.04167%20215.87473%22%3E%3Cg%20transform=%22translate(344.08%20-10.985)%20scale(1.04907)%22%20stroke=%22#000%22%3E%3Cpath%20d=%22M-170.798%20177.526l.315%2036.011%2040.397-37.263v-33.51z%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M-308.584%20177.892l53.235-35.7%20124.635.628-39.456%2035.7%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Crect%20ry=%223.509%22%20height=%2236.325%22%20width=%22139.039%22%20y=%22178.153%22%20x=%22-308.895%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22square%22/%3E%3Cg%20transform=%22matrix(1.88858%200%200%201.88858%20-312.436%20138.651)%22%20stroke-width=%22.938%22%20stroke-linecap=%22square%22%3E%3Ccircle%20cy=%2230.367%22%20cx=%2211.326%22%20r=%223.15%22%20fill=%22red%22/%3E%3Ccircle%20cy=%2230.367%22%20cx=%2220.611%22%20r=%223.15%22%20fill=%22#faa%22/%3E%3Ccircle%20cy=%2230.367%22%20cx=%2262.82%22%20r=%223.15%22%20fill=%22green%22/%3E%3Ccircle%20cy=%2230.367%22%20cx=%2230.554%22%20r=%223.15%22%20fill=%22red%22/%3E%3C/g%3E%3C/g%3E%3Ctext%20y=%2240.93%22%20x=%2225.952%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2294.276%22%20letter-spacing=%220%22%20word-spacing=%220%22%20transform=%22scale(.99853%201.00147)%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%221.749%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2240.93%22%20x=%2225.952%22%20font-weight=%22700%22%20font-size=%2253.872%22%3ESerial%3C/tspan%3E%3C/text%3E%3Ctext%20y=%22108.569%22%20x=%22-3.867%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2294.276%22%20letter-spacing=%220%22%20word-spacing=%220%22%20transform=%22scale(.99853%201.00147)%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%221.749%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%22108.569%22%20x=%22-3.867%22%20font-weight=%22700%22%20font-size=%2253.872%22%3ESTDOUT%3C/tspan%3E%3C/text%3E%3C/svg%3E", - "otid": 1574522291739 + "name": "membus-16KB-join", + "version": "0.0.2", + "description": "Join the fields into one 16KB memory bus", + "author": "Juan Gonzalez-Gomez (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=%22M164.218%2077.643L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v26.186l61.698.046c8.012-.043%2015.705%203.133%2021.47%208.81l61.448%2061.315a57.292%2057.292%200%200%200%2039.993%2016.139%2057.292%2057.292%200%200%200-39.993%2016.14L83.668%20190.45c-5.765%205.677-13.458%208.853-21.47%208.81L.5%20199.306v26.186h62.612c14.924.039%2029.463-5.9%2040.204-16.28l60.902-60.863a29.857%2029.857%200%200%201%2021.347-8.81l146.53-.113V86.457H185.571a29.884%2029.884%200%200%201-21.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "2d00d963-00f8-4a0a-9cb8-a4e5bfb61323", + "id": "61496e71-85ba-465b-89b9-fedb08b8590d", "type": "basic.input", "data": { - "name": "", - "clock": true + "name": "addr", + "range": "[13:0]", + "clock": false, + "size": 14 }, "position": { - "x": 248, - "y": 224 + "x": 128, + "y": 192 } }, { - "id": "340a0c20-8472-4bd8-ae36-204a57b49285", - "type": "basic.inputLabel", + "id": "25996d5e-6856-4828-8cb3-5dea5ff5cf9c", + "type": "basic.input", "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "name": "data", + "range": "[7:0]", + "clock": false, + "size": 8 }, "position": { - "x": 424, - "y": 224 + "x": 128, + "y": 264 } }, { - "id": "019dc637-ca36-4e18-8db1-5d5318fb2d6e", - "type": "basic.outputLabel", + "id": "81a20a74-f096-4c3b-bc35-91917f08c79b", + "type": "basic.output", "data": { - "blockColor": "yellow", - "name": "clk" + "name": "", + "range": "[23:0]", + "size": 24 }, "position": { - "x": 472, - "y": 376 + "x": 760, + "y": 288 } }, { - "id": "3229f563-798d-4db3-9966-52596ca5cef1", - "type": "basic.inputLabel", + "id": "dbe1622c-3510-4132-8b5c-2fbf81d7f581", + "type": "basic.input", "data": { - "name": "tx", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia", - "oldBlockColor": "fuchsia" + "name": "wr", + "clock": false }, "position": { - "x": 928, - "y": 376 + "x": 128, + "y": 328 } }, { - "id": "f2043f09-b391-40ea-9d1d-721438b68ef1", - "type": "basic.output", + "id": "49fb1766-1e7f-4706-9872-a6cd65cc9f2d", + "type": "basic.input", "data": { - "name": "tx" + "name": "bbusy", + "clock": false }, "position": { - "x": 1336, - "y": 384 + "x": 128, + "y": 400 } }, { - "id": "6ba67914-123c-4491-862c-8eda58a6c040", - "type": "basic.outputLabel", + "id": "3545528c-05e2-4e95-8223-5b7b77587423", + "type": "basic.code", "data": { - "name": "tx", - "blockColor": "fuchsia", - "oldBlockColor": "fuchsia" + "ports": { + "in": [ + { + "name": "addr", + "range": "[13:0]", + "size": 14 + }, + { + "name": "data", + "range": "[7:0]", + "size": 8 + }, + { + "name": "wr" + }, + { + "name": "bbusy" + } + ], + "out": [ + { + "name": "o", + "range": "[23:0]", + "size": 24 + } + ] + }, + "params": [], + "code": "assign o = {addr, data, wr, bbusy};\n\n" }, "position": { - "x": 1184, - "y": 384 + "x": 328, + "y": 224 + }, + "size": { + "width": 352, + "height": 184 } - }, - { - "id": "e1ba0ef0-77f6-4ab9-9892-b5c93aa3167c", - "type": "basic.inputLabel", - "data": { - "name": "busy", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia" - }, - "position": { - "x": 936, - "y": 456 - } - }, + } + ], + "wires": [ { - "id": "bf297685-7b54-477f-b9ee-3c143135097b", - "type": "basic.input", - "data": { - "name": "", - "range": "[9:0]", - "clock": false, - "size": 10 + "source": { + "block": "25996d5e-6856-4828-8cb3-5dea5ff5cf9c", + "port": "out" }, - "position": { - "x": 256, - "y": 472 - } - }, - { - "id": "6a12a92e-7e13-4bc0-9051-8aba3b29df38", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "Ready", - "range": "[9:0]", - "oldBlockColor": "fuchsia", - "size": 10 + "target": { + "block": "3545528c-05e2-4e95-8223-5b7b77587423", + "port": "data" }, - "position": { - "x": 1184, - "y": 480 - } + "size": 8 }, { - "id": "93defa79-7f79-4614-8e5b-17ceacc8c7cf", - "type": "basic.output", - "data": { - "name": "rdy", - "range": "[9:0]", - "size": 10 + "source": { + "block": "dbe1622c-3510-4132-8b5c-2fbf81d7f581", + "port": "out" }, - "position": { - "x": 1336, - "y": 480 + "target": { + "block": "3545528c-05e2-4e95-8223-5b7b77587423", + "port": "wr" } }, { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "type": "basic.output", - "data": { - "name": "busy" + "source": { + "block": "49fb1766-1e7f-4706-9872-a6cd65cc9f2d", + "port": "out" }, - "position": { - "x": 1336, - "y": 576 + "target": { + "block": "3545528c-05e2-4e95-8223-5b7b77587423", + "port": "bbusy" } }, { - "id": "6b86af4f-f0c9-4134-b2c9-9e9d1b0d6e15", - "type": "basic.outputLabel", - "data": { - "name": "busy", - "blockColor": "fuchsia" + "source": { + "block": "61496e71-85ba-465b-89b9-fedb08b8590d", + "port": "out" }, - "position": { - "x": 1192, - "y": 576 - } - }, - { - "id": "2482a63c-2352-4fd5-81ee-6fcaa856ccdd", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "Ready", - "range": "[9:0]", - "pins": [ - { - "index": "9", - "name": "", - "value": "" - }, - { - "index": "8", - "name": "", - "value": "" - }, - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "target": { + "block": "3545528c-05e2-4e95-8223-5b7b77587423", + "port": "addr" }, - "position": { - "x": 1008, - "y": 600 - } + "size": 14 }, { - "id": "b04e50bc-ceae-4d5b-9bd1-259af770825c", - "type": "basic.input", - "data": { - "name": "nc", - "clock": false + "source": { + "block": "3545528c-05e2-4e95-8223-5b7b77587423", + "port": "o" }, - "position": { - "x": 256, - "y": 600 - } - }, + "target": { + "block": "81a20a74-f096-4c3b-bc35-91917f08c79b", + "port": "in" + }, + "size": 24 + } + ] + } + } + }, + "7dd73370f9ea522fe9c9e331d4d240f520f61d10": { + "package": { + "name": "14bits-Value_0", + "version": "0.1", + "description": "14bits constant value: 0", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22153.645%22%20height=%22230.616%22%20viewBox=%220%200%20144.04211%20216.20273%22%3E%3Cg%20style=%22line-height:0%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%3E%3Cpath%20d=%22M72.021%2022.332q-21.774%200-32.8%2021.495-10.887%2021.355-10.887%2064.344%200%2042.85%2010.887%2064.345%2011.026%2021.355%2032.8%2021.355%2021.913%200%2032.8-21.355%2011.027-21.495%2011.027-64.345%200-42.99-11.027-64.344-10.887-21.495-32.8-21.495zm0-22.332q35.034%200%2053.458%2027.776%2018.563%2027.636%2018.563%2080.395%200%2052.62-18.563%2080.396-18.424%2027.636-53.458%2027.636-35.033%200-53.597-27.636Q0%20160.79%200%20108.17q0-52.76%2018.424-80.395Q36.988%200%2072.021%200z%22%20style=%22line-height:1.25%22%20font-size=%22285.851%22%20font-family=%22sans-serif%22%20stroke-width=%227.146%22%20font-weight=%22400%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22/%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ { - "id": "bb5ac23f-87a4-4029-8fa8-ed6b93a824f9", - "type": "basic.constant", + "id": "9a292d4b-866d-4b91-919d-e75f9a0714b9", + "type": "basic.output", "data": { - "name": "sclk", - "value": "12000000", - "local": false + "name": "", + "range": "[13:0]", + "size": 14 }, "position": { - "x": 656, - "y": 312 + "x": 928, + "y": 256 } }, { - "id": "d4a02852-2578-4c4d-b7e2-0708b0ef9794", + "id": "7c214b7c-5138-4e3e-aa20-c423be96e47e", "type": "basic.constant", "data": { - "name": "bps", - "value": "115200", - "local": false + "name": "", + "value": "0", + "local": true }, "position": { - "x": 792, - "y": 312 + "x": 728, + "y": 160 } }, { - "id": "e968d987-07d6-43f6-91c7-c51f2d0d5793", - "type": "c955cf93ef694308de70400b30cdd774804f88a9", + "id": "f1162367-605e-4e74-b25c-1a03e7175a02", + "type": "3dcd4b40bf34ee2c849e07c685bec61517a3ee88", "position": { - "x": 480, - "y": 472 + "x": 728, + "y": 256 }, "size": { "width": 96, "height": 64 } - }, + } + ], + "wires": [ { - "id": "4cbc5545-838d-4037-8ff3-065df8ec78f6", - "type": "113ccf91a6aa073b6493e621c1add3fe0989efad", - "position": { - "x": 848, - "y": 600 + "source": { + "block": "7c214b7c-5138-4e3e-aa20-c423be96e47e", + "port": "constant-out" }, - "size": { - "width": 96, - "height": 64 - } + "target": { + "block": "f1162367-605e-4e74-b25c-1a03e7175a02", + "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" + }, + "vertices": [] }, { - "id": "7fa9a681-773d-4d20-91c6-e8109073c635", - "type": "basic.info", - "data": { - "info": "## STDOUT serial\n\nSerial transmitter for the STDOUT bus\n", - "readonly": true + "source": { + "block": "f1162367-605e-4e74-b25c-1a03e7175a02", + "port": "eecc16dc-2b03-4f7b-bc80-7bbc3012a333" }, - "position": { - "x": 264, - "y": 64 + "target": { + "block": "9a292d4b-866d-4b91-919d-e75f9a0714b9", + "port": "in" }, - "size": { - "width": 352, - "height": 88 - } - }, - { - "id": "e03f0e2f-15f0-4a94-8757-e4a9f8a02c56", - "type": "basic.info", - "data": { - "info": "**STDOUT Bus** \n* Data to transmit (8 bits) \n* tic (1 bit)\n* data sent (done tic, 1 bit)", - "readonly": true - }, - "position": { - "x": 240, - "y": 352 - }, - "size": { - "width": 264, - "height": 80 - } - }, - { - "id": "a1d00ad1-cc0a-49d5-ab42-4a031b34464f", - "type": "0bbdc65ba424ff40518e139c64fecf5a9d646c78", - "position": { - "x": 680, - "y": 440 - }, - "size": { - "width": 96, - "height": 96 - } - } - ], - "wires": [ - { - "source": { - "block": "2d00d963-00f8-4a0a-9cb8-a4e5bfb61323", - "port": "out" - }, - "target": { - "block": "340a0c20-8472-4bd8-ae36-204a57b49285", - "port": "inlabel" - }, - "vertices": [] - }, - { - "source": { - "block": "019dc637-ca36-4e18-8db1-5d5318fb2d6e", - "port": "outlabel" - }, - "target": { - "block": "a1d00ad1-cc0a-49d5-ab42-4a031b34464f", - "port": "aa41bb20-1565-45fc-b082-c728415f7cb3" - }, - "vertices": [ - { - "x": 608, - "y": 432 - } - ] - }, - { - "source": { - "block": "4cbc5545-838d-4037-8ff3-065df8ec78f6", - "port": "72968b0a-a651-457f-8809-036985e64653", - "size": 10 - }, - "target": { - "block": "2482a63c-2352-4fd5-81ee-6fcaa856ccdd", - "port": "inlabel" - }, - "size": 10 - }, - { - "source": { - "block": "6a12a92e-7e13-4bc0-9051-8aba3b29df38", - "port": "outlabel" - }, - "target": { - "block": "93defa79-7f79-4614-8e5b-17ceacc8c7cf", - "port": "in", - "size": 10 - }, - "size": 10 - }, - { - "source": { - "block": "a1d00ad1-cc0a-49d5-ab42-4a031b34464f", - "port": "b1b1682c-2c7c-4e71-8068-426364b08096" - }, - "target": { - "block": "e1ba0ef0-77f6-4ab9-9892-b5c93aa3167c", - "port": "inlabel" - } - }, - { - "source": { - "block": "6b86af4f-f0c9-4134-b2c9-9e9d1b0d6e15", - "port": "outlabel" - }, - "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "port": "in" - } - }, - { - "source": { - "block": "6ba67914-123c-4491-862c-8eda58a6c040", - "port": "outlabel" - }, - "target": { - "block": "f2043f09-b391-40ea-9d1d-721438b68ef1", - "port": "in" - } - }, - { - "source": { - "block": "a1d00ad1-cc0a-49d5-ab42-4a031b34464f", - "port": "369dcc35-b79e-452f-8686-5a0fc79026ee" - }, - "target": { - "block": "3229f563-798d-4db3-9966-52596ca5cef1", - "port": "inlabel" - } - }, - { - "source": { - "block": "e968d987-07d6-43f6-91c7-c51f2d0d5793", - "port": "03a1539f-6d99-4957-a7ca-3718ec57b1ee" - }, - "target": { - "block": "a1d00ad1-cc0a-49d5-ab42-4a031b34464f", - "port": "3677e940-f241-4c6e-8411-81f6c8044f4a" - }, - "vertices": [], - "size": 8 - }, - { - "source": { - "block": "e968d987-07d6-43f6-91c7-c51f2d0d5793", - "port": "11b231a8-883c-47a2-afea-ce22fc2fc800" - }, - "target": { - "block": "a1d00ad1-cc0a-49d5-ab42-4a031b34464f", - "port": "737e0f1e-4964-4029-a40b-baf773e3c886" - }, - "vertices": [] - }, - { - "source": { - "block": "a1d00ad1-cc0a-49d5-ab42-4a031b34464f", - "port": "9e42bee5-bcaa-42fd-9077-6920b7b3f920" - }, - "target": { - "block": "4cbc5545-838d-4037-8ff3-065df8ec78f6", - "port": "3bbe35e4-7c46-4bbb-b9c3-3a6f4bbaf1c0" - }, - "vertices": [] - }, - { - "source": { - "block": "bf297685-7b54-477f-b9ee-3c143135097b", - "port": "out" - }, - "target": { - "block": "e968d987-07d6-43f6-91c7-c51f2d0d5793", - "port": "62f60de5-6d65-45f1-a57a-96daf57df585" - }, - "size": 10 - }, - { - "source": { - "block": "d4a02852-2578-4c4d-b7e2-0708b0ef9794", - "port": "constant-out" - }, - "target": { - "block": "a1d00ad1-cc0a-49d5-ab42-4a031b34464f", - "port": "98166aa3-0973-4d30-9a46-29a3e4c30a57" - } - }, - { - "source": { - "block": "bb5ac23f-87a4-4029-8fa8-ed6b93a824f9", - "port": "constant-out" - }, - "target": { - "block": "a1d00ad1-cc0a-49d5-ab42-4a031b34464f", - "port": "36509a01-2e78-4be1-8055-0fba0ed93b33" - } + "size": 14 } ] } } }, - "c955cf93ef694308de70400b30cdd774804f88a9": { + "3dcd4b40bf34ee2c849e07c685bec61517a3ee88": { "package": { - "name": "stdout-bus-split2", - "version": "0.1", - "description": "stdout bus splitter into data and tic signals", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22354.768%22%20height=%22219.63%22%20viewBox=%220%200%20332.595%20205.90272%22%3E%3Cpath%20d=%22M168.377%2068.938l61.147-52.233C240.21%206.25%20254.56.461%20269.484.5h62.611v26.186l-61.698.046c-8.012-.043-15.705%203.133-21.47%208.81l-61.448%2052.61a57.292%2057.292%200%200%201-39.993%2016.139%2057.292%2057.292%200%200%201%2039.993%2016.139l61.448%2049.93c5.765%205.678%2013.458%208.854%2021.47%208.81l61.698.046v26.187h-62.612c-14.924.039-29.463-5.9-40.204-16.28l-60.902-49.48a29.857%2029.857%200%200%200-21.347-8.809L.5%20130.72V77.752h146.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%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22194.597%22%20y=%22247.958%22%20font-weight=%22400%22%20font-size=%2244.109%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.938%22%20transform=%22translate(-184.13%20-199.542)%22%3E%3Ctspan%20x=%22194.597%22%20y=%22247.958%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ESTDOUT%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22228.835%22%20y=%22387.938%22%20font-weight=%22400%22%20font-size=%2244.109%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.938%22%20transform=%22translate(-184.13%20-199.542)%22%3E%3Ctspan%20x=%22228.835%22%20y=%22387.938%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EBUS%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22299.979%22%20y=%22389.373%22%20font-weight=%22400%22%20font-size=%2215%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%22.938%22%20transform=%22translate(-184.13%20-199.542)%22/%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "03a1539f-6d99-4957-a7ca-3718ec57b1ee", - "type": "basic.output", - "data": { - "name": "", - "range": "[7:0]", - "size": 8 - }, - "position": { - "x": 608, - "y": 168 - } - }, - { - "id": "62f60de5-6d65-45f1-a57a-96daf57df585", - "type": "basic.input", - "data": { - "name": "", - "range": "[9:0]", - "clock": false, - "size": 10 - }, - "position": { - "x": 128, - "y": 192 - } - }, - { - "id": "11b231a8-883c-47a2-afea-ce22fc2fc800", - "type": "basic.output", - "data": { - "name": "tic" - }, - "position": { - "x": 576, - "y": 248 - } - }, - { - "id": "16e78204-213e-4833-9096-89d735307ec2", - "type": "basic.code", - "data": { - "code": "assign data = i[9:2];\nassign tic = i[1];", - "params": [], - "ports": { - "in": [ - { - "name": "i", - "range": "[9:0]", - "size": 10 - } - ], - "out": [ - { - "name": "data", - "range": "[7:0]", - "size": 8 - }, - { - "name": "tic" - } - ] - } - }, - "position": { - "x": 296, - "y": 176 - }, - "size": { - "width": 232, - "height": 96 - } - } - ], - "wires": [ - { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "data" - }, - "target": { - "block": "03a1539f-6d99-4957-a7ca-3718ec57b1ee", - "port": "in" - }, - "size": 8 - }, - { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "tic" - }, - "target": { - "block": "11b231a8-883c-47a2-afea-ce22fc2fc800", - "port": "in" - } - }, - { - "source": { - "block": "62f60de5-6d65-45f1-a57a-96daf57df585", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i" - }, - "size": 10 - } - ] - } - } - }, - "113ccf91a6aa073b6493e621c1add3fe0989efad": { - "package": { - "name": "stdout-bus-next-in", - "version": "0.1", - "description": "Convert the 1-bit next signal into a 10-bit stdout bus", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22356.708%22%20height=%22176.233%22%20viewBox=%220%200%2094.37896%2046.628384%22%3E%3Cg%20transform=%22translate(-44.148%20-120.418)%22%3E%3Crect%20width=%2233.016%22%20height=%227.314%22%20x=%22-77.429%22%20y=%22141.954%22%20ry=%220%22%20transform=%22scale(-1%201)%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22bevel%22/%3E%3Crect%20width=%2235.851%22%20height=%2214.797%22%20x=%22-138.262%22%20y=%22138.101%22%20ry=%220%22%20transform=%22scale(-1%201)%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22bevel%22/%3E%3Crect%20width=%2225.079%22%20height=%2227.493%22%20x=%22-102.314%22%20y=%22132.039%22%20ry=%220%22%20transform=%22scale(-1%201)%22%20fill=%22#999%22%20stroke=%22#000%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22bevel%22/%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%2289.27%22%20y=%22130.378%22%20font-weight=%22400%22%20font-size=%2212.449%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20x=%2289.27%22%20y=%22130.378%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ESTDOUT%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22105.548%22%20y=%22166.86%22%20font-weight=%22400%22%20font-size=%2212.449%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20x=%22105.548%22%20y=%22166.86%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EBUS%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "3bbe35e4-7c46-4bbb-b9c3-3a6f4bbaf1c0", - "type": "basic.input", - "data": { - "name": "next", - "clock": false - }, - "position": { - "x": 128, - "y": 192 - } - }, - { - "id": "72968b0a-a651-457f-8809-036985e64653", - "type": "basic.output", - "data": { - "name": "", - "range": "[9:0]", - "size": 10 - }, - "position": { - "x": 640, - "y": 192 - } - }, - { - "id": "16e78204-213e-4833-9096-89d735307ec2", - "type": "basic.code", - "data": { - "code": "assign o[0] = next;", - "params": [], - "ports": { - "in": [ - { - "name": "next" - } - ], - "out": [ - { - "name": "o", - "range": "[9:0]", - "size": 10 - } - ] - } - }, - "position": { - "x": 296, - "y": 176 - }, - "size": { - "width": 264, - "height": 88 - } - } - ], - "wires": [ - { - "source": { - "block": "3bbe35e4-7c46-4bbb-b9c3-3a6f4bbaf1c0", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "next" - } - }, - { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o" - }, - "target": { - "block": "72968b0a-a651-457f-8809-036985e64653", - "port": "in" - }, - "size": 10 - } - ] - } - } - }, - "0bbdc65ba424ff40518e139c64fecf5a9d646c78": { - "package": { - "name": "Serial-tx-Bufferx1", - "version": "0.1", - "description": "Serial transmitter with a buffer for 1 byte", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20274.81662%20209.31615%22%20width=%22293.137%22%20height=%22223.269%22%3E%3Cg%20transform=%22translate(347.142%20-102.544)%20scale(1.04907)%22%20stroke=%22#000%22%3E%3Cpath%20d=%22M-170.798%20177.526l.315%2036.011%2040.397-37.263v-33.51z%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M-308.584%20177.892l53.235-35.7%20124.635.628-39.456%2035.7%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Crect%20x=%22-308.895%22%20y=%22178.153%22%20width=%22139.039%22%20height=%2236.325%22%20ry=%223.509%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22square%22/%3E%3Cg%20transform=%22matrix(1.88858%200%200%201.88858%20-312.436%20138.651)%22%20stroke-width=%22.938%22%20stroke-linecap=%22square%22%3E%3Ccircle%20r=%223.15%22%20cx=%2211.326%22%20cy=%2230.367%22%20fill=%22red%22/%3E%3Ccircle%20r=%223.15%22%20cx=%2220.611%22%20cy=%2230.367%22%20fill=%22#faa%22/%3E%3Ccircle%20r=%223.15%22%20cx=%2262.82%22%20cy=%2230.367%22%20fill=%22green%22/%3E%3Ccircle%20r=%223.15%22%20cx=%2230.554%22%20cy=%2230.367%22%20fill=%22red%22/%3E%3C/g%3E%3C/g%3E%3Ctext%20transform=%22scale(.99853%201.00147)%22%20word-spacing=%220%22%20letter-spacing=%220%22%20font-size=%2265.171%22%20font-weight=%22400%22%20style=%22line-height:0%25%22%20x=%2270.801%22%20y=%2228.295%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%221.209%22%3E%3Ctspan%20font-size=%2237.241%22%20font-weight=%22700%22%20x=%2270.801%22%20y=%2228.295%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%3ESerial%3C/tspan%3E%3C/text%3E%3Cg%20transform=%22translate(-49.71%20-39.925)%20scale(2.8106)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20cx=%22100.602%22%20cy=%2273.815%22%20r=%2214.559%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22translate(-240.978%20-39.925)%20scale(2.8106)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20cx=%22100.602%22%20cy=%2273.815%22%20r=%2214.559%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Ccircle%20r=%2240.92%22%20cy=%2281.071%22%20cx=%22233.043%22%20fill=%22#ececec%22%20stroke=%22green%22%20stroke-width=%221.71%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M261.766%2092.931h-4.696V67.437h-48.103v25.295h-5.116%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%224.275%22%20stroke-linecap=%22round%22/%3E%3Ctext%20transform=%22scale(.99853%201.00147)%22%20word-spacing=%220%22%20letter-spacing=%220%22%20font-size=%2265.171%22%20font-weight=%22400%22%20style=%22line-height:0%25%22%20x=%22108.068%22%20y=%22165.6%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%221.209%22%3E%3Ctspan%20font-size=%2237.241%22%20font-weight=%22700%22%20x=%22108.068%22%20y=%22165.6%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%3ETX%3C/tspan%3E%3C/text%3E%3Ctext%20y=%22198.423%22%20x=%2284.123%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2248.233%22%20letter-spacing=%220%22%20word-spacing=%220%22%20transform=%22scale(.99853%201.00147)%22%20font-family=%22sans-serif%22%20fill=%22green%22%20stroke-width=%221.209%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%22198.423%22%20x=%2284.123%22%20font-weight=%22700%22%20font-size=%2227.562%22%3EBuffx1%3C/tspan%3E%3C/text%3E%3C/svg%3E", - "otid": 1592071458900 - }, - "design": { - "graph": { - "blocks": [ - { - "id": "a9c22dcd-8004-403b-8252-7d67e44b004c", - "type": "basic.inputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true - }, - "position": { - "x": 176, - "y": 328 - } - }, - { - "id": "aa41bb20-1565-45fc-b082-c728415f7cb3", - "type": "basic.input", - "data": { - "name": "", - "clock": true - }, - "position": { - "x": 40, - "y": 328 - } - }, - { - "id": "f58220ae-6857-4aee-a048-8f29a9a3edb0", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk" - }, - "position": { - "x": 392, - "y": 352 - } - }, - { - "id": "81cfea05-80b0-4fcf-b822-ee74415e5729", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk" - }, - "position": { - "x": 704, - "y": 360 - } - }, - { - "id": "369dcc35-b79e-452f-8686-5a0fc79026ee", - "type": "basic.output", - "data": { - "name": "TX" - }, - "position": { - "x": 1120, - "y": 392 - } - }, - { - "id": "bd015212-9591-44d1-b9bd-e00404e9e127", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "busy", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 392, - "y": 416 - } - }, - { - "id": "1b53ca45-9c3b-48e2-a4d4-46606b68f6ed", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "bbusy", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 720, - "y": 432 - } - }, - { - "id": "b1b1682c-2c7c-4e71-8068-426364b08096", - "type": "basic.output", - "data": { - "name": "busy" - }, - "position": { - "x": 1416, - "y": 488 - } - }, - { - "id": "a9515ba2-54a0-497f-a55e-3a97b52307b5", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "bbusy" - }, - "position": { - "x": 1256, - "y": 488 - } - }, - { - "id": "0c84226f-058f-4e9f-9697-4676db24be6e", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "busy", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true - }, - "position": { - "x": 1144, - "y": 496 - } - }, - { - "id": "3677e940-f241-4c6e-8411-81f6c8044f4a", - "type": "basic.input", - "data": { - "name": "", - "range": "[7:0]", - "clock": false, - "size": 8 - }, - "position": { - "x": 40, - "y": 496 - } - }, - { - "id": "9e42bee5-bcaa-42fd-9077-6920b7b3f920", - "type": "basic.output", - "data": { - "name": "done" - }, - "position": { - "x": 1424, - "y": 568 - } - }, - { - "id": "bb087c79-9c6d-4eb9-9ce0-08daaf8ae25c", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "done" - }, - "position": { - "x": 1256, - "y": 568 - } - }, - { - "id": "737e0f1e-4964-4029-a40b-baf773e3c886", - "type": "basic.input", - "data": { - "name": "txmit", - "clock": false - }, - "position": { - "x": 32, - "y": 592 - } - }, - { - "id": "ac7ffef6-e027-4f70-aa92-244c622c2288", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "done", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true - }, - "position": { - "x": 840, - "y": 616 - } - }, - { - "id": "36509a01-2e78-4be1-8055-0fba0ed93b33", - "type": "basic.constant", - "data": { - "name": "sclk", - "value": "12000000", - "local": false - }, - "position": { - "x": 848, - "y": 368 - } - }, - { - "id": "98166aa3-0973-4d30-9a46-29a3e4c30a57", - "type": "basic.constant", - "data": { - "name": "bps", - "value": "115200", - "local": false - }, - "position": { - "x": 968, - "y": 368 - } - }, - { - "id": "add79568-8fa3-4976-96d4-5774aa4d5ee6", - "type": "c953202df76fedf2dff67e2add8103df0fefcf72", - "position": { - "x": 560, - "y": 448 - }, - "size": { - "width": 96, - "height": 128 - } - }, - { - "id": "93bd8ba4-1388-44e3-9a4f-a805866fa8e2", - "type": "f5dc974ff576804a66c6a60ab920080490117fc3", - "position": { - "x": 872, - "y": 480 - }, - "size": { - "width": 96, - "height": 96 - } - } - ], - "wires": [ - { - "source": { - "block": "93bd8ba4-1388-44e3-9a4f-a805866fa8e2", - "port": "75d4695e-f445-4762-9ae9-c9bf0e51974f" - }, - "target": { - "block": "0c84226f-058f-4e9f-9697-4676db24be6e", - "port": "inlabel" - }, - "vertices": [] - }, - { - "source": { - "block": "bd015212-9591-44d1-b9bd-e00404e9e127", - "port": "outlabel" - }, - "target": { - "block": "add79568-8fa3-4976-96d4-5774aa4d5ee6", - "port": "0bc6ea13-3b91-44af-99ca-b8a88c42b845" - }, - "vertices": [] - }, - { - "source": { - "block": "aa41bb20-1565-45fc-b082-c728415f7cb3", - "port": "out" - }, - "target": { - "block": "a9c22dcd-8004-403b-8252-7d67e44b004c", - "port": "inlabel" - }, - "vertices": [] - }, - { - "source": { - "block": "f58220ae-6857-4aee-a048-8f29a9a3edb0", - "port": "outlabel" - }, - "target": { - "block": "add79568-8fa3-4976-96d4-5774aa4d5ee6", - "port": "9409102d-240c-4352-9abe-791f1d3dc427" - } - }, - { - "source": { - "block": "81cfea05-80b0-4fcf-b822-ee74415e5729", - "port": "outlabel" - }, - "target": { - "block": "93bd8ba4-1388-44e3-9a4f-a805866fa8e2", - "port": "4c296e24-7312-407a-8fb0-f3a6d4feb3ab" - }, - "vertices": [ - { - "x": 832, - "y": 448 - } - ] - }, - { - "source": { - "block": "add79568-8fa3-4976-96d4-5774aa4d5ee6", - "port": "e292a084-fe45-48cf-8901-25443ea28288" - }, - "target": { - "block": "ac7ffef6-e027-4f70-aa92-244c622c2288", - "port": "inlabel" - } - }, - { - "source": { - "block": "bb087c79-9c6d-4eb9-9ce0-08daaf8ae25c", - "port": "outlabel" - }, - "target": { - "block": "9e42bee5-bcaa-42fd-9077-6920b7b3f920", - "port": "in" - } - }, - { - "source": { - "block": "add79568-8fa3-4976-96d4-5774aa4d5ee6", - "port": "5cadf71f-ae3d-44ee-a2f3-f95d2b2fc416" - }, - "target": { - "block": "1b53ca45-9c3b-48e2-a4d4-46606b68f6ed", - "port": "inlabel" - } - }, - { - "source": { - "block": "a9515ba2-54a0-497f-a55e-3a97b52307b5", - "port": "outlabel" - }, - "target": { - "block": "b1b1682c-2c7c-4e71-8068-426364b08096", - "port": "in" - } - }, - { - "source": { - "block": "add79568-8fa3-4976-96d4-5774aa4d5ee6", - "port": "7c97b34e-6809-4280-9a47-7c6565783efd" - }, - "target": { - "block": "93bd8ba4-1388-44e3-9a4f-a805866fa8e2", - "port": "27183891-b385-412b-bc55-21df1dd0280e" - }, - "vertices": [], - "size": 8 - }, - { - "source": { - "block": "add79568-8fa3-4976-96d4-5774aa4d5ee6", - "port": "e292a084-fe45-48cf-8901-25443ea28288" - }, - "target": { - "block": "93bd8ba4-1388-44e3-9a4f-a805866fa8e2", - "port": "6bb28a95-e6e4-4044-9c22-c4404693b6b1" - }, - "vertices": [] - }, - { - "source": { - "block": "3677e940-f241-4c6e-8411-81f6c8044f4a", - "port": "out" - }, - "target": { - "block": "add79568-8fa3-4976-96d4-5774aa4d5ee6", - "port": "00a3945b-8f8b-4145-a89f-5c63356cbb42" - }, - "size": 8 - }, - { - "source": { - "block": "737e0f1e-4964-4029-a40b-baf773e3c886", - "port": "out" - }, - "target": { - "block": "add79568-8fa3-4976-96d4-5774aa4d5ee6", - "port": "ebecf4bb-9a9a-4343-bf58-c328017940a1" - } - }, - { - "source": { - "block": "93bd8ba4-1388-44e3-9a4f-a805866fa8e2", - "port": "09701eaa-8d79-487f-b003-267e04095bb1" - }, - "target": { - "block": "369dcc35-b79e-452f-8686-5a0fc79026ee", - "port": "in" - } - }, - { - "source": { - "block": "98166aa3-0973-4d30-9a46-29a3e4c30a57", - "port": "constant-out" - }, - "target": { - "block": "93bd8ba4-1388-44e3-9a4f-a805866fa8e2", - "port": "671d0b4d-317d-4aef-8422-8b9a400211a4" - } - }, - { - "source": { - "block": "36509a01-2e78-4be1-8055-0fba0ed93b33", - "port": "constant-out" - }, - "target": { - "block": "93bd8ba4-1388-44e3-9a4f-a805866fa8e2", - "port": "76db97e8-ad17-4a4b-b288-73e449659681" - } - } - ] - } - } - }, - "c953202df76fedf2dff67e2add8103df0fefcf72": { - "package": { - "name": "Bufferx1", - "version": "0.1", - "description": "1-byte buffer", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22486.672%22%20height=%22602.137%22%20viewBox=%220%200%20128.76529%20159.31538%22%3E%3Cdefs%3E%3Cmarker%20id=%22a%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20fill=%22green%22%20fill-rule=%22evenodd%22%20stroke=%22green%22%20stroke-width=%22.4pt%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22b%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20fill=%22green%22%20fill-rule=%22evenodd%22%20stroke=%22green%22%20stroke-width=%22.4pt%22/%3E%3C/marker%3E%3C/defs%3E%3Cg%20transform=%22translate(-36.709%20-6.935)%22%3E%3Ctext%20y=%2223.901%22%20x=%2252.692%22%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20font-weight=%22400%22%20font-size=%2224.237%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%221.515%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20y=%2223.901%22%20x=%2252.692%22%20font-weight=%22500%22%3EBUFFER%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%2257.966%22%20y=%2254.038%22%20font-weight=%22400%22%20font-size=%2224.237%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%221.515%22%3E%3Ctspan%20x=%2257.966%22%20y=%2254.038%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3E1%20Byte%3C/tspan%3E%3C/text%3E%3Cpath%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%221.058%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20d=%22M88.111%2080.714h18.065v34.343H88.111z%22/%3E%3Cpath%20d=%22M36.735%2097.51l32.787.406%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%224.233%22%20marker-end=%22url(#a)%22/%3E%3Ccircle%20r=%2212.463%22%20cy=%22153.527%22%20cx=%2249.548%22%20fill=%22#ececec%22%20stroke=%22green%22%20stroke-width=%22.521%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M55.006%20160.654h-2.87V144.54h-5.21v15.99H43.8%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%221.302%22%20stroke-linecap=%22round%22/%3E%3Ccircle%20cx=%22152.75%22%20cy=%22152.608%22%20r=%2212.463%22%20fill=%22#ececec%22%20stroke=%22green%22%20stroke-width=%22.521%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M158.208%20159.736h-2.87V143.62h-5.209v15.989h-3.126%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%221.302%22%20stroke-linecap=%22round%22/%3E%3Cpath%20d=%22M112.404%2097.51l32.788.406%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%224.233%22%20marker-end=%22url(#b)%22/%3E%3C/g%3E%3C/svg%3E", - "otid": 1592069772467 - }, - "design": { - "graph": { - "blocks": [ - { - "id": "9409102d-240c-4352-9abe-791f1d3dc427", - "type": "basic.input", - "data": { - "name": "", - "clock": true - }, - "position": { - "x": 0, - "y": 168 - } - }, - { - "id": "3d49de96-a8cc-4d88-8f57-75e496bdff70", - "type": "basic.inputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true - }, - "position": { - "x": 144, - "y": 168 - } - }, - { - "id": "f7141ca8-af9f-4746-b93b-eaf40e5a7287", - "type": "basic.output", - "data": { - "name": "nc" - }, - "position": { - "x": 1480, - "y": 176 - } - }, - { - "id": "5cadf71f-ae3d-44ee-a2f3-f95d2b2fc416", - "type": "basic.output", - "data": { - "name": "busy", - "virtual": false - }, - "position": { - "x": 1480, - "y": 288 - } - }, - { - "id": "f9363071-27a7-4f7e-9251-5d18cbfcb661", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "full" - }, - "position": { - "x": 1328, - "y": 288 - } - }, - { - "id": "0bc6ea13-3b91-44af-99ca-b8a88c42b845", - "type": "basic.input", - "data": { - "name": "busy", - "clock": false - }, - "position": { - "x": -8, - "y": 296 - } - }, - { - "id": "a0618acf-b3a5-4778-9c40-73ef35c9e5e3", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "busy", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 136, - "y": 296 - } - }, - { - "id": "f6a0cbbe-4f41-4558-a15a-b11cae68a067", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk" - }, - "position": { - "x": 568, - "y": 304 - } - }, - { - "id": "00a3945b-8f8b-4145-a89f-5c63356cbb42", - "type": "basic.input", - "data": { - "name": "din", - "range": "[7:0]", - "clock": false, - "size": 8 - }, - "position": { - "x": -8, - "y": 368 - } - }, - { - "id": "2fce138f-6339-467a-bca4-50f3daea2cd8", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "din", - "range": "[7:0]", - "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true - }, - "position": { - "x": 136, - "y": 368 - } - }, - { - "id": "9b1d07d3-66d2-4f19-8b65-fce699451099", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "din", - "range": "[7:0]", - "size": 8 - }, - "position": { - "x": 568, - "y": 368 - } - }, - { - "id": "7c97b34e-6809-4280-9a47-7c6565783efd", - "type": "basic.output", - "data": { - "name": "dout", - "range": "[7:0]", - "size": 8 - }, - "position": { - "x": 1488, - "y": 368 - } - }, - { - "id": "250b5b98-fbd7-467e-b14a-3c2367f49fc6", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "dout", - "range": "[7:0]", - "size": 8 - }, - "position": { - "x": 1328, - "y": 368 - } - }, - { - "id": "048f5151-87d8-438e-b807-89e45379f059", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "dout", - "range": "[7:0]", - "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true - }, - "position": { - "x": 888, - "y": 392 - } - }, - { - "id": "ebecf4bb-9a9a-4343-bf58-c328017940a1", - "type": "basic.input", - "data": { - "name": "load", - "clock": false - }, - "position": { - "x": -8, - "y": 440 - } - }, - { - "id": "da1430f6-4614-47c2-957e-e3d9c28a1107", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "load", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true - }, - "position": { - "x": 136, - "y": 440 - } - }, - { - "id": "9fab6e1c-2098-4655-97ac-7d984af752aa", - "type": "basic.outputLabel", - "data": { - "blockColor": "greenyellow", - "name": "transmit", - "oldBlockColor": "greenyellow" - }, - "position": { - "x": 1328, - "y": 448 - } - }, - { - "id": "e292a084-fe45-48cf-8901-25443ea28288", - "type": "basic.output", - "data": { - "name": "txmit" - }, - "position": { - "x": 1488, - "y": 448 - } - }, - { - "id": "caf3ea8d-b0ab-41e9-b5e2-483c88af018e", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk" - }, - "position": { - "x": 768, - "y": 488 - } - }, - { - "id": "2e58e7ea-7227-4e3a-aa72-ebf8449d7dea", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk" - }, - "position": { - "x": 592, - "y": 544 - } - }, - { - "id": "e7c8154d-0273-4360-ba92-9ff7ef997c43", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "full", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true - }, - "position": { - "x": 1096, - "y": 584 - } - }, - { - "id": "e6835d26-38af-46c6-95d7-2b812807d733", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "load" - }, - "position": { - "x": 280, - "y": 584 - } - }, - { - "id": "882b10f5-e60d-4364-9b84-6fd7bcc34f09", - "type": "basic.outputLabel", - "data": { - "blockColor": "greenyellow", - "name": "transmit", - "oldBlockColor": "greenyellow" - }, - "position": { - "x": 776, - "y": 672 - } - }, - { - "id": "ed09d5d0-0653-49bb-956d-31d182eba03e", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "full" - }, - "position": { - "x": 128, - "y": 680 - } - }, - { - "id": "90a4fcf1-e628-4fa2-a897-f6ff5d9ec518", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk" - }, - "position": { - "x": 1088, - "y": 696 - } - }, - { - "id": "b39be05b-bc4c-4818-886e-45a0e6321d7a", - "type": "basic.inputLabel", - "data": { - "blockColor": "greenyellow", - "name": "transmit", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "greenyellow" - }, - "position": { - "x": 1352, - "y": 776 - } - }, - { - "id": "4934cb58-9165-4df1-ab8d-cce25d31c622", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "busy", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 784, - "y": 808 - } - }, - { - "id": "83c18781-c3fa-4049-9ae3-0c098af203f3", - "type": "35f267d0df6ffcb7fc33753bc9df9cf083642cca", - "position": { - "x": 912, - "y": 808 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "90d72446-1e0c-4cbc-aacf-45f6ae1b23fc", - "type": "89d2342d9664348db3e70e823cacbc8eb24ea3d0", - "position": { - "x": 720, - "y": 376 - }, - "size": { - "width": 96, - "height": 96 - } - }, - { - "id": "57db6a78-0c5c-4642-822e-22335b96f2a5", - "type": "1c7dae7144d376f2ee4896fcc502a29110e2db37", - "position": { - "x": 720, - "y": 584 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "59abbca0-841c-4330-9b9e-9a01e1f66e5d", - "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", - "position": { - "x": 1064, - "y": 792 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "5cf8a623-93ba-46b1-aeed-e677dacca948", - "type": "b959c256104d1064a5ef7b38632ffb6eed3b396f", - "position": { - "x": 912, - "y": 568 - }, - "size": { - "width": 96, - "height": 96 - } - }, - { - "id": "de2c9942-4970-4d39-8726-2bf623926cdb", - "type": "8e2728307baccbf26c01cdb87bcfba8ca64a435c", - "position": { - "x": 1216, - "y": 776 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "bed90867-99ce-46ee-9dea-ab7429901c13", - "type": "35f267d0df6ffcb7fc33753bc9df9cf083642cca", - "position": { - "x": 264, - "y": 680 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "c70e942c-80b7-4927-82b9-fc9497fd2c8f", - "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", - "position": { - "x": 408, - "y": 600 - }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "2f3e8573-2271-4318-bc85-4f7a8863d3b9", - "type": "basic.info", - "data": { - "info": "Empty Buffer \n(There is no byte \nwaiting)", - "readonly": true - }, - "position": { - "x": 416, - "y": 696 - }, - "size": { - "width": 176, - "height": 72 - } - }, - { - "id": "75732690-c25e-4ef2-8bd4-24063b99eccd", - "type": "basic.info", - "data": { - "info": "Byte stored in the \nbuffer, waiting to be \ntransmitted when the \ntransmitter is ready", - "readonly": true - }, - "position": { - "x": 736, - "y": 272 - }, - "size": { - "width": 192, - "height": 80 - } - }, - { - "id": "ae4e35fb-6c45-4358-9da3-fd6001c91dc5", - "type": "basic.info", - "data": { - "info": "Buffer state: \n0: empty \n1: full", - "readonly": true - }, - "position": { - "x": 1024, - "y": 520 - }, - "size": { - "width": 152, - "height": 72 - } - }, - { - "id": "89b7c934-9b29-4cd6-b65e-6a43b4ac918a", - "type": "basic.info", - "data": { - "info": "Transmitter ready", - "readonly": true - }, - "position": { - "x": 912, - "y": 880 - }, - "size": { - "width": 168, - "height": 32 - } - }, - { - "id": "0a843d2d-8d40-45e1-84e1-56278083af19", - "type": "basic.info", - "data": { - "info": "If the transmittter is ready \nand there is a character \nin the buffer: Transmit!", - "readonly": true - }, - "position": { - "x": 1224, - "y": 696 - }, - "size": { - "width": 248, - "height": 72 - } - }, - { - "id": "dd4a29f2-1762-4fac-9def-299bdae4f72f", - "type": "basic.info", - "data": { - "info": "Serial transmitter state", - "readonly": true - }, - "position": { - "x": 56, - "y": 272 - }, - "size": { - "width": 208, - "height": 40 - } - } - ], - "wires": [ - { - "source": { - "block": "4934cb58-9165-4df1-ab8d-cce25d31c622", - "port": "outlabel" - }, - "target": { - "block": "83c18781-c3fa-4049-9ae3-0c098af203f3", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - }, - "vertices": [] - }, - { - "source": { - "block": "882b10f5-e60d-4364-9b84-6fd7bcc34f09", - "port": "outlabel" - }, - "target": { - "block": "5cf8a623-93ba-46b1-aeed-e677dacca948", - "port": "86eb8c81-17fc-4371-bd21-51f429191f3c" - }, - "vertices": [] - }, - { - "source": { - "block": "5cf8a623-93ba-46b1-aeed-e677dacca948", - "port": "1cb167a4-9e2a-416b-803e-da7b6151eaa5" - }, - "target": { - "block": "e7c8154d-0273-4360-ba92-9ff7ef997c43", - "port": "inlabel" - }, - "vertices": [] - }, - { - "source": { - "block": "ed09d5d0-0653-49bb-956d-31d182eba03e", - "port": "outlabel" - }, - "target": { - "block": "bed90867-99ce-46ee-9dea-ab7429901c13", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - }, - "vertices": [] - }, - { - "source": { - "block": "de2c9942-4970-4d39-8726-2bf623926cdb", - "port": "1d2e403f-0fa6-41fd-83a9-4f309eadd855" - }, - "target": { - "block": "b39be05b-bc4c-4818-886e-45a0e6321d7a", - "port": "inlabel" - }, - "vertices": [] - }, - { - "source": { - "block": "9409102d-240c-4352-9abe-791f1d3dc427", - "port": "out" - }, - "target": { - "block": "3d49de96-a8cc-4d88-8f57-75e496bdff70", - "port": "inlabel" - }, - "vertices": [] - }, - { - "source": { - "block": "f6a0cbbe-4f41-4558-a15a-b11cae68a067", - "port": "outlabel" - }, - "target": { - "block": "90d72446-1e0c-4cbc-aacf-45f6ae1b23fc", - "port": "096f61b6-6d5c-4907-9512-e65b25969458" - } - }, - { - "source": { - "block": "2e58e7ea-7227-4e3a-aa72-ebf8449d7dea", - "port": "outlabel" - }, - "target": { - "block": "57db6a78-0c5c-4642-822e-22335b96f2a5", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" - } - }, - { - "source": { - "block": "00a3945b-8f8b-4145-a89f-5c63356cbb42", - "port": "out", - "size": 8 - }, - "target": { - "block": "2fce138f-6339-467a-bca4-50f3daea2cd8", - "port": "inlabel" - }, - "size": 8 - }, - { - "source": { - "block": "9b1d07d3-66d2-4f19-8b65-fce699451099", - "port": "outlabel" - }, - "target": { - "block": "90d72446-1e0c-4cbc-aacf-45f6ae1b23fc", - "port": "42b35cc2-aa64-4e66-be42-169958246799", - "size": 8 - }, - "size": 8 - }, - { - "source": { - "block": "ebecf4bb-9a9a-4343-bf58-c328017940a1", - "port": "out" - }, - "target": { - "block": "da1430f6-4614-47c2-957e-e3d9c28a1107", - "port": "inlabel" - } - }, - { - "source": { - "block": "e6835d26-38af-46c6-95d7-2b812807d733", - "port": "outlabel" - }, - "target": { - "block": "c70e942c-80b7-4927-82b9-fc9497fd2c8f", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - } - }, - { - "source": { - "block": "90d72446-1e0c-4cbc-aacf-45f6ae1b23fc", - "port": "d3e4f800-c611-4f65-88e7-8b7d2def0021", - "size": 8 - }, - "target": { - "block": "048f5151-87d8-438e-b807-89e45379f059", - "port": "inlabel" - }, - "size": 8 - }, - { - "source": { - "block": "250b5b98-fbd7-467e-b14a-3c2367f49fc6", - "port": "outlabel" - }, - "target": { - "block": "7c97b34e-6809-4280-9a47-7c6565783efd", - "port": "in", - "size": 8 - }, - "size": 8 - }, - { - "source": { - "block": "caf3ea8d-b0ab-41e9-b5e2-483c88af018e", - "port": "outlabel" - }, - "target": { - "block": "5cf8a623-93ba-46b1-aeed-e677dacca948", - "port": "9f09a4af-8f7a-45c3-af7b-293a244e76d9" - } - }, - { - "source": { - "block": "90a4fcf1-e628-4fa2-a897-f6ff5d9ec518", - "port": "outlabel" - }, - "target": { - "block": "de2c9942-4970-4d39-8726-2bf623926cdb", - "port": "4196184b-4a60-493b-bcc6-c95958483683" - } - }, - { - "source": { - "block": "9fab6e1c-2098-4655-97ac-7d984af752aa", - "port": "outlabel" - }, - "target": { - "block": "e292a084-fe45-48cf-8901-25443ea28288", - "port": "in" - } - }, - { - "source": { - "block": "0bc6ea13-3b91-44af-99ca-b8a88c42b845", - "port": "out" - }, - "target": { - "block": "a0618acf-b3a5-4778-9c40-73ef35c9e5e3", - "port": "inlabel" - }, - "vertices": [] - }, - { - "source": { - "block": "f9363071-27a7-4f7e-9251-5d18cbfcb661", - "port": "outlabel" - }, - "target": { - "block": "5cadf71f-ae3d-44ee-a2f3-f95d2b2fc416", - "port": "in" - } - }, - { - "source": { - "block": "83c18781-c3fa-4049-9ae3-0c098af203f3", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" - }, - "target": { - "block": "59abbca0-841c-4330-9b9e-9a01e1f66e5d", - "port": "97b51945-d716-4b6c-9db9-970d08541249" - }, - "vertices": [] - }, - { - "source": { - "block": "5cf8a623-93ba-46b1-aeed-e677dacca948", - "port": "1cb167a4-9e2a-416b-803e-da7b6151eaa5" - }, - "target": { - "block": "59abbca0-841c-4330-9b9e-9a01e1f66e5d", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - }, - "vertices": [] - }, - { - "source": { - "block": "57db6a78-0c5c-4642-822e-22335b96f2a5", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" - }, - "target": { - "block": "5cf8a623-93ba-46b1-aeed-e677dacca948", - "port": "3ae2d46d-7981-497a-899f-b60bfae0f43e" - }, - "vertices": [] - }, - { - "source": { - "block": "59abbca0-841c-4330-9b9e-9a01e1f66e5d", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" - }, - "target": { - "block": "de2c9942-4970-4d39-8726-2bf623926cdb", - "port": "b6426b43-dcda-418d-b6d3-4764b5bc0b25" - }, - "vertices": [] - }, - { - "source": { - "block": "c70e942c-80b7-4927-82b9-fc9497fd2c8f", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" - }, - "target": { - "block": "57db6a78-0c5c-4642-822e-22335b96f2a5", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" - }, - "vertices": [] - }, - { - "source": { - "block": "c70e942c-80b7-4927-82b9-fc9497fd2c8f", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" - }, - "target": { - "block": "90d72446-1e0c-4cbc-aacf-45f6ae1b23fc", - "port": "065ea371-8398-43b3-8341-287c234a3acb" - }, - "vertices": [ - { - "x": 536, - "y": 568 - } - ] - }, - { - "source": { - "block": "bed90867-99ce-46ee-9dea-ab7429901c13", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" - }, - "target": { - "block": "c70e942c-80b7-4927-82b9-fc9497fd2c8f", - "port": "97b51945-d716-4b6c-9db9-970d08541249" - }, - "vertices": [] - } - ] - } - } - }, - "89d2342d9664348db3e70e823cacbc8eb24ea3d0": { - "package": { - "name": "Registro", - "version": "0.1", - "description": "Registro de 8 bits", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22519.236%22%20height=%22279.911%22%20viewBox=%220%200%20137.38127%2074.059853%22%3E%3Cpath%20d=%22M41.506%2040.152l13.608%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke=%22#000%22%20stroke-width=%221.092%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M34.122%2032.088L24.89%2012.475l-6.45%203.724-2.07-3.583L37.276.546l2.07%203.584-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.772L33.017%2045.02s-2.849-3.695-2.16-6.795c.687-3.1%203.265-6.137%203.265-6.137z%22%20fill=%22red%22%20stroke=%22#000%22%20stroke-width=%221.092%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22translate(-93.518%20-22.665)%20scale(1.09073)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20cx=%22100.602%22%20cy=%2273.815%22%20r=%2214.559%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M81.95%2040.152l13.607%2016.672L88.64%2036.29%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M74.566%2032.088l-9.232-19.613-6.451%203.724-2.069-3.583L77.719.546l2.069%203.584-6.092%203.517%2012.03%2018.223s5.399-2.025%208.535.74c3.137%202.766%202.52%204.92%202.887%204.772L73.46%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M121.637%2040.152l13.608%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M114.253%2032.088l-9.232-19.613-6.45%203.724-2.07-3.583L117.407.546l2.07%203.584-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.772L113.147%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "096f61b6-6d5c-4907-9512-e65b25969458", - "type": "basic.input", - "data": { - "name": "", - "clock": true - }, - "position": { - "x": 80, - "y": 176 - } - }, - { - "id": "d3e4f800-c611-4f65-88e7-8b7d2def0021", - "type": "basic.output", - "data": { - "name": "q", - "range": "[7:0]", - "size": 8 - }, - "position": { - "x": 632, - "y": 248 - } - }, - { - "id": "42b35cc2-aa64-4e66-be42-169958246799", - "type": "basic.input", - "data": { - "name": "", - "range": "[7:0]", - "clock": false, - "size": 8 - }, - "position": { - "x": 80, - "y": 248 - } - }, - { - "id": "065ea371-8398-43b3-8341-287c234a3acb", - "type": "basic.input", - "data": { - "name": "load", - "clock": false - }, - "position": { - "x": 80, - "y": 312 - } - }, - { - "id": "f3b434e4-0c8f-4dd7-90c7-305189a807f1", - "type": "basic.constant", - "data": { - "name": "", - "value": "0", - "local": false - }, - "position": { - "x": 376, - "y": 56 - } - }, - { - "id": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "type": "basic.code", - "data": { - "code": "localparam N = 8;\n\nreg [N-1:0] q = INI;\n\nalways @(posedge clk)\n if (load)\n q <= d;", - "params": [ - { - "name": "INI" - } - ], - "ports": { - "in": [ - { - "name": "clk" - }, - { - "name": "d", - "range": "[7:0]", - "size": 8 - }, - { - "name": "load" - } - ], - "out": [ - { - "name": "q", - "range": "[7:0]", - "size": 8 - } - ] - } - }, - "position": { - "x": 280, - "y": 176 - }, - "size": { - "width": 288, - "height": 200 - } - } - ], - "wires": [ - { - "source": { - "block": "f3b434e4-0c8f-4dd7-90c7-305189a807f1", - "port": "constant-out" - }, - "target": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "INI" - }, - "vertices": [] - }, - { - "source": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "q" - }, - "target": { - "block": "d3e4f800-c611-4f65-88e7-8b7d2def0021", - "port": "in" - }, - "size": 8 - }, - { - "source": { - "block": "42b35cc2-aa64-4e66-be42-169958246799", - "port": "out" - }, - "target": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "d" - }, - "size": 8 - }, - { - "source": { - "block": "065ea371-8398-43b3-8341-287c234a3acb", - "port": "out" - }, - "target": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "load" - } - }, - { - "source": { - "block": "096f61b6-6d5c-4907-9512-e65b25969458", - "port": "out" - }, - "target": { - "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", - "port": "clk" - } - } - ] - } - } - }, - "8e2728307baccbf26c01cdb87bcfba8ca64a435c": { - "package": { - "name": "Subida", - "version": "0.1", - "description": "Detector de flanco de subida. Emite un tic cuando detecta un flanco ascendente", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22363.337%22%20height=%22251.136%22%20viewBox=%220%200%2096.132868%2066.446441%22%3E%3Cdefs%3E%3Cmarker%20orient=%22auto%22%20id=%22a%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20fill=%22red%22%20fill-rule=%22evenodd%22%20stroke=%22red%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3C/defs%3E%3Cg%20transform=%22translate(-63.113%20-50.902)%22%3E%3Cg%20fill=%22none%22%20stroke=%22#00f%22%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M76.611%2083.336l6.027%207.974-5.055%206.03%201.75%201.557M75.371%2083.53l-3.5%207.975-7.97%201.556.583%202.528%22%20stroke-width=%221.058%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M75.907%2083.53V53.588%22%20stroke-width=%223.969%22/%3E%3Cpath%20d=%22M65.118%2063.338l10.688-10.452%2010.351%2010.452%22%20stroke-width=%223.969%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3Cpath%20d=%22M123.88%2069.103c2.17%203.317%204.013%202.718%205.68%200%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22/%3E%3Cpath%20d=%22M132.326%2095.38V51.614h-11.225v43.497%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%221.323%22%20stroke-linecap=%22round%22/%3E%3Cellipse%20cx=%22112.489%22%20cy=%2297.866%22%20rx=%227.009%22%20ry=%222.635%22%20transform=%22rotate(-1.418)%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%22.265%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20cx=%22-140.807%22%20cy=%2291.678%22%20rx=%227.009%22%20ry=%222.635%22%20transform=%22scale(-1%201)%20rotate(-1.418)%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%22.265%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M124.8%2059.416v3.875M128.39%2059.416v3.875%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%22.529%22/%3E%3Cpath%20d=%22M85.794%2074.097h21.381%22%20fill=%22red%22%20stroke=%22red%22%20stroke-width=%222.646%22%20marker-end=%22url(#a)%22/%3E%3Cg%20transform=%22matrix(.842%200%200%20.842%2062.024%2042.68)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "4196184b-4a60-493b-bcc6-c95958483683", - "type": "basic.input", - "data": { - "name": "", - "clock": true - }, - "position": { - "x": 152, - "y": 176 - } - }, - { - "id": "1d2e403f-0fa6-41fd-83a9-4f309eadd855", - "type": "basic.output", - "data": { - "name": "" - }, - "position": { - "x": 624, - "y": 200 - } - }, - { - "id": "b6426b43-dcda-418d-b6d3-4764b5bc0b25", - "type": "basic.input", - "data": { - "name": "", - "clock": false - }, - "position": { - "x": 152, - "y": 232 - } - }, - { - "id": "3b0eca37-3439-41c9-99e7-7ff1e56bb528", - "type": "basic.code", - "data": { - "code": "reg q = 0;\n\nalways @(posedge clk)\n q <= i;\n \nassign o = (~q & i); ", - "params": [], - "ports": { - "in": [ - { - "name": "clk" - }, - { - "name": "i" - } - ], - "out": [ - { - "name": "o" - } - ] - } - }, - "position": { - "x": 336, - "y": 176 - }, - "size": { - "width": 232, - "height": 112 - } - } - ], - "wires": [ - { - "source": { - "block": "b6426b43-dcda-418d-b6d3-4764b5bc0b25", - "port": "out" - }, - "target": { - "block": "3b0eca37-3439-41c9-99e7-7ff1e56bb528", - "port": "i" - } - }, - { - "source": { - "block": "3b0eca37-3439-41c9-99e7-7ff1e56bb528", - "port": "o" - }, - "target": { - "block": "1d2e403f-0fa6-41fd-83a9-4f309eadd855", - "port": "in" - } - }, - { - "source": { - "block": "4196184b-4a60-493b-bcc6-c95958483683", - "port": "out" - }, - "target": { - "block": "3b0eca37-3439-41c9-99e7-7ff1e56bb528", - "port": "clk" - } - } - ] - } - } - }, - "f5dc974ff576804a66c6a60ab920080490117fc3": { - "package": { - "name": "Serial-tx-sysclk", - "version": "0.2", - "description": "Serial transmitter with system clock freq parameter", - "author": "Juan Gonzalez-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22223.269%22%20width=%22293.137%22%20viewBox=%220%200%20274.81662%20209.31615%22%3E%3Cg%20transform=%22translate(347.142%20-102.544)%20scale(1.04907)%22%20stroke=%22#000%22%3E%3Cpath%20d=%22M-170.798%20177.526l.315%2036.011%2040.397-37.263v-33.51z%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M-308.584%20177.892l53.235-35.7%20124.635.628-39.456%2035.7%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Crect%20ry=%223.509%22%20height=%2236.325%22%20width=%22139.039%22%20y=%22178.153%22%20x=%22-308.895%22%20fill=%22#fff%22%20stroke-width=%223.541%22%20stroke-linecap=%22square%22/%3E%3Cg%20transform=%22matrix(1.88858%200%200%201.88858%20-312.436%20138.651)%22%20stroke-width=%22.938%22%20stroke-linecap=%22square%22%3E%3Ccircle%20cy=%2230.367%22%20cx=%2211.326%22%20r=%223.15%22%20fill=%22red%22/%3E%3Ccircle%20cy=%2230.367%22%20cx=%2220.611%22%20r=%223.15%22%20fill=%22#faa%22/%3E%3Ccircle%20cy=%2230.367%22%20cx=%2262.82%22%20r=%223.15%22%20fill=%22green%22/%3E%3Ccircle%20cy=%2230.367%22%20cx=%2230.554%22%20r=%223.15%22%20fill=%22red%22/%3E%3C/g%3E%3C/g%3E%3Ctext%20y=%2228.295%22%20x=%2270.801%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2265.172%22%20letter-spacing=%220%22%20word-spacing=%220%22%20transform=%22scale(.99853%201.00147)%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%221.209%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2228.295%22%20x=%2270.801%22%20font-weight=%22700%22%20font-size=%2237.241%22%3ESerial%3C/tspan%3E%3C/text%3E%3Cg%20transform=%22translate(-49.71%20-39.925)%20scale(2.8106)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22translate(-240.978%20-39.925)%20scale(2.8106)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Ccircle%20cx=%22233.043%22%20cy=%2281.071%22%20r=%2240.92%22%20fill=%22#ececec%22%20stroke=%22green%22%20stroke-width=%221.71%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M261.766%2092.931h-4.696V67.437h-48.103v25.295h-5.116%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%224.275%22%20stroke-linecap=%22round%22/%3E%3Ctext%20y=%22165.6%22%20x=%22108.068%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2265.172%22%20letter-spacing=%220%22%20word-spacing=%220%22%20transform=%22scale(.99853%201.00147)%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%221.209%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%22165.6%22%20x=%22108.068%22%20font-weight=%22700%22%20font-size=%2237.241%22%3ETX%3C/tspan%3E%3C/text%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "09701eaa-8d79-487f-b003-267e04095bb1", - "type": "basic.output", - "data": { - "name": "TX" - }, - "position": { - "x": 960, - "y": 120 - } - }, - { - "id": "4c296e24-7312-407a-8fb0-f3a6d4feb3ab", - "type": "basic.input", - "data": { - "name": "", - "clock": true - }, - "position": { - "x": -16, - "y": 120 - } - }, - { - "id": "27183891-b385-412b-bc55-21df1dd0280e", - "type": "basic.input", - "data": { - "name": "", - "range": "[7:0]", - "clock": false, - "size": 8 - }, - "position": { - "x": -16, - "y": 272 - } - }, - { - "id": "75d4695e-f445-4762-9ae9-c9bf0e51974f", - "type": "basic.output", - "data": { - "name": "busy" - }, - "position": { - "x": 960, - "y": 272 - } - }, - { - "id": "6bb28a95-e6e4-4044-9c22-c4404693b6b1", - "type": "basic.input", - "data": { - "name": "txmit", - "clock": false - }, - "position": { - "x": 0, - "y": 424 - } - }, - { - "id": "42306dfc-8702-4c9a-98d6-56b4c86fff21", - "type": "basic.output", - "data": { - "name": "done" - }, - "position": { - "x": 960, - "y": 424 - } - }, - { - "id": "76db97e8-ad17-4a4b-b288-73e449659681", - "type": "basic.constant", - "data": { - "name": "sclk", - "value": "12000000", - "local": false - }, - "position": { - "x": 344, - "y": -64 - } - }, - { - "id": "671d0b4d-317d-4aef-8422-8b9a400211a4", - "type": "basic.constant", - "data": { - "name": "bps", - "value": "115200", - "local": false - }, - "position": { - "x": 624, - "y": -64 - } - }, - { - "id": "3238443f-338d-4796-b54a-c463c5f191aa", - "type": "basic.code", - "data": { - "code": "//---- Calculate the divisor for achieving the requered BAUDs\n//---- when the system clk is working at SCLK Hertzs\n\nlocalparam DIV = SCLK/BAUD;\n\n//-- Get the number of bits needed for storing the DIV value\nlocalparam N = $clog2(DIV);\n\n//-- It is a counter module DIV\nreg [N-1:0] divcounter = 0;\n\n//-- Cable de reset para el contador\n//-- Comparador que resetea el contador cuando se alcanza el tope\n//-- o cuando el estado del biestable es 0 (apagado)\nwire reset = ov_gen | (state == 0);\n\n//-- Contador con reset\nalways @(posedge clk)\n if (reset)\n divcounter <= 0;\n else\n divcounter <= divcounter + 1;\n\n//-- Hemos llegado al final\nwire ov_gen = (divcounter == DIV-1);\n\n\n\n//-- REGISTRO DESPLAZAMIENTO\n\n//-- Salida serie. Inicialmete a 1 (reposo) \nreg TX = 1;\n\n//-- Registro de desplazamiento de 9 bits\n//-- Inicializado todo a 1s\nreg [8:0] q = 9'h1FF;\n\n//-- La entrada de shift es la salida del generador de baudios\nwire shift = ov_gen;\n\nalways @(posedge clk)\n if (txmit_tic)\n //-- Carga del registro\n q <= {data, 1'b0};\n \n else if (shift)\n //-- Desplazamiento. Rellenar con 1 (bit de stop)\n q <= {1'b1, q[8:1]};\n \n//-- Sacar el bit de menor peso por serial-out \nwire so;\nassign so = q[0];\n\n//-- La salida tx la registramos\nalways @(posedge clk)\n TX <= so;\n \n//-- La señal de entrada txmit se pasa por un \n//-- detector de flancos de subida para generar un tic\nreg q_re = 0;\nwire txmit_tic;\n\nalways @(posedge clk)\n q_re <= txmit;\n \nassign txmit_tic = (~q_re & txmit); \n\n\n\n//-- Estado de transmisor\n//-- 0: Parado\n//-- 1: Ocupado (transmitiendo)\nreg state = 0;\n \nalways @(posedge clk)\n //-- Empieza la transmision: ocupado\n if (txmit)\n state <= 1'b1;\n \n //-- Acaba la transmision: libre \n else if (ov)\n state <= 1'b0;\n\n//-- Contador de bits enviados\nreg [3:0] bits = 0;\nalways @(posedge clk)\n //-- Si la cuenta ha terminado... volver a 0\n if (ov)\n bits <= 2'b00;\n else\n if (shift)\n bits <= bits + 1;\n\n//-- Comprobar si se ha transmitido el último bit (overflow)\n//-- 1 bit de start + 8 bits de datos + 1 bit de stop\nwire ov = (bits == 10);\n\n//-- La señal de ocupado es el estado del transmisor\nassign busy = state;\n\n//-- La señal de done es la de overflow pero retrasada un\n//-- periodo de reloj del sistema y que el biestable \n//-- llegue al estado de parado antes de que se \n//-- empiece otra transmision\n\nreg done=0;\n\nalways @(posedge clk)\n done <= ov;\n", - "params": [ - { - "name": "SCLK" - }, - { - "name": "BAUD" - } - ], - "ports": { - "in": [ - { - "name": "clk" - }, - { - "name": "data", - "range": "[7:0]", - "size": 8 - }, - { - "name": "txmit" - } - ], - "out": [ - { - "name": "TX" - }, - { - "name": "busy" - }, - { - "name": "done" - } - ] - } - }, - "position": { - "x": 248, - "y": 72 - }, - "size": { - "width": 560, - "height": 456 - } - } - ], - "wires": [ - { - "source": { - "block": "3238443f-338d-4796-b54a-c463c5f191aa", - "port": "TX" - }, - "target": { - "block": "09701eaa-8d79-487f-b003-267e04095bb1", - "port": "in" - } - }, - { - "source": { - "block": "671d0b4d-317d-4aef-8422-8b9a400211a4", - "port": "constant-out" - }, - "target": { - "block": "3238443f-338d-4796-b54a-c463c5f191aa", - "port": "BAUD" - } - }, - { - "source": { - "block": "4c296e24-7312-407a-8fb0-f3a6d4feb3ab", - "port": "out" - }, - "target": { - "block": "3238443f-338d-4796-b54a-c463c5f191aa", - "port": "clk" - } - }, - { - "source": { - "block": "27183891-b385-412b-bc55-21df1dd0280e", - "port": "out" - }, - "target": { - "block": "3238443f-338d-4796-b54a-c463c5f191aa", - "port": "data" - }, - "size": 8 - }, - { - "source": { - "block": "6bb28a95-e6e4-4044-9c22-c4404693b6b1", - "port": "out" - }, - "target": { - "block": "3238443f-338d-4796-b54a-c463c5f191aa", - "port": "txmit" - } - }, - { - "source": { - "block": "3238443f-338d-4796-b54a-c463c5f191aa", - "port": "busy" - }, - "target": { - "block": "75d4695e-f445-4762-9ae9-c9bf0e51974f", - "port": "in" - } - }, - { - "source": { - "block": "3238443f-338d-4796-b54a-c463c5f191aa", - "port": "done" - }, - "target": { - "block": "42306dfc-8702-4c9a-98d6-56b4c86fff21", - "port": "in" - } - }, - { - "source": { - "block": "76db97e8-ad17-4a4b-b288-73e449659681", - "port": "constant-out" - }, - "target": { - "block": "3238443f-338d-4796-b54a-c463c5f191aa", - "port": "SCLK" - } - } - ] - } - } - }, - "78be078f7f5f29f81b4664a2bc3f6c05c1daf4f2": { - "package": { - "name": "Bus8-Split-1-7", - "version": "0.1", - "description": "Bus8-Split-half: Split the 8-bits bus into two buses of 1 and 7 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": { - "graph": { - "blocks": [ - { - "id": "6461d1f4-0bf2-46a4-8c57-46d4419eba2b", - "type": "basic.output", - "data": { - "name": "1" - }, - "position": { - "x": 584, - "y": 104 - } - }, - { - "id": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e", - "type": "basic.input", - "data": { - "name": "", - "range": "[7:0]", - "clock": false, - "size": 8 - }, - "position": { - "x": 120, - "y": 208 - } - }, - { - "id": "7851244f-72ce-4b5b-a481-c1202933c8be", - "type": "basic.output", - "data": { - "name": "0", - "range": "[6:0]", - "size": 7 - }, - "position": { - "x": 584, - "y": 272 - } - }, - { - "id": "16e78204-213e-4833-9096-89d735307ec2", - "type": "basic.code", - "data": { - "code": "assign o1 = i[7];\nassign o0 = i[6:0];", - "params": [], - "ports": { - "in": [ - { - "name": "i", - "range": "[7:0]", - "size": 8 - } - ], - "out": [ - { - "name": "o1" - }, - { - "name": "o0", - "range": "[6:0]", - "size": 7 - } - ] - } - }, - "position": { - "x": 272, - "y": 176 - }, - "size": { - "width": 240, - "height": 120 - } - } - ], - "wires": [ - { - "source": { - "block": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i" - }, - "size": 8 - }, - { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o0" - }, - "target": { - "block": "7851244f-72ce-4b5b-a481-c1202933c8be", - "port": "in" - }, - "size": 7 - }, - { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o1" - }, - "target": { - "block": "6461d1f4-0bf2-46a4-8c57-46d4419eba2b", - "port": "in" - } - } - ] - } - } - }, - "e36b8d684deb5171d30b27e37122be65d9fa0edf": { - "package": { - "name": "syscounter-rst-32bits", - "version": "0.1", - "description": "32-bits Syscounter with reset", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22302.843%22%20height=%22186.504%22%20viewBox=%220%200%2080.127205%2049.345746%22%3E%3Cdefs%3E%3Cmarker%20id=%22a%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20fill=%22#00f%22%20fill-rule=%22evenodd%22%20stroke=%22#00f%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3C/defs%3E%3Cg%20transform=%22translate(-65.585%20-4.54)%22%3E%3Cpath%20d=%22M138.803%2048.49V16.91%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%222.806%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20marker-end=%22url(#a)%22/%3E%3Crect%20rx=%222.807%22%20ry=%222.807%22%20y=%225.289%22%20x=%2299.747%22%20height=%2247.849%22%20width=%2229.538%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%221.497%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%2240.921%22%20x=%22108.575%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%228.982%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%221.497%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2240.921%22%20x=%22108.575%22%20font-weight=%22700%22%20font-size=%2235.656%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M100.868%2030.283h27.764%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%222.245%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20rx=%222.807%22%20ry=%222.807%22%20y=%225.289%22%20x=%2266.333%22%20height=%2247.849%22%20width=%2229.538%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%221.497%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%2240.921%22%20x=%2273.223%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%228.982%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%221.497%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2240.921%22%20x=%2273.223%22%20font-weight=%22700%22%20font-size=%2235.656%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M67.454%2030.283h27.764%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%222.245%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3C/svg%3E", - "otid": 1618592156430 - }, - "design": { - "graph": { - "blocks": [ - { - "id": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", - "type": "basic.input", - "data": { - "name": "", - "clock": true - }, - "position": { - "x": 216, - "y": -120 - } - }, - { - "id": "0a772657-8018-424d-8f04-75d3ffff3692", - "type": "basic.inputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true - }, - "position": { - "x": 368, - "y": -120 - } - }, - { - "id": "b9359b10-b14f-4dd7-adf9-3f4f22bc65e6", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 384, - "y": -32 - } - }, - { - "id": "e3b982b0-0eab-49a0-91c4-859749c96026", - "type": "basic.outputLabel", - "data": { - "name": "q", - "range": "[31:0]", - "pins": [ - { - "index": "31", - "name": "", - "value": "" - }, - { - "index": "30", - "name": "", - "value": "" - }, - { - "index": "29", - "name": "", - "value": "" - }, - { - "index": "28", - "name": "", - "value": "" - }, - { - "index": "27", - "name": "", - "value": "" - }, - { - "index": "26", - "name": "", - "value": "" - }, - { - "index": "25", - "name": "", - "value": "" - }, - { - "index": "24", - "name": "", - "value": "" - }, - { - "index": "23", - "name": "", - "value": "" - }, - { - "index": "22", - "name": "", - "value": "" - }, - { - "index": "21", - "name": "", - "value": "" - }, - { - "index": "20", - "name": "", - "value": "" - }, - { - "index": "19", - "name": "", - "value": "" - }, - { - "index": "18", - "name": "", - "value": "" - }, - { - "index": "17", - "name": "", - "value": "" - }, - { - "index": "16", - "name": "", - "value": "" - }, - { - "index": "15", - "name": "", - "value": "" - }, - { - "index": "14", - "name": "", - "value": "" - }, - { - "index": "13", - "name": "", - "value": "" - }, - { - "index": "12", - "name": "", - "value": "" - }, - { - "index": "11", - "name": "", - "value": "" - }, - { - "index": "10", - "name": "", - "value": "" - }, - { - "index": "9", - "name": "", - "value": "" - }, - { - "index": "8", - "name": "", - "value": "" - }, - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia" - }, - "position": { - "x": 1040, - "y": -32 - } - }, - { - "id": "64fc1d76-0958-4c4a-a4d8-beaec42e695b", - "type": "basic.output", - "data": { - "name": "q", - "range": "[31:0]", - "pins": [ - { - "index": "31", - "name": "", - "value": "" - }, - { - "index": "30", - "name": "", - "value": "" - }, - { - "index": "29", - "name": "", - "value": "" - }, - { - "index": "28", - "name": "", - "value": "" - }, - { - "index": "27", - "name": "", - "value": "" - }, - { - "index": "26", - "name": "", - "value": "" - }, - { - "index": "25", - "name": "", - "value": "" - }, - { - "index": "24", - "name": "", - "value": "" - }, - { - "index": "23", - "name": "", - "value": "" - }, - { - "index": "22", - "name": "", - "value": "" - }, - { - "index": "21", - "name": "", - "value": "" - }, - { - "index": "20", - "name": "", - "value": "" - }, - { - "index": "19", - "name": "", - "value": "" - }, - { - "index": "18", - "name": "", - "value": "" - }, - { - "index": "17", - "name": "", - "value": "" - }, - { - "index": "16", - "name": "", - "value": "" - }, - { - "index": "15", - "name": "", - "value": "" - }, - { - "index": "14", - "name": "", - "value": "" - }, + "name": "14-bits-gen-constant", + "version": "0.1", + "description": "Generic: 14-bits generic constant", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22145.608%22%20height=%22247.927%22%20viewBox=%220%200%20136.50729%20232.43134%22%3E%3Cg%20style=%22line-height:0%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%3E%3Cpath%20d=%22M56.012%20146.905q9.055%206.708%2020.459%2017.105%2011.404%2010.062%2022.472%2021.8%2011.403%2011.74%2021.465%2024.15%2010.062%2012.074%2016.1%2022.471h-32.87q-6.372-10.397-15.763-21.13-9.392-11.068-20.124-21.13-10.398-10.062-21.13-18.447-10.398-8.385-18.783-14.087v74.794H0V4.695L27.838%200v141.874q18.447-16.1%2036.894-31.863%2018.447-16.1%2033.205-33.205h32.533q-14.422%2017.106-34.881%2035.217-20.124%2018.112-39.577%2034.882z%22%20style=%22line-height:1.25%22%20font-size=%22335.399%22%20font-weight=%22400%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22/%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "eecc16dc-2b03-4f7b-bc80-7bbc3012a333", + "type": "basic.output", + "data": { + "name": "", + "virtual": true, + "range": "[13:0]", + "pins": [ { "index": "13", - "name": "", - "value": "" + "name": "NULL", + "value": "NULL" }, { "index": "12", - "name": "", - "value": "" + "name": "NULL", + "value": "NULL" }, { "index": "11", - "name": "", - "value": "" + "name": "NULL", + "value": "NULL" }, { "index": "10", - "name": "", - "value": "" + "name": "NULL", + "value": "NULL" }, { "index": "9", - "name": "", - "value": "" + "name": "NULL", + "value": "NULL" }, { "index": "8", - "name": "", - "value": "" + "name": "NULL", + "value": "NULL" }, { "index": "7", - "name": "", - "value": "" + "name": "NULL", + "value": "NULL" }, { "index": "6", - "name": "", - "value": "" + "name": "NULL", + "value": "NULL" }, { "index": "5", - "name": "", - "value": "" + "name": "NULL", + "value": "NULL" }, { "index": "4", - "name": "", - "value": "" + "name": "NULL", + "value": "NULL" }, { "index": "3", - "name": "", - "value": "" + "name": "NULL", + "value": "NULL" }, { "index": "2", - "name": "", - "value": "" + "name": "NULL", + "value": "NULL" }, { "index": "1", - "name": "", - "value": "" + "name": "NULL", + "value": "NULL" }, { "index": "0", - "name": "", - "value": "" + "name": "NULL", + "value": "NULL" + } + ] + }, + "position": { + "x": 968, + "y": 248 + } + }, + { + "id": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "type": "basic.constant", + "data": { + "name": "", + "value": "0", + "local": false + }, + "position": { + "x": 728, + "y": 128 + } + }, + { + "id": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "type": "basic.code", + "data": { + "ports": { + "in": [], + "out": [ + { + "name": "k", + "range": "[13:0]", + "size": 14 + } + ] + }, + "params": [ + { + "name": "VALUE" } ], - "virtual": false + "code": "assign k = VALUE;" }, "position": { - "x": 1208, - "y": -32 + "x": 672, + "y": 248 + }, + "size": { + "width": 208, + "height": 64 + } + } + ], + "wires": [ + { + "source": { + "block": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "port": "constant-out" + }, + "target": { + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "VALUE" } }, { - "id": "88e0e872-0460-4ecc-bf26-8a7a5598a024", + "source": { + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "k" + }, + "target": { + "block": "eecc16dc-2b03-4f7b-bc80-7bbc3012a333", + "port": "in" + }, + "size": 14 + } + ] + } + } + }, + "76edf4205ccb9e56d286f0315a959a27a34b5c04": { + "package": { + "name": "Mem-16KB-sample-machine", + "version": "0.3", + "description": "16KB memory sample machine. Captura the input data and store it in the memory", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20viewBox=%220%200%2088.570022%20126.13218%22%20height=%22476.72%22%20width=%22334.753%22%3E%3Cg%20transform=%22translate(-158.43%20-96.411)%22%3E%3Cimage%20xlink:href=%22data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAgM0lEQVR4Xu1dCZBU1bm+PdPTM8CM%20AgMO+yCrAq4oGjWKIIorcYnRlD59saImGlOaqK/UPPeHu5VyjyYuMRu+uFVEjRqX4FNRQURwQVxQ%20YdiGZQYGepZ+33frfK9Oneq+t+/0zHTad/+qU7fv7bt0n/8///L9/znX+1ZTTDHFFFNMMcUUU0wx%20xRRTTDHFFFNMMcUUU0wxxZToofuX8XPo82LqcLaZUhUAMbucraKi4viysrI9jCBkp5gybKBH0un0%20cuy3URC6WwiSXvcRmV9ZVVV1azKZPBvN69+/vzd06FBv2LBh1mkxff31197ixYvJfa+1tfUnHR0d%20x7W1tc3HV2kJQakJQBmZjzYUo99n/qRJk7xTTz3V69WrV5bTY/rmm2+8u+++29u6desO2L0cAnCq%20YXy61AQgYe5bBebvB9XvJRIJ79hjj/VSqZTX3t6e5ZKYBg0a5B133HHenDlzPPRZLQ5VG+a3lpwJ%20kPoH83uT+Ww77rhjCPNjYh+Z/hqK3T5oW9C2obWXlAaQAMCm9SovL/cGDx7sQaWFXBbTTjvt5AsA%20+qwOu7SVSTnOpSgASdBkSjTtPhybkMtioomkyWTjLvmjSK0UncAkJLmMAgDKUwBiqqur81atWkUt%200Bcmc2XJaQCBPtqCvMrKyjztf0wIm9lp1AbjW1paPrIwlUzJaAAJAKgajbYtTwGIaeDAgd6KFSv8%20zmMfloIJcCFf3rOCDT7AKAgAAY78nMCYqC3lB/Q1/Zgy4WB7AERcVAFIiPE333zz6JEjR565ffv2%20Xlu2bKm58847d2psbKQAhGiAmOQr1dTU+J8PPPDAE37wgx8MhgO9BeZg++bNm18588wzXzYQcXtX%20CUGii5ifuuyyy8YD7Fk4YMAAOTHelVde6X300UfejBkzPAhGwG1i5ksA2HdPPfWUd/LJJ7NRczKM%209iOp55577oyzzjrrvwkOGUHIFFsDJIya6nPQQQfdSweGKoyNAgBNIIcmRxQQM15ELcl9oKdU/4yh%202W/sR/anvz98+PD/wqnPozUZc9BeFA3gMv/GG288CgLwaL9+/by+fft6q1ev9gXgqKOO8v/MEUcc%204UOdJUxiUgSmRhv59va3v/2tnztBv9J0+k40Bxe16fLly2effvrpt1EIlCfobg2Q0FYq34J7q6ZN%20mzZ8v/32u5nSKonllhKrPACOyQcofQEonPlZma7GZ6jPFD5v27bN69Onj78/evTon/34xz9+/v77%20719s+NFup5OjOoqJKA7ezjvvPAuM7QuGJkBlyFtXgNkzMbrHUXUx3Utmf/XVVz7zTzrpJL9TTjnl%20FK+EieYrAuO1H8r8nBrgb3/7m1dbW+vNnj3bfzY165AhQ7zPPvvM9wlWrly5DFnD5yAUaQhMB4Qk%20g/My0LxPn3POOQuiOIqJPCDd1IMPPnjiiBEjHiFzObK15Y9Zs2aNn+Ovrq5mKtP74IMPlPjxfvGL%20X3ggCkKpC0AhjNdxfbZb1u9ffPFFb8OGDd4dd9zB+gBv/fr13pgxYzw62OzzTz75hKaWfc5+5jFt%20aX5/hrT7gzQPchQ7awLKZOPB4Nly7CQAbBzlUv38/P7773vQEs0vv/zyckhpNTpkNK6X+i911a/P%20UUe8y2jdI6tgiMj4t956axGFb88996wD0wfRDJDp7G/wQ+l18kJbaoo7jjzyyL8/++yzX8tR7JQG%20EPPRasHQT/FwPkBCwCaJ8zXAhx9+6Esp4lVJqXfDDTf42uDggw/uSVsscjtd+1Gu1/lsETRAkLoP%201whLlizx2+9//3uNbm/8+PHe22+/7e2yyy5ECmluXQ3A5kdeTz/99OlwIOfiVs0mZMwUpAEA6pDx%20fKgEQM6ez4w33niDQuDbLVJzczO/U1hDFdqVjC/cMYt+vYRAx8JUvCtA+Qinew/aeoZ+ZDAjAZ/p%20L730EiMEAkbsY35HXnDLfqdJZn/3poOO1kIB6KwJSAjWBZOXbtq0acK6det4c7v5Dx83bhwZQcEg%20w33mAwFkR7goYE8LghgSpgGiMknfBal7Nff5bIHnsx+5hZPN/vQZrKTaPvvsw/IxagGZYTX1/Qo4%207B8Y/y1RSBiokKIDCN9//upXvzoRUjgMzKxgBMBIgIQQpQwJjElQRymZBgoAnRj9GVzTE/Y5aDQV%20cr39XRRV79p6CQKZlfV7HaPZlPYk0zm6JQDIEHKkL2tqatrcAWIEwMvwfevatWu/efTRR1+wI4BC%20BYA32o625dprr32R/gBab3NdObzSGoAWp+AHp+QfSOVLimWnihSjizGFXu9+7zLVfYaOaWt/lkl0%20Ge+eRy0qbIX7cvoIq484/vjjH4BGbrJCvq1oG9BWo20zqj/U9iZC1H81mY5q1csQ6x+KeHSkHQbS%204VMRA4/RLr3zzjsefYbXXnuNjTbMb98KClf37ne5jkkLZDUX7Nd//vOf3ne/+13vkEMO8Xr37s1I%20gJqAZsHXrtAATB3bTiCPrYXf8NpvfvObG8GHz4UWFuIElkGl/BwO3r+7IaCwfkqlnEH+6LFjx3Kf%20zJc0f9vyAO7IzmfUZ8MW3OO6BweStGd6t912S5Hpb775pjd58mSli8lw5Q3kBBIbGIhrT0QSbgTM%209jGqJ+iMACivX4VM1BnCAOwmW88fy+8XLFjAH9R49NFHPwNPNA3I8mgcHwTp/bYIQC47HmYqcp7j%20OpiuxnjssceW3X777f/D/YcffvhwhIH1+++/vwYd+10aQELBRuRw3/PPP38s0vGLFQayRRWASrQ+%20YF6N7BCbGwYyTUnmm+rf/n/+859P5+df//rX3scff+ypIORbQLkAnSAH0T2WCxDKeg5yLBP/9Kc/%20TbSdwHnz5tEcKMyWj2BjATQhHIzjcJtPjA/XHlUDCAPoDa9T6kXhhv9gMXbhwoW0RYxTqf4JBUtA%205PCUPBLo2m2X+focgQLxAWL+ep4YTJyFnxsaGuhnMSlE6F0mVlv6ATzOaKHNDOLyzkQBSgKVY87a%20vXBEzqVU8eZ8iJhKdJB2CRgBpZPHZaPowRbTB3DVaqHXh4V67oiOKgTaJ+MY40sA5PlL8xJsI/PT%20mE+YIlDEczTYYG7pN9BJnHfvvfd+lk9NYTIkBGy9/PLLn5syZcoqPHRnaIIqU6yYAGMpWeWoA9h1%203333HQfG0ymk6uEPlQAwj01hKVUBEEPz9eZzYQt5h6LLli0jw3k+4XRXALjPnMt6wL3zySOc126u%207QBrtmOQrnnmmWfeVh1hZ5NBHWS+iS03zp8//2O0tSY3UG5a6phjjhkPp2Sc4n/lsCWRaMUe/WJM%20IdcGaQD+vyBgxx7pYc/loGHmz36WgCBbAJgXGAwsoOamm26aJ0ab1kJ+oTWibdF3hQhAC8KQjtNO%20O+0QPPBgSFh5whCksgwmYJjtINIUfPnll2SARkexBUCd35UCQIa710SCjd3vlTHl6Hc1Co9xS5yf%20dl8a4fDDD5+2xx57jAAPVA/gI7eoKVz4/PPPz4EWkAB0RBWAhGl8SM0FF1xwPx4yXo6dtgR7Nm7c%20qOofZgVZrsSctf8ZxOOlYv+DGGcLM7dhYV02LRAaKXz66adZsQH6A6NGjfK++OILf4ChLoMCwHQx%20ne8x6G95/0oaTdh1112PQ6Rw8vXXX/9GZ6FgqviKH/7wh6cB5h2fDQPgD6Dal+3HH6D6WoLpzSuQ%20H6hFR00pCQEITwa5zHcdvygYQFYBBYbPweQy33/ek08+OR9+1DqM9tqJEyfuB6bT0dM6C9II8hNk%20LmrgnJ+Nr98xvGyPggMIBOoNaZqZCwOgACgWfe+99wgHUyv0wxz3fvBOK1naDCqeAES3wdkydmJ6%20ULVPlJSve4whm7z+rNfuvffew1BnMYz9iMGYBhiUAj7AwWfnB1xAiP1eTx4aHKA1qgmoQOuFZMM2%20Le0iVS8hkF2aO3euX6Sw++678/gQNP04tmJhAO4oDTtH4Wouu5+rHiDoWNjz+Tyqdqn+XGsGDGEx%20CJnKfqYJIBhUX19PbMBGAwXPU5swZE8aAWg2g7o9igDwghTU+st4yIEo8qR614PUuNYPcQB2gh0B%20KEnEzz2NAopRQUwPvc62+7YwhJHLePd+7rmI5VnxG6hdpGnJZEHAsPF+4ccLL7ygzKsGp2oFeXyp%20GchlnU0Hd1xzzTXzZs2add306dMPwg1T6AS/yIC1AHhgAn+gDAKyN+yRoGEJQE+HgTbTIwhA4LlK%20bbueea578ry8439oVwI2YfWECv2k1qVdOcqX4bNqAjIQlAySRh1pELTywoceeuhFjfqoAkCOtZmc%208mbY8vfQvsF+jSTKXFcJ3P80FSdasCVbT6OAfE6AAETzB8TMELJHdyR4mBEUwrW8tAqFRFgAeKuq%20HxZ/1iE8nwsHkuq2VcCdUfmN5J3hYVvUbGDGXNTCm8ABqcVExYGQsio0nl9ObYBc9QGIS4fpB0kA%20ILHqCDGm2GrfPTdSvt9toKAQMBQSpsqX05cHUdXbA0ueP0PAHe67776TkSz6K/q8FfdrY8PnXsBi%20Nr/yyiubyMNOFYWqnBiFIMfAAbnBjQA0H4CMFvYPtUMcm99zCpPjHUemqPa7K+bm2aPfbi4zXSaH%20ZvtssAfMsZy+cGKU8Prrr8u790w6WFp28HnnnXc+czJ2JMDt2Wef/QjC+EsiQcH2TKCf/vSnoydM%20mEDm55wPIPWPknCqpmY4i58atTUGm2qZgH/xtK6Y7gI/dtMxCbUNCGk/0PaT6eifKMzX/IA0/IWl%20uI4O9xhA8tUHHHAAGc0+Z3OxAG4ZIfzb7373u0U/+tGPHrDKwzKhGkBz/hBrni6VLqbbn/VgxPy0%20aXT81iFV2c7vlL9mKxIFedZBJVuuANgYiC0IWa9xBcl2hOnxa7Z0BGJ+IAVktZ1C9eqrr34BQGgS%20J+DstddedmGIRr6azAUHYq+gxFAyFwYAhlbxB8vDd6Fgph5ZnkxnBhlBerUjEaeOxHcMGYVs9SST%20XTXunhNUjp1LACT4OuYyOFeuwN5nH3WK+boe4NpkMpU8QG6GU8c4SYSwO7Ot2YpCOCiJMFYRC5Av%20EMUEpABQLCHowHBF8/5tIu6PQlECEtQGFBTNExDzu0MAwpgpFet+F8z4cAFwr8l79EMrkhkF9YVU%20vJjNmgCG2iy+Yf/zmO1n0G8gwTfYbkVuiUg4wK233roIocYcqJyD8cBBkmp1Do41IzlBhldbtqi7%20BUCMCMvURREAXeMCP3axRdSmkS9MpCBBp++AbKwPCilFvMMOO6QBCDUCgh+kCEihMPiyEY7466gL%20fKJTOIBSwZjd+zi2LErsh1apKiFeN3PmzJFXXXXVLI4ONcs77Q4BiFKCnU0AwkZ8wPGiMF8CYDt6%203FcVdurxxx9fftttt82x5gZ0GOx/o5kfsDXIASQlA0CgJrQNmIo0GGqmL6SrEq2cNQE1oDPOOMNO%20FPFHUvq6QwDEvDDmh2mIfBnsRgNhQuPmDKj2HeYXLADC/O0ld7iG0IHAFRrhiK8jBsCqIPAijRxN%20K2oCGslDGwyKBAQh3kxdcskls4Et7207f3LyiEopSmBCg3XrBDlce1kA5a3m3a0oDxtv2+9sQpS3%20AMj/IMgjh68ryHj/nC1MH4BRAZNzFAiqetZsHMucjJw/YQFQ/w1wFn+C6myiuB1RcAC2sl/+8pdX%20wM67zBfmLxDIF4SlS5d6tEfwTL8CQOSvC1CQAIQzsKsFINu9o5gHxfnsj67WfGT6avCigWX3eMZw%20ONx08MgHNTcEZBsEMz0bAjA1ihOoKWG9MPIPs3EAu5FUC0AQCCaCKGB/ABX9oY5YKl6IBsjmXefj%202UcVAG2D7mufn2ufI94N9bpSANi/dejbOo5sMp9l44DoyQOZBxcHUCZ2l1tuuWVfDOZ5uXyBZI4J%20IdX4MzVcm8bWAPqsCSFaFwDlR5ocomyVmNYVDl4+4E22e0URAp0fKgDudWQ6R77sc3cQw0j5W0Bn%20WSPgm1xUCPG4iwOo0VQTla0jT+ULBGoAe0oY2lrUAwxEuKFRL/LVHNEoAD+Cg9kEQ0b3AcLj8rDz%20omiTIEdOlJXZrhDQBrP+UdhDdxHnY7hRAMwBcQD6AxRCt8BUi3RsRV3gEmEBkSaGYC7aLUgo/BwP%20GOJIvyYhNIL5/dHo/EkACBw5AhCZ8Z3VBtrm60i69wtkvnsNRxdr+XR+dxL7VQIgGB7amRnBZvgC%201RRABwsgGLQBcwcell8XFQdIo7hzKdq12B9gagHKhQPAIemDdQG+B+9TDiG3MhH5hoFBuHoU2DYb%20sztjXkKZr+JQ+DkclT2V6+AAk523cQGO8hRqAh7FHMxG4QDWWgHr0b4JWysgmQsEQtuMdOIQePf7%20EHTgqiBs6IAylCmPB0pYazkg/DFkJrdibHeM+nyAHzdTx2ORwkqX6fpMJI7MVxlXTxEdTJob8IH4%20ggSAWjh1xRVXHIEw/CPwhrzrIBaAz61AY1fAAfyQwhBFADISgj/+8Y8XA+s/xnUCyWyqPjJY8wEB%20OvDHsMlOhavjcMZHdwjdz+Fz/NTC7D4FW/aex3o6s0lnjn3PWgtlArlPSHggVmEbyLDQxQJQyLMP%20VhI5KbQs3MUALr300t3g3dvMd2sB1DhT1fcHnnjiiQWQ0jTO3x+d3j+LKg5KowYlVKLCv0EZw7yF%20T0zWdGsCMPq+GHTPPffM5fb73//+RDjg9ZivybUZqA1yYgHEcTBJ9ORzzz33/rxwAM35w41HK8HD%20G7lND+V8AGqBzz//fC1CkmGQ0ibkvSukItGij/rw40HMLhROVpO3rVCqaIyXFoPJHQbTm0IWdhPg%20efa9qoPCagJ2dsJABwfI8ro3jOKBzOgx3Wvj/ZrpQ3XDV50yHJw6dSqxgPEqB4MmYDawMyO5s0IQ%20ZRHH0BBTWkjhF4RZPkVRi1sOPfTQ3ckPMpYTQ7B4J00vcQGtHqowXIJAU81ooNKE9Vt4q7xwAEw8%20+AATPbZiejKLCeT9qnFU0A7xIaoF4GeZi6Awy7afUZgdBtkGCUC+foTqGch0OnwUcLu6qWhCoNBP%20CSEyW/X/1AQ0BfJXxCsKAWdrQSNHwgEybFiteiUeeAMqUWaiKGQ4vX9QQkzla0wgWYPhgFQ7qWA6%20ShKAqCM/2A8IX6SB2yjMd59HQIUjho0CYINaxV6rmGigFoWy1wxMAxD6ElP4iAVk0Dxu2TBI1/7l%20L395CeH6gnzTwYoA0lQXUOXvo63Bfl+0XlYtQAXeZTPhoosuGuv4BBQE4eE87uL4kRkOCmJa2HSv%20sHtJtUtdkukBL7cqriBQAKQBlIvh4pwo/96ACTxPaW6AtbbjJlMTsIX7eU0N08WaXIClxsbAw+/P%20eQAqBMGDdwBCON2pVVdIqCoabiM4gpF9gfxW6Q5v9O7p5LnVy0UUgvAZQiA5fXwryxRogvVIEK1A%20n/tCQBygEoTFpj90agI68jEB7Xg7Vd0JJ5zwACRsnJsIUtZLAoC4lKEgc9U2ChhVAKIJSDj8m7NA%20k8KpEYXUNUd9rmtzrv1XDGLCiQkg+l8sxhUKC4eb8f6ReCmHu3I4X9e/CotLn4Pyvoa8cAA5gXjB%20wy1wLGzm20KglarZiQwBGW9+CWdjPYSuBh01Vh1fIMAThtVHAZzYbHVPD1/OlZzbbHP8bOZrvxg+%20AAdeM3iyDJFANXCJscy5wPYrJUy+SPvas4UH431N90AAJltQfntWAVA1MFofPGhKrsUh7algzPtD%20/SzCJJJXqV4wVWzEd77znbH6IQWp//Da/chr95PJqmZyp3y7QuvOFnaFoYeJzvVmgEHzuHPxxRd/%20hWLdaQr/0Oz1hBQNCJUdCrh4+nXXXTfXrgkIEoBqwp4QgqwLQ1DV8yFcCpZFCQgVazET9Xv4LgMk%20sBfeciFp7MwI7xTcq3131GqSijx6mC4KrJa2t+cuqtPsY0FzAXtaG/BNLLVYtncWGcx8DON/ml7k%20ajgoyRdXA3BL/4ZRjd4fIF8gpwbgfhVuuBWLE/XOUgsgTJzM5yLQFJRhPMbzaFMxdYmd1LWjPvwe%209jO1r3WMKAAaHa59dxNHbsyv79mKxXz5LJXo8xGaH4CXRpCxHIAE5qjVstUE8Dues0FYQHhJGAiv%20JLsGb5+6QLUAjj0ns1dASEY48wFUGCFJ7DTkCyoogqB9h40UiKM5dq6nL0Zrm+14zn21HiIKr6IA%20qXyVizUiUqsGNpOyBJW8oNBsxNT+R4DrNJAVYUigpoVvxyLFS9CuNrUAVB/l9lvEEF6cxMWKskwI%204YMVBvYYw2Xfqe7gILkjPWCaeiiSmAvBLEZGUAJAYVY2ln1eceKJJz4EgW9WqGdai3l/wEpNDQsL%20AwUC8UbrjLrYrhdEmJaCw3cApowPcWsEhQgqZrXCr+4UADKbsTyl3bHdoat/BWkDl8HFYr77P2TK%20JBCMBGrw3uY9Acw9SX4JEDL2fqPh5WZ+l48AqBhkE5aInQoseRJHvVkaphw2pwKJiMOUJVRySEUg%202kYEgqKkaW01z0anrpA3g7jqPSgMLHpGEIUfeo2sPUOIOMAUvGOwCcc2kfk4Rl62oXhlKV44vQrR%202tZcq4Ym3VoAFBFOwtJkD+MhQ7NNCGGihD+C+4sWLeL6gEIBJZlkfr44QKTsIB0dRBruaC90RnGg%20utfxYhMZzsUl+P/Zz8Bd6IgLDOLqYdOdCSKcScwsYhOqt/kSiTeDfICEVDyygJfCcxwaMCGEW0UD%20tEdLYHe5SHEaAjIOD+4vAegEw9193p/PItMpYFGY4nr8BQhKUUlCSTRwSRrEUjD0yVhMQUuB6WET%20RGqwoATfJLqXfARbEyQdDKAGN58hECjXhBCqXYJACBNXQgtsxLYCmmADEMGMfACdHzG8U0WrMnMc%206RGYEk0Q1LElQBR+mgCfeeiTFryq7wvwYRyqg0MniOD8oVjuZwb8t7mWEGSyCUA1VTwQJt4w66IQ%20HJGcq8b1a/EjhoDpcgg9ZKb4lhBemy+Eq9WveF8y3Y1nu2OmTcm+sOKwww7bDXMx9FoYfwvgjXwg%20b7IWhbA/oZ2prbOCQUn3RdFgwlLYmgmK69mEoWs04v0A3OcKFQR/bCGRD+AyWfdQEzKXJ4Nicl8p%20z4IQ8gUmm1PFaCa5tXkgJJSTR7ZeffXVVmFIwLwAzCO7Ce+dPQ8MrYOzVwd/oNJ6nVkzsn9fwhEZ%20i5GfctYG5CjW4sddPBpjIrOhne03hckx5kBahtC8Foxm6l4oaBpRwGpo8yYsJ/eHrNlAeYWy/2gD%200UagDTUgUDVa0i4GeeCBB46DdzkKgkEUitlAaQBWrvpATPdQTIR/8WZwaV/2O/uf6eF1KP8mk1sd%20R2+rWTRyFdoKtAZTKLLd9QGEAWwx6FGKNzD7FXqHMN4dsD8mgo5SRCA0Suaie2PlmNx3CIkPCAEH%204GWRU1GoM8fE+20WPzeaWULN2bCApAMDp7GwwPAZM2bcgCTPWNl1MZhhHx+ulcOYjWI8KjBItr9b%20KCZqVy0aSbvOWdkSCNZk7AHnfA/wxl0trAER241ICT+WbdXQpA0Cgfn1WBz6Idy0xsUAGPrZkxBY%20lWJKx9fj+zRCtjRq1uu7LayKifaeo70BvgDRwEHvvvsuy8KVKFKBi1sUMghI4e14o/hK1BE854JB%20SXtCCEq9Z0GCxHy76SFML1IYOPI5B+CvSBrxHbUMC4fADtV3mwaIic4e52FQzXdMmzat7qyzzjqB%20L+dAWl6D0y0KkbngKmOn4rqX3UUjpQG47Q3vfqAyfE4xCG/Km2ttAHr688D8BSauTAAMqu3+apnY%20BzD2PP2Pf/xjPUZ/BXhzEvqcA5P8yYYFaI5DPau93DeIJO0ZQWB8K1U7gSAw1Mb0tWwpsX+uUPH+%20hRde+FccWmuSR0mopCHd7gTGoSD7vgkDlf1ehncDbwQAVAGmz6IPBpCIfoKwG9UEsDaCQrDOAEGK%206tpdJLDsrrvuehFTig+DJI2DTbcfrPlpvNF8FI3+wYQWqylRpoqoOR8BoGBRw5QKEWHj6CoW0c8C%205q+aBgI/O+It7Yu5y+7EuwOfx7wALtc7E4JRma14FZNHGgEFP2PVdbjzAX3VUIs2DK0eteaTEQUM%20ANMrcCNSBkxrA8zbgJKv5WS8EYC1+iGwSUdhIaPrKTgAkFjD5nde4RQT7DwhdvYnczD/geXfXrBq%20NerIY/gBQ+EfjOY7HdDKMiBo7zYIxfpnn312EXEANsOzZpkBlYJXkYloO/FmFAaznzLnCCdoNjjB%20GqvQIMnzsXDkz1EldDY9VAIWXUYxUetSAKiJuBjXJXhXEEfzZjN4+5Fvhmc11oqunmZ5WWDQGsO/%20FtsEZAxztaxIh7l5L7QKCYD1FpEmtE1mmzZSSEexRmAQVFYXqfnY5tPp1mLT3Gf9n+GHnLm0ccQ3%20GE2ekgC4PNPIz1YWrhuSWs3Jmg5mv0w6bc5rMZ8T5ruyBMiablWSoJAcp39F0iv4UKU1RoW/Wv/H%208KTJ4lmZg/BuYzPntbkCkNGJVl1guWkCiXROu91sIIkkpluOYylm3f7Vw0CZbQlBq2ktFvMTzsBV%2068g1MSRjtTb3HcLOOSJ9Tqj1CMNjSjhMFmNbrWOJAJ6FTg4VReFmGbJTEzXlqlsoJsK/rL9QfO4M%20Tm2jUbKrzCcApLcBB09k0WKXU0wq+2pBle/fHVVeEBU6XCtMuDgIbRRWF7sNocoYYgHFJL3mpRTJ%20rr9Mg+BQryOz8X+ake2bAxzgVSeeby+mAPCXVpvikeFo9cAA9kKoMoCARKKI9iAD4hZzHBsAj27j%20oVIKSOR4O5M8GtC+MtsN5nhHMQVAINKOBowYpKVlLRCpmNShpo4tMQFot1/jawCdtYb5muxRkGAn%20u0BSVXmyntLqgkhsRR5BGkWZEtQCAuAU5rGfm93K3mJqAGmBCjPiq0wTIJEoYudJA2S0LWEz0GZa%202rS2YjuB7j0UmyazgEjF70B7v7Qo42oz+1iRNED4vYrOfDHc3f4/o5hiiimmmGKKKaaYYooppphi%20iimmmGKKKaaYYooppv8FlJhXILrvZ3wAAAAASUVORK5CYII=%22%20preserveAspectRatio=%22none%22%20height=%22102.996%22%20width=%2287.169%22%20x=%22159.832%22%20y=%22119.548%22/%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20x=%22205.695%22%20y=%22150.011%22%20transform=%22scale(.98866%201.01147)%22%20font-weight=%22400%22%20font-size=%2219.302%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#ff0%22%20stroke-width=%22.504%22%3E%3Ctspan%20x=%22205.695%22%20y=%22150.011%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ERAM%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20x=%22205.372%22%20y=%22110.296%22%20transform=%22scale(.98866%201.01147)%22%20font-weight=%22400%22%20font-size=%2219.302%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#00f%22%20stroke-width=%22.504%22%3E%3Ctspan%20x=%22205.372%22%20y=%22110.296%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ESample%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M206.647%20182.6a6.892%206.892%200%200%200-6.89%206.892c0%203.803%203.086%206.896%206.89%206.896%203.805%200%206.868-3.093%206.868-6.896%200-3.806-3.063-6.892-6.868-6.892zm13.814%2010.852l-1.242%202.991%202.215%204.35.293.575-3.072%203.072-5.039-2.38-2.991%201.228-1.519%204.648-.194.617h-4.341l-1.879-5.246-2.991-1.234-4.357%202.21-.575.287-3.07-3.069%202.378-5.042-1.233-2.989-4.64-1.515-.616-.2v-4.338l5.25-1.882%201.233-2.986-2.208-4.36-.291-.571%203.066-3.066%205.045%202.376%202.988-1.236%201.517-4.645.196-.616h4.34l1.88%205.253%202.983%201.236%204.358-2.212.58-.29%203.069%203.065-2.377%205.038%201.228%202.993%204.654%201.517.611.196v4.337z%22%20fill=%22#0ff%22/%3E%3Cg%20transform=%22matrix(.85604%200%200%20.85604%2085.035%2091.517)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E", + "otid": 1596697289362 + }, + "design": { + "graph": { + "blocks": [ + { + "id": "eb3a1b78-59a5-4be4-a92e-3b7e9a65f13b", + "type": "basic.outputLabel", + "data": { + "name": "addr", + "range": "[13:0]", + "blockColor": "navy", + "size": 14 + }, + "position": { + "x": 872, + "y": -144 + } + }, + { + "id": "40e3c20c-5598-44a1-b5b4-760dba97d882", + "type": "basic.outputLabel", + "data": { + "name": "din_r", + "range": "[7:0]", + "oldBlockColor": "fuchsia", + "blockColor": "fuchsia", + "size": 8 + }, + "position": { + "x": 872, + "y": -64 + } + }, + { + "id": "38abb13c-8652-41fb-931c-c7bf760ebb24", "type": "basic.output", "data": { - "name": "max" + "name": "busy" }, "position": { - "x": 1208, - "y": 56 + "x": 1832, + "y": -56 + } + }, + { + "id": "a040cc3d-b2c6-458e-bde6-f8234a19b6d1", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "busy" + }, + "position": { + "x": 1640, + "y": -56 + } + }, + { + "id": "d1540ef0-9272-4082-9b24-9843ddb00cd7", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "wr", + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 856, + "y": 24 + } + }, + { + "id": "7fb933a6-5c63-4d46-8aaa-440b30974993", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": -120, + "y": 80 + } + }, + { + "id": "2c31aa6a-383c-4eb5-b669-b8a31ad14225", + "type": "basic.inputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" + }, + "position": { + "x": 24, + "y": 80 + } + }, + { + "id": "8ca2279c-fdc3-40d3-9fbe-2071c026932f", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "bus_mine", + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 880, + "y": 112 + } + }, + { + "id": "0dfcc0e0-4f99-40f8-82ae-e43ea86f5e58", + "type": "basic.outputLabel", + "data": { + "name": "mbi", + "range": "[23:0]", + "blockColor": "fuchsia", + "size": 24 + }, + "position": { + "x": 1120, + "y": 120 } }, { - "id": "06c393de-8af4-4b53-852c-b0e0160b5314", - "type": "basic.outputLabel", + "id": "fa41806b-2355-4923-895f-3ead2e752b43", + "type": "basic.output", "data": { - "blockColor": "fuchsia", - "name": "c" + "name": "mbo", + "range": "[23:0]", + "size": 24 }, "position": { - "x": 1048, - "y": 56 + "x": 1480, + "y": 120 } }, { - "id": "2a921d76-1cbd-48fe-82a9-11b0ab4dbc06", + "id": "94f3b4c1-ffb7-450b-99c4-aebfb6c4e124", "type": "basic.input", "data": { - "name": "rst", - "clock": false + "name": "mbus", + "range": "[23:0]", + "clock": false, + "size": 24 }, "position": { - "x": 216, - "y": 56 + "x": -128, + "y": 216 } }, { - "id": "a2814200-f902-4bd8-ae5d-b26dd5b83779", + "id": "01c88c3e-3d41-47d5-8548-d6d9a2c1cfe8", "type": "basic.inputLabel", "data": { - "name": "q", - "range": "[31:0]", - "pins": [ - { - "index": "31", - "name": "", - "value": "" - }, - { - "index": "30", - "name": "", - "value": "" - }, - { - "index": "29", - "name": "", - "value": "" - }, - { - "index": "28", - "name": "", - "value": "" - }, - { - "index": "27", - "name": "", - "value": "" - }, - { - "index": "26", - "name": "", - "value": "" - }, - { - "index": "25", - "name": "", - "value": "" - }, - { - "index": "24", - "name": "", - "value": "" - }, - { - "index": "23", - "name": "", - "value": "" - }, - { - "index": "22", - "name": "", - "value": "" - }, - { - "index": "21", - "name": "", - "value": "" - }, - { - "index": "20", - "name": "", - "value": "" - }, - { - "index": "19", - "name": "", - "value": "" - }, - { - "index": "18", - "name": "", - "value": "" - }, - { - "index": "17", - "name": "", - "value": "" - }, - { - "index": "16", - "name": "", - "value": "" - }, - { - "index": "15", - "name": "", - "value": "" - }, - { - "index": "14", - "name": "", - "value": "" - }, - { - "index": "13", - "name": "", - "value": "" - }, - { - "index": "12", - "name": "", - "value": "" - }, - { - "index": "11", - "name": "", - "value": "" - }, - { - "index": "10", - "name": "", - "value": "" - }, - { - "index": "9", - "name": "", - "value": "" - }, - { - "index": "8", - "name": "", - "value": "" - }, - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "name": "mbi", + "range": "[23:0]", + "blockColor": "fuchsia", + "size": 24 }, "position": { - "x": 704, - "y": 56 + "x": 40, + "y": 216 } }, { - "id": "cd9b7fce-c943-4b4c-a716-94f2cd21ccda", - "type": "basic.inputLabel", + "id": "d987011b-ee0c-4b06-b3b7-dfb2097a5c6f", + "type": "basic.outputLabel", "data": { + "name": "mbi", + "range": "[23:0]", "blockColor": "fuchsia", - "name": "c", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "size": 24 }, "position": { - "x": 856, - "y": 144 + "x": 216, + "y": 216 } }, { - "id": "9189ea2f-eeef-424e-b479-4ffb489cad69", - "type": "f3c3812bb577eade8814180f90726052f5557d41", - "position": { - "x": 544, - "y": 40 + "id": "7d0852c6-4778-4a53-bf90-30527c44a0eb", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "size": { - "width": 96, - "height": 96 - } - }, - { - "id": "d9dcd34e-a04a-4f59-b63b-e38b4d9de6ae", - "type": "0906c20b5d8675f4f9b5706640957da9573692b5", "position": { - "x": 720, - "y": 160 - }, - "size": { - "width": 96, - "height": 64 + "x": 1640, + "y": 224 } - } - ], - "wires": [ - { - "source": { - "block": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", - "port": "out" - }, - "target": { - "block": "0a772657-8018-424d-8f04-75d3ffff3692", - "port": "inlabel" - }, - "vertices": [] }, { - "source": { - "block": "d9dcd34e-a04a-4f59-b63b-e38b4d9de6ae", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" - }, - "target": { - "block": "cd9b7fce-c943-4b4c-a716-94f2cd21ccda", - "port": "inlabel" + "id": "9be4488d-51be-4346-8a31-5d8f2f86e4d3", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "bus_mine", + "oldBlockColor": "fuchsia" }, - "vertices": [] + "position": { + "x": 936, + "y": 248 + } }, { - "source": { - "block": "b9359b10-b14f-4dd7-adf9-3f4f22bc65e6", - "port": "outlabel" + "id": "95c4416f-62f5-4196-a406-f7915d40a572", + "type": "basic.output", + "data": { + "name": "done" }, - "target": { - "block": "9189ea2f-eeef-424e-b479-4ffb489cad69", - "port": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6" + "position": { + "x": 1952, + "y": 296 } }, { - "source": { - "block": "06c393de-8af4-4b53-852c-b0e0160b5314", - "port": "outlabel" + "id": "289f00be-f97d-4553-a60a-32d8b45da4cc", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "done", + "oldBlockColor": "fuchsia" }, - "target": { - "block": "88e0e872-0460-4ecc-bf26-8a7a5598a024", - "port": "in" + "position": { + "x": 1632, + "y": 296 } }, { - "source": { - "block": "9189ea2f-eeef-424e-b479-4ffb489cad69", - "port": "f9905f40-7942-4dea-9125-db31713cb2d1" - }, - "target": { - "block": "a2814200-f902-4bd8-ae5d-b26dd5b83779", - "port": "inlabel" + "id": "b14f140b-7bb5-46d9-8019-39c27ff6e0e3", + "type": "basic.input", + "data": { + "name": "start", + "clock": false }, - "size": 32 + "position": { + "x": -88, + "y": 312 + } }, { - "source": { - "block": "e3b982b0-0eab-49a0-91c4-859749c96026", - "port": "outlabel" - }, - "target": { - "block": "64fc1d76-0958-4c4a-a4d8-beaec42e695b", - "port": "in" + "id": "da45f105-3600-4458-a820-50046581f5dd", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "start" }, - "size": 32 + "position": { + "x": 56, + "y": 312 + } }, { - "source": { - "block": "2a921d76-1cbd-48fe-82a9-11b0ab4dbc06", - "port": "out" + "id": "923c4db6-0c76-4647-a848-75fd61fba6ec", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "done", + "oldBlockColor": "fuchsia" }, - "target": { - "block": "9189ea2f-eeef-424e-b479-4ffb489cad69", - "port": "159f86de-af0f-4f1a-9a93-7e8149d5d322" + "position": { + "x": 936, + "y": 312 } }, { - "source": { - "block": "9189ea2f-eeef-424e-b479-4ffb489cad69", - "port": "f9905f40-7942-4dea-9125-db31713cb2d1" - }, - "target": { - "block": "d9dcd34e-a04a-4f59-b63b-e38b4d9de6ae", - "port": "360ef224-5b8f-4f5d-a1da-64432e80b443" + "id": "05a1a5b4-bf29-49df-b0b1-887859d9ec9e", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "bbusy", + "oldBlockColor": "fuchsia" }, - "size": 32 + "position": { + "x": 560, + "y": 336 + } }, { - "source": { - "block": "d9dcd34e-a04a-4f59-b63b-e38b4d9de6ae", - "port": "6ac8a1fd-e0f3-4fe4-8284-20eb83dced58" + "id": "9978357f-7ad7-44b5-97d2-b44692508773", + "type": "basic.input", + "data": { + "name": "din", + "range": "[7:0]", + "clock": false, + "size": 8 }, - "target": { - "block": "9189ea2f-eeef-424e-b479-4ffb489cad69", - "port": "68cbf0b7-cd9e-4baf-8f19-e3b5e4095290" + "position": { + "x": -88, + "y": 392 + } + }, + { + "id": "5344b55b-0e5d-4444-88ef-fd6b3caa1c5b", + "type": "basic.inputLabel", + "data": { + "name": "din", + "range": "[7:0]", + "blockColor": "fuchsia", + "size": 8 }, - "vertices": [ - { - "x": 840, - "y": 280 - } - ], - "size": 32 - } - ] - } - } - }, - "f3c3812bb577eade8814180f90726052f5557d41": { - "package": { - "name": "DFF-rst-x32", - "version": "0.1", - "description": "DFF-rst-x32: 32 D flip-flops in paralell with reset", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22252.294%22%20height=%22220.368%22%20viewBox=%220%200%2066.75283%2058.305748%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M25.682%2041.088L39.29%2057.76l-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M18.298%2033.024L9.066%2013.41l-6.45%203.724-2.07-3.583%2020.905-12.07%202.069%203.584-6.092%203.517%2012.03%2018.223s5.399-2.025%208.535.74c3.137%202.766%202.52%204.92%202.887%204.773L17.192%2045.956s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M42.022%2040.152l13.607%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M34.638%2032.088l-9.232-19.613-6.451%203.724-2.07-3.583L37.792.546%2039.86%204.13l-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.137%202.766%202.52%204.92%202.887%204.772L33.532%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20transform=%22translate(-38.356%20-17.732)%22%3E%3Crect%20width=%2224.412%22%20height=%2213.185%22%20x=%2280.3%22%20y=%2221.375%22%20ry=%222.247%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%22.794%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:1.25%22%20x=%2282.245%22%20y=%2230.943%22%20font-weight=%22400%22%20font-size=%2210.583%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20x=%2282.245%22%20y=%2230.943%22%20font-weight=%22700%22%3ESys%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E", - "otid": 1618509859237 - }, - "design": { - "graph": { - "blocks": [ + "position": { + "x": 64, + "y": 392 + } + }, { - "id": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", - "type": "basic.input", + "id": "5884d0cb-fd13-4b25-b561-c919079d2136", + "type": "basic.output", "data": { - "name": "", - "clock": true + "name": "nc" }, "position": { - "x": -664, - "y": -368 + "x": 1936, + "y": 488 } }, { - "id": "0a772657-8018-424d-8f04-75d3ffff3692", + "id": "54e9bf9f-b852-4c45-bd53-f6eb4ee707eb", "type": "basic.inputLabel", "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "blockColor": "fuchsia", + "name": "start_read" }, "position": { - "x": -512, - "y": -368 + "x": 608, + "y": 504 } }, { - "id": "d0cfb80a-35a8-42df-838b-c24585b54847", + "id": "fce01e4d-e6d2-4811-8f96-410673168b4c", "type": "basic.outputLabel", "data": { - "blockColor": "yellow", - "name": "clk", + "blockColor": "fuchsia", + "name": "bbusy", "oldBlockColor": "fuchsia" }, "position": { - "x": -168, - "y": -312 + "x": 152, + "y": 552 } }, { - "id": "159f86de-af0f-4f1a-9a93-7e8149d5d322", - "type": "basic.input", + "id": "700d8b15-d6df-4b76-b10d-72db58c33e6c", + "type": "basic.inputLabel", "data": { - "name": "rst", - "clock": false + "blockColor": "fuchsia", + "name": "bus_mine", + "oldBlockColor": "fuchsia" }, "position": { - "x": -656, - "y": -296 + "x": 776, + "y": 584 } }, { - "id": "eae23d49-1710-4ffb-9162-8c4238e16af9", - "type": "basic.inputLabel", + "id": "5b15b8c9-8fb1-410a-8910-a60ef283ff1d", + "type": "basic.outputLabel", "data": { - "blockColor": "navy", - "name": "rst", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "blockColor": "yellow", + "name": "clk" }, "position": { - "x": -512, - "y": -296 + "x": 1496, + "y": 648 } }, { - "id": "d4830dff-9ea6-4baf-8483-7fd8d44b820d", + "id": "524ca75c-cdd3-4e79-851a-b46ce146bd66", "type": "basic.outputLabel", "data": { - "blockColor": "navy", - "name": "rst", - "oldBlockColor": "fuchsia" + "blockColor": "fuchsia", + "name": "start" }, "position": { - "x": -168, - "y": -256 + "x": 152, + "y": 696 } }, { - "id": "deff6401-ccd8-4084-9785-147cb5efb5dd", - "type": "basic.outputLabel", + "id": "7e9db299-cb56-4cd9-a489-d5fbd6eb3e2f", + "type": "basic.inputLabel", "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" + "blockColor": "fuchsia", + "name": "busy" }, "position": { - "x": -160, - "y": -112 + "x": 1184, + "y": 704 } }, { - "id": "7bc1c166-a51f-4bd7-9898-a34d358936da", + "id": "28d32f23-19b6-4a8c-8ac6-edbbb1a0e999", "type": "basic.outputLabel", "data": { - "blockColor": "navy", - "name": "rst", - "oldBlockColor": "fuchsia" + "name": "din", + "range": "[7:0]", + "blockColor": "fuchsia", + "size": 8 }, "position": { - "x": -160, - "y": -56 + "x": 1496, + "y": 712 + } + }, + { + "id": "703240cb-6595-44d0-a266-869db1fe0889", + "type": "basic.inputLabel", + "data": { + "name": "din_r", + "range": "[7:0]", + "blockColor": "fuchsia", + "oldBlockColor": "fuchsia", + "size": 8 + }, + "position": { + "x": 1840, + "y": 712 } }, { - "id": "7a94a774-819e-4796-ad92-2b9f0a06e828", + "id": "7df4a7f1-90b6-4562-8be3-e4719a824545", "type": "basic.outputLabel", "data": { "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" + "name": "clk" }, "position": { - "x": -192, - "y": 72 + "x": 880, + "y": 752 } }, { - "id": "35ac40b6-de26-493f-b22e-d15895042a60", - "type": "basic.outputLabel", + "id": "2c719f94-9d13-4502-9018-1231407bb53a", + "type": "basic.inputLabel", "data": { + "name": "addr", + "range": "[13:0]", "blockColor": "navy", - "name": "rst", - "oldBlockColor": "fuchsia" + "size": 14 }, "position": { - "x": -192, - "y": 128 + "x": 1232, + "y": 816 } }, { - "id": "21ec5232-45c6-4327-a55c-fe821b7c4aec", + "id": "dc204461-1dd1-428f-91a2-006d905d6585", "type": "basic.outputLabel", "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" + "blockColor": "fuchsia", + "name": "start_read" }, "position": { - "x": -168, - "y": 256 + "x": 872, + "y": 832 } }, { - "id": "f9905f40-7942-4dea-9125-db31713cb2d1", - "type": "basic.output", + "id": "0db424eb-f896-41e1-becb-7eb065dd64f2", + "type": "basic.outputLabel", "data": { - "name": "", - "range": "[31:0]", - "size": 32 + "blockColor": "fuchsia", + "name": "busy" }, "position": { - "x": 600, - "y": 288 + "x": 152, + "y": 840 } }, { - "id": "cd4dcd80-0eb7-445e-9d87-0a13a22cef83", + "id": "eda78d52-57f7-4e44-bd8e-75e67c496650", "type": "basic.outputLabel", "data": { - "blockColor": "navy", - "name": "rst", + "blockColor": "fuchsia", + "name": "wr", "oldBlockColor": "fuchsia" }, "position": { - "x": -176, - "y": 312 + "x": 864, + "y": 904 } }, { - "id": "68cbf0b7-cd9e-4baf-8f19-e3b5e4095290", - "type": "basic.input", + "id": "caf86b2c-c08d-411d-be47-4084fec9532e", + "type": "basic.inputLabel", "data": { - "name": "", - "range": "[31:0]", - "clock": false, - "size": 32 + "blockColor": "fuchsia", + "name": "wr", + "oldBlockColor": "fuchsia" }, "position": { - "x": -680, - "y": 320 + "x": 1216, + "y": 912 } }, { - "id": "31cdacd1-a6f9-4dad-83c9-04c3ce4bea8a", - "type": "468a0568931bf0e98f0069778cf0f1b58849922a", - "position": { - "x": -488, - "y": 288 + "id": "366a768a-2f5d-4c01-8338-bdef0a688ea7", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "done", + "oldBlockColor": "fuchsia" }, - "size": { - "width": 96, - "height": 128 - } - }, - { - "id": "5f9f7167-48f1-461c-a67c-2da737b575e1", - "type": "cf434451314de2d169c80ddfd83df7fd58182666", "position": { - "x": 0, - "y": 320 - }, - "size": { - "width": 96, - "height": 96 + "x": 1144, + "y": 1008 } }, { - "id": "39c3cea0-a65a-46ff-b7d9-acc22af91533", - "type": "cf434451314de2d169c80ddfd83df7fd58182666", + "id": "0a517454-aeac-48a3-bc62-6aa73da948bd", + "type": "basic.info", + "data": { + "info": "Reading data from memory \nReading bus status", + "readonly": true + }, "position": { - "x": 0, - "y": 136 + "x": 336, + "y": 120 }, "size": { - "width": 96, - "height": 96 + "width": 232, + "height": 64 } }, { - "id": "a6549d79-c52b-48e5-8a7c-9aaf45f71ac2", - "type": "cf434451314de2d169c80ddfd83df7fd58182666", + "id": "a200cfa9-fe9a-4c4b-b9d4-f4307d071797", + "type": "basic.info", + "data": { + "info": "Calculate if the bus can be taken", + "readonly": true + }, "position": { - "x": 8, - "y": -56 + "x": 216, + "y": 440 }, "size": { - "width": 96, - "height": 96 + "width": 272, + "height": 32 } }, { - "id": "7572f450-919e-4706-ae81-9cd022cfeb7e", - "type": "cf434451314de2d169c80ddfd83df7fd58182666", + "id": "7a989d63-cd4a-4c47-9513-57b4ea6ee141", + "type": "35f267d0df6ffcb7fc33753bc9df9cf083642cca", "position": { - "x": 8, - "y": -208 + "x": 296, + "y": 552 }, "size": { "width": 96, - "height": 96 + "height": 64 } }, { - "id": "6310e30c-ed19-4205-ad0a-1107b1745d2e", - "type": "78e0a3d1967abcd86e415b34d991628f183e3597", + "id": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", + "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", "position": { - "x": 368, - "y": 256 + "x": 464, + "y": 568 }, "size": { "width": 96, - "height": 128 - } - } - ], - "wires": [ - { - "source": { - "block": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", - "port": "out" - }, - "target": { - "block": "0a772657-8018-424d-8f04-75d3ffff3692", - "port": "inlabel" - }, - "vertices": [] - }, - { - "source": { - "block": "159f86de-af0f-4f1a-9a93-7e8149d5d322", - "port": "out" - }, - "target": { - "block": "eae23d49-1710-4ffb-9162-8c4238e16af9", - "port": "inlabel" + "height": 64 } }, { - "source": { - "block": "7a94a774-819e-4796-ad92-2b9f0a06e828", - "port": "outlabel" + "id": "239fe2ba-e2b9-4446-a1ea-51e1616f5b75", + "type": "basic.info", + "data": { + "info": "The bus is available", + "readonly": true }, - "target": { - "block": "39c3cea0-a65a-46ff-b7d9-acc22af91533", - "port": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6" - } - }, - { - "source": { - "block": "35ac40b6-de26-493f-b22e-d15895042a60", - "port": "outlabel" + "position": { + "x": 384, + "y": 512 }, - "target": { - "block": "39c3cea0-a65a-46ff-b7d9-acc22af91533", - "port": "159f86de-af0f-4f1a-9a93-7e8149d5d322" + "size": { + "width": 184, + "height": 32 } }, { - "source": { - "block": "21ec5232-45c6-4327-a55c-fe821b7c4aec", - "port": "outlabel" + "id": "b62ad9b4-5b0e-4b74-a0ad-947946a59331", + "type": "basic.info", + "data": { + "info": "This circuits wants \nto use the bus", + "readonly": true }, - "target": { - "block": "5f9f7167-48f1-461c-a67c-2da737b575e1", - "port": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6" - } - }, - { - "source": { - "block": "cd4dcd80-0eb7-445e-9d87-0a13a22cef83", - "port": "outlabel" + "position": { + "x": 280, + "y": 664 }, - "target": { - "block": "5f9f7167-48f1-461c-a67c-2da737b575e1", - "port": "159f86de-af0f-4f1a-9a93-7e8149d5d322" + "size": { + "width": 192, + "height": 56 } }, { - "source": { - "block": "deff6401-ccd8-4084-9785-147cb5efb5dd", - "port": "outlabel" + "id": "c25805fd-f852-43d5-93db-f3f0cb17c301", + "type": "basic.info", + "data": { + "info": "The bus has been already \ntaken", + "readonly": true }, - "target": { - "block": "a6549d79-c52b-48e5-8a7c-9aaf45f71ac2", - "port": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6" - } - }, - { - "source": { - "block": "7bc1c166-a51f-4bd7-9898-a34d358936da", - "port": "outlabel" + "position": { + "x": 272, + "y": 816 }, - "target": { - "block": "a6549d79-c52b-48e5-8a7c-9aaf45f71ac2", - "port": "159f86de-af0f-4f1a-9a93-7e8149d5d322" + "size": { + "width": 208, + "height": 56 } }, { - "source": { - "block": "d0cfb80a-35a8-42df-838b-c24585b54847", - "port": "outlabel" + "id": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", + "type": "81613874c6152f06c06ed7014bf4235900cfcc30", + "position": { + "x": 648, + "y": 584 }, - "target": { - "block": "7572f450-919e-4706-ae81-9cd022cfeb7e", - "port": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6" + "size": { + "width": 96, + "height": 64 } }, { - "source": { - "block": "d4830dff-9ea6-4baf-8483-7fd8d44b820d", - "port": "outlabel" - }, - "target": { - "block": "7572f450-919e-4706-ae81-9cd022cfeb7e", - "port": "159f86de-af0f-4f1a-9a93-7e8149d5d322" - }, - "vertices": [ - { - "x": -40, - "y": -208 - } - ] - }, - { - "source": { - "block": "68cbf0b7-cd9e-4baf-8f19-e3b5e4095290", - "port": "out" - }, - "target": { - "block": "31cdacd1-a6f9-4dad-83c9-04c3ce4bea8a", - "port": "5204a9f1-594b-4216-b993-03b46bef9e6e" - }, - "size": 32 - }, - { - "source": { - "block": "31cdacd1-a6f9-4dad-83c9-04c3ce4bea8a", - "port": "bbc72c72-9eec-46c2-aeff-4233b746b9c2" - }, - "target": { - "block": "5f9f7167-48f1-461c-a67c-2da737b575e1", - "port": "98e23c4f-291f-4a6a-977f-dd1e9fd61186" - }, - "size": 8 - }, - { - "source": { - "block": "6310e30c-ed19-4205-ad0a-1107b1745d2e", - "port": "a121f12a-dede-4aec-9016-4c8e92ed75e2" - }, - "target": { - "block": "f9905f40-7942-4dea-9125-db31713cb2d1", - "port": "in" - }, - "size": 32 - }, - { - "source": { - "block": "5f9f7167-48f1-461c-a67c-2da737b575e1", - "port": "f1844cff-7fd4-4781-82ea-93999fec5e74" - }, - "target": { - "block": "6310e30c-ed19-4205-ad0a-1107b1745d2e", - "port": "832263fc-5539-42d5-b40b-47ebd9172307" + "id": "26b71a43-5955-4452-9b0e-94ea6ef453b7", + "type": "81613874c6152f06c06ed7014bf4235900cfcc30", + "position": { + "x": 1088, + "y": 296 }, - "size": 8 + "size": { + "width": 96, + "height": 64 + } }, { - "source": { - "block": "31cdacd1-a6f9-4dad-83c9-04c3ce4bea8a", - "port": "ab69e2b6-41cb-4145-883c-ff7d66e29c69" + "id": "d3ce12c0-3b45-4ed2-8446-fb6c4c8e8710", + "type": "basic.info", + "data": { + "info": "One cycle after the machine is done \nthe bus is already taken to write \nthe bbusy signal to 0 and allow \nother circuits to use it", + "readonly": true }, - "target": { - "block": "39c3cea0-a65a-46ff-b7d9-acc22af91533", - "port": "98e23c4f-291f-4a6a-977f-dd1e9fd61186" + "position": { + "x": 960, + "y": 392 }, - "vertices": [ - { - "x": -224, - "y": 304 - } - ], - "size": 8 + "size": { + "width": 304, + "height": 88 + } }, { - "source": { - "block": "39c3cea0-a65a-46ff-b7d9-acc22af91533", - "port": "f1844cff-7fd4-4781-82ea-93999fec5e74" + "id": "110cf90a-bc63-4642-a72e-33e8e397e804", + "type": "basic.info", + "data": { + "info": "The output bus is controlled \nby this circuit (1) or \nremain untouched (0)", + "readonly": true }, - "target": { - "block": "6310e30c-ed19-4205-ad0a-1107b1745d2e", - "port": "40f9d1d0-01e9-40c2-b4a4-e7277a78c006" + "position": { + "x": 1352, + "y": 256 }, - "vertices": [ - { - "x": 144, - "y": 272 - } - ], - "size": 8 + "size": { + "width": 240, + "height": 112 + } }, { - "source": { - "block": "31cdacd1-a6f9-4dad-83c9-04c3ce4bea8a", - "port": "9854725b-1481-43d8-88b9-7f4e3e46e935" + "id": "0421b3fd-c660-4279-abe0-e1d486431ce0", + "type": "basic.info", + "data": { + "info": "The reading machine \ncan be started", + "readonly": true }, - "target": { - "block": "a6549d79-c52b-48e5-8a7c-9aaf45f71ac2", - "port": "98e23c4f-291f-4a6a-977f-dd1e9fd61186" + "position": { + "x": 584, + "y": 456 }, - "vertices": [ - { - "x": -264, - "y": 64 - } - ], - "size": 8 + "size": { + "width": 184, + "height": 64 + } }, { - "source": { - "block": "31cdacd1-a6f9-4dad-83c9-04c3ce4bea8a", - "port": "cd24bb12-b3ea-4587-845c-24eb04db0e7d" - }, - "target": { - "block": "7572f450-919e-4706-ae81-9cd022cfeb7e", - "port": "98e23c4f-291f-4a6a-977f-dd1e9fd61186" + "id": "0414e63d-55c1-41b0-abdf-4e02d0f68ff9", + "type": "725b7e2cb9666b5ed3183537d9c898f096dab82a", + "position": { + "x": 1504, + "y": 792 }, - "vertices": [ - { - "x": -296, - "y": -56 - } - ], - "size": 8 + "size": { + "width": 96, + "height": 64 + } }, { - "source": { - "block": "a6549d79-c52b-48e5-8a7c-9aaf45f71ac2", - "port": "f1844cff-7fd4-4781-82ea-93999fec5e74" + "id": "cb239ba5-a0b6-498b-817d-0f0013b987c0", + "type": "basic.info", + "data": { + "info": "## Sample machine\n\nRead the input data, (one byte per clock cycle) and store it into the memory\n\n", + "readonly": true }, - "target": { - "block": "6310e30c-ed19-4205-ad0a-1107b1745d2e", - "port": "e48e299f-46ba-4f77-a623-41d5c2010362" + "position": { + "x": -104, + "y": -192 }, - "vertices": [ - { - "x": 184, - "y": 152 - } - ], - "size": 8 + "size": { + "width": 648, + "height": 104 + } }, { - "source": { - "block": "7572f450-919e-4706-ae81-9cd022cfeb7e", - "port": "f1844cff-7fd4-4781-82ea-93999fec5e74" - }, - "target": { - "block": "6310e30c-ed19-4205-ad0a-1107b1745d2e", - "port": "7c1446d8-6d07-4455-b759-79219a96fe0a" + "id": "5caa6aff-82f8-4a53-84f7-b67bb5bad8a8", + "type": "58ed2b5c7e33e2f215ccba6c101d9ea4ff60f284", + "position": { + "x": 1808, + "y": 280 }, - "vertices": [ - { - "x": 232, - "y": 104 - } - ], - "size": 8 - } - ] - } - } - }, - "468a0568931bf0e98f0069778cf0f1b58849922a": { - "package": { - "name": "Bus32-Split-quarter", - "version": "0.1", - "description": "Bus32-Split-quarter: Split the 32-bits bus into four buses of 8 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": { - "graph": { - "blocks": [ + "size": { + "width": 96, + "height": 64 + } + }, { - "id": "cd24bb12-b3ea-4587-845c-24eb04db0e7d", - "type": "basic.output", - "data": { - "name": "3", - "range": "[7:0]", - "size": 8 - }, + "id": "fc204eb4-2475-49d5-8d15-940e4cede5d4", + "type": "8d66187a7f8e3ffab330c0980473cb3427f8a5a6", "position": { - "x": 640, - "y": 96 + "x": 1680, + "y": 696 + }, + "size": { + "width": 96, + "height": 96 } }, { - "id": "9854725b-1481-43d8-88b9-7f4e3e46e935", - "type": "basic.output", - "data": { - "name": "2", - "range": "[7:0]", - "size": 8 - }, + "id": "ccd1e0fa-873c-4274-85c6-f906e6266aee", + "type": "d1635cb33c6d31e1ea457005c78d574fcf71828b", "position": { - "x": 680, + "x": 384, "y": 184 + }, + "size": { + "width": 96, + "height": 128 } }, { - "id": "5204a9f1-594b-4216-b993-03b46bef9e6e", - "type": "basic.input", - "data": { - "name": "", - "range": "[31:0]", - "clock": false, - "size": 32 - }, + "id": "f171b375-a1d9-4dbb-a2db-61b09e78bad8", + "type": "cae9cdc6d7b2442eb4d4095c65ccf9bd24a99bb9", "position": { - "x": 64, - "y": 248 + "x": 1016, + "y": 800 + }, + "size": { + "width": 96, + "height": 128 } }, { - "id": "ab69e2b6-41cb-4145-883c-ff7d66e29c69", - "type": "basic.output", - "data": { - "name": "1", - "range": "[7:0]", - "size": 8 - }, + "id": "6db36553-cdbf-4430-8693-607cf166a23a", + "type": "6e4fc811dcd6d1ac703e608270f81ee906ee7e98", "position": { - "x": 672, - "y": 272 + "x": 1080, + "y": -80 + }, + "size": { + "width": 96, + "height": 128 } }, { - "id": "bbc72c72-9eec-46c2-aeff-4233b746b9c2", - "type": "basic.output", - "data": { - "name": "0", - "range": "[7:0]", - "size": 8 - }, + "id": "adb6b0df-8c6d-408c-b6f5-953934e48c81", + "type": "5fcfda234fb072b021cd8f915af77e7ae7860198", "position": { - "x": 640, - "y": 400 + "x": 1312, + "y": 104 + }, + "size": { + "width": 96, + "height": 96 } + } + ], + "wires": [ + { + "source": { + "block": "7fb933a6-5c63-4d46-8aaa-440b30974993", + "port": "out" + }, + "target": { + "block": "2c31aa6a-383c-4eb5-b669-b8a31ad14225", + "port": "inlabel" + }, + "vertices": [] }, { - "id": "16e78204-213e-4833-9096-89d735307ec2", - "type": "basic.code", - "data": { - "code": "assign o3 = i[32:24];\nassign o2 = i[23:16];\nassign o1 = i[15:8];\nassign o0 = i[7:0];", - "params": [], - "ports": { - "in": [ - { - "name": "i", - "range": "[31:0]", - "size": 32 - } - ], - "out": [ - { - "name": "o3", - "range": "[7:0]", - "size": 8 - }, - { - "name": "o2", - "range": "[7:0]", - "size": 8 - }, - { - "name": "o1", - "range": "[7:0]", - "size": 8 - }, - { - "name": "o0", - "range": "[7:0]", - "size": 8 - } - ] - } + "source": { + "block": "b14f140b-7bb5-46d9-8019-39c27ff6e0e3", + "port": "out" }, - "position": { - "x": 272, - "y": 176 + "target": { + "block": "da45f105-3600-4458-a820-50046581f5dd", + "port": "inlabel" + } + }, + { + "source": { + "block": "ccd1e0fa-873c-4274-85c6-f906e6266aee", + "port": "9751f777-00ec-46c1-8d85-07d2dec1e653" }, - "size": { - "width": 240, - "height": 200 + "target": { + "block": "05a1a5b4-bf29-49df-b0b1-887859d9ec9e", + "port": "inlabel" } - } - ], - "wires": [ + }, { "source": { - "block": "5204a9f1-594b-4216-b993-03b46bef9e6e", - "port": "out" + "block": "7df4a7f1-90b6-4562-8be3-e4719a824545", + "port": "outlabel" }, "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i" + "block": "f171b375-a1d9-4dbb-a2db-61b09e78bad8", + "port": "cb426e3d-ace3-4a57-a74b-155caed0c14c" + } + }, + { + "source": { + "block": "fce01e4d-e6d2-4811-8f96-410673168b4c", + "port": "outlabel" }, - "size": 32 + "target": { + "block": "7a989d63-cd4a-4c47-9513-57b4ea6ee141", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + }, + "vertices": [] }, { "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o0" + "block": "524ca75c-cdd3-4e79-851a-b46ce146bd66", + "port": "outlabel" }, "target": { - "block": "bbc72c72-9eec-46c2-aeff-4233b746b9c2", - "port": "in" + "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", + "port": "97b51945-d716-4b6c-9db9-970d08541249" }, - "vertices": [], - "size": 8 + "vertices": [] }, { "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o1" + "block": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, "target": { - "block": "ab69e2b6-41cb-4145-883c-ff7d66e29c69", - "port": "in" + "block": "700d8b15-d6df-4b76-b10d-72db58c33e6c", + "port": "inlabel" }, - "size": 8 + "vertices": [] }, { "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o2" + "block": "0db424eb-f896-41e1-becb-7eb065dd64f2", + "port": "outlabel" }, "target": { - "block": "9854725b-1481-43d8-88b9-7f4e3e46e935", - "port": "in" + "block": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", + "port": "97b51945-d716-4b6c-9db9-970d08541249" }, - "size": 8 + "vertices": [ + { + "x": 584, + "y": 824 + } + ] }, { "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o3" + "block": "9be4488d-51be-4346-8a31-5d8f2f86e4d3", + "port": "outlabel" }, "target": { - "block": "cd24bb12-b3ea-4587-845c-24eb04db0e7d", - "port": "in" + "block": "26b71a43-5955-4452-9b0e-94ea6ef453b7", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" }, - "size": 8 - } - ] - } - } - }, - "cf434451314de2d169c80ddfd83df7fd58182666": { - "package": { - "name": "DFF-rst-x08", - "version": "0.1", - "description": "DFF-rst-x08: Eight D flip-flops in paralell with reset", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22252.294%22%20height=%22220.368%22%20viewBox=%220%200%2066.75283%2058.305748%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M25.682%2041.088L39.29%2057.76l-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M18.298%2033.024L9.066%2013.41l-6.45%203.724-2.07-3.583%2020.905-12.07%202.069%203.584-6.092%203.517%2012.03%2018.223s5.399-2.025%208.535.74c3.137%202.766%202.52%204.92%202.887%204.773L17.192%2045.956s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M42.022%2040.152l13.607%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M34.638%2032.088l-9.232-19.613-6.451%203.724-2.07-3.583L37.792.546%2039.86%204.13l-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.137%202.766%202.52%204.92%202.887%204.772L33.532%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20transform=%22translate(-38.356%20-17.732)%22%3E%3Crect%20width=%2224.412%22%20height=%2213.185%22%20x=%2280.3%22%20y=%2221.375%22%20ry=%222.247%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%22.794%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:1.25%22%20x=%2282.245%22%20y=%2230.943%22%20font-weight=%22400%22%20font-size=%2210.583%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20x=%2282.245%22%20y=%2230.943%22%20font-weight=%22700%22%3ESys%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E", - "otid": 1618509859237 - }, - "design": { - "graph": { - "blocks": [ + "vertices": [] + }, { - "id": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", - "type": "basic.input", - "data": { - "name": "", - "clock": true + "source": { + "block": "923c4db6-0c76-4647-a848-75fd61fba6ec", + "port": "outlabel" }, - "position": { - "x": -496, - "y": -256 - } + "target": { + "block": "26b71a43-5955-4452-9b0e-94ea6ef453b7", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + }, + "vertices": [] }, { - "id": "0a772657-8018-424d-8f04-75d3ffff3692", - "type": "basic.inputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "source": { + "block": "f171b375-a1d9-4dbb-a2db-61b09e78bad8", + "port": "49221b19-132a-4e3f-9a1f-97bcd463391b" }, - "position": { - "x": -344, - "y": -256 + "target": { + "block": "366a768a-2f5d-4c01-8338-bdef0a688ea7", + "port": "inlabel" } }, { - "id": "159f86de-af0f-4f1a-9a93-7e8149d5d322", - "type": "basic.input", - "data": { - "name": "rst", - "clock": false + "source": { + "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, - "position": { - "x": -488, - "y": -184 + "target": { + "block": "54e9bf9f-b852-4c45-bd53-f6eb4ee707eb", + "port": "inlabel" } }, { - "id": "eae23d49-1710-4ffb-9162-8c4238e16af9", - "type": "basic.inputLabel", - "data": { - "blockColor": "navy", - "name": "rst", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "source": { + "block": "dc204461-1dd1-428f-91a2-006d905d6585", + "port": "outlabel" }, - "position": { - "x": -344, - "y": -184 + "target": { + "block": "f171b375-a1d9-4dbb-a2db-61b09e78bad8", + "port": "8f591b24-0427-409f-aa6e-ca1861556cf5" } }, { - "id": "7a94a774-819e-4796-ad92-2b9f0a06e828", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" + "source": { + "block": "f171b375-a1d9-4dbb-a2db-61b09e78bad8", + "port": "6a11eaf9-4bd5-405e-81f8-44418365326b" }, - "position": { - "x": -8, - "y": -152 + "target": { + "block": "7e9db299-cb56-4cd9-a489-d5fbd6eb3e2f", + "port": "inlabel" } }, { - "id": "35ac40b6-de26-493f-b22e-d15895042a60", - "type": "basic.outputLabel", - "data": { - "blockColor": "navy", - "name": "rst", - "oldBlockColor": "fuchsia" + "source": { + "block": "a040cc3d-b2c6-458e-bde6-f8234a19b6d1", + "port": "outlabel" }, - "position": { - "x": -16, - "y": -88 - } + "target": { + "block": "38abb13c-8652-41fb-931c-c7bf760ebb24", + "port": "in" + }, + "vertices": [] }, { - "id": "fdb3de4d-1a1f-420d-83f5-652d30cd8ca3", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" + "source": { + "block": "8ca2279c-fdc3-40d3-9fbe-2071c026932f", + "port": "outlabel" }, - "position": { - "x": -48, - "y": 48 + "target": { + "block": "6db36553-cdbf-4430-8693-607cf166a23a", + "port": "49fb1766-1e7f-4706-9872-a6cd65cc9f2d" } }, { - "id": "719d7e53-bdb2-40e8-8bed-c86a12749e88", - "type": "basic.outputLabel", - "data": { - "blockColor": "navy", - "name": "rst", - "oldBlockColor": "fuchsia" + "source": { + "block": "289f00be-f97d-4553-a60a-32d8b45da4cc", + "port": "outlabel" }, - "position": { - "x": -48, - "y": 104 + "target": { + "block": "5caa6aff-82f8-4a53-84f7-b67bb5bad8a8", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" } }, { - "id": "f1844cff-7fd4-4781-82ea-93999fec5e74", - "type": "basic.output", - "data": { - "name": "", - "range": "[7:0]", - "size": 8 + "source": { + "block": "7d0852c6-4778-4a53-bf90-30527c44a0eb", + "port": "outlabel" }, - "position": { - "x": 560, - "y": 128 + "target": { + "block": "5caa6aff-82f8-4a53-84f7-b67bb5bad8a8", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" } }, { - "id": "98e23c4f-291f-4a6a-977f-dd1e9fd61186", - "type": "basic.input", - "data": { - "name": "", - "range": "[7:0]", - "clock": false, - "size": 8 + "source": { + "block": "f171b375-a1d9-4dbb-a2db-61b09e78bad8", + "port": "73948305-b05b-418f-88af-11328f400cdc" }, - "position": { - "x": -488, - "y": 160 + "target": { + "block": "caf86b2c-c08d-411d-be47-4084fec9532e", + "port": "inlabel" } }, { - "id": "f071a293-16e9-4c8b-8494-14b7f15033a3", - "type": "5c75f6e4f841e85f7c34d83b9cc081ef669dd12d", - "position": { - "x": 144, - "y": 128 + "source": { + "block": "d1540ef0-9272-4082-9b24-9843ddb00cd7", + "port": "outlabel" + }, + "target": { + "block": "6db36553-cdbf-4430-8693-607cf166a23a", + "port": "dbe1622c-3510-4132-8b5c-2fbf81d7f581" + }, + "vertices": [ + { + "x": 1000, + "y": 32 + } + ] + }, + { + "source": { + "block": "40e3c20c-5598-44a1-b5b4-760dba97d882", + "port": "outlabel" }, - "size": { - "width": 96, - "height": 96 - } + "target": { + "block": "6db36553-cdbf-4430-8693-607cf166a23a", + "port": "25996d5e-6856-4828-8cb3-5dea5ff5cf9c", + "size": 8 + }, + "size": 8 }, { - "id": "4be672f2-c453-4028-9da2-d6edebfab777", - "type": "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a", - "position": { - "x": -320, - "y": 160 + "source": { + "block": "9978357f-7ad7-44b5-97d2-b44692508773", + "port": "out", + "size": 8 }, - "size": { - "width": 96, - "height": 64 - } + "target": { + "block": "5344b55b-0e5d-4444-88ef-fd6b3caa1c5b", + "port": "inlabel" + }, + "size": 8 }, { - "id": "6da4d258-9a3e-446d-9085-2b9170fea487", - "type": "afb28fd5426aea14477d11cbe30a290679f789f8", - "position": { - "x": 392, - "y": 128 + "source": { + "block": "5b15b8c9-8fb1-410a-8910-a60ef283ff1d", + "port": "outlabel" }, - "size": { - "width": 96, - "height": 64 + "target": { + "block": "fc204eb4-2475-49d5-8d15-940e4cede5d4", + "port": "c39743c3-1b76-483c-8613-15f2782d0809" } }, { - "id": "03291097-00e3-48db-9044-3c73ed88eeb8", - "type": "5c75f6e4f841e85f7c34d83b9cc081ef669dd12d", - "position": { - "x": 144, - "y": -88 + "source": { + "block": "28d32f23-19b6-4a8c-8ac6-edbbb1a0e999", + "port": "outlabel" }, - "size": { - "width": 96, - "height": 96 - } - } - ], - "wires": [ + "target": { + "block": "fc204eb4-2475-49d5-8d15-940e4cede5d4", + "port": "1b621e37-f1b1-46a7-8450-5500bb513afb", + "size": 8 + }, + "size": 8 + }, { "source": { - "block": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", - "port": "out" + "block": "fc204eb4-2475-49d5-8d15-940e4cede5d4", + "port": "8e68dac0-4473-40be-a907-0eb952ae4420", + "size": 8 }, "target": { - "block": "0a772657-8018-424d-8f04-75d3ffff3692", + "block": "703240cb-6595-44d0-a266-869db1fe0889", "port": "inlabel" }, - "vertices": [] + "size": 8 }, { "source": { - "block": "159f86de-af0f-4f1a-9a93-7e8149d5d322", - "port": "out" + "block": "eda78d52-57f7-4e44-bd8e-75e67c496650", + "port": "outlabel" }, "target": { - "block": "eae23d49-1710-4ffb-9162-8c4238e16af9", - "port": "inlabel" + "block": "f171b375-a1d9-4dbb-a2db-61b09e78bad8", + "port": "ad4d0fc2-118e-496e-b292-c435bad20e7d" } }, { "source": { - "block": "7a94a774-819e-4796-ad92-2b9f0a06e828", - "port": "outlabel" + "block": "94f3b4c1-ffb7-450b-99c4-aebfb6c4e124", + "port": "out", + "size": 24 }, "target": { - "block": "03291097-00e3-48db-9044-3c73ed88eeb8", - "port": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6" - } + "block": "01c88c3e-3d41-47d5-8548-d6d9a2c1cfe8", + "port": "inlabel" + }, + "size": 24 }, { "source": { - "block": "35ac40b6-de26-493f-b22e-d15895042a60", + "block": "d987011b-ee0c-4b06-b3b7-dfb2097a5c6f", "port": "outlabel" }, "target": { - "block": "03291097-00e3-48db-9044-3c73ed88eeb8", - "port": "159f86de-af0f-4f1a-9a93-7e8149d5d322" - } + "block": "ccd1e0fa-873c-4274-85c6-f906e6266aee", + "port": "2117685c-3a4e-4403-a12a-5de3ed4c20a5", + "size": 24 + }, + "size": 24 + }, + { + "source": { + "block": "f171b375-a1d9-4dbb-a2db-61b09e78bad8", + "port": "19940e4f-3166-4887-a4e2-ea5babe5f726", + "size": 14 + }, + "target": { + "block": "2c719f94-9d13-4502-9018-1231407bb53a", + "port": "inlabel" + }, + "size": 14 }, { "source": { - "block": "719d7e53-bdb2-40e8-8bed-c86a12749e88", + "block": "eb3a1b78-59a5-4be4-a92e-3b7e9a65f13b", "port": "outlabel" }, "target": { - "block": "f071a293-16e9-4c8b-8494-14b7f15033a3", - "port": "159f86de-af0f-4f1a-9a93-7e8149d5d322" + "block": "6db36553-cdbf-4430-8693-607cf166a23a", + "port": "61496e71-85ba-465b-89b9-fedb08b8590d", + "size": 14 }, "vertices": [ { - "x": 64, - "y": 152 + "x": 992, + "y": -96 } - ] + ], + "size": 14 }, { "source": { - "block": "fdb3de4d-1a1f-420d-83f5-652d30cd8ca3", + "block": "0dfcc0e0-4f99-40f8-82ae-e43ea86f5e58", "port": "outlabel" }, "target": { - "block": "f071a293-16e9-4c8b-8494-14b7f15033a3", - "port": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6" - } + "block": "adb6b0df-8c6d-408c-b6f5-953934e48c81", + "port": "63847aa3-e2cd-4ff3-806d-b566a8176645", + "size": 24 + }, + "size": 24 }, { "source": { - "block": "f071a293-16e9-4c8b-8494-14b7f15033a3", - "port": "571d3fa4-680d-4422-92c6-b3b1dcd4fa8b" + "block": "7a989d63-cd4a-4c47-9513-57b4ea6ee141", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, "target": { - "block": "6da4d258-9a3e-446d-9085-2b9170fea487", - "port": "843164ff-f7d8-48b9-bf59-1e0d1135c81f" + "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" }, - "size": 4 + "vertices": [] }, { "source": { - "block": "4be672f2-c453-4028-9da2-d6edebfab777", - "port": "eb61d084-ca22-4894-b8a2-f936db38f4b1" + "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, "target": { - "block": "f071a293-16e9-4c8b-8494-14b7f15033a3", - "port": "26833303-0a1a-4750-8546-b98e2fdfdd82" + "block": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" }, - "size": 4 + "vertices": [] }, { "source": { - "block": "98e23c4f-291f-4a6a-977f-dd1e9fd61186", - "port": "out" + "block": "26b71a43-5955-4452-9b0e-94ea6ef453b7", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, "target": { - "block": "4be672f2-c453-4028-9da2-d6edebfab777", - "port": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e" - }, - "size": 8 + "block": "adb6b0df-8c6d-408c-b6f5-953934e48c81", + "port": "1e7e3cd6-ed00-468a-9f7c-0bb91e020dce" + } }, { "source": { - "block": "6da4d258-9a3e-446d-9085-2b9170fea487", - "port": "1269698e-e555-4fcb-a613-cb4c7ff2e598" + "block": "5caa6aff-82f8-4a53-84f7-b67bb5bad8a8", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" }, "target": { - "block": "f1844cff-7fd4-4781-82ea-93999fec5e74", + "block": "95c4416f-62f5-4196-a406-f7915d40a572", "port": "in" + } + }, + { + "source": { + "block": "0414e63d-55c1-41b0-abdf-4e02d0f68ff9", + "port": "3d584b0a-29eb-47af-8c43-c0822282ef05" }, - "size": 8 + "target": { + "block": "fc204eb4-2475-49d5-8d15-940e4cede5d4", + "port": "f1022de4-0225-43d7-92d3-451161ee6942" + } }, { "source": { - "block": "4be672f2-c453-4028-9da2-d6edebfab777", - "port": "637e64f4-0a6b-4037-9a75-89397e078a58" + "block": "6db36553-cdbf-4430-8693-607cf166a23a", + "port": "81a20a74-f096-4c3b-bc35-91917f08c79b" }, "target": { - "block": "03291097-00e3-48db-9044-3c73ed88eeb8", - "port": "26833303-0a1a-4750-8546-b98e2fdfdd82" + "block": "adb6b0df-8c6d-408c-b6f5-953934e48c81", + "port": "a7083464-b9f2-4661-ba0e-e1875f71f9f7" }, "vertices": [ { - "x": -104, - "y": 32 + "x": 1232, + "y": 56 } ], - "size": 4 + "size": 24 }, { "source": { - "block": "03291097-00e3-48db-9044-3c73ed88eeb8", - "port": "571d3fa4-680d-4422-92c6-b3b1dcd4fa8b" + "block": "adb6b0df-8c6d-408c-b6f5-953934e48c81", + "port": "cf1ee513-b831-4546-b816-53c8196fca1c" }, "target": { - "block": "6da4d258-9a3e-446d-9085-2b9170fea487", - "port": "a1770adf-e143-4506-9d87-3cb9c870f534" + "block": "fa41806b-2355-4923-895f-3ead2e752b43", + "port": "in" }, - "size": 4 + "size": 24 } ] } } }, - "5c75f6e4f841e85f7c34d83b9cc081ef669dd12d": { + "35f267d0df6ffcb7fc33753bc9df9cf083642cca": { "package": { - "name": "DFF-rst-x04", - "version": "0.1", - "description": "DFF-rst-x04: Three D flip-flops in paralell with reset", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22252.294%22%20height=%22220.368%22%20viewBox=%220%200%2066.75283%2058.305748%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M25.682%2041.088L39.29%2057.76l-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M18.298%2033.024L9.066%2013.41l-6.45%203.724-2.07-3.583%2020.905-12.07%202.069%203.584-6.092%203.517%2012.03%2018.223s5.399-2.025%208.535.74c3.137%202.766%202.52%204.92%202.887%204.773L17.192%2045.956s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M42.022%2040.152l13.607%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M34.638%2032.088l-9.232-19.613-6.451%203.724-2.07-3.583L37.792.546%2039.86%204.13l-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.137%202.766%202.52%204.92%202.887%204.772L33.532%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20transform=%22translate(-38.356%20-17.732)%22%3E%3Crect%20width=%2224.412%22%20height=%2213.185%22%20x=%2280.3%22%20y=%2221.375%22%20ry=%222.247%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%22.794%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:1.25%22%20x=%2282.245%22%20y=%2230.943%22%20font-weight=%22400%22%20font-size=%2210.583%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20x=%2282.245%22%20y=%2230.943%22%20font-weight=%22700%22%3ESys%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E", - "otid": 1618509859237 + "name": "NOT", + "version": "1.0.3", + "description": "Puerta NOT", + "author": "Jesús Arroyo, Juan González", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22317.651%22%20height=%22194.058%22%20version=%221%22%3E%3Cpath%20d=%22M69.246%204l161.86%2093.027-161.86%2093.031V4z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20cx=%22253.352%22%20cy=%2296.736%22%20rx=%2221.393%22%20ry=%2221.893%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2097.49h65.262m205.796%200h38.48%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%2281.112%22%20y=%22111.734%22%20transform=%22scale(.99532%201.0047)%22%20font-weight=%22400%22%20font-size=%2249.675%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%2281.112%22%20y=%22111.734%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%3ENot%3C/tspan%3E%3C/text%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "7a94a774-819e-4796-ad92-2b9f0a06e828", - "type": "basic.outputLabel", + "id": "18c2ebc7-5152-439c-9b3f-851c59bac834", + "type": "basic.input", "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" + "name": "" }, "position": { - "x": -160, - "y": -336 + "x": 64, + "y": 144 } }, { - "id": "35ac40b6-de26-493f-b22e-d15895042a60", - "type": "basic.outputLabel", + "id": "664caf9e-5f40-4df4-800a-b626af702e62", + "type": "basic.output", "data": { - "blockColor": "navy", - "name": "rst", - "oldBlockColor": "fuchsia" + "name": "" }, "position": { - "x": -168, - "y": -280 + "x": 752, + "y": 144 } }, { - "id": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", - "type": "basic.input", + "id": "5365ed8c-e5db-4445-938f-8d689830ea5c", + "type": "basic.code", "data": { - "name": "", - "clock": true + "code": "//-- Puerta NOT\n\n//-- module (input wire a, output wire c);\n\n\nassign c = ~a;\n\n\n//-- endmodule\n", + "params": [], + "ports": { + "in": [ + { + "name": "a" + } + ], + "out": [ + { + "name": "c" + } + ] + } }, "position": { - "x": -496, - "y": -256 + "x": 256, + "y": 48 + }, + "size": { + "width": 400, + "height": 256 + } + } + ], + "wires": [ + { + "source": { + "block": "18c2ebc7-5152-439c-9b3f-851c59bac834", + "port": "out" + }, + "target": { + "block": "5365ed8c-e5db-4445-938f-8d689830ea5c", + "port": "a" } }, { - "id": "0a772657-8018-424d-8f04-75d3ffff3692", - "type": "basic.inputLabel", + "source": { + "block": "5365ed8c-e5db-4445-938f-8d689830ea5c", + "port": "c" + }, + "target": { + "block": "664caf9e-5f40-4df4-800a-b626af702e62", + "port": "in" + } + } + ] + } + } + }, + "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6": { + "package": { + "name": "AND", + "version": "1.0.1", + "description": "Puerta AND", + "author": "Jesús Arroyo, Juan González", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22336.09%22%20height=%22194.045%22%20version=%221%22%3E%3Cpath%20d=%22M174.656%20190.045H78.304V4h96.352s87.463%208.625%2087.463%2091.94c0%2083.311-87.463%2094.105-87.463%2094.105z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2045.668h74.018M4.057%20144.812h74.018m184.632-50.034h69.326%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%2292.894%22%20y=%22114.587%22%20font-weight=%22400%22%20font-size=%2258.054%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%2292.894%22%20y=%22114.587%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%3EAND%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "18c2ebc7-5152-439c-9b3f-851c59bac834", + "type": "basic.input", "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "name": "" }, "position": { - "x": -344, - "y": -256 + "x": 64, + "y": 88 } }, { - "id": "fdb3de4d-1a1f-420d-83f5-652d30cd8ca3", - "type": "basic.outputLabel", + "id": "664caf9e-5f40-4df4-800a-b626af702e62", + "type": "basic.output", "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" + "name": "" }, "position": { - "x": 112, - "y": -200 + "x": 784, + "y": 152 } }, { - "id": "159f86de-af0f-4f1a-9a93-7e8149d5d322", + "id": "97b51945-d716-4b6c-9db9-970d08541249", "type": "basic.input", "data": { - "name": "rst", - "clock": false + "name": "" }, "position": { - "x": -488, - "y": -184 + "x": 64, + "y": 224 } }, { - "id": "eae23d49-1710-4ffb-9162-8c4238e16af9", - "type": "basic.inputLabel", + "id": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "type": "basic.code", "data": { - "blockColor": "navy", - "name": "rst", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "code": "//-- Puerta AND\n\n//-- module and (input wire a, input wire b,\n//-- output wire c);\n\nassign c = a & b;\n\n//-- endmodule", + "params": [], + "ports": { + "in": [ + { + "name": "a" + }, + { + "name": "b" + } + ], + "out": [ + { + "name": "c" + } + ] + } }, "position": { - "x": -344, - "y": -184 + "x": 256, + "y": 48 + }, + "size": { + "width": 464, + "height": 272 } - }, + } + ], + "wires": [ { - "id": "719d7e53-bdb2-40e8-8bed-c86a12749e88", - "type": "basic.outputLabel", - "data": { - "blockColor": "navy", - "name": "rst", - "oldBlockColor": "fuchsia" + "source": { + "block": "18c2ebc7-5152-439c-9b3f-851c59bac834", + "port": "out" }, - "position": { - "x": 112, - "y": -112 + "target": { + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "a" } }, { - "id": "b9359b10-b14f-4dd7-adf9-3f4f22bc65e6", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" + "source": { + "block": "97b51945-d716-4b6c-9db9-970d08541249", + "port": "out" }, - "position": { - "x": 376, - "y": -8 + "target": { + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "b" } }, { - "id": "ff33bbea-7f70-4f0f-b74d-6bcb9f41d0ba", - "type": "basic.outputLabel", - "data": { - "blockColor": "navy", - "name": "rst", - "oldBlockColor": "fuchsia" + "source": { + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "c" }, - "position": { - "x": 376, - "y": 80 + "target": { + "block": "664caf9e-5f40-4df4-800a-b626af702e62", + "port": "in" } - }, + } + ] + } + } + }, + "81613874c6152f06c06ed7014bf4235900cfcc30": { + "package": { + "name": "OR", + "version": "1.0.1", + "description": "Puerta OR", + "author": "Jesús Arroyo, Juan González", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22192.718%22%20width=%22383.697%22%20version=%221%22%3E%3Cpath%20d=%22M175.56%20188.718H84.527s30.345-42.538%2031.086-94.03c.743-51.49-31.821-90.294-31.821-90.294L176.109%204c46.445%201.948%20103.899%2053.44%20123.047%2093.678-32.601%2067.503-92.158%2089.79-123.596%2091.04z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2047.292h99.605M4.883%20145.168h100.981M298.57%2098.89h81.07%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20font-weight=%22400%22%20font-size=%2266.317%22%20y=%22121.28%22%20x=%22131.572%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20font-weight=%22700%22%20y=%22121.28%22%20x=%22131.572%22%3EOR%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ { - "id": "571d3fa4-680d-4422-92c6-b3b1dcd4fa8b", - "type": "basic.output", + "id": "18c2ebc7-5152-439c-9b3f-851c59bac834", + "type": "basic.input", "data": { - "name": "", - "range": "[3:0]", - "size": 4 + "name": "" }, "position": { - "x": 1032, - "y": 184 + "x": 64, + "y": 88 } }, { - "id": "7f915e41-616b-42d0-b6b3-93e8312f9091", - "type": "basic.outputLabel", + "id": "664caf9e-5f40-4df4-800a-b626af702e62", + "type": "basic.output", "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" + "name": "" }, "position": { - "x": 528, - "y": 208 + "x": 784, + "y": 152 } }, { - "id": "26833303-0a1a-4750-8546-b98e2fdfdd82", + "id": "97b51945-d716-4b6c-9db9-970d08541249", "type": "basic.input", "data": { - "name": "", - "range": "[3:0]", - "clock": false, - "size": 4 + "name": "" }, "position": { - "x": -336, + "x": 64, "y": 224 } }, { - "id": "a47f4645-6751-4e16-8293-52d8f8cfc9f1", - "type": "basic.outputLabel", + "id": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "type": "basic.code", "data": { - "blockColor": "navy", - "name": "rst", - "oldBlockColor": "fuchsia" + "code": "//-- Puerta OR\n\n//-- module and (input wire a, input wire b,\n//-- output wire c);\n\nassign c = a | b;\n\n//-- endmodule", + "params": [], + "ports": { + "in": [ + { + "name": "a" + }, + { + "name": "b" + } + ], + "out": [ + { + "name": "c" + } + ] + } }, "position": { - "x": 520, - "y": 264 - } - }, - { - "id": "48335216-c02f-4e23-8a04-e3d4eaa032ab", - "type": "c4f23ad05c2010ec9bd213c8814c9238873037ae", - "position": { - "x": -168, - "y": 192 + "x": 256, + "y": 48 }, "size": { - "width": 96, - "height": 128 + "width": 464, + "height": 272 } - }, + } + ], + "wires": [ { - "id": "ac2e4720-4af2-481e-9d20-d935321e31f2", - "type": "84f0a15761ee8b753f67079819a7614923939472", - "position": { - "x": 848, - "y": 152 + "source": { + "block": "18c2ebc7-5152-439c-9b3f-851c59bac834", + "port": "out" }, - "size": { - "width": 96, - "height": 128 + "target": { + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "a" } }, { - "id": "0f69a2a7-39f9-4ed1-be11-0e7ee877a076", - "type": "2be0f80ece8db75007def664695ef5f257f88b99", - "position": { - "x": 672, - "y": 264 + "source": { + "block": "97b51945-d716-4b6c-9db9-970d08541249", + "port": "out" }, - "size": { - "width": 96, - "height": 96 + "target": { + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "b" } }, { - "id": "795fee35-1b0d-4780-afe4-25451dc8b7b3", - "type": "2be0f80ece8db75007def664695ef5f257f88b99", - "position": { - "x": 520, - "y": 64 + "source": { + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "c" }, - "size": { - "width": 96, - "height": 96 + "target": { + "block": "664caf9e-5f40-4df4-800a-b626af702e62", + "port": "in" } - }, + } + ] + } + } + }, + "725b7e2cb9666b5ed3183537d9c898f096dab82a": { + "package": { + "name": "1", + "version": "0.1", + "description": "Un bit constante a 1", + "author": "Jesus Arroyo", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2233.632%22%20height=%2269.34%22%20viewBox=%220%200%2031.530464%2065.006656%22%3E%3Cpath%20d=%22M3.517%2012.015L19%200l12.53%202.863-10.012%2043.262-9.746-2.227%207.7-34.532L8.03%2016.38z%22%20fill=%22green%22%20fill-rule=%22evenodd%22/%3E%3Cpath%20d=%22M17.593%2043.464l7.822%2010.472-6.56%207.919%202.27%202.043m-5.14-20.179l-4.542%2010.473-10.345%202.043.757%203.32%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%222.196%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ { - "id": "ef954a48-69f2-4704-9719-698826029980", - "type": "2be0f80ece8db75007def664695ef5f257f88b99", - "position": { - "x": 272, - "y": -128 + "id": "3d584b0a-29eb-47af-8c43-c0822282ef05", + "type": "basic.output", + "data": { + "name": "" }, - "size": { - "width": 96, - "height": 96 + "position": { + "x": 512, + "y": 160 } }, { - "id": "e76b0273-be54-4e06-ab90-45b1a08d31e4", - "type": "2be0f80ece8db75007def664695ef5f257f88b99", + "id": "61331ec5-2c56-4cdd-b607-e63b1502fa65", + "type": "basic.code", + "data": { + "code": "//-- Bit constante a 1\nassign q = 1'b1;\n\n", + "params": [], + "ports": { + "in": [], + "out": [ + { + "name": "q" + } + ] + } + }, "position": { - "x": -16, - "y": -296 + "x": 168, + "y": 112 }, "size": { - "width": 96, - "height": 96 + "width": 256, + "height": 160 } } ], "wires": [ { "source": { - "block": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", - "port": "out" - }, - "target": { - "block": "0a772657-8018-424d-8f04-75d3ffff3692", - "port": "inlabel" - }, - "vertices": [] - }, - { - "source": { - "block": "b9359b10-b14f-4dd7-adf9-3f4f22bc65e6", - "port": "outlabel" + "block": "61331ec5-2c56-4cdd-b607-e63b1502fa65", + "port": "q" }, "target": { - "block": "795fee35-1b0d-4780-afe4-25451dc8b7b3", - "port": "e5f6cfba-f822-4d53-a924-926407bc4e3f" + "block": "3d584b0a-29eb-47af-8c43-c0822282ef05", + "port": "in" } - }, + } + ] + } + } + }, + "8d66187a7f8e3ffab330c0980473cb3427f8a5a6": { + "package": { + "name": "08-Reg", + "version": "0.8", + "description": "08-Reg: 8 bits Register. Verilog implementation", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22286.865%22%20height=%22270.812%22%20viewBox=%220%200%2075.899794%2071.65232%22%3E%3Cpath%20d=%22M43.907%2033.607h10.645%22%20color=%22#000%22%20fill=%22#00f%22/%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M102.876%20163.95l4.552%2028.037%205.644-28.037%22%20fill=%22#ccc%22%20transform=%22matrix(.65581%20-.3791%20.37863%20.6566%20-85.712%20-27.533)%22/%3E%3Cpath%20d=%22M99.758%20149.859l2.39-28.512h-9.831v-5.462h31.86v5.462h-9.284l1.724%2028.769s7.509%201.248%209.269%206.48c1.76%205.231-.367%207.286.15%207.36l-36.077-.044s-.817-6.104%202.015-9.194c2.832-3.09%207.784-4.86%207.784-4.86z%22%20fill=%22red%22%20transform=%22matrix(.65581%20-.3791%20.37863%20.6566%20-85.712%20-27.533)%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M102.876%20163.95l4.552%2028.037%205.644-28.037%22%20fill=%22#ccc%22%20transform=%22matrix(.65581%20-.3791%20.37863%20.6566%20-69.38%20-28.47)%22/%3E%3Cpath%20d=%22M99.758%20149.859l2.39-28.512h-9.831v-5.462h31.86v5.462h-9.284l1.724%2028.769s7.509%201.248%209.269%206.48c1.76%205.231-.367%207.286.15%207.36l-36.077-.044s-.817-6.104%202.015-9.194c2.832-3.09%207.784-4.86%207.784-4.86z%22%20fill=%22red%22%20transform=%22matrix(.65581%20-.3791%20.37863%20.6566%20-69.38%20-28.47)%22/%3E%3C/g%3E%3Cg%20transform=%22translate(-93.518%20-25.072)%20scale(1.09073)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20cx=%22100.602%22%20cy=%2273.815%22%20r=%2214.559%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618509859237 + }, + "design": { + "graph": { + "blocks": [ { - "source": { - "block": "7f915e41-616b-42d0-b6b3-93e8312f9091", - "port": "outlabel" + "id": "c39743c3-1b76-483c-8613-15f2782d0809", + "type": "basic.input", + "data": { + "name": "", + "clock": true }, - "target": { - "block": "0f69a2a7-39f9-4ed1-be11-0e7ee877a076", - "port": "e5f6cfba-f822-4d53-a924-926407bc4e3f" + "position": { + "x": 568, + "y": 144 } }, { - "source": { - "block": "159f86de-af0f-4f1a-9a93-7e8149d5d322", - "port": "out" + "id": "8e68dac0-4473-40be-a907-0eb952ae4420", + "type": "basic.output", + "data": { + "name": "", + "range": "[7:0]", + "size": 8 }, - "target": { - "block": "eae23d49-1710-4ffb-9162-8c4238e16af9", - "port": "inlabel" + "position": { + "x": 1136, + "y": 240 } }, { - "source": { - "block": "ff33bbea-7f70-4f0f-b74d-6bcb9f41d0ba", - "port": "outlabel" + "id": "1b621e37-f1b1-46a7-8450-5500bb513afb", + "type": "basic.input", + "data": { + "name": "", + "range": "[7:0]", + "clock": false, + "size": 8 }, - "target": { - "block": "795fee35-1b0d-4780-afe4-25451dc8b7b3", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + "position": { + "x": 568, + "y": 240 } }, { - "source": { - "block": "a47f4645-6751-4e16-8293-52d8f8cfc9f1", - "port": "outlabel" + "id": "f1022de4-0225-43d7-92d3-451161ee6942", + "type": "basic.input", + "data": { + "name": "load", + "clock": false }, - "target": { - "block": "0f69a2a7-39f9-4ed1-be11-0e7ee877a076", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + "position": { + "x": 568, + "y": 328 } }, { - "source": { - "block": "719d7e53-bdb2-40e8-8bed-c86a12749e88", - "port": "outlabel" + "id": "1ee1f0e1-9e00-4224-82dd-d976319e771f", + "type": "basic.constant", + "data": { + "name": "", + "value": "0", + "local": false }, - "target": { - "block": "ef954a48-69f2-4704-9719-698826029980", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + "position": { + "x": 848, + "y": 24 } }, { - "source": { - "block": "fdb3de4d-1a1f-420d-83f5-652d30cd8ca3", - "port": "outlabel" + "id": "80679117-f4e2-46f1-95c8-6b897a7d0936", + "type": "basic.code", + "data": { + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "d", + "range": "[7:0]", + "size": 8 + }, + { + "name": "load" + } + ], + "out": [ + { + "name": "q", + "range": "[7:0]", + "size": 8 + } + ] + }, + "params": [ + { + "name": "INI" + } + ], + "code": "//-- Generic register\n//-- Number of bits\nlocalparam N = 8;\n\n//-- Initial value\nreg [N-1:0] qi = INI;\n\nalways @(posedge clk)\n\n //-- The value is load only if \n //-- load is 1\n if (load == 1'b1)\n qi <= d;\n \n//-- Connect the register with the\n//-- output\nassign q = qi;" }, - "target": { - "block": "ef954a48-69f2-4704-9719-698826029980", - "port": "e5f6cfba-f822-4d53-a924-926407bc4e3f" + "position": { + "x": 728, + "y": 128 + }, + "size": { + "width": 328, + "height": 280 } - }, + } + ], + "wires": [ { "source": { - "block": "7a94a774-819e-4796-ad92-2b9f0a06e828", - "port": "outlabel" + "block": "1ee1f0e1-9e00-4224-82dd-d976319e771f", + "port": "constant-out" }, "target": { - "block": "e76b0273-be54-4e06-ab90-45b1a08d31e4", - "port": "e5f6cfba-f822-4d53-a924-926407bc4e3f" - } + "block": "80679117-f4e2-46f1-95c8-6b897a7d0936", + "port": "INI" + }, + "vertices": [] }, { "source": { - "block": "35ac40b6-de26-493f-b22e-d15895042a60", - "port": "outlabel" + "block": "c39743c3-1b76-483c-8613-15f2782d0809", + "port": "out" }, "target": { - "block": "e76b0273-be54-4e06-ab90-45b1a08d31e4", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" - } + "block": "80679117-f4e2-46f1-95c8-6b897a7d0936", + "port": "clk" + }, + "vertices": [] }, { "source": { - "block": "0f69a2a7-39f9-4ed1-be11-0e7ee877a076", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "block": "f1022de4-0225-43d7-92d3-451161ee6942", + "port": "out" }, "target": { - "block": "ac2e4720-4af2-481e-9d20-d935321e31f2", - "port": "e4111201-8441-4e7d-bcd2-bcf9d265d043" + "block": "80679117-f4e2-46f1-95c8-6b897a7d0936", + "port": "load" } }, { "source": { - "block": "795fee35-1b0d-4780-afe4-25451dc8b7b3", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "block": "1b621e37-f1b1-46a7-8450-5500bb513afb", + "port": "out" }, "target": { - "block": "ac2e4720-4af2-481e-9d20-d935321e31f2", - "port": "969e11ca-69e8-403b-a566-7bf2fbe3a5a8" + "block": "80679117-f4e2-46f1-95c8-6b897a7d0936", + "port": "d" }, - "vertices": [ - { - "x": 712, - "y": 128 - } - ] + "size": 8 }, { "source": { - "block": "48335216-c02f-4e23-8a04-e3d4eaa032ab", - "port": "f5a71d7b-de20-4527-80c8-0eb20de0dc77" + "block": "80679117-f4e2-46f1-95c8-6b897a7d0936", + "port": "q" }, "target": { - "block": "795fee35-1b0d-4780-afe4-25451dc8b7b3", - "port": "0da42cdc-7d03-494b-acec-9b2095f8d663" - } - }, - { - "source": { - "block": "48335216-c02f-4e23-8a04-e3d4eaa032ab", - "port": "0f7487e5-b070-4277-bba6-acf69934afca" + "block": "8e68dac0-4473-40be-a907-0eb952ae4420", + "port": "in" }, - "target": { - "block": "0f69a2a7-39f9-4ed1-be11-0e7ee877a076", - "port": "0da42cdc-7d03-494b-acec-9b2095f8d663" + "size": 8 + } + ] + } + } + }, + "cae9cdc6d7b2442eb4d4095c65ccf9bd24a99bb9": { + "package": { + "name": "count-14bits", + "version": "0.3", + "description": "Máquina de contar, de 14 bits", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22498.716%22%20width=%22422.648%22%3E%3Cpath%20d=%22M198.947%2079.637c-24.895%200-45.092%2020.196-45.092%2045.109%200%2024.886%2020.197%2045.126%2045.092%2045.126%2024.904%200%2044.953-20.24%2044.953-45.126%200-24.913-20.05-45.11-44.953-45.11zm90.41%2071.022l-8.128%2019.578%2014.497%2028.472%201.914%203.759-20.1%2020.1-32.98-15.575-19.578%208.04-9.937%2030.421-1.27%204.038h-28.411l-12.295-34.337-19.579-8.075-28.514%2014.462-3.76%201.88-20.091-20.083%2015.558-32.997-8.066-19.56-30.37-9.92-4.028-1.306v-28.393L108.58%2098.85l8.067-19.544-14.454-28.533-1.905-3.741%2020.065-20.066%2033.023%2015.55%2019.552-8.084%209.929-30.403L184.137%200h28.402l12.304%2034.38%2019.526%208.084%2028.524-14.471%203.794-1.906%2020.083%2020.066-15.558%2032.97%208.04%2019.588%2030.455%209.928%204.003%201.28v28.384z%22%20fill=%22#00f%22/%3E%3Crect%20rx=%2210.608%22%20ry=%2210.608%22%20y=%22266.697%22%20x=%22218.697%22%20height=%22180.846%22%20width=%22111.64%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%225.658%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%22387.839%22%20x=%22242.878%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2233.946%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%225.658%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%22387.839%22%20x=%22242.878%22%20font-weight=%22700%22%20font-size=%22134.762%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M222.934%20361.162h104.934%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%228.487%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20rx=%2210.608%22%20ry=%2210.608%22%20y=%22266.697%22%20x=%2292.408%22%20height=%22180.846%22%20width=%22111.64%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%225.658%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%22387.839%22%20x=%22109.261%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2233.946%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%225.658%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%22387.839%22%20x=%22109.261%22%20font-weight=%22700%22%20font-size=%22134.762%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M96.645%20361.162h104.934%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%228.487%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%20-277.4%2063.192)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%20-277.4%20211.802)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%2049.068%20210.797)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%2046.938%2063.192)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "cb426e3d-ace3-4a57-a74b-155caed0c14c", + "type": "basic.input", + "data": { + "name": "", + "clock": true }, - "vertices": [ - { - "x": -48, - "y": 312 - } - ] + "position": { + "x": 592, + "y": -416 + } }, { - "source": { - "block": "48335216-c02f-4e23-8a04-e3d4eaa032ab", - "port": "33072210-9ba0-4659-8339-95952b939e6e" + "id": "9291f94d-2d9a-4c3a-b7df-4299abf84886", + "type": "basic.inputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "target": { - "block": "ef954a48-69f2-4704-9719-698826029980", - "port": "0da42cdc-7d03-494b-acec-9b2095f8d663" + "position": { + "x": 736, + "y": -416 } }, { - "source": { - "block": "ef954a48-69f2-4704-9719-698826029980", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" - }, - "target": { - "block": "ac2e4720-4af2-481e-9d20-d935321e31f2", - "port": "346b4ae4-4bb6-4845-9c17-3b25e0dde718" + "id": "81fb4efb-363e-483e-b1df-c2ebda777355", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "vertices": [ - { - "x": 768, - "y": 72 - } - ] + "position": { + "x": 1416, + "y": -352 + } }, { - "source": { - "block": "26833303-0a1a-4750-8546-b98e2fdfdd82", - "port": "out" - }, - "target": { - "block": "48335216-c02f-4e23-8a04-e3d4eaa032ab", - "port": "0ebd46a4-769b-45e6-bcaf-e3796264aed3" + "id": "92c88f9e-7d51-4946-b0ef-088dcd8efa49", + "type": "basic.inputLabel", + "data": { + "blockColor": "red", + "name": "on", + "oldBlockColor": "fuchsia" }, - "size": 4 + "position": { + "x": 952, + "y": -304 + } }, { - "source": { - "block": "ac2e4720-4af2-481e-9d20-d935321e31f2", - "port": "55180947-6349-4a04-a151-ad69ea2b155e" - }, - "target": { - "block": "571d3fa4-680d-4422-92c6-b3b1dcd4fa8b", - "port": "in" + "id": "6c846478-ff94-415a-b78e-03b6981bc0fe", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "rst" }, - "size": 4 + "position": { + "x": 1416, + "y": -288 + } }, { - "source": { - "block": "48335216-c02f-4e23-8a04-e3d4eaa032ab", - "port": "bbe1895b-be8b-4237-b0d1-ae592e3e6208" + "id": "40607400-436e-4dea-b733-8308a06fd4ef", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "target": { - "block": "e76b0273-be54-4e06-ab90-45b1a08d31e4", - "port": "0da42cdc-7d03-494b-acec-9b2095f8d663" + "position": { + "x": 584, + "y": -224 } }, { - "source": { - "block": "e76b0273-be54-4e06-ab90-45b1a08d31e4", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "id": "6a11eaf9-4bd5-405e-81f8-44418365326b", + "type": "basic.output", + "data": { + "name": "Busy" }, - "target": { - "block": "ac2e4720-4af2-481e-9d20-d935321e31f2", - "port": "6c2aa548-5a4c-4e8d-a56c-a70926b19f18" + "position": { + "x": 2312, + "y": -216 } - } - ] - } - } - }, - "c4f23ad05c2010ec9bd213c8814c9238873037ae": { - "package": { - "name": "Bus4-Split-all", - "version": "0.1", - "description": "Bus4-Split-all: Split the 4-bits bus into its 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": { - "graph": { - "blocks": [ + }, { - "id": "bbe1895b-be8b-4237-b0d1-ae592e3e6208", - "type": "basic.output", + "id": "2438a009-c8e2-4acb-b443-90fe0ddd989d", + "type": "basic.outputLabel", "data": { - "name": "3" + "blockColor": "red", + "name": "on", + "oldBlockColor": "fuchsia" }, "position": { - "x": 576, - "y": 80 + "x": 2152, + "y": -216 } }, { - "id": "33072210-9ba0-4659-8339-95952b939e6e", - "type": "basic.output", + "id": "bc6920df-ca50-4643-ad7a-7e10c29856e8", + "type": "basic.inputLabel", "data": { - "name": "2" + "blockColor": "fuchsia", + "name": "rst" }, "position": { - "x": 600, - "y": 144 + "x": 952, + "y": -192 } }, { - "id": "0ebd46a4-769b-45e6-bcaf-e3796264aed3", + "id": "8f591b24-0427-409f-aa6e-ca1861556cf5", "type": "basic.input", "data": { - "name": "", - "range": "[3:0]", - "clock": false, - "size": 4 + "name": "start", + "clock": false }, "position": { - "x": 128, - "y": 184 + "x": 584, + "y": -136 } }, { - "id": "f5a71d7b-de20-4527-80c8-0eb20de0dc77", - "type": "basic.output", + "id": "ba7c88dc-642a-46e2-9dac-c32ba106020d", + "type": "basic.outputLabel", "data": { - "name": "1" + "name": "cnt", + "range": "[13:0]", + "blockColor": "navy", + "size": 14 }, "position": { - "x": 592, - "y": 240 + "x": 1184, + "y": -120 } }, { - "id": "0f7487e5-b070-4277-bba6-acf69934afca", - "type": "basic.output", + "id": "1cfadcd2-42df-4d6b-9aed-0e94c93bf202", + "type": "basic.inputLabel", "data": { - "name": "0" + "name": "cnt", + "range": "[13:0]", + "blockColor": "navy", + "size": 14 }, "position": { - "x": 568, - "y": 296 + "x": 1824, + "y": -104 } }, { - "id": "16e78204-213e-4833-9096-89d735307ec2", - "type": "basic.code", + "id": "9baa509b-0012-4e0e-b874-e62987258aa1", + "type": "basic.inputLabel", "data": { - "code": "assign o3 = i[3];\nassign o2 = i[2];\nassign o1 = i[1];\nassign o0 = i[0];", - "params": [], - "ports": { - "in": [ - { - "name": "i", - "range": "[3:0]", - "size": 4 - } - ], - "out": [ - { - "name": "o3" - }, - { - "name": "o2" - }, - { - "name": "o1" - }, - { - "name": "o0" - } - ] - } + "blockColor": "fuchsia", + "name": "start" }, "position": { - "x": 296, - "y": 176 - }, - "size": { - "width": 208, - "height": 80 + "x": 944, + "y": -72 } - } - ], - "wires": [ + }, { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o1" + "id": "19940e4f-3166-4887-a4e2-ea5babe5f726", + "type": "basic.output", + "data": { + "name": "n", + "range": "[13:0]", + "size": 14 }, - "target": { - "block": "f5a71d7b-de20-4527-80c8-0eb20de0dc77", - "port": "in" + "position": { + "x": 2328, + "y": -72 } }, { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o0" + "id": "f46fb7c4-9551-4da4-9a31-7dd52f738527", + "type": "basic.outputLabel", + "data": { + "name": "cnt", + "range": "[13:0]", + "blockColor": "navy", + "size": 14 }, - "target": { - "block": "0f7487e5-b070-4277-bba6-acf69934afca", - "port": "in" + "position": { + "x": 2160, + "y": -72 } }, { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o2" + "id": "45bd338b-4745-4b06-b199-462cdaffa31d", + "type": "basic.outputLabel", + "data": { + "blockColor": "gold", + "name": "stop", + "oldBlockColor": "fuchsia" }, - "target": { - "block": "33072210-9ba0-4659-8339-95952b939e6e", - "port": "in" + "position": { + "x": 584, + "y": -24 } }, { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o3" + "id": "8a5f0c79-7347-4b35-8e27-603ebed8bf9f", + "type": "basic.outputLabel", + "data": { + "blockColor": "darkgreen", + "name": "cycle", + "oldBlockColor": "fuchsia" }, - "target": { - "block": "bbe1895b-be8b-4237-b0d1-ae592e3e6208", - "port": "in" + "position": { + "x": 1472, + "y": 16 } }, { - "source": { - "block": "0ebd46a4-769b-45e6-bcaf-e3796264aed3", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i" + "id": "5a3f8466-6a57-4607-939a-fb15222442a7", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "done" }, - "size": 4 - } - ] - } - } - }, - "84f0a15761ee8b753f67079819a7614923939472": { - "package": { - "name": "Bus4-Join-all", - "version": "0.1", - "description": "Bus4-Join-all: Join all the wires into a 4-bits Bus", - "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=%22M164.218%2077.643L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v26.186l61.698.046c8.012-.043%2015.705%203.133%2021.47%208.81l61.448%2061.315a57.292%2057.292%200%200%200%2039.993%2016.139%2057.292%2057.292%200%200%200-39.993%2016.14L83.668%20190.45c-5.765%205.677-13.458%208.853-21.47%208.81L.5%20199.306v26.186h62.612c14.924.039%2029.463-5.9%2040.204-16.28l60.902-60.863a29.857%2029.857%200%200%201%2021.347-8.81l146.53-.113V86.457H185.571a29.884%2029.884%200%200%201-21.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ + "position": { + "x": 920, + "y": 24 + } + }, + { + "id": "dddd2a78-e0f8-4688-ad63-0c41ad98894b", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "exec", + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 2160, + "y": 104 + } + }, { - "id": "6c2aa548-5a4c-4e8d-a56c-a70926b19f18", - "type": "basic.input", + "id": "73948305-b05b-418f-88af-11328f400cdc", + "type": "basic.output", "data": { - "name": "3", - "clock": false + "name": "exec" }, "position": { - "x": 80, - "y": 64 + "x": 2328, + "y": 104 } }, { - "id": "346b4ae4-4bb6-4845-9c17-3b25e0dde718", - "type": "basic.input", + "id": "c5781045-a890-4e66-8f67-80d0cb317ee6", + "type": "basic.outputLabel", "data": { - "name": "2", - "clock": false + "blockColor": "red", + "name": "on", + "oldBlockColor": "fuchsia" }, "position": { - "x": 80, + "x": 1544, "y": 136 } }, { - "id": "55180947-6349-4a04-a151-ad69ea2b155e", - "type": "basic.output", + "id": "fa7f43f2-cbb2-47e0-bcc5-32336f9cd8ed", + "type": "basic.outputLabel", "data": { - "name": "", - "range": "[3:0]", - "size": 4 + "blockColor": "red", + "name": "on", + "oldBlockColor": "fuchsia" }, "position": { - "x": 712, - "y": 200 + "x": 648, + "y": 152 } }, { - "id": "969e11ca-69e8-403b-a566-7bf2fbe3a5a8", - "type": "basic.input", + "id": "8c96c7ec-0c2f-4870-9197-46116cd1d134", + "type": "basic.inputLabel", "data": { - "name": "1", - "clock": false + "blockColor": "darkgreen", + "name": "cycle", + "oldBlockColor": "fuchsia" }, "position": { - "x": 80, - "y": 208 + "x": 1080, + "y": 168 } }, { - "id": "e4111201-8441-4e7d-bcd2-bcf9d265d043", + "id": "ad4d0fc2-118e-496e-b292-c435bad20e7d", "type": "basic.input", "data": { - "name": "0", + "name": "next", "clock": false }, "position": { - "x": 80, - "y": 272 + "x": 616, + "y": 208 } }, { - "id": "16e78204-213e-4833-9096-89d735307ec2", - "type": "basic.code", + "id": "d8820925-23d9-4f02-8491-adf813601d08", + "type": "basic.outputLabel", "data": { - "code": "assign o = {i3, i2, i1, i0};\n", - "params": [], - "ports": { - "in": [ - { - "name": "i3" - }, - { - "name": "i2" - }, - { - "name": "i1" - }, - { - "name": "i0" - } - ], - "out": [ - { - "name": "o", - "range": "[3:0]", - "size": 4 - } - ] - } + "blockColor": "yellow", + "name": "clk" }, "position": { - "x": 296, - "y": 176 - }, - "size": { - "width": 344, - "height": 104 - } - } - ], - "wires": [ - { - "source": { - "block": "969e11ca-69e8-403b-a566-7bf2fbe3a5a8", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i1" + "x": 1384, + "y": 216 } }, { - "source": { - "block": "e4111201-8441-4e7d-bcd2-bcf9d265d043", - "port": "out" + "id": "a756b829-42d1-4779-b42d-a9acc3800854", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "done", + "oldBlockColor": "fuchsia" }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i0" + "position": { + "x": 2160, + "y": 248 } }, { - "source": { - "block": "346b4ae4-4bb6-4845-9c17-3b25e0dde718", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i2" + "id": "49221b19-132a-4e3f-9a1f-97bcd463391b", + "type": "basic.output", + "data": { + "name": "done" }, - "vertices": [ - { - "x": 200, - "y": 176 - } - ] + "position": { + "x": 2320, + "y": 248 + } }, { - "source": { - "block": "6c2aa548-5a4c-4e8d-a56c-a70926b19f18", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i3" + "id": "06b60a4f-b1b1-4a91-ba10-bdb5a7515718", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "exec", + "oldBlockColor": "fuchsia" }, - "vertices": [ - { - "x": 224, - "y": 128 - } - ] + "position": { + "x": 1952, + "y": 288 + } }, { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o" - }, - "target": { - "block": "55180947-6349-4a04-a151-ad69ea2b155e", - "port": "in" - }, - "size": 4 - } - ] - } - } - }, - "2be0f80ece8db75007def664695ef5f257f88b99": { - "package": { - "name": "DFF-rst-x01", - "version": "0.2", - "description": "DFF-rst-x01: D Flip flop with reset input. When rst=1, the DFF is 0", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22196.313%22%20height=%22216.83%22%20viewBox=%220%200%2051.941051%2057.369679%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20transform=%22translate(-52.22%20-48.028)%22%3E%3Crect%20width=%2224.412%22%20height=%2213.185%22%20x=%2279.352%22%20y=%2253.67%22%20ry=%222.247%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%22.794%22%20stroke-linecap=%22round%22/%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M77.902%2088.18l13.607%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M70.517%2080.116l-9.232-19.613-6.45%203.725-2.07-3.584%2020.905-12.07%202.07%203.584-6.093%203.518%2012.03%2018.222s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.773L69.412%2093.049s-2.848-3.696-2.16-6.796c.687-3.1%203.265-6.137%203.265-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Ctext%20style=%22line-height:1.25%22%20x=%2281.296%22%20y=%2263.239%22%20font-weight=%22400%22%20font-size=%2210.583%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20x=%2281.296%22%20y=%2263.239%22%20font-weight=%22700%22%3ESys%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E", - "otid": 1617895961660 - }, - "design": { - "graph": { - "blocks": [ - { - "id": "e5f6cfba-f822-4d53-a924-926407bc4e3f", - "type": "basic.input", + "id": "f9f37a77-fd08-4506-9c1b-cc53daa19559", + "type": "basic.outputLabel", "data": { - "name": "", - "clock": true + "blockColor": "darkgreen", + "name": "cycle", + "oldBlockColor": "fuchsia" }, "position": { - "x": 200, - "y": -264 + "x": 1384, + "y": 288 } }, { - "id": "4b0bae4c-c796-429c-ac44-785afc2f4c89", - "type": "basic.inputLabel", + "id": "10afc859-04fd-433d-823a-4fa4721320c1", + "type": "basic.outputLabel", "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "blockColor": "fuchsia", + "name": "start" }, "position": { - "x": 352, - "y": -264 + "x": 1680, + "y": 376 } }, { - "id": "4caec7c8-0763-44fc-9b7b-110e0260b74b", - "type": "basic.outputLabel", + "id": "2e9e9e82-c651-4a6b-9d9e-4c796699d133", + "type": "basic.inputLabel", "data": { - "blockColor": "yellow", - "name": "clk", + "blockColor": "gold", + "name": "stop", "oldBlockColor": "fuchsia" }, "position": { - "x": 584, - "y": -128 + "x": 1144, + "y": 376 } }, { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "type": "basic.output", + "id": "9726aeb6-7b23-479f-ac97-1bbfc2e82bc0", + "type": "basic.outputLabel", "data": { - "name": "" + "name": "cnt", + "range": "[13:0]", + "blockColor": "navy", + "size": 14 }, "position": { - "x": 856, - "y": -56 + "x": 688, + "y": 528 } }, - { - "id": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", - "type": "basic.input", + { + "id": "d0005413-fea9-4b0b-8a18-9b15d4977bc1", + "type": "basic.constant", "data": { - "name": "rst", - "clock": false + "name": "N", + "value": "'h4000", + "local": false }, "position": { - "x": 200, - "y": -56 + "x": 680, + "y": 344 } }, { - "id": "0da42cdc-7d03-494b-acec-9b2095f8d663", - "type": "basic.input", + "id": "a19b8bcd-a0a4-4da0-9844-5e5c0306e231", + "type": "basic.constant", "data": { - "name": "d", - "clock": false + "name": "", + "value": "1", + "local": true }, "position": { - "x": 200, - "y": 80 + "x": 1336, + "y": -224 } }, { - "id": "63e9825a-4f37-4c3c-b118-e2bbd28d5ac7", + "id": "374613cb-968d-46d1-94a4-16686e7df28d", "type": "basic.constant", "data": { "name": "", "value": "0", - "local": false + "local": true }, "position": { - "x": 712, - "y": -160 + "x": 1648, + "y": -256 } }, { - "id": "3238f8fb-ade5-4d95-a02d-692defd900d6", - "type": "basic.info", - "data": { - "info": "Reset input: Active high \nWhen rst = 1, the DFF is reset to 0", - "readonly": true - }, + "id": "bd61136e-6597-4728-a8c3-141a1841150b", + "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", "position": { - "x": 184, - "y": -120 + "x": 808, + "y": 168 }, "size": { - "width": 272, - "height": 48 + "width": 96, + "height": 64 } }, { - "id": "4d2e11c4-2f46-4c0a-9d1a-b641b417d495", - "type": "3676a00f3a70e406487ed14b901daf3e4984e63d", + "id": "7d6ed080-252a-4f1b-8ec7-0f47d7866317", + "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", "position": { - "x": 360, - "y": -56 + "x": 1016, + "y": 376 }, "size": { "width": 96, @@ -21162,11 +17252,11 @@ } }, { - "id": "c5b4454d-c8bc-420b-b7b6-ad21ca8304e0", - "type": "ba518ee261a2be13a9739cd3a01cdcebe0ef63c0", + "id": "ac8b922a-9249-49a3-8b42-a1f259ccae2b", + "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", "position": { - "x": 536, - "y": -40 + "x": 1680, + "y": 272 }, "size": { "width": 96, @@ -21174,672 +17264,467 @@ } }, { - "id": "ca985673-a11d-42a0-926c-d564fe02b723", - "type": "basic.info", - "data": { - "info": "Data input", - "readonly": true - }, + "id": "28aef1aa-1cc2-4bb4-9a70-2db1962258d4", + "type": "81613874c6152f06c06ed7014bf4235900cfcc30", "position": { - "x": 216, - "y": 56 + "x": 1824, + "y": 288 }, "size": { - "width": 104, - "height": 40 + "width": 96, + "height": 64 } }, { - "id": "f36afb1b-0486-4fcf-98ad-a8b6d64ab550", + "id": "e042b05f-b116-4a58-8aee-1bf2833ecb6b", "type": "basic.info", "data": { - "info": "System clock", + "info": "**Reloj del sistema**", "readonly": true }, "position": { - "x": 208, - "y": -304 + "x": 680, + "y": -472 }, "size": { - "width": 144, + "width": 192, "height": 40 } }, { - "id": "9833aab1-3c8e-40a6-859b-ce1960837256", + "id": "09056d84-24ad-48b7-89c2-0d008ca64b89", "type": "basic.info", "data": { - "info": "Initial default \nvalue: 0", + "info": "**Estado de** \n**la máquina**", "readonly": true }, "position": { - "x": 720, - "y": -200 - }, - "size": { - "width": 152, - "height": 64 - } - }, - { - "id": "9abbb3b1-2218-4aa2-bb22-add4c00ec265", - "type": "053dc2e26797e60dd454402e395eb23f388681b9", - "position": { - "x": 712, - "y": -56 + "x": 760, + "y": -248 }, "size": { - "width": 96, - "height": 64 - } - } - ], - "wires": [ - { - "source": { - "block": "e5f6cfba-f822-4d53-a924-926407bc4e3f", - "port": "out" - }, - "target": { - "block": "4b0bae4c-c796-429c-ac44-785afc2f4c89", - "port": "inlabel" - }, - "vertices": [] - }, - { - "source": { - "block": "4caec7c8-0763-44fc-9b7b-110e0260b74b", - "port": "outlabel" - }, - "target": { - "block": "9abbb3b1-2218-4aa2-bb22-add4c00ec265", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" - } - }, - { - "source": { - "block": "c5b4454d-c8bc-420b-b7b6-ad21ca8304e0", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" - }, - "target": { - "block": "9abbb3b1-2218-4aa2-bb22-add4c00ec265", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" - }, - "vertices": [] - }, - { - "source": { - "block": "4d2e11c4-2f46-4c0a-9d1a-b641b417d495", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" - }, - "target": { - "block": "c5b4454d-c8bc-420b-b7b6-ad21ca8304e0", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - }, - "vertices": [] - }, - { - "source": { - "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", - "port": "out" - }, - "target": { - "block": "4d2e11c4-2f46-4c0a-9d1a-b641b417d495", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - } - }, - { - "source": { - "block": "0da42cdc-7d03-494b-acec-9b2095f8d663", - "port": "out" - }, - "target": { - "block": "c5b4454d-c8bc-420b-b7b6-ad21ca8304e0", - "port": "97b51945-d716-4b6c-9db9-970d08541249" - } - }, - { - "source": { - "block": "9abbb3b1-2218-4aa2-bb22-add4c00ec265", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" - }, - "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "port": "in" + "width": 160, + "height": 40 } }, { - "source": { - "block": "63e9825a-4f37-4c3c-b118-e2bbd28d5ac7", - "port": "constant-out" - }, - "target": { - "block": "9abbb3b1-2218-4aa2-bb22-add4c00ec265", - "port": "65194b18-5d2a-41b2-bd86-01be99978ad6" - } - } - ] - } - } - }, - "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a": { - "package": { - "name": "Bus8-Split-half", - "version": "0.1", - "description": "Bus8-Split-half: Split the 8-bits bus into two buses of the same size", - "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": { - "graph": { - "blocks": [ - { - "id": "637e64f4-0a6b-4037-9a75-89397e078a58", - "type": "basic.output", + "id": "02ad4d4d-3335-43e1-a671-4b00fc01c8be", + "type": "basic.info", "data": { - "name": "1", - "range": "[3:0]", - "size": 4 + "info": "Máquina encendida", + "readonly": true }, "position": { - "x": 584, - "y": 104 - } - }, - { - "id": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e", - "type": "basic.input", - "data": { - "name": "", - "range": "[7:0]", - "clock": false, - "size": 8 + "x": 936, + "y": -328 }, - "position": { - "x": 120, - "y": 208 + "size": { + "width": 168, + "height": 40 } }, { - "id": "eb61d084-ca22-4894-b8a2-f936db38f4b1", - "type": "basic.output", + "id": "23827b42-5be3-406c-9991-b4ad6deb74e8", + "type": "basic.info", "data": { - "name": "0", - "range": "[3:0]", - "size": 4 + "info": "Máquina apagada \n(rst = 1)", + "readonly": true }, "position": { - "x": 584, - "y": 232 + "x": 952, + "y": -232 + }, + "size": { + "width": 152, + "height": 56 } }, { - "id": "16e78204-213e-4833-9096-89d735307ec2", - "type": "basic.code", - "data": { - "code": "assign o1 = i[7:4];\nassign o0 = i[3:0];", - "params": [], - "ports": { - "in": [ - { - "name": "i", - "range": "[7:0]", - "size": 8 - } - ], - "out": [ - { - "name": "o1", - "range": "[3:0]", - "size": 4 - }, - { - "name": "o0", - "range": "[3:0]", - "size": 4 - } - ] - } + "id": "8a928b2a-c1fd-4d20-ba27-2f2bb41c0d01", + "type": "basic.info", + "data": { + "info": "Tic de arranque", + "readonly": true }, "position": { - "x": 272, - "y": 176 + "x": 960, + "y": -96 }, "size": { - "width": 240, - "height": 120 + "width": 160, + "height": 40 } - } - ], - "wires": [ - { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o1" - }, - "target": { - "block": "637e64f4-0a6b-4037-9a75-89397e078a58", - "port": "in" - }, - "size": 4 }, { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o0" + "id": "6648005b-8565-4aa7-9dbe-692786ab5eed", + "type": "basic.info", + "data": { + "info": "Tic de fin", + "readonly": true }, - "target": { - "block": "eb61d084-ca22-4894-b8a2-f936db38f4b1", - "port": "in" + "position": { + "x": 944, + "y": 0 }, - "size": 4 + "size": { + "width": 120, + "height": 32 + } }, { - "source": { - "block": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e", - "port": "out" + "id": "08d8a2f1-ca1d-4bb5-84ec-2e003a76d1c1", + "type": "basic.info", + "data": { + "info": "**Contador de ciclos**", + "readonly": true }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i" + "position": { + "x": 1480, + "y": -424 }, - "size": 8 - } - ] - } - } - }, - "afb28fd5426aea14477d11cbe30a290679f789f8": { - "package": { - "name": "Bus8-Join-half", - "version": "0.1", - "description": "Bus8-Join-half: Join the two same halves into an 8-bits Bus", - "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=%22M164.218%2077.643L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v26.186l61.698.046c8.012-.043%2015.705%203.133%2021.47%208.81l61.448%2061.315a57.292%2057.292%200%200%200%2039.993%2016.139%2057.292%2057.292%200%200%200-39.993%2016.14L83.668%20190.45c-5.765%205.677-13.458%208.853-21.47%208.81L.5%20199.306v26.186h62.612c14.924.039%2029.463-5.9%2040.204-16.28l60.902-60.863a29.857%2029.857%200%200%201%2021.347-8.81l146.53-.113V86.457H185.571a29.884%2029.884%200%200%201-21.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ + "size": { + "width": 224, + "height": 40 + } + }, { - "id": "a1770adf-e143-4506-9d87-3cb9c870f534", - "type": "basic.input", + "id": "6b89fbaa-ded1-4b08-85b3-d5043665ba0f", + "type": "basic.info", "data": { - "name": "1", - "range": "[3:0]", - "clock": false, - "size": 4 + "info": "Número de ciclos \ncontados", + "readonly": true }, "position": { - "x": 128, - "y": 168 + "x": 1824, + "y": -152 + }, + "size": { + "width": 160, + "height": 56 } }, { - "id": "1269698e-e555-4fcb-a613-cb4c7ff2e598", - "type": "basic.output", + "id": "ce9c2faa-a5a2-43ef-a19f-8089842fa7fb", + "type": "basic.info", "data": { - "name": "", - "range": "[7:0]", - "size": 8 + "info": "Valor \nincrementado", + "readonly": true }, "position": { - "x": 640, - "y": 200 + "x": 1496, + "y": -128 + }, + "size": { + "width": 128, + "height": 56 } }, { - "id": "843164ff-f7d8-48b9-bf59-1e0d1135c81f", - "type": "basic.input", + "id": "9749c7ec-56c0-4d88-8b20-572f154aba47", + "type": "basic.info", "data": { - "name": "0", - "range": "[3:0]", - "clock": false, - "size": 4 + "info": "### Salidas", + "readonly": true }, "position": { - "x": 128, - "y": 224 + "x": 2152, + "y": -328 + }, + "size": { + "width": 280, + "height": 40 } }, { - "id": "16e78204-213e-4833-9096-89d735307ec2", - "type": "basic.code", + "id": "4c022dd4-dc38-48e8-8e23-991de83819a0", + "type": "basic.info", "data": { - "code": "assign o = {i1, i0};\n", - "params": [], - "ports": { - "in": [ - { - "name": "i1", - "range": "[3:0]", - "size": 4 - }, - { - "name": "i0", - "range": "[3:0]", - "size": 4 - } - ], - "out": [ - { - "name": "o", - "range": "[7:0]", - "size": 8 - } - ] - } + "info": "Estado de la máquina", + "readonly": true }, "position": { - "x": 296, - "y": 176 + "x": 2160, + "y": -248 }, "size": { - "width": 272, - "height": 104 + "width": 192, + "height": 40 } - } - ], - "wires": [ + }, { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o" + "id": "2f5c5893-19c2-411c-b942-83e2e0355d9b", + "type": "basic.info", + "data": { + "info": "Ciclo actual", + "readonly": true }, - "target": { - "block": "1269698e-e555-4fcb-a613-cb4c7ff2e598", - "port": "in" + "position": { + "x": 2168, + "y": -104 }, - "size": 8 + "size": { + "width": 152, + "height": 40 + } }, { - "source": { - "block": "a1770adf-e143-4506-9d87-3cb9c870f534", - "port": "out" + "id": "3529c7ae-8223-48c9-a5c7-1b8161eb3654", + "type": "basic.info", + "data": { + "info": "Cuenta finalizada", + "readonly": true }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i1" + "position": { + "x": 2160, + "y": 216 }, - "size": 4 + "size": { + "width": 176, + "height": 48 + } }, { - "source": { - "block": "843164ff-f7d8-48b9-bf59-1e0d1135c81f", - "port": "out" + "id": "8d3fe74d-0b04-434f-bd0a-c966094bb54e", + "type": "basic.info", + "data": { + "info": "Ejecutar el ciclo", + "readonly": true }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i0" + "position": { + "x": 2168, + "y": 80 }, - "size": 4 - } - ] - } - } - }, - "78e0a3d1967abcd86e415b34d991628f183e3597": { - "package": { - "name": "Bus32-Join-quarter", - "version": "0.1", - "description": "Bus32-Join-quarter: Join the four buses into an 32-bits Bus", - "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=%22M164.218%2077.643L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v26.186l61.698.046c8.012-.043%2015.705%203.133%2021.47%208.81l61.448%2061.315a57.292%2057.292%200%200%200%2039.993%2016.139%2057.292%2057.292%200%200%200-39.993%2016.14L83.668%20190.45c-5.765%205.677-13.458%208.853-21.47%208.81L.5%20199.306v26.186h62.612c14.924.039%2029.463-5.9%2040.204-16.28l60.902-60.863a29.857%2029.857%200%200%201%2021.347-8.81l146.53-.113V86.457H185.571a29.884%2029.884%200%200%201-21.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ + "size": { + "width": 168, + "height": 40 + } + }, { - "id": "7c1446d8-6d07-4455-b759-79219a96fe0a", - "type": "basic.input", + "id": "eae9349c-e15a-4922-8652-1849ae8af424", + "type": "basic.info", "data": { - "name": "3", - "range": "[7:0]", - "clock": false, - "size": 8 + "info": "Número de ciclos \na contar", + "readonly": true }, "position": { - "x": 96, - "y": 96 + "x": 696, + "y": 288 + }, + "size": { + "width": 152, + "height": 56 } }, { - "id": "e48e299f-46ba-4f77-a623-41d5c2010362", - "type": "basic.input", + "id": "95a0fd91-d4b4-4a8c-a326-fa00aead76a2", + "type": "basic.info", "data": { - "name": "2", - "range": "[7:0]", - "clock": false, - "size": 8 + "info": "¿Estamos en el \nciclo k-1?", + "readonly": true }, "position": { - "x": 96, - "y": 200 + "x": 1024, + "y": 480 + }, + "size": { + "width": 144, + "height": 56 } }, { - "id": "a121f12a-dede-4aec-9016-4c8e92ed75e2", - "type": "basic.output", + "id": "ee786c92-eee9-4192-b5cd-7ffd2cff4aa0", + "type": "basic.info", "data": { - "name": "", - "range": "[31:0]", - "size": 32 + "info": "Solo se hace caso a la \nentrada next si la \nmáquina está encendida", + "readonly": true }, "position": { - "x": 688, - "y": 224 + "x": 648, + "y": 88 + }, + "size": { + "width": 216, + "height": 80 } }, { - "id": "40f9d1d0-01e9-40c2-b4a4-e7277a78c006", - "type": "basic.input", + "id": "fdea86ef-3e4a-4419-972a-3e09c49380ab", + "type": "basic.info", "data": { - "name": "1", - "range": "[7:0]", - "clock": false, - "size": 8 + "info": "Nuevo ciclo", + "readonly": true }, "position": { - "x": 104, - "y": 272 + "x": 920, + "y": 168 + }, + "size": { + "width": 136, + "height": 40 } }, { - "id": "832263fc-5539-42d5-b40b-47ebd9172307", - "type": "basic.input", + "id": "f1312a02-2038-404e-b9cf-5f4ee6b11012", + "type": "basic.info", "data": { - "name": "0", - "range": "[7:0]", - "clock": false, - "size": 8 + "info": "Si es el ciclo k-1 y \nse pide un ciclo \nnuevo: Terminar", + "readonly": true }, "position": { - "x": 104, - "y": 352 + "x": 1136, + "y": 304 + }, + "size": { + "width": 208, + "height": 72 } }, { - "id": "16e78204-213e-4833-9096-89d735307ec2", - "type": "basic.code", + "id": "9baabc30-8c27-4b55-92e4-d59783269162", + "type": "basic.info", "data": { - "code": "assign o = {i3, i2, i1, i0};\n", - "params": [], - "ports": { - "in": [ - { - "name": "i3", - "range": "[7:0]", - "size": 8 - }, - { - "name": "i2", - "range": "[7:0]", - "size": 8 - }, - { - "name": "i1", - "range": "[7:0]", - "size": 8 - }, - { - "name": "i0", - "range": "[7:0]", - "size": 8 - } - ], - "out": [ - { - "name": "o", - "range": "[31:0]", - "size": 32 - } - ] - } + "info": "Apagar la \nmáquina", + "readonly": true }, "position": { - "x": 296, - "y": 176 + "x": 600, + "y": -64 }, "size": { - "width": 312, - "height": 152 + "width": 120, + "height": 56 } - } - ], - "wires": [ - { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o" - }, - "target": { - "block": "a121f12a-dede-4aec-9016-4c8e92ed75e2", - "port": "in" - }, - "size": 32 }, { - "source": { - "block": "832263fc-5539-42d5-b40b-47ebd9172307", - "port": "out" + "id": "b1d4db4d-86bf-41b9-8192-647537f22b35", + "type": "basic.info", + "data": { + "info": "Ciclo nuevo: \nincrementar la cuenta", + "readonly": true }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i0" + "position": { + "x": 1464, + "y": -32 }, - "size": 8 + "size": { + "width": 208, + "height": 56 + } }, { - "source": { - "block": "40f9d1d0-01e9-40c2-b4a4-e7277a78c006", - "port": "out" + "id": "6c065227-d7b8-48ea-8105-765c0ff10e5d", + "type": "basic.info", + "data": { + "info": "El tic de start se saca \npor exec para que se ejecute \nel primer ciclo", + "readonly": true }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i1" + "position": { + "x": 1680, + "y": 440 }, - "size": 8 + "size": { + "width": 248, + "height": 72 + } }, { - "source": { - "block": "e48e299f-46ba-4f77-a623-41d5c2010362", - "port": "out" + "id": "f41e1b4d-0de7-4d61-9b57-16de7ef8dc8a", + "type": "basic.info", + "data": { + "info": "Si la máquina está \napagada, las señales \nde ejecución no pueden \nsalir!", + "readonly": true }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i2" + "position": { + "x": 1688, + "y": 168 }, - "size": 8 + "size": { + "width": 208, + "height": 80 + } }, { - "source": { - "block": "7c1446d8-6d07-4455-b759-79219a96fe0a", - "port": "out" + "id": "1ed4ad01-9b81-4934-84b7-804dcaec10c1", + "type": "basic.info", + "data": { + "info": "Retrasar la señal un ciclo \nmientras que se detecta si \nla máquina ha finalizado o no", + "readonly": true }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i3" + "position": { + "x": 1416, + "y": 392 }, - "vertices": [ - { - "x": 224, - "y": 160 - } - ], - "size": 8 - } - ] - } - } - }, - "0906c20b5d8675f4f9b5706640957da9573692b5": { - "package": { - "name": "Inc1-32bits", - "version": "0.1", - "description": "Inc1-32bit: Increment a 32-bits number by one", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22387.891%22%20height=%22310.09%22%20viewBox=%220%200%20363.64764%20290.70999%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.759%2055.834v79.813h79.508v35.946H115.76v79.813h-36.25v-79.813H-.002v-35.946h79.51V55.834z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3Cpath%20d=%22M196.193%20257.608h64.256V35.828l-69.902%2014.02V14.018L260.06%200h39.332v257.608h64.257v33.102H196.193z%22%20style=%22line-height:1.25%22%20font-size=%22398.777%22%20stroke-width=%229.969%22/%3E%3C/svg%3E", - "otid": 1618560481898 - }, - "design": { - "graph": { - "blocks": [ + "size": { + "width": 256, + "height": 72 + } + }, { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "type": "basic.output", - "data": { - "name": "c" - }, + "id": "2a6b0d55-b2c4-4ed4-9483-8871ba946dcf", + "type": "aec21dcbeb94ef212f1936ba3b7cf22e0e349a8f", "position": { - "x": 624, + "x": 752, "y": -168 + }, + "size": { + "width": 96, + "height": 128 } }, { - "id": "360ef224-5b8f-4f5d-a1da-64432e80b443", - "type": "basic.input", - "data": { - "name": "", - "range": "[31:0]", - "clock": false, - "size": 32 + "id": "331d12d0-f6ea-49dd-8762-fb992de54f0f", + "type": "58ed2b5c7e33e2f215ccba6c101d9ea4ff60f284", + "position": { + "x": 1544, + "y": 272 }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "6ebcb033-3fa2-49c8-92f3-3b5eed869715", + "type": "bf21f4d270a776c39e0c3763ffe9253d8f25e93d", "position": { - "x": 280, + "x": 1648, "y": -152 + }, + "size": { + "width": 96, + "height": 128 } }, { - "id": "6ac8a1fd-e0f3-4fe4-8284-20eb83dced58", - "type": "basic.output", - "data": { - "name": "s", - "range": "[31:0]", - "size": 32 - }, + "id": "1a3e3c55-3a15-44eb-b040-abaa9763b6a9", + "type": "5ba0990b1cafb42a483bf845663b1bce6cbfa43b", "position": { - "x": 624, - "y": -88 + "x": 1336, + "y": -120 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "cd0d6f4d-9898-4114-94a9-0b4b98223c27", - "type": "basic.constant", - "data": { - "name": "", - "value": "1", - "local": true - }, + "id": "32e14852-e793-4199-a915-5ba8b629ef76", + "type": "c98ba9d3bd2afa5c5dc32f623ae81a9df5d211b3", "position": { - "x": 456, - "y": -256 + "x": 856, + "y": 512 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "650e86ca-0615-499a-a532-ed961351850c", - "type": "3c5f22b3989740b7a079ea25765ff22c4b8943cf", + "id": "27d9e58c-8375-447e-8210-f0cd82af5d37", + "type": "be366defa772394c264631243c78ced91837ab0f", "position": { - "x": 456, - "y": -152 + "x": 680, + "y": 448 }, "size": { "width": 96, @@ -21850,986 +17735,541 @@ "wires": [ { "source": { - "block": "650e86ca-0615-499a-a532-ed961351850c", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "block": "6c846478-ff94-415a-b78e-03b6981bc0fe", + "port": "outlabel" }, "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "port": "in" - } + "block": "6ebcb033-3fa2-49c8-92f3-3b5eed869715", + "port": "c97f7411-94ef-4d63-ba23-ce596ebcbb25" + }, + "vertices": [ + { + "x": 1592, + "y": -192 + } + ] }, { "source": { - "block": "cd0d6f4d-9898-4114-94a9-0b4b98223c27", - "port": "constant-out" + "block": "2a6b0d55-b2c4-4ed4-9483-8871ba946dcf", + "port": "89a5da53-cc8b-4099-a5e3-b9cf281619b1" }, "target": { - "block": "650e86ca-0615-499a-a532-ed961351850c", - "port": "e728fdca-755f-4f2d-98e7-0716b1c5258f" + "block": "bc6920df-ca50-4643-ad7a-7e10c29856e8", + "port": "inlabel" } }, { "source": { - "block": "360ef224-5b8f-4f5d-a1da-64432e80b443", - "port": "out" + "block": "2a6b0d55-b2c4-4ed4-9483-8871ba946dcf", + "port": "aefe9248-3b3d-441b-9e65-33cda65b99dd" }, "target": { - "block": "650e86ca-0615-499a-a532-ed961351850c", - "port": "ca378738-f6bc-431b-83e8-fbc11f37d54b" - }, - "size": 32 + "block": "9baa509b-0012-4e0e-b874-e62987258aa1", + "port": "inlabel" + } }, { "source": { - "block": "650e86ca-0615-499a-a532-ed961351850c", - "port": "1a9ad2b3-44a3-40f8-8d5f-0417a3a439fb" + "block": "2a6b0d55-b2c4-4ed4-9483-8871ba946dcf", + "port": "0d991cee-b329-439b-b9e7-5712d2db539d" }, "target": { - "block": "6ac8a1fd-e0f3-4fe4-8284-20eb83dced58", - "port": "in" - }, - "size": 32 - } - ] - } - } - }, - "3c5f22b3989740b7a079ea25765ff22c4b8943cf": { - "package": { - "name": "AdderK-32bits", - "version": "0.1", - "description": "AdderK-32bit: Adder of 32-bit operand and 32-bit constant", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", - "otid": 1618560481898 - }, - "design": { - "graph": { - "blocks": [ - { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "type": "basic.output", - "data": { - "name": "c" - }, - "position": { - "x": 624, - "y": -168 - } - }, - { - "id": "1a9ad2b3-44a3-40f8-8d5f-0417a3a439fb", - "type": "basic.output", - "data": { - "name": "s", - "range": "[31:0]", - "size": 32 - }, - "position": { - "x": 616, - "y": -88 - } - }, - { - "id": "ca378738-f6bc-431b-83e8-fbc11f37d54b", - "type": "basic.input", - "data": { - "name": "", - "range": "[31:0]", - "clock": false, - "size": 32 - }, - "position": { - "x": 232, - "y": -48 - } - }, - { - "id": "e728fdca-755f-4f2d-98e7-0716b1c5258f", - "type": "basic.constant", - "data": { - "name": "", - "value": "0", - "local": false + "block": "92c88f9e-7d51-4946-b0ef-088dcd8efa49", + "port": "inlabel" }, - "position": { - "x": 232, - "y": -272 - } + "vertices": [ + { + "x": 888, + "y": -216 + } + ] }, { - "id": "f235c473-a611-402b-a071-c4320af5b38c", - "type": "9597518c4f1e7dd74e5b39c2df0ebddbd556b06e", - "position": { - "x": 232, - "y": -168 + "source": { + "block": "fa7f43f2-cbb2-47e0-bcc5-32336f9cd8ed", + "port": "outlabel" }, - "size": { - "width": 96, - "height": 64 + "target": { + "block": "bd61136e-6597-4728-a8c3-141a1841150b", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" } }, - { - "id": "95fad240-42f1-4671-9165-7ed8d5bff396", - "type": "f25742a4541382fc316890ce8673885ff18a66e8", - "position": { - "x": 456, - "y": -152 - }, - "size": { - "width": 96, - "height": 64 - } - } - ], - "wires": [ { "source": { - "block": "95fad240-42f1-4671-9165-7ed8d5bff396", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "block": "45bd338b-4745-4b06-b199-462cdaffa31d", + "port": "outlabel" }, "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "port": "in" + "block": "2a6b0d55-b2c4-4ed4-9483-8871ba946dcf", + "port": "ba15eacb-1e03-4580-932b-3231703481e5" } }, { "source": { - "block": "e728fdca-755f-4f2d-98e7-0716b1c5258f", - "port": "constant-out" + "block": "7d6ed080-252a-4f1b-8ec7-0f47d7866317", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, "target": { - "block": "f235c473-a611-402b-a071-c4320af5b38c", - "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" + "block": "2e9e9e82-c651-4a6b-9d9e-4c796699d133", + "port": "inlabel" } }, { "source": { - "block": "f235c473-a611-402b-a071-c4320af5b38c", - "port": "cd1ea929-712d-45ee-8b01-e608e6bf8869" + "block": "2a6b0d55-b2c4-4ed4-9483-8871ba946dcf", + "port": "3802390d-8417-4369-b93c-dda647ccb0c6" }, "target": { - "block": "95fad240-42f1-4671-9165-7ed8d5bff396", - "port": "0d3bf835-b162-478d-bd73-91c914e05261" - }, - "size": 32 + "block": "5a3f8466-6a57-4607-939a-fb15222442a7", + "port": "inlabel" + } }, { "source": { - "block": "ca378738-f6bc-431b-83e8-fbc11f37d54b", - "port": "out" + "block": "c5781045-a890-4e66-8f67-80d0cb317ee6", + "port": "outlabel" }, "target": { - "block": "95fad240-42f1-4671-9165-7ed8d5bff396", - "port": "af50622f-b846-4985-9ecd-9311eae669b6" - }, - "size": 32 + "block": "ac8b922a-9249-49a3-8b42-a1f259ccae2b", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } }, { "source": { - "block": "95fad240-42f1-4671-9165-7ed8d5bff396", - "port": "f690df81-1f8f-4de5-a2c9-6441486c5cc0" + "block": "a756b829-42d1-4779-b42d-a9acc3800854", + "port": "outlabel" }, "target": { - "block": "1a9ad2b3-44a3-40f8-8d5f-0417a3a439fb", + "block": "49221b19-132a-4e3f-9a1f-97bcd463391b", "port": "in" - }, - "size": 32 - } - ] - } - } - }, - "9597518c4f1e7dd74e5b39c2df0ebddbd556b06e": { - "package": { - "name": "32-bits-gen-constant", - "version": "0.0.2", - "description": "Generic: 32-bits generic constant", - "author": "Juan Gonzalez-Gomez (Obijuan)", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22145.608%22%20height=%22247.927%22%20viewBox=%220%200%20136.50729%20232.43134%22%3E%3Cg%20style=%22line-height:0%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%3E%3Cpath%20d=%22M56.012%20146.905q9.055%206.708%2020.459%2017.105%2011.404%2010.062%2022.472%2021.8%2011.403%2011.74%2021.465%2024.15%2010.062%2012.074%2016.1%2022.471h-32.87q-6.372-10.397-15.763-21.13-9.392-11.068-20.124-21.13-10.398-10.062-21.13-18.447-10.398-8.385-18.783-14.087v74.794H0V4.695L27.838%200v141.874q18.447-16.1%2036.894-31.863%2018.447-16.1%2033.205-33.205h32.533q-14.422%2017.106-34.881%2035.217-20.124%2018.112-39.577%2034.882z%22%20style=%22line-height:1.25%22%20font-size=%22335.399%22%20font-weight=%22400%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22/%3E%3C/g%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ + } + }, { - "id": "cd1ea929-712d-45ee-8b01-e608e6bf8869", - "type": "basic.output", - "data": { - "name": "", - "range": "[31:0]", - "size": 32 + "source": { + "block": "8a5f0c79-7347-4b35-8e27-603ebed8bf9f", + "port": "outlabel" }, - "position": { - "x": 968, - "y": 248 + "target": { + "block": "6ebcb033-3fa2-49c8-92f3-3b5eed869715", + "port": "f1022de4-0225-43d7-92d3-451161ee6942" } }, { - "id": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", - "type": "basic.constant", - "data": { - "name": "", - "value": "0", - "local": false + "source": { + "block": "10afc859-04fd-433d-823a-4fa4721320c1", + "port": "outlabel" }, - "position": { - "x": 728, - "y": 128 + "target": { + "block": "28aef1aa-1cc2-4bb4-9a70-2db1962258d4", + "port": "97b51945-d716-4b6c-9db9-970d08541249" } }, { - "id": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", - "type": "basic.code", - "data": { - "code": "assign k = VALUE;", - "params": [ - { - "name": "VALUE" - } - ], - "ports": { - "in": [], - "out": [ - { - "name": "k", - "range": "[31:0]", - "size": 32 - } - ] - } - }, - "position": { - "x": 672, - "y": 248 + "source": { + "block": "28aef1aa-1cc2-4bb4-9a70-2db1962258d4", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, - "size": { - "width": 208, - "height": 64 + "target": { + "block": "06b60a4f-b1b1-4a91-ba10-bdb5a7515718", + "port": "inlabel" } - } - ], - "wires": [ + }, { "source": { - "block": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", - "port": "constant-out" + "block": "bd61136e-6597-4728-a8c3-141a1841150b", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, "target": { - "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", - "port": "VALUE" + "block": "8c96c7ec-0c2f-4870-9197-46116cd1d134", + "port": "inlabel" } }, { "source": { - "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", - "port": "k" + "block": "f9f37a77-fd08-4506-9c1b-cc53daa19559", + "port": "outlabel" }, "target": { - "block": "cd1ea929-712d-45ee-8b01-e608e6bf8869", - "port": "in" - }, - "size": 32 - } - ] - } - } - }, - "f25742a4541382fc316890ce8673885ff18a66e8": { - "package": { - "name": "Adder-32bits", - "version": "0.1", - "description": "Adder-32bits: Adder of two operands of 32 bits", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", - "otid": 1618560481898 - }, - "design": { - "graph": { - "blocks": [ + "block": "331d12d0-f6ea-49dd-8762-fb992de54f0f", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + } + }, { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "type": "basic.output", - "data": { - "name": "c" + "source": { + "block": "cb426e3d-ace3-4a57-a74b-155caed0c14c", + "port": "out" }, - "position": { - "x": 1160, - "y": -496 + "target": { + "block": "9291f94d-2d9a-4c3a-b7df-4299abf84886", + "port": "inlabel" } }, { - "id": "6848d3cc-1668-42a1-aa48-54b5bf729fea", - "type": "basic.inputLabel", - "data": { - "name": "a3", - "range": "[7:0]", - "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia", - "blockColor": "deeppink" + "source": { + "block": "40607400-436e-4dea-b733-8308a06fd4ef", + "port": "outlabel" }, - "position": { - "x": 144, - "y": -472 + "target": { + "block": "2a6b0d55-b2c4-4ed4-9483-8871ba946dcf", + "port": "046501b8-4427-4d4d-af97-7fe807774f33" } }, { - "id": "64015db2-163d-4858-966f-2f7282b187c9", - "type": "basic.outputLabel", - "data": { - "name": "a3", - "range": "[7:0]", - "oldBlockColor": "fuchsia", - "blockColor": "deeppink", - "size": 8 + "source": { + "block": "2438a009-c8e2-4acb-b443-90fe0ddd989d", + "port": "outlabel" }, - "position": { - "x": 784, - "y": -440 + "target": { + "block": "6a11eaf9-4bd5-405e-81f8-44418365326b", + "port": "in" } }, { - "id": "0d3bf835-b162-478d-bd73-91c914e05261", - "type": "basic.input", - "data": { - "name": "", - "range": "[31:0]", - "clock": false, - "size": 32 + "source": { + "block": "81fb4efb-363e-483e-b1df-c2ebda777355", + "port": "outlabel" }, - "position": { - "x": -568, - "y": -424 + "target": { + "block": "6ebcb033-3fa2-49c8-92f3-3b5eed869715", + "port": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6" } }, { - "id": "235e1fe4-919e-422d-9eb3-dc232e8f9407", - "type": "basic.inputLabel", - "data": { - "name": "a2", - "range": "[7:0]", - "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia", - "blockColor": "deeppink" + "source": { + "block": "d8820925-23d9-4f02-8491-adf813601d08", + "port": "outlabel" + }, + "target": { + "block": "331d12d0-f6ea-49dd-8762-fb992de54f0f", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + }, + "vertices": [ + { + "x": 1496, + "y": 264 + } + ] + }, + { + "source": { + "block": "dddd2a78-e0f8-4688-ad63-0c41ad98894b", + "port": "outlabel" }, - "position": { - "x": 136, - "y": -384 + "target": { + "block": "73948305-b05b-418f-88af-11328f400cdc", + "port": "in" } }, { - "id": "820b8e01-7b0a-43c9-b539-d418bf983a1b", - "type": "basic.outputLabel", - "data": { - "name": "b3", - "range": "[7:0]", - "blockColor": "fuchsia", - "size": 8 + "source": { + "block": "6ebcb033-3fa2-49c8-92f3-3b5eed869715", + "port": "521f03e5-f364-41b0-a2b8-c7858e6debf5", + "size": 14 }, - "position": { - "x": 776, - "y": -360 - } + "target": { + "block": "1cfadcd2-42df-4d6b-9aed-0e94c93bf202", + "port": "inlabel" + }, + "size": 14 }, { - "id": "e2589574-b6cc-4faf-8e69-3d23248bcba2", - "type": "basic.inputLabel", - "data": { - "name": "a1", - "range": "[7:0]", - "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia", - "blockColor": "deeppink" + "source": { + "block": "f46fb7c4-9551-4da4-9a31-7dd52f738527", + "port": "outlabel" }, - "position": { - "x": -56, - "y": -344 - } + "target": { + "block": "19940e4f-3166-4887-a4e2-ea5babe5f726", + "port": "in", + "size": 14 + }, + "size": 14 }, { - "id": "6736a55c-7818-4da9-9c1a-f57200ad2526", - "type": "basic.inputLabel", - "data": { - "name": "a0", - "range": "[7:0]", - "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia", - "blockColor": "deeppink" + "source": { + "block": "ba7c88dc-642a-46e2-9dac-c32ba106020d", + "port": "outlabel" }, - "position": { - "x": -232, - "y": -328 + "target": { + "block": "1a3e3c55-3a15-44eb-b040-abaa9763b6a9", + "port": "ccf244b8-cc65-453c-a958-19a3768f7007", + "size": 14 + }, + "size": 14 + }, + { + "source": { + "block": "9726aeb6-7b23-479f-ac97-1bbfc2e82bc0", + "port": "outlabel" + }, + "target": { + "block": "32e14852-e793-4199-a915-5ba8b629ef76", + "port": "b457d512-6d78-479d-9b18-993a80c00740", + "size": 14 + }, + "size": 14 + }, + { + "source": { + "block": "374613cb-968d-46d1-94a4-16686e7df28d", + "port": "constant-out" + }, + "target": { + "block": "6ebcb033-3fa2-49c8-92f3-3b5eed869715", + "port": "d9020031-ade2-47d0-bca0-4b88fe7eaebd" } }, { - "id": "f690df81-1f8f-4de5-a2c9-6441486c5cc0", - "type": "basic.output", - "data": { - "name": "s", - "range": "[31:0]", - "size": 32 + "source": { + "block": "a19b8bcd-a0a4-4da0-9844-5e5c0306e231", + "port": "constant-out" }, - "position": { - "x": 1328, - "y": -320 + "target": { + "block": "1a3e3c55-3a15-44eb-b040-abaa9763b6a9", + "port": "e728fdca-755f-4f2d-98e7-0716b1c5258f" } }, { - "id": "8ac0c222-8cbc-4974-bfd2-43f11eb8d8ad", - "type": "basic.outputLabel", - "data": { - "name": "a2", - "range": "[7:0]", - "oldBlockColor": "fuchsia", - "blockColor": "deeppink", - "size": 8 + "source": { + "block": "32e14852-e793-4199-a915-5ba8b629ef76", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, - "position": { - "x": 600, - "y": -312 + "target": { + "block": "7d6ed080-252a-4f1b-8ec7-0f47d7866317", + "port": "97b51945-d716-4b6c-9db9-970d08541249" } }, { - "id": "cc858595-88b1-4f0b-baeb-77fdd9a4d7ed", - "type": "basic.outputLabel", - "data": { - "name": "b2", - "range": "[7:0]", - "blockColor": "fuchsia", - "size": 8 + "source": { + "block": "ac8b922a-9249-49a3-8b42-a1f259ccae2b", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, - "position": { - "x": 600, - "y": -248 + "target": { + "block": "28aef1aa-1cc2-4bb4-9a70-2db1962258d4", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" } }, { - "id": "3ea559ff-d9a3-4048-a347-803ba9ff58c0", - "type": "basic.inputLabel", - "data": { - "name": "b3", - "range": "[7:0]", - "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia" + "source": { + "block": "331d12d0-f6ea-49dd-8762-fb992de54f0f", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" }, - "position": { - "x": 144, - "y": -168 + "target": { + "block": "ac8b922a-9249-49a3-8b42-a1f259ccae2b", + "port": "97b51945-d716-4b6c-9db9-970d08541249" } }, { - "id": "4f2c77a9-f54e-4c7e-b1b8-d1739ea521c7", - "type": "basic.outputLabel", - "data": { - "name": "a1", - "range": "[7:0]", - "blockColor": "deeppink", - "size": 8 + "source": { + "block": "bd61136e-6597-4728-a8c3-141a1841150b", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, - "position": { - "x": 408, - "y": -136 + "target": { + "block": "7d6ed080-252a-4f1b-8ec7-0f47d7866317", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" } }, { - "id": "389f9a01-b7df-4d16-8f0e-bb14b76997ce", - "type": "basic.inputLabel", - "data": { - "name": "b2", - "range": "[7:0]", - "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia" + "source": { + "block": "d0005413-fea9-4b0b-8a18-9b15d4977bc1", + "port": "constant-out" }, - "position": { - "x": 136, - "y": -104 + "target": { + "block": "27d9e58c-8375-447e-8210-f0cd82af5d37", + "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" } }, { - "id": "4743defe-36c0-40a2-aaf0-188272583034", - "type": "basic.outputLabel", - "data": { - "name": "b1", - "range": "[7:0]", - "blockColor": "fuchsia", - "size": 8 + "source": { + "block": "8f591b24-0427-409f-aa6e-ca1861556cf5", + "port": "out" }, - "position": { - "x": 408, - "y": -56 + "target": { + "block": "2a6b0d55-b2c4-4ed4-9483-8871ba946dcf", + "port": "88176871-35ac-42bf-bf62-36c81a4b4b47" } }, { - "id": "a3761c9e-14ee-47ef-95f0-ddbb132ba6cf", - "type": "basic.inputLabel", - "data": { - "name": "b1", - "range": "[7:0]", - "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia" + "source": { + "block": "ad4d0fc2-118e-496e-b292-c435bad20e7d", + "port": "out" }, - "position": { - "x": -40, - "y": -32 + "target": { + "block": "bd61136e-6597-4728-a8c3-141a1841150b", + "port": "97b51945-d716-4b6c-9db9-970d08541249" } }, { - "id": "af50622f-b846-4985-9ecd-9311eae669b6", + "source": { + "block": "1a3e3c55-3a15-44eb-b040-abaa9763b6a9", + "port": "097a6fa5-5366-4605-952c-dcc1425e255c" + }, + "target": { + "block": "6ebcb033-3fa2-49c8-92f3-3b5eed869715", + "port": "e699a6f3-fd6f-49dc-a8d3-d35853cb8e6b" + }, + "size": 14 + }, + { + "source": { + "block": "27d9e58c-8375-447e-8210-f0cd82af5d37", + "port": "d10a3bb7-99d9-4193-8faf-cbe27f5c8482" + }, + "target": { + "block": "32e14852-e793-4199-a915-5ba8b629ef76", + "port": "a42068b6-dc74-4537-869c-d20ea32059b0" + }, + "size": 14 + } + ] + } + } + }, + "aec21dcbeb94ef212f1936ba3b7cf22e0e349a8f": { + "package": { + "name": "Machine-state", + "version": "0.2", + "description": "Biestable de almacenamiento del estado de la máquina", + "author": "Juan Gonzalez-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22404.343%22%20width=%22319.18%22%20id=%22svg4%22%3E%3Cdefs%20id=%22defs8%22%3E%3Cmarker%20id=%22TriangleOutM%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20id=%22path972%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow1Mend%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-4%200l-2%202%207-2-7-2z%22%20id=%22path836%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow2Mend%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20id=%22path854%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow2Mend-3%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20id=%22path854-6%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow1Mend-5%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-4%200l-2%202%207-2-7-2z%22%20id=%22path836-3%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22TriangleOutM-7%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path972-5%22%20d=%22M2.308%200l-3.46%202v-4z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow1Mend-3%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path836-5%22%20d=%22M-4%200l-2%202%207-2-7-2z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow2Mend-6%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path854-2%22%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow2Mend-3-9%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path854-6-1%22%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow1Mend-5-2%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path836-3-7%22%20d=%22M-4%200l-2%202%207-2-7-2z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cdefs%20id=%22defs3%22%3E%3Cpath%20id=%22a%22%20d=%22M-58.3-45h653.6v640H-58.3z%22/%3E%3C/defs%3E%3Cpath%20id=%22path898%22%20d=%22M-58.3-45h653.6v640H-58.3z%22/%3E%3Cmarker%20id=%22TriangleOutM-3%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20id=%22path972-6%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow1Mend-7%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-4%200l-2%202%207-2-7-2z%22%20id=%22path836-53%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow2Mend-5%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20id=%22path854-62%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow2Mend-3-91%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20id=%22path854-6-2%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow1Mend-5-7%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-4%200l-2%202%207-2-7-2z%22%20id=%22path836-3-0%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22TriangleOutM-7-9%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path972-5-3%22%20d=%22M2.308%200l-3.46%202v-4z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow1Mend-3-6%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path836-5-0%22%20d=%22M-4%200l-2%202%207-2-7-2z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow2Mend-6-6%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path854-2-2%22%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow2Mend-3-9-6%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path854-6-1-1%22%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow1Mend-5-2-8%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path836-3-7-7%22%20d=%22M-4%200l-2%202%207-2-7-2z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cdefs%20id=%22defs3-9%22%3E%3Cpath%20id=%22a-2%22%20d=%22M-58.3-45h653.6v640H-58.3z%22/%3E%3C/defs%3E%3Cpath%20id=%22path974%22%20d=%22M-58.3-45h653.6v640H-58.3z%22/%3E%3C/defs%3E%3Cpath%20d=%22M124.728%2079.637c-24.895%200-45.091%2020.196-45.091%2045.109%200%2024.886%2020.196%2045.126%2045.092%2045.126%2024.904%200%2044.952-20.24%2044.952-45.126%200-24.913-20.049-45.11-44.953-45.11zm90.41%2071.022l-8.128%2019.578%2014.497%2028.472%201.914%203.759-20.1%2020.1-32.979-15.575-19.578%208.04-9.938%2030.421-1.27%204.038h-28.41L98.85%20215.155%2079.27%20207.08l-28.514%2014.462-3.759%201.88-20.092-20.083%2015.559-32.997-8.067-19.56-30.37-9.92L0%20139.555v-28.393L34.362%2098.85l8.067-19.544-14.453-28.533-1.906-3.741%2020.066-20.066%2033.022%2015.55%2019.553-8.084%209.928-30.403L109.92%200h28.401l12.304%2034.38%2019.527%208.084%2028.523-14.471%203.794-1.906%2020.083%2020.066-15.558%2032.97%208.04%2019.588%2030.456%209.928%204.003%201.28v28.384z%22%20id=%22path2%22%20fill=%22#00f%22%20stroke-width=%22.278%22/%3E%3Cg%20id=%22g992-5%22%20transform=%22matrix(3.23542%200%200%203.23542%20-54.399%20117.43)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20id=%22path992-2-62%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20id=%22path1773-2-3-1-8-9-9%22%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cstyle%20id=%22style2%22%3E.st0%7Bdisplay:none%7D.st1%7Bfill:none;stroke:#303030;stroke-width:.7;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10%7D.st2%7Bfill:#303030%7D%3C/style%3E%3Cg%20id=%22g1022%22%20transform=%22matrix(.5585%200%200%20.5585%2076.484%2043.495)%22%3E%3Cg%20transform=%22translate(3.47%203.198)%22%20id=%22layer1%22%3E%3Cpath%20id=%22path9-3%22%20d=%22M21.358%20145.947a63.75%2063.75%200%200%200%201.152%2011.049%22%20class=%22st1%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20id=%22path11%22%20d=%22M48.702%2092.116a64.784%2064.784%200%200%200-12.559%2011.68%2064.99%2064.99%200%200%200-12.69%2024.809%22%20class=%22st1%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20class=%22st1%22%20id=%22line17%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22%20d=%22M184.865%20207.591L41.298%20262.802%22/%3E%3Cpath%20d=%22M185.448%20175.07l.37.154c2.52.831%204.718%202.386%206.634%204.249%202.02%202.322%203.694%204.777%204.423%208.713%201.496%208.074-3.286%2016.05-10.95%2018.997l-1.06.408L41.298%20262.8l-.733.283c-8.003%203.077-17.551.461-21.82-6.975-3.3-5.748-2.736-12.198.418-21.613%203.155-9.414%202.86-21.856-1.644-33.55l.041.003-12.507-32.667c-12.88-33.415-.747-70.376%2027.41-90.31l-1.102-2.749c-3.685-9.583%201.14-20.438%2010.723-24.124%209.583-3.685%2020.439%201.14%2024.124%2010.723l1.654%203.239c34.881-3.556%2068.594%2015.855%2081.318%2049.33l15.24%2038.432c4.795%208.723%2011.831%2015.955%2021.028%2022.248z%22%20id=%22path21-3%22%20fill=%22#fff%22%20stroke=%22#303030%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20id=%22path826%22%20d=%22M64.268%20268.838l45.015-17.115s7.963%2024.296-14.427%2030.38c-22.39%206.086-30.588-13.265-30.588-13.265z%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3Cg%20id=%22layer3%22%3E%3Crect%20ry=%2219.847%22%20y=%223.671%22%20x=%2295.783%22%20height=%22135.189%22%20width=%22135.189%22%20id=%22rect845%22%20fill=%22#55acee%22%20stroke=%22#303030%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3C/g%3E%3Cg%20id=%22layer4%22%3E%3Cpath%20id=%22path7-6%22%20d=%22M172.724%2052.533V27.647h-9.888L144.047%2037.7l2.308%208.9%2014.833-8.076h.33v74.824H172.724V52.533z%22%20class=%22st2%22%20fill=%22#303030%22%20stroke-width=%2214.425%22/%3E%3C/g%3E%3C/g%3E%3Cg%20id=%22g992-5-7%22%20transform=%22matrix(3.23542%200%200%203.23542%20-57.653%2011.124)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20id=%22path992-2-62-5%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20id=%22path1773-2-3-1-8-9-9-3%22%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "046501b8-4427-4d4d-af97-7fe807774f33", "type": "basic.input", "data": { "name": "", - "range": "[31:0]", - "clock": false, - "size": 32 + "clock": true }, "position": { - "x": -552, - "y": -32 + "x": 408, + "y": -72 } }, { - "id": "a7cd6890-7130-4f25-9966-b5ca1132d597", + "id": "05f62e09-33f9-435f-8355-d4529a75ab42", "type": "basic.inputLabel", "data": { - "name": "b0", - "range": "[7:0]", - "pins": [ - { - "index": "7", - "name": "", - "value": "" - }, - { - "index": "6", - "name": "", - "value": "" - }, - { - "index": "5", - "name": "", - "value": "" - }, - { - "index": "4", - "name": "", - "value": "" - }, - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia" + "name": "clk", + "blockColor": "yellow" + }, + "position": { + "x": 552, + "y": -72 + } + }, + { + "id": "0d991cee-b329-439b-b9e7-5712d2db539d", + "type": "basic.output", + "data": { + "name": "state" + }, + "position": { + "x": 960, + "y": 8 + } + }, + { + "id": "89a5da53-cc8b-4099-a5e3-b9cf281619b1", + "type": "basic.output", + "data": { + "name": "rst" }, "position": { - "x": -208, - "y": -16 + "x": 960, + "y": 120 } }, { - "id": "7d042e3c-08e0-4027-ba97-6f6143ac0b7e", + "id": "a83c9acd-2e13-413d-907f-7231924811d8", "type": "basic.outputLabel", "data": { - "name": "a0", - "range": "[7:0]", - "blockColor": "deeppink", - "size": 8 + "name": "clk", + "blockColor": "yellow" }, "position": { - "x": 240, - "y": 56 + "x": 448, + "y": 216 } }, { - "id": "7114cf32-af2c-438f-b816-1043a8bd819d", + "id": "2b16f62c-39ef-4e1c-aa83-f0d248bfecc8", "type": "basic.outputLabel", "data": { - "name": "b0", - "range": "[7:0]", - "blockColor": "fuchsia", - "size": 8 + "name": "clk", + "blockColor": "yellow" }, "position": { - "x": 240, - "y": 120 + "x": 800, + "y": 216 } }, { - "id": "64c3574b-3227-40ab-ab03-c2e2af710a45", - "type": "cb23aa3d8a3e95bd194fd9ec9b9c40b36595d893", - "position": { - "x": 408, - "y": 72 + "id": "aefe9248-3b3d-441b-9e65-33cda65b99dd", + "type": "basic.output", + "data": { + "name": "on" }, - "size": { - "width": 96, - "height": 64 + "position": { + "x": 1088, + "y": 288 } }, { - "id": "0857be54-1eea-4619-841f-b1bb49aa66d0", - "type": "c3c498191b14e9288a85fa2871b3966665f75475", - "position": { - "x": 576, - "y": -72 + "id": "88176871-35ac-42bf-bf62-36c81a4b4b47", + "type": "basic.input", + "data": { + "name": "start", + "clock": false }, - "size": { - "width": 96, - "height": 96 + "position": { + "x": 424, + "y": 288 } }, { - "id": "17bd7ef3-6604-48a9-9c2e-50a8be908636", - "type": "8cc49c9b29485f2cfeab6064d7bb1cf9ced045b1", - "position": { - "x": 816, - "y": -16 + "id": "ba15eacb-1e03-4580-932b-3231703481e5", + "type": "basic.input", + "data": { + "name": "stop", + "clock": false }, - "size": { - "width": 96, - "height": 64 + "position": { + "x": 424, + "y": 352 } }, { - "id": "dcab5da0-fe7e-4131-af28-829e18fbb525", - "type": "c3c498191b14e9288a85fa2871b3966665f75475", - "position": { - "x": 760, - "y": -264 + "id": "00a49b33-7325-4584-86d5-fbf8c73a8fab", + "type": "basic.outputLabel", + "data": { + "name": "clk", + "blockColor": "yellow" }, - "size": { - "width": 96, - "height": 96 + "position": { + "x": 808, + "y": 368 } }, { - "id": "c047f19d-fd2f-4cf6-a055-3b4ae336688a", - "type": "a52e3be3d374c081062b542fc91c5cb1be726cb8", - "position": { - "x": 992, - "y": -112 + "id": "3802390d-8417-4369-b93c-dda647ccb0c6", + "type": "basic.output", + "data": { + "name": "off" }, - "size": { - "width": 96, - "height": 64 + "position": { + "x": 1080, + "y": 440 } }, { - "id": "f774efb2-f5e3-4663-8de0-4b8ef65b8b09", - "type": "df0f3f06c52c56d0d046f2ceed137a642c18ae0a", + "id": "de860182-e038-4198-b4a4-505dd7a6fa9e", + "type": "35f267d0df6ffcb7fc33753bc9df9cf083642cca", "position": { - "x": -384, - "y": -32 + "x": 736, + "y": 120 }, "size": { "width": 96, @@ -22837,83 +18277,99 @@ } }, { - "id": "9454de89-973a-4059-9061-689e93c1a83d", - "type": "ab13f05d92d80a82af1a712a92621ea26dde55f3", + "id": "42f19387-aa1f-4514-88aa-adca9bf9f03b", + "type": "basic.info", + "data": { + "info": "**Tic de apagado**", + "readonly": true + }, "position": { - "x": -208, - "y": -104 + "x": 1080, + "y": 424 }, "size": { - "width": 96, - "height": 64 + "width": 168, + "height": 40 } }, { - "id": "ed14e466-d8fc-4816-a575-0444806c8cfe", - "type": "306ca367fbbc5181b3c709d73f447e0710871a1d", + "id": "eaab4880-4c6d-422f-a8ab-c06e579aa7c6", + "type": "basic.info", + "data": { + "info": "**Tic de encendido**", + "readonly": true + }, "position": { - "x": -16, - "y": -120 + "x": 1080, + "y": 272 }, "size": { - "width": 96, - "height": 64 + "width": 168, + "height": 40 } }, { - "id": "bcacb1dd-d435-4ddf-822a-ae35d9dd83f7", - "type": "df0f3f06c52c56d0d046f2ceed137a642c18ae0a", + "id": "4e85996b-c40e-4f84-bfbc-ff87d4bc425d", + "type": "basic.info", + "data": { + "info": "**Inicializar**", + "readonly": true + }, "position": { - "x": -400, - "y": -424 + "x": 968, + "y": 96 }, "size": { - "width": 96, - "height": 64 + "width": 168, + "height": 40 } }, { - "id": "3a1d273a-692b-47e7-b804-c316a57ef405", - "type": "ab13f05d92d80a82af1a712a92621ea26dde55f3", + "id": "130f81c9-ce87-47a8-b393-762b31a724fc", + "type": "basic.info", + "data": { + "info": "**Estado de la máquina**", + "readonly": true + }, "position": { - "x": -200, - "y": -440 + "x": 936, + "y": -16 }, "size": { - "width": 96, - "height": 64 + "width": 168, + "height": 40 } }, { - "id": "fc197af1-6802-4a9f-9db3-72e5fc61e92c", - "type": "306ca367fbbc5181b3c709d73f447e0710871a1d", + "id": "676afc2b-c0b0-4829-b192-7e64dde3d21d", + "type": "ef27646a2ca3d9f1e7811dac0fd909719b5affe1", "position": { - "x": -8, - "y": -456 + "x": 600, + "y": 272 }, "size": { "width": 96, - "height": 64 + "height": 96 } }, { - "id": "df606633-01cf-4c68-8ed4-c5343516f6ea", - "type": "c3c498191b14e9288a85fa2871b3966665f75475", + "id": "1c4e8a3b-13ab-4364-9a0e-820f6a31ab95", + "type": "ae13be3e513e7cb48d47d3fb3aa840dd85dc1f5e", "position": { - "x": 952, - "y": -376 + "x": 928, + "y": 272 }, "size": { "width": 96, - "height": 96 + "height": 64 } }, { - "id": "a99dfdbd-22cc-4a9f-a5be-c5ffaa17dfb9", - "type": "ab06af09e4825434c378ef37d8362e7818fd4a8f", + "id": "4deefcf0-477f-40e1-af35-6e99a039cea8", + "type": "3ae3bbe36b39edd47bc66dd6290af6cb6c47fa47", "position": { - "x": 1160, - "y": -320 + "x": 944, + "y": 424 }, "size": { "width": 96, @@ -22924,4449 +18380,4516 @@ "wires": [ { "source": { - "block": "f774efb2-f5e3-4663-8de0-4b8ef65b8b09", - "port": "bbc72c72-9eec-46c2-aeff-4233b746b9c2", - "size": 8 + "block": "046501b8-4427-4d4d-af97-7fe807774f33", + "port": "out" }, "target": { - "block": "a7cd6890-7130-4f25-9966-b5ca1132d597", + "block": "05f62e09-33f9-435f-8355-d4529a75ab42", "port": "inlabel" - }, - "size": 8 - }, - { - "source": { - "block": "7114cf32-af2c-438f-b816-1043a8bd819d", - "port": "outlabel" - }, - "target": { - "block": "64c3574b-3227-40ab-ab03-c2e2af710a45", - "port": "63477487-9493-4058-a7e1-9bab443ec466", - "size": 8 - }, - "size": 8 - }, - { - "source": { - "block": "7d042e3c-08e0-4027-ba97-6f6143ac0b7e", - "port": "outlabel" - }, - "target": { - "block": "64c3574b-3227-40ab-ab03-c2e2af710a45", - "port": "b4b08c4b-8eb1-4cd3-a1bf-a45bf7177ed3", - "size": 8 - }, - "size": 8 + } }, { "source": { - "block": "4f2c77a9-f54e-4c7e-b1b8-d1739ea521c7", + "block": "a83c9acd-2e13-413d-907f-7231924811d8", "port": "outlabel" }, "target": { - "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", - "port": "4bf17d89-89b8-4524-800a-2d15f9bbb111", - "size": 8 - }, - "size": 8 + "block": "676afc2b-c0b0-4829-b192-7e64dde3d21d", + "port": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6" + } }, { "source": { - "block": "4743defe-36c0-40a2-aaf0-188272583034", + "block": "2b16f62c-39ef-4e1c-aa83-f0d248bfecc8", "port": "outlabel" }, "target": { - "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", - "port": "3867504b-f331-4e0e-b923-acc86cb4255c", - "size": 8 - }, - "size": 8 + "block": "1c4e8a3b-13ab-4364-9a0e-820f6a31ab95", + "port": "2708468d-1088-4570-be63-fb0d4799a941" + } }, { "source": { - "block": "9454de89-973a-4059-9061-689e93c1a83d", - "port": "872cccab-7461-412b-9924-bad211fa1922", - "size": 8 - }, - "target": { - "block": "a3761c9e-14ee-47ef-95f0-ddbb132ba6cf", - "port": "inlabel" + "block": "00a49b33-7325-4584-86d5-fbf8c73a8fab", + "port": "outlabel" }, - "size": 8 + "target": { + "block": "4deefcf0-477f-40e1-af35-6e99a039cea8", + "port": "2708468d-1088-4570-be63-fb0d4799a941" + } }, { "source": { - "block": "bcacb1dd-d435-4ddf-822a-ae35d9dd83f7", - "port": "bbc72c72-9eec-46c2-aeff-4233b746b9c2", - "size": 8 + "block": "676afc2b-c0b0-4829-b192-7e64dde3d21d", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "6736a55c-7818-4da9-9c1a-f57200ad2526", - "port": "inlabel" - }, - "size": 8 + "block": "1c4e8a3b-13ab-4364-9a0e-820f6a31ab95", + "port": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff" + } }, { "source": { - "block": "3a1d273a-692b-47e7-b804-c316a57ef405", - "port": "872cccab-7461-412b-9924-bad211fa1922", - "size": 8 + "block": "676afc2b-c0b0-4829-b192-7e64dde3d21d", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "e2589574-b6cc-4faf-8e69-3d23248bcba2", - "port": "inlabel" + "block": "0d991cee-b329-439b-b9e7-5712d2db539d", + "port": "in" }, - "size": 8 + "vertices": [ + { + "x": 720, + "y": 144 + } + ] }, { "source": { - "block": "cc858595-88b1-4f0b-baeb-77fdd9a4d7ed", - "port": "outlabel" + "block": "676afc2b-c0b0-4829-b192-7e64dde3d21d", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "dcab5da0-fe7e-4131-af28-829e18fbb525", - "port": "3867504b-f331-4e0e-b923-acc86cb4255c", - "size": 8 - }, - "size": 8 + "block": "de860182-e038-4198-b4a4-505dd7a6fa9e", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } }, { "source": { - "block": "8ac0c222-8cbc-4974-bfd2-43f11eb8d8ad", - "port": "outlabel" + "block": "de860182-e038-4198-b4a4-505dd7a6fa9e", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, "target": { - "block": "dcab5da0-fe7e-4131-af28-829e18fbb525", - "port": "4bf17d89-89b8-4524-800a-2d15f9bbb111", - "size": 8 - }, - "size": 8 + "block": "89a5da53-cc8b-4099-a5e3-b9cf281619b1", + "port": "in" + } }, { "source": { - "block": "ed14e466-d8fc-4816-a575-0444806c8cfe", - "port": "0e7ef93d-c4da-4c2e-9653-7a470dc912b6", - "size": 8 + "block": "88176871-35ac-42bf-bf62-36c81a4b4b47", + "port": "out" }, "target": { - "block": "389f9a01-b7df-4d16-8f0e-bb14b76997ce", - "port": "inlabel" - }, - "size": 8 + "block": "676afc2b-c0b0-4829-b192-7e64dde3d21d", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + } }, { "source": { - "block": "fc197af1-6802-4a9f-9db3-72e5fc61e92c", - "port": "0e7ef93d-c4da-4c2e-9653-7a470dc912b6", - "size": 8 + "block": "ba15eacb-1e03-4580-932b-3231703481e5", + "port": "out" }, "target": { - "block": "235e1fe4-919e-422d-9eb3-dc232e8f9407", - "port": "inlabel" - }, - "size": 8 + "block": "676afc2b-c0b0-4829-b192-7e64dde3d21d", + "port": "fc243ba8-9abb-4a22-81c4-fabdf043cd01" + } }, { "source": { - "block": "ed14e466-d8fc-4816-a575-0444806c8cfe", - "port": "6ac467f0-b16b-44ef-8f03-ae206c13186e", - "size": 8 + "block": "1c4e8a3b-13ab-4364-9a0e-820f6a31ab95", + "port": "1c25e08e-e664-4fab-9b30-cedc1f8a3739" }, "target": { - "block": "3ea559ff-d9a3-4048-a347-803ba9ff58c0", - "port": "inlabel" - }, - "size": 8 + "block": "aefe9248-3b3d-441b-9e65-33cda65b99dd", + "port": "in" + } }, { "source": { - "block": "fc197af1-6802-4a9f-9db3-72e5fc61e92c", - "port": "6ac467f0-b16b-44ef-8f03-ae206c13186e", - "size": 8 + "block": "676afc2b-c0b0-4829-b192-7e64dde3d21d", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "6848d3cc-1668-42a1-aa48-54b5bf729fea", - "port": "inlabel" + "block": "4deefcf0-477f-40e1-af35-6e99a039cea8", + "port": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff" }, - "size": 8 + "vertices": [ + { + "x": 744, + "y": 368 + } + ] }, { "source": { - "block": "820b8e01-7b0a-43c9-b539-d418bf983a1b", - "port": "outlabel" + "block": "4deefcf0-477f-40e1-af35-6e99a039cea8", + "port": "1c25e08e-e664-4fab-9b30-cedc1f8a3739" }, "target": { - "block": "df606633-01cf-4c68-8ed4-c5343516f6ea", - "port": "3867504b-f331-4e0e-b923-acc86cb4255c", - "size": 8 + "block": "3802390d-8417-4369-b93c-dda647ccb0c6", + "port": "in" + } + } + ] + } + } + }, + "3ae3bbe36b39edd47bc66dd6290af6cb6c47fa47": { + "package": { + "name": "Falling-edge-detector CLONE", + "version": "0.3-c1697559169818", + "description": "Falling-edge detector. It generates a 1-period pulse (tic) when a falling edge is detected on the input", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22185.363%22%20height=%22183.398%22%20viewBox=%220%200%2049.043981%2048.524089%22%3E%3Cg%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M13.478%2032.434l6.026%207.975-5.054%206.03%201.749%201.556m-3.96-15.367l-3.5%207.976-7.97%201.555.583%202.529%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%221.058%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M12.773%201.984v29.943%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%223.969%22/%3E%3Cpath%20d=%22M1.984%2022.176l10.689%2010.452%2010.35-10.452%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%223.969%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22matrix(.842%200%200%20.842%20-48.178%20-26.157)%22%20stroke=%22green%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "2b563f82-937a-4a8e-92c0-d29e947d1cac", + "type": "basic.output", + "data": { + "name": "nc" }, - "size": 8 + "position": { + "x": 712, + "y": 56 + } }, { - "source": { - "block": "64015db2-163d-4858-966f-2f7282b187c9", - "port": "outlabel" + "id": "2708468d-1088-4570-be63-fb0d4799a941", + "type": "basic.input", + "data": { + "name": "", + "clock": true }, - "target": { - "block": "df606633-01cf-4c68-8ed4-c5343516f6ea", - "port": "4bf17d89-89b8-4524-800a-2d15f9bbb111", - "size": 8 + "position": { + "x": 88, + "y": 152 + } + }, + { + "id": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", + "type": "basic.input", + "data": { + "name": "", + "clock": false }, - "size": 8 + "position": { + "x": 88, + "y": 280 + } }, { - "source": { - "block": "64c3574b-3227-40ab-ab03-c2e2af710a45", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "id": "1c25e08e-e664-4fab-9b30-cedc1f8a3739", + "type": "basic.output", + "data": { + "name": "" }, - "target": { - "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", - "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" + "position": { + "x": 688, + "y": 296 } }, { - "source": { - "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", - "port": "9daaaf78-5a89-4d4a-a1b2-db1d3af962f1" + "id": "49c0a94e-2687-4aa4-8cba-327b2942095f", + "type": "basic.info", + "data": { + "info": "## Falling edge detector\n\nIt generates a 1-period pulse (tic) when a falling edge is detected on the \ninput signal", + "readonly": true }, - "target": { - "block": "17bd7ef3-6604-48a9-9c2e-50a8be908636", - "port": "5a35cd57-1006-4f6d-b263-5b977e9ef142" + "position": { + "x": 104, + "y": -40 }, - "size": 8 + "size": { + "width": 568, + "height": 80 + } }, { - "source": { - "block": "64c3574b-3227-40ab-ab03-c2e2af710a45", - "port": "dc2d9a2c-9ee9-4985-a678-d88c89fd8b74" + "id": "a6ea5e17-d259-4272-8d1c-87a6a7fe3235", + "type": "basic.info", + "data": { + "info": "Input signal", + "readonly": true }, - "target": { - "block": "17bd7ef3-6604-48a9-9c2e-50a8be908636", - "port": "38fdb02d-4323-4a34-9ffe-8385f844b660" + "position": { + "x": 96, + "y": 256 }, - "size": 8 + "size": { + "width": 136, + "height": 40 + } }, { - "source": { - "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "id": "d0d6c668-3c03-42f5-9244-9a0431f11a87", + "type": "basic.info", + "data": { + "info": "System clock", + "readonly": true }, - "target": { - "block": "dcab5da0-fe7e-4131-af28-829e18fbb525", - "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" + "position": { + "x": 104, + "y": 120 + }, + "size": { + "width": 96, + "height": 48 } }, { - "source": { - "block": "17bd7ef3-6604-48a9-9c2e-50a8be908636", - "port": "79c56f9a-597f-491e-b1d1-d321f63303c2" + "id": "f18011f4-eb45-4f91-9716-c1d8c99f1845", + "type": "basic.info", + "data": { + "info": "Current signal \nstate", + "readonly": true }, - "target": { - "block": "c047f19d-fd2f-4cf6-a055-3b4ae336688a", - "port": "c4ca0e6a-6557-45ee-8363-1bffebaad486" + "position": { + "x": 192, + "y": 368 }, - "size": 16 + "size": { + "width": 168, + "height": 48 + } }, { - "source": { - "block": "dcab5da0-fe7e-4131-af28-829e18fbb525", - "port": "9daaaf78-5a89-4d4a-a1b2-db1d3af962f1" + "id": "ab801839-c115-4e44-adb7-349586890b97", + "type": "basic.info", + "data": { + "info": "Signal state in the previous \nclock cycle", + "readonly": true }, - "target": { - "block": "c047f19d-fd2f-4cf6-a055-3b4ae336688a", - "port": "29a44a77-ec20-436d-a9e8-7fc2ca5de57e" + "position": { + "x": 328, + "y": 200 }, - "size": 8 + "size": { + "width": 248, + "height": 48 + } }, { - "source": { - "block": "dcab5da0-fe7e-4131-af28-829e18fbb525", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "id": "fde5c436-d382-48e7-80b5-390c05f46b9d", + "type": "basic.info", + "data": { + "info": "If the current signal is 0 and its value in \nthe previous clock cycle was 1, it means \nthat a falling edge has been detected! \nThe output es 1\n\nIn any other case the output is 0", + "readonly": true }, - "target": { - "block": "df606633-01cf-4c68-8ed4-c5343516f6ea", - "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" + "position": { + "x": 560, + "y": 136 + }, + "size": { + "width": 344, + "height": 96 } }, { - "source": { - "block": "c047f19d-fd2f-4cf6-a055-3b4ae336688a", - "port": "756c8eb7-3567-48b4-9757-fe992499b794" + "id": "c3990bfd-57a6-4602-ab46-800486326dd6", + "type": "basic.info", + "data": { + "info": "**Delay**: 0 clock cycles \n\nThere is no delay between the arrival of a falling edge \nand its detection", + "readonly": true }, - "target": { - "block": "a99dfdbd-22cc-4a9f-a5be-c5ffaa17dfb9", - "port": "3b957f7a-e94e-490f-8313-231ef9f2bdae" + "position": { + "x": 224, + "y": 488 }, - "size": 24 + "size": { + "width": 416, + "height": 88 + } }, { - "source": { - "block": "df606633-01cf-4c68-8ed4-c5343516f6ea", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "id": "cb3c75b7-aa35-448f-bd35-28e6df0c68f3", + "type": "ba518ee261a2be13a9739cd3a01cdcebe0ef63c0", + "position": { + "x": 544, + "y": 296 }, - "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "port": "in" + "size": { + "width": 96, + "height": 64 } }, { - "source": { - "block": "af50622f-b846-4985-9ecd-9311eae669b6", - "port": "out" - }, - "target": { - "block": "f774efb2-f5e3-4663-8de0-4b8ef65b8b09", - "port": "5204a9f1-594b-4216-b993-03b46bef9e6e" + "id": "ffe5388b-d5a9-4c10-a091-472e212b4945", + "type": "3676a00f3a70e406487ed14b901daf3e4984e63d", + "position": { + "x": 312, + "y": 400 }, - "size": 32 + "size": { + "width": 96, + "height": 64 + } }, { - "source": { - "block": "f774efb2-f5e3-4663-8de0-4b8ef65b8b09", - "port": "f1c65ee1-45a3-412a-a3a4-cd3e16ce49d1" - }, - "target": { - "block": "9454de89-973a-4059-9061-689e93c1a83d", - "port": "901245a6-b7da-4af7-8917-7a47e5675ae1" + "id": "2d9bc250-6e26-46b7-b580-18a611e9a27f", + "type": "58ed2b5c7e33e2f215ccba6c101d9ea4ff60f284", + "position": { + "x": 320, + "y": 264 }, - "size": 24 - }, + "size": { + "width": 96, + "height": 64 + } + } + ], + "wires": [ { "source": { - "block": "9454de89-973a-4059-9061-689e93c1a83d", - "port": "4ca7b72f-724d-435c-8490-645c338586db" + "block": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", + "port": "out" }, "target": { - "block": "ed14e466-d8fc-4816-a575-0444806c8cfe", - "port": "a0c9783a-c287-45a7-bfc7-9da552cf732f" - }, - "size": 16 + "block": "2d9bc250-6e26-46b7-b580-18a611e9a27f", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + } }, { "source": { - "block": "0d3bf835-b162-478d-bd73-91c914e05261", + "block": "2708468d-1088-4570-be63-fb0d4799a941", "port": "out" }, "target": { - "block": "bcacb1dd-d435-4ddf-822a-ae35d9dd83f7", - "port": "5204a9f1-594b-4216-b993-03b46bef9e6e" - }, - "size": 32 + "block": "2d9bc250-6e26-46b7-b580-18a611e9a27f", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + } }, { "source": { - "block": "bcacb1dd-d435-4ddf-822a-ae35d9dd83f7", - "port": "f1c65ee1-45a3-412a-a3a4-cd3e16ce49d1" + "block": "cb3c75b7-aa35-448f-bd35-28e6df0c68f3", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, "target": { - "block": "3a1d273a-692b-47e7-b804-c316a57ef405", - "port": "901245a6-b7da-4af7-8917-7a47e5675ae1" - }, - "size": 24 + "block": "1c25e08e-e664-4fab-9b30-cedc1f8a3739", + "port": "in" + } }, { "source": { - "block": "3a1d273a-692b-47e7-b804-c316a57ef405", - "port": "4ca7b72f-724d-435c-8490-645c338586db" + "block": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", + "port": "out" }, "target": { - "block": "fc197af1-6802-4a9f-9db3-72e5fc61e92c", - "port": "a0c9783a-c287-45a7-bfc7-9da552cf732f" - }, - "size": 16 + "block": "ffe5388b-d5a9-4c10-a091-472e212b4945", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } }, { "source": { - "block": "df606633-01cf-4c68-8ed4-c5343516f6ea", - "port": "9daaaf78-5a89-4d4a-a1b2-db1d3af962f1" + "block": "2d9bc250-6e26-46b7-b580-18a611e9a27f", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" }, "target": { - "block": "a99dfdbd-22cc-4a9f-a5be-c5ffaa17dfb9", - "port": "40f9d1d0-01e9-40c2-b4a4-e7277a78c006" - }, - "size": 8 + "block": "cb3c75b7-aa35-448f-bd35-28e6df0c68f3", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } }, { "source": { - "block": "a99dfdbd-22cc-4a9f-a5be-c5ffaa17dfb9", - "port": "a121f12a-dede-4aec-9016-4c8e92ed75e2" + "block": "ffe5388b-d5a9-4c10-a091-472e212b4945", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, "target": { - "block": "f690df81-1f8f-4de5-a2c9-6441486c5cc0", - "port": "in" - }, - "size": 32 + "block": "cb3c75b7-aa35-448f-bd35-28e6df0c68f3", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + } } ] } } }, - "cb23aa3d8a3e95bd194fd9ec9b9c40b36595d893": { + "bf21f4d270a776c39e0c3763ffe9253d8f25e93d": { "package": { - "name": "Adder-8bits", - "version": "0.1", - "description": "Adder-8bits: Adder of two operands of 8 bits", + "name": "14-Reg-rst", + "version": "0.8", + "description": "14-Reg-rst: 14 bits Register with reset. Verilog implementation", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", - "otid": 1618560481898 + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22286.865%22%20height=%22270.812%22%20viewBox=%220%200%2075.899794%2071.65232%22%3E%3Cpath%20d=%22M43.907%2033.607h10.645%22%20color=%22#000%22%20fill=%22#00f%22/%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M102.876%20163.95l4.552%2028.037%205.644-28.037%22%20fill=%22#ccc%22%20transform=%22matrix(.65581%20-.3791%20.37863%20.6566%20-85.712%20-27.533)%22/%3E%3Cpath%20d=%22M99.758%20149.859l2.39-28.512h-9.831v-5.462h31.86v5.462h-9.284l1.724%2028.769s7.509%201.248%209.269%206.48c1.76%205.231-.367%207.286.15%207.36l-36.077-.044s-.817-6.104%202.015-9.194c2.832-3.09%207.784-4.86%207.784-4.86z%22%20fill=%22red%22%20transform=%22matrix(.65581%20-.3791%20.37863%20.6566%20-85.712%20-27.533)%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M102.876%20163.95l4.552%2028.037%205.644-28.037%22%20fill=%22#ccc%22%20transform=%22matrix(.65581%20-.3791%20.37863%20.6566%20-69.38%20-28.47)%22/%3E%3Cpath%20d=%22M99.758%20149.859l2.39-28.512h-9.831v-5.462h31.86v5.462h-9.284l1.724%2028.769s7.509%201.248%209.269%206.48c1.76%205.231-.367%207.286.15%207.36l-36.077-.044s-.817-6.104%202.015-9.194c2.832-3.09%207.784-4.86%207.784-4.86z%22%20fill=%22red%22%20transform=%22matrix(.65581%20-.3791%20.37863%20.6566%20-69.38%20-28.47)%22/%3E%3C/g%3E%3Cg%20transform=%22translate(-93.518%20-25.072)%20scale(1.09073)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20cx=%22100.602%22%20cy=%2273.815%22%20r=%2214.559%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618509859237 }, "design": { "graph": { "blocks": [ { - "id": "1c85838b-e269-4a65-a112-0a1bbca9b2a1", - "type": "basic.inputLabel", + "id": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", + "type": "basic.input", "data": { - "name": "a1", - "range": "[3:0]", - "pins": [ - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia", - "blockColor": "deeppink" + "name": "", + "clock": true }, "position": { - "x": 16, - "y": -688 + "x": 560, + "y": 64 } }, { - "id": "d01b9c0c-a541-49e6-b5aa-a0c0f21612a0", - "type": "basic.outputLabel", + "id": "36fccd77-8921-45ec-b4f9-9dd209acaefa", + "type": "basic.output", "data": { - "name": "a1", - "range": "[3:0]", - "oldBlockColor": "fuchsia", - "blockColor": "deeppink", - "size": 4 + "name": "nc" }, "position": { - "x": 352, - "y": -664 + "x": 1184, + "y": 72 } }, { - "id": "b4b08c4b-8eb1-4cd3-a1bf-a45bf7177ed3", + "id": "93c58f23-2a4f-40ba-8cc1-80e434606d4e", + "type": "basic.output", + "data": { + "name": "nc" + }, + "position": { + "x": 1184, + "y": 144 + } + }, + { + "id": "c97f7411-94ef-4d63-ba23-ce596ebcbb25", "type": "basic.input", "data": { - "name": "", - "range": "[7:0]", - "clock": false, - "size": 8 + "name": "rst", + "clock": false }, "position": { - "x": -312, - "y": -632 + "x": 560, + "y": 168 } }, { - "id": "f3b83846-5723-40b3-a598-fd21797f7ce1", - "type": "basic.inputLabel", + "id": "521f03e5-f364-41b0-a2b8-c7858e6debf5", + "type": "basic.output", "data": { - "name": "a0", - "range": "[3:0]", - "pins": [ - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia", - "blockColor": "deeppink" + "name": "", + "range": "[13:0]", + "size": 14 }, "position": { - "x": 16, - "y": -616 + "x": 1184, + "y": 224 } }, { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "type": "basic.output", + "id": "e699a6f3-fd6f-49dc-a8d3-d35853cb8e6b", + "type": "basic.input", "data": { - "name": "c" + "name": "", + "range": "[13:0]", + "clock": false, + "size": 14 }, "position": { - "x": 960, - "y": -608 + "x": 560, + "y": 272 } }, { - "id": "fb36b075-bb31-4aa7-8dbd-f0d108126f21", - "type": "basic.outputLabel", + "id": "f1022de4-0225-43d7-92d3-451161ee6942", + "type": "basic.input", "data": { - "name": "b1", - "range": "[3:0]", - "blockColor": "fuchsia", - "size": 4 + "name": "load", + "clock": false }, "position": { - "x": 352, - "y": -584 + "x": 560, + "y": 376 } }, { - "id": "dc2d9a2c-9ee9-4985-a678-d88c89fd8b74", + "id": "9544d010-d8ad-4946-b068-6b9273721873", "type": "basic.output", "data": { - "name": "s", - "range": "[7:0]", - "size": 8 + "name": "nc" }, "position": { - "x": 960, - "y": -544 + "x": 1184, + "y": 376 } }, { - "id": "6de2e227-2992-41fb-a52e-16e86632cd2c", - "type": "basic.outputLabel", + "id": "d9020031-ade2-47d0-bca0-4b88fe7eaebd", + "type": "basic.constant", "data": { - "name": "a0", - "range": "[3:0]", - "oldBlockColor": "fuchsia", - "blockColor": "deeppink", - "size": 4 + "name": "", + "value": "0", + "local": false }, "position": { - "x": 184, - "y": -472 + "x": 864, + "y": -80 } }, { - "id": "d5b2605b-a224-4d60-896b-d1553fd943e1", - "type": "basic.inputLabel", + "id": "2947d492-028d-487a-83fa-b2f84a2e2d2f", + "type": "basic.code", "data": { - "name": "b1", - "range": "[3:0]", - "pins": [ - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "rst" + }, + { + "name": "d", + "range": "[13:0]", + "size": 14 + }, + { + "name": "load" + } + ], + "out": [ + { + "name": "q", + "range": "[13:0]", + "size": 14 + } + ] + }, + "params": [ { - "index": "0", - "name": "", - "value": "" + "name": "INI" } ], - "virtual": true, - "blockColor": "fuchsia" + "code": "//-- Generic register with reset\n//-- Number of bits\nlocalparam N = 14;\n\n//-- Initial value\nreg [N-1:0] qi = INI;\n\nalways @(posedge clk)\nbegin\n\n //-- Reset has the priority\n if (rst == 1'b1)\n qi <= INI;\n \n else\n //-- The value is load only if \n //-- load is 1\n if (load == 1'b1)\n qi <= d;\n \n //-- In any other case the reg\n //-- keeps its value\nend\n\n//-- Connect the register with the\n//-- output\nassign q = qi;\n" }, "position": { - "x": 8, - "y": -440 + "x": 720, + "y": 40 + }, + "size": { + "width": 376, + "height": 424 } + } + ], + "wires": [ + { + "source": { + "block": "d9020031-ade2-47d0-bca0-4b88fe7eaebd", + "port": "constant-out" + }, + "target": { + "block": "2947d492-028d-487a-83fa-b2f84a2e2d2f", + "port": "INI" + }, + "vertices": [] }, { - "id": "e3beef79-c05d-4705-8dbc-de5b7b94941a", - "type": "basic.outputLabel", - "data": { - "name": "b0", - "range": "[3:0]", - "blockColor": "fuchsia", - "size": 4 + "source": { + "block": "2947d492-028d-487a-83fa-b2f84a2e2d2f", + "port": "q" }, - "position": { - "x": 184, - "y": -408 - } + "target": { + "block": "521f03e5-f364-41b0-a2b8-c7858e6debf5", + "port": "in" + }, + "size": 14 }, { - "id": "63477487-9493-4058-a7e1-9bab443ec466", - "type": "basic.input", - "data": { - "name": "", - "range": "[7:0]", - "clock": false, - "size": 8 + "source": { + "block": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", + "port": "out" }, - "position": { - "x": -320, - "y": -384 + "target": { + "block": "2947d492-028d-487a-83fa-b2f84a2e2d2f", + "port": "clk" } }, { - "id": "df32424c-55e8-45ed-9adc-3d8bb146e3e0", - "type": "basic.inputLabel", - "data": { - "name": "b0", - "range": "[3:0]", - "pins": [ - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia" + "source": { + "block": "e699a6f3-fd6f-49dc-a8d3-d35853cb8e6b", + "port": "out" }, - "position": { - "x": 8, - "y": -368 - } + "target": { + "block": "2947d492-028d-487a-83fa-b2f84a2e2d2f", + "port": "d" + }, + "size": 14 }, { - "id": "6781108b-d67f-4ee8-97a9-79bab2c400b1", - "type": "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a", - "position": { - "x": -168, - "y": -384 + "source": { + "block": "c97f7411-94ef-4d63-ba23-ce596ebcbb25", + "port": "out" }, - "size": { - "width": 96, - "height": 64 + "target": { + "block": "2947d492-028d-487a-83fa-b2f84a2e2d2f", + "port": "rst" } }, { - "id": "ffcdd533-6cad-4ba4-9f88-4b1030d78af8", - "type": "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a", - "position": { - "x": -152, - "y": -632 + "source": { + "block": "f1022de4-0225-43d7-92d3-451161ee6942", + "port": "out" }, - "size": { - "width": 96, - "height": 64 + "target": { + "block": "2947d492-028d-487a-83fa-b2f84a2e2d2f", + "port": "load" + } + } + ] + } + } + }, + "5ba0990b1cafb42a483bf845663b1bce6cbfa43b": { + "package": { + "name": "AdderK-14bits", + "version": "0.6", + "description": "AdderK-14bit: Adder of 14-bit operand and 14-bit constant", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1618560481898 + }, + "design": { + "graph": { + "blocks": [ + { + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", + "data": { + "name": "c" + }, + "position": { + "x": 952, + "y": -344 } }, { - "id": "7b82019f-c8a7-4b8c-baa1-6eb224a95cb2", - "type": "25966b9480fc28011aea0e17452c30d5ff9d76e8", + "id": "ccf244b8-cc65-453c-a958-19a3768f7007", + "type": "basic.input", + "data": { + "name": "", + "range": "[13:0]", + "clock": false, + "size": 14 + }, "position": { - "x": 352, - "y": -456 + "x": 384, + "y": -288 + } + }, + { + "id": "097a6fa5-5366-4605-952c-dcc1425e255c", + "type": "basic.output", + "data": { + "name": "s", + "range": "[13:0]", + "size": 14 }, - "size": { - "width": 96, - "height": 64 + "position": { + "x": 952, + "y": -232 } }, { - "id": "b8a72421-dc14-4c18-b343-9c3516b37f54", - "type": "afb28fd5426aea14477d11cbe30a290679f789f8", - "position": { - "x": 760, - "y": -544 + "id": "e728fdca-755f-4f2d-98e7-0716b1c5258f", + "type": "basic.constant", + "data": { + "name": "", + "value": "0", + "local": false }, - "size": { - "width": 96, - "height": 64 + "position": { + "x": 680, + "y": -472 } }, { - "id": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", - "type": "a1ce303b8ce47a06371ea4641c81460f34a1cca9", + "id": "2ad3d9b5-c810-4c17-b74b-9fc432126626", + "type": "basic.code", + "data": { + "ports": { + "in": [ + { + "name": "a", + "range": "[13:0]", + "size": 14 + } + ], + "out": [ + { + "name": "c" + }, + { + "name": "s", + "range": "[13:0]", + "size": 14 + } + ] + }, + "params": [ + { + "name": "k" + } + ], + "code": "//-- Number of bits\nlocalparam N = 14;\n\n//-- Temporal cable with N+1 bits\nwire [N:0] temp;\n\nwire [N-1:0] b = k;\nassign temp = {1'b0, a} + {1'b0, b};\nassign s = temp[N-1:0];\nassign c = temp[N];" + }, "position": { - "x": 520, - "y": -600 + "x": 560, + "y": -368 }, "size": { - "width": 96, - "height": 96 + "width": 336, + "height": 224 } } ], "wires": [ { "source": { - "block": "6781108b-d67f-4ee8-97a9-79bab2c400b1", - "port": "eb61d084-ca22-4894-b8a2-f936db38f4b1", - "size": 4 + "block": "2ad3d9b5-c810-4c17-b74b-9fc432126626", + "port": "c" }, "target": { - "block": "df32424c-55e8-45ed-9adc-3d8bb146e3e0", - "port": "inlabel" - }, - "size": 4 + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" + } }, { "source": { - "block": "6781108b-d67f-4ee8-97a9-79bab2c400b1", - "port": "637e64f4-0a6b-4037-9a75-89397e078a58", - "size": 4 + "block": "e728fdca-755f-4f2d-98e7-0716b1c5258f", + "port": "constant-out" }, "target": { - "block": "d5b2605b-a224-4d60-896b-d1553fd943e1", - "port": "inlabel" - }, - "size": 4 + "block": "2ad3d9b5-c810-4c17-b74b-9fc432126626", + "port": "k" + } }, { "source": { - "block": "ffcdd533-6cad-4ba4-9f88-4b1030d78af8", - "port": "637e64f4-0a6b-4037-9a75-89397e078a58", - "size": 4 + "block": "2ad3d9b5-c810-4c17-b74b-9fc432126626", + "port": "s" }, "target": { - "block": "1c85838b-e269-4a65-a112-0a1bbca9b2a1", - "port": "inlabel" + "block": "097a6fa5-5366-4605-952c-dcc1425e255c", + "port": "in" }, - "size": 4 + "size": 14 }, { "source": { - "block": "ffcdd533-6cad-4ba4-9f88-4b1030d78af8", - "port": "eb61d084-ca22-4894-b8a2-f936db38f4b1", - "size": 4 + "block": "ccf244b8-cc65-453c-a958-19a3768f7007", + "port": "out" }, "target": { - "block": "f3b83846-5723-40b3-a598-fd21797f7ce1", - "port": "inlabel" + "block": "2ad3d9b5-c810-4c17-b74b-9fc432126626", + "port": "a" }, - "size": 4 + "size": 14 + } + ] + } + } + }, + "c98ba9d3bd2afa5c5dc32f623ae81a9df5d211b3": { + "package": { + "name": "comp2-14bits", + "version": "0.2", + "description": "Comp2-14bit: Comparator of two 14-bit numbers", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22312.756%22%20height=%22168.82%22%20viewBox=%220%200%20293.20803%20158.26888%22%3E%3Cg%20font-weight=%22400%22%20letter-spacing=%220%22%20word-spacing=%220%22%20font-family=%22sans-serif%22%20stroke-width=%22.057%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M0%200h293.209v53.747H-.001zm0%20104.064h293.209v54.205H-.001z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20font-size=%2296.3%22%20fill=%22#00f%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E", + "otid": 1618594740929 + }, + "design": { + "graph": { + "blocks": [ + { + "id": "a42068b6-dc74-4537-869c-d20ea32059b0", + "type": "basic.input", + "data": { + "name": "", + "range": "[13:0]", + "clock": false, + "size": 14 + }, + "position": { + "x": 368, + "y": 56 + } }, { - "source": { - "block": "e3beef79-c05d-4705-8dbc-de5b7b94941a", - "port": "outlabel" + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", + "data": { + "name": "" }, - "target": { - "block": "7b82019f-c8a7-4b8c-baa1-6eb224a95cb2", - "port": "d192d0af-e7be-4be6-925a-50227d80784c", - "size": 4 + "position": { + "x": 968, + "y": 88 + } + }, + { + "id": "b457d512-6d78-479d-9b18-993a80c00740", + "type": "basic.input", + "data": { + "name": "", + "range": "[13:0]", + "clock": false, + "size": 14 }, - "size": 4 + "position": { + "x": 368, + "y": 176 + } }, { - "source": { - "block": "6de2e227-2992-41fb-a52e-16e86632cd2c", - "port": "outlabel" + "id": "2df886b0-4697-49ce-a8dd-2ffa9ede33a7", + "type": "basic.info", + "data": { + "info": "A", + "readonly": true }, - "target": { - "block": "7b82019f-c8a7-4b8c-baa1-6eb224a95cb2", - "port": "c2d36218-be99-4dd1-bf69-7690c667255b", - "size": 4 + "position": { + "x": 408, + "y": 32 }, - "size": 4 + "size": { + "width": 80, + "height": 32 + } + }, + { + "id": "fa5825ce-289b-4004-84f5-12ee322cae15", + "type": "basic.info", + "data": { + "info": "B", + "readonly": true + }, + "position": { + "x": 408, + "y": 152 + }, + "size": { + "width": 80, + "height": 32 + } }, + { + "id": "3e7a13bd-12d9-438b-ac65-f3642c1c2066", + "type": "basic.code", + "data": { + "ports": { + "in": [ + { + "name": "a", + "range": "[13:0]", + "size": 14 + }, + { + "name": "b", + "range": "[13:0]", + "size": 14 + } + ], + "out": [ + { + "name": "o" + } + ] + }, + "params": [], + "code": "assign o = (a == b);" + }, + "position": { + "x": 584, + "y": 56 + }, + "size": { + "width": 304, + "height": 128 + } + } + ], + "wires": [ { "source": { - "block": "fb36b075-bb31-4aa7-8dbd-f0d108126f21", - "port": "outlabel" + "block": "a42068b6-dc74-4537-869c-d20ea32059b0", + "port": "out" }, "target": { - "block": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", - "port": "d192d0af-e7be-4be6-925a-50227d80784c", - "size": 4 + "block": "3e7a13bd-12d9-438b-ac65-f3642c1c2066", + "port": "a" }, - "size": 4 + "size": 14 }, { "source": { - "block": "d01b9c0c-a541-49e6-b5aa-a0c0f21612a0", - "port": "outlabel" + "block": "b457d512-6d78-479d-9b18-993a80c00740", + "port": "out" }, "target": { - "block": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", - "port": "c2d36218-be99-4dd1-bf69-7690c667255b", - "size": 4 + "block": "3e7a13bd-12d9-438b-ac65-f3642c1c2066", + "port": "b" }, - "size": 4 + "size": 14 }, { "source": { - "block": "63477487-9493-4058-a7e1-9bab443ec466", - "port": "out" + "block": "3e7a13bd-12d9-438b-ac65-f3642c1c2066", + "port": "o" }, "target": { - "block": "6781108b-d67f-4ee8-97a9-79bab2c400b1", - "port": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e" + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" + } + } + ] + } + } + }, + "be366defa772394c264631243c78ced91837ab0f": { + "package": { + "name": "14-bits-k-1", + "version": "0.0.3", + "description": "Generic: 14-bits k-1 constant (Input values: 1,2,...,). It returns the value input by the user minus 1. Outputs: 0,1,2,...,4095", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20width=%22379.943%22%20height=%22248.129%22%20viewBox=%220%200%20356.19654%20232.62089%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20fill=%22green%22%3E%3Cg%20style=%22line-height:0%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%3E%3Cpath%20d=%22M56.012%20146.905q9.055%206.708%2020.459%2017.105%2011.404%2010.062%2022.472%2021.801%2011.403%2011.739%2021.465%2024.149%2010.062%2012.074%2016.1%2022.471h-32.87q-6.372-10.397-15.763-21.13-9.392-11.068-20.124-21.13-10.398-10.062-21.13-18.447-10.398-8.385-18.783-14.086v74.793H0V4.696L27.838%200v141.874q18.447-16.1%2036.894-31.863%2018.447-16.1%2033.204-33.205h32.534q-14.422%2017.106-34.881%2035.217-20.124%2018.112-39.577%2034.882z%22%20style=%22line-height:1.25%22%20font-size=%22335.399%22%20font-weight=%22400%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22/%3E%3C/g%3E%3Cg%20style=%22line-height:1.25%22%20font-size=%22240.378%22%20stroke-width=%226.009%22%3E%3Cpath%20d=%22M127.343%20148.678h70.366v21.41h-70.366zM243.924%20210.427h43.081V61.732l-46.867%209.4V47.11l46.606-9.4h26.371v172.717h43.082v22.194H243.924z%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "d10a3bb7-99d9-4193-8faf-cbe27f5c8482", + "type": "basic.output", + "data": { + "name": "", + "range": "[13:0]", + "size": 14 }, - "size": 8 + "position": { + "x": 1008, + "y": 248 + } }, { - "source": { - "block": "b4b08c4b-8eb1-4cd3-a1bf-a45bf7177ed3", - "port": "out" - }, - "target": { - "block": "ffcdd533-6cad-4ba4-9f88-4b1030d78af8", - "port": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e" + "id": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "type": "basic.constant", + "data": { + "name": "K", + "value": "1", + "local": false }, - "size": 8 + "position": { + "x": 744, + "y": 120 + } }, { - "source": { - "block": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", - "port": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42" + "id": "294f1eb0-e5cf-4c89-b914-bbb9b8305d64", + "type": "basic.info", + "data": { + "info": "Output: 0,1,2,...,4095", + "readonly": true }, - "target": { - "block": "b8a72421-dc14-4c18-b343-9c3516b37f54", - "port": "a1770adf-e143-4506-9d87-3cb9c870f534" + "position": { + "x": 1016, + "y": 224 }, - "size": 4 + "size": { + "width": 192, + "height": 40 + } }, { - "source": { - "block": "7b82019f-c8a7-4b8c-baa1-6eb224a95cb2", - "port": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42" + "id": "83e77c69-25af-4960-9fe3-c1fb07abf203", + "type": "basic.info", + "data": { + "info": "Inputs: 1,2,...", + "readonly": true }, - "target": { - "block": "b8a72421-dc14-4c18-b343-9c3516b37f54", - "port": "843164ff-f7d8-48b9-bf59-1e0d1135c81f" + "position": { + "x": 728, + "y": 80 }, - "size": 4 + "size": { + "width": 184, + "height": 40 + } }, { - "source": { - "block": "b8a72421-dc14-4c18-b343-9c3516b37f54", - "port": "1269698e-e555-4fcb-a613-cb4c7ff2e598" + "id": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "type": "basic.code", + "data": { + "ports": { + "in": [], + "out": [ + { + "name": "k", + "range": "[13:0]", + "size": 14 + } + ] + }, + "params": [ + { + "name": "VALUE" + } + ], + "code": "assign k = VALUE-1;" }, - "target": { - "block": "dc2d9a2c-9ee9-4985-a678-d88c89fd8b74", - "port": "in" + "position": { + "x": 672, + "y": 248 }, - "size": 8 - }, + "size": { + "width": 240, + "height": 64 + } + } + ], + "wires": [ { "source": { - "block": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "block": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "port": "constant-out" }, "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "port": "in" + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "VALUE" } }, { "source": { - "block": "7b82019f-c8a7-4b8c-baa1-6eb224a95cb2", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "k" }, "target": { - "block": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", - "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" - } + "block": "d10a3bb7-99d9-4193-8faf-cbe27f5c8482", + "port": "in" + }, + "size": 14 } ] } } }, - "25966b9480fc28011aea0e17452c30d5ff9d76e8": { + "5fcfda234fb072b021cd8f915af77e7ae7860198": { "package": { - "name": "Adder-4bits", - "version": "0.1", - "description": "Adder-4bits: Adder of two operands of 4 bits", + "name": "24-bits-Mux-2-1-verilog", + "version": "0.2", + "description": "2-to-1 Multplexer (24-bit channels). Verilog implementation", "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", - "otid": 1618560481898 + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2280.833%22%20height=%22158.56%22%20viewBox=%220%200%2075.781585%20148.65066%22%3E%3Cpath%20d=%22M74.375%2036.836c0-12.691-6.99-24.413-18.326-30.729-11.335-6.316-25.284-6.262-36.568.141C8.198%2012.652%201.304%2024.427%201.407%2037.118v74.415c-.103%2012.69%206.79%2024.466%2018.074%2030.87%2011.284%206.403%2025.233%206.457%2036.568.14%2011.336-6.316%2018.326-18.037%2018.326-30.728z%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%222.813%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.448%22%20y=%2291.518%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.448%22%20y=%2291.518%22%3E0%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.359%22%20y=%2214.582%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.359%22%20y=%2214.582%22%3E1%3C/tspan%3E%3C/text%3E%3C/svg%3E", + "otid": 1618922858665 }, "design": { "graph": { "blocks": [ { - "id": "1c9b3962-5793-4e6f-98d4-9ca2113d0823", - "type": "basic.inputLabel", + "id": "a7083464-b9f2-4661-ba0e-e1875f71f9f7", + "type": "basic.input", "data": { - "blockColor": "deeppink", - "name": "a3", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "deeppink" + "name": "1", + "range": "[23:0]", + "clock": false, + "size": 24 }, "position": { - "x": 8, - "y": -744 + "x": 328, + "y": -64 } }, { - "id": "161a3e27-de9b-4674-b990-c1e8314a29f3", - "type": "basic.outputLabel", + "id": "cf1ee513-b831-4546-b816-53c8196fca1c", + "type": "basic.output", "data": { - "blockColor": "deeppink", - "name": "a3", - "oldBlockColor": "deeppink" + "name": "", + "range": "[23:0]", + "size": 24 }, "position": { - "x": 576, - "y": -736 + "x": 984, + "y": 24 } }, { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "type": "basic.output", + "id": "63847aa3-e2cd-4ff3-806d-b566a8176645", + "type": "basic.input", "data": { - "name": "c" + "name": "0", + "range": "[23:0]", + "clock": false, + "size": 24 }, "position": { - "x": 920, - "y": -696 + "x": 328, + "y": 24 } }, { - "id": "73a0a48e-d345-4eda-8603-782e9865d928", - "type": "basic.inputLabel", + "id": "1e7e3cd6-ed00-468a-9f7c-0bb91e020dce", + "type": "basic.input", "data": { - "blockColor": "deeppink", - "name": "a2", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "deeppink" + "name": "sel", + "clock": false }, "position": { - "x": 8, - "y": -688 + "x": 320, + "y": 112 } }, { - "id": "05fb13c5-879a-422f-84a8-56d1db8816da", - "type": "basic.outputLabel", + "id": "b64f5610-774d-45c0-bbc6-85b1a6713f43", + "type": "basic.code", "data": { - "blockColor": "fuchsia", - "name": "b3", - "oldBlockColor": "fuchsia" + "ports": { + "in": [ + { + "name": "i1", + "range": "[23:0]", + "size": 24 + }, + { + "name": "i0", + "range": "[23:0]", + "size": 24 + }, + { + "name": "sel" + } + ], + "out": [ + { + "name": "o", + "range": "[23:0]", + "size": 24 + } + ] + }, + "params": [], + "code": "//-- 2-to-1 Multiplexer \n\nassign o = sel ? i1 : i0;" }, "position": { - "x": 576, - "y": -672 + "x": 560, + "y": -80 + }, + "size": { + "width": 304, + "height": 272 } - }, + } + ], + "wires": [ { - "id": "a30f87da-7077-4ad6-92dd-adbfdd1bed45", - "type": "basic.inputLabel", - "data": { - "blockColor": "deeppink", - "name": "a1", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "deeppink" + "source": { + "block": "1e7e3cd6-ed00-468a-9f7c-0bb91e020dce", + "port": "out" }, - "position": { - "x": 8, - "y": -632 - } + "target": { + "block": "b64f5610-774d-45c0-bbc6-85b1a6713f43", + "port": "sel" + }, + "vertices": [] }, { - "id": "c2d36218-be99-4dd1-bf69-7690c667255b", - "type": "basic.input", - "data": { - "name": "", - "range": "[3:0]", - "clock": false, - "size": 4 + "source": { + "block": "a7083464-b9f2-4661-ba0e-e1875f71f9f7", + "port": "out" }, - "position": { - "x": -312, - "y": -632 - } + "target": { + "block": "b64f5610-774d-45c0-bbc6-85b1a6713f43", + "port": "i1" + }, + "size": 24 }, { - "id": "ed7a30bc-17fc-444e-89e5-aa9f83b32e86", - "type": "basic.outputLabel", - "data": { - "blockColor": "deeppink", - "name": "a2", - "oldBlockColor": "deeppink" + "source": { + "block": "63847aa3-e2cd-4ff3-806d-b566a8176645", + "port": "out" }, - "position": { - "x": 456, - "y": -584 - } + "target": { + "block": "b64f5610-774d-45c0-bbc6-85b1a6713f43", + "port": "i0" + }, + "size": 24 }, { - "id": "d7d5e8c8-78dd-41a8-aedf-1051b89bfb77", - "type": "basic.inputLabel", + "source": { + "block": "b64f5610-774d-45c0-bbc6-85b1a6713f43", + "port": "o" + }, + "target": { + "block": "cf1ee513-b831-4546-b816-53c8196fca1c", + "port": "in" + }, + "size": 24 + } + ] + } + } + }, + "698400cf4aed3c1bcc56992cf4dee108a0b3b2d8": { + "package": { + "name": "Mem-16KB-down-machine", + "version": "0.3", + "description": "16KB memory download machine", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20viewBox=%220%200%2088.570022%20126.13218%22%20height=%22476.72%22%20width=%22334.753%22%3E%3Cg%20transform=%22translate(-158.43%20-96.411)%22%3E%3Cimage%20xlink:href=%22data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAgM0lEQVR4Xu1dCZBU1bm+PdPTM8CM%20AgMO+yCrAq4oGjWKIIorcYnRlD59saImGlOaqK/UPPeHu5VyjyYuMRu+uFVEjRqX4FNRQURwQVxQ%20YdiGZQYGepZ+33frfK9Oneq+t+/0zHTad/+qU7fv7bt0n/8///L9/znX+1ZTTDHFFFNMMcUUU0wx%20xRRTTDHFFFNMMcUUU0wxxZToofuX8XPo82LqcLaZUhUAMbucraKi4viysrI9jCBkp5gybKBH0un0%20cuy3URC6WwiSXvcRmV9ZVVV1azKZPBvN69+/vzd06FBv2LBh1mkxff31197ixYvJfa+1tfUnHR0d%20x7W1tc3HV2kJQakJQBmZjzYUo99n/qRJk7xTTz3V69WrV5bTY/rmm2+8u+++29u6desO2L0cAnCq%20YXy61AQgYe5bBebvB9XvJRIJ79hjj/VSqZTX3t6e5ZKYBg0a5B133HHenDlzPPRZLQ5VG+a3lpwJ%20kPoH83uT+Ww77rhjCPNjYh+Z/hqK3T5oW9C2obWXlAaQAMCm9SovL/cGDx7sQaWFXBbTTjvt5AsA%20+qwOu7SVSTnOpSgASdBkSjTtPhybkMtioomkyWTjLvmjSK0UncAkJLmMAgDKUwBiqqur81atWkUt%200Bcmc2XJaQCBPtqCvMrKyjztf0wIm9lp1AbjW1paPrIwlUzJaAAJAKgajbYtTwGIaeDAgd6KFSv8%20zmMfloIJcCFf3rOCDT7AKAgAAY78nMCYqC3lB/Q1/Zgy4WB7AERcVAFIiPE333zz6JEjR565ffv2%20Xlu2bKm58847d2psbKQAhGiAmOQr1dTU+J8PPPDAE37wgx8MhgO9BeZg++bNm18588wzXzYQcXtX%20CUGii5ifuuyyy8YD7Fk4YMAAOTHelVde6X300UfejBkzPAhGwG1i5ksA2HdPPfWUd/LJJ7NRczKM%209iOp55577oyzzjrrvwkOGUHIFFsDJIya6nPQQQfdSweGKoyNAgBNIIcmRxQQM15ELcl9oKdU/4yh%202W/sR/anvz98+PD/wqnPozUZc9BeFA3gMv/GG288CgLwaL9+/by+fft6q1ev9gXgqKOO8v/MEUcc%204UOdJUxiUgSmRhv59va3v/2tnztBv9J0+k40Bxe16fLly2effvrpt1EIlCfobg2Q0FYq34J7q6ZN%20mzZ8v/32u5nSKonllhKrPACOyQcofQEonPlZma7GZ6jPFD5v27bN69Onj78/evTon/34xz9+/v77%20719s+NFup5OjOoqJKA7ezjvvPAuM7QuGJkBlyFtXgNkzMbrHUXUx3Utmf/XVVz7zTzrpJL9TTjnl%20FK+EieYrAuO1H8r8nBrgb3/7m1dbW+vNnj3bfzY165AhQ7zPPvvM9wlWrly5DFnD5yAUaQhMB4Qk%20g/My0LxPn3POOQuiOIqJPCDd1IMPPnjiiBEjHiFzObK15Y9Zs2aNn+Ovrq5mKtP74IMPlPjxfvGL%20X3ggCkKpC0AhjNdxfbZb1u9ffPFFb8OGDd4dd9zB+gBv/fr13pgxYzw62OzzTz75hKaWfc5+5jFt%20aX5/hrT7gzQPchQ7awLKZOPB4Nly7CQAbBzlUv38/P7773vQEs0vv/zyckhpNTpkNK6X+i911a/P%20UUe8y2jdI6tgiMj4t956axGFb88996wD0wfRDJDp7G/wQ+l18kJbaoo7jjzyyL8/++yzX8tR7JQG%20EPPRasHQT/FwPkBCwCaJ8zXAhx9+6Esp4lVJqXfDDTf42uDggw/uSVsscjtd+1Gu1/lsETRAkLoP%201whLlizx2+9//3uNbm/8+PHe22+/7e2yyy5ECmluXQ3A5kdeTz/99OlwIOfiVs0mZMwUpAEA6pDx%20fKgEQM6ez4w33niDQuDbLVJzczO/U1hDFdqVjC/cMYt+vYRAx8JUvCtA+Qinew/aeoZ+ZDAjAZ/p%20L730EiMEAkbsY35HXnDLfqdJZn/3poOO1kIB6KwJSAjWBZOXbtq0acK6det4c7v5Dx83bhwZQcEg%20w33mAwFkR7goYE8LghgSpgGiMknfBal7Nff5bIHnsx+5hZPN/vQZrKTaPvvsw/IxagGZYTX1/Qo4%207B8Y/y1RSBiokKIDCN9//upXvzoRUjgMzKxgBMBIgIQQpQwJjElQRymZBgoAnRj9GVzTE/Y5aDQV%20cr39XRRV79p6CQKZlfV7HaPZlPYk0zm6JQDIEHKkL2tqatrcAWIEwMvwfevatWu/efTRR1+wI4BC%20BYA32o625dprr32R/gBab3NdObzSGoAWp+AHp+QfSOVLimWnihSjizGFXu9+7zLVfYaOaWt/lkl0%20Ge+eRy0qbIX7cvoIq484/vjjH4BGbrJCvq1oG9BWo20zqj/U9iZC1H81mY5q1csQ6x+KeHSkHQbS%204VMRA4/RLr3zzjsefYbXXnuNjTbMb98KClf37ne5jkkLZDUX7Nd//vOf3ne/+13vkEMO8Xr37s1I%20gJqAZsHXrtAATB3bTiCPrYXf8NpvfvObG8GHz4UWFuIElkGl/BwO3r+7IaCwfkqlnEH+6LFjx3Kf%20zJc0f9vyAO7IzmfUZ8MW3OO6BweStGd6t912S5Hpb775pjd58mSli8lw5Q3kBBIbGIhrT0QSbgTM%209jGqJ+iMACivX4VM1BnCAOwmW88fy+8XLFjAH9R49NFHPwNPNA3I8mgcHwTp/bYIQC47HmYqcp7j%20OpiuxnjssceW3X777f/D/YcffvhwhIH1+++/vwYd+10aQELBRuRw3/PPP38s0vGLFQayRRWASrQ+%20YF6N7BCbGwYyTUnmm+rf/n/+859P5+df//rX3scff+ypIORbQLkAnSAH0T2WCxDKeg5yLBP/9Kc/%20TbSdwHnz5tEcKMyWj2BjATQhHIzjcJtPjA/XHlUDCAPoDa9T6kXhhv9gMXbhwoW0RYxTqf4JBUtA%205PCUPBLo2m2X+focgQLxAWL+ep4YTJyFnxsaGuhnMSlE6F0mVlv6ATzOaKHNDOLyzkQBSgKVY87a%20vXBEzqVU8eZ8iJhKdJB2CRgBpZPHZaPowRbTB3DVaqHXh4V67oiOKgTaJ+MY40sA5PlL8xJsI/PT%20mE+YIlDEczTYYG7pN9BJnHfvvfd+lk9NYTIkBGy9/PLLn5syZcoqPHRnaIIqU6yYAGMpWeWoA9h1%203333HQfG0ymk6uEPlQAwj01hKVUBEEPz9eZzYQt5h6LLli0jw3k+4XRXALjPnMt6wL3zySOc126u%207QBrtmOQrnnmmWfeVh1hZ5NBHWS+iS03zp8//2O0tSY3UG5a6phjjhkPp2Sc4n/lsCWRaMUe/WJM%20IdcGaQD+vyBgxx7pYc/loGHmz36WgCBbAJgXGAwsoOamm26aJ0ab1kJ+oTWibdF3hQhAC8KQjtNO%20O+0QPPBgSFh5whCksgwmYJjtINIUfPnll2SARkexBUCd35UCQIa710SCjd3vlTHl6Hc1Co9xS5yf%20dl8a4fDDD5+2xx57jAAPVA/gI7eoKVz4/PPPz4EWkAB0RBWAhGl8SM0FF1xwPx4yXo6dtgR7Nm7c%20qOofZgVZrsSctf8ZxOOlYv+DGGcLM7dhYV02LRAaKXz66adZsQH6A6NGjfK++OILf4ChLoMCwHQx%20ne8x6G95/0oaTdh1112PQ6Rw8vXXX/9GZ6FgqviKH/7wh6cB5h2fDQPgD6Dal+3HH6D6WoLpzSuQ%20H6hFR00pCQEITwa5zHcdvygYQFYBBYbPweQy33/ek08+OR9+1DqM9tqJEyfuB6bT0dM6C9II8hNk%20LmrgnJ+Nr98xvGyPggMIBOoNaZqZCwOgACgWfe+99wgHUyv0wxz3fvBOK1naDCqeAES3wdkydmJ6%20ULVPlJSve4whm7z+rNfuvffew1BnMYz9iMGYBhiUAj7AwWfnB1xAiP1eTx4aHKA1qgmoQOuFZMM2%20Le0iVS8hkF2aO3euX6Sw++678/gQNP04tmJhAO4oDTtH4Wouu5+rHiDoWNjz+Tyqdqn+XGsGDGEx%20CJnKfqYJIBhUX19PbMBGAwXPU5swZE8aAWg2g7o9igDwghTU+st4yIEo8qR614PUuNYPcQB2gh0B%20KEnEzz2NAopRQUwPvc62+7YwhJHLePd+7rmI5VnxG6hdpGnJZEHAsPF+4ccLL7ygzKsGp2oFeXyp%20GchlnU0Hd1xzzTXzZs2add306dMPwg1T6AS/yIC1AHhgAn+gDAKyN+yRoGEJQE+HgTbTIwhA4LlK%20bbueea578ry8439oVwI2YfWECv2k1qVdOcqX4bNqAjIQlAySRh1pELTywoceeuhFjfqoAkCOtZmc%208mbY8vfQvsF+jSTKXFcJ3P80FSdasCVbT6OAfE6AAETzB8TMELJHdyR4mBEUwrW8tAqFRFgAeKuq%20HxZ/1iE8nwsHkuq2VcCdUfmN5J3hYVvUbGDGXNTCm8ABqcVExYGQsio0nl9ObYBc9QGIS4fpB0kA%20ILHqCDGm2GrfPTdSvt9toKAQMBQSpsqX05cHUdXbA0ueP0PAHe67776TkSz6K/q8FfdrY8PnXsBi%20Nr/yyiubyMNOFYWqnBiFIMfAAbnBjQA0H4CMFvYPtUMcm99zCpPjHUemqPa7K+bm2aPfbi4zXSaH%20ZvtssAfMsZy+cGKU8Prrr8u790w6WFp28HnnnXc+czJ2JMDt2Wef/QjC+EsiQcH2TKCf/vSnoydM%20mEDm55wPIPWPknCqpmY4i58atTUGm2qZgH/xtK6Y7gI/dtMxCbUNCGk/0PaT6eifKMzX/IA0/IWl%20uI4O9xhA8tUHHHAAGc0+Z3OxAG4ZIfzb7373u0U/+tGPHrDKwzKhGkBz/hBrni6VLqbbn/VgxPy0%20aXT81iFV2c7vlL9mKxIFedZBJVuuANgYiC0IWa9xBcl2hOnxa7Z0BGJ+IAVktZ1C9eqrr34BQGgS%20J+DstddedmGIRr6azAUHYq+gxFAyFwYAhlbxB8vDd6Fgph5ZnkxnBhlBerUjEaeOxHcMGYVs9SST%20XTXunhNUjp1LACT4OuYyOFeuwN5nH3WK+boe4NpkMpU8QG6GU8c4SYSwO7Ot2YpCOCiJMFYRC5Av%20EMUEpABQLCHowHBF8/5tIu6PQlECEtQGFBTNExDzu0MAwpgpFet+F8z4cAFwr8l79EMrkhkF9YVU%20vJjNmgCG2iy+Yf/zmO1n0G8gwTfYbkVuiUg4wK233roIocYcqJyD8cBBkmp1Do41IzlBhldbtqi7%20BUCMCMvURREAXeMCP3axRdSmkS9MpCBBp++AbKwPCilFvMMOO6QBCDUCgh+kCEihMPiyEY7466gL%20fKJTOIBSwZjd+zi2LErsh1apKiFeN3PmzJFXXXXVLI4ONcs77Q4BiFKCnU0AwkZ8wPGiMF8CYDt6%203FcVdurxxx9fftttt82x5gZ0GOx/o5kfsDXIASQlA0CgJrQNmIo0GGqmL6SrEq2cNQE1oDPOOMNO%20FPFHUvq6QwDEvDDmh2mIfBnsRgNhQuPmDKj2HeYXLADC/O0ld7iG0IHAFRrhiK8jBsCqIPAijRxN%20K2oCGslDGwyKBAQh3kxdcskls4Et7207f3LyiEopSmBCg3XrBDlce1kA5a3m3a0oDxtv2+9sQpS3%20AMj/IMgjh68ryHj/nC1MH4BRAZNzFAiqetZsHMucjJw/YQFQ/w1wFn+C6myiuB1RcAC2sl/+8pdX%20wM67zBfmLxDIF4SlS5d6tEfwTL8CQOSvC1CQAIQzsKsFINu9o5gHxfnsj67WfGT6avCigWX3eMZw%20ONx08MgHNTcEZBsEMz0bAjA1ihOoKWG9MPIPs3EAu5FUC0AQCCaCKGB/ABX9oY5YKl6IBsjmXefj%202UcVAG2D7mufn2ufI94N9bpSANi/dejbOo5sMp9l44DoyQOZBxcHUCZ2l1tuuWVfDOZ5uXyBZI4J%20IdX4MzVcm8bWAPqsCSFaFwDlR5ocomyVmNYVDl4+4E22e0URAp0fKgDudWQ6R77sc3cQw0j5W0Bn%20WSPgm1xUCPG4iwOo0VQTla0jT+ULBGoAe0oY2lrUAwxEuKFRL/LVHNEoAD+Cg9kEQ0b3AcLj8rDz%20omiTIEdOlJXZrhDQBrP+UdhDdxHnY7hRAMwBcQD6AxRCt8BUi3RsRV3gEmEBkSaGYC7aLUgo/BwP%20GOJIvyYhNIL5/dHo/EkACBw5AhCZ8Z3VBtrm60i69wtkvnsNRxdr+XR+dxL7VQIgGB7amRnBZvgC%201RRABwsgGLQBcwcell8XFQdIo7hzKdq12B9gagHKhQPAIemDdQG+B+9TDiG3MhH5hoFBuHoU2DYb%20sztjXkKZr+JQ+DkclT2V6+AAk523cQGO8hRqAh7FHMxG4QDWWgHr0b4JWysgmQsEQtuMdOIQePf7%20EHTgqiBs6IAylCmPB0pYazkg/DFkJrdibHeM+nyAHzdTx2ORwkqX6fpMJI7MVxlXTxEdTJob8IH4%20ggSAWjh1xRVXHIEw/CPwhrzrIBaAz61AY1fAAfyQwhBFADISgj/+8Y8XA+s/xnUCyWyqPjJY8wEB%20OvDHsMlOhavjcMZHdwjdz+Fz/NTC7D4FW/aex3o6s0lnjn3PWgtlArlPSHggVmEbyLDQxQJQyLMP%20VhI5KbQs3MUALr300t3g3dvMd2sB1DhT1fcHnnjiiQWQ0jTO3x+d3j+LKg5KowYlVKLCv0EZw7yF%20T0zWdGsCMPq+GHTPPffM5fb73//+RDjg9ZivybUZqA1yYgHEcTBJ9ORzzz33/rxwAM35w41HK8HD%20G7lND+V8AGqBzz//fC1CkmGQ0ibkvSukItGij/rw40HMLhROVpO3rVCqaIyXFoPJHQbTm0IWdhPg%20efa9qoPCagJ2dsJABwfI8ro3jOKBzOgx3Wvj/ZrpQ3XDV50yHJw6dSqxgPEqB4MmYDawMyO5s0IQ%20ZRHH0BBTWkjhF4RZPkVRi1sOPfTQ3ckPMpYTQ7B4J00vcQGtHqowXIJAU81ooNKE9Vt4q7xwAEw8%20+AATPbZiejKLCeT9qnFU0A7xIaoF4GeZi6Awy7afUZgdBtkGCUC+foTqGch0OnwUcLu6qWhCoNBP%20CSEyW/X/1AQ0BfJXxCsKAWdrQSNHwgEybFiteiUeeAMqUWaiKGQ4vX9QQkzla0wgWYPhgFQ7qWA6%20ShKAqCM/2A8IX6SB2yjMd59HQIUjho0CYINaxV6rmGigFoWy1wxMAxD6ElP4iAVk0Dxu2TBI1/7l%20L395CeH6gnzTwYoA0lQXUOXvo63Bfl+0XlYtQAXeZTPhoosuGuv4BBQE4eE87uL4kRkOCmJa2HSv%20sHtJtUtdkukBL7cqriBQAKQBlIvh4pwo/96ACTxPaW6AtbbjJlMTsIX7eU0N08WaXIClxsbAw+/P%20eQAqBMGDdwBCON2pVVdIqCoabiM4gpF9gfxW6Q5v9O7p5LnVy0UUgvAZQiA5fXwryxRogvVIEK1A%20n/tCQBygEoTFpj90agI68jEB7Xg7Vd0JJ5zwACRsnJsIUtZLAoC4lKEgc9U2ChhVAKIJSDj8m7NA%20k8KpEYXUNUd9rmtzrv1XDGLCiQkg+l8sxhUKC4eb8f6ReCmHu3I4X9e/CotLn4Pyvoa8cAA5gXjB%20wy1wLGzm20KglarZiQwBGW9+CWdjPYSuBh01Vh1fIMAThtVHAZzYbHVPD1/OlZzbbHP8bOZrvxg+%20AAdeM3iyDJFANXCJscy5wPYrJUy+SPvas4UH431N90AAJltQfntWAVA1MFofPGhKrsUh7algzPtD%20/SzCJJJXqV4wVWzEd77znbH6IQWp//Da/chr95PJqmZyp3y7QuvOFnaFoYeJzvVmgEHzuHPxxRd/%20hWLdaQr/0Oz1hBQNCJUdCrh4+nXXXTfXrgkIEoBqwp4QgqwLQ1DV8yFcCpZFCQgVazET9Xv4LgMk%20sBfeciFp7MwI7xTcq3131GqSijx6mC4KrJa2t+cuqtPsY0FzAXtaG/BNLLVYtncWGcx8DON/ml7k%20ajgoyRdXA3BL/4ZRjd4fIF8gpwbgfhVuuBWLE/XOUgsgTJzM5yLQFJRhPMbzaFMxdYmd1LWjPvwe%209jO1r3WMKAAaHa59dxNHbsyv79mKxXz5LJXo8xGaH4CXRpCxHIAE5qjVstUE8Dues0FYQHhJGAiv%20JLsGb5+6QLUAjj0ns1dASEY48wFUGCFJ7DTkCyoogqB9h40UiKM5dq6nL0Zrm+14zn21HiIKr6IA%20qXyVizUiUqsGNpOyBJW8oNBsxNT+R4DrNJAVYUigpoVvxyLFS9CuNrUAVB/l9lvEEF6cxMWKskwI%204YMVBvYYw2Xfqe7gILkjPWCaeiiSmAvBLEZGUAJAYVY2ln1eceKJJz4EgW9WqGdai3l/wEpNDQsL%20AwUC8UbrjLrYrhdEmJaCw3cApowPcWsEhQgqZrXCr+4UADKbsTyl3bHdoat/BWkDl8HFYr77P2TK%20JBCMBGrw3uY9Acw9SX4JEDL2fqPh5WZ+l48AqBhkE5aInQoseRJHvVkaphw2pwKJiMOUJVRySEUg%202kYEgqKkaW01z0anrpA3g7jqPSgMLHpGEIUfeo2sPUOIOMAUvGOwCcc2kfk4Rl62oXhlKV44vQrR%202tZcq4Ym3VoAFBFOwtJkD+MhQ7NNCGGihD+C+4sWLeL6gEIBJZlkfr44QKTsIB0dRBruaC90RnGg%20utfxYhMZzsUl+P/Zz8Bd6IgLDOLqYdOdCSKcScwsYhOqt/kSiTeDfICEVDyygJfCcxwaMCGEW0UD%20tEdLYHe5SHEaAjIOD+4vAegEw9193p/PItMpYFGY4nr8BQhKUUlCSTRwSRrEUjD0yVhMQUuB6WET%20RGqwoATfJLqXfARbEyQdDKAGN58hECjXhBCqXYJACBNXQgtsxLYCmmADEMGMfACdHzG8U0WrMnMc%206RGYEk0Q1LElQBR+mgCfeeiTFryq7wvwYRyqg0MniOD8oVjuZwb8t7mWEGSyCUA1VTwQJt4w66IQ%20HJGcq8b1a/EjhoDpcgg9ZKb4lhBemy+Eq9WveF8y3Y1nu2OmTcm+sOKwww7bDXMx9FoYfwvgjXwg%20b7IWhbA/oZ2prbOCQUn3RdFgwlLYmgmK69mEoWs04v0A3OcKFQR/bCGRD+AyWfdQEzKXJ4Nicl8p%20z4IQ8gUmm1PFaCa5tXkgJJSTR7ZeffXVVmFIwLwAzCO7Ce+dPQ8MrYOzVwd/oNJ6nVkzsn9fwhEZ%20i5GfctYG5CjW4sddPBpjIrOhne03hckx5kBahtC8Foxm6l4oaBpRwGpo8yYsJ/eHrNlAeYWy/2gD%200UagDTUgUDVa0i4GeeCBB46DdzkKgkEUitlAaQBWrvpATPdQTIR/8WZwaV/2O/uf6eF1KP8mk1sd%20R2+rWTRyFdoKtAZTKLLd9QGEAWwx6FGKNzD7FXqHMN4dsD8mgo5SRCA0Suaie2PlmNx3CIkPCAEH%204GWRU1GoM8fE+20WPzeaWULN2bCApAMDp7GwwPAZM2bcgCTPWNl1MZhhHx+ulcOYjWI8KjBItr9b%20KCZqVy0aSbvOWdkSCNZk7AHnfA/wxl0trAER241ICT+WbdXQpA0Cgfn1WBz6Idy0xsUAGPrZkxBY%20lWJKx9fj+zRCtjRq1uu7LayKifaeo70BvgDRwEHvvvsuy8KVKFKBi1sUMghI4e14o/hK1BE854JB%20SXtCCEq9Z0GCxHy76SFML1IYOPI5B+CvSBrxHbUMC4fADtV3mwaIic4e52FQzXdMmzat7qyzzjqB%20L+dAWl6D0y0KkbngKmOn4rqX3UUjpQG47Q3vfqAyfE4xCG/Km2ttAHr688D8BSauTAAMqu3+apnY%20BzD2PP2Pf/xjPUZ/BXhzEvqcA5P8yYYFaI5DPau93DeIJO0ZQWB8K1U7gSAw1Mb0tWwpsX+uUPH+%20hRde+FccWmuSR0mopCHd7gTGoSD7vgkDlf1ehncDbwQAVAGmz6IPBpCIfoKwG9UEsDaCQrDOAEGK%206tpdJLDsrrvuehFTig+DJI2DTbcfrPlpvNF8FI3+wYQWqylRpoqoOR8BoGBRw5QKEWHj6CoW0c8C%205q+aBgI/O+It7Yu5y+7EuwOfx7wALtc7E4JRma14FZNHGgEFP2PVdbjzAX3VUIs2DK0eteaTEQUM%20ANMrcCNSBkxrA8zbgJKv5WS8EYC1+iGwSUdhIaPrKTgAkFjD5nde4RQT7DwhdvYnczD/geXfXrBq%20NerIY/gBQ+EfjOY7HdDKMiBo7zYIxfpnn312EXEANsOzZpkBlYJXkYloO/FmFAaznzLnCCdoNjjB%20GqvQIMnzsXDkz1EldDY9VAIWXUYxUetSAKiJuBjXJXhXEEfzZjN4+5Fvhmc11oqunmZ5WWDQGsO/%20FtsEZAxztaxIh7l5L7QKCYD1FpEmtE1mmzZSSEexRmAQVFYXqfnY5tPp1mLT3Gf9n+GHnLm0ccQ3%20GE2ekgC4PNPIz1YWrhuSWs3Jmg5mv0w6bc5rMZ8T5ruyBMiablWSoJAcp39F0iv4UKU1RoW/Wv/H%208KTJ4lmZg/BuYzPntbkCkNGJVl1guWkCiXROu91sIIkkpluOYylm3f7Vw0CZbQlBq2ktFvMTzsBV%2068g1MSRjtTb3HcLOOSJ9Tqj1CMNjSjhMFmNbrWOJAJ6FTg4VReFmGbJTEzXlqlsoJsK/rL9QfO4M%20Tm2jUbKrzCcApLcBB09k0WKXU0wq+2pBle/fHVVeEBU6XCtMuDgIbRRWF7sNocoYYgHFJL3mpRTJ%20rr9Mg+BQryOz8X+ake2bAxzgVSeeby+mAPCXVpvikeFo9cAA9kKoMoCARKKI9iAD4hZzHBsAj27j%20oVIKSOR4O5M8GtC+MtsN5nhHMQVAINKOBowYpKVlLRCpmNShpo4tMQFot1/jawCdtYb5muxRkGAn%20u0BSVXmyntLqgkhsRR5BGkWZEtQCAuAU5rGfm93K3mJqAGmBCjPiq0wTIJEoYudJA2S0LWEz0GZa%202rS2YjuB7j0UmyazgEjF70B7v7Qo42oz+1iRNED4vYrOfDHc3f4/o5hiiimmmGKKKaaYYooppphi%20iimmmGKKKaaYYooppv8FlJhXILrvZ3wAAAAASUVORK5CYII=%22%20preserveAspectRatio=%22none%22%20height=%22102.996%22%20width=%2287.169%22%20x=%22159.832%22%20y=%22119.548%22/%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20x=%22205.695%22%20y=%22150.011%22%20transform=%22scale(.98866%201.01147)%22%20font-weight=%22400%22%20font-size=%2219.302%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#ff0%22%20stroke-width=%22.504%22%3E%3Ctspan%20x=%22205.695%22%20y=%22150.011%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ERAM%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20x=%22205.372%22%20y=%22110.296%22%20transform=%22scale(.98866%201.01147)%22%20font-weight=%22400%22%20font-size=%2219.302%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#00f%22%20stroke-width=%22.504%22%3E%3Ctspan%20x=%22205.372%22%20y=%22110.296%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EDownload%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M206.647%20182.6a6.892%206.892%200%200%200-6.89%206.892c0%203.803%203.086%206.896%206.89%206.896%203.805%200%206.868-3.093%206.868-6.896%200-3.806-3.063-6.892-6.868-6.892zm13.814%2010.852l-1.242%202.991%202.215%204.35.293.575-3.072%203.072-5.039-2.38-2.991%201.228-1.519%204.648-.194.617h-4.341l-1.879-5.246-2.991-1.234-4.357%202.21-.575.287-3.07-3.069%202.378-5.042-1.233-2.989-4.64-1.515-.616-.2v-4.338l5.25-1.882%201.233-2.986-2.208-4.36-.291-.571%203.066-3.066%205.045%202.376%202.988-1.236%201.517-4.645.196-.616h4.34l1.88%205.253%202.983%201.236%204.358-2.212.58-.29%203.069%203.065-2.377%205.038%201.228%202.993%204.654%201.517.611.196v4.337z%22%20fill=%22#0ff%22/%3E%3Cg%20transform=%22matrix(.85604%200%200%20.85604%2085.035%2091.517)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E", + "otid": 1596697289362 + }, + "design": { + "graph": { + "blocks": [ + { + "id": "38abb13c-8652-41fb-931c-c7bf760ebb24", + "type": "basic.output", "data": { - "blockColor": "deeppink", - "name": "a0", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "name": "busy" }, "position": { - "x": 8, - "y": -576 + "x": 1936, + "y": -168 } }, { - "id": "3c8597e6-ca79-494a-9a53-04c284205216", + "id": "a040cc3d-b2c6-458e-bde6-f8234a19b6d1", "type": "basic.outputLabel", "data": { "blockColor": "fuchsia", - "name": "b2", - "oldBlockColor": "fuchsia" + "name": "busy" }, "position": { - "x": 456, - "y": -528 + "x": 1744, + "y": -168 } }, { - "id": "ee992ca6-d586-4901-aaa3-a17d94ddac84", - "type": "basic.inputLabel", + "id": "9188c313-c3af-4a0b-b917-d759873cd681", + "type": "basic.outputLabel", "data": { - "blockColor": "fuchsia", - "name": "b3", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "name": "addr", + "range": "[13:0]", + "blockColor": "navy", + "size": 14 }, "position": { - "x": -8, - "y": -448 + "x": 864, + "y": -144 } }, { - "id": "c5dce3e4-5ecc-4fc9-bbf6-7c1adfa1c7ff", + "id": "f81791c6-f02f-46d0-b738-5895dd124243", "type": "basic.outputLabel", "data": { - "blockColor": "deeppink", - "name": "a1", - "oldBlockColor": "fuchsia" + "blockColor": "yellow", + "name": "clk" }, "position": { - "x": 328, - "y": -440 + "x": 1744, + "y": -96 } }, { - "id": "fb8bbeb1-5c60-4629-bc13-231545818d0b", - "type": "basic.inputLabel", + "id": "b359cb97-c324-4ffc-a73c-64c7f457e6fa", + "type": "basic.outputLabel", "data": { + "name": "stdo", + "range": "[9:0]", "blockColor": "fuchsia", - "name": "b2", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "size": 10 }, "position": { - "x": -8, - "y": -384 + "x": 1728, + "y": -16 } }, { - "id": "d192d0af-e7be-4be6-925a-50227d80784c", + "id": "7fb933a6-5c63-4d46-8aaa-440b30974993", "type": "basic.input", "data": { "name": "", - "range": "[3:0]", - "clock": false, - "size": 4 - }, - "position": { - "x": -312, - "y": -384 - } - }, - { - "id": "038a8cb8-35b8-424a-9d14-c320cfcddccf", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "b1" + "clock": true }, "position": { - "x": 328, - "y": -376 + "x": -48, + "y": 24 } }, { - "id": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42", - "type": "basic.output", + "id": "2c31aa6a-383c-4eb5-b669-b8a31ad14225", + "type": "basic.inputLabel", "data": { - "name": "s", - "range": "[3:0]", - "size": 4 + "blockColor": "yellow", + "name": "clk" }, "position": { - "x": 1064, - "y": -368 + "x": 96, + "y": 24 } }, { - "id": "527c9113-e440-454b-b427-182b646c10f5", - "type": "basic.inputLabel", + "id": "a875b188-26fa-4052-ae81-4b5f22f4c1e5", + "type": "basic.outputLabel", "data": { "blockColor": "fuchsia", - "name": "b1", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "name": "tic", + "oldBlockColor": "fuchsia" }, "position": { - "x": -16, - "y": -320 + "x": 1648, + "y": 48 } }, { - "id": "f8dceaf6-6020-49e5-b775-ed4821fbd5bd", - "type": "basic.outputLabel", + "id": "20d63505-e2fd-44ed-95b9-9f45e8875e70", + "type": "basic.output", "data": { - "blockColor": "deeppink", - "name": "a0", - "oldBlockColor": "fuchsia" + "name": "stdo", + "range": "[9:0]", + "size": 10 }, "position": { - "x": 184, - "y": -296 + "x": 2128, + "y": 48 } }, { - "id": "b652825e-10ba-47cc-9832-e39d73586234", - "type": "basic.inputLabel", + "id": "8ca2279c-fdc3-40d3-9fbe-2071c026932f", + "type": "basic.outputLabel", "data": { "blockColor": "fuchsia", - "name": "b0", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, + "name": "bus_mine", "oldBlockColor": "fuchsia" }, "position": { - "x": -32, - "y": -264 + "x": 880, + "y": 112 } }, { - "id": "7e5351cc-ea73-4bb2-9dda-0390f005b90b", + "id": "786f1170-66ce-4c3a-acdc-073388546edd", "type": "basic.outputLabel", "data": { + "name": "data", + "range": "[7:0]", + "oldBlockColor": "fuchsia", "blockColor": "fuchsia", - "name": "b0", - "oldBlockColor": "fuchsia" + "size": 8 }, "position": { - "x": 184, - "y": -232 - } - }, - { - "id": "e7d0a130-cf6b-4220-a06f-42543db0214f", - "type": "1ea21df64c18f01d8f4b905c437ccf0ca332baf6", - "position": { - "x": 320, - "y": -248 - }, - "size": { - "width": 96, - "height": 64 + "x": 1656, + "y": 112 } }, { - "id": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", - "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", - "position": { - "x": 464, - "y": -392 + "id": "886b88b1-4987-4f1f-aadd-d82bb53ab445", + "type": "basic.input", + "data": { + "name": "stdo", + "range": "[9:0]", + "clock": false, + "size": 10 }, - "size": { - "width": 96, - "height": 96 + "position": { + "x": -96, + "y": 120 } }, { - "id": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", - "position": { - "x": 608, - "y": -544 + "id": "523a4825-1562-4f5d-b129-c7d08fe542c2", + "type": "basic.inputLabel", + "data": { + "name": "stdo", + "range": "[9:0]", + "blockColor": "fuchsia", + "size": 10 }, - "size": { - "width": 96, - "height": 96 + "position": { + "x": 48, + "y": 120 } }, { - "id": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "type": "c4f23ad05c2010ec9bd213c8814c9238873037ae", - "position": { - "x": -168, - "y": -416 + "id": "90093714-11a0-4cea-ad1a-bae5e4aac8dc", + "type": "basic.outputLabel", + "data": { + "name": "mbi", + "range": "[23:0]", + "blockColor": "fuchsia", + "size": 24 }, - "size": { - "width": 96, - "height": 128 + "position": { + "x": 1128, + "y": 120 } }, { - "id": "57e59301-2919-4f06-ba95-54ce5d99d774", - "type": "c4f23ad05c2010ec9bd213c8814c9238873037ae", - "position": { - "x": -152, - "y": -664 + "id": "7b8dd447-e9d2-4c9f-ba7c-c3af9abed4e8", + "type": "basic.output", + "data": { + "name": "mbo", + "range": "[23:0]", + "size": 24 }, - "size": { - "width": 96, - "height": 128 + "position": { + "x": 1472, + "y": 120 } }, { - "id": "11342001-e6e0-443b-af87-0e5d7ada0227", - "type": "84f0a15761ee8b753f67079819a7614923939472", - "position": { - "x": 896, - "y": -400 + "id": "bf61387a-ef36-4f3c-898f-e274c3136b18", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "next" }, - "size": { - "width": 96, - "height": 128 + "position": { + "x": 2064, + "y": 136 } }, { - "id": "72c87c65-b34b-480f-8cde-cd97c0914014", - "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", - "position": { - "x": 744, - "y": -688 + "id": "914e03dd-1133-4325-a333-b10f953ecce5", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "data", + "range": "[7:0]", + "size": 8 }, - "size": { - "width": 96, - "height": 96 + "position": { + "x": 576, + "y": 152 } - } - ], - "wires": [ + }, { - "source": { - "block": "038a8cb8-35b8-424a-9d14-c320cfcddccf", - "port": "outlabel" + "id": "93050bc1-206a-4fb3-9c14-9a41ab42f7ed", + "type": "basic.outputLabel", + "data": { + "name": "mbi", + "range": "[23:0]", + "blockColor": "fuchsia", + "size": 24 }, - "target": { - "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", - "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + "position": { + "x": 224, + "y": 216 } }, { - "source": { - "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "port": "f5a71d7b-de20-4527-80c8-0eb20de0dc77" + "id": "9be4488d-51be-4346-8a31-5d8f2f86e4d3", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "bus_mine", + "oldBlockColor": "fuchsia" }, - "target": { - "block": "527c9113-e440-454b-b427-182b646c10f5", - "port": "inlabel" + "position": { + "x": 936, + "y": 248 } }, { - "source": { - "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "port": "0f7487e5-b070-4277-bba6-acf69934afca" + "id": "64a86ee7-b105-409d-9e91-cca498c9121b", + "type": "basic.input", + "data": { + "name": "mbus", + "range": "[23:0]", + "clock": false, + "size": 24 }, - "target": { - "block": "b652825e-10ba-47cc-9832-e39d73586234", - "port": "inlabel" + "position": { + "x": -96, + "y": 264 } }, { - "source": { - "block": "7e5351cc-ea73-4bb2-9dda-0390f005b90b", - "port": "outlabel" + "id": "74555a80-b4b5-40d0-bf28-afa5a588b1e2", + "type": "basic.inputLabel", + "data": { + "name": "mbi", + "range": "[23:0]", + "blockColor": "fuchsia", + "size": 24 }, - "target": { - "block": "e7d0a130-cf6b-4220-a06f-42543db0214f", - "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + "position": { + "x": 56, + "y": 264 } }, { - "source": { - "block": "f8dceaf6-6020-49e5-b775-ed4821fbd5bd", - "port": "outlabel" + "id": "923c4db6-0c76-4647-a848-75fd61fba6ec", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "done", + "oldBlockColor": "fuchsia" }, - "target": { - "block": "e7d0a130-cf6b-4220-a06f-42543db0214f", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + "position": { + "x": 936, + "y": 312 } }, { - "source": { - "block": "57e59301-2919-4f06-ba95-54ce5d99d774", - "port": "0f7487e5-b070-4277-bba6-acf69934afca" + "id": "05a1a5b4-bf29-49df-b0b1-887859d9ec9e", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "bbusy", + "oldBlockColor": "fuchsia" }, - "target": { - "block": "d7d5e8c8-78dd-41a8-aedf-1051b89bfb77", - "port": "inlabel" + "position": { + "x": 560, + "y": 336 } }, { - "source": { - "block": "c5dce3e4-5ecc-4fc9-bbf6-7c1adfa1c7ff", - "port": "outlabel" + "id": "b14f140b-7bb5-46d9-8019-39c27ff6e0e3", + "type": "basic.input", + "data": { + "name": "start", + "clock": false }, - "target": { - "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + "position": { + "x": -80, + "y": 424 } }, { - "source": { - "block": "57e59301-2919-4f06-ba95-54ce5d99d774", - "port": "f5a71d7b-de20-4527-80c8-0eb20de0dc77" + "id": "da45f105-3600-4458-a820-50046581f5dd", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "start" }, - "target": { - "block": "a30f87da-7077-4ad6-92dd-adbfdd1bed45", - "port": "inlabel" + "position": { + "x": 64, + "y": 424 } }, { - "source": { - "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "port": "33072210-9ba0-4659-8339-95952b939e6e" + "id": "7d0852c6-4778-4a53-bf90-30527c44a0eb", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "target": { - "block": "fb8bbeb1-5c60-4629-bc13-231545818d0b", - "port": "inlabel" + "position": { + "x": 1736, + "y": 464 } }, { - "source": { - "block": "57e59301-2919-4f06-ba95-54ce5d99d774", - "port": "33072210-9ba0-4659-8339-95952b939e6e" + "id": "54e9bf9f-b852-4c45-bd53-f6eb4ee707eb", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "start_read" }, - "target": { - "block": "73a0a48e-d345-4eda-8603-782e9865d928", - "port": "inlabel" + "position": { + "x": 608, + "y": 504 } }, { - "source": { - "block": "3c8597e6-ca79-494a-9a53-04c284205216", - "port": "outlabel" + "id": "95c4416f-62f5-4196-a406-f7915d40a572", + "type": "basic.output", + "data": { + "name": "done" }, - "target": { - "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + "position": { + "x": 2048, + "y": 536 } }, { - "source": { - "block": "ed7a30bc-17fc-444e-89e5-aa9f83b32e86", - "port": "outlabel" + "id": "289f00be-f97d-4553-a60a-32d8b45da4cc", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "done", + "oldBlockColor": "fuchsia" }, - "target": { - "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + "position": { + "x": 1728, + "y": 536 } }, { - "source": { - "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "port": "bbe1895b-be8b-4237-b0d1-ae592e3e6208" + "id": "d7e7c210-c311-440e-b516-94c3f0244f34", + "type": "basic.input", + "data": { + "name": "nc", + "clock": false }, - "target": { - "block": "ee992ca6-d586-4901-aaa3-a17d94ddac84", - "port": "inlabel" + "position": { + "x": -80, + "y": 536 } }, { - "source": { - "block": "57e59301-2919-4f06-ba95-54ce5d99d774", - "port": "bbe1895b-be8b-4237-b0d1-ae592e3e6208" - }, - "target": { - "block": "1c9b3962-5793-4e6f-98d4-9ca2113d0823", - "port": "inlabel" + "id": "fce01e4d-e6d2-4811-8f96-410673168b4c", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "bbusy", + "oldBlockColor": "fuchsia" }, - "vertices": [ - { - "x": -24, - "y": -696 - } - ] + "position": { + "x": 152, + "y": 552 + } }, { - "source": { - "block": "05fb13c5-879a-422f-84a8-56d1db8816da", - "port": "outlabel" + "id": "700d8b15-d6df-4b76-b10d-72db58c33e6c", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "bus_mine", + "oldBlockColor": "fuchsia" }, - "target": { - "block": "72c87c65-b34b-480f-8cde-cd97c0914014", - "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + "position": { + "x": 776, + "y": 584 } }, { - "source": { - "block": "161a3e27-de9b-4674-b990-c1e8314a29f3", - "port": "outlabel" + "id": "0399b081-5696-4bf7-bb75-cd55da78d4f5", + "type": "basic.outputLabel", + "data": { + "name": "data", + "range": "[7:0]", + "oldBlockColor": "fuchsia", + "blockColor": "fuchsia", + "size": 8 }, - "target": { - "block": "72c87c65-b34b-480f-8cde-cd97c0914014", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + "position": { + "x": 1648, + "y": 600 } }, { - "source": { - "block": "e7d0a130-cf6b-4220-a06f-42543db0214f", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "id": "08007be8-e099-4080-acb1-e580660bb147", + "type": "basic.input", + "data": { + "name": "nc", + "clock": false }, - "target": { - "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", - "port": "5e915366-608a-431a-bf68-8c64fb4c302c" + "position": { + "x": -80, + "y": 616 } }, { - "source": { - "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", - "port": "c7d2d573-b901-420e-a923-6832e5b18e34" + "id": "3066cf48-9921-4487-826e-0464a2dead7a", + "type": "basic.output", + "data": { + "name": "data", + "range": "[7:0]", + "size": 8 }, - "target": { - "block": "11342001-e6e0-443b-af87-0e5d7ada0227", - "port": "969e11ca-69e8-403b-a566-7bf2fbe3a5a8" + "position": { + "x": 2040, + "y": 680 } }, { - "source": { - "block": "e7d0a130-cf6b-4220-a06f-42543db0214f", - "port": "c7d2d573-b901-420e-a923-6832e5b18e34" + "id": "524ca75c-cdd3-4e79-851a-b46ce146bd66", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "start" }, - "target": { - "block": "11342001-e6e0-443b-af87-0e5d7ada0227", - "port": "e4111201-8441-4e7d-bcd2-bcf9d265d043" + "position": { + "x": 152, + "y": 696 } }, { - "source": { - "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "id": "7e9db299-cb56-4cd9-a489-d5fbd6eb3e2f", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "busy" }, - "target": { - "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "port": "5e915366-608a-431a-bf68-8c64fb4c302c" + "position": { + "x": 1184, + "y": 704 } }, { - "source": { - "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "port": "c7d2d573-b901-420e-a923-6832e5b18e34" - }, - "target": { - "block": "11342001-e6e0-443b-af87-0e5d7ada0227", - "port": "346b4ae4-4bb6-4845-9c17-3b25e0dde718" + "id": "7df4a7f1-90b6-4562-8be3-e4719a824545", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "vertices": [ - { - "x": 824, - "y": -424 - } - ] + "position": { + "x": 880, + "y": 752 + } }, { - "source": { - "block": "d192d0af-e7be-4be6-925a-50227d80784c", - "port": "out" - }, - "target": { - "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "port": "0ebd46a4-769b-45e6-bcaf-e3796264aed3" + "id": "c1c96b9c-e573-43a0-8b60-9f7fe7ad5ae6", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "busy" }, - "size": 4 + "position": { + "x": 1648, + "y": 776 + } }, { - "source": { - "block": "c2d36218-be99-4dd1-bf69-7690c667255b", - "port": "out" - }, - "target": { - "block": "57e59301-2919-4f06-ba95-54ce5d99d774", - "port": "0ebd46a4-769b-45e6-bcaf-e3796264aed3" + "id": "e4dc109d-2b1c-402e-b474-ee1c6abeec66", + "type": "basic.inputLabel", + "data": { + "name": "addr", + "range": "[13:0]", + "blockColor": "navy", + "size": 14 }, - "size": 4 + "position": { + "x": 1224, + "y": 784 + } }, { - "source": { - "block": "11342001-e6e0-443b-af87-0e5d7ada0227", - "port": "55180947-6349-4a04-a151-ad69ea2b155e" - }, - "target": { - "block": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42", - "port": "in" + "id": "dc204461-1dd1-428f-91a2-006d905d6585", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "start_read" }, - "size": 4 + "position": { + "x": 872, + "y": 832 + } }, { - "source": { - "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "id": "0db424eb-f896-41e1-becb-7eb065dd64f2", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "busy" }, - "target": { - "block": "72c87c65-b34b-480f-8cde-cd97c0914014", - "port": "5e915366-608a-431a-bf68-8c64fb4c302c" + "position": { + "x": 152, + "y": 840 + } + }, + { + "id": "adcb920c-12a7-478f-b1f2-9877d62d2673", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "vertices": [ - { - "x": 728, - "y": -552 - } - ] + "position": { + "x": 1200, + "y": 864 + } }, { - "source": { - "block": "72c87c65-b34b-480f-8cde-cd97c0914014", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "id": "24450b7d-19ce-463a-83fb-5e1c04e4b093", + "type": "basic.output", + "data": { + "name": "tic" }, - "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "port": "in" + "position": { + "x": 2040, + "y": 888 } }, { - "source": { - "block": "72c87c65-b34b-480f-8cde-cd97c0914014", - "port": "c7d2d573-b901-420e-a923-6832e5b18e34" + "id": "1afea26e-4199-4bc9-bee1-c5689a14f8b6", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "tic", + "oldBlockColor": "fuchsia" }, - "target": { - "block": "11342001-e6e0-443b-af87-0e5d7ada0227", - "port": "6c2aa548-5a4c-4e8d-a56c-a70926b19f18" + "position": { + "x": 1872, + "y": 888 } - } - ] - } - } - }, - "1ea21df64c18f01d8f4b905c437ccf0ca332baf6": { - "package": { - "name": "Adder-1bit", - "version": "0.1", - "description": "Adder-1bit: Adder of two operands of 1 bit", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", - "otid": 1618560481898 - }, - "design": { - "graph": { - "blocks": [ + }, { - "id": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", - "type": "basic.input", + "id": "caf86b2c-c08d-411d-be47-4084fec9532e", + "type": "basic.inputLabel", "data": { - "name": "", - "clock": false + "blockColor": "fuchsia", + "name": "tic", + "oldBlockColor": "fuchsia" }, "position": { - "x": 280, - "y": -224 + "x": 1504, + "y": 928 } }, { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "type": "basic.output", + "id": "eda78d52-57f7-4e44-bd8e-75e67c496650", + "type": "basic.outputLabel", "data": { - "name": "c" + "blockColor": "fuchsia", + "name": "next" }, "position": { - "x": 616, - "y": -176 + "x": 880, + "y": 936 } }, { - "id": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba", - "type": "basic.input", + "id": "366a768a-2f5d-4c01-8338-bdef0a688ea7", + "type": "basic.inputLabel", "data": { - "name": "", - "clock": false + "blockColor": "fuchsia", + "name": "done", + "oldBlockColor": "fuchsia" }, "position": { - "x": 280, - "y": -152 + "x": 1152, + "y": 992 } }, { - "id": "c7d2d573-b901-420e-a923-6832e5b18e34", - "type": "basic.output", + "id": "0a517454-aeac-48a3-bc62-6aa73da948bd", + "type": "basic.info", "data": { - "name": "s" + "info": "Reading data from memory \nReading bus status", + "readonly": true }, "position": { - "x": 616, - "y": -96 + "x": 336, + "y": 120 + }, + "size": { + "width": 232, + "height": 64 } }, { - "id": "0ef44beb-f4b1-484c-b15a-dc4431241aee", - "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", + "id": "b6323c55-9b6d-4753-8953-7fb34775a27b", + "type": "21cfcc19a4ad14c5fb5e8cfebd018ec356fe7542", "position": { - "x": 456, - "y": -168 + "x": 864, + "y": 16 }, "size": { "width": 96, - "height": 96 + "height": 64 } }, { - "id": "e80cc244-1751-4524-9f77-734a36b24a88", - "type": "d30ca9ee4f35f6cb76d5e5701447fc2b739bc640", + "id": "5f897fa2-936f-47cd-9310-a36fb4cb14a1", + "type": "3bf99b8d77aa1b29ec1bf618b53175de87f1001d", "position": { - "x": 304, + "x": 864, "y": -64 }, "size": { "width": 96, "height": 64 } - } - ], - "wires": [ - { - "source": { - "block": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba", - "port": "out" - }, - "target": { - "block": "0ef44beb-f4b1-484c-b15a-dc4431241aee", - "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" - } }, { - "source": { - "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", - "port": "out" - }, - "target": { - "block": "0ef44beb-f4b1-484c-b15a-dc4431241aee", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + "id": "a200cfa9-fe9a-4c4b-b9d4-f4307d071797", + "type": "basic.info", + "data": { + "info": "Calculate if the bus can be taken", + "readonly": true }, - "vertices": [ - { - "x": 400, - "y": -168 - } - ] - }, - { - "source": { - "block": "e80cc244-1751-4524-9f77-734a36b24a88", - "port": "3d584b0a-29eb-47af-8c43-c0822282ef05" + "position": { + "x": 216, + "y": 440 }, - "target": { - "block": "0ef44beb-f4b1-484c-b15a-dc4431241aee", - "port": "5e915366-608a-431a-bf68-8c64fb4c302c" + "size": { + "width": 272, + "height": 32 } }, { - "source": { - "block": "0ef44beb-f4b1-484c-b15a-dc4431241aee", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "id": "7a989d63-cd4a-4c47-9513-57b4ea6ee141", + "type": "35f267d0df6ffcb7fc33753bc9df9cf083642cca", + "position": { + "x": 296, + "y": 552 }, - "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "port": "in" + "size": { + "width": 96, + "height": 64 } }, { - "source": { - "block": "0ef44beb-f4b1-484c-b15a-dc4431241aee", - "port": "c7d2d573-b901-420e-a923-6832e5b18e34" + "id": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", + "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", + "position": { + "x": 464, + "y": 568 }, - "target": { - "block": "c7d2d573-b901-420e-a923-6832e5b18e34", - "port": "in" + "size": { + "width": 96, + "height": 64 } - } - ] - } - } - }, - "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a": { - "package": { - "name": "AdderC-1bit", - "version": "0.1", - "description": "AdderC-1bit: Adder of two operands of 1 bit plus the carry in", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", - "otid": 1618560481898 - }, - "design": { - "graph": { - "blocks": [ + }, { - "id": "b28215b2-e375-43cd-96b4-ed5b60418dc6", - "type": "basic.outputLabel", + "id": "239fe2ba-e2b9-4446-a1ea-51e1616f5b75", + "type": "basic.info", "data": { - "blockColor": "fuchsia", - "name": "a" + "info": "The bus is available", + "readonly": true }, "position": { - "x": 504, - "y": -208 + "x": 384, + "y": 512 + }, + "size": { + "width": 184, + "height": 32 } }, { - "id": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", - "type": "basic.input", + "id": "b62ad9b4-5b0e-4b74-a0ad-947946a59331", + "type": "basic.info", "data": { - "name": "a", - "clock": false + "info": "This circuits wants \nto use the bus", + "readonly": true }, "position": { - "x": 136, - "y": -192 + "x": 280, + "y": 664 + }, + "size": { + "width": 192, + "height": 56 } }, { - "id": "f2c3e9af-37a6-4815-9413-c437d2471b1f", - "type": "basic.inputLabel", + "id": "c25805fd-f852-43d5-93db-f3f0cb17c301", + "type": "basic.info", "data": { - "blockColor": "fuchsia", - "name": "a", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "info": "The bus has been already \ntaken", + "readonly": true }, "position": { "x": 272, - "y": -192 + "y": 816 + }, + "size": { + "width": 208, + "height": 56 } }, { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "type": "basic.output", - "data": { - "name": "c" - }, + "id": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", + "type": "81613874c6152f06c06ed7014bf4235900cfcc30", "position": { - "x": 1112, - "y": -176 + "x": 648, + "y": 584 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "cdbf1806-fde2-4763-aeae-cd26f3db2a86", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "b" - }, + "id": "26b71a43-5955-4452-9b0e-94ea6ef453b7", + "type": "81613874c6152f06c06ed7014bf4235900cfcc30", "position": { - "x": 504, - "y": -144 + "x": 1088, + "y": 296 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba", - "type": "basic.input", + "id": "d3ce12c0-3b45-4ed2-8446-fb6c4c8e8710", + "type": "basic.info", "data": { - "name": "b", - "clock": false + "info": "One cycle after the machine is done \nthe bus is already taken to write \nthe bbusy signal to 0 and allow \nother circuits to use it", + "readonly": true }, "position": { - "x": 136, - "y": -120 + "x": 960, + "y": 392 + }, + "size": { + "width": 304, + "height": 88 } }, { - "id": "65936289-69ce-4e26-be4e-44f8a3706934", - "type": "basic.inputLabel", + "id": "110cf90a-bc63-4642-a72e-33e8e397e804", + "type": "basic.info", "data": { - "blockColor": "fuchsia", - "name": "b", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "info": "The output bus is controlled \nby this circuit (1) or \nremain untouched (0)", + "readonly": true }, "position": { - "x": 272, - "y": -120 + "x": 1320, + "y": 288 + }, + "size": { + "width": 240, + "height": 112 } }, { - "id": "6b7a0fc7-9eeb-4894-98fd-e0122d08cdf0", - "type": "basic.outputLabel", + "id": "0421b3fd-c660-4279-abe0-e1d486431ce0", + "type": "basic.info", "data": { - "blockColor": "navy", - "name": "ci", - "oldBlockColor": "fuchsia" + "info": "The reading machine \ncan be started", + "readonly": true }, "position": { - "x": 648, - "y": -96 + "x": 584, + "y": 456 + }, + "size": { + "width": 184, + "height": 64 } }, { - "id": "5e915366-608a-431a-bf68-8c64fb4c302c", - "type": "basic.input", + "id": "e0ace7c0-caa0-440e-9868-d76ffb18bfb2", + "type": "basic.info", "data": { - "name": "ci", - "clock": false + "info": "Reading machine", + "readonly": true }, "position": { - "x": 136, - "y": -40 + "x": 1016, + "y": 728 + }, + "size": { + "width": 168, + "height": 48 } }, { - "id": "9fca1dd5-3d6c-4321-a1cf-fd35336e41ea", - "type": "basic.inputLabel", + "id": "5ce3f494-5892-4a5c-9720-fc5c71449b27", + "type": "basic.info", "data": { - "blockColor": "navy", - "name": "ci", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "info": "## Download machine\n\nTransmit all the memory contents through the serial port \nThe bytes are transmited raw (in binary). No ascii encoding \nThere should be a program running on the computer capable of \nreading these raw bytes", + "readonly": true }, "position": { - "x": 272, - "y": -40 + "x": -112, + "y": -168 + }, + "size": { + "width": 504, + "height": 120 } }, { - "id": "79149d67-753e-414e-ba2a-49ba4edfe523", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "a" - }, + "id": "3d85ed1d-6439-43fc-b3cc-228f8dda3867", + "type": "58ed2b5c7e33e2f215ccba6c101d9ea4ff60f284", "position": { - "x": 480, - "y": 24 + "x": 1336, + "y": 912 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "c7d2d573-b901-420e-a923-6832e5b18e34", - "type": "basic.output", - "data": { - "name": "s" - }, + "id": "966513fd-32a9-4c4a-aeda-ff1b9b27306f", + "type": "58ed2b5c7e33e2f215ccba6c101d9ea4ff60f284", "position": { - "x": 992, - "y": 56 + "x": 1904, + "y": 520 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "edf4525b-edd8-40fa-b784-631b102fb907", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "b" - }, + "id": "c663c571-8a20-4487-bd53-93978e9d1dc8", + "type": "da0861afd3d2e1db0b7bde922cdad9c4a1258652", "position": { - "x": 480, - "y": 88 + "x": 1648, + "y": 680 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "35a4f7cc-d7ef-4653-af75-fe112a5f5151", - "type": "basic.outputLabel", - "data": { - "blockColor": "navy", - "name": "ci", - "oldBlockColor": "fuchsia" - }, + "id": "239ee447-1dc8-4d0a-9f7a-ff93efa825f2", + "type": "873d7e980c08ce11dae3eb7abdaad1615527b3dc", "position": { - "x": 648, - "y": 120 + "x": 1904, + "y": 32 + }, + "size": { + "width": 96, + "height": 128 } }, { - "id": "687d4abf-9ce2-408a-8010-c00e2cec2d44", - "type": "d1240143e1ff7afe57f0f11565da980612b2bb76", + "id": "3fc0dded-543a-4636-a951-fbfcec7d3c24", + "type": "249940b3a2a6f82363df9ad6e49d976c389523b9", "position": { - "x": 648, - "y": 40 + "x": 1880, + "y": 664 }, "size": { "width": 96, - "height": 64 + "height": 96 } }, { - "id": "6756cb54-aa93-40af-a5f3-41ef2b2edec9", - "type": "d1240143e1ff7afe57f0f11565da980612b2bb76", + "id": "b83abd74-3947-4217-b890-75dae5bbb676", + "type": "d1635cb33c6d31e1ea457005c78d574fcf71828b", "position": { - "x": 832, - "y": 56 + "x": 384, + "y": 184 }, "size": { "width": 96, - "height": 64 + "height": 128 } }, { - "id": "f7053b6b-9812-48df-9212-cb8dc49d44cd", - "type": "ba518ee261a2be13a9739cd3a01cdcebe0ef63c0", + "id": "3e2a74fa-37e6-46c1-b08f-656cfdf57991", + "type": "6e4fc811dcd6d1ac703e608270f81ee906ee7e98", "position": { - "x": 808, + "x": 1080, "y": -80 }, "size": { "width": 96, - "height": 64 + "height": 128 } }, { - "id": "d77ee777-f5ad-4f89-832b-e1f95f0cf9db", - "type": "ba518ee261a2be13a9739cd3a01cdcebe0ef63c0", + "id": "bcba73d0-e5af-4e93-8321-2cd9bd80a3c1", + "type": "cae9cdc6d7b2442eb4d4095c65ccf9bd24a99bb9", "position": { - "x": 632, - "y": -192 + "x": 1016, + "y": 800 }, "size": { "width": 96, - "height": 64 + "height": 128 } }, { - "id": "dd3259d5-99f6-47f2-881c-4e969e324444", - "type": "873425949b2a80f1a7f66f320796bcd068a59889", + "id": "b03bc63e-9e9c-47d7-b458-9fed9605b706", + "type": "5fcfda234fb072b021cd8f915af77e7ae7860198", "position": { - "x": 960, - "y": -176 + "x": 1312, + "y": 104 }, "size": { "width": 96, - "height": 64 + "height": 96 } } ], "wires": [ { "source": { - "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", + "block": "7fb933a6-5c63-4d46-8aaa-440b30974993", "port": "out" }, "target": { - "block": "f2c3e9af-37a6-4815-9413-c437d2471b1f", + "block": "2c31aa6a-383c-4eb5-b669-b8a31ad14225", "port": "inlabel" - } + }, + "vertices": [] }, { "source": { - "block": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba", + "block": "b14f140b-7bb5-46d9-8019-39c27ff6e0e3", "port": "out" }, "target": { - "block": "65936289-69ce-4e26-be4e-44f8a3706934", + "block": "da45f105-3600-4458-a820-50046581f5dd", "port": "inlabel" } }, { "source": { - "block": "5e915366-608a-431a-bf68-8c64fb4c302c", - "port": "out" + "block": "b83abd74-3947-4217-b890-75dae5bbb676", + "port": "9751f777-00ec-46c1-8d85-07d2dec1e653" }, "target": { - "block": "9fca1dd5-3d6c-4321-a1cf-fd35336e41ea", + "block": "05a1a5b4-bf29-49df-b0b1-887859d9ec9e", "port": "inlabel" } }, { "source": { - "block": "79149d67-753e-414e-ba2a-49ba4edfe523", + "block": "b83abd74-3947-4217-b890-75dae5bbb676", + "port": "afe50480-6fe5-4ca6-b639-c730569a6a1d", + "size": 8 + }, + "target": { + "block": "914e03dd-1133-4325-a333-b10f953ecce5", + "port": "inlabel" + }, + "size": 8 + }, + { + "source": { + "block": "7df4a7f1-90b6-4562-8be3-e4719a824545", "port": "outlabel" }, "target": { - "block": "687d4abf-9ce2-408a-8010-c00e2cec2d44", + "block": "bcba73d0-e5af-4e93-8321-2cd9bd80a3c1", + "port": "cb426e3d-ace3-4a57-a74b-155caed0c14c" + } + }, + { + "source": { + "block": "fce01e4d-e6d2-4811-8f96-410673168b4c", + "port": "outlabel" + }, + "target": { + "block": "7a989d63-cd4a-4c47-9513-57b4ea6ee141", "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - } + }, + "vertices": [] }, { "source": { - "block": "edf4525b-edd8-40fa-b784-631b102fb907", + "block": "524ca75c-cdd3-4e79-851a-b46ce146bd66", "port": "outlabel" }, "target": { - "block": "687d4abf-9ce2-408a-8010-c00e2cec2d44", + "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", "port": "97b51945-d716-4b6c-9db9-970d08541249" - } + }, + "vertices": [] }, { "source": { - "block": "35a4f7cc-d7ef-4653-af75-fe112a5f5151", - "port": "outlabel" + "block": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, "target": { - "block": "6756cb54-aa93-40af-a5f3-41ef2b2edec9", - "port": "97b51945-d716-4b6c-9db9-970d08541249" - } + "block": "700d8b15-d6df-4b76-b10d-72db58c33e6c", + "port": "inlabel" + }, + "vertices": [] }, { "source": { - "block": "6b7a0fc7-9eeb-4894-98fd-e0122d08cdf0", + "block": "0db424eb-f896-41e1-becb-7eb065dd64f2", "port": "outlabel" }, "target": { - "block": "f7053b6b-9812-48df-9212-cb8dc49d44cd", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - } + "block": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + }, + "vertices": [ + { + "x": 584, + "y": 824 + } + ] }, { "source": { - "block": "b28215b2-e375-43cd-96b4-ed5b60418dc6", + "block": "9be4488d-51be-4346-8a31-5d8f2f86e4d3", "port": "outlabel" }, "target": { - "block": "d77ee777-f5ad-4f89-832b-e1f95f0cf9db", + "block": "26b71a43-5955-4452-9b0e-94ea6ef453b7", "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - } + }, + "vertices": [] }, { "source": { - "block": "cdbf1806-fde2-4763-aeae-cd26f3db2a86", + "block": "923c4db6-0c76-4647-a848-75fd61fba6ec", "port": "outlabel" }, "target": { - "block": "d77ee777-f5ad-4f89-832b-e1f95f0cf9db", + "block": "26b71a43-5955-4452-9b0e-94ea6ef453b7", "port": "97b51945-d716-4b6c-9db9-970d08541249" - } + }, + "vertices": [] }, { "source": { - "block": "687d4abf-9ce2-408a-8010-c00e2cec2d44", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "bcba73d0-e5af-4e93-8321-2cd9bd80a3c1", + "port": "49221b19-132a-4e3f-9a1f-97bcd463391b" }, "target": { - "block": "6756cb54-aa93-40af-a5f3-41ef2b2edec9", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "block": "366a768a-2f5d-4c01-8338-bdef0a688ea7", + "port": "inlabel" } }, { "source": { - "block": "6756cb54-aa93-40af-a5f3-41ef2b2edec9", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "eda78d52-57f7-4e44-bd8e-75e67c496650", + "port": "outlabel" }, "target": { - "block": "c7d2d573-b901-420e-a923-6832e5b18e34", - "port": "in" + "block": "bcba73d0-e5af-4e93-8321-2cd9bd80a3c1", + "port": "ad4d0fc2-118e-496e-b292-c435bad20e7d" } }, { "source": { - "block": "687d4abf-9ce2-408a-8010-c00e2cec2d44", + "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, "target": { - "block": "f7053b6b-9812-48df-9212-cb8dc49d44cd", - "port": "97b51945-d716-4b6c-9db9-970d08541249" + "block": "54e9bf9f-b852-4c45-bd53-f6eb4ee707eb", + "port": "inlabel" } }, { "source": { - "block": "f7053b6b-9812-48df-9212-cb8dc49d44cd", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "dc204461-1dd1-428f-91a2-006d905d6585", + "port": "outlabel" }, "target": { - "block": "dd3259d5-99f6-47f2-881c-4e969e324444", - "port": "97b51945-d716-4b6c-9db9-970d08541249" + "block": "bcba73d0-e5af-4e93-8321-2cd9bd80a3c1", + "port": "8f591b24-0427-409f-aa6e-ca1861556cf5" } }, { "source": { - "block": "d77ee777-f5ad-4f89-832b-e1f95f0cf9db", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "bcba73d0-e5af-4e93-8321-2cd9bd80a3c1", + "port": "6a11eaf9-4bd5-405e-81f8-44418365326b" }, "target": { - "block": "dd3259d5-99f6-47f2-881c-4e969e324444", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "block": "7e9db299-cb56-4cd9-a489-d5fbd6eb3e2f", + "port": "inlabel" } }, { "source": { - "block": "dd3259d5-99f6-47f2-881c-4e969e324444", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "a040cc3d-b2c6-458e-bde6-f8234a19b6d1", + "port": "outlabel" }, "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "block": "38abb13c-8652-41fb-931c-c7bf760ebb24", "port": "in" - } - } - ] - } - } - }, - "d1240143e1ff7afe57f0f11565da980612b2bb76": { - "package": { - "name": "XOR2", - "version": "1.0.2", - "description": "XOR gate: two bits input xor gate", - "author": "Jesús Arroyo, Juan González", - "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22193.047%22%20width=%22383.697%22%20version=%221%22%3E%3Cpath%20d=%22M175.56%20189.047H84.527s30.345-42.538%2031.086-94.03c.743-51.49-31.821-90.294-31.821-90.294l92.317-.394c46.445%201.948%20103.899%2053.44%20123.047%2093.678-32.601%2067.503-92.158%2089.79-123.596%2091.04z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2047.62h99.605M4.883%20145.497h100.981M298.57%2099.219h81.07%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20x=%22129.011%22%20y=%22115.285%22%20font-size=%2258.24%22%20font-weight=%22400%22%20style=%22line-height:125%25%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20transform=%22translate(0%20.329)%22%3E%3Ctspan%20x=%22129.011%22%20y=%22115.285%22%20font-weight=%22700%22%3EXOR%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M54.321%20188.368s30.345-42.538%2031.086-94.03c.742-51.49-31.821-90.294-31.821-90.294%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "18c2ebc7-5152-439c-9b3f-851c59bac834", - "type": "basic.input", - "data": { - "name": "" }, - "position": { - "x": 120, - "y": 48 - } - }, - { - "id": "664caf9e-5f40-4df4-800a-b626af702e62", - "type": "basic.output", - "data": { - "name": "" - }, - "position": { - "x": 560, - "y": 72 - } + "vertices": [] }, { - "id": "97b51945-d716-4b6c-9db9-970d08541249", - "type": "basic.input", - "data": { - "name": "" + "source": { + "block": "8ca2279c-fdc3-40d3-9fbe-2071c026932f", + "port": "outlabel" }, - "position": { - "x": 120, - "y": 104 + "target": { + "block": "3e2a74fa-37e6-46c1-b08f-656cfdf57991", + "port": "49fb1766-1e7f-4706-9872-a6cd65cc9f2d" } }, - { - "id": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "type": "basic.code", - "data": { - "code": "//-- XOR gate\n//-- Verilog implementation\n\nassign c = a ^ b;\n", - "params": [], - "ports": { - "in": [ - { - "name": "a" - }, - { - "name": "b" - } - ], - "out": [ - { - "name": "c" - } - ] - } - }, - "position": { - "x": 256, - "y": 48 - }, - "size": { - "width": 272, - "height": 112 - } - } - ], - "wires": [ { "source": { - "block": "18c2ebc7-5152-439c-9b3f-851c59bac834", - "port": "out" + "block": "289f00be-f97d-4553-a60a-32d8b45da4cc", + "port": "outlabel" }, "target": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "a" + "block": "966513fd-32a9-4c4a-aeda-ff1b9b27306f", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" } }, { "source": { - "block": "97b51945-d716-4b6c-9db9-970d08541249", - "port": "out" + "block": "7d0852c6-4778-4a53-bf90-30527c44a0eb", + "port": "outlabel" }, "target": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "b" + "block": "966513fd-32a9-4c4a-aeda-ff1b9b27306f", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" } }, { "source": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "c" + "block": "c1c96b9c-e573-43a0-8b60-9f7fe7ad5ae6", + "port": "outlabel" }, "target": { - "block": "664caf9e-5f40-4df4-800a-b626af702e62", - "port": "in" - } - } - ] - } - } - }, - "a1ce303b8ce47a06371ea4641c81460f34a1cca9": { - "package": { - "name": "AdderC-4bits", - "version": "0.1", - "description": "AdderC-4bits: Adder of two operands of 4 bits and Carry in", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", - "otid": 1618560481898 - }, - "design": { - "graph": { - "blocks": [ - { - "id": "1c9b3962-5793-4e6f-98d4-9ca2113d0823", - "type": "basic.inputLabel", - "data": { - "blockColor": "deeppink", - "name": "a3", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "deeppink" + "block": "3fc0dded-543a-4636-a951-fbfcec7d3c24", + "port": "1e7e3cd6-ed00-468a-9f7c-0bb91e020dce" }, - "position": { - "x": 8, - "y": -744 - } + "vertices": [] }, { - "id": "161a3e27-de9b-4674-b990-c1e8314a29f3", - "type": "basic.outputLabel", - "data": { - "blockColor": "deeppink", - "name": "a3", - "oldBlockColor": "deeppink" + "source": { + "block": "adcb920c-12a7-478f-b1f2-9877d62d2673", + "port": "outlabel" }, - "position": { - "x": 576, - "y": -736 + "target": { + "block": "3d85ed1d-6439-43fc-b3cc-228f8dda3867", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" } }, { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "type": "basic.output", - "data": { - "name": "c" + "source": { + "block": "3d85ed1d-6439-43fc-b3cc-228f8dda3867", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" }, - "position": { - "x": 920, - "y": -696 + "target": { + "block": "caf86b2c-c08d-411d-be47-4084fec9532e", + "port": "inlabel" } }, { - "id": "73a0a48e-d345-4eda-8603-782e9865d928", - "type": "basic.inputLabel", - "data": { - "blockColor": "deeppink", - "name": "a2", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "deeppink" + "source": { + "block": "1afea26e-4199-4bc9-bee1-c5689a14f8b6", + "port": "outlabel" }, - "position": { - "x": 8, - "y": -688 + "target": { + "block": "24450b7d-19ce-463a-83fb-5e1c04e4b093", + "port": "in" } }, { - "id": "05fb13c5-879a-422f-84a8-56d1db8816da", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "b3", - "oldBlockColor": "fuchsia" + "source": { + "block": "886b88b1-4987-4f1f-aadd-d82bb53ab445", + "port": "out", + "size": 10 }, - "position": { - "x": 576, - "y": -672 - } + "target": { + "block": "523a4825-1562-4f5d-b129-c7d08fe542c2", + "port": "inlabel" + }, + "size": 10 }, { - "id": "a30f87da-7077-4ad6-92dd-adbfdd1bed45", - "type": "basic.inputLabel", - "data": { - "blockColor": "deeppink", - "name": "a1", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "deeppink" + "source": { + "block": "b359cb97-c324-4ffc-a73c-64c7f457e6fa", + "port": "outlabel" }, - "position": { - "x": 8, - "y": -632 - } + "target": { + "block": "239ee447-1dc8-4d0a-9f7a-ff93efa825f2", + "port": "8c3ce21f-2214-489f-853a-d60a223034da", + "size": 10 + }, + "size": 10 }, { - "id": "c2d36218-be99-4dd1-bf69-7690c667255b", - "type": "basic.input", - "data": { - "name": "", - "range": "[3:0]", - "clock": false, - "size": 4 + "source": { + "block": "f81791c6-f02f-46d0-b738-5895dd124243", + "port": "outlabel" }, - "position": { - "x": -312, - "y": -632 + "target": { + "block": "239ee447-1dc8-4d0a-9f7a-ff93efa825f2", + "port": "04841e3c-8761-454a-8d99-496fde26ea1f" } }, { - "id": "ed7a30bc-17fc-444e-89e5-aa9f83b32e86", - "type": "basic.outputLabel", - "data": { - "blockColor": "deeppink", - "name": "a2", - "oldBlockColor": "deeppink" + "source": { + "block": "a875b188-26fa-4052-ae81-4b5f22f4c1e5", + "port": "outlabel" }, - "position": { - "x": 456, - "y": -584 - } + "target": { + "block": "239ee447-1dc8-4d0a-9f7a-ff93efa825f2", + "port": "1ac9dd5b-9741-4af4-963a-50cbf8c4c6be" + }, + "vertices": [ + { + "x": 1800, + "y": 88 + } + ] }, { - "id": "d7d5e8c8-78dd-41a8-aedf-1051b89bfb77", - "type": "basic.inputLabel", - "data": { - "blockColor": "deeppink", - "name": "a0", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "source": { + "block": "786f1170-66ce-4c3a-acdc-073388546edd", + "port": "outlabel" }, - "position": { - "x": 8, - "y": -576 - } + "target": { + "block": "239ee447-1dc8-4d0a-9f7a-ff93efa825f2", + "port": "72632c73-fe18-42b3-b81f-46999ddfdb20", + "size": 8 + }, + "size": 8 }, { - "id": "3c8597e6-ca79-494a-9a53-04c284205216", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "b2", - "oldBlockColor": "fuchsia" + "source": { + "block": "239ee447-1dc8-4d0a-9f7a-ff93efa825f2", + "port": "233059d5-8ab7-4c63-8dab-0c6af3a1dc28" }, - "position": { - "x": 456, - "y": -528 + "target": { + "block": "bf61387a-ef36-4f3c-898f-e274c3136b18", + "port": "inlabel" } }, { - "id": "ee992ca6-d586-4901-aaa3-a17d94ddac84", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "b3", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "source": { + "block": "0399b081-5696-4bf7-bb75-cd55da78d4f5", + "port": "outlabel" }, - "position": { - "x": -8, - "y": -448 - } + "target": { + "block": "3fc0dded-543a-4636-a951-fbfcec7d3c24", + "port": "3ebd9e0a-9308-4615-af47-ae7b97f6f04a", + "size": 8 + }, + "vertices": [ + { + "x": 1800, + "y": 656 + } + ], + "size": 8 }, { - "id": "c5dce3e4-5ecc-4fc9-bbf6-7c1adfa1c7ff", - "type": "basic.outputLabel", - "data": { - "blockColor": "deeppink", - "name": "a1", - "oldBlockColor": "fuchsia" + "source": { + "block": "64a86ee7-b105-409d-9e91-cca498c9121b", + "port": "out", + "size": 24 }, - "position": { - "x": 328, - "y": -440 - } + "target": { + "block": "74555a80-b4b5-40d0-bf28-afa5a588b1e2", + "port": "inlabel" + }, + "size": 24 }, { - "id": "fb8bbeb1-5c60-4629-bc13-231545818d0b", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "b2", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "source": { + "block": "93050bc1-206a-4fb3-9c14-9a41ab42f7ed", + "port": "outlabel" }, - "position": { - "x": -8, - "y": -384 - } + "target": { + "block": "b83abd74-3947-4217-b890-75dae5bbb676", + "port": "2117685c-3a4e-4403-a12a-5de3ed4c20a5", + "size": 24 + }, + "size": 24 }, { - "id": "d192d0af-e7be-4be6-925a-50227d80784c", - "type": "basic.input", - "data": { - "name": "", - "range": "[3:0]", - "clock": false, - "size": 4 + "source": { + "block": "9188c313-c3af-4a0b-b917-d759873cd681", + "port": "outlabel" }, - "position": { - "x": -312, - "y": -384 - } + "target": { + "block": "3e2a74fa-37e6-46c1-b08f-656cfdf57991", + "port": "61496e71-85ba-465b-89b9-fedb08b8590d", + "size": 14 + }, + "size": 14 }, { - "id": "038a8cb8-35b8-424a-9d14-c320cfcddccf", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "b1" + "source": { + "block": "bcba73d0-e5af-4e93-8321-2cd9bd80a3c1", + "port": "19940e4f-3166-4887-a4e2-ea5babe5f726", + "size": 14 }, - "position": { - "x": 328, - "y": -376 - } + "target": { + "block": "e4dc109d-2b1c-402e-b474-ee1c6abeec66", + "port": "inlabel" + }, + "size": 14 + }, + { + "source": { + "block": "90093714-11a0-4cea-ad1a-bae5e4aac8dc", + "port": "outlabel" + }, + "target": { + "block": "b03bc63e-9e9c-47d7-b458-9fed9605b706", + "port": "63847aa3-e2cd-4ff3-806d-b566a8176645", + "size": 24 + }, + "size": 24 }, { - "id": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42", - "type": "basic.output", - "data": { - "name": "s", - "range": "[3:0]", - "size": 4 + "source": { + "block": "5f897fa2-936f-47cd-9310-a36fb4cb14a1", + "port": "ad29e130-c17a-4544-9237-4c72551ccbeb" }, - "position": { - "x": 1064, - "y": -368 - } + "target": { + "block": "3e2a74fa-37e6-46c1-b08f-656cfdf57991", + "port": "25996d5e-6856-4828-8cb3-5dea5ff5cf9c" + }, + "vertices": [], + "size": 8 }, { - "id": "527c9113-e440-454b-b427-182b646c10f5", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "b1", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "source": { + "block": "b6323c55-9b6d-4753-8953-7fb34775a27b", + "port": "3d584b0a-29eb-47af-8c43-c0822282ef05" }, - "position": { - "x": -16, - "y": -320 - } + "target": { + "block": "3e2a74fa-37e6-46c1-b08f-656cfdf57991", + "port": "dbe1622c-3510-4132-8b5c-2fbf81d7f581" + }, + "vertices": [ + { + "x": 1000, + "y": 16 + } + ] }, { - "id": "f8dceaf6-6020-49e5-b775-ed4821fbd5bd", - "type": "basic.outputLabel", - "data": { - "blockColor": "deeppink", - "name": "a0", - "oldBlockColor": "fuchsia" + "source": { + "block": "7a989d63-cd4a-4c47-9513-57b4ea6ee141", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, - "position": { - "x": 184, - "y": -296 - } + "target": { + "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + }, + "vertices": [] }, { - "id": "b652825e-10ba-47cc-9832-e39d73586234", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "b0", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "source": { + "block": "5409b300-57c1-4d9b-a5b6-8f9a69136b86", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, - "position": { - "x": -32, - "y": -264 - } + "target": { + "block": "c0b4fa4f-ad05-4105-9c81-e05e7c4b9f09", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + }, + "vertices": [] }, { - "id": "7e5351cc-ea73-4bb2-9dda-0390f005b90b", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "b0", - "oldBlockColor": "fuchsia" + "source": { + "block": "26b71a43-5955-4452-9b0e-94ea6ef453b7", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, - "position": { - "x": 184, - "y": -232 + "target": { + "block": "b03bc63e-9e9c-47d7-b458-9fed9605b706", + "port": "1e7e3cd6-ed00-468a-9f7c-0bb91e020dce" } }, { - "id": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86", - "type": "basic.input", - "data": { - "name": "ci", - "clock": false + "source": { + "block": "966513fd-32a9-4c4a-aeda-ff1b9b27306f", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" }, - "position": { - "x": -296, - "y": -168 + "target": { + "block": "95c4416f-62f5-4196-a406-f7915d40a572", + "port": "in" } }, { - "id": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", - "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", - "position": { - "x": 464, - "y": -392 + "source": { + "block": "3fc0dded-543a-4636-a951-fbfcec7d3c24", + "port": "e1d78d57-b098-4613-a11e-9e106a69765b" }, - "size": { - "width": 96, - "height": 96 - } + "target": { + "block": "3066cf48-9921-4487-826e-0464a2dead7a", + "port": "in" + }, + "size": 8 }, { - "id": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", - "position": { - "x": 608, - "y": -544 + "source": { + "block": "bcba73d0-e5af-4e93-8321-2cd9bd80a3c1", + "port": "73948305-b05b-418f-88af-11328f400cdc" }, - "size": { - "width": 96, - "height": 96 - } + "target": { + "block": "3d85ed1d-6439-43fc-b3cc-228f8dda3867", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + }, + "vertices": [ + { + "x": 1176, + "y": 928 + } + ] }, { - "id": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "type": "c4f23ad05c2010ec9bd213c8814c9238873037ae", - "position": { - "x": -168, - "y": -416 + "source": { + "block": "239ee447-1dc8-4d0a-9f7a-ff93efa825f2", + "port": "9aa5255a-60da-463d-ba87-d4f96456d802" }, - "size": { - "width": 96, - "height": 128 - } + "target": { + "block": "20d63505-e2fd-44ed-95b9-9f45e8875e70", + "port": "in" + }, + "size": 10 }, { - "id": "57e59301-2919-4f06-ba95-54ce5d99d774", - "type": "c4f23ad05c2010ec9bd213c8814c9238873037ae", - "position": { - "x": -152, - "y": -664 + "source": { + "block": "c663c571-8a20-4487-bd53-93978e9d1dc8", + "port": "56102125-3ee5-4ee9-94d5-e66dfcacb7de" }, - "size": { - "width": 96, - "height": 128 - } + "target": { + "block": "3fc0dded-543a-4636-a951-fbfcec7d3c24", + "port": "d3868260-885c-407b-b2e4-3a25beb8fd5e" + }, + "size": 8 }, { - "id": "11342001-e6e0-443b-af87-0e5d7ada0227", - "type": "84f0a15761ee8b753f67079819a7614923939472", - "position": { - "x": 896, - "y": -400 + "source": { + "block": "3e2a74fa-37e6-46c1-b08f-656cfdf57991", + "port": "81a20a74-f096-4c3b-bc35-91917f08c79b" }, - "size": { - "width": 96, - "height": 128 - } + "target": { + "block": "b03bc63e-9e9c-47d7-b458-9fed9605b706", + "port": "a7083464-b9f2-4661-ba0e-e1875f71f9f7" + }, + "vertices": [ + { + "x": 1240, + "y": 48 + } + ], + "size": 24 }, { - "id": "72c87c65-b34b-480f-8cde-cd97c0914014", - "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", - "position": { - "x": 744, - "y": -688 + "source": { + "block": "b03bc63e-9e9c-47d7-b458-9fed9605b706", + "port": "cf1ee513-b831-4546-b816-53c8196fca1c" }, - "size": { - "width": 96, - "height": 96 + "target": { + "block": "7b8dd447-e9d2-4c9f-ba7c-c3af9abed4e8", + "port": "in" + }, + "size": 24 + } + ] + } + } + }, + "21cfcc19a4ad14c5fb5e8cfebd018ec356fe7542": { + "package": { + "name": "0", + "version": "0.1", + "description": "Un bit constante a 0", + "author": "Jesus Arroyo", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2233.563%22%20height=%2257.469%22%20viewBox=%220%200%2031.465601%2053.876499%22%3E%3Cpath%20d=%22M21.822%2032.843l4.092%208.992-3.772%209.727%204.181%201.31m-12.967-19.26s-1.091%208.253-2.585%208.919C9.278%2043.198%201%2049.389%201%2049.389l2.647%203.256%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%22-.863%22%20y=%2230.575%22%20transform=%22scale(.90756%201.10186)%22%20font-weight=%22400%22%20font-size=%2254.594%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22%3E%3Ctspan%20x=%22-.863%22%20y=%2230.575%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold%20Italic'%22%20font-style=%22italic%22%20font-weight=%22700%22%3Eo%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "3d584b0a-29eb-47af-8c43-c0822282ef05", + "type": "basic.output", + "data": { + "name": "" + }, + "position": { + "x": 512, + "y": 160 } }, { - "id": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", - "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", + "id": "61331ec5-2c56-4cdd-b607-e63b1502fa65", + "type": "basic.code", + "data": { + "code": "//-- Bit constante a 0\nassign q = 1'b0;\n\n", + "params": [], + "ports": { + "in": [], + "out": [ + { + "name": "q" + } + ] + } + }, "position": { - "x": 320, - "y": -248 + "x": 168, + "y": 112 }, "size": { - "width": 96, - "height": 96 + "width": 256, + "height": 160 } } ], "wires": [ { "source": { - "block": "038a8cb8-35b8-424a-9d14-c320cfcddccf", - "port": "outlabel" + "block": "61331ec5-2c56-4cdd-b607-e63b1502fa65", + "port": "q" }, "target": { - "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", - "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + "block": "3d584b0a-29eb-47af-8c43-c0822282ef05", + "port": "in" } - }, + } + ] + } + } + }, + "3bf99b8d77aa1b29ec1bf618b53175de87f1001d": { + "package": { + "name": "Valor_0_8bits", + "version": "0.0.1", + "description": "Valor constante 0 para bus de 8 bits", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22346.308%22%20height=%22300.445%22%20viewBox=%220%200%20324.66403%20281.66758%22%3E%3Cg%20font-weight=%22400%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22371.115%22%20y=%22653.344%22%20font-size=%22335.399%22%20fill=%22green%22%20transform=%22translate(-326.544%20-441.037)%22%3E%3Ctspan%20x=%22371.115%22%20y=%22653.344%22%3E0%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22322.722%22%20y=%22721.624%22%20font-size=%2283.077%22%20transform=%22translate(-326.544%20-441.037)%22%3E%3Ctspan%20x=%22322.722%22%20y=%22721.624%22%3E00000000%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22548.722%22%20y=%22651.624%22%20font-size=%2283.077%22%20fill=%22#00f%22%20transform=%22translate(-326.544%20-441.037)%22%3E%3Ctspan%20x=%22548.722%22%20y=%22651.624%22%3E00%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ { - "source": { - "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "port": "f5a71d7b-de20-4527-80c8-0eb20de0dc77" + "id": "ad29e130-c17a-4544-9237-4c72551ccbeb", + "type": "basic.output", + "data": { + "name": "k", + "range": "[7:0]", + "size": 8 }, - "target": { - "block": "527c9113-e440-454b-b427-182b646c10f5", - "port": "inlabel" + "position": { + "x": 928, + "y": 256 } }, { - "source": { - "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "port": "0f7487e5-b070-4277-bba6-acf69934afca" + "id": "ad7918eb-22dd-4b6c-949f-e428f5a55530", + "type": "basic.constant", + "data": { + "name": "", + "value": "0", + "local": true }, - "target": { - "block": "b652825e-10ba-47cc-9832-e39d73586234", - "port": "inlabel" + "position": { + "x": 728, + "y": 152 } }, { - "source": { - "block": "7e5351cc-ea73-4bb2-9dda-0390f005b90b", - "port": "outlabel" + "id": "d8755f82-ee3e-47e9-9ac3-e4d6713a6105", + "type": "5ad97e1e35a295d0ec722addd6df97c806fc6b7c", + "position": { + "x": 728, + "y": 256 }, - "target": { - "block": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", - "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + "size": { + "width": 96, + "height": 64 } - }, + } + ], + "wires": [ { "source": { - "block": "f8dceaf6-6020-49e5-b775-ed4821fbd5bd", - "port": "outlabel" + "block": "ad7918eb-22dd-4b6c-949f-e428f5a55530", + "port": "constant-out" }, "target": { - "block": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + "block": "d8755f82-ee3e-47e9-9ac3-e4d6713a6105", + "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" } }, { "source": { - "block": "57e59301-2919-4f06-ba95-54ce5d99d774", - "port": "0f7487e5-b070-4277-bba6-acf69934afca" + "block": "d8755f82-ee3e-47e9-9ac3-e4d6713a6105", + "port": "a9d6830d-5cc7-4f63-a068-35181d2537bc" }, "target": { - "block": "d7d5e8c8-78dd-41a8-aedf-1051b89bfb77", - "port": "inlabel" - } - }, - { - "source": { - "block": "c5dce3e4-5ecc-4fc9-bbf6-7c1adfa1c7ff", - "port": "outlabel" + "block": "ad29e130-c17a-4544-9237-4c72551ccbeb", + "port": "in" }, - "target": { - "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" - } - }, + "size": 8 + } + ] + } + } + }, + "5ad97e1e35a295d0ec722addd6df97c806fc6b7c": { + "package": { + "name": "Constante-8bits", + "version": "0.0.1", + "description": "Valor genérico constante, de 8 bits. Su valor se introduce como parámetro. Por defecto vale 0", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22145.608%22%20height=%22247.927%22%20viewBox=%220%200%20136.50729%20232.43134%22%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22293.115%22%20y=%22648.344%22%20font-weight=%22400%22%20font-size=%22335.399%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22%20transform=%22translate(-316.929%20-415.913)%22%3E%3Ctspan%20x=%22293.115%22%20y=%22648.344%22%3Ek%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ { - "source": { - "block": "57e59301-2919-4f06-ba95-54ce5d99d774", - "port": "f5a71d7b-de20-4527-80c8-0eb20de0dc77" + "id": "a9d6830d-5cc7-4f63-a068-35181d2537bc", + "type": "basic.output", + "data": { + "name": "k", + "range": "[7:0]", + "size": 8 }, - "target": { - "block": "a30f87da-7077-4ad6-92dd-adbfdd1bed45", - "port": "inlabel" + "position": { + "x": 960, + "y": 248 } }, { - "source": { - "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "port": "33072210-9ba0-4659-8339-95952b939e6e" + "id": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "type": "basic.constant", + "data": { + "name": "", + "value": "0", + "local": false }, - "target": { - "block": "fb8bbeb1-5c60-4629-bc13-231545818d0b", - "port": "inlabel" + "position": { + "x": 728, + "y": 128 } }, { - "source": { - "block": "57e59301-2919-4f06-ba95-54ce5d99d774", - "port": "33072210-9ba0-4659-8339-95952b939e6e" + "id": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "type": "basic.code", + "data": { + "code": "assign k = VALUE;", + "params": [ + { + "name": "VALUE" + } + ], + "ports": { + "in": [], + "out": [ + { + "name": "k", + "range": "[7:0]", + "size": 8 + } + ] + } }, - "target": { - "block": "73a0a48e-d345-4eda-8603-782e9865d928", - "port": "inlabel" + "position": { + "x": 672, + "y": 248 + }, + "size": { + "width": 208, + "height": 64 } - }, + } + ], + "wires": [ { "source": { - "block": "3c8597e6-ca79-494a-9a53-04c284205216", - "port": "outlabel" + "block": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "port": "constant-out" }, "target": { - "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "VALUE" } }, { "source": { - "block": "ed7a30bc-17fc-444e-89e5-aa9f83b32e86", - "port": "outlabel" + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "k" }, "target": { - "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" - } - }, + "block": "a9d6830d-5cc7-4f63-a068-35181d2537bc", + "port": "in" + }, + "size": 8 + } + ] + } + } + }, + "da0861afd3d2e1db0b7bde922cdad9c4a1258652": { + "package": { + "name": "8bits-Value_0", + "version": "0.0.1", + "description": "8bits constant value: 0", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22153.645%22%20height=%22230.616%22%20viewBox=%220%200%20144.04211%20216.20273%22%3E%3Cg%20style=%22line-height:0%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%3E%3Cpath%20d=%22M72.021%2022.332q-21.774%200-32.8%2021.495-10.887%2021.355-10.887%2064.344%200%2042.85%2010.887%2064.345%2011.026%2021.355%2032.8%2021.355%2021.913%200%2032.8-21.355%2011.027-21.495%2011.027-64.345%200-42.99-11.027-64.344-10.887-21.495-32.8-21.495zm0-22.332q35.034%200%2053.458%2027.776%2018.563%2027.636%2018.563%2080.395%200%2052.62-18.563%2080.396-18.424%2027.636-53.458%2027.636-35.033%200-53.597-27.636Q0%20160.79%200%20108.17q0-52.76%2018.424-80.395Q36.988%200%2072.021%200z%22%20style=%22line-height:1.25%22%20font-size=%22285.851%22%20font-family=%22sans-serif%22%20stroke-width=%227.146%22%20font-weight=%22400%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22/%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ { - "source": { - "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "port": "bbe1895b-be8b-4237-b0d1-ae592e3e6208" + "id": "56102125-3ee5-4ee9-94d5-e66dfcacb7de", + "type": "basic.output", + "data": { + "name": "", + "range": "[7:0]", + "size": 8 }, - "target": { - "block": "ee992ca6-d586-4901-aaa3-a17d94ddac84", - "port": "inlabel" + "position": { + "x": 896, + "y": 256 } }, { - "source": { - "block": "57e59301-2919-4f06-ba95-54ce5d99d774", - "port": "bbe1895b-be8b-4237-b0d1-ae592e3e6208" - }, - "target": { - "block": "1c9b3962-5793-4e6f-98d4-9ca2113d0823", - "port": "inlabel" + "id": "ad7918eb-22dd-4b6c-949f-e428f5a55530", + "type": "basic.constant", + "data": { + "name": "", + "value": "0", + "local": true }, - "vertices": [ - { - "x": -24, - "y": -696 - } - ] + "position": { + "x": 728, + "y": 152 + } }, { - "source": { - "block": "05fb13c5-879a-422f-84a8-56d1db8816da", - "port": "outlabel" + "id": "6db4f25e-c3b1-4cc1-b159-a918b9ce2f53", + "type": "ffc517ae50d4171640702dac38a546757cc9ae35", + "position": { + "x": 728, + "y": 256 }, - "target": { - "block": "72c87c65-b34b-480f-8cde-cd97c0914014", - "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + "size": { + "width": 96, + "height": 64 } - }, + } + ], + "wires": [ { "source": { - "block": "161a3e27-de9b-4674-b990-c1e8314a29f3", - "port": "outlabel" + "block": "ad7918eb-22dd-4b6c-949f-e428f5a55530", + "port": "constant-out" }, "target": { - "block": "72c87c65-b34b-480f-8cde-cd97c0914014", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + "block": "6db4f25e-c3b1-4cc1-b159-a918b9ce2f53", + "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" } }, { "source": { - "block": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "block": "6db4f25e-c3b1-4cc1-b159-a918b9ce2f53", + "port": "b5ba4b9b-f5f9-4eb7-9faf-b362f0463917" }, "target": { - "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", - "port": "5e915366-608a-431a-bf68-8c64fb4c302c" + "block": "56102125-3ee5-4ee9-94d5-e66dfcacb7de", + "port": "in" + }, + "size": 8 + } + ] + } + } + }, + "ffc517ae50d4171640702dac38a546757cc9ae35": { + "package": { + "name": "8-bits-gen-constant", + "version": "0.0.2", + "description": "Generic: 8-bits generic constant (0-255)", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22145.608%22%20height=%22247.927%22%20viewBox=%220%200%20136.50729%20232.43134%22%3E%3Cg%20style=%22line-height:0%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%3E%3Cpath%20d=%22M56.012%20146.905q9.055%206.708%2020.459%2017.105%2011.404%2010.062%2022.472%2021.8%2011.403%2011.74%2021.465%2024.15%2010.062%2012.074%2016.1%2022.471h-32.87q-6.372-10.397-15.763-21.13-9.392-11.068-20.124-21.13-10.398-10.062-21.13-18.447-10.398-8.385-18.783-14.087v74.794H0V4.695L27.838%200v141.874q18.447-16.1%2036.894-31.863%2018.447-16.1%2033.205-33.205h32.533q-14.422%2017.106-34.881%2035.217-20.124%2018.112-39.577%2034.882z%22%20style=%22line-height:1.25%22%20font-size=%22335.399%22%20font-weight=%22400%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22/%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "b5ba4b9b-f5f9-4eb7-9faf-b362f0463917", + "type": "basic.output", + "data": { + "name": "", + "range": "[7:0]", + "size": 8 + }, + "position": { + "x": 952, + "y": 248 } }, { - "source": { - "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", - "port": "c7d2d573-b901-420e-a923-6832e5b18e34" + "id": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "type": "basic.constant", + "data": { + "name": "", + "value": "0", + "local": false }, - "target": { - "block": "11342001-e6e0-443b-af87-0e5d7ada0227", - "port": "969e11ca-69e8-403b-a566-7bf2fbe3a5a8" + "position": { + "x": 728, + "y": 128 } }, { - "source": { - "block": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", - "port": "c7d2d573-b901-420e-a923-6832e5b18e34" + "id": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "type": "basic.code", + "data": { + "code": "assign k = VALUE;", + "params": [ + { + "name": "VALUE" + } + ], + "ports": { + "in": [], + "out": [ + { + "name": "k", + "range": "[7:0]", + "size": 8 + } + ] + } }, - "target": { - "block": "11342001-e6e0-443b-af87-0e5d7ada0227", - "port": "e4111201-8441-4e7d-bcd2-bcf9d265d043" + "position": { + "x": 672, + "y": 248 + }, + "size": { + "width": 208, + "height": 64 } - }, + } + ], + "wires": [ { "source": { - "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "block": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "port": "constant-out" }, "target": { - "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "port": "5e915366-608a-431a-bf68-8c64fb4c302c" + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "VALUE" } }, { "source": { - "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "port": "c7d2d573-b901-420e-a923-6832e5b18e34" + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "k" }, "target": { - "block": "11342001-e6e0-443b-af87-0e5d7ada0227", - "port": "346b4ae4-4bb6-4845-9c17-3b25e0dde718" + "block": "b5ba4b9b-f5f9-4eb7-9faf-b362f0463917", + "port": "in" }, - "vertices": [ - { - "x": 824, - "y": -424 - } - ] - }, + "size": 8 + } + ] + } + } + }, + "873d7e980c08ce11dae3eb7abdaad1615527b3dc": { + "package": { + "name": "putc-char", + "version": "0.2", + "description": "Transmit one character to the STDOUT bus", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22613.166%22%20width=%22433.95%22%3E%3Cdefs%3E%3Cmarker%20id=%22a%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20fill=%22red%22%20fill-rule=%22evenodd%22%20stroke=%22red%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3C/defs%3E%3Cpath%20d=%22M221.062%20395.717c-17.751%200-32.152%2014.401-32.152%2032.165%200%2017.745%2014.4%2032.177%2032.152%2032.177%2017.758%200%2032.053-14.432%2032.053-32.177%200-17.764-14.295-32.165-32.053-32.165zm64.466%2050.642l-5.795%2013.96%2010.336%2020.302%201.366%202.68-14.333%2014.333-23.515-11.106-13.96%205.733-7.086%2021.691-.906%202.88h-20.258l-8.767-24.484-13.96-5.758-20.333%2010.312-2.68%201.34-14.326-14.32%2011.093-23.528-5.751-13.948-21.655-7.073-2.873-.93v-20.246l24.502-8.78%205.752-13.935-10.306-20.345-1.359-2.668%2014.308-14.308%2023.547%2011.088%2013.941-5.764%207.08-21.68.912-2.872h20.252l8.773%2024.514%2013.923%205.764%2020.339-10.318%202.705-1.359%2014.32%2014.308-11.094%2023.51%205.733%2013.966%2021.717%207.08%202.854.911v20.24z%22%20fill=%22#00f%22/%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%20-272.686%20152.713)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22124.309%22%20y=%22611.792%22%20font-weight=%22400%22%20font-size=%2291.605%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%225.725%22%3E%3Ctspan%20x=%22124.309%22%20y=%22611.792%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EChar%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%2294.134%22%20y=%2273.141%22%20font-weight=%22400%22%20font-size=%2291.605%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%225.725%22%3E%3Ctspan%20x=%2294.134%22%20y=%2273.141%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EPUTC%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M118.652%20252.337h134.3%22%20fill=%22none%22%20stroke=%22red%22%20stroke-width=%2218%22%20marker-end=%22url(#a)%22/%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%2060.37%20145.491)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%2279.938%22%20y=%22195.066%22%20font-weight=%22400%22%20font-size=%2291.605%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22red%22%20stroke-width=%225.725%22%3E%3Ctspan%20x=%2279.938%22%20y=%22195.066%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3Estdout%3C/tspan%3E%3C/text%3E%3Cpath%20fill=%22none%22%20stroke=%22red%22%20stroke-width=%223%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20d=%22M1.5%20109.784h429.559v199.593H1.5z%22/%3E%3Cpath%20d=%22M429.878%2018.574V1.5h-22.311%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%223%22%20stroke-linecap=%22round%22/%3E%3C/svg%3E", + "otid": 1571979442657 + }, + "design": { + "graph": { + "blocks": [ { - "source": { - "block": "d192d0af-e7be-4be6-925a-50227d80784c", - "port": "out" - }, - "target": { - "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "port": "0ebd46a4-769b-45e6-bcaf-e3796264aed3" + "id": "04841e3c-8761-454a-8d99-496fde26ea1f", + "type": "basic.input", + "data": { + "name": "", + "clock": true }, - "size": 4 + "position": { + "x": -304, + "y": 384 + } }, { - "source": { - "block": "c2d36218-be99-4dd1-bf69-7690c667255b", - "port": "out" - }, - "target": { - "block": "57e59301-2919-4f06-ba95-54ce5d99d774", - "port": "0ebd46a4-769b-45e6-bcaf-e3796264aed3" + "id": "ed414ec2-55e9-4b36-9c04-d544201b630e", + "type": "basic.inputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "size": 4 + "position": { + "x": -144, + "y": 384 + } }, { - "source": { - "block": "11342001-e6e0-443b-af87-0e5d7ada0227", - "port": "55180947-6349-4a04-a151-ad69ea2b155e" - }, - "target": { - "block": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42", - "port": "in" + "id": "c73b1a42-78ce-47a9-bb4c-807cffae6d42", + "type": "basic.output", + "data": { + "name": "nc" }, - "size": 4 + "position": { + "x": 1200, + "y": 568 + } }, { - "source": { - "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "id": "8c3ce21f-2214-489f-853a-d60a223034da", + "type": "basic.input", + "data": { + "name": "", + "range": "[9:0]", + "clock": false, + "size": 10 }, - "target": { - "block": "72c87c65-b34b-480f-8cde-cd97c0914014", - "port": "5e915366-608a-431a-bf68-8c64fb4c302c" + "position": { + "x": -328, + "y": 584 + } + }, + { + "id": "a0b2c050-26fc-4ac0-875f-6ef2c1f03c5e", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "stdout", + "range": "[9:0]", + "size": 10 }, - "vertices": [ - { - "x": 728, - "y": -552 - } - ] + "position": { + "x": -176, + "y": 584 + } }, { - "source": { - "block": "72c87c65-b34b-480f-8cde-cd97c0914014", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "id": "80c60ca1-61f9-40d2-8a87-5cd02ffb2d90", + "type": "basic.outputLabel", + "data": { + "blockColor": "steelblue", + "name": "char", + "range": "[7:0]", + "oldBlockColor": "fuchsia", + "size": 8 }, - "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "port": "in" + "position": { + "x": 688, + "y": 664 } }, { - "source": { - "block": "72c87c65-b34b-480f-8cde-cd97c0914014", - "port": "c7d2d573-b901-420e-a923-6832e5b18e34" + "id": "bc052fe3-357e-486c-a2e1-fef8f36a37ae", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "next", + "oldBlockColor": "steelblue" }, - "target": { - "block": "11342001-e6e0-443b-af87-0e5d7ada0227", - "port": "6c2aa548-5a4c-4e8d-a56c-a70926b19f18" + "position": { + "x": -16, + "y": 664 } }, { - "source": { - "block": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86", - "port": "out" + "id": "6940c4f1-a919-408b-9f9a-c542d928ac41", + "type": "basic.outputLabel", + "data": { + "blockColor": "steelblue", + "name": "exec", + "oldBlockColor": "fuchsia" }, - "target": { - "block": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", - "port": "5e915366-608a-431a-bf68-8c64fb4c302c" + "position": { + "x": 688, + "y": 720 } - } - ] - } - } - }, - "c3c498191b14e9288a85fa2871b3966665f75475": { - "package": { - "name": "AdderC-8bits", - "version": "0.1", - "description": "AdderC-8bits: Adder of two operands of 8 bits and Carry in", - "author": "Juan González-Gómez (Obijuan)", - "image": "%3Csvg%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20style=%22line-height:125%25%22%3E%3Cpath%20d=%22M115.76%200v79.813h79.508v35.946h-79.509v79.813H79.51V115.76H0V79.813h79.508V0z%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%224.441%22/%3E%3C/g%3E%3C/svg%3E", - "otid": 1618560481898 - }, - "design": { - "graph": { - "blocks": [ + }, { - "id": "bc495131-253e-49c9-9cd7-9e843cbe7ce5", + "id": "f809e9bb-2587-459d-807e-629afdc99f43", "type": "basic.inputLabel", "data": { - "name": "a1", - "range": "[3:0]", - "pins": [ - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "deeppink" + "blockColor": "darkgreen", + "name": "busy", + "oldBlockColor": "darkorange" }, "position": { - "x": -64, - "y": -648 + "x": 544, + "y": 728 } }, { - "id": "4bf17d89-89b8-4524-800a-2d15f9bbb111", - "type": "basic.input", + "id": "04a63331-d349-46dd-b312-aacf9b71b3c6", + "type": "basic.outputLabel", "data": { - "name": "", - "range": "[7:0]", - "clock": false, - "size": 8 + "blockColor": "yellow", + "name": "clk" }, "position": { - "x": -408, - "y": -584 + "x": 184, + "y": 728 } }, { - "id": "dc0243cd-75d9-4b07-bc17-150c250121ba", - "type": "basic.inputLabel", + "id": "9aa5255a-60da-463d-ba87-d4f96456d802", + "type": "basic.output", "data": { - "name": "a0", - "range": "[3:0]", - "pins": [ - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "oldBlockColor": "deeppink", - "blockColor": "deeppink" + "name": "", + "range": "[9:0]", + "size": 10 }, "position": { - "x": -64, - "y": -568 + "x": 1216, + "y": 776 } }, { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "type": "basic.output", + "id": "ddc62e2a-e70b-449d-860f-e815be4c4d8e", + "type": "basic.outputLabel", "data": { - "name": "c" + "name": "stdout", + "range": "[9:0]", + "blockColor": "fuchsia", + "size": 10 }, "position": { - "x": 832, - "y": -480 + "x": 856, + "y": 776 } }, { - "id": "bd04885a-8a3a-4215-bbf1-c472c10c44f5", + "id": "dea0965b-016f-40c0-aad7-c4d26a391f46", "type": "basic.outputLabel", "data": { - "name": "a1", - "range": "[3:0]", - "blockColor": "deeppink", - "size": 4 + "blockColor": "steelblue", + "name": "txmit", + "oldBlockColor": "fuchsia" }, "position": { - "x": 248, - "y": -456 + "x": 200, + "y": 824 } }, { - "id": "ba04e310-65e0-4554-ba2b-fbde28690a0b", + "id": "a6820ca3-b48c-4815-aa10-2f6b80e6c4af", "type": "basic.inputLabel", "data": { - "name": "b1", - "range": "[3:0]", - "pins": [ - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia" + "blockColor": "steelblue", + "name": "exec", + "oldBlockColor": "fuchsia" }, "position": { - "x": -80, - "y": -448 + "x": 544, + "y": 840 } }, { - "id": "3867504b-f331-4e0e-b923-acc86cb4255c", + "id": "1ac9dd5b-9741-4af4-963a-50cbf8c4c6be", "type": "basic.input", "data": { - "name": "", - "range": "[7:0]", - "clock": false, - "size": 8 + "name": "txmit", + "clock": false }, "position": { - "x": -400, - "y": -392 + "x": -320, + "y": 848 } }, { - "id": "d60cb59e-3e5c-4044-ae1f-3a06f33e83f9", + "id": "9fd18953-28a5-488b-be46-c1107835d885", "type": "basic.inputLabel", "data": { - "name": "b0", - "range": "[3:0]", - "pins": [ - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, - "blockColor": "fuchsia" + "blockColor": "steelblue", + "name": "txmit", + "oldBlockColor": "fuchsia" }, "position": { - "x": -80, - "y": -376 + "x": -168, + "y": 848 } }, { - "id": "383985cb-fd11-48ff-972a-cee8b631bd65", + "id": "1ed1a91b-927d-4eed-b00f-b05b5dda7cbf", "type": "basic.outputLabel", "data": { - "name": "b1", - "range": "[3:0]", - "blockColor": "fuchsia", - "size": 4 + "blockColor": "darkgreen", + "name": "busy", + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 856, + "y": 848 + } + }, + { + "id": "542ef450-6c74-4024-a245-fe1d832776bb", + "type": "basic.outputLabel", + "data": { + "blockColor": "darkgreen", + "name": "busy", + "oldBlockColor": "fuchsia" }, "position": { - "x": 248, - "y": -376 + "x": 80, + "y": 888 } }, { - "id": "9daaaf78-5a89-4d4a-a1b2-db1d3af962f1", - "type": "basic.output", + "id": "2c5224d8-9648-4069-8367-a0c8ec056753", + "type": "basic.inputLabel", "data": { - "name": "s", - "range": "[7:0]", - "size": 8 + "blockColor": "fuchsia", + "name": "done" }, "position": { - "x": 840, - "y": -336 + "x": 552, + "y": 936 } }, { - "id": "7905afe7-6a82-43d9-811b-45f379a3c0a9", + "id": "fdd4378f-0950-4ef2-b5d9-091a87499091", "type": "basic.outputLabel", "data": { - "name": "a0", - "range": "[3:0]", - "blockColor": "deeppink", - "size": 4 + "blockColor": "fuchsia", + "name": "next" }, "position": { - "x": 120, - "y": -304 + "x": 80, + "y": 960 } }, { - "id": "53d3821c-4072-438d-a45e-3a5364fdc8bc", + "id": "ddba74a9-5192-4fb7-8192-9e9e07103ad8", "type": "basic.outputLabel", "data": { - "name": "b0", - "range": "[3:0]", "blockColor": "fuchsia", - "size": 4 + "name": "done" }, "position": { - "x": 120, - "y": -232 + "x": 1048, + "y": 968 } }, { - "id": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86", - "type": "basic.input", + "id": "233059d5-8ab7-4c63-8dab-0c6af3a1dc28", + "type": "basic.output", "data": { - "name": "ci", - "clock": false + "name": "done" }, "position": { - "x": -392, - "y": -168 + "x": 1200, + "y": 968 } }, { - "id": "d5ab6421-1fc7-4d8d-8124-2cc7e0eb931d", - "type": "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a", - "position": { - "x": -248, - "y": -392 + "id": "72632c73-fe18-42b3-b81f-46999ddfdb20", + "type": "basic.input", + "data": { + "name": "char", + "range": "[7:0]", + "clock": false, + "size": 8 }, - "size": { - "width": 96, - "height": 64 + "position": { + "x": -320, + "y": 984 } }, { - "id": "d6ce7b9d-d8cf-4cde-85a8-589536fcc3a3", - "type": "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a", - "position": { - "x": -240, - "y": -584 + "id": "59b55b10-4bcd-45fd-9dbe-e6dd6767c97c", + "type": "basic.inputLabel", + "data": { + "blockColor": "steelblue", + "name": "char", + "range": "[7:0]", + "oldBlockColor": "fuchsia", + "size": 8 }, - "size": { - "width": 96, - "height": 64 + "position": { + "x": -160, + "y": 984 } }, { - "id": "0e0cf23b-5743-4a19-838d-fb46d407ee16", - "type": "afb28fd5426aea14477d11cbe30a290679f789f8", - "position": { - "x": 688, - "y": -336 + "id": "e787e85b-39c6-4705-a8b3-4da9c48be3ea", + "type": "basic.outputLabel", + "data": { + "blockColor": "darkgreen", + "name": "busy", + "oldBlockColor": "fuchsia" }, - "size": { - "width": 96, - "height": 64 + "position": { + "x": 1048, + "y": 1056 } }, { - "id": "840ba8a1-693f-4531-a947-adcaeac4e854", - "type": "a1ce303b8ce47a06371ea4641c81460f34a1cca9", - "position": { - "x": 320, - "y": -248 + "id": "f1cc51c6-3ef4-496d-99cf-0ee3007a2c64", + "type": "basic.output", + "data": { + "name": "busy" }, - "size": { - "width": 96, - "height": 96 + "position": { + "x": 1192, + "y": 1056 } }, { - "id": "7a4072f6-7500-4b87-86dc-2c63246b510b", - "type": "a1ce303b8ce47a06371ea4641c81460f34a1cca9", + "id": "af3693c8-f4e9-4cbe-90e5-cd93b52b1834", + "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", "position": { - "x": 464, - "y": -392 + "x": 224, + "y": 904 }, "size": { "width": 96, - "height": 96 + "height": 64 } - } - ], - "wires": [ - { - "source": { - "block": "d5ab6421-1fc7-4d8d-8124-2cc7e0eb931d", - "port": "eb61d084-ca22-4894-b8a2-f936db38f4b1", - "size": 4 - }, - "target": { - "block": "d60cb59e-3e5c-4044-ae1f-3a06f33e83f9", - "port": "inlabel" - }, - "size": 4 - }, - { - "source": { - "block": "d5ab6421-1fc7-4d8d-8124-2cc7e0eb931d", - "port": "637e64f4-0a6b-4037-9a75-89397e078a58", - "size": 4 - }, - "target": { - "block": "ba04e310-65e0-4554-ba2b-fbde28690a0b", - "port": "inlabel" - }, - "size": 4 - }, - { - "source": { - "block": "d6ce7b9d-d8cf-4cde-85a8-589536fcc3a3", - "port": "eb61d084-ca22-4894-b8a2-f936db38f4b1", - "size": 4 - }, - "target": { - "block": "dc0243cd-75d9-4b07-bc17-150c250121ba", - "port": "inlabel" - }, - "size": 4 - }, - { - "source": { - "block": "d6ce7b9d-d8cf-4cde-85a8-589536fcc3a3", - "port": "637e64f4-0a6b-4037-9a75-89397e078a58", - "size": 4 - }, - "target": { - "block": "bc495131-253e-49c9-9cd7-9e843cbe7ce5", - "port": "inlabel" - }, - "size": 4 - }, - { - "source": { - "block": "53d3821c-4072-438d-a45e-3a5364fdc8bc", - "port": "outlabel" - }, - "target": { - "block": "840ba8a1-693f-4531-a947-adcaeac4e854", - "port": "d192d0af-e7be-4be6-925a-50227d80784c", - "size": 4 - }, - "size": 4 }, { - "source": { - "block": "7905afe7-6a82-43d9-811b-45f379a3c0a9", - "port": "outlabel" - }, - "target": { - "block": "840ba8a1-693f-4531-a947-adcaeac4e854", - "port": "c2d36218-be99-4dd1-bf69-7690c667255b", - "size": 4 - }, - "vertices": [ - { - "x": 272, - "y": -256 - } - ], - "size": 4 - }, - { - "source": { - "block": "383985cb-fd11-48ff-972a-cee8b631bd65", - "port": "outlabel" - }, - "target": { - "block": "7a4072f6-7500-4b87-86dc-2c63246b510b", - "port": "d192d0af-e7be-4be6-925a-50227d80784c", - "size": 4 - }, - "size": 4 - }, - { - "source": { - "block": "bd04885a-8a3a-4215-bbf1-c472c10c44f5", - "port": "outlabel" - }, - "target": { - "block": "7a4072f6-7500-4b87-86dc-2c63246b510b", - "port": "c2d36218-be99-4dd1-bf69-7690c667255b", - "size": 4 + "id": "70db30ca-f05e-4d85-9911-4e37562185a2", + "type": "basic.info", + "data": { + "info": "## PUTC: Transmit one character (STDOUT bus)\n\nWhen **idle**, the STDOUT bus crosses the component without modification \n\nWhen the machine starts, the char is outputed and the state is changed to busy \nWhen the transmitter is done (tic received in next) the machine is turned off", + "readonly": true }, - "vertices": [ - { - "x": 384, - "y": -400 - } - ], - "size": 4 - }, - { - "source": { - "block": "840ba8a1-693f-4531-a947-adcaeac4e854", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "position": { + "x": 160, + "y": 360 }, - "target": { - "block": "7a4072f6-7500-4b87-86dc-2c63246b510b", - "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" + "size": { + "width": 696, + "height": 136 } }, { - "source": { - "block": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86", - "port": "out" + "id": "17adabf1-6e5f-481e-b723-92cafbd3f126", + "type": "basic.info", + "data": { + "info": "Start tic: The byte from the \ninput char is transmited", + "readonly": true }, - "target": { - "block": "840ba8a1-693f-4531-a947-adcaeac4e854", - "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" + "position": { + "x": -288, + "y": 800 + }, + "size": { + "width": 240, + "height": 64 } }, { - "source": { - "block": "4bf17d89-89b8-4524-800a-2d15f9bbb111", - "port": "out" + "id": "f9228c3c-67bd-4a38-b678-87e025a45048", + "type": "basic.info", + "data": { + "info": "Char to be transmited", + "readonly": true }, - "target": { - "block": "d6ce7b9d-d8cf-4cde-85a8-589536fcc3a3", - "port": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e" + "position": { + "x": -272, + "y": 952 }, - "size": 8 + "size": { + "width": 216, + "height": 48 + } }, { - "source": { - "block": "3867504b-f331-4e0e-b923-acc86cb4255c", - "port": "out" + "id": "40cbc8b9-ba20-4d53-90a4-74481101d34b", + "type": "basic.info", + "data": { + "info": "State of the machine: \n1: ON: transmitting \n2: OFF: transparent mode ", + "readonly": true }, - "target": { - "block": "d5ab6421-1fc7-4d8d-8124-2cc7e0eb931d", - "port": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e" + "position": { + "x": 344, + "y": 648 }, - "size": 8 + "size": { + "width": 232, + "height": 88 + } }, { - "source": { - "block": "0e0cf23b-5743-4a19-838d-fb46d407ee16", - "port": "1269698e-e555-4fcb-a613-cb4c7ff2e598" + "id": "5a19e117-936d-4868-be9f-d1e03760a510", + "type": "basic.info", + "data": { + "info": "If the machine is on \nand the character has been \ntransmitted: Turn it off", + "readonly": true }, - "target": { - "block": "9daaaf78-5a89-4d4a-a1b2-db1d3af962f1", - "port": "in" + "position": { + "x": 344, + "y": 960 }, - "size": 8 + "size": { + "width": 264, + "height": 72 + } }, { - "source": { - "block": "840ba8a1-693f-4531-a947-adcaeac4e854", - "port": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42" + "id": "358d0c6c-1d72-445e-bdc0-c40d831753f7", + "type": "basic.info", + "data": { + "info": "The machine has finished", + "readonly": true }, - "target": { - "block": "0e0cf23b-5743-4a19-838d-fb46d407ee16", - "port": "843164ff-f7d8-48b9-bf59-1e0d1135c81f" + "position": { + "x": 1072, + "y": 936 }, - "size": 4 + "size": { + "width": 352, + "height": 56 + } }, { - "source": { - "block": "7a4072f6-7500-4b87-86dc-2c63246b510b", - "port": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42" + "id": "6257ea46-accb-4d9a-b165-35a8a2c04270", + "type": "basic.info", + "data": { + "info": "**STDOUT BUS**", + "readonly": true }, - "target": { - "block": "0e0cf23b-5743-4a19-838d-fb46d407ee16", - "port": "a1770adf-e143-4506-9d87-3cb9c870f534" + "position": { + "x": -296, + "y": 536 }, - "size": 4 + "size": { + "width": 160, + "height": 32 + } }, { - "source": { - "block": "7a4072f6-7500-4b87-86dc-2c63246b510b", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" - }, - "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "port": "in" + "id": "ef395571-47c5-4fa2-9bb0-cc6bf29a96df", + "type": "46cae7e9ebf62b7867b3a90798e5bc71b9eec2e0", + "position": { + "x": -168, + "y": 664 }, - "vertices": [ - { - "x": 624, - "y": -392 - } - ] - } - ] - } - } - }, - "8cc49c9b29485f2cfeab6064d7bb1cf9ced045b1": { - "package": { - "name": "Bus16-Join-half", - "version": "0.1", - "description": "Bus16-Join-half: Join the two same halves into an 16-bits Bus", - "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=%22M164.218%2077.643L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v26.186l61.698.046c8.012-.043%2015.705%203.133%2021.47%208.81l61.448%2061.315a57.292%2057.292%200%200%200%2039.993%2016.139%2057.292%2057.292%200%200%200-39.993%2016.14L83.668%20190.45c-5.765%205.677-13.458%208.853-21.47%208.81L.5%20199.306v26.186h62.612c14.924.039%2029.463-5.9%2040.204-16.28l60.902-60.863a29.857%2029.857%200%200%201%2021.347-8.81l146.53-.113V86.457H185.571a29.884%2029.884%200%200%201-21.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ + "size": { + "width": 96, + "height": 64 + } + }, { - "id": "5a35cd57-1006-4f6d-b263-5b977e9ef142", - "type": "basic.input", + "id": "476ddfa0-b036-4f51-af3f-3de23d9e074f", + "type": "basic.info", "data": { - "name": "1", - "range": "[7:0]", - "clock": false, - "size": 8 + "info": "Not connected", + "readonly": true }, "position": { - "x": 120, - "y": 168 + "x": 1192, + "y": 536 + }, + "size": { + "width": 128, + "height": 40 } }, { - "id": "79c56f9a-597f-491e-b1d1-d321f63303c2", - "type": "basic.output", + "id": "f8560747-4666-4911-8c20-a85c7c39f0c1", + "type": "basic.info", "data": { - "name": "", - "range": "[15:0]", - "size": 16 + "info": "**STDOUT BUS**", + "readonly": true }, "position": { - "x": 632, - "y": 200 + "x": 1208, + "y": 736 + }, + "size": { + "width": 160, + "height": 32 } }, { - "id": "38fdb02d-4323-4a34-9ffe-8385f844b660", - "type": "basic.input", + "id": "ec68d254-7f67-4ca6-9e0e-b2e2e9d45066", + "type": "dfb235f1673ee7cefa8539b9a9f9e43979df37ea", + "position": { + "x": 856, + "y": 680 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "f59e851d-2d7f-41e9-8128-77b7da1c6a18", + "type": "basic.info", "data": { - "name": "0", - "range": "[7:0]", - "clock": false, - "size": 8 + "info": "**Create the bus** \nfrom the data and tic signals", + "readonly": true }, "position": { - "x": 120, - "y": 264 + "x": 720, + "y": 592 + }, + "size": { + "width": 248, + "height": 56 } }, { - "id": "16e78204-213e-4833-9096-89d735307ec2", - "type": "basic.code", + "id": "c6b39875-76bf-43b3-bf07-98c17499bf21", + "type": "basic.info", "data": { - "code": "assign o = {i1, i0};\n", - "params": [], - "ports": { - "in": [ - { - "name": "i1", - "range": "[7:0]", - "size": 8 - }, - { - "name": "i0", - "range": "[7:0]", - "size": 8 - } - ], - "out": [ - { - "name": "o", - "range": "[15:0]", - "size": 16 - } - ] - } + "info": "Transparent mode... \nor not", + "readonly": true + }, + "position": { + "x": 1056, + "y": 680 + }, + "size": { + "width": 192, + "height": 56 + } + }, + { + "id": "6492be89-2e8a-4083-aa96-9c98a57ca413", + "type": "aec21dcbeb94ef212f1936ba3b7cf22e0e349a8f", + "position": { + "x": 368, + "y": 792 }, + "size": { + "width": 96, + "height": 128 + } + }, + { + "id": "24781aa1-3b28-4a87-9d6b-613933793a06", + "type": "8ed9836d2da2233ae19d6633059e8503d58971bb", "position": { - "x": 296, - "y": 176 + "x": 1048, + "y": 760 }, "size": { - "width": 272, - "height": 104 + "width": 96, + "height": 96 } } ], "wires": [ { "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o" + "block": "72632c73-fe18-42b3-b81f-46999ddfdb20", + "port": "out", + "size": 8 }, "target": { - "block": "79c56f9a-597f-491e-b1d1-d321f63303c2", - "port": "in" + "block": "59b55b10-4bcd-45fd-9dbe-e6dd6767c97c", + "port": "inlabel" }, - "size": 16 + "size": 8 }, { "source": { - "block": "38fdb02d-4323-4a34-9ffe-8385f844b660", + "block": "04841e3c-8761-454a-8d99-496fde26ea1f", "port": "out" }, "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i0" - }, - "size": 8 + "block": "ed414ec2-55e9-4b36-9c04-d544201b630e", + "port": "inlabel" + } }, { "source": { - "block": "5a35cd57-1006-4f6d-b263-5b977e9ef142", - "port": "out" + "block": "e787e85b-39c6-4705-a8b3-4da9c48be3ea", + "port": "outlabel" }, "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i1" + "block": "f1cc51c6-3ef4-496d-99cf-0ee3007a2c64", + "port": "in" + } + }, + { + "source": { + "block": "ddba74a9-5192-4fb7-8192-9e9e07103ad8", + "port": "outlabel" }, - "size": 8 - } - ] - } - } - }, - "a52e3be3d374c081062b542fc91c5cb1be726cb8": { - "package": { - "name": "Bus24-Join-8-16 CLONE", - "version": "0.1-c1628232010333", - "description": "Bus24-Join-8-16: Join the two buses into an 24-bits Bus", - "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=%22M164.218%2077.643L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v26.186l61.698.046c8.012-.043%2015.705%203.133%2021.47%208.81l61.448%2061.315a57.292%2057.292%200%200%200%2039.993%2016.139%2057.292%2057.292%200%200%200-39.993%2016.14L83.668%20190.45c-5.765%205.677-13.458%208.853-21.47%208.81L.5%20199.306v26.186h62.612c14.924.039%2029.463-5.9%2040.204-16.28l60.902-60.863a29.857%2029.857%200%200%201%2021.347-8.81l146.53-.113V86.457H185.571a29.884%2029.884%200%200%201-21.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" - }, - "design": { - "graph": { - "blocks": [ + "target": { + "block": "233059d5-8ab7-4c63-8dab-0c6af3a1dc28", + "port": "in" + } + }, { - "id": "29a44a77-ec20-436d-a9e8-7fc2ca5de57e", - "type": "basic.input", - "data": { - "name": "1", - "range": "[7:0]", - "clock": false, - "size": 8 + "source": { + "block": "04a63331-d349-46dd-b312-aacf9b71b3c6", + "port": "outlabel" }, - "position": { - "x": 120, - "y": 168 + "target": { + "block": "6492be89-2e8a-4083-aa96-9c98a57ca413", + "port": "046501b8-4427-4d4d-af97-7fe807774f33" } }, { - "id": "756c8eb7-3567-48b4-9757-fe992499b794", - "type": "basic.output", - "data": { - "name": "", - "range": "[23:0]", - "size": 24 + "source": { + "block": "6492be89-2e8a-4083-aa96-9c98a57ca413", + "port": "0d991cee-b329-439b-b9e7-5712d2db539d" }, - "position": { - "x": 640, - "y": 200 + "target": { + "block": "f809e9bb-2587-459d-807e-629afdc99f43", + "port": "inlabel" } }, { - "id": "c4ca0e6a-6557-45ee-8363-1bffebaad486", - "type": "basic.input", - "data": { - "name": "0", - "range": "[15:0]", - "clock": false, - "size": 16 + "source": { + "block": "542ef450-6c74-4024-a245-fe1d832776bb", + "port": "outlabel" }, - "position": { - "x": 120, - "y": 264 + "target": { + "block": "af3693c8-f4e9-4cbe-90e5-cd93b52b1834", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" } }, { - "id": "16e78204-213e-4833-9096-89d735307ec2", - "type": "basic.code", - "data": { - "code": "assign o = {i1, i0};\n", - "params": [], - "ports": { - "in": [ - { - "name": "i1", - "range": "[7:0]", - "size": 8 - }, - { - "name": "i0", - "range": "[15:0]", - "size": 16 - } - ], - "out": [ - { - "name": "o", - "range": "[23:0]", - "size": 24 - } - ] - } + "source": { + "block": "6492be89-2e8a-4083-aa96-9c98a57ca413", + "port": "3802390d-8417-4369-b93c-dda647ccb0c6" }, - "position": { - "x": 296, - "y": 176 + "target": { + "block": "2c5224d8-9648-4069-8367-a0c8ec056753", + "port": "inlabel" + } + }, + { + "source": { + "block": "6492be89-2e8a-4083-aa96-9c98a57ca413", + "port": "aefe9248-3b3d-441b-9e65-33cda65b99dd" }, - "size": { - "width": 272, - "height": 104 + "target": { + "block": "a6820ca3-b48c-4815-aa10-2f6b80e6c4af", + "port": "inlabel" } - } - ], - "wires": [ + }, { "source": { - "block": "c4ca0e6a-6557-45ee-8363-1bffebaad486", + "block": "1ac9dd5b-9741-4af4-963a-50cbf8c4c6be", "port": "out" }, "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i0" + "block": "9fd18953-28a5-488b-be46-c1107835d885", + "port": "inlabel" + } + }, + { + "source": { + "block": "dea0965b-016f-40c0-aad7-c4d26a391f46", + "port": "outlabel" }, - "size": 16 + "target": { + "block": "6492be89-2e8a-4083-aa96-9c98a57ca413", + "port": "88176871-35ac-42bf-bf62-36c81a4b4b47" + } }, { "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o" + "block": "8c3ce21f-2214-489f-853a-d60a223034da", + "port": "out", + "size": 10 }, "target": { - "block": "756c8eb7-3567-48b4-9757-fe992499b794", - "port": "in" + "block": "a0b2c050-26fc-4ac0-875f-6ef2c1f03c5e", + "port": "inlabel" }, - "size": 24 + "vertices": [], + "size": 10 }, { "source": { - "block": "29a44a77-ec20-436d-a9e8-7fc2ca5de57e", - "port": "out" + "block": "ef395571-47c5-4fa2-9bb0-cc6bf29a96df", + "port": "7e8b125e-5171-41ea-871b-ea7f0ffd4a03" }, "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i1" + "block": "bc052fe3-357e-486c-a2e1-fef8f36a37ae", + "port": "inlabel" }, - "size": 8 - } - ] - } - } - }, - "df0f3f06c52c56d0d046f2ceed137a642c18ae0a": { - "package": { - "name": "Bus32-Split-8-24 CLONE", - "version": "0.1-c1628225021128", - "description": "Bus32-Split-8-24: Split the 28-bits bus into two buses of 8 and 24 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": { - "graph": { - "blocks": [ + "vertices": [] + }, { - "id": "f1c65ee1-45a3-412a-a3a4-cd3e16ce49d1", - "type": "basic.output", - "data": { - "name": "1", - "range": "[23:0]", - "size": 24 + "source": { + "block": "fdd4378f-0950-4ef2-b5d9-091a87499091", + "port": "outlabel" + }, + "target": { + "block": "af3693c8-f4e9-4cbe-90e5-cd93b52b1834", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + } + }, + { + "source": { + "block": "1ed1a91b-927d-4eed-b00f-b05b5dda7cbf", + "port": "outlabel" + }, + "target": { + "block": "24781aa1-3b28-4a87-9d6b-613933793a06", + "port": "1e7e3cd6-ed00-468a-9f7c-0bb91e020dce" + }, + "vertices": [] + }, + { + "source": { + "block": "80c60ca1-61f9-40d2-8a87-5cd02ffb2d90", + "port": "outlabel" + }, + "target": { + "block": "ec68d254-7f67-4ca6-9e0e-b2e2e9d45066", + "port": "eb5386a0-d51a-4bb4-9f25-b8add9f18cfb", + "size": 8 }, - "position": { - "x": 592, - "y": 152 - } + "size": 8 }, { - "id": "5204a9f1-594b-4216-b993-03b46bef9e6e", - "type": "basic.input", - "data": { - "name": "", - "range": "[31:0]", - "clock": false, - "size": 32 + "source": { + "block": "6940c4f1-a919-408b-9f9a-c542d928ac41", + "port": "outlabel" }, - "position": { - "x": 72, - "y": 208 + "target": { + "block": "ec68d254-7f67-4ca6-9e0e-b2e2e9d45066", + "port": "9d2cea30-da88-4104-bf4e-e7934b02a553" } }, { - "id": "bbc72c72-9eec-46c2-aeff-4233b746b9c2", - "type": "basic.output", - "data": { - "name": "0", - "range": "[7:0]", - "size": 8 + "source": { + "block": "ddc62e2a-e70b-449d-860f-e815be4c4d8e", + "port": "outlabel" }, - "position": { - "x": 592, - "y": 232 - } + "target": { + "block": "24781aa1-3b28-4a87-9d6b-613933793a06", + "port": "7eebf205-f431-42e6-ae74-c1559aa741ec", + "size": 10 + }, + "size": 10 }, { - "id": "16e78204-213e-4833-9096-89d735307ec2", - "type": "basic.code", - "data": { - "code": "assign o1 = i[31:8];\nassign o0 = i[7:0];", - "params": [], - "ports": { - "in": [ - { - "name": "i", - "range": "[31:0]", - "size": 32 - } - ], - "out": [ - { - "name": "o1", - "range": "[23:0]", - "size": 24 - }, - { - "name": "o0", - "range": "[7:0]", - "size": 8 - } - ] - } - }, - "position": { - "x": 272, - "y": 176 + "source": { + "block": "af3693c8-f4e9-4cbe-90e5-cd93b52b1834", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, - "size": { - "width": 240, - "height": 120 + "target": { + "block": "6492be89-2e8a-4083-aa96-9c98a57ca413", + "port": "ba15eacb-1e03-4580-932b-3231703481e5" } - } - ], - "wires": [ + }, { "source": { - "block": "5204a9f1-594b-4216-b993-03b46bef9e6e", + "block": "8c3ce21f-2214-489f-853a-d60a223034da", "port": "out" }, "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i" + "block": "ef395571-47c5-4fa2-9bb0-cc6bf29a96df", + "port": "6f62a1a4-70d0-42a7-bb69-0639fbebdc04" }, - "size": 32 + "vertices": [], + "size": 10 }, { "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o0" + "block": "24781aa1-3b28-4a87-9d6b-613933793a06", + "port": "3594d5a9-ed9e-4b56-86ac-397384eaee88" }, "target": { - "block": "bbc72c72-9eec-46c2-aeff-4233b746b9c2", + "block": "9aa5255a-60da-463d-ba87-d4f96456d802", "port": "in" }, - "size": 8 + "size": 10 }, { "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o1" + "block": "ec68d254-7f67-4ca6-9e0e-b2e2e9d45066", + "port": "eda56153-8d23-4caa-a8de-73c6be124bb9" }, "target": { - "block": "f1c65ee1-45a3-412a-a3a4-cd3e16ce49d1", - "port": "in" + "block": "24781aa1-3b28-4a87-9d6b-613933793a06", + "port": "20325019-e8d3-4d83-9c24-2284ef449ba6" }, - "size": 24 + "vertices": [ + { + "x": 984, + "y": 744 + } + ], + "size": 10 } ] } } }, - "ab13f05d92d80a82af1a712a92621ea26dde55f3": { + "46cae7e9ebf62b7867b3a90798e5bc71b9eec2e0": { "package": { - "name": "Bus24-Split-16-8", + "name": "stdout-bus-next-out", "version": "0.1", - "description": "Bus24-Split-16-8: Split the 24-bits bus into two buses of 16 and 8 wires", + "description": "Extract the next signal from the stdout bus", "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" + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22356.708%22%20height=%22176.233%22%20viewBox=%220%200%2094.37896%2046.628384%22%3E%3Cg%20transform=%22translate(-44.148%20-120.418)%22%3E%3Crect%20width=%2233.016%22%20height=%227.314%22%20x=%22105.246%22%20y=%22141.954%22%20ry=%220%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22bevel%22/%3E%3Crect%20width=%2235.851%22%20height=%2214.797%22%20x=%2244.412%22%20y=%22138.101%22%20ry=%220%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22bevel%22/%3E%3Crect%20width=%2225.079%22%20height=%2227.493%22%20x=%2280.36%22%20y=%22132.039%22%20ry=%220%22%20fill=%22#999%22%20stroke=%22#000%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22bevel%22/%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%2246.181%22%20y=%22130.756%22%20font-weight=%22400%22%20font-size=%2212.449%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20x=%2246.181%22%20y=%22130.756%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ESTDOUT%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%2250.363%22%20y=%22164.97%22%20font-weight=%22400%22%20font-size=%2212.449%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.265%22%3E%3Ctspan%20x=%2250.363%22%20y=%22164.97%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EBUS%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "4ca7b72f-724d-435c-8490-645c338586db", + "id": "7e8b125e-5171-41ea-871b-ea7f0ffd4a03", "type": "basic.output", "data": { - "name": "1", - "range": "[15:0]", - "size": 16 + "name": "next" }, "position": { - "x": 600, - "y": 128 + "x": 608, + "y": 192 } }, { - "id": "901245a6-b7da-4af7-8917-7a47e5675ae1", + "id": "6f62a1a4-70d0-42a7-bb69-0639fbebdc04", "type": "basic.input", "data": { "name": "", - "range": "[23:0]", + "range": "[9:0]", "clock": false, - "size": 24 - }, - "position": { - "x": 96, - "y": 200 - } - }, - { - "id": "872cccab-7461-412b-9924-bad211fa1922", - "type": "basic.output", - "data": { - "name": "0", - "range": "[7:0]", - "size": 8 + "size": 10 }, "position": { - "x": 592, - "y": 224 + "x": 128, + "y": 192 } }, { "id": "16e78204-213e-4833-9096-89d735307ec2", "type": "basic.code", "data": { - "code": "assign o1 = i[23:8];\nassign o0 = i[7:0];", + "code": "assign o = i[0];", "params": [], "ports": { "in": [ { "name": "i", - "range": "[23:0]", - "size": 24 + "range": "[9:0]", + "size": 10 } ], "out": [ { - "name": "o1", - "range": "[15:0]", - "size": 16 - }, - { - "name": "o0", - "range": "[7:0]", - "size": 8 + "name": "o" } ] } }, "position": { - "x": 272, - "y": 168 + "x": 296, + "y": 176 }, "size": { - "width": 240, - "height": 120 + "width": 264, + "height": 88 } } ], "wires": [ - { - "source": { - "block": "901245a6-b7da-4af7-8917-7a47e5675ae1", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i" - }, - "size": 24 - }, { "source": { "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o1" + "port": "o" }, "target": { - "block": "4ca7b72f-724d-435c-8490-645c338586db", + "block": "7e8b125e-5171-41ea-871b-ea7f0ffd4a03", "port": "in" - }, - "size": 16 + } }, { "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o0" + "block": "6f62a1a4-70d0-42a7-bb69-0639fbebdc04", + "port": "out" }, "target": { - "block": "872cccab-7461-412b-9924-bad211fa1922", - "port": "in" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i" }, - "size": 8 + "size": 10 } ] } } }, - "306ca367fbbc5181b3c709d73f447e0710871a1d": { + "dfb235f1673ee7cefa8539b9a9f9e43979df37ea": { "package": { - "name": "Bus16-Split-half", + "name": "stdout-bus-joint2", "version": "0.1", - "description": "Bus16-Split-half: Split the 16-bits bus into two buses of the same size", + "description": "stdout bus joiner (data + tic)", "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" + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22354.768%22%20height=%22219.63%22%20viewBox=%220%200%20332.595%20205.90272%22%3E%3Cpath%20d=%22M164.218%2068.938L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v26.186l61.698.046c8.012-.043%2015.705%203.133%2021.47%208.81l61.448%2052.61a57.292%2057.292%200%200%200%2039.993%2016.139%2057.292%2057.292%200%200%200-39.993%2016.139l-61.448%2049.93c-5.765%205.678-13.458%208.854-21.47%208.81L.5%20179.217v26.187h62.612c14.924.039%2029.463-5.9%2040.204-16.28l60.902-49.48a29.857%2029.857%200%200%201%2021.347-8.809l146.53-.114V77.752H185.571a29.884%2029.884%200%200%201-21.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22341.249%22%20y=%22247.958%22%20font-weight=%22400%22%20font-size=%2244.109%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.938%22%20transform=%22translate(-184.13%20-199.542)%22%3E%3Ctspan%20x=%22341.249%22%20y=%22247.958%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3ESTDOUT%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22390.889%22%20y=%22387.938%22%20font-weight=%22400%22%20font-size=%2244.109%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%20stroke-width=%22.938%22%20transform=%22translate(-184.13%20-199.542)%22%3E%3Ctspan%20x=%22390.889%22%20y=%22387.938%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EBUS%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:start%22%20x=%22299.979%22%20y=%22389.373%22%20font-weight=%22400%22%20font-size=%2215%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%22.938%22%20transform=%22translate(-184.13%20-199.542)%22/%3E%3C/svg%3E" }, "design": { "graph": { "blocks": [ { - "id": "6ac467f0-b16b-44ef-8f03-ae206c13186e", - "type": "basic.output", + "id": "eb5386a0-d51a-4bb4-9f25-b8add9f18cfb", + "type": "basic.input", "data": { - "name": "1", + "name": "", "range": "[7:0]", + "clock": false, "size": 8 }, "position": { - "x": 608, - "y": 176 + "x": 112, + "y": 168 } }, { - "id": "a0c9783a-c287-45a7-bfc7-9da552cf732f", - "type": "basic.input", + "id": "eda56153-8d23-4caa-a8de-73c6be124bb9", + "type": "basic.output", "data": { "name": "", - "range": "[15:0]", - "clock": false, - "size": 16 + "range": "[9:0]", + "size": 10 }, "position": { - "x": 96, - "y": 208 + "x": 648, + "y": 192 } }, { - "id": "0e7ef93d-c4da-4c2e-9653-7a470dc912b6", - "type": "basic.output", + "id": "9d2cea30-da88-4104-bf4e-e7934b02a553", + "type": "basic.input", "data": { - "name": "0", - "range": "[7:0]", - "size": 8 + "name": "tic", + "clock": false }, "position": { - "x": 608, - "y": 272 + "x": 112, + "y": 232 } }, { "id": "16e78204-213e-4833-9096-89d735307ec2", "type": "basic.code", "data": { - "code": "assign o1 = i[15:8];\nassign o0 = i[7:0];", - "params": [], - "ports": { - "in": [ - { - "name": "i", - "range": "[15:0]", - "size": 16 - } - ], - "out": [ + "code": "assign o[9:1] = {i, tic};", + "params": [], + "ports": { + "in": [ { - "name": "o1", + "name": "i", "range": "[7:0]", "size": 8 }, { - "name": "o0", - "range": "[7:0]", - "size": 8 + "name": "tic" + } + ], + "out": [ + { + "name": "o", + "range": "[9:0]", + "size": 10 } ] } }, "position": { - "x": 272, + "x": 296, "y": 176 }, "size": { - "width": 240, - "height": 120 + "width": 264, + "height": 88 } } ], "wires": [ { "source": { - "block": "a0c9783a-c287-45a7-bfc7-9da552cf732f", + "block": "eb5386a0-d51a-4bb4-9f25-b8add9f18cfb", "port": "out" }, "target": { "block": "16e78204-213e-4833-9096-89d735307ec2", "port": "i" }, - "size": 16 + "size": 8 }, { "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o1" + "block": "9d2cea30-da88-4104-bf4e-e7934b02a553", + "port": "out" }, "target": { - "block": "6ac467f0-b16b-44ef-8f03-ae206c13186e", - "port": "in" - }, - "size": 8 + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "tic" + } }, { "source": { "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o0" + "port": "o" }, "target": { - "block": "0e7ef93d-c4da-4c2e-9653-7a470dc912b6", + "block": "eda56153-8d23-4caa-a8de-73c6be124bb9", "port": "in" }, - "size": 8 + "size": 10 } ] } } }, - "ab06af09e4825434c378ef37d8362e7818fd4a8f": { + "8ed9836d2da2233ae19d6633059e8503d58971bb": { "package": { - "name": "Bus32-Join-8-24", - "version": "0.1", - "description": "Bus32-Join-8-24: Join the two buses into an 32-bits Bus", + "name": "10-bits-Mux-2-1-verilog", + "version": "0.2", + "description": "2-to-1 Multplexer (10-bit channels). Verilog implementation", "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=%22M164.218%2077.643L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v26.186l61.698.046c8.012-.043%2015.705%203.133%2021.47%208.81l61.448%2061.315a57.292%2057.292%200%200%200%2039.993%2016.139%2057.292%2057.292%200%200%200-39.993%2016.14L83.668%20190.45c-5.765%205.677-13.458%208.853-21.47%208.81L.5%20199.306v26.186h62.612c14.924.039%2029.463-5.9%2040.204-16.28l60.902-60.863a29.857%2029.857%200%200%201%2021.347-8.81l146.53-.113V86.457H185.571a29.884%2029.884%200%200%201-21.353-8.814z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2280.833%22%20height=%22158.56%22%20viewBox=%220%200%2075.781585%20148.65066%22%3E%3Cpath%20d=%22M74.375%2036.836c0-12.691-6.99-24.413-18.326-30.729-11.335-6.316-25.284-6.262-36.568.141C8.198%2012.652%201.304%2024.427%201.407%2037.118v74.415c-.103%2012.69%206.79%2024.466%2018.074%2030.87%2011.284%206.403%2025.233%206.457%2036.568.14%2011.336-6.316%2018.326-18.037%2018.326-30.728z%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%222.813%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.448%22%20y=%2291.518%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.448%22%20y=%2291.518%22%3E0%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.359%22%20y=%2214.582%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.359%22%20y=%2214.582%22%3E1%3C/tspan%3E%3C/text%3E%3C/svg%3E", + "otid": 1618922858665 }, "design": { "graph": { "blocks": [ { - "id": "40f9d1d0-01e9-40c2-b4a4-e7277a78c006", + "id": "20325019-e8d3-4d83-9c24-2284ef449ba6", "type": "basic.input", "data": { "name": "1", - "range": "[7:0]", + "range": "[9:0]", "clock": false, - "size": 8 + "size": 10 }, "position": { - "x": 120, - "y": 104 + "x": 320, + "y": -56 } }, { - "id": "a121f12a-dede-4aec-9016-4c8e92ed75e2", + "id": "3594d5a9-ed9e-4b56-86ac-397384eaee88", "type": "basic.output", "data": { "name": "", - "range": "[31:0]", - "size": 32 + "range": "[9:0]", + "size": 10 }, "position": { - "x": 648, - "y": 200 + "x": 984, + "y": 32 } }, { - "id": "3b957f7a-e94e-490f-8313-231ef9f2bdae", + "id": "7eebf205-f431-42e6-ae74-c1559aa741ec", "type": "basic.input", "data": { "name": "0", - "range": "[23:0]", + "range": "[9:0]", "clock": false, - "size": 24 + "size": 10 }, "position": { - "x": 120, - "y": 224 + "x": 320, + "y": 32 } }, { - "id": "16e78204-213e-4833-9096-89d735307ec2", + "id": "1e7e3cd6-ed00-468a-9f7c-0bb91e020dce", + "type": "basic.input", + "data": { + "name": "sel", + "clock": false + }, + "position": { + "x": 320, + "y": 120 + } + }, + { + "id": "b64f5610-774d-45c0-bbc6-85b1a6713f43", "type": "basic.code", "data": { - "code": "assign o = {i1, i0};\n", - "params": [], "ports": { "in": [ { "name": "i1", - "range": "[7:0]", - "size": 8 + "range": "[9:0]", + "size": 10 }, { "name": "i0", - "range": "[23:0]", - "size": 24 + "range": "[9:0]", + "size": 10 + }, + { + "name": "sel" } ], "out": [ { "name": "o", - "range": "[31:0]", - "size": 32 + "range": "[9:0]", + "size": 10 } ] - } + }, + "params": [], + "code": "//-- 2-to-1 Multiplexer \n\nassign o = sel ? i1 : i0;" }, "position": { - "x": 296, - "y": 176 + "x": 560, + "y": -72 }, "size": { - "width": 272, - "height": 104 + "width": 304, + "height": 272 } } ], "wires": [ { "source": { - "block": "3b957f7a-e94e-490f-8313-231ef9f2bdae", + "block": "1e7e3cd6-ed00-468a-9f7c-0bb91e020dce", "port": "out" }, "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i0" + "block": "b64f5610-774d-45c0-bbc6-85b1a6713f43", + "port": "sel" }, - "size": 24 + "vertices": [] }, { "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", + "block": "b64f5610-774d-45c0-bbc6-85b1a6713f43", "port": "o" }, "target": { - "block": "a121f12a-dede-4aec-9016-4c8e92ed75e2", + "block": "3594d5a9-ed9e-4b56-86ac-397384eaee88", "port": "in" }, - "size": 32 + "size": 10 }, { "source": { - "block": "40f9d1d0-01e9-40c2-b4a4-e7277a78c006", + "block": "20325019-e8d3-4d83-9c24-2284ef449ba6", "port": "out" }, "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", + "block": "b64f5610-774d-45c0-bbc6-85b1a6713f43", "port": "i1" }, - "vertices": [ - { - "x": 232, - "y": 176 - } - ], - "size": 8 + "size": 10 + }, + { + "source": { + "block": "7eebf205-f431-42e6-ae74-c1559aa741ec", + "port": "out" + }, + "target": { + "block": "b64f5610-774d-45c0-bbc6-85b1a6713f43", + "port": "i0" + }, + "size": 10 } ] } } }, - "5756f86a1672dc4930aef0a0744e3f182107a87b": { + "249940b3a2a6f82363df9ad6e49d976c389523b9": { "package": { - "name": "Bus32-Split-8-24", + "name": "8-bits-Mux-2-1-verilog", "version": "0.1", - "description": "Bus32-Split-8-24: Split the 28-bits bus into two buses of 8 and 24 wires", + "description": "2-to-1 Multplexer (8-bit channels). Verilog implementation", "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" + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2280.833%22%20height=%22158.56%22%20viewBox=%220%200%2075.781585%20148.65066%22%3E%3Cpath%20d=%22M74.375%2036.836c0-12.691-6.99-24.413-18.326-30.729-11.335-6.316-25.284-6.262-36.568.141C8.198%2012.652%201.304%2024.427%201.407%2037.118v74.415c-.103%2012.69%206.79%2024.466%2018.074%2030.87%2011.284%206.403%2025.233%206.457%2036.568.14%2011.336-6.316%2018.326-18.037%2018.326-30.728z%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%222.813%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.448%22%20y=%2291.518%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.448%22%20y=%2291.518%22%3E0%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.359%22%20y=%2214.582%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.359%22%20y=%2214.582%22%3E1%3C/tspan%3E%3C/text%3E%3C/svg%3E", + "otid": 1618922858665 }, "design": { "graph": { "blocks": [ { - "id": "2dec5597-9e16-4cb5-97fc-776ba7e39f10", - "type": "basic.output", + "id": "3ebd9e0a-9308-4615-af47-ae7b97f6f04a", + "type": "basic.input", "data": { "name": "1", "range": "[7:0]", + "clock": false, "size": 8 }, "position": { - "x": 600, - "y": 152 + "x": 320, + "y": -56 } }, { - "id": "5204a9f1-594b-4216-b993-03b46bef9e6e", - "type": "basic.input", + "id": "e1d78d57-b098-4613-a11e-9e106a69765b", + "type": "basic.output", "data": { "name": "", - "range": "[31:0]", - "clock": false, - "size": 32 + "range": "[7:0]", + "size": 8 }, "position": { - "x": 72, - "y": 208 + "x": 984, + "y": 32 } }, { - "id": "9b71656d-1b8a-49d5-9540-b65cc36deab6", - "type": "basic.output", + "id": "d3868260-885c-407b-b2e4-3a25beb8fd5e", + "type": "basic.input", "data": { "name": "0", - "range": "[23:0]", - "size": 24 + "range": "[7:0]", + "clock": false, + "size": 8 }, "position": { - "x": 600, - "y": 232 + "x": 320, + "y": 32 } }, { - "id": "16e78204-213e-4833-9096-89d735307ec2", + "id": "1e7e3cd6-ed00-468a-9f7c-0bb91e020dce", + "type": "basic.input", + "data": { + "name": "sel", + "clock": false + }, + "position": { + "x": 320, + "y": 120 + } + }, + { + "id": "b64f5610-774d-45c0-bbc6-85b1a6713f43", "type": "basic.code", "data": { - "code": "assign o1 = i[31:24];\nassign o0 = i[23:0];", - "params": [], "ports": { "in": [ { - "name": "i", - "range": "[31:0]", - "size": 32 + "name": "i1", + "range": "[7:0]", + "size": 8 + }, + { + "name": "i0", + "range": "[7:0]", + "size": 8 + }, + { + "name": "sel" } ], "out": [ { - "name": "o1", + "name": "o", "range": "[7:0]", "size": 8 - }, - { - "name": "o0", - "range": "[23:0]", - "size": 24 } ] - } + }, + "params": [], + "code": "//-- 2-to-1 Multiplexer \n\nassign o = sel ? i1 : i0;" }, "position": { - "x": 272, - "y": 176 + "x": 560, + "y": -72 }, "size": { - "width": 240, - "height": 120 + "width": 304, + "height": 272 } } ], "wires": [ { "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o0" + "block": "1e7e3cd6-ed00-468a-9f7c-0bb91e020dce", + "port": "out" }, "target": { - "block": "9b71656d-1b8a-49d5-9540-b65cc36deab6", + "block": "b64f5610-774d-45c0-bbc6-85b1a6713f43", + "port": "sel" + }, + "vertices": [] + }, + { + "source": { + "block": "b64f5610-774d-45c0-bbc6-85b1a6713f43", + "port": "o" + }, + "target": { + "block": "e1d78d57-b098-4613-a11e-9e106a69765b", "port": "in" }, - "size": 24 + "size": 8 }, { "source": { - "block": "5204a9f1-594b-4216-b993-03b46bef9e6e", + "block": "d3868260-885c-407b-b2e4-3a25beb8fd5e", "port": "out" }, "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i" + "block": "b64f5610-774d-45c0-bbc6-85b1a6713f43", + "port": "i0" }, - "size": 32 + "size": 8 }, { "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o1" + "block": "3ebd9e0a-9308-4615-af47-ae7b97f6f04a", + "port": "out" }, "target": { - "block": "2dec5597-9e16-4cb5-97fc-776ba7e39f10", - "port": "in" + "block": "b64f5610-774d-45c0-bbc6-85b1a6713f43", + "port": "i1" }, "size": 8 }