diff --git a/blocks/Inject/Inject-bit.ice b/blocks/Inject/Inject-bit.ice index 126a5b90..3e37b735 100644 --- a/blocks/Inject/Inject-bit.ice +++ b/blocks/Inject/Inject-bit.ice @@ -1,8 +1,8 @@ { "version": "1.2", "package": { - "name": "Insert-1-bit", - "version": "0.1", + "name": "Insert-1-bit CLONE", + "version": "0.1-c1716794344536", "description": "Inyectar el valor de un cable por el bit indicado de un bus", "author": "Juan González-Gómez (Obijuan)", "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22279.363%22%20height=%2293.884%22%20viewBox=%220%200%2073.914719%2024.840043%22%3E%3Cg%20transform=%22translate(-43.466%20-140.187)%22%3E%3Cpath%20d=%22M86.495%20145.448v18.52H44.539%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%222.117%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Crect%20width=%2272.704%22%20height=%227.314%22%20x=%22-117.116%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%3Ccircle%20cx=%2286.693%22%20cy=%22145.668%22%20r=%225.481%22/%3E%3C/g%3E%3C/svg%3E" @@ -17,50 +17,8 @@ "data": { "name": "", "range": "[7:0]", - "pins": [ - { - "index": "7", - "name": "", - "value": "0" - }, - { - "index": "6", - "name": "", - "value": "0" - }, - { - "index": "5", - "name": "", - "value": "0" - }, - { - "index": "4", - "name": "", - "value": "0" - }, - { - "index": "3", - "name": "", - "value": "0" - }, - { - "index": "2", - "name": "", - "value": "0" - }, - { - "index": "1", - "name": "", - "value": "0" - }, - { - "index": "0", - "name": "", - "value": "0" - } - ], - "virtual": true, - "clock": false + "clock": false, + "size": 8 }, "position": { "x": 520, @@ -73,49 +31,7 @@ "data": { "name": "", "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": 8 }, "position": { "x": 960, @@ -127,14 +43,6 @@ "type": "basic.input", "data": { "name": "", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true, "clock": false }, "position": { @@ -159,7 +67,7 @@ "id": "15921a47-9c6e-411a-95a4-31330b104b72", "type": "basic.code", "data": { - "code": "reg [7:0] o;\n\nalways @(*) begin\n\n o[7:0] = i[7:0];\n o[BIT] = a;\n \nend", + "code": "reg [7:0] o_i;\nassign o = o_i;\n\nalways @(*) begin\n\n o_i[7:0] = i[7:0];\n o_i[BIT] = a;\n \nend", "params": [ { "name": "BIT" diff --git a/blocks/Reversal/Reversal-06.ice b/blocks/Reversal/Reversal-06.ice new file mode 100644 index 00000000..400e446d --- /dev/null +++ b/blocks/Reversal/Reversal-06.ice @@ -0,0 +1,165 @@ +{ + "version": "1.2", + "package": { + "name": "Reversal-6-verilog", + "version": "0.2", + "description": "Reversal-6-verilog: 6-bit Bus reversal. Verilog implementation", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20width=%22421.862%22%20height=%22241.446%22%20viewBox=%220%200%20111.61777%2063.882534%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cdefs%3E%3Cmarker%20id=%22a%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20transform=%22scale(.6)%22%20d=%22M8.719%204.034L-2.207.016%208.719-4.002c-1.746%202.372-1.736%205.618%200%208.036z%22%20fill=%22context-stroke%22%20fill-rule=%22evenodd%22%20stroke-width=%22.625%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3C/defs%3E%3Cg%20transform=%22translate(-24.136%20-106.75)%22%3E%3Cpath%20d=%22M85.222%20131.15c2.261.012%203.76-.368%206.027-2.488l17.257-17.198a16.052%2016.052%200%200%201%2011.277-4.573h6.686v7.39l-6.428.013a8.57%208.57%200%200%200-6.06%202.487L96.64%20134.085a16.17%2016.17%200%200%201-11.287%204.555%2016.17%2016.17%200%200%201%2011.287%204.555l17.342%2017.304a8.57%208.57%200%200%200%206.059%202.486l6.428.013v7.39h-6.686c-4.212.012-8.315-1.665-11.346-4.594l-17.188-17.177a8.426%208.426%200%200%200-6.025-2.486l-5.034-.032-4.225.032a8.426%208.426%200%200%200-6.024%202.486l-17.188%2017.177c-3.031%202.93-7.135%204.606-11.347%204.595h-7.203v-7.39l6.946-.014a8.57%208.57%200%200%200%206.059-2.486l17.342-17.304a16.17%2016.17%200%200%201%2011.287-4.555%2016.17%2016.17%200%200%201-11.287-4.555L47.208%20116.78a8.57%208.57%200%200%200-6.06-2.487l-6.945-.013v-7.39h7.203a16.052%2016.052%200%200%201%2011.278%204.573l17.257%2017.198s1.54%201.752%206.026%202.488h4.223z%22%20fill=%22green%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-width=%22.28222%22/%3E%3Ctext%20style=%22line-height:1.25%22%20x=%2223.439%22%20y=%22114.85%22%20font-weight=%22400%22%20font-size=%2210.583%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%22.265%22%3E%3Ctspan%20x=%2223.439%22%20y=%22114.85%22%3EN%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25%22%20x=%2223.439%22%20y=%22170.11%22%20font-weight=%22400%22%20font-size=%2210.583%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%22.265%22%3E%3Ctspan%20x=%2223.439%22%20y=%22170.11%22%3E0%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25%22%20x=%22128.876%22%20y=%22170.632%22%20font-weight=%22400%22%20font-size=%2210.583%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%22.265%22%3E%3Ctspan%20x=%22128.876%22%20y=%22170.632%22%3EN%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25%22%20x=%22128.971%22%20y=%22114.787%22%20font-weight=%22400%22%20font-size=%2210.583%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20stroke-width=%22.265%22%3E%3Ctspan%20x=%22128.971%22%20y=%22114.787%22%3E0%3C/tspan%3E%3C/text%3E%3Ccircle%20cx=%2226.945%22%20cy=%22127.531%22%20r=%221.026%22%20stroke=%22#000%22%20stroke-width=%22.794%22%20stroke-linecap=%22round%22/%3E%3Ccircle%20cx=%2226.945%22%20cy=%22136.356%22%20r=%221.026%22%20stroke=%22#000%22%20stroke-width=%22.794%22%20stroke-linecap=%22round%22/%3E%3Ccircle%20cx=%2226.945%22%20cy=%22146.045%22%20r=%221.026%22%20stroke=%22#000%22%20stroke-width=%22.794%22%20stroke-linecap=%22round%22/%3E%3Cpath%20d=%22M72.497%20164.514s15.314-9.98%2015.314-27.036c0-17.055-16.059-26.302-16.059-26.302%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%222.117%22%20stroke-linecap=%22round%22%20marker-start=%22url(#a)%22/%3E%3Ccircle%20cx=%22132.943%22%20cy=%22127.531%22%20r=%221.026%22%20stroke=%22#000%22%20stroke-width=%22.794%22%20stroke-linecap=%22round%22/%3E%3Ccircle%20cx=%22132.943%22%20cy=%22136.356%22%20r=%221.026%22%20stroke=%22#000%22%20stroke-width=%22.794%22%20stroke-linecap=%22round%22/%3E%3Ccircle%20cx=%22132.943%22%20cy=%22146.045%22%20r=%221.026%22%20stroke=%22#000%22%20stroke-width=%22.794%22%20stroke-linecap=%22round%22/%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "board": "alhambra-ii", + "graph": { + "blocks": [ + { + "id": "474814fc-d3d1-4e90-b294-022fd5b09ff9", + "type": "basic.input", + "data": { + "name": "", + "virtual": true, + "range": "[5:0]", + "pins": [ + { + "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" + } + ], + "clock": false + }, + "position": { + "x": 128, + "y": -16 + } + }, + { + "id": "3771b998-ad39-4105-8acd-e374525e7d3c", + "type": "basic.output", + "data": { + "name": "", + "virtual": true, + "range": "[5:0]", + "pins": [ + { + "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": 696, + "y": -16 + } + }, + { + "id": "0a6097cf-c271-4b7e-94dd-a1b6f984bc30", + "type": "basic.code", + "data": { + "ports": { + "in": [ + { + "name": "i", + "range": "[5:0]", + "size": 6 + } + ], + "out": [ + { + "name": "o", + "range": "[5:0]", + "size": 6 + } + ] + }, + "params": [], + "code": "\n//-- Parameter N: bits \nlocalparam N=6;\n\n//-- Generic component\ngenvar b;\n\nfor (b = 0; b < N; b = b + 1) \n assign o[b] = i[N-1-b];\n" + }, + "position": { + "x": 296, + "y": -80 + }, + "size": { + "width": 336, + "height": 184 + } + } + ], + "wires": [ + { + "source": { + "block": "474814fc-d3d1-4e90-b294-022fd5b09ff9", + "port": "out" + }, + "target": { + "block": "0a6097cf-c271-4b7e-94dd-a1b6f984bc30", + "port": "i" + }, + "size": 6 + }, + { + "source": { + "block": "0a6097cf-c271-4b7e-94dd-a1b6f984bc30", + "port": "o" + }, + "target": { + "block": "3771b998-ad39-4105-8acd-e374525e7d3c", + "port": "in" + }, + "size": 6 + } + ] + } + }, + "dependencies": {} +} \ No newline at end of file diff --git a/examples/08-Uint/Alhambra-II/01-Manual-testing.ice b/examples/08-Uint/Alhambra-II/01-Manual-testing.ice index 61f33575..75487f06 100644 --- a/examples/08-Uint/Alhambra-II/01-Manual-testing.ice +++ b/examples/08-Uint/Alhambra-II/01-Manual-testing.ice @@ -121,8 +121,8 @@ } }, { - "id": "f55389db-0628-4b06-9e54-9f3fa701b90d", - "type": "3233f74b436bfb88a4ede8d051e5d24efd332b28", + "id": "e6b20b08-031f-44fb-a244-50f13677be8a", + "type": "3669bfdbfdd76ecd600217b249b459b0e73cd9ee", "position": { "x": 480, "y": 368 @@ -140,14 +140,14 @@ "port": "out" }, "target": { - "block": "f55389db-0628-4b06-9e54-9f3fa701b90d", + "block": "e6b20b08-031f-44fb-a244-50f13677be8a", "port": "86ad1537-2ad1-475c-8402-76c08bbfe72c" }, "size": 2 }, { "source": { - "block": "f55389db-0628-4b06-9e54-9f3fa701b90d", + "block": "e6b20b08-031f-44fb-a244-50f13677be8a", "port": "6b884be9-7f53-4d15-8b44-dc3232221334" }, "target": { @@ -577,10 +577,10 @@ } } }, - "3233f74b436bfb88a4ede8d051e5d24efd332b28": { + "3669bfdbfdd76ecd600217b249b459b0e73cd9ee": { "package": { "name": "Button_tic_x2", - "version": "0.1", + "version": "0.2", "description": "Configurable buttons (pull-up on/off. Not on/off) with tic output", "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=%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", @@ -606,15 +606,7 @@ "type": "basic.inputLabel", "data": { "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "name": "clk" }, "position": { "x": 280, @@ -666,15 +658,7 @@ "type": "basic.inputLabel", "data": { "blockColor": "fuchsia", - "name": "press1", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "name": "press1" }, "position": { "x": 776, @@ -712,14 +696,6 @@ "data": { "blockColor": "fuchsia", "name": "press0", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, "oldBlockColor": "fuchsia" }, "position": { @@ -792,10 +768,10 @@ } }, { - "id": "bf1b4a12-820e-4783-ad15-c6562b8a4850", - "type": "888484044ba40fc8b8549d9bea5e6b5c2ea0c3b7", + "id": "8b060f5f-94d4-47a9-b284-af50d09b584c", + "type": "80ac841b78ab68b7668296f4d0b0b4daadc7bcf9", "position": { - "x": 632, + "x": 1320, "y": 520 }, "size": { @@ -804,11 +780,11 @@ } }, { - "id": "d079447f-d0fb-4f74-8314-77096613ae6f", - "type": "888484044ba40fc8b8549d9bea5e6b5c2ea0c3b7", + "id": "216177fb-2fab-419a-ad7e-46adacf06199", + "type": "0dbcb9470111c4072304f196bb9e5ac39f4ccfb7", "position": { - "x": 952, - "y": 648 + "x": 336, + "y": 552 }, "size": { "width": 96, @@ -816,10 +792,10 @@ } }, { - "id": "8b060f5f-94d4-47a9-b284-af50d09b584c", - "type": "80ac841b78ab68b7668296f4d0b0b4daadc7bcf9", + "id": "2b0be5a9-0055-4c71-9ced-11a4d0fac993", + "type": "5018a67fe520592d7f82dbf669bb3c3661624b65", "position": { - "x": 1320, + "x": 632, "y": 520 }, "size": { @@ -828,11 +804,11 @@ } }, { - "id": "216177fb-2fab-419a-ad7e-46adacf06199", - "type": "0dbcb9470111c4072304f196bb9e5ac39f4ccfb7", + "id": "42a8792f-3b95-481e-beb3-2a9c4c2dd52f", + "type": "5018a67fe520592d7f82dbf669bb3c3661624b65", "position": { - "x": 336, - "y": 552 + "x": 952, + "y": 648 }, "size": { "width": 96, @@ -858,7 +834,7 @@ "port": "outlabel" }, "target": { - "block": "bf1b4a12-820e-4783-ad15-c6562b8a4850", + "block": "2b0be5a9-0055-4c71-9ced-11a4d0fac993", "port": "653b2ced-3f13-4b1d-a2b6-c330c671067a" } }, @@ -868,13 +844,13 @@ "port": "outlabel" }, "target": { - "block": "d079447f-d0fb-4f74-8314-77096613ae6f", + "block": "42a8792f-3b95-481e-beb3-2a9c4c2dd52f", "port": "653b2ced-3f13-4b1d-a2b6-c330c671067a" } }, { "source": { - "block": "bf1b4a12-820e-4783-ad15-c6562b8a4850", + "block": "2b0be5a9-0055-4c71-9ced-11a4d0fac993", "port": "997db8c4-b772-49d8-83e7-4427aff720e6" }, "target": { @@ -884,7 +860,7 @@ }, { "source": { - "block": "d079447f-d0fb-4f74-8314-77096613ae6f", + "block": "42a8792f-3b95-481e-beb3-2a9c4c2dd52f", "port": "997db8c4-b772-49d8-83e7-4427aff720e6" }, "target": { @@ -942,7 +918,7 @@ "port": "f5a71d7b-de20-4527-80c8-0eb20de0dc77" }, "target": { - "block": "bf1b4a12-820e-4783-ad15-c6562b8a4850", + "block": "2b0be5a9-0055-4c71-9ced-11a4d0fac993", "port": "21bc142d-a93a-430d-b37a-326435def9f9" } }, @@ -952,7 +928,7 @@ "port": "0f7487e5-b070-4277-bba6-acf69934afca" }, "target": { - "block": "d079447f-d0fb-4f74-8314-77096613ae6f", + "block": "42a8792f-3b95-481e-beb3-2a9c4c2dd52f", "port": "21bc142d-a93a-430d-b37a-326435def9f9" }, "vertices": [ @@ -964,7 +940,7 @@ }, { "source": { - "block": "d079447f-d0fb-4f74-8314-77096613ae6f", + "block": "42a8792f-3b95-481e-beb3-2a9c4c2dd52f", "port": "b58132b2-2e39-4a85-ab5b-63bded91cecc" }, "target": { @@ -974,7 +950,7 @@ }, { "source": { - "block": "bf1b4a12-820e-4783-ad15-c6562b8a4850", + "block": "2b0be5a9-0055-4c71-9ced-11a4d0fac993", "port": "b58132b2-2e39-4a85-ab5b-63bded91cecc" }, "target": { @@ -988,7 +964,7 @@ "port": "constant-out" }, "target": { - "block": "bf1b4a12-820e-4783-ad15-c6562b8a4850", + "block": "2b0be5a9-0055-4c71-9ced-11a4d0fac993", "port": "7f2c89d2-aea0-4ff9-b4f9-52d70cefa867" } }, @@ -998,7 +974,7 @@ "port": "constant-out" }, "target": { - "block": "d079447f-d0fb-4f74-8314-77096613ae6f", + "block": "42a8792f-3b95-481e-beb3-2a9c4c2dd52f", "port": "1ff8ad12-4df4-4aee-922b-c0c0fb449926" } }, @@ -1008,7 +984,7 @@ "port": "constant-out" }, "target": { - "block": "bf1b4a12-820e-4783-ad15-c6562b8a4850", + "block": "2b0be5a9-0055-4c71-9ced-11a4d0fac993", "port": "1ff8ad12-4df4-4aee-922b-c0c0fb449926" } }, @@ -1018,7 +994,7 @@ "port": "constant-out" }, "target": { - "block": "d079447f-d0fb-4f74-8314-77096613ae6f", + "block": "42a8792f-3b95-481e-beb3-2a9c4c2dd52f", "port": "7f2c89d2-aea0-4ff9-b4f9-52d70cefa867" }, "vertices": [ @@ -1161,7 +1137,124 @@ } } }, - "888484044ba40fc8b8549d9bea5e6b5c2ea0c3b7": { + "0dbcb9470111c4072304f196bb9e5ac39f4ccfb7": { + "package": { + "name": "Bus2-Split-all", + "version": "0.1", + "description": "Bus2-Split-all: Split the 2-bits bus into two 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": "f5a71d7b-de20-4527-80c8-0eb20de0dc77", + "type": "basic.output", + "data": { + "name": "1" + }, + "position": { + "x": 552, + "y": 128 + } + }, + { + "id": "a409d207-7594-4558-8e15-89712262cf5b", + "type": "basic.input", + "data": { + "name": "", + "range": "[1:0]", + "clock": false, + "size": 2 + }, + "position": { + "x": 136, + "y": 184 + } + }, + { + "id": "0f7487e5-b070-4277-bba6-acf69934afca", + "type": "basic.output", + "data": { + "name": "0" + }, + "position": { + "x": 552, + "y": 240 + } + }, + { + "id": "16e78204-213e-4833-9096-89d735307ec2", + "type": "basic.code", + "data": { + "code": "assign o1 = i[1];\nassign o0 = i[0];", + "params": [], + "ports": { + "in": [ + { + "name": "i", + "range": "[1:0]", + "size": 2 + } + ], + "out": [ + { + "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": "a409d207-7594-4558-8e15-89712262cf5b", + "port": "out" + }, + "target": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i" + }, + "size": 2 + } + ] + } + } + }, + "5018a67fe520592d7f82dbf669bb3c3661624b65": { "package": { "name": "Button-tic", "version": "0.6", @@ -1189,15 +1282,7 @@ "type": "basic.inputLabel", "data": { "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "name": "clk" }, "position": { "x": 280, @@ -1248,8 +1333,8 @@ "name": "Press" }, "position": { - "x": 1024, - "y": 168 + "x": 1032, + "y": 184 } }, { @@ -1387,8 +1472,8 @@ } }, { - "id": "55de191a-0bf0-4e2c-b2b9-fde52111025f", - "type": "31e84ed10b0b8e1c6ce6cf1f88c55d2e322116fb", + "id": "541797cf-83f6-45cf-9a33-0009bb231e47", + "type": "ae13be3e513e7cb48d47d3fb3aa840dd85dc1f5e", "position": { "x": 888, "y": 168 @@ -1399,8 +1484,8 @@ } }, { - "id": "15a43e9c-0c1f-47fa-a33f-b5b0e9c7f1c8", - "type": "0b641dd31ecc9ec9194efd886de27cadd758656b", + "id": "eed1d43a-6faf-4ca5-b3b8-f1e071234e0f", + "type": "091b3514573becaa7196cc3f7854140e5773864d", "position": { "x": 496, "y": 184 @@ -1429,7 +1514,7 @@ "port": "outlabel" }, "target": { - "block": "15a43e9c-0c1f-47fa-a33f-b5b0e9c7f1c8", + "block": "eed1d43a-6faf-4ca5-b3b8-f1e071234e0f", "port": "59f7bee9-9832-421d-aa0a-de177f3f121d" }, "vertices": [ @@ -1445,7 +1530,7 @@ "port": "outlabel" }, "target": { - "block": "55de191a-0bf0-4e2c-b2b9-fde52111025f", + "block": "541797cf-83f6-45cf-9a33-0009bb231e47", "port": "2708468d-1088-4570-be63-fb0d4799a941" } }, @@ -1455,13 +1540,13 @@ "port": "out" }, "target": { - "block": "15a43e9c-0c1f-47fa-a33f-b5b0e9c7f1c8", + "block": "eed1d43a-6faf-4ca5-b3b8-f1e071234e0f", "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" } }, { "source": { - "block": "15a43e9c-0c1f-47fa-a33f-b5b0e9c7f1c8", + "block": "eed1d43a-6faf-4ca5-b3b8-f1e071234e0f", "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { @@ -1471,18 +1556,18 @@ }, { "source": { - "block": "15a43e9c-0c1f-47fa-a33f-b5b0e9c7f1c8", + "block": "eed1d43a-6faf-4ca5-b3b8-f1e071234e0f", "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "55de191a-0bf0-4e2c-b2b9-fde52111025f", + "block": "541797cf-83f6-45cf-9a33-0009bb231e47", "port": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff" }, "vertices": [] }, { "source": { - "block": "55de191a-0bf0-4e2c-b2b9-fde52111025f", + "block": "541797cf-83f6-45cf-9a33-0009bb231e47", "port": "1c25e08e-e664-4fab-9b30-cedc1f8a3739" }, "target": { @@ -1496,7 +1581,7 @@ "port": "constant-out" }, "target": { - "block": "15a43e9c-0c1f-47fa-a33f-b5b0e9c7f1c8", + "block": "eed1d43a-6faf-4ca5-b3b8-f1e071234e0f", "port": "07e7cb88-d87c-4aa3-9938-fc226e3f4815" } }, @@ -1506,7 +1591,7 @@ "port": "constant-out" }, "target": { - "block": "15a43e9c-0c1f-47fa-a33f-b5b0e9c7f1c8", + "block": "eed1d43a-6faf-4ca5-b3b8-f1e071234e0f", "port": "6aacd3c5-a3e9-4a17-afb8-2b1271b3054c" } } @@ -1514,11 +1599,11 @@ } } }, - "31e84ed10b0b8e1c6ce6cf1f88c55d2e322116fb": { + "ae13be3e513e7cb48d47d3fb3aa840dd85dc1f5e": { "package": { "name": "Rising-edge-detector", - "version": "0.3", - "description": "Rising-edge detector. It generates a 1-period pulse (tic) when a rising edge is detected on the input", + "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" }, @@ -1537,6 +1622,17 @@ "y": 152 } }, + { + "id": "9215ae7b-9960-4c8e-b80c-4d636db8510d", + "type": "basic.output", + "data": { + "name": "nc" + }, + "position": { + "x": 840, + "y": 160 + } + }, { "id": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", "type": "basic.input", @@ -1673,11 +1769,11 @@ } }, { - "id": "34abb6cc-adcc-4b19-9cb6-563ef36542fe", - "type": "053dc2e26797e60dd454402e395eb23f388681b9", + "id": "70cfa680-3def-482c-b194-054c1f522357", + "type": "3676a00f3a70e406487ed14b901daf3e4984e63d", "position": { - "x": 320, - "y": 264 + "x": 552, + "y": 280 }, "size": { "width": 96, @@ -1685,11 +1781,11 @@ } }, { - "id": "70cfa680-3def-482c-b194-054c1f522357", - "type": "3676a00f3a70e406487ed14b901daf3e4984e63d", + "id": "49c498a6-eb89-4e72-889d-26e39cea5ad0", + "type": "ba518ee261a2be13a9739cd3a01cdcebe0ef63c0", "position": { - "x": 552, - "y": 264 + "x": 696, + "y": 400 }, "size": { "width": 96, @@ -1697,11 +1793,11 @@ } }, { - "id": "49c498a6-eb89-4e72-889d-26e39cea5ad0", - "type": "ba518ee261a2be13a9739cd3a01cdcebe0ef63c0", + "id": "4f9cbe33-5c5a-43fb-bb20-863555cd0c64", + "type": "58ed2b5c7e33e2f215ccba6c101d9ea4ff60f284", "position": { - "x": 696, - "y": 400 + "x": 320, + "y": 264 }, "size": { "width": 96, @@ -1716,7 +1812,7 @@ "port": "out" }, "target": { - "block": "34abb6cc-adcc-4b19-9cb6-563ef36542fe", + "block": "4f9cbe33-5c5a-43fb-bb20-863555cd0c64", "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" } }, @@ -1726,13 +1822,13 @@ "port": "out" }, "target": { - "block": "34abb6cc-adcc-4b19-9cb6-563ef36542fe", + "block": "4f9cbe33-5c5a-43fb-bb20-863555cd0c64", "port": "3943e194-090b-4553-9df3-88bc4b17abc2" } }, { "source": { - "block": "34abb6cc-adcc-4b19-9cb6-563ef36542fe", + "block": "4f9cbe33-5c5a-43fb-bb20-863555cd0c64", "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" }, "target": { @@ -1774,277 +1870,57 @@ } } }, - "053dc2e26797e60dd454402e395eb23f388681b9": { + "3676a00f3a70e406487ed14b901daf3e4984e63d": { "package": { - "name": "DFF", + "name": "NOT", "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" + "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": "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": 112, + "y": 72 } }, { - "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", - "type": "basic.input", + "id": "5365ed8c-e5db-4445-938f-8d689830ea5c", + "type": "basic.code", "data": { - "name": "", - "clock": false - }, - "position": { - "x": 208, - "y": 304 - } - }, - { - "id": "65194b18-5d2a-41b2-bd86-01be99978ad6", - "type": "basic.constant", - "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 - }, - "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 - } - } - ], - "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" - } - }, - { - "source": { - "block": "bf2f0c53-2d04-4cba-aa70-2df85502d24f", - "port": "out" - }, - "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "d" - } - } - ] - } - } - }, - "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": { - "name": "" - }, - "position": { - "x": 112, - "y": 72 - } - }, - { - "id": "664caf9e-5f40-4df4-800a-b626af702e62", - "type": "basic.output", - "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", - "params": [], - "ports": { - "in": [ - { - "name": "a" - } - ], - "out": [ - { - "name": "q" - } - ] - } + "code": "//-- NOT Gate\nassign q = ~a;\n\n", + "params": [], + "ports": { + "in": [ + { + "name": "a" + } + ], + "out": [ + { + "name": "q" + } + ] + } }, "position": { "x": 256, @@ -2224,44 +2100,283 @@ } } }, - "0b641dd31ecc9ec9194efd886de27cadd758656b": { + "58ed2b5c7e33e2f215ccba6c101d9ea4ff60f284": { "package": { - "name": "Button", - "version": "0.4", - "description": "Configurable button (pull-up on/off. Not on/off)", + "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%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%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": "59f7bee9-9832-421d-aa0a-de177f3f121d", + "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": 128, - "y": 232 + "x": 208, + "y": 184 } }, { - "id": "c2136078-81d0-4137-8583-c122b93cbdb0", - "type": "basic.inputLabel", + "id": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78", + "type": "basic.output", "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" + "name": "" + }, + "position": { + "x": 816, + "y": 232 + } + }, + { + "id": "bf2f0c53-2d04-4cba-aa70-2df85502d24f", + "type": "basic.input", + "data": { + "name": "", + "clock": false + }, + "position": { + "x": 208, + "y": 280 + } + }, + { + "id": "65194b18-5d2a-41b2-bd86-01be99978ad6", + "type": "basic.constant", + "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 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" } ], - "virtual": true + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "d" + } + ], + "out": [ + { + "name": "q" + } + ] + } + }, + "position": { + "x": 384, + "y": 168 + }, + "size": { + "width": 352, + "height": 192 + } + }, + { + "id": "53d11290-50b3-40fb-b253-222cb296b075", + "type": "basic.info", + "data": { + "info": "Parameter: Initial value", + "readonly": true + }, + "position": { + "x": 488, + "y": 32 + }, + "size": { + "width": 208, + "height": 40 + } + }, + { + "id": "c25a29cd-d5ed-435e-b375-e6d5557660d8", + "type": "basic.info", + "data": { + "info": "System clock", + "readonly": true + }, + "position": { + "x": 208, + "y": 160 + }, + "size": { + "width": 120, + "height": 32 + } + }, + { + "id": "ecafc6fa-330b-4ba7-aa67-40b3ea48f1f1", + "type": "basic.info", + "data": { + "info": "Input data", + "readonly": true + }, + "position": { + "x": 224, + "y": 256 + }, + "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 (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": 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": "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" + } + }, + { + "source": { + "block": "bf2f0c53-2d04-4cba-aa70-2df85502d24f", + "port": "out" + }, + "target": { + "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 + }, + "position": { + "x": 128, + "y": 232 + } + }, + { + "id": "c2136078-81d0-4137-8583-c122b93cbdb0", + "type": "basic.inputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, "position": { "x": 280, @@ -2290,8 +2405,8 @@ "oldBlockColor": "fuchsia" }, "position": { - "x": 880, - "y": 368 + "x": 888, + "y": 384 } }, { @@ -2302,7 +2417,7 @@ }, "position": { "x": 1200, - "y": 440 + "y": 456 } }, { @@ -2339,8 +2454,8 @@ "local": false }, "position": { - "x": 760, - "y": 352 + "x": 768, + "y": 368 } }, { @@ -2395,8 +2510,8 @@ "readonly": true }, "position": { - "x": 752, - "y": 536 + "x": 760, + "y": 560 }, "size": { "width": 192, @@ -2411,8 +2526,8 @@ "readonly": true }, "position": { - "x": 1008, - "y": 528 + "x": 1016, + "y": 544 }, "size": { "width": 168, @@ -2420,11 +2535,11 @@ } }, { - "id": "2de6000f-b5a2-4589-8fb3-d04179982959", - "type": "f718a5d8b0501d5cbb96b48c918db07a415187be", + "id": "dec4bfde-1bd9-47b4-9e19-768969a2abc4", + "type": "68f4069229b120ada15cf7106fca630bde40ff7e", "position": { - "x": 1024, - "y": 440 + "x": 768, + "y": 472 }, "size": { "width": 96, @@ -2432,10 +2547,10 @@ } }, { - "id": "5d3c00c9-ff7a-4456-a343-5ccb65c7f078", - "type": "dc93d663ad1f02da00a0889f408a1f59b739c755", + "id": "7f8e8a9e-3757-4b55-baa0-cb8680c3a332", + "type": "dd36dc1269be1a36894b4c4dfd8b2bd2c9026fe6", "position": { - "x": 600, + "x": 1032, "y": 456 }, "size": { @@ -2444,10 +2559,10 @@ } }, { - "id": "6d5cfeb2-55ca-470b-b450-1f1a93456f19", - "type": "ad96dc706d08e8529f19944fe45991970dda6d11", + "id": "8d23de75-ac27-4a3b-911c-6a237f0dc702", + "type": "0705a6a13435ea79daf5779a2a0f076bd71f0a14", "position": { - "x": 760, + "x": 600, "y": 456 }, "size": { @@ -2474,7 +2589,7 @@ "port": "outlabel" }, "target": { - "block": "5d3c00c9-ff7a-4456-a343-5ccb65c7f078", + "block": "8d23de75-ac27-4a3b-911c-6a237f0dc702", "port": "39873fa0-c3f5-47ef-b54b-b6b344416b25" } }, @@ -2484,7 +2599,7 @@ "port": "outlabel" }, "target": { - "block": "2de6000f-b5a2-4589-8fb3-d04179982959", + "block": "7f8e8a9e-3757-4b55-baa0-cb8680c3a332", "port": "4bf41c17-a2da-4140-95f7-2a80d51b1e1a" } }, @@ -2494,18 +2609,18 @@ "port": "a139fa0d-9b45-4480-a251-f4a66b49aa23" }, "target": { - "block": "5d3c00c9-ff7a-4456-a343-5ccb65c7f078", + "block": "8d23de75-ac27-4a3b-911c-6a237f0dc702", "port": "f25e9a9e-cd4c-4025-8745-0691a99a3fb8" }, "vertices": [] }, { "source": { - "block": "5d3c00c9-ff7a-4456-a343-5ccb65c7f078", + "block": "8d23de75-ac27-4a3b-911c-6a237f0dc702", "port": "7bfc506f-7a54-40a1-8d33-e78a5409b972" }, "target": { - "block": "6d5cfeb2-55ca-470b-b450-1f1a93456f19", + "block": "dec4bfde-1bd9-47b4-9e19-768969a2abc4", "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" }, "vertices": [] @@ -2516,18 +2631,18 @@ "port": "constant-out" }, "target": { - "block": "6d5cfeb2-55ca-470b-b450-1f1a93456f19", + "block": "dec4bfde-1bd9-47b4-9e19-768969a2abc4", "port": "2cd40fd8-3a2b-46f7-a922-fedf146ed11a" }, "vertices": [] }, { "source": { - "block": "6d5cfeb2-55ca-470b-b450-1f1a93456f19", + "block": "dec4bfde-1bd9-47b4-9e19-768969a2abc4", "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "2de6000f-b5a2-4589-8fb3-d04179982959", + "block": "7f8e8a9e-3757-4b55-baa0-cb8680c3a332", "port": "c9e1af2a-6f09-4cf6-a5b3-fdf7ec2c6530" }, "vertices": [] @@ -2544,7 +2659,7 @@ }, { "source": { - "block": "2de6000f-b5a2-4589-8fb3-d04179982959", + "block": "7f8e8a9e-3757-4b55-baa0-cb8680c3a332", "port": "22ff3fa1-943b-4d1a-bd89-36e1c054d077" }, "target": { @@ -2729,889 +2844,969 @@ } } }, - "f718a5d8b0501d5cbb96b48c918db07a415187be": { + "68f4069229b120ada15cf7106fca630bde40ff7e": { "package": { - "name": "Debouncer-x01", - "version": "1.2.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", + "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": "", - "clock": true + "name": "" }, "position": { - "x": -376, - "y": -656 + "x": 824, + "y": 304 } }, { - "id": "a0474543-ff59-4f6f-8d2e-3993d79c13de", - "type": "basic.inputLabel", + "id": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", + "type": "basic.input", "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "name": "", + "clock": false }, "position": { - "x": -224, - "y": -656 + "x": 376, + "y": 320 } }, { - "id": "22ff3fa1-943b-4d1a-bd89-36e1c054d077", - "type": "basic.output", + "id": "2cd40fd8-3a2b-46f7-a922-fedf146ed11a", + "type": "basic.constant", "data": { - "name": "" + "name": "not", + "value": "0", + "local": false }, "position": { - "x": 952, - "y": -600 + "x": 520, + "y": 160 } }, { - "id": "20d06e62-fd81-4956-b93c-ade0e616fb98", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "out" - }, + "id": "160f76e9-4d8d-424e-8689-bb890101823c", + "type": "3ba5d0ecbd8f55582a6307158732789df06cb74c", "position": { - "x": 816, - "y": -600 + "x": 520, + "y": 256 + }, + "size": { + "width": 96, + "height": 64 } }, { - "id": "c9e1af2a-6f09-4cf6-a5b3-fdf7ec2c6530", - "type": "basic.input", + "id": "019e81db-5707-409c-b159-b4cb29813cc4", + "type": "basic.info", "data": { - "name": "", - "clock": 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": -584 + "x": 632, + "y": 392 + }, + "size": { + "width": 336, + "height": 96 } }, { - "id": "b0e427bd-ce26-43b5-9d61-685f1c1ab922", - "type": "basic.inputLabel", + "id": "68880edb-df66-4540-8ee4-f3836fdb5f0e", + "type": "basic.info", "data": { - "blockColor": "fuchsia", - "name": "in", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "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": -224, - "y": -584 + "x": 728, + "y": 8 + }, + "size": { + "width": 296, + "height": 144 } }, { - "id": "5d12a177-7618-4517-9067-3012f7cb42ce", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" - }, + "id": "100882d4-91fe-428f-9ce9-9e02ed2b2a9d", + "type": "d1240143e1ff7afe57f0f11565da980612b2bb76", "position": { - "x": 552, - "y": -440 + "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": "2f1050dd-a720-4ede-890e-612ce370ba61", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "out", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "source": { + "block": "160f76e9-4d8d-424e-8689-bb890101823c", + "port": "5d443143-4aca-4d4f-ba40-2b88451b86d3" }, - "position": { - "x": 840, - "y": -352 + "target": { + "block": "100882d4-91fe-428f-9ce9-9e02ed2b2a9d", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" } }, { - "id": "761cc74e-6d08-4b08-acf3-70197fd7076a", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "in", - "oldBlockColor": "fuchsia" + "source": { + "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", + "port": "out" }, - "position": { - "x": 536, - "y": -352 + "target": { + "block": "100882d4-91fe-428f-9ce9-9e02ed2b2a9d", + "port": "97b51945-d716-4b6c-9db9-970d08541249" } }, { - "id": "c1243e04-edbf-4cc6-9d85-f7bf35ac1dae", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" + "source": { + "block": "100882d4-91fe-428f-9ce9-9e02ed2b2a9d", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, - "position": { - "x": 384, - "y": -288 + "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": "d8572528-e0db-413c-a4ff-64d8cfee021d", - "type": "basic.outputLabel", + "id": "5d443143-4aca-4d4f-ba40-2b88451b86d3", + "type": "basic.output", "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" + "name": "" }, "position": { - "x": 120, - "y": -232 + "x": 960, + "y": 248 } }, { - "id": "ba86528a-72e9-40f7-a1e6-c2e684026c24", - "type": "basic.outputLabel", + "id": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "type": "basic.constant", "data": { - "blockColor": "fuchsia", - "name": "in", - "oldBlockColor": "fuchsia" + "name": "", + "value": "0", + "local": false }, "position": { - "x": 120, - "y": -160 + "x": 728, + "y": 128 } }, { - "id": "3c0a5e86-2068-4aef-8ad9-34d39461ddfe", - "type": "93adf61bc489d9a96a344d3f2600237e9e19c607", + "id": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "type": "basic.code", + "data": { + "code": "assign k = VALUE;", + "params": [ + { + "name": "VALUE" + } + ], + "ports": { + "in": [], + "out": [ + { + "name": "k" + } + ] + } + }, "position": { - "x": 704, - "y": -368 + "x": 672, + "y": 248 }, "size": { - "width": 96, - "height": 96 + "width": 208, + "height": 64 } - }, - { - "id": "1be0ed57-ae41-4ca5-a8c0-3d70585336a6", - "type": "basic.info", - "data": { - "info": "Edge detector", - "readonly": true - }, - "position": { - "x": 248, - "y": -104 - }, - "size": { - "width": 128, - "height": 40 - } - }, + } + ], + "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 - }, - "position": { - "x": 376, - "y": -120 + "source": { + "block": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "port": "constant-out" }, - "size": { - "width": 288, - "height": 56 + "target": { + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "VALUE" } }, { - "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 - }, - "position": { - "x": 720, - "y": -456 + "source": { + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "k" }, - "size": { - "width": 304, - "height": 72 + "target": { + "block": "5d443143-4aca-4d4f-ba40-2b88451b86d3", + "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": "5ee60a84-8e65-49de-9b87-5afd9770b5a3", - "type": "basic.info", + "id": "18c2ebc7-5152-439c-9b3f-851c59bac834", + "type": "basic.input", "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 + "name": "" }, "position": { - "x": 432, - "y": -640 - }, - "size": { - "width": 360, - "height": 120 + "x": 120, + "y": 48 } }, { - "id": "f998abd9-dfc8-42d4-8816-c89f07a61e6f", - "type": "basic.info", + "id": "664caf9e-5f40-4df4-800a-b626af702e62", + "type": "basic.output", "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 + "name": "" }, "position": { - "x": -8, - "y": -648 - }, - "size": { - "width": 312, - "height": 128 + "x": 560, + "y": 72 } }, { - "id": "ababfa12-265a-4c7c-a482-8ed44cf9171c", - "type": "basic.info", + "id": "97b51945-d716-4b6c-9db9-970d08541249", + "type": "basic.input", "data": { - "info": "Stable output", - "readonly": true + "name": "" }, "position": { - "x": 880, - "y": -280 - }, - "size": { - "width": 136, - "height": 40 + "x": 120, + "y": 104 } }, { - "id": "656df089-b248-432e-b6b5-ecd4bb5cc8eb", - "type": "basic.info", + "id": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "type": "basic.code", "data": { - "info": "Counter", - "readonly": true - }, - "position": { - "x": 536, - "y": -232 - }, - "size": { - "width": 96, - "height": 40 - } - }, - { - "id": "97af60c6-97c3-4926-8aa7-784cf46fc642", - "type": "413e4acc2a97fd7f77adb67728d1ae7b4d24f155", - "position": { - "x": 520, - "y": -192 + "code": "//-- XOR gate\n//-- Verilog implementation\n\nassign c = a ^ b;\n", + "params": [], + "ports": { + "in": [ + { + "name": "a" + }, + { + "name": "b" + } + ], + "out": [ + { + "name": "c" + } + ] + } }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "af203e4e-327b-44bb-9195-e059b3b635c8", - "type": "3324889d602b184a4c2012938d6c0c3749a5c7e9", "position": { - "x": 248, - "y": -176 + "x": 256, + "y": 48 }, "size": { - "width": 96, - "height": 64 + "width": 272, + "height": 112 } } ], "wires": [ { "source": { - "block": "4bf41c17-a2da-4140-95f7-2a80d51b1e1a", + "block": "18c2ebc7-5152-439c-9b3f-851c59bac834", "port": "out" }, "target": { - "block": "a0474543-ff59-4f6f-8d2e-3993d79c13de", - "port": "inlabel" + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "a" } }, { "source": { - "block": "d8572528-e0db-413c-a4ff-64d8cfee021d", - "port": "outlabel" + "block": "97b51945-d716-4b6c-9db9-970d08541249", + "port": "out" }, "target": { - "block": "af203e4e-327b-44bb-9195-e059b3b635c8", - "port": "2708468d-1088-4570-be63-fb0d4799a941" + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "b" } }, { "source": { - "block": "5d12a177-7618-4517-9067-3012f7cb42ce", - "port": "outlabel" + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "c" }, "target": { - "block": "3c0a5e86-2068-4aef-8ad9-34d39461ddfe", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + "block": "664caf9e-5f40-4df4-800a-b626af702e62", + "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": [ { - "source": { - "block": "c1243e04-edbf-4cc6-9d85-f7bf35ac1dae", - "port": "outlabel" + "id": "4bf41c17-a2da-4140-95f7-2a80d51b1e1a", + "type": "basic.input", + "data": { + "name": "", + "clock": true }, - "target": { - "block": "97af60c6-97c3-4926-8aa7-784cf46fc642", - "port": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6" + "position": { + "x": -376, + "y": -656 } }, { - "source": { - "block": "c9e1af2a-6f09-4cf6-a5b3-fdf7ec2c6530", - "port": "out" + "id": "a0474543-ff59-4f6f-8d2e-3993d79c13de", + "type": "basic.inputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" }, - "target": { - "block": "b0e427bd-ce26-43b5-9d61-685f1c1ab922", - "port": "inlabel" + "position": { + "x": -224, + "y": -656 } }, { - "source": { - "block": "ba86528a-72e9-40f7-a1e6-c2e684026c24", - "port": "outlabel" + "id": "22ff3fa1-943b-4d1a-bd89-36e1c054d077", + "type": "basic.output", + "data": { + "name": "" }, - "target": { - "block": "af203e4e-327b-44bb-9195-e059b3b635c8", - "port": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff" + "position": { + "x": 952, + "y": -600 } }, { - "source": { - "block": "3c0a5e86-2068-4aef-8ad9-34d39461ddfe", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + "id": "20d06e62-fd81-4956-b93c-ade0e616fb98", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "out" }, - "target": { - "block": "2f1050dd-a720-4ede-890e-612ce370ba61", - "port": "inlabel" + "position": { + "x": 816, + "y": -600 } }, { - "source": { - "block": "20d06e62-fd81-4956-b93c-ade0e616fb98", - "port": "outlabel" + "id": "c9e1af2a-6f09-4cf6-a5b3-fdf7ec2c6530", + "type": "basic.input", + "data": { + "name": "", + "clock": false }, - "target": { - "block": "22ff3fa1-943b-4d1a-bd89-36e1c054d077", - "port": "in" + "position": { + "x": -376, + "y": -584 } }, { - "source": { - "block": "761cc74e-6d08-4b08-acf3-70197fd7076a", - "port": "outlabel" + "id": "b0e427bd-ce26-43b5-9d61-685f1c1ab922", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "in" }, - "target": { - "block": "3c0a5e86-2068-4aef-8ad9-34d39461ddfe", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + "position": { + "x": -224, + "y": -584 } }, { - "source": { - "block": "97af60c6-97c3-4926-8aa7-784cf46fc642", - "port": "88e0e872-0460-4ecc-bf26-8a7a5598a024" - }, - "target": { - "block": "3c0a5e86-2068-4aef-8ad9-34d39461ddfe", - "port": "4e3677f4-ae08-4a6f-80a7-ec71cd0c24b7" + "id": "5d12a177-7618-4517-9067-3012f7cb42ce", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk", + "oldBlockColor": "fuchsia" }, - "vertices": [] + "position": { + "x": 552, + "y": -440 + } }, { - "source": { - "block": "af203e4e-327b-44bb-9195-e059b3b635c8", - "port": "1c25e08e-e664-4fab-9b30-cedc1f8a3739" + "id": "2f1050dd-a720-4ede-890e-612ce370ba61", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "out", + "oldBlockColor": "fuchsia" }, - "target": { - "block": "97af60c6-97c3-4926-8aa7-784cf46fc642", - "port": "2a921d76-1cbd-48fe-82a9-11b0ab4dbc06" + "position": { + "x": 840, + "y": -352 } - } - ] - } - } - }, - "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", + "id": "761cc74e-6d08-4b08-acf3-70197fd7076a", + "type": "basic.outputLabel", "data": { - "name": "", - "clock": true + "blockColor": "fuchsia", + "name": "in", + "oldBlockColor": "fuchsia" }, "position": { - "x": 216, - "y": 104 + "x": 536, + "y": -352 } }, { - "id": "bf2f0c53-2d04-4cba-aa70-2df85502d24f", - "type": "basic.input", + "id": "c1243e04-edbf-4cc6-9d85-f7bf35ac1dae", + "type": "basic.outputLabel", "data": { - "name": "d", - "clock": false + "blockColor": "yellow", + "name": "clk", + "oldBlockColor": "fuchsia" }, "position": { - "x": 216, - "y": 192 + "x": 384, + "y": -288 } }, { - "id": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78", - "type": "basic.output", + "id": "d8572528-e0db-413c-a4ff-64d8cfee021d", + "type": "basic.outputLabel", "data": { - "name": "" + "blockColor": "yellow", + "name": "clk", + "oldBlockColor": "fuchsia" }, "position": { - "x": 728, - "y": 192 + "x": 112, + "y": -248 } }, { - "id": "4e3677f4-ae08-4a6f-80a7-ec71cd0c24b7", - "type": "basic.input", + "id": "ba86528a-72e9-40f7-a1e6-c2e684026c24", + "type": "basic.outputLabel", "data": { - "name": "load", - "clock": false + "blockColor": "fuchsia", + "name": "in", + "oldBlockColor": "fuchsia" }, "position": { - "x": 240, - "y": 320 + "x": 112, + "y": -176 } }, { - "id": "65194b18-5d2a-41b2-bd86-01be99978ad6", - "type": "basic.constant", + "id": "1be0ed57-ae41-4ca5-a8c0-3d70585336a6", + "type": "basic.info", "data": { - "name": "", - "value": "0", - "local": false + "info": "Edge detector", + "readonly": true }, "position": { - "x": 472, - "y": 56 + "x": 240, + "y": -120 + }, + "size": { + "width": 128, + "height": 40 } }, { - "id": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "type": "basic.code", + "id": "cabf3c3d-a707-4e06-be9a-4a66817c7a26", + "type": "basic.info", "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" - } - ] - } + "info": "Whenever there is a change in \nthe input, the counter is started", + "readonly": true }, "position": { - "x": 384, - "y": 168 + "x": 368, + "y": -88 }, "size": { - "width": 272, - "height": 104 + "width": 288, + "height": 56 } }, { - "id": "3df131d9-1f78-4d88-bd06-bcbe95855d01", + "id": "6dcd32b7-40bd-433d-a1e2-222636c19f2f", "type": "basic.info", "data": { - "info": "Initial value", + "info": "If the counter reaches it maximum \nvalue, the input is considered stable \nand it is captured", "readonly": true }, "position": { - "x": 480, - "y": 48 + "x": 720, + "y": -456 }, "size": { - "width": 136, - "height": 32 + "width": 304, + "height": 72 } - } - ], - "wires": [ + }, { - "source": { - "block": "3943e194-090b-4553-9df3-88bc4b17abc2", - "port": "out" + "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 }, - "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "clk" + "position": { + "x": 432, + "y": -640 + }, + "size": { + "width": 360, + "height": 120 } }, { - "source": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "q" + "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 }, - "target": { - "block": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78", - "port": "in" + "position": { + "x": -8, + "y": -648 + }, + "size": { + "width": 312, + "height": 128 } }, { - "source": { - "block": "65194b18-5d2a-41b2-bd86-01be99978ad6", - "port": "constant-out" + "id": "ababfa12-265a-4c7c-a482-8ed44cf9171c", + "type": "basic.info", + "data": { + "info": "Stable output", + "readonly": true }, - "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "INI" + "position": { + "x": 880, + "y": -280 + }, + "size": { + "width": 136, + "height": 40 } }, { - "source": { - "block": "bf2f0c53-2d04-4cba-aa70-2df85502d24f", - "port": "out" + "id": "656df089-b248-432e-b6b5-ecd4bb5cc8eb", + "type": "basic.info", + "data": { + "info": "Counter", + "readonly": true }, - "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "d" + "position": { + "x": 536, + "y": -232 + }, + "size": { + "width": 96, + "height": 40 } }, { - "source": { - "block": "4e3677f4-ae08-4a6f-80a7-ec71cd0c24b7", - "port": "out" + "id": "a409a5ab-68e2-4e36-b698-f6c309afdd54", + "type": "1ed41a9f9beacd7b446f07558a35d3b77dc87319", + "position": { + "x": 240, + "y": -192 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "626e9279-30e7-4e81-8427-1f969a1f7789", + "type": "8a23ffd0491010ff595493182b82c722bd6902d7", + "position": { + "x": 704, + "y": -368 + }, + "size": { + "width": 96, + "height": 96 + } + }, + { + "id": "3bc0627a-8d4d-4e19-a4aa-83b0dbfa525a", + "type": "e8e3e62a1e1b5f4e98c7e128c7cd1bdf59b8f307", + "position": { + "x": 520, + "y": -192 + }, + "size": { + "width": 96, + "height": 64 + } + } + ], + "wires": [ + { + "source": { + "block": "4bf41c17-a2da-4140-95f7-2a80d51b1e1a", + "port": "out" }, "target": { - "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", - "port": "load" + "block": "a0474543-ff59-4f6f-8d2e-3993d79c13de", + "port": "inlabel" + } + }, + { + "source": { + "block": "d8572528-e0db-413c-a4ff-64d8cfee021d", + "port": "outlabel" + }, + "target": { + "block": "a409a5ab-68e2-4e36-b698-f6c309afdd54", + "port": "2708468d-1088-4570-be63-fb0d4799a941" + } + }, + { + "source": { + "block": "5d12a177-7618-4517-9067-3012f7cb42ce", + "port": "outlabel" + }, + "target": { + "block": "626e9279-30e7-4e81-8427-1f969a1f7789", + "port": "df0c1bb1-f8ef-49f3-b71f-9384c29a9735" + } + }, + { + "source": { + "block": "c1243e04-edbf-4cc6-9d85-f7bf35ac1dae", + "port": "outlabel" + }, + "target": { + "block": "3bc0627a-8d4d-4e19-a4aa-83b0dbfa525a", + "port": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6" + } + }, + { + "source": { + "block": "c9e1af2a-6f09-4cf6-a5b3-fdf7ec2c6530", + "port": "out" + }, + "target": { + "block": "b0e427bd-ce26-43b5-9d61-685f1c1ab922", + "port": "inlabel" + } + }, + { + "source": { + "block": "ba86528a-72e9-40f7-a1e6-c2e684026c24", + "port": "outlabel" + }, + "target": { + "block": "a409a5ab-68e2-4e36-b698-f6c309afdd54", + "port": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff" + } + }, + { + "source": { + "block": "626e9279-30e7-4e81-8427-1f969a1f7789", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + }, + "target": { + "block": "2f1050dd-a720-4ede-890e-612ce370ba61", + "port": "inlabel" + } + }, + { + "source": { + "block": "20d06e62-fd81-4956-b93c-ade0e616fb98", + "port": "outlabel" + }, + "target": { + "block": "22ff3fa1-943b-4d1a-bd89-36e1c054d077", + "port": "in" + } + }, + { + "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" } } ] } } }, - "413e4acc2a97fd7f77adb67728d1ae7b4d24f155": { + "1ed41a9f9beacd7b446f07558a35d3b77dc87319": { "package": { - "name": "syscounter-rst-16bits", - "version": "0.1", - "description": "16-bits Syscounter with reset", + "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=%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 + "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": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", - "type": "basic.input", + "id": "913b2fb3-8676-42d8-bd97-97880350317d", + "type": "basic.output", "data": { - "name": "", - "clock": true + "name": "nc" }, "position": { - "x": 216, - "y": -120 + "x": 624, + "y": 120 } }, { - "id": "0a772657-8018-424d-8f04-75d3ffff3692", - "type": "basic.inputLabel", + "id": "2708468d-1088-4570-be63-fb0d4799a941", + "type": "basic.input", "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "name": "", + "clock": true }, "position": { - "x": 368, - "y": -120 + "x": 88, + "y": 152 } }, { - "id": "b9359b10-b14f-4dd7-adf9-3f4f22bc65e6", - "type": "basic.outputLabel", + "id": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", + "type": "basic.input", "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" + "name": "", + "clock": false }, "position": { - "x": 384, - "y": -32 + "x": 88, + "y": 280 } }, { - "id": "217e7560-fd53-4db7-b08f-c9e027e3ba4e", - "type": "basic.outputLabel", + "id": "1c25e08e-e664-4fab-9b30-cedc1f8a3739", + "type": "basic.output", "data": { - "name": "q", - "range": "[15:0]", - "blockColor": "fuchsia", - "size": 16 + "name": "" }, "position": { - "x": 1040, - "y": -32 + "x": 616, + "y": 352 } }, { - "id": "9c188e62-dea5-47d2-bfb6-b8379f6c7637", - "type": "basic.output", + "id": "49c0a94e-2687-4aa4-8cba-327b2942095f", + "type": "basic.info", "data": { - "name": "q", - "range": "[15:0]", - "size": 16 + "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": 1216, - "y": -32 + "x": 104, + "y": -40 + }, + "size": { + "width": 648, + "height": 96 } }, { - "id": "88e0e872-0460-4ecc-bf26-8a7a5598a024", - "type": "basic.output", + "id": "a6ea5e17-d259-4272-8d1c-87a6a7fe3235", + "type": "basic.info", "data": { - "name": "max" + "info": "Input signal", + "readonly": true }, "position": { - "x": 1208, - "y": 56 + "x": 96, + "y": 256 + }, + "size": { + "width": 136, + "height": 40 } }, { - "id": "06c393de-8af4-4b53-852c-b0e0160b5314", - "type": "basic.outputLabel", + "id": "d0d6c668-3c03-42f5-9244-9a0431f11a87", + "type": "basic.info", "data": { - "blockColor": "fuchsia", - "name": "c" + "info": "System clock", + "readonly": true }, "position": { - "x": 1048, - "y": 56 + "x": 104, + "y": 120 + }, + "size": { + "width": 96, + "height": 48 } }, { - "id": "2a921d76-1cbd-48fe-82a9-11b0ab4dbc06", - "type": "basic.input", + "id": "f18011f4-eb45-4f91-9716-c1d8c99f1845", + "type": "basic.info", "data": { - "name": "rst", - "clock": false + "info": "Current signal \nstate", + "readonly": true }, "position": { - "x": 216, - "y": 56 + "x": 160, + "y": 352 + }, + "size": { + "width": 168, + "height": 48 } }, { - "id": "b34779b6-0670-454d-8d35-9f92e6ff15cf", - "type": "basic.inputLabel", + "id": "ab801839-c115-4e44-adb7-349586890b97", + "type": "basic.info", "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" + "info": "Signal state in the previous \nclock cycle", + "readonly": true }, "position": { - "x": 704, - "y": 56 + "x": 328, + "y": 200 + }, + "size": { + "width": 248, + "height": 48 } }, { - "id": "cd9b7fce-c943-4b4c-a716-94f2cd21ccda", - "type": "basic.inputLabel", + "id": "fde5c436-d382-48e7-80b5-390c05f46b9d", + "type": "basic.info", "data": { - "blockColor": "fuchsia", - "name": "c", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true + "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": 856, - "y": 144 + "x": 504, + "y": 264 + }, + "size": { + "width": 400, + "height": 72 } }, { - "id": "a7bb7b85-1388-4ddb-a3ad-5d207c2c1f96", - "type": "bc711b66856fc03718ca2669a0c67f34806c8a9d", + "id": "4a6c58dc-e4cb-43b8-8a52-07ef0aa616f6", + "type": "d1240143e1ff7afe57f0f11565da980612b2bb76", "position": { - "x": 544, - "y": 40 + "x": 480, + "y": 352 }, "size": { "width": 96, - "height": 96 + "height": 64 } }, { - "id": "230ff023-e330-4c47-84fb-8366ab5fdbd4", - "type": "8ecd5933e4bd5916eca00d6b654d6760012c47a6", + "id": "5590cf27-7da8-4183-b70c-0c9fda4a6dc0", + "type": "basic.info", + "data": { + "info": "In any other case the output is 0", + "readonly": true + }, "position": { - "x": 720, - "y": 160 + "x": 520, + "y": 432 + }, + "size": { + "width": 296, + "height": 40 + } + }, + { + "id": "932daa85-b751-4060-a7fa-d517b2c7eaa7", + "type": "58ed2b5c7e33e2f215ccba6c101d9ea4ff60f284", + "position": { + "x": 320, + "y": 264 }, "size": { "width": 96, @@ -3622,243 +3817,276 @@ "wires": [ { "source": { - "block": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", + "block": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", "port": "out" }, "target": { - "block": "0a772657-8018-424d-8f04-75d3ffff3692", - "port": "inlabel" - }, - "vertices": [] - }, - { - "source": { - "block": "230ff023-e330-4c47-84fb-8366ab5fdbd4", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" - }, - "target": { - "block": "cd9b7fce-c943-4b4c-a716-94f2cd21ccda", - "port": "inlabel" - }, - "vertices": [] + "block": "932daa85-b751-4060-a7fa-d517b2c7eaa7", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + } }, { "source": { - "block": "b9359b10-b14f-4dd7-adf9-3f4f22bc65e6", - "port": "outlabel" + "block": "2708468d-1088-4570-be63-fb0d4799a941", + "port": "out" }, "target": { - "block": "a7bb7b85-1388-4ddb-a3ad-5d207c2c1f96", - "port": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6" + "block": "932daa85-b751-4060-a7fa-d517b2c7eaa7", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" } }, { "source": { - "block": "06c393de-8af4-4b53-852c-b0e0160b5314", - "port": "outlabel" + "block": "4a6c58dc-e4cb-43b8-8a52-07ef0aa616f6", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, "target": { - "block": "88e0e872-0460-4ecc-bf26-8a7a5598a024", + "block": "1c25e08e-e664-4fab-9b30-cedc1f8a3739", "port": "in" } }, { "source": { - "block": "a7bb7b85-1388-4ddb-a3ad-5d207c2c1f96", - "port": "710d9d0b-6550-4778-b5b4-c13ff8974876", - "size": 16 - }, - "target": { - "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" + "block": "932daa85-b751-4060-a7fa-d517b2c7eaa7", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" }, "target": { - "block": "a7bb7b85-1388-4ddb-a3ad-5d207c2c1f96", - "port": "159f86de-af0f-4f1a-9a93-7e8149d5d322" + "block": "4a6c58dc-e4cb-43b8-8a52-07ef0aa616f6", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" } }, { "source": { - "block": "a7bb7b85-1388-4ddb-a3ad-5d207c2c1f96", - "port": "710d9d0b-6550-4778-b5b4-c13ff8974876" - }, - "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" + "block": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", + "port": "out" }, "target": { - "block": "a7bb7b85-1388-4ddb-a3ad-5d207c2c1f96", - "port": "ccf3fe71-4cdb-4e98-9ecd-d0083cfb1170" + "block": "4a6c58dc-e4cb-43b8-8a52-07ef0aa616f6", + "port": "97b51945-d716-4b6c-9db9-970d08541249" }, "vertices": [ { - "x": 840, - "y": 264 + "x": 264, + "y": 368 } - ], - "size": 16 + ] } ] } } }, - "bc711b66856fc03718ca2669a0c67f34806c8a9d": { + "8a23ffd0491010ff595493182b82c722bd6902d7": { "package": { - "name": "DFF-rst-x16", - "version": "0.1", - "description": "DFF-rst-x16: 16 D flip-flops in paralell with reset", + "name": "DFF-verilog", + "version": "0.2", + "description": "DFF. D Flip-flop. 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 + "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": "05abbe4c-682c-4e96-9360-fa14c9626570", - "type": "basic.outputLabel", + "id": "df0c1bb1-f8ef-49f3-b71f-9384c29a9735", + "type": "basic.input", "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" + "name": "", + "clock": true }, "position": { - "x": -136, - "y": -448 + "x": 128, + "y": 424 } }, { - "id": "81f40927-8dde-4218-9855-3b92f1892e56", - "type": "basic.outputLabel", + "id": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", + "type": "basic.input", "data": { - "blockColor": "navy", - "name": "rst", - "oldBlockColor": "fuchsia" + "name": "d", + "clock": false }, "position": { - "x": -136, - "y": -376 + "x": 128, + "y": 536 } }, { - "id": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", + "data": { + "name": "" + }, + "position": { + "x": 824, + "y": 536 + } + }, + { + "id": "58d2c88e-2434-438f-986b-0f5b9c3654ca", "type": "basic.input", + "data": { + "name": "load", + "clock": false + }, + "position": { + "x": 128, + "y": 648 + } + }, + { + "id": "be33796a-a109-4ab0-a53b-dd6ec67587cd", + "type": "basic.constant", "data": { "name": "", - "clock": true + "value": "0", + "local": false }, "position": { - "x": -632, - "y": -264 + "x": 488, + "y": 280 } }, { - "id": "0a772657-8018-424d-8f04-75d3ffff3692", - "type": "basic.inputLabel", + "id": "5bffd6ef-bb9d-4d3f-a4f0-f91c6040ddc5", + "type": "basic.code", "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "d" + }, + { + "name": "load" + } + ], + "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 //-- 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": -480, - "y": -264 + "x": 320, + "y": 400 + }, + "size": { + "width": 424, + "height": 336 + } + } + ], + "wires": [ + { + "source": { + "block": "df0c1bb1-f8ef-49f3-b71f-9384c29a9735", + "port": "out" + }, + "target": { + "block": "5bffd6ef-bb9d-4d3f-a4f0-f91c6040ddc5", + "port": "clk" } }, { - "id": "cf0ec9b2-9d62-4940-aa5c-aeb5598d4206", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" + "source": { + "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", + "port": "out" }, - "position": { - "x": -112, - "y": -216 + "target": { + "block": "5bffd6ef-bb9d-4d3f-a4f0-f91c6040ddc5", + "port": "d" + } + }, + { + "source": { + "block": "58d2c88e-2434-438f-986b-0f5b9c3654ca", + "port": "out" + }, + "target": { + "block": "5bffd6ef-bb9d-4d3f-a4f0-f91c6040ddc5", + "port": "load" + } + }, + { + "source": { + "block": "5bffd6ef-bb9d-4d3f-a4f0-f91c6040ddc5", + "port": "q" + }, + "target": { + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" } }, { - "id": "159f86de-af0f-4f1a-9a93-7e8149d5d322", + "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": { - "name": "rst", - "clock": false + "name": "", + "clock": true }, "position": { - "x": -624, - "y": -192 + "x": 216, + "y": -120 } }, { - "id": "eae23d49-1710-4ffb-9162-8c4238e16af9", + "id": "0a772657-8018-424d-8f04-75d3ffff3692", "type": "basic.inputLabel", "data": { - "blockColor": "navy", - "name": "rst", + "blockColor": "yellow", + "name": "clk", "pins": [ { "index": "0", - "name": "NULL", - "value": "NULL" + "name": "", + "value": "" } ], "virtual": true }, "position": { - "x": -480, - "y": -192 - } - }, - { - "id": "95c3db7f-827e-4950-8a74-ed4c855b1e80", - "type": "basic.outputLabel", - "data": { - "blockColor": "navy", - "name": "rst", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": -112, - "y": -144 + "x": 368, + "y": -120 } }, { - "id": "7a94a774-819e-4796-ad92-2b9f0a06e828", + "id": "b9359b10-b14f-4dd7-adf9-3f4f22bc65e6", "type": "basic.outputLabel", "data": { "blockColor": "yellow", @@ -3866,3021 +4094,691 @@ "oldBlockColor": "fuchsia" }, "position": { - "x": -112, - "y": -8 + "x": 384, + "y": -32 } }, { - "id": "35ac40b6-de26-493f-b22e-d15895042a60", + "id": "217e7560-fd53-4db7-b08f-c9e027e3ba4e", "type": "basic.outputLabel", "data": { - "blockColor": "navy", - "name": "rst", - "oldBlockColor": "fuchsia" + "name": "q", + "range": "[15:0]", + "blockColor": "fuchsia", + "size": 16 }, "position": { - "x": -128, - "y": 72 + "x": 1040, + "y": -32 } }, { - "id": "710d9d0b-6550-4778-b5b4-c13ff8974876", + "id": "9c188e62-dea5-47d2-bfb6-b8379f6c7637", "type": "basic.output", "data": { - "name": "", + "name": "q", "range": "[15:0]", "size": 16 }, "position": { - "x": 568, - "y": 104 + "x": 1216, + "y": -32 } }, { - "id": "ccf3fe71-4cdb-4e98-9ecd-d0083cfb1170", - "type": "basic.input", + "id": "88e0e872-0460-4ecc-bf26-8a7a5598a024", + "type": "basic.output", "data": { - "name": "", - "range": "[15:0]", - "clock": false, - "size": 16 + "name": "max" }, "position": { - "x": -576, - "y": 136 + "x": 1208, + "y": 56 } }, { - "id": "fdb3de4d-1a1f-420d-83f5-652d30cd8ca3", + "id": "06c393de-8af4-4b53-852c-b0e0160b5314", "type": "basic.outputLabel", "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" + "blockColor": "fuchsia", + "name": "c" }, "position": { - "x": -128, - "y": 248 + "x": 1048, + "y": 56 } }, { - "id": "719d7e53-bdb2-40e8-8bed-c86a12749e88", - "type": "basic.outputLabel", + "id": "2a921d76-1cbd-48fe-82a9-11b0ab4dbc06", + "type": "basic.input", "data": { - "blockColor": "navy", "name": "rst", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": -128, - "y": 312 - } - }, - { - "id": "f071a293-16e9-4c8b-8494-14b7f15033a3", - "type": "5c75f6e4f841e85f7c34d83b9cc081ef669dd12d", - "position": { - "x": 48, - "y": 352 - }, - "size": { - "width": 96, - "height": 96 - } - }, - { - "id": "03291097-00e3-48db-9044-3c73ed88eeb8", - "type": "5c75f6e4f841e85f7c34d83b9cc081ef669dd12d", - "position": { - "x": 40, - "y": 104 - }, - "size": { - "width": 96, - "height": 96 - } - }, - { - "id": "3b9c2480-7e90-4a8f-90ad-2c5c08bcc5f1", - "type": "852bc8c84d29887beb3432bd25e5e7b6419b7f06", - "position": { - "x": -400, - "y": 104 - }, - "size": { - "width": 96, - "height": 128 - } - }, - { - "id": "853ca8c5-b04e-4433-a26b-bf6bd662b674", - "type": "401a2859b9822a66cc19b8c5277d4c310a836edd", - "position": { - "x": 384, - "y": 72 + "clock": false }, - "size": { - "width": 96, - "height": 128 - } - }, - { - "id": "d0c1a36f-1bb8-46af-a2f8-088defad2415", - "type": "5c75f6e4f841e85f7c34d83b9cc081ef669dd12d", "position": { - "x": 48, - "y": -152 - }, - "size": { - "width": 96, - "height": 96 + "x": 216, + "y": 56 } }, { - "id": "6b1c8363-ae57-4448-baa0-6e564446fbe0", - "type": "5c75f6e4f841e85f7c34d83b9cc081ef669dd12d", - "position": { - "x": 64, - "y": -360 - }, - "size": { - "width": 96, - "height": 96 + "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 } - } - ], - "wires": [ + }, { - "source": { - "block": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", - "port": "out" - }, - "target": { - "block": "0a772657-8018-424d-8f04-75d3ffff3692", - "port": "inlabel" + "id": "cd9b7fce-c943-4b4c-a716-94f2cd21ccda", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "c", + "pins": [ + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true }, - "vertices": [] + "position": { + "x": 856, + "y": 144 + } }, { - "source": { - "block": "159f86de-af0f-4f1a-9a93-7e8149d5d322", - "port": "out" + "id": "230ff023-e330-4c47-84fb-8366ab5fdbd4", + "type": "8ecd5933e4bd5916eca00d6b654d6760012c47a6", + "position": { + "x": 720, + "y": 160 }, - "target": { - "block": "eae23d49-1710-4ffb-9162-8c4238e16af9", - "port": "inlabel" + "size": { + "width": 96, + "height": 64 } }, { - "source": { - "block": "7a94a774-819e-4796-ad92-2b9f0a06e828", - "port": "outlabel" + "id": "de292739-9119-4a80-832d-033be6a9ffbe", + "type": "0788ea6614e4f073f6ed9a49665243d6d489ba46", + "position": { + "x": 544, + "y": 40 }, - "target": { - "block": "03291097-00e3-48db-9044-3c73ed88eeb8", - "port": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6" + "size": { + "width": 96, + "height": 96 } - }, + } + ], + "wires": [ { "source": { - "block": "35ac40b6-de26-493f-b22e-d15895042a60", - "port": "outlabel" + "block": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", + "port": "out" }, "target": { - "block": "03291097-00e3-48db-9044-3c73ed88eeb8", - "port": "159f86de-af0f-4f1a-9a93-7e8149d5d322" + "block": "0a772657-8018-424d-8f04-75d3ffff3692", + "port": "inlabel" }, - "vertices": [ - { - "x": 0, - "y": 112 - } - ] + "vertices": [] }, { "source": { - "block": "719d7e53-bdb2-40e8-8bed-c86a12749e88", - "port": "outlabel" + "block": "230ff023-e330-4c47-84fb-8366ab5fdbd4", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "f071a293-16e9-4c8b-8494-14b7f15033a3", - "port": "159f86de-af0f-4f1a-9a93-7e8149d5d322" + "block": "cd9b7fce-c943-4b4c-a716-94f2cd21ccda", + "port": "inlabel" }, - "vertices": [ - { - "x": -8, - "y": 376 - } - ] + "vertices": [] }, { "source": { - "block": "fdb3de4d-1a1f-420d-83f5-652d30cd8ca3", + "block": "b9359b10-b14f-4dd7-adf9-3f4f22bc65e6", "port": "outlabel" }, "target": { - "block": "f071a293-16e9-4c8b-8494-14b7f15033a3", - "port": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6" + "block": "de292739-9119-4a80-832d-033be6a9ffbe", + "port": "0ae5a502-ee21-47ad-bacb-405a35a87a91" } }, { "source": { - "block": "cf0ec9b2-9d62-4940-aa5c-aeb5598d4206", + "block": "06c393de-8af4-4b53-852c-b0e0160b5314", "port": "outlabel" }, "target": { - "block": "d0c1a36f-1bb8-46af-a2f8-088defad2415", - "port": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6" + "block": "88e0e872-0460-4ecc-bf26-8a7a5598a024", + "port": "in" } }, { "source": { - "block": "95c3db7f-827e-4950-8a74-ed4c855b1e80", - "port": "outlabel" + "block": "de292739-9119-4a80-832d-033be6a9ffbe", + "port": "7995c7b0-4a39-4a19-aaa4-68f4e469912f", + "size": 16 }, "target": { - "block": "d0c1a36f-1bb8-46af-a2f8-088defad2415", - "port": "159f86de-af0f-4f1a-9a93-7e8149d5d322" - } - }, - { - "source": { - "block": "05abbe4c-682c-4e96-9360-fa14c9626570", - "port": "outlabel" + "block": "b34779b6-0670-454d-8d35-9f92e6ff15cf", + "port": "inlabel" }, - "target": { - "block": "6b1c8363-ae57-4448-baa0-6e564446fbe0", - "port": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6" - } + "size": 16 }, { "source": { - "block": "81f40927-8dde-4218-9855-3b92f1892e56", + "block": "217e7560-fd53-4db7-b08f-c9e027e3ba4e", "port": "outlabel" }, "target": { - "block": "6b1c8363-ae57-4448-baa0-6e564446fbe0", - "port": "159f86de-af0f-4f1a-9a93-7e8149d5d322" + "block": "9c188e62-dea5-47d2-bfb6-b8379f6c7637", + "port": "in", + "size": 16 }, - "vertices": [ - { - "x": 8, - "y": -328 - } - ] + "size": 16 }, { "source": { - "block": "ccf3fe71-4cdb-4e98-9ecd-d0083cfb1170", + "block": "2a921d76-1cbd-48fe-82a9-11b0ab4dbc06", "port": "out" }, "target": { - "block": "3b9c2480-7e90-4a8f-90ad-2c5c08bcc5f1", - "port": "a0c9783a-c287-45a7-bfc7-9da552cf732f" - }, - "size": 16 + "block": "de292739-9119-4a80-832d-033be6a9ffbe", + "port": "892d93f1-9c4c-46c1-82c7-ff9702a5725a" + } }, { "source": { - "block": "853ca8c5-b04e-4433-a26b-bf6bd662b674", - "port": "79c56f9a-597f-491e-b1d1-d321f63303c2" + "block": "de292739-9119-4a80-832d-033be6a9ffbe", + "port": "7995c7b0-4a39-4a19-aaa4-68f4e469912f" }, "target": { - "block": "710d9d0b-6550-4778-b5b4-c13ff8974876", - "port": "in" + "block": "230ff023-e330-4c47-84fb-8366ab5fdbd4", + "port": "cc343d02-8e43-4dd6-9999-21e29934ed5b" }, + "vertices": [], "size": 16 }, { "source": { - "block": "3b9c2480-7e90-4a8f-90ad-2c5c08bcc5f1", - "port": "df399ca5-160e-470b-90e2-3c3b488cda5e" + "block": "230ff023-e330-4c47-84fb-8366ab5fdbd4", + "port": "a7420015-7f67-4b9a-9dba-b3a58ce79fdc" }, "target": { - "block": "f071a293-16e9-4c8b-8494-14b7f15033a3", - "port": "26833303-0a1a-4750-8546-b98e2fdfdd82" + "block": "de292739-9119-4a80-832d-033be6a9ffbe", + "port": "c48a2779-52ed-4dde-8f95-e8ce67397de8" }, "vertices": [ { - "x": -272, - "y": 368 + "x": 840, + "y": 264 } ], - "size": 4 - }, + "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": "3b9c2480-7e90-4a8f-90ad-2c5c08bcc5f1", - "port": "b69090a8-121e-4bcb-8e4b-55faee72dc70" - }, - "target": { - "block": "03291097-00e3-48db-9044-3c73ed88eeb8", - "port": "26833303-0a1a-4750-8546-b98e2fdfdd82" + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", + "data": { + "name": "c" }, - "size": 4 + "position": { + "x": 624, + "y": -168 + } }, { - "source": { - "block": "3b9c2480-7e90-4a8f-90ad-2c5c08bcc5f1", - "port": "48ab86b5-3c15-47e8-97b4-bdba0d4c95a9" - }, - "target": { - "block": "d0c1a36f-1bb8-46af-a2f8-088defad2415", - "port": "26833303-0a1a-4750-8546-b98e2fdfdd82" + "id": "cc343d02-8e43-4dd6-9999-21e29934ed5b", + "type": "basic.input", + "data": { + "name": "", + "range": "[15:0]", + "clock": false, + "size": 16 }, - "vertices": [ - { - "x": -160, - "y": -16 - } - ], - "size": 4 + "position": { + "x": 280, + "y": -152 + } }, { - "source": { - "block": "3b9c2480-7e90-4a8f-90ad-2c5c08bcc5f1", - "port": "8bbb6d1c-9f19-4d90-937c-492fec692420" + "id": "a7420015-7f67-4b9a-9dba-b3a58ce79fdc", + "type": "basic.output", + "data": { + "name": "s", + "range": "[15:0]", + "size": 16 }, - "target": { - "block": "6b1c8363-ae57-4448-baa0-6e564446fbe0", - "port": "26833303-0a1a-4750-8546-b98e2fdfdd82" + "position": { + "x": 624, + "y": -104 + } + }, + { + "id": "cd0d6f4d-9898-4114-94a9-0b4b98223c27", + "type": "basic.constant", + "data": { + "name": "", + "value": "1", + "local": true }, - "vertices": [ - { - "x": -184, - "y": -184 - } - ], - "size": 4 + "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": "f071a293-16e9-4c8b-8494-14b7f15033a3", - "port": "571d3fa4-680d-4422-92c6-b3b1dcd4fa8b" + "block": "12fb4602-d67f-4129-a777-f04945adf29d", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "853ca8c5-b04e-4433-a26b-bf6bd662b674", - "port": "7f009181-43fb-4806-a540-c2049656ce40" - }, - "size": 4 + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" + } }, { "source": { - "block": "03291097-00e3-48db-9044-3c73ed88eeb8", - "port": "571d3fa4-680d-4422-92c6-b3b1dcd4fa8b" + "block": "cd0d6f4d-9898-4114-94a9-0b4b98223c27", + "port": "constant-out" }, "target": { - "block": "853ca8c5-b04e-4433-a26b-bf6bd662b674", - "port": "d250cf47-8011-489b-8ddf-cc19f9e3f937" - }, - "size": 4 + "block": "12fb4602-d67f-4129-a777-f04945adf29d", + "port": "e728fdca-755f-4f2d-98e7-0716b1c5258f" + } }, { "source": { - "block": "d0c1a36f-1bb8-46af-a2f8-088defad2415", - "port": "571d3fa4-680d-4422-92c6-b3b1dcd4fa8b" + "block": "cc343d02-8e43-4dd6-9999-21e29934ed5b", + "port": "out" }, "target": { - "block": "853ca8c5-b04e-4433-a26b-bf6bd662b674", - "port": "b875d929-cdf0-4d61-bf25-af544dcb5ff8" + "block": "12fb4602-d67f-4129-a777-f04945adf29d", + "port": "1253e5dc-89f9-4074-874c-82628c0e1d6f" }, - "vertices": [ - { - "x": 208, - "y": 24 - } - ], - "size": 4 + "size": 16 }, { "source": { - "block": "6b1c8363-ae57-4448-baa0-6e564446fbe0", - "port": "571d3fa4-680d-4422-92c6-b3b1dcd4fa8b" + "block": "12fb4602-d67f-4129-a777-f04945adf29d", + "port": "f4640f0f-2d2b-40c6-adb2-2581f7d1f9a7" }, "target": { - "block": "853ca8c5-b04e-4433-a26b-bf6bd662b674", - "port": "79aa8ee8-2337-4ceb-b930-7e6cea70b9df" + "block": "a7420015-7f67-4b9a-9dba-b3a58ce79fdc", + "port": "in" }, - "vertices": [ - { - "x": 280, - "y": -128 - } - ], - "size": 4 + "size": 16 } ] } } }, - "5c75f6e4f841e85f7c34d83b9cc081ef669dd12d": { + "26569688c377bf52132e5f1de5a15da7143d9388": { "package": { - "name": "DFF-rst-x04", + "name": "AdderK-16bits", "version": "0.1", - "description": "DFF-rst-x04: Three D flip-flops in paralell with reset", + "description": "AdderK-16bit: Adder of 16-bit operand and 16-bit constant", "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 + "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": "7a94a774-819e-4796-ad92-2b9f0a06e828", - "type": "basic.outputLabel", + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" + "name": "c" }, "position": { - "x": -160, - "y": -336 + "x": 624, + "y": -168 } }, { - "id": "35ac40b6-de26-493f-b22e-d15895042a60", - "type": "basic.outputLabel", + "id": "f4640f0f-2d2b-40c6-adb2-2581f7d1f9a7", + "type": "basic.output", "data": { - "blockColor": "navy", - "name": "rst", - "oldBlockColor": "fuchsia" + "name": "s", + "range": "[15:0]", + "size": 16 }, "position": { - "x": -168, - "y": -280 + "x": 624, + "y": -96 } }, { - "id": "ca7c5f10-efb6-43f9-9364-52d751fc0bc6", + "id": "1253e5dc-89f9-4074-874c-82628c0e1d6f", "type": "basic.input", "data": { "name": "", - "clock": true + "range": "[15:0]", + "clock": false, + "size": 16 }, "position": { - "x": -496, - "y": -256 + "x": 232, + "y": -56 } }, { - "id": "0a772657-8018-424d-8f04-75d3ffff3692", - "type": "basic.inputLabel", + "id": "e728fdca-755f-4f2d-98e7-0716b1c5258f", + "type": "basic.constant", "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "name": "", + "value": "0", + "local": false }, "position": { - "x": -344, - "y": -256 + "x": 232, + "y": -272 } }, { - "id": "fdb3de4d-1a1f-420d-83f5-652d30cd8ca3", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" - }, + "id": "3ed9c4cb-d412-46e8-86cc-9943f564ccd0", + "type": "651fa32fcf52b534a766fdb2ba638a010338f268", "position": { - "x": 112, - "y": -200 - } - }, - { - "id": "159f86de-af0f-4f1a-9a93-7e8149d5d322", - "type": "basic.input", - "data": { - "name": "rst", - "clock": false + "x": 232, + "y": -168 }, - "position": { - "x": -488, - "y": -184 + "size": { + "width": 96, + "height": 64 } }, { - "id": "eae23d49-1710-4ffb-9162-8c4238e16af9", - "type": "basic.inputLabel", - "data": { - "blockColor": "navy", - "name": "rst", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true - }, + "id": "82e8e1b8-0816-489f-9427-b03956cdc86a", + "type": "bc66d79524a86b172c0ff190e607bca7c0694b8b", "position": { - "x": -344, - "y": -184 + "x": 456, + "y": -152 + }, + "size": { + "width": 96, + "height": 64 } - }, + } + ], + "wires": [ { - "id": "719d7e53-bdb2-40e8-8bed-c86a12749e88", - "type": "basic.outputLabel", - "data": { - "blockColor": "navy", - "name": "rst", - "oldBlockColor": "fuchsia" + "source": { + "block": "82e8e1b8-0816-489f-9427-b03956cdc86a", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, - "position": { - "x": 112, - "y": -112 + "target": { + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" } }, { - "id": "b9359b10-b14f-4dd7-adf9-3f4f22bc65e6", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "oldBlockColor": "fuchsia" + "source": { + "block": "e728fdca-755f-4f2d-98e7-0716b1c5258f", + "port": "constant-out" }, - "position": { - "x": 376, - "y": -8 + "target": { + "block": "3ed9c4cb-d412-46e8-86cc-9943f564ccd0", + "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" } }, { - "id": "ff33bbea-7f70-4f0f-b74d-6bcb9f41d0ba", - "type": "basic.outputLabel", - "data": { - "blockColor": "navy", - "name": "rst", - "oldBlockColor": "fuchsia" + "source": { + "block": "3ed9c4cb-d412-46e8-86cc-9943f564ccd0", + "port": "d54af040-d87a-431d-a15f-d5deb4795af5" }, - "position": { - "x": 376, - "y": 80 - } + "target": { + "block": "82e8e1b8-0816-489f-9427-b03956cdc86a", + "port": "353729bb-5213-45a7-a8e1-4e1d812492bd" + }, + "size": 16 }, { - "id": "571d3fa4-680d-4422-92c6-b3b1dcd4fa8b", - "type": "basic.output", - "data": { - "name": "", - "range": "[3:0]", - "size": 4 + "source": { + "block": "1253e5dc-89f9-4074-874c-82628c0e1d6f", + "port": "out" }, - "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" - } - } - ] - } - } - }, - "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": [ - { - "id": "8bbb6d1c-9f19-4d90-937c-492fec692420", - "type": "basic.output", - "data": { - "name": "3", - "range": "[3:0]", - "size": 4 - }, - "position": { - "x": 608, - "y": 64 - } - }, - { - "id": "48ab86b5-3c15-47e8-97b4-bdba0d4c95a9", - "type": "basic.output", - "data": { - "name": "2", - "range": "[3:0]", - "size": 4 - }, - "position": { - "x": 640, - "y": 208 - } - }, - { - "id": "a0c9783a-c287-45a7-bfc7-9da552cf732f", - "type": "basic.input", - "data": { - "name": "", - "range": "[15:0]", - "clock": false, - "size": 16 - }, - "position": { - "x": 96, - "y": 224 - } - }, - { - "id": "b69090a8-121e-4bcb-8e4b-55faee72dc70", - "type": "basic.output", - "data": { - "name": "1", - "range": "[3:0]", - "size": 4 - }, - "position": { - "x": 608, - "y": 312 - } - }, - { - "id": "df399ca5-160e-470b-90e2-3c3b488cda5e", - "type": "basic.output", - "data": { - "name": "0", - "range": "[3:0]", - "size": 4 - }, - "position": { - "x": 552, - "y": 400 - } - }, - { - "id": "16e78204-213e-4833-9096-89d735307ec2", - "type": "basic.code", - "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 - } - ] - } - }, - "position": { - "x": 272, - "y": 176 - }, - "size": { - "width": 240, - "height": 160 - } - } - ], - "wires": [ - { - "source": { - "block": "a0c9783a-c287-45a7-bfc7-9da552cf732f", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i" - }, - "size": 16 - }, - { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o0" - }, - "target": { - "block": "df399ca5-160e-470b-90e2-3c3b488cda5e", - "port": "in" - }, - "size": 4 - }, - { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o1" - }, - "target": { - "block": "b69090a8-121e-4bcb-8e4b-55faee72dc70", - "port": "in" - }, - "size": 4 - }, - { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o2" - }, - "target": { - "block": "48ab86b5-3c15-47e8-97b4-bdba0d4c95a9", - "port": "in" - }, - "size": 4 - }, - { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o3" - }, - "target": { - "block": "8bbb6d1c-9f19-4d90-937c-492fec692420", - "port": "in" - }, - "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": [ - { - "id": "79aa8ee8-2337-4ceb-b930-7e6cea70b9df", - "type": "basic.input", - "data": { - "name": "3", - "range": "[3:0]", - "clock": false, - "size": 4 - }, - "position": { - "x": 104, - "y": 104 - } - }, - { - "id": "b875d929-cdf0-4d61-bf25-af544dcb5ff8", - "type": "basic.input", - "data": { - "name": "2", - "range": "[3:0]", - "clock": false, - "size": 4 - }, - "position": { - "x": 104, - "y": 184 - } - }, - { - "id": "79c56f9a-597f-491e-b1d1-d321f63303c2", - "type": "basic.output", - "data": { - "name": "", - "range": "[15:0]", - "size": 16 - }, - "position": { - "x": 720, - "y": 224 - } - }, - { - "id": "d250cf47-8011-489b-8ddf-cc19f9e3f937", - "type": "basic.input", - "data": { - "name": "1", - "range": "[3:0]", - "clock": false, - "size": 4 - }, - "position": { - "x": 104, - "y": 248 - } - }, - { - "id": "7f009181-43fb-4806-a540-c2049656ce40", - "type": "basic.input", - "data": { - "name": "0", - "range": "[3:0]", - "clock": false, - "size": 4 - }, - "position": { - "x": 104, - "y": 312 - } - }, - { - "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 - } - ] - } - }, - "position": { - "x": 296, - "y": 176 - }, - "size": { - "width": 344, - "height": 160 - } - } - ], - "wires": [ - { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o" - }, - "target": { - "block": "79c56f9a-597f-491e-b1d1-d321f63303c2", - "port": "in" - }, - "size": 16 - }, - { - "source": { - "block": "7f009181-43fb-4806-a540-c2049656ce40", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i0" - }, - "size": 4 - }, - { - "source": { - "block": "d250cf47-8011-489b-8ddf-cc19f9e3f937", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i1" - }, - "size": 4 - }, - { - "source": { - "block": "b875d929-cdf0-4d61-bf25-af544dcb5ff8", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i2" - }, - "vertices": [ - { - "x": 224, - "y": 232 - } - ], - "size": 4 - }, - { - "source": { - "block": "79aa8ee8-2337-4ceb-b930-7e6cea70b9df", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i3" - }, - "vertices": [ - { - "x": 240, - "y": 168 - } - ], - "size": 4 - } - ] - } - } - }, - "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 - } - }, - { - "id": "cc343d02-8e43-4dd6-9999-21e29934ed5b", - "type": "basic.input", - "data": { - "name": "", - "range": "[15:0]", - "clock": false, - "size": 16 - }, - "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": "12fb4602-d67f-4129-a777-f04945adf29d", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" - }, - "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "port": "in" - } - }, - { - "source": { - "block": "cd0d6f4d-9898-4114-94a9-0b4b98223c27", - "port": "constant-out" - }, - "target": { - "block": "12fb4602-d67f-4129-a777-f04945adf29d", - "port": "e728fdca-755f-4f2d-98e7-0716b1c5258f" - } - }, - { - "source": { - "block": "cc343d02-8e43-4dd6-9999-21e29934ed5b", - "port": "out" - }, - "target": { - "block": "12fb4602-d67f-4129-a777-f04945adf29d", - "port": "1253e5dc-89f9-4074-874c-82628c0e1d6f" - }, - "size": 16 - }, - { - "source": { - "block": "12fb4602-d67f-4129-a777-f04945adf29d", - "port": "f4640f0f-2d2b-40c6-adb2-2581f7d1f9a7" - }, - "target": { - "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 - } - }, - { - "id": "f4640f0f-2d2b-40c6-adb2-2581f7d1f9a7", - "type": "basic.output", - "data": { - "name": "s", - "range": "[15:0]", - "size": 16 - }, - "position": { - "x": 624, - "y": -96 - } - }, - { - "id": "1253e5dc-89f9-4074-874c-82628c0e1d6f", - "type": "basic.input", - "data": { - "name": "", - "range": "[15:0]", - "clock": false, - "size": 16 - }, - "position": { - "x": 232, - "y": -56 - } - }, - { - "id": "e728fdca-755f-4f2d-98e7-0716b1c5258f", - "type": "basic.constant", - "data": { - "name": "", - "value": "0", - "local": false - }, - "position": { - "x": 232, - "y": -272 - } - }, - { - "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": 456, - "y": -152 - }, - "size": { - "width": 96, - "height": 64 - } - } - ], - "wires": [ - { - "source": { - "block": "82e8e1b8-0816-489f-9427-b03956cdc86a", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" - }, - "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "port": "in" - } - }, - { - "source": { - "block": "e728fdca-755f-4f2d-98e7-0716b1c5258f", - "port": "constant-out" - }, - "target": { - "block": "3ed9c4cb-d412-46e8-86cc-9943f564ccd0", - "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" - } - }, - { - "source": { - "block": "3ed9c4cb-d412-46e8-86cc-9943f564ccd0", - "port": "d54af040-d87a-431d-a15f-d5deb4795af5" - }, - "target": { - "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": "82e8e1b8-0816-489f-9427-b03956cdc86a", - "port": "14253a9f-c3ef-4ada-bb54-dbbed784b7a9" - }, - "target": { - "block": "f4640f0f-2d2b-40c6-adb2-2581f7d1f9a7", - "port": "in" - }, - "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": [ - { - "id": "d54af040-d87a-431d-a15f-d5deb4795af5", - "type": "basic.output", - "data": { - "name": "", - "range": "[15:0]", - "size": 16 - }, - "position": { - "x": 960, - "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": { - "code": "assign k = VALUE;", - "params": [ - { - "name": "VALUE" - } - ], - "ports": { - "in": [], - "out": [ - { - "name": "k", - "range": "[15:0]", - "size": 16 - } - ] - } - }, - "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" - } - }, - { - "source": { - "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", - "port": "k" - }, - "target": { - "block": "d54af040-d87a-431d-a15f-d5deb4795af5", - "port": "in" - }, - "size": 16 - } - ] - } - } - }, - "bc66d79524a86b172c0ff190e607bca7c0694b8b": { - "package": { - "name": "Adder-16bits", - "version": "0.1", - "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": "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" - }, - "position": { - "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": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "type": "basic.output", - "data": { - "name": "c" - }, - "position": { - "x": 960, - "y": -608 - } - }, - { - "id": "353729bb-5213-45a7-a8e1-4e1d812492bd", - "type": "basic.input", - "data": { - "name": "", - "range": "[15:0]", - "clock": false, - "size": 16 - }, - "position": { - "x": -320, - "y": -608 - } - }, - { - "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" - }, - "position": { - "x": 8, - "y": -592 - } - }, - { - "id": "4743defe-36c0-40a2-aaf0-188272583034", - "type": "basic.outputLabel", - "data": { - "name": "b1", - "range": "[7:0]", - "blockColor": "fuchsia", - "size": 8 - }, - "position": { - "x": 352, - "y": -584 - } - }, - { - "id": "14253a9f-c3ef-4ada-bb54-dbbed784b7a9", - "type": "basic.output", - "data": { - "name": "s", - "range": "[15:0]", - "size": 16 - }, - "position": { - "x": 960, - "y": -544 - } - }, - { - "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" - }, - "position": { - "x": 8, - "y": -472 - } - }, - { - "id": "7d042e3c-08e0-4027-ba97-6f6143ac0b7e", - "type": "basic.outputLabel", - "data": { - "name": "a0", - "range": "[7:0]", - "blockColor": "deeppink", - "size": 8 - }, - "position": { - "x": 184, - "y": -472 - } - }, - { - "id": "eeb34637-ba55-4a7f-803e-e85d9b9c7fc4", - "type": "basic.input", - "data": { - "name": "", - "range": "[15:0]", - "clock": false, - "size": 16 - }, - "position": { - "x": -320, - "y": -424 - } - }, - { - "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 - } - }, - { - "id": "7114cf32-af2c-438f-b816-1043a8bd819d", - "type": "basic.outputLabel", - "data": { - "name": "b0", - "range": "[7:0]", - "blockColor": "fuchsia", - "size": 8 - }, - "position": { - "x": 184, - "y": -408 - } - }, - { - "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": -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": "4cb18fdd-66bb-461c-ae6d-1454c8e4a9a6", - "port": "0e7ef93d-c4da-4c2e-9653-7a470dc912b6", - "size": 8 - }, - "target": { - "block": "a7cd6890-7130-4f25-9966-b5ca1132d597", - "port": "inlabel" - }, - "size": 8 - }, - { - "source": { - "block": "4cb18fdd-66bb-461c-ae6d-1454c8e4a9a6", - "port": "6ac467f0-b16b-44ef-8f03-ae206c13186e", - "size": 8 - }, - "target": { - "block": "a3761c9e-14ee-47ef-95f0-ddbb132ba6cf", - "port": "inlabel" - }, - "size": 8 - }, - { - "source": { - "block": "e3cde6db-ea93-4550-affd-14856b75d5a5", - "port": "0e7ef93d-c4da-4c2e-9653-7a470dc912b6", - "size": 8 - }, - "target": { - "block": "6736a55c-7818-4da9-9c1a-f57200ad2526", - "port": "inlabel" - }, - "size": 8 - }, - { - "source": { - "block": "e3cde6db-ea93-4550-affd-14856b75d5a5", - "port": "6ac467f0-b16b-44ef-8f03-ae206c13186e", - "size": 8 - }, - "target": { - "block": "e2589574-b6cc-4faf-8e69-3d23248bcba2", - "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", - "port": "outlabel" - }, - "target": { - "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": "64c3574b-3227-40ab-ab03-c2e2af710a45", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" - }, - "target": { - "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", - "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" - } - }, - { - "source": { - "block": "eeb34637-ba55-4a7f-803e-e85d9b9c7fc4", - "port": "out" - }, - "target": { - "block": "4cb18fdd-66bb-461c-ae6d-1454c8e4a9a6", - "port": "a0c9783a-c287-45a7-bfc7-9da552cf732f" - }, - "size": 16 - }, - { - "source": { - "block": "353729bb-5213-45a7-a8e1-4e1d812492bd", - "port": "out" - }, - "target": { - "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 + "target": { + "block": "82e8e1b8-0816-489f-9427-b03956cdc86a", + "port": "eeb34637-ba55-4a7f-803e-e85d9b9c7fc4" + }, + "size": 16 }, { "source": { - "block": "64c3574b-3227-40ab-ab03-c2e2af710a45", - "port": "dc2d9a2c-9ee9-4985-a678-d88c89fd8b74" + "block": "82e8e1b8-0816-489f-9427-b03956cdc86a", + "port": "14253a9f-c3ef-4ada-bb54-dbbed784b7a9" }, - "target": { - "block": "17bd7ef3-6604-48a9-9c2e-50a8be908636", - "port": "38fdb02d-4323-4a34-9ffe-8385f844b660" + "target": { + "block": "f4640f0f-2d2b-40c6-adb2-2581f7d1f9a7", + "port": "in" }, - "size": 8 + "size": 16 } ] } } }, - "306ca367fbbc5181b3c709d73f447e0710871a1d": { + "651fa32fcf52b534a766fdb2ba638a010338f268": { "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" + "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": "6ac467f0-b16b-44ef-8f03-ae206c13186e", + "id": "d54af040-d87a-431d-a15f-d5deb4795af5", "type": "basic.output", - "data": { - "name": "1", - "range": "[7:0]", - "size": 8 - }, - "position": { - "x": 608, - "y": 176 - } - }, - { - "id": "a0c9783a-c287-45a7-bfc7-9da552cf732f", - "type": "basic.input", "data": { "name": "", "range": "[15:0]", - "clock": false, "size": 16 }, "position": { - "x": 96, - "y": 208 + "x": 960, + "y": 248 } }, { - "id": "0e7ef93d-c4da-4c2e-9653-7a470dc912b6", - "type": "basic.output", + "id": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "type": "basic.constant", "data": { - "name": "0", - "range": "[7:0]", - "size": 8 + "name": "", + "value": "0", + "local": false }, "position": { - "x": 608, - "y": 272 + "x": 728, + "y": 128 } }, { - "id": "16e78204-213e-4833-9096-89d735307ec2", + "id": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", "type": "basic.code", "data": { - "code": "assign o1 = i[15:8];\nassign o0 = i[7:0];", - "params": [], + "code": "assign k = VALUE;", + "params": [ + { + "name": "VALUE" + } + ], "ports": { - "in": [ + "in": [], + "out": [ { - "name": "i", + "name": "k", "range": "[15:0]", "size": 16 } - ], - "out": [ - { - "name": "o1", - "range": "[7:0]", - "size": 8 - }, - { - "name": "o0", - "range": "[7:0]", - "size": 8 - } ] } }, "position": { - "x": 272, - "y": 176 + "x": 672, + "y": 248 }, "size": { - "width": 240, - "height": 120 + "width": 208, + "height": 64 } } ], "wires": [ { "source": { - "block": "a0c9783a-c287-45a7-bfc7-9da552cf732f", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i" - }, - "size": 16 - }, - { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o1" + "block": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "port": "constant-out" }, "target": { - "block": "6ac467f0-b16b-44ef-8f03-ae206c13186e", - "port": "in" - }, - "size": 8 + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "VALUE" + } }, { "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o0" + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "k" }, "target": { - "block": "0e7ef93d-c4da-4c2e-9653-7a470dc912b6", + "block": "d54af040-d87a-431d-a15f-d5deb4795af5", "port": "in" }, - "size": 8 + "size": 16 } ] } } }, - "cb23aa3d8a3e95bd194fd9ec9b9c40b36595d893": { + "bc66d79524a86b172c0ff190e607bca7c0694b8b": { "package": { - "name": "Adder-8bits", + "name": "Adder-16bits", "version": "0.1", - "description": "Adder-8bits: Adder of two operands of 8 bits", + "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 @@ -6889,12 +4787,32 @@ "graph": { "blocks": [ { - "id": "1c85838b-e269-4a65-a112-0a1bbca9b2a1", + "id": "e2589574-b6cc-4faf-8e69-3d23248bcba2", "type": "basic.inputLabel", "data": { "name": "a1", - "range": "[3:0]", + "range": "[7:0]", "pins": [ + { + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, { "index": "3", "name": "", @@ -6921,19 +4839,18 @@ "blockColor": "deeppink" }, "position": { - "x": 16, - "y": -688 + "x": 8, + "y": -664 } }, { - "id": "d01b9c0c-a541-49e6-b5aa-a0c0f21612a0", + "id": "4f2c77a9-f54e-4c7e-b1b8-d1739ea521c7", "type": "basic.outputLabel", "data": { "name": "a1", - "range": "[3:0]", - "oldBlockColor": "fuchsia", + "range": "[7:0]", "blockColor": "deeppink", - "size": 4 + "size": 8 }, "position": { "x": 352, @@ -6941,26 +4858,57 @@ } }, { - "id": "b4b08c4b-8eb1-4cd3-a1bf-a45bf7177ed3", + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", + "data": { + "name": "c" + }, + "position": { + "x": 960, + "y": -608 + } + }, + { + "id": "353729bb-5213-45a7-a8e1-4e1d812492bd", "type": "basic.input", "data": { "name": "", - "range": "[7:0]", + "range": "[15:0]", "clock": false, - "size": 8 + "size": 16 }, "position": { - "x": -312, - "y": -632 + "x": -320, + "y": -608 } }, { - "id": "f3b83846-5723-40b3-a598-fd21797f7ce1", + "id": "6736a55c-7818-4da9-9c1a-f57200ad2526", "type": "basic.inputLabel", "data": { "name": "a0", - "range": "[3:0]", + "range": "[7:0]", "pins": [ + { + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, { "index": "3", "name": "", @@ -6987,29 +4935,18 @@ "blockColor": "deeppink" }, "position": { - "x": 16, - "y": -616 - } - }, - { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "type": "basic.output", - "data": { - "name": "c" - }, - "position": { - "x": 960, - "y": -608 + "x": 8, + "y": -592 } }, { - "id": "fb36b075-bb31-4aa7-8dbd-f0d108126f21", + "id": "4743defe-36c0-40a2-aaf0-188272583034", "type": "basic.outputLabel", "data": { "name": "b1", - "range": "[3:0]", + "range": "[7:0]", "blockColor": "fuchsia", - "size": 4 + "size": 8 }, "position": { "x": 352, @@ -7017,12 +4954,12 @@ } }, { - "id": "dc2d9a2c-9ee9-4985-a678-d88c89fd8b74", + "id": "14253a9f-c3ef-4ada-bb54-dbbed784b7a9", "type": "basic.output", "data": { "name": "s", - "range": "[7:0]", - "size": 8 + "range": "[15:0]", + "size": 16 }, "position": { "x": 960, @@ -7030,27 +4967,32 @@ } }, { - "id": "6de2e227-2992-41fb-a52e-16e86632cd2c", - "type": "basic.outputLabel", - "data": { - "name": "a0", - "range": "[3:0]", - "oldBlockColor": "fuchsia", - "blockColor": "deeppink", - "size": 4 - }, - "position": { - "x": 184, - "y": -472 - } - }, - { - "id": "d5b2605b-a224-4d60-896b-d1553fd943e1", + "id": "a3761c9e-14ee-47ef-95f0-ddbb132ba6cf", "type": "basic.inputLabel", "data": { "name": "b1", - "range": "[3:0]", + "range": "[7:0]", "pins": [ + { + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, { "index": "3", "name": "", @@ -7077,44 +5019,64 @@ }, "position": { "x": 8, - "y": -440 + "y": -472 } }, { - "id": "e3beef79-c05d-4705-8dbc-de5b7b94941a", + "id": "7d042e3c-08e0-4027-ba97-6f6143ac0b7e", "type": "basic.outputLabel", "data": { - "name": "b0", - "range": "[3:0]", - "blockColor": "fuchsia", - "size": 4 + "name": "a0", + "range": "[7:0]", + "blockColor": "deeppink", + "size": 8 }, "position": { "x": 184, - "y": -408 + "y": -472 } }, { - "id": "63477487-9493-4058-a7e1-9bab443ec466", + "id": "eeb34637-ba55-4a7f-803e-e85d9b9c7fc4", "type": "basic.input", "data": { "name": "", - "range": "[7:0]", + "range": "[15:0]", "clock": false, - "size": 8 + "size": 16 }, "position": { "x": -320, - "y": -384 + "y": -424 } }, { - "id": "df32424c-55e8-45ed-9adc-3d8bb146e3e0", + "id": "a7cd6890-7130-4f25-9966-b5ca1132d597", "type": "basic.inputLabel", "data": { "name": "b0", - "range": "[3:0]", + "range": "[7:0]", "pins": [ + { + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, { "index": "3", "name": "", @@ -7141,15 +5103,29 @@ }, "position": { "x": 8, - "y": -368 + "y": -408 } }, { - "id": "6781108b-d67f-4ee8-97a9-79bab2c400b1", - "type": "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a", + "id": "7114cf32-af2c-438f-b816-1043a8bd819d", + "type": "basic.outputLabel", + "data": { + "name": "b0", + "range": "[7:0]", + "blockColor": "fuchsia", + "size": 8 + }, + "position": { + "x": 184, + "y": -408 + } + }, + { + "id": "4cb18fdd-66bb-461c-ae6d-1454c8e4a9a6", + "type": "306ca367fbbc5181b3c709d73f447e0710871a1d", "position": { "x": -168, - "y": -384 + "y": -424 }, "size": { "width": 96, @@ -7157,11 +5133,11 @@ } }, { - "id": "ffcdd533-6cad-4ba4-9f88-4b1030d78af8", - "type": "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a", + "id": "e3cde6db-ea93-4550-affd-14856b75d5a5", + "type": "306ca367fbbc5181b3c709d73f447e0710871a1d", "position": { - "x": -152, - "y": -632 + "x": -168, + "y": -608 }, "size": { "width": 96, @@ -7169,8 +5145,8 @@ } }, { - "id": "7b82019f-c8a7-4b8c-baa1-6eb224a95cb2", - "type": "25966b9480fc28011aea0e17452c30d5ff9d76e8", + "id": "64c3574b-3227-40ab-ab03-c2e2af710a45", + "type": "cb23aa3d8a3e95bd194fd9ec9b9c40b36595d893", "position": { "x": 352, "y": -456 @@ -7181,211 +5157,211 @@ } }, { - "id": "b8a72421-dc14-4c18-b343-9c3516b37f54", - "type": "afb28fd5426aea14477d11cbe30a290679f789f8", + "id": "0857be54-1eea-4619-841f-b1bb49aa66d0", + "type": "c3c498191b14e9288a85fa2871b3966665f75475", "position": { - "x": 760, - "y": -544 + "x": 520, + "y": -600 }, "size": { "width": 96, - "height": 64 + "height": 96 } }, { - "id": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", - "type": "a1ce303b8ce47a06371ea4641c81460f34a1cca9", + "id": "17bd7ef3-6604-48a9-9c2e-50a8be908636", + "type": "8cc49c9b29485f2cfeab6064d7bb1cf9ced045b1", "position": { - "x": 520, - "y": -600 + "x": 760, + "y": -544 }, "size": { "width": 96, - "height": 96 + "height": 64 } } ], "wires": [ { "source": { - "block": "6781108b-d67f-4ee8-97a9-79bab2c400b1", - "port": "eb61d084-ca22-4894-b8a2-f936db38f4b1", - "size": 4 + "block": "4cb18fdd-66bb-461c-ae6d-1454c8e4a9a6", + "port": "0e7ef93d-c4da-4c2e-9653-7a470dc912b6", + "size": 8 }, "target": { - "block": "df32424c-55e8-45ed-9adc-3d8bb146e3e0", + "block": "a7cd6890-7130-4f25-9966-b5ca1132d597", "port": "inlabel" }, - "size": 4 + "size": 8 }, { "source": { - "block": "6781108b-d67f-4ee8-97a9-79bab2c400b1", - "port": "637e64f4-0a6b-4037-9a75-89397e078a58", - "size": 4 + "block": "4cb18fdd-66bb-461c-ae6d-1454c8e4a9a6", + "port": "6ac467f0-b16b-44ef-8f03-ae206c13186e", + "size": 8 }, "target": { - "block": "d5b2605b-a224-4d60-896b-d1553fd943e1", + "block": "a3761c9e-14ee-47ef-95f0-ddbb132ba6cf", "port": "inlabel" }, - "size": 4 + "size": 8 }, { "source": { - "block": "ffcdd533-6cad-4ba4-9f88-4b1030d78af8", - "port": "637e64f4-0a6b-4037-9a75-89397e078a58", - "size": 4 + "block": "e3cde6db-ea93-4550-affd-14856b75d5a5", + "port": "0e7ef93d-c4da-4c2e-9653-7a470dc912b6", + "size": 8 }, "target": { - "block": "1c85838b-e269-4a65-a112-0a1bbca9b2a1", + "block": "6736a55c-7818-4da9-9c1a-f57200ad2526", "port": "inlabel" }, - "size": 4 + "size": 8 }, { "source": { - "block": "ffcdd533-6cad-4ba4-9f88-4b1030d78af8", - "port": "eb61d084-ca22-4894-b8a2-f936db38f4b1", - "size": 4 + "block": "e3cde6db-ea93-4550-affd-14856b75d5a5", + "port": "6ac467f0-b16b-44ef-8f03-ae206c13186e", + "size": 8 }, "target": { - "block": "f3b83846-5723-40b3-a598-fd21797f7ce1", + "block": "e2589574-b6cc-4faf-8e69-3d23248bcba2", "port": "inlabel" }, - "size": 4 + "size": 8 }, { "source": { - "block": "e3beef79-c05d-4705-8dbc-de5b7b94941a", + "block": "7114cf32-af2c-438f-b816-1043a8bd819d", "port": "outlabel" }, "target": { - "block": "7b82019f-c8a7-4b8c-baa1-6eb224a95cb2", - "port": "d192d0af-e7be-4be6-925a-50227d80784c", - "size": 4 + "block": "64c3574b-3227-40ab-ab03-c2e2af710a45", + "port": "63477487-9493-4058-a7e1-9bab443ec466", + "size": 8 }, - "size": 4 + "size": 8 }, { "source": { - "block": "6de2e227-2992-41fb-a52e-16e86632cd2c", + "block": "7d042e3c-08e0-4027-ba97-6f6143ac0b7e", "port": "outlabel" }, "target": { - "block": "7b82019f-c8a7-4b8c-baa1-6eb224a95cb2", - "port": "c2d36218-be99-4dd1-bf69-7690c667255b", - "size": 4 + "block": "64c3574b-3227-40ab-ab03-c2e2af710a45", + "port": "b4b08c4b-8eb1-4cd3-a1bf-a45bf7177ed3", + "size": 8 }, - "size": 4 + "size": 8 }, { "source": { - "block": "fb36b075-bb31-4aa7-8dbd-f0d108126f21", + "block": "4f2c77a9-f54e-4c7e-b1b8-d1739ea521c7", "port": "outlabel" }, "target": { - "block": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", - "port": "d192d0af-e7be-4be6-925a-50227d80784c", - "size": 4 + "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", + "port": "4bf17d89-89b8-4524-800a-2d15f9bbb111", + "size": 8 }, - "size": 4 + "size": 8 }, { "source": { - "block": "d01b9c0c-a541-49e6-b5aa-a0c0f21612a0", + "block": "4743defe-36c0-40a2-aaf0-188272583034", "port": "outlabel" }, "target": { - "block": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", - "port": "c2d36218-be99-4dd1-bf69-7690c667255b", - "size": 4 + "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", + "port": "3867504b-f331-4e0e-b923-acc86cb4255c", + "size": 8 }, - "size": 4 + "size": 8 }, { "source": { - "block": "63477487-9493-4058-a7e1-9bab443ec466", - "port": "out" + "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "6781108b-d67f-4ee8-97a9-79bab2c400b1", - "port": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e" - }, - "size": 8 + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "port": "in" + } }, { "source": { - "block": "b4b08c4b-8eb1-4cd3-a1bf-a45bf7177ed3", - "port": "out" + "block": "64c3574b-3227-40ab-ab03-c2e2af710a45", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "ffcdd533-6cad-4ba4-9f88-4b1030d78af8", - "port": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e" - }, - "size": 8 + "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", + "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" + } }, { "source": { - "block": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", - "port": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42" + "block": "eeb34637-ba55-4a7f-803e-e85d9b9c7fc4", + "port": "out" }, "target": { - "block": "b8a72421-dc14-4c18-b343-9c3516b37f54", - "port": "a1770adf-e143-4506-9d87-3cb9c870f534" + "block": "4cb18fdd-66bb-461c-ae6d-1454c8e4a9a6", + "port": "a0c9783a-c287-45a7-bfc7-9da552cf732f" }, - "size": 4 + "size": 16 }, { "source": { - "block": "7b82019f-c8a7-4b8c-baa1-6eb224a95cb2", - "port": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42" + "block": "353729bb-5213-45a7-a8e1-4e1d812492bd", + "port": "out" }, "target": { - "block": "b8a72421-dc14-4c18-b343-9c3516b37f54", - "port": "843164ff-f7d8-48b9-bf59-1e0d1135c81f" + "block": "e3cde6db-ea93-4550-affd-14856b75d5a5", + "port": "a0c9783a-c287-45a7-bfc7-9da552cf732f" }, - "size": 4 + "size": 16 }, { "source": { - "block": "b8a72421-dc14-4c18-b343-9c3516b37f54", - "port": "1269698e-e555-4fcb-a613-cb4c7ff2e598" + "block": "17bd7ef3-6604-48a9-9c2e-50a8be908636", + "port": "79c56f9a-597f-491e-b1d1-d321f63303c2" }, "target": { - "block": "dc2d9a2c-9ee9-4985-a678-d88c89fd8b74", + "block": "14253a9f-c3ef-4ada-bb54-dbbed784b7a9", "port": "in" }, - "size": 8 + "size": 16 }, { "source": { - "block": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "block": "0857be54-1eea-4619-841f-b1bb49aa66d0", + "port": "9daaaf78-5a89-4d4a-a1b2-db1d3af962f1" }, "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "port": "in" - } + "block": "17bd7ef3-6604-48a9-9c2e-50a8be908636", + "port": "5a35cd57-1006-4f6d-b263-5b977e9ef142" + }, + "size": 8 }, { "source": { - "block": "7b82019f-c8a7-4b8c-baa1-6eb224a95cb2", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "block": "64c3574b-3227-40ab-ab03-c2e2af710a45", + "port": "dc2d9a2c-9ee9-4985-a678-d88c89fd8b74" }, "target": { - "block": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", - "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" - } + "block": "17bd7ef3-6604-48a9-9c2e-50a8be908636", + "port": "38fdb02d-4323-4a34-9ffe-8385f844b660" + }, + "size": 8 } ] } } }, - "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a": { + "306ca367fbbc5181b3c709d73f447e0710871a1d": { "package": { - "name": "Bus8-Split-half", + "name": "Bus16-Split-half", "version": "0.1", - "description": "Bus8-Split-half: Split the 8-bits bus into two buses of the same size", + "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" }, @@ -7393,69 +5369,69 @@ "graph": { "blocks": [ { - "id": "637e64f4-0a6b-4037-9a75-89397e078a58", + "id": "6ac467f0-b16b-44ef-8f03-ae206c13186e", "type": "basic.output", "data": { "name": "1", - "range": "[3:0]", - "size": 4 + "range": "[7:0]", + "size": 8 }, "position": { - "x": 584, - "y": 104 + "x": 608, + "y": 176 } }, { - "id": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e", + "id": "a0c9783a-c287-45a7-bfc7-9da552cf732f", "type": "basic.input", "data": { "name": "", - "range": "[7:0]", + "range": "[15:0]", "clock": false, - "size": 8 + "size": 16 }, "position": { - "x": 120, + "x": 96, "y": 208 } }, { - "id": "eb61d084-ca22-4894-b8a2-f936db38f4b1", + "id": "0e7ef93d-c4da-4c2e-9653-7a470dc912b6", "type": "basic.output", "data": { "name": "0", - "range": "[3:0]", - "size": 4 + "range": "[7:0]", + "size": 8 }, "position": { - "x": 584, - "y": 232 + "x": 608, + "y": 272 } }, { "id": "16e78204-213e-4833-9096-89d735307ec2", "type": "basic.code", "data": { - "code": "assign o1 = i[7:4];\nassign o0 = i[3:0];", + "code": "assign o1 = i[15:8];\nassign o0 = i[7:0];", "params": [], "ports": { "in": [ { "name": "i", - "range": "[7:0]", - "size": 8 + "range": "[15:0]", + "size": 16 } ], "out": [ { "name": "o1", - "range": "[3:0]", - "size": 4 + "range": "[7:0]", + "size": 8 }, { "name": "o0", - "range": "[3:0]", - "size": 4 + "range": "[7:0]", + "size": 8 } ] } @@ -7473,34 +5449,34 @@ "wires": [ { "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o1" + "block": "a0c9783a-c287-45a7-bfc7-9da552cf732f", + "port": "out" }, "target": { - "block": "637e64f4-0a6b-4037-9a75-89397e078a58", - "port": "in" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i" }, - "size": 4 + "size": 16 }, { "source": { "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o0" + "port": "o1" }, "target": { - "block": "eb61d084-ca22-4894-b8a2-f936db38f4b1", + "block": "6ac467f0-b16b-44ef-8f03-ae206c13186e", "port": "in" }, - "size": 4 + "size": 8 }, { "source": { - "block": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e", - "port": "out" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o0" }, "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i" + "block": "0e7ef93d-c4da-4c2e-9653-7a470dc912b6", + "port": "in" }, "size": 8 } @@ -7508,11 +5484,11 @@ } } }, - "25966b9480fc28011aea0e17452c30d5ff9d76e8": { + "cb23aa3d8a3e95bd194fd9ec9b9c40b36595d893": { "package": { - "name": "Adder-4bits", + "name": "Adder-8bits", "version": "0.1", - "description": "Adder-4bits: Adder of two operands of 4 bits", + "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 @@ -7521,405 +5497,315 @@ "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" - }, - "position": { - "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": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "type": "basic.output", - "data": { - "name": "c" - }, - "position": { - "x": 920, - "y": -696 - } - }, - { - "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" - }, - "position": { - "x": 8, - "y": -688 - } - }, - { - "id": "05fb13c5-879a-422f-84a8-56d1db8816da", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "b3", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 576, - "y": -672 - } - }, - { - "id": "a30f87da-7077-4ad6-92dd-adbfdd1bed45", + "id": "1c85838b-e269-4a65-a112-0a1bbca9b2a1", "type": "basic.inputLabel", "data": { - "blockColor": "deeppink", "name": "a1", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "deeppink" - }, - "position": { - "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": "d7d5e8c8-78dd-41a8-aedf-1051b89bfb77", - "type": "basic.inputLabel", - "data": { - "blockColor": "deeppink", - "name": "a0", "pins": [ { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 8, - "y": -576 - } - }, - { - "id": "3c8597e6-ca79-494a-9a53-04c284205216", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "b2", - "oldBlockColor": "fuchsia" - }, - "position": { - "x": 456, - "y": -528 - } - }, - { - "id": "ee992ca6-d586-4901-aaa3-a17d94ddac84", - "type": "basic.inputLabel", - "data": { - "blockColor": "fuchsia", - "name": "b3", - "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": -8, - "y": -448 + "x": 16, + "y": -688 } }, { - "id": "c5dce3e4-5ecc-4fc9-bbf6-7c1adfa1c7ff", + "id": "d01b9c0c-a541-49e6-b5aa-a0c0f21612a0", "type": "basic.outputLabel", "data": { - "blockColor": "deeppink", "name": "a1", - "oldBlockColor": "fuchsia" + "range": "[3:0]", + "oldBlockColor": "fuchsia", + "blockColor": "deeppink", + "size": 4 }, "position": { - "x": 328, - "y": -440 + "x": 352, + "y": -664 } }, { - "id": "fb8bbeb1-5c60-4629-bc13-231545818d0b", + "id": "b4b08c4b-8eb1-4cd3-a1bf-a45bf7177ed3", + "type": "basic.input", + "data": { + "name": "", + "range": "[7:0]", + "clock": false, + "size": 8 + }, + "position": { + "x": -312, + "y": -632 + } + }, + { + "id": "f3b83846-5723-40b3-a598-fd21797f7ce1", "type": "basic.inputLabel", "data": { - "blockColor": "fuchsia", - "name": "b2", + "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": -8, - "y": -384 + "x": 16, + "y": -616 } }, { - "id": "d192d0af-e7be-4be6-925a-50227d80784c", - "type": "basic.input", + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", "data": { - "name": "", - "range": "[3:0]", - "clock": false, - "size": 4 + "name": "c" }, "position": { - "x": -312, - "y": -384 + "x": 960, + "y": -608 } }, { - "id": "038a8cb8-35b8-424a-9d14-c320cfcddccf", + "id": "fb36b075-bb31-4aa7-8dbd-f0d108126f21", "type": "basic.outputLabel", "data": { + "name": "b1", + "range": "[3:0]", "blockColor": "fuchsia", - "name": "b1" + "size": 4 }, "position": { - "x": 328, - "y": -376 + "x": 352, + "y": -584 } }, { - "id": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42", + "id": "dc2d9a2c-9ee9-4985-a678-d88c89fd8b74", "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 + "range": "[7:0]", + "size": 8 }, "position": { - "x": -16, - "y": -320 + "x": 960, + "y": -544 } }, { - "id": "f8dceaf6-6020-49e5-b775-ed4821fbd5bd", + "id": "6de2e227-2992-41fb-a52e-16e86632cd2c", "type": "basic.outputLabel", "data": { - "blockColor": "deeppink", "name": "a0", - "oldBlockColor": "fuchsia" + "range": "[3:0]", + "oldBlockColor": "fuchsia", + "blockColor": "deeppink", + "size": 4 }, "position": { "x": 184, - "y": -296 + "y": -472 } }, { - "id": "b652825e-10ba-47cc-9832-e39d73586234", + "id": "d5b2605b-a224-4d60-896b-d1553fd943e1", "type": "basic.inputLabel", "data": { - "blockColor": "fuchsia", - "name": "b0", + "name": "b1", + "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" + "blockColor": "fuchsia" }, "position": { - "x": -32, - "y": -264 + "x": 8, + "y": -440 } }, { - "id": "7e5351cc-ea73-4bb2-9dda-0390f005b90b", + "id": "e3beef79-c05d-4705-8dbc-de5b7b94941a", "type": "basic.outputLabel", "data": { - "blockColor": "fuchsia", "name": "b0", - "oldBlockColor": "fuchsia" + "range": "[3:0]", + "blockColor": "fuchsia", + "size": 4 }, "position": { "x": 184, - "y": -232 + "y": -408 } }, { - "id": "e7d0a130-cf6b-4220-a06f-42543db0214f", - "type": "1ea21df64c18f01d8f4b905c437ccf0ca332baf6", - "position": { - "x": 320, - "y": -248 + "id": "63477487-9493-4058-a7e1-9bab443ec466", + "type": "basic.input", + "data": { + "name": "", + "range": "[7:0]", + "clock": false, + "size": 8 }, - "size": { - "width": 96, - "height": 64 + "position": { + "x": -320, + "y": -384 } }, { - "id": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", - "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", - "position": { - "x": 464, - "y": -392 + "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" }, - "size": { - "width": 96, - "height": 96 + "position": { + "x": 8, + "y": -368 } }, { - "id": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", + "id": "6781108b-d67f-4ee8-97a9-79bab2c400b1", + "type": "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a", "position": { - "x": 608, - "y": -544 + "x": -168, + "y": -384 }, "size": { "width": 96, - "height": 96 + "height": 64 } }, { - "id": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "type": "c4f23ad05c2010ec9bd213c8814c9238873037ae", + "id": "ffcdd533-6cad-4ba4-9f88-4b1030d78af8", + "type": "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a", "position": { - "x": -168, - "y": -416 + "x": -152, + "y": -632 }, "size": { "width": 96, - "height": 128 + "height": 64 } }, { - "id": "57e59301-2919-4f06-ba95-54ce5d99d774", - "type": "c4f23ad05c2010ec9bd213c8814c9238873037ae", + "id": "7b82019f-c8a7-4b8c-baa1-6eb224a95cb2", + "type": "25966b9480fc28011aea0e17452c30d5ff9d76e8", "position": { - "x": -152, - "y": -664 + "x": 352, + "y": -456 }, "size": { "width": 96, - "height": 128 + "height": 64 } }, { - "id": "11342001-e6e0-443b-af87-0e5d7ada0227", - "type": "84f0a15761ee8b753f67079819a7614923939472", + "id": "b8a72421-dc14-4c18-b343-9c3516b37f54", + "type": "afb28fd5426aea14477d11cbe30a290679f789f8", "position": { - "x": 896, - "y": -400 + "x": 760, + "y": -544 }, "size": { "width": 96, - "height": 128 + "height": 64 } }, { - "id": "72c87c65-b34b-480f-8cde-cd97c0914014", - "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", + "id": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", + "type": "a1ce303b8ce47a06371ea4641c81460f34a1cca9", "position": { - "x": 744, - "y": -688 + "x": 520, + "y": -600 }, "size": { "width": 96, @@ -7930,278 +5816,158 @@ "wires": [ { "source": { - "block": "038a8cb8-35b8-424a-9d14-c320cfcddccf", - "port": "outlabel" - }, - "target": { - "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", - "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" - } - }, - { - "source": { - "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "port": "f5a71d7b-de20-4527-80c8-0eb20de0dc77" - }, - "target": { - "block": "527c9113-e440-454b-b427-182b646c10f5", - "port": "inlabel" - } - }, - { - "source": { - "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "port": "0f7487e5-b070-4277-bba6-acf69934afca" + "block": "6781108b-d67f-4ee8-97a9-79bab2c400b1", + "port": "eb61d084-ca22-4894-b8a2-f936db38f4b1", + "size": 4 }, "target": { - "block": "b652825e-10ba-47cc-9832-e39d73586234", + "block": "df32424c-55e8-45ed-9adc-3d8bb146e3e0", "port": "inlabel" - } - }, - { - "source": { - "block": "7e5351cc-ea73-4bb2-9dda-0390f005b90b", - "port": "outlabel" - }, - "target": { - "block": "e7d0a130-cf6b-4220-a06f-42543db0214f", - "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" - } - }, - { - "source": { - "block": "f8dceaf6-6020-49e5-b775-ed4821fbd5bd", - "port": "outlabel" }, - "target": { - "block": "e7d0a130-cf6b-4220-a06f-42543db0214f", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" - } + "size": 4 }, { "source": { - "block": "57e59301-2919-4f06-ba95-54ce5d99d774", - "port": "0f7487e5-b070-4277-bba6-acf69934afca" + "block": "6781108b-d67f-4ee8-97a9-79bab2c400b1", + "port": "637e64f4-0a6b-4037-9a75-89397e078a58", + "size": 4 }, "target": { - "block": "d7d5e8c8-78dd-41a8-aedf-1051b89bfb77", + "block": "d5b2605b-a224-4d60-896b-d1553fd943e1", "port": "inlabel" - } - }, - { - "source": { - "block": "c5dce3e4-5ecc-4fc9-bbf6-7c1adfa1c7ff", - "port": "outlabel" }, - "target": { - "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" - } + "size": 4 }, { "source": { - "block": "57e59301-2919-4f06-ba95-54ce5d99d774", - "port": "f5a71d7b-de20-4527-80c8-0eb20de0dc77" + "block": "ffcdd533-6cad-4ba4-9f88-4b1030d78af8", + "port": "637e64f4-0a6b-4037-9a75-89397e078a58", + "size": 4 }, "target": { - "block": "a30f87da-7077-4ad6-92dd-adbfdd1bed45", + "block": "1c85838b-e269-4a65-a112-0a1bbca9b2a1", "port": "inlabel" - } - }, - { - "source": { - "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "port": "33072210-9ba0-4659-8339-95952b939e6e" }, - "target": { - "block": "fb8bbeb1-5c60-4629-bc13-231545818d0b", - "port": "inlabel" - } + "size": 4 }, { "source": { - "block": "57e59301-2919-4f06-ba95-54ce5d99d774", - "port": "33072210-9ba0-4659-8339-95952b939e6e" + "block": "ffcdd533-6cad-4ba4-9f88-4b1030d78af8", + "port": "eb61d084-ca22-4894-b8a2-f936db38f4b1", + "size": 4 }, "target": { - "block": "73a0a48e-d345-4eda-8603-782e9865d928", + "block": "f3b83846-5723-40b3-a598-fd21797f7ce1", "port": "inlabel" - } - }, - { - "source": { - "block": "3c8597e6-ca79-494a-9a53-04c284205216", - "port": "outlabel" }, - "target": { - "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" - } + "size": 4 }, { "source": { - "block": "ed7a30bc-17fc-444e-89e5-aa9f83b32e86", + "block": "e3beef79-c05d-4705-8dbc-de5b7b94941a", "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" + "block": "7b82019f-c8a7-4b8c-baa1-6eb224a95cb2", + "port": "d192d0af-e7be-4be6-925a-50227d80784c", + "size": 4 }, - "vertices": [ - { - "x": -24, - "y": -696 - } - ] + "size": 4 }, { "source": { - "block": "05fb13c5-879a-422f-84a8-56d1db8816da", + "block": "6de2e227-2992-41fb-a52e-16e86632cd2c", "port": "outlabel" }, "target": { - "block": "72c87c65-b34b-480f-8cde-cd97c0914014", - "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" - } - }, - { - "source": { - "block": "161a3e27-de9b-4674-b990-c1e8314a29f3", - "port": "outlabel" + "block": "7b82019f-c8a7-4b8c-baa1-6eb224a95cb2", + "port": "c2d36218-be99-4dd1-bf69-7690c667255b", + "size": 4 }, - "target": { - "block": "72c87c65-b34b-480f-8cde-cd97c0914014", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" - } + "size": 4 }, { "source": { - "block": "e7d0a130-cf6b-4220-a06f-42543db0214f", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "block": "fb36b075-bb31-4aa7-8dbd-f0d108126f21", + "port": "outlabel" }, "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" + "block": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", + "port": "d192d0af-e7be-4be6-925a-50227d80784c", + "size": 4 }, - "target": { - "block": "11342001-e6e0-443b-af87-0e5d7ada0227", - "port": "969e11ca-69e8-403b-a566-7bf2fbe3a5a8" - } + "size": 4 }, { "source": { - "block": "e7d0a130-cf6b-4220-a06f-42543db0214f", - "port": "c7d2d573-b901-420e-a923-6832e5b18e34" + "block": "d01b9c0c-a541-49e6-b5aa-a0c0f21612a0", + "port": "outlabel" }, "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" + "block": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", + "port": "c2d36218-be99-4dd1-bf69-7690c667255b", + "size": 4 }, - "target": { - "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "port": "5e915366-608a-431a-bf68-8c64fb4c302c" - } + "size": 4 }, { "source": { - "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "port": "c7d2d573-b901-420e-a923-6832e5b18e34" + "block": "63477487-9493-4058-a7e1-9bab443ec466", + "port": "out" }, "target": { - "block": "11342001-e6e0-443b-af87-0e5d7ada0227", - "port": "346b4ae4-4bb6-4845-9c17-3b25e0dde718" + "block": "6781108b-d67f-4ee8-97a9-79bab2c400b1", + "port": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e" }, - "vertices": [ - { - "x": 824, - "y": -424 - } - ] + "size": 8 }, { "source": { - "block": "d192d0af-e7be-4be6-925a-50227d80784c", + "block": "b4b08c4b-8eb1-4cd3-a1bf-a45bf7177ed3", "port": "out" }, "target": { - "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "port": "0ebd46a4-769b-45e6-bcaf-e3796264aed3" + "block": "ffcdd533-6cad-4ba4-9f88-4b1030d78af8", + "port": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e" }, - "size": 4 + "size": 8 }, { "source": { - "block": "c2d36218-be99-4dd1-bf69-7690c667255b", - "port": "out" + "block": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", + "port": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42" }, "target": { - "block": "57e59301-2919-4f06-ba95-54ce5d99d774", - "port": "0ebd46a4-769b-45e6-bcaf-e3796264aed3" + "block": "b8a72421-dc14-4c18-b343-9c3516b37f54", + "port": "a1770adf-e143-4506-9d87-3cb9c870f534" }, "size": 4 }, { - "source": { - "block": "11342001-e6e0-443b-af87-0e5d7ada0227", - "port": "55180947-6349-4a04-a151-ad69ea2b155e" + "source": { + "block": "7b82019f-c8a7-4b8c-baa1-6eb224a95cb2", + "port": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42" }, "target": { - "block": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42", - "port": "in" + "block": "b8a72421-dc14-4c18-b343-9c3516b37f54", + "port": "843164ff-f7d8-48b9-bf59-1e0d1135c81f" }, "size": 4 }, { "source": { - "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "block": "b8a72421-dc14-4c18-b343-9c3516b37f54", + "port": "1269698e-e555-4fcb-a613-cb4c7ff2e598" }, "target": { - "block": "72c87c65-b34b-480f-8cde-cd97c0914014", - "port": "5e915366-608a-431a-bf68-8c64fb4c302c" + "block": "dc2d9a2c-9ee9-4985-a678-d88c89fd8b74", + "port": "in" }, - "vertices": [ - { - "x": 728, - "y": -552 - } - ] + "size": 8 }, { "source": { - "block": "72c87c65-b34b-480f-8cde-cd97c0914014", + "block": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { @@ -8211,204 +5977,290 @@ }, { "source": { - "block": "72c87c65-b34b-480f-8cde-cd97c0914014", - "port": "c7d2d573-b901-420e-a923-6832e5b18e34" + "block": "7b82019f-c8a7-4b8c-baa1-6eb224a95cb2", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "11342001-e6e0-443b-af87-0e5d7ada0227", - "port": "6c2aa548-5a4c-4e8d-a56c-a70926b19f18" + "block": "7186727e-33f4-45cd-a73d-e8f1ad0b2cbc", + "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" } } ] } } }, - "1ea21df64c18f01d8f4b905c437ccf0ca332baf6": { + "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a": { "package": { - "name": "Adder-1bit", + "name": "Bus8-Split-half", "version": "0.1", - "description": "Adder-1bit: Adder of two operands of 1 bit", + "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%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=%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": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", - "type": "basic.input", - "data": { - "name": "", - "clock": false - }, - "position": { - "x": 280, - "y": -224 - } - }, - { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "id": "637e64f4-0a6b-4037-9a75-89397e078a58", "type": "basic.output", "data": { - "name": "c" + "name": "1", + "range": "[3:0]", + "size": 4 }, "position": { - "x": 616, - "y": -176 + "x": 584, + "y": 104 } }, { - "id": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba", + "id": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e", "type": "basic.input", "data": { "name": "", - "clock": false + "range": "[7:0]", + "clock": false, + "size": 8 }, "position": { - "x": 280, - "y": -152 + "x": 120, + "y": 208 } }, { - "id": "c7d2d573-b901-420e-a923-6832e5b18e34", + "id": "eb61d084-ca22-4894-b8a2-f936db38f4b1", "type": "basic.output", "data": { - "name": "s" + "name": "0", + "range": "[3:0]", + "size": 4 }, "position": { - "x": 616, - "y": -96 + "x": 584, + "y": 232 } }, { - "id": "0ef44beb-f4b1-484c-b15a-dc4431241aee", - "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", - "position": { - "x": 456, - "y": -168 + "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 + } + ] + } }, - "size": { - "width": 96, - "height": 96 - } - }, - { - "id": "e80cc244-1751-4524-9f77-734a36b24a88", - "type": "d30ca9ee4f35f6cb76d5e5701447fc2b739bc640", "position": { - "x": 304, - "y": -64 + "x": 272, + "y": 176 }, "size": { - "width": 96, - "height": 64 + "width": 240, + "height": 120 } } ], "wires": [ { "source": { - "block": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba", - "port": "out" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o1" }, "target": { - "block": "0ef44beb-f4b1-484c-b15a-dc4431241aee", - "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" - } + "block": "637e64f4-0a6b-4037-9a75-89397e078a58", + "port": "in" + }, + "size": 4 }, { "source": { - "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", - "port": "out" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o0" }, "target": { - "block": "0ef44beb-f4b1-484c-b15a-dc4431241aee", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + "block": "eb61d084-ca22-4894-b8a2-f936db38f4b1", + "port": "in" }, - "vertices": [ - { - "x": 400, - "y": -168 - } - ] + "size": 4 }, { "source": { - "block": "e80cc244-1751-4524-9f77-734a36b24a88", - "port": "3d584b0a-29eb-47af-8c43-c0822282ef05" + "block": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e", + "port": "out" + }, + "target": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i" + }, + "size": 8 + } + ] + } + } + }, + "25966b9480fc28011aea0e17452c30d5ff9d76e8": { + "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 + }, + "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" + }, + "position": { + "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": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", + "data": { + "name": "c" + }, + "position": { + "x": 920, + "y": -696 + } + }, + { + "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" + }, + "position": { + "x": 8, + "y": -688 + } + }, + { + "id": "05fb13c5-879a-422f-84a8-56d1db8816da", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "b3", + "oldBlockColor": "fuchsia" }, - "target": { - "block": "0ef44beb-f4b1-484c-b15a-dc4431241aee", - "port": "5e915366-608a-431a-bf68-8c64fb4c302c" + "position": { + "x": 576, + "y": -672 } }, { - "source": { - "block": "0ef44beb-f4b1-484c-b15a-dc4431241aee", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "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" }, - "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "port": "in" + "position": { + "x": 8, + "y": -632 } }, { - "source": { - "block": "0ef44beb-f4b1-484c-b15a-dc4431241aee", - "port": "c7d2d573-b901-420e-a923-6832e5b18e34" - }, - "target": { - "block": "c7d2d573-b901-420e-a923-6832e5b18e34", - "port": "in" - } - } - ] - } - } - }, - "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": "c2d36218-be99-4dd1-bf69-7690c667255b", + "type": "basic.input", "data": { - "blockColor": "fuchsia", - "name": "a" + "name": "", + "range": "[3:0]", + "clock": false, + "size": 4 }, "position": { - "x": 504, - "y": -208 + "x": -312, + "y": -632 } }, { - "id": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", - "type": "basic.input", + "id": "ed7a30bc-17fc-444e-89e5-aa9f83b32e86", + "type": "basic.outputLabel", "data": { - "name": "a", - "clock": false + "blockColor": "deeppink", + "name": "a2", + "oldBlockColor": "deeppink" }, "position": { - "x": 136, - "y": -192 + "x": 456, + "y": -584 } }, { - "id": "f2c3e9af-37a6-4815-9413-c437d2471b1f", + "id": "d7d5e8c8-78dd-41a8-aedf-1051b89bfb77", "type": "basic.inputLabel", "data": { - "blockColor": "fuchsia", - "name": "a", + "blockColor": "deeppink", + "name": "a0", "pins": [ { "index": "0", @@ -8416,54 +6268,67 @@ "value": "NULL" } ], - "virtual": true + "virtual": true, + "oldBlockColor": "fuchsia" }, "position": { - "x": 272, - "y": -192 + "x": 8, + "y": -576 } }, { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "type": "basic.output", + "id": "3c8597e6-ca79-494a-9a53-04c284205216", + "type": "basic.outputLabel", "data": { - "name": "c" + "blockColor": "fuchsia", + "name": "b2", + "oldBlockColor": "fuchsia" }, "position": { - "x": 1112, - "y": -176 + "x": 456, + "y": -528 } }, { - "id": "cdbf1806-fde2-4763-aeae-cd26f3db2a86", - "type": "basic.outputLabel", + "id": "ee992ca6-d586-4901-aaa3-a17d94ddac84", + "type": "basic.inputLabel", "data": { "blockColor": "fuchsia", - "name": "b" + "name": "b3", + "pins": [ + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia" }, "position": { - "x": 504, - "y": -144 + "x": -8, + "y": -448 } }, { - "id": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba", - "type": "basic.input", + "id": "c5dce3e4-5ecc-4fc9-bbf6-7c1adfa1c7ff", + "type": "basic.outputLabel", "data": { - "name": "b", - "clock": false + "blockColor": "deeppink", + "name": "a1", + "oldBlockColor": "fuchsia" }, "position": { - "x": 136, - "y": -120 + "x": 328, + "y": -440 } }, { - "id": "65936289-69ce-4e26-be4e-44f8a3706934", + "id": "fb8bbeb1-5c60-4629-bc13-231545818d0b", "type": "basic.inputLabel", "data": { "blockColor": "fuchsia", - "name": "b", + "name": "b2", "pins": [ { "index": "0", @@ -8471,44 +6336,59 @@ "value": "NULL" } ], - "virtual": true + "virtual": true, + "oldBlockColor": "fuchsia" }, "position": { - "x": 272, - "y": -120 + "x": -8, + "y": -384 } }, { - "id": "6b7a0fc7-9eeb-4894-98fd-e0122d08cdf0", + "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": "navy", - "name": "ci", - "oldBlockColor": "fuchsia" + "blockColor": "fuchsia", + "name": "b1" }, "position": { - "x": 648, - "y": -96 + "x": 328, + "y": -376 } }, { - "id": "5e915366-608a-431a-bf68-8c64fb4c302c", - "type": "basic.input", + "id": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42", + "type": "basic.output", "data": { - "name": "ci", - "clock": false + "name": "s", + "range": "[3:0]", + "size": 4 }, "position": { - "x": 136, - "y": -40 + "x": 1064, + "y": -368 } }, { - "id": "9fca1dd5-3d6c-4321-a1cf-fd35336e41ea", + "id": "527c9113-e440-454b-b427-182b646c10f5", "type": "basic.inputLabel", "data": { - "blockColor": "navy", - "name": "ci", + "blockColor": "fuchsia", + "name": "b1", "pins": [ { "index": "0", @@ -8516,695 +6396,590 @@ "value": "NULL" } ], - "virtual": true, - "oldBlockColor": "fuchsia" + "virtual": true }, "position": { - "x": 272, - "y": -40 + "x": -16, + "y": -320 } }, { - "id": "79149d67-753e-414e-ba2a-49ba4edfe523", + "id": "f8dceaf6-6020-49e5-b775-ed4821fbd5bd", "type": "basic.outputLabel", "data": { - "blockColor": "fuchsia", - "name": "a" + "blockColor": "deeppink", + "name": "a0", + "oldBlockColor": "fuchsia" }, "position": { - "x": 480, - "y": 24 + "x": 184, + "y": -296 } }, { - "id": "c7d2d573-b901-420e-a923-6832e5b18e34", - "type": "basic.output", + "id": "b652825e-10ba-47cc-9832-e39d73586234", + "type": "basic.inputLabel", "data": { - "name": "s" + "blockColor": "fuchsia", + "name": "b0", + "pins": [ + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia" }, "position": { - "x": 992, - "y": 56 + "x": -32, + "y": -264 } }, { - "id": "edf4525b-edd8-40fa-b784-631b102fb907", + "id": "7e5351cc-ea73-4bb2-9dda-0390f005b90b", "type": "basic.outputLabel", "data": { "blockColor": "fuchsia", - "name": "b" + "name": "b0", + "oldBlockColor": "fuchsia" }, "position": { - "x": 480, - "y": 88 + "x": 184, + "y": -232 } }, { - "id": "35a4f7cc-d7ef-4653-af75-fe112a5f5151", - "type": "basic.outputLabel", - "data": { - "blockColor": "navy", - "name": "ci", - "oldBlockColor": "fuchsia" + "id": "e7d0a130-cf6b-4220-a06f-42543db0214f", + "type": "1ea21df64c18f01d8f4b905c437ccf0ca332baf6", + "position": { + "x": 320, + "y": -248 }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", "position": { - "x": 648, - "y": 120 + "x": 464, + "y": -392 + }, + "size": { + "width": 96, + "height": 96 } }, { - "id": "687d4abf-9ce2-408a-8010-c00e2cec2d44", - "type": "d1240143e1ff7afe57f0f11565da980612b2bb76", + "id": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", "position": { - "x": 648, - "y": 40 + "x": 608, + "y": -544 }, "size": { "width": 96, - "height": 64 + "height": 96 } }, { - "id": "6756cb54-aa93-40af-a5f3-41ef2b2edec9", - "type": "d1240143e1ff7afe57f0f11565da980612b2bb76", + "id": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "type": "c4f23ad05c2010ec9bd213c8814c9238873037ae", "position": { - "x": 832, - "y": 56 + "x": -168, + "y": -416 }, "size": { "width": 96, - "height": 64 + "height": 128 } }, { - "id": "f7053b6b-9812-48df-9212-cb8dc49d44cd", - "type": "ba518ee261a2be13a9739cd3a01cdcebe0ef63c0", + "id": "57e59301-2919-4f06-ba95-54ce5d99d774", + "type": "c4f23ad05c2010ec9bd213c8814c9238873037ae", "position": { - "x": 808, - "y": -80 + "x": -152, + "y": -664 }, "size": { "width": 96, - "height": 64 + "height": 128 } }, { - "id": "d77ee777-f5ad-4f89-832b-e1f95f0cf9db", - "type": "ba518ee261a2be13a9739cd3a01cdcebe0ef63c0", + "id": "11342001-e6e0-443b-af87-0e5d7ada0227", + "type": "84f0a15761ee8b753f67079819a7614923939472", "position": { - "x": 632, - "y": -192 + "x": 896, + "y": -400 }, "size": { "width": 96, - "height": 64 + "height": 128 } }, { - "id": "dd3259d5-99f6-47f2-881c-4e969e324444", - "type": "873425949b2a80f1a7f66f320796bcd068a59889", + "id": "72c87c65-b34b-480f-8cde-cd97c0914014", + "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", "position": { - "x": 960, - "y": -176 + "x": 744, + "y": -688 }, "size": { "width": 96, - "height": 64 + "height": 96 } } ], "wires": [ { "source": { - "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", - "port": "out" + "block": "038a8cb8-35b8-424a-9d14-c320cfcddccf", + "port": "outlabel" }, "target": { - "block": "f2c3e9af-37a6-4815-9413-c437d2471b1f", - "port": "inlabel" + "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" } }, { "source": { - "block": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba", - "port": "out" + "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "port": "f5a71d7b-de20-4527-80c8-0eb20de0dc77" }, "target": { - "block": "65936289-69ce-4e26-be4e-44f8a3706934", + "block": "527c9113-e440-454b-b427-182b646c10f5", "port": "inlabel" } }, { "source": { - "block": "5e915366-608a-431a-bf68-8c64fb4c302c", - "port": "out" + "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "port": "0f7487e5-b070-4277-bba6-acf69934afca" }, "target": { - "block": "9fca1dd5-3d6c-4321-a1cf-fd35336e41ea", + "block": "b652825e-10ba-47cc-9832-e39d73586234", "port": "inlabel" } }, { "source": { - "block": "79149d67-753e-414e-ba2a-49ba4edfe523", - "port": "outlabel" - }, - "target": { - "block": "687d4abf-9ce2-408a-8010-c00e2cec2d44", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - } - }, - { - "source": { - "block": "edf4525b-edd8-40fa-b784-631b102fb907", + "block": "7e5351cc-ea73-4bb2-9dda-0390f005b90b", "port": "outlabel" }, "target": { - "block": "687d4abf-9ce2-408a-8010-c00e2cec2d44", - "port": "97b51945-d716-4b6c-9db9-970d08541249" + "block": "e7d0a130-cf6b-4220-a06f-42543db0214f", + "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" } }, { "source": { - "block": "35a4f7cc-d7ef-4653-af75-fe112a5f5151", + "block": "f8dceaf6-6020-49e5-b775-ed4821fbd5bd", "port": "outlabel" }, "target": { - "block": "6756cb54-aa93-40af-a5f3-41ef2b2edec9", - "port": "97b51945-d716-4b6c-9db9-970d08541249" + "block": "e7d0a130-cf6b-4220-a06f-42543db0214f", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" } }, { "source": { - "block": "6b7a0fc7-9eeb-4894-98fd-e0122d08cdf0", - "port": "outlabel" + "block": "57e59301-2919-4f06-ba95-54ce5d99d774", + "port": "0f7487e5-b070-4277-bba6-acf69934afca" }, "target": { - "block": "f7053b6b-9812-48df-9212-cb8dc49d44cd", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "block": "d7d5e8c8-78dd-41a8-aedf-1051b89bfb77", + "port": "inlabel" } }, { "source": { - "block": "b28215b2-e375-43cd-96b4-ed5b60418dc6", + "block": "c5dce3e4-5ecc-4fc9-bbf6-7c1adfa1c7ff", "port": "outlabel" }, "target": { - "block": "d77ee777-f5ad-4f89-832b-e1f95f0cf9db", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" } }, { "source": { - "block": "cdbf1806-fde2-4763-aeae-cd26f3db2a86", - "port": "outlabel" + "block": "57e59301-2919-4f06-ba95-54ce5d99d774", + "port": "f5a71d7b-de20-4527-80c8-0eb20de0dc77" }, "target": { - "block": "d77ee777-f5ad-4f89-832b-e1f95f0cf9db", - "port": "97b51945-d716-4b6c-9db9-970d08541249" + "block": "a30f87da-7077-4ad6-92dd-adbfdd1bed45", + "port": "inlabel" } }, { "source": { - "block": "687d4abf-9ce2-408a-8010-c00e2cec2d44", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "port": "33072210-9ba0-4659-8339-95952b939e6e" }, "target": { - "block": "6756cb54-aa93-40af-a5f3-41ef2b2edec9", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "block": "fb8bbeb1-5c60-4629-bc13-231545818d0b", + "port": "inlabel" } }, { "source": { - "block": "6756cb54-aa93-40af-a5f3-41ef2b2edec9", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "57e59301-2919-4f06-ba95-54ce5d99d774", + "port": "33072210-9ba0-4659-8339-95952b939e6e" }, "target": { - "block": "c7d2d573-b901-420e-a923-6832e5b18e34", - "port": "in" + "block": "73a0a48e-d345-4eda-8603-782e9865d928", + "port": "inlabel" } }, { "source": { - "block": "687d4abf-9ce2-408a-8010-c00e2cec2d44", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "3c8597e6-ca79-494a-9a53-04c284205216", + "port": "outlabel" }, "target": { - "block": "f7053b6b-9812-48df-9212-cb8dc49d44cd", - "port": "97b51945-d716-4b6c-9db9-970d08541249" + "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" } }, { "source": { - "block": "f7053b6b-9812-48df-9212-cb8dc49d44cd", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "ed7a30bc-17fc-444e-89e5-aa9f83b32e86", + "port": "outlabel" }, "target": { - "block": "dd3259d5-99f6-47f2-881c-4e969e324444", - "port": "97b51945-d716-4b6c-9db9-970d08541249" + "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" } }, { "source": { - "block": "d77ee777-f5ad-4f89-832b-e1f95f0cf9db", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "port": "bbe1895b-be8b-4237-b0d1-ae592e3e6208" }, "target": { - "block": "dd3259d5-99f6-47f2-881c-4e969e324444", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + "block": "ee992ca6-d586-4901-aaa3-a17d94ddac84", + "port": "inlabel" } }, { "source": { - "block": "dd3259d5-99f6-47f2-881c-4e969e324444", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" - }, - "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": "" - }, - "position": { - "x": 120, - "y": 48 - } - }, - { - "id": "664caf9e-5f40-4df4-800a-b626af702e62", - "type": "basic.output", - "data": { - "name": "" - }, - "position": { - "x": 560, - "y": 72 - } - }, - { - "id": "97b51945-d716-4b6c-9db9-970d08541249", - "type": "basic.input", - "data": { - "name": "" - }, - "position": { - "x": 120, - "y": 104 - } - }, - { - "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": [ + "block": "57e59301-2919-4f06-ba95-54ce5d99d774", + "port": "bbe1895b-be8b-4237-b0d1-ae592e3e6208" + }, + "target": { + "block": "1c9b3962-5793-4e6f-98d4-9ca2113d0823", + "port": "inlabel" + }, + "vertices": [ + { + "x": -24, + "y": -696 + } + ] + }, { "source": { - "block": "18c2ebc7-5152-439c-9b3f-851c59bac834", - "port": "out" + "block": "05fb13c5-879a-422f-84a8-56d1db8816da", + "port": "outlabel" }, "target": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "a" + "block": "72c87c65-b34b-480f-8cde-cd97c0914014", + "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" } }, { "source": { - "block": "97b51945-d716-4b6c-9db9-970d08541249", - "port": "out" + "block": "161a3e27-de9b-4674-b990-c1e8314a29f3", + "port": "outlabel" }, "target": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "b" + "block": "72c87c65-b34b-480f-8cde-cd97c0914014", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" } }, { "source": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "c" + "block": "e7d0a130-cf6b-4220-a06f-42543db0214f", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "664caf9e-5f40-4df4-800a-b626af702e62", - "port": "in" + "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "port": "5e915366-608a-431a-bf68-8c64fb4c302c" } - } - ] - } - } - }, - "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": "" + "source": { + "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "port": "c7d2d573-b901-420e-a923-6832e5b18e34" }, - "position": { - "x": 112, - "y": 40 + "target": { + "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": 608, - "y": 72 + "target": { + "block": "11342001-e6e0-443b-af87-0e5d7ada0227", + "port": "e4111201-8441-4e7d-bcd2-bcf9d265d043" } }, { - "id": "97b51945-d716-4b6c-9db9-970d08541249", - "type": "basic.input", - "data": { - "name": "" + "source": { + "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, - "position": { - "x": 112, - "y": 96 + "target": { + "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "port": "5e915366-608a-431a-bf68-8c64fb4c302c" } }, { - "id": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "type": "basic.code", - "data": { - "code": "//-- OR Gate\n//-- Verilog implementation\n\nassign c = a | b;\n\n", - "params": [], - "ports": { - "in": [ - { - "name": "a" - }, - { - "name": "b" - } - ], - "out": [ - { - "name": "c" - } - ] - } + "source": { + "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "port": "c7d2d573-b901-420e-a923-6832e5b18e34" }, - "position": { - "x": 256, - "y": 48 + "target": { + "block": "11342001-e6e0-443b-af87-0e5d7ada0227", + "port": "346b4ae4-4bb6-4845-9c17-3b25e0dde718" }, - "size": { - "width": 312, - "height": 104 - } - } - ], - "wires": [ + "vertices": [ + { + "x": 824, + "y": -424 + } + ] + }, { "source": { - "block": "18c2ebc7-5152-439c-9b3f-851c59bac834", + "block": "d192d0af-e7be-4be6-925a-50227d80784c", "port": "out" }, "target": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "a" - } + "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "port": "0ebd46a4-769b-45e6-bcaf-e3796264aed3" + }, + "size": 4 }, { "source": { - "block": "97b51945-d716-4b6c-9db9-970d08541249", + "block": "c2d36218-be99-4dd1-bf69-7690c667255b", "port": "out" }, "target": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "port": "b" - } + "block": "57e59301-2919-4f06-ba95-54ce5d99d774", + "port": "0ebd46a4-769b-45e6-bcaf-e3796264aed3" + }, + "size": 4 }, { "source": { - "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", - "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" - } - } - ] - } - } - }, - "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": "" }, - "position": { - "x": 456, - "y": 120 - } + "size": 4 }, { - "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": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, - "position": { - "x": 168, - "y": 112 + "target": { + "block": "72c87c65-b34b-480f-8cde-cd97c0914014", + "port": "5e915366-608a-431a-bf68-8c64fb4c302c" }, - "size": { - "width": 248, - "height": 80 - } - } - ], - "wires": [ + "vertices": [ + { + "x": 728, + "y": -552 + } + ] + }, { "source": { - "block": "61331ec5-2c56-4cdd-b607-e63b1502fa65", - "port": "q" + "block": "72c87c65-b34b-480f-8cde-cd97c0914014", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "3d584b0a-29eb-47af-8c43-c0822282ef05", + "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" + } } ] } } }, - "afb28fd5426aea14477d11cbe30a290679f789f8": { + "1ea21df64c18f01d8f4b905c437ccf0ca332baf6": { "package": { - "name": "Bus8-Join-half", + "name": "Adder-1bit", "version": "0.1", - "description": "Bus8-Join-half: Join the two same halves into an 8-bits Bus", + "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=%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%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": "a1770adf-e143-4506-9d87-3cb9c870f534", + "id": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", "type": "basic.input", "data": { - "name": "1", - "range": "[3:0]", - "clock": false, - "size": 4 + "name": "", + "clock": false }, "position": { - "x": 128, - "y": 168 + "x": 280, + "y": -224 } }, { - "id": "1269698e-e555-4fcb-a613-cb4c7ff2e598", + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", "type": "basic.output", "data": { - "name": "", - "range": "[7:0]", - "size": 8 + "name": "c" }, "position": { - "x": 640, - "y": 200 + "x": 616, + "y": -176 } }, { - "id": "843164ff-f7d8-48b9-bf59-1e0d1135c81f", + "id": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba", "type": "basic.input", "data": { - "name": "0", - "range": "[3:0]", - "clock": false, - "size": 4 + "name": "", + "clock": false }, "position": { - "x": 128, - "y": 224 + "x": 280, + "y": -152 } }, { - "id": "16e78204-213e-4833-9096-89d735307ec2", - "type": "basic.code", + "id": "c7d2d573-b901-420e-a923-6832e5b18e34", + "type": "basic.output", "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 - } - ] - } + "name": "s" }, "position": { - "x": 296, - "y": 176 + "x": 616, + "y": -96 + } + }, + { + "id": "0ef44beb-f4b1-484c-b15a-dc4431241aee", + "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", + "position": { + "x": 456, + "y": -168 }, "size": { - "width": 272, - "height": 104 + "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": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o" + "block": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba", + "port": "out" }, "target": { - "block": "1269698e-e555-4fcb-a613-cb4c7ff2e598", - "port": "in" - }, - "size": 8 + "block": "0ef44beb-f4b1-484c-b15a-dc4431241aee", + "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + } }, { "source": { - "block": "a1770adf-e143-4506-9d87-3cb9c870f534", + "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", "port": "out" }, "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i1" + "block": "0ef44beb-f4b1-484c-b15a-dc4431241aee", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" }, - "size": 4 + "vertices": [ + { + "x": 400, + "y": -168 + } + ] }, { "source": { - "block": "843164ff-f7d8-48b9-bf59-1e0d1135c81f", - "port": "out" + "block": "e80cc244-1751-4524-9f77-734a36b24a88", + "port": "3d584b0a-29eb-47af-8c43-c0822282ef05" }, "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i0" + "block": "0ef44beb-f4b1-484c-b15a-dc4431241aee", + "port": "5e915366-608a-431a-bf68-8c64fb4c302c" + } + }, + { + "source": { + "block": "0ef44beb-f4b1-484c-b15a-dc4431241aee", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, - "size": 4 + "target": { + "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" + } } ] } } }, - "a1ce303b8ce47a06371ea4641c81460f34a1cca9": { + "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a": { "package": { - "name": "AdderC-4bits", + "name": "AdderC-1bit", "version": "0.1", - "description": "AdderC-4bits: Adder of two operands of 4 bits and Carry in", + "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 @@ -9213,56 +6988,35 @@ "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" - }, - "position": { - "x": 8, - "y": -744 - } - }, - { - "id": "161a3e27-de9b-4674-b990-c1e8314a29f3", + "id": "b28215b2-e375-43cd-96b4-ed5b60418dc6", "type": "basic.outputLabel", "data": { - "blockColor": "deeppink", - "name": "a3", - "oldBlockColor": "deeppink" + "blockColor": "fuchsia", + "name": "a" }, "position": { - "x": 576, - "y": -736 + "x": 504, + "y": -208 } }, { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "type": "basic.output", + "id": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", + "type": "basic.input", "data": { - "name": "c" + "name": "a", + "clock": false }, "position": { - "x": 920, - "y": -696 + "x": 136, + "y": -192 } }, { - "id": "73a0a48e-d345-4eda-8603-782e9865d928", + "id": "f2c3e9af-37a6-4815-9413-c437d2471b1f", "type": "basic.inputLabel", "data": { - "blockColor": "deeppink", - "name": "a2", + "blockColor": "fuchsia", + "name": "a", "pins": [ { "index": "0", @@ -9270,33 +7024,54 @@ "value": "NULL" } ], - "virtual": true, - "oldBlockColor": "deeppink" + "virtual": true }, "position": { - "x": 8, - "y": -688 + "x": 272, + "y": -192 } }, { - "id": "05fb13c5-879a-422f-84a8-56d1db8816da", + "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": "b3", - "oldBlockColor": "fuchsia" + "name": "b" }, "position": { - "x": 576, - "y": -672 + "x": 504, + "y": -144 } }, { - "id": "a30f87da-7077-4ad6-92dd-adbfdd1bed45", + "id": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba", + "type": "basic.input", + "data": { + "name": "b", + "clock": false + }, + "position": { + "x": 136, + "y": -120 + } + }, + { + "id": "65936289-69ce-4e26-be4e-44f8a3706934", "type": "basic.inputLabel", "data": { - "blockColor": "deeppink", - "name": "a1", + "blockColor": "fuchsia", + "name": "b", "pins": [ { "index": "0", @@ -9304,47 +7079,44 @@ "value": "NULL" } ], - "virtual": true, - "oldBlockColor": "deeppink" + "virtual": true }, "position": { - "x": 8, - "y": -632 + "x": 272, + "y": -120 } }, { - "id": "c2d36218-be99-4dd1-bf69-7690c667255b", - "type": "basic.input", + "id": "6b7a0fc7-9eeb-4894-98fd-e0122d08cdf0", + "type": "basic.outputLabel", "data": { - "name": "", - "range": "[3:0]", - "clock": false, - "size": 4 + "blockColor": "navy", + "name": "ci", + "oldBlockColor": "fuchsia" }, "position": { - "x": -312, - "y": -632 + "x": 648, + "y": -96 } }, { - "id": "ed7a30bc-17fc-444e-89e5-aa9f83b32e86", - "type": "basic.outputLabel", + "id": "5e915366-608a-431a-bf68-8c64fb4c302c", + "type": "basic.input", "data": { - "blockColor": "deeppink", - "name": "a2", - "oldBlockColor": "deeppink" + "name": "ci", + "clock": false }, "position": { - "x": 456, - "y": -584 + "x": 136, + "y": -40 } }, { - "id": "d7d5e8c8-78dd-41a8-aedf-1051b89bfb77", + "id": "9fca1dd5-3d6c-4321-a1cf-fd35336e41ea", "type": "basic.inputLabel", "data": { - "blockColor": "deeppink", - "name": "a0", + "blockColor": "navy", + "name": "ci", "pins": [ { "index": "0", @@ -9356,592 +7128,925 @@ "oldBlockColor": "fuchsia" }, "position": { - "x": 8, - "y": -576 + "x": 272, + "y": -40 } }, { - "id": "3c8597e6-ca79-494a-9a53-04c284205216", + "id": "79149d67-753e-414e-ba2a-49ba4edfe523", "type": "basic.outputLabel", "data": { "blockColor": "fuchsia", - "name": "b2", - "oldBlockColor": "fuchsia" + "name": "a" }, "position": { - "x": 456, - "y": -528 + "x": 480, + "y": 24 } }, { - "id": "ee992ca6-d586-4901-aaa3-a17d94ddac84", - "type": "basic.inputLabel", + "id": "c7d2d573-b901-420e-a923-6832e5b18e34", + "type": "basic.output", "data": { - "blockColor": "fuchsia", - "name": "b3", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "name": "s" }, "position": { - "x": -8, - "y": -448 + "x": 992, + "y": 56 } }, { - "id": "c5dce3e4-5ecc-4fc9-bbf6-7c1adfa1c7ff", + "id": "edf4525b-edd8-40fa-b784-631b102fb907", "type": "basic.outputLabel", "data": { - "blockColor": "deeppink", - "name": "a1", - "oldBlockColor": "fuchsia" + "blockColor": "fuchsia", + "name": "b" }, "position": { - "x": 328, - "y": -440 + "x": 480, + "y": 88 } }, { - "id": "fb8bbeb1-5c60-4629-bc13-231545818d0b", - "type": "basic.inputLabel", + "id": "35a4f7cc-d7ef-4653-af75-fe112a5f5151", + "type": "basic.outputLabel", "data": { - "blockColor": "fuchsia", - "name": "b2", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, + "blockColor": "navy", + "name": "ci", "oldBlockColor": "fuchsia" }, "position": { - "x": -8, - "y": -384 + "x": 648, + "y": 120 } }, { - "id": "d192d0af-e7be-4be6-925a-50227d80784c", - "type": "basic.input", - "data": { - "name": "", - "range": "[3:0]", - "clock": false, - "size": 4 + "id": "687d4abf-9ce2-408a-8010-c00e2cec2d44", + "type": "d1240143e1ff7afe57f0f11565da980612b2bb76", + "position": { + "x": 648, + "y": 40 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "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": 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, + "height": 64 + } + } + ], + "wires": [ + { + "source": { + "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", + "port": "out" + }, + "target": { + "block": "f2c3e9af-37a6-4815-9413-c437d2471b1f", + "port": "inlabel" + } + }, + { + "source": { + "block": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba", + "port": "out" + }, + "target": { + "block": "65936289-69ce-4e26-be4e-44f8a3706934", + "port": "inlabel" + } + }, + { + "source": { + "block": "5e915366-608a-431a-bf68-8c64fb4c302c", + "port": "out" + }, + "target": { + "block": "9fca1dd5-3d6c-4321-a1cf-fd35336e41ea", + "port": "inlabel" + } + }, + { + "source": { + "block": "79149d67-753e-414e-ba2a-49ba4edfe523", + "port": "outlabel" + }, + "target": { + "block": "687d4abf-9ce2-408a-8010-c00e2cec2d44", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } + }, + { + "source": { + "block": "edf4525b-edd8-40fa-b784-631b102fb907", + "port": "outlabel" + }, + "target": { + "block": "687d4abf-9ce2-408a-8010-c00e2cec2d44", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + } + }, + { + "source": { + "block": "35a4f7cc-d7ef-4653-af75-fe112a5f5151", + "port": "outlabel" + }, + "target": { + "block": "6756cb54-aa93-40af-a5f3-41ef2b2edec9", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + } + }, + { + "source": { + "block": "6b7a0fc7-9eeb-4894-98fd-e0122d08cdf0", + "port": "outlabel" + }, + "target": { + "block": "f7053b6b-9812-48df-9212-cb8dc49d44cd", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } + }, + { + "source": { + "block": "b28215b2-e375-43cd-96b4-ed5b60418dc6", + "port": "outlabel" + }, + "target": { + "block": "d77ee777-f5ad-4f89-832b-e1f95f0cf9db", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } + }, + { + "source": { + "block": "cdbf1806-fde2-4763-aeae-cd26f3db2a86", + "port": "outlabel" + }, + "target": { + "block": "d77ee777-f5ad-4f89-832b-e1f95f0cf9db", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + } + }, + { + "source": { + "block": "687d4abf-9ce2-408a-8010-c00e2cec2d44", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "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" }, - "position": { - "x": -312, - "y": -384 + "target": { + "block": "c7d2d573-b901-420e-a923-6832e5b18e34", + "port": "in" } }, { - "id": "038a8cb8-35b8-424a-9d14-c320cfcddccf", - "type": "basic.outputLabel", - "data": { - "blockColor": "fuchsia", - "name": "b1" + "source": { + "block": "687d4abf-9ce2-408a-8010-c00e2cec2d44", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, - "position": { - "x": 328, - "y": -376 + "target": { + "block": "f7053b6b-9812-48df-9212-cb8dc49d44cd", + "port": "97b51945-d716-4b6c-9db9-970d08541249" } }, { - "id": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42", - "type": "basic.output", - "data": { - "name": "s", - "range": "[3:0]", - "size": 4 + "source": { + "block": "f7053b6b-9812-48df-9212-cb8dc49d44cd", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, - "position": { - "x": 1064, - "y": -368 + "target": { + "block": "dd3259d5-99f6-47f2-881c-4e969e324444", + "port": "97b51945-d716-4b6c-9db9-970d08541249" } }, { - "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": "d77ee777-f5ad-4f89-832b-e1f95f0cf9db", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, - "position": { - "x": -16, - "y": -320 + "target": { + "block": "dd3259d5-99f6-47f2-881c-4e969e324444", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" } }, { - "id": "f8dceaf6-6020-49e5-b775-ed4821fbd5bd", - "type": "basic.outputLabel", - "data": { - "blockColor": "deeppink", - "name": "a0", - "oldBlockColor": "fuchsia" + "source": { + "block": "dd3259d5-99f6-47f2-881c-4e969e324444", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" }, - "position": { - "x": 184, - "y": -296 + "target": { + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "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": "b652825e-10ba-47cc-9832-e39d73586234", - "type": "basic.inputLabel", + "id": "18c2ebc7-5152-439c-9b3f-851c59bac834", + "type": "basic.input", "data": { - "blockColor": "fuchsia", - "name": "b0", - "pins": [ - { - "index": "0", - "name": "NULL", - "value": "NULL" - } - ], - "virtual": true, - "oldBlockColor": "fuchsia" + "name": "" }, "position": { - "x": -32, - "y": -264 + "x": 112, + "y": 40 } }, { - "id": "7e5351cc-ea73-4bb2-9dda-0390f005b90b", - "type": "basic.outputLabel", + "id": "664caf9e-5f40-4df4-800a-b626af702e62", + "type": "basic.output", "data": { - "blockColor": "fuchsia", - "name": "b0", - "oldBlockColor": "fuchsia" + "name": "" }, "position": { - "x": 184, - "y": -232 + "x": 608, + "y": 72 } }, { - "id": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86", + "id": "97b51945-d716-4b6c-9db9-970d08541249", "type": "basic.input", "data": { - "name": "ci", - "clock": false + "name": "" }, "position": { - "x": -296, - "y": -168 + "x": 112, + "y": 96 } }, { - "id": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", - "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", + "id": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "type": "basic.code", + "data": { + "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": 464, - "y": -392 + "x": 256, + "y": 48 }, "size": { - "width": 96, - "height": 96 + "width": 312, + "height": 104 } - }, + } + ], + "wires": [ { - "id": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", - "position": { - "x": 608, - "y": -544 + "source": { + "block": "18c2ebc7-5152-439c-9b3f-851c59bac834", + "port": "out" }, - "size": { - "width": 96, - "height": 96 + "target": { + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "a" } }, { - "id": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "type": "c4f23ad05c2010ec9bd213c8814c9238873037ae", - "position": { - "x": -168, - "y": -416 + "source": { + "block": "97b51945-d716-4b6c-9db9-970d08541249", + "port": "out" }, - "size": { - "width": 96, - "height": 128 + "target": { + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "b" } }, { - "id": "57e59301-2919-4f06-ba95-54ce5d99d774", - "type": "c4f23ad05c2010ec9bd213c8814c9238873037ae", - "position": { - "x": -152, - "y": -664 + "source": { + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "c" }, - "size": { - "width": 96, - "height": 128 + "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": "11342001-e6e0-443b-af87-0e5d7ada0227", - "type": "84f0a15761ee8b753f67079819a7614923939472", - "position": { - "x": 896, - "y": -400 + "id": "3d584b0a-29eb-47af-8c43-c0822282ef05", + "type": "basic.output", + "data": { + "name": "" }, - "size": { - "width": 96, - "height": 128 + "position": { + "x": 456, + "y": 120 } }, { - "id": "72c87c65-b34b-480f-8cde-cd97c0914014", - "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", - "position": { - "x": 744, - "y": -688 + "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" + } + ] + } }, - "size": { - "width": 96, - "height": 96 - } - }, - { - "id": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", - "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", "position": { - "x": 320, - "y": -248 + "x": 168, + "y": 112 }, "size": { - "width": 96, - "height": 96 + "width": 248, + "height": 80 } } ], "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" } - }, + } + ] + } + } + }, + "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": [ { - "source": { - "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "port": "f5a71d7b-de20-4527-80c8-0eb20de0dc77" + "id": "bbe1895b-be8b-4237-b0d1-ae592e3e6208", + "type": "basic.output", + "data": { + "name": "3" }, - "target": { - "block": "527c9113-e440-454b-b427-182b646c10f5", - "port": "inlabel" + "position": { + "x": 576, + "y": 80 } }, { - "source": { - "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "port": "0f7487e5-b070-4277-bba6-acf69934afca" + "id": "33072210-9ba0-4659-8339-95952b939e6e", + "type": "basic.output", + "data": { + "name": "2" }, - "target": { - "block": "b652825e-10ba-47cc-9832-e39d73586234", - "port": "inlabel" + "position": { + "x": 600, + "y": 144 } }, { - "source": { - "block": "7e5351cc-ea73-4bb2-9dda-0390f005b90b", - "port": "outlabel" + "id": "0ebd46a4-769b-45e6-bcaf-e3796264aed3", + "type": "basic.input", + "data": { + "name": "", + "range": "[3:0]", + "clock": false, + "size": 4 }, - "target": { - "block": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", - "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + "position": { + "x": 128, + "y": 184 } }, { - "source": { - "block": "f8dceaf6-6020-49e5-b775-ed4821fbd5bd", - "port": "outlabel" + "id": "f5a71d7b-de20-4527-80c8-0eb20de0dc77", + "type": "basic.output", + "data": { + "name": "1" }, - "target": { - "block": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + "position": { + "x": 592, + "y": 240 } }, { - "source": { - "block": "57e59301-2919-4f06-ba95-54ce5d99d774", - "port": "0f7487e5-b070-4277-bba6-acf69934afca" + "id": "0f7487e5-b070-4277-bba6-acf69934afca", + "type": "basic.output", + "data": { + "name": "0" }, - "target": { - "block": "d7d5e8c8-78dd-41a8-aedf-1051b89bfb77", - "port": "inlabel" + "position": { + "x": 568, + "y": 296 } }, { - "source": { - "block": "c5dce3e4-5ecc-4fc9-bbf6-7c1adfa1c7ff", - "port": "outlabel" + "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" + } + ] + } }, - "target": { - "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" + "position": { + "x": 296, + "y": 176 }, - "target": { - "block": "a30f87da-7077-4ad6-92dd-adbfdd1bed45", - "port": "inlabel" + "size": { + "width": 208, + "height": 80 } - }, + } + ], + "wires": [ { "source": { - "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "port": "33072210-9ba0-4659-8339-95952b939e6e" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o1" }, "target": { - "block": "fb8bbeb1-5c60-4629-bc13-231545818d0b", - "port": "inlabel" + "block": "f5a71d7b-de20-4527-80c8-0eb20de0dc77", + "port": "in" } }, { "source": { - "block": "57e59301-2919-4f06-ba95-54ce5d99d774", - "port": "33072210-9ba0-4659-8339-95952b939e6e" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o0" }, "target": { - "block": "73a0a48e-d345-4eda-8603-782e9865d928", - "port": "inlabel" + "block": "0f7487e5-b070-4277-bba6-acf69934afca", + "port": "in" } }, { "source": { - "block": "3c8597e6-ca79-494a-9a53-04c284205216", - "port": "outlabel" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o2" }, "target": { - "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + "block": "33072210-9ba0-4659-8339-95952b939e6e", + "port": "in" } }, { "source": { - "block": "ed7a30bc-17fc-444e-89e5-aa9f83b32e86", - "port": "outlabel" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o3" }, "target": { - "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + "block": "bbe1895b-be8b-4237-b0d1-ae592e3e6208", + "port": "in" } }, { "source": { - "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "port": "bbe1895b-be8b-4237-b0d1-ae592e3e6208" + "block": "0ebd46a4-769b-45e6-bcaf-e3796264aed3", + "port": "out" }, "target": { - "block": "ee992ca6-d586-4901-aaa3-a17d94ddac84", - "port": "inlabel" - } - }, - { - "source": { - "block": "57e59301-2919-4f06-ba95-54ce5d99d774", - "port": "bbe1895b-be8b-4237-b0d1-ae592e3e6208" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i" }, - "target": { - "block": "1c9b3962-5793-4e6f-98d4-9ca2113d0823", - "port": "inlabel" + "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 }, - "vertices": [ - { - "x": -24, - "y": -696 - } - ] + "position": { + "x": 80, + "y": 64 + } }, { - "source": { - "block": "05fb13c5-879a-422f-84a8-56d1db8816da", - "port": "outlabel" + "id": "346b4ae4-4bb6-4845-9c17-3b25e0dde718", + "type": "basic.input", + "data": { + "name": "2", + "clock": false }, - "target": { - "block": "72c87c65-b34b-480f-8cde-cd97c0914014", - "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + "position": { + "x": 80, + "y": 136 } }, { - "source": { - "block": "161a3e27-de9b-4674-b990-c1e8314a29f3", - "port": "outlabel" + "id": "55180947-6349-4a04-a151-ad69ea2b155e", + "type": "basic.output", + "data": { + "name": "", + "range": "[3:0]", + "size": 4 }, - "target": { - "block": "72c87c65-b34b-480f-8cde-cd97c0914014", - "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + "position": { + "x": 712, + "y": 200 } }, { - "source": { - "block": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "id": "969e11ca-69e8-403b-a566-7bf2fbe3a5a8", + "type": "basic.input", + "data": { + "name": "1", + "clock": false }, - "target": { - "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", - "port": "5e915366-608a-431a-bf68-8c64fb4c302c" + "position": { + "x": 80, + "y": 208 } }, { - "source": { - "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", - "port": "c7d2d573-b901-420e-a923-6832e5b18e34" + "id": "e4111201-8441-4e7d-bcd2-bcf9d265d043", + "type": "basic.input", + "data": { + "name": "0", + "clock": false }, - "target": { - "block": "11342001-e6e0-443b-af87-0e5d7ada0227", - "port": "969e11ca-69e8-403b-a566-7bf2fbe3a5a8" + "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": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", - "port": "c7d2d573-b901-420e-a923-6832e5b18e34" + "block": "969e11ca-69e8-403b-a566-7bf2fbe3a5a8", + "port": "out" }, "target": { - "block": "11342001-e6e0-443b-af87-0e5d7ada0227", - "port": "e4111201-8441-4e7d-bcd2-bcf9d265d043" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i1" } }, { "source": { - "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "block": "e4111201-8441-4e7d-bcd2-bcf9d265d043", + "port": "out" }, "target": { - "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "port": "5e915366-608a-431a-bf68-8c64fb4c302c" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i0" } }, { "source": { - "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "port": "c7d2d573-b901-420e-a923-6832e5b18e34" + "block": "346b4ae4-4bb6-4845-9c17-3b25e0dde718", + "port": "out" }, "target": { - "block": "11342001-e6e0-443b-af87-0e5d7ada0227", - "port": "346b4ae4-4bb6-4845-9c17-3b25e0dde718" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i2" }, "vertices": [ { - "x": 824, - "y": -424 + "x": 200, + "y": 176 } ] }, { "source": { - "block": "d192d0af-e7be-4be6-925a-50227d80784c", + "block": "6c2aa548-5a4c-4e8d-a56c-a70926b19f18", "port": "out" }, "target": { - "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", - "port": "0ebd46a4-769b-45e6-bcaf-e3796264aed3" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i3" }, - "size": 4 + "vertices": [ + { + "x": 224, + "y": 128 + } + ] }, { "source": { - "block": "c2d36218-be99-4dd1-bf69-7690c667255b", - "port": "out" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o" }, "target": { - "block": "57e59301-2919-4f06-ba95-54ce5d99d774", - "port": "0ebd46a4-769b-45e6-bcaf-e3796264aed3" + "block": "55180947-6349-4a04-a151-ad69ea2b155e", + "port": "in" }, "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": [ + { + "id": "a1770adf-e143-4506-9d87-3cb9c870f534", + "type": "basic.input", + "data": { + "name": "1", + "range": "[3:0]", + "clock": false, + "size": 4 + }, + "position": { + "x": 128, + "y": 168 + } }, { - "source": { - "block": "11342001-e6e0-443b-af87-0e5d7ada0227", - "port": "55180947-6349-4a04-a151-ad69ea2b155e" + "id": "1269698e-e555-4fcb-a613-cb4c7ff2e598", + "type": "basic.output", + "data": { + "name": "", + "range": "[7:0]", + "size": 8 }, - "target": { - "block": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42", - "port": "in" + "position": { + "x": 640, + "y": 200 + } + }, + { + "id": "843164ff-f7d8-48b9-bf59-1e0d1135c81f", + "type": "basic.input", + "data": { + "name": "0", + "range": "[3:0]", + "clock": false, + "size": 4 }, - "size": 4 + "position": { + "x": 128, + "y": 224 + } }, { - "source": { - "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "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": "72c87c65-b34b-480f-8cde-cd97c0914014", - "port": "5e915366-608a-431a-bf68-8c64fb4c302c" + "position": { + "x": 296, + "y": 176 }, - "vertices": [ - { - "x": 728, - "y": -552 - } - ] - }, + "size": { + "width": 272, + "height": 104 + } + } + ], + "wires": [ { "source": { - "block": "72c87c65-b34b-480f-8cde-cd97c0914014", - "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o" }, "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "block": "1269698e-e555-4fcb-a613-cb4c7ff2e598", "port": "in" - } + }, + "size": 8 }, { "source": { - "block": "72c87c65-b34b-480f-8cde-cd97c0914014", - "port": "c7d2d573-b901-420e-a923-6832e5b18e34" + "block": "a1770adf-e143-4506-9d87-3cb9c870f534", + "port": "out" }, "target": { - "block": "11342001-e6e0-443b-af87-0e5d7ada0227", - "port": "6c2aa548-5a4c-4e8d-a56c-a70926b19f18" - } + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i1" + }, + "size": 4 }, { "source": { - "block": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86", + "block": "843164ff-f7d8-48b9-bf59-1e0d1135c81f", "port": "out" }, "target": { - "block": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", - "port": "5e915366-608a-431a-bf68-8c64fb4c302c" - } + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i0" + }, + "size": 4 } ] } } }, - "c3c498191b14e9288a85fa2871b3966665f75475": { + "a1ce303b8ce47a06371ea4641c81460f34a1cca9": { "package": { - "name": "AdderC-8bits", + "name": "AdderC-4bits", "version": "0.1", - "description": "AdderC-8bits: Adder of two operands of 8 bits and Carry in", + "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 @@ -9950,255 +8055,324 @@ "graph": { "blocks": [ { - "id": "bc495131-253e-49c9-9cd7-9e843cbe7ce5", + "id": "1c9b3962-5793-4e6f-98d4-9ca2113d0823", "type": "basic.inputLabel", "data": { - "name": "a1", - "range": "[3:0]", + "blockColor": "deeppink", + "name": "a3", "pins": [ { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true, + "oldBlockColor": "deeppink" + }, + "position": { + "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": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", + "data": { + "name": "c" + }, + "position": { + "x": 920, + "y": -696 + } + }, + { + "id": "73a0a48e-d345-4eda-8603-782e9865d928", + "type": "basic.inputLabel", + "data": { + "blockColor": "deeppink", + "name": "a2", + "pins": [ { - "index": "1", - "name": "", - "value": "" - }, + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true, + "oldBlockColor": "deeppink" + }, + "position": { + "x": 8, + "y": -688 + } + }, + { + "id": "05fb13c5-879a-422f-84a8-56d1db8816da", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "b3", + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 576, + "y": -672 + } + }, + { + "id": "a30f87da-7077-4ad6-92dd-adbfdd1bed45", + "type": "basic.inputLabel", + "data": { + "blockColor": "deeppink", + "name": "a1", + "pins": [ { "index": "0", - "name": "", - "value": "" + "name": "NULL", + "value": "NULL" } ], "virtual": true, - "blockColor": "deeppink" + "oldBlockColor": "deeppink" }, "position": { - "x": -64, - "y": -648 + "x": 8, + "y": -632 } }, { - "id": "4bf17d89-89b8-4524-800a-2d15f9bbb111", + "id": "c2d36218-be99-4dd1-bf69-7690c667255b", "type": "basic.input", "data": { "name": "", - "range": "[7:0]", + "range": "[3:0]", "clock": false, - "size": 8 + "size": 4 }, "position": { - "x": -408, + "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": "dc0243cd-75d9-4b07-bc17-150c250121ba", + "id": "d7d5e8c8-78dd-41a8-aedf-1051b89bfb77", "type": "basic.inputLabel", "data": { + "blockColor": "deeppink", "name": "a0", - "range": "[3:0]", "pins": [ - { - "index": "3", - "name": "", - "value": "" - }, - { - "index": "2", - "name": "", - "value": "" - }, - { - "index": "1", - "name": "", - "value": "" - }, { "index": "0", - "name": "", - "value": "" + "name": "NULL", + "value": "NULL" } ], "virtual": true, - "oldBlockColor": "deeppink", - "blockColor": "deeppink" + "oldBlockColor": "fuchsia" }, "position": { - "x": -64, - "y": -568 + "x": 8, + "y": -576 } }, { - "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "type": "basic.output", + "id": "3c8597e6-ca79-494a-9a53-04c284205216", + "type": "basic.outputLabel", "data": { - "name": "c" + "blockColor": "fuchsia", + "name": "b2", + "oldBlockColor": "fuchsia" }, "position": { - "x": 832, - "y": -480 + "x": 456, + "y": -528 } }, { - "id": "bd04885a-8a3a-4215-bbf1-c472c10c44f5", + "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": { - "name": "a1", - "range": "[3:0]", "blockColor": "deeppink", - "size": 4 + "name": "a1", + "oldBlockColor": "fuchsia" }, "position": { - "x": 248, - "y": -456 + "x": 328, + "y": -440 } }, { - "id": "ba04e310-65e0-4554-ba2b-fbde28690a0b", + "id": "fb8bbeb1-5c60-4629-bc13-231545818d0b", "type": "basic.inputLabel", "data": { - "name": "b1", - "range": "[3:0]", + "blockColor": "fuchsia", + "name": "b2", "pins": [ - { - "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": -80, - "y": -448 + "x": -8, + "y": -384 } }, { - "id": "3867504b-f331-4e0e-b923-acc86cb4255c", + "id": "d192d0af-e7be-4be6-925a-50227d80784c", "type": "basic.input", "data": { "name": "", - "range": "[7:0]", + "range": "[3:0]", "clock": false, - "size": 8 + "size": 4 }, "position": { - "x": -400, - "y": -392 + "x": -312, + "y": -384 } }, { - "id": "d60cb59e-3e5c-4044-ae1f-3a06f33e83f9", - "type": "basic.inputLabel", + "id": "038a8cb8-35b8-424a-9d14-c320cfcddccf", + "type": "basic.outputLabel", "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": "fuchsia", + "name": "b1" }, "position": { - "x": -80, + "x": 328, "y": -376 } }, { - "id": "383985cb-fd11-48ff-972a-cee8b631bd65", - "type": "basic.outputLabel", + "id": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42", + "type": "basic.output", "data": { - "name": "b1", + "name": "s", "range": "[3:0]", - "blockColor": "fuchsia", "size": 4 }, "position": { - "x": 248, - "y": -376 + "x": 1064, + "y": -368 } }, { - "id": "9daaaf78-5a89-4d4a-a1b2-db1d3af962f1", - "type": "basic.output", + "id": "527c9113-e440-454b-b427-182b646c10f5", + "type": "basic.inputLabel", "data": { - "name": "s", - "range": "[7:0]", - "size": 8 + "blockColor": "fuchsia", + "name": "b1", + "pins": [ + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true }, "position": { - "x": 840, - "y": -336 + "x": -16, + "y": -320 } }, { - "id": "7905afe7-6a82-43d9-811b-45f379a3c0a9", + "id": "f8dceaf6-6020-49e5-b775-ed4821fbd5bd", "type": "basic.outputLabel", "data": { - "name": "a0", - "range": "[3:0]", "blockColor": "deeppink", - "size": 4 + "name": "a0", + "oldBlockColor": "fuchsia" }, "position": { - "x": 120, - "y": -304 + "x": 184, + "y": -296 } }, { - "id": "53d3821c-4072-438d-a45e-3a5364fdc8bc", - "type": "basic.outputLabel", + "id": "b652825e-10ba-47cc-9832-e39d73586234", + "type": "basic.inputLabel", "data": { + "blockColor": "fuchsia", "name": "b0", - "range": "[3:0]", + "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", - "size": 4 + "name": "b0", + "oldBlockColor": "fuchsia" }, "position": { - "x": 120, + "x": 184, "y": -232 } }, @@ -10210,52 +8384,76 @@ "clock": false }, "position": { - "x": -392, + "x": -296, "y": -168 } }, { - "id": "d5ab6421-1fc7-4d8d-8124-2cc7e0eb931d", - "type": "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a", + "id": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", "position": { - "x": -248, + "x": 464, "y": -392 }, "size": { "width": 96, - "height": 64 + "height": 96 } }, { - "id": "d6ce7b9d-d8cf-4cde-85a8-589536fcc3a3", - "type": "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a", + "id": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", "position": { - "x": -240, - "y": -584 + "x": 608, + "y": -544 }, "size": { "width": 96, - "height": 64 + "height": 96 } }, { - "id": "0e0cf23b-5743-4a19-838d-fb46d407ee16", - "type": "afb28fd5426aea14477d11cbe30a290679f789f8", + "id": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "type": "c4f23ad05c2010ec9bd213c8814c9238873037ae", "position": { - "x": 688, - "y": -336 + "x": -168, + "y": -416 }, "size": { "width": 96, - "height": 64 + "height": 128 } }, { - "id": "840ba8a1-693f-4531-a947-adcaeac4e854", - "type": "a1ce303b8ce47a06371ea4641c81460f34a1cca9", + "id": "57e59301-2919-4f06-ba95-54ce5d99d774", + "type": "c4f23ad05c2010ec9bd213c8814c9238873037ae", "position": { - "x": 320, - "y": -248 + "x": -152, + "y": -664 + }, + "size": { + "width": 96, + "height": 128 + } + }, + { + "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": 744, + "y": -688 }, "size": { "width": 96, @@ -10263,11 +8461,11 @@ } }, { - "id": "7a4072f6-7500-4b87-86dc-2c63246b510b", - "type": "a1ce303b8ce47a06371ea4641c81460f34a1cca9", + "id": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", + "type": "ad119ba8cc72b122da03cd3d251ffce5e8dc6e9a", "position": { - "x": 464, - "y": -392 + "x": 320, + "y": -248 }, "size": { "width": 96, @@ -10278,483 +8476,616 @@ "wires": [ { "source": { - "block": "d5ab6421-1fc7-4d8d-8124-2cc7e0eb931d", - "port": "eb61d084-ca22-4894-b8a2-f936db38f4b1", - "size": 4 + "block": "038a8cb8-35b8-424a-9d14-c320cfcddccf", + "port": "outlabel" + }, + "target": { + "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + } + }, + { + "source": { + "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "port": "f5a71d7b-de20-4527-80c8-0eb20de0dc77" + }, + "target": { + "block": "527c9113-e440-454b-b427-182b646c10f5", + "port": "inlabel" + } + }, + { + "source": { + "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "port": "0f7487e5-b070-4277-bba6-acf69934afca" + }, + "target": { + "block": "b652825e-10ba-47cc-9832-e39d73586234", + "port": "inlabel" + } + }, + { + "source": { + "block": "7e5351cc-ea73-4bb2-9dda-0390f005b90b", + "port": "outlabel" + }, + "target": { + "block": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", + "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + } + }, + { + "source": { + "block": "f8dceaf6-6020-49e5-b775-ed4821fbd5bd", + "port": "outlabel" + }, + "target": { + "block": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + } + }, + { + "source": { + "block": "57e59301-2919-4f06-ba95-54ce5d99d774", + "port": "0f7487e5-b070-4277-bba6-acf69934afca" + }, + "target": { + "block": "d7d5e8c8-78dd-41a8-aedf-1051b89bfb77", + "port": "inlabel" + } + }, + { + "source": { + "block": "c5dce3e4-5ecc-4fc9-bbf6-7c1adfa1c7ff", + "port": "outlabel" + }, + "target": { + "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" }, "target": { - "block": "d60cb59e-3e5c-4044-ae1f-3a06f33e83f9", + "block": "a30f87da-7077-4ad6-92dd-adbfdd1bed45", "port": "inlabel" - }, - "size": 4 + } }, { "source": { - "block": "d5ab6421-1fc7-4d8d-8124-2cc7e0eb931d", - "port": "637e64f4-0a6b-4037-9a75-89397e078a58", - "size": 4 + "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "port": "33072210-9ba0-4659-8339-95952b939e6e" }, "target": { - "block": "ba04e310-65e0-4554-ba2b-fbde28690a0b", + "block": "fb8bbeb1-5c60-4629-bc13-231545818d0b", "port": "inlabel" - }, - "size": 4 + } }, { "source": { - "block": "d6ce7b9d-d8cf-4cde-85a8-589536fcc3a3", - "port": "eb61d084-ca22-4894-b8a2-f936db38f4b1", - "size": 4 + "block": "57e59301-2919-4f06-ba95-54ce5d99d774", + "port": "33072210-9ba0-4659-8339-95952b939e6e" }, "target": { - "block": "dc0243cd-75d9-4b07-bc17-150c250121ba", + "block": "73a0a48e-d345-4eda-8603-782e9865d928", "port": "inlabel" - }, - "size": 4 + } }, { "source": { - "block": "d6ce7b9d-d8cf-4cde-85a8-589536fcc3a3", - "port": "637e64f4-0a6b-4037-9a75-89397e078a58", - "size": 4 + "block": "3c8597e6-ca79-494a-9a53-04c284205216", + "port": "outlabel" }, "target": { - "block": "bc495131-253e-49c9-9cd7-9e843cbe7ce5", - "port": "inlabel" - }, - "size": 4 + "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + } }, { "source": { - "block": "53d3821c-4072-438d-a45e-3a5364fdc8bc", + "block": "ed7a30bc-17fc-444e-89e5-aa9f83b32e86", "port": "outlabel" }, "target": { - "block": "840ba8a1-693f-4531-a947-adcaeac4e854", - "port": "d192d0af-e7be-4be6-925a-50227d80784c", - "size": 4 + "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" }, - "size": 4 + "target": { + "block": "ee992ca6-d586-4901-aaa3-a17d94ddac84", + "port": "inlabel" + } }, { "source": { - "block": "7905afe7-6a82-43d9-811b-45f379a3c0a9", - "port": "outlabel" + "block": "57e59301-2919-4f06-ba95-54ce5d99d774", + "port": "bbe1895b-be8b-4237-b0d1-ae592e3e6208" }, "target": { - "block": "840ba8a1-693f-4531-a947-adcaeac4e854", - "port": "c2d36218-be99-4dd1-bf69-7690c667255b", - "size": 4 + "block": "1c9b3962-5793-4e6f-98d4-9ca2113d0823", + "port": "inlabel" }, "vertices": [ { - "x": 272, - "y": -256 + "x": -24, + "y": -696 } - ], - "size": 4 + ] }, { "source": { - "block": "383985cb-fd11-48ff-972a-cee8b631bd65", + "block": "05fb13c5-879a-422f-84a8-56d1db8816da", "port": "outlabel" }, "target": { - "block": "7a4072f6-7500-4b87-86dc-2c63246b510b", - "port": "d192d0af-e7be-4be6-925a-50227d80784c", - "size": 4 - }, - "size": 4 + "block": "72c87c65-b34b-480f-8cde-cd97c0914014", + "port": "c25ede2a-5b9b-43af-bd6b-0ac539a135ba" + } }, { "source": { - "block": "bd04885a-8a3a-4215-bbf1-c472c10c44f5", + "block": "161a3e27-de9b-4674-b990-c1e8314a29f3", "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": "72c87c65-b34b-480f-8cde-cd97c0914014", + "port": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7" + } }, { "source": { - "block": "840ba8a1-693f-4531-a947-adcaeac4e854", + "block": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "7a4072f6-7500-4b87-86dc-2c63246b510b", - "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" + "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "port": "5e915366-608a-431a-bf68-8c64fb4c302c" } }, { "source": { - "block": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86", - "port": "out" + "block": "dc4b3359-4017-40dd-9c0b-a1afde43f9e1", + "port": "c7d2d573-b901-420e-a923-6832e5b18e34" }, "target": { - "block": "840ba8a1-693f-4531-a947-adcaeac4e854", - "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" + "block": "11342001-e6e0-443b-af87-0e5d7ada0227", + "port": "969e11ca-69e8-403b-a566-7bf2fbe3a5a8" } }, { "source": { - "block": "4bf17d89-89b8-4524-800a-2d15f9bbb111", - "port": "out" + "block": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", + "port": "c7d2d573-b901-420e-a923-6832e5b18e34" }, "target": { - "block": "d6ce7b9d-d8cf-4cde-85a8-589536fcc3a3", - "port": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e" + "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": 8 + "target": { + "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "port": "5e915366-608a-431a-bf68-8c64fb4c302c" + } }, { "source": { - "block": "3867504b-f331-4e0e-b923-acc86cb4255c", - "port": "out" + "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", + "port": "c7d2d573-b901-420e-a923-6832e5b18e34" }, "target": { - "block": "d5ab6421-1fc7-4d8d-8124-2cc7e0eb931d", - "port": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e" + "block": "11342001-e6e0-443b-af87-0e5d7ada0227", + "port": "346b4ae4-4bb6-4845-9c17-3b25e0dde718" }, - "size": 8 + "vertices": [ + { + "x": 824, + "y": -424 + } + ] }, { "source": { - "block": "0e0cf23b-5743-4a19-838d-fb46d407ee16", - "port": "1269698e-e555-4fcb-a613-cb4c7ff2e598" + "block": "d192d0af-e7be-4be6-925a-50227d80784c", + "port": "out" }, "target": { - "block": "9daaaf78-5a89-4d4a-a1b2-db1d3af962f1", - "port": "in" + "block": "b21b50b9-8a60-4df4-9c1a-8d3a287fae68", + "port": "0ebd46a4-769b-45e6-bcaf-e3796264aed3" }, - "size": 8 + "size": 4 }, { "source": { - "block": "840ba8a1-693f-4531-a947-adcaeac4e854", - "port": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42" + "block": "c2d36218-be99-4dd1-bf69-7690c667255b", + "port": "out" }, "target": { - "block": "0e0cf23b-5743-4a19-838d-fb46d407ee16", - "port": "843164ff-f7d8-48b9-bf59-1e0d1135c81f" + "block": "57e59301-2919-4f06-ba95-54ce5d99d774", + "port": "0ebd46a4-769b-45e6-bcaf-e3796264aed3" }, "size": 4 }, { "source": { - "block": "7a4072f6-7500-4b87-86dc-2c63246b510b", - "port": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42" + "block": "11342001-e6e0-443b-af87-0e5d7ada0227", + "port": "55180947-6349-4a04-a151-ad69ea2b155e" }, "target": { - "block": "0e0cf23b-5743-4a19-838d-fb46d407ee16", - "port": "a1770adf-e143-4506-9d87-3cb9c870f534" + "block": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42", + "port": "in" }, "size": 4 }, { "source": { - "block": "7a4072f6-7500-4b87-86dc-2c63246b510b", + "block": "887d569f-183e-4cbe-9b43-51d1da7196cd", "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "port": "in" + "block": "72c87c65-b34b-480f-8cde-cd97c0914014", + "port": "5e915366-608a-431a-bf68-8c64fb4c302c" }, "vertices": [ { - "x": 624, - "y": -392 + "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" + } + }, + { + "source": { + "block": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86", + "port": "out" + }, + "target": { + "block": "db8ddf46-4d59-46ec-90bc-2ae7ccc59ce0", + "port": "5e915366-608a-431a-bf68-8c64fb4c302c" + } } ] } } }, - "8cc49c9b29485f2cfeab6064d7bb1cf9ced045b1": { + "c3c498191b14e9288a85fa2871b3966665f75475": { "package": { - "name": "Bus16-Join-half", + "name": "AdderC-8bits", "version": "0.1", - "description": "Bus16-Join-half: Join the two same halves into an 16-bits Bus", + "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%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%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": "5a35cd57-1006-4f6d-b263-5b977e9ef142", + "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": "1", + "name": "", "range": "[7:0]", "clock": false, "size": 8 }, "position": { - "x": 120, - "y": 168 + "x": -408, + "y": -584 } }, { - "id": "79c56f9a-597f-491e-b1d1-d321f63303c2", - "type": "basic.output", + "id": "dc0243cd-75d9-4b07-bc17-150c250121ba", + "type": "basic.inputLabel", "data": { - "name": "", - "range": "[15:0]", - "size": 16 + "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": 632, - "y": 200 + "x": -64, + "y": -568 } }, { - "id": "38fdb02d-4323-4a34-9ffe-8385f844b660", - "type": "basic.input", + "id": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", + "type": "basic.output", "data": { - "name": "0", - "range": "[7:0]", - "clock": false, - "size": 8 + "name": "c" }, "position": { - "x": 120, - "y": 264 + "x": 832, + "y": -480 } }, { - "id": "16e78204-213e-4833-9096-89d735307ec2", - "type": "basic.code", + "id": "bd04885a-8a3a-4215-bbf1-c472c10c44f5", + "type": "basic.outputLabel", "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 - } - ] - } + "name": "a1", + "range": "[3:0]", + "blockColor": "deeppink", + "size": 4 }, "position": { - "x": 296, - "y": 176 - }, - "size": { - "width": 272, - "height": 104 + "x": 248, + "y": -456 } - } - ], - "wires": [ - { - "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o" - }, - "target": { - "block": "79c56f9a-597f-491e-b1d1-d321f63303c2", - "port": "in" - }, - "size": 16 }, { - "source": { - "block": "38fdb02d-4323-4a34-9ffe-8385f844b660", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i0" + "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" }, - "size": 8 + "position": { + "x": -80, + "y": -448 + } }, { - "source": { - "block": "5a35cd57-1006-4f6d-b263-5b977e9ef142", - "port": "out" - }, - "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i1" - }, - "size": 8 - } - ] - } - } - }, - "3324889d602b184a4c2012938d6c0c3749a5c7e9": { - "package": { - "name": "Edges-detector", - "version": "0.2", - "description": "Edges detector. It generates a 1-period pulse (tic) when either a rising edge or 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=%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": "2708468d-1088-4570-be63-fb0d4799a941", + "id": "3867504b-f331-4e0e-b923-acc86cb4255c", "type": "basic.input", "data": { "name": "", - "clock": true + "range": "[7:0]", + "clock": false, + "size": 8 }, "position": { - "x": 88, - "y": 152 + "x": -400, + "y": -392 } }, { - "id": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", - "type": "basic.input", + "id": "d60cb59e-3e5c-4044-ae1f-3a06f33e83f9", + "type": "basic.inputLabel", "data": { - "name": "", - "clock": false + "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": 88, - "y": 280 + "x": -80, + "y": -376 } }, { - "id": "1c25e08e-e664-4fab-9b30-cedc1f8a3739", - "type": "basic.output", + "id": "383985cb-fd11-48ff-972a-cee8b631bd65", + "type": "basic.outputLabel", "data": { - "name": "" + "name": "b1", + "range": "[3:0]", + "blockColor": "fuchsia", + "size": 4 }, "position": { - "x": 616, - "y": 352 + "x": 248, + "y": -376 } }, { - "id": "49c0a94e-2687-4aa4-8cba-327b2942095f", - "type": "basic.info", + "id": "9daaaf78-5a89-4d4a-a1b2-db1d3af962f1", + "type": "basic.output", "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 + "name": "s", + "range": "[7:0]", + "size": 8 }, "position": { - "x": 104, - "y": -40 - }, - "size": { - "width": 648, - "height": 96 + "x": 840, + "y": -336 } }, { - "id": "a6ea5e17-d259-4272-8d1c-87a6a7fe3235", - "type": "basic.info", + "id": "7905afe7-6a82-43d9-811b-45f379a3c0a9", + "type": "basic.outputLabel", "data": { - "info": "Input signal", - "readonly": true + "name": "a0", + "range": "[3:0]", + "blockColor": "deeppink", + "size": 4 }, "position": { - "x": 96, - "y": 256 - }, - "size": { - "width": 136, - "height": 40 + "x": 120, + "y": -304 } }, { - "id": "d0d6c668-3c03-42f5-9244-9a0431f11a87", - "type": "basic.info", + "id": "53d3821c-4072-438d-a45e-3a5364fdc8bc", + "type": "basic.outputLabel", "data": { - "info": "System clock", - "readonly": true + "name": "b0", + "range": "[3:0]", + "blockColor": "fuchsia", + "size": 4 }, "position": { - "x": 104, - "y": 120 - }, - "size": { - "width": 96, - "height": 48 + "x": 120, + "y": -232 } }, { - "id": "f18011f4-eb45-4f91-9716-c1d8c99f1845", - "type": "basic.info", + "id": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86", + "type": "basic.input", "data": { - "info": "Current signal \nstate", - "readonly": true + "name": "ci", + "clock": false }, "position": { - "x": 160, - "y": 352 - }, - "size": { - "width": 168, - "height": 48 + "x": -392, + "y": -168 } }, { - "id": "ab801839-c115-4e44-adb7-349586890b97", - "type": "basic.info", - "data": { - "info": "Signal state in the previous \nclock cycle", - "readonly": true - }, + "id": "d5ab6421-1fc7-4d8d-8124-2cc7e0eb931d", + "type": "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a", "position": { - "x": 328, - "y": 200 + "x": -248, + "y": -392 }, "size": { - "width": 248, - "height": 48 + "width": 96, + "height": 64 } }, { - "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 - }, + "id": "d6ce7b9d-d8cf-4cde-85a8-589536fcc3a3", + "type": "6bdcd950abc9b45a5cdd4ffbdeff404a6f44660a", "position": { - "x": 504, - "y": 264 + "x": -240, + "y": -584 }, "size": { - "width": 400, - "height": 72 + "width": 96, + "height": 64 } }, { - "id": "4a6c58dc-e4cb-43b8-8a52-07ef0aa616f6", - "type": "d1240143e1ff7afe57f0f11565da980612b2bb76", + "id": "0e0cf23b-5743-4a19-838d-fb46d407ee16", + "type": "afb28fd5426aea14477d11cbe30a290679f789f8", "position": { - "x": 480, - "y": 352 + "x": 688, + "y": -336 }, "size": { "width": 96, @@ -10762,450 +9093,449 @@ } }, { - "id": "5590cf27-7da8-4183-b70c-0c9fda4a6dc0", - "type": "basic.info", - "data": { - "info": "In any other case the output is 0", - "readonly": true - }, + "id": "840ba8a1-693f-4531-a947-adcaeac4e854", + "type": "a1ce303b8ce47a06371ea4641c81460f34a1cca9", "position": { - "x": 520, - "y": 432 + "x": 320, + "y": -248 }, "size": { - "width": 296, - "height": 40 + "width": 96, + "height": 96 } }, { - "id": "4162d5b1-1fa7-4c48-827a-c9fde7ee204f", - "type": "053dc2e26797e60dd454402e395eb23f388681b9", + "id": "7a4072f6-7500-4b87-86dc-2c63246b510b", + "type": "a1ce303b8ce47a06371ea4641c81460f34a1cca9", "position": { - "x": 320, - "y": 264 + "x": 464, + "y": -392 }, "size": { "width": 96, - "height": 64 + "height": 96 } } ], "wires": [ { "source": { - "block": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", - "port": "out" + "block": "d5ab6421-1fc7-4d8d-8124-2cc7e0eb931d", + "port": "eb61d084-ca22-4894-b8a2-f936db38f4b1", + "size": 4 }, "target": { - "block": "4162d5b1-1fa7-4c48-827a-c9fde7ee204f", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" - } + "block": "d60cb59e-3e5c-4044-ae1f-3a06f33e83f9", + "port": "inlabel" + }, + "size": 4 }, { "source": { - "block": "2708468d-1088-4570-be63-fb0d4799a941", - "port": "out" + "block": "d5ab6421-1fc7-4d8d-8124-2cc7e0eb931d", + "port": "637e64f4-0a6b-4037-9a75-89397e078a58", + "size": 4 }, "target": { - "block": "4162d5b1-1fa7-4c48-827a-c9fde7ee204f", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" - } + "block": "ba04e310-65e0-4554-ba2b-fbde28690a0b", + "port": "inlabel" + }, + "size": 4 }, { "source": { - "block": "4a6c58dc-e4cb-43b8-8a52-07ef0aa616f6", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "d6ce7b9d-d8cf-4cde-85a8-589536fcc3a3", + "port": "eb61d084-ca22-4894-b8a2-f936db38f4b1", + "size": 4 }, "target": { - "block": "1c25e08e-e664-4fab-9b30-cedc1f8a3739", - "port": "in" - } + "block": "dc0243cd-75d9-4b07-bc17-150c250121ba", + "port": "inlabel" + }, + "size": 4 }, { "source": { - "block": "4162d5b1-1fa7-4c48-827a-c9fde7ee204f", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + "block": "d6ce7b9d-d8cf-4cde-85a8-589536fcc3a3", + "port": "637e64f4-0a6b-4037-9a75-89397e078a58", + "size": 4 }, "target": { - "block": "4a6c58dc-e4cb-43b8-8a52-07ef0aa616f6", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - } + "block": "bc495131-253e-49c9-9cd7-9e843cbe7ce5", + "port": "inlabel" + }, + "size": 4 }, { "source": { - "block": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", - "port": "out" + "block": "53d3821c-4072-438d-a45e-3a5364fdc8bc", + "port": "outlabel" }, "target": { - "block": "4a6c58dc-e4cb-43b8-8a52-07ef0aa616f6", - "port": "97b51945-d716-4b6c-9db9-970d08541249" - }, - "vertices": [ - { - "x": 264, - "y": 368 - } - ] - } - ] - } - } - }, - "dc93d663ad1f02da00a0889f408a1f59b739c755": { - "package": { - "name": "Sync-x01", - "version": "0.2", - "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" - }, - "design": { - "graph": { - "blocks": [ - { - "id": "39873fa0-c3f5-47ef-b54b-b6b344416b25", - "type": "basic.input", - "data": { - "name": "", - "clock": true - }, - "position": { - "x": -256, - "y": -56 - } - }, - { - "id": "e226f910-14af-473d-956b-03559f466726", - "type": "basic.inputLabel", - "data": { - "blockColor": "yellow", - "name": "clk", - "pins": [ - { - "index": "0", - "name": "", - "value": "" - } - ], - "virtual": true + "block": "840ba8a1-693f-4531-a947-adcaeac4e854", + "port": "d192d0af-e7be-4be6-925a-50227d80784c", + "size": 4 }, - "position": { - "x": -104, - "y": -56 - } + "size": 4 }, { - "id": "7f538425-03ff-409e-81c2-d2714dfb036f", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk" + "source": { + "block": "7905afe7-6a82-43d9-811b-45f379a3c0a9", + "port": "outlabel" }, - "position": { - "x": 128, - "y": 32 - } - }, - { - "id": "868cf45b-3801-40c1-9a04-498087cf183e", - "type": "basic.outputLabel", - "data": { - "blockColor": "yellow", - "name": "clk" + "target": { + "block": "840ba8a1-693f-4531-a947-adcaeac4e854", + "port": "c2d36218-be99-4dd1-bf69-7690c667255b", + "size": 4 }, - "position": { - "x": -56, - "y": 72 - } + "vertices": [ + { + "x": 272, + "y": -256 + } + ], + "size": 4 }, { - "id": "7bfc506f-7a54-40a1-8d33-e78a5409b972", - "type": "basic.output", - "data": { - "name": "" + "source": { + "block": "383985cb-fd11-48ff-972a-cee8b631bd65", + "port": "outlabel" }, - "position": { - "x": 424, - "y": 128 - } + "target": { + "block": "7a4072f6-7500-4b87-86dc-2c63246b510b", + "port": "d192d0af-e7be-4be6-925a-50227d80784c", + "size": 4 + }, + "size": 4 }, { - "id": "f25e9a9e-cd4c-4025-8745-0691a99a3fb8", - "type": "basic.input", - "data": { - "name": "", - "clock": false + "source": { + "block": "bd04885a-8a3a-4215-bbf1-c472c10c44f5", + "port": "outlabel" }, - "position": { - "x": -64, - "y": 160 - } + "target": { + "block": "7a4072f6-7500-4b87-86dc-2c63246b510b", + "port": "c2d36218-be99-4dd1-bf69-7690c667255b", + "size": 4 + }, + "vertices": [ + { + "x": 384, + "y": -400 + } + ], + "size": 4 }, { - "id": "530188ca-389b-48f1-8fc5-793e57545112", - "type": "053dc2e26797e60dd454402e395eb23f388681b9", - "position": { - "x": 104, - "y": 144 + "source": { + "block": "840ba8a1-693f-4531-a947-adcaeac4e854", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, - "size": { - "width": 96, - "height": 64 + "target": { + "block": "7a4072f6-7500-4b87-86dc-2c63246b510b", + "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" } }, { - "id": "d39acc02-7346-4539-a1fe-10ae4f16a0c6", - "type": "053dc2e26797e60dd454402e395eb23f388681b9", - "position": { - "x": 280, - "y": 128 + "source": { + "block": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86", + "port": "out" }, - "size": { - "width": 96, - "height": 64 + "target": { + "block": "840ba8a1-693f-4531-a947-adcaeac4e854", + "port": "1fb72b69-63b6-47c0-a5bc-e31bd2611c86" } - } - ], - "wires": [ + }, { "source": { - "block": "39873fa0-c3f5-47ef-b54b-b6b344416b25", + "block": "4bf17d89-89b8-4524-800a-2d15f9bbb111", "port": "out" }, "target": { - "block": "e226f910-14af-473d-956b-03559f466726", - "port": "inlabel" - } + "block": "d6ce7b9d-d8cf-4cde-85a8-589536fcc3a3", + "port": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e" + }, + "size": 8 }, { "source": { - "block": "868cf45b-3801-40c1-9a04-498087cf183e", - "port": "outlabel" + "block": "3867504b-f331-4e0e-b923-acc86cb4255c", + "port": "out" }, "target": { - "block": "530188ca-389b-48f1-8fc5-793e57545112", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" - } + "block": "d5ab6421-1fc7-4d8d-8124-2cc7e0eb931d", + "port": "f96fa616-e49a-4bb8-b1d0-ddafcc56569e" + }, + "size": 8 }, { "source": { - "block": "7f538425-03ff-409e-81c2-d2714dfb036f", - "port": "outlabel" + "block": "0e0cf23b-5743-4a19-838d-fb46d407ee16", + "port": "1269698e-e555-4fcb-a613-cb4c7ff2e598" }, "target": { - "block": "d39acc02-7346-4539-a1fe-10ae4f16a0c6", - "port": "3943e194-090b-4553-9df3-88bc4b17abc2" - } + "block": "9daaaf78-5a89-4d4a-a1b2-db1d3af962f1", + "port": "in" + }, + "size": 8 }, { "source": { - "block": "f25e9a9e-cd4c-4025-8745-0691a99a3fb8", - "port": "out" + "block": "840ba8a1-693f-4531-a947-adcaeac4e854", + "port": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42" }, "target": { - "block": "530188ca-389b-48f1-8fc5-793e57545112", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" - } + "block": "0e0cf23b-5743-4a19-838d-fb46d407ee16", + "port": "843164ff-f7d8-48b9-bf59-1e0d1135c81f" + }, + "size": 4 }, { "source": { - "block": "530188ca-389b-48f1-8fc5-793e57545112", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + "block": "7a4072f6-7500-4b87-86dc-2c63246b510b", + "port": "7c4d05e4-b602-456e-9cf2-9bc6f3a44c42" }, "target": { - "block": "d39acc02-7346-4539-a1fe-10ae4f16a0c6", - "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" - } + "block": "0e0cf23b-5743-4a19-838d-fb46d407ee16", + "port": "a1770adf-e143-4506-9d87-3cb9c870f534" + }, + "size": 4 }, { "source": { - "block": "d39acc02-7346-4539-a1fe-10ae4f16a0c6", - "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + "block": "7a4072f6-7500-4b87-86dc-2c63246b510b", + "port": "4e8afe74-8f38-4873-97ee-f7585d99a4aa" }, "target": { - "block": "7bfc506f-7a54-40a1-8d33-e78a5409b972", + "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", "port": "in" - } + }, + "vertices": [ + { + "x": 624, + "y": -392 + } + ] } ] } } }, - "ad96dc706d08e8529f19944fe45991970dda6d11": { + "8cc49c9b29485f2cfeab6064d7bb1cf9ced045b1": { "package": { - "name": "not-wire-x01", - "version": "0.3", - "description": "Select positive or negative logic for the input (0=positive, 1=negative)", + "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=%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%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": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "type": "basic.output", - "data": { - "name": "" - }, - "position": { - "x": 824, - "y": 304 - } - }, - { - "id": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", + "id": "5a35cd57-1006-4f6d-b263-5b977e9ef142", "type": "basic.input", "data": { - "name": "", - "clock": false - }, - "position": { - "x": 376, - "y": 320 - } - }, - { - "id": "2cd40fd8-3a2b-46f7-a922-fedf146ed11a", - "type": "basic.constant", - "data": { - "name": "not", - "value": "0", - "local": false + "name": "1", + "range": "[7:0]", + "clock": false, + "size": 8 }, "position": { - "x": 520, - "y": 160 + "x": 120, + "y": 168 } }, { - "id": "019e81db-5707-409c-b159-b4cb29813cc4", - "type": "basic.info", + "id": "79c56f9a-597f-491e-b1d1-d321f63303c2", + "type": "basic.output", "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": "", + "range": "[15:0]", + "size": 16 }, "position": { "x": 632, - "y": 392 - }, - "size": { - "width": 336, - "height": 96 + "y": 200 } }, { - "id": "68880edb-df66-4540-8ee4-f3836fdb5f0e", - "type": "basic.info", + "id": "38fdb02d-4323-4a34-9ffe-8385f844b660", + "type": "basic.input", "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": "0", + "range": "[7:0]", + "clock": false, + "size": 8 }, "position": { - "x": 728, - "y": 8 - }, - "size": { - "width": 296, - "height": 144 + "x": 120, + "y": 264 } }, { - "id": "100882d4-91fe-428f-9ce9-9e02ed2b2a9d", - "type": "d1240143e1ff7afe57f0f11565da980612b2bb76", - "position": { - "x": 672, - "y": 304 + "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 + } + ] + } }, - "size": { - "width": 96, - "height": 64 - } - }, - { - "id": "c6095afa-5850-4d13-bcb1-5b60be247b89", - "type": "6b14d5741f7e62a08c61190175d6447b05954bbd", "position": { - "x": 520, - "y": 256 + "x": 296, + "y": 176 }, "size": { - "width": 96, - "height": 64 + "width": 272, + "height": 104 } } ], "wires": [ { "source": { - "block": "2cd40fd8-3a2b-46f7-a922-fedf146ed11a", - "port": "constant-out" + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o" }, "target": { - "block": "c6095afa-5850-4d13-bcb1-5b60be247b89", - "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" - }, - "vertices": [] - }, - { - "source": { - "block": "c6095afa-5850-4d13-bcb1-5b60be247b89", - "port": "5d443143-4aca-4d4f-ba40-2b88451b86d3" + "block": "79c56f9a-597f-491e-b1d1-d321f63303c2", + "port": "in" }, - "target": { - "block": "100882d4-91fe-428f-9ce9-9e02ed2b2a9d", - "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" - } + "size": 16 }, { "source": { - "block": "adf3a6ae-71e2-43dd-b504-c2cdbc14dab7", + "block": "38fdb02d-4323-4a34-9ffe-8385f844b660", "port": "out" }, "target": { - "block": "100882d4-91fe-428f-9ce9-9e02ed2b2a9d", - "port": "97b51945-d716-4b6c-9db9-970d08541249" - } + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i0" + }, + "size": 8 }, { "source": { - "block": "100882d4-91fe-428f-9ce9-9e02ed2b2a9d", - "port": "664caf9e-5f40-4df4-800a-b626af702e62" + "block": "5a35cd57-1006-4f6d-b263-5b977e9ef142", + "port": "out" }, "target": { - "block": "4e8afe74-8f38-4873-97ee-f7585d99a4aa", - "port": "in" - } + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i1" + }, + "size": 8 } ] } } }, - "6b14d5741f7e62a08c61190175d6447b05954bbd": { + "0788ea6614e4f073f6ed9a49665243d6d489ba46": { "package": { - "name": "1-bit-gen-constant", - "version": "0.0.2", - "description": "1-bit generic constant (0/1)", - "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": "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": "5d443143-4aca-4d4f-ba40-2b88451b86d3", + "id": "34c6aff6-7aca-4cc1-8d79-d6143d2f6937", "type": "basic.output", "data": { - "name": "" + "name": "nc" }, "position": { - "x": 960, - "y": 248 + "x": 920, + "y": -24 } }, { - "id": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "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": 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": "[15:0]", + "size": 16 + }, + "position": { + "x": 920, + "y": 200 + } + }, + { + "id": "c48a2779-52ed-4dde-8f95-e8ce67397de8", + "type": "basic.input", + "data": { + "name": "", + "range": "[15:0]", + "clock": false, + "size": 16 + }, + "position": { + "x": 376, + "y": 336 + } + }, + { + "id": "d1e52cbe-a82e-4bea-9ed0-e970eec3e43e", "type": "basic.constant", "data": { "name": "", @@ -11213,176 +9543,231 @@ "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": "[15:0]", + "size": 16 + } + ], "out": [ { - "name": "k" + "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": 672, - "y": 248 + "x": 528, + "y": 32 }, "size": { - "width": 208, - "height": 64 + "width": 344, + "height": 400 } } ], "wires": [ { "source": { - "block": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "block": "2cc2ff9d-ebfc-43e2-83d7-5c4a6d8c77e6", + "port": "q" + }, + "target": { + "block": "7995c7b0-4a39-4a19-aaa4-68f4e469912f", + "port": "in" + }, + "vertices": [], + "size": 16 + }, + { + "source": { + "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": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", - "port": "k" + "block": "c48a2779-52ed-4dde-8f95-e8ce67397de8", + "port": "out" }, "target": { - "block": "5d443143-4aca-4d4f-ba40-2b88451b86d3", - "port": "in" + "block": "2cc2ff9d-ebfc-43e2-83d7-5c4a6d8c77e6", + "port": "d" + }, + "size": 16 + }, + { + "source": { + "block": "0ae5a502-ee21-47ad-bacb-405a35a87a91", + "port": "out" + }, + "target": { + "block": "2cc2ff9d-ebfc-43e2-83d7-5c4a6d8c77e6", + "port": "clk" } } ] } } }, - "0dbcb9470111c4072304f196bb9e5ac39f4ccfb7": { + "0705a6a13435ea79daf5779a2a0f076bd71f0a14": { "package": { - "name": "Bus2-Split-all", - "version": "0.1", - "description": "Bus2-Split-all: Split the 2-bits bus into two 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": "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": "f5a71d7b-de20-4527-80c8-0eb20de0dc77", + "id": "04b7a776-03f4-4de2-a09f-9f3cae6dded2", "type": "basic.output", "data": { - "name": "1" + "name": "nc" }, "position": { - "x": 552, - "y": 128 + "x": 384, + "y": -80 } }, { - "id": "a409d207-7594-4558-8e15-89712262cf5b", + "id": "39873fa0-c3f5-47ef-b54b-b6b344416b25", "type": "basic.input", "data": { "name": "", - "range": "[1:0]", - "clock": false, - "size": 2 + "clock": true }, "position": { - "x": 136, - "y": 184 + "x": -136, + "y": -16 } }, { - "id": "0f7487e5-b070-4277-bba6-acf69934afca", + "id": "7bfc506f-7a54-40a1-8d33-e78a5409b972", "type": "basic.output", "data": { - "name": "0" + "name": "" }, "position": { - "x": 552, - "y": 240 + "x": 384, + "y": 56 } }, { - "id": "16e78204-213e-4833-9096-89d735307ec2", + "id": "f25e9a9e-cd4c-4025-8745-0691a99a3fb8", + "type": "basic.input", + "data": { + "name": "", + "clock": false + }, + "position": { + "x": -136, + "y": 128 + } + }, + { + "id": "cf6fe46f-cd0d-4a77-be7a-dd6aa92801fa", "type": "basic.code", "data": { - "code": "assign o1 = i[1];\nassign o0 = i[0];", + "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": "i", - "range": "[1:0]", - "size": 2 + "name": "clk" + }, + { + "name": "d" } ], "out": [ { - "name": "o1" - }, - { - "name": "o0" + "name": "q" } ] } }, "position": { - "x": 296, - "y": 176 + "x": 32, + "y": -56 }, "size": { - "width": 208, - "height": 80 + "width": 296, + "height": 288 } } ], "wires": [ { "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o1" + "block": "39873fa0-c3f5-47ef-b54b-b6b344416b25", + "port": "out" }, "target": { - "block": "f5a71d7b-de20-4527-80c8-0eb20de0dc77", - "port": "in" + "block": "cf6fe46f-cd0d-4a77-be7a-dd6aa92801fa", + "port": "clk" } }, { "source": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "o0" + "block": "f25e9a9e-cd4c-4025-8745-0691a99a3fb8", + "port": "out" }, "target": { - "block": "0f7487e5-b070-4277-bba6-acf69934afca", - "port": "in" + "block": "cf6fe46f-cd0d-4a77-be7a-dd6aa92801fa", + "port": "d" } }, { "source": { - "block": "a409d207-7594-4558-8e15-89712262cf5b", - "port": "out" + "block": "cf6fe46f-cd0d-4a77-be7a-dd6aa92801fa", + "port": "q" }, "target": { - "block": "16e78204-213e-4833-9096-89d735307ec2", - "port": "i" - }, - "size": 2 + "block": "7bfc506f-7a54-40a1-8d33-e78a5409b972", + "port": "in" + } } ] }